基于Matlab的FIR濾波器設(shè)計與實現(xiàn) - sunev - 博客園(共17頁)_第1頁
基于Matlab的FIR濾波器設(shè)計與實現(xiàn) - sunev - 博客園(共17頁)_第2頁
基于Matlab的FIR濾波器設(shè)計與實現(xiàn) - sunev - 博客園(共17頁)_第3頁
基于Matlab的FIR濾波器設(shè)計與實現(xiàn) - sunev - 博客園(共17頁)_第4頁
基于Matlab的FIR濾波器設(shè)計與實現(xiàn) - sunev - 博客園(共17頁)_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 HYPERLINK /sunev/ sunev HYPERLINK / 博客園 HYPERLINK /ing/ 閃存 HYPERLINK /sunev/ 首頁 HYPERLINK /EditPosts.aspx?opt=1 新隨筆(sub) HYPERLINK /msg/send/sunev 聯(lián)系(linx) HYPERLINK / 管理(gunl) HYPERLINK /sunev/rss 訂閱 隨筆- 43 文章- 0 評論- 162 HYPERLINK /sunev/archive/2011/11/23/2260579.html 基于Matlab的FIR濾波器設(shè)計與實現(xiàn) 一、摘要前面一

2、篇文章介紹了通過FDATool工具箱實現(xiàn)濾波器的設(shè)計,見“ HYPERLINK /sunev/archive/2011/11/22/2258426.html 基于Matlab中FDATool工具箱的濾波器設(shè)計及相關(guān)文件的生成”,這里通過幾個例子說明采用Matlab語言設(shè)計FIR濾波器的過程。二、實驗平臺Matlab7.1三、實驗原理以低通濾波器為例,其常用的設(shè)計指標(biāo)有:通帶邊緣頻率fp(數(shù)字頻率為p)阻帶邊緣頻率fst(數(shù)字頻率為st)通帶內(nèi)最大紋波衰減p=-20log10(1-p),單位為 dB阻帶最小衰減s=-20log10(s),單位為 dB阻帶起伏s通帶峰值起伏p其中,以1、2、3、4

