信号分析与处理课程设计说明书数字切比雪夫滤波器的设计.doc
摘要随着信息和数字时代的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。在现代通信系统中,由于信号中经常混有各种复杂成分,因此很多信号的处理都是基于滤波器而进行的。所以,数字滤波器在数字信号处理中起着举足轻重的作用。数字滤波器是数字信号处理的重要工具之一,它通过数值运算处理改变输入信号所含频率成分的相对比例或者滤出某些频率成分的数字器件或程序,而数字滤波器处理精度高、体积小、稳定、重量轻、灵活、不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。故本课题使用MATLAB信号处理箱和运用切比雪夫法设计数字滤波器。数字滤波器是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。它的基本工作原理是利用离散系统特性对系统输入信号进行加工和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量通过,抑制无用的信号分量输出。数字滤波器和模拟滤波器有着相同的滤波概念,根据其频率响应特性可分为低通、高通、带通、带阻等类型,与模拟滤波器相比,数字滤波器除了具有数字信号处理的固有优点外,还有滤波精度高(与系统字长有关)、稳定性好(仅运行在0与l两个电平状态)、灵活性强等优点。关键词:数字 滤波 高通 低通 带通 切比雪夫1 设计原理1.1MATLAB介绍 MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。MATLAB 产品族可以用来进行以下各种工作:数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与仿真、数字图像处理技术、数字信号处理技术、通讯系统设计与仿真、财务与金融工程。MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB 函数集)扩展了MATLAB 环境,以解决这些应用领域内特定类型的问题。1.2 数字滤波器的介绍数字滤波器处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即1/2抽样频率点呈镜像对称。为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。1.3滤波器的分类1. 从功能上分;低、带、高、带阻。 2. 从实现方法上分:FIR、IIR 3. 从设计方法上来分:Chebyshev(切比雪夫),Butterworth(巴特沃斯) 4. 从处理信号分:经典滤波器、现代滤波器1.4数字滤波器的设计方法它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。应用最广的是线性、时不变数字滤波器,以及FIR滤波器。由模拟滤波器设计IIR数字滤波器,必须建立好s平面和z平面的映射关系。使模拟系统函数变换成数字滤波器的系统函数,通常采用冲激相应不变法和双线性变换法。冲激相应不变法存在频谱混叠现象,双线性变换法消除了这一现象,在IIR数字滤波器的设计中得到了更广泛的应用。s平面和Z平面的映射关系为,将和带入数字频率和等效的模拟频率之间的映射关系:,由于二者不是线性关系,所以称为预畸变。2 切比雪夫滤波器2.1切比雪夫滤波器简介切比雪夫滤波器特点:误差值在规定的频段上等波纹变化。切比雪夫滤波器(又译车比雪夫滤波器)是在通带或阻带上频率响应幅度等波纹波动的滤波器。在通带波动的为“I型切比雪夫滤波器”,在阻带波动的为“II型切比雪夫滤波器”。切比雪夫滤波器在过渡带比巴特沃斯滤波器的衰减快,但频率响应的幅频特性不如后者平坦。切比雪夫滤波器和理想滤波器的频率响应曲线之间的误差最小,但是在通频带内存在幅度波动。这种滤波器来自切比雪夫多项式,因此得名,用以纪念俄罗斯数学家巴夫尼提列波维其切比雪夫切比雪夫滤波器特点:误差值在规定的频段上等波纹变化。为了从模拟滤波器出发设计IIR数字滤波器,必须先设计一个满足技术指标的模拟滤波器,亦即要把数字滤波器的指标转换成模拟滤波器的指标,因此必须先设计对应的模拟原型滤波器。2.2模拟低通滤波器巴特沃兹滤波器在通带内幅度特性是单调下降的,如果阶次一定,则在靠近截止 处,幅度下降很多,或者说,为了使通带内的衰减足够小,需要的阶次N很高,为了克服这一缺点,采用切比雪夫多项式来逼近所希望的 。切比雪夫滤波器的 在通带范围内是等幅起伏的,所以在同样的通常内衰减要求下,其阶数较巴特沃兹滤波器要小。切比雪夫滤波器的振幅平方函数为 (1-4) 式中c为有效通带截止频率,表示与通带波纹有关的参量,值越大通带不动愈大。VN(x)是N阶切比雪夫多项式,定义为 (1-5)N为偶数,cos2( )=1,得到min, (1-6)N为奇数,cos2( ,得到max, (1-7) 3用MATLAB设计切比雪夫低通滤波器 3.1MATLAB相关函数(1)该格式用于计算N阶切比雪夫I型归一化模拟低通滤波器系统的零极点和增益因子。返回长度为N的列向量Z和P,分别给出N个零点和极点的位置。Rs是阻带最小衰减。(2)该格式用于计算切比雪夫I型数字滤波器的阶数N和阻带截止频率wso。调用参数分别为数字滤波器的通带频率和阻带边界频率的归一化值。(3) 该格式用于计算切比雪夫I型模拟滤波器的阶数N和阻带截止频率wso。wp和ws是实际模拟角频率。(4) 该格式用于计算N阶切比雪夫I型数字滤波器系统函数的分子和分母多项式系数向量B和A。调用参数N和wso分别为切比雪夫I型数字滤波器的阶数和阻带截止频率的归一化值。(5) 该格式用于计算N阶切比雪夫I型模拟滤波器系统函数的分子和分母多项式系数向量B和A。调用参数N和wso分别为切比雪夫I型模拟滤波器的阶数和阻带截止频率的归一化值。3.2高通滤波器的设计步骤 对高通滤波器技术指标进行归一化处理,通常对切比雪夫滤波器以及其等波动通带截止频率为归一化因子 将高通的技术指标变换成低通的技术指标根据转换出的低通滤波器的技术指标,按照前面介绍的低通滤波器设计方法设计满足技术指标的低通滤波器 对设计出的归一化低通滤波器的系统函数进行变换,得到归一化高通滤波器的系统函数 将设计的归一化高通滤波器进行反归一化处理,得到实际的高通滤波器3.3数字带通滤波器的设计运用双线性变换法基于MATLAB设计一个IIR带通滤波器(1)确定性能指标在设计带通滤波器之前,首先根 据工程实际的需要确定滤波器的技术指标: 通带截止频率wp1,wp2;阻带截止频率ws1,ws2;阻带最小衰减As和通带最大衰减Ap;中心频率wp0。(2)频率预畸变用=2/T*tan(w/2)对带通数字滤波器H(z)的数字边界频率预畸变,得到带通模拟滤波器H(s)的边界频率主要是通带截止频率Wp1,Wp2;阻带截止频率Ws1,Ws2的转换。双线性变换法一般T=2s。通带截止频率Wp1=(2/T)*tan(wp1/2)Wp2=(2/T)*tan(wp2/2)阻带截止频率Ws1=(2/T)*tan(ws1/2)Ws2=(2/T)*tan(ws2/2)(3)模拟带通性能指标转换成模拟低通性能指标BW=Wp2-Wp1; %带通滤波器的通带宽度 W0=Wp1*Wp2; WP=1; %归一化处理 WS=WP*(W02-Ws12)/(Ws1*BW);(4)模拟低通滤波器的构造借助切比雪夫(Chebyshev)滤波器得到模拟低通滤波器的传输函数Ha(s)。(5)模拟低通滤波器转换成模拟高通滤波器调用lp2bp函数将模拟低通滤波器转化为模拟带通滤波器。(6)模拟带通滤波器转换成数字带通滤波器利用双线性变换法将模拟带通滤波器Ha(s)转换成数字带通滤波器H(z)。(7)输入信号检验滤波器性能输入不同频率的正弦波,观察输出波形,检验滤波器性能。34双线性变换目的:将模拟带通滤波器转换成数字高通滤波器为克服冲激响应法可能产生的频率响应的混叠失真,这是因为从S平面到平面是多值的映射关系所造成的。为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-/T/T之间,再用z=esT转换到Z平面上。也就是说,第一步先将整个S平面压缩映射到S1平面的-/T/T一条横带里;第二步再通过标准变换关系z=es1T将此横带变换到整个Z平面上去。这样就使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象,映射关系如图1-3图1-3双线性变换的映射关系为了将S平面的整个虚轴j压缩到S1平面j1轴上的-/T到/T段上,可以通过以下的正切变换实现 (1-13)式中,T仍是采样间隔。当1由-/T经过0变化到/T时,由-经过0变化到+,也即映射了整个j轴。将式(1-9)写成(1-14)将此关系解析延拓到整个S平面和S1平面,令j=s,j1=s1,则得(1-15) 再将S1平面通过以下标准变换关系映射到Z平面 z=es1T从而得到S平面和Z平面的单值映射关系为:(1-16) (1-17)式(1-10)与式(1-11)是S平面与Z平面之间的单值映射关系,这种变换都是两个线性函数之比,因此称为双线性变换式(1-9)与式(1-10)的双线性变换符合映射变换应满足的两点要求。首先,把z=ej,可得(1-18)即S平面的虚轴映射到Z平面的单位圆。其次,将s=+j代入式(1-12),得 因此有 (1-19)双线性变换法优缺点:双线性变换法与脉冲响应不变法相比,其主要的优点是避免了频率响应的混叠现象。这是因为S平面与Z平面是单值的一一对应关系。S平面整个j轴单值地对应于Z平面单位圆一周,即频率轴是单值变换关系。这个关系如式(1-12)所示,重写如下:(1-20)上式表明,S平面上与Z平面的成非线性的正切关系,如图1-4所示。由图1-4看出,在零频率附近,模拟角频率与数字频率之间的变换关系接近于线性关系;但当进一步增加时,增长得越来越慢,最后当时,终止在折叠频率=处,因而双线性变换就不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象,从而消除了频率混叠现象。4 三种切比雪夫滤波器的设计过程及程序4.1设计一个切比雪夫型低通滤波器设计要求设计一个切比雪夫型低通滤波器,指标如下:通带边界频率:,通带最大衰减:阻带截止频率:,阻带最小衰减:实验程序:wp=0.2*pi; %通带边界频率;ws=0.4*pi; %阻带截止频率;rp=1; %通带最大衰减;rs=80; %阻带最小衰减;Fs=1000 %假设抽样脉冲1000hzN,Wn=cheb2ord(wp,ws,rp,rs,s); %Chebyshev II型滤波器参数计算(模拟域);Z,P,K=cheby2(N,rs,Wn,s); %构造Chebyshev II型滤波器(零极点模型);H,W=zp2tf(Z,P,K); %将零极点模型转化成传递函数的模型;figure(1);freqs(H,W); %在Figure1上显示滤波器的幅频响应及相频响应;P,Q=freqs(H,W); %返回滤波器的冲击响应的复数形式;figure(2);plot(Q*Fs/(2*pi),abs(P);grid; %在Figure2上显示幅频特性曲线;xlabel(频率/Hz);ylabel(幅值); 幅频响应 上图 相频曲线 下图幅值4.2设计一个高通Chebyshow型数字滤波器设计要求设计一个高通Chebyshow型数字滤波器,要求达到的指标是:wp=100Hz, ws=80Hz,Fs=300Hz, rp=1db,rs=45db.实验程序:wp=100;ws=80;Fs=300;rp=1;rs=45; %数字滤波器的各项指标;WP=100*2*pi; %把数字滤波器的频率特征转换成模拟滤波器的频率特征;WS=300*2*pi;N,Wn=cheb2ord(WP,WS,rp,rs,s); %Chebyshev II型滤波器参数计算(模拟域);Z,P,K=cheb2ap(N,rs); %创建Chebyshev滤波器原型;A,B,C,D=zp2ss(Z,P,K); %表达式从零极点增益形式转换成状态方程形式;AA,BB,CC,DD=lp2hp(A,B,C,D,Wn); %实现低通到高通滤波器类型的转换;a,b,c,d=bilinear(AA,BB,CC,DD,Fs); %采用双线性变换法,从模拟高通到数字高通;P,Q=ss2tf(a,b,c,d); %表达式从状态方程形形式转换成传输函数形式;figure(1);freqz(P,Q); %绘出频率响应;H,W=freqz(P,Q);figure(2);plot(W*Fs/(2*pi),abs(H);grid;xlabel(频率/Hz);ylabel(幅值);幅频响应(上) 幅度相频(下)幅值4.3设计一个带通切比雪夫数字滤波器设计要求设计一个带通切比雪夫数字滤波器,通带为100Hz200Hz,过渡带宽均为50Hz,通带波纹小于1dB,阻带衰减30Hz,采样频率。实验程序:W1=100;W2=200;rp=1;rs=30;Fs=1000; %数字滤波器的各项指标;WP=100,200;WS=50,250;N,Wn=cheb1ord(WP/(Fs/2),WS/(Fs/2),rp,rs); %Chebyshev I型滤波器参数计算(数字域);P,Q=cheby1(N,rp,Wn,bandpass);%创建Chebyshev带通滤波器;figure(1);freqz(P,Q); %显示产生滤波器的幅频及相频曲线;H,W=freqz(P,Q);figure(2);plot(W*Fs/(2*pi),abs(H);grid;xlabel(频率/Hz);ylabel(幅度); 幅频响应(上) 幅度相频(下)幅值5设计结果及分析切比雪夫滤波器的幅度特性具有等纹波特性,I型切比雪夫滤波器:通带内是等纹波的,在阻带内是单调的;II型切比雪夫滤波器:通带内是变化的,阻带内等纹波变化的。切比雪夫滤波器频率响应的特点是:在带通内是等幅的纹波,在阻带内单调衰减,过度迅速。在实际工程中,需要设计高通、带通、和带阻滤波器时,通常将设计好的低通滤波器,如巴特沃斯低通滤波器或切比雪夫低通滤波器等,在传递函数H(s)中通过频率变化,转换成为其他类型的滤波器。6实验小结 这次课程设计过程,看了一遍数字信号处理课程中关于数字滤波器的设计的内容,再通过利用参考文献与网络,完成了用Matlab进行数字信号处理课程设计。通过课程设计的内容,加深了对课堂学习中抽象概念切比雪夫定理的理解,并且巩固了课堂上所学的理论知识,从而能很好地理解与掌握数字信号处理中的基本概念、基本原理、基本分析方法。同时在使用MATLAB软件的过程中,掌握了matlab的编程方法和以及实际中解决问题的技巧。与其他高级语言的程序软件相比,MATLAB环境下可以更方便、快捷地设计出具有严格线性相位的切比雪夫滤波器,节省了编程时间,提高了编程效率,并且相应参数的修改也十分方便,还可以进一步根据图像的变化特点进行优化设计。相信随着版本的不断提高,MATLAB软件在数字滤波器等技术中必将发挥更大的作用。同时,用MATLAB计算有关数字滤波器的设计参数,如H(z)、h(n)等,对我而言是在数字滤波器的硬件实现方面提供了一条简单而更加准确的途径和依据。我还通过实验了解到,切比雪夫滤波器包括两种,即切比雪夫1型滤波器和2型滤波器,切比雪夫滤波器频率响应的特点是:在带通内是等幅的纹波,在阻带内单调衰减,过度迅速。更重要的是,我知道了,在实际工程中,需要设计高通、带通、和带阻滤波器时,通常将设计好的低通滤波器,如巴特沃斯低通滤波器或切比雪夫低通滤波器等,在传递函数H(s)中通过频率变化,转换成为其他类型的滤波器。这些对我来说都是难能可贵的,并且从书本上难以获得的知识。7.心得体会7 参考文献1刘泉,阙大顺 数字信号处理原理与实现,电子工业出版社,2005年6月2苏金明,王永利 Matlab7.0使用指南, 电子工业出版社,2004年11月3薛定宇,陈阳泉 基于matlab的系统仿真技术与应用,清华大学出版社 2002年4郭仕剑,王宝顺,贺志国 MATLAB数字信号处理.人民邮电出版社,2007.115陈怀琛 数字信号处理教程MATLAB释义与实现,北京:电子工业出版社2004本科生课程设计成绩评定表姓 名性 别专业、班级课程设计题目:课程设计答辩或质疑记录: 成绩评定依据:最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字: 年 月 日