基于MATLAB的FIR数字滤波器设计论文_第1页
基于MATLAB的FIR数字滤波器设计论文_第2页
基于MATLAB的FIR数字滤波器设计论文_第3页
基于MATLAB的FIR数字滤波器设计论文_第4页
基于MATLAB的FIR数字滤波器设计论文_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要摘 要FIR数字滤波器是数字信号处理的一个重要组成部分,由于FIR数字滤波器具有严格的线性相位,因此在信息的采集和处理过程中得到了广泛的应用。本文介绍了FIR数字滤波器的概念和线性相位的条件,分析了窗函数法、频率采样法和等波纹逼近法设计FIR滤波器的思路和流程。在分析三种设计方法原理的基础上,借助Matlab仿真软件工具箱中的fir1、fir2和remez子函数分别实现窗函数法、频率采样法和等波纹逼近法设计FIR滤波器。然后检验滤波器的滤波效果,采用一段音频进行加噪声然后用滤波器滤,对比三段音频效果进而对滤波器的滤波效果进行检验。仿真结果表明,在相频特性上,三种方法设计的FIR滤波器在通带

2、内都具有线性相位;在幅频特性上,相比窗函数法和频率采样法,等波纹逼近法设计FIR滤波器的边界频率精确,通带和阻带衰减控制。关键词:FIR数字滤波器;窗函数法;频率采样法;等波纹逼近法;加噪声;MatlabABSTRACTIn a digital signal, there will be some interference signal which system does not needed often. So we need to use digital filtert to filter the signal to extract the useful signal. FIR digit

3、al filter is an important component of digital filter.As the FIR digital filters linear phase response is required, it have been widely used in information collection and processing. This paper introduced the concept of FIR digital filters and the general idea of the design, Introducting and compare

4、ding the advantages and disadvantages of three kinds of the FIR filter design method, and respectively design filter using the window function method, the frequency sampling method and wave approximation method. Especially in digital signal processing, Matlab is widly used which can design requireme

5、nts It is Intuitive and simple so that greatly reduce the workload. This article is designed by Matlab function and simulated by Matlab software to make the tedious step in the calculation simplify.It also drawed the amplitude-frequency characteristic curve relatly. Finally, the original signal and

6、filtered signal are contrasted and analied.Key Words:FIR digital filters,Window function,Frequency sampling,Equiripple approximation method,Matlab目 录第1章绪论11.1数字滤波器的研究背景与意义1,511.2数字滤波器的应用现状与发展趋势1,511.3数字滤波器的实现方法分析1,51第2章 数字滤波器的简介12.1FIR数字滤波器的基本概念1(2.1 2.3) 2(2.1 2.3)12.2FIR数字滤波器的特点512.3FIR数字滤波器种类512.

7、4FIR数字滤波器线性相位条件31第3章FIR数字滤波器的设计33.1 窗函数法2,3,533.2 频率采样法2,3,533.3 最优化设计3,533.4 三种设计法之间的对比1第4章基于Matlab的FIR数字滤波器设计44.1Matlab简介2,514.1.1Matlab简介2,514.1.2 本文用到函数的说明14.2窗函数法的Matlab实现2,314.2.1各种窗函数之间的对比414.3频率采样法的Matlab实现2,314.4等波纹逼近法的Matlab实现2,31第5章滤波器使用的实例说明55.1语音信号的采集155.2语音信号加噪与频谱分析155.3设计巴特沃斯低通滤波器165.

8、4用滤波器对加噪语音滤波165.5比较滤波前后语音信号波形及频谱19第6章结论4参考文献10致谢12附录13附录一:窗函数程序13附录二:抽样函数程序13附录三:最优化设计程序13附录四:实例说明程序13外文资料原文14译文15第1章 绪论1.1数字滤波器的研究背景和意义 当今,数字信号处理技术正飞速发展,它不但自成一门学科,更是以不同形式影响和渗透到其他学科;它与国民经济息息相关,与国防建设紧密相连;它影响或改变着我们的生产、生活方式,因此受到人们普遍的关注。 数字化、智能化和网络化是当代信息技术发展的大趋势,而数字化是智能化和网络化的基础,实际生活中遇到的信号多种多样,例如广播信号、电视信

9、号、雷达信号、通信信号、导航信号等等。上述这些信号大部分是模拟信号,也有小部分是数字信号。模拟信号是自变量的连续函数,自变量可以是一维的,也可以是二维或多维的。大多数情况下一维模拟信号的自变量是时间,经过时间上的离散化(采样)和幅度上的离散化(量化),这类模拟信号便成为一维数字信号。因此,数字信号实际上是数字序列表示的信号,语音信号经采样和量化后,得到的数字信号是一个一维离散时间序列;而图像信号的经采样和量化后,得到的是数字信号是一个二维离散空间序列。数字滤波技术是数字信号分析、处理技术的重要分支。无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传输时

