资源描述
大连理工大学实验报告学院(系): 专业: 班级: 姓 名: 学号: 组: _ 实验时间: 实验室: 实验台: 指导教师签字: 成绩: 实验三 滤波器设计一、实验结果与分析IIR部分:1.用buttord和butter函数,直接设计一个巴特沃兹高通滤波器,要求通带截止频率为,通带内衰减不大于1dB,阻带起始频率为,阻带内衰减不小于15dB,观察其频谱响应的特点:clc,clearwp=0.6*pi/pi;ws=0.4*pi/pi;ap=1,as=15;N,wn=buttord(wp,ws,ap,as);bz,az= butter(N,wn,high);H,W=freqz(bz,az);plot(W,20*log10(abs(H);grid on;xlabel(频率/弧度) ;ylabel(对数幅频响应/dB) ;axis(0.2*pi pi -40 1);2. 给定带通滤波器的技术指标:通带上下截止频率为,通带内衰减不大于3dB,阻带上下起始频率为,阻带内衰减不小于18dB。用buttord和butter函数,对比巴特沃兹和切比雪夫的效果:clc,clearwp=0.3*pi/pi,0.4*pi/pi;ws=0.2*pi/pi,0.5*pi/pi;ap=3,as=18;N,wn=buttord(wp,ws,ap,as);bz,az= butter(N,wn);H,W=freqz(bz,az);plot(W,20*log10(abs(H);grid on;xlabel(频率/弧度) ;ylabel(对数幅频响应/dB) ;axis(0 pi -60 1);3.用双线性变换法的模拟滤波器原型设计一个巴特沃兹低通滤波器,给定技术指标是,抽样频率为:clc,clear;Rp=3; Rs=20; wp=0.2*pi; ws=0.3*pi; Fs=1000;wap=2*Fs*tan(wp/2);was=2*Fs*tan(ws/2);N,Wn=buttord(wap,was,Rp,Rs,s); Z,P,K=buttap(N);Bap,Aap=zp2tf(Z,P,K); b,a=lp2lp(Bap,Aap,Wn); bz,az=bilinear(b,a,Fs); %绘制频率响应曲线H,W=freqz(bz,az); plot(W,20*log10(abs(H); grid on;xlabel(频率/弧度) ylabel(对数幅频响应/dB) axis(0 0.5*pi -50 1)4. 用双线性变换法的模拟滤波器原型和直接设计法(buttord以及butter)两种方法,设计一个数字系统的抽样频率Fs=2000Hz,试设计一个为此系统使用的带通数字滤波器。要求:(1)通带范围为300400Hz,在带边频率处的衰减不大于3dB(2)在200Hz以下和500Hz以上衰减不小于18dB模拟滤波器原型:clc,clear;Rp=3; Rs=18; wp=0.3*pi,0.4*pi; ws=0.2*pi,0.5*pi; W=sqrt(0.3*pi*0.4*pi);Fs=2000;wap=2*Fs*tan(wp/2);was=2*Fs*tan(ws/2);W0=sqrt(wap(1)*was(1);%重点bw=wap(2)-wap(1);%重点N,Wn=buttord(wap,was,Rp,Rs,s); Z,P,K=buttap(N);Bap,Aap=zp2tf(Z,P,K); b,a=lp2bp(Bap,Aap,W0,bw); bz,az=bilinear(b,a,Fs); %绘制频率响应曲线H,W=freqz(bz,az); plot(W,20*log10(abs(H); grid on;xlabel(频率/弧度) ylabel(对数幅频响应/dB) axis(0 pi -60 1);直接设计法(同第二题):clear;wp=0.3*pi/pi,0.4*pi/pi;ws=0.2*pi/pi,0.5*pi/pi;Rp=3; Rs=18; N,wn=buttord(wp,ws,Rp,Rs);bz,az= butter(N,wn);H,W=freqz(bz,az);plot(W,20*log10(abs(H);grid on;xlabel(频率/弧度) ;ylabel(对数幅频响应/dB) ;axis(0 pi -60 1);FIR设计:1. 分别用海宁窗和矩形窗设计一个N=10的FIR低通和高通滤波器,截止频率。绘制出其幅频特性曲线和相频特性曲线。作出各滤波器的单位脉冲响应。%矩形低通b1=fir1(10, 1/3, boxcar(11); H1,w=freqz(b1, 1, 512); H1_db=20*log10(abs(H1);%汉宁低通b2=fir1(10, 1/3, hanning(11); H2,w=freqz(b2, 1, 512); H2_db=20*log10(abs(H2); %矩形高通b3=fir1(10, 1/3, high,boxcar(11); H3,w=freqz(b3, 1, 512); H3_db=20*log10(abs(H3);%汉宁高通b4=fir1(10, 1/3,high,hanning(11); H4,w=freqz(b4, 1, 512); H4_db=20*log10(abs(H4); figure(1);subplot(2,2,1); stem(0:10,b1); title(矩形窗FIR低通滤波器脉冲响应) ;subplot(2,2,2); stem(0:10,b2); title(汉宁窗FIR低通滤波器脉冲响应) ;subplot(2,2,3); stem(0:10,b3); title(矩形窗FIR高通滤波器脉冲响应); subplot(2,2,4); stem(0:10,b4); title(汉宁窗FIR高通滤波器脉冲响应); figure(2);subplot(2,1,1);plot(w,H1_db,w,H2_db,r-); title(Frequency response(低通)) legend(rectangular window, hanning window) grid on;subplot(2,1,2);plot(w,H3_db,w,H4_db,r-); title(Frequency response(高通)) legend(rectangular window, hanning window) grid on得到频率响应特性为:单位脉冲响应:2. 利用频率取样法分别设计I型和II型FIR低通滤波器,N=16。给定指标为绘制出其幅频特性曲线和相频特性曲线。作出滤波器的单位脉冲响应。f = 0 2/16 4/16 6/16 8/16 10/16 12/16 12/16 1; m = 1 1 1 1 0.389 0 0 0 0; b = fir2(16, f, m); h,w = freqz(b, 1); figure(1);subplot(1,2,1);H_db=20*log10(abs(h); plot(w,H_db);title(频率抽样I型滤波器频响);grid on;subplot(1,2,2);stem(0:16,b);title(I型滤波器的单位脉冲响应);f1 = 0 1/16 3/16 5/16 7/16 9/16 11/16 13/16 13/16 1; m1= 1 1 1 1 1 0.389 0 0 0 0; b1 = fir2(16, f1, m1); h1,w = freqz(b1, 1); figure(2);subplot(1,2,1);H_db1=20*log10(abs(h1);plot(w/pi,H_db1);title(频率抽样II型滤波器频响);grid on;subplot(1,2,2);stem(0:16,b1);title(II型滤波器的单位脉冲响应);3. 利用频率取样法设计一个带通滤波器,已知N=16绘制出其幅频特性曲线和相频特性曲线。作出滤波器的单位脉冲响应。0.f = 0 2/16 4/16 6/16 8/16 10/16 12/16 14/16 1; m = 0 0 0.456 1 1 1 0.456 0 0; b = fir2(16, f, m); h,w = freqz(b, 1); figure(1);subplot(1,2,1);H_db=20*log10(abs(h); plot(w,H_db);title(频率抽样FIR滤波器频响);grid on;subplot(1,2,2);stem(0:16,b);title(频率抽样FIR滤波器的单位脉冲响应); 二、建议与体会首先是做IIR实验遇到的问题,由于对b,a=lp2bp(Bap,Aap,W0,bw); 该语句了解不够透彻,把W0当做了截止频率,而实质上应为通带的中心频率,然后就是W0和bw的计算上,应先对ws和wp预畸变得到was和wap才能计算W0和bw,否则设计的滤波器会出错。做FIR实验遇到的问题,首先是定义f=,矩阵的起始为0,结束为1,前期没考虑这一点导致出错。还有就是对于频率抽样I型和II型没有明确的概念,导致做FIR第二题时花了较长时间。总的来说做完本实验掌握了设计滤波器的方法,收获还是挺多的。
展开阅读全文