实验名:用窗函数
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
FIR数字滤波器
实验任务:
选择合适的窗函数设计FIR数字低通滤波器,要求:通带ωp=0.2π,Rp=0.05dB;阻带ωs=0.3π,As=40dB。描绘实际滤波器的脉冲响应、窗函数及滤波器的幅频响应曲线和相频响应曲线。
实验程序:
1.建立新文件,以ideal_lp命名,键入以下程序,保存文件
function hd=ideal_lp(wc,N);
tao=(N-1)/2;
n=[0:(N-1)];
m=n-tao+eps;
hd=sin(wc*m)./(pi*m);
2.建立新文件,任意命名,键入以下程序,保存并运行程序
wp=0.2*pi;ws=0.3*pi;
deltaw=ws-wp;
N0=ceil(6.2*pi/deltaw);%汉宁窗
N=N0+mod(N0+1,2)
windows=(hanning(N))';
wc=(ws+wp)/2;
hd=ideal_lp(wc,N);
b=hd.*windows;
[db,mag,pha,grd,w]=freqz_m(b,1);
n=0:N-1;dw=2*pi/1000;
Rp=-(min(db(1:wp/dw+1)))
As=-round(max(db(ws/dw+1:501)))
subplot(2,2,1),stem(n,b);
axis([0,N,1.1*min(b),1.1*max(b)]);title('实际脉冲响应');
xlabel('n');ylabel('h(n)');
subplot(2,2,2),stem(n,windows);
axis([0,N,0,1.1]);title('窗函数特性');
xlabel('n');ylabel('wd(n)');
subplot(2,2,3),plot(w/pi,db);
axis([0,1,-150,10]);title('幅频响应');
xlabel('频率(单位:\pi)');ylabel('H(e^{j\omega})');
set(gca,'XTickMode','manual','XTick',[0,wp/pi,ws/pi,1]);
set(gca,'YTickMode','manual','YTick',[-100,-40,-3,0]);grid
subplot(2,2,4),plot(w/pi,pha);
axis([0,1,1.1*min(pha),1.1*max(pha)]);title('相频特性 ');
xlabel('频率(单位:\pi)');ylabel('\phi(\omega)');
set(gca,'XTickMode','manual','XTick',[0,wp/pi,ws/pi,1]);
set(gca,'YTickMode','manual','YTick',[-pi,0,pi]);grid
实验运行结果:
N =63
Rp =0.0888
As =44
实验图象: