第5章模拟滤波器设计滤波是信号处理的一种基本而重要的技术,利用滤波可从复杂的信号中提取所需要的信号,抑制不需要的部分。第3章中利用FFT进行简单滤波的尝试已初步说明了这个问题。所谓滤波器是指具有一定传输特性的信号处理装置。本章首先介绍模拟滤波器设计原理,然后介绍几种常见原型滤波器的设计,尔后介绍将模拟原型滤波器转换为其他类型滤波器的频率转换方法,最后介绍MATLAB中的模拟滤波器并通过应用实例进行说明。5.1滤波器的基本概念5.1.1滤波原理滤波器,顾名思义,其作用是对输入信号起到滤波的作用。对图5-1所示的线性时不变系统,其时域输入和输出关系为:y(n)=x(n)h(n)(5-1)x(n)y(n)图5-1线性时不变系统示意图若x(n),y(n)的Fourier变换存在,为jeX和jeY,则输入和输出的关系为:jjjeHeXeY(5-2)式中,jeH为系统的频率响应。再假定x(n)的Fourier变换的振幅jeX可用图5-2的上图表示,系统幅频响应jeH可用图5-2的中图表示,则滤波器的输出y(n)的频谱jeR可表示为图5-2的下图。h(n)图5-2滤波器滤波示意图这样,x(n)通过系统h(n)的结果是使输出y(n)中不再含有c的频率成分,而使c的成分“不失真”地给以通过。因此设计出不同形状的jeH可以得到不同的滤波结果。若滤波器的输入、输出都是离散时间信号,那么该滤波器的脉冲响应h(n)也必然是离散的。我们称这样的滤波器为数字滤波器(digitalfilter)。当用硬件实现一个数字滤波器时,所需的元件是延迟器、乘法器和加法器。当在计算机上用软件实现时,它就是一段线性卷积的程序。我们知道模拟滤波器只能用硬件来实现,其元件是电阻、电容、电感及运算放大器等。5.1.2滤波器的分类滤波器的种类很多,分类方法也不同,如可以从功能上分,也可以从实现方法上分,或从设计方法上来分等。但总的来说,滤波器可分为两大类,即经典滤波器和现代滤波器。经典滤波器是假定输入信号x(n)中的有用成分和希望去除的成分各自占有不同的频带,如图5-2所示,当x(n)通过一个线性系统(即滤波器)后可将欲去除的成分有效去除。如果信号和噪声的频谱相互重叠,那么经典滤波器将无能为力。现代滤波器理论研究的主要内容是从含有噪声的数据记录(又称时间序列)中估计出信号的某些特征或信号本身。一旦信号被估计出,那么估计出的信号将比原信号有更高的信噪比。本课程侧重于经典滤波器。经典滤波器从功能上总的可分为四种,即低通(lowpass)、高通(highpass)、带通(bandpass)、带阻(bandstop)滤波器,当然每一种又有模拟滤波器和数字滤波器两种形式。图5-3和图5-4分别给出了模拟滤波器和数字滤波器的四种形式。图中所给的滤波器的幅频响应都是理想情况,在实际上是不可能实现的。在实际工作中,我们设计的滤波器都是在某些准则下对理想滤波器的近似,这保证了滤波器在物理上是可实现的,且是稳定的。图5-3理想模拟滤波器幅频响应图5-4理想数字滤波器的幅频响应图5-3和图5-4的理想滤波器在物理上是不可实现的。不可实现的根本原因是从一个频率带到另一个频率带之间存在突变。为了物理上可实现,我们从一个带到另一个带之间设置一个过渡带,且在通带和阻带内也不应该严格为1或零,应给以较小的容限。在5.2节中,我们要介绍这种容限。5.2模拟滤波器的设计原理5.2.1信号无失真传输的条件所谓信号无失真传输是指输入信号通过系统后,输出信号的幅值和输入信号的幅值成正比。允许有一定的延时,但没有波形上的畸变。因此,系统的频率响应H(j)满足下面的特性:dtjHkjH(5-3)式中,k,td均为常数。即信号无失真传输的条件是:系统的幅频响应|jH|应为常数,相频响应jH应与频率成比例。或者说,滤波器应具有无限宽的定值幅频与线性相频。通常定义群延迟(Groupdelay)为信号系统的延迟时间,即:ddtd(5-4)群延迟为相频特性曲线的斜率。对于信号无失真传输,td为常数,即群延迟为常数;否则它是频率的非线性函数。5.2.2理想滤波器的特性滤波器是一个选频装置。理想滤波器应能无失真地传输有用信号,而又能完全抑制无用信号。有用信号和无用信号往往占有不同的频带。信号能通过滤波器的频带称为通带(Passband)。信号被抑制的频带称为阻带(Stopband)。理想滤波器频率特性可写为:在阻带内,在通带内0,dtjKejH(5-5)但通过后面的讲解我们会知道理想滤波器是物理不可实现系统。实际滤波器的频率特性只能“逼近”理想滤波器。图5-5为低通滤波器的幅频特性示意图。图5-5低通滤波器的幅频特性示意图可见,滤波器的幅频响应在通带内不是完全平直的,而是呈波纹变化;在阻带内,幅频特性也不为零,而是衰减至某个值;在通带和阻带之间存在一个过渡带,而不是突然下降。通常,实际设计要求滤波器的技术指标包括通带波纹Rp(Passbandripple)(dB)、阻带衰减Rs(Stopbandattenuation)(dB)、通带边界频率p、阻带边界频率s、过渡带宽ps。滤波器的通带波纹Rp为相对于频率响应最大点(一般为1)的下降,因此下降越少说明通带越平直,滤波器的滤波效果越好(通常为1~5dB)。滤波器的阻带衰减Rs也是相对于频率响应最大点(一般为1)的下降,因此下降越多说明信号在阻带内越不容易通过,因此滤波效果越好(通常要大于15dB)。过渡带宽越窄,滤波器的频率特性越接近于直角矩形特性,滤波效果也越好。应该指出的是,图5-5给出的是低通滤波器的情况,对于高通、带通、带阻具有相同的参数。5.2.3模拟滤波器传递函数设计原理模拟滤波器的设计理论通常在Laplace域内进行讨论,本节只讨论其应用。模拟滤波器的技术指标可由平方幅值响应函数22jHA的形式给出,而2jH和传递函数H(s)存在下面关系:jssHsHjHA|22(5-6)即)()(|)(222sHsHAs(5-7)当给定模拟滤波器的技术指标后,由22)()(jHA求出A(-s2),再适当地分配零极点可求出H(s)。为了使滤波器稳定,H(s)的极点必须落在s平面左半平面,这是因为对于一个滤波器的极点p,可以写成ps1的形式,其逆Laplace变换(对应于时间域)为pte,若p0,则随着时间增大至无穷,该滤波器的输出将出现不稳定。滤波器的零点选择可任取A(-s2)的一半零点,这是因为滤波器对Laplace域表示的传递函数并无特殊要求,但如果要求H(s)具有最小相位,零点也必须选择在s左半平面。5.3模拟原型滤波器本节介绍常用的模拟原型滤波器的主要特点及其MATLAB实现,包括Butterworth、ChebyshevI,ChebyshevII,Elliptical、Bessel原型低通滤波器的设计。模拟原型滤波器指的是截止频率为1的滤波器。后面所讲的各类模拟滤波器和数字滤波器可通过这些低通原型滤波器变换得到。5.3.1Butterworth滤波器Butterworth模拟低通滤波器的平方幅频响应函数为:NcAjH22211(5-8)式中,c为低通滤波器的截止频率(Cutofffrequency),N为滤波器的阶数。Butterworth滤波器的特点:通带内具有最大平坦的频率特性,且随着频率增大平滑单.........................调下降;阶数愈高,特性愈接近矩形,过渡带愈窄,传递函数无零点。...............................这里的特性接近矩形,是指通带频率响应段与过渡带频率响应段的夹角接近直角。通常该角为钝角,如果该角为直角,则为理想滤波器。所谓滤波器的零点就是将该点的值代入传递函数后,传递函数的值为零。所谓函数的极点就是将该点的值代入传递函数后,传递函数的值为无穷大。滤波器的增益是指传递函数表达式前的常数。若系统的传递函数表示为)()2()1()()2()1()()(nppspspsnzzszszsKsPsZsH(5-9)则滤波器零点为[z(1),z(2),…,z(nz)],极点为[p(1),p(2),…,p(np)],滤波器的增益为K。这里所说的零点和极点分布在一个圆上为Laplace域中的形式,感兴趣的读者可查看数学中的Laplace变换。MATLAB信号处理工具箱提供Butterworth模拟低通滤波器原型设计函数buttap,函数调用形式为:[z,p,k]=buttap(n)式中,n为butterworth滤波器阶数;z,p,k分别为滤波器的零点、极点和增益。Butterworth滤波器传递函数具有下面的形式:)()2()1()()(npspspsKsPsZsH(5-10)滤波器没有零点,极点为[p(1),p(2),…,p(n)],滤波器的增益为K。在有关模拟滤波器设计的MATLAB程序中,经常遇到一些特定函数。[b,a]=zp2tf(z,p,k)为将模拟原型滤波器函数(如buttap)设计出的零点z,极点p和增益k形式转换为传递函数(Transferfunction)形式;其中,b为滤波器传递函数分子多项式系数,a为滤波器传递函数分母多项式系数,见(4-4)式。[H,w]=freqs(b,a,w)求出传递函数形式(分子和分母多项式的系数为b,a)表示的滤波器的对应于频率点w的复数频率响应H(包括实部和虚部),这里w为一个矢量,表示对应的角频率。若该函数不写输出变量,则执行后绘出该滤波器的幅频响应和相频响应图。【例5-1】绘制Butterworth低通模拟原型滤波器的幅频平方响应曲线,阶数分别为2,5,10,20。%Samp5_1n=0:0.01:2;%频率点forii=1:4%取4种滤波器switchiicase1,N=2;case2,N=5;case3,N=10;case4,N=20;end[z,p,k]=buttap(N);%设计Butterworth滤波器[b,a]=zp2tf(z,p,k);%将零点极点增益形式转换为传递函数形式[H,w]=freqs(b,a,n);%按n指定的频率点给出频率响应magH2=(abs(H)).^2;%给出传递函数幅度平方holdon;plot(w,magH2);%绘制传递函数幅度平方endxlabel('w/wc');ylabel('|H(jw)|^2');title('Butterworth模拟原型滤波器');text(1.5,0.18,'n=2')%作必要的标记text(1.3,0.08,'n=5')text(1.16,0.08,'n=10')text(0.93,0.98,'n=20')gridon;00.20.40.60.811.21.41.61.8200.20.40.60.811.21.4w/wc|H(jw)|2Butterworth模拟原型滤波器n=2n=5n=10n=20图5-6Butterworth滤波器原型平方幅频图程序的运行结果见图5-6。可以看到,滤波器的幅频平方特性随着频率单调下降。随着滤波器阶数的增大,其幅频特性逐渐接近矩形,与前面介绍的Butterworth滤波器的特性一致。5.3.2ChebyshevI型ChebvshevI型模拟低通滤波器的平方幅值响应函数为cNCAjH222211(5-11)式中,为小于1的正数,表示通带内的幅值波纹情况;c为截止频率,N为Chebyshev多项式阶数,cNC为Chebyshev多项式,定义为:1coshcosh1coscos)(11xxNxxNxCN(5-12)Che