3、條最為常用。5、6條在程序中估算濾波器階數(shù)等參數(shù)時會用到。數(shù)字頻率 = 模擬頻率/采樣頻率四、實例(shl)分析例1用凱塞窗設(shè)計一FIR低通濾波器,通帶邊界(binji)頻率p=0.3pi,阻帶邊界頻率s=0.5pi,阻帶(z di)衰減s不小于50dB。方法一:手動計算濾波器階數(shù)N和值,之后在通過程序設(shè)計出濾波器。第一步:通過過渡帶寬度和阻帶衰減,計算濾波器的階數(shù)B和值。第二步:通過程序設(shè)計濾波器。程序如下:b=fir1(29,0.4,kaiser(30,4.55);h1,w1=freqz(b,1);plot(w1/pi,20*log10(abs(h1);axis(0,1,-80,10);g

4、rid;xlabel(歸一化頻率/p);ylabel(幅度/dB);波形如下:方法(fngf)二:采用(ciyng)n,Wn,beta,ftype=kaiserord(f,a,dev)函數(shù)來估計(gj)濾波器階數(shù)等,得到凱塞窗濾波器。這里的函數(shù)kaiserord(f,a,dev)或者kaiserord(f,a,dev,fs):f為對應(yīng)的頻率,fs為采樣頻率;當(dāng)f用數(shù)字頻率表示時,fs則不需要寫。a=10為由f指定的各個頻帶上的幅值向量,一般只有0和1表示;a和f長度關(guān)系為(2*a的長度)- 2=(f的長度)devs=0.0510(-2.5)用于指定各個頻帶輸出濾波器的頻率響應(yīng)與其期望幅值之間的

5、最大輸出誤差或偏差,長度與a相等,計算公式:阻帶衰減誤差=s,通帶衰減誤差=p,可有濾波器指標(biāo)中的3、4條得到。fs缺省為2Hz。程序如下:fcuts=0.30.5;%歸一化頻率omega/pi,這里指通帶截止頻率、阻帶起始頻率mags=10;devs=0.0510(-2.5);n,Wn,beta,ftype=kaiserord(fcuts,mags,devs);%計算出凱塞窗N,beta的值hh=fir1(n,Wn,ftype,kaiser(n+1,beta),noscale);freqz(hh);波形如下:實際(shj)中,一般調(diào)用MATLAB信號處理工具箱函數(shù)remezord來計算等波紋

6、濾波器階數(shù)N和加權(quán)函數(shù)W(),調(diào)用函數(shù)remez可進行等波紋濾波器的設(shè)計,直接求出濾波器系數(shù)。函數(shù)remezord中的數(shù)組fedge為通帶和阻帶(z di)邊界頻率,數(shù)組mval是兩個邊界處的幅值,而數(shù)組dev是通帶和阻帶的波動,fs是采樣頻率單位為Hz。例2 利用(lyng)雷米茲交替算法設(shè)計等波紋濾波器,設(shè)計一個線性相位低通FIR數(shù)字濾波器,其指標(biāo)為:通帶邊界頻率fc=800Hz,阻帶邊界fr=1000Hz,通帶波動阻帶最小衰減At=40dB,采樣頻率fs=4000Hz。解:在MATLAB中可以用remezord和remez兩個函數(shù)設(shè)計程序如下:fedge=8001000;mval=10;

7、dev=0.05590.01;fs=4000;N,fpts,mag,wt=remezord(fedge,mval,dev,fs);b=remez(N,fpts,mag,wt);h,w=freqz(b,1,256);plot(w*2000/pi,20*log10(abs(h);grid;xlabel(頻率(pnl)/Hz);ylabel(幅度(fd)/dB);波形(b xn)如下:例3利用MATLAB編程設(shè)計一個數(shù)字帶通濾波器,指標(biāo)(zhbio)要求如下:通帶邊緣頻率:p1=0.45pi,p2=0.65pi,通帶峰值(fn zh)起伏:1=40dB。方法一:窗函數(shù)法程序如下:n,wn,bta,f

8、type=kaiserord(0.30.450.650.8,010,0.010.10870.01);%用kaiserord函數(shù)估計出濾波器階數(shù)n和beta參數(shù)h1=fir1(n,wn,ftype,kaiser(n+1,bta),noscale);hh1,w1=freqz(h1,1,256);figure(1)subplot(2,1,1)plot(w1/pi,20*log10(abs(hh1)gridxlabel(歸一化頻率w);ylabel(幅度/db);subplot(2,1,2)plot(w1/pi,angle(hh1)gridxlabel(歸一化頻率(pnl)w);ylabel(相位/r

9、ad);波形(b xn)如下:濾波器系數(shù)(xsh)為:h1=Columns1through80.00410.0055-0.0091-0.0018-0.0056-0.00000.0391-0.0152Columns9through16-0.03810.0077-0.02930.09400.0907-0.2630-0.05170.3500Columns17through24-0.0517-0.26300.09070.0940-0.02930.0077-0.0381-0.0152Columns25through310.0391-0.0000-0.0056-0.0018-0.00910.00550.0

10、041如果(rgu)直接用freqz(h1,1,256),得幅頻特性和相頻特性曲線:方法(fngf)二:等波紋(bwn)法設(shè)計程序如下:n,fpts,mag,wt=remezord(0.3 0.45 0.65 0.8,0 1 0,0.01 0.1087 0.01);%用remezord函數(shù)估算出remez函數(shù)要用到的階n、歸一化頻帶邊緣矢量fpts、頻帶內(nèi)幅值響應(yīng)矢量mag及加權(quán)矢量w,使remez函數(shù)設(shè)計出的濾波器滿足f、a及dev指定的性能要求。h2=remez(n,fpts,mag,wt);%設(shè)計出等波紋濾波器hh2,w2=freqz(h2,1,256);figure(2)subplot

11、(2,1,1)plot(w2/pi,20*log10(abs(hh2)gridxlabel(歸一化頻率w);ylabel(幅度/db);subplot(2,1,2)plot(w2/pi,angle(hh2)gridxlabel(歸一化頻率w);ylabel(相位/rad);h2波形(b xn)如下:濾波器系數(shù)(xsh)如下:h2=Columns1through9-0.00130.0092-0.0255-0.06420.11770.0922-0.2466-0.04660.3116Columns10through17-0.0466-0.24660.09220.1177-0.0642-0.02550

12、.0092-0.0013如果直接(zhji)用freqz(h2,1,256);得幅頻特性和相頻特性曲線:方法三:采用(ciyng)FDATool工具這種方法需要事先計算出濾波器的階數(shù),bate值,然后設(shè)置相應(yīng)(xingyng)參數(shù),最后生成濾波器。設(shè)置界面如下圖所示:將上述圈圈的區(qū)域設(shè)置好之后,生成濾波器,最后通過analysis菜單可以觀察生成的濾波器的各種特性曲線和濾波器系數(shù)。這里的濾波器系數(shù)跟方法(fngf)一的一樣。波形(b xn)如下:五、結(jié)果(ji gu)分析5.1 濾波器設(shè)計(shj)總結(jié)FIR濾波器實現(xiàn)一般采用窗函數(shù)法和等紋波設(shè)計法。窗函數(shù)法還包含兩個分支(fnzh),一種是用

13、公式先手動算出N值和其他對應(yīng)得窗函數(shù)參數(shù)值,再代入窗函數(shù)和fir1實現(xiàn),一種是用函數(shù)*rord估算出N和相應(yīng)參數(shù)再用fir1實現(xiàn)。不過要注意*rord會低估或高估階次n,可能會使濾波器達不到指定的性能,這時應(yīng)稍微增加或降低階次。如果截止頻率在0或Nyquist頻率附近,或者設(shè)定的dev值較大,則得不到正確結(jié)果。濾波器實現(xiàn)形式及特點:由于一般的濾波器在利用窗函數(shù)是其通帶波紋和阻帶波紋不同(一般為第一個阻帶波紋最大)因此,在滿足第一個阻帶衰減旁瓣時,比其頻率高的旁瓣,它們的衰減都大大超出要求。而根據(jù)阻帶衰減與項數(shù)的近似關(guān)系N = P(2)*fs/TW,可得當(dāng)阻帶衰減越大,所需項數(shù)越多。5.2 窗函

14、數(shù)法和等波紋設(shè)計的不同之處窗函數(shù)設(shè)計是通過最小平方積分辦法來設(shè)計的,即該濾波器的誤差為:即要求最小方法來設(shè)計濾波器,這樣的濾波器更忠實于理想濾波器(即濾波系數(shù)更接近于理想濾波器)。證明如下:因此(ync),幅度頻譜差值越小,實際濾波器就越接近理想濾波器。而等波紋(bwn)濾波器是通過最大加權(quán)誤差最小化來實現(xiàn),其誤差為:要求該誤差最小來實現(xiàn)濾波器,得出來的濾波系數(shù)較窗函數(shù)設(shè)計(shj)相差較遠。以下通過對例3中的h1及h2作比較。%sigsum是用來對數(shù)組各元素進行求和functiony=sigsum(n1,n2,n,x);y=0;fori=n1+1-min(n):n2+1-min(n)y=y+

15、x(i);endn=0.001:30.001;h=2*cos(0.55*pi*(n-15).*sin(0.175*pi*(n-15)./(pi*(n-15);delta1=h-h1;n=0.001:16.001;h=2*cos(0.55*pi*(n-15).*sin(0.175*pi*(n-15)./(pi*(n-15);delta2=h-h2;y1=sigsum(0,30,0:30,(abs(delta1).2)/31;y2=sigsum(0,16,0:16,(abs(delta2).2)/17;結(jié)果(ji gu)如下:y1=1.9099e-004y2=0.0278由此得到用窗函數(shù)實現(xiàn)的濾波

16、系數(shù)(xsh)比用等波紋濾波器系數(shù)的每一項更接近于理想濾波器(y1為用窗函數(shù)(hnsh)實現(xiàn)的與理想濾波器的差值,y2為用等波紋濾波器實現(xiàn)的與理想濾波器的差值);對比二者的幅度頻譜可知,等波紋濾波器阻帶邊緣比用窗函數(shù)(hnsh)實現(xiàn)的更平滑(理想濾波器為垂直下降的)。從設(shè)計的角度考慮,由于窗函數(shù)設(shè)計法都是通過已有的窗函數(shù)對理想濾波器的改造,因此,可以(ky)用手算的辦法方便的設(shè)計濾波器。而等波紋濾波器,其實現(xiàn)是通過大量的迭代運算來實現(xiàn),這樣的方法一般只能通過軟件(run jin)來設(shè)計。項數(shù)的問題(wnt)由于等波紋濾波器能較平均的分布誤差,因此對于相同的阻帶衰減,其所需的濾波系數(shù)比窗函數(shù)的要

17、少。5.3幾點說明(shumng)1.相頻特性曲線形狀不同(b tn)說明上面第一個圖是用角度為單位畫出來的,下面的圖是用rad單位畫出來的。從圖形可以觀察到在0.3到0.8數(shù)字頻率間兩個圖都是嚴(yán)格的線性相位,至于下面的圖為什么在這個區(qū)間會有跳變是因為rad的區(qū)間只有-pipi,當(dāng)相位由-pi繼續(xù)增加時只能跳到pi而不能大于pi,而角度表示則可以連續(xù)增大。2.調(diào)用firl或者reme函數(shù)時,用scale(缺省方式)對濾波器進行歸一化,即濾波器通帶中心頻率處的響應(yīng)幅值為0db。用noscale不對濾波器歸一化。posted 2011-11-23 17:19 HYPERLINK /sunev/ sunev 閱讀(yud)(.) 評論(.) HYPERLINK /EditPosts.aspx?postid=2260579 編輯(binj) HYPERLINK /sunev/archive/2011/11/23/2260579.html 收藏(shucng) HYPERLINK javascript:void(0); 刷新評論 HYPERLINK /sunev/archive/2011/11/23/2260579.html 刷新頁面 HYPERLINK /sunev/archive/2011/11/23/2

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論