利用MATLAB设计IIR滤波器.ppt
河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 2 22 2/292929291 1 根据频域指标设计根据频域指标设计 2 2 经典法设计经典法设计DFDF 3 3 直接法设计直接法设计DFDF 1.1.4 4 数字滤波器设计数字滤波器设计比较比较2.2.5 MATLAB5 MATLAB的滤波器设计工具的滤波器设计工具河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 3 33 3/29292929设计方法设计方法滤波器滤波器函数及调用格式函数及调用格式根根据据频频域域指指标标设设计计巴特沃思巴特沃思 n,Wnn,Wn=buttordbuttord(Wp,Ws,Rp,Rs,sWp,Ws,Rp,Rs,s)切比雪夫切比雪夫I I型型n,Wn=cheb1ordn,Wn=cheb1ord(Wp,Ws,Rp,Rs,sWp,Ws,Rp,Rs,s)切比雪夫切比雪夫IIII型型 n,Wnn,Wn=cheb2ord(=cheb2ord(Wp,Ws,Rp,Rs,sWp,Ws,Rp,Rs,s)椭圆椭圆 n,Wnn,Wn=ellipord(ellipord(Wp,Ws,Rp,Rs,sWp,Ws,Rp,Rs,s)1 1、根据频域指标设计根据频域指标设计 河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 4 44 4/29292929函数格式:函数格式:n,Wnn,Wn=funcfunc(Wp,Ws,Rp,Rs,Wp,Ws,Rp,Rs,s s)z,p,kz,p,k=funcfunc()funcfunc:buttordbuttord(巴特沃思)、(巴特沃思)、cheby1ordcheby1ord(切比雪夫(切比雪夫I I型)、型)、cheby2ordcheby2ord(切比雪夫(切比雪夫IIII型)、型)、ellipordellipord(椭圆)(椭圆)河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 5 55 5/29292929系数说明:系数说明:RpRp:通带最大衰减系数通带最大衰减系数RsRs:阻带最小衰减系数阻带最小衰减系数WpWp:通带截止频率(归一化)通带截止频率(归一化)WsWs:阻带截止频率(归一化)阻带截止频率(归一化)s s:设计模拟滤波器设计模拟滤波器 (缺省则设计数字滤波器缺省则设计数字滤波器)n n:滤波器阶数滤波器阶数WnWn:实际频率与奈奎斯特频率实际频率与奈奎斯特频率(fs/2)(fs/2)的比值的比值bb,aa:系统函数的分子和分母的系数向量系统函数的分子和分母的系数向量zz,p p,kk:滤波器的零点、极点和增益滤波器的零点、极点和增益河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 6 66 6/29292929设计方法设计方法滤波器滤波器函数及调用格式函数及调用格式经经典典设设计计贝塞尔(贝塞尔(Bessel)模拟滤波器)模拟滤波器b,a=besself(n,Wn,ftype)巴特沃思(巴特沃思(Butterworth)b,a=butter(n,Wn,ftype,s)切比雪夫(切比雪夫(Chebyshev)I型型b,a=cheby1(n,Rp,Wn,ftype,s)切比雪夫(切比雪夫(Chebyshev)II型型b,a=cheby2(n,Rs,Wn,ftype,s)椭圆(椭圆(Elliptic)b,a=ellip(n,Rp,Rs,Wn,ftype,s)2 2、经典法设计经典法设计DF 河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 7 77 7/29292929函数格式:函数格式:b,ab,a=funcfunc ()funcfunc:butterbutter(巴特沃思)、(巴特沃思)、cheby1cheby1(切比雪夫(切比雪夫I I型)、型)、cheby2cheby2(切比雪夫(切比雪夫IIII型)、型)、ellipellip(椭圆)(椭圆)河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 8 88 8/29292929设计步骤:设计步骤:1、根据已知模拟滤波器系数求出、根据已知模拟滤波器系数求出Wn与与n2、根据、根据Wn和和n求出数字滤波器系统函数求出数字滤波器系统函数的系数的系数b,a3、画出幅频和相频曲线,观察实际效果、画出幅频和相频曲线,观察实际效果河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 9 99 9/29292929设计实例:设计实例:设计低通数字滤波器,要求在通带内频率低于0.2rad时,容许幅度误差在1dB以内;在频率0.3到rad之间的阻带衰减大于15dB。指定模拟滤波器采用巴特沃斯低通滤波器。(T=1s)WpWp=0.2rad;Ws=0.3=0.2rad;Ws=0.3radradp p=1dB;=1dB;s s=15dB=15dB河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 10101010/29292929程序:程序:wp=0.2*pi/pi;rp=1;ws=0.3*pi/pi;rs=15;n,Wn=buttord(wp,ws,rp,rs);b,a=butter(n,Wn);H,W=freqz(b,a);plot(W/pi,abs(H)grid河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 11 1111 11/29292929n=6n=6;WnWn=0.2329=0.2329;b=0.0007 0.0044 0.0111 0.0148 0.0111 0.0044 0.0007b=0.0007 0.0044 0.0111 0.0148 0.0111 0.0044 0.0007;a=1.0000-3.1836 4.6222-3.7795 1.8136-0.4800 0.0544a=1.0000-3.1836 4.6222-3.7795 1.8136-0.4800 0.0544;河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 12121212/29292929设计方法设计方法滤波器滤波器函数及调用格式函数及调用格式直接设计直接设计递归数字滤波器递归数字滤波器b,a=yulewalk(n,f,m)3 3、直接法设计直接法设计DF 矩阵矩阵f f和和m m是已知的频率响应是已知的频率响应n n是滤波器的阶数是滤波器的阶数河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 13131313/29292929理想的响应:理想的响应:在频率在在频率在 0-0.60-0.6之间,幅值为之间,幅值为1 1 ;在频率在在频率在0.6-10.6-1之间的幅值为之间的幅值为0 0 。设计实例:设计实例:河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 14141414/29292929程序:程序:n=10;n=10;f=0 0.6 f=0 0.6 0.60.6 1;1;m=1 1 0 0;m=1 1 0 0;b,ab,a=yulewalk(n,f,myulewalk(n,f,m););h,wh,w=freqz(b,afreqz(b,a););plot(f,m,-.,w/pi,abs(hplot(f,m,-.,w/pi,abs(h),-);),-);text(0.7,1.2,-.:text(0.7,1.2,-.:理想频率响应理想频率响应););text(0.7,1.1,-:text(0.7,1.1,-:实际频率响应实际频率响应););河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 15151515/29292929河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 16161616/292929294 4、数字滤波器设计比较数字滤波器设计比较 1 1、阶数对数字滤波器性能的影响、阶数对数字滤波器性能的影响 B1,A1=butter(1,0.2);H1,W1=freqz(B1,A1);B2,A2=butter(3,0.2);H2,W2=freqz(B2,A2);B3,A3=butter(5,0.2);H3,W3=freqz(B3,A3);B4,A4=butter(7,0.2);H4,W4=freqz(B4,A4);subplot(4,1,1)plot(W1*2/(2*pi),abs(H1);title(一阶一阶);subplot(4,1,2)plot(W2*2/(2*pi),abs(H2);title(三阶三阶);subplot(4,1,3)plot(W3*2/(2*pi),abs(H3);title(五阶五阶);subplot(4,1,4)plot(W4*2/(2*pi),abs(H4);title(七阶七阶);河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 17171717/29292929河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 18181818/292929292 2、各种数字滤波器性能比较、各种数字滤波器性能比较设计实例一:设计实例一:设计低通数字滤波器,要求在通带内频率低于0.2rad时,容许幅度误差在1dB以内;在频率0.3到rad之间的阻带衰减大于15dB。分别设计巴特沃思滤波器、切比雪夫I型、切比雪夫II型、椭圆滤波器,并分析其特点。(T=1s)Wp=0.2/2=0.1Hz;Ws=0.3/2=0.15Hzp=1dB;s=15dB河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 19191919/29292929wpwp=0.1;ws=0.15;rp=1;rs=15;Fs=1;=0.1;ws=0.15;rp=1;rs=15;Fs=1;n1,Wn1=n1,Wn1=buttordbuttord(wp/(Fs/2),ws/(Fs/2),rp,rs);(wp/(Fs/2),ws/(Fs/2),rp,rs);num1,den1=num1,den1=butterbutter(n1,Wn1);(n1,Wn1);H1,W1=freqz(num1,den1);H1,W1=freqz(num1,den1);n2,Wn2=n2,Wn2=cheb1ordcheb1ord(wp/(Fs/2),ws/(Fs/2),rp,rs);(wp/(Fs/2),ws/(Fs/2),rp,rs);num2,den2=num2,den2=cheby1cheby1(n2,rp,Wn2);(n2,rp,Wn2);H2,W2=freqz(num2,den2);H2,W2=freqz(num2,den2);n3,Wn3=n3,Wn3=cheb2ordcheb2ord(wp/(Fs/2),ws/(Fs/2),rp,rs);(wp/(Fs/2),ws/(Fs/2),rp,rs);num3,den3=num3,den3=cheby2cheby2(n3,rs,Wn3);(n3,rs,Wn3);H3,W3=freqz(num3,den3);H3,W3=freqz(num3,den3);n4,Wn4=n4,Wn4=ellipordellipord(wp/(Fs/2),ws/(Fs/2),rp,rs);(wp/(Fs/2),ws/(Fs/2),rp,rs);num4,den4=num4,den4=ellipellip(n4,rp,rs,Wn4);(n4,rp,rs,Wn4);H4,W4=freqz(num4,den4);H4,W4=freqz(num4,den4);河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 20202020/29292929subplot(2,2,1)subplot(2,2,1)plot(W1*2/(2*pi),abs(H1);plot(W1*2/(2*pi),abs(H1);title(Buttorworhtitle(Buttorworh低通滤波器低通滤波器););subplot(2,2,2)subplot(2,2,2)plot(W2*2/(2*pi),abs(H2);plot(W2*2/(2*pi),abs(H2);title(Chebshevtitle(Chebshev I I低通滤波器低通滤波器););subplot(2,2,3)subplot(2,2,3)plot(W3*2/(2*pi),abs(H3);plot(W3*2/(2*pi),abs(H3);title(Chebshevtitle(Chebshev II II低通滤波器低通滤波器););subplot(2,2,4)subplot(2,2,4)plot(W4*2/(2*pi),abs(H4);plot(W4*2/(2*pi),abs(H4);title(title(椭圆低通滤波器椭圆低通滤波器););河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 21212121/29292929河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 22222222/29292929设计实例二:设计实例二:设计高通数字滤波器,Wp35Hz,Ws=30Hz,Fs100Hz,Rp0.5dB,Rs40dB,分别设计巴特沃思滤波器、切比雪夫I滤波器、切比雪夫II型滤波器、椭圆滤波器,并分析其特点。河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 23232323/29292929wpwp=35;ws=30;rp=0.5;rs=40;Fs=100;=35;ws=30;rp=0.5;rs=40;Fs=100;n1,Wn1=n1,Wn1=buttordbuttord(wp/(Fs/2),ws/(Fs/2),rp,rs);(wp/(Fs/2),ws/(Fs/2),rp,rs);num1,den1=num1,den1=butterbutter(n1,Wn1,high);(n1,Wn1,high);H1,W1=freqz(num1,den1);H1,W1=freqz(num1,den1);n2,Wn2=n2,Wn2=cheb1ordcheb1ord(wp/(Fs/2),ws/(Fs/2),rp,rs);(wp/(Fs/2),ws/(Fs/2),rp,rs);num2,den2=num2,den2=cheby1cheby1(n2,rp,Wn2,high);(n2,rp,Wn2,high);H2,W2=freqz(num2,den2);H2,W2=freqz(num2,den2);n3,Wn3=n3,Wn3=cheb2ordcheb2ord(wp/(Fs/2),ws/(Fs/2),rp,rs);(wp/(Fs/2),ws/(Fs/2),rp,rs);num3,den3=num3,den3=cheby2cheby2(n3,rs,Wn3,high);(n3,rs,Wn3,high);H3,W3=freqz(num3,den3);H3,W3=freqz(num3,den3);n4,Wn4=n4,Wn4=ellipordellipord(wp/(Fs/2),ws/(Fs/2),rp,rs);(wp/(Fs/2),ws/(Fs/2),rp,rs);num4,den4=num4,den4=ellipellip(n4,rp,rs,Wn4,high);(n4,rp,rs,Wn4,high);H4,W4=freqz(num4,den4);H4,W4=freqz(num4,den4);河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 24242424/29292929subplot(2,2,1)subplot(2,2,1)plot(W1*2/(2*pi),abs(H1);plot(W1*2/(2*pi),abs(H1);title(Buttorworhtitle(Buttorworh高通滤波器高通滤波器););subplot(2,2,2)subplot(2,2,2)plot(W2*2/(2*pi),abs(H2);plot(W2*2/(2*pi),abs(H2);title(Chebshevtitle(Chebshev I I高通滤波器高通滤波器););subplot(2,2,3)subplot(2,2,3)plot(W3*2/(2*pi),abs(H3);plot(W3*2/(2*pi),abs(H3);title(Chebshevtitle(Chebshev II II高通滤波器高通滤波器););subplot(2,2,4)subplot(2,2,4)plot(W4*2/(2*pi),abs(H4);plot(W4*2/(2*pi),abs(H4);title(title(椭圆高通滤波器椭圆高通滤波器););河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 25252525/29292929河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 26262626/292929295 5、MATLABMATLAB 的滤波器设计工具的滤波器设计工具 MATLAB MATLAB集成了一套功能强大的滤波器集成了一套功能强大的滤波器设计工具设计工具FDATool(FilterFDATool(Filter Design&Design&Analysis Tool)Analysis Tool),可以完成多种滤波器的,可以完成多种滤波器的设计、分析和性能评估。设计、分析和性能评估。点击点击MATLABMATLAB主窗口下方的主窗口下方的“StartStart”(开始开始)按钮,按图选择按钮,按图选择“ToolBoxToolBox”“FilterFilter DesignDesign”“FilterFilter Design&Analysis Design&Analysis Tool(FDAToolTool(FDATool)”,打开,打开FDAToolFDATool。河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 27272727/29292929河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 28282828/29292929河海大学常州校区河海大学常州校区河海大学常州校区河海大学常州校区利用利用利用利用MATLABMATLABMATLABMATLAB设计设计设计设计IIRIIRIIRIIR滤波器滤波器滤波器滤波器 29292929/29292929