由于工作中经常会用到傅里叶分析方法、不得不对它基本思想做一些深入的思考。这里记录下我对傅立叶分析的学习过程中真正加深自己印象的一些推导过程,希望对其它朋友能有所帮助、初学时,能看些浅显易懂的图文分析对理解的帮助是非常大的,至少能让你很快的理解主要思路而不至于陷入大量的公式推导之中,但初步理解了之后,要深入下去,是应该好好理解下推导过程的。
傅里叶分析法建立在一个基本的认知基础之上:周期信号可以用多个正弦信号的线性组合来表示。周期信号的这种分解,被称为傅里叶级数。下面我们就来分析下这种分解过程。
给定一个最简单的正弦信号
y(t)=Asin(ωt+θ)
其中周期T=2*PI/ω,将这个信号展开成由一系列以T为周期的正弦函数组成的级数来表示,记为
f(t)=A0+∑n=1∞Ansin(nωt+θn)
然后我们将正弦函数进行三角变形
Ansin(nωt+θn)=Ansinθncos(nωt)+Ancosθnsin(nωt)
同时,再令:
a02=A0an=Ansinθnbn=Ancosθnωt=x
则上式最终可以写为
f(x)=a02+∑n=1∞[ancos(nx)+bnsin(nx)]
从上式可以看出,只要确定了a0、an、bn这三个参数,函数f(x)就可以确定下来,在求这三个参数的过程中,积分将变的十分有用,先来求a0,对上式从-PI到PI的逐项积分。
∫π−πf(x)dx=∫π−πa02dx+∑k=1∞[ak∫π−πcoskxdx+bk∫π−πsinkxdx]
根据三角函数系的正交性(三角函数在整数周期范围内的积分为零),上面等式右端除第一项外,后面的长长的求和项看起来挺多,可以得到
∫π−πf(x)dx=a02∙2π
于是得到
a0=1π∫π−πf(x)dx
再来求an,先在f(x)的展开式两端乘以cos(nx),再从-PI到PI进行逐项积分。可以得到
∫π−πf(x)cos(nx)dx=a02∫π−πcos(nx)dx+∑k=1∞[ak∫π−πcos(kx)cos(nx)dx+bk∫π−πsin(kx)cos(nx)dx]
根据三角函数的正交性,上式右边除 k=n项外,其它各项均为零,可得
∫π−πf(x)cos(nx)dx=an∫π−πcos2(nx)dx=anπ
整理,可得
an=1π∫π−πf(x)cos(nx)dxn=1,2,3,...
再求bn,同理,在f(x)的展开式两端乘以sin(nx),再从-PI到PI进行逐项积分。最终可以得到
bn=1π∫π−πf(x)sin(nx)dxn=1,2,3,...
现在,我们已经得到了a
0、a
n、b
n这三个参数,它们被称为f(x)的傅里叶系数,把这三个参数代入f(x)的展开式,这种把周期函数f(x)分解为一系列的三角函数被称为函数f(x)的傅里叶级数。
下面我们再看下,当f(x)为奇函数或者偶函数时,其傅里叶级数是什么样子?
(1)当f(x)为奇函数时,f(-x)=-f(x),我们算下f(x)的傅里叶系数
an=1π∫π−πf(x)cos(nx)dx=1π∫0−πf(x)cos(nx)dx+1π∫π0f(x)cos(nx)dx=1π∫0πf(−x)cos(−nx)(−dx)+1π∫π0f(x)cos(nx)dx=−1π∫π0f(x)cos(nx)dx+1π∫π0f(x)cos(nx)dx=0
bn=1π∫π−πf(x)sin(nx)dx=1π∫0−πf(x)sin(nx)dx+1π∫π0f(x)sin(nx)dx=1π∫0πf(−x)sin(−nx)(−dx)+1π∫π0f(x)sin(nx)dx=1π∫π0f(x)sin(nx)dx+1π∫π0f(x)sin(nx)dx=2π∫π0f(x)sin(nx)dx
可以看出,当f(x)为奇函数时,把系数代入f(x)的展开式,则傅里叶级数只剩下正弦级数。同理
(2)当f(x)为偶函数时,f(-x)=f(x),其傅里叶系数为
an=1π∫π0f(x)cos(nx)dxbn=0
这时, f(x)的展开式,则傅里叶级数只剩下了余弦级数。
在上面的内容中,f(x)展开傅里叶级数时,一直是是以2*PI做为一个完整的周期的,但实际中的周期函数,周期不一定是2*PI,当周期为2*l时,其傅里叶级数展开式为:
f(x)=a02+∑n=1∞[ancos(nπxl)+bnsin(nπxl)]an=1l∫l−lf(x)cos(nπxl)dxbn=1l∫l−lf(x)sin(nπxl)dx
如果我们利用欧拉公式
cos(t)=eit+e−it2sin(t)=eit−e−it2i
则周期为2l的周期函数可以化为
f(x)=a02+∑n=1∞[an2(einπxl+e−inπxl)−ibn2(einπxl+e−inπxl)]=a02+∑n=1∞[an−ibn2einπxl+an+ibn2e−inπxl]a02=c0an−ibn2=cnan+ibn2=c−n=c0+∑n=1∞(cneinπxl+c−ne−inπxl)=(cneinπxl)n=0+∑n=1∞(cneinπxl+c−ne−inπxl)=∑−∞∞cneinπxl
新的系数cn可以表示为
c0=a02=12l∫l−lf(x)dxcn=an−ibn2=12[1l∫l−lf(x)cos(nπxl)dx−il∫l−lf(x)sin(nπxl)dx]=12l∫l−lf(x)[cos(nπxl)−isin(nπxl)]dx=12l∫l−lf(x)e−inπxldx(n=1,2,3,...)c−n=an+ibn2=12l∫l−lf(x)einπxldx(n=1,2,3,...)
合并上面的结果
cn=12l∫l−lf(x)e−inπxldx(n=0,±1,±2,±3,...)
这就是傅里叶系数的复数形式