《基于matlab的fir滤波器设计与仿真--学位论文.doc》由会员分享,可在线阅读,更多相关《基于matlab的fir滤波器设计与仿真--学位论文.doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、南昌航空大学科技学院学士学位论文第一章:引言1.1选题的依据及意义几乎在所有的工程技术领域中都会涉及到信号的处理问题,其信号表现形式有电、磁、机械以及热、光、声等。信号处理的目的一般是对信号进行分析、变换、综合、估值与识别等。如何在较强的噪声背景下提取出真正的信号或信号的特征,并将其应用于工程实际是信号处理的首要任务。数字信号处理中一个非常重要且应用普遍的技术就是数字滤波。数字滤波器有FIR数字滤波器和IIR数字滤波器,IIR数字滤波器的设计方法是利用模拟滤波器成熟的理论及设计图表进行设计的,因而保留了一些典型模拟滤波器优良的幅度特性,但设计中只考虑了幅度特性,没考虑相位特性,所设计的滤波器一
2、般是某种确定的非线性相位特性。为了得到线性相位特性,对IIR滤波器必须另外加相位校正网络,使滤波器设计变得复杂,成本也高,又难以得到严格的线性相位特性。而FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性,同时为了使FIR数字滤波器的设计更优化,因而研究FIR数字滤波器的优化设计具有重要的理论意义。1.2 数字滤波器简介数字滤波在DSP中占有重要地位。数字滤波器按实现的网络结构或者从单位脉冲响应,分为IIR(无限脉冲响应)和FIR(有限脉冲响应)滤波器。如果IRR滤波器和FIR滤波器具有相同的性能,那么通常IIR滤波器可以用较低的阶数获得高的选择性,执行速度更快,所有
3、的存储单元更少,所以既经济又高效。 数字滤波器精确度高,使用灵活,可靠性高,具有模拟设备没有的许多优点,已广泛地应用与各个科学技术领域,例如数字电视,语音,通信、雷达、声纳、遥感、图像、生物医学以及许多工程应用领域。随着信息时代数字时代的到来,数字滤波技术已经成为一门及其重要的科学和技术领域。以往的滤波器大多采用模拟电路技术,但是模拟电路技术存在很多难以解决的问题,而采用数字则避免很多类似的难题,当然数字滤波器在其他方面也有很多突出的优点都是模拟技术所不能及的,所以采用数字滤波器对信号进行处理是目前的发展方向。数字滤波在通信。图像编码,语音编码,雷达等许多领域有着十分广泛的应用。目前,数字信号
4、滤波器的设计在图像处理,数据压缩等方面的应用取得了令人瞩目的 进展和成就。近年来迅速发展。1.3 MATLAB简介1.3.1MATLAB的概况 MATLAB是矩阵实验室(MatrixLaboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多. MATLAB拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具包和学科工具包.功能工具包用
5、来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类. 开放性使MATLAB广受用户欢迎.除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包.1.3.2MTALAB的功能 MATLAB包含的内容非常丰富,功能强大,可以概括为以下几个方面: a.可以在多种操作系统下运行,如DOS、Windows 95/98/2000/2000/NT、Compaq Alpha、LinuxSun Solaris等。 b.有超过500种
6、的数学、统计、科学及工程方面的函数,使用简单快捷,并且有很强的用户自定义函数的能力。 c. 有强大的图形绘制和可视化功能,可以进行视觉数据处理和分析,进行图形、图像的显示及编辑,能够绘制二维、三维图形,使用户可以制作高质量的图形,从而写出图文并茂的文章。 d. 有和用其他高级语言(如C,C+,FORTRAN,JAVA)编写的外部程序相接口的能力,也可把MATLAB程序转换成上述高级语言的子程序。 e. 有从外部文件及外部硬件设备读入数据的能力。 f .有丰富的网络资源,从相关的Web网站可以直接获得全套的MATLAB联机帮助文件和说明书的电子文档,还可以获得各类技术支持与帮助。 g. 有丰富的
7、工具箱toolbox。各个领域的专家学者将众多学科领域中常用的算法编写为一个个子程序,即m文件,这些m文件包含在一个个工具箱中。其工具箱可以分为两大类,即功能性工具箱和科学性工具箱。功能性工具箱主要用来扩充MATLAB的符号计算、图形可视化、建模仿真、文字处理等功能以及与硬件实时交互的功能。学科性工具箱是按学科领域来分类的,如信号处理、控制、通信、神经网络图像处理、系统辨识、鲁棒控制、模糊逻辑、小波等工具箱。 MATLAB中的信号处理工具箱内容丰富,使用简便。在数字信号处理中常用的算法,如FFT,卷积,相关,滤波器设计,参数模型等,几乎都只用一条语句即可调用。数字信号处理常用的函数有波形的产生
8、、滤波器的分析和设计、傅里叶变换、Z变换等,如: 波形产生:sawtooth(锯齿波或三角波)Diric(Dirichlet或周期sinc函数)rand(白噪声信号波形)square(方波)sinc(sinc或 函数)chirp(chirp信号波形)滤波器的分析:abs(求幅值)angle(求相角)conv(求卷积)freqz(数字滤波器频率响应)impz(数字滤波器的冲击响应)zplane(数字系统零极点图)IIR滤波器设计:butter(巴特沃思数字滤波器)cheby1(切比雪夫I型)cheby2(切比雪夫II型)maxflat(最平滤波器)ellip(椭圆滤波器)yulewalk(递归数
9、字滤波器)bilinear(双线性变换)impinvar(冲激响应不变法)FIR滤波器设计:triang(三角窗)blackman(布莱克曼窗)boxcar(矩形窗)hamming(海明窗)hanning(汉宁窗)kaiser(凯塞窗)fir1(基于窗函数法)fir2(基于频率抽样法)firrcos(上升余弦FIR滤波器设计法)intfilt(内插FIR滤波器设计法)kaiserord(用Kaiser窗设计FIR滤波器的参数估计)各种变换:czt(线性调频Z变换)dct(离散余弦变换)fft(一维快速傅里叶变换)fft2(二维快速傅里叶变换)idct(逆离散余弦变换)ifft(一维逆快速傅里叶
10、变换)ifft2(二维逆快速傅里叶变换)hilbert(Hilbert变换)可以看出MATLAB是一个功能十分强大的系统,是集数值计算、图形管理、程序开发为一体的环境。除此之外,MATLAB还具有很强的功能扩展能力,与它的主系统一起,可以配备各种各样的工具箱,以完成一些特定的任务。用户可以根据自己的工作任务,开发自己的工具箱。在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到MATLAB的应用。 在设计研究单和工业部门,MATLAB被认作进行高效研究、开发的首选软件工具。如美国National Instruments
11、公司信号测量、分析软件LabVIEW,Cadence公司信号和通信分析设计软件SPW等,或者直接建筑在MATLAB之上,或者以MATLAB为主要支撑。第2章 数字滤波器的基本理论2.1数字滤波器概述数字滤波器一词出现在60年代中期。由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。数字滤波器是对数字信号进行滤波处理以得到期望的响应特性的离散时间系统。作为一种电子滤波器,数字滤波器与完全工作在模拟信号域的模拟滤波器不同。数位滤波器工作在数字信号域,它处理的对象是经由采样器件将模拟信号转换而得到的数字信号。数字滤波器的工作方式与模拟滤波器也
12、完全不同:后者完全依靠电阻、电容、晶体管等电子元件组成的物理网络实现滤波功能;而前者是通过数字运算器件对输入的数字信号进行运算和处理,从而实现设计要求的特性。应用数字滤波器处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即12抽样频率点呈镜像对称。为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。数
13、字滤波器有低通、高通、带通、带阻和全通等类型。它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。应用最广的是线性、时不变数字滤波器,以及FIR滤波器。2.2数字滤波器的分类按功能分:低通、高通、带通、带阻、全通滤波器。按实现的网络结构或单位抽样响应分:无限脉冲响应滤波器(IIR滤波器)、有限脉冲响应滤波器(FIR滤波器),其中 FIR数字滤波器网络不存在反馈支路,其单位冲激响应为有限长。yn=h(n)(2-1)IIR数字滤波器网络存在反馈支路,即信号流图中存在环路,其单位冲激响应为无限长。yn= (2-2) 另外,按线性系统它可以被分为线性与非线性,按因果性分因果与非因果等。其中,
14、线性时不变的数字滤波器是最基本的类型;而由于数字系统可以对延时器加以利用,因此可以引入一定程度的非因果性,获得比传统的因果滤波器更灵活强大的特性;相对于IIR滤波器,FIR滤波器有着易于实现和系统绝对稳定的优势,因此得到广泛的应用;对于时变系统滤波器的研究则导致了以卡尔曼滤波为代表的自适应滤波理论2.3 FIR 数字滤波器的数学模型设 N 阶 FIR 数字滤波器的单位采样响应为 hn (n =0,1,.N-1), 则其传递函数可表示为 Hz= (2-3) 则滤波器的频率响应为H(e)= (2-4)设滤波器的理想频率响应为H(e),对其进行等间隔频率采样可得H(e)|=H(k) (2-5)H(k
15、) 被认为所设计滤波器的理想频率响应,公式(2-5)还可写成H(k)= H(e)| (2-6)采用频域均方误差作为设计FIR 数字滤波器的最优化准则,误差值越小表明设计效果越好。以E(e)表示理想频率响应与实际频率响应误差, 即E(e)= H(e)- H (e) (2-7)在所有的抽样点上, 可以得到累积均方误差为E= (2-8)其中,M 为抽样点个数, 公式(6 )可写作:E= (2-9)因此设计最优滤波器的目的就是解空间寻找一组h(n)使得E最小。从滤波器设计的工程角度而言确是应满足设计者设计指标的多约束优化问题,是在理想最优解附近找到满足设计指标的滤波器系数。由于局部极值的无限多特性及优
16、化算法求解的随机性,在高技术指标要求下如不对所求的系数进行约束,就不一定得到设计者需要的滤波器系数,所以滤波器设计的目标函数应为有约束条件。2.4 FIR 数字滤波器的网络结构2.4.1 FIR 滤波器的特点(1)系统的单位冲激响应是有限长的;(2)系统函数在|z|0平面上,只有零点,没有极点,所有极点都在z=0处,滤波器永远是稳定的;(3)结构上主要是非递归结构,但有些结构也包含反馈的递归部分,比如频率采样结构。2.4.2 FIR滤波器实现基本结构在讨论任何一种滤波器时,都要着重分析其系统函数,FIR滤波器的系统函数为:。FIR滤波器实现的基本结构有:1.横截型(卷积型、直接型)a.一般FI
17、R滤波器的横截型(直接型、卷积型)结构:若给定差分方程为:y(n)=。 则可以直接由差分方程得出FIR滤波器结构如下图所示:图2-1 FIR直接型网络结构这就是FIR滤波器的横截型结构,又称直接型或卷积型结构。b.线性相位FIR滤波器的横截型结构 若h(n)呈现对称特性,即此FIR滤波器具有线性相位,则可以简化成横截型结构,下面分情况讨论: N为奇数时线性相位FIR滤波器实现结构如图所示:图2-2 N为奇数时FIR滤波器网络结构N为偶数时线性相位FIR滤波器实现结构如图所示图2-3 N为偶数时FIR滤波器网络结构我们知道IIR滤波器的优点是可利用模拟滤波器设计的结果,缺点是相位是非线性的,若需
18、要线性相位,则要用全通网络进行校正,比较麻烦,而FIR滤波器的优点是可以方便地实现线性相位。2级联型将H(z)分解为若干个实系数一阶或二阶因子相乘:(2-10)其中为二阶基本节。实现结构如下图所示:图2-4 FIR滤波器级联型网络结构该结构图中有2L=M个延迟器,2L+1=M+1个乘法器,2L=M个加法器2L=M个延迟器,2L+1=M+1个乘法器,2L=M个加法器特点:可以分别控制每个子系统的零点。分析H(z)及结构图可以得出级联型的特点:每个基本节控制一对零点,便于控制滤波器的传输零点。H(z)中的系数比直接型多,因而需要的乘法器多,分解的因子越多,需要的乘法器也越多。3.频率取样型 若FI
19、R滤波器的冲激响应为有限长(N点)序列h(n),则有如图所示的关系:图2-5FIR滤波器中频率取样型h(n)和H(K)关系式中H(k)为频域采样值 ,H(z)是h(n)的离散傅里叶变换,H(e)是H(z)的频率响应,是H(e)N等分抽样。因此,对h(n)可以利用DFT得到H(k),然后利用内插公式: (2-11)来表示系统函数,这就为FIR滤波器提供了另外一种结构:频率抽样结构,这种结构由两部分级联而成:分析系统函数其中级联的第一部分为: (2-12)这是一个梳状滤波器,它滤掉了频率 及其各次谐波。级联的第二部分为N个一阶网络并联而成,第k个一阶网络为: (2-13)它在单位圆上有一个极点:
20、这是一个谐振频率的w=2/N无损耗谐振器。这个谐振器的极点正好与梳状滤波器的一个零点(i=k)相抵消,从而使这个频率上的频率响应等于H(k)。这样,N个谐振器的N个极点就和梳状滤波器的N个零点相抵消,从而在N个频率抽样点上的频率响应就分别等于N个H(k)值。有上叙的理论分析基础可以得到FIR滤波器的频率抽样结构。FIR滤波器的频率抽样结构如图所示:图2-6 FIR滤波器的频率抽样结构频率抽样结构的特点是它的系数H(k)就是滤波器在w=2/N处的响应,因此控制滤波器的频率响应很方便。频率抽样结构存在问题的问题是:在有限长情况下,系数量化后极点不能和零点抵消,使FIR系统不稳定。解决方法:在r圆上
21、进行(r1但近似等于1)取样,即用r代替,使极点和相应的零点移到单位圆内。 (2-14)(a)当N为偶数时的频率取样型修正结构如图所示图2-7 N为偶数时的频率取样型修正结构(2-15)(b)当N为奇数时频率抽样型结构如图所示。图2-8 N为奇数时的频率取样型结构(2-16)4.快速卷积结构若FIR滤波器的单位冲激响应h(n)是一个N1点有限长序列,输入x(n)是一个N2点有限长序列,那么输出y(n)是x(n)与h(n)的线性卷积,它是一个LN1+N2-1点的有限长序列。我们知道,将x(n)补上LN2个零值点,将h(n)补上LN1个零值点,然后进行L点圆周卷积,就可以代替原x(n)与h(n)的
22、线性卷积。而圆周卷积可以用DFT和IDFT的方法来计算,这样我们得到FIR滤波器的快速卷积结构:图2-9FIR滤波器快速卷积结构这里DFT和IDFT都将采用快速傅里叶变换算法,当N1和N2足够长时,比直接计算线性卷积要快得多。第3章 FIR 数字滤波器设计方法研究3.1 FIR数字滤波器的设计原理FIR滤波器的系统输入输出差分方程为:yn= 所以FIR滤波器的系统函数为:H(Z)= (3-1)由于FIR滤波器的单位脉冲响应h(n)是一个有限长序列,H (z)是的(N1)次多项式,它在Z平面上有(N1)个零点,同时在原点有(N1)阶重极点。因此,H(z)永远稳定。FIR滤波器设计的任务是选择有限
23、长度的h(n),使传输函数满足一定的幅度特性和线性相位要求。由于FIR滤波器很容易实现严格的线性相位,所以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。FIR滤波器目前常用的设计方法有窗函数法和频率采样法,窗函数法是从时域进行设计,而频率采样法是从频域进行设计。窗函数法由于简单、物理意义清晰,因而得到了较为广泛的应用。窗函数法设计的基本思想是:首先根据技术指标要求,选取合适的阶数 N 和窗函数的类型 w(n),使其幅频特性逼近理想滤波器幅频特性。其次,因为理想滤波器的h(n)是无限长的,所以需要对h(n)进行截断,数学上称这种方法为窗函数法。 H |w|时为,时为0
24、 (3-2)h(n)= (3-3)h(n)= h(n)R(n) (3-4)其中是希望逼近的滤波器的单位脉冲响应,H 是希望逼近的滤波器的幅频特性,h(n)是所设计的滤波器的单位脉冲响应,R(n)是一个矩阵序列,长度为N。在截断的过程中要保证FIR滤波器的稳定性与线性相位的特性。由于截断效应使所设计滤波器的幅频特性存在误差,称之为吉布斯效应。最后,验证所设计的滤波器是否满足要求,若不满足,重新设计。常用的窗函数有矩形窗、三角窗、汉宁窗和凯塞窗等。窗函数的选择一般要满足以下三个条件:(1)具有较低的旁瓣幅度,尤其是第一旁瓣幅度。(2)旁瓣幅度下降速度要快,以利于增加阻带衰减。(3)主瓣宽度要窄,以
25、获得较陡的过渡带。3.2几种常见的窗函数3.2.1矩形窗矩形窗函数的时域形式可以表示为: (3-5)它的频域特性为: (3-6)矩形窗使用最多,习惯上不加窗就是使信号通过了矩形窗。这种窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣,导致变换中带进了高频干扰和泄漏,甚至出现负谱现象。3.2.2汉宁窗函数汉宁窗函数的时域形式可以表示为: (3-7)它的频域特性为: (3-8)其中,为矩形窗函数的幅度频率特性函数。汉宁窗函数的最大旁瓣值比主瓣值低31dB,但是主瓣宽度比矩形窗函数的主瓣宽度增加了1倍,为8/N。汉宁窗主瓣加宽并降低,旁瓣则显著减小,从减小泄漏观点出发,汉宁窗优于矩形窗。但汉宁窗主
26、瓣加宽,相当于分析带宽加宽,频率分辨率下降。3.2.3海明窗函数海明窗函数的时域形式可以表示为: (3-9)它的频域特性为: (3-10)其中,为矩形窗函数的幅度频率特性函数。海明窗函数的最大旁瓣值比主瓣值低41dB,但它和汉宁窗函数的主瓣宽度是一样大的,只是加权系数不同。海明窗加权的系数能使旁瓣达到更小。3.2.4三角窗函数三角窗是最简单的频谱函数为非负的一种窗函数。三角窗函数的时域形式可以表示为:当n为奇数时: (3-11)当n为偶数时: (3-12)它的频域特性为: (3-13) 三角窗函数的主瓣宽度为8/N,比矩形窗函数的主瓣宽度增加了一倍,但是它的旁瓣宽度却小得多。3.2.5 布莱克
27、曼窗 (3-14)增加一个二次谐波余弦分量,可进一步降低旁瓣,但主瓣宽度进一步增加,增加N可减少过渡带。 频谱的幅度函数为: +0.04 (3-15) 3.3各种窗函数的特征下表列出了各种窗函数主瓣和旁瓣的特征:窗函数主瓣频宽第一旁瓣相对主瓣衰减(dB)矩形窗-13汉宁窗-31海明窗-41三角窗-25布莱克曼窗-57表3-1 各窗函数的特征表表中看出不同的窗函数主瓣频宽和第一旁瓣相对主瓣衰减都不一样,不同窗函数在这两方面的特点是不同的,因此应根据具体的问题进行选择。此外,主旁瓣频率宽度还与窗函数长度N有关。增加窗函数长度N将减小窗函数的主瓣宽度,但不能减小旁瓣幅值衰减的相对值(分贝数),这个值
28、是由窗函数决定的。例如:绘制矩形窗函数的幅频响应,窗长度分别为:(1)N=10;(2)N=20; (3)N=50;(4)N=100时的图形如下:图3-1 不同窗函数长度的幅频响应由上图可以看出,随着N的增大,主瓣和旁瓣都变窄,但第一旁瓣相对主瓣的幅值下降分贝数相同,第二旁瓣相对第一旁瓣幅值下降的分贝数也相同。然而,随着N的增大,旁瓣数也增多,减少主瓣宽度和抑制旁瓣是一对矛盾,不可兼得,只能根据不同用途折衷处理。3.4 FIR数字滤波器的频率采样法设希望逼近的滤波器的频响函数用H表示,对H在w=0到2之间等间隔采样N点,得到H:H=H| k=0,1,2,N-1 (3-16)再对H进行N点IDFT
29、,得到h(n):h(n)= n=0,1,2,N-1 (3-17)将h(n)作为设计的FIR滤波器的单位脉冲响应,其系统函数H(z)为H(z)= (3-18)另外根据频率域采样理论,利用频率域采样值恢复原信号Z变换的内插公式 (3-19)X(k)表示X(z)的内插公式,称为内插函数。将z= 带入并进行整理化简,可得X(e)= 称为频域内插公式 (3-20) 利用内插公式 (3-20)可表示为H(z)= (3-21)此式就是直接利用频率采样值H形成滤波器的系统函数,3.5利用窗口设计法设计FIR数字滤波器的过程:1、首先是给定所要求的频率响应函数;2、其次,求单位冲激响应;3、再次,有过渡带宽及阻
30、带最小衰减的要求,查表选定窗函数及N的大小,一般N的大小要通过几次试探而后确定;4、求得所设计的FIR滤波器的单位冲激响应;,n=0,1,,N-1;5、求,检验是否满足设计要求,如不满足,则需要重新设计。用框图表示如下:频率响应函数H单位冲激响应h(n)窗函数类型,N的大小加窗得到结果h(n)=h(n)w(n)=图3-2:用窗函数设计FIR滤波器的步骤第4章 FIR 数字滤波器的设计4.1 设计指标的确定(1)低通滤波器设计指标逼近通带:0,w,通带最大衰减:adB;逼近阻带:w,阻带最小衰减:adB.Remezord调用参数:f=(),m=0,1,rip=其中,f向量省去了起点频率0和终点频
31、率1,分别为通带和阻带波纹幅度(2)高通滤波器设计指标:逼近通带:w,通带最大衰减:adB;逼近阻带:0,w;阻带最小衰减:adB.Remezord调用参数:f=(),m=0,1.rip=(3)带通滤波器设计指标逼近通带:w,w通带最大衰减:adB;逼近阻带:0,w,w,阻带最小衰减:adBRemezord调用参数:f=(),m=0.1.0,rip=,(4)带阻滤波器设计指标逼近通带:w, w;通带最大衰减:adB逼近阻带:0, ww,阻带最小衰减:adB;Remezord调用参数:f=(),m=1,0,1,rip=,4.2 滤波器类型的选择一般主要运用FIR和IIR两种滤波器,现在来分析下各
32、自的优缺点。从性能上来说,IIR滤波器传递函数包括零点和极点两组可调因素,对极点的惟一限制是在单位圆内。因此可用较低的阶数获得高的选择性,所用的存储单元少,计算量小,效率高。但是这个高效率是以相位的非线性为代价的。选择性越好,则相位非线性越严重。FIR滤波器传递函数的极点固定在原点,是不能动的,它只能靠改变零点位置来改变它的性能。所以要达到高的选择性,必须用较高的阶数;对于同样的滤波器设计指标,FIR滤波器所要求的阶数可能比IIR滤波器高5-10倍,结果,成本较高,信号延时也较大;如果按线性相位要求来说,则IIR滤波器就必须加全通网络进行相位校正,同样要大大增加滤波器的阶数和复杂性。而FIR滤
33、波器却可以得到严格的线性相位。 从结构上看,IIR滤波器必须采用递归结构来配置极点,并保证极点位置在单位圆内。由于有限字长效应,运算过程中将对系数进行舍入处理,引起极点的偏移。这种情况有时会造成稳定性问题,甚至产生寄生振荡。相反,FIR滤波器只要采用非递归结构,不论在理论上还是在实际的有限精度运算中都不存在稳定性问题,因此造成的频率特性误差也较小。此外FIR滤波器可以采用快速傅里叶变换算法,在相同阶数的条件下,运算速度可以快得多。 另外,也应看到,IIR滤波器虽然设计简单,但主要是用于设计具有分段常数特性的滤波器,如低通、高通、带通及带阻等,往往脱离不了模拟滤波器的格局。而FIR滤波器则要灵活
34、得多,尤其是他易于适应某些特殊应用,如构成数字微分器或希尔波特变换器等,因而有更大的适应性和广阔的应用领域。 从上面的简单比较可以看到IIR与FIR滤波器各有所长,所以在实际应用时应该从多方面考虑来加以选择。从使用要求上来看,在对相位要求不敏感的场合,如语言通信等,选用IIR较为合适,这样可以充分发挥其经济高效的特点;对于图像信号处理,数据传输等以波形携带信息的系统,则对线性相位要求较高。如果有条件,采用FIR滤波器较好。当然,在实际应用中可能还要考虑更多方面的因素。 不论IIR和FIR,阶数越高,信号延迟越大;同时在IIR滤波器中,阶数越高,系数的精度要求越高,否则很容易造成有限字长的误差使
35、极点移到单位园外。因此在阶数选择上是综合考虑的4.3 滤波器阶数和系数的确定窗函数的长度就是滤波器的阶数,滤波器的系数和窗函数的长度没有必然的关系,它至于滤波器的截止频率、过渡带、阻带内的衰减等有关。4.3.1 kaiserord函数 其调用格式为 n,Wn,beta,ftype=kaiserord(f,a,dev) n,Wn,beta,ftype=kaiserord(f,a,dev,fs) C=kaiserord(f,a,dev,fs,cell)该函数返回值在函数b=fir1(n,Wn,kaiser(n+1,beta),ftype,noscale)中需要使用的阶数n、归一化频带边缘Wn、ka
36、iser窗函数beta、滤波器类型ftype的估计值。所设计的滤波器近似满足由输入参数f、a和dev给定的性能。F为频率向量,a为f定义的各频带的理想频率响应幅值,f的长度是a的2倍减去2(是偶数),第一频带的起始频率为0,最后一个频带截止频率为fs。向量dev的各元素分别是各频带允许的最大偏移量。 而c=kaiserord(f,a,dev,fs,cell)返回的是向量组,用于fir1函数的参数。4.3.2 remezord函数 remezord函数为remez函数选择滤波器阶数,在给定频域中的性能指标后,remezord可产生近似的满足指标的最小阶数。函数调用格式如下:n,fo,ao,w=r
37、emezord(f,a,dev)n,fo,ao,w=remezord(f,a,dev,fs)c=remezord(f,a,dev,fs,cell)该函数能找出近似阶数n、归一化频率边界fo、频带内幅值ao、以及权向量w,使由remez函数构成的滤波器满足参数f、a、dev指定的性能要求。f为频率向量,长度是参数a的2倍减去2(是偶数),而a为f各频带理想频率响应的幅值,向量dev的元素分别是各频带允许的最大偏差。估计函数还包括buttord、cheblord、cheb2ord、ellipord、kaiserord、firpm,它们分别用于各自不同类型的滤波器的阶数估计。第5章 基于Matlab
38、的FIR滤波器设计实例及仿真5.1 FIR高通滤波器的设计及仿真用窗函数设计法,阻带达到最小衰减75dB根据要求,选择布莱克曼窗,窗函数长度为:N=5.98fs/过渡带宽度=5.98*50/12=24.9,可得出需要阶数N=25。根据设计指标:阻带边缘频率10kHz,通带边缘频率22kHz,阻带衰减75dB,采样频率50kHz。可以确定相对应的数字滤波器指标:f1=通带边缘频率-(过渡带宽度)/2=22000-12000/2=16kHz,通带截止频率:1=2f1/fs=0.64,阻带最小衰减:S=75dB。程序代码 clear;close all;n=25;wnz=0.64;window=bl
39、ackman(n);b=fir1(n-1,wnz,high,window);figure;freqz(b,1);%不同频率成分f1=1/30;f2=1.4;T=1;%采样间隔n=0:T:400;%采样间隔T=1:采样频率fs=1/T=1fs=1/T;kf=fs/2;%采样频率的一半.用于设计呼指标归一化x=sin(2*pi*f1*n)+(cos(2*pi*f2*(n-2)/6;%产生输入信号xk=fft(x);%输入信号的频谱分析y=filter(b,1,x);yk=fft(y);figure;subplot(2,1,1);plot(n,abs(xk);subplot(2,1,2);plot(
40、n,abs(yk);仿真结果和分析图5-1 所设计的高通滤波器幅频特性曲线图5-2 所设计的高通滤波器相频特性曲线图5-3滤波前效果图5-4滤波前后效果分析:从MATLAB仿真图和CCS环境下DSP的滤波结果对比,都达到了高通滤波的效果。较为理想。5.2用窗函数法设计一个线性相位FIR低通滤波器用窗函数法设计一个线性相位FIR低通滤波器,并满足性能指标:通带边界频率Wp=0.5*pi,阻带边界频率Ws=0.66*pi,阻带衰减不小于40dB,通带波纹不大3dB。分析:因为阻带衰减不小于40db,选择汉宁窗。程序代码如下:design FIR filter with windowswp =0.5
41、*pi;ws=0.66*pi;wdelta =ws-wp;N= ceil(8*pi/wdelta)if rem(N,2)=0N=N+1;endNw =N;wc =(wp+ws)/2;n =0: N-1;alpha =(N-1)/2;m =n-alpha+0.00001;hd =sin(wc*m)./(pi*m);win =(hanning(Nw);h=hd.*win;b=h;freqz(b,1,512) 图5-5 滤波器的幅度和相位响应特性仿真结果分析:从图中可以看书所设计滤波器的幅度响应符合设计要求,且相位响应满足线性相位5.3 FIR带通滤波器的设计及仿真用窗函数设计FIR带通滤波器,性能
42、指标如下:通带下限截止频率fc1=100HZ,通带上限截止频率fc2=200HZ,采样频率为1000HZ,阶数为81,最小阻带衰减As=-70dB。 分析:从表1可以看出凯泽窗能提供74dB的最小阻带衰减,所以选用凯泽窗进行设计,程序主要部分如下:M=81;fc1=100fc2=200fs=1000wc1=2*pi*fc1/fs;wc2=2*pi*fc2/fs; alpha=(M-1)/2;n=0:1:(M-1)m=n-alpha+eps;hd=sin(wc2*m)-sin(wc1*m)/(pi*m)w_han=(hanning(M);h=hd.*w_hanH,w=freqz(h,1,1000
43、,whole);H=(H(1:501);w=(w(1:501);mag=abs(H);db=20*log10(mag+eps)/max(mag);pha=angle(H);grd=grpdelay(h,1,w);delta_w=2*pi/1000subplot(221);stem(hd);text(-25,0,3,理想冲击响应);grid on;axis(0 M-1 -0.1 0.3);ylabel(hdn);subplot(222);stem(w_han);text(-20,1,汉宁窗);grid on;axis(0 M-1 0 1.1);ylable(wn);subplot(223);stem(h);text(-25,0.3,实际冲击响应);grid on;axis(0 M-1 -0.1 0.3);ylable(hn);subplot(224);plot(w/pi,db);text(-0.3,0,衰减幅度);grid on;axis(0 1 -100 0);ylabel(Hw);程序运行结果如图所示图5-6 凯泽窗设计的FIR带通滤波器的响应程序结果如图5-4所示,滤波器长度为81,最小阻带衰减为-80dB,满足设计要求。如果不考虑最小阻带衰减,也可用另外五个窗函数设计,只需修改程序中的加窗函数即可。矩形窗程序修改如下:w_box=(boxcar(M); h=