摘要:IIR濾波器是一種被廣泛應用的基本的數字信號處理部件。基于DSP信號處理的優越性,將Matlab與DSP相結合應用于IIR濾波器的設計。介紹了IIR數字濾波器的理論及其Matlab常用設計函數,并針對TI公司的TMS320VC5416 DSP,結合某高通濾波器的設計,給出了其Matlab仿真設計及在DSP上的實現過程及結果。該方法具有較強的實用性,對其它數字濾波器設計及DSP實現提供了參考價值。
關鍵詞:數字濾波器;IIR;Matlab;DSP
21世紀是數字化的時代,隨差模電感器著越來越多的電子產品將數字信號處理(DSP)作為技術核心,DSP已經成為推動數字化進程的動力。在數字信號處理中,數字濾波占有極其重要的地位。在經典濾波中,常用的數字濾波器有FIR濾波器和IIR濾波器,其中IIR數字濾波器因具有結構簡單、占用存儲空間少、運算速度快、較高的計算精度和能夠用較低的階數實現、較好的選頻特性等特點,得到了廣泛應用。
1 IIR數字濾波器的基本理論及設計方法
數字濾波器的功能是把輸入序列x(n)通過一定的運算變換成輸出序列y(n)。不同的運算處理方法決定了濾波器實現結構的不同。IIR數字濾波器的單位抽樣響應h(n)是無限長的,其差分方程如式(1)所示,是遞歸式的,即結構上存在著輸出信號到輸入信號的反饋。其系統函數如式(2)所示,因此在z平面的有限區間(0<|z|<∞)有極點存在。
目前,IIR數字濾波器設計最通用的方法是借助于模擬濾波器的設計方法。模擬濾波器設計已經有了一套相當成熟的方法,它不但有完整的設計公式,而且還有較為完整的圖表供查詢,因此,充分利用這些已有的資源將會給數字濾波器的設計帶來很大方便,IIR數字濾波器的設計步驟是:
1)按一定規則將給出的數字濾波器的技術指標轉換為模擬濾波器的技術指標;
2)根據轉換后的技術指標設計模擬低通濾波器H(s);
3)在按一定規則將H(s)轉換為H(z);
若所設計的數字濾波器是低通的,那么上述設計工作可以結束,若所設計的是高通、帶通或者帶阻濾波器,那么還有步驟4);
4)將高通、帶通或者帶阻數字濾波器的技術指標先轉化為低通濾波器的技術指標,然后按上述步驟2)設計出模擬低通濾波器H(s),再由沖擊響應不變法或雙線性變換將H(s)轉換為所需的H(z)。
工字電感
2 IIR數字濾波器的Matlab設計
Matlab信號工具箱提供了幾個直接設計IIR數字濾波器的函數,直接調用這些函數就可以很方便地對濾波器進行設計。用巴特沃斯法、切比雪夫I、切比雪夫Ⅱ、橢圓法設計數字濾波器的函數如下:
本文設計大電流電感一個三階的切比雪夫I型高通數字濾波器,其采樣頻率為1 200 Hz,截止頻率為200 Hz,通帶的最大衰減Rp為0.5 dB。輸入信號為100Hz和300Hz的合成信號,目的是通過所設計的濾波器將100 Hz的信號濾掉,余下300 Hz的信號成份,達到濾波的效果。高通濾波器仿真結果如圖1所示,用高通濾波器進行濾波仿真結果如圖2~4。從圖中可看出,IIR數字濾波器設計正確,達到預期效果。
在編寫匯編語言程序之前。首先確定濾波器的參數,從上面濾波器的設計中得出濾波電感生產器的參數如下:
Numemtor: 0.323557 -0.970672 0.970672 -0323557
Denominator耦合電感器:1.000000 -0.921478 0.642247 -0024733
若設計參數有大于1的的數據.這樣一個大于1的數據要直接用到DSP中,需要進行數據格式的浮點運算,這將增加編程的復雜度,而且會導致DSP運行程序速度的降低。一般情況下都不這樣使用,而是將數據做一定比例的壓縮后計算。例如將上面數據做8倍的壓縮(即將上面數據除以8),得到新的數據為:
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數字濾波器的實現 大功率電感廠家 |大電流電感工廠