毕业设计(论文)IIR数字滤波器的MATLAB设计与实现.doc
《毕业设计(论文)IIR数字滤波器的MATLAB设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)IIR数字滤波器的MATLAB设计与实现.doc(11页珍藏版)》请在三一办公上搜索。
1、IIR数字滤波器的MATLAB设计与实现电子信息科学与技术 指导教师 摘要:面对庞杂繁多的原始信号,如何提取所需要的信号,同时抑制不需要的信号?这需要使用滤波器。滤波器是一种选频系统,它对某些频率的信号予以很小的衰减,让这部分信号顺利通过,而对其他不需要的频率信号则予以很大的衰减,尽可能阻止这些信号通过。数字滤波器因其具有精度高、可靠性好、灵活性大等优点,在工程上应用相当广泛。数字滤波器根据其冲击响应函数的时域特性又可以分为有限脉冲响应数字滤波器(FIR)和无限脉冲响应数字滤波器(IIR)。本文主要讨论用MATLAB软件实现IIR数字滤波器设计。MATLAB语言是一种面向科学和工程计算的语言,
2、它具有编程效率高,调试手段丰富,扩充能力强等特点,其应用设计众多领域。MATLAB语言的信号处理工具箱不仅可以用来进行IIR数字滤波器的设计,而且还可以使设计达到最优化,是设计数字滤波器的强有力工具。关键词:数字滤波器;模拟滤波器;IIR;MATLABDesign and Realization of FIR Filter Based On MATLAB Science and Technology of Electronic Information Li Feng Tutor Sun HongyanAbstract: Facing various confused the original
3、signal, how to extract needed signal and simultaneously to suppress dont need signal?This need to use filter. Filter is a kind of frequency selective system. It for some frequency signal to small attenuation. Let this part signal passed smoothly. For other dont need as the frequency of the signal sh
4、all be great attenuation is. As far as possible to prevent these signals through.Because of its digital filter of high precision, good reliability and flexibility big advantages. In engineering application quite extensive. Digital filter of shock response function according to the time domain proper
5、ties and can be divided into finite impulse response digital filter (FIR) and infinite impulse response digital filter (IIR). This paper mainly discusses the MATLAB software to realize IIR digital filter design. MATLAB language is a kind of facing the science and engineering calculation language. It
6、 has high efficiency, commissioning means programming rich, strong ability to wait for a characteristic, extended its application design many other fields. MATLAB language signal processing toolbox not only can be used for the design of IIR digital filter, and still can make a design to reach optimi
7、zation. It is designed digital filter, powerful tools.Key words: Digital filter;Anolog filter;FIR; MATLA.1 引言1.1 数字滤波器概述 数字滤波器根据其单位脉冲响应特性不同可以分为IIR滤波器和FIR滤波器。目前数字滤波器的设计有许多现成的高级语言设计程序,但他们都存在设计效率较低,不具有可视图形,不便于修改参数等缺点,MATLAB为数字滤波器的研究和应用提供了一个直观、高效、便捷的利器,它以矩阵运算为基础,把计算、可视化、程序设计融合到了一个交互式的工作环境中,MATLAB信号处理工具箱
8、、图像处理工具箱、小波工具箱等更是为数字滤波器的设计研究提供了可能。数字滤波器和模拟滤波器有着相同的滤波概念,根据其频率响应特性可分为低通、高通、带通、带阻等类型,与模拟滤波器相比,数字滤波器除了具有数字信号处理的固有优点外,还有滤波精度高(与系统字长有关)、稳定性好(仅运行在0与1两个电平状态)、灵活性强等优点。但是,传统的数字滤波器设计使用繁琐的公式计算,改变参数后需要重新计算,从而在设计滤波器尤其是高通滤波器时工作量很大。利用MATLAB信号处理实验箱(Signal Processing Toolbox)可以快速有效的实现信号的设计与实现。1.2 MATLAB概述MATLAB是由美国Ma
9、thWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两部分。MATLAB是矩阵实验室(MATrix LABoratory)的简称,和Mathematic、Maple并称为三大数学软件。它在数学类科技应软件中数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要用于工程计算、控制设计、信号处理与通讯、图像处理、信号、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用M
10、ATLAB来解算问题要比用C、FORTRAN等语言完成相同的事情简捷的多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,C+,FORTRAN,JAVA的支持,可以直接调用,用户也可以将自己编写的实用程序导入MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典程序,用户可以直接下载使用。MATLAB工具箱是一些M文件的集合,用户可以修改工具箱中的函数,更为重要是用户可以通过编制M文件来任意的添加工具箱中原来没有的工具函数。此功能充分体现了MATLAB语言的开放性。许多的专业领域在MATLAB中都有自
11、己的工具箱,比如信号处理工具箱、图像处理工具箱以及小波工具箱等等。2 IIR数字滤波2.1 IIR数字滤波器原理IIR数字滤波器是一种离散时间系统,其系统函数为: 假设MN,当MN,系统函数可以看做一个IIR的子系统和一个(M-N)的FIR子系统的级联。IIR数字滤波器的设计实际上是求解滤波器的系数和,它是数学上的一种逼近问题,即在规定意义上(通常采用最小均方误差准则)去逼近系统的特性。如果在S平面上去逼近,就得到模拟滤波器;如果在Z平面上去逼近,就得到数字滤波器。在设计数字滤波器时,首先根据具体的滤波成分,确定待设计数字滤波器的技术指标,再求解出满足设计指标的离散系统的系统函数H(z)。2.
12、2 模拟低通滤波器的原理及MATLAB语言实现2.2.1 Butterworth型低通滤波器 Butterworth型低通滤波器简称BW型低通滤波器,其幅度响应的模方定义为: 式中N为滤波器阶数,Wc为滤波器的3dB截止频率,即A(Wc)=-20lgH(jWc3dB。当Wc=1时,Butterworth模拟低通滤波器称为归一化的Butterworth模拟低通滤波器。其MATLAB的调用格式为:N,wc= buttord(wp,ws,Ap,As,s)num,den=butter(N,wc,s) 函数buttord的输入参数wp和ws(rad/s)分别表示滤波器的通带和阻带截频,Ap和As(dB)
13、表示滤波器的通带和阻带衰减,s表示所设计的是模拟滤波器。函数buttord的返回参数N为BW型滤波器的阶数。wc(rad/s)等于BW型滤波器3dB截频wc由于wc由阻带方程确定,故由参数N,wc得出的滤波器在阻带刚好满足设计指标,在通带将存在裕量。利用函数buttord获得BW型滤波器参数Nwc和后,再用函数butter获得BW滤波器系统函数的分子多项式系(num)和分母多项式系数(den)。2.2.2 Chebyshev型低通滤波器Chebyshev型模拟低通滤波器简称CB型模拟低通滤波器,其幅度响应的模方为:其中N为滤波器阶数,和Wc是滤波器的参数,C是N阶Chebyshev多项式。其M
14、ATLAB的调用格式为:N,wc=cheb1orb(wp,ws,Ap,As,s)num,den=cheby1(N, Ap ,wc,s)函数cheb1ord返回参数N表示CB型滤波器的阶数,wc(rad/s)等于wp。参数N,wc的取值可使cheby1设计出的CB型滤波器在通带刚好满足设计指标。cheby1函数利用参数N,wc和Ap确定CB型滤波器系统函数的分子多项式系(num)和分母多项式系数(den)。2.2.3 Chebyshev型低通滤波器 Chebyshev型模拟低通滤波器简称CB型模拟低通滤波器,其幅度响应的模方为:其中N为滤波器阶数,和Wc是滤波器的参数。CB和CB型模拟低通滤波器
15、最大的区别是CB型模拟低通滤波器在通带等波纹波动,参数控制通带波动,CB型模拟低通滤波器在阻带等波纹波动,参数控制通带波动。其MATLAB的调用格式为:N,wc=cheb2orb(wp,ws,Ap,As,s)num,den=cheby2(N, As ,wc,s)函数cheb2ord返回参数N表示CB型滤波器的阶数,wc(rad/s)的取值可使由cheby2设计出的滤波器在通带刚好满足设计指标。Cheby2函数利用参数N,wc和As确定CB型滤波器系统函数的分子多项式系(num)和分母多项式系数(den)。2.2.4 椭圆低通滤波器椭圆模拟低通滤波器又称为Cauer(考尔)滤波器,其幅度响应在通
16、带和阻带都是等波纹震荡,因而用模拟低通滤波器来实现相同指标的滤波器时,所需的滤波器的阶数通常最低,。N阶椭圆模拟低通滤波器幅度响应的模方定义为:其中是N阶Jacobi(雅克比)椭圆函数,其含有小于1的正参数k和k1。其MATLA B的调用格式为:N,wc=ellipord(wp,ws,Ap,As,s)num,den=ellip(N, Ap,As ,wc,s 函数ellipord的返回参数N表示椭圆滤波器的阶数,wc=wp.函数ellip利用参数N,wc,Ap和As确定椭圆滤波器系统函数的分子多项式系数和分母多项式系数。该函数在滤波器的阶数确定后,重新计算滤波器的参数k1,故设计出的椭圆滤波器阻
17、带衰减超过设计指标,而其他指标刚好满足设计要求。3. IIR数字滤波器的Matlab语言实现IIR滤波器设计设计方法:无限脉冲响应数字滤波器(IIR)的冲激响应具有无限延伸的长度。它与模拟滤波器相匹配。进行IIR滤波器设计,就是利用复制映射关系,将熟知的模拟滤波器转换为数字滤波器。与FIR滤波器相比,在同等性能指标要求下,IIR阶数要低于FIR滤波器,但其相位是非线性的。在MATLAB中,由于数据是离线处理的,咋滤波前整个数据序列都可用,因此这是一种非因果和零相位的滤波方式,消除了IIR滤波器的非线性相位失真。 MATLAB进行IIR滤波器设计有以下4种方法:1、经典设计法:首先设计满足性能的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 IIR 数字滤波器 MATLAB 设计 实现
链接地址:https://www.31ppt.com/p-3976671.html