为何要讲性质,而不只是那个积分
在上一篇指南里,你见过了傅里叶变换对:时间域里的函数 f(t) 与它在频率域里的变换 F(omega) = f(t) e^{-i omega t} dt 之积分,同一个对象的两张脸。原则上,你可以对每个新问题都从零开始硬磨那个积分。但几乎没人这么做,原因在此:你亲手算出的少数几个变换会成为一本小字典,而几条性质就能让你对字典里的条目做平移、拉伸与组合,从而几乎够到你所需的一切——再也不必碰那个积分号。
下面每一条性质都源自同一处:变换是线性的,且建立在波 e^{-i omega t} 之上。单单线性就已经说明,和的变换等于各变换之和,常数倍则可直接穿过——正是那条贯穿傅里叶级数与线性微分方程的叠加原理。更丰富的性质来自一个更尖锐的提问:当你在时间域里对 f 做某件简单的事,频率域里 F 上对应的动作是什么?答案出奇地干净,一旦记住,便把变换变成了一台计算器。
平移与调制:两个域之间的一场拔河
先看最简单的动作:把信号在时间上往后滑动一个量 a,即把 f(t) 换成 f(t - a)。F 会怎样?时移性质说,F(omega) 的幅度丝毫不变——每个频率仍以相同的量存在——但每个频率会沾上一个相位扭转 e^{-i omega a}。这在直觉上恰恰正确:把一首歌延迟播放,并不改变它含有哪些音,只改变每个波在何时到达波峰。纯粹的延迟对能量谱是隐形的,它整个地藏在相位里。
现在把它反过来。不做平移,而是把信号乘以一个波:把 f(t) 换成 e^{i omega_0 t} f(t)。这就是调制性质,它在频率域里所做的,恰好就是平移在时间域里所做的事——它把整个频谱滑动,使 F(omega) 变成 F(omega - omega_0)。在一个域里乘以一个波,就是在另一个域里做平移;这两种操作隔着变换互为镜像。这正是调幅广播的原理:把你的声音乘以一个高频载波,就把它的频谱抬升到广播频段,而接收机再乘一次,把它滑回原处。
缩放与对偶:这边窄,意味着那边宽
把信号在时间上挤紧——把 f(t) 换成 f(a t),其中 a > 1,将它压成一段更短的爆发。缩放性质说,它的变换变成 (1/|a|) F(omega/a):信号越窄,频谱反而铺得越宽,并略微变暗以守恒面积。这不是怪癖,而是一条定律。一记尖锐、短促的咔哒声,必然含有一整段宽阔的频带;而一个绵长、慵懒的音,则几乎是单一的纯频率。你无法同时拥有一个在时间上紧凑、又在频率上紧凑的信号——挤紧一头,另一头就摊开。这个权衡,正是量子力学中海森堡不确定性原理底下的数学骨架;那条原理究其本质,就是把这条缩放性质用到一个波包上。
在所有这些性质对的对称背后,坐着一个更深的事实:变换的对偶性。正变换(时间到频率)与逆变换(频率到时间)几乎是同一个积分——它们只差指数上的一个符号和一个 2 pi 因子。于是任何一个变换对,倒过来读,就白送你第二个变换对。经典例子是高斯函数,也就是来自高斯积分的那条钟形曲线:它的傅里叶变换仍是一个高斯函数。它是自己隔着变换的回声——这正是为什么钟形曲线是宽度权衡的边界情形,是那个在两个域里同样紧凑的唯一形状。
卷积:一个信号被另一个信号抹开
现在轮到主角。世上许多最有用的操作都不是逐点的——它们把一个值与它的邻居们搅在一起。把照片模糊,是用每个像素周围那些像素的加权平均来替换它。一间有混响的房间,是用之前各时刻渐渐衰减的回声来替换当下每一刻的声音。任何线性时不变系统的输出,都是它的输入被该系统的冲激响应抹开的结果。这个抹开操作有个名字:卷积,写作 (f * g)(t) = f(tau) g(t - tau) d tau 之积分。慢慢读它:对每个输出时刻 t,你把 g 翻转,滑到位置 t,处处与 f 相乘,再把重叠加起来。它是把一个函数拖过另一个函数的一次扫掠。
若直接计算,卷积是沉重的:对每一个输出点,你都得做一整个积分,一个拖过整段信号的重叠求和。对于一段长录音或一张百万像素的图像,那是巨量的算术。这就是那堵墙——而卷积定理就是穿墙而过的那道门。你在拉普拉斯的世界里已经见过它的同胞,拉普拉斯卷积定理;傅里叶版本是同一个美丽的想法,是整套频率域工具背后的引擎。
卷积定理:抹开变成相乘
下面这句话,才让本篇指南配得上它的标题。傅里叶卷积定理说:一个卷积的变换,等于各变换的普通乘积。用符号写,若 f * g 是卷积,则它的变换不过是 F(omega) 乘以 G(omega),逐点相乘。时间域里那个笨拙的扫掠积分,到了变换域里就成了一次朴素的、逐频率的乘法。(对偶性两边都成立:在时间里把两个信号相乘,就是在频率里把它们的频谱卷积——这是搭档命题。)它为什么成立?因为卷积恰恰是这样构造出来的:让每个纯波互不纠缠地穿过;而变换正是把一个信号分拣成那些纯波。
这份直觉值得多停留一会儿。把单一纯波 e^{i omega t} 喂进一个抹开操作,它出来时还是同一个波,只是被缩放并移了相——它的频率毫发未损。所以在纯波这组基底里,抹开是对角的:每个频率只是被乘上属于它自己的一个数,而那个数就是 G(omega),抹开者的变换。把 f 分拣成它的各个频率、把每个乘上对应的因子、再重新组装,恰好就是「变换、相乘、逆变换」。卷积定理说的就是:傅里叶变换把卷积对角化了——正是当年在线性代数里特征值让矩阵变简单的同一个道理。
- 把两个信号都做变换:把输入 f 和抹开核 g(一个模糊形状、一个滤波器、一个冲激响应)送到它们的频谱 F(omega) 与 G(omega)。
- 逐点相乘:在每个频率上,作出乘积 F(omega) G(omega)。这一次乘法,替代了整个扫掠的卷积积分。
- 逆变换回时间域:对乘积做逆傅里叶变换,你就得到了 f * g,那个被抹开的输出——全程不曾算过一个重叠积分。
滤波,以及对这本字典的诚实审视
正是这条定理,让滤波在频率空间里如此简单。要从一段录音里除去 60 Hz 的嗡嗡声,你不必在时间域里设计什么繁复的平均——你做变换,把频谱在 60 Hz 附近置零,再变换回去。要锐化或模糊一张图像,你重塑它的频谱再逆变换。每一个均衡器、噪声门、边缘检测器,骨子里都是一次乘法 G(omega),它被选来放行你想要的频率、压制其余。又因为存在一种快速算法来计算采样数据的变换,「变换、相乘、逆变换」这一来回,远比它所替代的直接卷积便宜得多——这正是它不止是优雅理论、更是现代信号与图像处理主力的原因。
还有一条性质把这个圆圈合拢,并接到能量上。帕塞瓦尔-普朗歇尔定理说,一个信号的总能量——|f(t)|^2 的积分——等于它频谱的总能量,即 |F(omega)|^2 的积分,至多相差一个常数。跨到频率那一侧,没有任何东西被创造或丢失;变换只是把同一份能量在各频率间重新分配。它是你在傅里叶级数里见过的帕塞瓦尔恒等式的连续后裔。它与那些性质对以及卷积定理一道,补全了你对变换的可用语法:平移、缩放、调制、卷积、并清点能量——全程无需回到那个定义性的积分。本阶梯接下来,这套语法将被放出去,对付物理学的微分方程。