目录

1 傅里叶级数的公式

2 公式推导

2.1 把一个周期函数表示成三角级数

2.2 麦克劳林公式中的待定系数法

2.3 三角函数的正交性

2.4 函数展开成傅里叶级数

3 总结



1 傅里叶级数的公式

傅里叶级数 java 傅里叶级数一般公式_定积分

其中:

傅里叶级数 java 傅里叶级数一般公式_定积分_02

        单看那个(1)式,就是把周期函数 f(t) 描述成一个常数系数 a0、及1倍 ω 的sin和cos函数2倍ω的sin和cos函数等、到n倍ω的sin和cos函数等一系列式子的和,且每项都有不同的系数,即an和bn,至于这些系数,需要用积分来解得,即{2}{3}式,不过为了积分方便,积分区间一般设为[-π, π],也相当一个周期T的宽度。

        能否从数学的角度推导出此公式,以使傅里叶级数来得明白些,能了解它的前世今生呢?下面来详细解释一下此公式的得出过程。

2 公式推导

2.1 把一个周期函数表示成三角级数

        首先,周期函数是客观世界中周期运动的数学表述,如物体挂在弹簧上作简谐振动、单摆振动、无线电电子振荡器的电子振荡等,大多可以表述为:

        

傅里叶级数 java 傅里叶级数一般公式_信号处理_03

        这里 傅里叶级数 java 傅里叶级数一般公式_信号处理_04 表示时间,傅里叶级数 java 傅里叶级数一般公式_定积分_05  表示振幅, 傅里叶级数 java 傅里叶级数一般公式_定积分_06 为角频率,  傅里叶级数 java 傅里叶级数一般公式_信号处理_07为初相(与考察时设置原点位置有关,可以理解为一个常量)。

        然而,世界上许多周期信号并非正弦函数那么简单,如方波、三角波等。能否用一系列的三角函数

傅里叶级数 java 傅里叶级数一般公式_傅里叶级数_08

 之和来表示那个较复杂的周期函数 傅里叶级数 java 傅里叶级数一般公式_傅里叶级数 java_09 呢?因为正弦函数sin可以说是最简单的周期函数了。        

傅里叶级数 java 傅里叶级数一般公式_三角函数_10

        这里,t 是变量,其他都是常数。与上面最简单的正弦周期函数相比,5式中多了一个n,且n从1到无穷大。这里 f(t) 是已知函数,也就是需要分解的原周期函数。从公式 5 来看,傅里叶是想把一个周期函数表示成许多正弦函数的线性叠加,这许许多多的正弦函数有着不同的幅度分量(即式中An)、有不同的周期或说是频率(是原周期函数的整数倍,即n)、有不同的初相角(即 傅里叶级数 java 傅里叶级数一般公式_傅里叶级数 java_11),当然还有一项常数项(即 傅里叶级数 java 傅里叶级数一般公式_定积分_12 )。要命的是,这个n是从1到无穷大,也就是是一个无穷级数。

        这里强调一下,傅里叶级数中对不同频率的波有一个要求就是给定一个初始的频率 傅里叶级数 java 傅里叶级数一般公式_信号处理_13 ,之后的角频率必须是 傅里叶级数 java 傅里叶级数一般公式_信号处理_13 的整数倍, 这就是DTF(离散傅里叶变化)中的角频率取值的原则。

傅里叶级数 java 傅里叶级数一般公式_傅里叶级数 java_15

        式子右边一大堆的函数,其实都是最简单的正弦函数,有利于后续的分析和计算。当然,这个式能否成立,关键是级数中的每一项都有一个未知系数,如A0An等,如果能把这些系数求出来,那么5 式就可以成立。当然在5式中,唯一已知的就是原周期函数f(t),那么只需用已知函数f(t)来表达出各项系数,上式就可以成立,也能计算了。

        因为 傅里叶级数 java 傅里叶级数一般公式_定积分_16 是个常数,傅里叶级数 java 傅里叶级数一般公式_定积分_17  也是常数。解过常微分方程的人都知道,方程中的常数能整合到一起就整合到一起。

        于是乎,傅里叶首先对式5作如下变形:

        

傅里叶级数 java 傅里叶级数一般公式_三角函数_18

        这个变化并不陌生,源自于三角公式:

         

傅里叶级数 java 傅里叶级数一般公式_三角函数_19

        式中,蓝色项即为我们需要合并的常数项,

        记:

傅里叶级数 java 傅里叶级数一般公式_定积分_20

        这样,公式(5)就可以写成如下公式(6)的形式:

         

傅里叶级数 java 傅里叶级数一般公式_傅里叶级数 java_21

        到了这一步我们只要解出 傅里叶级数 java 傅里叶级数一般公式_傅里叶级数_22 、傅里叶级数 java 傅里叶级数一般公式_定积分_23 、傅里叶级数 java 傅里叶级数一般公式_三角函数_24  的值即可。

2.2 麦克劳林公式中的待定系数法

        这里为解出  傅里叶级数 java 傅里叶级数一般公式_傅里叶级数_22 、傅里叶级数 java 傅里叶级数一般公式_定积分_23 、傅里叶级数 java 傅里叶级数一般公式_三角函数_24 值奠定下思路:

        泰勒级数即为任意一个函数都可以用一个多项式来逼近,记为:

        

傅里叶级数 java 傅里叶级数一般公式_信号处理_28

        那么,麦克劳林令:

        

傅里叶级数 java 傅里叶级数一般公式_傅里叶级数 java_29

        在每个等式中令x=0,然后使用待定系数法就可以解出A,B,C...的值

            

傅里叶级数 java 傅里叶级数一般公式_三角函数_30

        即:

           