10、至关重要的。在所有的电子系统中,使用最多技术最复杂的要算数字滤波器了。数字滤波器的优劣直接决定产品的优劣。1.2数字滤波器的应用现状与发展趋势数字滤波器精确度高、使用灵活、可靠性高,具有模拟设备所没有的许多优点,已广泛应用于各个学科技术领域,例如数字电视、语音、通信、雷达、声纳、遥感、图像、生物医学以及许多工程应用领域。随着信息时代数字时代的到来,数字滤波技术已经成为一门极其重要的学科和技术领域。以往的滤波器大多采用模拟电路技术,但是,模拟电路技术存在很多难以解决的问题,例如,模拟电路元件对温度的敏感性,等等。而采用数字技术则避免很多类似的难题,当然数字滤波器在其他方面也有很多突出的优点,所以

11、采用数字滤波器对信号进行处理是目前的发展方向。在信号处理过程中,所处理的信号往往混有噪音,从接收到的信号中消除或减弱噪音是信号传输和处理中十分重要的问题。根据有用信号和噪音的不同特性,提取有用信号的过程称为滤波,实现滤波功能的系统称为滤波器。在近代电信设备和各类控制系统中,数字滤波器应用极为广泛。数字滤波器的实现方法分析数字滤波器的实现,大体上有如下几种方法:(1) 在通用的微型机上用软件来实现。软件可以由使用者自己编写或使用现成的。自IEEE DSP Comm.于1979年推出第一个信号处理软件包以来,国外的研究机构、公司也陆续推出不同语言不同用途的信号处理软件包。这种实现方法速度较慢,多用

12、于教学与科研。(2) 用单片机来实现。目前单片机的发展速度很快,功能也很强依靠单片机的硬件环境和信号处理软件可用于工程实际,如数字控制、医疗仪器等。(3) 利用专门用于信号处理的DSP片来实现。DSP芯片较之单片机有着更为突出的优点,如内部带有乘法器、累加器,采用流水线工作方式及并行结构,多总线,速度快,配有适于信号处理的指令等,DSP芯片的问世及飞速发展,为信号处理技术应用于工程实际提供了可能。第2章 数字滤波器的简介2.1 FIR数字滤波器的基本概念FIR滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样

13、响应是有限长的,因而滤波器是稳定的系统。数字滤波器是一个离散的系统。它可以对输入的离散信号进行一系列运算处理,从输入的信号中获得所需要的信息。数字滤波器的系统函数通常表示为 数字滤波器分为有限冲激响应数字滤波器,即FIR数字滤波器和无限冲激响应,即IIR数字滤波器。从公式的角度来看,FIR数字滤波器的 始终为零;IIR数字滤波器至少有一个非零。实现数字滤波器的方法一般有两种:一种方法是吧滤波器所要完成的运算编成程序并让计算机执行,也就是采用计算机软件来实现;另一种方法是设计专用的数字硬件、专用的数字信号处理器或采用通用的数字信号处理器来实现。实现一个数字滤波器一般需要三个基本的运算单元:加法器

14、、单位延时器和常数乘法器。这些基本的单元可以有两种表示方法方框图法和信号流程图法。不论软件实现还是硬件实现,在滤波器设计过程中,由同一系统函数可以构成很多不同的运算结构。对于无限精度的系数和变量,不同结构可能是等效的,与其输入和输出特性无关;但是在系数和变量精度是有限的情况下,不同运算结构的性能就有很大的差异。因此,有必要对离散时间系统的结构有一基本认识。FIR滤波器是指在有限范围内系统的单位脉冲响应hk仅有非零值的滤波器。M阶FIR滤波器的系统函数H(z)为 其中H(z)是的M阶多项式,在有限的z平面内H(z)有M个零点,在z平面原点z=0有M个极点. FIR滤波器的频率响应为 它的另外一种

15、表示方法为 2.2 FIR滤波器的特点有限长单位冲激响应(FIR)滤波器有以下特点: (1) 系统的单位冲激响应在有限个n值处不为零; (2) 系统函数在处收敛,极点全部在z = 0处(因果系统); (3) 结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。 设FIR滤波器的单位冲激响应为一个N点序列,则滤波器的系统函数为 就是说,它有(N1)阶极点在z = 0处,有(N1)个零点位于有限z平面的任何位置。优点 :(1)很容易获得严格的线性相位,避免被处理的信号产生相位失真,这一特点在宽频带信号处理、阵列信号处理、数据传输等系统中非常重要;(

16、2)可得到多带幅频特性;(3)极点全部在原点(永远稳定),无稳定性问题;(4)任何一个非因果的有限长序列,总可以通过一定的延时,转变为因果序列,所以因果性总是满足;(5)无反馈运算,运算误差小。缺点:(1)因为无极点,要获得好的过渡带特性,需以较高的阶数为代价;(2)无法利用模拟滤波器的设计结果,一般无解析设计公式,要借助计算机辅助设计程序完成。2.3 FIR滤波器的种类(1)数字集成电路FIR滤波器一种是使用单片通用数字滤波器集成电路,这种电路使用简单,但是由于字长和阶数的规格较少,不易完全满足实际需要。虽然可采用多片扩展来满足要求,但会增加体积和功耗,因而在实际应用中受到限制。设计数字滤波

