白盒.org 把每个原理拆到不能再拆
首页物理 › 波与振动

傅里叶:为什么任何波形都是一堆旋转的圆

L2 · 标准版 波与振动 2026年9月18日

任何周期波形都能由频率成整数倍的一组正弦波叠加出来;而正弦波不过是匀速旋转的圆在一条直线上的投影。所以更准确的说法是——任何波形都是一堆旋转的圆叠在一起画出来的。

一句话结论

任何周期波形,无论多么棱角分明,都能由频率成整数倍的一组正弦波叠加出来。

而正弦波本身,不过是一个匀速旋转的圆在一条直线上的投影。所以这句话可以换一种更有画面感的说法:

任何周期波形,都是一堆旋转的圆叠在一起画出来的。

还有更深的半句:正弦波是唯一”穿过线性系统后形状不变”的波。正是这一点,让傅里叶变换成了整个物理和工程的通用语言 —— 后面会讲到为什么。

直觉铺垫:音色、彩虹,和转圈的影子

先建立三层直觉。

第一层,声音。 钢琴弹的中央 C,和你唱的”啊”,基频完全一样(都是 261.6 Hz),可你闭着眼也分得出来。区别在哪?在于除了基频之外,各自还带着哪些泛音、各占多少。这个”配方”就是频谱,也就是音色。

第二层,光。 一束白光穿过棱镜,散成一道彩虹。棱镜做了一次物理实现的光学傅里叶变换:把”白色”拆成各个频率成分各有各多少。颜色和音色,原来是同一件事。

第三层,圆与正弦。 一个点匀速转圈,它在竖直方向投下的影子,画出来就是正弦波。所以:

一个频率成分 = 一个旋转的圆。

把这三層叠起来,就得到了核心画面:把许多大小不同、转速成整数比、起始角度不同的旋转矢量首尾相接,最末端那支笔尖画出的轨迹,就是你要的那个波形。圆用得越多,画得越像。

为什么转速必须是整数倍?因为周期要对得上。一个周期为 TT 的波,只能由周期为 TTT/2T/2T/3T/3…… 的波组成 —— 非整数倍的频率叠进去,就没法在每个 TT 之后精确地重复自己。

推导过程

频率是一组互相垂直的坐标轴

这是整件事最优雅的理解方式。不同频率的正弦波彼此正交

0Tsin ⁣(2πntT)sin ⁣(2πmtT)dt  =  0(nm)\int_0^T \sin\!\Big(\frac{2\pi n\,t}{T}\Big)\,\sin\!\Big(\frac{2\pi m\,t}{T}\Big)\,dt \;=\; 0 \qquad (n \neq m)

正交,就是”互相垂直”。这意味着各个频率像一组彼此垂直的坐标轴,而傅里叶变换做的事,就是把波形这个”向量”往每个频率轴上投影,量出每个方向上的分量。

所以”某个频率上的系数有多大”,物理含义是:这个波形和该频率的正弦波重叠得有多厉害。

级数写出来

f(t)=n=1[ancos ⁣(2πntT)+bnsin ⁣(2πntT)]f(t) = \sum_{n=1}^{\infty}\Big[\,a_n\cos\!\Big(\frac{2\pi n t}{T}\Big) + b_n\sin\!\Big(\frac{2\pi n t}{T}\Big)\Big]

ana_nbnb_n 就是投影长度。用复数写更紧凑,也更接近本质:

cn=1T0Tf(t)  ei2πnt/Tdtc_n = \frac{1}{T}\int_0^T f(t)\;e^{-i\,2\pi n t/T}\,dt

三个例子,一条规律

  • 方波4π(sint+sin3t3+sin5t5+)\displaystyle \frac{4}{\pi}\Big(\sin t + \frac{\sin 3t}{3} + \frac{\sin 5t}{5} + \cdots\Big) —— 只有奇次谐波,幅度按 1/n1/n 衰减
  • 锯齿波:含全部谐波,幅度也是 1/n1/n
  • 三角波:只有奇次谐波,幅度按 1/n21/n^2 衰减

看出来了吗?波形越光滑,高频成分衰减得越快。

方波有跳变(函数不连续),所以要 1/n1/n 这么多高频才能把棱角填出来,收敛极慢;三角波连续、只是转了个尖角,  1/n2\;1/n^2 就够 —— 三五个谐波就画得很像了。这条规律在演示里可以直接拖出来看。

吉布斯现象:填不上的那个尖角

