《基于Matlab和脉冲响应不变法的滤波器设计》由会员分享,可在线阅读,更多相关《基于Matlab和脉冲响应不变法的滤波器设计(21页珍藏版)》请在金锄头文库上搜索。
1、精选优质文档-倾情为你奉上 目 录摘 要IAbstractII91 滤波器及Matlab软件简介1.1滤波器简介1.1.1模拟滤波器由模拟电路实现的滤波方法,在采样前先用模拟滤波器进行滤波,可以改善信号质量,减少后续数据处理的工作量和困难。模拟滤波器可以分为无源和有源滤波器。无源滤波器:这种电路主要有无源元件R、L和C组成。有源滤波器:集成运放和R、C组成,具有不用电感、体积小、重量轻等优点。集成运放的开环电压增益和输入阻抗均很高,输出电阻小,构成有源滤波电路后还具有一定的电压放大和缓冲作用。但集成运放带宽有限,所以目前的有源滤波电路的工作频率难以做得很高。有源滤波自身就是谐波源。其依靠电力电
2、子装置,在检测到系统谐波的同时产生一组和系统幅值相等,相位相反的谐波向量,这样可以抵消掉系统谐波,使其成为正弦波形。有源滤波除了滤除谐波外,同时还可以动态补偿无功功率。其优点是反映动作迅速,滤除谐波可达到95以上,补偿无功细致。缺点为价格高,容量小。由于目前国际上大容量硅阀技术还不成熟,所以当前常见的有源滤波容量不超过600kvar。其运行可靠性也不及无源。1.1.2数字滤波器数字滤波是数字信号处理的重要基础,数字信号处理主要是研究用数字或符号的序列来表示信号波形,并用数字的方式去处理这些序列,把它们改变成在某种意义上更希望的形式,以便估计信号的特征参量,或削弱信号中的多余分量和增强信号中的有
3、用分量。数字滤波器在对信号的过滤、检测与参数估计等处理过程中,是使用最为广泛的一种线性系统。数字滤波器(Digital Filter,简称为DF)是指完成信号滤波处理功能的、用有限精度算法实现的离散时间线性非时变系统。数字滤波器的数学运算通常有两种实现方式。一种是频域法,即利用FFT快速运算办法对输入信号进行离散傅立叶变换,分析其频谱,然后根据希望的频率特性进行滤波,再利用傅立叶反变换恢复出时域信号。这种方法具有较好的频域选择特性和灵活性,并且由于信号频率与所希望的频谱特性是简单的相乘关系,所以它比计算等价的时域卷积要快得多。另一种方法是时域法,这种方法是通过对离散抽样数据作差分数学运算来达到
4、滤波目的的。数字滤波器的输入是一组(由模拟信号取样和量化的)数字量,其输出是经过数字变换的另一组数字量。数字滤波器具有稳定性高、精度高、灵活性大等突出优点。随着数字技术的发展,用数字技术实现滤波器的功能愈来愈受到人们的重视,并得到了广泛的应用。数字信号处理学科的一项重大进展是关于数字滤波器设计方法的研究。60年代中期,开始形成关于数字滤波器的一套完整的正规理论。这一时期,提出了各种各样的数字滤波器结构,有的以运算误差最小为特点,有的则以运算速度高见长;出现了数字滤波器的各种逼近方法和实现方法,对递归和非递归两类滤波器作了全面的比较;统一了数字滤波器的基本概念和理论,对有限冲激响应(IIR)和无
5、限冲激响应(FIR)的认识有了完整理论。70年代后,科学技术蓬勃发展,数字信号处理开始与大规模和超大规模集成电路技术、微处理技术等新工艺新技术结合起来,并引进计算机辅助设计方法,大大丰富了数字滤波器的分析与设计,各种新的数字信号处理系统,也都能用专用数字硬件实时加以实现。相信在未来,随着电子仪器与电子技术应用系统朝着数字化、小型化、自动化以及多功能化等方向发展,包括数字滤波器在内的数字信号处理技术会有以惊人的速度进行飞跃式发展。1.2滤波器原理滤波器,顾名思义,其作用是对输入信号起到滤波的作用。对于图1-2-1所示的LSI系统,其时域输入输出关系为: (1-1)h (n) x(n) y(n)
6、图1-1 图1-2-1 LSI系统若y(n),x(n)的傅立叶变换存在,则输入输出的频域关系是: (1-2)当输入信号x(n) 通过滤波器系统h(n) 后,其输出 y(n) 中不再含有|c的频率成分,仅使|c的信号成分通过。因此,滤波器的形状不同,其滤波后的信号结果也不一样。若滤波器的输入、输出都是离散时间信号,那么该滤波器的单位冲激响应h(n)也必然是离散的,这种滤波器称为数字滤波器(DF,Digital Filter)。当用硬件实现一个DF时,所需元件是延迟器、乘法器和加法器;而利用MATLAB软件时,它仅需线性卷积程序便可实现。而模拟滤波器(AF,Analog Filter)只能用硬件实
7、现。因此DF比AF容易实现,且更容易获得理想的滤波性能。数字滤波器还具有以下优点:精度和稳定性高;系统函数容易改变;灵活性高;不存在阻抗匹配问题;便于大规模集成;可实现多维滤波。1.3 数字滤波器设计方法概述数字滤波器从功能上分类:可以分为低通滤波器(LP,Low Pass)、高通滤波器(HP,High Pass)、带通滤波器(BP,Band Pass)、带阻滤波器(BS,Band Stop)。从滤波器的网络结构或者从单位脉冲响应分类:如同模拟滤波器的性能可由g(t)和G(s)来表征一样,数字滤波器的性能完全取决于h(n)和H(z)。因此,数字滤波器可以按照单位取样响应(或称脉冲响应,冲激响应
8、等)h(n)的性质分为两类:有限脉冲响应(Finite Impulse Response)数字滤波器,简称FIR数字滤波器,它的h(n)序列长度是有限的;无限脉冲响应(Infinite Impulse Response)数字滤波器,简称IIR数字滤波器,它的h(n)序列长度是无限的,即当时,h(n)仍有效。数字滤波器的设计与实现,通常按下述步骤进行:1、根据不同用途提出数字滤波器的技术指标、性能要求。2、设计一个稳定的、因果的数学模型H(z)来逼近所要求的技术指标,并用有限精度的运算实现所设计的系统。本文将重点介绍此步骤。3、设计专用的数字硬件来实现这个数字模型,或者通过电子计算机运行程序软件
9、予以实现。本文将侧重于软件实现。IIR滤波器和FIR滤波器的设计方法很不相同:IIR滤波器设计方法有两类,经常用到的一类设计方法是借助于模拟滤波器的设计方法进行的。其设计思路是:先设计模拟滤波器得到传输函数G(s),然后将G(s)按某种方法转换为数字滤波器的系统函数H(z)。这一类方法是基于模拟滤波器的设计方法相对比较成熟,它不仅有完整的设计公式,也有完整的图标供查阅,更可以直接调用MATLAB中的对应的函数进行设计。另一种是直接在频域或者时域中进行设计,设计时必须使用计算机辅助,直接调用MATLAB中的程序或函数即可设计。1.4 Matlab软件简介MATLAB是英文Matrix Labor
10、atory(矩阵实验室)的缩写,它是由美国MathWorks公司推出的用于数值计算和图形处理的数学计算环境。在MATLAB环境下,用户可以集成的进行程序设计、数值计算、图形绘制、输入输出、文件管理等各项操作。它优秀的数值计算能力和卓越的数据可视化能力使其在同类软件中脱颖而出。MATLAB系统最初由Cleve Moler用FORTRAN语言设计,现在的MATLAB程序是由MathWorks公司用C语言开发的。它的第一版(DOS版本1.0)发行于1984年,经过多年的改进,版本不断升级,其所包含的工具箱功能也越来越丰富,应用越广泛。MATLAB语言之所以能如此迅速的普及,显示出如此旺盛的生命力,是
11、由于它有着不同于其他语言的特点,归纳如下:1、简单易学:MATLAB不仅是一个开发软件,也是一门编程语言。其语法规则与结构化高级编程语言(如C语言等)大同小异,而且使用更为简便。用MATLAB编程写程序犹如在演算纸上排列出公式与求解问题,所以被称为演算纸式科学算法语言。2、计算功能强大:MATLAB拥有庞大的数学、统计及工程函数,可使用户立刻实现所需的强大数学计算功能。由各领域的专家学者们开发的数值计算程序,使用了安全、成熟、可靠的算法,从而保证了最快的运算速度和可靠的结果。此外,MATLAB还有数十个工具箱,可解决应用中的大多数数学、工程问题。3、先进的可视化工具:MATLAB提供功能强大的
12、、交互式的二维和三维绘图功能,可使用户创建富有表现力的彩色图形。可视化工具包括曲面渲染、线框图、伪彩图、光源、图像显示、动画等。4、开放性、可扩展性强:M文件是可见的MATLAB程序,所以用户可以查看源代码。开放的系统设计使用户能够检查算法的正确性,修改已存在的函数,或者加入自己的新部件。5、特殊应用工具箱:MATLAB的工具箱加强了对工程及科学中特殊应用的支持。工具箱也和MATLAB一样是完全用户化的,可扩展性强。将某个或几个工具箱与MATLAB联合使用,可以得到一个功能强大的计算组合包,满足用户的特殊要求。MATLAB数字信号处理工具箱和滤波器设计工具箱专门应用于信号处理领域。工具箱提供了
13、丰富而简便的设计,使原来繁琐的程序设计简化成函数的调用。只要以正确的指标参数调用相应的滤波器设计程序或工具箱函数,便可以得到正确的设计结果,使用非常方便。2 IIR滤波器设计及其MATLAB实现 IIR数字滤波器具有无限持续时间脉冲响应,而所有的模拟滤波器一般都具有无限长的脉冲响应,因此它与模拟滤波器相匹配。于是,设计IIR数字滤波器可以先设计模拟低通滤波器G(s),然后按一定规则将G(s)进行滤波器变换而得到数字域的IIR低通滤波器H(z),最后通过频带变换转换成其它频带滤波器。 由于本次课程设计是要利用MATLAB仿真软件系统结合脉冲响应不变法设计一个巴特沃斯低通、高通和带通IIR滤波器。
14、所以我设计的流程是:巴特沃斯低通滤波器模拟-数字滤波器变换 高 通 带通 低 通 滤波器频带变换 图2-1软件设计流程图2.1模拟滤波器设计及其MATLAB实现 IIR数字滤波器技术设计最通用的方法是借助于模拟滤波器的设计方法。模拟滤波器设计已经有了一套相当成熟的方法,它不但有完整的设计公式,而且还有较为完整的图表可供查询,因此充分利用这些已有的资源将会给数字滤波器的设计带来很大方便。滤波器设计最重要的是寻找一个稳定、因果的系统函数去逼近滤波器的技术指标,因此模拟滤波器的设计十分重要。实际中,有三种广泛应用的滤波器,即巴特沃斯低通滤波器、切比雪夫低通滤波器,椭圆低通滤波器,本次课程设计需要设计
15、的是巴特沃斯低通滤波器。2.1.1巴特沃斯低通滤波器介绍式中,为滤波器频率,为3dB截止频率,N表示滤波器的阶次。巴特沃斯滤波器拥有最平滑的频率响应,在截止频率以外,频率响应单调下降。在通带中是理想的单位响应,在阻带中响应为0。在截止频率处有3dB的衰减。巴特沃斯滤波器除了具有平滑单调递减的频率响应的优点之外,其过渡带的陡峭程度正比于滤波器的阶数。高阶巴特沃斯滤波器的频率响应近似于理想低通滤波器。巴特沃斯(Butterworth)低通滤波器是将巴特沃斯函数作为滤波器的传递函数,它的平方幅度函数为: (2-1-1)2.1.2巴特沃斯低通滤波器的matlab实现MATLAB信号处理工具箱为低通模拟巴特沃斯滤波器的产生提供了函数bu