《通信工程专业毕业论文12116.doc》由会员分享,可在线阅读,更多相关《通信工程专业毕业论文12116.doc(44页珍藏版)》请在三一办公上搜索。
1、 本 科 毕 业 设 计(论 文)FIR数字滤波器的设计以及在车辆动态试验中的应用专 业: 通信工程082 摘 要随着当代的信息和数字技术的发展,数字信号处理已经成为现在信息和技术领域的一门很重要的学科。数字信号处理在很多领域得到广大的运用数字滤波器是数字信号处理的重要基础,在对信号的滤波、检测及参数的估计等信号应用中,数字滤波器是使用最为广泛的一种线性系统。所以我的设计就是围绕数字滤波器的设计以及在现实中的运用来进行的。首先对数字滤波器的发展历史和运用进行介绍,并且分析数字滤波器的种类和各种数字滤波器的基本功能设计的方法进行对比得出一个简便的设计方法。并且对我运用到的MATLAB这个软件的发
2、展历史和运用功能进行一个具体全面的介绍。然后分别运用频率取样阀、窗函数法和最佳一致法这三种方法来完成FIR数字滤波器的设计。在用着三种方法来设计完成FIR和IIR这两种数字滤波器后,对着两种数字滤波器进行比较得出一个设计方法简便和功能实现都很简便的数字滤波器来实现我的毕业设计。在运用到这三种方法的时候会对着三种方法做一个总结与对比,在对比的时候得出一种既简便又容易实现的方法来完成数字滤波器的设计。最后经过对比选择出窗函数法来完成FIR数字滤波器的设计以及在车辆动态试验中的应用。并且运用窗函数的方法来完成高通滤波器和低通滤波器来实现车辆动态试验中的信息分析,在这一过程中分别对车辆动态做一些基本的
3、介绍和在应用方面进行介绍。车辆的动态试验是指对车辆的换档、转向及制动等动态过程进行的试验。试验时需借助计算机采集转速、转矩等信号。通常这些信号以电压量的形式传输,由于试验现场电磁环境恶劣,这些信号都不可避免地受到干扰,所以我们在进行信号的分析和处理的时必须要对信号做一个滤波处理,所以就会运用到数字滤波器。在完成这一向的时候我的毕业设计基本达到目的。关键词:MATLAB ;数字滤波器 ;FIR数字滤波器 ;IIR数字滤波器 ;车辆动态分析AbstractAs contemporary information and the development of digital technology, d
4、igital signal processing has become now in the field of information and technology to an important subject. Digital signal processing in many areas to be the use of digital filter is the important foundation of digital signal processing, in the filtering, to signal detection and parameter estimate o
5、f the signal applications, the digital filter is the most widely used a linear system. So I design that surrounding the design of the digital filter and the application in reality.First of all to the development of digital filter history and use are introduced, and the type of digital filter and ana
6、lysis of the basic function of digital filter design method that a simple comparison of the design method. I use of MATLAB software development history of the use function and a specific comprehensive introduction.Then, using respectively frequency sampling valve, window function method and best uni
7、form method the three methods to complete the design of FIR digital filters. In use three methods to design completed FIR and IIR this two kinds of digital filter, to the two kinds of digital filter is concluded on a design method is simple and functions are very simple digital filter to realize my
8、graduation design. I use of the three methods to three methods do a summary and contrast, in contrast to the time that an easy and easy to implement method to finish the design of the digital filter.Finally by comparison choose the window function method to finish FIR digital filters in the design a
9、nd application of vehicle dynamic test. And use the method of window functions to complete high-pass filter and low pass filter to realize the dynamic test vehicle information analysis, in the process of vehicle dynamic respectively do some basic introduction and in application was introduced. The v
10、ehicle dynamic test is to point to the shift of vehicle, steering and brake dynamic process of the experiment. Test should be on a computer acquisition speed, torque, etc signal, Usually these signals to the form of the voltage of transmission, because the test electromagnetic environment is bad, an
11、d these signals are inevitably interference, so we in the analysis and processing of signals must be to signal a filter, so will use to digital filter. Finish my graduation design basic to achieve purpose.Key words:MATLAB ;Digital filter ;FIR digital filters ;IIR digital filter ;Vehicle dynamic anal
12、ysis摘 要IAbstractII1 绪论11.1 研究背景与意义11.2 MATLAB的发展历史以及运用11.3 数字滤波器的发展历史21.4 设计的主要内容32 数字滤波器的简介52.1 数字滤波器的基本简介52.2 数字滤波器的分类52.2.1、IIR滤波器特点分析52.2.2、FIR数字滤波器的基本特点63 FIR滤波器设计及分析73.1 FIR数字滤波器设计的基本思想73.2、方法一窗函数设计法设计FIR滤波器83.2.1、 窗函数的介绍83.2.2 基于窗函数方法的FIR滤波器的原理及特性分析103.3方法二 等效最佳一致逼近法设计FIR数字滤波器123.3.1 低通滤波器的设计
13、123.3.2 高通滤波器的设计133.4 方法三 频率取样法设计FIR数字滤波器153.4.1 频率取样法设计的基本思路以及具体步骤153.4.2 频率取样法设计FIR数字滤波器的实现163.5 三种方法的总结和对比184 基于窗函数的FIR滤波器设计及在车辆动态试验中的应用194.1 基于窗函数的FIR滤波器设计194.1.1 运用窗函数法设计高通滤波器194.1.2 运用窗函数法设计低通滤波器204.2 动态试验的介绍和具体应用204.3 Simulink实现设计的功能224.3.1 仿真得到如下的图像:235 论文结论25参考文献27致 谢28附 录291 绪论1.1 研究背景与意义随
14、着信息时代和数字世界的到来,数字信号处理己成为当代的一向极其重要学科和技术领域。数字信号处理在通信、语音、图像、自动控制雷达、军事、航空航天、医疗和家用电器等众多领域都有很重要的运用。在数字信号处理这门学科之中数字滤波器是非常重要的一项工具,在进行信号的滤波、检测和参数的估计等信号运用中,很多人都在使用现在最为广泛的一种线性系统既数字滤波器。在现在的很多数字信号处理系统中,FIR滤波器是其中最常用的组件,它拥有信号预调、频带选取和信息筛选等多种功能。FIR滤波器在截止频率的边沿陡峭性能中虽然不及IIR滤波器,但是,想到FIR滤波器严谨的线性相位特性而且不像IIR滤波器那样有稳定性的问题,FIR
15、滤波器能够在数字信号处理领域得到广泛的应用【1】。1.2 MATLAB的发展历史以及运用MATLAB是由美国Mathworks公司推出并且运用于数值运算和图形处理分析方面的科学计算系统环境学科。MATLAB软件的主要是英文MATrix LABoratory(矩形实验室)的缩写。在MATLAB软件工作下,用户可以集成自发地进行软件程序设计,数值计算,图形绘制,输入输出,文件保存和管理等各种研发。另外,MATLAB这一软件有很强的功能扩展能力,与它的主系统一起,可以配备各种各样的工具箱,以完成某些特定的任务。当前,Mathworks公司推出了18种工具箱。开发者可以根据自己的项目任务,自行开发属于
16、开发者的科研项目。在70年代中期,Cleve Moler博士和他的同事们在美国国家科学基金的帮助下开发了调用EISPACK和LINPACK的FORTRAN子程序库。EISPACK应用在特征值计算的FOETRAN软件库,LINPACK是用来求出线性方程的软件库。在那时候,这两个程序库作为学生科老师教学矩阵运算能力的最高标准。到80年代初期,作为美国New Mexico大学中的一个掌管计算机的一个主任Cleve Moler,在课堂上讲授线性代数的课程时,教导学生如何去运用及熟练掌握EISPACK和LINPACK软件,他发现很多学生用FORTRAN这个软件编写接口的程序时候消耗时间很多,于是他自己开
17、始自行研发软件,在空闲的时候为学生编译EISPACK和LINPACK这两个接口程序,Cleve Moler将这个接口程序命名为MATLAB,这个为矩阵命名的(matrix)和实验室(labotatory)是两个英文单词的前三个字母的组合而成。在今后的很多年中,MATLAB在多所大学中作为教学辅助软件来使用,并作为面向大众的免费软件流传开来【2】。1983年的春天,Cleve Moler到Standford大学授课, 一名叫做JohnLittle的工程师深深地被MATLAB吸引了。John Little迅速地理会到MATLAB在工程领域中有很广阔的前景.在这一年中,他和CleveMoler,St
18、eve Bangert一起,运用C语言研发了第二代功能强大的专业版。这一代的MATLAB语言在运用中同时拥有了数值计算和数据图示化等各种高等功能。在MATLAB步入市场之前,国际上的很多程序都是直接运用FORTRANC这一软件等来编写语言和研发的。该软件最大的缺点就使用面很窄,接口相对简陋,软件结构不开放并且没有相对标准的软件库,很难适应每一项研发的最新进展,因而难以推广。当出MATLAB时,各国科学家开发学科软件有了新的基础。当MATLAB研发出来不久,以前控制领域中的很多程序迅速被淘汰或在MATLAB上加工出新的功能。时至今日,经过MathWorks公司的不断走向完善,MATLAB已经适合
19、运用于多学科,多种工作平台功能强大的大型软件。在国内,MATLAB经受起了多年以来的考验。在欧美的高校课程中,MATLAB已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学软件;成为攻读学位的大学生,硕士生,博士生必须掌握的基本技能。在设计研发和工业部门,MATLAB被广泛用在科学研究和解决各种具体问题当中。在国内,特别是工程界,MATLAB即将强盛起来。可以说,无论你从事工程方面的哪个学科,都能在MATLAB这个软件里找到合适的功能【2】。1.3 数字滤波器的发展历史滤波器在数值信号处理中有广泛的应用,为此我们将简单的为滤波器做一个介绍。要
20、是滤波器的信号输入或者输出都表现出离散时间信号时,那么,该滤波器的冲击响应(或滤波因子)也一定是离散的,我们把这样的离散信号滤波器叫做数字滤波器(digital filter)【7】。在运用到硬件研发一个digital filter时,研发者运用到的元件有延迟器、乘法器和加法器。在运用软件在计算机上面来实现数字滤波器的时候,它表现出来的就是一段线性褶积(或卷积)很难编译的程序。 我们知道,模拟滤波器(analog filter)只能用硬件来实现,其元器件是运算放大器或开关电路。因此,digital filter的实现要比analog filter容易的多,而且易获得较为理想的效果。现代的滤波器
21、有很多种类,分类方法也很多,例如从功能上来区分,也可以从实现方法上区分,或从设计的方法上来区分等。从所有的滤波器来区分的话,滤波器可以分为两大类,就是经典滤波器和现代滤波器。经典滤波器是假定输入信号x(n)中的有效信息和噪音(或干扰)信息成分各在不一样的频带,当x(n)通过一个线性滤波系统后,可以将欲噪声信号组成有效地滤去。可是,如果有效信息和噪声信息的频率带重叠的话,运用优秀的滤波器是无法展现这个功能。现代滤波理论研发的主要内容是从具有噪音的数字信息记录(又称为时间序列)中估算出信息的一些特征或者原样的信号 8。当信号被估算出来,那么估算出来的信号将会比原信号有较高的信噪比。当代的滤波器把信
22、息和噪音都看作随机信号,运用它们的统计特性(如自相关函数、功率谱函数等等)导出一套最佳的估值算法,然后用硬件和软件实现。用于现代的滤波器分类主要有:维纳数字滤波器、卡尔数字滤波器、线性预测数字滤波器、自适应数字滤波器等,很多软件专家将会把出于特征分解的频率估算和奇异值分解算法都将全部归入到当代数字滤波器的范畴之中9。雷达信号处理分析系统中的信号分析中的滑动平均谱和常规处理中的反褶积运算采用了现代处理的部分功能【3】。1.4 设计的主要内容运用matlab软件来实现数字滤波器设计并且在设计过程中运用到三种方法来实现这个设计内容,在数字滤波器设计出来以后把其运用到实际的车辆动态运作中实现它的基本功
23、能。这就是基本要完成的设计内容。如下是车辆动态试验的基本介绍以及基本内容的规划。车辆的动态试验是指对车辆在换档、转向及制动等动态过程进行的试验。试验时需要用计算机来采集转速、转矩的信号。通常这些信号以电压量的形式来输出,由于试验现场电磁环境影响,车辆发出的信号都会受到干扰所以我们要进行信号的处理实现车辆的更好运作。下面图1-1表示了测量中电子干扰(噪声)的主要来源。显然,从中很难清晰地看出转矩的变化趋势。因此必须对信号做滤波处理。电子噪声自然噪声人为噪声电路噪声天体噪声空间噪声点火电机感应热噪声散粒噪声闪烁噪声图1 电子干扰(噪声)主要来源比较起模拟滤波器来说,数字滤波器的优点就是可以简单的软
24、件来实现不需要各种硬件,有更好的灵活性。并且,随着信息的高速发展各种快速算法的出现,让数字滤波器的优点更加充分的体现出来,所以用软件来实现这个系统的测试更加合理更加有效。用单位冲激相应的时间特性来分,数字滤波器可以分为IIR(无限冲击响应)和FIR(有限冲激响应)滤波器。在IIR和FIR的结构比较中我们可以得到,IIR的结构简单并且可以以较低的阶数得到良好的幅频特性,所以操作量少运算量很小。IIR还与模拟滤波器有对应的关系,在设计IIR滤波器的时候可以借鉴模拟滤波器的设计理论原理来设计,但是由于IIR滤波器有极点的原因,只有系统在稳定的条件下才可以进行,并且系统引入了“过去”的输出值作为反馈容
25、易产生溢出、噪声和量化的误差。相对这点FIR滤波器是一种输出全为零的数字滤波器,具有相对好的稳定性,并且容易理解和设计。但是FIR也有其缺点,FIR要达到高性能时需要很多系数,运算量也很大,所以需要平衡性能和运算量大小之间的矛盾。随着现代高科技的发展FIR滤波器的缺点也得到很好的突破,采用窗函数方法来设计FIR滤波器更加简单思路清晰,所以在试验数据采集系统软件的环节中我采用了窗函数方法来设计FIR滤波器【4】。2 数字滤波器的简介2.1 数字滤波器的基本简介数字滤波器(digital filter)是由数字乘法器、加法器和延时单元组成的一种装置。它的功能是对输入离散信号的数字代码运算进行处理,
26、以便达到改变信号频谱的目的。数字滤波器作为一个计算工具或运算方法,即将代替输入信息的数字时间序列转化为代表输出信息的数字时间序列,在相互转化运行中,使信号按计算出的方式转变。数字滤波器的分类有很多种,依据数字滤波器冲激响应的时域特性来区分我们可以把这些数字滤波器大致分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。数字滤波器是一个离散时间系统(按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能装置)。在运用数字滤波器来处理模拟信号时,第一要对输入模拟信号进行限带、抽样和模数转换基本的处理。数字滤波器输入信息的抽样率应该不小于被处理信息带宽的两倍,
27、数字滤波器的频率响应是以抽样频率为相隔的周期重复特征,并且数字滤波器的折叠频率表现为12抽样频率点必须出现镜像对称。以便容易出现模拟信号,数字滤波器分析的输出数字信息需要经过数模转换、平滑。在数字滤波器的优点中其具有很高的精度、很高的实用性、可程控转变特性或反复运用、有利于集成等优点。2.2 数字滤波器的分类数字滤波器基本可以分为IIR和FIR两种数字滤波器如下是对这两种数字滤波器的基本特点分析。2.2.1、IIR滤波器特点分析(1)对于IIR数字滤波器的系统函数来说可以将其写成封闭函数的形式。(2)IIR数字滤波器采用递归的结构,在递归结构通常上带有反馈特性环路。IIR滤波器运算特性一般都会
28、由延时效果、系数相乘和相加等基本运算组成,可以组成直接型、正准型、级联型、并联型这四种基本结构形式,这些结构形式都具有反馈功能特性的作用。在运算中的采取舍入方法计算,让误差不断增加,有时会出现较小的寄生振荡。IIR数字滤波器在设计中可以借鉴已经完善的模拟滤波器的基本方法,比如巴特沃斯、契比雪夫和椭圆滤波器等,在设计的时候都会有存在的设计数据或者信息可查,设计困难比较小,对计算条件的要求一般不会太不高。当设计一个IIR数字滤波器的时候,我们可以根据指标先完成模拟滤波器的模式,然后运用一定的运算转变,将模拟滤波器的形式转换成数字滤波器的形式。这样就会很简单的把一个数字滤波器给设计出来。(3)当II
29、R数字滤波器的相位特性难于运算,对相位要求较高时,需要加相位校准网络来实现。在MATLAB软件下设计IIR滤波器可使用Butterworth函数设计出巴特沃斯滤波器,使用Cheby1函数设计出契比雪夫I型滤波器,使用Cheby2设计出契比雪夫II型滤波器,使用Elipord函数设计出椭圆滤波器【5】。2.2.2、FIR数字滤波器的基本特点FIR是有限冲激响应(Finite Impulse Response)的简称,冲激响应是有限的意味着在滤波器中没有发反馈,FIR滤波器有以下的优点:(1)在设计FIR数字滤波器的时候很容易地设计线性相位的滤波器,线性相位滤波器延时输入信息,并且还没有曲折FIR
30、数字滤波器的相位。 (2)当设计实现的方法比较容易。在很多DSP处理器中只需要针对一个指令卷积循环就可以实现FIR的复杂计算。 (3) FIR数字滤波器的设计适用于多采样率转变,它囊括抽取(降低采样率),插值(增加采样率)步骤。不管是采样提取或者插值,都可以运用FIR滤波器少掉很多运算,以便于提高运算效果。相反,如果使用IIR滤波器来设计的话,每个信号输出均要挨个计算一下,采样频率就不能省略,即便要丢掉输出频率。 (4) FIR滤波器的数字特性理想。在实际中的运用中FIR滤波器比IIR滤波器应用更广泛,缺少反馈是关键。在计算机中实现FIR滤波器时,每个计算都产生数字误差。由于FIR滤波器没有反
31、馈,因此不能够记住以前的错误。相反,IIR滤波器的反馈可能导致错误的积累。这个实际的影响就是,可以用更少的字节去实现与IIR滤波器相同精度的滤波器。比如,FIR滤波器通常用16位来实现的话,IIR滤波器就通常需要32位,或者更多。 (5) 可以用小数实现。不像IIR滤波器,FIR滤波器通常可能用小于1的系数来实现。(如果需要,FIR滤波器的总的增益可以在输出调整)。当使用定点DSP的时候,这也是一个考虑因素,它能使得实现更加地简单。3 FIR滤波器设计及分析3.1 FIR数字滤波器设计的基本思想1、FIR数字滤波器的实现需要一个转移转移函数其转移函数如下: (3-1)2、FIR滤波器的设计步骤
32、和方法如下:(1)我们需要给出滤波器的技术指标用来设计一个H(z)使其逼近我们所需要的技术指标并且实现满足所设计要求的H(z)。(2)我们所说的FIR滤波器表现的冲激响应就是系统函数每项系数之和,所以我们所要设计的FIR滤波器的其中一个方法就是:从时域来看,截取一段有足够长的冲激响应看作H(z)的系数,冲激响应尺度N就是系统函数H(z)的阶数。需要N能够达到条件,并且截取的方式正确,就能够实现频域的需求。这就是FIR滤波器设计中运用到的窗口设计法。我们所设计的一个线性相位的FIR数字滤波器需要的理想频率为Hd(ej);它是一个周期函数,且周期为2。因此我们可以把其展开为傅里叶级数: (3-2)
33、式中hd(n)是我们所要的傅里叶系数。由于hd(n)在一般的情况下是非因果无限长的,从物理上来看是不可实现的。所以我们不能以hd(n)作为设计FIR数字滤波器的傅里叶级数。为了要解决这个问题我们可以先把无限长的hd(n)截短为有限长序列,然后把有限长序列右移使之变为因果序列h(n)。然后用h(n)近似hd(n)设计出来的FIR滤波器,这样一来频响H(ej)一定也和理想频响Hd(ej)相互近似。以上所用的方法是加窗函数法,所以称窗口设计。(3) 窗函数设计法是以hd(n)为媒介的时域设计法,但是滤波器的指标往往是在频域给出的,因此,要由Hd(ej)算出hd(n),然后从加窗后的h(n)算出hd(
34、n)来检验。当理想频响Hd(ej)是任意曲线,或者不存在明确的解析表达式的时候,求Hd(n)就会表现出很多困难来。因此,我们就要想一下能否不要频域-时域-频域这样反复运算,就此我们采用频率采样法。其具体设计思路如下:采用频率采样法首先要对理想频响Hd(ej)进行采样,以便得到抽样值H(k),再利用插值公式直接求出系统转换函数H(z),以便求出频响H(ej),有利于理想频响进行比较。在0,2区间上对Hd(ej)进行N点采样,等效于时域以N为周期延拓。首先;我们要给出确定的理性频率Hd(ej)【19】。其次;我们需要确定一下采样的点数,对理想频响采样得到H(k)。最后把理想采样频率带入一下的式子得
35、到FIR数字滤波器的转移函数: (3-3)频率采样法可以看为插值法,它在采样频率上保证Hd(ej)等于Hd(eji);而在非插值点(采样点)上, H(ej)是插值函数的线性叠加.这种方法的缺点是通带和阻带的边缘要精确确定.窗口法的矩形窗是一种最小平方逼近法,它不能保证在每个局部位置误差都很小,由此我们可以看出几个方法的各个优点6。3.2、方法一窗函数设计法设计FIR滤波器3.2.1、 窗函数的介绍窗函数设计法是一种通过截短和计权的方法使一个无限长非因果序列变成一种有限长脉冲响应序列的设计方法。大多数在设计滤波器前面,应该先依据具体的工程运用来确定滤波器的技术需求。在很多的实际生活运用当中,数字
36、滤波器都会被用来展现选频运算,所以指标的要求一般都是在频域中运用分贝值给出的相对幅度响应和相位响应来运算。以下是具体运用窗函数法来设计FIR滤波器的具体步骤:(1)依据详细的过渡带宽及阻带衰减需求,我们可以使用窗函数的基本类型并且估算出窗口长度N(或者M=N-1)。窗函数分类可以依据最小阻带衰减AS单独确定,由于窗口长度N对最小阻带衰减AS没有影响。当定下窗函数分类以后,可根据过渡带宽小于给定指标确定所相似的窗函数的窗口长度N。假设需要求出的滤波器的过渡带宽为。它与窗口长度N几乎成反比。 在窗函数类型知道以后,其计算公式也随之确定了,不过这些公式只能够近似的得出的窗口尺度,如果需要精确的数值还
37、需要在计算中进一步修正。计算方法是在确定阻带衰减满足要求的状况下,一定要选取较小的N。在N和窗函数分类知道以后,就可以可调用MATLAB中的窗函数来运算出窗函数wd(n)。(2)依据所要求出滤波器的理想频率响应计算出理想单位脉冲响应hd(n)。如果给出需要求的滤波器的频率响应为Hd(ej),要是那样的话理想单位脉冲响应可以运用下面的傅里叶反变换计算式求出: (3-4)在一般情况下,hd(n)是不可以用封闭公式表示的,必须运用数值方法表示。从=0到=2采样N点,采用离散型傅里叶变换叶进行反变换(IDFT)即可求出。(3)需要计算一下滤波器的单位脉冲响应h(n)。它表现出来的是理想单位脉冲响应和窗
38、函数的相互乘积,即h(n)=hd(n)*wd(n),在MATLAB软件中用点乘的命令表示为h=hdwd。(4)为了进一步运算数字滤波器在频域中的性质,我们需要对需要的技术指标进行检测并且看其是否满足所需要的要求,我们可调用freqz子程序,如果不满足要求,可根据具体情况,调整窗函数类型或长度,直到满足要求为止。我们用窗函数法设计FIR数字滤波器的时候需要满足下面的条件才可以具体的实现出来;首先;我们所要设计的主瓣要尽可能的窄,以便得到较陡的过渡带。其次;我们要尽量的减少最大旁瓣相对幅度,使能量较多的集中在主瓣两旁减小纹波,进一步加大阻带的衰减。依据以往所做的工程业绩,确定的滤波器指标要求大多为
39、通带截止频率p、阻带截止频率s、实际通带波动Rp和最小阻带衰减As。利用窗函数法设计FIR数字滤波器的经验公式如下所示:用于计算归一化过渡带:数字滤波器的阶数: 当50时:;当2150时: ;在现实工作运用常常会运用到一下几种窗函数方法设计FIR数字滤波器一般有五种,即矩形窗、三角窗、汉宁窗(升余弦窗)、海明窗和凯塞窗。以上显示的窗函数在MATLAB中分别用boxcar、triang、hanning、hamming、kaiser实现,它们各自间的数字性能比较如下表所示【7】。表3-2 5种窗函数的数字性能比较窗函数类型旁瓣峰值主瓣峰值最小阻带衰减矩形窗三角窗汗宁窗海明窗凯塞窗3.2.2 基于窗
40、函数方法的FIR滤波器的原理及特性分析FIR数字滤波器的复频域转移函数如下: (3-5) (3-6)以上的式中:c 截止频率(rad/s);s 采样频率(rad/s);T 采样周期(s); 线性相频特性的斜率。然而在实际应用中是不可能实现这样一个具有无穷多个系数的滤波器的,所以我们要借助上面的两个式子来实现,取出有限项用来构成有限序列,使之具有一下式子的特性: (3-7) (3-8)当 = N-1/2,则(3-10)式可变为: (3-9)在复频域中相当于: (3-9)(3-10)综合(3-9),(3-10)式,我们可以确定窗口宽度N的选择将涉及到以下的因素:(1)N增大,W(j)主瓣的频谱范围
41、变窄,获得的H(j)将更趋近于理想滤波器的Hd(j),但计算量将会逐渐增加。(2)N减小,W(nT) 变窄,而W(j)主瓣的频谱范围变宽,导致H(j)对Hd(j)出现异常的变动。(3)我们所要涉及的N值不能改变主瓣与旁瓣的相对比例。在MATLAB软件下程序运行后得出下图:图 2 生成函数的幅频特性经过对上述公式、图表的分析可以得出结论::(l) 窗宽N是决定主瓣宽度最重要的因素;(2)选取不一样的窗函数对旁瓣的抑制效果有十分巨大的区别;(3)取不同的窗函数对幅频特性的整形效果远较单一增加窗宽N好。比较表中的各项指标,当N取相同值时。采用Hamming窗滤波效果会很理想。3.3方法二 等效最佳一
42、致逼近法设计FIR数字滤波器等效最佳一致逼近法与其他方法比较起来有自己独特的特点,在信号处理时等效一致最佳逼近法采用remez算法实现线性相位FIR数字滤波器的等波纹最佳一致逼近设计。这种算法的优点是,设计相同指标是滤波器的阶数最低,最适合设计片段常数特性的滤波器。在运用到Remez算法来设计FIR数字滤波器的时候有一下两个实例。3.3.1 低通滤波器的设计所要设计低通滤波器的逼近滤波特性为。 (3-11)要实现这一滤波特性要求通带波纹ap3dB,阻带衰减as60dB,并用需要实现最小阶数。需要绘出设计的FIR数字滤波幅频特性曲线【8】。先由需要计算设计参数f=1/4,5/16,m=1,0;由
43、于 (3-12)所以 。运行图像如下:图3 幅频特性在图像中横线为-3dB,两条竖线分别位于频率和。通带指标有剩余,过渡带宽度和阻带最小衰减刚好满足指标要求。3.3.2 高通滤波器的设计在运用等效一致逼近法设计高通滤波器的时候会受到加权系数w(w)及滤波器阶数N的作用和影响。期望逼近的滤波器通带为,阻带为0,。通常在数字滤波器的设计中需要的技术指标越高实现;滤波器的阶数就会越高;在运用到remez函数调用时有一下式子:b=remez(N,f,m,w) f=0,3/4,23/32,1, m=0,0,1,1.。剩余的参数可以分别进行设计。(1)N=30,w=1,1;(2)N=30,w=1,5(3)
44、N=60,w=1,1在MATLAB软件下运行结果如下所示:图4 滤波器的幅频特性在比较运行结果的时候可以得出,w较大的频段逼近精度越高;w越小的频段逼近精度越低。N较大时逼近精度越高,N越小时逼近精度越低。3.4 方法三 频率取样法设计FIR数字滤波器3.4.1 频率取样法设计的基本思路以及具体步骤在运用到频率取样法设计FIR数字滤波器的时候首先要对理想频率Hd(ej)抽样得到抽样频率值H(k),其次运用插值公式进行求值运算得到系统函数H(z),或者求出频率响应H(ej)。这样采样频率和理想频率比较时可以再0,2区间上对Hd(ej)进和行N点采样,等效于时域以N为周期延拓.。理想频率响应为Hd
45、(ej)的采样是H(k),k=0,1-N-1,则其IDFT是 (3-13)那么FIR滤波器的系统函数可写为(3-3)式:所以当采样点数N计算出来以后,就是一个常数,只要采样值H(k)确定时,系统函数H(z)就可以确定,要求的FIR滤波器就设计出来【9】。当H(k)= Hd(ej) =2k/N=H(k)ej(k)在和(k)分别对幅度函数H()和相位函数()的第k个抽样点进行抽样时在X0,2内的N个样点,则约束条件为: (3-14)频率取样阀值可以分为两种其一;是=k2/N,k=0,1,N-1,即N个频率样点是X=0,2N,(N-1) 2/N;其二是;=k2/N+/N,k=0,1,N-1,N个频率
46、样点是=/N,3/N2-/N。这样的话方法一和方法二可以分化为奇数和偶数两种情况,根据具体的取样法分析在这个设计中我将选择奇数方法来设计。3.4.2 频率取样法设计FIR数字滤波器的实现 (1)在理想频率Hd(ej)为任意的曲线或者没有明确的解析表达式的情况下,要求得Hd(n)就会难达到,所以不得不考虑一下在去掉频域时域频域这种反反复复的运用情况下,直接从频域到达时域来设计。这种想法就奠定了FIR滤波器的频域设计法频率采样法。(2)运用到频率采样法时要对理想频率Hd(ej)进行采样,得出采样值H(k);然后利用插值公式直接求出系统转换函数H(z);或者求出频响H(ej)。这样就可以和理想频率进
47、行比较。可以在0,2区间上对Hd(ej)进行N点采样。以下是等效时域在以N为周期下频率响应法的具体步骤:首先要给出理性频率Hd(ej);其次给定采样点数对理想频率进行采样得H(k);最后把理想频率采样值代入式子中得到FIR数字滤波器的转移函数。通过以上的分析看来频率采样法可以看作是一种插值法在采样的i上保证H(eji)等于Hd(eji)。但是在非采样点上H(ej)是插值函数的线性叠加。这种方法的缺点就是通带和阻带的边缘要精确。窗口法的矩形窗是一种最小平方逼近法,不能保证在每个局部位置误差都很小。在这样的情况下把技术指标进行一个改动一下线性相位低通滤波器中截止频率15Hz,S=12s的低通滤波器。所要设计的数字滤波器在MATLAB运行下函数会归