數(shù)字信號處理 FIR濾波器學習資料_第1頁
數(shù)字信號處理 FIR濾波器學習資料_第2頁
數(shù)字信號處理 FIR濾波器學習資料_第3頁
數(shù)字信號處理 FIR濾波器學習資料_第4頁
數(shù)字信號處理 FIR濾波器學習資料_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

FIR濾波器的設(shè)計一、窗函數(shù)設(shè)計法

MATLAB提供了幾個子程序來實現(xiàn)各種窗函數(shù)。

w=boxcar(M) 數(shù)組w中返回M點矩形窗函數(shù)

w=triang(M) 數(shù)組w中返回M點Bartlett(三角)窗函數(shù)

w=hanning(M) 數(shù)組w中返回M點漢寧窗函數(shù)

w=hamming(M) 數(shù)組w中返回M點哈明窗函數(shù)

w=blackman(M) 數(shù)組w中返回M點布萊克曼窗函數(shù)

w=kaiser(M,beta) 數(shù)組w中返回beta值M點凱澤窗函數(shù)

設(shè)計FIR濾波器還需要一個理想低通脈沖響應(yīng)hd(n)。

下面的子程序用于產(chǎn)生hd(n)。

functionhd=ideal_lp(wc,M);

%IdealLowPassfiltercomputation

%[hd]=ideal_lp(wc,M)

%hd=0到

M-1之間的理想脈沖響應(yīng)

%wc=截止頻率(弧度)

%M=理想濾波器的長度

alpha=(M-1)/2;

n=[0:1:(M-1)];

m=n-alpha+eps;

hd=sin(wc*m)./(pi*m);

根據(jù)給定的濾波器技術(shù)指標,選擇濾波器長度M和窗函數(shù)w(n)窗函數(shù)名稱旁瓣峰值衰減近似過渡帶寬精確過渡帶寬最小阻帶衰減矩形13db4π/M1.8π/M21dB三角25db8π/M6.1π/M25dB漢寧31db8π/M6.2π/M44dB哈明41db8π/M6.6π/M53dB布萊克曼57db12π/M11π/M74dB此外,凱澤窗的設(shè)計公式如下:

給定ωp、ωs、Rp、As

歸一化過渡帶寬=Δf=(ωs-ωp)/2π

濾波器階數(shù)

0.1102(As-8.7)As≥50

參數(shù)β=

0.5842(As-21)0.4+0.07886(As-21)21<As<50例1:根據(jù)下列技術(shù)指標,是一個數(shù)字FIR低通濾波器:

通帶截止頻率:Ωp=0.2π,通帶波動:Rp=0。25dB

阻帶截止頻率:Ωs=0.3π,阻帶波動:As=50dBwp=0.2*pi;ws=0.3*pi;%輸入濾波器指標

tr_width=ws-wp;%計算過渡帶寬

M=ceil(6.6*pi/tr_width)%計算濾波器階數(shù)M

n=[0:1:M-1];

wc=(ws+wp)/2;%近似截止頻率wc

hd=ideal_lp(wc,M);%計算理想hd(n)

w_ham=(hamming(M))‘;%計算窗函數(shù)(哈明窗)

h=hd.*w_ham;%計算h(n)

%畫圖

[H,W]=freqz(h,1);

subplot(2,2,1);stem(n,hd);

title('理想脈沖響應(yīng)');axis([0,M-1,-0.1,0.3]);grid

subplot(2,2,2);stem(n,w_ham);

title('哈明窗');axis([0,M-1,0,1.1]);grid

subplot(2,2,3);stem(n,h);

title('實際脈沖響應(yīng)');axis([0,M-1,-0.1,0.3]);grid

subplot(2,2,4);plot(W/pi,20*log10(abs(H)));

title('幅度響應(yīng)');axis([0,1,-100,10]);grid例2:利用例1給出的設(shè)計技術(shù)指標,選擇凱澤窗,設(shè)計出所需

的低通濾波器。

wp=0.2*pi;ws=0.3*pi;As=50;

tr_width=ws-wp;

M=ceil((As-7.95)/(14.36*tr_width/(2*pi))+1)

n=[0:1:M-1];

beta=0.1102*(As-8.7)

wc=(ws+wp)/2;

hd=ideal_lp(wc,M);

w_kai=(kaiser(M,beta))';

h=hd.*w_kai;%畫圖

[H,W]=freqz(h,1);

subplot(2,2,1);stem(n,hd);

title('理想脈沖響應(yīng)');axis([0,M-1,-0.1,0.3]);grid

subplot(2,2,2);stem(n,w_kai);

title('凱澤窗');axis([0,M-1,0,1.1]);grid

subplot(2,2,3);stem(n,h);

title('實際脈沖響應(yīng)');axis([0,M-1,-0.1,0.3]);grid

subplot(2,2,4);plot(W/pi,20*log10(abs(H)));

title('幅度響應(yīng)');axis([0,1,100,10]);grid例3:設(shè)計下面的數(shù)字帶通濾波器.

低阻帶邊緣:ω1s=0.2π,As=60dB

低通帶邊緣:ω1p=0.35π,Rp=1dB

高通帶邊緣:ω2p=0.65π,Rp=1dB

高阻帶邊緣:ω2s=0.8π,As=60dBws1=0.2*pi;wp1=0.35*pi;

