Yesterday was my 21st birthday, at that age Newton and Pascal had already acquired many claims to immortality. —— Joseph Fourier
推导过程
我们在此直接给出 傅里叶级数(fourier series,FS) 的表达式(实值函数且区间在[−π,π]的情况下):
f(x)=21a0+n=1∑∞ancos(nx)+n=1∑∞bnsin(nx)(1)
关于上式中傅里叶级数的基本描述是:对于任意一个周期函数(在满足一定条件的情况下)都可以被表示为正弦函数(sin)项和余弦函数(cos)项的无限和。
接下来我们从探究的角度来思考如何将一个周期函数表示成有三角级数的无线和构成的傅里叶级数。
在傅里叶级数给出的预设场景下,我们的目的自然是使用正余弦函数来表示周期函数。考虑正余弦函数的标准形式即为:
f(t)=Asin(wt+φ)(2)
我们同样易知正弦波频率f可由以下公式得出:
f=2πw(3)
我们称式(2)为正弦函数,从信号意义上也可称之为正弦信号(sinusoid),余弦波仅是相位φ不同的正弦信号。其中式(2)中的t为时间(自变量),A为幅度,w为角速度,ϕ为相位,式(3)中的f为频率。
我们直接将f(x)表示为正弦函数的无限和,则可以获得:
f(x)=n=0∑∞Ansin(nx+ϕn)(4)
当n=0时,sin(n⋅0+ϕ0)为常数,因此我们也可以将上式化为:
f(x)=A0+n=1∑∞Ansin(nx+ϕn)(5)
使用三角恒等式对上式进行处理可以获得:
f(x)=A0+n=1∑∞An[cos(nx)sinϕn+sin(nx)cosϕn](6)
将其中的常数项进行合并我们可以很轻松得到同式(1)结构相似的公式:
f(x)=A0+n=1∑∞ancos(nx)+bnsin(nx)(7)
在式(7)中,我们关注到未知参数为A0,an,bn,因此需要一个求出这些未知参数的方法。
再进行下一步之前,我们需要引入几个重要的结论:
首先,我们易知正弦函数在单个周期上的积分为0,因而在n个周期上的积分也同样为0,即:
∫−ππsin(mx)dx=0(8)
∫−ππcos(mx)dx=0(9)
接下来我们探究两个三角函数的积的积分关系,包含以下三种情况:
- sine 与 sine 的乘积的积分
- cosine 与 cosine 的乘积的积分
- sine 与 cosine 的乘积的积分
1.∫−ππsin(mx)sin(nx)dx
===∫−ππsin(mx)sin(nx)dx∫−ππ21[cos(mx+nx)−cos(mx−nx)]dx21∫−ππcos[(m+n)x]dx−21∫−ππcos[(m−n)x]dx{0πm=nm=n(10)
2.∫−ππcos(mx)cos(nx)dx
===∫−ππcos(mx)cos(nx)dx∫−ππ21[cos(mx+nx)+cos(mx−nx)]dx21∫−ππcos[(m+n)x]dx+21∫−ππcos[(m−n)x]dx{0πm=nm=n(11)
3.∫−ππsin(mx)cos(nx)dx
===∫−ππsin(mx)cos(nx)dx∫−ππ21[sin(mx+nx)+sin(mx−nx)]dx21∫−ππsin[(m+n)x]dx+21∫−ππsin[(m−n)x]dx0(12)
我们可以进一步将式(10)和式(11)紧凑表达为:
∫−ππsin(mx)sin(nx)dx=πδm n(13)
∫−ππcos(mx)cos(nx)dx=πδm n(14)
其中 δm n为克罗内克函数(Kronecker delta)。
δm n={01m=nm=n(15)
故我们最终可以获得三个结论:
- ∫−ππsin(mx)sin(nx)dx=πδm n
- ∫−ππcos(mx)cos(nx)dx=πδm n
- ∫−ππsin(mx)cos(nx)dx=0
因此我们可以用语言概括为:
- 不同周期的cosine函数正交
- 不同周期的sine函数正交
- sine函数和cosine函数正交
函数正交的概念为:若两个函数乘积在某一区间上的定积分值为0,则我们称这两个函数在该区间上正交。
在获得以上三个结论后我们很容易求出未知参数A0,an,bn,回到我们之前求出的式(7)(f(x)=A0+∑n=1∞ancos(nx)+bnsin(nx)),我们将正弦函数sin(kx)同时乘到等式的左右两边:
f(x)sin(kx)=A0sin(kx)+n=1∑∞ansin(kx)cos(nx)+bnsin(kx)sin(nx)(16)
接下来同时对两边在[−π,π]上进行积分:
∫−ππf(x)sin(kx)dx=∫−ππA0sin(kx)dx+n=1∑∞[∫−ππansin(kx)cos(nx)dx+∫−ππbnsin(kx)sin(nx)dx](17)
将上述函数正交结论带入可以获得:
∫−ππf(x)sin(kx)dx=∫−ππbksin2(kx)dx=bkπ(18)
故:
bk=π1∫−ππf(x)sin(kx)dx(19)
使用同样的方法将余弦函数cos(kx)同时乘左右两边积分可以获得:
ak=π1∫−ππf(x)cos(kx)dx(20)
A0则可以理解为乘以cos(0⋅x)时求出的结果:
∫−ππf(x)dx =∫−ππA0dx+n=1∑∞[∫−ππancos(nx)dx+∫−ππbnsin(nx)dx] (21)
A0=2π1∫−ππf(x)dx(22)
为了统一分母可以把式(7)化为:
f(x)=21a0+n=1∑∞ancos(nx)+bnsin(nx)(23)
当一个函数f(x)在[−L,L]而不是[−π,π]上存在周期性时,我们可以将变量转换通过求[−L,L]上的积分以此来求其傅里叶级数,令:
x=Lπx′(24)
dx=Lπdx′(25)
由此可以据式(23)得到:
f(x′)=21a0+n=1∑∞ancos(Lnπx′)+bnsin(Lnπx′)(26)
因此求得:
a0=L1∫−LLf(x′)dx′(27)
an=L1∫−LLf(x′)cos(Lnπx′)dx′(28)
bn=L1∫−LLf(x′)sin(Lnπx′)dx′(29)
实际上对于任意在(x0,x0+2L)上具有周期性的函数都可以使用上述公式中的[−L,L]积分区间来求傅里叶级数。同理,也可以使用任意区间[x0′−L,x0′+L]进行积分。
以上为傅里叶级数对于实数(real-valued)函数f(x)分解的全部内容。
接下来我们讨论傅里叶级数在复指数(complex coefficients)函数上的应用和分解:
讨论复数形式前我们需先引入欧拉公式(Eular's formula):
eiθ=cosθ+isinθ(30)
欧拉公式联系了复指数函数和三角函数,通过它我们将可以把实数域上的三角函数形式转到复数域上。带入−θ可以得到:
e−iθ=cos(−θ)+isin(−θ)=cosθ−isinθ(31)
将式(30)和式(31)分别相加相减可以获得:
cosθ=2eiθ+e−iθ(32)
sinθ=2ieiθ−e−iθ=−i⋅2eiθ−e−iθ(33)
有了式(32)(33)我们可以直接将其带入到式(23)中,得到:
f(x)=21a0+n=1∑∞ancos(nx)+bnsin(nx)=21a0+n=1∑∞[an2einx+e−inx+bn2−ieinx+ie−inx]=21a0+n=1∑∞[2an−ibneinx+2an+ibne−inx]=21a0+n=1∑∞2an−ibneinx+n=−∞∑−12a−n+ib−neinx(34)
通过之前我们获得的关于an,bn的式(19)(20)可以获得:
a−n=π1∫−ππf(x)cos(−nx)dx=π1∫−ππf(x)cos(nx)dx=an(35)
b−n=π1∫−ππf(x)sin(−nx)dx=−π1∫−ππf(x)sin(nx)dx=−bn(36)
将式(35)(36)代入回式(34)中:
f(x)=21a0+n=1∑∞2an−ibneinx+n=−∞∑−12a−n+ib−neinx=21a0+n=1∑∞2an−ibneinx+n=−∞∑−12an−ibneinx=A0+n=1∑∞Aneinx+n=−∞∑−1Aneinx=n=−∞∑∞Aneinx(37)
其中:
An=2an−ibn(38)
至此,我们求出了傅立叶级数的复数形式,接下来我们只需求出An。
我们将式(37)两边同时乘以e−imx并进行积分:
∫−ππf(x)e−imxdx=∫−ππ(n=−∞∑∞Aneinx)e−imxdx=n=−∞∑∞An∫−ππei(n−m)xdx=n=−∞∑∞An∫−ππ{cos[(n−m)x]+isin[(n−m)x]}dx=n=−∞∑∞An2πδm n=2πAm(39)
由上式可以求得复数An为:
An=2π1∫−ππf(x)e−imxdx(40)
将区间[−π,π]映射到[−L,L]上去我们可能获得更一般的表达形式:
f(x)=n=−∞∑∞Anei(2πnx/L)(41)
An=L1∫−L/2L/2f(x)ei(2πnx/L)dx(42)
在 傅里叶变换(fourier transform,FT) 中,通过式(42)求得An即为目的。