17、器的任务就是寻求一个因果稳定的线性时不变系统,使其系统函数H(z)具有指定的频率特性。(2)DSP芯片FIR滤波器另一种是使用DSP芯片。DSP芯片有专用的数字信号处理函数可调用,实现FIR滤波器相对简单,但是由于程序顺序执行,速度受到限制。而且,就是同一公司的不同系统的DSP芯片,其编程指令也会有所不同,开发周期较长。 .y(n)(a)y(n)(b)图1 DSP FIR滤波器(3)可编程FIR滤波器还有一种是使用可编程逻辑器件,FPGACPLD。FPGA有着规整的内部逻辑块整列和丰富的连线资源,特别适合用于细粒度和高并行度结构的FIR滤波器的实现,相对于串行运算主导的通用DSP芯片来说,并行

18、性和可扩展性都更好。2.4 FIR数字滤波器线性相位条件设FIR数字滤波器脉冲响应的长度为N,则其频率响应可以表示为: (2-4)上式通过欧拉恒等式展开可得到的相位特性,有两种线性相位特性,通常称为第一类线性相位和第二类线性相位。第一类线性相位特性: 是一个与无关的常数第二类线性相位特性: 是起始相位严格地说第二种情况时的是不具有线性相位特性的,但上述两种情况都满足群延迟是一个常数,仍可以视为具有线性相位的,在第二类线性相位中是常用的一种情况。对于第一类线性相位,即,通过一系列的运算整理之后可得到一个三角函数求和公式: (2-5)式中正弦函数为奇对称,当时,对称中心为,需要满足关于偶对称,即要

19、求:, (2-6)对于第二类线性相位,即时,通过运算得到公式: (2-7)函数为偶对称,当时,对称中心也为。若要使上式成立,则要使关于奇对称,即要求:, (2-8)从上述分析看来,线性相位FIR数字滤波器的时域约束条件是指满足线性相位时对的约束条件,对于第一类线性相位,冲激响应h(n)满足(2-6)式;对于第二类线性相位,冲激响应h(n)满足(2-8)式。第3章FIR数字滤波器的设计3.1 FIR数字滤波器的窗函数设计法窗函数设计法是FIR数字滤波器里最简单的一种设计法,又叫傅里叶级数法,为了设计简单方便,通常选择所希望逼近的滤波器的频率响应函数为具有片段常数特性的理想滤波器,寻找一组,确定其

20、频率响应,然后用来逼近1。窗函数法设计FIR滤波器是在时域中进行的,那么可以通过傅里叶反变换得到得到频率响应,即: (3-1)在实际中,一般是处于逐段恒定的,在边界频率处有不连续点,因而单位脉冲响应是无限长的非因果序列,不能直接作为FIR数字滤波器的单位脉冲响应,因此需要对进行阶段,转换为有限长的一段因果序列,也就是用一个有限长度的窗函数序列来截取,即,并将非因果序列转变为一个因果序列。截取的长度和加权窗函数的形状都直接影响到逼近精度。窗函数法设计FIR滤波器过程如图3-1所示: 图3-1 窗函数法设计FIR滤波器流程以截止频率为,相位为零的理想低通滤波器为例,其频率特性为: (3-2)通过傅

21、里叶反变换得到对应的为: (3-3)此时的是一个无限长的非因果序列,我们需要对其进行截断,变成一个有限长的因果序列。可以先把向右平移个点,得到为: (3-4)相应的传输函数为: (3-5)然后对截取从0到的N个点,N为窗函数的长度,所得的结果表示为: (3-6)表示窗函数,一般用下标来表示窗函数的类型,矩形窗记为。3.1.2 吉布斯效应用窗函数对进行直接截断,得到有限长序列,并以代替,肯定会引起误差,表现在频域就是通常所说的吉布斯(Gibbs)效应。对于一个在有限区间分布的信号,其连续频谱在频域上分布往往是无限的,而在实际信号处理时,我们通常只能在有限的区间内做傅里叶分析,也就是说,我们只能用

22、有限区间来代替理论分析中的无限区间,多数情况下,我们总是选择信号的低频部分,而舍弃高频部分。而信号的高频部分往往是反应信号快速变化特征,如果信号本身是连续的,这样做一般不会引起信号的显著变化,但实际中的信号往往是比较丰富的,特别是信号本身存在剧烈变化的,这样做必定会引起一些误差。该误差引起过渡带加宽以及通带和阻带内的波动8。为了减小吉布斯效应带来的影响,需要调整窗口的长度来控制过渡带的宽度,但要减小带内的波动以及增大阻带衰减,还需要从窗函数的形状上寻找解决方法。为了减少序列因截断而产生的Gibbs效应,窗函数在设计时需要注意:(1)频率特性的主瓣要尽可能的窄,并且尽量把能量都集在主瓣内。(2)

23、窗函数频率特性的旁瓣趋于的过程中,其能量迅速减小为零。3.1.3 常见窗函数介绍常见的窗函数有矩形窗(Rectangle Window)、三角形窗(Bartlerr Window)、汉宁(Hanning)窗升余弦窗、哈明(Hamming)窗改进的升余弦窗、布莱克曼(Blackman)窗、凯塞贝塞尔窗(Kaiser-Basel Window)。矩形窗的窗函数为: (3-7)其频谱的幅度函数为 (3-8)矩形窗的主瓣宽度为,用矩形窗设计的FIR数字滤波器的过渡带宽度近似为。三角形窗的窗函数为: (3-9)其频谱的幅度函数为 (3-10)三角窗的主瓣宽度为。汉宁窗窗函数为 (3-11)汉宁窗的频谱的

