《基于Matlab的FIR数字滤波器设计与优化毕业论文(59页).docx》由会员分享,可在线阅读,更多相关《基于Matlab的FIR数字滤波器设计与优化毕业论文(59页).docx(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于Matlab的FIR数字滤波器设计与优化毕业论文-第 75 页 编 号: 审定成绩: 重庆邮电大学毕业设计(论文)设计(论文)题目:基于Matlab的FIR数字滤波器的设计与优化学 院 名 称 :通信与信息工程学院学 生 姓 名 :侯思睿专 业 :通信工程班 级 :0191102学 号 :2011210232指 导 教 师 :刘鸿答辩组 负责人 :明艳填表时间: 2015年 6月重庆邮电大学教务处制摘 要在数字信号处理中,为了滤除信号中的噪声或者其他无效成分,设计出可靠高效的数字滤波器是非常关键的。在数字控制系统中输入信号中所含的干扰对系统的性能会产生很大的影响,因此需要对输入信号进行处
2、理,以提取有用信号。有限长冲激响应(FIR)滤波器在数字信号处理中发挥着重要作用,我们会采用MATLAB软件对FIR数字滤波器进行仿真设计,简化了设计中繁琐的计算。本文采用窗函数法、频率采样法和等波纹逼近法,通过调用MATLAB函数设计FIR数字滤波器。之后用基于MATLAB函数设计的FIR数字滤波器进行语音滤波处理,通过滤波前后信号的频谱图和生成的声音文件的对比,分析不同滤波器的滤波效果。并在最后实现多采样率转换系统的高效实现,与一级FIR数字滤波器做出对比,证明了多级滤波的高效性。【关键词】FIR数字滤波器 窗函数法 频率采样法 等波纹逼近 多采样率转换ABSTRACTIn digital
3、 signal processing, in order to filter out the noise in the signal or other inactive ingredient, it is critical to design a reliable and efficient digital filter. Interference signal contained in the input performance of the system will have a huge impact in the digital control system, so we need to
4、 deal with input signal in order to extract useful signal. FIR filter plays an important role in digital signal processing, we will use the MATLAB to simulate FIR digital filter designed to simplify the design of tedious calculations. In this paper, window function method, frequency sampling method
5、and the equal-ripple approximation method will be used by calling the function of the MATLAB to design FIR digital filter design. After that, by using the FIR digital filters which have been designed to process the sound signal based on the MATLAB function, the filtering effect of different digital
6、filters is analyzed by comparing the signals spectrum viewers and the sound files which have been generated. The experimental results show that the FIR filters designed in this paper are effective. Comparing with common FIR digital filter, we finally realize the efficient implementation of multiple
7、sampling rate conversion system. 【Key words】FIR digital filter window method frequency sampling method equal-ripple approximation multi-sampling rate conversion目 录前 言1第一章 数字滤波器的理论研究2第一节 数字滤波器的基本原理和结构2第二节 IIR与FIR滤波器的比较4第三节 本章小结5第二章 FIR滤波器的设计6第一节 窗函数法设计FIR滤波器6一、窗函数法设计FIR数字滤波器6二、常用的窗函数8第二节 频率采样法设计FIR滤波
8、器11一、频率采样法设计FIR数字滤波器的基本原理11二、频率采样法设计线性相位滤波器的条件11三、逼近误差及其采样措施12四、频率采样法设计FIR滤波器的步骤13第三节 等波纹逼近法设计FIR数字滤波器13一、等波纹最佳逼近的原理14二、利用最佳一致逼近准则设计线性相位FIR数字滤波器14第四节 本章小结16第三章 Matlab实现FIR数字滤波器17第一节 Matlab实现窗函数法设计17一、Matlab实现窗函数法的设计17二、利用窗函数法设计滤波器18第二节 Matlab实现频率采样法设计22第三节 Matlab实现等波纹逼近法设计23一、利用最佳逼近法设计FIR数字带通滤波器24二、
9、FIR滤波器约束最小二乘法设计分析24三、FIR滤波器任意频响设计法设计分析26第四节 语音滤波分析27一、利用等波纹逼近法设计的LPF对加噪声音滤波27二、GUI设计及滤波结果分析28三、频率采样法设计的HPF对语音滤波31第五节 本章小结32第四章 多采样率数字信号处理的研究33第一节 多采样率数字信号处理工程需求33一、按整数因子抽取33二、按整数因子内插35三、按有理因子I/D采样率内插36第二节 多采样率转换滤波器的设计36一、多相滤波器的实现36二、采样率转换系统的多级实现37第三节 用Matlab设计采样率转换滤波器38第四节 本章小结41总 结43致 谢44参考文献45附 录4
10、9一、英文原文:49二、英文翻译:58三、源程序:65前 言随着当今数字化、信息化时代的到来,数字信号处理技术(digital signal processing technology)越来越受到人们的重视,在信息技术和计算机技术迅猛发展的今天,数字信号处理技术已经被广泛应用于语音/图象处理、信号频谱分析、数字通信技术、模式识别等方方面面。数字滤波器是数字信号处理系统中不可或缺的重要部分,其主要功能是按照所预先设定的算法完成信号的滤波,获得所期望得到的信号。数字信号处理是以数值计算的方法,对信号进行采集、滤波、增强、压缩和识别等加工处理,借以达到提取信息和便于应用的目的,其应用范围涉及几乎所有
11、的工程技术领域1 刘令普.数字信号处理M.哈尔滨:哈尔滨工业大学出版社,2002.。数字信号处理中要尽可能的减少不需要的成分,输入的数字信号需要得到处理,从而得到有效信号成分。除了信号滤波的功能,数字滤波器也要兼顾精度、可靠性、集成等性能要求。在数字时代来临之前,信号的处理,分析,包括滤波都采用模拟信号和模拟电路的形式。然而人们在应用过程中发现模拟信号在信息传递过程中,由于信号不可避免的会被噪声污染,模拟信号由于值可以是任意的,在噪声的干扰下很容易失真。所以数字滤波器的兴起不可避免:60年代中期美国科学家库利、图基总结前人的研究成果,经过长期的研究,开始形成了一套完整关于数字滤波器的正规理论,
12、在这一时期各种各样的数字滤波器原理结构和特性被提出,并且出现了各种数字滤波器的逼近方法和实现方法,对递归和非递归两类滤波器作了全面的比较和分析;数字滤波器经历了有限冲激响应(FIR)和无限冲激响应(IIR)关系的认识转化过程2 邓重一. 滤波器的过去、现在与未来J.世界电子元器件.2003,13(4):4849.。库利-图基算法是现今通用的FFT算法,其基本原理将一个常数n的离散傅里叶变换递归地分解为两个常数分别为和的变换,基于分级的思想使n=*,极大的简化了原来的离散傅里叶变换从而以较高的运算效率便于研究高性能的有限冲激响应滤波器。本文中将会利用MATLAB仿真软件设计出满足各种要求的经典数
13、字滤波器,并采用等波纹最佳逼近法设计最佳逼近滤波器。最后采用设计出的滤波器完成语音滤波,分析滤波前后的效果。第一章 数字滤波器的理论研究第一节 数字滤波器的基本原理和结构数字滤波器在信号处理和分析中占有极其重要的地位。在数字控制系统或传输系统中输入信号中所含的干扰对系统的性能会产生很大的影响,因此需要对输入信号进行处理,以提取有用信号。根据冲激响应的不同,数字滤波器可以分为无限响应滤波器(Infinite Impulse Response, IIR)和有限响应滤波器(Finite Impulse Response,FIR);根据功能上的区分,数字滤波器可分为低通滤波器(Low Pass Fil
14、ter,LPF)、高通滤波器(High Pass Filter,HPF)、带通滤波器(Band Pass Filter,BPF)和带阻滤波器(Band Stop Filter,BSF)等。数字滤波器的系统函数可以表示为:(1-1)由此可以得到系统I/O关系的常系数线性差分方程为: (1-2)一、FIR数字滤波器FIR数字滤波器的系统函数H(z)为: (1-3)其中H(z)在z=0处有N-1个极点。设FIR数字滤波器的单位冲激响应h(n)的长度为N,其傅立叶变换为: (1-4) 也可记为: (1-5) 其中是系统的幅频响应;为系统的相频响应。的线性相位是指是的线性函数,即 (为常数) (1-6)
15、 若满足 (为起始相位) (1-7)此时不具有线性相位,但因为群时延是常数,即这种相位也称为线性相位。式(1-6)(1-7)所表示的线性相位分别称为第一类线性相位和第二类线性相位。可以证明(N-1)阶FIR滤波器系统是线性相位的充要条件为 (1-8)因而系统函数可以写成 (1-9)即 (1-10)进一步写成(1-11)上式中,当方括号内的“”取“+”时, h(n)=h(N-1-n),即为偶对称;当方括号内的“”取“-”时,h(n)满足h(n)=-h(N-1-n),奇对称,则分别对应以下表格中四种情况:表1.1 四种线性相位FIR滤波器的特性(仅讨论=的情况)类型情况I情况II情况III情况IV
16、阶数N奇数偶数奇数偶数h(n)的对称性偶对称偶对称奇对称奇对称关于=0的对称性偶对称偶对称奇对称奇对称关于=的对称性偶对称奇对称奇对称偶对称的周期2442(0)取值任意任意00()取值任意00任意第二节 IIR与FIR滤波器的比较(1)由于IIR有着反馈结构,所以相同的技术指标要求下滤波器阶数比FIR数字滤波器少,在硬件结构上意味着较少的寄存器和较小的开销,经济性高;(2)FIR有着严格线性的相位,而IIR滤波器没有,所以IIR滤波器的选择性和其相位的非线性是不可兼得的;(3)FIR滤波器采用非递归结构,不会积累误差,而IIR滤波器的递归结构会导致寄生振荡;(4)由于FIR系统函数有限长,FI
17、R滤波器可以使用快速傅里叶变换算法,而有着无限长系统函数的IIR滤波器不能;(5)IIR滤波器极点位于z平面任意位置,而FIR滤波器极点固定在原点3 张立材.数字信号处理原理、实现及应用M.北京:北京邮电大学大学出版社,2011.3。所以,IIR滤波器常用于对相位要求不高的领域,如声音信号等对相位不敏感的信号,发挥其经济优势;而图像等对相位敏感的信号则须采用FIR线性相位滤波器处理。第三节 本章小结本章对FIR数字滤波器的特点进行了简要介绍,并对它的线性相位条件做出了说明,并将其相位线性条件的四种情况列表分析。FIR滤波器采用非递归结构,不会积累误差,与IIR滤波器的递归结构会导致寄生振荡不同
18、,不会产生极限环4 门爱东,苏菲,王雷等.数字信号处理(第二版)M.北京:科学出版社,2009,9.;而FIR滤波器最优秀的特点是严格线性的相位,不会出现非线性现象。除此之外,FIR滤波器的极点都在Z域的原点上,不会产生稳定性问题。第二章 FIR滤波器的设计第一节 窗函数法设计FIR滤波器由第一章讨论,FIR数字滤波器拥有严格的线性相位,而且由于它的系统函数的极点固定在Z域的原点,所以也拥有稳定的特点。但也基于此,我们若想改变FIR滤波器,只能选择通过改变滤波器的零点位置。高阶也意味着高性能,也同时意味着占用大量的寄存器资源(或者内存资源),这也同时影响着其经济性。本章将介绍有限脉冲响应(FI
19、R)滤波器的设计方法。FIR滤波器的设计方法主要分为两类:一类是基于逼近理想滤波器设计法,包括窗函数法、频率采样法及其优化算法如最小二乘法、升余弦滚降等;另一类是最优设计法。本章将主要介绍第一类设计方法。一、窗函数法设计FIR数字滤波器窗函数设计法的基本思想是通过逼近理想滤波器的特性,以获得高性能的FIR数字滤波器。设是需要逼近的理想滤波器频响, 是时域的单位脉冲响应,由信号与系统知识可知是无限长非因果序列,是物理不可实现的。因此,必须截取有限长的一段因果序列,并用适当的窗函数加权处理才能作为FIR数字滤波器的系统函数h(n)。1.FIR数字滤波器窗函数法设计原理设一个截止频率为的理想低通滤波
20、器,其相频特性=0,该理想LPF的频率响应为(2-1)对应的单位脉冲响应为(2-2)由信号与系统知识可知,显然这是一个非因果序列。很容易想的一种方法是“加窗”,将脉冲响应值很小的采样点截去,这样就为有限长,之后在通过移位操作使序列具有因果性,并用逼近理想滤波器。这就是窗函数法的基本思想。最容易想到的是让这一无限长的序列乘上一个有限长的矩形序列,即 (2-3)(2-4)称为矩形窗函数。理想低通滤波器的单位脉冲响应截断后所得的序列的频率特性自然会发生变化,滤波器形状不再是理想矩形,图2-1给出了M=20和60的因果冲激响应的幅度响应。由图可以看出,加窗后的主要影响是在滤波器通带和阻带上有波动,过渡
21、带变宽。综上所述,必须从降低通带和阻带波动和减小过渡带上考虑,才能使所设计的滤波器逼近理想低通滤波器,选择合乎要求的是关键。此外,保留的采样点越多,滤波器形状越接近理想。图2.1 非理想低通滤波器的幅度响应2.窗函数设计法的性能由公式(2-3)可以看出逼近误差函数的实质就是加窗后产生的影响,其大小与窗函数的形状和长度有关。设窗函数为矩形窗函数=,因为,所以有 (2-5)(2-6)由图2.1可以看出,加矩形窗在频点附近形成过渡带,过渡带宽约等于 的主瓣宽度。另外,加窗还使通带和阻带中都有波动,而其通带和阻带最大波纹的幅度与滤波器的阶数N无关,大约是理想低通滤波器幅度的9%(即Gibbs效应);与
22、此相对应的,窗函数的N与过渡带宽反相关。鉴于上述原因,往往使矩形窗不能达到设计要求,下文中会介绍几种其他常用的窗函数。二、常用的窗函数其他常用的窗函数有Bartlett窗(又叫三角窗),Hanning窗(又叫升余弦窗),Hamming窗(又称改进的升余弦窗),Blackman窗(又称为二阶升余弦窗)和Kaiser窗5 王帅,陈亮等FIR数字滤波器设计中各种窗函数的比较J,科技创新导报 (2009)05(c)-0089-0289-92。1.Bartlett窗 (2-7)(2-8)用Bartlett窗设计的低通滤波器,阻带中最大旁瓣比通带增益低25dB,主要性能参数。2.Hanning窗(2-9)
23、Hanning窗的频谱函数为(2-10)由式(2-10)可见,Hanning窗的频谱由三部分组成:即0.5、0.25和0.25。而这三部分的谐波叠加使能量有效的集中在主瓣内,旁瓣大大降低,其代价是主瓣的宽度大了一倍,Hanning窗 低通滤波器幅度响应的最大旁瓣的阻带比通带增益低44dB。3.Hamming窗 对Hanning窗加以改进得到Hamming窗,它的旁瓣更小,其窗函数为:(2-11)(2-12)由资料可知,Hamming窗可将99.963%的能量集中在窗谱的主瓣内。与Hanning窗相比,主瓣宽度同为,但旁瓣幅度更小,旁瓣峰值比主瓣小41dB。用Hamming窗设计LPF,阻带最大
24、旁瓣比主瓣小55dB。Hamming窗主要参数。4.Blackman窗Blackman窗同前两种窗函数一样属于升余弦窗,是在Hamming窗加上用于抑制旁瓣的二次分量构成的,窗函数为 (2-13) (2-14)其幅度函数有五部分移位不同幅度也不同的函数组成,使它们的旁瓣进一步抑制,阻带衰减进一步增加,过渡带也有所加宽,是矩形窗的三倍。用Blackman窗设计的低通滤波器的旁瓣比通带增益低75dB,主瓣和旁瓣差57dB。Blackman窗主要参数。5.Kaiser-Besel窗上述四种窗函数设计的滤波器的阻带最小衰减是固定的,而Kaiser窗是一种可以调整的窗函数,通过调整其参数可以实现不同阻带
25、衰减和最小主瓣宽度的滤波器。对于给定的指标,Kaiser窗可以使设计的滤波器阶数最低。所以,Kaiser窗是最优的窗函数之一。(2-15)(2-16)式中,。其中(2-17)实际中k取前20项便可满足设计要求。参数可以控制窗的形状。估算和阶数N的公式如下:(2-18)(2-19)主瓣随着增大而加宽,旁瓣幅度也随着其增大而变小。的经典范围49。六种窗函数(包含矩形窗)的基本参数归纳在下表中,以供设计时参考。表2.1 各种窗函数的参数值窗函数旁瓣峰值幅度/dB过渡带宽近似值()过渡带宽精确值()阻带最小衰减/dB矩形窗-1341.8-21巴特雷特窗-2586.1-25汉宁窗-3186.2-44汉明
26、窗-4186.6-53布莱克曼窗-571211-74凯塞窗-571010-80第二节 频率采样法设计FIR滤波器由于滤波器的技术指标一般是在频域给出的,频率采样法更加方便,尤其对于公式比较复杂,不便用公式表示时更是如此。一、频率采样法设计FIR数字滤波器的基本原理该方法的原理是先确定希望逼近的滤波器的频率响应函数,再通过频率采样逼近频率响应函数。在此理想滤波器的频率响应函数用表示,令在区间,对等间隔采样N点,得 (2-20)对N点进行离散傅里叶逆变换,得到为(2-21)其系统函数为(2-22)也可写成 (2-23)该式就是直接利用频率采样值形成滤波器系统函数的公式。用频率采样法设计的低通滤波器
27、的传输函数与理想的传输函数之间存在误差,所以用频率采样法设计FIR滤波器时仍然要考虑线性相位满足条件。二、频率采样法设计线性相位滤波器的条件以第一类线性相位滤波器为例,是实序列,。1.N为奇数 (2-24)2.N为偶数(2-25)式中,是小于等于的最大整数。对于高通和阻带滤波器,N只能取奇数。第二类线性相位问题可按类似方法处理。三、逼近误差及其采样措施1.产生误差的原因用频率采样法逼近目标滤波器,通带和阻带出现波动,过渡带加宽,实际的与理想的相比产生误差。从频域分析,其Z变换和的关系为将代入,得到(2-26)其中(2-27)上式表明,在采样点处没有逼近误差;在两相邻采样点之间,由有限项的之和形
28、成,特性越平滑的区域误差越小,特性曲线间断点处误差越大。2.减小误差的措施减小误差的最直观想法就是增加采样点数N,N越大采样点越紧密。然而,因为是理想矩形,无论怎样增加采样点数,在通带阻带交界处,幅度总是从1瞬间降为0,必然会出现起伏振荡。所以增加采样点数不能改善滤波器的阻带衰减特性。虽然不能通过增加采样点数改善阻带衰减特性,但是可以考虑在不连续的边缘上增加一些过度的采样点,减少畸变,从而改善起伏振荡。增加采样点数可以使阻带衰减明显提高,付出的代价则是过渡带变宽。增加采样点和过渡带宽的关系为(2-28)其中m是增加的采样点数。四、频率采样法设计FIR滤波器的步骤综上所述,频率采样法设计FIR数
29、字滤波器的步骤归纳如下:根据阻带最小衰减选择过渡采样点数m;确定过渡带宽,并根据(2-28)确定采样点数N;根据希望构造的确定和,并且满足线性相位对称要求;按照频率采样定理进行频率采样得到,并加入过渡带;对做离散傅里叶逆变换得到第一类线性相位FIR数字滤波器的单位冲激响应。第三节 等波纹逼近法设计FIR数字滤波器窗函数法和频率采样法有一个共同的缺点,它们的通带和阻带存在幅度波动。以窗函数设计法为例,在接近通带和阻带的边缘,幅度波动最大。显然拉平皱纹的幅度,可以更好地逼近理想滤波器的响应。这样,由于误差在整个频带上均匀分布,对于同样的技术指标,逼近理想响应的滤波器阶数较低;同样的阶数时,这时最大
30、误差最小。这就是等波纹逼近法的思想。一、等波纹最佳逼近的原理在滤波器设计中,通带和阻带的误差性能设计要求是不一样的,为便于统一遵循最大误差最小化原则,要使得不同频带的加权误差最大值相等6 李财莲, 刘春林, 岳振军. 基于小生境遗传算法的约束滤波器优化设计J. 解放军理工大学学报:自然科学版, 2004, 5(2):28-32.。设所要求的滤波器幅度函数为,幅度函数为逼近函数,设逼近误差加权函数为,则加权逼近误差函数为(2-29)由于不同频带不同,所以不同频带中可以不同,通过调整使得各频带加权误差一样。因为滤波器是具有线性相位的FIR滤波器,其单位冲激响应必须满足一定条件。如设计的是,N为奇数
31、时的情况,则由前面所讨论的可得将上式代入(2-29),则有(2-30)其中M=(N-1)/2。最佳一致逼近问题就是选择M+1个,使得最大值最小,即交错点组定理指出式(2-30)存在且唯一,并且:最佳一致逼近的充要条件是在频带上至少呈现个“交错”,使得, ,按照该定理设计出的FIR数字滤波器通带和阻带具有等波动性7 赖晓平. FIR滤波器约束Minimax设计算法J. 系统工程与电子技术, 2002, 24(2):84-88. 7。二、利用最佳一致逼近准则设计线性相位FIR数字滤波器设希望设计的线性相位FIR数字滤波器的系统函数为中,是通带截止频率,为和阻带截止频率。、分别为为通带波纹峰值、阻带
32、波纹峰值,由(2-30)可得(2-31)改写成矩阵形式为(2-32)但由于直接求解(2-30)是困难的,一般通过雷米兹(Remez)算法求解,步骤如下。在频域等间隔取M+2个频率作为交错点组频率的初始值。按照下式计算(2-33)式中(2-34)然后利用拉格朗日插值公式求出(2-35)式中(2-36)(2-37)将求得的代入式(2-30),求得误差函数;对上次确定的中每一个点检查该点附近是否存在,若存在这一频率点,再在该点附近找出局部极值点,并用这个极值点代替原来的点。将M+2个频率点全部检查后,便得到了新的交错点组,求出所说的参数,完成了一次迭代;重复以上步骤,得到收敛的上限,得到最佳一致逼近
33、,在之后由求得。第四节 本章小结本章介绍了有限脉冲响应(FIR)滤波器的设计方法。FIR滤波器的设计方法主要分为两类:一类是基于逼近理想滤波器设计法,包括窗函数法、频率采样法和等波纹逼近采样法;另一类是最优设计法。本章主要介绍第一类设计方法,并对各种方法的原理做出了数学推导,为下一章用Matlab仿真做出了铺垫。第三章 Matlab实现FIR数字滤波器第一节 Matlab实现窗函数法设计在前面讨论中,利用Matlab设计FIR数字滤波器可以采取窗函数法,频率采样法和最佳一致逼近法,通过调用Matlab中的函数和不同的参数可以实现不同要求的FIR数字滤波器。在最后可以通过设计的滤波器对已加噪声的
34、语音信号进行滤波,观察滤波前后时域和频域的图像,确认滤波器的设计是否满足要求。一、Matlab实现窗函数法的设计1. Matlab信号处理工具箱函数提供了14种窗函数产生函数,下面列出第二章所介绍的六种窗函数的产生函数。wn=boxcar(N) 数调用结果wn返回长度为N的矩形窗函数wn=bartlett(N) 数调用结果wn返回长度为N的三角形窗函数wn=hanning(N) 数调用结果wn返回长度为N的Hanning窗函数wn=hamming(N) 数调用结果wn返回长度为N的Hamming窗函数wn=blackman(N) 数调用结果wn返回长度为N的Blackman窗函数wn=kais
35、er(N) 数调用结果wn返回长度为N的Kaiser窗函数2.Matlab窗函数法设计FIR数字滤波器的设计函数是fir1,可以实现线性相位理想低通、高通、带通和带阻滤波器,常用的调用格式如下。调用格式hn=fir1(M,wc):返回6dB截至频率为wc的M阶(N=M+1,N为hn的长度)FIR的低通滤波器系数向量hn。hn满足线性相位条件h(n)=h(N-1-n),与向量hn的关系是h(n)=hn(n+1),n=0,1,2,M。wc的单位是对归一化的数字频率,0。当wc=wcl,wcu时,得到-6dB通带为的带通滤波器。调用格式 hn = fir(M,wc,filtertype),当filt
36、ertype为high时,所设计即为高通滤波器;而其为stop时,即为带阻滤波器,wc=wcl,wcu。根据表1.1,此时M=2N,若此时输入为奇数,fir1会自动加1,确保M为偶数。fir1默认的窗函数是Hamming窗,下面列举几个不是默认而是指定的窗函数调用格式。hn=fir1(M,wc,bartlett(M+1) %指定Bartlett窗为设计滤波器的窗函数。hn=fir1(M,wc,high,blackman(M+1) %指定Bartlett窗为设计滤波器的窗函数。3.当用户用fir2函数设计FIR滤波器时,实际上该函数采取的是一种基于频率采样法和窗函数法综合而成的方法,主要用于设计
37、幅频响应特殊的滤波器,可以按照需求任意指定滤波器的形状,比如经常用于设计数字微分器和多带通数字滤波器等。二、利用窗函数法设计滤波器1.利用Hamming设计低通滤波器设计要求:使用Hamming窗,采样频率2000Hz;通带截频0.1,阻带截频0.17,通带衰减小于等于0.1dB,阻带衰减大于等于50 dB。Matlab代码在附录三的3.1中,这里将运行结果附图3.1、3.2、3.3:图3.1 滤波器增益响应图3.2 滤波前频域响应图3.3 滤波后频域响应由参考程序可得,滤波器的fs 为2000Hz,N为266,通带衰减为0.019dB,阻带衰减为53dB,满足设计要求。由图3.2可以明显看出
38、,信号是两个频率的正弦信号的复合信号。对比图3.3可以发现,原信号在窗函数通带内的分量得以保存,而另一频率则被滤除掉了。2.利用Kaiser窗设计多带通滤波器设计要求:使用Kaiser窗,采样频率200Hz;通带截频0.2、0.4、0.7、0.8,阻带截频0.1、0.5、0.6、0.9;阻带衰减大于等于30dB,通带和阻带波纹0.01dB。Matlab程序在附录三的3.2中,这里将运行结果如图3.4、3.5、3.6所示。图3.4 多带通滤波器增益响应图3.5 信号滤波前的时域和频域波形图3.6 信号滤波后的时域和频域波形第二节 Matlab实现频率采样法设计频率采样法是从频率角度进行处理,对等
39、间隔采样,然后以此作为实际FIR数字滤波器的频率特性的采样值H(k),再利用拉格朗日内插公式得到FIR数字滤波器的以及。一、利用频率采样法设计FIR数字滤波器设计要求:用频率采样法设计一个线性相位FIR数字滤波器,要逼近的理想低通滤波器通带截止频率wc=/4,过渡带宽B=/8,阻带最小衰减为45dB。已知所以。Matlab程序在附录三的3.3中,运行结果如图3.7所示。图3.7 频率采样法设计LPF从参考程序及图3.7可以得到所设计出滤波器的参数:滤波器的阶数为65,滤波器的通带截频/4,过渡带宽为/16,满足设计要求。第三节 Matlab实现等波纹逼近法设计窗函数法和频率采样法有一个共同的缺
40、点,它们的通带和阻带存在幅度波动。以窗函数设计法为例,在接近通带和阻带的边缘,幅度波动最大。假设拉平皱纹的幅度,可以更好地逼近理想滤波器的响应,这样,由于误差在整个频带上均匀分布,对于同样的技术指标,逼近理想响应的滤波器阶数较低;同样的阶数时,这时最大误差最小,这就是等波纹逼近法的思想8 陶国彬, 张秀艳, 任玉霞. FIR滤波器的等波纹最优化设计J. 东北石油大学学报, 2007, 31(6):105-107.8。函数remezord是Matlab波纹逼近法设计滤波器的函数,调用help命令可知其功能是基于Remez交迭算法得到等波纹最佳逼近FIR数字滤波器的最低阶数M,逼近误差加权向量w和
41、归一化边界频率向量f,并使满足要求的滤波器成本最低。其调用格式为M,fo,mo,w=remezord(f,m,rip,Fs)其中调用参数f必须是以0开始,以Fs/2(对应归一化频率1)结束的模拟频率或归一化数字频率,并以省略了0和Fs/2两个频率点。Fs是采样频率,缺省值FS=2Hz,此时f必须是归一化频率。因为m中的每个元素表示f给定的一个逼近频段上希望逼近的幅度值,所以f的长度是m的两倍。f和m描述的各逼近频段允许的波纹振幅(幅频响应最大偏差)用rip表示,f的长度是rip的两倍。而remez函数的功能是实现线性相位FIR数字滤波器的等波纹最佳逼近设计。其调用格式为hn=remez(M,f
42、o,mo,w)remez函数返回单位脉冲响应向量hn。其中M为FIR数字滤波器的阶数,hn的长度N=M+1。fo和mo为希望逼近的幅度特性,fo为单调增的边界频率向量,从0开始,到Fs/2结束;mo为与f对应的幅度向量,m(k)表示频率点fo(k)的幅频响应值。W是误差加权向量,其长度为f的一半。W(i)表示对mo中的第i个逼近频段幅度逼近精度的加权值。一、利用最佳逼近法设计FIR数字带通滤波器现在用remez函数设计一个FIR带通滤波器,要求通带最大衰减,阻带最小衰减,阻带下截止频率通带下截止频率通带上截止频率阻带上截止频率。调用remez函数和remezord函数求解程序见附录3.4,运行
43、程序,得到滤波器阶数N=28,修正为N=30。滤波器单位脉冲响应h(n)的波形如下所示。为了得到同样效果的滤波器,用Kaiser窗函数()要多其一倍的阶数。同时在图中可以看出,阻带衰减得到拉平,更好的逼近了理想滤波器的响应,这都体现出了等波纹逼近法的优点。图3.8 等波纹法设计的FIR低通滤波器的单位脉冲响应、频谱响应和相位响应二、FIR滤波器约束最小二乘法设计分析基于最小方差原则的约束最小二乘法(Contained Least Square,CLS)是一种数据处理方法9 孙颖, 刘清, 杨涛. FIR滤波器的约束最小二乘法设计J. 南京师范大学学报:工程技术版, 2007, 7(1):18-
44、21. 9,其设计可以不用明确过渡带的幅值响应,只需要指定截止频率,通带的边缘频率和阻带的边缘频率。它是用方差最小来缓慢跟踪数据,但会导致最终估计的状态有所误差。目前是常见算法中的最优算法。总的来说约束最小二乘法也就是在给定滤波器幅频响应最大允许波纹阈值约束条件下,使滤波器在整个幅频范围内误差平方最小化10 杜林. 基于MATLAB的约束最小二乘法FIR数字滤波器设计J. 电脑编程技巧与维护, 2008, (11):74-75. 。firls函数,可以实现此滤波器的设计。其调用格式为b=firls(n,f,m)。现利用firls函数设计一带通滤波器,通带为0.13,0.17和0.27,0.29,Fs=1000Hz,对信号进行滤波,滤波结果如图3.9所示,程序见附录3.5。图3.9 最小二乘法设计多带通滤波器经过最小二乘法设计的多带通滤波器滤波后,处于通带外的频率衰减保留了我们