傅立葉級數與正交展開

吉布斯現象

/ 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