MATLAB實現數字巴特沃斯高通IIR濾波器(雙線性變換法)_第1頁
MATLAB實現數字巴特沃斯高通IIR濾波器(雙線性變換法)_第2頁
MATLAB實現數字巴特沃斯高通IIR濾波器(雙線性變換法)_第3頁
MATLAB實現數字巴特沃斯高通IIR濾波器(雙線性變換法)_第4頁
MATLAB實現數字巴特沃斯高通IIR濾波器(雙線性變換法)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

摘要 2Abstract 31設計項目要求與說明 42系統設計 2.1設計思路 42.2設計方法對比 52.3典型模擬濾波器比較 62.4設計步驟 73仿真程序的設計與調試 83.1數字域指標變換成模擬域指標 83.2數字域頻率進行預畸變 83.3模擬濾波器的設計 3.4模擬濾波器變成數字濾波器 3.5理論計算數字濾波器的仿真 4.程序調試中出現的問題 5.總結與體會 參考文獻 附錄一總程序如下 附錄二設計數字濾波器函數總結 2此報告重點介紹了用雙線性不變法設計IIR數字濾波器的基本流程,比較了各種設計方法的優缺點,總結了模擬濾波器的性能特征。最后以雙線性不變法設計了一個高通巴特沃斯IIR數字濾波器,介紹了設計步驟,然后在Matlab環境下進行了仿真與調試,實現了設計目標。數字濾波器巴特沃斯高通大學《數字信號處理》報告3ThisreportintroducedwithemphasisofthebasicflowofdesigningtheIRdigitbythebilinearpoliticalreform,comparedwitheachkindofdesignmethod'sgoodandbadpoints,summarizedanalogfilter'sperfobythebilinearpoliticalreformtopassButterworthhighIRdigitfilter,introducedtheMatlabenvironment,hasachievedtheprojectobjective.Keyword:MatlabbilinearitypoliticalreformtheIIRdigitalfilterpasshighbutterworth大學《數字信號處理》報告4——設計一個數字巴特沃斯高通1設計項目要求與說明課題要求設計一個IR數字濾波器,高通,采用雙線性變換法,用巴特沃斯實現,用matlab軟件對其進行仿真與調試。本設計將先說明用雙線性法設計IR數字濾波器的原理,然后寫出基于matlab的軟件設計流程。在對設計進行調試,2系統設計此部分將詳細介紹IR數字濾波器的設計流程,比較各種設計方案的優劣。IIR濾波器設計的主要方法是先設計低通模擬濾波器,然后轉換為高通、帶通或帶阻數字濾波器。對于其他如高通,帶通,則通過頻率變換轉換為設計相應使得IIR數字濾波器設計變得非常簡單。總的來說,我的設計思路主要有以下兩思路一:從歸一化模擬低通原型出發,先在模擬域內經頻率變換成為所需類型的模擬濾波器;然后進行雙線性變換,由S域變換到Z域,而得到所需類型歸一化模擬低通原型沖激響應不變法雙線性變換法大學《數字信號處理》報告5圖2-1先頻率變換再離散思路二:先進行雙線性變換,將模擬低通原型濾波器變換成數字低通濾波器;然后在Z域內經數字頻率變換為所需類型的數字濾波器。數字原型低數字原型低通歸一化模擬低通原型或帶阻數字域圖2-2先離散再頻率變換以上兩種思路都可以,我最后選擇了第一種思路進行設計,即先在模擬域內經頻率變換成為所需類型的模擬濾波器;然后進行雙線性變換,由S域變換到Z域,而得到所需類型的數字濾波器。方案一:沖激響應不變法沖激相應不變法是從時域出發,要求數字濾波器的激響應h(n)對應于模擬濾波器ha(t)的等間隔抽樣,h(n)=ha(nT),其中T是抽樣周期,因此時域逼近良好。優點:①h(n)完全模仿模擬濾波器的單位抽樣響應時域逼近良好②線性相位模擬濾波器轉變為線性相位數字濾波器缺點:①對時域的采樣會造成頻域的“混疊效應”,故有可能使所設計數字濾波器的頻率響應與原來模擬濾波器的頻率響應相差很大,②不能用來設計高通和帶阻濾波器。只適用于限帶的低通、帶通濾波器方案二:雙線性變換法雙線性變換法是從頻域出發,使DF的頻率響應與AF的頻率響應相似的一種變換法。直接使數字濾波器的頻率響應,逼近模擬濾波器的頻率響應,進而求得H(z)。優點:①避免了頻率響應的混迭現象②在特定AF和特定DF處,頻率響應是嚴格相等的,它可以較準確地控制截止頻率的位置。大學《數字信號處理》報告6③它是一種簡單的代數關系,設計十分方便。缺點:①除了零頻率附近,o與Ω之間嚴重非線性,即線性相位模擬濾波器變為非線性相位數字濾波器②要求模擬濾波器的幅頻響應為分段常數型,不然會產生畸變③對于分段常數型AF濾波器,經雙線性變換后,仍得到幅頻特性為分段常數的DF.但在各個分段邊緣的臨界頻率點產生畸變,這種頻率的畸變,可通過頻率預畸變加以校正。方案三:頻率變換法設計思想:①從歸一化模擬低通原型出發,先在模擬域內經頻率變換成為所需類型的模擬濾波器;然后進行雙線性變換,由S域變換到Z域,而得到所需類型的數字濾波器。②先進行雙線性變換,將模擬低通原型濾波器變換成數字低通濾波器;然后在Z域內經數字頻率變換為所需類型的數字濾波器。綜上所述,頻率變換法是基于雙線性變換法或沖激響應不變法(用于頻帶變換),此處選擇雙線性變換法主要是基于要獲得嚴格的頻率響應,以及較準確地控制截止頻率的位置。而由于此種方法是一種簡單的代數關系,設計也十分方1、Butterworth巴特沃斯濾波器:它具有單調下降的幅頻特性;即最平幅2、Chebyshev切比雪夫濾波器:在通帶或阻帶等波紋,可提高選擇性。3.Bessel貝塞爾濾波器:在通帶內有較好的線性相位特性。4.Ellipse橢圓濾波器:其選擇性相對前三種是最好的。此處選擇巴特沃斯主要是想獲得最平穩的幅頻響應。而不計較相位特性,而用雙線性變換法也會將線性相位變為非線性相位。大學《數字信號處理》報告如設計一個數字低通濾波器,其技術指標為:通帶臨界頻率fp,通帶內衰減小于rp;①將指標變為角頻率wp=fp*2*pi;ws=fs*2*pi②將數字濾波器的頻率指標{Wk}由wk=(2/T)tan(Wk/2)轉換為模擬濾波器的頻率指標{wk},由于是用雙線性不變法設計,故先采取預畸變。(式2-2)③將高通指標轉換為低通指標,進而設計高通的s域模型④歸一化處理(式2-3)(式2-4);;●;(式2-5)由式2-3,2-4,2-5計算出N,查表可得模擬低通濾波器的階數,從而由下式確定模擬高通濾波器的參數。(式2-6)大學《數字信號處理》報告83仿真程序的設計與調試3.1數字域指標變換成模擬域指標fp=400;fs=300;Rp=1;ws=fs*2*pi;程序執行結果為:wp=2.5133e+003與實際計算結果相符。3.2數字域頻率進行預畸變經過預畸變,可以發現頻率變為:3.3模擬濾波器的設計其程序為%設計模擬濾波器[N,Wn]=buttord(wp2,ws2,Rp,Rs,'s')9…………之[z,p,k]=buttap(N);figure(1)freqs(Bap,Aap);%創建Buttord低通濾波器原型%由零極點轉換為傳遞函數的形式%模擬低通濾波器的頻率響應title(模擬濾波器(低通原型)的頻率響應)[Bbs,Abs]=lp2hp(Bap,Aap,Wn);%模擬低通變高通figure(2)freqs(Bbs,Abs);title(模擬濾波器的頻率響應)程序執行后可以發現其頻率響應為:N=4,N=4,其波形如下圖3-1Bi1sRditYiewInrurtToolsrTr圖3-1模擬濾波器的頻率響應由上圖分析可得:其符合高通的一般特征,與預期的效果一樣。而在此條件下,Butterworth濾波器低通原型的波形如下圖3-2。EindowHalp模擔濾波器的頻率響應Frequency(rad/s)Usaktop四燃……………rT大學《數字信號處理》報告圖3-2模擬濾波器(低通原型)的頻率響應在設計的過程中,涉及一個頻率變換的問題,即將模擬低通原型變為高通,其函數及用法如下:[b,a]=1p2hp(Bap,Aap,Wn);功能:把模擬濾波器原型轉換成截至頻率為Wn的高通濾波器。其中,Bap,Aap分別為低通傳遞函數的分子向量和分母向量;b,a分別為高通傳遞函數的分子向量和分母向量。3.4模擬濾波器變成數字濾波器[Bbz,Abz]=bilinear(Bbs,Abs,FS);%用雙線性變換法設計數字濾波器freqz(Bbz,Abz,512,FS);程序運行的結果為:如下圖3-2,圖3-3大學《數字信號處理》報告FileEditYiewInsertToolsDe數字濾波器的頻率響應0000y圖3-2數字濾波器的頻率響應由于使用的是雙線性不變法設計的,其相位為非線性。此處主要是基于要獲得嚴格的頻率響應,以及較準確地控制截止頻率的位置,故畫出了詳細的幅頻響應。(如下圖3-2)圖3-3詳細的幅頻響應分析該圖可知其在0.6(即300Hz)處的衰減為40dB,而在0.8(即400Hz)當阻帶衰減變為40dB(之前為20dB),通帶不變時,其波形如下圖3-4。對當通帶變為5dB時,阻帶不變時,其波形如下圖3-5。對比圖3-3可知,其在通帶處的衰減變為了5dB,曲線平滑了一些。大學《數字信號處理》報告圖3-5詳細的幅頻響應(通帶衰減為5dB)3.5理論計算數字濾波器的仿真wp=0.8*pi;ws=0.6*pi;OmegaP=2*1000*tan(wp/2);OmegaS=2*1000*tan(ws/2);lamdas=OmegaP/OmegaS;N=0.5*log10((10.^(20/10)-1)/(10.^(1/10)-1))/log10(lamdas);%筆算的結果為N=3.6947;故取N=4%此處為計算高通的傳遞函數Wn=4.8890e+003az=[00001];bz=[12.6133.414,2.613,1];[Bbs,Abs]=lp2hp(az,bz,Wn)%用雙線性不變法處理[Bbz,Abz]=bilinear(Bbs,Abs,1000);其運行結果為:N=3.6947;圖形如圖3-6圖3-6理論計算的濾波器的幅頻響應綜上所述,本濾波器以四階即實現了預期的設計目標:采樣頻率為1000H·,大學《數字信號處理》報告通帶臨界頻率fp=400Hz,通帶內衰減小于1dB(αp=1);阻帶臨界頻率fs=300Hz,阻帶內衰減大于20dB(αs=25),其在通帶內的性能更好。4.程序調試中出現的問題1.在使用巴特沃斯函數獲取其階數時發現,調用函數時有點思路要理清,對于其函數[N,Wn]=buttord(wp2,ws2,Rp,Rs,'s’),若有后面的‘s’,N=4;而缺省時,N=6;經查資料發現,當有‘s’時,其表示的是模擬Butterworth濾波器,而缺省時是數字Butterworth濾波器。2.一個線性是不變系統的典型表達式有狀態空間型、傳遞函數型、零極增益型、極點留數型共四種,在開始的設計過程中我發現在把零極點增益型向傳遞函數型的轉換過程中多用了一步,即先把零極點增益型轉換為狀態空間型,進行相應的頻率變換和雙線性變換后,再由狀態空間型轉換為傳遞函數型,進而繪制出其頻率響應圖,但是經仿真分析后發現,性能并不理想,所以并沒有采用。3.freqs(Bbs,Abs)與freqz(Bbz,Abz,512,FS)剛開始時分得不是很清楚,后來發現前者是求模擬域頻率響應的,而后者是求數字域頻率響應的。后者的用法如下:[[h,w]=]freqz(b,a,n[,’whole’]);或[h,f]=freqz(b,a,n[,’whole’],Fs);式中,b,a為數字濾波器分子和分母多項式的系數,n為復數頻率的響應點數,為整數,最好為2的冪,缺省時為512;Fs為采樣頻率,單位Hz。如果給定該值,則f位置輸出為頻率Hz,若沒有給定,則按角頻率(Angularfrequency)給定f的頻率矢量;’whole’表示返回的頻率f或w值包含z平面整個單位圓頻率矢量,即0~2π;缺省時,頻率f或w值包含z平面上半單位圓(0~π)之間點頻率向量(單位rad);f為n點頻率向量(Hz)。函數返回值缺省時,繪制幅頻響應和相頻響應圖5.總結與體會軟件,特別是濾波器設計中的函數基本上處于一大學《數字信號處理》報告種模糊狀態。通過在學校的電子資源的期刊網上找了些論文資料,借閱圖書,一點一滴的自學,以及和同學不斷的交流,最后完成了這次課設,對濾波器的設計有了比較清楚的了解。在課程設計的過程中,我學到了很多東西,比如設計濾波器的一些基本函數的用法,各種模擬濾波器的特性,設計濾波器的一些基本方法。但更為重要的是,我對于解決一個問題的思路更加清晰,找到了屬于自己的方法。當然,在設計的過程中,不可能避免的遇到了很多問題,如剛開始思路比較混亂,沒有明確的方向。主要是如何將理論計算的模型轉換為仿真模型。因為在理論上,將低通轉換成高通,一般是變換將高通頻率特征轉換成低通原型頻率特征;而在軟件設計中,是對其傳遞函數進行修改,即變換其z域的表達式,設計初期一直不知道如何將其聯系起來。后來發現,其實變換傳遞函數,也就是變換頻率特征,是將變換后的頻率代入原低通模型,而后得到高通模型的??偟膩碚f,這次課程設計讓我對MATLAB有了更深刻的了解,對數字濾波器的設計流程有了大致的了解,掌握了一些設計濾波器的基本方法,提高了理論用于實踐的能力,掌握了更多專業相關的使用知識與技能。同時,也暴露了我很多的不足,在以后的學習中,將進一步發揚有點,克服缺點。大學《數字信號處理》報告參考文獻在電子信息課程中的應用(第二版)·電子工業出版社·2006[2]郭仕劍·MATLAB7.X數字信號處理·人民郵電出版社·2006年[3]陳貴明·用MATLAB語言處理數字信號與數字圖像·科學出版社·2000年[4]王家文·MATLAB7.0圖形圖像處理·國防工業出版社·2006年[5]蘇金明·MATLAB圖形圖像·電子工業出版社·2005[6]朱銘鋯·DSP應用系統設計[M]·電子工業出版社·2002.附錄一總程序如下wp=fp*2*pi;ws=fs*2*pi;FS=1000;T=1/FS%歸一化數字頻率Wp=wp/(FS);Ws=ws/(FS);%頻率預畸變:數字域頻率wp2=2*tan(Wp/2)/T;ws2=2*tan(Ws/2)/T;%設計模擬濾波器[N,Wn]=buttord(wp2,ws2,Rp,Rs,'s')[Bap,Aap]=zp2tf(z,p,kfreqs(Bap,Aap);%通帶最大衰減Rp=1dB%阻帶最小衰減Rs=20dB%把數字域濾波器特征換成模擬濾波器%預畸變求濾波器通帶臨界頻率%預畸變求濾波器阻帶臨界頻率%創建Buttord低通濾波器原型%由零極點轉換為傳遞函數的形式%模擬低通濾波器的頻率響應title(模擬濾波器(低通原型)的頻率響應)[Bbs,Abs]=lp2hp(Bap,Aap,Wn);%模擬低通變高通freqs(Bbs,Abs);title('模擬濾波器的頻率響應’)%用雙線性不變法變換成數字濾波器[Bbz,Abz]=bilinear(Bbs,Abs,FS):%雙線性變換%求其頻率響應freqz(Bbz,Abz,512,FS);title('數字濾波器的頻率響應)%詳細顯示數字濾波器的幅頻響應[hw,w]=freqz(Bbz,Abz,512);plot(w/pi,20*log10(abs(hw)));axis([0,1,-200,10])title('ButterworthTypeHighpassDigitalFilter')%下面將筆算的結果仿真wp=0.8*pi;ws=0.6*pi;OmegaP=2*1000*tan(wp/2);OmegaS=2*1000*tan(ws/2);lamdas=OmegaP/OmegaS;N=0.5*log10((10.^(20/10)-1)/(10.^(1/10)-1))/log10(lamdas);%筆算的結果為N=3.6947;故取N=4%此處為計算高通的傳遞函數Wn=4.8890e+003az=[00001];[Bbs,Abs]=lp2hp(az,bz,Wn)%用雙線性不變法處理i[Bbz,Abz]=bilinear(Bbs,Abs,1000);%畫圖[hw,w]=freqz(Bbz,Abz,512);plot(w/pi,20*log10(abs(hw)));axis([0,1,-200,10])set(gca,'XTickMode','manual','XTick',[0,Ws/(pi),Wp/(pi),1]);gridtitle('理論計算的濾波器的幅頻響應xlabel('w/pi');ylabel('幅度(dB));附錄二設計數字濾波器函數總結其中Wp和Ws分別是通帶和阻帶的拐角頻率(截止頻率),其取值范圍為0至1之間。當其值為1時代表采樣頻率的一半。Rp和Rs分別是通帶和阻帶區的波紋cheby1函數的用法為:在使用cheby1函數設計IR濾波器之前,可使用cheblord函數求出濾波器階數n和截止頻率Wn。cheblord函數可在給定濾波器性能的情況下,選擇契比雪夫I型濾波器的最小階和截止頻率Wn。其中Wp和Ws分別是通帶和阻帶的拐角頻率(截止頻率),其取值范圍為0至1之間。當其值為1時代表采樣頻率的一半。Rp和Rs分別是通帶和阻帶區的波紋其中n代表濾波器階數,Wn代表濾波器的截止頻率,這兩個參數可使用buttord函數來確定。buttord函數可在給定濾波器性能的情況下,求出巴特沃斯濾波器的最小階數n,同時給出對應的截止頻率Wn。6.[bz,az]=impinvar(b,a[[,Fs[,Fp])式中,b,a為模擬濾波器分子和分母多項式系數向量;Fs為采樣頻率(所濾波數據),單位Hz,缺省時為1Hz。Fp為預畸變頻率(Prewarpedfrequency),是一個“匹配”頻率,在該頻率上,頻率響應在變換前后和模擬頻率可精確匹配在MATLAB中,函數bilinear采用雙線性變換法實現模擬s域至數字z域的映射,直接用于模擬濾波器變換為數字濾波器。其調用方式為:[zd,pd,kd]=bilinear(z,p,k,Fs)[numd,dend]=bilinear(num,den,Fs)采樣頻率,單位Hz。zd,pd,kd為數字濾波器的零極點和增益。num,den分別為模擬濾波器傳遞函數分子和分母多項式系數向量,模擬濾波器傳遞函數具有下面numd和dend分別為數字濾波器傳遞函數分子和分母多項式系數向量。7.函數freqz用于求數字濾波器的頻率響應,其調用格式為:[[h,w]=]freqz(b,a,n[,’whole’]);或[h,f]=freqz(b,a,n[,'whole’],Fs);式中,b,a為數字濾波器分子和分母多項式的系數,n為復數頻率的響應點數,為整數,最好為2的冪,缺省時為512;Fs為采樣頻率,單位Hz。如果給定該值,則f位置輸出為頻率Hz,若沒有給定,則按角頻率(Angularfrequency)給定f的頻率矢量;’whole’表示返回的頻率f或w值包含z平面整個單位圓頻率矢量,即0~2π;缺省時,頻率f或w值包含z平面上半單位圓(0~π)之間等間距n個點頻率矢量。h為復頻率響應;w為n點頻率向量(單位rad);f為n點頻率向量(Hz)。函數返回值缺省時,繪制幅頻響應和相頻響應圖8.impz用于產生數字濾波器的脈沖響應。調用格式為:[[h,t]=]impz(b,a[,n,Fs])大學《數字信號處理》報告式中,b,a分別為濾波器分子和分母多項式系數向量;n為采樣點數;Fs為采樣頻率,缺省值為1;h為濾波器單位脈沖響應向量;t為和h對應的時間向量。當函數輸出缺省時,繪制濾波器脈

溫馨提示

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

評論

0/150

提交評論