论文基于MATLAB的IIR滤波器设计与仿真.doc
《论文基于MATLAB的IIR滤波器设计与仿真.doc》由会员分享,可在线阅读,更多相关《论文基于MATLAB的IIR滤波器设计与仿真.doc(21页珍藏版)》请在三一办公上搜索。
1、毕业论文题 目:基于MATLAB的IIR滤波器设计与仿真学生姓名: 米婷 学生学号: 0908030224 系 (院): 电气信息工程学院 专 业: 电子信息工程 届 别: 2013 指导教师: 张大雷 完成时间: 2013年5月4日 基于MATLAB的IIR滤波器设计与仿真 学生:米婷指导教师:张大雷淮南师范学院 电气信息工程学院 摘 要:生活中由于信号噪声无处不在,而观测和控制都需要真实的信号,所以我们使用到了滤波器。很多信号分析都是基于滤波器而进行的,而数字滤波器是通过数值运算实现滤波,具有处理精度高、稳定、灵活、不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊滤波功能。数字滤波器根
2、据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。实现IIR滤波器的阶次较低,所用的存储单元较少,效率高,精度高,而且能够保留一些模拟滤波器的优良特性,因此应用很广。Matlab软件以矩阵运算为基础,把计算、可视化及程序设计有机融合到交互式工作环境中,并且为数字滤波的研究和应用提供了一个直观、高效、便捷的利器。尤其是Matlab中的信号处理工具箱使各个领域的研究人员可以直观方便地进行科学研究与工程应用。本文首先介绍了数字滤波器的概念,分类以及设计要求。关键词:IIR;滤波器;MATLAB;Simulink Design and S
3、imulation of IIR filter based on MATLAB Student:Ting MiAdvisor:Dalei ZhangHuainan normal university Electrical and information engineering department Abstract:Because the signal noise of life everywhere, but the observation and control signals have to be true, so we use to filter. many signal analys
4、is is based on filters, and the digital filter is realized through numerical computation, digital filters filter with high precision, stability and flexibility, dont exist, can realize the impedance matching simulating the special filter cannot achieve filter function. Digital filter according to it
5、s impulse response function and characteristics of the time can be divided into two kinds, namely the infinite impulse response (IIR) digital filter and finite impulse response (FIR digital filters). The order of realizing IIR filter is used, low and high efficiency less storage unit, high precision
6、, and can keep some simulation characteristics of filter, so it is widely used. Matlab software based on matrix computation, the calculation, visualization and program design of organic integration to interactive environment for digital filter, and the research and application of provides an intuiti
7、ve, efficient and convenient tool. Especially in the Matlab signal processing to all areas of research toolbox personnel can easily for scientific research and engineering application. This paper introduces the concept of digital filter, classification and design requirements.Key words: IIR; Filter;
8、 MATLAB; Simulink 前言数字信号处理(digital signal processing,DSP)是从20世纪60年代以来,随着信息学科和计算机学科的高速发展而迅速发展起来的一门新兴学科。数字信号处理是把信号用数字或符号表示的序列,通过计算机或通用(专用)信号处理设备,用数字的数值计算方法处理(例如滤波、变换、压缩、增强、估计、识别等),以达到提取有用信息便于应用处理的目的。数字信号处理系统有精度高、灵活性高、可靠性高、容易大规模集成、时分复用、可获得高性能指标、二维与多维处理等特点。正是由于这些突出的特点,使得它在通信、语音、雷达、地震测报、声呐、遥感、生物医学、电视、仪器中
9、得到愈来愈广泛的应用。在数字信号处理中起着重要的作用并已获得广泛应用的是数字滤波器(DF,Digital Filter),根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应IIR(Infinite Impulse Response)滤波器和有限冲激响应FIR(Finite Impulse Response)滤波器。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来结算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的有点,使MATLAB成为一个强大的数学软件,在新的版本中也加入了对C,F
10、ORTRAN,C+,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用。1 数字滤波器概述数字滤波器是对数字信号实现滤波的线性时不变系统。数字滤波实质上是一种运算过程,实现对信号的运算处理。输入数字信号(数字序列)通过特定的运算转变为输出的数字序列,因此,数字滤波器本质上是一个完成特定运算的数字计算过程,也可以理解为一台计算机。描述离散系统输出与输入关系的卷积和差分方程只是给数字信号滤波器提供运算规则,使其按照这个规则完成对输入数据的处理。时域离散系统的频域特性:Y(e)=X(e)H(e)其中Y(e)、X(e)分别是数字滤波器的输出序列和输入
11、序列的频域特性(或称为频谱特性),H(e)是数字滤波器的单位取样响应的频谱,又称为数字滤波器的频域响应。输入序列的频谱X(e)经过滤波后X(e)H(e),因此,只要按照输入信号频谱的特点和处理信号的目的,适当选择H(e),使得滤波后的X(e)H(e)满足设计的要求,这就是数字滤波器的滤波原理。数字滤波器根据其冲击响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。IIR数字滤波器的特征是,具有无限持续时间冲激响应,需要用递归模型:y(n)=+来实现,其差分方程为:H(z)=系统函数为:设计IIR滤波器的任务就是寻求一个物理上可实现的系统函数
12、H(z),使其频率响应H(z)满足所希望得到的频域指标,即符合给定的通带截止频率、阻带截止频率、通带衰减系数和阻带衰减系数。数字滤波器由数字乘法器、加法器和延时单元组成的一种算法或装置。数字滤波器的功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。由于电子计算机技术和大规模集成电路的发展,数字滤波器已经可用计算机软件实现,也可用大规模集成数字硬件实时实现。数字滤波器是一个离散时间系统(按预定的算法,将输入离散时间信号(对应数字频率)转换为所要求的输出离散时间信号的特定功能装置)。应用数字滤波器处理模拟信号(对应模拟频率)时,首先须对输入模拟信号进行限带、抽样和模数转换。为得
13、到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。数字滤波器有低通、高通、带通、带阻和全通等类型。它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。滤波器的种类很多,分类方法也不同。从处理信号分:经典滤波器、现代滤波器从实现的网络结构方法上分:FIR(有限脉冲响应)、IIR(无限脉冲响应)从功能上分:低通、高通、带通、带阻从设计方法上来分:Butterworth(巴特沃斯),Chebyshev(切比雪夫),椭圆函数
14、(Ellipse),贝塞尔(Bessel)等等。数字滤波器与模拟滤波器的区别数字滤波器的传输函数都是以2为周期的,滤波器的低通频带处于2的整数倍处,而高频频带处于的奇数倍附近。数字滤波器的技术要求:H(e)=其中:幅频特性 相频特性2 IIR数字滤波器设计方法就广义而言,数字滤波器是一个用有限精度算法实现的线性移不变时间系统。设计实现一个数字滤波器一般包括四个基本步骤:1 按照实际需要确定滤波器的性能要求。比如确定所设计的滤波器是低通、高通、带通还是带阻,截止频率是多少,阻带的衰减有多大,通带的波动是多少等;2 用一个因果稳定的系统函数去逼近这个性能要求;(IIR,FIR)3 用一个有限精度的
15、算法去实现这个系统函数;(运算结构)4 实际的技术实现。(通用计算机软件或专用数字滤波器硬件)IIR数字滤波器的设计方法图1 IIR数字滤波器设计方法数字滤波器(Digital Filter)是指输入、输出都是离散时间信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。数字滤波器在数字信号处理中起着非常重要的作用,在信号的过滤、检测与参数的估计等方面,是使用最为广泛的一种线性系统。实现数字滤波器的方法有两种,一是采用计算机软件进行,就是把所要完成的工作通过程序让计算机来实现;二十设计专用的数字处理硬件。这个地方主要用到的就是第一种方法。即是用Mafiab提供的信
16、号处理工具箱来实现数字滤波器。Matlab信号处理工具箱提供了丰富的设计方法,可以使得繁琐的程序设计简化成函数的调用,只要以正确的指标参数调用函数,就可以正确快捷的得到设计结果。IIR数字滤波器的最通用的方法是借助于模拟滤波器的设计方法。模拟滤波器设计已经有了相当成熟的技术和方法,有完整的设计公式,还有比较完整的图表可以查询,因此设计数字滤波器可以充分利用这些丰富的资源来进行。对于IIR数字滤波器的设计具体步骤如下:(1)按照一定的规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标。(2)根据转换后的技术指标设计模拟低通滤波器G(s)(G(s)是低通滤波器的传递函数)。(3)再按照
17、一定的规则将G(s)转换成H(z)(H(z)是数字滤波器的传递函数)。若设计的数字滤波器是低通的,上述的过程可以结束,若设计的是高通、带通或者是带阻滤波器,那么还需要下面的步骤:将高通。带通或带阻数字滤波器的技术指标转换为低通模拟滤波器的技术指标,然后设计出低通G(s),再将G(s)转换为H(z)。Matlab信号工具箱提供了几个直接设计IIR数字滤波器的函数,直接调用这些函数就可以很方便的对滤波器进行设计。这里选取巴特沃斯法、切比雪夫、切比雪夫、椭圆法四种方法进行比较。给出用上述方法设计数字滤波器的函数如下:Butterworth滤波器:N,Wn=buttord(Wp,Ws,Rp,Rs)b,
18、a=butter(N,Wn)b,a=butter(N,Wn,ftype)h,f=freqz(b,a,n,Fs)其中:Wp表示通带截止频率;Ws表示阻带截止频率;Rp表示通带纹波系数;Rs表示阻带纹波系数;N表示滤波器最小阶数;Wn表示截止频率。b,a分别表示阶次位N+1的数字滤波器系统传递函数的分子和分母多项式系数向量;Fs位采样频率;n为在区间0 Fs频率范围内选取的频率点数,f记录频率点数。N取2的幂次方,可以提高运算的速度,因为freqz函数采用基2的FFT算法。Ftype=high时,位高通滤波器;ftype=bandpass时,位带通滤波器;ftype=stop时,位带阻滤波器。Ch
19、ebysheve型滤波器:N,Wn=cheb1ord(Wp,Ws,Rp,Rs)b,a=cheby1(N,Rp,Wn)b,a=cheby1(N,Rp,Wn,ftype)h,f=freqz(b,a,n,Fs)Chebysheve型滤波器:N,Wn=cheb2ord(Wp,Ws,Rp,Rs)b,a=cheby2(N,Rs,Wn)b,a=cheby2(N,Rs,Wn,ftype)h,f=freqz(b,a,n,Fs)椭圆滤波器:N,Wn=ellipord(Wp,Ws,Rp,Rs)b,a=ellip(N,Rp,Rs,Wn)b,a=ellip(N,Rp,Rs,Wn,ftype)h,f=freqz(b,a,
20、n,Fs)比较结果分析通过对各种类型的滤波器通过不同方法进行设计,可以使一些结论得到验证。利用Butterworth滤波器、Chebysheve型滤波器、Chebysheve型滤波器、椭圆滤波器都可以进行低通、高通、带通、带阻滤波器的设计,但是各有特点。Butterworth滤波器通带内的幅频响应曲线能得到最大限度的平滑,但牺牲了截止频率的坡度。Chebysheve型滤波器通带内等波纹,阻带内单调;Chebysheve型滤波器通带内单调,然而阻带内等波纹;椭圆滤波器阻带和通带内都是等波纹的,但下降的坡度更大,而且可以以更低的阶数实现和其他两类滤波器一样的性能指标。3 IIR数字滤波器的特点II
21、R数字滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。在设计一个IIR数字滤波器时候,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络
22、。在MATLAB下设计IIR滤波器可使用Butterworth函数设计出巴特沃斯滤波器,使用Cheby1函数设计出契比雪夫I型滤波器,使用Cheby2设计出契比雪夫II型滤波器,使用ellipord函数设计出椭圆滤波器。下面主要介绍前连个函数的使用。与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),由软件设计出满足这些参数的最低滤波器的阶数,在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择。IIR单位响应为无限脉冲序列FIR单位响应为有限的。IIR幅频特性精度很高,不是线性相位的,可
23、以应用于对相位信息不敏感的音频信号上。FIR幅频特性精度较至于IIR低,但是线性相位,就是不同频率分量的信号经过FIR滤波器后他们的时间差不变。另外有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小。4 MATLAB概述MATLAB代表Matrix Laboratory,它的首创者是美国新墨西哥大学计算机系的系主任Cleve Moler博士,他在教授线性代数课程发现其他语言很不方便,便构思开发了MATLAB。最初采用FORTRAN语言编写,20世纪80年代后出现了MATLAB第二版,全部采用C语言编写。MATLAB是一种高性能的技术计算语言。强大的数值计算和工程运算功能符号计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 论文 基于 MATLAB IIR 滤波器 设计 仿真

链接地址:https://www.31ppt.com/p-4142331.html