wp2=0.65*pi;ws2=0.8*pi;As=60;

tr_width=min((wp1-ws1),(ws2-wp2))

M=ceil(11*pi/tr_width)

n=[0:1:M-1];

wc1=(ws1+wp1)/2;wc2=(wp2+ws2)/2;

hd=ideal_lp(wc2,M)-ideal_lp(wc1,M);

w_bla=(blackman(M))';

h=hd.*w_bla;

%畫圖

[H,W]=freqz(h,1);

subplot(2,2,1);stem(n,hd);title('理想脈沖響應(yīng)');grid

subplot(2,2,2);stem(n,w_bla);title('布萊克曼窗');grid;

subplot(2,2,3);stem(n,h);title('實際脈沖響應(yīng)');grid;

subplot(2,2,4);plot(W/pi,20*log10(abs(H)));

title('幅度響應(yīng)(dB)');grid;二、利用fir1函數(shù)設(shè)計FIR濾波器MATLAB提供函數(shù)fir1實現(xiàn)FIR濾波器的窗函數(shù)設(shè)計。

函數(shù)格式:

b=fir1(n,wn);

b=fir1(n,wn,’ftype’);

b=fir1(n,wn,window);

b=fir1(n,wn,’ftype’,window);

fir1函數(shù)用經(jīng)典方法實現(xiàn)加窗線性相位FIR數(shù)字濾波器的設(shè)計。

(1)b=fir1(n,wn);可以設(shè)計n階線性相位的低通FIR數(shù)字濾波器,濾波器系數(shù)于b中。

B(z)=b(1)+b(2)z-1+b(3)z-2+…+b(n+1)z-n

注:①此時用默認的哈明窗來設(shè)計FIR濾波器。

②wn以pi為單位,0≤wn≤1。

③當wn=[w1w2]時,則表示設(shè)計的濾波器是帶通濾波器。

④b(n)的下標從1開始。

(2)b=fir1(n,wn,’ftype’);可以設(shè)計n階線性相位的高通或帶阻FIR數(shù)字濾波器,濾波器系數(shù)于b中。

B(z)=b(1)+b(2)z-1+b(3)z-2+…+b(n+1)z-n

當’ftype’為’high’時,設(shè)計高通FIR濾波器。

當’ftype’為’stop’時,設(shè)計帶阻FIR濾波器,此時wn=[w1w2]。在設(shè)計高通或帶阻濾波器時,若n為奇數(shù),則函數(shù)fir1會將其自動加1,使其成為偶數(shù)。這樣就保證了h(n)有奇數(shù)個,從而滿足線性相位高通和帶阻FIR濾波器的設(shè)計要求。此時同樣默認為哈明窗。

(3)b=fir1(n,wn,window);它與(1)的區(qū)別在于可以自由地選擇不同的窗來完成線性相位FIR濾波器的設(shè)計。

w=boxcar(M)

數(shù)組w中返回M點矩形窗函數(shù)

w=triang(M)

數(shù)組w中返回M點Bartlett(三角)窗函數(shù)

w=hanning(M)

數(shù)組w中返回M點漢寧窗函數(shù)

w=hamming(M)

數(shù)組w中返回M點哈明窗函數(shù)

w=blackman(M)

數(shù)組w中返回M點布萊克曼窗函數(shù)

w=kaiser(M,beta)

數(shù)組w中返回beta值M點凱澤窗函數(shù)

注意:窗的長度應(yīng)為M=n+1,它應(yīng)該與h(n)的點數(shù)相同。(4)b=fir1(n,wn,’ftype’,window);它可以用任意的窗函數(shù)設(shè)計不同的線性相位的高通或帶阻FIR濾波器

。

例4:根據(jù)下列技術(shù)指標,設(shè)計一個數(shù)字FIR低通濾波器:

wp=0.2π,ws=0.3π,Rp=0.25dB,As=50dB。(1)若選擇哈明窗設(shè)計:

wp=0.2*pi;ws=0.3*pi;

tr_width=ws-wp;

M=ceil(6.6*pi/tr_width)

n=[0:1:M-1];

wc=(ws+wp)/2;

h=fir1(M,wc/pi);

[H,W]=freqz(h,1);

plot(W/pi,20*log10(abs(H)));(2)若選擇布萊克曼窗設(shè)計:

wp=0.2*pi;ws=0.3*pi;

tr_width=ws-wp;

M=ceil(6.6*pi/tr_width)

n=[0:1:M-1];

wc=(ws+wp)/2;

h=fir1(M,wc/pi,blackman(M+1));

[H,W]=freqz(h,1);

plot(W/pi,20*log10(abs(H)));三、頻率采樣設(shè)計法例5:用頻率采樣方法設(shè)計一個FIR濾波器,其設(shè)計指標為

wp=0.2π,ws=0.3π,Rp=0.25dB,As=50dB。

M=20;alpha=(M-1)/2;

l=0:M-1;wl=(2*pi/M)*l;

Hrs=[1,1,1,zeros(1,15),1,1];

Hdr=[1,1,0,0];wdl=[0,0.25,0.25,1];

H=Hrs.*exp(j*angH);

h=real(ifft(H,M));

[Ha,w]=freqz(h,1);

[Hr,ww,a,L]=Hr_T

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論