IIR数字滤波器设计.docx
- 文档编号:9137009
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:25
- 大小:196.75KB
IIR数字滤波器设计.docx
《IIR数字滤波器设计.docx》由会员分享,可在线阅读,更多相关《IIR数字滤波器设计.docx(25页珍藏版)》请在冰豆网上搜索。
IIR数字滤波器设计
第一章绪论
IIR滤波器的设计可以利用模拟滤波器许多现成的设计公式、数据和表格,计算的工作量较小,所以IIR滤波器的设计设计方法主要有经典设计法、直接设计法和最大平滑滤波器设计方法。
本文中主要介绍经典方法设计IIR数字低通滤波器。
经典方法首先根据滤波器的技术指标设计出相应的模拟滤波器,然后再将
设计好的模拟滤波器变换成满足给定技术指标的数字滤波器。
在对滤波器进行实际设计时,整个过程的运算量是很大的。
设计阶数较高的IIR滤波器时,计算量
更大,设计过程中改变参数或滤波器类型时都要重新计算。
利用MATLAB强大的计算功能进行计算机辅助设计,可以快速有效地设计数字滤波器,大大地简化计算量。
MATLAB的信号处理工具箱是专门应用于信号处理领域的专用工具箱,它的两个基本组成就是滤波器的设计与实现部分以及谱分析部分。
工具箱提供了丰
富而简便的设计,使原来繁琐的程序设计简化成函数的调用。
只要以正确的指标
参数调用相应的滤波器设计程序或工具箱函数,便可以得到正确的设计结果,使用非常方便。
第二章IIR数字滤波器的设计
2.3数字滤波器的技术要求
滤波器的指标常常在频域给出。
数字滤波器的频响特性函数H(ej)一般为
复函数,所以通常表示为
H(ej)|H(ej)|ej(}式(2-3)
其中,|H(ej)|称为幅频特性函数;()称为相频特性函数。
幅频特性表示信号通过该滤波器后各频率成分的衰减情况,而相频特性反映各频率通过滤波器后在时间上的延时情况。
一般对IIR数字滤波器,通常只用幅频响应函数来描述设计指标,相频特性一般不作要求。
而对线性相位特性的滤波器,一般用FIR数字滤波器设计实现。
IIR低通滤波器的幅度特性如图2-3所示
0.70?
图2-3低通滤波器的幅度特性
图中p,s分别称为通带截止频率和阻带截止频率。
通带频率范围为0p
在通带中,要求(1-J 减与阻带内允许的最小衰减用 s表示。 其中, 20lg H(ej0) H(ejp)| 20lgH(e0) H(ejs) 式(2-4) 式(2-5) 求H(ej)2;从p到s称为过渡带,一般是单调下降的。 通带内允许的最衰 将H(ej0)归一化为1时,式(2-4),式(2-5)可表示成 式(2-6) 式(2-7) p=-20lg|H(ejWp)|dB 当幅度降到.22时, s=-20lg|H(ejws)|dB c,此时,p=3dB,称c为3dB通带截止频率。 c统称为边界频率。 2.4IIR滤波器的特点 IIR滤波器是一种数字滤波器,滤波器的系统函数如式(2-1)所示,由于它的脉冲响应序列h(n)是无限长的,故称为无限脉冲响应滤波器。 IIR滤波器系统函数的极点可以位于单位圆内的任何地方,因此可以用较低的阶数获得高选择性,所用存储单元少,经济而效率高。 但这些是以相位的非线性为代价的,选择性越好,相位非线性越严重。 IIR滤波器可以借助于模拟滤波器的成果,一般都有有效的封闭式设计公式可供准确计算,计算工作量比较小,而计算工具要求不高。 2.6原型模拟滤波器 本节主要介绍常用的低通原型模拟滤波器的主要特点,包括巴特沃斯滤波 器、切比雪夫I型滤波器、切比雪夫u型滤波器、椭圆滤波器、贝赛尔滤波器。 各类模拟滤器及数字滤波器可以通过这引起低通模拟原型滤波器变换得到。 2.6.1巴特沃斯滤波器 2 H(j) 巴特沃斯Butterworth低通滤波器的平方幅度响应为 式(2-18) 其中,n为滤波器的阶数,c为低通滤波器的截止频率。 该滤波器具有一些特殊的性质: 1对所有的n,都有当=0时,H(j0)21; 2 2对所有的n,都有当=c时,H(jJ1/2; 2 3H(j)是的单调递减函数,即不会出现幅度响应的起伏; 4当n时,巴特沃斯滤波器趋向于理想的低通滤波器; 5在=0处平方幅度响应的各级导数均存在且等于0,因此H(j)2在该 点上取得最大值,且有最大平坦特性。 6传递函数无零点,极点等距离分布在以丨s|=3c为半径的圆周上。 2.4.8阶巴特茨斯低通诱液器平方幅频图 1 0.8 0.6 善 —0J 02 0 00.511.5 w/wc 图2-82,4,8阶巴特沃斯低通滤波器平方幅频图 图2-6展示了2阶、4阶、8阶巴特沃斯低通滤波器的幅频特性。 可见阶数n越高,其幅频特性越好,低频检测信号保真度越高。 通带内具有最大平坦的幅频特性,且随频率增大平滑单调下降;阶数N越高,特性越接近矩形,过渡带宽越窄。 2.6.2切比雪夫滤波器 切比雪夫(Chebyshev)滤波器有ChebyshevI型和ChebyshevU型。 (1)ChebyshevI型 式(2-19) ChebyshevI型模拟低通滤波器的平方幅值响应函数为 221 H(j)A() 1Cn c 其中,为小于是的正数,表示通带内幅值波纹情况;c为截止频率;N 为Chebyshev多项式阶数,CN/c为Chebyshev多项式,定义为 |x|1 CN(X) 1 cos(Ncos(x)) 1 cosh(Ncosh(x)) |X|1 式2-20 由式(2-19)可知,传递函数没有零点,极点分布在一个椭圆上下图为8阶切比雪夫1型低通滤波器原型的平方幅频图, 图2-98阶切比雪夫1型低通滤波器平方幅频图 由图可知,切比雪夫I型滤波器的特点: 通带内具有等波纹起伏特性,而在阻带内单调下降,且具有更大的衰减特性;阶数N越高,特性越接近矩形。 (2)切比雪夫U型 ChebyshevU型模拟低通滤波器平方幅值响应函数为 21 H(j)A (2)1式(2-21) 22 1Cn— c 切比雪夫U型滤波器的特点: 阻带内具有等波纹起伏特性,而在通带内是单 询i.r血盲t了型氐曲謀贮相“型干巧慨用时i: zutr 调、平滑的。 阶数N越高,特性越接近矩形。 传递函数即有极点又零点切比雪夫U型滤波器的平方幅频图如下图所示 2.6.3椭圆(Elliptic)滤波器 椭圆(Elliptic)低通滤波器原型的平方幅值响应函数为 221 H(j)A (2)式(2-22) 12e2一 N c 2.6.4贝赛尔滤波器滤波器 贝塞尔模拟低通滤波器原型的特点是在零频时具有最平坦的群延迟,并在整 个通带内群延迟几乎不变。 在零频时的群延迟为2N21n,由于这一特点,贝 2NN! 塞尔模拟滤波器通带内保持信号形状不变。 其传递函数为 H(s) k 式(2-25) (sp (1))(sp (2))...(sp(n)) 8阶贝塞尔低通滤波器原型平方幅频响应图如图2-8所示。 2.7IIR数字滤波器的设计方法 IIR滤波器的系统函数如式(1-1)所示,设计一个IIR低通数字滤波器,实质上是寻找一组系数{ak,br},使其性能满足预定的技术要求,它是一个数学迫近问题。 它与模拟滤波器的设计方法是一致的,只是模拟滤波器设计是在S平面上用数学迫近的方法去寻找似于所需特性的H(s),而数字滤波器的设计是在Z平面上寻找合适的H(z)0IIR滤波器计步骤是: 先设计模拟滤波器得到传输函数Ha(s),然后将Ha(s)按某种方法转换成数字滤波器的系统函数H(z)。 这种设计IIR滤波器的方法一般有三种: (a)用原型模拟滤波器变换方法设计数字滤波器(经典设计方法); (b)简单滤滤器的零极点位置累法。 这种方法根据单位圆内的极点处出现峰值,零点处出现谷值的特点通过设置单位圆内的零极点来达到简单的性能要求。 (c)用优化技术设计参数。 最优化设计法的第一步是选择最优化准则;第二步是改变系统函数H(z)的系数分别计算误差;最后找出使误差最大的一组最优化系数,从而完成设计。 这种设计要进行大量的迭代运算。 在本设计中,使用(a)方法,通过模拟滤波器原型来设计IIR滤波器。 2.7.1IIR数字滤波器的经典设计方法 IIR数字滤波器经典设计法的一般步骤是: (1)确定数字低通滤波器的技术指标: 通带截止频率p,通带衰减p,阻 带截止频率s,阻带衰减S。 (2)将数字低痛滤波器的技术指标转换成模拟低通滤波器的技术指标。 (3)按照模拟低通滤波器的设计要求设计模拟低通滤波器。 (4)将模拟低通滤波器传输函数Ha(s)按某种方法转换成数字低通滤波器的 系统函数H(z)。 基于模拟滤波器变换,首先根据滤波器的技术指标设计出相应的模拟滤波 器,然后再将设计好的模拟滤波器变换成满足给定技术指标的数字滤波器。 这就 是IIR数字滤波器设计的经典法,在数字信号处理中,经典法设计IIR数字滤 波器采用下面的主要步骤: 图2-13经典法设计IIR低通数字滤波器步骤 图中第一、第二步为模拟滤波器设计,可以得到期望性能指标的模拟滤波器。 第三步离散化,把模拟滤波器转换成数字滤波器,即把模拟滤波器的系统函数H(s)映射成数字滤波器的系统函数H(z)。 为了保证转换后的H(z)稳定且滤足技术要求,对转换关系提出两点要求: (1)因果稳定的模拟滤波器转换成数字滤波器,仍是因果稳定的。 我们知道, 模拟滤波器因果稳定要求其传输函数Ha(s)的极点全部位于S平面的左半 平面;数字滤波器因果稳定则要求H(z)的极点全部在单位圆。 因此,转换关系应是S平面的左半平面映射Z平面的单位圆内部。 (2)数字滤波器的频率响应模仿模拟滤波器的频响,S平面的虚轴映射Z平面 的单位圆,相应的频率之间成线性关系。 实现系统传递函数Ha(s)从S域至Z域映射有多得方法,但工程上常用脉冲响应不变和双线性变换两种方法。 一、脉冲响应不变法 h(n)等于模拟滤波 所谓脉冲响应不变法,就是使用数字滤波器的脉冲响应序器的脉冲响应ha(t)的采样值,即 式中,T为采样周期 因此,数字滤波器的系统函数H(z)可由下式求得: 式中,ZT代表Z变换。 如果,已经获得了滤足性能要求的模拟滤波器的系 统函数Ha(s),求与之对应的数字滤波器的系统函数H(z)的方法是 (1)求模拟滤波器的单位脉冲响应ha(t) -1 ha(t)=LT[Ha(S)]式(2-28) (2)由式(2-26)求模拟滤波器的采样值,即数字滤波器脉冲响应序列h(n)。 (3)由式(2-27)求数字滤波器的系统函数H(z)。 由上述方法推论出更直接地由模拟滤波器的系统函数Ha(s)求出数字滤波器 系统函数H(z)的步骤是: (1) 利用部分分式展开式,把模拟滤波器系统函数Ha(s)展开成下面形式: (2)将模拟极点p变换成数字极点ePkT,式(2-29)变换成为数字滤波器系统 PkT ez 式(2-30) 函数 H(z) 由式(2-29)和式(2-30)可见,在脉冲响应不变法中,Ha(s)和H(z)的变换关系为: Ha(s)在S平面上有一个极点S=Si,则H(z)在Z平面内相应也有一个极点zeST但值得注意的是,不能将关系zeST直接代入Ha(s)来获取H(z),因为两者的零点不存在这种关系。 T 脉冲响应不变法,可以按下图对设计性能的频率指标作处理。 图2-10脉冲响应不变法性能指标转换 脉冲响应不变法的优点是数字角频率和模拟角频率满足线性转换关系,即 T,如果不考虑频率混叠现象,用这种方法设计的数字滤波器会很好地重现原模拟滤波器的频率特性。 另外一个优点是数字滤波器的单位脉冲响应完全模仿模拟滤波器的单位冲激响应,时域特性逼近好。 缺点是由于数字滤波器频响是模拟滤波器频响的周期延拓,原则上这种方法适用于低通、带通滤波器的设计。 二、双线性变换法由于S平面和Z平面的单值双线性映射关系为 式(2-31) T1 z1 21z1 ? 1z1 式(2-33) tan 在双线性变换中,模拟角频率和数字角频率存在下面关系: 式(2-34) T 式(2-35) 2arctan- 2 式中,的单位为弧度/秒,的单位为弧度,在0~n之间。 可见,和之间 的变换是非线性的。 双线性变换法,可以按下图对设计性能的频率指标作处理。 图2-11双线性变换法性能指标转换 双线性变换法克服了脉冲响应不变法的频谱混叠问题,其幅值逼近程度好, 也可适用于高通、带阻等各种滤波器设计。 由式(2-34)(2-35)可知,与之 间是非线性关系,这将直接影响数字滤波器频响逼真的模仿模拟滤波器的频响。 第三章数字滤波器的计算机辅助设计 表3-1MatlabIIR滤波器设计函数 IIR的设计方法 函数 模拟原型 (1)完成设计的函数butter、cheby1、cheby2、ellip、besself (2)阶次估计函数buttord、cheb1ord、cheb2ord、ellipord (3)低通模拟原型函数besselapbuttap、cheb1ap、cheb2ap、ellipap (4)频率转换函数lp2lp (5)滤波器离散化函数impinvar、bilinear 直接设计 yulewalk 参数化模型 (1)时域模型函数Ipc、prony、stmcp (2)频域模型函数invfreqz、invfreqs 3.2.1模拟滤波器设计函数 (1)巴特沃斯模拟滤波器 函数butter用于Butterworth滤波器设计,调用格式为: [b,a]=butter(n,n,'s') [b,a]=butter(n,n,'ftype','s') [z,p,k]=butter(n,n,'ftype','s') [A,B,C,D]=butter(n,n,'ftype','s') 其中,n为滤波器阶数;n为滤波器截止频率,单位为rad/s(n>0);'s'为模拟滤波器,缺省时为数字滤波器;'ftype'为滤波器类型,'hign'为高通滤波器,截止频率n;'stop'为带阻滤波器,n1,212;'ftype'缺省为低通或带通滤波器。 低通、高通滤波器时,n截止频率;带通或带阻滤波器时,n1,212。 a,b分别为滤波器的传递函数分子和分母式项式系数向量;z,p,k分别为滤波 器的零极点和增益;A,B,C,D为滤波器状态空间表达式矩阵。 滤波器传递函数具有下面形式 H(9 B(s) A(s) b (1)Bnb (2)sn1 ...b(n1) : (3-1) a(1>n a (2)sn1 ...a(n 1)式 状态空间表达式 xAx Bu 式 : (3-2) yCx Du 式 : (3-3) 若滤波器为带通或带阻型, 则滤波器的阶数为 2n, 否则阶数为n。 (2)切比雪夫I型模拟滤波器 函数cheby1用于ChebyshevI滤波器设计,调用格式为: [b,a]=cheby1(n,Rp,n,'s') [b,a]=cheby1(n,Rp,n,'ftype','s') [z,p,k]=cheby1(n,Rp,n,'ftype','s') [A,B,C,D]=cheby1(n,Rp,n,'ftype','s')其中,Rp为通带波纹(dB),其余各项意义与函数butter相同。 (3)切比雪夫U型模拟滤波器 函数cheby2用于ChebyshevI滤波器设计,调用格式为: [b,a]=cheby2(n,Rs,n,'s') [b,a]=cheby2(n,Rs,n,'ftype','s') [z,p,k]=cheby2(n,Rs,n,'ftype','s') [A,B,C,D]=cheby2(n,Rs,n,'ftype','s')其中,Rs为阻带衰减(dB),其余各项意义与函数butter相同。 (4)椭圆模拟滤波器 函数ellip用于椭圆滤波器设计,调用格式为: [b,a]=ellip(n,Rp,Rs,n,'s') [b,a]=ellip(n,Rp,Rs,n,'ftype','s') [z,p,k]=ellip(n,Rp,Rs,n,'ftype','s') [A,B,C,D]=ellip(n,Rp,Rs,n,'ftype','s') 其中,Rp为通带波纹(dB),Rs为阻带衰减(dB),其余各项意义与函数butter相同。 (5)贝塞尔模拟滤波器 函数besself用于贝塞尔(Bessel)滤波器设计,调用格式为: [b,a]=besself(n,n) [b,a]=cheby1(n,n,'ftype') [z,p,k]=cheby1(n,n,'ftype') [A,B,C,D]=cheby1(n,n,'ftype') 其中,n为滤波器阶数,n为滤波器截止频率(-3dB频率),其余各项意义与函数butter相同。 3.2.2最小阶数选择函数 Matlab信号处理工具箱提供各种滤波器最小阶数选择工具函数,这些函数和滤波器设计函数连接起来可方便成功地设计各类滤波器。 (1)Butterworth模拟滤波器阶数选择函数Buttord,调用格式为 [n,n]buttord(p,s,Rp,Rs,'s') (2)ChebyshevI模拟滤波器阶数选择函数Cheblord,调用格式为 [n,n]cheb1ord(p,s,Rp,Rs,'s') (3)ChebyshevH模拟滤波器阶数选择函数Cheb2ord,调用格式为 [n,n]cheb2ord(p,s,Rp,Rs,'s') (4)椭圆模拟滤波器阶数选择函数Ellipord,调用格式为 [n,n]ellipord(p,s,Rp,Rs,'s') 其中,p为通带边界频率,单位rad/s;s为阻带边界频率,单位rad/s;Rp为通带波动,dB,此值是滤波器在通带0~p之间允许最大允许幅值损失;Rs为阻带衰减,dB,是滤波器幅值从通带至阻带下降的分贝数;’s'表示模拟滤波器(缺省时该函数用于数字滤波器);函数返回值n为模拟滤波器最小阶数;n为模拟滤波器的截止频率(-3dB),rad/s。 这四个函数适用于高通、带通、带阻滤波器。 3.2.3模拟原型滤波器设计函数 模拟低通滤波器原型函数有buttap、cheb1ap、cheb2ap、ellipap、besselap。 (1)巴特沃斯模拟低通滤波器原型函数buttap,函数调用格式 [z,p,k]=buttap(n) (2)切比雪夫I模拟低通滤波器原型函数cheblap,函数调用格式 [z,p,k]=cheb1ap(n,Rp) (3)切比雪夫U模拟低通滤波器原型函数cheb2ap,函数调用格式 [z,p,k]=cheb2ap(n,Rs) (4)椭圆模拟低通滤波器原型函数ellipap,函数调用格式 [z,p,k]=ellipap(n,Rp,Rs) (5)贝塞尔模拟低通滤波器原型函数besselap函数调用格式 [z,p,k]=besselap(n) 3.2.4频率转换函数 Matlab信号处理工具箱提供的频率转换函数为lp2lp、lp2hp、lp2bp、lp2bs。 (1)lp2lp用于实现低通模拟滤波器原型滤波器至低通滤波器的频率转换。 调用格式为 [bt,at]=lp2lp(b,a,0) [At,Bt,Ct,Dt]=lp2lp(A,B,C,D,0) 式中,a,b或A,B,C,D为模拟原型滤波器模型,返回低通滤波器的模型,用传递函数形式(bt,at)或状态空间形式(At,Bt,Ct,Dt) (2)lp2hp用于实现低通模拟滤波器原型滤波器至高通滤波器的频率转换。 调用格式为 [bt,at]=lp2hp(b,a,0) [At,Bt,Ct,Dt]=lp2hp(A,B,C,D,0) (3)lp2bp用于实现低通模拟滤波器原型滤波器至带通滤波器的频率转换。 调用格式为 [bt,at]=lp2bp(b,a,0,Bw) [At,Bt,Ct,Dt]=lp2bp(A,B,C,D,0,Bw) 其中,Bw为带通滤波器带宽,rad/s。 (4)Ip2bs用于实现低通模拟滤波器原型滤波器至带阻滤波器的频率转换。 调用格式为 [bt,at]=Ip2bs(b,a,0,Bw) [At,Bt,Ct,Dt]=Ip2bs(A,B,C,D,0,Bw) 其中,Bw为带阻滤波器带宽,rad/s。 3.2.5滤波器离散化函数 (1)impinvar基于脉冲响应不变法实现模拟滤波器至数字滤波器的转换。 调用格式: [bz,az]=impinvar(b,a,Fs) 其中b,a为模拟滤波器分子、分母多项式系数;Fs为采样频率,缺省值为 1Hz;bz,az为数字滤波器的分子、分母多项式系数。 (2)biIinear 双线性变换法实现S域至数字Z域的映射,直接用于模拟滤波器变换为数字滤波器。 对于不同形式的模拟滤波器模型,函数调用格式不同。 分为零极点增益形式、传递函数形式、状态空间形式。 格式分别如下: 零极点增益形式: [zd,pd,kd]=biIinear(z,p,k,Fs)传递函数形式: [numd,dend]=biIinear(num,den,Fs)状态空间形式: [Ad,Bd,Cd,Dd]=(A,B,C,D,Fs) 式中,z,p分别为模拟滤波器零、极点列向量;k为模拟滤波器增益;Fs为采样频率,单位为Hz;zd,pd,kd为数字滤波器零、极点,增益。 3.3MATLAB中IIR低通数字滤波器的设计方法及设计步骤 MATLAB中利用原型模拟滤波器设计IIR低通数字滤波器的步骤为 (1)根据给定的性能指标和方法首先对设计性能指标中的频率指标进行转换,转换后的频率指标作为模拟滤波器原型设计性能指标。 (2)估计模拟滤波器最小阶数和边界频率,利用MATLAB工具函数 buttord、cheb1ord、cheb2ord、eIIipord等。 (3)设计模拟低通滤波器原型,利用MATLAB工具函数buttap、cheb1ap、 cheb2apellipap等。 (4)由模拟低通原型经频率变换获得数字滤波器(低通)利用MATLAB函数Ip2lp。 (5)将模拟滤波器离散化获得IIR低通数字滤波器,利用MATLAB工具函数blinear、impinvar。 设计流程图为 图3-1Matlab中设计IIR滤波器的流程图 3.4IIR低通数字滤波器的设计实例 3.4.1用脉冲响应不变法设计IIR低通数字滤波器的实例 [实例1]用脉冲响应不变法设计一个BUTTERWORTH低通数字滤波器,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IIR 数字滤波器 设计