FIR濾波器與IIR濾波器的差異:計算形式、穩定性、相位、階數、運算量比較
兩者都是在數位訊號處理中調整頻率特性的濾波器,差別在於計算時是否使用過去的輸出。FIR濾波器(有限脈衝響應濾波器)只是將目前與過去的輸入乘上係數後相加,脈衝響應在抽頭數的長度內結束。IIR濾波器(無限脈衝響應濾波器)也會把過去的輸出回授到輸入側計算,因此脈衝響應在理論上會一直持續。FIR濾波器一定穩定,係數左右對稱時即可成為線性相位,但要得到陡峭的特性需要很多抽頭。IIR濾波器以較低的階數就能得到陡峭的特性,但相位不是線性的,且視極點位置可能變得不穩定。
| 項目 | FIR濾波器 | IIR濾波器 |
|---|---|---|
| 計算形式與脈衝響應 | y[n] = Σh[k]x[n − k]。只有輸入的加權和,脈衝響應在N個抽頭後結束 | y[n] = Σb[k]x[n − k] − Σa[k]y[n − k]。也使用過去的輸出(回授),脈衝響應一面衰減一面持續 |
| 轉移函數H(z)與穩定性 | 沒有分母,極點只在z = 0。不論係數為何都一定穩定 | 有分母。只有所有極點都在單位圓內側時才穩定 |
| 相位特性 | 係數左右對稱時為線性相位。群延遲與頻率無關,為(N − 1)/2個取樣 | 不會是線性相位。群延遲隨頻率改變,在截止頻率附近變大 |
| 相同規格所需的階數(例) | fs = 48 kHz、通帶邊緣4 kHz、止帶邊緣5 kHz、衰減60 dB、通帶漣波0.5 dB的低通濾波器,以等漣波設計約需110個抽頭 | 相同條件的橢圓濾波器只需7階(4段二階區段) |
| 運算量(每個輸出取樣) | 與抽頭數相同次數的乘積累加。上例約110次(利用係數的對稱性,乘法約減半) | 每段二階區段約5次乘法。上例約20次 |
| 延遲 | 固定為(N − 1)/2個取樣。上例約56個取樣(約1.2 ms) | 隨頻率改變。上例在低頻約9個取樣,在通帶邊緣約75個取樣 |
| 係數量化(定點數) | 頻率特性會稍微改變,但不會失去穩定性 | 直接實作高階的式子時,極點可能移動而變得不穩定。以二階區段(biquad)串接實作 |
| 主要設計方法 | 窗函數法、等漣波(Parks-McClellan)法 | 將類比濾波器(巴特沃斯、柴比雪夫、橢圓等)的轉移函數做雙線性轉換 |
| 主要用途 | 需要保持波形形狀的通訊與量測、語音與影像處理、降取樣與內插的濾波器、適應性濾波器 | 想節省運算量與記憶體的嵌入式設備、音響等化器、去除直流成分與指數平滑 |
數值為具代表性的大致參考值,會因世代或產品而異。