数字信号处理实验matlab版用双线性变换法设计IIR数(精)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验21用双线性变换法设计IIR数字滤波器(完美格式版,本人自己完成,所有语句正确,不排除极个别错误,特别适用于山大,勿用冰点等工具下载,否则下载之后的word格式会让很多部分格式错误,谢谢XXXX学号姓名处XXXX一、实验目的1.加深对双线性变换法设计IIR数字滤波器基本方法的了解。2.掌握用双线性变换法设计数字低通、高通、带通、带阻滤波器的方法。3.了解MATLAB有关双线性变换法的子函数。二、实验内容1.双线性变换法的基本知识。2.用双线性变换法设计IIR数字低通滤波器。3.用双线性变换法设计IIR数字高通滤波器。4.用双线性变换法设计IIR数字带通滤波器。5.用双线性变换法设计IIR数字带阻滤波器。三、实验环境MATLAB7.0四、实验原理1.实验涉及的MATLAB子函数Bilinear功能:双线性变换——将s域(模拟域映射到z域(数字域的标准方法,将模拟滤波器变换成离散等效滤波器。调用格式:[numd,dend]=bilinear(num,den,Fs;将模拟域传递函数变换为数字域传递函数,Fs为取样频率。[numd,dend]=bilinear(num,den,Fs,Fp;将模拟域传递函数变换为数字域传递函数,Fs为取样频率,Fp为通带截止频率。[zd,pd,kd]=bilinear(z,p,k,Fs;将模拟域零极点增益系数变换到数字域,Fs为取样频率。[zd,pd,kd]=bilinear(z,p,k,Fs,Fp;将模拟域零极点增益系数变换到数字域,Fs为取样频率,Fp为通带截止频率。[Ad,Bd,Cd,Dd]=bilinear(A,B,C,D,Fs;将模拟域状态变量系数变换到数字域,Fs为取样频率。2.双线性变换法的基本知识双线性变换法是将整个s平面映射到整个z平面,其映射关系为11z1z1T2s--+-=或2sT/12sT/1z-+=双线性变换法克服了脉冲响应不变法从s平面到z平面的多值映射的缺点,消除了频谱混叠现象。但其在变换过程中产生了非线性的畸变,在设计IIR数字滤波器的过程中需要进行一定的预修正。用MATLAB双线性变换法进行IIR数字滤波器设计的步骤(参见图19-1与脉冲响应不变法设计的步骤基本相同:(1输入给定的数字滤波器设计指标;(2根据公式W=2[]Ttan[JB((]w[]2[JB]进行预修正,将数字滤波器指标转换成模拟滤波器设计指标;(3确定模拟滤波器的最小阶数和截止频率;(4计算模拟低通原型滤波器的系统传递函数;(5利用模拟域频率变换法,求解实际模拟滤波器的系统传递函数;(6用双线性变换法将模拟滤波器转换为数字滤波器。3.用双线性变换法设计IIR数字低通滤波器例21-1采用双线性变换法设计一个巴特沃斯数字低通滤波器,要求:wp=0.25p,Rp=1dB;ws=0.4p,As=15dB,滤波器采样频率Fs=100Hz。解程序如下:wp=0.25*pi;ws=0.4*pi;Rp=1;As=15;ripple=10^(-Rp/20;Attn=10^(-As/20;Fs=100;T=1/Fs;Omgp=(2/T*tan(wp/2;Omgs=(2/T*tan(ws/2;[n,Omgc]=buttord(Omgp,Omgs,Rp,As,'s';[z0,p0,k0]=buttap(n;ba=k0*real(poly(z0;aa=real(poly(p0;[ba1,aa1]=lp2lp(ba,aa,Omgc;%注意,以上4行求滤波器系数ba1、aa1的程序,可由下一条程序替代%[ba1,aa1]=butter(n,Omgc,'s';[bd,ad]=bilinear(ba1,aa1,Fs[sos,g]=tf2sos(bd,ad[H,w]=freqz(bd,ad;dbH=20*log10((abs(H+eps/max(abs(H;subplot(2,2,1,plot(w/pi,abs(H;ylabel('|H|';title('幅度响应';axis([0,1,0,1.1];set(gca,'XTickMode','manual','XTick',[0,0.25,0.4,1];set(gca,'YTickMode','manual','YTick',[0,Attn,ripple,1];gridsubplot(2,2,2,plot(w/pi,angle(H/pi;ylabel('\phi';title('相位响应';axis([0,1,-1,1];set(gca,'XTickMode','manual','XTick',[0,0.25,0.4,1];set(gca,'YTickMode','manual','YTick',[-1,0,1];gridsubplot(2,2,3,plot(w/pi,dbH;title('幅度响应(dB';ylabel('dB';xlabel('频率(\pi';axis([0,1,-40,5];set(gca,'XTickMode','manual','XTick',[0,0.25,0.4,1];set(gca,'YTickMode','manual','YTick',[-50,-15,-1,0];gridsubplot(2,2,4,zplane(bd,ad;axis([-1.1,1.1,-1.1,1.1];title('零极图';程序运行结果如下:n=5Omgc=103.2016bd=0.00720.03620.07250.07250.03620.0072ad=1.0000-1.94341.9680-1.07020.3166-0.0392sos=1.00001.003601.0000-0.319301.00002.00221.00221.0000-0.69840.20531.00001.99420.99421.0000-0.92570.5976g=0.0072频率特性如图21-1所示。0.250.4100.17780.89131|H|幅度响应00.250.41-11\phi相位响应0.250.41-15-10幅度响应(dBdB频率(\pi-101-1-0.500.51RealPartImaginaryPart零极图图21-1用双线性变换法设计的巴特沃斯数字低通滤波器特性由频率特性曲线可知,该设计结果在通阻带截止频率处能满足Rp≤1dB、As≥15dB的设计指标要求,系统的极点全部在单位圆内,是一个稳定的系统。由n=5可知,设计的巴特沃斯数字低通滤波器是一个5阶的系统,原型Ha(s在s=-∞处有5个零点,映射到z=-1处。这个巴特沃斯数字低通滤波器的级联型传递函数应为z0.5976z0.9257(1z0.2053z0.6984(1z0.3193(1z0.0072(1H(z2121151------+-+--+=4.用双线性变换法设计IIR数字高通滤波器例21-2采用双线性变换法设计一个椭圆数字高通滤波器,要求通带fp=250Hz,Rp=1dB;阻带fs=150Hz,As=20dB,滤波器采样频率Fs=1000Hz。解程序如下:fs=150;fp=250;Fs=1000;T=1/Fs;wp=fp/Fs*2*pi;ws=fs/Fs*2*pi;Rp=1;As=20;ripple=10^(-Rp/20;Attn=10^(-As/20;Omgp=(2/T*tan(wp/2;Omgs=(2/T*tan(ws/2;[n,Omgc]=ellipord(Omgp,Omgs,Rp,As,'s'[z0,p0,k0]=ellipap(n,Rp,As;ba=k0*real(poly(z0;aa=real(poly(p0;[ba1,aa1]=lp2hp(ba,aa,Omgc;[bd,ad]=bilinear(ba1,aa1,Fs[H,w]=freqz(bd,ad;dbH=20*log10((abs(H+eps/max(abs(H;subplot(2,2,1,plot(w/2/pi*Fs,abs(H,'k';ylabel('|H|';title('幅度响应';axis([0,Fs/2,0,1.1];set(gca,'XTickMode','manual','XTick',[0,fs,fp,Fs/2];set(gca,'YTickMode','manual','YTick',[0,Attn,ripple,1];gridsubplot(2,2,2,plot(w/2/pi*Fs,angle(H/pi*180,'k';ylabel('\phi';title('相位响应';axis([0,Fs/2,-180,180];set(gca,'XTickMode','manual','XTick',[0,fs,fp,Fs/2];set(gca,'YTickMode','manual','YTick',[-180,0,180];gridsubplot(2,2,3,plot(w/2/pi*Fs,dbH;title('幅度响应(dB';axis([0,Fs/2,-40,5];ylabel('dB';xlabel('频率(\pi';set(gca,'XTickMode','manual','XTick',[0,fs,fp,Fs/2];set(gca,'YTickMode','manual','YTick',[-50,-20,-1,0];gridsubplot(2,2,4,zplane(bd,ad;axis([-1.1,1.1,-1.1,1.1];title('零极图';运行结果如下:n=3Omgc=2.0000e+003bd=0.2545-0.43220.4322-0.2545ad=1.00000.18900.71970.1574频率特性如图21-2所示。1502505000.8913|H|幅度响应0150250500φ相位响应0150250500幅度响应(dBdB频率(π-101-1-0.500.51RealPartImaginaryPart零极图图21-2用双线性变换法设计椭圆高通数字滤波器由频率特性曲线可知,该设计结果在通阻带截止频率处能满足Rp≤1dB、As≥20dB的设计指标要求。由n=3可知,设计的椭圆数字高通滤波器是一个3阶的系统,极点全部在Z平面的单位圆内,是一个稳定的系统。这个高通滤波器的传递函数应为321321z0.1574z0.7197z0.1891z0.2545z0.4322z0.43220.2545H(z------+++-+-=5.用双线性变换法设计IIR数字带通滤波器例21-3采用双线性变换法设计一个切比雪夫Ⅰ型数字带通滤波器,要求:通带wp1=0.3p,wp2=0.7p,Rp=1dB;阻带ws1=0.2p,ws2=0.8p,As=20dB,滤波器采样周期Ts=0.001s。解程序如下:wp1=0.3*pi;wp2=0.7*pi;ws1=0.2*pi;ws2=0.8*pi;Rp=1;As=20;T=0.001;Fs=1/T;Omgp1=(2/T*tan(wp1/2;Omgp2=(2/T*tan(wp2/2;Omgp=[Omgp1,Omgp2];Omgs1=(2/T*tan(ws1/2;Omgs2=(2/T*tan(ws2/2;Omgs=[Omgs1,Omgs2];bw=Omgp2-Omgp1;w0=sqrt(Omgp1*Omgp2;[n,Omgn]=cheb1ord(Omgp,Omgs,Rp,As,'s'[z0,p0,k0]=cheb1ap(n,Rp;ba1=k0*real(poly(z0;aa1=real(poly(p0;[ba,aa]=lp2bp(ba1,aa1,w0,bw;[bd,ad]=bilinear(ba,aa,Fs[H,w]=freqz(bd,ad;dbH=20*log10((abs(H+eps/max(abs(H;subplot(2,2,1,plot(w/2/pi*Fs,abs(H,'k';ylabel('|H|';title('幅度响应';axis([0,Fs/2,0,1.

1 / 34
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功