← 傅里叶变换 · 从入门到精通 / 傅里叶级数:把方波堆出来 待审核 2 / 7
Fourier Series · 周期信号

傅里叶级数:把方波堆出来

正弦波与「叠加」中,我们手动叠加正弦得到复杂波。反过来:给定一个周期信号(方波、锯齿、三角……),能不能算出「该用哪些正弦、各占多少」?能——这就是傅里叶级数。任何「足够规矩」的周期函数都能写成:

f(x) = a₀ + Σₖ≥₁ ( aₖ cos(kx) + bₖ sin(kx) )

系数 ak/bka_k / b_k 不是凑的,而是用积分「投影」算出来的(这个投影的几何意义见旋转的向量:复指数 e^(iθ))。这里先直接用算好的系数,看加进越来越多谐波时,部分和怎样一步步逼近目标波形。

选一个目标波形,拖谐波个数 N:粗紫线是前 N 个谐波的部分和,灰虚线是理想目标。下面的频谱柱是每个谐波的系数大小——这正是该信号在「频率轴」上的样子,是 DFT 谱的连续版前身。

Gibbs 现象:角点处的「过冲」永不消失。 盯住方波 / 锯齿的跳变边沿——部分和总会冲过头约 9%(准确说是 8.95% 的跳变高度),再振铃几下才稳定。把 N 拉到 40 也一样:过冲高度不降,只是越来越、越贴近边沿。这是「用连续的正弦去拼不连续的跳变」的固有代价,在音频去高频、JPEG 块边缘的振铃伪影里都能见到它。

为什么三角波收敛得快得多? 方波系数按 1/k 衰减,三角波按 1/k2{1/k^2}——后者高频掉得快得多,所以寥寥几项就很平滑、也没有 Gibbs 过冲。系数衰减的快慢 = 信号的光滑程度:越光滑的信号,高频越少。这条直觉贯穿整个傅里叶分析。