上一篇文章讲了傅立叶变换的本质。这篇文章会总结一下傅立叶变换的常用性质,公式巨多,慎入!慎入!

相关概念
首先,回顾一下傅立叶变换的公式:
F(u)=1MM−1∑x=0f(x)e−2jπ(ux/M)
频谱(spectrum)
由上面的公式可以看出,傅立叶变换得到的系数 F(u) 是一个复数,因此可以表示为:F(u)=R(u)+jI(u),其中,R(u) 是实部,I(u) 是虚部。傅立叶变换的频谱被定义为:
|F(u)|=√R2(u)+I2(u)
相位谱(phase)
根据欧拉公式,我们知道 R(u) 代表的是一个余弦值,而 I(u) 则是正弦值。如果把 F(u) 看作一个向量 (R(u),I(u)),则这个向量的夹角为 ϕ(u)=arctan[I(u)R(u)]。这个夹角也被称为相位谱。
能量谱(power)
能量谱其实就是频谱的平方:P(u)=|F(u)|2=R2(u)+I2(u)。
常用性质
周期性
所谓周期性,即:
F(u,v)=F(u+M,v)=F(u,v+N)=F(u+M,v+N)
证明如下:
F(u+M,v+N)=1MNM−1∑x=0N−1∑y=0f(x,y)e−j2π[(u+M)x/M+(v+N)/N]=1MNM−1∑x=0N−1∑y=0f(x,y)e−j2π[(u+M)x/M+(v+N)y/N]=1MNM−1∑x=0N−1∑y=0f(x,y)e−j2π(ux/M+vy/N)e−j2π(x+y)(1)(2)(3)
注意,e−j2π(x+y)=(e−j2π)x+y=1(x+y)=1,所以
F(u+M,v+N)=1MNM−1∑x=0N−1∑y=0f(x,y)e−j2π(ux/M+vy/N)=F(u,v)
类似地,可以推出
f(x,y)=f(x+M,y)=f(x,y+N)=f(x+M,y+N)
共轭对称性
回忆一下,在复数域中,共轭指的是虚部取反。即 z=x+jy 的共轭是 z∗=x−jy。
在傅立叶变换中,存在以下共轭对称性:
F(u,v)=F∗(−u,−v)
证明如下:
F∗(−u,−v)=1MNM−1∑x=0N−1∑y=0f(x,y)eux/M+vy/N=1MNM−1∑x=0N−1∑y=0f(x,y)[cos[2π(ux/M+vy/N)]−jsin[2π(ux/M+vy/N)]](注意共轭)=F(u,v)(4)(5)(6)
那么这个性质有什么用呢?注意,|F∗(−u,−v)|=|F(−u,−v)|,换句话说,|F(u,v)|=|F(−u,−v)|。
要知道,|F(u,v)| 表示的是傅立叶频谱图,所以,共轭对称性表明,傅立叶的频谱图是中心对称的。
具体地,下图所示的傅立叶频谱图,四个对角上的能量是沿图片中心对称的。

