貴州師范大學物理與電子科學學院 蔣淵淵 張 旺
基于MATLAB的IIR數字濾波器的設計及DSP實現
貴州師范大學物理與電子科學學院 蔣淵淵 張 旺
【摘要】在實際含噪的情況下對信號進行處理的時候,難免會將噪聲等信號混入原始信號,這就要對信號進行濾波[1]。而濾波可以通過濾波器實現,將原始信號通過特定的濾波器(高通,低通,帶通,帶阻)把不必要的信息濾除,保留有用信息。可見,濾波器在信號處理中有著舉足輕重的作用。濾波器主要分為數字濾波器和模擬濾波器兩種,本文所做的工作是基于MATLAB的無限長單位沖激響應(iir)數字濾波器的設計,以及利用dsp試驗箱來驗證所設計的iir數字濾波器的可行性。
【關鍵詞】信號處理;濾波;MATLAB;iir數字濾波器
IIR數字濾波器又有兩種設計方法[2]:I.利用模擬濾波器進行設計。這種方法可以利用模擬濾波器現有的資源(巴特沃斯,橢圓,契比雪夫等模型),先將模擬濾波器設計出來,然后再根據預定的指標將其轉換成滿足要求的數字濾波器。II.最優化設計法。這種方法中主要有兩種最優化法則:均方誤差最小準則和最大誤差最小化準則。無論是哪種設計的方法,設計的本質就是找到h(n)或者系統函數的分子分母所對應的系數。
本文利用利用MATLAB壞境中的fdatool工具以及模擬濾波器中的橢圓模型,根據所給的任務要求找到滿足要求的性能指標,從而找到分子分母的系數,,將其進行量化轉換為CCS環境下的系數,再利用DSP實驗箱以及CCS軟件進行驗證所設計的低通濾波器。

圖1 低通濾波器
通過濾波器的設計,可以得到一組系統函數的分子分母的系數,經量化轉換成CCS環境下的數據后得:
N=4;
b=[32767 8844 32767; 32767 -32768 32767]
a=[32767-32768 20599; 32767 -32768 28948]
連接DSP實驗箱,在CCS軟件環境下進行實現iir數字濾波器的設計。在CCS中新建工程文件,將編好的程序文件添加到工程文件中,然后把fdatool中設計到的系統函數的分子分母的系數存儲到對應的文件中,編譯并下載。
為了方便觀察,顯示出實際波形,通過在view中設置輸入輸出窗口,修改相對應的開始地址以及dsp實驗箱的數據類型(16位有符號整型)。然后設置斷點和探針點。最終的結果如圖2(a)(b)所示。

圖2(a) 輸入

圖2(b) 輸出
IIR數字濾波器因其結構簡單,內存占用小,有較快的運算速度等特點被廣泛使用[3]。本文通過MATLAB對低通數字濾波器的設計以及利用DSP實驗箱進行了驗證,設計了低通的iir數字濾波器,從圖2(a)的輸入到圖2(b)的輸出,很清楚的能夠看到將不滿足要求的信號f2和f3都濾除掉,得到想要的信號f1,滿足了設計要求。以低通數字濾波器為例,用類似的方法,還可以設計得到高通,帶通,帶阻的iir數字濾波器。這種設計方法可以很方便的設計出符合要求的濾波器,具有很強的實用性。
參考文獻
[1]張萍.基于DSP的IIR低通數字濾波器的設計與實現[J].江南大學學報,2014,13(1)∶67-71.
[2]嚴慧,于繼明.基于MATLAB的IIR數字濾波器設計[J].軟件導刊,2013,12(1).110-113.
[3]楊達亮,王巨豐.基于DSP的IIR數字濾波器的設計與實現[J].電子技術應用,2002(11)∶116-117.
[4]葛哲學.精通MATLAB[M].北京∶國防工業出版社,2008.
[5]程佩青.數字信號處理教程[M].清華大學出版社(第4版).