24、幅度函数为 (3-12)汉宁窗的主瓣宽度为,汉宁窗在其两个端点都为零,实际中这两个端点的数据是不可用的。哈明窗的窗函数为 (3-13)其幅度函数为 (3-14)哈明窗是一种改进的余弦窗,能量更加集中在主瓣,是一种高效的窗函数,主瓣宽度与汉宁窗的相同。布莱克曼窗窗函数为 (3-15)其频谱的幅度函数为 (3-16)该窗函数位移不同,幅度函数也不同,会使旁瓣进一步抵消,主瓣宽度为。凯塞窗是一种最优窗函数,不同于前面五种窗函数,凯塞窗是一种参数可调的窗函数,其函数形式如下: (3-17)其中 (3-18)一般取15-25项可以满足精度要求。参数可以控制窗的形状。一般越大,主瓣越宽,而旁瓣幅度会随之减

25、小,典型的数据在4到9之间。各种窗函数的性能比较如表3-1所示:表3-1 不同窗函数性能比较窗函数旁瓣峰值/dB近似过渡带宽精确过渡带宽阻带最小衰减/dB矩形窗-134/N1.8/N21三角形窗-258/N6.1/N25汉宁窗-318/N6.2/N44哈明窗-418/N6.6/N53布莱克曼窗-5712/N11/N74凯泽窗()-5710/N80虽然窗函数设计法设计思路简单,但是它的边界频率不容易控制,而且窗函数还有吉布斯效应,需要选择不同的窗函数来减小吉布斯效应对结果的影响,但无论哪种窗函数,都无法很好的解决这一问题,所以我们需要通过其他的设计方法来进行滤波,便于满足实际工程中的不同要求。3

26、.2 FIR数字滤波器的频率采样设计法窗函数设计法是从时域出发来设计FIR数字滤波器的,而频率采样法是从频域出发设计FIR数字滤波器的。和窗函数设计法相同,频率采样法也需要预先构造一个希望逼近的滤波器频率响应函数,对其加以等间隔采样后,作为FIR数字滤波器的频率响应。对在到之间等间隔采样点,得到频率采样值: (3-19)再对进行点IDFT,得到: (3-20)将作为所涉及的FIR数字滤波器的单位脉冲响应,其系统函数为为 (3-21)由于滤波器频率响应是理想的,即有间断点,那么其单位冲激响应是无限长的。这样,由于时域混叠,引起所设计的h(n)和有偏差。因此,采样点处与相等,逼近误差为0,而在采样

27、点之间,由有限项的之和形成。其误差和特性的平滑程度有关,特性愈平滑误差愈小;特性曲线间断点处,误差越大。误差表现形式为间断点用倾斜线取代,且间断点附近形成振荡特性,使阻带衰减减小,往往不能满足实际工程中的技术要求。当然,增大N值,可以减小逼近误差,但间断点附近误差仍然最大,且N太大会增加滤波器级数与成本。提高阻带衰减最有效的方法是在频响间断点附近区间内插一个或几个过渡采样点,使不连续点变成缓慢过渡。过渡带采样点个数与阻带最小衰减的关系以及使阻带最小衰减最大化的每个过渡带采样值求解都要用优化算法解决。其基本思路是将过渡带采样值设为一个自由量,用一种优化算法改变它们,最终使阻带最小衰减最大。将过渡

28、带采样点的个数m与滤波器阻带最小衰减的经验数据列于表3-2中,我们可以根据给定的阻带最小衰减,选择过渡带采样点的个数m。表3-2 过渡带采样点的个数m与滤波器阻带最小衰减的经验数据m1234454dB6575dB8595dB3.2.2 频率采样法的设计步骤首先根据阻带最小衰减按照表3-2选择过渡带采样点的个数,再确定过渡带宽度,估算频域采样点数,如果增加个过渡带采样点,则过渡带宽度近似变成。当确定时,过渡带会随着的增大而变宽。如果给定的过渡带宽度为,则要求,滤波器的长度必须满足以下公式: (3-22)接着,构造一个希望逼近的频率响应函数: (3-23)设计标准型片段常数特性的FIR数字滤波器时

29、,一般构造幅度特性函数为相应的理想频响特性,且满足的对称情况。对(3-23)进行频域采样: (3-24) (3-25)并加入过渡带采样。过渡带采样值一般为经验值,或者用累试法确定,也可以采用优化算法估算。对进行点IDFT,得到第一类线性相位FIR数字滤波器的单位脉冲响应: (3-26) 图3-2 频率采样法设计FIR滤波器流程最后检验设计结果,如果阻带最小衰减未达到指标要求,则要改变过渡带的采样值,直到满足指标要求为止。如果滤波器的边界频率未达到指标要求,则需要微调的边界频率。频率采样法设计FIR滤波器流程如图3-2所示。频率采样法最大的优点就是直接从频率进行设计,比较直观,也适合于设计具有任

