1.IIR濾波器的原理
1.1 概述
《數(shù)字信號(hào)處理》作為一門(mén)通信、電子、信息等本科專(zhuān)業(yè)基礎(chǔ)課程,在《信號(hào)與系統(tǒng)》課程的基礎(chǔ)上,學(xué)習(xí)離散信號(hào)與離散時(shí)間系統(tǒng),尤其是離散傅里葉變換(DFT)和快速傅里葉變換(FFT)、數(shù)字濾波器、多速率信號(hào)處理等在通信、雷達(dá)等領(lǐng)域得到廣泛應(yīng)用。
無(wú)限脈沖相應(yīng)(Infinite Impulse Response ,IIR)濾波器與(Finite Impulse Response ,F(xiàn)IR)濾波器構(gòu)成了兩種常用的數(shù)字濾波器,這兩者既有聯(lián)系,也有區(qū)別。
首先,IIR濾波器具有很高的濾波效率,在相同幅頻響應(yīng)條件下,所需的濾波器階數(shù)明顯比FIR濾波器低。其次,IIR濾波器的設(shè)計(jì),可以借鑒模擬濾波器的設(shè)計(jì)成果。此外,IIR濾波器可以用較少的硬件資源(主要是乘加運(yùn)算的DSP資源)獲得較好的濾波器幅頻特性。
需要注意的是,IIR濾波器的一個(gè)顯著特點(diǎn)是不具備嚴(yán)格的線(xiàn)性相位特性,相對(duì)于FIR濾波器而言應(yīng)用范圍較窄,只有在不需要嚴(yán)格線(xiàn)性相位特性的情況下,可以利用IIR濾波器實(shí)現(xiàn)數(shù)字濾波。
數(shù)字濾波器通常由一個(gè)系統(tǒng)函數(shù)、差分方程、方框圖或流圖來(lái)表示:
其基本運(yùn)算單元、方框圖及流圖為:
例如給定一個(gè)二階濾波器:,則其方框圖結(jié)構(gòu)與流圖結(jié)構(gòu)如下圖所示。
在流圖結(jié)構(gòu)中,我們還需要弄清楚以下幾個(gè)基本概念:
節(jié)點(diǎn):
源節(jié)點(diǎn):只有輸出、沒(méi)有輸入的的節(jié)點(diǎn)
阱節(jié)點(diǎn)(輸出節(jié)點(diǎn)):只有輸入支路而沒(méi)有輸出支路,它一般代表系統(tǒng)的輸出變量,故也稱(chēng)為輸出節(jié)點(diǎn)。
網(wǎng)絡(luò)節(jié)點(diǎn):分支節(jié)點(diǎn)或加法器
支路:只有一個(gè)輸入,由一個(gè)或多個(gè)輸出的節(jié)點(diǎn)
節(jié)點(diǎn)的值=所有輸入支路的值之和
支路的值=支路起點(diǎn)處的節(jié)點(diǎn)值×傳輸系數(shù)
知乎話(huà)題:如何通俗易懂地理解FIR/IIR濾波器?
1.2IIR濾波器的原理及特性
LLR濾波器具有以下結(jié)構(gòu)及特點(diǎn):
IIR濾波器的特點(diǎn):
系統(tǒng)的單位抽樣相應(yīng)h(n)無(wú)限長(zhǎng)理解:由于本步驟的輸出會(huì)作為下一步驟的輸入,無(wú)限遞歸下去,所以一個(gè)時(shí)刻的影響就是無(wú)限的,也就是“無(wú)限沖激響應(yīng)”。
系統(tǒng)函數(shù)H(z)在有限z平面( 0<|z|<∞)上有極點(diǎn)存在LSI系統(tǒng)因果穩(wěn)定性:一個(gè)LSI系統(tǒng)是因果穩(wěn)定系統(tǒng)的必要與充分條件是系統(tǒng)函數(shù)H(z)必須是在從單位圓|z|=1到|z|<∞的整個(gè)z平面內(nèi)(0≤|z|≤∞)收斂。即:系統(tǒng)函數(shù)H(z)的全部極點(diǎn)必須在Z平面的單位圓以?xún)?nèi)。
存在輸出到輸入的反饋,遞歸型結(jié)構(gòu)在物理世界的時(shí)間系統(tǒng)中,因環(huán)境噪聲等不可控因素,IIR濾波器將可能導(dǎo)致所設(shè)計(jì)系統(tǒng)不穩(wěn)定,反復(fù)遞歸振蕩。
如果只有不為0,其他,則稱(chēng)為全極點(diǎn)型的IIR濾波器或自回歸(AR)系統(tǒng),如果由兩個(gè)或多個(gè),則稱(chēng)為零-極點(diǎn)型的IIR濾波器或自回歸滑動(dòng)平均(ARMA)系統(tǒng)。
IIR濾波器結(jié)構(gòu):直接I型、直接II型、級(jí)聯(lián)型、并聯(lián)型和格型結(jié)構(gòu)。
單位沖擊相應(yīng)h(n)為實(shí)數(shù)。
1.3 IIR濾波器的結(jié)構(gòu)
1.3.1 直接I型
對(duì)于差分方程:如果先實(shí)現(xiàn)各的加權(quán)和,再實(shí)現(xiàn)各的加權(quán)和,則稱(chēng)之為直接I型。
1.3.2直接II型
將直接I型結(jié)構(gòu)的兩個(gè)延時(shí)鏈子系統(tǒng)的次序進(jìn)行交換,并將有相同輸出的中間兩延時(shí)鏈加以合并,即可得到直接II型結(jié)構(gòu)(典范型結(jié)構(gòu))。
直接型的共同缺點(diǎn)
對(duì)于高階濾波器,系數(shù)a_k和b_k分別對(duì)濾波器的極點(diǎn)與零點(diǎn)的控制作用不明顯,即對(duì)頻率響應(yīng)的控制作用不明顯,因而調(diào)整頻率響應(yīng)比較困難。
極點(diǎn)對(duì)系數(shù)的變化過(guò)于靈敏,易出現(xiàn)不穩(wěn)定或較大誤差
運(yùn)算的累積誤差較大:乘法運(yùn)算的量化誤差,造成系統(tǒng)輸出端噪聲功率大
1.3.3 級(jí)聯(lián)型
?
?
?
1.3.4并聯(lián)型
?
?
?
2.IIR濾波器的設(shè)計(jì)方法
程佩青《數(shù)字信號(hào)處理教程》(第四版簡(jiǎn)明版)第6章總結(jié)的IIR濾波器設(shè)計(jì)方法
?
?
?
?
?
?
?
?
?
?
顯然,在數(shù)字化時(shí)代,利用MATLAB、FPGA、DSP等軟硬件來(lái)設(shè)計(jì)濾波器,才能應(yīng)用到產(chǎn)品中!
3.IIR濾波器的MATLAB設(shè)計(jì)
MATLAB軟件提供了豐富的濾波器設(shè)計(jì)方法,例如Signal Processing Toolbox提供了FIR、IIR、單速率和多速率濾波器設(shè)計(jì)、分析和實(shí)現(xiàn)的案例,可以用于設(shè)計(jì)參考。
?
?
除了函數(shù),我們也可以利用filterDesigner設(shè)計(jì)。命令行鍵入filterDesigner ,回車(chē)。
進(jìn)入濾波器設(shè)計(jì)界面,設(shè)計(jì)一個(gè)IIR濾波器。
在界面的左側(cè),顯示當(dāng)前濾波器信息。“響應(yīng)類(lèi)型”用于指定濾波器的作用。“設(shè)計(jì)方法”包含IIR和FIR,用于指定濾波器的類(lèi)型。設(shè)置濾波器的階數(shù),設(shè)定頻率的單位可以采用歸一化或Hz、kHz、MHz等。參數(shù)設(shè)置完畢,點(diǎn)擊“設(shè)計(jì)濾波器”,可通過(guò)工具欄查看所設(shè)計(jì)濾波器的幅值響應(yīng)、相位響應(yīng)、群延遲響應(yīng)、零極點(diǎn)圖等。并可在左上角查看當(dāng)前濾波器信息。
設(shè)計(jì)確定后,可對(duì)濾波器系數(shù)進(jìn)行量化。設(shè)置量化參數(shù),濾波器算法選擇“定點(diǎn)”,系數(shù)字長(zhǎng)設(shè)為16。
需要注意的是,在生成.coe文件時(shí),需要滿(mǎn)足定點(diǎn)、單節(jié)和直接型的FIR,才能支持Xilinx FPGA所需的.coe文件。我們也可以將所設(shè)計(jì)濾波器導(dǎo)出生成.m文件,以供應(yīng)用。
此外,我們可以應(yīng)用designfilt設(shè)計(jì)濾波器,再用filter對(duì)數(shù)據(jù)進(jìn)行濾波。
?
例如,設(shè)計(jì)一個(gè)低通IIR濾波器。
?
4.IIR濾波器的FPGA實(shí)現(xiàn)
IIR濾波器的FPGA實(shí)現(xiàn)比較復(fù)雜,需要應(yīng)用到除法器。在利用FPGA實(shí)現(xiàn)IIRA濾波器前,我們需要將MATLAB設(shè)計(jì)的IIR濾波器滿(mǎn)足設(shè)計(jì)需求后,將系數(shù)進(jìn)行量化。
示例:采用cheby2函數(shù)設(shè)計(jì)一個(gè)階數(shù)為7(級(jí)數(shù)為8)的帶通濾波器,采樣頻率為2000Hz、截至頻率為500Hz、阻帶衰減為60dB,設(shè)計(jì)一個(gè)IIR濾波器。
c=fvtool(b,a),將濾波器可視化。
為方便FPGA實(shí)現(xiàn),我們需要將系數(shù)進(jìn)行量化定點(diǎn)。對(duì)于IIR濾波器的FPGA設(shè)計(jì),可以參考杜勇的《數(shù)字濾波器的MATLAB與FPGA實(shí)現(xiàn)》第5章。在實(shí)際應(yīng)用中,很少用IIR濾波器去做設(shè)計(jì),而是更多的應(yīng)用FIR濾波器設(shè)計(jì)。
最后,我們需要將處理結(jié)果進(jìn)行對(duì)比,確保設(shè)計(jì)一致。
審核編輯:黃飛
?
評(píng)論
查看更多