资源描述:
《无限冲激响应数字滤波器的设计数字信号处理实验十一》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、学生姓名:专业:班级:学号:指导教师:日期:2013年12月6日实验十一无限冲激响应数字滤波器的设计一、实验目的(1)掌握IIR数字滤波器的具体设计方法。(2)熟悉设计低通、高通、带通和带阻IIR数字滤波器的几种方法。二、实验内容(1)设计一个椭圆数字带通滤波器,指标要求如下:通带边缘频率:,,通带峰值起伏:;阻带边缘频率:,,最小阻带衰减:。(2)设采样周期T=250μs(采样频率fs=4kHz),用脉冲响应不变法和双线性变换法设计一个三阶巴特沃兹滤波器,其3dB边界频率为fc=1kHz。(3)设计一个切比雪夫I型数字高通滤波器,它的通带为400~500Hz,通带内容许有0.5d
2、B的波动,阻带内衰减在小于317Hz的频带内至少为19dB,采样频率为1,000Hz。(4)设计切比雪夫II型带通滤波器,其3dB边界频率分别为f2=110kHz和f1=90kHz,在阻带f3=120kHz处的最小衰减大于10dB,采样频率fs=400kHz。(5)一数字滤波器采样频率fs=1kHz,要求滤除100Hz的干扰,其3dB的边界频率为95Hz和105Hz,原型归一化低通滤波器为:三、实验过程(1)设计一个椭圆数字带通滤波器,指标要求如下:通带边缘频率:,,通带峰值起伏:;阻带边缘频率:,,最小阻带衰减:。程序:ws1=2*8000*tan(0.3*pi/2);ws2=2
3、*8000*tan(0.8*pi/2);wp1=2*8000*tan(0.45*pi/2);wp2=2*8000*tan(0.65*pi/2);ws=[ws1ws2];wp=[wp1wp2];Rp=1;Rs=40;[N,Wn]=cheb2ord(wp,ws,Rp,Rs,'s');[num,den]=cheby2(N,Rs,Wn,'s');[B,A]=bilinear(num,den,8000);[h,w]=freqz(B,A);f=w/pi*4000;plot(f,20*log10(abs(h)));axis([0,4000,-60,10]);grid;xlabel('频率/Hz'
4、);ylabel('幅度/dB');(1)设采样周期T=250μs(采样频率fs=4kHz),用脉冲响应不变法和双线性变换法设计一个三阶巴特沃兹滤波器,其3dB边界频率为fc=1kHz。程序:[B,A]=butter(3,2*pi*1000,'s');[num1,den1]=impinvar(B,A,4000);[h1,w]=freqz(num1,den1);[B,A]=butter(3,2/0.00025,'s');[num2,den2]=bilinear(B,A,4000);[h2,w]=freqz(num2,den2);f=w/pi*2000;plot(f,abs(h1),'
5、-.',f,abs(h2),'-');grid;xlabel('频率/Hz')ylabel('幅值/dB')(2)设计一个切比雪夫I型数字高通滤波器,它的通带为400~500Hz,通带内容许有0.5dB的波动,阻带内衰减在小于317Hz的频带内至少为19dB,采样频率为1,000Hz。程序:wc=2*1000*tan(2*pi*400/(2*1000));wt=2*1000*tan(2*pi*317/(2*1000));[N,wn]=cheb1ord(wc,wt,0.5,19,'s');[B,A]=cheby1(N,0.5,wn,'high','s');[num,den]=bili
6、near(B,A,1000);[h,w]=freqz(num,den);f=w/pi*500;plot(f,20*log10(abs(h)));axis([0,500,-80,10]);grid;xlabel('')ylabel('幅度/dB')(1)设计切比雪夫II型带通滤波器,其3dB边界频率分别为f2=110kHz和f1=90kHz,在阻带f3=120kHz处的最小衰减大于10dB,采样频率fs=400kHz。程序:w1=2*400*tan(2*pi*90/(2*400));w2=2*400*tan(2*pi*110/(2*400));wr=2*400*tan(2*pi*12
7、0/(2*400));[N,wn]=cheb2ord([w1w2],[1wr],3,10,'s');[B,A]=cheby2(N,10,wn,'s');[num,den]=bilinear(B,A,400);[h,w]=freqz(num,den);f=w/pi*200;plot(f,20*log10(abs(h)));axis([40,160,-30,10]);grid;xlabel('频率/kHz')ylabel('幅度/dB')ylabel('幅度/dB')(2