30、意幅度特性的滤波器。但是频率采样法在边界频率不容易控制,如果采样点数N增加,对确定边界频率有好处,但同样会增加了滤波器的成本,因此只适合窄带滤波,且这种设计方法理解起来比较困难。3.3 FIR数字滤波器的等波纹逼近设计法窗函数设计法和频率采样设计法虽然设计方法简单,但都存在滤波器边缘频率不易精确控制缺点,且这两种设计方法设计出来的滤波器的通带和阻带的波动幅度都是相等的,两种设计方法都不能分别控制通带和阻带的波动幅度,而现实工程中往往对二者都有不同的要求,需要分别进行控制。等波纹逼近法是一种优化设计方法,它克服了窗函数设计法和频率采样法的缺陷,是最大误差最小化设计方法,并在整个逼近频段上均匀分布

31、。设为希望逼近的幅度特性函数,且要求设计线性相位的FIR数字滤波器时,必须满足线性相位约束条件。用表示实际设计的幅度特性函数,定义加权误差函数为 (3-27)式中,被称为误差加权函数,是由设计者定义的,用来控制不同频段的逼近精度。经过推导可把统一标示为:式中,是系数不同的余弦组合式,记;是不同的常数,在设计FIR滤波器时存在四种线性相位,当且奇对称时,N为奇数,为1;N为偶数时,为;而当偶对称时,不管N为奇数还是偶数,都取。图3-3 remez算法搜索最佳频率点流程等波纹逼近的问题就是选择N个系数a(n),使加权误差的最大值最小。设定误差加权函数、通带波纹峰值及N+1个初始频率i,i=0,1,

32、2,N,计算各个频率点上的加权误差函数值,如果这些加权误差函数值小于等于给定的通带波纹峰值,则为最佳频率点;如果某个频率点上的加权误差函数值大于给定的通带波纹峰值,就用Remez算法更新迭代查找最佳频率点。找到最佳频率点后,计算系数及。Remez算法搜索最佳频率点流程如图3-3所示。借助Remez算法来设计等波纹的FIR数字滤波器的步骤如下:给出所需的频率响应、误差加权函数和单位脉冲响应的长度N,根据具体情况,进行统一表达式的转换;设定初始频率点和通带波纹值,采用Remez算法计算最佳频率点组,由最佳频率点组计算及系数,根据求出的的表达式再利用傅里叶逆变换求得滤波器的单位脉冲响应。用等波纹逼近

33、法设计线性相位FIR滤波器的流程如图3-4所示:图3-4 等波纹逼近法设计FIR滤波器流程利用等波纹逼近法设计FIR滤波器,其误差均匀分布在频带中,可以得优良的滤波特性,它在同样过渡带较窄的情况下,通带最稳定,阻带有最大化的最小衰减。3.4 三种设计法之间的对比窗函数设计法是这三种设计法里操作最简单的,但是窗函数的设计阶数相对其他两种更多,如果降低了设计的阶数,则最后得到的设计结果往往不能达到实际设计的要求和指标,除矩形窗之外,其他窗可以满足一般的设计指标,但在要求精度较高的时候,窗函数设计往往不能很好的达到要求。频率采样法设计滤波器相对于窗函数,其阶数稍微比窗函数要少,但要通过优化过渡带的采

34、样点取值来控制阻带的波纹幅度,所以并不能很好的满足工程中的要求。而等波纹逼近法是这三种方法中阶数最少的,且通带最大衰减是最小的,阻带衰减最大。第4章 基于Matlab的FIR数字滤波器设计1.1 Matlab简介1.1.1 MATLAB的发展MATLAB是英文MATrix LABoratory(矩阵实验室)的缩写。早期的MATLAB是用FORTRAN语言编写的,尽管功能十分简单,但作为免费软件,还是吸引了大批使用者。经过几年的校际流传,在John Little。Cleve Moler和Steve Banger合作,于1984年成立MathWorks公司,并正式推出MATLAB第一版版。从这时起

35、,MATLAB的核心采用C语言编写,功能越来越强大,除原有的数值计算功能外,还新增了图形处理功能。Matlab主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,代表了当今国际科学计算软件的先进水平。MATLAB语言被称为第四代计算机语言,其利用丰富的函数资源,使程序员从繁琐的程序代码中解放出来,其最突出的特点就是简洁。MATLAB用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN

36、语言的冗长代码,给用户带来最直观、最简洁的程序开发环境,下面简单介绍一下MATLAB的主要特点。语言简洁紧凑,使用方便,库函数十分丰富。MATLAB程序书写的形式自由,利用丰富的库函数避开了繁琐的子程序编程任务,由于库函数都是由本领域的专家编写,所以不必担心函数的可靠性。高效方便的矩阵和数组运算,MATLAB语言不需要定义数组的维数,并给出了矩阵函数、特殊矩阵函数、特殊矩阵专门的库函数,使得在求解信号处理、建模、系统识别、优化和控制等领域的问题时,显得大为简洁、方便、高效,这是其他高级语言所不能的。MATLAB既具有结构化的控制语句,又具有面向对象编程的特性。MATLAB语法限制不严格,程序设

37、计自由度大,通过建立M后缀名文件的形式,与用户已经编好的FORTRAN、C语言成语混合编程,方便地调用有关的FORTRAN、C语言的子程序。可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上面运行。MATLAB的图形功能强大。在C和FORTRAN语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。此外,MATLAB还具有较强的编辑图形界面的能力。MATLAB拥有功能强大的工具箱,主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实施交互功能。源程序的开放性强。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改变的源文件,用户可通过对

