摘#8195;要 在MATLAB環(huán)境下,研究了幾種數(shù)字濾波器的實(shí)現(xiàn)方法,還根據(jù)目前較常用的數(shù)字濾波器設(shè)計(jì)方法,討論了IIR和FIR的基本設(shè)計(jì)方法,在IIR濾波器設(shè)計(jì)中,介紹了兩種數(shù)字濾波器設(shè)計(jì)方法。
關(guān)鍵詞 matlab;數(shù)字濾波器;幅頻特性
中圖分類號(hào) TM 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 1673-9671-(2012)031-0189-01
1 概述
我們對(duì)信號(hào)進(jìn)行處理的時(shí)候,根據(jù)實(shí)際需要,我們經(jīng)常要保留或者消除掉一些特別的頻率,或者說,濾波器是一種消除噪音或者雜質(zhì)的一種器件,特別是對(duì)輸入輸出信號(hào)進(jìn)行必要的除噪,發(fā)揮著關(guān)鍵的作用。
目前,可以通過兩種方法實(shí)現(xiàn)數(shù)字濾波器:通過編寫相關(guān)程序,利用計(jì)算機(jī)實(shí)現(xiàn)該程序,進(jìn)而實(shí)現(xiàn)濾波器的設(shè)計(jì)。第二種方法就是根據(jù)數(shù)字電路,設(shè)計(jì)專用的數(shù)字處理硬件,從而實(shí)現(xiàn)濾波功能。
1.1 數(shù)字濾波器的分類
和模擬濾波器一樣,數(shù)字濾波器按照通帶特性可以劃分為:低通、高通、帶通、帶阻等幾種線性形式。
從單位脈沖響應(yīng)的角度,可以把數(shù)字濾波器分為:IIR濾波器(無限長(zhǎng)單位沖激響應(yīng)濾波器)和FIR濾波器(有限長(zhǎng)單位沖激響應(yīng)濾波器)。它們的函分別為:
(1)
(2)
式(1)稱為N階IIR濾波器函數(shù),式(2)稱為(N-1)階FIR濾波器函數(shù)。
1.2 數(shù)字濾波器的設(shè)計(jì)要求和方法
根據(jù)在頻域分析及信號(hào)處理的要求,我們可以得到濾波器的指標(biāo)參數(shù)。數(shù)字濾波器的頻響特性函數(shù)H(e jw)一般為復(fù)函數(shù),表示為:
H(e jw)=|H(e jw)|e jθ(w) (3)
其中θ(w)為相頻特性函數(shù),其說明的是各頻率通過這個(gè)濾波器后信號(hào)時(shí)間上的延時(shí)。而幅頻特性是說明信號(hào)在通過這個(gè)濾波器后該信號(hào)的衰減,對(duì)于IIR數(shù)字濾波器,一般可以根據(jù)幅頻響應(yīng)函數(shù)來反映其濾波情況,其相頻特性只是輔助說明。FIR數(shù)字濾波器實(shí)現(xiàn)的則是線性相位特性的濾波器。
其中Wp和Ws表示為通帶邊界頻率;δ1和δ2說明的是通帶波紋和阻帶波紋;其衰減值要轉(zhuǎn)化成db形式,由圖所示該濾波器允許的最大衰減用為αp和αs來表示。
(4)
αs=-20 lg δ2 (5)
一般要求:
當(dāng)0≤|w|≤wp時(shí),-20 lg|H(e jw)|≤αp (6)
當(dāng)ws≤|w|≤π時(shí),αs≥-20 lg|H(e jw)| (7)
1.3 數(shù)字濾波器設(shè)計(jì)方法概述
每種數(shù)字濾波器的都有其設(shè)計(jì)方法,我們討論的IIR濾波器和FIR濾波器也是一樣,前者可以簽照模擬濾波器的設(shè)計(jì)方法,把首先根據(jù)濾波器本身的要求設(shè)計(jì)模擬濾波器,接著把其中的傳輸函數(shù)通過Z變化的方法轉(zhuǎn)換成數(shù)字濾波器的系統(tǒng)函數(shù),后者是直接在頻域或者時(shí)域中進(jìn)行設(shè)計(jì)的,直接調(diào)用MATLAB中的一些程序或者函數(shù)可以很方便地設(shè)計(jì)出所需要的濾波器。
2 基于MATLAB的數(shù)字濾波器設(shè)計(jì)
在MATLAB環(huán)境下分別用脈沖響應(yīng)不變法和沖激響應(yīng)不變法設(shè)計(jì)的數(shù)字濾波器設(shè)計(jì)示例:
已知模擬低通濾波器的系統(tǒng)函數(shù)為:
Ha(s)=1/(s2+3s+2) (8)
1)利用脈沖響應(yīng)不變法設(shè)計(jì),其中采樣周期T=1。
程序清單:
syms s ht hn hs hz hrad2 hrad1 rad; % 創(chuàng)建一系列變量
hs=1/(s*s+3*s+2); % 計(jì)算式(9)
T=1; % 周期為1
ht=ilaplace(hs); % 計(jì)算s的值
hn=subs(ht,n*T); % ht和n相乘
hz=ztrans(hn); % z變換
hrad1=subs(hs,i*rad); % 相乘計(jì)算
hrad2=subs(hz,exp(i*rad/T));
ezplot(abs(hrad1),[-4*pi,4*pi]); % 繪制圖像
hold on;
ezplot(abs(hrad2),[-4*pi,4*pi]);
grid on;
2)沖激響應(yīng)不變法設(shè)計(jì) 其中采樣周期T=1。
設(shè)計(jì)示例
程序清單:
syms k hs hz hrad0 hrad1 hrad2 rad0 rad1 sz s z ;
hs=1/(s*s+3*s+2);T=1;k=2/T;
sz=k*(1-1/z)/(1+1/z);
hz=subs(hs,sz);
hrad0=subs(hs,s,i*rad0);
hrad1=subs(hz,z,exp(i*rad1));
ezplot(abs(hrad1),[0,4*pi]);
hold on;
ezplot(abs(hrad0),[0,4*pi]);
grid on;
3 結(jié)論
不同的變換是通過保留模擬或數(shù)字濾波器的不同方面的特性得到的。如果我們想保留沖擊響應(yīng)的形狀,我們得到脈沖響應(yīng)不變法變換;如果我們想把一個(gè)差分等式的表達(dá)轉(zhuǎn)換成相應(yīng)的差分方程,我們得到有限差分逼近技術(shù)。此外,應(yīng)用最為廣泛的是“雙線性變換法”,其保留了模擬域裝換到數(shù)字域過程中的的系統(tǒng)函數(shù)。
參考文獻(xiàn)
[1]程佩青.數(shù)字信號(hào)處理教程.[M].清華大學(xué)出版社,2000.
[2]胡小鋒,趙輝.Visual C++/MATLAB圖像處理與識(shí)別實(shí)用案例精選[M].人民郵電出版社,2004.
[3]陳桂明,張照明.應(yīng)用MATLAB語言處理數(shù)字信號(hào)與數(shù)字圖像[M].科學(xué)出版社,2001.