兩個條件,兩個係數
具有 k+1 個自由係數的濾波器可以滿足其傳遞函數上的確切 k+1 個條件。Hamming 用最簡單的非平凡情況演示了這一點:兩個係數,兩個條件。
條件
- 在 f = 1/6:H(1/6) = 1(此頻率完全通過)
- 在 f = 1/3:H(1/3) = 0(此頻率被完全阻擋)
濾波器形式
使用兩個係數 a 和 b、輸入 x_n 和一個延遲的濾波器:
y_n = a · x_n + b · x_{n−1}
代入本徵函數
輸入 e^{i2πfn},輸出 H(f) · e^{i2πfn}。右側得到:
H(f) · e^{i2πfn} = a · e^{i2πfn} + b · e^{i2πf(n−1)}
兩邊同除以 e^{i2πfn}:
H(f) = a + b · e^{−i2πf}
現在應用兩個條件以得到兩個包含兩個未知數的方程式。
求解係數
將 f = 1/6 代入 H(f) = a + b·e^{−i2πf}:
1 = a + b·e^{−i2π/6} = a + b·(cos(−π/3) + i·sin(−π/3)) = a + b·(1/2 − i√3/2)
將 f = 1/3 代入:
0 = a + b·e^{−i2π/3} = a + b·(−1/2 − i√3/2)
從這兩個方程式,Hamming 求解得到 a = 1/2、b = 1/2 ——相同於 3 樣本平均值(輸出在中間位置)。
完整的濾波器
滿足兩個條件的濾波器具有以下形式:
y_n = (x_{n−1} + x_n + x_{n+1}) / 2
位置 n 的輸出使用前一個、當前和後一個輸入樣本。
傳遞函數:
H(f) = (e^{i2πf} + 1 + e^{−i2πf}) / 2 = (2cos(2πf) + 1) / 2 = cos(2πf) + 1/2
驗證:
- H(1/6) = cos(π/3) + 1/2 = 1/2 + 1/2 = 1 ✓
- H(1/3) = cos(2π/3) + 1/2 = −1/2 + 1/2 = 0 ✓
在其他頻率:H(0) = 1 + 1/2 = 3/2(以增益通過直流),H(1/2) = −1 + 1/2 = −1/2。
洞察:數位濾波器在軟體中實現的內容與模擬 RC 濾波器在硬體中實現的內容相同。係數的選擇分析控制頻率響應。
多個頻率下的傳遞函數
傳遞函數 H(f) = cos(2πf) + 1/2 在每個頻率都適用,不只是兩個設計點。
Gibbs 的發現
Hamming 講述了 Michelson——即 Michelson-Morley 實驗的 Michelson——建造了一台模擬機器來計算傅立葉級數至 75 項的故事。當他從其係數重建一個不連續函數時,機器在跳躍附近顯示持續的過衝。
Michelson 詢問當地數學家。他們責備設備。只有 Gibbs 傾聽。
吉布斯現象:當截斷至 N 項的傅立葉級數近似階躍不連續性時,該近似在跳躍高度的約 8.9% 處過衝——且當 N 增加時,此過衝不會減少。更多項會縮小過衝尖峰但永遠不會消除它。
數學上:N 項傅立葉級數在除不連續點外的任何地方都逐點收斂。在不連續點,部分和收斂到跳躍的中點,但部分和在跳躍附近的最大值接近 1.0895(對於單位高度階躍),而不是 1.0。
為什麼它對濾波器很重要
理想低通濾波器具有階躍函數傳遞函數:在 f < f_c 時 H(f) = 1,在 f > f_c 時 H(f) = 0。通帶與阻帶之間的不連續性意味著任何有限長濾波器(截斷傅立葉級數)在其頻率響應中表現出吉布斯紋波。
後果:截斷傅立葉級數設計單獨產生在通帶和阻帶中都約 9% 紋波的濾波器,無論使用多少係數。
吉布斯現象的含義
Hamming 使用此結果來推動窗函數:將理想傅立葉係數乘以平滑漸進窗可大幅降低吉布斯過衝。
Hamming 窗:w_k = 0.54 + 0.46·cos(πk/N)。此窗將吉布斯紋波降低至小於 0.2%。
權衡:窗口平滑過渡但擴寬過渡帶。更銳利的截止始終需要更多係數。