38、源文件的修改以及加入自己的文件构成新的工具箱。MATLAB软件自1984年推向市场以来,历经十几年的发展和竞争,现已成为国际公认的最优秀的科技应用软件。它功能强大、界面友好、语言自然、开放性强,很快成为应用学科计算机辅助分析、设计、仿真、教学乃至科技文字吹不可缺少的基础软件。1.1.1 窗函数法的Matlab实现 实际设计时,一般采用MATLAB工具箱函数实现。步骤(1)由设计者根据设计指标完成,步骤(2)-(4)的解题过程可调用设计函数fir1来实现。Fir1时用窗函数法设计线性相位FIRDF的工具箱函数,调用格式如下:hn=fir1(N,wc,ftype,window) fir实现线性相位

39、FIR滤波器的标准窗函数法设计。“标准”时指再设计低通、高通、带通、带阻FIR滤波器时,分别取相应的理想低通、高通、带通、带阻滤波器,故而设计的滤波器的频率响应称为标注频率响应。hn=fir1(N,wc)可得到6dB截至频率为wc的N阶(单位脉冲响应h(n)长度为N+1)FIR低通滤波器,默认(缺省参数windows)选用hammiing窗。其单位脉冲响应h(n)为:h(n)=h(n+1),n=0,1,2,N而且满足线性相位条件:h(n)=h(N-1-n)其中wc为对归一化的数字频率,0wc1。hn=fir1(N,wc,ftype)可设计高通和带阻滤波器。·当ftype=high时,

40、设计高通FIR滤波器;·当ftype=stop时,设计带阻FIR滤波器。hn=fir1(N,wc,ftype,window)通过选择wc、ftype和window参数,可以设计各种加窗滤波器。Fir2可以指定任何形状的Hd(),用help命令查阅其调用格式。下面给出利用fir1函数的窗函数法数字低通滤波器。利用fir1函数进行设计,这种设计方法只需要给出滤波器的阶数、截止频率、窗函数等参数,Matlab即可自行完成设计,并可通过freqz函数查看滤波器的幅频响应和相频响应,以验证滤波器是否满足设计要求。设计程序如下:n=27; %设滤器的阶数为27Wn=0.2; %归一化截止频率为0

41、.2window=rectwin(28); %矩形窗b=fir1(n,Wn,window);freqz(b);运行结果如图4-1所示:从幅频响应上看,通带波动约为1dB且带内有过冲现象,0.2截止频率处的衰减为6.5dB,即截止频率发生了漂移,3dB截止频率为0.182;阻带波纹较大,因而阻带特性较不理想,阻带最小衰减约为21dB;相频响应曲线在通带内为直线,效果较好,信号失真小。 图4-1矩形窗FIR滤波器幅频和相频特性曲线利用三角窗进行设计时,原理与矩形窗基本相同,只不过生成窗函数时采用triang(n)函数生成三角窗,程序运行结果如图4-2所示:图4-2三角窗设计的FIR滤波器幅频和相频

42、特性曲线从幅频响应上看,通带平坦没有波动,阻带最小衰减约为25dB;相频响应曲线在整个频率范围内为直线,满足线性相位要求。利用哈明窗进行设计时,原理与矩形窗相同,只不过生成窗函数时采用hamming(n)函数生成三角窗,程序运行结果如下:图4-3哈明窗设计的FIR滤波器幅频和相频特性曲线利用布莱克曼窗进行设计时,原理与矩形窗基本相同,只不过生成窗函数时采用blackman(n)函数生成布莱克曼窗,程序运行结果如下:图4-4布莱克曼窗设计的FIR滤波器幅频和相频特性曲线利用凯塞窗进行设计时,原理与矩形窗基本相同,只不过生成窗函数时采用kaiser(n,beta)函数生成凯塞窗,程序运行结果:图4

43、-5凯塞窗设计的FIR滤波器幅频和相频特性曲线4.3 频率采样法的Matlab实现频率采样法设计FIR滤波器流程如图3-2所示,因此利用Matlab软件设计FIR滤波器时,可以根据3-2的流程编写程序实现。但Matlab软件工具箱提供了fir2子函数,可以利用fir2子函数快速方便地设计FIR滤波器,避免了繁杂的数学运算。fir2子函数调用格式为:b=fir2(n, F, A)函数参数说明如下:1.n表示滤波器的阶数2. F为滤波器的归一化频率点,在0,1范围内取值,1表示实际频率为fs/23.A为频率响应幅度参数F和A共同描述了预先设定的理想滤波器的频率响应,可以借助plot函数画图观察幅频

44、特性曲线。下面用频率采样法设计一个通带截止频率为0.2的FIR数字低通滤波器,设滤波器阶数n=27,编写程序:n=27; %设滤器的阶数为33F=0 0.2 0.3 1; %理想滤波器的频率响应A=1 0. 707 0 0; b=fir2(n,F,A);freqz(b);经过运算得FIR滤波器的幅频特性如图4-6所示:图4-6 频率采样法设计的FIR低通滤波器的幅频和相频特性曲线从4-6幅频特性曲线可知,0.2截止频率处的衰减为4.7dB,即截止频率发生了漂移,3dB截止频率为0.165;通带内的相频特性为直线,满足线性相位要求。4.4 等波纹逼近法的Matlab实现频率采样法设计FIR滤波器

