模擬濾波器設(shè)計_第1頁
模擬濾波器設(shè)計_第2頁
模擬濾波器設(shè)計_第3頁
模擬濾波器設(shè)計_第4頁
模擬濾波器設(shè)計_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第5章模擬濾波器設(shè)計濾波是信號處理的一種基本而重要的技術(shù),利用濾波可從復(fù)雜的信號中提取所需要的信號,抑制不需要的部分。第3章中利用FFT進(jìn)行簡單濾波的嘗試已初步說明了這個問題。所謂濾波器是指具有一定傳輸特性的信號處理裝置。本章首先介紹模擬濾波器設(shè)計原理,然后介紹幾種常見原型濾波器的設(shè)計,爾后介紹將模擬原型濾波器轉(zhuǎn)換為其他類型濾波器的頻率轉(zhuǎn)換方法,最后介紹MATLAB中的模擬濾波器并通過應(yīng)用實例進(jìn)行說明。5.1濾波器的基本概念5.1.1濾波原理濾波器,顧名思義,其作用是對輸入信號起到濾波的作用。對圖5-1所示的線性時不變系統(tǒng),其時域輸入和輸出關(guān)系為:y(n)=x(n)h(n)(5-1)h(n)x(n)y(n)h(n)圖5-1線性時不變系統(tǒng)示意圖若x(n),y(n)的Fourier變換存在,為和,則輸入和輸出的關(guān)系為:(5-2)式中,為系統(tǒng)的頻率響應(yīng)。再假定x(n)的Fourier變換的振幅可用圖5-2的上圖表示,系統(tǒng)幅頻響應(yīng)可用圖5-2的中圖表示,則濾波器的輸出y(n)的頻譜可表示為圖5-2的下圖。圖5-2濾波器濾波示意圖這樣,x(n)通過系統(tǒng)h(n)的結(jié)果是使輸出y(n)中不再含有的頻率成分,而使的成分“不失真”地給以通過。因此設(shè)計出不同形狀的可以得到不同的濾波結(jié)果。若濾波器的輸入、輸出都是離散時間信號,那么該濾波器的脈沖響應(yīng)h(n)也必然是離散的。我們稱這樣的濾波器為數(shù)字濾波器(digitalfilter)。當(dāng)用硬件實現(xiàn)一個數(shù)字濾波器時,所需的元件是延遲器、乘法器和加法器。當(dāng)在計算機(jī)上用軟件實現(xiàn)時,它就是一段線性卷積的程序。我們知道模擬濾波器只能用硬件來實現(xiàn),其元件是電阻、電容、電感及運算放大器等。5.1.2濾波器的分類濾波器的種類很多,分類方法也不同,如可以從功能上分,也可以從實現(xiàn)方法上分,或從設(shè)計方法上來分等。但總的來說,濾波器可分為兩大類,即經(jīng)典濾波器和現(xiàn)代濾波器。經(jīng)典濾波器是假定輸入信號x(n)中的有用成分和希望去除的成分各自占有不同的頻帶,如圖5-2所示,當(dāng)x(n)通過一個線性系統(tǒng)(即濾波器)后可將欲去除的成分有效去除。如果信號和噪聲的頻譜相互重疊,那么經(jīng)典濾波器將無能為力。現(xiàn)代濾波器理論研究的主要內(nèi)容是從含有噪聲的數(shù)據(jù)記錄(又稱時間序列)中估計出信號的某些特征或信號本身。一旦信號被估計出,那么估計出的信號將比原信號有更高的信噪比。本課程側(cè)重于經(jīng)典濾波器。經(jīng)典濾波器從功能上總的可分為四種,即低通(lLowpass)、高通(hHighpass)、帶通(bBandpass)、帶阻(bBandstop)濾波器,當(dāng)然每一種又有模擬濾波器和數(shù)字濾波器兩種形式。圖5-3和圖5-4分別給出了模擬濾波器和數(shù)字濾波器的四種形式。圖中所給的濾波器的幅頻響應(yīng)都是理想情況,在實際上是不可能實現(xiàn)的。在實際工作中,我們設(shè)計的濾波器都是在某些準(zhǔn)則下對理想濾波器的近似,這保證了濾波器在物理上是可實現(xiàn)的,且是穩(wěn)定的。圖5-3理想模擬濾波器幅頻響應(yīng)圖5-4理想數(shù)字濾波器的幅頻響應(yīng)圖5-3和圖5-4的理想濾波器在物理上是不可實現(xiàn)的。不可實現(xiàn)的根本原因是從一個頻率帶到另一個頻率帶之間存在突變。為了物理上可實現(xiàn),我們從一個帶到另一個帶之間設(shè)置一個過渡帶,且在通帶和阻帶內(nèi)也不應(yīng)該嚴(yán)格為1或零,應(yīng)給以較小的容限。在中,我們要介紹這種容限。5.2模擬濾波器的設(shè)計原理5.2.1信號無失真?zhèn)鬏數(shù)臈l件所謂信號無失真?zhèn)鬏斒侵篙斎胄盘柾ㄟ^系統(tǒng)后,輸出信號的幅值和輸入信號的幅值成正比。允許有一定的延時,但沒有波形上的畸變。因此,系統(tǒng)的頻率響應(yīng)H(j)滿足下面的特性:(5-3)式中,k,td均為常數(shù)。即信號無失真?zhèn)鬏數(shù)臈l件是:系統(tǒng)的幅頻響應(yīng)||應(yīng)為常數(shù),相頻響應(yīng)應(yīng)與頻率成比例?;蛘哒f,濾波器應(yīng)具有無限寬的定值幅頻與線性相頻。通常定義群延遲(Groupdelay)為信號系統(tǒng)的延遲時間,即:(5-4)群延遲為相頻特性曲線的斜率。對于信號無失真?zhèn)鬏敚瑃d為常數(shù),即群延遲為常數(shù);否則它是頻率的非線性函數(shù)。5.2.2理想濾波器的特性濾波器是一個選頻裝置。理想濾波器應(yīng)能無失真地傳輸有用信號,而又能完全抑制無用信號。有用信號和無用信號往往占有不同的頻帶。信號能通過濾波器的頻帶稱為通帶(Passband)。信號被抑制的頻帶稱為阻帶(Stopband)。理想濾波器頻率特性可寫為:(5-5)但通過后面的講解我們會知道理想濾波器是物理不可實現(xiàn)系統(tǒng)。實際濾波器的頻率特性只能“逼近”理想濾波器。圖5-5為低通濾波器的幅頻特性示意圖。圖5-5低通濾波器的幅頻特性示意圖可見,濾波器的幅頻響應(yīng)在通帶內(nèi)不是完全平直的,而是呈波紋變化;在阻帶內(nèi),幅頻特性也不為零,而是衰減至某個值;在通帶和阻帶之間存在一個過渡帶,而不是突然下降。通常,實際設(shè)計要求濾波器的技術(shù)指標(biāo)包括通帶波紋Rp(Passbandripple)(dB)、阻帶衰減Rs(Stopbandattenuation)(dB)、通帶邊界頻率、阻帶邊界頻率、過渡帶寬。濾波器的通帶波紋Rp為相對于頻率響應(yīng)最大點(一般為1)的下降,因此下降越少說明通帶越平直,濾波器的濾波效果越好(通常為1~5dB)。濾波器的阻帶衰減Rs也是相對于頻率響應(yīng)最大點(一般為1)的下降,因此下降越多說明信號在阻帶內(nèi)越不容易通過,因此濾波效果越好(通常要大于15dB)。過渡帶寬越窄,濾波器的頻率特性越接近于直角矩形特性,濾波效果也越好。應(yīng)該指出的是,圖5-5給出的是低通濾波器的情況,對于高通、帶通、帶阻具有相同的參數(shù)。5.2.3模擬濾波器傳遞函數(shù)設(shè)計原理模擬濾波器的設(shè)計理論通常在Laplace域內(nèi)進(jìn)行討論,本節(jié)只討論其應(yīng)用。模擬濾波器的技術(shù)指標(biāo)可由平方幅值響應(yīng)函數(shù)的形式給出,而和傳遞函數(shù)H(s)存在下面關(guān)系:(5-6)即(5-7)當(dāng)給定模擬濾波器的技術(shù)指標(biāo)后,由求出A(-s2),再適當(dāng)?shù)胤峙淞銟O點可求出H(s)。為了使濾波器穩(wěn)定,H(s)的極點必須落在s平面左半平面,這是因為對于一個濾波器的極點p,就可以寫成的形式,其逆Laplace變換(對應(yīng)于時間域)為,若p>0,則隨著時間增大至無窮,該濾波器的輸出將出現(xiàn)不穩(wěn)定。濾波器的零點選擇可任取A(-s2)的一半零點,這是因為濾波器對Laplace域表示的傳遞函數(shù)并無特殊要求,但如果要求H(s)具有最小相位,零點也必須選擇在s左半平面。5.3模擬原型濾波器本節(jié)介紹常用的模擬原型濾波器的主要特點及其MATLAB實現(xiàn),包括Butterworth、ChebyshevI,ChebyshevII,Elliptical、Bessel原型低通濾波器的設(shè)計。模擬原型濾波器指的是截止頻率為1的濾波器。后面所講的各類模擬濾波器和數(shù)字濾波器可通過這些低通原型濾波器變換得到。5.3.1Butterworth濾波器Butterworth模擬低通濾波器的平方幅頻響應(yīng)函數(shù)為:(5-8)式中,為低通濾波器的截止頻率(Cutofffrequency),N為濾波器的階數(shù)。Butterworth濾波器的特點:通帶內(nèi)具有最大平坦的頻率特性,且隨著頻率增大平滑單調(diào)下降;階數(shù)愈高,特性愈接近矩形,過渡帶愈窄,傳遞函數(shù)無零點。這里的特性接近矩形,是指通帶頻率響應(yīng)段與過渡帶頻率響應(yīng)段的夾角接近直角。通常該角為鈍角,如果該角為直角,則為理想濾波器。所謂濾波器的零點就是將該點的值代入傳遞函數(shù)后,傳遞函數(shù)的值為零。所謂函數(shù)的極點就是將該點的值代入傳遞函數(shù)后,傳遞函數(shù)的值為無窮大。濾波器的增益是指傳遞函數(shù)表達(dá)式前的常數(shù)。若系統(tǒng)的傳遞函數(shù)表示為(5-9)則濾波器零點為[z(1),z(2),…,z(nz)],極點為[p(1),p(2),…,p(np)],濾波器的增益為K。這里所說的零點和極點分布在一個圓上為Laplace域中的形式,感興趣的讀者同學(xué)可查看數(shù)學(xué)中的Laplace變換。MATLAB信號處理工具箱提供Butterworth模擬低通濾波器原型設(shè)計函數(shù)buttap,函數(shù)調(diào)用形式為:[z,p,k]=buttap(n)式中,n為butterworth濾波器階數(shù);z,p,k分別為濾波器的零點、極點和增益。Butterworth濾波器傳遞函數(shù)具有下面的形式:(5-10)濾波器沒有零點,極點為[p(1),p(2),…,p(n)],濾波器的增益為K。在有關(guān)模擬濾波器設(shè)計的MATLAB程序中,經(jīng)常遇到一些特定函數(shù)。[b,a]=zp2tf(z,p,k)為將模擬原型濾波器函數(shù)(如buttap)設(shè)計出的零點z,極點p和增益k形式轉(zhuǎn)換為傳遞函數(shù)(Transferfunction)形式;其中,b為濾波器傳遞函數(shù)分子多項式系數(shù),a為濾波器傳遞函數(shù)分母多項式系數(shù),見(4-4)式。[H,w]=freqs(b,a,w)求出傳遞函數(shù)形式(分子和分母多項式的系數(shù)為b,a)表示的濾波器的對應(yīng)于頻率點w的復(fù)數(shù)頻率響應(yīng)H(包括實部和虛部),這里w為一個矢量,表示對應(yīng)的角頻率。若該函數(shù)不寫輸出變量,則執(zhí)行后繪出該濾波器的幅頻響應(yīng)和相頻響應(yīng)圖?!纠?-1】繪制Butterworth低通模擬原型濾波器的幅頻平方響應(yīng)曲線,階數(shù)分別為2,5,10,20。%Samp5_1n=0:0.01:2;%頻率點forii=1:4%取4種濾波器switchiicase1,N=2;case2,N=5;case3,N=10;case4,N=20;end[z,p,k]=buttap(N);%設(shè)計Butterworth濾波器[b,a]=zp2tf(z,p,k);%將零點極點增益形式轉(zhuǎn)換為傳遞函數(shù)形式[H,w]=freqs(b,a,n);%按n指定的頻率點給出頻率響應(yīng)magH2=(abs(H)).^2;%給出傳遞函數(shù)幅度平方holdon;plot(w,magH2);%繪制傳遞函數(shù)幅度平方endxlabel('w/wc');ylabel('|H(jw)|^2');title('Butterworth模擬原型濾波器');text(1.5,0.18,'n=2')%作必要的標(biāo)記text(1.3,0.08,'n=5')text(1.16,0.08,'n=10')text(0.93,0.98,'n=20')gridon;圖5-6Butterworth濾波器原型平方幅頻圖程序的運行結(jié)果見圖5-6??梢钥吹?,濾波器的幅頻平方特性隨著頻率單調(diào)下降。隨著濾波器階數(shù)的增大,其幅頻特性逐漸接近矩形,與前面介紹的Butterworth濾波器的特性一致。5.3.2ChebyshevI型ChebvshevI型模擬低通濾波器的平方幅值響應(yīng)函數(shù)為(5-11)式中,為小于1的正數(shù),表示通帶內(nèi)的幅值波紋情況;為截止頻率,N為Chebyshev多項式階數(shù),為Chebyshev多項式,定義為:(5-12)ChebyshevI型濾波器特點是:通帶內(nèi)具有等波紋起伏特性,而在阻帶內(nèi)則單調(diào)下降,且具有更大衰減特性;階數(shù)愈高,特性愈接近矩形,傳遞函數(shù)沒有零點。MATLAB信號處理工具箱函數(shù)cheb1ap設(shè)計N階ChebyshevI型模擬低通濾波器原型。因為ChebyshevI型模擬原型濾波器通帶內(nèi)具有等波紋特點,所以在調(diào)用時需增加通帶波紋所能下降的最低限度Rp(dB)的參數(shù)。由于Rp為相對于增益1的下降分貝數(shù),所以該值越小濾波器在通帶內(nèi)越接近1,濾波器的性能越好,通常取值范圍為1~5(dB)。此函數(shù)的調(diào)用格式為:[z,p,k]=cheb1ap(N,Rp)式中,N為濾波器的階數(shù),Rp為通帶波紋,單位為dB。z,p,k分別為濾波器的零點、極點和增益。濾波器傳遞函數(shù)具有與(5-9)式相同的形式。【例5-2】繪制ChebyshevI型模擬低通濾波器的平方幅頻響應(yīng)曲線,階數(shù)為2,4,6,8。%Samp5_2n=0:0.01:2;%設(shè)置頻率點forii=1:4switchiicase1,N=2;case2,N=4;case3,N=6;case4,N=8;endRp=1;%設(shè)置通帶波紋為1dB[z,p,k]=cheb1ap(N,Rp);%設(shè)計ChebyshevI型濾波器[b,a]=zp2tf(z,p,k);%轉(zhuǎn)換為傳遞函數(shù)形式[H,w]=freqs(b,a,n);%求得傳遞函數(shù)的頻率特性magH2=(abs(H)).^2;%求得傳遞函數(shù)的幅頻響應(yīng)posplot=['2,2,'num2str(ii)];%將數(shù)字ii轉(zhuǎn)換為字符串,與’2,2,’合并并賦給posplot。subplot(posplot);plot(w,magH2);title(['N='num2str(N)]);%將數(shù)字N轉(zhuǎn)換為字符串與’N=’合并作為標(biāo)題。xlabel('w/wc');ylabel('ChebyshevI|H(jw)|^2');gridonend圖5-7ChebyshevI型模擬原型濾波器平方幅頻圖程序的運行結(jié)果見圖5-7。與Butterworth濾波器相比(圖5-6),可以看到:在相同的階數(shù)下,ChebyshevI型模擬原型濾波器具有更窄(更陡)的過渡帶。但這種特性是以犧牲了通帶的單調(diào)平滑特性(而成為波紋狀)為代價的。如果我們不想犧牲通帶內(nèi)的單調(diào)平滑特性有無辦法設(shè)計階數(shù)較小而過渡帶較窄的濾波器呢?這就涉及ChebyshevII型濾波器。5.3.3ChebyshevII型濾波器ChebyshevII型低通模擬濾波器的平方幅值響應(yīng)函數(shù)為:(5-13)式中各項參數(shù)的意義同上。ChebyshevII型模擬濾波器的特點是:阻帶內(nèi)具有等波紋的起伏特性,而在通帶內(nèi)是單調(diào)、平滑的,階數(shù)愈高,頻率特性曲線愈接近矩形,傳遞函數(shù)既有極點又有零點。ChebyshevII型模擬濾波器傳遞函數(shù)具有(5-9)式的形式。濾波器零點為[z(1),z(2),…,z(nz)],極點為[p(1),p(2),…,p(np)],濾波器的增益為K。MATLAB信號處理工具箱提供函數(shù)cheb2ap設(shè)計N階ChebyshevII型模擬濾波器的原型。由于ChebyshevII型濾波器阻帶內(nèi)有波紋,通帶內(nèi)單調(diào)平滑,則必須給定阻帶衰減Rs。前面已經(jīng)講過,通帶波紋和阻帶衰減都是相對于增益1的下降,因此,Rp和Rs越大則與通帶增益1的差距越大。因此,阻帶衰減Rs越大對應(yīng)的濾波器濾波效果越好,通常Rs的取值要大于16dB。該函數(shù)通常調(diào)用格式為:[z,p,k]=cheb2ap(N,Rs)式中,N為濾波器的階數(shù);Rs為阻帶波紋,單位dB;z,p,k為濾波器的零極點和增益。【例5-3】繪制ChebyshevII型原型模擬濾波器的平方幅頻響應(yīng)曲線,階數(shù)分別為2,4,6,8。%Samp5_3n=0:0.01:2;%設(shè)置頻率點forii=1:4switchiicase1,N=2;case2,N=4;case3,N=6;case4,N=8;endRs=16;%阻帶衰減設(shè)置為16dB[z,p,k]=cheb2ap(N,Rs);%設(shè)計ChebyshevII型模擬原型濾波器[b,a]=zp2tf(z,p,k);%轉(zhuǎn)化為傳遞函數(shù)[H,w]=freqs(b,a,n);%求出濾波器的頻率響應(yīng)magH2=(abs(H)).^2;%頻率響應(yīng)的幅度平方posplot=['2,2,'num2str(ii)];subplot(posplot);plot(w,magH2);%繪出幅頻平方響應(yīng)函數(shù)title(['N='num2str(N)]);xlabel('w/wc');ylabel('ChebyshevII|H(jw)|^2');gridon;end圖5-8ChebyshevII型模擬原型濾波器平方幅頻圖程序運行結(jié)果見圖5-8??梢奀hebyshevII型濾波器在通帶內(nèi)是單調(diào)平滑的,而阻帶內(nèi)卻出現(xiàn)了波紋。隨著濾波器階數(shù)的增高,其幅頻特性越接近矩形。由前面的講解可知,Butterworth濾波器具有單調(diào)平滑的頻率特性,但在過渡帶寬相同的條件下,所需的濾波器階數(shù)較高(即設(shè)計的濾波器濾波速度較慢,成本較高)。而ChebyshevI和II型濾波器在通帶或阻帶內(nèi)有波紋出現(xiàn),但在過渡帶寬相同的條件下,所需的濾波器階數(shù)較低(即設(shè)計的濾波器濾波速度較快,成本較低)。如果我們對通帶和阻帶內(nèi)的平滑特性均不作限制,能否在相同的過渡帶寬的情況下設(shè)計出階數(shù)更低的濾波器呢?這就是下面要講的橢圓濾波器。5.3.4橢圓濾波器橢圓(Elliptic)模擬低通原型濾波器的平方幅值響應(yīng)函數(shù)為(5-14)式中,為小于1的正數(shù),表示波紋情況;為低通濾波器的截止頻率(Cutofffrequency),N為濾波器的階數(shù),為橢圓函數(shù),其定義已超出本課程的范圍,我們直接利用。Elliptic濾波器的特點:在通帶和阻帶內(nèi)均具有等波紋起伏特性,與以上濾波器原型相比,相同的性能指標(biāo)所需的階數(shù)最小,但相頻響應(yīng)具有明顯的非線性。MATLAB信號處理工具箱提供Elliptic模擬低通濾波器原型設(shè)計函數(shù)ellipap。由于橢圓濾波器通帶和阻帶均有波紋,因此函數(shù)輸入?yún)?shù)中通帶波紋和阻帶衰減均需給出。該函數(shù)調(diào)用形式為:[z,p,k]=ellipap(n,Rp,Rs)式中,n為橢圓濾波器階數(shù);Rp,Rs分別為通帶波紋和阻帶衰減,單位dB,通常濾波器的通帶波紋的范圍為1~5dB,阻帶衰減的范圍大于15dB。z,p,k分別為濾波器的零點、極點和增益。濾波器傳遞函數(shù)具有與(5-9)式相同的形式。【例5-4】繪制Elliptic低通模擬原型濾波器的幅頻平方響應(yīng)曲線,階數(shù)分別為2,34,64,85。%Samp5_4n=0:0.01:2;%設(shè)置頻率點forii=1:4switchiicase1,N=2;case2,N=3;case3,N=4;case4,N=5;endRp=1;Rs=15;%設(shè)置通帶波紋為1dB,阻帶衰減為15dB[z,p,k]=ellipap(N,Rp,Rs);%設(shè)計橢圓濾波器[b,a]=zp2tf(z,p,k);%將零點極點增益形式轉(zhuǎn)化為傳遞函數(shù)形式[H,w]=freqs(b,a,n);%求得傳遞函數(shù)的復(fù)數(shù)頻率響應(yīng)magH2=(abs(H)).^2;%給出幅度平方函數(shù)posplot=['2,2,'num2str(ii)];%給出繪圖區(qū)域subplot(posplot);plot(w,magH2);ylim([01])%繪出幅度平方函數(shù)title(['N='num2str(N)]);xlabel('w/wc');ylabel('橢圓|H(jw)|^2');gridon;end圖5-9橢圓模擬原型濾波器平方幅頻圖程序運行結(jié)果見圖5-9??梢婋A數(shù)為4的橢圓濾波器的過渡帶已相當(dāng)窄(陡),但這種特性的獲得是以犧牲通帶和阻帶的單調(diào)平滑特性為代價的??梢钥吹綖V波器的階數(shù)越高平方幅頻響應(yīng)越接近于矩形。5.3.5Bessel濾波器前面講過的各類原型濾波器均沒有繪出其相位隨頻率的變化特性(相頻特性)。在后面的數(shù)字信號處理學(xué)習(xí)中將會看到它們的相位特性是非線性的。本節(jié)所介紹的Bessel濾波器就能最大限度地減少相頻特性的非線性,使得通帶內(nèi)通過的信號形狀不變(拷貝不走樣)。Bessel模擬低通濾波器的特點是在零頻時具有最平坦的群延遲,并在整個通帶內(nèi)群延遲幾乎不變。在零頻時的群延遲為。由于這一特點,Bessel模擬濾波器通帶內(nèi)保持信號形狀不變。但數(shù)字Bessel濾波器沒有平坦特性,因此MATLAB信號處理工具箱只有模擬Bessel濾波器設(shè)計函數(shù)。函數(shù)besselap用于設(shè)計Bessel模擬低通濾波器原型,調(diào)用格式為:[z,p,k]=besselap(N)式中,N為濾波器的階數(shù),應(yīng)小于25。z,p,k為濾波器的零點、極點和增益。濾波器的傳遞函數(shù)無零點,具有與(5-10)式相同的形式。下面用實例觀看Bessel濾波器的幅頻和相頻特性。【例5-5】繪制5階和10階Bessel低通濾波器原型的平方幅頻和相頻圖。%Samp5_5clfn=0:0.01:2;%設(shè)置頻率點forii=1:2switchiicase1,pos=1;N=5;case2,pos=3;N=10;end[z,p,k]=besselap(N);%設(shè)計Bessel模擬濾波器[b,a]=zp2tf(z,p,k);%將零點極點增益形式轉(zhuǎn)化為傳遞函數(shù)形式[H,w]=freqs(b,a,n);%求得傳遞函數(shù)的復(fù)數(shù)頻率響應(yīng)magH2=(abs(H)).^2;phaH=unwrap(angle(H));%求得函數(shù)的相位角并進(jìn)行解纏繞運算phaH=phaH*180/pi;%將相位角由弧度轉(zhuǎn)化為度posplot=['2,2,'num2str(pos)];%設(shè)置繪圖位置字符串subplot(posplot);plot(w,magH2);gridon%繪出平方幅頻響應(yīng)title(['N='num2str(N)]);xlabel('w/wc');ylabel('Bessel|H(jw)|^2');gridonsubplot(['2,2,'num2str(pos+1)]);plot(w,phaH);xlabel('w/wc');ylabel('Bessel相位/^o');title(['N='num2str(N)]);gridonend圖5-10Bessel模擬原型濾波器相頻圖可見,Bessel濾波器具有最優(yōu)線性相頻的特點,但這個特點的獲得是以犧牲窄過渡帶為代價的,即濾波器的幅頻平方特性與矩形特性相差甚遠(yuǎn)。對所有的模擬原型濾波器做一總結(jié)可知:Butterworth濾波器在通帶和阻帶內(nèi)均具有平滑單調(diào)的特點,但在相同過渡帶寬的條件下,該濾波器所需的階數(shù)最多。ChebyshevI和II型濾波器在通帶或阻帶內(nèi)具有波紋,但在相同過渡帶寬的條件下,該濾波器所需的階數(shù)比Butterworth濾波器要少。橢圓濾波器在通帶和阻帶內(nèi)均有波紋出現(xiàn),但在相同過渡帶寬的條件下,該濾波器所需的階數(shù)最少。Bessel濾波器具有最寬的過渡帶,但具有最優(yōu)的線性相頻特性。因此沒有絕對“好”的濾波器,要根據(jù)解決問題的不同選擇不同的濾波器,因此,每一種濾波器的設(shè)計方法我們都要熟練掌握。5.4頻率變換前面所講的模擬原型濾波器均是截止頻率為1的濾波器,在實際設(shè)計中是很難遇到的,然而它是設(shè)計其他各類濾波器的基礎(chǔ)。我們通常遇到的是截止頻率任意的低通濾波器、高通濾波器、帶通濾波器和帶阻濾波器。如何以由低通原型模擬濾波器為基礎(chǔ)設(shè)計這些濾波器呢?這就要用到我們今天要講的頻率變換。所謂頻率變換是指各類濾波器(低通、高通、帶通、帶阻)和低通濾波器原型的傳遞函數(shù)中頻率自變量之間的變換關(guān)系。通過頻率變換,我們可以從模擬低通濾波器原型獲得模擬的低通濾波器、高通濾波器、帶通濾波器和帶阻濾波器,再借助于s域至z域的變換關(guān)系又可以設(shè)計各類后面所講的無限沖激響應(yīng)數(shù)字濾波器,這是濾波器設(shè)計的重要方法之一。MATLAB信號處理工具箱有l(wèi)p2lp,lp2hp,lp2bp,lp2bs四個頻率變換函數(shù)。下面分別敘述其使用方法及各參量的意義。函數(shù)lp2lp用于實現(xiàn)由低通模擬原型濾波器至低通濾波器的頻率變換,調(diào)用格式為[bt,at]=lp2lp(b,a,)其中,a,b為模擬原型濾波器的分母和分子多項式的系數(shù),為低通濾波器所期望的截止頻率(rad/s),若給定的單位為Hz,應(yīng)乘以2。bt,at為返回的低通濾波器的分母和分子多項式的系數(shù)。該函數(shù)將模擬原型濾波器傳遞函數(shù)執(zhí)行下面變換:(5-15)式中,H(p)為低通原型濾波器傳遞函數(shù),H(s)為低通濾波器傳遞函數(shù)。該項操作可以執(zhí)行模擬原型濾波器由截止頻率為1到指定截止頻率的變換,其原理討論已超出本課程的范圍,可參看其他信號處理參考書。下面的例子說明如何進(jìn)行模擬原型低通濾波器變換為截止頻率不為1的模擬低通濾波器?!纠?-6】將4階橢圓模擬原型濾波器變換為截止頻率為0.5的橢圓模擬低通濾波器,其中通帶波紋Rp=2dB,阻帶衰減Rs=30dB。%Samp5_6Rp=2;Rs=30;%模擬原型濾波器的通帶波紋為2dB,阻帶衰減為30dB。[z,p,k]=ellipap(4,Rp,Rs);%設(shè)計橢圓濾波器[b,a]=zp2tf(z,p,k);%由零點極點增益形式轉(zhuǎn)換為傳遞函數(shù)形式[H,w]=freqs(b,a,0:0.01:2);%給出復(fù)數(shù)頻率響應(yīng)subplot(2,1,1),plot(w,abs(H).^2);%繪出平方幅頻函數(shù)xlabel('w/wc');ylabel('橢圓|H(jw)|^2');title('原型低通橢圓濾波器(wc=1)')[bt,at]=lp2lp(b,a,0.5);[Ht,wt]=freqs(bt,at,0:0.01:2);%給出復(fù)數(shù)頻率響應(yīng)subplot(2,1,2),plot(wt,abs(Ht).^2);%繪出平方幅頻函數(shù)xlabel('w/wc');ylabel('橢圓|H(jw)|^2');title('低通橢圓濾波器(wc=0.5)')圖5-程序的運行結(jié)果見圖5-11。清楚地表明將截止頻率由1變換到0.5。函數(shù)lp2hp用于實現(xiàn)由低通模擬濾波器至高通濾波器的頻率變換。調(diào)用格式:[bt,at]=lp2hp(b,a,)式中,為高通模擬濾波器所期望的截止頻率(rad/s),若給定的頻率單位為Hz,應(yīng)乘以2。該函數(shù)將模擬原型濾波器傳遞函數(shù)執(zhí)行下面變換:(5-16)【例5-7】將6階ChebyshevI型原型濾波器變換為截止頻率為0.8的模擬高通濾波器,其中通帶波紋Rp=0.5dB。%Samp5_7[z,p,k]=cheb1ap(6,);%設(shè)計ChebyshevI型模擬原型濾波器[b,a]=zp2tf(z,p,k);%由零點極點增益形式轉(zhuǎn)化為傳遞函數(shù)形式[H,w]=freqs(b,a,0:0.01:2);%計算傳遞函數(shù)的復(fù)數(shù)頻率響應(yīng)subplot(2,1,1),plot(w,abs(H).^2);%繪制傳遞函數(shù)的平方幅頻響應(yīng)xlabel('w/wc');ylabel('ChebyshevI|H(jw)|^2');title('ChebyshevI低通原型濾波器(wc=1)')[bt,at]=lp2hp(b,a,0.8);[Ht,wt]=freqs(bt,at,0:0.01:2);%計算濾波器的復(fù)數(shù)頻率響應(yīng)subplot(2,1,2),plot(wt,abs(Ht).^2);%繪制傳遞函數(shù)的平方幅頻響應(yīng)xlabel('w/wc');ylabel('ChebyshevI|H(jw)|^2');title('ChebyshevI高通濾波器(wc=0.8)')圖5-程序運行結(jié)果見圖5-12。可見實現(xiàn)了從低通濾波器到高通濾波器的轉(zhuǎn)換,并且截止頻率也符合例題要求。函數(shù)lp2bp用于實現(xiàn)由低通模擬原型濾波器至帶通濾波器的頻率變換。調(diào)用格式:[bt,at]=lp2bp(b,a,,Bw)式中,為帶通濾波器的中心頻率(rad/s),Bw為帶通濾波器帶寬(rad/s)。而(5-17)式中,為帶通濾波器的下邊界頻率,為帶通濾波器上邊界頻率。若給定的邊界頻率為Hz需乘以2。該函數(shù)將模擬原型濾波器傳遞函數(shù)執(zhí)行下面變換運算:(5-18)下面用例題說明截止頻率和濾波器類型的轉(zhuǎn)換。這里要注意,輸出的帶通濾波器階數(shù)為模擬原型濾波器階數(shù)的2倍?!纠?-8】將6階ChebyshevII型原型濾波器變換為模擬帶通濾波器,其中上邊界截止頻率為0.8rad/s,下邊界截止頻率為1.4rad/s,阻帶衰減Rs=20dB。%Samp5_8Rs=20;%濾波器的阻帶衰減為20dB[z,p,k]=cheb2ap(6,Rs);%設(shè)計6階阻帶衰減為20dB的ChebyshevII型原型濾波器[b,a]=zp2tf(z,p,k);%將零點極點增益形式轉(zhuǎn)換為傳遞函數(shù)形式[H,w]=freqs(b,a,0:0.01:2);%計算模擬原型濾波器的復(fù)數(shù)頻率響應(yīng)subplot(2,1,1),plot(w,abs(H).^2);%繪制平方幅頻響應(yīng)xlabel('w/wc');ylabel('ChebyshevII|H(jw)|^2');title('ChebyshevII型低通原型濾波器(wc=1)')w1=0.8;w2=1.4;%給定欲設(shè)計濾波器通帶的下限和上限頻率w0=sqrt(w1*w2);bw=w2-w1;%計算中心點頻率和頻帶寬度[bt,at]=lp2bp(b,a,w0,bw);%頻率轉(zhuǎn)換[Ht,wt]=freqs(bt,at,0:0.01:2);%計算濾波器的復(fù)數(shù)頻率響應(yīng)subplot(2,1,2),plot(wt,abs(Ht).^2);%繪制平方幅頻響應(yīng)xlabel('w/wc');ylabel('ChebyshevII|H(jw)|^2');title('ChebyshevII型帶通濾波器(wc~)')圖5-13將6階ChebyshevII型原型濾波器變換為模擬帶通濾波器的結(jié)果圖程序運行結(jié)果為圖5-13??梢娫摮绦?qū)崿F(xiàn)了由低通原型濾波器到帶通濾波器的轉(zhuǎn)換。函數(shù)lp2bs用于實現(xiàn)由低通模擬原型濾波器至帶阻濾波器的頻率變換。調(diào)用格式[bt,at]=lp2bs(b,a,,Bw)式中,為帶阻濾波器的中心頻率(rad/s),Bw為帶阻濾波器帶寬(rad/s)。而(5-19)式中,為帶阻濾波器的下邊界頻率,為帶阻濾波器上邊界頻率。若給定的邊界頻率為Hz需乘以2。該函數(shù)將模擬原型濾波器傳遞函數(shù)執(zhí)行下面變換運算:(5-20)注意:輸出的帶阻濾波器和帶通濾波器是濾波器原型階數(shù)的2倍。【例5-9】將6階Butterworth原型濾波器變換為模擬帶阻濾波器,其中上邊界頻率為0.7rad/s,下邊界頻率為1.5rad/s。%Samp5_9[z,p,k]=buttap(6);%設(shè)計階數(shù)為6的Butterworth模擬原型濾波器[b,a]=zp2tf(z,p,k);%將零點極點增益形式轉(zhuǎn)換為傳遞函數(shù)形式[H,w]=freqs(b,a,0:0.01:2);%計算指定頻率點的復(fù)數(shù)頻率響應(yīng)subplot(2,1,1),plot(w,abs(H).^2);%繪制平方幅頻響應(yīng)xlabel('w/wc');ylabel('Butterworth|H(jw)|^2');title('Btterworth低通原型濾波器(wc=1)')w1=0.7;w2=1.5;%帶阻濾波器的下限及上限頻率w0=sqrt(w1*w2);bw=w2-w1;%計算中心點頻率和阻帶寬度[bt,at]=lp2bs(b,a,w0,bw);%頻率轉(zhuǎn)換[Ht,wt]=freqs(bt,at,0:0.01:2);%計算帶阻濾波器指定點的復(fù)數(shù)頻率響應(yīng)subplot(2,1,2),plot(wt,abs(Ht).^2);%繪制平方幅頻響應(yīng)xlabel('w/wc');ylabel('Butterworth|H(jw)|^2');title('Butterworth帶阻濾波器(wc~)')圖5-14將6階Butterworth原型濾波器變換為模擬帶阻濾波器的結(jié)果圖程序運行結(jié)果為圖5-10??梢?,該程序?qū)崿F(xiàn)了由低通原型濾波器到帶阻濾波器之間的轉(zhuǎn)換,并且頻帶參數(shù)與所要求的完全一致。5.5濾波器最小階數(shù)選擇前面所述的模擬濾波器設(shè)計中,濾波器階數(shù)是我們在編程時任意指定的。其實它是決定濾波器品質(zhì)的主要參數(shù)之一。通常在滿足性能指標(biāo)的前提下,階數(shù)應(yīng)該盡可能小,以滿足易于實現(xiàn)、提高運算速度的要求。而在濾波器階數(shù)和濾波器性能之間存在一定的函數(shù)關(guān)系,我們通過這一函數(shù)關(guān)系可以求出滿足濾波性能指標(biāo)的最低階數(shù)。下面介紹常用低通濾波器最小階數(shù)的確定原理及MATLAB實現(xiàn);接著介紹MATLAB信號處理工具箱中用來計算最小階數(shù)和截止頻率的工具函數(shù)。5.5.1濾波器最小階數(shù)選擇原理:以Butterworth低通模擬濾波器為例模擬低通濾波器的設(shè)計指標(biāo)為:通帶邊界頻率,阻帶邊界頻率,通帶波紋Rp(dB)、阻帶衰減Rs(dB)。當(dāng)時(5-21)以截止頻率(幅值下降3dB)為1,化為相對的相對頻率,則上式可寫成:(5-22)同理,當(dāng)時,(5-23)綜合上面兩式可得:(5-24)式中,N應(yīng)向上取整,則N為該濾波器的最小階數(shù)。表示為:(5-25)或(5-26)下面用MATLAB編程可以計算濾波器的最小階數(shù)N和截止頻率。【例5-10】設(shè)計一個模擬Butterworth濾波器。設(shè)計指標(biāo)為通帶邊界頻率,阻帶邊界頻率,通帶波紋1dB,阻帶衰減16dB,試確定最小階數(shù)N和截止頻率。%Samp5_10wp=200*pi;ws=300*pi;Rp=1;Rs=16;%濾波器的通帶阻帶邊界頻率、通帶波紋和阻帶衰減N=ceil(log10((10^(Rp/10)-1)/(10^(Rs/10)-1))/(2*log10(wp/ws)))%(5-22)式,這里ceil函數(shù)表示向上取整Wcp=wp/((10^(Rp/10)-1)^(1/(2*N)))%(5-23)式Wcs=ws/((10^(Rs/10)-1)^(1/(2*N)))%(5-24)式給程序的輸出為:N=7Wcp=程序輸出的兩個截止頻率分別為運用通帶波紋和阻帶衰減得到的。為使信號保留較多的有用信息,對于低通濾波器可選用較大的截止頻率,即725.7292。其他幾種濾波器的最小階數(shù)選擇思路與此相同,由于篇幅所限,我們略去。5.5.2濾波器最小階數(shù)選擇函數(shù)上面給出了Butterworth濾波器的最小階數(shù)和截止頻率的選擇公式及程序。其實MATLAB工具箱中運用濾波器的最小階數(shù)選擇公式給出了濾波器最小階數(shù)選擇函數(shù)。幾種濾波器最小階數(shù)的選擇函數(shù)如下:[n,wc]=buttord(wp,ws,Rp,Rs,'s');Butterworth濾波器[n,wc]=cheb1ord(wp,ws,Rp,Rs,'s');ChebyshevI濾波器[n,wc]=cheb2ord(wp,ws,Rp,Rs,'s');ChebyshevII濾波器[n,wc]=ellipord(wp,ws,Rp,Rs,'s');Elliptic濾波器式中,wp為通帶邊界頻率,ws為阻帶邊界頻率,單位為rad/s。Rp,Rs分別為通帶波紋和阻帶衰減,單位為dB。二者分別表示通帶內(nèi)的最大允許幅值損失和阻帶下降的分貝數(shù)。's'表示模擬濾波器(缺省時,該函數(shù)適用于數(shù)字濾波器);函數(shù)返回值n為模擬濾波器的最小階數(shù);wc為模擬濾波器的截止頻率,單位為rad/s。這四個函數(shù)適用于低通、高通、帶通、帶阻濾波器。若wp<ws,對應(yīng)于低通模擬濾波器,當(dāng)wp>ws時對應(yīng)于高通模擬濾波器,對于帶通和帶阻濾波器存在兩個過渡帶,wp和ws均應(yīng)該為含有兩個元素的向量,分別表示兩個過渡帶的邊界頻率。即:wp=[通帶下界頻率,通帶上界頻率],ws=[阻帶下界頻率,阻帶上界頻率]。對于帶通濾波器,這四個頻帶界線的大小排列為:阻帶下界頻率<通帶下界頻率<通帶上界頻率<阻帶上界頻率;對于帶阻濾波器,這四個頻帶界線的大小排列為:通帶下界頻率<阻帶下界頻率<阻帶上界頻率<通帶上界頻率。這時返回值wc包括兩個元素(第一個元素小于第二個元素),分別為通帶和阻帶之間的界線頻率。函數(shù)自動判斷是帶通還是帶阻濾波器【例5-11】設(shè)計一個模擬低通Butterworth濾波器和ChebyshevII型濾波器,滿足通帶邊界頻率,阻帶邊界頻率,通帶波紋Rp=1dB,阻帶衰減Rs=16dB,試確定最小階數(shù)N和通帶下降3dB的截止頻率。%Samp5_11Wp=200*pi;Ws=300*pi;Rp=1;Rs=16;%濾波器的通帶阻帶截止頻率、通帶波紋和阻帶衰減disp('Butterworth濾波器:');%在命令窗口顯示括號內(nèi)的文本[N,Wc]=buttord(Wp,Ws,Rp,Rs,'s')%計算Butterworth濾波器的最小階數(shù)和截止頻率disp('ChebyshevII型濾波器:');[N,Wc]=cheb2ord(Wp,Ws,Rp,Rs,'s')%計算ChebyshevII濾波器的最小階數(shù)和截止頻率程序的輸出為:Butterworth濾波器:N=7ChebyshevII型濾波器:N=4程序輸出的Butterworth濾波器的最小階數(shù)和截止頻率與例5-10的程序輸出相同。證明調(diào)用求取最小階數(shù)和截止頻率的程序就是采用了(5-24)~(5-26)的公式。運用ChebyshevII型濾波器所需的濾波器的最小階數(shù)遠(yuǎn)小于Butterworth濾波器,說明運用ChebyshevII型濾波器比Butterworth濾波器更容易實現(xiàn)、計算速度更快。大家可以自己設(shè)計一些例子運用本節(jié)給出的求取濾波器最小階數(shù)的函數(shù)求解濾波器最小階數(shù)和截止頻率。5.6模擬濾波器的性能測試濾波器設(shè)計好之后,一般要進(jìn)行各方面的測試。在正式設(shè)計濾波器之前,我們先介紹如何測試濾波器的性能。對于模擬濾波器,在本章第二節(jié)我們已采用函數(shù)freqs來求模擬濾波器的頻率響應(yīng),這里我們詳細(xì)介紹該函數(shù),若其調(diào)用格式為:[h[,w]]=freqs(b,a[,n])式中,b,a分別為模擬濾波器傳遞函數(shù)分子和分母多項式系數(shù);h為對應(yīng)頻率點的傳遞函數(shù)值。上面的表示中,[,w]和[,n]表示可有可無的參數(shù),本書中的該類表示均為可有可無的參數(shù),由用戶根據(jù)需要確定。w為頻率點的值,n為頻率點數(shù)。若n=128,則用128個頻率點來給出此模擬濾波器的頻率特性(給定頻率點的傳遞函數(shù)值),缺省時為200。若該函數(shù)不寫輸出變量,則執(zhí)行后繪出該濾波器的幅頻響應(yīng)和相位響應(yīng)圖。此函數(shù)模擬濾波器的傳遞函數(shù)形式為:(5-27)MATLAB工具箱還提供了兩個函數(shù)abs和angle,由頻率響應(yīng)求幅頻響應(yīng)和相頻響應(yīng)。其中angle的輸出單位為rad??刹捎胷ad2deg函數(shù)轉(zhuǎn)化為度。另外注意函數(shù)的幅頻響應(yīng)經(jīng)常用分貝(dB)來表示。求出的幅頻響應(yīng)后,通過下式轉(zhuǎn)換為分貝:(dB)。【例5-12】已知模擬濾波器的傳遞函數(shù)為:,繪制濾波器的幅頻響應(yīng)和相頻響應(yīng)。%Samp5_12b=[0.20.31];%濾波器傳遞函數(shù)分子多項式系數(shù)a=[10.41];%濾波器傳遞函數(shù)分母多項式系數(shù)figure(1),freqs(b,a);%第一種輸出方法[h,w]=freqs(b,a);%計算濾波器的復(fù)數(shù)頻率響應(yīng)mag=abs(h);pha=angle(h);%得到濾波器的幅頻和相頻響應(yīng)figure(2),subplot(2,1,1),loglog(w,mag);%運用雙對數(shù)坐標(biāo)繪制幅頻響應(yīng)gridon;xlabel('角頻率/rad\cdots^-^1');ylabel('振幅');subplot(2,1,2),semilogx(w,pha*180/pi)%運用半對數(shù)坐標(biāo)繪相頻響應(yīng)gridon;xlabel('角頻率/rad\cdots^-^1');ylabel('相位/^o');圖5-15例5-12中濾波器的幅頻響應(yīng)和相頻響應(yīng)程序運行結(jié)果的兩幅圖完全一致(圖5-15),說明freqs的繪圖程序與本例繪圖程序完全一致。我們知道,除了用傳遞函數(shù)描述濾波器特性外,還可用脈沖(沖激)響應(yīng)來描述濾波器,因為在模擬濾波器中,脈沖響應(yīng)與傳遞函數(shù)是Laplace變換對。此外還可以用階躍響應(yīng)(輸入一個階躍時系統(tǒng)的輸出)來描述濾波器特性。下面我們介紹在MATLAB中如何得到模擬濾波器的脈沖響應(yīng)和階躍響應(yīng)。將濾波器的傳遞函數(shù)表示成分子和分母多項式系數(shù)的形式,如分子和分母多項式的系數(shù)為[b,a],則在MATLAB中用H=[tf(b,a)]來表示此模擬濾波器,采用[[y,t]=]impulse(H)給出該系統(tǒng)的模擬脈沖響應(yīng)。采用[[y,t]=]step(H)來得到該系統(tǒng)的階躍響應(yīng)。這兩個函數(shù)與freqs一樣,若沒有輸出則程序自動繪圖模擬該濾波器的脈沖響應(yīng)或階躍響應(yīng)。輸出值y,t分別為該濾波器的脈沖響應(yīng)或階躍響應(yīng)及其對應(yīng)的時間序列。另外,我們還可以運用一個輸入信號模擬該濾波器的輸出。若給定濾波器的輸入值序列和對應(yīng)的時間序列為u,t,則系統(tǒng)的輸出可用y=lsim(H,u,t)來模擬,y為對應(yīng)t的輸出。若該函數(shù)沒有輸出變量則程序自動繪圖顯示?!纠?-13】設(shè)計一個5階的ChebyshevI型帶通濾波器,通帶波紋3dB,下邊界頻率100Hz,上邊界頻率500Hz,繪制幅頻響應(yīng)圖。給出該濾波器的脈沖響應(yīng)、階躍響應(yīng)。假定輸入sin(2*pi*30*t)+0.5*cos(2*pi*300*t)+2*sin(2*pi*800*t)的信號,求模擬濾波器的輸出并給出模擬輸入信號和模擬輸出信號的Fourier振幅譜。%Samp5_13N=5;Rp=3;f1=100;f2=500;%濾波器階數(shù)、邊界頻率(Hz)w1=2*pi*f1;w2=2*pi*f2;%邊界頻率(rad/s)[z,p,k]=cheb1ap(N,Rp);%設(shè)計ChebyshevI型原型低通濾波器[b,a]=zp2tf(z,p,k);%轉(zhuǎn)換為傳遞函數(shù)形式Wo=sqrt(w1*w2);%中心頻率Bw=w2-w1;%頻帶寬度[bt,at]=lp2bp(b,a,Wo,Bw);%頻率轉(zhuǎn)換[h,w]=freqs(bt,at);%計算復(fù)數(shù)頻率響應(yīng)figure(1)subplot(2,2,1),semilogy(w/2/pi,abs(h));%繪制幅頻響應(yīng)xlabel('頻率/Hz');gridon;title('幅頻圖');subplot(2,2,2),plot(w/2/pi,angle(h)*180/pi);%繪制相頻響應(yīng)xlabel('頻率/Hz');ylabel('相位/^o');gridon;title('相頻圖')H=[tf(bt,at)];%在MATLAB中表示此濾波器[h1,t1]=impulse(H);%輸出繪出系統(tǒng)的脈沖響應(yīng)圖subplot(2,2,3),plot(t1,h1);xlabel('時間/s');title('脈沖響應(yīng)')[h2,t2]=step(H);%輸繪出系統(tǒng)的階躍響應(yīng)圖subplot(2,2,4),plot(t2,h2);xlabel('時間/s');title('階躍響應(yīng)')figure(2)dt=1/2000;t=0:dt:0.1;%給出模擬濾波器輸出的時間范圍u=sin(2*pi*30*t)+0.5*cos(2*pi*300*t)+2*sin(2*pi*800*t);%模擬輸入信號subplot(2,2,1),plot(t,u)%繪制模擬輸入信號xlabel('時間/s');title('輸入信號')[ys,ts]=lsim(H,u,t);%模擬系統(tǒng)的輸入u時的輸出subplot(2,2,2),plot(ts,ys)%繪制模擬輸出信號xlabel('時間/s'),title('輸出信號');subplot(2,2,3),plot((0:length(u)-1)/(length(u)*dt),abs(fft(u))*2/length(u));%繪輸入信號振幅譜title('輸入信號振幅譜'),xlabel('頻率/Hz')Subplot(2,2,4),Y=fft(ys);plot((0:length(Y)-1)/(length(Y)*dt),abs(Y)*2/length(Y));%繪制輸出信號振幅譜title('輸出信號振幅譜')xlabel('頻率/Hz')圖5-16例5-13設(shè)計的ChebyshevI型濾波器的幅頻響應(yīng)、相頻響應(yīng)、脈沖響應(yīng)和階躍響應(yīng)圖5-17例5-13所設(shè)計濾波器模擬輸入和輸出信號的時間域圖形和振幅譜程序輸出結(jié)果見圖5-16和圖5-17。圖5-16給出了該程序得到的幅頻圖、相頻圖、脈沖響應(yīng)和階躍響應(yīng)。幅頻圖清楚地給出了的通帶范圍和阻帶范圍。圖5-17給出了模擬輸入、輸出信號的時間域波形及振幅譜。輸入信號中含有30Hz,300Hz和500Hz的波,由濾波器的幅頻特性(圖5-16左上圖)可知,30Hz和500Hz全在阻帶內(nèi),只有300Hz的波可通過濾波器。從輸入信號和模擬輸出信號的時間域波形和振幅譜,可以看到達(dá)到了預(yù)期的效果。注意,由該濾波器的相頻特性(圖5-16的相頻圖)可知,該濾波器并不是線性相位。5.7模擬濾波器的設(shè)計5.7.1模擬濾波器設(shè)計步驟用戶對設(shè)計的濾波器提出設(shè)計要求,我們可以針對濾波器的設(shè)計要求設(shè)計濾波器。通常用戶對模擬濾波器提出的要求有:(1)濾波器的性能指標(biāo),包括截止頻率(對于低通和高通)或上下邊界頻率、,通帶波紋、阻帶衰減等;(2)濾波器的類型,通常為Butterworth、ChebyshevI、ChebyshevII、Elliptic或Bessel濾波器。我們根據(jù)濾波器的類型通常按下列步驟設(shè)計濾波器。給定模擬濾波器的性能指標(biāo),如截止頻率(對于低通和高通)或上下邊界頻率、;通帶波紋、阻帶衰減以及濾波器類型等(用戶給定)。確定濾波器階數(shù)(根據(jù)本章第5節(jié)介紹的方法和函數(shù))。設(shè)計模擬低通原型濾波器。MATLAB信號處理工具箱的濾波器原型設(shè)計函數(shù)有butterap、cheb1ap、cheb2ap、ellipap、besselap。(本章第5.3節(jié)介紹的方法和函數(shù))按頻率變換設(shè)計模擬濾波器(低通、高通、帶通、帶阻)。MATLAB信號處理工具箱的頻率變換函數(shù)有l(wèi)p2lp、lp2hp、lp2bp、lp2bs。(本章第5.4節(jié)介紹的方法和函數(shù))。下面我們用例子說明如何根據(jù)用戶的要求設(shè)計濾波器?!纠?-14】設(shè)計帶通ChebyshevI型模擬濾波器Ws1=0.2*pi(rad/s);Ws2=0.8*pi(rad/s);Rs=60dB;Wp1=0.35*pi(rad/s);Wp2=0.65*pi(rad/s);Rp=1dB。%Samp5_14wp=[0.350.65]*pi;%給出濾波器的通帶邊界頻率,用弧度表示ws=[0.20.8]*pi;%給出濾波器的阻帶邊界頻率,,用弧度表示Rp=1;Rs=60;%給出濾波器的通帶波紋和阻帶衰減[n,wn]=cheb1ord(wp,ws,Rp,Rs,'s');%根據(jù)濾波器的要求求濾波器的最小階數(shù)[z,p,k]=cheb1ap(n,Rp);%用求得的濾波器的最小階數(shù)設(shè)計ChebyshevI型濾波器[b,a]=zp2tf(z,p,k);%將零點極點增益形式轉(zhuǎn)換為傳遞函數(shù)形式Wo=sqrt(wn(1)*wn(2));%計算中心點頻率Bw=wn(2)-wn(1);%計算頻帶寬度[bt,at]=lp2bp(b,a,Wo,Bw);%模擬原型低通濾波器轉(zhuǎn)換為帶通濾波器[h,w]=freqs(bt,at,128);%計算濾波器的復(fù)數(shù)頻率響應(yīng)plot(w/pi,20*log10(abs(h)));%繪制濾波器的振幅響應(yīng)xlabel('角頻率/pi');ylabel('|H(jw)|/dB')gridon;holdon;plot([0.20.2],ylim,'r');plot([0.80.8],ylim,'r');%繪出阻帶界限以顯示達(dá)到的阻帶衰減%plot([0.350.35],ylim);plot([0.650.65],ylim);%可繪出通帶界限以顯示達(dá)到的通帶衰減圖5-18例5-14設(shè)計的ChebyshevI型帶通濾波器的幅頻響應(yīng)程序的運行結(jié)果見圖5-18。可以看到,設(shè)計的濾波器的通帶范圍確實為0.35*pi~0.65*pi,并且在阻帶邊界處下降分貝數(shù)大于60dB,滿足了用戶的設(shè)計要求。程序中ylim函數(shù)是提取現(xiàn)行坐標(biāo)軸y軸的下限和上限。程序用它繪出了阻帶邊界。5.7.2模擬濾波器設(shè)計函數(shù)上面濾波器的設(shè)計步驟比較麻煩,根據(jù)設(shè)計要求求解濾波器的最小階數(shù)和邊界頻率之后需要設(shè)計模擬原型濾波器并進(jìn)行頻率轉(zhuǎn)換。其實MATLAB將這一系列的過程組合成了更為方便的設(shè)計函數(shù):butter,cheby1,cheby2,ellip,besself。這些函數(shù)稱為模擬濾波器完全設(shè)計函數(shù)。用戶在求得濾波器的最小階數(shù)和截止頻率之后只需調(diào)用一次完全設(shè)計函數(shù)就可以自動完成所有設(shè)計過程,編程十分簡單。這些工具函數(shù)適用于模擬濾波器的設(shè)計,但同樣也適用于數(shù)字濾波器。本節(jié)只討論這些函數(shù)在模擬濾波器設(shè)計中的應(yīng)用。但要注意,MATLAB是將上述一系列的步驟復(fù)合而已,并不是一種新的設(shè)計模擬濾波器的方法。[b,a]=butter(n,wn[,'ftype'],'s')[z,p,k]=butter(n,wn[,'ftype'],'s')[b,a]=cheby1(n,Rp,wn[,'ftype'],'s')[z,p,k]=cheby1(n,Rp,wn[,'ftype'],'s')[b,a]=cheby2(n,Rs,wn[,'ftype'],'s')[z,p,k]=cheby2(n,Rs,wn[,'ftype'],'s')[b,a]=ellip(n,Rp,Rs,wn[,'ftype'],'s')[z,p,k]=cheby2(n,Rp,Rs,wn[,'ftype'],'s')[b,a]=besself(n,wn[,'ftype'],'s')[z,p,k]=besself(n,wn[,'ftype'],'s')在上面的調(diào)用方式中,n為濾波器的階數(shù),wn為濾波器的截止頻率,單位rad/s(wn>0);’s’為模擬濾波器,缺省時為數(shù)字濾波?!甪type’濾波器的類型可取為:‘high’高通濾波器,截止頻率為wn。‘stop’帶阻濾波器,截止頻率為wn=[w1,w2](w<1>w2)?!甪type’缺省時為低通或帶通濾波器。當(dāng)設(shè)計帶通濾波器時,截止頻率也為wn=[w1,w2](w1<>w2)。a,b分別為濾波器的傳遞函數(shù)分子和分母多項式系數(shù)向量;z,p,k分別為濾波器的零點、極點和增益。Rp,Rs分別為所設(shè)計濾波器的通帶波紋和阻帶衰減,單位為dB。濾波器的傳遞函數(shù)具有下面的形式:(5-26)若濾波器為帶通或帶阻型,則濾波器的階數(shù)為2n,否則階數(shù)為n。下面用一些例子說明濾波器的設(shè)計。【例5-15】設(shè)計一個Butterworth模擬帶通濾波器,設(shè)計指標(biāo)為:通帶頻率:1000~2000Hz,兩側(cè)過渡帶寬500Hz,通帶波紋1dB,阻帶衰減100dB。假設(shè)一個信號,其中f1=100Hz,f2=1500Hz,f3=2900Hz。信號的采樣頻率為10000Hz。試將原信號與通過該濾波器的模擬信號進(jìn)行比較。%Samp5_15wp=[10002000]*2*pi;ws=[5002500]*2*pi;Rp=1;Rs=100;%濾波器設(shè)計參數(shù),對于給定Hz應(yīng)乘以2[N,Wn]=buttord(wp,ws,Rp,Rs,'s');%求得濾波器的最小階數(shù)和截止頻率w=linspace(1,3000,1000)*2*pi;%設(shè)置繪制頻率響應(yīng)的頻率點[b,a]=butter(N,Wn,'s');%設(shè)計模擬Butterworth濾波器H=freqs(b,a,w);%計算給定頻率點的復(fù)數(shù)頻率響應(yīng)magH=abs(H);phaH=unwrap(angle(H));%計算幅頻響應(yīng)和相頻響應(yīng)plot(w/(2*pi),20*log10(magH));%以頻率為橫坐標(biāo)繪制幅頻響應(yīng)xlabel('頻率/Hz');ylabel('振幅/dB');title('Butterworth模擬帶通濾波器');holdon;plot([10001000],ylim,'r');plot([20002000],ylim,'r');%繪通阻帶邊界gridonfigure(2)dt=1/10000;%模擬信號采樣間隔f1=100;f2=1500;f3=2900;%輸入信號的三個頻率成分t=0:dt:0.04;%給定模擬時間段x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t)+0.5*sin(2*pi*f3*t);%輸入信號H=[tf(b,a)];%濾波器在MATLAB系統(tǒng)中的表示[y,t1]=lsim(H,x,t);%模擬輸出subplot(2,1,1),plot(t,x),title('輸入信號')%繪出輸入信號subplot(2,1,2),plot(t1,y)%繪制輸出信號title('輸出信號'),xlabel('時間/s')圖5-19例5-15設(shè)計的模擬濾波器幅頻響應(yīng),兩條豎線表示阻帶邊界圖5-20例5-15中濾波器的輸入信號和輸出信號程序的運行結(jié)果為圖5-19和圖5-20。可見,濾波器的幅頻響應(yīng)完全符合要求。在阻帶邊界確實下降到100dB。大家修改程序可以觀看通帶邊界處下降的分貝數(shù)不超過1個dB。模擬的輸入信號中含有三個頻率成分,根據(jù)圖5-19可知,2900Hz和100Hz的頻率均在阻帶內(nèi),只有1000Hz的頻率在通帶內(nèi),通過模擬系統(tǒng)后,將2900Hz的高頻成分和100Hz的低頻成分濾除,輸出只含有1500Hz頻率成分的振動?!纠?-16】設(shè)計一個ChebyshevI型模擬帶阻濾波器,設(shè)計指標(biāo)為:阻通帶頻率:1000~2000Hz,兩側(cè)過渡帶寬500Hz,通帶波紋1dB,阻帶衰減大于50dB。假設(shè)一個信號,其中f1=100Hz,f2=1500Hz,f3=2900Hz。信號的采樣頻率為20000Hz。試將原信號與通過該濾波器的模擬信號進(jìn)行比較。%Samp5_16closeall;figure(1)ws=[10002000]*2*pi;wp=[5002500]*2*pi;Rp=1;Rs=50;%濾波器設(shè)計參數(shù),乘以2轉(zhuǎn)換為弧度/s[N,Wn]=cheb1ord(wp,ws,Rp,Rs,'s');%求模擬濾波器的最小階數(shù)和截止頻率w=linspace(1,3000,1000)*2*pi;%設(shè)置計算復(fù)數(shù)頻率響應(yīng)的頻率點[b,a]=cheby1(N,Rp,Wn,'stop','s');%設(shè)計帶阻濾波器H=freqs(b,a,w);%計算給定頻率點的復(fù)數(shù)頻率響應(yīng)magH=abs(H);phaH=unwrap(angle(H));%求濾波器的幅頻響應(yīng)和相頻響應(yīng)plot(w/(2*pi),20*log10(magH));%以頻率為橫軸繪制幅頻響應(yīng)xlabel('頻率/Hz');ylabel('振幅/dB');title('Butterworth模擬帶阻濾波器');holdon;plot([10001000],ylim,'r');plot([20002000],ylim,'r');%繪阻帶邊界gridonfigure(2)dt=1/20000;f1=100;f2=1500;f3=2900;%輸入信號含有的頻率t=0:dt:0.04;%時間序列x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t)+0.5*sin(2*pi*f3*t);%輸入信號H=[tf(b,a)];%濾波器在MATLAB系統(tǒng)中的表示[y,t1]=lsim(H,x,t);%模擬輸出信號subplot(2,1,1),plot(t,x),title('輸入信號')%繪輸入信號subplot(2,1,2),plot(t1,y)%繪制輸出信號title('輸出信號'),xlabel('時間/s')圖5-21例5-16設(shè)計的帶阻濾波器的幅頻響應(yīng)圖中,兩條豎線表示阻帶邊界圖5-22例5-16檢測濾波器的輸入輸出信號程序的輸出結(jié)果見圖5-21和圖5-22??梢娫O(shè)計的帶阻濾波器完全符合要求,阻帶邊界達(dá)到50dB的衰減。模擬的輸出信號完全濾除了1500Hz的信號,模擬輸出信號中只含用100Hz和2900Hz的信號?!纠?-17】設(shè)計一個ChebyshevII型模擬帶阻濾波器,設(shè)計指標(biāo)與上例相同。%Samp5_17ws=[10002000]*2*pi;wp=[5002500]*2*pi;Rp=1;Rs=50;%濾波器設(shè)計參數(shù)[N,Wn]=cheb2ord(wp,ws,Rp,Rs,'s');%求濾波器的最小階數(shù)和截止頻率w=linspace(1,3000,1000)*2*pi;%設(shè)置計算復(fù)數(shù)頻率響應(yīng)的頻率點[b,a]=cheby2(N,Rs,Wn,'stop','s');%設(shè)計帶阻濾波器H=freqs(b,a,w);%計算給定頻率點的復(fù)數(shù)頻率響應(yīng)magH=abs(H);phaH=unwrap(angle(H));%計算幅頻響應(yīng)和相頻響應(yīng)plot(w/(2*pi),20*log10(magH));%以頻率為橫軸繪制幅頻響應(yīng)xlabel('頻率/Hz');ylabel('振幅/dB');title('ChebyshevII模擬帶阻濾波器')holdon;plot([10001000],ylim,'r');plot([20002000],ylim,'r');%阻帶邊界gridon圖5-23例5-17設(shè)計濾波器的幅頻響應(yīng)圖程序運行結(jié)果為圖5-23。可以看出濾波器在阻帶邊界處達(dá)到了下降50dB的要求,此濾波器在阻帶內(nèi)有振蕩,這正是ChebyshevII型濾波器的特點?!纠?-18】設(shè)計一個高通橢圓濾波器,設(shè)計性能指標(biāo)為:通帶邊界頻率wp=1500Hz,阻帶邊界頻率ws=1000Hz,通帶波紋Rp=1dB,阻帶衰減Rs=30dB。假設(shè)一個信號,其中f1=400Hz,f2=1600Hz。信號的采樣頻率為10000Hz。試將原信號與通過該濾波器的模擬信號進(jìn)行比較。%Samp5_18wp=1500*2*pi;ws=1000*2*pi;Rp=1;Rs=30;%濾波器設(shè)計參數(shù)[N,Wn]=ellipord(wp,ws,Rp,Rs,'s');%求濾波器的最小階數(shù)和截止頻率w=linspace(1,3000,1000)*2*pi;%給出計算復(fù)數(shù)頻率響應(yīng)的頻率點[b,a]=ellip(N,Rp,Rs,Wn,'high','s');%設(shè)計高通橢圓濾波器H=freqs(b,a,w);%計算給定頻率的復(fù)數(shù)頻率響應(yīng)magH=abs(H);phaH=unwrap(angle(H));%求幅頻響應(yīng)和相頻響應(yīng)figure(1)plot(w/(2*pi),20*log10(magH));%以頻率為橫軸繪幅頻響應(yīng)xlabel('頻率/Hz');ylabel('振幅/dB');title('橢圓模擬高通濾波器');holdon;plot([10001000],ylim,'r');%阻帶邊界gridonfigure(2)%給出另一個圖形窗口dt=1/10000;%采樣間隔f1=400;f2=1600;%信號中所含頻率成分t=0:dt:0.04;%時間序列x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t);%輸入信號H=[tf(b,a)];%濾波器在MATLAB系統(tǒng)中的表示[y,t1]=lsim(H,x,t);%模擬輸出subplot(2,1,1),plot(t,x),title('輸入信號')%繪輸入信號subplot(2,1,2),plot(t1,y)%繪制輸出信號title('輸出信號'),xlabel('時間/s')圖5-24例5-18設(shè)計濾波器的幅頻響應(yīng)圖圖5-25例5-18濾波器的輸入和輸出信號程序運行結(jié)果見圖5-24和圖5-25??梢娝O(shè)計的高通濾波器完全符合要求,在阻帶邊界下降的分貝數(shù)達(dá)30dB。并且通帶和阻帶均有波紋,這正是橢圓濾波器的特點。將該濾波器模擬輸入400Hz和1600Hz的信號后,輸出結(jié)果完全濾除了400Hz低頻成分,只含有1600Hz的信號?!纠?-19】設(shè)計一個五階Bessel低通模擬濾波器,截止頻率為200Hz1000rad/s,繪制濾波器的頻率特性圖。假設(shè)一個信號,其中f1=100Hz,f2=1000Hz。信號的采樣頻率為10000Hz。試將原信號與通過該濾波器的模擬信號進(jìn)行比較。%Samp5_19N=5;%濾波器階數(shù)Wn=200*2*pi1000;%邊界頻率[b,a]=besself(N,Wn);%設(shè)計Bessel濾波器figure(1)[H,w]=freqs(b,a,512);%繪出濾波器的復(fù)數(shù)頻率特性magH=abs(H);phaH=unwrap(angle(H));%求幅頻響應(yīng)和相頻響應(yīng)subplot(2,1,1),plot(w/(2*pi),20*log10(magH));%以頻率為橫軸繪幅頻響應(yīng)gridon;xlabel('頻率/Hz');ylabel('振幅/dB');subplot(2,1,2),plot(w/2/pi,angle(H)*180/pi);%繪制相頻響應(yīng)gridon;xlabel('頻率/Hz');ylabel('相位/^o')f

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論