《基于切比雪夫濾波器設(shè)計及matlab仿真》由會員分享,可在線閱讀,更多相關(guān)《基于切比雪夫濾波器設(shè)計及matlab仿真(13頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、
基于MATLAB切比雪夫I型濾波器設(shè)計
摘 要 在現(xiàn)代通信系統(tǒng)中,由于信號中經(jīng)常混有各種復(fù)雜成分,所以很多信號的處理和分析都是基于濾波器而進行的。而濾波器的種類很多,從功能上可將濾波器分為低、帶、高、帶阻類型。從實現(xiàn)方法上可分為FIR、IIR類型 。從設(shè)計方法上可分為Chebyshev(切比雪夫),Butterworth(巴特沃茲)。而本次課程設(shè)計上要用到的切比雪夫濾波器是在通帶或阻帶上頻率響應(yīng)幅度等波紋波動的濾波器。在通帶波動的為“I型切比雪夫濾波器”,在阻帶波動的為“II型切比雪夫濾波器”。
關(guān)鍵詞 模擬;低通濾波器;IIR;
1 引 言
IIR濾波器設(shè)
2、計技術(shù)依靠現(xiàn)有的模擬濾波器得到數(shù)字濾波器,工程實際當(dāng)中把這些模擬濾波器叫做濾波器原型。在工程實際中應(yīng)用最廣泛的有兩種模擬濾波器,即巴特沃斯濾波器和切比雪夫濾波器。本次課程設(shè)計就討論切比雪夫濾波器的特性以及用MATLAB實現(xiàn)的方法。
1. 1課程設(shè)計目的
本課程設(shè)計主要是使學(xué)生增進對MATLAB的認識,加深對數(shù)字信號處理理論方面的理解,使學(xué)生了解數(shù)字信號處理IIR濾波器的設(shè)計和掌握用MATLAB實現(xiàn)IIR濾波器的設(shè)計方法、過程,為以后的工程設(shè)計打下良好基礎(chǔ)。
1.2 課程設(shè)計要求
設(shè)計程序時,應(yīng)以理論作為指導(dǎo),構(gòu)思設(shè)計方案;設(shè)計完成后應(yīng)進行調(diào)試,仿真和分析;處理結(jié)果和分析結(jié)論應(yīng)該
3、一致,而且應(yīng)符合理論;獨立完成課程設(shè)計并按要求編寫課程設(shè)計報告書。
1.3 課程設(shè)計內(nèi)容
進一步學(xué)習(xí)低通濾波器的原理,在通信系統(tǒng)仿真軟件MATLAB平臺上,設(shè)計出IIR模擬低通濾波器,對設(shè)計項目進行調(diào)試,對程序進行仿真,對結(jié)果結(jié)合理論進行分析。
2 IIR濾波器預(yù)備知識
2.1 濾波器介紹
IIR濾波器具有無限長脈沖響應(yīng),因此能夠與模擬濾波器相匹敵;一般來說,所有的模擬濾波器都有無限長脈沖響應(yīng)。因此,IIR濾波器設(shè)計的基本方法是利用復(fù)值映射將大家熟知的模擬濾波器變換為數(shù)字濾波器。這一方法的優(yōu)勢在于各種模擬濾波器設(shè)計(AFD)表格和映射在文獻中普遍能夠獲得。這個基本方法也稱為
4、A/D(模擬-數(shù)字)濾波器變換。然而,AFD表格僅對低通濾波器適用,而同時也想要設(shè)計其他頻率選擇濾性波器。為此,需要對低通濾波器實行頻帶變換,這些變換也是復(fù)值映射,在各種文獻中也能得到。這種IIR濾波器設(shè)計的基本方法存在兩種主要途徑。途徑一:1.設(shè)計模擬低通濾波器,2.實行頻帶變換,3.實行濾波器變換。途徑二:1.設(shè)計模擬低通濾波器,2.實行濾波器變換,3.實行頻帶變換。
模擬濾波器的設(shè)計指標(biāo)以及在模擬濾波器的技術(shù)要求中所用到的幅度平方響應(yīng),這將導(dǎo)致三種廣泛采用的模擬濾波器特性,即巴特沃茲(Butterworth),切比雪夫(Chebyshev)和橢圓(Elliptic)濾波器。然后
5、再將這些原型模擬濾波器轉(zhuǎn)換到不同的頻率選擇性數(shù)字濾波器。
2.2 相對線性標(biāo)尺
設(shè)是某個模擬濾波器的頻率響應(yīng),那么低通濾波器在幅度平方響應(yīng)上的技術(shù)指標(biāo)給出為:
,||
,
式中是通帶波紋參數(shù),是通帶截止頻率一rad/s(弧度/秒)計,A是阻帶衰減參數(shù),以及是阻帶截止頻率以rad/s計。這些參數(shù)如圖2.1所示。
圖2.1 模擬低通濾波器技術(shù)指標(biāo)要求
由圖可見,必須滿足
,
,
參數(shù)和A是分別與以dB計的參數(shù)和有關(guān)的,這些關(guān)系是
(2-1)
(2-2)
波紋和的絕對標(biāo)尺是通過下式與和
6、A有關(guān)的:
3 切比雪夫I型濾波器
3.1 切比雪夫濾波器參數(shù)
切比雪夫I型濾波器的振幅平方函數(shù)為:
式中為有效帶通截止頻率,是與帶通波紋有關(guān)的參量,大,波紋大,0<<1; 為N階切比雪夫多項式。
有關(guān)參數(shù)的確定:
(1)預(yù)先給定帶通截止頻率;
(2)確定。
通帶波紋表示成:
所以
給定通帶波紋值分貝數(shù)后,可求得。
(3)由阻帶的邊界條件確定階數(shù)N.
設(shè),為事先給定的邊界條件,即在阻帶中的頻率點處,要求濾波器頻響衰減達到以上。
即 ,
由此得
因此,
, =
因此,要求阻帶邊界頻率出衰減越大,也越大。參數(shù),,給定
7、后,查閱有關(guān)模擬濾波器手冊,就可以求得系統(tǒng)函數(shù)。
MATLAB提供了[Z,P,K]=cheblap(N,Rp)函數(shù)來設(shè)計N階通帶波紋為Rp的歸一化切比雪夫I型模擬原型濾波器,并得到數(shù)組Z和P(即零點和極點)以及增益值K。我們需要一個具有任意的非歸一化的切比雪夫I型濾波器。這可以通過將這個歸一化濾波器的數(shù)組P倍乘以來完成。和巴特沃茲原型濾波器相類似,這個濾波器沒有零點。新的增益K利用式子:=1,N為奇數(shù)或,N為偶數(shù)確定這可通過將原來的K倍乘以非歸一化分母多項式對歸一化分母多項式的比在s=0的求值來完成。下面的函數(shù)稱為U-chblap(N,Rp,Omegac),用于設(shè)計一個非歸一化的切
8、比雪夫I模擬原型濾波器,得到直接的。
function[b,a] = chblap(N,Rp,Omegac);
%[b,a] = chblap(N,Rp,Omegac)
% b = numerator polynomial coefficients
% a = denominator polynomial coefficients
% N = order of the elliptic filter
% Rp = passband ropple in dB; Rp > 0
% Omegac = cutoff frequency in radians/sec
9、
% [z,p,k] = cheblap(N,Rp);
% a = real(poly(p));
% aNn = a(N+1);
% p = p*Omegac;
% aNu = a(N+1);
% k = k*aNu/aNn;
% b0 = k;
% B = real(poly(z));
% b = k*B;
3.2 濾波器設(shè)計方程
已知,,和,有三個參數(shù)就可以確定一個切比雪夫I型濾波器,根據(jù)相對線性標(biāo)尺中的2-1與2-2式我們可得到:
和
根據(jù)上面以前討
10、論的性質(zhì)有:
=和
階N給出為
4 濾波器設(shè)計實現(xiàn)
4.1 濾波器設(shè)計過程
設(shè)計一個低通的切比雪夫I型低通濾波器滿足:
通帶截止頻率:=0.2π;通帶波紋:=1dB
阻帶截止頻率:=0.3π;阻帶波紋:=16dB
我們首先計算必要的參數(shù):
=0.5088,A= =6.3096
= =0.2π, = =1.5
=12.2429,N=4
現(xiàn)在能確定,
= + = 0.41702
a = 0.5 () = 0.3646
b = 0.5( ) = 1.0644
有四個極點:
=(a)(b) = -0.0877j0.6179
=
11、 (a)(b) = -0.2117j0.2559
因此,
=
分子是要使得有:
= 0.89125
4.2 MATLAB的實現(xiàn)
已知濾波器的技術(shù)要求,利用U-chblap函數(shù),我們提供了一個稱為afd-chb1的函數(shù)用于設(shè)計一個模擬切比雪夫I型低通濾波器。這個函數(shù)給出如后面的目錄所示。
為了展示模擬濾波器的頻域圖,我們提供的一個稱為freqs_m的函數(shù),它是有MATLAB提供的函數(shù)freqs的修正形式。這個函數(shù)以絕對值和相對值dB尺度計算幅度響應(yīng)以及相位響應(yīng),在freqs_m函數(shù)中響應(yīng)是一直要計算到最大頻率。freqs_m函數(shù)見附錄。
這個模擬濾波器的脈沖響應(yīng)
12、ha(t)是用MATLAB的impulde函數(shù)計算出來的。
通過MATLAB實現(xiàn)的系統(tǒng)函數(shù)為
這個Ha(s)與計算的結(jié)果稍有不同,這是因為在計算中用了=0.5,而在asfd_butt函數(shù)中是按滿足在的要求選定的,有關(guān)這個濾波器所畫出的圖如下所示。
圖4-1 幅度響應(yīng)
圖4-2 幅度
圖4-3 相位響應(yīng)
圖4-4 脈沖響應(yīng)
5 結(jié)束語
在這次課程設(shè)計中,通過查找相關(guān)書籍和相關(guān)資料,使得自己增長了不少相關(guān)知識。了解到了濾波器分為兩大類,確定信號濾波器和隨機信號濾波器。通常我們用濾波器是來降低噪聲,估
13、計信號的,不過濾波器也可以用來處理一些其它的問題,如圖象壓縮等。濾波器本質(zhì)上是一個輸入輸出系統(tǒng),可以是線性的,也可以是非線性的。確定信號濾波器是指在濾波器設(shè)計時沒有用到統(tǒng)計理論,不考慮信號與噪聲的統(tǒng)計特性。象常見的低通,高通,帶通濾波器等都屬于確定信號濾波器,它們針對確定的信號來進行處理。這三種頻域濾波器設(shè)計的原理是根據(jù)噪聲與有用信號的頻率分布是基本分開的,通過確定一個頻率開關(guān)值,將噪聲的頻率去掉,再進行傅立葉反變換就得到有用信號。上面所提到的低通,高通,帶通濾波器僅適用于有用信號與干擾信號在頻譜上具有分離特性的場合,實際中有另外一些情況,比如干擾是由于信號本身的回聲所引起的,這時回聲干擾除了
14、振幅和相位的差別外,基本上跟原信號是一樣的,因此頻率濾波器無法消除這種干擾。但是我們可以遵循廣泛適用的最小平方準(zhǔn)則設(shè)計最小平方濾波器,來達到消除干擾的目的。
通過這次課程設(shè)計,加強了自己掌握和理解書本知識的能力,培養(yǎng)了自己的實際動手能力與綜合設(shè)計能力,并提高了自己的技術(shù)素質(zhì)。基本達到了了解信號處理課程設(shè)計的任務(wù),明確了濾波器設(shè)計的基本原則,掌握了濾波器設(shè)計的基本方法與任務(wù)。加深了自己對數(shù)字信號處理這門課程的理解。希望自己在以后的學(xué)習(xí)生活中不斷加強自我學(xué)習(xí)的能力,努力完善自己。
參考文獻
[1](美)恩格爾,(美)普羅克斯著,劉樹棠譯. 數(shù)字
15、信號處理. 陜西:西安交通大學(xué)出版社,2002
[2] 韓利竹,王華. MATLAB電子仿真與應(yīng)用. 北京:國防工業(yè)出版社,2003
[3] 羅軍輝. MATLAB7.0在數(shù)字信號處理中的應(yīng)用. 北京:機械工業(yè)出版社,2005
[4] 孫祥,徐流美,吳清.MTLAB7.0基礎(chǔ)教程. 北京:清華大學(xué)出版社,2006
[5] 聶祥飛,王寶海,譚澤富. MATLAB程序設(shè)計及其在信號處理中的應(yīng)用. 成都:西南交通大學(xué)出版社,2005
附錄:源程序清單
Wp=0.2*pi;Ws=0.3*pi;Rp=1;
16、As=16;
Ripple=10^(-Rp/20);Attn=10^(-As/20);
%模擬濾波器設(shè)計:
[b,a]=afd_chb1(Wp,Ws,Rp,As);
%**** 切比雪夫-I型濾波器階次=4
%計算二階環(huán)節(jié)部分:
[C,B,A]=sdir2cas(b,a)
%%C=0.038
%%B=0 0 1
%%A=1.0000 0.4233 0.1103
%% 1.0000 0.1753 0.3895
%計算頻率響應(yīng):
[db,mag,pha,w]=freqs_m(b,a,0.5*pi);
%計算脈沖響應(yīng):
[ha
17、,t]=impz(b,a);
%Plots
subplot(2,2,1);plot(w/pi,mag);title(幅度響應(yīng))
xlabel(模擬頻率(單位:pi));ylabel(|H|);axis([0,0.5,0,1.1])
set(gca,XTickMode,manual,XTick,[0,0.2,0.3,0.5]);
set(gca,YTickmode,manual,YTick,[0,Attn,Ripple,1]);grid
subplot(2,2,2);plot(w/pi,db);title(幅度(db))
xlabel(模擬頻率(單位:pi));ylabel(分
18、貝數(shù));axis([0,0.5,-30,5])
set(gca,XTickMode,manual,XTick,[0,0.2,0.3,0.5]);
set(gca,YTickmode,manual,YTick,[-30,-As,-Rp,0]);grid
set(gca,YTickLabelMode,manual,YTickLabels,[30,16,1,0])
subplot(2,2,3);plot(w/pi,pha/pi);title(相位響應(yīng))
xlabel(模擬頻率(單位:pi));ylabel(弧度);axis([0,0.5,-1,1])
set(gca,XTickMode,
19、manual,XTick,[0,0.2,0.3,0.5]);
set(gca,YTickmode,manual,YTick,[-1,-0.5,0,0.5,1]);grid
subplot(2,2,4);plot(t,ha,[0,max(t)],[0,0]);title(脈沖響應(yīng))
xlabel(時間 秒);ylabel(ha(t));axis([0,max(t),min(ha),max(ha)])
AFD_CHEB1.M
Function[b,a]=afd_cheb1(Wp,Ws,Rp,Rs)
%切比雪夫I型模擬低通濾波器的設(shè)計
%b為分子多項式的系數(shù)
%a
20、為分母多項式的系數(shù)
%Wp為以弧度/秒為單位的通帶邊緣頻率;Wp>0
%Ws為以弧度/秒為單位的阻帶邊緣頻率;Ws>Wp>0
%Rp為通帶中的振幅波動的dB數(shù)
%As為阻帶衰減的dB數(shù)
%if Wp<=0
Error (‘通帶必須大于0’)
end
if Ws<=Wp
Error (‘阻帶邊緣必須大于通帶邊緣’)
end
if (Rp<=0)|(As<0)
Error (‘通帶波紋或阻帶衰減必須大于0’)
end
%ep = sqrt(10^(Rp/10)-1);
A = 10^(As/20);
OmegaC = Wp;
OmegaR = Ws/Wp;
g = sqrt(A*A-1)/ep;
N = ceil(log10(s+sqrt(g*g-1))/log10(OmegaR+sqrt(OmegaR*OmegaR-1)));
Fprintf(‘\n***切比雪夫I型濾波器的階次=%4.0f\n’,N)
[b,a] = cheblap_o(N,Rp,Rp,Rs)