基于Maflab的IIR數(shù)字濾波器設(shè)計(jì)及DSP實(shí)現(xiàn)
掃描二維碼
隨時隨地手機(jī)看文章
摘要:IIR濾波器是一種被廣泛應(yīng)用的基本的數(shù)字信號處理部件?;贒SP信號處理的優(yōu)越性,將Matlab與DSP相結(jié)合應(yīng)用于IIR濾波器的設(shè)計(jì)。介紹了IIR數(shù)字濾波器的理論及其Matlab常用設(shè)計(jì)函數(shù),并針對TI公司的TMS320VC5416 DSP,結(jié)合某高通濾波器的設(shè)計(jì),給出了其Matlab仿真設(shè)計(jì)及在DSP上的實(shí)現(xiàn)過程及結(jié)果。該方法具有較強(qiáng)的實(shí)用性,對其它數(shù)字濾波器設(shè)計(jì)及DSP實(shí)現(xiàn)提供了參考價值。
關(guān)鍵詞:數(shù)字濾波器;IIR;Matlab;DSP
21世紀(jì)是數(shù)字化的時代,隨著越來越多的電子產(chǎn)品將數(shù)字信號處理(DSP)作為技術(shù)核心,DSP已經(jīng)成為推動數(shù)字化進(jìn)程的動力。在數(shù)字信號處理中,數(shù)字濾波占有極其重要的地位。在經(jīng)典濾波中,常用的數(shù)字濾波器有FIR濾波器和IIR濾波器,其中IIR數(shù)字濾波器因具有結(jié)構(gòu)簡單、占用存儲空間少、運(yùn)算速度快、較高的計(jì)算精度和能夠用較低的階數(shù)實(shí)現(xiàn)、較好的選頻特性等特點(diǎn),得到了廣泛應(yīng)用。
1 IIR數(shù)字濾波器的基本理論及設(shè)計(jì)方法
數(shù)字濾波器的功能是把輸入序列x(n)通過一定的運(yùn)算變換成輸出序列y(n)。不同的運(yùn)算處理方法決定了濾波器實(shí)現(xiàn)結(jié)構(gòu)的不同。IIR數(shù)字濾波器的單位抽樣響應(yīng)h(n)是無限長的,其差分方程如式(1)所示,是遞歸式的,即結(jié)構(gòu)上存在著輸出信號到輸入信號的反饋。其系統(tǒng)函數(shù)如式(2)所示,因此在z平面的有限區(qū)間(0<|z|<∞)有極點(diǎn)存在。
目前,IIR數(shù)字濾波器設(shè)計(jì)最通用的方法是借助于模擬濾波器的設(shè)計(jì)方法。模擬濾波器設(shè)計(jì)已經(jīng)有了一套相當(dāng)成熟的方法,它不但有完整的設(shè)計(jì)公式,而且還有較為完整的圖表供查詢,因此,充分利用這些已有的資源將會給數(shù)字濾波器的設(shè)計(jì)帶來很大方便,IIR數(shù)字濾波器的設(shè)計(jì)步驟是:
1)按一定規(guī)則將給出的數(shù)字濾波器的技術(shù)指標(biāo)轉(zhuǎn)換為模擬濾波器的技術(shù)指標(biāo);
2)根據(jù)轉(zhuǎn)換后的技術(shù)指標(biāo)設(shè)計(jì)模擬低通濾波器H(s);
3)在按一定規(guī)則將H(s)轉(zhuǎn)換為H(z);
若所設(shè)計(jì)的數(shù)字濾波器是低通的,那么上述設(shè)計(jì)工作可以結(jié)束,若所設(shè)計(jì)的是高通、帶通或者帶阻濾波器,那么還有步驟4);
4)將高通、帶通或者帶阻數(shù)字濾波器的技術(shù)指標(biāo)先轉(zhuǎn)化為低通濾波器的技術(shù)指標(biāo),然后按上述步驟2)設(shè)計(jì)出模擬低通濾波器H(s),再由沖擊響應(yīng)不變法或雙線性變換將H(s)轉(zhuǎn)換為所需的H(z)。
2 IIR數(shù)字濾波器的Matlab設(shè)計(jì)
Matlab信號工具箱提供了幾個直接設(shè)計(jì)IIR數(shù)字濾波器的函數(shù),直接調(diào)用這些函數(shù)就可以很方便地對濾波器進(jìn)行設(shè)計(jì)。用巴特沃斯法、切比雪夫I、切比雪夫Ⅱ、橢圓法設(shè)計(jì)數(shù)字濾波器的函數(shù)如下:
本文設(shè)計(jì)一個三階的切比雪夫I型高通數(shù)字濾波器,其采樣頻率為1 200 Hz,截止頻率為200 Hz,通帶的最大衰減Rp為0.5 dB。輸入信號為100Hz和300Hz的合成信號,目的是通過所設(shè)計(jì)的濾波器將100 Hz的信號濾掉,余下300 Hz的信號成份,達(dá)到濾波的效果。高通濾波器仿真結(jié)果如圖1所示,用高通濾波器進(jìn)行濾波仿真結(jié)果如圖2~4。從圖中可看出,IIR數(shù)字濾波器設(shè)計(jì)正確,達(dá)到預(yù)期效果。
在編寫匯編語言程序之前。首先確定濾波器的參數(shù),從上面濾波器的設(shè)計(jì)中得出濾波器的參數(shù)如下:
Numemtor: 0.323557 -0.970672 0.970672 -0323557
Denominator:1.000000 -0.921478 0.642247 -0024733
若設(shè)計(jì)參數(shù)有大于1的的數(shù)據(jù).這樣一個大于1的數(shù)據(jù)要直接用到DSP中,需要進(jìn)行數(shù)據(jù)格式的浮點(diǎn)運(yùn)算,這將增加編程的復(fù)雜度,而且會導(dǎo)致DSP運(yùn)行程序速度的降低。一般情況下都不這樣使用,而是將數(shù)據(jù)做一定比例的壓縮后計(jì)算。例如將上面數(shù)據(jù)做8倍的壓縮(即將上面數(shù)據(jù)除以8),得到新的數(shù)據(jù)為:
Numerator: 0.040 45 -0.121 334 0.121 334 -0.040 45
Denominator:1.000 000 -0.115 185 0.080 28 -0.003 092
3 IIR數(shù)字濾波器的實(shí)現(xiàn)
TMS320VC5416是TI公司生產(chǎn)的新一代16位定點(diǎn)的數(shù)字信號處理器。在TMS320VC5416 DSP上實(shí)現(xiàn)IIR數(shù)字濾波器編程時,分別開辟4個緩沖區(qū)、存放輸入、輸出變量和濾波器系數(shù),并將Matlab設(shè)計(jì)濾波器的系數(shù)A、B存入濾波器的緩沖區(qū)。并在TMS320VC5416 DSP上成功實(shí)現(xiàn)了IIR濾波,實(shí)驗(yàn)仿真結(jié)果如圖5~圖8所示,在TMS320VC5416DSP上輸入100 Hz和300 Hz的混合信號,通過所設(shè)計(jì)的IIR數(shù)字濾波器達(dá)到濾波效果。通過實(shí)驗(yàn)結(jié)果表明IIR濾波器準(zhǔn)確度高、穩(wěn)定性好,設(shè)計(jì)結(jié)果滿足性能指標(biāo)要求。
4 結(jié)束語
本文首先介紹了IIR數(shù)字濾波器的理論及其Matlab常用設(shè)計(jì)函數(shù),并針對TI公司的TMS320VC5416 DSP,結(jié)合一個高通濾波器的設(shè)計(jì),敘述了其Matlab仿真設(shè)計(jì)及在DSP上的實(shí)現(xiàn)過程及結(jié)果。根據(jù)其實(shí)現(xiàn)思路,可以很方便設(shè)計(jì)出符合要求的濾波器。該該方法具有很強(qiáng)的實(shí)用性,對其他數(shù)字濾波器設(shè)計(jì)及DSP實(shí)現(xiàn)也有很好的參考價值。