45、流程如图3-4所示,因此利用Matlab软件设计FIR滤波器时,可以根据3-4的流程编写程序实现。但Matlab软件工具箱提供了remez子函数,可以利用remez子函数快速方便地设计FIR滤波器,避免了繁杂的数学运算。remez函数有几种调用格式,常见的一种调用格式为:b= remez (n, f, a, w); 函数参数说明如下:1.n表示滤波器的阶数2. f为滤波器的归一化频率点,在0,1范围内取值,1表示实际频率为fs/23.a为频率响应幅度参数f和a共同描述了预先设定的理想滤波器的频率响应。4.w表示通带和阻带波纹控制。下面用remez函数设计一个27阶的FIR低通滤波器,其通带截止

46、频率为0.2,通带波纹最大为0.04,阻带截止频率为0.3,阻带波纹最大为0.02,程序如下: n=27; f=0 0.2 0.3 1; a=1 1 0 0; w=0.04 0.02; b=remez(n,f,a,w); freqz(b); 程序运行结果如图4-7所示:图4-7 等波纹逼近法设计的FIR低通滤波器幅频和相频特性曲线同样是设计一个27阶的FIR低通数字滤波器,比较fir1窗函数法、fir2频率采样法和remez等波逼近法的设计结果,可以看出: (1)窗函数法和频率采样法设计滤波器时,滤波器边缘频率不易精确控制,通带和阻带的波动幅度 也不易控制。(2)利用等波纹逼近法可以较好的控制

47、滤波器的边缘频率及通带和阻带的波动幅度。 第5章滤波器使用的实例说明4.1语音信号的采集基于声卡进行数字信号的采集。将话筒插入计算机的语音输入插口上,启动录音机。按下录音按钮,对话筒说话,说完后停止录音。要保存文件时,利用了计算机上的A/D转换器,把模拟的声音信号变成了离散的量化了的数字信号,放音时,它又通过D/A转换器,把保存的数字数据恢复为原来的模拟的声音信号。在 Matlab软件平台下可以利用函数wavread对语音信号进行采样,得到了声音数据变量x1,同时把x1的采样频率fs=22050Hz和数据位Nbits=16Bit放进了MATALB的工作空间。图4.1为原始语音信号的时域图形。

48、图4.1 原始语音信号从图中可以看出在时域环境下,信号呈现出不规则的信号峰值。通过freqz函数绘制原始语音信号的频率响应图4.2。图4.2 语音信号频率响应图然后对语音信号进行频谱分析,在Matlab中可以利用函数fft对信号行快速傅里叶变换,得到信号的频谱图4.3, 图4.3 原始语音信号FFT与信号频谱从图中可以看出对各个频点上的随机信号在频域进行抽样 ,抽样频率为 22050Hz。4.2语音信号加噪与频谱分析 图4.4 加噪后的信号时域图在Matlab中人为设计一个固定频率5500Hz的噪声干扰信号。噪声信号通常为随机序列,在本设计中用正弦序列代替,干扰信号构建命令函数为d=Au*si

49、n(2*pi*5500*t),给出的干扰信号为一个正弦信号,针对上面的语音信号 ,采集了其中一段。再对噪音信号进行频谱变换得到其频谱图,从图中可以看出干扰信号,在4000Hz和 6000Hz频点处有一高峰 ,其中 5500Hz 正是本设计所要利用的。4.3设计巴特沃斯低通滤波器 图4.5 原始信号与加噪后信号频谱对比由模拟滤波器变换为数字滤波器时,采用的是双线性变换法,它保留的是从模拟到数字域的系统函数表示。在滤波器的选取时, 由于设计方法的侧重点不同, 作出比较是困难的。如果FIR滤波器情况下,最优的设计将是椭圆滤波器。用双线性变换法设计低通滤波器。的本设计是用双线性变换法设计BW带阻型滤波

50、器。在 MATLAB中 ,可以利用函数 butterworth,设计FIR滤波器,利用MATLAB 中的函数freqz 画出各滤波器的频率响应。用设计好的带阻滤波器对含噪语音信号进行滤波,在Matlab用FIR滤波器利用函数fftfilter对信号进行滤波,FIR滤波器利用函数filter对信号进行滤波。在一个窗口同时画出滤波前后的波形及频谱。从图中可以看出 ,5500Hz看到的高峰消失了 ,语音信号与开始的一样 ,滤波器成功的滤除了干扰信号。利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频

51、谱分析,设计合适的滤波器滤除噪声,恢复原信号4。4.4用滤波器对加噪语音滤波 图4.6 低通滤波器频率响应曲线 给原始的语音信号加上一个高频余弦噪声,频率为5500Hz。对加噪后的语音进行分析,并画出其信号时域和频谱图。与原始信号对比,区别:先原始信号没加噪音之前0到2000有幅值,在4000到6000之间没有幅值,但是在加了噪音之后4000到6000之间出现最大幅值12,超出正常值。4.5比较滤波前后语音信号波形及频谱 图4.7 滤波前后时域波形图 通过对比分析可知,滤波后的输出波形和原始语音加噪声信号的图形发生了一些变化,在3000-6000Hz之间的信号消失,出现0-1000和7000-

