《基于Matlab的数字滤波器设计(21页).doc》由会员分享,可在线阅读,更多相关《基于Matlab的数字滤波器设计(21页).doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于Matlab的数字滤波器设计-第 20 页第一章 绪论1.1引言随着信息时代与数字技术的发展,数字信号处理己逐渐发展成为当今极其重要的学科与技术领域之一。数字信号处理在通信、语音、图像、自动控制雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理的基本方法中,通常会涉及到变换、滤波、频谱分析、调制解调和编码解码等处理。其中,滤波是应用非常广泛的一个环节,数字滤波器的相关理论也一直都是人们研究的重点之一。数字滤波器是数字信号处理的重要基础,在对信号的滤波、检测及参数的估计等信号应用中,数字滤波器是使用最为广泛的一种线性系统。数字滤波器根据其单位冲击响应函数的时域特
2、性可分为两类:无限冲击响应(IIR)数字滤波器和有限冲击响应(FIR)数字滤波器。与IIR数字滤波器相比,FIR数字滤波器的实现是非递归的,稳定性好,精度高;更重要的是FIR数字滤波器在满足幅度响应要求的同时,可以获得严格的线性相位。因此,它在高保真的信号处理中,如数字音频、图像处理、数据传输和生物医学等领域得到广泛应用。1.2数字滤波器的研究背景与意义滤波在通信、图像编码、语音编码、雷达等许多领域中有着十分广泛的应用。目前,数字信号滤波器的设计在图像处理、数据压缩等方面的应用取得了令人瞩目的进展和成就。它是数字信号处理理论的一部分。数字信号处理主要是研究用数字或符号的序列来表示信号波形,并用
3、数字的方式去处理这些序列,以便估计信号的特征参量,或削弱信号中的多余分量和增强信号中的有用分量。具体来说,凡是用数字方式对信号进行滤波、变换、调制、解调、均衡、增强、压缩、固定、识别、产生等加工处理,都可纳入数字信号处理领域。数字信号处理学科的一项重大进展是关于数字滤波器设计方法的研究。关于数字滤波器,50年代已有人讨论过数字滤波器,但直到60年代中期,才开始形成关于数字滤波器的一整套完整的正规理论。在这一时期,提出了各种各样的数字滤波器结构,有的以运算误差最小为特点,有的则以运算速度高见长,而有的则二者兼而有之。出现了数字滤波器的各种实现方法,对递归和非递归两类滤波器作了全面的比较,统一了数
4、字滤波器的基本概念和理论。数字滤波器与模拟滤波器相比,具有精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配以及能实现模拟滤波器无法进行的特殊滤波等优点。1.3 Matlab软件介绍MATLAB 是美国 Math Works 公司推出的一套用于工程计算的可视化高性能语言与软件环境。MATLAB为数字滤波的研究和应用提供了一个直观、高效、便捷的利器。它以矩阵运算为基础,把计算、可视化、程序设计融合到了一个交互式的工作环境中。MATLAB 推出的工具箱使各个领域的研究人员可以直观方便地进行科学研究、工程应用,其中的信号处理(signal processing)、图像处理 (image proces
5、sing)、小波(wavelet)等工具箱为数字滤波研究的蓬勃发展提供了有力的工具。其特点归纳如下:1、简单易学:MATLAB不仅是一个开发软件,也是一门编程语言。其语法规则与结构化高级编程语言(如 C 语言等)大同小异,而且使用更为简便。2、计算功能强大:MATLAB 拥有庞大的数学、统计及工程函数,可使用户立刻实现所需的强大数学计算功能。由各领域的专家学者们开发的数值计算程序,使用了安全、成熟、可靠的算法,从而保证了最快的运算速度和可靠的结果。此外,MATLAB 还有数十个工具箱,可解决应用中的大多数数学、工程问题。3、先进的可视化工具:MATLAB 提供功能强大的、交互式的二维和三维绘图
6、功能,可使用户创建富有表现力的彩色图形。可视化工具包括曲面渲染、线框图、伪彩图、光源、图像显示、动画等。 4、开放性、可扩展性强:M 文件是可见的MATLAB 程序,所以用户可以查看源代码。开放的系统设计使用户能够检查算法的正确性,修改已存在的函数,或者加入自己的新部件。5、特殊应用工具箱:MATLAB的工具箱加强了对工程及科学中特殊应用的支持。工具箱也和MATLAB一样是完全用户化的,可扩展性强。将某个或几个工具箱与MATLAB联合使用,可以得到一个功能强大的计算组合包,满足用户的特殊要求。MATLAB数字信号处理工具箱和滤波器设计工具箱专门应用于信号处理领域。工具箱提供了丰富而简便的设计,
7、使原来繁琐的程序设计简化成函数的调用。只要以正确的指标参数调用相应的滤波器设计程序或工具箱函数,便可以得到正确的设计结果,使用非常方便。1.4 Matlab软件的国内外发展状况MATLAB软件发展状况: MATLAB是美国 MathWorks公司自20世纪80年代中期推出的数学软件,它优秀的数值计算能力和卓越的数据可视化能力使其很快在数学软件中脱颖而出。到目前为止,其最高版本R2011b版已经推出。随着版本的不断升级,它在数值计算及符号计算功能上得到了进一步完善。MATLAB已经发展成为多学科、多种工作平台的功能强大的大型软件。在欧美等高校,MATLAB已经成为线性代数、自动控制理论、概率论及
8、数理统计、 数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具,是攻读学位的大学生、硕士生、博士生必须掌握的基本技能。MATLAB的主要特点是:有高性能数值计算的高级算法,特别适合矩阵代数领域;有大量事先定义的数学函数,并且有很强的用户自定义函数的能力;有强大的绘图功能以及具有教育、科学和艺术学的图解和可视化的二维、三维图;基于HTML的完整的帮助功能;适合个人应用的强有力的面向矩阵(向量)的高级程序设计语言;与其它语言编写的程序结合和输入输出格式化数据的能力;有在多个应用领域解决难题的工具箱。MATLAB作为一个数值运算软件和仿真工具正在越来越多的领域中得到不同程度的应用。其主
9、要应用领域包括:工程运算、控制系统设计、DSP 系统和通讯系统设计、测量与测试、图形处理、金融建模与分析应用等。 1.5论文的结构安排论文各章的内容安排如下:第一章概括数字滤波器的意义,Matlab仿真软件的概况及其在数字滤波器领域内的研究现状和今后的研究趋势,并简介本论文的主要研究内容。第二章主要介绍了数字滤波器的概念、分类以及特点。第三章详细介绍了窗函数法和频率采样法设计数字滤波器,以及两个方法的比较。第四章介绍了基于MATLAB的数字滤波器仿真实现。第二章 数字滤波器2.1数字滤波器的概念所谓数字滤波器,是指输入输出均为数字信号,通过一定的运算关系,改变输入信号中所含频率成分的相对比例,
10、或则滤除某些频率成分的器件。数字滤波器具有稳定性高,精度高,灵活性大等突出优点,对于数字滤波器而言,若系统函数为H(z),其冲脉响应为h(n),输入时间序列为x(n),则他们在时频内的关系式如下: (2-1)在Z域内,输入和输出存在如下关系: (2-2)式中,X(z),Y(z)分别为x(n)和y(n)的Z变换。在频域内,输入和输出则存在后述关系式:;式中,是数字滤波器的频率特性,分别为x(n)和y(n)的频谱,而为数字角频率。2.2数字滤波器的分类数字滤波器可以有很多种分类方法,但总体上可分为两大类。一类称为经典滤波器,即一般的滤波器,其特点是输入信号中的有用成分和希望滤除的成分占用不同的频带
11、,通过合适的选频滤波器可以实现滤波。例如,若输入信号中有干扰,信号和干扰的频带互不重叠,则可滤出信号中的干扰得到纯信号。但是,如果输入信号中信号和干扰的频带相互重叠,则干扰就不能被有效的滤除。另一类称为现代滤波器,如维纳滤波器、卡尔曼滤波器等,其输入信号中有用信号和希望滤除的频带成分重叠。对于经典滤波器,从频域上也可以分为低通、高通、带通和带阻滤波器。从时域特性上看,数字滤波器还可以分为有限脉冲响应(FIR,finite impulse response)数字滤波器和无限脉冲响应(IIR, infinite impulse response)数字滤波器。对于有限脉冲响应(FIR)数字滤波器,其
12、输出y(n)只取决于有限个过去和现在的输入,x(n),x(n-1),x(n-m),滤波器的输入输出关系可表示为 (2-3)对于无限脉冲响应(IIR)数字滤波器,它的输出不仅取决于过去和现在的输入,而且还取决于过去的输出,其差分方程为 (2-4)该差分方程的单位冲激响应是无限延续的。2.3数字滤波器的设计原理数字滤波器根据其脉冲响应的时域特性,可分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。IIR滤波器的特征是,具有无限持续时间冲激响应。这种滤波器一般需要用递归模型来实现。因而有时也称之为递归滤波器;FIR滤波器的冲激响应只能延续一定时间,在工程实际中可以采用递归的
13、方法实现,也可以采用非递归的方式实现。数字滤波器的设计方法有很多,如双线性变换法,窗函数设计法,插值逼近法和Chebyshev逼近法等等。随着MATLAB软件尤其是MATLAB的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计到达最优化。数字滤波器设计的基本步骤如下:(1)确定指标在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常常被用来实现选频操作。因此,指标的形式一般在频域中给出幅度和相位响应。幅度指标主要以两种方式给出。第一种是绝对指标,它提供对幅度函数的要求,一般应用于FIR滤波器的设计。第二种指标是相
14、对指标。它以分贝值的形式给出要求。在工程实际中,这种指标最受欢迎。对于相位响应指标形式,通常希望系统在通频带中具有线性相位。(2)逼近 确定了技术指标后,就可以建立一个目标的数字滤波器模型。通常采用理想的数字滤波器模型。之后,利用数字滤波器的设计方法,设计出一个实际滤波器模型来逼近给定的目标。(3)性能分析和计算机仿真 上两步的结果是得到以差分或系统函数或冲激响应描述的滤波器。根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波器结果来判断。2.4数字滤波器的性能指标设数字滤波器的传输函数用下式表示: (2-5)式中,H(e
15、)为幅频特性,为相频特性。幅频特性表示信号通过滤波器后各频率成分的衰减情况,相频特性则反映各频率成分通过滤波器后在时间上的延时情况。通常,选频滤波器的指标要求都以幅频特性给出,对相频特性不作要求,如果需要对输出波形有严格要求,如语音合成、波形传输等,则要求设计线性相位数字滤波器。数字滤波器的参数指标是、和。和分别称为通带截止频率和阻带截止频率。通带和阻带内允许的衰减一般用分贝数表示,通带内允许的最大衰减用表示,阻带内允许的最小衰减用表示,和分别定义为: dB (2-6) dB (2-7)式中均假定已被归一化为1。2.5数字滤波器的基本结构作为线性时不变系统的数字滤波器可以用系统函数来表示,而实
16、现一个系统函数表达式所表示的系统可以用两种方法:一种方法是采用计算机软件实现;另一种方法是用加法器,乘法器和延迟器等元件设计出专用的数字硬件系统,即硬件实现。不论软件实现好事硬件实现,在滤波器设计过程中,由同一系统函数可以过程很多不同的运算结构。对于无限精度的系数和变量,不同结构可能是等效的,与其输入和输出特性无关;但是在系数和变量精度是有限的情况下,不同运算结构的性能就又很大的差异。因此,有必要对离散时间系统的结构有一基本认识。2.5.1 FIR滤波器的基本结构FIR滤波器的基本结构有以下几种:直接型、级联型、线性相位型、频率采样型。1.直接型:设FIR滤波器的单位冲击响应h(n)为一个长度
17、为N的序列,则滤波器系统函数为: (2-8)表示这一系统输入输出关系的差分方程为 (2-9)直接由差分方程可得出对应的网络结构如图2-1所示:图2-1 FIR滤波器的直接型结构直接型结构的优点:简单直观,乘法运算量较少。缺点:调整零点较难。2级联型当需要控制滤波器的传输零点时,可将H(z)分解为实系数二阶因子的乘积形式: (2-10) 式中,为的变换,为实数。级联型结构如图2-2所示:图2-2 FIR滤波器的级联型结构该结构的优点:调整零点比直接型方便。缺点:中的系数比直接型多,因而需要的乘法器多。当的阶次高时,也不易分解。3.线性相位型结构FIR滤波器的线性相位结构有偶对称和奇对称,不论为偶
18、对称还是奇对称都有:当N为偶数时,系统函数为: (2-11)当N为奇数时,系统函数为: (2-12)对这两种情况,都可以用FIR直接型实现,这种结构在本质上是直接型,但乘法次数比直接型省了一半。其信号流图如图2-3所示。(a) N为偶数(b) N为奇数图2-3 线性相位型结构2.5.2 IIR滤波器的基本结构IIR滤波器常用的典型结构有直接II型、级联型和并联型,分别介绍如下:1.直接II型(也称为正准型结构)IIR滤波器的传输函数为 (2-13)其中已假设(2-11)式中的,对于其它情况,则可令相应的某些系数为零。令,则有; (2-14)由此可以得到相应的时域中激励与响应之间的关系为: (2
19、-15)直接II型结构具有简单直观的典型网络结构形式,在计算机上很容易实现。但是它对系数的量值变化比较敏感,直接确定了系统零、极点的位置,从而影响到系统的性能。尤其当阶数N较高时,系统对系数的字长效应很敏感,产生的误差也较大。图2-4 IIR滤波器的直接型结构2.级联型结构由于当直接II型结构传输函数阶数增加时,系数量化引起的误差影响到滤波器的性能,因此要采用其它形式的结构。 (2-16)级联型结构的特点是对滤波器性能的调整比较方便,调整系数,只单独涉及到第k级零、极点,而不会影响到其它任一级的零、极点,因而可以独立地控制滤波器的各零、极点的分布。图2-5 IIR滤波器的级联型结构3.并联型结
20、构这种结构将传输函数展开为部分分式,即表示为若干一阶和二阶基本节网络与一个常数之和。 (2-17)其中,同样也可以统一表示为二阶基本节的形式。 (2-18)并联型结构信号流如图2-6所示,其中二阶基本节网络可以用直接II型结构实现,程序设计也可参考直接型II结构的方法。并联型结构也可以单独调整极点位置,但却不能像级联型结构那样直接控制零点的分布。因为并联型结构各二阶基本节网络的零点并不是整个系统函数的零点。图2-6 并联型结构 2.5 FIR滤波器和IIR滤波器的分析比较为了能在实际工作中恰当地选用合适的滤波器,现将两种滤波器特点比较分析如下:(1)选择数字滤波器是必须考虑的经济问题,通常将硬
21、件的复杂性,芯片的面积或计算速度等作为衡量经济问题的因素。在相同的技术指标要求下,由于IIR数字滤波器存在输入输出的反馈,因此可以用较少的阶数来满足要求,所用的存储单元少,运算次数少,较为经济。(2)在很多情况下,FIR数字滤波器的线性相位与它的高阶数带来的额外成本相比是非常值得的。对于IIR滤波器,选择性越好,其相位的非线性越严重。如果要是IIR滤波器获得线性相位,又满足幅度滤波器的技术要求,必须加全通网络进行相位校正,这同样将大大增加滤波器的阶数。就这一点来看,FIR滤波器优于IIR滤波器。(3)FIR滤波器主要采用非递归结构,因而无论是理论上还是实际的有限精度运算中它都是稳定的,有限精度
22、运算误差也较小。IIR滤波器必须采用递归结构,极点必须在Z平面单位圆内才稳定。对于这种结构,运算中的舍入处理有时会引起寄生振荡。(4)对于FIR滤波器,由于脉冲响应是有限长的,因此可以用快速傅里叶变换算法,这样运算速度可以快得多。IIR滤波器不能进行这样的运算。(5)从设计上看,IIR滤波器可以利用模拟滤波器设计的现成的闭合公式,数据和表格,可以用完整的设计公式来设计各种选频滤波器。FIR滤波器则一般没有现成的设计公式。窗函数法只能给出了窗函数的计算公式,但计算通常和阻带衰减仍无显式表达式。一般FIR滤波器实际仅有计算机程序利用,因而要借助计算机。(6)IIR滤波器主要是设计规格化,频率特性为
23、分段常数的标准低通,高通,带通和带阻滤波器。FIR滤波器则灵活很多,例如:频率采样法可适应各种幅度特性和相位特性的要求,因此FIR滤波器可设计出理想正交变换器,理想微分器,线性调频器等各种网络,适应性很广,而且,目前已经有很多FIR滤波器的计算机程序可供使用。表2-1 两种滤波器特点比较分析FIR滤波器IIR滤波器设计方法一般无解析的设计公式,要借助计算机程序完成利用AF的成果,可简单,有效地完成设计设计结果可得到幅频特性和线性相位(最大优点)只能得到幅频特性,相频特性未知,如有需要线性相位,需用全通网络校准,但增加滤波器阶数和复杂性稳定性极点全部在原点,永远稳定有稳定性问题阶数高低运算误差非
24、递归系统递归系统结构一般无反馈,运算误差小又反馈,由于运算中的四舍五入会产生极限环第三章 FIR数字滤波器的设计设计FIR数字滤波器的方法通常有三种:窗函数法,频率采样法,还有simulink仿真法。下面我们分别讨论着三种设计方法。3.1窗函数法设计FIR滤波器窗函数设计法以理想数字滤波器的设计为基础,从时域单位脉冲响应h(n)出发设计数字滤波器。应用窗函数法可以设计经典低通,高通,带通,带阻滤波器。3.1.1 窗函数法的设计思路如果我们设所要设计的FIR滤波器的传输函数是(e),(n)是与其对应的单位脉冲响应,因此 (3-1) (3-2)根据公式3-1,3-2可知,只要我们可以得出,那么经过
25、Z变换可得到滤波器的系统函数。一般来说数字滤波是通过离散时间系统来实现的,一个离散时间系统可以用差分方程来描述,也可以用系统的函数来描述,即 (3-3)将Z变换运用到3-3式中,两边得 (3-4)则系统函数就是两个多项式系数之比,即 (3-5)我们知道有限长序列的z变换应在整个有限z平面|z|0上收敛,因此对于FIR系统,不能在有限z平面上有极点,也即在以上表达式中,如果分子,分母都没有公共可约的因子,那么全部系数必须为0,即 (3-6)当时,z变换与DTFT变换相等,也就是说,采样序列单位圆上的z变换就是等于该采样序列的DTFT。即 (3-7)把3-7式傅里叶逆变换,并且把等效换成,即 (3
26、-8)窗函数法就是用被称为窗函数的有限加权序列w(n)来修正式(3-8)的傅里叶基数以求得要求的有限脉冲响应序列,即 (3-9)w(n)是有限长序列,当nN-1时,w(n)=0。转换过程如下:通过频域卷积过程看的幅度函数H(w)的起伏现象,可知,加窗处理后,对理想矩形的频率响应产生以下几点影响:(1) 使理想频率特性不连续点外边沿加宽,形成一个过渡带,其宽度等于窗的频率响应的主瓣宽度。(2) 在截止频率的两边即过渡带的两边,出现最大的肩峰值,肩峰的两侧形成起伏震荡,其震荡幅度取决于旁瓣的相对幅度,而震荡的多少,取决于旁瓣的多少。(3) 改变N,只能改变窗谱的主瓣宽度,改变W的坐标比例以及其绝对
27、值的大小,但不能改变主瓣与旁瓣的相对比例。(4) 对窗函数的要求:a. 窗谱主瓣尽量窄,以获取较陡的过渡带;b. 尽量减少窗谱的最大旁瓣的相对幅度;旁瓣相对值尽可能小,以使得通带波纹小,并且阻带衰减大。3.1.2几种常用的窗函数的介绍1.矩形窗(Rectangle Window) (3-10)其频率函数为: (3-11)2.三角形窗(Bartlett Window) (3-12)其频率函数为: (3-13)3.汉宁(Hanning)窗,又称升余弦窗 (3-14)利用傅里叶变换得到频率函数为: (3-15)当时,所以窗函数的幅度函数为 (3-16)4.汉明(Hamming)窗,又称改进的升余弦窗
28、 (3-17)其幅度函数为: (3-18)5.布莱克曼(Blankman)窗,又称二阶升余弦窗 (3-19)其幅度函数为: (3-20)6.凯塞(Kaiser)窗 (3-21)其中:是一个可自由选择的参数,I0( x)是第一类修正零阶贝塞尔函数。一般取49,当=5.44 接近汉明;当=8.5 接近布莱克曼;当=0 为矩形3.1.3几种窗函数的比较 图3-1 各种窗函数的幅频特性可见,矩形窗设计的过渡带最窄,但阻带最小衰减也最差,仅 -21dB;布莱克曼窗设计的阻带最小衰减最好,达 -74dB,但过渡带最宽,约为矩形窗设计的三倍。几种窗口函数的具体性能比较见下表。表3-1 窗函数的性能比较窗函数
29、旁瓣峰值幅度/db过渡带宽阻带最小衰减/db矩形窗-134/N-21三角形窗-268/N-25汉宁窗-318/N-44汉明窗-408/N-53布莱克曼窗-5712/N-74凯泽窗-5710/N-803.1.4窗函数法设计滤波器的步骤1)根据技术要求确定待求滤波器的单位取样响应。2)根据对过渡带和阻带衰减的要求,选择窗函数的形式,并估计窗口长度N。3)计算滤波器的单位取样响应h(n): (3-21)式中,是前面所选择好的窗函数。4)检验技术指标是否满足要求。根据下式计算: (3-22)如果不满足要求,根据具体情况重复步骤(2)(3)(4)步,直到满足要求为止。3.1.5在计算中窗函数的选择可以根
30、据数字滤波器的最大阻带衰减要求选择窗函数数的类型。由下表所知,阻带衰减仅与窗函数类型相关。加窗长度由过渡带的宽度决定。根据下表得知,选择N时必须保证小于实际滤波器的过渡带宽度。选择窗函数类型必须保证。表3-2 加窗频谱参数与窗函数的关系 名称窗函数通带/阻带纹波通带/阻带峰值间隔最大旁瓣衰减过渡带宽度矩形窗0.08972-21.70.92汉宁窗0.00634-443.21海明窗0.00224-533.47布莱克曼窗6-75.35.71下面举例说明一下在计算中如何选择窗函数:例1:试设计一个数字滤波器半带低通滤波器,要求通带边界频率8kHz,通带最大衰减1dB,阻带边界频率16kHz,阻带最小衰
31、减50dB,试选出所用的窗函数和窗函数的长度。解:(1)采样频率的确定半带数字滤波器要求截止频率,由于由可知采样频率应等于48kHz。(2)窗函数类型和参数的选择根据3.1.5中阻带衰减的要求,参照表3-2,可选择海明窗,布莱克曼窗或者参数可调的凯泽窗。如果选择海明窗,由表3-2可知窗函数长度必须满足代入参数,得N=21。3.1.6窗函数的使用场合随着信号分析技术的改进和提高,窗函数的应用也有很大的发展。在信号处理分析和分析的过程中,需要考虑信号中的信息量的分析,增强信号中所需要的信息部分,抑制信号中不需要的信息部分,以人们感兴趣的有效信息与窗函数作用后的综合效果为依据来选用窗函数,使得处理结
32、果又足够的频谱检测能力和频谱幅值估计精度。窗函数的选择需根据信号的性质和研究目的,如对于频率分辨率要求高,对于谱估计幅值精度要求高的信号,处理时可以选择矩形窗。3.2 频率采样法设计数字滤波器窗函数设计法理想数字滤波器为基础,从时域单位脉冲响应h(n)出发设计滤波器,设计过程简单,但不能设计具有频率响应特性的数字滤波器。频率采样法直接从频域出发,可方便设计具有任意频率响应的数字滤波器。3.2.1频率采样法的基本原理一个有限长序列,可以通过其频谱的相同长度的等间隔采样值准确地恢复原有的序列,频率采样法便是从频域出发,对理想的频率响应加以等间隔采样即 (3-23)然后,以此作为实际FIR滤波器的频
33、率特性的离散样本,即 (3-24)由通过IDFT可求出有限序列为 (3-25)利用N个频域的离散样本同样可求出FIR滤波器的系统函数及频域响应,对于3-25式中求z变换得 (3-26)令,则 (3-27)对于单位圆上的频响,采样序列单位圆上的z变换就是等于该采样序列的DTFT。则3-27式可以表达为 (3-28)在3-28式中 (3-29) 令,则 (3-30)由3-30式子很容易看出3-28式的频响,在采样点上就等于,而采样点之间的值,则由各采样值的内插函数延伸叠加形成,因而有一定的逼近误差,误差大小取决于理想频率响应的曲线形状。3.2.2 线性相位条件如果设计的事线性相位的FIR数字滤波器
34、,则其采样值的幅值和相位一定要满足某种关系这些条件已归纳在表3-3和3-4中。表3-3 线性相位滤波器的滤波特性类型奇偶性N奇偶性关于 奇偶性适合设计滤波器类型偶奇偶低通,高通,带通,带阻偶偶奇低通,带通奇奇奇带通奇偶偶高通,带通表3-4 线性相位滤波器幅度相位约束关系下面举例说明一下频率采样法在计算中的运用例2:利用频率采样法,设计一个线性相位低通FIR数字滤波器,其理想频率特性为 采样点N=33解:根据指标,由于N为奇数,偶对称于,截止频率,满足,故得 将代入3-28式中,可得考虑到8k25时,故3.2.3频率采样法的设计步骤1)确定,2)计算3)计算第四章 基于Matlab的数字滤波器实
35、现4.1依据窗函数设计步骤编写程序MATLAB工具箱已经提供了各种窗函数的构造函数,因而窗函数的构造十分方便,下面给出几种常用窗函数的构造方法:1. 矩形窗:利用w=boxcar(n)的形式得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,它的元素由窗函数的值组成。2. 汉宁窗:利用w=hanning(n)的形式得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,包含了窗函数的n个系数。3. 布莱克曼窗:利用w=blackman(n)得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,包含了窗函数的n个系统,它的主瓣宽度是矩形窗主瓣宽度的3倍。4. 凯塞窗:利用
36、w=kaiser(n,beta)的形式得到窗函数。此种方法不依赖于MATLAB中的滤波器设计函数,而是根据FIR滤波器的设计步骤要求自己求解理想滤波器的冲击响应,然后用窗函数对冲击响应进行截短,从而得到FIR滤波器。由于低通滤波器设计较为简单,所以一下我们就以低通滤波器为例。首先得到理想的脉冲响应,再通过窗函数对其截短,从而得到实际可行的FIR滤波器。这里分别以汉明窗,布莱克曼窗和凯塞窗进行截短实现低通FIR滤波器。低通滤波器的指标如下:通带频率wp=0.3*pi,阻带频率wc=0.4*pi,衰减不超过5dB,阻带衰减不超过50dB。根据第三章提出的选择窗函数的条件,只有汉明窗,布莱克曼窗以及
37、凯塞窗合适。(1) 基于汉明窗的FIR低通滤波器图4-1 汉明窗运行结果图(2)基于布莱克曼窗的FIR滤波器图4-2 布莱克曼窗运行结果图(3)基于凯赛窗的FIR滤波器图4-3 凯塞窗运行结果图4.2 依据频率采样法设计步骤编写程序仿真流程:频率采样法技术是基于频率采样理论的一种设计方法,一个任意长的序列,对它的频谱进行N等分间隔抽样,利用离散傅里叶变换,可以得到一个N点有限长序列,这个有限长序列是原序列以N为周期的周期序列的主值序列,它是原序列的近似,因而它的频率特性也将逼近原序列所对应的频率特性。为了便于比较,采用与以上窗函数设计法相同的阶数N=67。对于截止频率为的理想低通滤波器进行采样
38、,采样点为奇数,选择第一个抽样点在处,在从0到之间抽取67个点。用MATLAB来实现一下,得出下面的仿真图像。(1)基于频率采样法的FIR滤波器 图4-4 频率采样法运行结果图4.3 窗函数法和频率采样法的区别下面我们以图4-1海明窗和图4-4频率采样法来说明一下两者的区别:图4-1的横坐标的值乘以即为数字角频率。由于理想低通滤波器的幅频特性关于对称,所以只画出在0之间的图像。由图可以看出,海明窗设计的FIR数字滤波器能满足要求。经过计算,阶数N=67。图4-5 改善后的运行结果图由图4-4的幅度响应可以看出设计的滤波器在阻带的衰减显然没有超过50dB,不能满足要求。比较实际振幅响应,频率采样
39、法在通带和阻带的幅度特性比窗函数设计法都有差。但这并不代表频率采样法在同样的阶数下,设计出的FIR数字滤波器没有一点优势。其实,频率采样法可以通过在通带和阻带边界增加一个或者几个不等于零也不等于1的抽样值来改善频率特性。在通带边界增加两个过渡采样点和。阶数仍然取N=67。这样改善后的仿真图如图4-5所示。显然,经过改善的频率采样法设计出的滤波器性能上有了较明显的改观。有分贝图看出在阻带的衰减超过了50dB。已经能满足设计要求,但和海明窗设计的滤波器相比,阻带的衰减程度还是窗口法设计的衰减更大些。另外,由实际的振幅响应图看出,频率采样法在通带截止频率出有一个较明显的波动,而窗函数法则波动很小。频
40、率采样法明显在阻带截止频率之前就达到了衰减50dB的要求。这表明阶次可以降低,而窗函数法在刚好在时才打到衰减50dB的要求,阶次已经不能再低了。这一点说明,达到衰减50dB这一指标,频率采样法的阶次可以比窗函数设计法低。 通过以上的分析比较,可见,窗函数设计法设计的数字滤波器在通带和阻带的性能优于频率采样法,而在要求不是太高的情况下,频率采样法采用较低的阶数就可以达到要求。这可以作为设计FIR数字滤波器时选用设计方法的一个参考。4.4 依据Simulink仿真来设计数字滤波器Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书
41、写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。4.4.1 Simulink的简介Simulink提高图形用户界面,用户可以用鼠标操作,从模块库中调用标准模块,将它们适当地连接起来以构成动态系统模型,并且用各模块的参数对话框为系统中各模块设置参数,当各模块的参数设置完成之后,即建立起该系统的模型,如果对某一模块没有设置参数,那就意味着使用Simu
42、link预先为该模块设置的默认参数值作为该模块的参数。Simulink模块库内容十分丰富,除了包括信号源模块库,输出模块库,连续系统模块库,离散系统模块库等许多标准模块外,用户还可以定制和创建模块。系统的模型建立之后,选择仿真参数和数值算法,便可以启动仿真程序对该系统进行仿真,这种操作可以用Simulink菜单,也可以用MATLAB命令实现,菜单方式对于交互式运行特别方便,而命令方式对于运行一批仿真时很有用。4.4.2 Simulink系统仿真模型 1.首先在MATLAB的命令窗口输入Simulink或者单击MATLAB主窗口工具栏上的Simulink命令按钮均可以启动Simulink。Simulink启动后会显示如图4-6所示的Simulink模块库浏览器窗口。图4-6 Simulink模块库浏览器 图4-7 模块编辑窗口2在启动Simulink模块库浏览器后在单击其工具栏中的New model命令按钮,会弹出名字为untutled的模型编辑窗口,如图7所示。3按照要求添加模块,选取模块,连接模块,然后进行模块的参数设置,保存文件,进行仿真。下面以汉明窗为例,说明Simulink的仿真过程。4.4.3 运用Simulink系统仿真窗函数按照上述所说的过程,构造以基波为主的原始