《基于MATLAB的巴特沃思和切比雪夫低通滤波器的设计(共15页).doc》由会员分享,可在线阅读,更多相关《基于MATLAB的巴特沃思和切比雪夫低通滤波器的设计(共15页).doc(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上第一章 数字滤波器及MATLAB语言概述数字滤波是语音和图像处理、模式识别、谱分析等应用中的一个基本处理算法,在数字信号处理中占有极其重要的地位。研究基于Matlab环境下的IIR数字滤波器的设计与实现,给出了相应的Matlab函数命令,并将滤波器应用于图像噪声的去除,取得了不同的效果,就其结果做出了进一步的解释和说明。数字滤波器是具有一定传输选择性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性不变离散系统。它的基本工作原理是利用离散系统特性对系统输入信号进行加工和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量通过,抑制无
2、用的信号输出分量。MATLAB是美国MathWorks公司推出的一套用于工程计算的可视化高性能语言与软件环境。MATLAB为数字滤波的研究和应用提供了一个直观、高效、便捷的利器。它以矩阵运算为基础,把计算、可视化、程序设计融合到了一个交互式的工作环境中。MATLAB推出的工具箱使各个领域的研究人员可以直观方便地进行科学研究、工程应用,其中的信号处理(signalproeessing)、图像处理(imageproeessing)、小波(wavelet)等工具箱为数字滤波研究的蓬勃发展提供了有力的工具。数字滤波器与模拟滤波器相比,具有精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配以及能实现模拟
3、滤波器无法进行的特殊滤波等优点。本文主要介绍有限冲激响应数字滤波器(FIR)和无限冲激响应数字滤波器(IIR)的设计原理、方法、步骤以及在MATLAB中的实现,并以实例形式列出设计程序和仿真结果。第二章 方案提取和技术要求第一节 方案提取IIR数字滤波器是一种离散时间系统,其系统函数为假设MN,当MN时,系统函数可以看作一个IIR的子系统和一个(M-N)的FIR子系统的级联。IIR数字滤波器的设计实际上是求解滤波器的系数和 ,它是数学上的一种逼近问题,即在规定意义上(通常采用最小均方误差准则)去逼近系统的特性。如果在S平面上去逼近,就得到模拟滤波器;如果在z平面上去逼近,就得到数字滤波器。设计
4、高通、带通、带阻等数字滤波器通常可以归纳为如图所示的两种常用方法:频率冲激响应不变法双线性变换频率冲激响应不变法模拟高通、带通和带阻数字原型低通模拟原型低通数字高通、带通和带阻交换模拟原型低通模拟高通、带通和带阻方法1交换双线性变换方法2图一 数字滤波器设计的两种方法方法1: 首先设计一个模拟原型低通滤波器,然后通过频率变换成所需要的模拟高通、带通或带阻滤波器,最后再使用冲激不变法或双线性变换成相应的数字高通、带通或带阻滤波器。方法2 :先设计一个模拟原型低通滤波器,然后采用冲激响应不变法或双线性变换法将它转换成数字原型低通滤波器,最后通过频率变换把数字原型低通滤波器变换成所需要的数字高通、带
5、通或带阻滤波器。方法一的缺点是,由于产生混叠是真,因此不能用冲激不变法来变换成高通或阻带滤波器,故采用第二种方法进行设计。本课程设计先用脉冲响应不变法设计巴特沃思数字低通滤波器,再利用双线性变换法设计一个切比雪夫滤波器。第二节 设计要求给定技术指标如下: 用脉冲响应不变法设计一个巴特沃思数字低通滤波器。技术指标同上,用双线性变换法设计一个切比雪夫数字低通滤波器,通带内等波纹。第三章 滤波器设计第一节 脉冲响应不变法设计巴特沃思数字低通滤波器顾名思义,脉冲响应不变法就是要求数字滤波器的脉冲响应序列h(n)与模拟滤波器的脉冲响应的采样值相等,即h(n)=其中,T为抽样间隔。根据模拟信号的拉普拉斯变
6、换与离散序列的Z变换之间的关系,我们知道H(z)=此式表明,的拉普拉斯变换在s平面上沿虚轴,按照周期=2/T延拓后,按式z=,进行Z变换,就可以将Ha(s)映射为H(z)。事实上,用脉冲响应不变法设计IIR滤波器,只适合于Ha(s)有单阶极点,且分母多项式的阶次高于分子多项式阶次的情况。将Ha(s)用部分分式表示: Ha(s)=LTh=式中,LT代表拉普拉斯变换,为的单阶极点。将Ha(s)进行拉普拉斯反变换,即可得到=式中,u(t)是单位阶跃函数。则的离散序列h(n)=对h(n)进行z变换之后,可以得到数字滤波器的系统函数H(z)H(z)= 在利用脉冲响应不变法将模拟滤波器转换为数字滤波器时,
7、由于模拟频率与数字频率之间呈线性关系,即=T,所以在模拟滤波器的频率响应是带限或阻带衰减较大的情况下,数字滤波器能较好地保持模拟滤波器的幅度响应。但由于实际应用中模拟滤波器一般都不满足带限条件,数字滤波器的频率响应都存在一定程度的混叠。对模拟低通和带通滤波器,可通过减小抽样间隔或者增大模拟滤波器在阻带的衰减,使混叠引起的误差出于可以接受的范围内。对模拟高通和阻带滤波器,由于存在严重的混叠,所以不能用脉冲相应不变法将模拟高通和阻带滤波器转换为数字滤波器。第二节 双线性变换法设计切比雪夫滤波器双线性变换法的基本思想是,在将模拟滤波器H(s)转换为数字滤波器H(z)时,不是直接从s域到z域,二十先将
8、非带限的H(s)映射为带限的H(s),再通过脉冲不变法将s映射到z域,即H(s)H(s) H(z)。从频域来看,模拟频率与数字频率的关系需通过建立,即 。先将无限范围内取值映射在/T, /T范围取值的,再由=T建立模拟频率与数字频率之间的关系。为了将S平面的整个虚轴j压缩到S1平面j1轴上的-/T到/T段上,可以通过以下的正切变换实现式中,T仍是采样间隔。当1由-/T经过0变化到/T时,由-经过0变化到+,也即映射了整个j轴。将式上写成将此关系解析延拓到整个S平面和S1平面,令j=s,j1=s1,则得再将S1平面通过以下标准变换关系映射到Z平面从而得到S平面和Z平面的单值映射关系为:以上两式是
9、S平面与Z平面之间的单值映射关系,这种变换都是两个线性函数之比,因此称为双线性变换其次,将s=+j代入上式,得因此由此看出,当0时,|z|0时,|z|1。也就是说,S平面的左半平面映射到Z平面的单位圆内,S平面的右半平面映射到Z平面的单位圆外,S平面的虚轴映射到Z平面的单位圆上。因此,稳定的模拟滤波器经双线性变换后所得的数字滤波器也一定是稳定的。双线性变换法优缺点:双线性变换法与脉冲响应不变法相比,其主要的优点是避免了频率响应的混叠现象。这是因为S平面与Z平面是单值的一一对应关系。S平面整个j轴单值地对应于Z平面单位圆一周,即频率轴是单值变换关系,这个关系如下:上式表明,S平面上与Z平面的成非
10、线性的正切关系,如图二所示。由图二看出,在零频率附近,模拟角频率与数字频率之间的变换关系接近于线性关系;但当进一步增加时,增长得越来越慢,最后当时,终止在折叠频率=处,因而双线性变换就不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象,从而消除了频率混叠现象。图二 双线性变换法的频率变换关系但是双线性变换的这个特点是靠频率的严重非线性关系而得到的,由于这种频率之间的非线性变换关系,就产生了新的问题。首先,一个线性相位的模拟滤波器经双线性变换后得到非线性相位的数字滤波器,不再保持原有的线性相位了;其次,这种非线性关系要求模拟滤波器的幅频响应必须是分段常数型的,即某一频率段的幅频响应近似等于
11、某一常数(这正是一般典型的低通、高通、带通、带阻型滤波器的响应特性),不然变换所产生的数字滤波器幅频响应相对于原模拟滤波器的幅频响应会有畸变,如图三所示。图三 双线性变换法幅度和相位特性的非线性映射对于分段常数的滤波器,双线性变换后,仍得到幅频特性为分段常数的滤波器,但是各个分段边缘的临界频率点产生了畸变,这种频率的畸变,可以通过频率的预畸来加以校正。也就是将临界模拟频率事先加以畸变,然后经变换后正好映射到所需要的数字频率上。所以双线性变化法一般适合于设计幅度响应为分段常数的数字滤波器,不适合设计数字微分器等幅度响应为非常数的数字滤波器。第四章 MATLAB程序及仿真第一节 MATLAB程序一
12、 脉冲响应不变法设计巴特沃思数字低通滤波器Wp=0.2*pi;Ws=0.3*pi;Ap=1;As=14;Fs=1;wp=Wp*Fs;ws=Ws*Fs;N=buttord(wp,ws,Ap,As,s);wc=wp/(10(0.1*Ap)-1)(1/2/N);numa,dena=butter(N,wc,s);numd,dend=impinvar(numa,dena,Fs);w=linspace(0,pi,512);h=freqz(numd,dend,w);norm=max(abs(h);numd=numd/norm;plot(w/pi,20*log10(abs(h)/norm);w=Wp Ws;h
13、=freqz(numd,dend,w);fprintf(Ap= % .4fn,-20*log10(abs(h(1);fprintf(As= % .4fn,-20*log10(abs(h(2);二 双线性变换法设计切比雪夫滤波器wp=0.2*pi;ws=0.3*pi;Ap=1;As=14;T=2;Fs=1/T;Wp=(2/T)*tan(wp/2); Ws=(2/T)*tan(ws/2);N,Wc=cheb1ord(Wp,Ws,Ap,As,s);num,den=cheby1(N,Ap,Wc,s);numd,dend=bilinear(num,den,Fs);w=linspace(0,pi,512)
14、;h=freqz(numd,dend,w);norm=max(abs(h);numd=numd/norm;plot(w/pi,20*log(abs(h)/norm);grid;xlabel(ChebyshevI BS DF);ylabel(Gain,dB);第二节 MATLAB波形图图四 巴特沃思数字低通滤波器的增益响应图五 切比雪夫数字低通滤波器的增益响应第五章 设计总结又一次的课程设计,与原来的不同,看到题目后没有原来那种茫然了,相信只有熟悉了题目相关的知识,就不会很难。数字滤波器,在数字信号处理等课程当中就有涉及,所以就比较熟悉。查课本,翻资料,上网经过一周的忙碌,增长了不少相关知识。通过这次课程设计,巩固了数字信号处理的有关知识,熟悉了各种数字滤波器的设计原理和设计方法。学会了利用MATLAB来进行滤波器的设计,加强了自己掌握和理解书本知识的能力,培养的自己实际动手能力和综合设计能力。希望自己在以后的学习生活当中不断加强自我学习的能力,努力完善自己。主要参考文献1、程佩青.数字信号处理(第二版)M.北京:清华大学出版社,2001.2、陈怀琛.数字信号处理教程-MATLAB释义与实现M.北京:电子工业出版社,2004.专心-专注-专业