特點
IIR濾波器有以下幾個特點:1.1、封閉函式
IIR數字濾波器的系統函式可以寫成封閉函式的形式。
1.2、IIR數字濾波器採用遞歸型結構
IIR數字濾波器採用遞歸型結構,即結構上帶有反饋環路。IIR濾波器運算結構通常由延時、乘以係數和相加等基本運算組成,可以組合成直接型、正準型、級聯型、並聯型四種結構形式,都具有反饋迴路。由於運算中的捨入處理,使誤差不斷累積,有時會產生微弱的寄生振盪。
1.3、藉助成熟的模擬濾波器的成果
IIR數字濾波器在設計上可以藉助成熟的模擬濾波器的成果,如巴特沃斯、契比雪夫和橢圓濾波器等,有現成的設計數據或圖表可查,其設計工作量比較小,對計算工具的要求不高。在設計一個IIR數字濾波器時,我們根據指標先寫出模擬濾波器的公式,然後通過一定的變換,將模擬濾波器的公式轉換成數字濾波器的公式。
1.4、需加想為校準網路
IIR數字濾波器的相位特性不好控制,對相位要求較高時,需加相位校準網路。
區別
2.1、單位回響
IIR數字濾波器單位回響為無限脈衝序列,而FIR數字濾波器單位回響為有限的;
FIR濾波器,也就是“非遞歸濾波器”,沒有引入反饋。這種濾波器的脈衝回響是有限的。
2.2、幅頻特性
IIR數字濾波器幅頻特性精度很高,不是線性相位的,可以套用於對相位信息不敏感的音頻信號上;FIR數字濾波器的幅頻特性精度較之於IIR數字濾波器低,但是線性相位,就是不同頻率分量的信號經過fir濾波器後他們的時間差不變,這是很好的性質。
2.3、實時信號處理
FIR數字濾波器是有限的單位回響也有利於對數位訊號的處理,便於編程,用於計算的時延也小,這對實時的信號處理很重要。
設計
利用MATLAB信號處理工具箱中的濾波器設計和分析工具(FDATool)可以很方便地設計出符合套用要求的未經量化的IIR數字濾波器。需要將MATLAB設計出的IIR數字濾波器進一步分解和量化,從而獲得可用FPGA實現的濾波器係數。3.1、IIR數字濾波器的設計步驟
由於採用了級聯結構,因此如何將濾波器的每一個極點和零點相組合,從而使得數字濾波器輸出所含的噪聲最小是個十分關鍵的問題。為了產生最優的量化後的IIR數字濾波器,採用如下步驟進行設計。
3.1.1、首先計算整體傳遞函式的零極點;
3.1.2、選取具有最大幅度的極點以及距離它最近的零點,使用它們組成一個二階基本節的傳遞函式;
3.1.3、對於剩下的極點和零點採用與3.2相類似的步驟,直至形成所有的二階基本節。
通過上面三步法進行的設計可以保證IIR數字濾波器中N位乘法器產生的量化捨入誤差最小。
3.2、獲得最優IIR數字濾波器係數
為了設計出可用FPGA實現的數字濾波器,需要對上一步分解獲得的二階基本節的濾波器係數進行量化,即用一個固定的字長加以表示。量化過程中由於存在不同程度的量化誤差,由此會導致濾波器的頻率回響出現偏差,嚴重時會使IIR濾波器的極點移到單位圓之外,系統因而失去穩定性。為了獲得最優的濾波器係數,採用以下步驟進行量化。
3.2.1、計算每個係數的絕對值;
3.2.2、查找出每個係數絕對值中的最大值;
3.2.3、計算比此絕對值大的最小整數;
3.2.4、對3.2.3的結果取反獲得負整數;
3.2.5、計算需要表示此整數的最小位數;
3.2.6、計算用於表示係數值分數部分的餘下位數。
除了係數存在量化誤差,數字濾波器運算過程中有限字長效應也會造成誤差,因此對濾波器中乘法器、加法器及暫存器的數據寬度要也進行合理的設計,以防止產生極限環現象和溢出振盪。
與FIR數字濾波器的設計不同,IIR濾波器設計時的階數不是由設計者指定,而是根據設計者輸入的各個濾波器參數(截止頻率、通帶濾紋、阻帶衰減等),由軟體設計出滿足這些參數的最低濾波器階數。在MATLAB下設計不同類型IIR濾波器均有與之對應的函式用於階數的選擇。