傅里叶级数与正交展开

吉布斯现象

/ GIBZ /

用很多项画出方波傅里叶级数的部分和,你会看到某种顽固的东西:紧挨着每个跳变,曲线会过冲,越过真正的顶探出去、又跌到真正的底之下,后面拖着小小的波纹。加更多项,波纹会朝跳变挤得更近、变得更窄——但第一个过冲的高度却拒绝缩小。这种在间断处旁边持续不去的过冲,就是吉布斯现象,傅里叶分析中最有名的'是特性而非缺陷'。

下面是诚实的机理。当你取更多项 N 时,部分和确实在远离跳变的每一个固定点处收敛到 f,甚至在跳变本身处收敛到中点。但过冲并不待在某个固定点上——它所在的位置会随 N 增大而滑向跳变,始终停留在收敛并非一致的那条窄带里。在极限中,过冲的峰值趋于一个确定的高度:约为跳变大小的 9%(更确切地说,整个起伏的过冲倍数与 (sin t)/t 的积分即正弦积分在 pi 处的取值相关)。所以无论你叠加多少谐波,部分和的最大值都以那同一个固定的百分比越过跳变;只不过它发生在越来越薄的一条缝里。

这就是为什么加项消除不了它,以及它在实践中为什么重要。截断任何带尖锐边缘的信号——有硬边界的图像、一声音频咔哒、一个阶跃输入——都会在边缘附近产生这种'振铃',在 JPEG 式压缩中表现为光晕、在滤波器输出中表现为过冲。它不是数值误差;它是用光滑波去逼近一个间断时不可避免的代价。标准的补救不是加更多项,而是更温和的求和——把系数乘以一个渐缩的窗(费耶/切萨罗平均、兰乔斯 sigma 因子),以牺牲一点锐度换取过冲的消除。

对高度为 2(从 -1 到 +1)的方波,部分和过冲到约 1.179 而非 1,超出量大约是跳变 2 的 0.09 倍——而这个比真值 1 高出的 0.179,无论你叠加 10 项、100 项还是一百万项,都基本固定不变。

过冲的百分比是任何跳变的普适常数;随着项数增加,只有振铃的宽度在缩小。

吉布斯过冲并不与收敛矛盾:级数在每一点仍然收敛,只是不一致收敛——过冲之所以存活,是因为它的位置随 N 移动,所以它从不停在任何一个能让收敛抹掉它的固定点上。

又称
Gibbs overshoot吉布斯过冲ringing artifact