《《IIR滤波器》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《IIR滤波器》PPT课件.ppt(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、选频选频IIR数字滤波器设计方法数字滤波器设计方法 (一)典型(一)典型IIR选频滤波器设计方法选频滤波器设计方法(1)按一定规则将给出的数字滤波器的技术指标转换成模拟低按一定规则将给出的数字滤波器的技术指标转换成模拟低通滤波器的技术指标。通滤波器的技术指标。(2)根据转换后的技术指标使用滤波器阶数选择函数,确定最根据转换后的技术指标使用滤波器阶数选择函数,确定最小阶数小阶数N和固定频率和固定频率Wn。(3)运用最小阶数运用最小阶数N产生模拟滤波器原型。产生模拟滤波器原型。(4)运用固有频率运用固有频率Wn把模拟低通滤波器原型转换成模拟低通把模拟低通滤波器原型转换成模拟低通、高通、带通、带阻滤
2、波器。、高通、带通、带阻滤波器。(5)运用冲激响应不变法或双线性变换法把模拟滤波器转换成运用冲激响应不变法或双线性变换法把模拟滤波器转换成数字滤波器。数字滤波器。模模拟拟低低通通原原型型滤波器的创建滤波器的创建buutapcheb1apchab2apellipap频率转换频率转换lp2lplp2hplp2bplp2bs离散化处理离散化处理bilinearimpinvar1、模拟低通原型滤波器的设计、模拟低通原型滤波器的设计MATLAB提供了提供了buttap、cheb1ap、chab2ap和和ellipap函数设函数设计不同类型的模拟低通原型滤波器。计不同类型的模拟低通原型滤波器。它们的函数形
3、式如下:它们的函数形式如下:z.p,k=buttap(n)z.p,k=cheb1ap(n,rp)z.p,k=cheb2ap(n,rs)z.p,k=ellipap(n,rp,rs)buutap、cheb1ap、chab2ap和和ellipap函数以零、极点增益的函数以零、极点增益的形式给出模拟原型低通滤波器的设计方案。其中,形式给出模拟原型低通滤波器的设计方案。其中,z、p、k分别分别表示零点、极点和增益。表示零点、极点和增益。MATLAB提供函数提供函数zp2tf将零极点增益模型转换为传递函数模将零极点增益模型转换为传递函数模型。函数形式为:型。函数形式为:b,a=zp2tf(z,p,k)由于
4、通常给出的数字滤波器的设计指标是由于通常给出的数字滤波器的设计指标是wp、ws、rp和和rs,而不是而不是n,所以在利用函数所以在利用函数buutap、cheb1ap、chab2ap和和ellipap函数设计模拟低通原型滤波器之前,应求出滤波器的阶数函数设计模拟低通原型滤波器之前,应求出滤波器的阶数n。利用函数利用函数buttord、cheb1ord、cheb2ord和和ellipord函数可以求函数可以求出模拟滤波器的阶数。出模拟滤波器的阶数。n,wn=buttord(wp,ws,rp,rs,s)n,wn=cheb1ord(wp,ws,rp,rs,s)n,wn=cheb2ord(wp,ws,
5、rp,rs,s)n,wn=ellipord(wp,ws,rp,rs,s)注意:注意:(1)buttord、cheb1ord、cheb2ord和和ellipord函数中的函数中的s表表示所求的滤波器为示所求的滤波器为模拟滤波器模拟滤波器。因此,指标。因此,指标wp和和ws实际上是模实际上是模拟角频率而不是数字角频率,其单位是拟角频率而不是数字角频率,其单位是rad/s,而不是而不是rad。(2)对于低通滤波器:对于低通滤波器:wpws。对于带通滤波器:对于带通滤波器:wp和和ws均为二维向量均为二维向量,且且wp(1)ws(1)、wp(2)ws(2)。对于带阻滤波器:对于带阻滤波器:wp和和ws
6、均为二维向量均为二维向量,且且wp(1)ws(2)。2、频率转换、频率转换MATLAB提供函数提供函数lp2lp、lp2hp、lp2bp和和lp2bs实现原型低实现原型低通滤波器向低通、高通、带通和带阻滤波器的转换通滤波器向低通、高通、带通和带阻滤波器的转换(1)从低通到低通的转换)从低通到低通的转换lp2lp函数可将截止频率为函数可将截止频率为1rad/s的模拟低通滤波器原型变换的模拟低通滤波器原型变换成截止频率为成截止频率为Wn的低通滤波器。的低通滤波器。bt,at=lp21p(b,a,Wn)其中其中Wn为截止频率。为截止频率。(2)从低通到高通的转换)从低通到高通的转换lp2hp函数可将
7、截止频率为函数可将截止频率为1rad/s的模拟低通滤波器原型变换的模拟低通滤波器原型变换成截止频率为成截止频率为Wn的高通滤波器。的高通滤波器。bt,at=lp2hP(b,a,Wn)(3)从低通到带通的转换)从低通到带通的转换lp2bp函数可将截止频率为函数可将截止频率为1rad/s的模拟低通滤波器原型转换的模拟低通滤波器原型转换成具有指定带宽成具有指定带宽Bw和中心频率和中心频率Wn的带通滤波器。的带通滤波器。bt,at=1p2bp(b,a,Wn,Bw)其中心频率为其中心频率为Wn,带宽为带宽为Bw。如果要求的滤波器的低端截止如果要求的滤波器的低端截止频率为频率为w1,高端截止频率为高端截止
8、频率为w2,则可计算出则可计算出Wn和和Bw:Wn=sqrt(w1,w2)Bw=w2-w1(4)从低通到带阻的转换)从低通到带阻的转换lp2bs函数可将截止频率为函数可将截止频率为1rad/s的模拟低通滤波器原型转换的模拟低通滤波器原型转换成具有指定带宽成具有指定带宽Bw和中心频率和中心频率Wn的带阻滤波器。的带阻滤波器。bt,at=lp2bs(b,a,Wn,Bw)其中心频率为其中心频率为Wn,带宽为带宽为Bw。Wn和和Bw的计算方法与(的计算方法与(3)相)相同。如果要求的滤波器的低端截止频率为同。如果要求的滤波器的低端截止频率为w1,高端截止频率为高端截止频率为w2,则可计算出则可计算出W
9、n和和Bw:Wn=sqrt(w1,w2)Bw=w2-w13、滤波器离散化、滤波器离散化(1)脉冲响应不变法)脉冲响应不变法MATLAB工具箱提供了函数工具箱提供了函数impinvar,它采用脉冲响应不它采用脉冲响应不变法来实现模拟滤波器到数字滤波器的转换。变法来实现模拟滤波器到数字滤波器的转换。(2)双线性变换法)双线性变换法为了克服冲激响应不变法产生的频率混叠现象,需要使为了克服冲激响应不变法产生的频率混叠现象,需要使s平平面与面与z平面建立一一对应的单值映射关系,可采用双线性变换平面建立一一对应的单值映射关系,可采用双线性变换法。法。MATLAB工具箱提供了函数工具箱提供了函数biline
10、ar(),实现双线性变换。实现双线性变换。例例7:设计一个巴特沃斯高通数字滤波器,它的抽样频率为:设计一个巴特沃斯高通数字滤波器,它的抽样频率为Fs为为100Hz,通带临界频率为通带临界频率为40Hz,rp=0.5dB,rs=40dB,通带上限临界通带上限临界频率为频率为40Hz,阻带下限临界频率为阻带下限临界频率为30Hz。wp=2*pi*40;ws=2*pi*30;rp=0.5;rs=40;%滤波器指标滤波器指标Fs=100;T=1/Fs;wp=(2/T)*tan(wp/200)%预畸预畸ws=(2/T)*tan(ws/200)%预畸预畸n,wn=buttord(wp,ws,rp,rs,s
11、)%模拟滤波器设计模拟滤波器设计z,p,k=buttap(n);b1,a1=zp2tf(z,p,k);b2,a2=lp2hp(b1,a1,wn);%频带转换频带转换b,a=bilinear(b2,a2,Fs)%滤波器离散化滤波器离散化h,w=freqz(b,a)%画滤波器的频响画滤波器的频响plot(w*Fs/(2*pi),abs(h);grid;例例8:试用双线性变换法设计一个带通椭圆数字滤波器:试用双线性变换法设计一个带通椭圆数字滤波器,其技术指其技术指标为标为wpl=l0Hz,wsl=9Hz,wp2=20Hz,ws2=21Hz,rp=0.5B,rs=50dB,抽样频率为抽样频率为100H
12、z。wp1=2*pi*10;wp2=2*pi*20;ws1=2*pi*9;ws2=2*pi*21;Fs=100;rp=0.5;rs=50;wp1=(2/T)*tan(wp1*T/2);wp2=(2/T)*tan(wp2*T/2)ws1=(2/T)*tan(ws1*T/2);ws2=(2/T)*tan(ws2*T/2)wp=wp1wp2;ws=ws1ws2;n,wn=ellipord(wp,ws,rp,rs,s)Bw=wn(2)-wn(1);Wo=sqrt(wn(2)*wn(1);z,p,k=ellipap(n,rp,rs);b1,a1=zp2tf(z,p,k)b2,a2=lp2bp(b1,a1
13、,Wo,Bw)b,a=bilinear(b2,a2,Fs)H,W=freqz(b,a);plot(W*Fs/(2*pi),abs(H);grid;axis(05001);(二)利用(二)利用MATLAB函数直接设计数字滤波器函数直接设计数字滤波器1、巴特沃思滤波器、巴特沃思滤波器MATLAB提供了函数提供了函数butter完成巴特沃思滤波器的设计。形式如下:完成巴特沃思滤波器的设计。形式如下:b,a=butter(N,wn):设计设计N阶低通滤波器,阶低通滤波器,wn为它的为它的3dB截止频率。截止频率。b,a=butter(N,wn,high):设计设计N阶高通滤波器,阶高通滤波器,wn为它
14、的为它的3dB截止频率。截止频率。b,a=butter(N,wn):当当wn为具有两个元素的矢量为具有两个元素的矢量wn=w1w2时,时,它设计它设计2N阶带通滤波器,它具有单位为阶带通滤波器,它具有单位为的的3dB通带:通带:w1ww2。b,a=butter(N,wn,stop):当当wn为具有两个元素的矢量为具有两个元素的矢量wn=w1w2时,时,它设计它设计2N阶带阻滤波器,它具有单位为阶带阻滤波器,它具有单位为的的3dB阻带:阻带:w1ww2。注:注:wn单位为单位为。为了设计任意的选频巴特沃思滤波器,必须知道阶数为了设计任意的选频巴特沃思滤波器,必须知道阶数N和和3dB截止频率矢量截
15、止频率矢量wn。在在MATLAB的信号处理工具箱中,提供了一的信号处理工具箱中,提供了一个叫做个叫做buttord的函数计算这些参数。给定指标:的函数计算这些参数。给定指标:wp,ws,Rp和和As,这个函数可以求出必要的参数:它的句法为:这个函数可以求出必要的参数:它的句法为:N,wn=buttord(wp,ws,Rp,As)l l 对于低通滤波器对于低通滤波器wpwsl l 对于带通滤波器对于带通滤波器wp和和ws是具有两个元素的矢量,是具有两个元素的矢量,wp=wp1,wp2和和ws=ws1,ws2,并且并且ws1wp1wp2ws2l l 对于带阻滤波器对于带阻滤波器wp和和ws是具有两
16、个元素的矢量,是具有两个元素的矢量,wp=wp1,wp2和和ws=ws1,ws2,并且并且wp1ws1ws2wp22、切比雪夫滤波器、切比雪夫滤波器b,a=cheby1(N,Rp,Wn);其中其中Rp为指定通带内波纹。为指定通带内波纹。b,a=cheby1(N,Rp,Wn,ftype);其中其中ftype=high或或stop。N,wn=cheb1ord(wp,ws,Rp,As);b,a=cheby2(N,As,Wn);其中其中As为指定阻带内波纹。为指定阻带内波纹。b,a=cheby2(N,As,Wn,ftype);其中其中ftype=high或或stop。N,wn=cheb2ord(wp,
17、ws,Rp,As);注:注:wn单位为单位为。请在请在MATLAB中参考以下函数的帮助信息:中参考以下函数的帮助信息:cheby1、cheb1ord、cheby2、cheb2ord3、椭圆滤波器、椭圆滤波器b,a=ellip(N,Rp,As,Wn);其中其中Rp、As分别为指定通带内和阻带内的波纹。分别为指定通带内和阻带内的波纹。b,a=ellip(N,Rp,As,Wn,ftype);其中其中ftype=high或或stop。N,wn=ellipord(wp,ws,Rp,As);注:注:wn单位为单位为。请在请在MATLAB中参考以下函数的帮助信息:中参考以下函数的帮助信息:ellip、ell
18、ipord例例7:设计一个巴特沃斯高通数字滤波器,它的抽样频率为:设计一个巴特沃斯高通数字滤波器,它的抽样频率为Fs为为100Hz,通带临界频率为通带临界频率为40Hz,rp=0.5dB,rs=40dB,通带上限临界通带上限临界频率为频率为40Hz,阻带下限临界频率为阻带下限临界频率为30Hz。wp=0.8;ws=0.6;Fs=100;n,wn=buttord(wp,ws,rp,rs)b,a=butter(n,wn,high)h,w=freqz(b,a);plot(w*Fs/(2*pi),abs(h);grid;例例8:试用双线性变换法设计一个带通椭圆数字滤波器:试用双线性变换法设计一个带通椭圆数字滤波器,其技术指其技术指标为标为wpl=l0Hz,wsl=9Hz,wp2=20Hz,ws2=21Hz,rp=0.5B,rs=50dB,抽样频率为抽样频率为100Hz。w1=0.20.4;w2=0.180.42;n,wn=ellipord(w1,w2,rp,rs)b,a=ellip(n,rp,rs,wn)H,W=freqz(b,a);plot(W*Fs/(2*pi),abs(H);grid;