傅里叶级数翻不过的那堵墙
前几篇指南交给你一台强大的机器:任何表现良好、以 2L 为周期重复的函数,都是纯波的加权和,是它那一组谐波的离散频谱。但请注意那行小字——重复。傅里叶级数只由能在周期里整数次塞满的波搭成,所以它造出来的东西永远只能是周期的。给它一个单脉冲、一个孤零零的高斯鼓包、一口敲响一次便归于沉寂的钟,级数会乖乖地在一个宽度为 2L 的窗口里复现那个形状——然后把它向左向右永远复制粘贴下去,变成你从未要求过的一串幽灵回声。对一个一次性的信号来说,除了原来那个窗口,它处处都是错的。
然而我们真正关心的大多数信号并不是周期的。一句说出口的话、一记砸在梁上的锤击、一个光子的波包、一束短暂激光脉冲带来的温度尖峰——每一个都只发生一次,便了无踪迹。我们需要一个办法,去求一个活在整条数轴上、永不重复的信号的频谱。诀窍不是发明一台新机器,而是对我们手上这台取极限:把周期调大、再大、还要更大,直到 2L 变成无穷,那一个窗口吞下整条数轴。看着谐波在这个过程中遭遇了什么,就是本篇的全部故事。
从最干净的形式出发:复指数级数
如果我们从复指数傅里叶级数出发,而不是从那个分两条公式的正弦余弦版本出发,取极限就远没那么痛苦。借助欧拉恒等式 e^{i theta} = cos(theta) + i sin(theta),一个单独的复波 e^{i n pi x / L} 就把一个余弦和一个正弦打包在了一起,于是整个级数坍缩成一个干净的求和:f(x) = 对所有整数 n 求和的 c_n e^{i n pi x / L},其中那条单一的系数公式 c_n = (1/2L) 乘以 从 -L 到 L 的 f(x) e^{-i n pi x / L} dx 之积分,取代了两条欧拉-傅里叶公式。指数上那个负号,是投影在「读出」f 中含有多少波 e^{+i n pi x / L}——还是从前那个正交性动作,只是现在一笔到位。
在我们拉伸 L 之前,有一个关键的记账动作。每个谐波 n 对应一个角频率 omega_n = n pi / L。当 n 走过整数时,这些频率坐落在一架间距均匀的梯子的横档上,相邻两档之间的间隔是 delta-omega = pi / L。这个间距就是离散频谱那把「梳子的齿宽」。盯住它:当我们把 L 调大,横档就彼此滑近。那道由许可频率组成的栅栏,眼看就要密到变成一堵实心墙。
让周期趋于无穷:求和化为积分
现在动手。把系数公式代回级数,并把各项重新分组,让间距 delta-omega = pi / L 显式地露出来。当 L 趋向无穷,两件事同时发生。其一,频率间距 delta-omega 收缩趋零,于是许可频率不再是离散的一串 n pi / L,而填满成一个连续变量 omega,它可以取任何值。其二——这才是要害——一个对 n 求和、每一项又乘以一个小间距 delta-omega 的式子,正是黎曼和的标准排场:在极限里,「对 n 求和再乘以 delta-omega」化成了「对 d omega 积分」。离散的求和融化成了一个遍历所有频率的积分。
Complex series, period 2L, with omega_n = n pi / L and delta-omega = pi / L:
c_n = (1/2L) integral_{-L}^{L} f(x) e^{-i omega_n x} dx
f(x) = sum_n c_n e^{i omega_n x}
= sum_n [ (1/2L) integral_{-L}^{L} f(t) e^{-i omega_n t} dt ] e^{i omega_n x}
= (1/2pi) sum_n [ integral_{-L}^{L} f(t) e^{-i omega_n t} dt ] e^{i omega_n x} * delta-omega
\______ a Riemann sum in omega ______/
L -> infinity (so delta-omega -> 0, omega_n -> continuous omega):
define F(omega) = integral_{-infinity}^{infinity} f(x) e^{-i omega x} dx <-- FORWARD transform
then f(x) = (1/2pi) integral_{-infinity}^{infinity} F(omega) e^{i omega x} d omega <-- INVERSE变换对:一个函数与它的频谱
在极限中幸存下来的,是一对配套的积分——傅里叶变换对。正变换 F(omega) = 从 -infinity 到 infinity 的 f(x) e^{-i omega x} dx 之积分,取活在空间或时间上的信号 f,返回活在频率上的 F:它回答的是「频率 omega 在 f 里藏了多少?」逆变换 f(x) = (1/2pi) 乘以 从 -infinity 到 infinity 的 F(omega) e^{i omega x} d omega 之积分,则把所有这些频率碎片叠回去,重建出原函数。傅里叶变换与它的逆是同一个对象的两种视角,就像一个和弦既能写成时间上的波形,也能写成一串音符——在两者之间往返不丢失任何信息。
请精确地看清从级数跨到变换时究竟变了什么。对一个周期信号,频谱是那串离散的系数 c_n——能量只许出现在特定的谐波频率上,是一排孤立的尖峰。对一个一次性信号,频谱则是光滑函数 F(omega)——一道在每个频率上都有定义的连续频谱,齿与齿之间不再有空隙。一旦看出缘由便很直观:一个永不重复的波,无法由一份有限的精确谐波菜单做成;它需要一整段连绵不断的频率连续体,每个频率贡献一个无穷小的薄片,才能搭出一个只升起一次、再不回头的形状。正是周期性把一道频谱量子化成离散的谱线;失去周期性,谱线就模糊成了一条频带。
读懂频谱:F(omega) 到底告诉了你什么
F(omega) 一般是复数,而这是一种优点,不是麻烦——它在每个频率上都携带两份实信息。它的模 |F(omega)|,即幅度谱,说明频率 omega 出现得有多强;它的辐角,即相位谱,说明那个波的波峰落在哪里。单看幅度,告诉你的是音色——一个声音是由什么构成的,为什么长笛和小提琴奏同一个音听起来不同。相位告诉你的是对齐方式——把相位打乱,你保住了每个频率的强度,却会把一记清脆的咔嗒声抹成一片噪声的混响。重建信号需要这两半都在,这正是逆积分要带上完整复数 F 的原因。
有一个定量的锚点能让频谱变得具体:能量在变换对的两端守恒。帕塞瓦尔-普朗谢雷尔定理说,|f(x)|^2 dx 的积分等于 (1/2pi) 乘以 |F(omega)|^2 d omega 的积分——你在空间里算出的总能量,等于你在频率里算出的总能量。于是 |F(omega)|^2 简直就是单位频率上的能量密度:它在一段频带 [a, b] 上覆盖的面积,就是那条频带所携带的能量。这才是「一个信号的频谱」的诚实含义——不是一个含糊的比喻,而是一份可测量的、能量在频率上的分布,是你在傅里叶级数的帕塞瓦尔定理里逐谐波求和的那份能量的、精确的连续继承者。
你现在握着什么,以及它开启的那一家族
- 要求一个信号的频谱,就算正变换 F(omega) = f(x) e^{-i omega x} dx 在整条数轴上的积分——一个把 f 投影到每个频率 omega 的波上的反常积分。
- 读出结果:|F(omega)| 是每个频率出现了多少(幅度),它的辐角是相位,而 |F(omega)|^2 是单位频率上的能量密度——这就是频谱的真正含义。
- 要重建信号,就跑逆变换:f(x) = (1/2pi) 乘以 F(omega) e^{i omega x} d omega 在整条数轴上的积分——把那一连续体的频率碎片叠回成原来的形状。
你已经跨过了从周期世界通往整条实数轴的那座桥,而那个曾经读出单个谐波的投影思想,如今读出的是一整段连续体。这一阶梯往后的一切都建立在这对积分上。变换把求导变成乘以 i omega,于是傅里叶变换撬开热方程与波方程的方式,正如拉普拉斯变换撬开初值常微分方程的方式——用代数代替微积分。计算机把这个积分采样成一份有限的清单,当作离散与快速傅里叶变换来跑。而把核 e^{-i omega x} 换成另一个,你就得到这一家族的其余成员——梅林变换、汉克尔变换、希尔伯特变换——每一个都是为它自己那种几何配的恰当镜片。你已经学会把一个一次性信号当作一个连续的和弦来听——并叫得出其中的每一个频率。