52、8000之间的信号。滤波后的输出波形明显在对应时间幅度比原语音加噪声信号的要小,而且滤波的效果也与滤波器的选择有关,可以看出滤波器的性能差异以及参数的调节会对滤波器产生一定的影响,并且通过回放可以发现滤波前后的声音有变化.低通滤波后,已很接近原来的声音,人耳几乎辨别不出 。从频谱图中我们还可以看出声音的能量信号主要集中在低频部分,说明高频语音信号被滤出,滤波器达到既定要求。信噪比为0.62。第6章结论论文正文主要简单介绍了Matlab、数字滤波器及利用matlab实现FIR滤波器的多种技术设计。Matlab语言简洁紧凑,使用方便,库函数十分丰富。MATLAB程序书写的形式自由,利用丰富的库函数

53、避开了繁琐的子程序编程任务。在数字信号处理中 ,由于信号中经常混有各种复杂成分,所以很多信号分析都是基于滤波器而进行的, 因此数字滤波器占有极其重要的地位 。数字滤波器分为有限冲激响应数字滤波器,即FIR数字滤波器和无限冲激响应,即IIR数字滤波器。我们主要介绍了FIR数字滤波器。目前FIR滤波器的设计方法主要有三种:窗函数法、频率抽样法和优化设计方法。我们主要介绍前两种方法。涉及FIR滤波器的多种技术设计。各种方法都有其优点和缺点,需根据不同的滤波器类型选择不同的方法。窗函数法在设计标准滤波器,例如低通、高通、带通,是很有用的。另一方面, 频率抽样法的优点是可以在频域直接设计,并且适合于最优

54、化设计;缺点是抽样频率只能等于2pi/M的整数倍或等于2pi/M的整数倍上加上pi/M,因而不能确保截止频率Wc的自由取值。要想实现自由选择频率,则必须增加抽样点数M,但这种计算量加大。本文实现了基于Matlab的数字低通和数字高通滤波器。高通滤波器是容许高频信号通过、但减弱(或减少)频率低于截止频率信号通过的滤波器。对于不同滤波器而言,每个频率的信号的减弱程度不同。它有时被称为低频剪切滤波器;在音频应用中也使用低音消除滤波器或者噪声滤波器。低通滤波器与高通滤波器特性恰恰相反。此次设计当中有很多问题困扰我,通过查阅资料、同学和邵霞老师的帮助逐步解决了问题,在此艰难的过程中让我懂得了很多。万事开

55、头难,不要畏惧,做好了开头也就成功了一半;其发现问题要立即解决问题;自己钻研不出来的,要敢于问问题;做事认真仔细,不要怕麻烦,否则只会更麻烦。致 谢 首先,在邵霞老师开的第一次会议上,邵老师把她自己的一些构想给我说了一下,这些构想使我对完成FIR滤波器的设计有了很大的信心,在此特别感谢邵老师对我的悉心指导。在与邵老师接触的过程中,她给我们的感觉就是我们就像朋友间的交流,毫无距离感。另外,邵老师思维缜密、知识渊博、生活上平易近人,使我从邵老师身上学到了很多专业的知识和做人的道理,这都是我以后做人做事的榜样。其次,感谢通信教研室老师和领导,他们对我们在设计的过程中出现的问题同样给与了一些的建议,我

56、也从他们身上学到了许多东西,这对我以后的生活与工作都有巨大的作用。再则,我要感谢和我一组的同学,由于我们一组的几个同学用到的知识都有重叠,所以我们也在互帮互助中共同成长,在此过程中我深深体会到了团队的重要性,虽然我们不是一个团队,一个和谐团结的团队是一只非常可怕的队伍,众志成城,其利断金。感谢和班里和系里的一些同学,他们也为我提供了无私的帮助,而且很重要,我们相互交流,相互学习,这个过程中我们一起解决了很多问题,同时也学到了很多新的知识。 最后我要感谢我的父母家人,他们对我的影响是最大的。谢谢,谢谢你们!参考文献1 刘令普.数字信号处理M.哈尔滨:哈尔滨工业大学出版社,2002。2 罗军辉、罗

57、勇江等. MATLAB7.0在数字信号处理中的应用M.北京:机械工业出版社,20053 杨永昌,李晨辉,王凯. FIR数字滤波器的设计方法J. 桂林航天工业高等专科院校学报, 2006, 11, 43(3): 22-31. 附 录clc;clear;close all;fs=22050; %ÓïÒôÐźŲÉÑùƵÂÊΪ22050x1=wavread('D:start_e.wav'); %

58、82;ÁÈ¡ÓïÒôÐźŵÄÊý¾Ý£¬¸³¸ø±äÁ¿x1£¬ sound(x1,22050); %²¥·ÅÓïÒôÐźÅy1=fft(x1,1024); %¶Ô

59、ÐźÅ×ö1024µãFFT±ä»»f=fs*(0:511)/1024; %½«0µ½511£¬²½³¤Îª1µÄÐòÁеÄÖµÓëfsÏà³Ë²¢³ýÒÔ1024µÄÖµ£¬¸³Öµ¸

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论