平移性
平移性指的是:
f(x−x0,y−y0)⇔F(u,v)e−j2π(ux0/M+vy0/N)(1)
这个等价关系的意思是说,如果原图 f(x,y) 平移了 (x0,y0) 个单位,那么平移后的图像对应的傅立叶变换为 F(u,v)e−j2π(ux0/M+vy0/N),即在原来 F(u,v) 的基础上乘上 e−j2π(ux0/M+vy0/N)。
这个公式的证明很简单。平移前的公式为:
f(x,y)=M−1∑u=0N−1∑v=0F(u,v)ej2π(ux/M+vy/N)
现在,原图的像素由 (x,y) 平移到 (x−x0,y−y0),因此,我们只需要将 (x−x0,y−y0) 代入上式即可:
f(x−x0,y−y0)=M−1∑u=0N−1∑v=0F(u,v)ej2π[(x−x0)u/M+(y−y0)v/N]=M−1∑u=0N−1∑v=0F(u,v)e−j2π(ux0/M+vy0/N)ej2π(ux/M+vy/N)(7)(8)
在保持原来的基底向量不变的情况下,我们只需要将傅立叶系数变成 F(u,v)e−j2π(ux0/M+vy0/N) 即可。
同样的,如果频谱图发生平移,有如下关系成立:
F(u−u0,v−v0)⇔f(x,y)ej2π(u0x/M+v0y/N)(2)
证明的方法是类似的。
从平移关系中,我们可以得到一个很好的性质。注意,在复数中,有这样两个等式成立 |eajebj|=|eaj||ebj|、|ejx|=1(不懂的请复习复数相关的内容)。应用到上面的结论,即 |F(u,v)e−j2π(ux0/M+vy0/N)|=|F(u,v)|。换句话说,原图平移后,傅立叶频谱图不变。
例如,对于下面两幅图(为了保持图片大小不变,我们在图片外围补了一层 ‘0’ 边界):

它们对应的傅立叶频谱图都是这个样子的:

注意,四个角上的白点代表低频信号的分量。
另外,我们平时经常用的中心化操作也依赖于平移性和周期性。
所谓中心化,就是将频谱图平移 (M/2,N/2) 个单位。由平移性的公式 (2),可以得到:
F(u−M2,v−N2)⇔f(x,y)ej2π(12x+12y)=f(x,y)ejπ(x+y)=f(x,y)ejπ(x+y)=f(x,y)(−1)x+y(9)(10)(11)(12)
所以,我们只要对原图的每个像素乘以 (−1)x+y,然后进行傅立叶变换,这样得到的频谱图便是中心化后的频谱图了。
如果对上一幅频谱图中心化,则可以得到:

这么做的目的是为了方便肉眼观察。中心化后,频谱图中心对应的便是低频分量,远离中心的,则是高频分量。
卷积定理
卷积定理表述为:
f(x,y)∗h(x,y)⇔F(u,v)H(u,v)F(u,v)∗H(u,v)⇔f(x,y)h(x,y)
(注意,右边式子表示的是矩阵的点乘运算,而不是矩阵乘法)
它的意思是说,在空间域内进行卷积运算,跟把它们转换到频率域再进行点乘运算,效果是等价的。
要证明这个定理,首先要知道卷积的定义(关于卷积的定义,可以参考这篇知乎的回答):
f(x,y)∗h(x,y)=M−1∑m=0N−1∑n=0f(m,n)h(x−m,y−n)
然后,我们对等式两边同时进行傅立叶变换(注意,傅立叶变换是针对x、y进行的,m、n相关的式子可以看作常数):
F[f(x,y)∗h(x,y)]=F[M−1∑m=0N−1∑n=0f(m,n)h(x−m,y−n)]=M−1∑m=0N−1∑n=0f(m,n)F[h(x−m,y−n)](13)(14)
由之前的平移性,我们知道:h(x−m,y−n)⇔H(u,v)e−j2π(um/M+vn/N) 。所以上式中的 F[h(x−m,y−n)]=H(u,v)e−j2π(um/M+vn/N),这样,我们便得到:
F[f(x,y)∗h(x,y)]=M−1∑m=0N−1∑n=0f(m,n)F[h(x−m,y−n)]=M−1∑m=0N−1∑n=0f(m,n)H(u,v)e−j2π(um/M+vn/N)=M−1∑m=0N−1∑n=0f(m,n)e−j2π(um/M+vn/N)H(u,v)=F(u,v)H(u,v)(15)(16)(17)(18)
上面的 ∑M−1m=0∑N−1n=0f(m,n)e−j2π(um/M+vn/N) 刚好凑成一个傅立叶变换 F(u,v)。所以我们最终证明:f(x,y)∗h(x,y)⇔F(u,v)H(u,v)。
另一个式子 F(u,v)∗H(u,v)⇔f(x,y)h(x,y) 的证明是类似的。
参考
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异