实验四无限长单位脉冲响应滤波器设计班级:姓名:学号:一.实验目的(1)掌握双线性变换法及脉冲相应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的计算机编程。(2)观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点。(3)熟悉巴特沃思滤波器、切比雪夫滤波器和椭圆滤波器的频率特性。二、实验原理[N,Wn]=buttord(Wp,Ws,Rp,Rs,'s'):求巴特沃思滤波器的阶数N和3dB边界角频率Wn。Rp和Rs分别为通带波动δ和阻带衰减At,单位均为dB;'s'表示模拟滤波器设计,如无此参数,则表示数字滤波器设计;Wp和Ws分别表示通带边界角频率Ωc和阻带边界角频率Ωr,其值为标量(低通和高通)或双元素向量(带通和带阻),见下表。FilterTypeWp&WsPassbandStopbandLowpassWpWs(0,Wp)(Ws,∞)HighpassWpWs(Wp,∞)(0,Ws)Bandpass0Ws(1)Wp(1)Wp(2)Ws(2)(Wp(1),Wp(2))(0,Ws(1))(Ws(2),∞)Bandstop0Wp(1)Ws(1)Ws(2)Wp(2)(0,Wp(1))(Wp(2),∞)(Ws(1),Ws(2))[b,a]=butter(N,Wn,'ftype','s'):根据N和Wn求巴特沃思滤波器的系统函数H(s),b和a分别为H(s)分子和分母多项式的系数。‘ftype’指定滤波器类型,值为‘low’、‘high’或‘stop’,‘low’为缺省值,表示设计低通或带通滤波器(取决于Wn是标量还是双元素向量),‘high’或‘stop’分别表示设计高通和带阻滤波器。低通和高通滤波器的阶数为N,带通和带阻滤波器的阶数为2N。[z,p,k]=butter(N,Wn,'ftype','s'):根据N和Wn求巴特沃思滤波器的零、极点和增益。z、p和k分别为H(s)的零点向量、极点向量和增益。系统函数H(s)与b和a或z、p和k的关系为:()()()()()()()()(())(())(())(())(())(())MMNNbsbsbMsbMHssasaNsaNkszszszMspspspN11121211212[N,Wp]=cheb1ord(Wp,Ws,Rp,Rs,'s'):求切比雪夫I型滤波器的阶数N。输入参数的含义与巴特沃思滤波器相同,输出参数Wp等于输入参数Wp。[b,a]=cheby1(N,Rp,Wp,'ftype','s'):求切比雪夫I型滤波器的系统函数H(s),b和a分别为H(s)分子和分母多项式的系数。[z,p,k]=cheby1(N,Rp,Wp,'ftype','s'):求切比雪夫I型滤波器的零、极点和增益。[N,Wp]=ellipord(Wp,Ws,Rp,Rs,'s'):求椭圆滤波器的阶数N。[b,a]=ellip(N,Rp,Rs,Wp,'ftype','s'):求椭圆滤波器的系统函数H(s),b和a分别为H(s)分子和分母多项式的系数。[z,p,k]=ellip(N,Rp,Rs,Wp,'ftype','s'):求椭圆滤波器的零、极点和增益。[bz,az]=impinvar(b,a,fs):通过脉冲响应不变法求数字滤波器的系统函数H(z)。b和a分别为模拟滤波器系统函数H(s)的分子和分母多项式系数;fs为采样频率;bz和az分别为H(z)的分子和分母多项式系数。[bz,az]=bilinear(b,a,fs):通过双线性变换法求数字滤波器的系统函数H(z)。输入、输出参数的含义与impinvar函数相同。系统函数H(z)与bz和az的关系为:()()()()()()()()()NNbzbzzbzzbzNzHzazazzazzazNz121212311231三、实验内容1、设计一切比雪夫高通滤波器,性能指标如下:通带边界频率fc=0.4kHz,通带波动δ=0.5dB,阻带边界频率fr=0.3kHz,阻带最小衰减At=20dB,采样频率fs=1000Hz,观察其通带波动和阻带衰减是否满足要求。(绘制对数幅度谱)clearall;wc=2*pi*400;wr=2*pi*300;rp=0.5;rs=20;[N,wn]=cheb1ord(wc,wr,rp,rs,'s');[num,den]=cheby1(N,rp,wn,'high','s');omega=[0:200:2000*pi];h=freqs(num,den,omega);gain=20*log10(abs(h));plot(omega/(2*pi),gain);axis([0,800,-80,10]);grid;xlabel('频率/Hz');ylabel('幅度/dB');title('切比雪夫模拟高通滤波器',1);0100200300400500600700800-80-70-60-50-40-30-20-10010频率/Hz幅度/dB切比雪夫模拟高通滤波器2、设计一巴特沃思低通滤波器,性能指标如下:通带边界频率fc=0.4kHz,通带波动δ=1dB,阻带边界频率fr=0.6kHz,阻带最小衰减At=40dB,采样频率fs=2000Hz,分别用脉冲响应不变法和双线性变换法进行设计,比较两种方法的优缺点。(绘制线性幅度谱)clearall;wc=2*pi*200;wr=2*pi*300;rp=1;rs=25;fs=1000;[N,wn]=buttord(wc,wr,rp,rs,'s');[B,A]=butter(N,wn,'s');[num1,den1]=impinvar(B,A,fs);%脉冲相应不变法[h1,w]=freqz(num1,den1);w1=2*fs*tan(wc/(2*fs));w2=2*fs*tan(wr/(2*fs));[N,wn]=buttord(w1,w2,rp,rs,'s')[B,A]=butter(N,wn,'s');[num2,den2]=bilinear(B,A,fs);%双线性变换法[h2,w]=freqz(num2,den2);f=w/pi*500;plot(f,20*log10(abs(h1)),'-.',f,20*log10(abs(h2)),'-');axis([0,500,-80,10]);grid;xlabel('FrequencyinHz');ylabel('GainindB');title('巴特沃思数字低通滤波器');legend('脉冲相应不变法','双线性变换法',1);3、用双线性变换法设计巴特沃思、切比雪夫和椭圆低通滤波器,其性能指标如下:通带边界频率fc=1.8kHz,通带波动δ≤1dB,阻带边界频率fr=2.6kHz,阻带最小衰减At≥50dB,采样频率fs=8kHz。(绘制对数幅度谱)clearall;wc=2*pi*1200;wr=2*pi*2000;rp=0.5;rs=40;fs=8000;w1=2*fs*tan(wc/(2*fs));w2=2*fs*tan(wr/(2*fs));[Nb,wn]=buttord(w1,w2,rp,rs,'s')%巴特沃思[B,A]=butter(Nb,wn,'s');[num1,den1]=bilinear(B,A,fs);[h1,w]=freqz(num1,den1);[Nc,wn]=cheb1ord(w1,w2,rp,rs,'s')%切比雪夫[B,A]=cheby1(Nc,rp,wn,'s');[num2,den2]=bilinear(B,A,fs);[h2,w]=freqz(num2,den2);[Ne,wn]=ellipord(w1,w2,rp,rs,'s')%椭圆型[B,A]=ellip(Ne,rp,rs,wn,'low','s');[num3,den3]=bilinear(B,A,fs);[h3,w]=freqz(num3,den3);f=w/pi*4000;plot(f,20*log10(abs(h1)),'-',f,20*log10(abs(h2)),'--',f,20*log10(abs(h3)),':');axis([0,3000,-100,10]);grid;xlabel('FrequencyinHz');ylabel('GainindB');title('三种数字低通滤波器');legend('巴特沃思数字低通滤波器','切比雪夫数字低通滤波器','椭圆数字低通滤波器',3);4、设计一巴特沃思带通滤波器,性能指标如下:通带频率3kHz≤f≤4kHz,通带波动δ≤1dB;上阻带f≥5kHz,阻带最小衰减At≥15dB;下阻带f≤2kHz,阻带最小衰减At≥20dB;采样频率fs=20kHz,分别用脉冲响应不变法和双线性变换法进行设计。(绘制线性幅度谱)clearall;wc=[2*pi*20002*pi*3000];wr=[2*pi*15002*pi*6000];rp=3;rs=20;fs=30000;[N,wn]=buttord(wc,wr,rp,rs,'s');[B,A]=butter(N,wn,'s');[num1,den1]=impinvar(B,A,fs);%脉冲相应不变法[h1,w]=freqz(num1,den1);w1=2*fs*tan(2*pi*2000/(2*fs));w2=2*fs*tan(2*pi*3000/(2*fs));wr1=2*fs*tan(2*pi*1500/(2*fs));wr2=2*fs*tan(2*pi*6000/(2*fs));[N,wn]=buttord([w1,w2],[wr1,wr2],rp,rs,'s');[B,A]=butter(N,wn,'s');[num2,den2]=bilinear(B,A,fs);%双线性变换法[h2,w]=freqz(num2,den2);f=w/pi*15000;plot(f,20*log10(abs(h1)),'-.',f,20*log10(abs(h2)),'-');axis([500,7000,-30,10]);grid;xlabel('FrequencyinHz');ylabel('GainindB');title('巴特沃思数字带通滤波器');legend('脉冲相应不变法','双线性变换法',1);5、用双线性变换法设计一椭圆带阻滤波器,性能指标如下:阻带频率2kHz≤f≤3kHz,阻带最小衰减At≥30dB,通带频率f≥4kHz和f≤1kHz,通带波动δ≤3dB,采样频率fs=10kHz。(绘制对数幅度谱)注意:设计结果要求给出程序、数字滤波器的系统函数()Hz和幅频响应,()Hz请用word自带的公式编辑器编辑(插入-对象-Microsoft公式3.0)。clearall;wc=2*pi*3000;wr=2*pi*6000;rp=3;rs=5;fs=30000;w1=2*fs*tan(wc/(2*fs));w2=2*fs*tan(wr/(2*fs));[N,wn]=buttord(w1,w2,rp,rs,'s');%巴特沃思低通[B,A]=butter(N,wn,'s');[num1,den1]=bilinear(B,A,fs);[h1,w]=freqz(num1,den1);wc=2*pi*2000;wr=2*pi*1500;rp=3;rs=20;fs=30000;w1=2*fs*tan(wc/(2*fs));w2=2*fs*tan(wr/(2*fs));[N,wn]=buttord(w1,w2,rp,rs,'s');%巴特沃思高通[B,A]=butter(N,wn,'high','s');[num2,den2]=bilinear(B,A,fs);[h2,w]=freqz(nu