Fourier变换及其逆变换
在我们已经讨论过的Fourier级数中,我们能够取三角函数的一个周期[−π,π]对任何周期为2π的函数做Fourier展开。现在假设函数的周期不是2π而是一般地具有有限周期2T,那么很自然地我们可以对三角函数做伸缩,用sinTπx和cosTπx的三角级数做展开,得到:fT(x)∼2a0+n=1∑∞[ancos(Tnπx)+bnsin(Tnπx)]。其中,an=T1∫−TTfT(x)cos(Tnπx)dx,bn=T1∫−TTfT(x)sin(Tnπx)dx。而对于非周期函数,我们总可以选定一段定义域区间[−T,T]而抛弃其余的部分,取而代之选定区间的部分从而把它“延拓”为周期函数,而对于周期函数我们可以写出其Fourier级数,这之后再令T→+∞就可以得到一般非周期函数的Fourier展开。
我们常常用复指数来表示三角函数,这样会得到更简洁的形式。由欧拉公式有cosθ=2eiθ+e−iθ,sinθ=2ieiθ−e−iθ=−2i(eiθ−e−iθ)。记Tπ=ω,得到fT(x)∼2a0+n=1∑∞(an⋅2einωx+e−inωx−ibn⋅2einωx−e−inωx) =2a0+n=1∑∞(2an−ibneinωx+2an+ibne−inωx)。记an−ibn=cn,则an+ibn=cn。代入an,bn的表达式,得到cn=T1∫−TTfT(x)[cos(Tnπx)−isin(Tnπx)]dx=T1∫−TTfT(x)e−inωxdx。那么现在整个Fourier级数可以写成fT(x)∼2a0+21n=1∑∞(cneinωx+cne−inωx)。为了写法上的方便,我们记cn=c−n,同时c0=a0。那么写出fT(x)∼21n=−∞∑+∞cneinωx,这就是Fourier级数的复数形式。
代入cn,得到fT(x)∼2T1n=−∞∑+∞[∫−TTfT(x)e−inωxdx]einωt。现在令T→+∞。代入T=ωπ,那么ω→0。得到f∞(x)∼ω→0lim2πωn=−∞∑+∞[∫−T+TfT(x)e−inωxdx]einωt,而求和的部分形如Riemann和的形式,因此在形式上对一般的函数f可以写出f(x)∼2π1∫−∞+∞[∫−∞+∞f(x)e−iωxdx]eiωtdω。可以观察到,内层的积分和外层的积分有着非常相似的形式,内层积分对于每个ω都得到一个值,形成了一个关于“频率”ω的函数,这个函数在外层积分的作用后又会恢复到f本身。从一个函数到另一个函数的过程就是“变换”(transform),我们定义函数f^(ω)=∫−∞+∞f(x)e−iωxdx为f的Fourier变换,记为F[f](ω)。定义2π1∫−∞+∞f^(ω)eiωxdω为Fourier变换的逆变换,记为F−1[f^](x)。在一定的条件下,可以认为f(x)=F−1[F[f]],其中F−1[F[f]]=2π1∫−∞+∞[∫−∞+∞f(x)e−iωxdx]eiωtdω就称为Fourier积分。可以证明(略)如下充分条件:如果f在(−∞,+∞)上绝对可积且在任何闭区间上分段可导,那么f的Fourier积分等于f本身。
Fourier变换的性质
根据定义F[f](ω)=∫−∞+∞f(x)e−iωxdx,可以证明Fourier变换(以及逆变换F−1[f^]=2π1∫−∞+∞f^(ω)eiωxdω)具有如下性质:
①线性性:F[c1f+c2g](ω)=c1F[f](ω)+c2F[g](ω);F−1[c1f^+c2g^](x)=c1F−1[f^](x)+c2F−1[g^](x)。这本质上就是积分的线性性。
②平移性质:F[f(x±x0)](ω)=F[f(x)](ω)⋅e±iωx0;F−1[f^(ω±ω0)](x)=F−1[f^(ω)](x)⋅e∓iω0x。eiωx一项是积分的换元法产生的结果。
③伸缩性质:F[f(ax)](ω)=∣a∣1F[f(x)](aω);F[a1f(ax)](ω)=F[f(x)](aω)。这本质上也是积分的换元法。
④微分性质:若x→∞limf(x)=0且f,f′绝对可积,则F[f′](ω)=iω⋅F[f](ω);若f,xf绝对可积,则F[−ix⋅f](ω)=[F[f]]′(ω)。这本质上是分部积分法。
⑤卷积的Fourier变换:f,g的卷积定义为(f∗g)(x)=∫−∞+∞f(t)g(x−t)dt。若f,g绝对可积,则F[f∗g]=F[f]⋅F[g]。也就是说:卷积的Fourier变换等于各自Fourier变换的乘积。
⑥Parseval等式:∫−∞+∞[f(x)]2dx=2π1∫−∞+∞∣f^(ω)∣2dω
离散Fourier变换
用离散的求和来近似Fourier变换,我们在f(x)上选取N个点x0,⋯,xN−1,我们称以下变换为离散Fourier变换:D[x](j)=X(j)=n=0∑N−1xne−2πijNn。我们选取的离散形式下基e−2πiNn⋅k是内积∑()()意义下的正交基:N1n=0∑N−1e−2πiNnje−2πiNnk=δj,k。由此可以验证离散Fourier逆变换D−1[X](k)=N1j=0∑N−1X(j)e2πiNjk满足:N1j=0∑N−1X(j)e2πiNjk =N1j=0∑N−1n=0∑N−1xne−2πijNne2πiNjk =n=0∑N−1xnj=0∑N−1[N1e−2πijNne2πiNjk] =n=0∑N−1xnδn,k=xk。
Fourier变换有这样的性质,如果被变换的函数本身是由几个基频的三角函数叠加而成,那么变换后的函数只会在基频附近得到一个模长较大的峰。由此可以对任意函数做谱的分解。在数字信号传输中,如果应用离散Fourier变换,我们只需关注模长较大的那些Xj就可以基本正确地还原出原始数据,这使得信号传输的效率大大提高。同时,1960年代人们也发现了O(nlogn)完成离散Fourier变换计算的方法,称为快速Fourier变换(FFT),见算法课的笔记[分治]。