《fir数字滤波器在matlab中的实现》由会员分享,可在线阅读,更多相关《fir数字滤波器在matlab中的实现(24页珍藏版)》请在金锄头文库上搜索。
1、淮北师范大学信息学院2012届学士毕业论文 FIR数字滤波器在MATLAB中的实现淮北师范大学信息学院 2 012届学士学位论文 FIR数字滤波器在MATLAB中的实现系 别: 专 业: 学 号: 姓 名: 指 导 教 师: 指导教师职称: 2012年 5 月 10 日财务盈利能力分析采用的主要评价指标包括静态评价指标和动态评价指标两类。其中静态评价指标主要有投资回收期,投资利润率,投资利税率和资本金利润率;动态评价指标主要有投资回收期,净现值、净现值率,内部收益率。III淮北师范大学信息学院2012届学士毕业论文 FIR数字滤波器在MATLAB中的实现FIR数字滤波器在MATLAB中的实现姓
2、名学校名 邮编摘要 数字滤波器是由数字乘法器、加法器和延时单元组成的一种装置。数字滤波器的功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。近年来数字滤波在通信、图像编码、语言编码、雷达等许多领域中有着十分广泛的应用。本文首先介绍了数字滤波器的研究背景及其发展现状,然后介绍了FIR数字滤波器的设计原理。在理解设计方法的基础上,最后基于MATLAB软件利用窗函数法实现了FIR数字带通滤波器的设计。仿真结果表明,所设计的滤波器具有良好的滤波器特性,所设计的指标符合设计任务要求。关键词 MATLAB;FIR数字滤波器;窗函数;带通滤波器Realization of FIR Dig
3、ital Filter Based On matlabName#Abstract Digital Filter is a kind of instrument which is assembled with Digital multiplier, adder, and delay element , the function of the Digital Filter is operating and dealing with the digital code of discrete signal which is inputted to change the frequency spectr
4、um . In recent years , Digital Filter is widely applied to all kinds of areas, such as Signal communication, image coding ,language coding ,radar and so on. This paper firstly introduces the studying background and current developing status of Digital FIR Filter, and then shows its design principle
5、.Finally we realize the design of FIR Bandpass Digital Filter with Window Function based MATLAB software at the basement of understanding design methods. The outcome of simulation indicates that the Digital Filter does well in meeting the filter characters, at the same time ,indexes from the filter
6、complies with the design requirements. Keywords MATLAB; FIR Filter; Window Function Design; Band Pass Filter目 次1 引 言11.1 数字滤波器的研究背景和意义11.2 数字滤波器的发展及其现状11.3 数字滤波器的实现方法21.4 MATLAB简介22 FIR数字滤波器的设计原理42.1 FIR数字滤波器的特点42.2 FIR数字滤波器的实现结构42.3 窗函数法的设计原理73 FIR数字滤波器的设计与实现93.1几种常用的窗函数93.2 利用窗函数设计FIR带通滤波器的设计步骤123
7、.3 基于MATLAB的FIR数字带通滤波器的仿真实现13结论17参考文献18致 谢191 引 言在线性系统中,信号滤波过程一般定义为,当输入波形通过一个系统时,对它作一个线性运算,在时间域上这种变换如像内插,外插微分和积分,在频率域上这种变换则如低通滤波或平滑,带通滤波,谱设计和谱分析。如模拟滤波器对连续时间信号的这种运算,在数学上是用线性常系数微分方程确定的。用拉普拉斯变换可在S域内进行这些运算的分析。用傅立叶变换则在f域内分析。同样的,可用常系数线性方程来定义离散时间信号的线性变换,并且用二变换来分析和合成离散时间滤波器1。1.1 数字滤波器的研究背景和意义当今,数字信号处理技术正飞速发
8、展,它不但自成一门学科,更是以不同形式影响和渗透到其他学科;它与国民经济息息相关,与国防建设紧密相连;它影响或改变着我们的生产、生活方式,因此受到人们普遍的关注。数字化、智能化和网络化是当代信息技术发展的大趋势,而数字化是智能化和网络化的基础,实际生活中遇到的信号多种多样,例如广播信号、电视信号、雷达信号、通信信号、导航信号等等。上述这些信号大部分是模拟信号,也有小部分是数字信号。模拟信号是自变量的连续函数,自变量可以是一维的,也可以是二维或多维的。大多数情况下一维模拟信号的自变量是时间,经过时间上的离散化(采样)和幅度上的离散化(量化),这类模拟信号便成为一维数字信号。因此,数字信号实际上是
9、数字序列表示的信号,语音信号经采样和量化后,得到的数字信号是一个一维离散时间序列;而图像信号的经采样和量化后,得到的是数字信号是一个二维离散空间序列2。数字滤波技术是数字信号分析、处理技术的重要分支。无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传输时至关重要的。在所有的电子系统中,使用最多技术最复杂的要算数字滤波器了。数字滤波器的优劣直接决定产品的优劣。1.2 数字滤波器的发展及其现状数字滤波是从20世纪60年代发展起来的,当时主要采用计算机模拟的方法研究数字滤波问题。到了70年代,开始将微处理器应用于数字滤波。但是由于微处理器速度不高,在很多场合
10、都难以实现实时处理。随着VLSI技术的发展,使用硬件来实现数字滤波器已成为可能。80年代,通用数字信号处理器的成熟和大量涌现,使得音频范围内数字滤波技术迅速得到广泛的应用。近些年来,除了不断提高通用信号处理器的速度和功能外,还出现了许多工作频率达100MHZ以上的专用芯片和积木式部件,从而使数字滤波技术进入视频实时处理阶段3。数字滤波在通信、图像编码、语言编码、雷达等许多领域中有着十分广泛的应用。目前,数字信号滤波器的设计图像处理、数据压缩等方面的应用取得了令人瞩目的进展和成就。近年来迅速发展起来的小波理论,由于其局部分析性能的优异在图像处理中的应用研究,尤其是在图像压缩、图像去噪等方面的应用
11、研究。1.3 数字滤波器的实现方法数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。数字滤波器的实现,大体上有如下几种方法:1. 用单片机来实现。目前单片机的发展速度很快,功能也很强依靠单片机的硬件环境和信号处理软件可用于工程实际,如数字控制,医疗仪器等。2. 用DSP来实现。DSP芯片较之单片机有着更为突出的优点,如内部带有乘法器,累加器,采用流水线工作方式及并行结构,多线程,速度快,配有适用于信号处理指令等,DSP芯片的问世及飞速发展,为信号处理技术应用于工程实际提供了可能。3. 在通用的微型计算机上用软件的方法来实现。软件可以由自己编写或者使用现成
12、的。自IEEE DSP Comm于1979年出第一个信号处理软件包以来,国外的研究机构也陆续推出不同语言不同用途的信号处理软件包4。MATLAB软件具有良好的工作平台及编程环境、简单易用的程序语言、强大的科学计算机数据处理能力和出色的图形处理功能等。因此,本文主要采用MATLAB软件来实现FIR数字滤波器的设计。1.4 MATLAB简介MATLAB是由美国Mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境5。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数
13、值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连 接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域6。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FOR
14、TRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。MATLAB具有以下特点和优势:1.高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来。 2.具有完备的图形处理功能,实现计算结果和编程的可视化。3.友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握。 4.功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具7。2 FIR数字滤波器的设计原理FIR滤波器设计的任务是选择有限长度的,使传输函数满足一定的幅度特性和线性相位要求。由于FIR 滤波器很容易实现严格的线性相位,所以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。设计过程一般包括以下三个基本问题8: (1) 根据实际要求确定数字滤波器性能指标;(2) 用一个因果稳定的系统函数去逼近这个理想性能指标;(3) 用一个