基于MATLAB的FIR数字低通滤波器的设计与开发
- 格式:doc
- 大小:682.27 KB
- 文档页数:22
毕业设计(论文)任务书题目:基于MATLAB的FIR 数字低通滤波器设计系名信息工程系专业电子信息工程学号 6009202371学生姓名马成指导教师李晓峰职称讲师2012年12 月15 日一、原始依据(包括设计或论文的工作基础、研究条件、应用环境、工作目的等。
)研究条件:在大学四年专业学习的基础上,阅读有关MATLAB软件使用方法以及数字滤波器设计等方面的书籍;掌握MATLAB编程语言,熟练利用计算机进行MATLAB仿真设计。
应用环境:数字滤波器在现实生活中与人们息息相关,广泛使用于各种声音、图像以及文字等处理系统中。
将MATLAB强大的运算处理能力有机融入数字滤波器设计中可实现对于数字滤波器的快速设计以及各种处理变换。
工作目的:本课题的主要任务就是利用MATLAB软件中的数字信号处理工具箱实现FIR低通数字滤波器的设计。
二、参考文献[1]徐明远,刘增力,《MATLAB仿真在信号处理中的应用》[M].西安:西安电子科技大学出版社,2007.11.[2]陈桂明,张明照,《应用MATLAB语言处理信号与数字图像》[M].北京:科学出版社,2000.5.[3]飞思科技产品研发中心.MATLAB基础与提高[M].北京:电子工业出版社,2005.[4]高西全,丁玉美.数字信号处理[M].西安:西安电子科技大学出版社,第三版,2008.[5]李亚奇,张雅琦.线性相位FIR数字滤波器[J].电子测量技术,2005(6):35-37.[6]郭德才.基于Matlab的FIR低通滤波器的设计与仿真[J].通化师范学院学报,2009, 30(8):38-41.[7]赵刚.基于数字滤波器设计的讨论[J].南开大学学报(自然科学版),2003(3):101-103.[8]陈明军.改进窗函数在FIR数字滤波器设计中的应用[J].继电器,2007(13):65-67.三、设计(研究)内容和要求(包括设计或研究内容、主要指标与技术参数,并根据课题性质对学生提出具体要求。
一、引言数字滤波器是数字信号处理中至关重要的组成部分,它能够对数字信号进行滤波处理,去除噪音和干扰,提取信号中的有效信息。
其中,fir数字滤波器作为一种常见的数字滤波器类型,具有稳定性强、相位响应线性等特点,在数字信号处理领域得到了广泛的应用。
本文将基于matlab软件,探讨fir数字滤波器的设计原理、方法和实现过程,以期能够全面、系统地了解fir数字滤波器的设计流程。
二、fir数字滤波器的基本原理fir数字滤波器是一种有限长冲激响应(finite impulse response, FIR)的数字滤波器,其基本原理是利用线性相位特性的滤波器来实现对数字信号的筛选和处理。
fir数字滤波器的表达式为:$$y(n) = \sum_{k=0}^{M}h(k)x(n-k)$$其中,y(n)为输出信号,x(n)为输入信号,h(k)为滤波器的系数,M为滤波器的长度。
fir数字滤波器的频率响应特性由其系数h(k)决定,通过设计合适的系数,可以实现对不同频率成分的滤波效果。
三、fir数字滤波器的设计方法fir数字滤波器的设计方法主要包括窗函数法、频率抽样法、最小最大法等。
在matlab中,可以通过信号处理工具箱提供的fir1函数和firls函数等来实现fir数字滤波器的设计。
下面将分别介绍这两种设计方法的基本原理及实现步骤。
1. 窗函数法窗函数法是fir数字滤波器设计中最为常见的方法之一,其基本原理是通过对理想滤波器的频率响应进行窗函数加权来满足设计要求。
在matlab中,可以使用fir1函数实现fir数字滤波器的设计,其调用格式为:h = fir1(N, Wn, type)其中,N为滤波器的阶数,Wn为滤波器的截止频率,type为窗函数的类型。
通过调用fir1函数,可以灵活地设计出满足特定要求的fir数字滤波器。
2. 频率抽样法频率抽样法是fir数字滤波器设计中的另一种重要方法,其基本原理是在频域上对理想滤波器的频率响应进行抽样,并拟合出一个最优的滤波器。
基于MATLAB设计FIR滤波器FIR(Finite Impulse Response)滤波器是一种数字滤波器,它具有有限的冲激响应长度。
基于MATLAB设计FIR滤波器可以使用signal工具箱中的fir1函数。
fir1函数的语法如下:b = fir1(N, Wn, window)其中,N是滤波器的阶数,Wn是截止频率,window是窗函数。
要设计一个FIR低通滤波器,可以按照以下步骤进行:步骤1:确定滤波器的阶数。
阶数决定了滤波器的截止频率的陡峭程度。
一般情况下,阶数越高,滤波器的陡峭度越高,但计算复杂度也会增加。
步骤2:确定滤波器的截止频率。
截止频率是指在滤波器中将信号的频率限制在一定范围内的频率。
根据应用的需求,可以选择适当的截止频率。
步骤3:选择窗函数。
窗函数是为了在时域上窗口函数中心增加频率衰减因子而使用的函数。
常用的窗函数有Hamming、Hanning等。
窗函数可以用来控制滤波器的幅度响应特性,使得它更平滑。
步骤4:使用fir1函数设计滤波器。
根据以上步骤确定滤波器的阶数、截止频率和窗函数,可以使用fir1函数设计FIR滤波器。
具体代码如下:N=50;%设定阶数Wn=0.5;%设定截止频率window = hanning(N + 1); % 使用Hanning窗函数步骤5:使用filter函数对信号进行滤波。
设计好FIR滤波器后,可以使用filter函数对信号进行滤波。
具体代码如下:filtered_signal = filter(b, 1, input_signal);其中,input_signal是输入信号,filtered_signal是滤波后的信号。
以上,便是基于MATLAB设计FIR滤波器的简要步骤和代码示例。
根据具体需求和信号特性,可以进行相应的调整和优化。
基于MATLAB的FIR和IIR数字滤波器的设计一、本文概述随着数字信号处理技术的飞速发展,数字滤波器作为其中的核心组件,已经广泛应用于通信、音频处理、图像处理、生物医学工程等诸多领域。
在数字滤波器中,有限脉冲响应(FIR)滤波器和无限脉冲响应(IIR)滤波器是最常见的两种类型。
它们各自具有独特的优点和适用场景,因此,对这两种滤波器的深入理解和设计掌握是工程师和研究人员必备的技能。
本文旨在通过MATLAB这一强大的工程计算工具,详细介绍FIR 和IIR数字滤波器的设计原理、实现方法以及对比分析。
我们将简要回顾数字滤波器的基本概念和分类,然后重点阐述FIR和IIR滤波器的设计理论,包括窗函数法、频率采样法、最小均方误差法等多种设计方法。
接下来,我们将通过MATLAB编程实现这些设计方法,并展示如何根据实际应用需求调整滤波器参数以达到最佳性能。
本文还将对FIR和IIR滤波器进行性能对比,分析它们在不同应用场景下的优缺点,并提供一些实用的设计建议。
我们将通过几个典型的应用案例,展示如何在MATLAB中灵活应用FIR和IIR滤波器解决实际问题。
通过阅读本文,读者将能够深入理解FIR和IIR数字滤波器的设计原理和实现方法,掌握MATLAB在数字滤波器设计中的应用技巧,为未来的工程实践和研究工作打下坚实的基础。
二、FIR滤波器设计有限脉冲响应(FIR)滤波器是一种数字滤波器,其特点是其脉冲响应在有限的时间后为零。
因此,FIR滤波器是非递归的,没有反馈路径,从而保证了系统的稳定性。
在设计FIR滤波器时,我们主要关注的是滤波器的阶数、截止频率和窗函数的选择。
在MATLAB中,有多种方法可以用来设计FIR滤波器。
其中,最常用的方法是使用fir1函数,该函数可以设计一个线性相位FIR滤波器。
该函数的基本语法是b = fir1(n, Wn),其中n是滤波器的阶数,Wn是归一化截止频率,以π为单位。
该函数返回一个长度为n+1的滤波器系数向量b。
陕西理工学院课程设计基于MATLAB的FIR数字低通滤波器设计作者:周龙刚(陕西理工学院物理与电信工程学院通信工程专业 2011级4班,陕西汉中 723003)指导老师:井敏英[摘要]FIR数字滤波器是数字信号处理的一个重要组成部分,由于FIR数字滤波器具有严格的线性相位,因此在信息的采集和处理过程中得到了广泛的应用。
本文介绍了FIR数字滤波器的概念和线性相位的条件,分析了窗函数法、频率采样法和等波纹逼近法设计FIR滤波器的思路和流程。
在分析三种设计方法原理的基础上,借助Matlab仿真软件工具箱中的fir1实现窗函数法中的哈明窗设计FIR低通滤波器。
[关键词]FIR数字滤波器;线性相位窗函数;法哈明窗;MatlabDesigning FIR low-pass digital filter based on VHDLZhoulonggang(Grade11,Class4,Major of Communication Engineering,School of Physics and Telecommunication Engineering , Shaanxi University of Technology,Hanzhong 723003,Shaanxi)Tutor:JingYingMinAbstract:FIR digital filter is an important part of digital signal processing,the FIR digitalfilter with linear phase, so it has been widely applied in the collection and processing of information in the course of. This paper introduces the concept of FIR digital filter with linear phase conditions, analysis of the window functionmethod and frequency sampling method and the ripple approximation method ofFIR filter design ideas and processes. Based on analyzing the principle of three kinds of design method, using Matlab simulation software fir1 toolbox in design and implementation of FIR Hamming window window function method in the low pass filter.Keywords:FIR digital filter, linear phase,the window function method,Hamming window,Matlab目录引言 (1)1. 基本原理 ............................................................................................................................................... - 1 -1.1 FIR数字滤波器概述 ................................................................................................................... - 1 -1.2 FIR数字滤波器线性相位定义 ................................................................................................... - 2 -1.3 FIR数字滤波器线性相位时域条件 ........................................................................................... - 2 -2. 系统设计 ............................................................................................................................................... - 3 -2.1 FIR数字滤波器的窗函数设计方法 ........................................................................................... - 3 -2.1.1 窗函数法的设计思路....................................................................................................... - 3 -2.1.2 常见窗函数介绍............................................................................................................... - 3 -2.1.3 吉布斯效应....................................................................................................................... - 5 -2.2 FIR数字滤波器频率采样设计法 ............................................................................................ - 5 -2.3 FIR数字滤波器等波纹逼近设计法 ........................................................................................... - 6 -3 详细设计 ................................................................................................................................................ - 7 -3.1 程序设计流程.............................................................................................................................. - 7 -3.2 Matlab简介 .................................................................................................................................. - 7 -3.3窗函数法的Matlab实现 ............................................................................................................. - 8 -3.3.1 fir1函数介绍..................................................................................................................... - 8 -3.3.2基于fir1函数的窗函数法FIR滤波器设计.................................................................... - 8 -4 总结 .................................................................................................................................................. - 11 - 致谢 ...................................................................................................................................................... - 11 - 参考文献 .................................................................................................................................................. - 11 - 附录A . (14)引言随着信息科学和计算机技术的不断发展,数字信号处理(DSP ,Digital Signal Processing)的理论和技术也得到了飞速的发展,并逐渐成为一门重要的学科,它的重要性在日常通信、图像处理、遥感、声纳、生物医学、地震、消费电子、国防军事、医疗方面等显得尤为突出。
吉首大学信息科学与工程学院课程设计报告书课程通信系统设计与仿真课题:基于MATLAB的低通FIR滤波器设计姓名:何其兵杨冰清岳裕旭学号:20124055066 2012405506720124055068专业:通信工程(物联网方向)年级:2012级指导教师:雷可君2015年11 月一、项目介绍与设计目的1.项目介绍FIR数字滤波器的设计方法有很多,比较常用的有窗函数设计法、频率采样设计法、等波纹逼近法等。
本课题通过运用窗函数设计FIR数字低通滤波器,并实现对给定的信号进行滤波。
窗函数设计法是最基本的数字滤波方法,是利用傅里叶反变换(IDTFT)计算给定的频响的理想单位脉冲响应,再加以窗函数进行截断和平滑[2]。
Matlab软件的信号处理工具箱提供了FIR数字滤波器设计的子函数,运用Matlab软件设计可以避免繁杂的数学运算,而且具有丰富的绘图功能,可以方便地查看所设计的数字滤波器的幅度响应和相位响应是否满足设计要求。
因此,本课题在理论分析各种FIR数字滤波器设计方法的基础上,运用Matlab软件进行仿真分析。
随着信息科学和计算机技术的不断发展,数字信号处理(DSP,Digital Signal Processing)的理论和技术也得到了飞速的发展,并逐渐成为一门重要的学科,它的重要性在日常通信、图像处理、遥感、声纳、生物医学、地震、消费电子、国防军事、医疗方面等显得尤为突出。
在我们面临的信息革命中,数字信号处理几乎涉及了所有的工程技术领域[1]。
2.设计目的(1)增进对MATLAB的认识,加深对数字信号处理理论方面的理解;(2)掌握数字信号处理中IIR和FIR滤波器的设计;(3)了解和掌握用MATLAB实现IIR和FIR滤波器的设计方法、过程,为以后的设计打下良好基础。
二、设计方案1.项目环境要求MATLAB 7.0一台PC2.设计目的(1)增进对MATLAB的认识,加深对数字信号处理理论方面的理解;(2)掌握数字信号处理中IIR和FIR滤波器的设计;(3)了解和掌握用MATLAB实现IIR和FIR滤波器的设计方法、过程,为以后的设计打下良好基础。
本科毕业设计论文题目基于MATLAB的FIR数字滤波器的设计与仿真专业名称电子信息工程学生姓名指导教师毕业时间2012年6月毕业一、题目基于MATLAB的FIR数字滤波器的设计与仿真二、指导思想和目的要求1. 指导思想:随着信息技术的迅猛发展,数字信号处理已成为一个极其重要的学科和技术领域,在通信、语音、图像、自动控制和家用电器等众多领域得到了广泛的应用。
数字滤波器是数字信号处理的一个重要的技术分支。
利用它可以在形形色色的信号中提取所需要的信号,抑制不需要的干扰或噪声。
数字滤波器根据其单位冲激响应函数的时域特性分为两种:无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。
IIR滤波器保留了模拟滤波器较好的幅度特性,设计简单有效,但这些特性是以牺牲相位特性为代价而获得的,然而现在许多数据传输、图像处理系统都越来越多的要求系统具有线性相位特性。
在这方面,FIR滤波器具有独特的优点,它可以保持严格的线性相位特性,因此越来越受到广泛的重视。
2. 目的要求:(1)介绍当今国内外关于MATLAB设计数字滤波器的设计及研究方向,熟练使用MATLAB软件并熟练运用MATLAB编程语言;(2)介绍数字滤波器的类型并着重研究FIR数字滤波器的主要设计方法:窗函数法,频率采样法,等波纹最佳逼近法。
根据不同方法的不同设计思路编出具体程序,并将其分别进行分析比较,利用Simulink进行仿真并验证;(3)经过仿真,将各种方法设计出的滤波器对指定波形滤波前后进行比较并得出有关结论。
三、进度和要求1. 3-5周查阅资料,确定方案,撰写开题报告。
2. 6-7周学习使用MATLAB软件,翻译英文资料。
3. 8-13周完成FIR数字滤波器的设计,并通过MATLAB进行仿真测试;4. 14-15周整理、完成毕业设计,并撰写论文;5. 15-16周准备及完成毕业设计答辩。
四、主要参考书及参考资料[1]高西全、丁玉美,数字信号处理。
电子技术课程设计--基于Matlab的FIR数字滤波器的设计专业年级:2009级通信工程专业指导老师:日期:2011年12月26号基于Matlab的FIR的数字滤波器的设计1、选题依据数字滤波器精确度高、使用灵活、可靠性高,具有模拟设备所没有的许多优点,已广泛应用于各个学科技术领域,例如数字电视、语音、通信、雷达、声纳、遥感、图像、生物医学以及许多工程应用领域。
随着信息时代数字时代的到来,数字滤波技术已经成为一门极其重要的学科和技术领域。
以往的滤波器大多采用模拟电路技术,但是,模拟电路技术存在很多难以解决的问题,例如,模拟电路元件对温度的敏感性,等等。
而采用数字技术则避免很多类似的难题,当然数字滤波器在其他方面也有很多突出的优点,所以采用数字滤波器对信号进行处理是目前的发展方向。
2、设计要求(1)通过课程设计把自己在大学中所学的知识应用到实践当中。
(2)深入了解利用Matlab 设计FIR 数字滤波器的基本方法。
(3)在课程设计的过程中掌握程序编译及软件设计的基本方法。
(4)提高自己对于新知识的学习能力及进行实际操作的能力。
(5)锻炼自己通过网络及各种资料解决实际问题的能力。
3、设计原理FIR 滤波器具有严格的相位特性,对于信号处理和数据传输是很重要的。
目 前 FIR 滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波 纹逼近的最优化设计方法。
常用的是窗函数法和切比雪夫等波纹逼近的最优化设 计方法。
本课题中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标 要求高的时候是比较灵活方便的。
如果 FIR 滤波器的()h n 为实数,而且满足以下任意条件,滤波器就具有 准确的线性相位第一种:偶对称, ()()()()1,12h n h N n N φωω=--=--第二种:奇对称, ()()()()1,122h n h N n N φωωπ=---=--+ 对称中心在()12n N =-处。
目录摘要----------------------------------------------------------------3 引言----------------------------------------------------------------3正文----------------------------------------------------------------4一、数字滤波器的设计---------------------------------------------------------------41.1 IIR数字滤波器设计------------------------------------61.1.1脉冲响应不变法-------------------------------61.1.2双线性变换法---------------------------------81.2 FIR数字滤波器设计-----------------------------------101.2.1窗函数法------------------------------------111.2.2频率取样法----------------------------------131.2.3最优化设计法--------------------------------14二、数字滤波器的MATLAB设计-------------------------------------152.1 FIR数字滤波器的窗函数法--------------------------152.2 FIR数字滤波器的频率采样法------------------------19 2.3 FIR数字滤波器的最优设计法----------------------23设计总结-----------------------------------------------------------27 参考文献-----------------------------------------------------------27摘要:数字滤波器是数字信号处理的重要环节,数字滤波器可分为IIR和FIR两大类。
基于MATLAB的FIR数字低通滤波器分析和设计
雷学堂;方志雄
【期刊名称】《喀什师范学院学报》
【年(卷),期】2007(028)003
【摘要】以FIR数字低通滤波器为例,详细分析时域卷积运算和频域加权算法的物理意义.并利用MATLAB的声音处理函数作为数据接口,利用多媒体播放器作为交互界面,利用MATLAB的FDATool作为滤波器设计工具,设计一组语音低通滤波器,通过对比滤波前后的语音效果,可加深对数字信号处理的认识.
【总页数】3页(P37-39)
【作者】雷学堂;方志雄
【作者单位】黄冈师范学院,物理科学与技术系,湖北,黄冈,438000;黄冈师范学院,物理科学与技术系,湖北,黄冈,438000
【正文语种】中文
【中图分类】TN911.72
【相关文献】
1.基于Matlab的FIR低通滤波器的设计与仿真 [J], 郭德才
2.一种基于MATLAB及FPGA的FIR低通滤波器的设计与实现 [J], 阿依夏木·力提甫;赵惠昌;王丹琦
3.基于Matlab的FIR低通滤波器的设计 [J], 李旭然
4.基于MATLAB和DSP实现的FIR数字低通滤波器 [J], 潘玉恒;鲁维佳;王悦
5.基于MATLAB和DSP实现的FIR数字低通滤波器 [J], 潘玉恒;鲁维佳;王悦
因版权原因,仅展示原文概要,查看原文内容请购买。
实验八 用MATLAB 设计FIR 数字滤波器(二)一、实验目旳:1、加深对窗函数法设计FIR 数字滤波器旳基本原理旳理解。
2、学习用MATLAB 语言旳窗函数法编写设计FIR 数字滤波器旳程序。
3、理解MATLAB 语言有关窗函数法设计FIR 数字滤波器旳常用函数用法。
二、实验原理:1、用窗函数法设计FIR 数字滤波器 FIR 数字滤波器旳系统函数为N-1-n n=0H(z)=h(n)z ∑这个公式也可以当作是离散LSI 系统旳系统函数M-m -1-2-mmm=0012m N -1-2-k-k12k k k=1bz b +b z +b z ++b z Y(z)b(z)H(z)====X(z)a(z)1+a z +a z ++a z1+a z ∑∑ 分母a 0为1,其他a k 全都为0时旳一种特例。
由于极点所有集中在零点,稳定和线性相位特性是FIR 滤波器旳突出长处,因此在实际中广泛使用。
FIR 滤波器旳设计任务是选择有限长度旳h(n),使传播函数H(e j ω)满足技术规定。
重要设计措施有窗函数法、频率采样法和切比雪夫等波纹逼近法等。
本实验重要简介窗函数法。
用窗函数法设计FIR 数字滤波器旳基本环节如下:(1)根据过渡带和阻带衰减指标选择窗函数旳类型,估算滤波器旳阶数N 。
(2)由数字滤波器旳抱负频率响应H(e j ω)求出其单位脉冲响应h d (n)。
可用自定义函数ideal_lp实现抱负数字低通滤波器单位脉冲响应旳求解。
程序清单如下:function hd=ideal_lp(wc,N) %点0到N-1之间旳抱负脉冲响应%wc=截止频率(弧度)%N=抱负滤波器旳长度tao=(N-1)/2;n=[0:(N-1)];m=n-tao+eps; %加一种小数以避免0作除数hd=sin(wc*m)./(pi*m);其他选频滤波器可以由低通频响特性合成。
如一种通带在ωc1~ωc2之间旳带通滤波器在给定N值旳条件下,可以用下列程序实现:Hd=ideal_lp(wc2,N)-ideal_lp(wc1,N)(3)计算数字滤波器旳单位冲激响应h(n)=w(n)h d(n)。
matlab的fir滤波器设计FIR(Finite Impulse Response)滤波器是指响应有限长度序列输入的数字滤波器,它可以用于信号去噪、信号滤波和信号重构等领域。
MATLAB软件是目前应用广泛的数学软件工具箱,它可以实现数字信号处理、信号滤波和滤波器设计等功能。
下面我们来分步骤解析如何利用MATLAB完成FIR滤波器设计。
第一步,确定滤波器参数要设计FIR滤波器,需要明确设计的目的,例如信号去噪还是信号滤波。
同时,需要确定滤波器的参数,包括滤波器的采样率、通带边界、阻带边界等。
第二步,调用MATLAB工具箱并加载数据打开MATLAB软件,选择Digital Signal Processing Toolbox,调用fir1函数,该函数用于设计一般的低通、高通、带通和带阻FIR 滤波器。
加载需要滤波的数据,并将其存储在一个变量中。
第三步,进行滤波器设计在MATLAB命令行窗口中输入以下命令,来进行FIR滤波器的设计。
h = fir1(N, Wn, 'type');其中,N是滤波器的阶数,Wn是正规化的截止频率值,type是滤波器的类型,可以是低通、高通、带通和带阻滤波器。
例如,我们要设计一个30阶的低通滤波器,带通频带为0.3至0.7,采样率为1000Hz,输入以下命令:N = 30;Wn = [0.3 0.7];Btype = 'low';FIR_filter = fir1(N, Wn, Btype);第四步,使用FIR滤波器进行滤波使用filter函数,可以将设计好的FIR滤波器应用到加载的数据上,进行滤波操作。
Y_filtered = filter(FIR_filter, 1, X);其中,FIR_filter是设计好的FIR滤波器,X是加载的待滤波数据,Y_filtered是经过滤波器处理后的数据。
第五步,可视化输出结果通过绘制函数将滤波器的输入和输出信号进行可视化处理,观察滤波效果。
基于MATLAB的FIR数字滤波器的设计与实现摘要:简要介绍了FIR滤波器的设计基础和利用窗函数设计FIR滤波器的方法,运用MATLAB语言实现了低通FIR滤波器的设计仿真。
关键词:MATLAB;FIR滤波器;窗函数设计1 MATLAB简介MATLAB是“矩阵实验室”(MATrix LABoratoy)的缩写,它是由美国Mathworks公司于1984年正式推出的,是一种以矩阵运算为基础的交互式程序语言,专门针对科学、工程计算及绘图的需求[1]。
随着版本的不断升级,内容不断扩充,功能更加强大,从而被广泛应用于仿真技术、自动控制和数字信号处理等领域。
全球现有超过五十万的企业用户和上千万的个人用户,广泛分布在航空航天、金融财务、机械化工、电信、教育等各个行业[2]。
2 数字滤波器简介滤波器的种类很多,从功能上可以分为低通、高通、带通和带阻滤波器,上述每种滤波器又可以分为模拟滤波器和数字滤波器。
如果滤波器的输入输出都是数字信号,则这样的滤波器称之为数字滤波器,它通常通过一定的运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分来实现滤波。
根据数字滤波器冲激响应的时域特性,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器[3]。
有数字信号处理的一般理论可知,IIR滤波器的特征是具有无限持续时间的冲激响应,而FIR滤波器使冲激响应只能持续一定的时间。
3 数字滤波器的设计步骤3.1确定指标。
在设计一个滤波器之前,必须首先确定一些技术指标。
这些技术指标需要来制定。
在很多实际应用中,例如语音或音频信号处理中,数字滤波器常用来实现选频操作。
因此,指标的形式一般确定为频域中幅度和相位的响应。
3.2逼近。
确定了滤波器的技术指标后,就可以利用数学和DSP的基本原理提出一个滤波器模型来逼近给定的目标。
这一步是滤波器设计的所要研究的主要问题,是整个设计过程的重中之重。
3.3硬件或软件实现。
目录前言 (1)一基本原理 (2)1.1 FIR数字滤波器概述 (2)1.2 FIR数字滤波器线性相位定义 (3)1.3 FIR数字滤波器线性相位时域条件 (3)二系统设计 (5)2.1 FIR数字滤波器的窗函数设计方法 (5)2.1.1 窗函数法的设计思路 (5)2.1.2 常见窗函数介绍 (6)2.1.3 吉布斯效应 (8)2.2 FIR数字滤波器频率采样设计法 (9)2.3 FIR数字滤波器等波纹逼近设计法 (10)三详细设计 (12)3.1 程序设计流程 (12)3.2 Matlab简介 (12)3.3窗函数法的Matlab实现 (13)3.3.1 fir1函数介绍 (13)3.3.2基于fir1函数的窗函数法FIR滤波器设计 (14)总结 (17)参考文献 (18)附录 (19)致谢 (21)前言随着信息科学和计算机技术的不断发展,数字信号处理(DSP,Digital Signal Processing)的理论和技术也得到了飞速的发展,并逐渐成为一门重要的学科,它的重要性在日常通信、图像处理、遥感、声纳、生物医学、地震、消费电子、国防军事、医疗方面等显得尤为突出。
在我们面临的信息革命中,数字信号处理几乎涉及了所有的工程技术领域[1]。
数字信号处理是一种将信号以数字形式进行处理的一种理论和技术,它的目的是将真实世界中的一些信号进行分析并滤波,最后得出其中的有用的信号。
数字滤波器是数字信号处理的一种,一般根据单位脉冲响应h(n)分为无限脉冲响应(IIR)和有限脉冲响应(FIR)系统。
IIR数字滤波器的设计方法简单,特别是采用双线性变换法来设计的数字滤波器不存在频域混叠的现象,但是IIR滤波器存在一个较为明显的缺憾,就是它的相位响应一般都是非线性的,而在传输频带内的相位响应如果不是线性的,就会造成有用信号的传输失真,而FIR数字滤波器不仅可以设计成任意的幅度响应,而且可以设计成在通频带内具有良好的线性相位响应[2]。
FIR数字滤波器的单位脉冲响应h(n)有限长,所以FIR数字滤波器是稳定的,不存在稳定性的问题,且可以通过快速傅里叶变换(FFT)的算法来实现信号滤波,大大的提高的运算效率。
因此,FIR数字滤波器日益引起了人们的关注。
FIR数字滤波器的设计方法有很多,比较常用的有窗函数设计法、频率采样设计法、等波纹逼近法等。
本课题通过运用窗函数设计FIR数字低通滤波器,并实现对给定的信号进行滤波。
窗函数设计法是最基本的数字滤波方法,是利用傅里叶反变换(IDTFT)计算给定的频响的理想单位脉冲响应,再加以窗函数进行截断和平滑[3]。
Matlab软件的信号处理工具箱提供了FIR数字滤波器设计的子函数,运用Matlab软件设计可以避免繁杂的数学运算,而且具有丰富的绘图功能,可以方便地查看所设计的数字滤波器的幅度响应和相位响应是否满足设计要求。
因此,本课题在理论分析各种FIR数字滤波器设计方法的基础上,运用Matlab软件进行仿真分析。
一 基本原理1.1 FIR 数字滤波器概述一般来说一个经典的数字滤波器是一个线性时不变系统,其数学模型可以用Z 域系统函数)(z H 来表示:-101()1N r rr Mkk k b z H z a z -=-==+∑∑ (1-1) 其中M N b a r k ,,,均为滤波器参数。
在式(1-1)中,当k a 值不全为零值时,Z 域系统函数)(z H 必定含有一个或一个以上的极值点,此时单位脉冲响应为无限长,对于一个稳定的数字滤波器来说,Z 域系统函数)(z H 必须在单位圆内,因而把含有极值点的Z 域系统函数)(z H 的数字滤波器称为无限脉冲响应数字滤波器(Infinite Impulse Response),即IIR 数字滤波器[4]。
而当k a 值全为零时,Z 域的系统函数)(z H 只有一个零点,式(1-1)表示的系统函数)(z H 可以写成:-10()N r r r H z b z -==∑ (1-2)公式(1-2)表明,FIR 滤波器的系统函数是1-z 的)1(-N 阶多项式,在有限z 平面)0(∞<<N 上有)1(-N 个零点,而在z 平面原点0=z 处有)1(-N 阶极点。
公式(1-2)表示的系统,其单位脉冲响应可以表示为:-10()()()N r r h n y n b n r δ===-∑ (1-3)在式(1-3)中,只有当10-<≤N N ,)(n h 才有非零值,所以数字滤波器的脉冲响应是有限长的,因此在数字信号处理中把这种数字滤波器称为有限脉冲响应数字滤波器(Finite Impulese Response),即FIR 数字滤波器。
FIR 数字滤波器最突出的两个优点是:(1)只要对)(n h 附加一定的条件,就很容易获得严格的线性相位。
(2)由于)(z H 的极点位于原点0=z 处,所以FIR 数字滤波器不存在稳定性问题。
1.2 FIR 数字滤波器线性相位定义设FIR 数字滤波器脉冲响应的长度为N ,则其频率响应可以表示为:10()()N j j n n H e h n e ωω--==∑ (1-4) 上式通过欧拉恒等式展开可得到)(ωj e H 的相位特性)(ωθ,有两种线性相位特性,通常称为第一类线性相位和第二类线性相位。
第一类线性相位特性:()=θωτω- τ是一个与ω无关的常数第二类线性相位特性:0()=θωθτω- 0θ是起始相位严格地说第二种情况时的)(ωθ是不具有线性相位特性的,但上述两种情况都满足群延迟是一个常数,仍可以视为具有线性相位的,在第二类线性相位中2/0πθ-=是常用的一种情况[5]。
1.3 FIR 数字滤波器线性相位时域条件对于第一类线性相位,即τωωθ-=)(,通过一系列的运算整理之后可得到一个三角函数求和公式:[]10()sin ()0N n h n n ωτ-=-=∑ (1-5)式中正弦函数)1()(n N h n h --=为奇对称,当2/)1(-=N τ时,对称中心为2/)1(-=N n ,)(n h 需要满足关于2/)1(-N 偶对称,即要求:()(1)h n h N n =--,10-≤≤N n (1-6)对于第二类线性相位,即()=-/2θωπτω-时,通过运算得到公式:[]10()cos ()0N n h n n ωτ-=-=∑ (1-7)函数)(c o s )(τω-n n h 为偶对称,当2/)1(-=N τ时,对称中心也为2/)1(-=N n 。
若要使上式成立,则要使)(n h 关于2/)1(-N 奇对称,即要求:()(1)h n h N n =---,10-≤≤N n (1-8)从上述分析看来,线性相位FIR 数字滤波器的时域约束条件是指满足线性相位时对)(n h 的约束条件,对于第一类线性相位,冲激响应)(n h 满足(1-6)式;对于第二类线性相位,冲激响应h(n)满足(1-8)式。
二 系统设计FIR 数字滤波器的设计方法主要有窗函数设计法、频率采样设计法以及等波纹逼近设计法三种,其中窗函数设计法是最常用的,其次是频率采样法,但这两种方法在设计中还会存在一些不足之处,所以需要优化的设计方法,而等波纹逼近法很好的弥补了窗函数法和频率采样法的不足[6]。
2.1 FIR 数字滤波器的窗函数设计方法2.1.1 窗函数法的设计思路窗函数设计法是FIR 数字滤波器里最简单的一种设计法,又叫傅里叶级数法,为了设计简单方便,通常选择所希望逼近的滤波器的频率响应函数)(ωj d e H 为具有片段常数特性的理想滤波器,寻找一组)(n h ,确定其频率响应10()()N j j n n H e h n e ωω--==∑,然后用()j H e ω来逼近()j d H e ω[1]。
窗函数法设计FIR 滤波器是在时域中进行的,那么可以通过傅里叶反变换得到得到频率响应()j d H e ω,即:1()()2j jn d d H n H e e d πωωπωπ-=⎰ (2-1)在实际中,)(ωj d e H 一般是处于逐段恒定的,在边界频率处有不连续点,因而单位脉冲响应)(n h d 是无限长的非因果序列,不能直接作为FIR 数字滤波器的单位脉冲响应,因此需要对)(n h d 进行截断,转换为有限长的一段因果序列,也就是用一个有限长度的窗函数序列)(n ω来截取)(n h d ,即)(*)()(n h n n h d ω=,并将非因果序列转变为一个因果序列。
截取的长度和加权窗函数的形状都直接影响到逼近精度。
以截止频率为c ω,相位为零的理想低通滤波器为例,其频率特性为:1() 0c j d c H e ωωωωωπ⎧≤⎪=⎨<≤⎪⎩(2-2)通过傅里叶反变换得到对应的()d h n 为:sin()()c d n h n nωπ= (2-3) 此时的()d h n 是一个无限长的非因果序列,我们需要对其进行截断,变成一个有限长的因果序列。
可以先把()d h n 向右平移(1)/2a N =-个点,得到'()d h n 为: 1sin ()2'()()1()2c d d N n h n h n a N n ωπ-⎡⎤-⎢⎥⎣⎦=-=-- (2-4) 相应的传输函数'()j d H e ω为:'()()()j j j a j a d d d H e h e e H e ωωωωω--== (2-5)然后对'()d h n 截取从0到1N -的N 个点,N 为窗函数的长度,所得的结果()h n 表示为:()()*'()d h n n h n ω= (2-6)()n ω表示窗函数,一般用下标来表示窗函数的类型,矩形窗记为()R n ω。
2.1.2 常见窗函数介绍常见的窗函数有矩形窗(Rectangle Window )、三角形窗(Bartlerr Window )、汉宁(Hanning )窗——升余弦窗、哈明(Hamming )窗——改进的升余弦窗、布莱克曼(Blackman )窗、凯塞—贝塞尔窗(Kaiser-Basel Window )[7]。
矩形窗的窗函数为:11 ()20 otherwiseR N n n ω-⎧≤⎪=⎨⎪⎩ (2-7)其频谱的幅度函数为sin(/2)()sin(/2)g R N W ωωω=(2-8)矩形窗的主瓣宽度为4/n π,用矩形窗设计的FIR 数字滤波器的过渡带宽度近似为1.8/N π。
三角形窗的窗函数为:21 0n (1)12()212 (1)112B n N N n n N n N N ω⎧≤≤-⎪⎪-=⎨⎪--<≤-⎪-⎩(2-9) 其频谱的幅度函数为22sin(/4)()sin(/2)g B N W N ωωω⎡⎤=⎢⎥⎣⎦ (2-10) 三角窗的主瓣宽度为8/n π。