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

下载本文档

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

文档简介

电子技术课程设计 题 目 基于MATLAB的FIR数字滤波器设计 学生姓名 专业班级 学 号 院 (系) 电气信息工程学院 指导教师 完成时间 基于MATLAB的FIR数字滤波器设计郑州轻工业学院课程设计(论文)任务书题目 简易窗帘自动开闭电路 专业 电子信息10-1 学号 541001030138姓名 谢强 主要内容、基本要求、主要参考资料等:主要内容1阅读相关科技文献。2学习protel软件的使用。3学会整理和总结设计文档报告。4学习如何查找器件手册及相关参数。技术要求1. 要求电路能够通过感应装置,检测到光线的强弱。2. 要求电路根据光线的强弱,自动将窗帘打开和关闭。3. 要求电路能够在窗帘接触到边沿时,自动切断电源。主要参考资料1何小艇,电子系统设计,浙江大学出版社,2001年6月2姚福安,电子电路设计与实践,山东科学技术出版社,2001年10月3王澄非,电路与数字逻辑设计实践,东南大学出版社,1999年10月4李银华,电子线路设计指导,北京航空航天大学出版社,2005年6月5康华光,电子技术基础,高教出版社,2003完 成 期 限: 2012年06月22日 指导教师签章: 专业负责人签章: 2012 年 06月 11日目 录摘 要I1 数字滤波器11.1数字滤波器简介11.2 FIR数字滤波器11.3 IIR数字滤波器32 数字滤波器设计工具MATLAB42.1 MATLAB简介42.2 MATLAB的优势53 FIR数字滤波器设计63.1窗函数法设计FIR滤波器63.1.1设计方法73.1.2 各种窗函数73.2频率取样法设计线性相位FIR滤波器83.3线性相位FIR滤波器的优化设计114 利用MATLAB设计FIR数字滤波器124.1 两个重要函数124.2 设计不同参数的FIR滤波器134.2.1 数字高通滤波器的实现134.2.2 数字带通滤波器的实现184.2.3 数字带阻滤波器的实现244.3 不同窗函数设计滤波器的比较294.4 FIR数字滤波器和IIR数字滤波器的比较29参考文献30附录31基于MATLAB的FIR数字滤波器的设计摘 要在数字控制系统中输入信号中所含的干扰对系统的性能会产生很大的影响,因此需要对输入信号进行处理,以提取有用信号。有限长冲激响应(FIR)滤波器在数字信号处理中发挥着重要作用,采用Matlab软件对FIR数字滤波器进行仿真设计,简化了设计中繁琐的计算。本文采用窗函数法,通过调用Matlab函数分别用矩形窗、汉明窗、汉宁窗、三角形窗和布拉克曼窗分别设计了相同参数的数字高通滤波器、数字带通滤波器和数字带阻滤波器,并绘制对应的幅频特性曲线。根据设计结果,比较在相同参数下经由不同的窗函数设计出的滤波器的异同点。最后比较了相同参数下设计出的FIR滤波器和IIR滤波器的异同点。关键词 MATLAB 窗函数 FIR 数字滤波器1 数字滤波器1.1 数字滤波器简介数字滤波器是一个离散的系统。它可以对输入的离散信号进行一系列运算处理,从输入的信号中获得所需要的信息。数字滤波器的系统函数通常表示为 (1-1) 数字滤波器分为有限冲激响应数字滤波器,即FIR数字滤波器和无限冲激响应,即IIR数字滤波器。从公式的角度来看,FIR数字滤波器的 始终为零;IIR数字滤波器至少有一个非零。实现数字滤波器的方法一般有两种:一种是利用计算机的程序编译,从而仿真实现;另一种是利用硬件来实现。实现一个数字滤波器一般需要三个基本的运算单元:加法器、延时器和乘法器。设计一个数字滤波器的一般步骤为:(1)按所给要求确定滤波器的性能(2)用一个因果稳定的离散线性时不变的系统函数逼近此性能的要求(3)利用算法来实现这个系统函数(4)利用计算机仿真或硬件来实现1.2 FIR数字滤波器FIR滤波器是指在有限范围内系统的单位脉冲响应hk仅有非零值的滤波器。M阶FIR滤波器的系统函数H(z)为 (1-2) 其中H(z)是的M阶多项式,在有限的z平面内H(z)有M个零点,在z平面原点z=0有M个极点. FIR滤波器的频率响应为 (1-3)它的另外一种表示方法为 (1-4)其中和分别为系统的幅度响应和相位响应。若系统的相位响应满足下面的条件 (1-5)即系统的群延迟是一个与没有关系的常数,称为系统H(z)具有严格线性相位。由于严格线性相位条件在数学层面上处理起来较为困难,因此在FIR滤波器设计中一般使用广义线性相位。 如果一个离散系统的频率响应可以表示为 (1-6)其中和是与无关联的常数,是可正可负的实函数,则称系统是广义线性相位的。 如果M阶FIR滤波器的单位脉冲响应hk是实数,则可以证明系统是线性相位的充要条件为 (1-7)当hk满足hk=hM-k,称hk偶对称。当hk满足hk=-hM-k,称hk奇对称。按阶数hk又可分为M奇数和M偶数,所以线性相位的FIR滤波器可以有四种类型。四种线性相位FIR滤波器的性质如表1-1所示表1-1 四种线性相位FIR滤波器的性质类型IIIIIIIV阶数M偶数奇数偶数奇数hk的对称性偶对称偶对称奇对称奇对称关于的对称性偶对称偶对称奇对称奇对称关于的对称性偶对称奇对称奇对称偶对称的周期00A(0)任意任意00任意00任意可适用的滤波器类型LP,HP,BP,SPLP,BP微分器,变换器,Hilbert微分器,变换器,Hilbert,HP1.3 IIR数字滤波器无限长单位冲激响应滤波器,即IIR数字滤波器具有下面几个特点:(1) 系统的单位冲激响应为无限长的(2) 系统函数在有限z平面上有极值点(3) 结构上是递归型的IIR滤波器的设计就是在给定的技术指标下去确定滤波器的阶数N和系数,。在已满足给定的技术指标下,应选用阶数尽可能低的滤波器,因为滤波器的阶数越低,在实现时成本就越低。 在设计IIR滤波器时,最常用的方法是利用模拟滤波器来设计数字滤波器。其原因为:(1) 模拟滤波器的设计技术相对成熟,可以广泛利用(2) 模拟滤波器有大量的参考程序和表格(3) 它的解可以为闭合形式的2 数字滤波器设计工具MATLAB2.1 MATLAB简介MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。如图2-1是MATLAB的运行界面。图2-1 MATLAB 2011b运行界面MATLAB和Mathematica、Maple、MathCAD并称为四大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。MATLAB主要功能:1.数值分析2.数值和符号计算3.工程与科学绘图4.控制系统的设计与仿真5.数字图像处理6.数字信号处理7.通讯系统设计与仿真8.财务与金融工程2.2 MATLAB的优势(1)高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;(2)具有完备的图形处理功能,实现计算结果和编程的可视化;(3)友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;(4)功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。3 FIR数字滤波器设计3.1 窗函数法设计FIR滤波器窗函数设计法又称为傅里叶级数法。这种方法首先给出,表示要逼近的理想滤波器的频率响应,则由IDTFT可得出滤波器的单位脉冲响应为 (3-1) 由于是理想滤波器,故是无限长序列。但是我们所要设计的FIR滤波器,其hk是有限长的。为了能用FIR滤波器近似理想滤波器,需将理想滤波器的无线长单位脉冲响应分别从左右进行截断。当截断后的单位脉冲响应不是因果系统的时候,可将其右移从而获得因果的FIR滤波器。 另一种设计方案是将线性相位因子加入到理想滤波器的频率响应中,然后利用IDTFT计算出后,取在0kM范围的值为FIR滤波器单位脉冲响应。 理想滤波器的频率响应和设计出的滤波器的频率响应的积分平方误差定义为 (3-2)也可以表示为 (3-3) 上式中的第一项和第三项与所设计出的滤波器参数是没有关系的,为了使上式中的第二项达到最小,可选择 (3-4)所以用上面的方法得出的滤波器是在积分平方误差最小意义下的最佳滤波器。Gibbs现象就是理想滤波器的单位脉冲响应截断获得的FIR滤波器的幅度函数在通带和阻带都呈现出振荡现象。随着滤波器阶数的增加,幅度函数在通带和阻带振荡的波纹数量也随之增加,波纹的宽度随之减小,然而通带和阻带最大波纹的幅度与滤波器的阶数M无关。窗函数的主瓣宽度决定了过渡带的宽度,窗函数长度N增大,过渡带减小。3.1.1 设计方法3.1.2 各种窗函数(1)矩形窗 (3-5) 矩形窗的主瓣宽度为。用矩形窗设计的FIR滤波器过渡带宽度近似为。(2)三角形窗(又称巴特列特窗) (3-6)(3)汉宁(Hanning)窗(又称升余弦窗) (3-7) Hanning窗的主瓣宽度为。由Hanning窗的定义可知,Hanning窗在其两个端点的值为零,这就使得在实际的应用中不能利用两个端点的数据。我们可将N+2点的Hanning窗除去两个端点来定义长度为N的Hanning窗。修改后的长度为N的Hanning窗定义为 (3-8)在Matlab信号处理工具箱中所采用的就是这种修改后的定义方式。(4) 海明(Hamming)窗(又称改进的升余弦窗) (3-9)Hamming窗的主瓣宽度为。(5) 布莱克曼(Blackman)窗(又称二阶升余弦窗) (3-10) Blackman窗的主瓣宽度为。3.2 频率取样法设计线性相位FIR滤波器频率取样法是从频域出发,在频域直接设计,把给定的理想频率响应加以等间隔取样,并以此作为实际FIR滤波器的频率响应。设所需滤波器的频率响应为。现要求设计一个M阶的FIR滤波器hk,使得在M+1个取样点上,FIR滤波器的频率响应与所需的频率响应相等,即 (3-11)由设计的要求给定,hk需要通过设计来确定。如果M+1个方程是线性无关的,则可以通过求解M+1阶的线性方程来得出FIR滤波器的hk。对的一些特殊取样方法,上述方程的解可以直接由IDFT得到。由于要求设计出的滤波器是实系数的线性相位FIR滤波器,所以的取样值还需要满足线性相位滤波器的约束条件。 I型和II型线性相位滤波器的,III型和IV型线性相位滤波器的。为了使设计出的滤波器具有线性相位,在M+1个取样点上的值应为 (3-12) 下面分别讨论四种线性相位滤波器在取样点上的值:I型(M为偶数,hk偶对称)线性相位FIR滤波器在M+1个取样点值为 (3-13)上式表明I型线性相位FIR滤波器在的值可由在的值确定。在的值确定后,对做M+1点的IDFT即可得到I型线性相位滤波器的hk。II型(M为奇数,hk偶对称)线性相位FIR滤波器在M+1个取样点值为 (3-14)上式表明II型线性相位FIR滤波器在的值可由在的值确定。III型(M为偶数,hk奇对称)线性相位FIR滤波器在M+1个取样点值为 (3-15) 上式表明III型滤波器线性相位FIR滤波器在的值可由在的值确定。 IV型(M为奇数,hk奇对称)线性相位FIR滤波器在M+1个取样点值为 (3-16) 上式表明IV型线性相位FIR滤波器在的值可由在的值确定。 为了提高滤波器的质量并减少误差,可以采用人为地扩展过渡带的方法,即在频率相应的过渡带内插入一个或多个比较连续的采样点,使得过渡带比较连续,从而使得通带和阻带之间变法比较缓慢,使得设计得到的滤波器对理想滤波器的逼近误差较小。 在理想低通滤波器的设计中,若不增加过渡点,阻带和通带之间的衰减约为-21dB,如果在通带和阻带之间增加一个采样点,阻带的最小衰减可以提高到-65dB,如果增加两个采样点,阻带的最小衰减可以提高到-75dB,如果增加3个采样点,阻带的最小衰减可以提高到-85dB至-95dB。3.3 线性相位FIR滤波器的优化设计在使用窗函数法设计滤波器时,如果使用矩形窗,则设计出的FIR滤波器是积分平方误差最小意义下的最佳FIR滤波器。但由于Gibbs现象的存在,使得设计出滤波器在阻带的衰减一般不能满足要求。为解决这个问题可以采用其他的窗函数,但得到的滤波器不是最小误差意义下的最优FIR滤波器。设表示要逼近的理想滤波器的幅度函数。表示设计出的线性相位FIR滤波器的幅度函数。优化设计的基本思想就是要确定线性相位FIR滤波器的系数,使得和的误差在范围内达到最小。与的加权误差函数定义为 (3-17)其中,是由设计者定义的加权函数。 一种常用的误差准则称为最大误差最小准则,又称切比雪夫准则,定义为 (3-18)其中I表示滤波器在范围内各频率带区间构成的集合。切比雪夫准则意义下的优化设计就是要确定FIR滤波器H(z)的系数,使得上式定义的误差达到最小。 在FIR滤波器的阶数M固定的条件下,利用切比雪夫误差准则设计出的FIR滤波器的幅度响应在通带和阻带都会呈现等波纹的波动。所以这类滤波器称为等波纹FIR滤波器。等波纹FIR滤波器的设计方法是由Parks-McClellan提出。在解决问题过程中使用了数学优化中的Remez交换算法。 利用Remez交换算法,等波纹线性相位FIR滤波器的设计步骤可归结为:(1)用Kaiser提出的经验公式估计滤波器的阶数 (3-19) 确定J的值。(2)选定初始极值点。(3)计算。(4)为寻找新的极值点,计算函数在I中的抽样值。为了减少计算误差,抽样间隔应足够小。通常选择抽样点数为16M。(5)寻找新的极值点。(6)如果,执行(7)。否则用交换回到(3)。(7)获得gk。(8)由gk求出hk。4 利用MATLAB设计FIR数字滤波器在利用Matlab设计FIR滤波器时,分别采用五种不同的窗函数设计所需的滤波器。4.1 两个重要函数在窗函数法的Matlab实现中,程序中经常使用的函数有fir1和kaiserord。 程序中fir1函数的用法:b=fir1(n,Wn,ftype,window)n为滤波器的阶数Wn为滤波器的截止频率,它是一个0到1的数。如果Wn是一个含有两个数的向量,则函数返回一个带通滤波器ftype为滤波器的类型,ftype=high时,设计的是高通滤波器;ftype=stop时,设计的是带阻滤波器;没有此参数时,设计的是低通滤波器window为指定的窗函数,矩形窗为boxcar(n),汉宁窗为hanning(n),海明窗为hamming(n),布莱克曼窗为blackman(n),凯撒窗为kaiser(n,beta),没有此参数时,默认为hamming窗程序中kaiserord函数的用法:n,Wn,beta,ftype=kaiserord(f,a,dev,Fs)f是一个向量,为设计滤波器过渡带的起始点和结束点a是一个向量,指定频率段的幅度值dev是一个向量,长度和a相同,为各个通带和阻带内容许的幅度最大误差n为能够满足要求的滤波器的最小阶数Wn为滤波器的截止频率ftype为根据待设计滤波器的要求得到的滤波器的类型4.2 设计不同参数的FIR滤波器4.2.1 数字高通滤波器的实现为了用窗函数法设计下述参数的数字高通滤波器:,通带最大衰减为1dB,阻带最小衰减为100dB,我用了五种窗函数截断,分别设计出五种不同的数字高通滤波器。程序见附录1,图4-1至图4-10是这五个滤波器的幅频响应曲线和相频响应曲线。图4-1 布莱克曼窗截断所得高通滤波器的幅频响应曲线图4-2 布莱克曼窗截断所得高通滤波器的相频响应曲线图4-3 汉明窗截断所得高通滤波器的幅频响应曲线图4-4 汉明窗截断所得高通滤波器的相频响应曲线图4-5 汉宁窗截断所得高通滤波器的幅频响应曲线图4-6 汉宁窗截断所得高通滤波器的相频响应曲线图4-7 矩形窗截断所得高通滤波器的幅频响应曲线图4-8 矩形窗截断所得高通滤波器的相频响应曲线图4-9 三角窗截断所得高通滤波器的幅频响应曲线图4-10 三角窗截断所得高通滤波器的幅频响应曲线4.2.2 数字带通滤波器的实现同样的,为了用窗函数法设计下述参数的数字带通滤波器:,通带最大衰减为1dB,阻带最小衰减为100dB,我用了五种窗函数截断,分别设计出五种不同的数字带通滤波器。程序见附录2,图4-11至图4-20是这五个滤波器的幅频响应曲线和相频响应曲线。图4-11 布莱克曼窗截断所得带通滤波器的幅频响应曲线图4-12 布莱克曼窗截断所得带通滤波器的相频响应曲线图4-13 汉明窗截断所得带通滤波器的幅频响应曲线图4-14 汉明窗截断所得带通滤波器的相频响应曲线图4-15 汉宁窗截断所得带通滤波器的幅频响应曲线图4-16 汉宁窗截断所得带通滤波器的相频响应曲线图4-17 矩形窗截断所得带通滤波器的幅频响应曲线图4-18 矩形窗截断所得带通滤波器的相频响应曲线图4-19 三角窗截断所得带通滤波器的幅频响应曲线图4-20 三角窗截断所得带通滤波器的相频响应曲线4.2.3 数字带阻滤波器的实现同样的,为了用窗函数法设计下述参数的数字带阻滤波器:,通带最大衰减为1dB,阻带最小衰减为100dB,我用了五种窗函数截断,分别设计出五种不同的数字带阻滤波器。程序见附录3,图4-21至图4-30是这五个滤波器的幅频响应曲线和相频响应曲线。图4-21 布莱克曼窗截断所得带阻滤波器的幅频响应曲线图4-22 布莱克曼窗截断所得带阻滤波器的相频响应曲线图4-23 汉明窗截断所得带阻滤波器的幅频响应曲线图4-24 汉明窗截断所得带阻滤波器的相频响应曲线图4-25 汉宁窗截断所得带阻滤波器的幅频响应曲线图4-26 汉宁窗截断所得带阻滤波器的相频响应曲线图4-27 矩形窗截断所得带阻滤波器的幅频响应曲线图4-28 矩形窗截断所得带阻滤波器的相频响应曲线图4-29 三角窗截断所得带阻滤波器的幅频响应曲线图4-30 三角窗截断所得带阻滤波器的相频响应曲线4.3 不同窗函数设计滤波器的比较4.4 FIR数字滤波器和IIR数字滤波器的比较(1)在技术指标相同的条件下,IIR滤波器的输出对输入有反馈,所以可以用比FIR少的阶数来满足要求,存储单元少,运算次数也少,经济实惠。(2)FIR滤波器的相位是严格线性的,而IIR滤波器做不到这一点,IIR滤波器的选择性越好,其相位的非线性越严重。(3)FIR滤波器主要采用非递归结构, 有限精度的运算误差很小。而IIR滤波器在运算中会产生寄生振荡。(4)FIR滤波器可以使用快速傅里叶变换算法,而IIR滤波器不能这样。(5)IIR滤波器可以利用模拟滤波器的公式、数据和表格,计算量小。FIR滤波器设计时往往要借助计算机。5 总结参考文献1程佩青. 数字信号处理教程(第三版)M.北京:清华大学出版社,2007,333-342.2 吴大正.信号与线性系统分析(第四版)M.北京:高等教育出版社,2005,63-427.3 奥本海姆.A.V.信号与系统.第二版.刘树棠译.西安:西安交通大学出版社,20024 Oppenheimer A V,Schafer R W.Digital Signal Processing.Prentic Hall,Inc.19755 Gold B,Rader C M.Digital Processing of Signal.McGraw-Hill Book Company,19696王世一.数字信号处理M.北京:北京理工大学出版社,2005. 7张雄伟,陈亮,许光辉.DSP芯片的原理与开发应用M.北京:电子工业出版2003,2 8姚天任,孙洪,现代数字信号处理M.武汉:华中科技大学出版社,1999,11 9戴明祯,周建江.TMS320C54X DSP结构、原理及应用 M.北京:北京航空航天大学出版社,2002,3附录附录1:StopdB = 100;PassdB = 1;dev = 0.00001 1;fcuts = 0.4 0.6;a = 0 1;n,wn,bta,ftype = kaiseror

温馨提示

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

评论

0/150

提交评论