Fourier变换

Fourier变换及其逆变换

在我们已经讨论过的Fourier级数中,我们能够取三角函数的一个周期[π,π]对任何周期为2π的函数做Fourier展开。现在假设函数的周期不是2π而是一般地具有有限周期2T,那么很自然地我们可以对三角函数做伸缩,用sinπTxcosπTx的三角级数做展开,得到:fT(x)a02+n=1[ancos(nπTx)+bnsin(nπTx)]。其中,an=1TTTfT(x)cos(nπTx)dxbn=1TTTfT(x)sin(nπTx)dx。而对于非周期函数,我们总可以选定一段定义域区间[T,T]而抛弃其余的部分,取而代之选定区间的部分从而把它“延拓”为周期函数,而对于周期函数我们可以写出其Fourier级数,这之后再令T+就可以得到一般非周期函数的Fourier展开。

我们常常用复指数来表示三角函数,这样会得到更简洁的形式。由欧拉公式有cosθ=eiθ+eiθ2sinθ=eiθeiθ2i=i2(eiθeiθ)。记πT=ω,得到fT(x)a02+n=1(aneinωx+einωx2ibneinωxeinωx2)=a02+n=1(anibn2einωx+an+ibn2einωx)。记anibn=cn,则an+ibn=cn¯。代入an,bn的表达式,得到cn=1TTTfT(x)[cos(nπTx)isin(nπTx)]dx=1TTTfT(x)einωxdx。那么现在整个Fourier级数可以写成fT(x)a02+12n=1(cneinωx+cn¯einωx)。为了写法上的方便,我们记cn¯=cn,同时c0=a0。那么写出fT(x)12n=+cneinωx,这就是Fourier级数的复数形式。

代入cn,得到fT(x)12Tn=+[TTfT(x)einωxdx]einωt。现在令T+。代入T=πω,那么ω0。得到f(x)limω0ω2πn=+[T+TfT(x)einωxdx]einωt,而求和的部分形如Riemann和的形式,因此在形式上对一般的函数f可以写出f(x)12π+[+f(x)eiωxdx]eiωtdω。可以观察到,内层的积分和外层的积分有着非常相似的形式,内层积分对于每个ω都得到一个值,形成了一个关于“频率”ω的函数,这个函数在外层积分的作用后又会恢复到f本身。从一个函数到另一个函数的过程就是“变换”(transform),我们定义函数f^(ω)=+f(x)eiωxdxf的Fourier变换,记为F[f](ω)。定义12π+f^(ω)eiωxdω为Fourier变换的逆变换,记为F1[f^](x)。在一定的条件下,可以认为f(x)=F1[F[f]],其中F1[F[f]]=12π+[+f(x)eiωxdx]eiωtdω就称为Fourier积分。可以证明(略)如下充分条件:如果f(,+)上绝对可积且在任何闭区间上分段可导,那么f的Fourier积分等于f本身。

Fourier变换的性质

根据定义F[f](ω)=+f(x)eiωxdx,可以证明Fourier变换(以及逆变换F1[f^]=12π+f^(ω)eiωxdω)具有如下性质:

①线性性:F[c1f+c2g](ω)=c1F[f](ω)+c2F[g](ω)F1[c1f^+c2g^](x)=c1F1[f^](x)+c2F1[g^](x)。这本质上就是积分的线性性。

②平移性质:F[f(x±x0)](ω)=F[f(x)](ω)e±iωx0F1[f^(ω±ω0)](x)=F1[f^(ω)](x)eiω0xeiωx一项是积分的换元法产生的结果。

③伸缩性质:F[f(ax)](ω)=1|a|F[f(x)](ωa)F[1af(xa)](ω)=F[f(x)](aω)。这本质上也是积分的换元法。

④微分性质:若limxf(x)=0f,f绝对可积,则F[f](ω)=iωF[f](ω);若f,xf绝对可积,则F[ixf](ω)=[F[f]](ω)。这本质上是分部积分法。

⑤卷积的Fourier变换:f,g的卷积定义为(fg)(x)=+f(t)g(xt)dt。若f,g绝对可积,则F[fg]=F[f]F[g]。也就是说:卷积的Fourier变换等于各自Fourier变换的乘积。

⑥Parseval等式:+[f(x)]2dx=12π+|f^(ω)|2dω

离散Fourier变换

用离散的求和来近似Fourier变换,我们在f(x)上选取N个点x0,,xN1,我们称以下变换为离散Fourier变换:D[x](j)=X(j)=n=0N1xne2πijnN。我们选取的离散形式下基e2πinNk是内积()()意义下的正交基:1Nn=0N1e2πinjNe2πinkN=δj,k。由此可以验证离散Fourier逆变换D1[X](k)=1Nj=0N1X(j)e2πijkN满足:1Nj=0N1X(j)e2πijkN=1Nj=0N1n=0N1xne2πijnNe2πijkN=n=0N1xnj=0N1[1Ne2πijnNe2πijkN]=n=0N1xnδn,k=xk

Fourier变换有这样的性质,如果被变换的函数本身是由几个基频的三角函数叠加而成,那么变换后的函数只会在基频附近得到一个模长较大的峰。由此可以对任意函数做谱的分解。在数字信号传输中,如果应用离散Fourier变换,我们只需关注模长较大的那些Xj就可以基本正确地还原出原始数据,这使得信号传输的效率大大提高。同时,1960年代人们也发现了O(nlogn)完成离散Fourier变换计算的方法,称为快速Fourier变换(FFT),见算法课的笔记[分治]

posted @   行而上  阅读(76)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示