實驗四用窗函數(shù)法設(shè)計FIR數(shù)字濾波器.doc
實驗四 用窗函數(shù)法設(shè)計FIR數(shù)字濾波器
實驗項目名稱:用窗函數(shù)法設(shè)計FIR數(shù)字濾波器
實驗項目性質(zhì):驗證性實驗
所屬課程名稱:數(shù)字信號處理
實驗計劃學(xué)時:2
一. 實驗?zāi)康?
(1) 掌握用窗函數(shù)法設(shè)計FIR數(shù)字濾波器的原理與方法。
(2) 熟悉線性相位FIR數(shù)字濾波器的特性。
(3) 了解各種窗函數(shù)對濾波特性的影響。
二. 實驗內(nèi)容和要求
(1) 復(fù)習(xí)用窗函數(shù)法設(shè)計FIR數(shù)字濾波器一節(jié)內(nèi)容,閱讀本實驗原理,掌握設(shè)計步驟。
(2) 用升余弦窗設(shè)計一線性相位低通FIR數(shù)字濾波器,截止頻率。窗口長度N =15,33。要求在兩種窗口長度情況下,分別求出,打印出相應(yīng)的幅頻特性和相頻特性曲線,觀察3dB帶寬和20dB帶寬。總結(jié)窗口長度N 對濾波器特性的影響。
設(shè)計低通FIR數(shù)字濾波器時,一般以理想低通濾波特性為逼近函數(shù),即
其中
(3) ,,用四種窗函數(shù)設(shè)計線性相位低通濾波器,繪制相應(yīng)的幅頻特性曲線,觀察3dB帶寬和20dB帶寬以及阻帶最小衰減,比較四種窗函數(shù)對濾波器特性的影響。
三. 實驗主要儀器設(shè)備和材料
計算機,MATLAB6.5或以上版本
四. 實驗方法、步驟及結(jié)果測試
如果所希望的濾波器的理想的頻率響應(yīng)函數(shù)為,則其對應(yīng)的單位脈沖響應(yīng)為
(4.1)
窗函數(shù)設(shè)計法的基本原理是用有限長單位脈沖響應(yīng)序列逼近。由于往往是無限長序列,而且是非因果的,所以用窗函數(shù)將截斷,并進行加權(quán)處理,得到:
(4.2)
就作為實際設(shè)計的FIR數(shù)字濾波器的單位脈沖響應(yīng)序列,其頻率響應(yīng)函數(shù)為
(4.3)
式中,N為所選窗函數(shù)的長度。
我們知道,用窗函數(shù)法設(shè)計的濾波器性能取決于窗函數(shù)的類型及窗口長度N的取值。設(shè)計過程中,要根據(jù)對阻帶最小衰減和過渡帶寬度的要求選擇合適的窗函數(shù)類型和窗口長度N 。各種類型的窗函數(shù)可達到的阻帶最小衰減和過渡帶寬度見表4.1。
表4.1 各種窗函數(shù)的基本參數(shù)
窗函數(shù)
旁瓣峰值幅度/dB
過渡帶寬
阻帶最小衰減/dB
矩形窗
-13
4π/N
-12
三角形窗
-25
8π/N
-25
漢寧窗
-31
8π/N
-44
哈明窗
-41
8π/N
-53
不萊克曼窗
-57
12π/N
-74
凱塞窗(α=7.865)
-57
10π/N
-80
這樣選定窗函數(shù)類型和長度N之后,求出單位脈沖響應(yīng),并按照式(4.3)求出。是否滿足要求,要進行演算。一般在尾部加零使長度滿足2的整數(shù)次冪,以便用FFT計算。如果要觀察細節(jié),補零點數(shù)增多即可。如果不滿足要求,則要重新選擇窗函數(shù)類型和長度N ,再次驗算,直至滿足要求。
如果要求線性相位特性,則還必須滿足
根據(jù)上式中的正、負號和長度N的奇偶性又將線性相位FIR濾波器分成四類。要根據(jù)所設(shè)計的濾波特性正確選擇其中一類,例如,要設(shè)計線性相位低通特性,可以選擇這一類,而不能選擇這一類。
主程序框圖如圖4.1所示。其中幅度特性要求用dB表示。
開始
讀入窗口長度N
計算hd(n)
調(diào)用窗函數(shù)子程序求w(n)
調(diào)用子程序(函數(shù))計算H(k)=DFT[h(n)]
調(diào)用繪圖子程序(函數(shù))繪制H(k)幅度相位曲線
結(jié)束
圖4-1 主程序框圖
計算h(n)= hd(n) w(n)
設(shè)
畫圖時,用打印幅度特性。第k點對應(yīng)的頻率。為使曲線包絡(luò)更接近的幅度特性曲線,DFT變換區(qū)間要選大些。例如窗口長度N=33時,可通過在末尾補零的方法,使長度變?yōu)?4,再進行64點DFT,則可以得到更精確的幅度衰減特性曲線。
下面給出MATLAB主程序:
%實驗四,用窗函數(shù)法設(shè)計FIR數(shù)字濾波器
b=1;
close all;
i=0;
while(b);
temp=menu(選擇窗函數(shù)長度N,N=10,N=15,N=20,N=25,N=30,N=33,N=35,N=40,N=45,N=50,N=55,N=60,N=64);
menu1=[10,15,20,25,30,33,35,40,45,50,55,60,64];
N=menu1(temp);
temp=menu(選擇逼近理想低通濾波器截止頻率Wc,Wc=pi/4,Wc=pi/2,Wc=3*pi/4,Wc=pi,Wc=0.5,Wc=1.0,Wc=1.5,Wc=2.0,Wc=2.5,Wc=3.0);
menu2=[pi/4,pi/2,3*pi/4,pi,0.5,1,1.5,2,2.5,3];
w=menu2(temp);
n=[0:(N-1)];
hd=ideal(w,N); %得到理想低通濾波器
k=menu(請選擇窗口類型:,boxcar,hamming,hanning,blackman);
if k==1
B=boxcar(N);
string=[Boxcar,N=,num2str(N)];
else if k==2
B=hamming(N);
string=[Hamming,N=,num2str(N)];
else if k==3
B=hanning(N);
string=[Hanning,N=,num2str(N)];
else if k==4
B=blackman(N);
string=[Blackman,N=,num2str(N)];
end
end
end
end
h=hd.*(B); %得到FIR數(shù)字濾波器
[H,m]=freqz(h,[1],1024,whole); %求其頻率響應(yīng)
mag=abs(H); %得到幅值
db=20*log10((mag+eps)/max(mag));
pha=angle(H); %得到相位
i=i+1;
figure(i)
subplot(2,2,1);
n=0:N-1;
stem(n,h,.);
axis([0,N-1,-0.1,0.3]);
hold on;
n=0:N-1;
x=zeros(N);
plot(n,x,-);
xlabel(n);
ylabel(h(n));
title(實際低通濾波器的h(n));
text((0.3*N),0.27,string);
hold off;
subplot(2,2,2);
plot(m/pi,db);
axis([0,1,-100,0]);
xlabel(w/pi);
ylabel(dB);
title(衰減特性(dB));
grid;
subplot(2,2,3);
plot(m,pha);
hold on;
n=0:7;
x=zeros(8);
plot(n,x,-);
title(相頻特性);
xlabel(頻率(rad));
ylabel(相位(rad));
axis([0,3.15,-4,4]);
subplot(2,2,4);
plot(m,mag);
title(頻率特性);
xlabel(頻率W(rad));
ylabel(幅值);
axis([0,3.15,0,1.5]);
text(0.9,1.2,string);
b=menu(Do You want To Continue ?,Yes,No);
if b==2
b=0;
end
end
temp=menu(Close All Figure ?,Yes,No);
if temp==1
close all
end
程序運行結(jié)果:
運行程序,根據(jù)實驗內(nèi)容要求和程序提示選擇你要進行的實驗參數(shù)。三個實驗參數(shù)選定后,程序運行輸出用所選窗函數(shù)設(shè)計的實際FIR低通數(shù)字濾波器的單位脈沖響應(yīng)h(n)、幅頻衰減特性(20lg|H(ejw)|)、相頻特性及幅頻特性|H(ejw)|的波形,h(n)和|H(ejw)|圖中標出了所選窗函數(shù)類型及其長度N值。對四種窗函數(shù)(N=15和N=33)的程序運行結(jié)果如圖4-2到圖4-9所示,由圖可以看出用各種窗函數(shù)設(shè)計的FIR濾波器的阻帶最小衰減及過渡帶均與教材中一致。在通帶內(nèi)均為嚴格相位特性。
圖4-2 矩形窗(N=15)
圖4-3 矩形窗(N=33)
圖4-4 哈明窗(N=15)
圖4-5 哈明窗(N=33)
圖4-6 漢寧窗(N=15)
圖4-7 漢寧窗(N=33)
圖4-8 布萊克曼窗(N=15)
圖4-9 布萊克曼窗(N=33)
五. 實驗報告要求
(1) 簡述實驗原理及目的。
(2) 按照實驗步驟以及要求,比較各種情況下的濾波性能,說明窗口長度N和窗函數(shù)類型對濾波特性的影響。
(3) 總結(jié)用窗函數(shù)法設(shè)計FIR濾波器的主要特點。
(4) 簡要回答思考題。
思考題
如果給定通帶截止頻率和阻帶截止頻率以及阻帶最小衰減,如何用窗函數(shù)法設(shè)計線性相位低通濾波器,寫出設(shè)計步驟。
如果要求用窗函數(shù)法設(shè)計帶通濾波器,而且給定上、下邊帶截止頻率為和,試求理想帶通的單位脈沖響應(yīng)。