在跳变的地方,有限项叠加总会冲过头。这个过冲大约是跳变幅度的 9%,而且加多少项都不会消失,只是变得越来越窄。

用连续的圆去逼近一个断裂,这个代价必须付。方波的跳变幅度是 2,所以峰值会冲到 1.179 左右 —— 演示里拖到 49 项,你会看到它稳定在 16.5% 附近,正朝着 17.9% 这个理论值去。

为什么偏偏是正弦波?(这一节是全文的灵魂)

这才是真正值得问的问题。基有无穷多种,凭什么是正弦?

因为复指数 eiωte^{i\omega t} 是线性时不变系统的特征函数

把一个频率为 ω\omega 的正弦波送进任何线性系统 —— 一根弦、一个电路、一段空气、一层透镜 —— 出来的还是同频率的正弦波,只是幅度和相位变了。系统不会把 1000 Hz 变成 1500 Hz,它只能改变这个频率的”音量”和”延迟”。

于是:

时域的卷积   F   频域的乘法\text{时域的卷积} \;\xrightarrow{\ \mathcal{F}\ }\; \text{频域的乘法}

卷积是”系统如何作用于信号”最一般的形式,难算、难想;可它在频域里退化成了逐个频率乘一个数。这就是为什么你只要写出一个系统对每个频率的增益(一条曲线、一张表),就把它完整地描述清楚了 —— 滤波器、弦的振动、原子的吸收谱、镜头的成像,全都如此。

正弦波不是我们选的基,是系统自己挑的基。

交互演示

左边那串圆,每一个就是一个频率成分:圈的大小是该频率的强度,转速是它的频率。最末端红色的笔尖,画出的就是合成波形。

演示 · 每个谐波是一个旋转的圆
谐波项数5 项
圆:每个频率一个笔尖画出的波形
一个完整周期:黑色的合成波形 vs 灰色的目标波形
频谱:每个谐波占多少(这就是「音色」的配方)
用了 5 个谐波均方根误差 0.201跳变处过冲 18.2%
把谐波从 1 拖到 49:方波的误差掉得很慢(谐波按 1/n 衰减),三角波却几项就够了(按 1/n² 衰减)——波形越光滑,高频成分越少。再看方波那两头:无论加多少项,跳变边上那两个尖角都不会消失, 只会变窄,这就是吉布斯现象。

建议这样玩:

  1. 把谐波项数从 1 拖到 49,看方波是怎么一点点被”填”出来的 —— 注意跳变处那两个永远消不掉的尖角。
  2. 切到三角波,同样拖一遍。你会发现它三五个谐波就很像了 —— 因为它光滑,高频本来就少。
  3. 看最下面的频谱条。方波是一根根孤立的奇次谐波,锯齿波是连续的一排,三角波矮下去得极快。这张条状图,就是音色本身。

常见误解

  1. “傅里叶变换只适用于周期信号” —— 傅里叶级数针对周期信号;把周期推到无穷大,离散的频谱就变成连续的频谱,这就是傅里叶变换,可以处理非周期信号(比如一声鼓响、一次冲击)。
  2. “分解是一种近似” —— 级数本身在满足条件下等于原函数,不是近似。近似来自于你只取了有限项。这两件事要分开说。
  3. “项数加够,跳变处的尖角就会平掉” —— 不会,那是吉布斯现象,它只会变窄,不会变矮。
  4. “只要幅度谱就够了,相位不重要” —— 大错。频谱包含幅度谱和相位谱两部分。只用幅度谱重建出来的声音完全变形:幅度决定各频率的配比,相位决定这些波在时间上怎么对齐。丢掉相位,你就丢掉了波形的形状。
  5. “FFT 是另一种更高级的变换” —— FFT 只是快速算法,数学内容和 DFT 一模一样,把复杂度从 O(N2)O(N^2) 降到 O(NlogN)O(N\log N)。别小看这个加速:没有它就没有现代数字通信、没有 JPEG 和 MP3,它被称为 20 世纪最重要的算法之一。

延伸引用

  • 数学 · 向量空间与正交基 —— 傅里叶变换本质上就是一次「换基」操作(待写)
  • 横切原理 · 熵与信息 —— 换一种表示,代价是什么?(待写)
  • 外部:3Blue1Brown, But what is the Fourier Transform? —— 本轮旋转可视化的灵感来源,强烈推荐

本文是「白盒」物理系列的第一篇。发现错误、或者觉得哪一段没讲清楚,欢迎在 GitHub 上提 PR。