傅里叶级数 java 傅里叶级数一般公式_定积分_31

        而众所周知三角函数在一个周期内的积分为0,如图

傅里叶级数 java 傅里叶级数一般公式_傅里叶级数_32

        我们只要对(6)左右进行积分后即可求出 傅里叶级数 java 傅里叶级数一般公式_傅里叶级数_22 的值,然后依次代入即可解出 傅里叶级数 java 傅里叶级数一般公式_定积分_34 、傅里叶级数 java 傅里叶级数一般公式_傅里叶级数 java_35  使用 傅里叶级数 java 傅里叶级数一般公式_信号处理_36 表达的公式。

2.3 三角函数的正交性

        这是为下一步傅里叶级数展开时所用积分的准备知识。一个三角函数系:1,cosx , sinx , cos2x , sin2x , … , cosnx , sinnx , … 如果这一堆函数(包括常数1)中任何两个不同函数的乘积在区间[-π, π]上的积分等于零,就说三角函数系在区间[-π, π]上正交,即有如下式子:

傅里叶级数 java 傅里叶级数一般公式_傅里叶级数_37

        以上各式在区间[-π, π]的定积分均为0,第1第2式可视为三角函数cos和sin与1相乘的积分;第3-5式则为sin和cos的不同组合相乘的积分式。除了这5个式子外,不可能再有其他的组合了。注意,第4第5两个式中,k不能等于n,否则就不属于“三角函数系中任意两个不同函数”的定义了,变成同一函数的平方了。但第3式中,k与n可以相等,相等时也是二个不同函数。下面通过计算第4式的定积分来验证其正确性,第4式中二函数相乘可以写成:

        

傅里叶级数 java 傅里叶级数一般公式_定积分_38

当 

傅里叶级数 java 傅里叶级数一般公式_定积分_39

 时,有:

傅里叶级数 java 傅里叶级数一般公式_傅里叶级数_40

        可见在指定[-π, π]的区间里,该式的定积分为0。其他式也可逐一验证。

2.4 函数展开成傅里叶级数

        先把傅里叶级数表示为下式,即⑥式:

        

傅里叶级数 java 傅里叶级数一般公式_傅里叶级数 java_41

        对⑥式从[-π, π]积分,得:

        

傅里叶级数 java 傅里叶级数一般公式_三角函数_42

解出:

傅里叶级数 java 傅里叶级数一般公式_傅里叶级数 java_43

        这就求得了第一个系数 傅里叶级数 java 傅里叶级数一般公式_傅里叶级数 java_44 的表达式,即最上边傅里叶级数公式里的(2)式。接下来再求 傅里叶级数 java 傅里叶级数一般公式_三角函数_45 和傅里叶级数 java 傅里叶级数一般公式_傅里叶级数_46  的表达式。用 

傅里叶级数 java 傅里叶级数一般公式_信号处理_47

 乘{6}式的二边得:

傅里叶级数 java 傅里叶级数一般公式_信号处理_48

然后对上式从 

傅里叶级数 java 傅里叶级数一般公式_傅里叶级数 java_49

 到 傅里叶级数 java 傅里叶级数一般公式_定积分_50 逐项积分:

傅里叶级数 java 傅里叶级数一般公式_傅里叶级数_51

        根据三角函数系的正交性,红色积分为0,蓝色项中仅当 

傅里叶级数 java 傅里叶级数一般公式_三角函数_52

 时积分不为0,其余项积分为0,所以有:

傅里叶级数 java 傅里叶级数一般公式_傅里叶级数 java_53

        解得:

        

傅里叶级数 java 傅里叶级数一般公式_定积分_54

        同理用 

傅里叶级数 java 傅里叶级数一般公式_信号处理_55

 乘(6)式的二边得:        

傅里叶级数 java 傅里叶级数一般公式_信号处理_56

        我们发现 傅里叶级数 java 傅里叶级数一般公式_三角函数_57 的分母为 

傅里叶级数 java 傅里叶级数一般公式_傅里叶级数 java_58

 而 傅里叶级数 java 傅里叶级数一般公式_傅里叶级数_59 ,傅里叶级数 java 傅里叶级数一般公式_信号处理_60为 傅里叶级数 java 傅里叶级数一般公式_傅里叶级数 java_61 ,为了统一分母我们令 

傅里叶级数 java 傅里叶级数一般公式_三角函数_62

 有:           

傅里叶级数 java 傅里叶级数一般公式_傅里叶级数_63

        (6)变形为:

        

傅里叶级数 java 傅里叶级数一般公式_信号处理_64

        推导的时候假设 

傅里叶级数 java 傅里叶级数一般公式_信号处理_65

 ,代入即可得到(2)、(3)、(4)         

傅里叶级数 java 傅里叶级数一般公式_傅里叶级数_66

        至此,已经求得傅里叶级数中各系数的表达式,当然这里有个条件:

傅里叶级数 java 傅里叶级数一般公式_傅里叶级数 java_67

积分存在,这里涉及到勒贝格可积的问题,因为离散傅里叶变化涉及到周期内有无限个可去间断点的问题,狄利克雷条件仅仅是个充分条件,一个函数有傅里叶级数但是它也存在无限个间断点以及极大值极小值比如方波信号。

3 总结

综上,傅里叶级数的产生过程可以分为以下三步:

1、设想可以把一个周期函数f(t)通过最简单的一系列正弦函数来表示,即5式;

2、通过变形后用三角级数(含sin和cos)来表示;

3、通过积分,把各未知系数用f(t)的积分式来表达;

4、最后得到的4个表达式就是傅里叶级数公式。

傅里叶级数 java 傅里叶级数一般公式_三角函数_68