《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模拟设计 > 设计应用 > 基于Maflab的IIR数字滤波器设计及DSP实现
基于Maflab的IIR数字滤波器设计及DSP实现
耶晓东 陕西理工学院
摘要: IIR滤波器是一种被广泛应用的基本的数字信号处理部件。基于DSP信号处理的优越性,将Matlab与DSP相结合应用于IIR滤波器的设计。介绍了IIR数字滤波器的理论及其Matlab常用设计函数,并针对TI公司的TMS320VC5416 DSP,结合某高通滤波器的设计,给出了其Matlab仿真设计及在DSP上的实现过程及结果。该方法具有较强的实用性,对其它数字滤波器设计及DSP实现提供了参考价值。
Abstract:
Key words :

    21世紀是數(shù)字化的時代,隨著越來越多的電子產(chǎn)品將數(shù)字信號處理(DSP)作為技術(shù)核心,DSP已經(jīng)成為推動數(shù)字化進程的動力。在數(shù)字信號處理中,數(shù)字濾波占有極其重要的地位。在經(jīng)典濾波中,常用的數(shù)字濾波器有FIR濾波器和IIR濾波器,其中IIR數(shù)字濾波器因具有結(jié)構(gòu)簡單、占用存儲空間少、運算速度快、較高的計算精度和能夠用較低的階數(shù)實現(xiàn)、較好的選頻特性等特點,得到了廣泛應(yīng)用。

1 IIR數(shù)字濾波器的基本理論及設(shè)計方法
    數(shù)字濾波器的功能是把輸入序列x(n)通過一定的運算變換成輸出序列y(n)。不同的運算處理方法決定了濾波器實現(xiàn)結(jié)構(gòu)的不同。IIR數(shù)字濾波器的單位抽樣響應(yīng)h(n)是無限長的,其差分方程如式(1)所示,是遞歸式的,即結(jié)構(gòu)上存在著輸出信號到輸入信號的反饋。其系統(tǒng)函數(shù)如式(2)所示,因此在z平面的有限區(qū)間(0<|z|<∞)有極點存在。
    a.JPG
    目前,IIR數(shù)字濾波器設(shè)計最通用的方法是借助于模擬濾波器的設(shè)計方法。模擬濾波器設(shè)計已經(jīng)有了一套相當成熟的方法,它不但有完整的設(shè)計公式,而且還有較為完整的圖表供查詢,因此,充分利用這些已有的資源將會給數(shù)字濾波器的設(shè)計帶來很大方便,IIR數(shù)字濾波器的設(shè)計步驟是:
    1)按一定規(guī)則將給出的數(shù)字濾波器的技術(shù)指標轉(zhuǎn)換為模擬濾波器的技術(shù)指標;
    2)根據(jù)轉(zhuǎn)換后的技術(shù)指標設(shè)計模擬低通濾波器H(s);
    3)在按一定規(guī)則將H(s)轉(zhuǎn)換為H(z);
    若所設(shè)計的數(shù)字濾波器是低通的,那么上述設(shè)計工作可以結(jié)束,若所設(shè)計的是高通、帶通或者帶阻濾波器,那么還有步驟4);
    4)將高通、帶通或者帶阻數(shù)字濾波器的技術(shù)指標先轉(zhuǎn)化為低通濾波器的技術(shù)指標,然后按上述步驟2)設(shè)計出模擬低通濾波器H(s),再由沖擊響應(yīng)不變法或雙線性變換將H(s)轉(zhuǎn)換為所需的H(z)。

2 IIR數(shù)字濾波器的Matlab設(shè)計
    Matlab信號工具箱提供了幾個直接設(shè)計IIR數(shù)字濾波器的函數(shù),直接調(diào)用這些函數(shù)就可以很方便地對濾波器進行設(shè)計。用巴特沃斯法、切比雪夫I、切比雪夫Ⅱ、橢圓法設(shè)計數(shù)字濾波器的函數(shù)如下:
b.JPG
    本文設(shè)計一個三階的切比雪夫I型高通數(shù)字濾波器,其采樣頻率為1 200 Hz,截止頻率為200 Hz,通帶的最大衰減Rp為0.5 dB。輸入信號為100Hz和300Hz的合成信號,目的是通過所設(shè)計的濾波器將100 Hz的信號濾掉,余下300 Hz的信號成份,達到濾波的效果。高通濾波器仿真結(jié)果如圖1所示,用高通濾波器進行濾波仿真結(jié)果如圖2~4。從圖中可看出,IIR數(shù)字濾波器設(shè)計正確,達到預(yù)期效果。

c.JPG

d.JPG


    在編寫匯編語言程序之前。首先確定濾波器的參數(shù),從上面濾波器的設(shè)計中得出濾波器的參數(shù)如下:
    Numemtor:   0.323557 -0.970672 0.970672  -0323557
    Denominator:1.000000 -0.921478 0.642247  -0024733
    若設(shè)計參數(shù)有大于1的的數(shù)據(jù).這樣一個大于1的數(shù)據(jù)要直接用到DSP中,需要進行數(shù)據(jù)格式的浮點運算,這將增加編程的復(fù)雜度,而且會導(dǎo)致DSP運行程序速度的降低。一般情況下都不這樣使用,而是將數(shù)據(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ù)字濾波器的實現(xiàn)
    TMS320VC5416是TI公司生產(chǎn)的新一代16位定點的數(shù)字信號處理器。在TMS320VC5416 DSP上實現(xiàn)IIR數(shù)字濾波器編程時,分別開辟4個緩沖區(qū)、存放輸入、輸出變量和濾波器系數(shù),并將Matlab設(shè)計濾波器的系數(shù)A、B存入濾波器的緩沖區(qū)。并在TMS320VC5416 DSP上成功實現(xiàn)了IIR濾波,實驗仿真結(jié)果如圖5~圖8所示,在TMS320VC5416DSP上輸入100 Hz和300 Hz的混合信號,通過所設(shè)計的IIR數(shù)字濾波器達到濾波效果。通過實驗結(jié)果表明IIR濾波器準確度高、穩(wěn)定性好,設(shè)計結(jié)果滿足性能指標要求。

e.JPG      f.JPG



4 結(jié)束語
    本文首先介紹了IIR數(shù)字濾波器的理論及其Matlab常用設(shè)計函數(shù),并針對TI公司的TMS320VC5416 DSP,結(jié)合一個高通濾波器的設(shè)計,敘述了其Matlab仿真設(shè)計及在DSP上的實現(xiàn)過程及結(jié)果。根據(jù)其實現(xiàn)思路,可以很方便設(shè)計出符合要求的濾波器。該該方法具有很強的實用性,對其他數(shù)字濾波器設(shè)計及DSP實現(xiàn)也有很好的參考價值。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。

相關(guān)內(nèi)容