基于MATLAB的數(shù)字基帶傳輸?shù)?FIR濾波器的設(shè)計(jì)
用窗函數(shù)法設(shè)計(jì)一個FIR低通濾波器,若已知:本文引用地址:http://www.ex-cimer.com/article/195594.htm
其中,wc=0.5π,那么,就可分別用矩形窗、漢寧窗來設(shè)計(jì)該濾波器,且取N=2l、3l。
2.1 MATLAB的程序設(shè)計(jì)
下面是基于MATIAB來設(shè)計(jì)FIR數(shù)字濾波器的程序代碼:
%1)矩形窗N=2l
N1=21;a1=(N1―1)/2;wc=pi/2;
n1=[0:l:(Nl―1)];
m1=n1一al+eps;%避免被零除
hdl=sin (wc*m1)./(pi*m1);
%加矩形窗
[h1,wl]=freqz(hdl,1);
subplot(2,2,1);plot(wl/pi,20*log10(abs(h1)/abs(hl(1))));axis([0,1,-50,1O]);
xlabel('頻率');ylabel('幅頻響應(yīng)');
title('FIR加矩形窗函數(shù)的幅頻特性N=21');
%2)漢寧窗N=21
w_hanl=(hanning(N1))';
hl=hdl.*w_hanl;%加漢寧窗
[hhl,w1]=freqz(hl,1);
subplot(2,2,2);plot(wl/pi,20*log10(abs(hhl)/abs(hhl(1))));axis([0,l,一80,lO]);
xlabel('頻率');ylabel('幅頻響應(yīng)');
title('FIR加漢寧窗函數(shù)的幅頻特性N=21');
%3)矩形窗N=31
N2=3 1;a2=(N2-1)/2;wc=pi/2;
n2=[0:1:(N2-1)];
m2=n2一a2+eps;%避免被零除
hd2=sin(wc*m2)./(pi*m2);
%加矩形窗
[h2,w2]=freqz(hd2,1);
subplot(2,2,3);plot(w2/pi,20*log 1O(abs(h2)/abs(h2(1))));axis([0,1,一50,10]);
xlabel('頻率');ylabel('幅頻響應(yīng)');
title('FIR加矩形窗函數(shù)的幅頻特性N=31');
%4)漢寧窗N=31
w_han2=(hanning(N2))';
h2=hd2.*w_han2;%加漢寧窗
[hh2,w2]=freqz(h2,1);
subplot(2,2,4);plot(w2/pi,20*logl0(abs(hh2)/abs(hh2(1))));axis([0,1,-80,10]);
xlabel('頻率');ylabel('幅頻響應(yīng)');
title('FIR加漢寧窗函數(shù)的幅頻特性N=31');
2.2 MATLAB仿真結(jié)果分析
評論