课程设计任务书2010—2011学年第一学期专业:通信工程学号:姓名:课程设计名称:数字信号处理课程设计设计题目:基于窗函数法的FIR带阻滤波器的软件实现完成期限:自2011年1月3日至2011年1月9日共1周一.设计目的1.巩固所学的理论知识。2.提高综合运用所学理论知识独立分析和解决问题的能力。3.更好地将理论与实践相结合。4.掌握信号分析与处理的基本方法与实现。5.熟练使用MATLAB语言进行编程实现。二.设计内容编写MATLAB程序实现FIR带阻滤波器的设计。指标如下:下通带截至频率2.0lsw;上通带截止频率8.0usw;阻带下限频率35.0lpw;阻带上限频率65.0upw;通带最大衰减dBp1;阻带最小衰减dBS60。三.设计要求1、根据指标要求选择合适的窗函数进行设计;2、绘出nh及其幅频响应并分析设计结果,验证所设计的滤波器是否满足要求。四.设计条件计算机、MATLAB语言环境五、参考资料[1]《数字信号处理》(第三版),丁玉美,高西全.西安电子科技大学出版社,2000.[2]《MATLAB及在电子信息课程中的应用》,陈怀堔,吴大正,高西全.电子工业出版社,2006.[3]《MATLAB7.0从入门到精通》,求是科技.人民邮电出版社,2006.[4]《数字信号处理(第三版)》学习指导,高西全,丁玉美.西安科技大学出版社,2001.指导教师(签字):教研室主任(签字):批准日期:年月日摘要无限长脉冲数字滤波器的设计方法只考虑了幅度特性,没有考虑相位特性,所设的滤波器一般是某种确定的非线性相位特性。有限脉冲响应(FIR)滤波器在保证了幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性。本课题利用MATLAB软件实现。MATLAB是“矩阵实验室”(MATrixLABoratoy)的缩写,是一种科学计算软件,它使用方便,输入简捷,运算高效,内容丰富,因此利用MATLAB软件,通过一系列较为系统的函数法,根据已知的技术指标,就可以设计出满足要求的滤波器。关键词:MATLAB;窗函数;FIR带阻数字滤波器;线性相位目录1课题描述........................................................................................................................................12MATLAB简介..................................................................................................................................23窗函数设计法原理.......................................................................................................................23.1线性相位............................................................................................................................53.2基本窗函数.......................................................................................................................53.2.1矩形窗函数...........................................................................................................53.2.2三角窗函数...........................................................................................................63.2.3汉宁窗函数............................................................................................................73.2.4哈明窗函数...........................................................................................................73.2.5布莱克曼窗函数...................................................................................................83.2.6凯塞窗...................................................................................................................84方案设计与分析.........................................................................................................................104.1方案设计程序..................................................................................................................104.2分析..................................................................................................................................125总结与体会.................................................................................................................................146参考文献.......................................................................................................................................1课程设计说明书(论文)第1页共15页1课题描述现代图像、语声、数据通信对线性相位的要求是普遍的。正是此原因,使得具有线性相位的FIR数字滤波器得到大力发展和广泛应用。在实际进行数字信号处理时,往往需要把信号的观察时间限制在一定的时间间隔内,只需要选择一段时间信号对其进行分析。这样,取用有限个数据,即将信号数据截断的过程,就等于将信号进行加窗函数操作。而这样操作以后,常常会发生频谱分量从其正常频谱扩展开来的现象,即所谓的“频谱泄漏”。当进行离散傅立叶变换时,时域中的截断是必需的,因此泄漏效应也是离散傅立叶变换所固有的,必须进行抑制。而要对频谱泄漏进行抑制,可以通过窗函数加权抑制DFT的等效滤波器的振幅特性的副瓣,或用窗函数加权使有限长度的输入信号周期延拓后在边界上尽量减少不连续程度的方法实现。而在后面的FIR滤波器的设计中,为获得有限长单位取样响应,需要用窗函数截断无限长单位取样响应序列。另外,在功率谱估计中也要遇到窗函数加权问题。由此可见,窗函数加权技术在数字信号处理中的重要地位。课程设计说明书(论文)第2页共15页2MATLAB简介MATLAB是“矩阵实验室”(MATrixLABoratoy)的缩写,是一种科学计算软件,主要适用于矩阵运算及控制和信息处理领域的分析设计,它使用方便,输入简捷,运算高效,内容丰富,因此很多专家在自己擅长的领域用它编写了许多专门的MATLAB工具包,由于MATLAB功能的不断扩展,所以是科学研究中最常用必不可少的工具。MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。MATLAB一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。3窗函数设计法原理数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。IIR数字滤波器具有无限宽课程设计说明书(论文)第3页共15页的冲激响应,与模拟滤波器相匹配。所以IIR滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。FIR数字滤波器的单位脉冲响应是有限长序列。它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。因此设计FIR滤波器的方法之一可以从时域出发,截取有限长的一段冲击响应作为H(z)的系数,冲击响应长度N就是系统函数H(z)的阶数。只要N足够长,截取的方法合理,总能满足频域的要求。一般这种时域设计、频域检验的方法要反复几个回合才能成功。要设计一个线性相位的FIR数字滤波器,首先要求理想频率响应)(jwdeH。)(jwdeH是w的周期函数,周期为2,可以展开成傅氏级数:)(jwdeH=njwndenh)((3-1)其中)(nhd是与理想频响对应的理想单位抽样响应序列。但不能用来作为设计FIRDF用的h(n),因为)(nhd一般都是无限长、非因果的,物理上无法实现。为了设计出频响类似于理想频响的滤波器,可以考虑用h(n)来近似)(nhd。窗函数的基本思想:先选取一个理想滤波器(它的单位抽样响应是非因果、无限长的),再截取(或加窗)它的单位抽样响应得到线性相位因果FIR滤波器。这种方法的重点是选择一个合适的窗函数和理想滤波器。设x(n)是一个长序列,w(n)是长度为N的窗函数,用w(n)截断x(n),得到N点序列xn(n),即xn(n)=x(n)w(n)(3-2)在频域上则有ππjjjdeπ21eWeXXN(3-3)由此可见,窗函数w(n)不仅仅会影响原信号x(n)在