武汉理工大学《信号分析与处理》课程设计说明书1目录摘要.......................................................................................................21数字滤波器.........................................................................................32FIR滤波器简介.................................................................................43FIR低通滤波器的设计......................................................................53.1FIR滤波器的窗函数设计法........................................................53.2典型的窗函数...........................................................................63.3窗函数法设计步骤.....................................................................84参数计算及方案选择......................................................................105FIR数字滤波器程序设计与仿真......................................................125.1源程序.......................................................................................125.2仿真波形................................................................................146心得体会...........................................................................................15参考文献...............................................................................................16武汉理工大学《信号分析与处理》课程设计说明书2摘要随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。目前数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理中起着重要的作用并已获得广泛应用的是数字滤波器(DF,DigitalFilter)。数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。MATLAB是英文MATrixLABoratory(矩阵实验室)的缩写。它是美国的MathWorks公司推出的一套用于科学计算和图形处理可视化、高性能语言与软件环境。它的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究与辅助设计的工具。在设计数字滤波器时,通常采用MATLAB来进行辅助设计和仿真。本次设计将完成一个FIR低通滤波器的设计,利用窗函数法完成设计,并利用MATLAB进行仿真关键字:数字滤波器窗函数FIR低通滤波器MATLAB仿真武汉理工大学《信号分析与处理》课程设计说明书31数字滤波器所谓数字滤波器是指输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例,或者滤除某些频率成分的器件。数字滤波器是一个离散时间系统(按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能装置)。应用数字滤波器处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即1/2抽样频率点呈镜像对称。为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。与模拟滤波器相比,数字滤波器的优点是:(1)精度和稳定性高;(2)系统函数容易改变,所以灵活性高;(3)不要求阻抗匹配;(4)便于大规模集成。数字滤波器有低通、高通、带通、带阻和全通等类型。它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。应用最广的是线性、时不变数字滤波器,以及FIR滤波器。数字滤波器包括有限长脉冲响应滤波器(FIRfilter)和无限长滤波器(IIRfilter),它们的系统函数分别为:从结构上看,FIR数字滤波器采用非递归结构,IIR数字滤波器采用递归结构。IIR数字滤波器的相位要求很高,而FIR很容易做到严格线性相位特性,因此介绍FIR数字滤波器的设计方法有一定的实用意义。武汉理工大学《信号分析与处理》课程设计说明书42FIR滤波器简介FIR滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。有限长单位冲激响应(FIR)滤波器有以下特点:(1)系统的单位冲激响应h(n)在有限个n值处不为零;(2)系统函数H(z)在|z|0处收敛,极点全部在z=0处(因果系统);(3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。目前,FIR滤波器的硬件实现有以下几种方式:1.数字集成电路FIR滤波器一种是使用单片通用数字滤波器集成电路,这种电路使用简单,但是由于字长和阶数的规格较少,不易完全满足实际需要。虽然可采用多片扩展来满足要求,但会增加体积和功耗,因而在实际应用中受到限制。2.DSP芯片FIR滤波器。DSP芯片有专用的数字信号处理函数可调用,实现FIR滤波器相对简单,但是由于程序顺序执行,速度受到限制。而且,就是同一公司的不同系统的DSP芯片,其编程指令也会有所不同,开发周期较长。3.可编程FIR滤波器还有一种是使用可编程逻辑器件,FPGA/CPLD。FPGA有着规整的内部逻辑块整列和丰富的连线资源,特别适合用于细粒度和高并行度结构的FIR滤波器的实现,相对于串行运算主导的通用DSP芯片来说,并行性和可扩展性都更好。武汉理工大学《信号分析与处理》课程设计说明书53FIR低通滤波器的设计3.1FIR滤波器的窗函数设计法FIR滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列。FIR滤波器的设计问题在于寻求一系统函数)(zH,使其频率响应)(jeH逼近滤波器要求的理想频率响应)(jdeH,其对应的单位脉冲响应)(nhd。设计思想:从时域从发,设计)(nh逼近理想)(nhd。设理想滤波器)(jdeH的单位脉冲响应为)(nhd。以低通线性相位FIR数字滤波器为例。deeHnhenheHjnjddjnndjd)(21)()()()(nhd一般是无限长的,且是非因果的,不能直接作为FIR滤波器的单位脉冲响应。要想得到一个因果的有限长的滤波器h(n),最直接的方法是截断)()()(nwnhnhd,即截取为有限长因果序列,并用合适的窗函数进行加权作为FIR滤波器的单位脉冲响应。按照线性相位滤波器的要求,h(n)必须是偶对称的。对称中心必须等于滤波器的延时常数,即2/)1()()()(Nanwnhnhd用矩形窗设计的FIR低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,这个现象称为吉布斯(Gibbs)效应。为了消除吉布斯效应,一般采用其他类型的窗函数。武汉理工大学《信号分析与处理》课程设计说明书63.2典型的窗函数(1)矩形窗(RectangleWindow))()(nRnwN其频率响应和幅度响应分别为:21)2/sin()2/sin()(NjjeNeW,)2/sin()2/sin()(NWR(2)三角形窗(BartlettWindow)121,122210,12)(NnNNnNnNnnw其频率响应为:212])2/sin()4/sin([2)(NjjeNNeW(3)汉宁(Hanning)窗,又称升余弦窗)()]12cos(1[21)(nRNnnwN其频率响应和幅度响应分别为:)]12()12([25.0)(5.0)()()]}12()12([25.0)(5.0{)()21(NWN(4)海明(Hamming)窗,又称改进的升余弦窗)()]12cos(46.054.0[)(nRNnnwN其幅度响应为:)]12()12([23.0)(54.0)(NWN(5)布莱克曼(Blankman)窗,又称二阶升余弦窗)()]14cos(08.0)12cos(5.042.0[)(nRNnNnnwN其幅度响应为:)]14()14([04.0)]12()12([25.0)(42.0)(NWNWNWN武汉理工大学《信号分析与处理》课程设计说明书7(6)凯泽(Kaiser)窗10,)())]1/(21[1()(020NnINnInw其中:β是一个可选参数,用来选择主瓣宽度和旁瓣衰减之间的交换关系,一般说来,β越大,过渡带越宽,阻带越小衰减也越大。I0(·)是第一类修正零阶贝塞尔函数。若阻带最小衰减表示为ssA10log20,β的确定可采用下述经验公式:50)7.8(1102.05021)21(07886.0)21(5842.02104.0ssssssAAAAAA若滤波器通带和阻带波纹相等即δp=δs时,滤波器节数可通过下式确定:136.1495.7FANs式中:22psF综上所述各窗函数性能比较如表3-1所示表3-1各种窗函数的性能比较窗函数第一旁瓣相对于主瓣衰减/dB主瓣宽阻带最小衰减/dB矩形窗–134π/N21三角窗–258π/N25汉宁窗–318π/N44海明窗–418π/N53布拉克曼窗–5712π/N74凯塞窗可调可调可调切比雪夫窗可调可调可调武汉理工大学《信号分析与处理》课程设计说明书83.3窗函数法设计步骤利用窗函数设计FIR滤波器的具体步骤如下:(1)按允许的过渡带宽度△ω及阻带衰减AS,选择合适的窗函数,并估计节数N,其中A由窗函数的类型决定。(2)由给定的滤波器的幅频响应参数求出理想的单位脉冲响应)(nhd。(3)确定延时值(4)计算滤波器的单位取样响应)(nh,)()()(nwnhnhd。(5)验算技术指标是否满足要求。实际设计过程中,上述几种窗函数可以根据对滤波器的过渡带宽度和阻带衰减的要求i,适当选取窗函数的类型和长度N,以得到比较满意的设计效果。如何根据滤波器长度N的奇偶性,选择h(n)的奇偶对称性则是另外一个需要考虑的问题。线性相位实系数FIR滤波器按其N值奇偶和h(n)的奇偶对称性,可以分为