基于matlab的数字滤波器的设计和仿真.docx
- 文档编号:3494508
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:32
- 大小:244.77KB
基于matlab的数字滤波器的设计和仿真.docx
《基于matlab的数字滤波器的设计和仿真.docx》由会员分享,可在线阅读,更多相关《基于matlab的数字滤波器的设计和仿真.docx(32页珍藏版)》请在冰豆网上搜索。
基于matlab的数字滤波器的设计和仿真
西安欧亚学院
本科毕业论文(设计)
题目:
学生姓名:
指导教师:
所在分院:
专业:
班级:
二O一一年四月
基于Matlab的数字滤波器的设计与仿真
摘要:
传统的数字滤波器的设计关键词:
.FDAtools;FIR数字滤波器;simullink仿真;窗函数法;频率采样法
Matlab-baseddigitalfilterdesignandsimulation
Abstract:
Thetraditionaldigitalfilter,thedesignprocessofcomplexcomputingworkloadbig,filteringproperties,affectedithardtoadjusttheapplication.ThispaperintroducesakindofFiltermatlabFDAtoolsAnalysisandDesigntoolsthemselvesandordertheFilterTool(byrapidandeffectiveDesign)ofsoftwarecomponentDesignmethodoftraditionaldigitalFilter.Usingmatlablanguageisgivenforprogramdesignanduseofsignalprocessingfdatooltoolboxoftoolsforinterfacedesignofthespecificsteps.Matlabdesignfilter,canalwayscontrastthedesignrequirementsandfiltercharacteristics,easyadjustmentparametersgreatlyreducedtheworkload,behelpfulfortheoptimizationdesignoffir.Thispaperalsointroduceshowtousematlabsimulationsoftwaresimulinkfiltersthedesignofsimulation.
Keywords:
FDAtools;FIRdigitalfilters;simullink;simulstionwindowfunctionmethod;frequencysamplingmethod
4.2Simulink工具...............................................22
4.2.1Simulink的介绍.............................................22
4.2.2Simulink的使用.............................................22
4.4数字滤波器的仿真及实现.....................................25
5.1MATLAB辅助DSP开发简介..................................29
5.2MATLAB与CCS及目标DSP间的连接.........................29
5.3MATLAB辅助DSP实现FIR过程..............................30
附录:
论文中所提到的程......................................34
第1章绪论
1.1课题背景及目的
1.1.1背景来源
本文FIR数字滤波器设计时Matlab软件使用的是Matlab7.0。
本课题来源于试验室建设及工业工程,研究对象为matlab环境下的数字滤波器设计与仿真。
1.1.2目的
我选择了《基于MATLAB的数字滤波器设计与仿真》这个课题作为毕业设计其主要目的是通过此次课程设计进一步学习和巩固数字信号处理及相关知识,并学会利用所学的知识能在设计过程中能综合运用所学知识内容,进一步熟悉和掌握matlab的使用方法;对数字滤波器的技术指标,滤波特性以及各种设计方案有一个深入的了解;为即将进入社会参加工作打下坚实的基础;掌握收集资料、消化资料和综合资料的能力等等。
1.1.3意义
从事电子通信业而不能熟练操作使用matlab软件,在工作和学习中将是寸步难行的。
在数学、电子、金融等行业,使用matlab等计算机软件对产品进行设计、仿真在很早以前就已经成为了一种趋势,这类软件的问世也极大地提高了设计人员在通信、电子等行业的产品设计质量与效率。
众所周知,数字滤波器在数字信号处理中起着非常重要的作用,在信号的过滤、检测与参数的估计等方面,是使用最为广泛的一种线性系统。
而实现数字滤波器的方法有两种,一是采用计算机软件进行,就是把所要完成的工作通过程序让计算机来实现;二是设计专用的数字处理硬件。
这个地方主要用到的就是第一种方法。
即是用matlab提供的信号处理工具箱来实现数字滤波器。
本文FIR数字滤波器设计时Matlab软件使用的是Matlab7.0。
1.2国内外研究现状
20世纪60年代起,由于计算机技术、集成工艺和材料工业的发展,滤波器的发展上了一个新台阶,朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉等方向努力,其中高精度、小体积、多功能、稳定可靠成为70年代以后的主攻方向,导致数字滤波器、RC有源滤波器、开关电容滤波器和电荷转移器等各种滤波器的飞速发展。
到70年代后期,上述几种滤波器的单片集成己被研制出来并得到应用,90年代至现在主要致力于把各类滤波器应用于各类产品的开发和研制。
当然,对滤波器本身的研究仍在不断进行。
1.3研究内容
随着集成电路技术的发展,各种新型的大规模和超大规模集成电路不断涌现集成电路技术与计算机技术结合在一起,使得对数字信号处理系统功能的要求越来越强。
在数字信号处理中数字滤波占有极其重要的地位。
数字滤波在语音信号、图象处理模式识别和谱分析等领域中的一个基本的处理技术。
本设计基于matlab软件,完成FIR数字滤波器的设计,再利用simulink结合FDATool界面进行滤波器仿真,设计出虚拟滤波器,并通过DSP实现。
FIR数字滤波器设计的常用方法包括窗函数法、频率采样法和最优化法等。
本次设计在了解了数字滤波器设计原理的基础上,分别采用了不同的方法对低通、带通滤波器进行设计,并比较用不同方法设计滤波器的频率特性和衰减特性。
最后,对设计的滤波器输入一个混合信号,用以检测其性能。
1.4研究方法
本篇基于matlab采用窗函数法、频率采样法和以及matlab的FDAtool工具箱设计FIR数字滤波器,在利用Simulink软件进行仿真。
1.5Matlab简介
Matlab是由美国MathWorks公司与1982年推出的一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形显示于一体。
在Matlab内部配备了涉及到自动化控制、信号处理和计算机仿真的呢个种类繁多的工具箱,所以Matlab的应用非常广泛,它可涉足于数值分析、控制、信号分析和通信等多种领域。
Matlab不仅可完成基本代数运算操作,而且还可完成矩阵函数运算,提供丰富的实用函数命令。
另外,用户还可以根据自己的需要编写函数。
Matlab的信号处理工具箱是专门应用于信号处理领域的专用工具箱,它的两个基本组成就是滤波器的设计与实现部分以及频谱分析部分。
工具箱提供了众多功能强大的函数,是原来繁琐的程序设计简化成函数的调用。
只要以正确的指标参数调用相应的滤波器设计程序或工具箱函数,便可以得到正确的设计结果,实用非常方便。
1.6Matlab的特点
Matlab具备高性能的数值计算能力和可视化的科学工程计算功能,支持解释性语言输入,编程实现简单,具有丰富的数学函数功能支持。
Matlab允许C、Fortran语言接口,其部件Simulink可以采用图形输入的方式来搭建所研究的系统。
包含丰富的工具包,在系统仿真、数字信号处理、图形图像分析、数理统计、通信以及自动化控制领域得到广泛的应用。
1.7Matlab的系统组成
MATLAB有一系列工具组成。
这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。
包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于浏览帮助、工作空间、文件的浏览器。
随着MATLAB的商业化以及软件及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。
而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。
简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。
MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。
一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。
目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。
本篇共分为四个部分:
第一部分介绍课题研究的目的和Matlab软件;第二部分系统的介绍数字滤波器的基本原理,并通过比较IIR和FIR两种数字滤波器各自的特点,及设计方案,说明本篇选择设计仿真FIR数字滤波器;第三部分是FIR数字滤波器设计的具体方案,主要Matlab程序设计,并分别不同的设计方法;第四部分主要应用Simulink对FIR数字滤波器进行仿真,并采用软件自带的FDAtool工具及不同的FIR数字滤波器。
第五部分是浅析用MATLAB辅助DSP实现FIR数字滤波器。
第2章数字滤波器的基本原理
2.1数字滤波器的原理
所谓数字滤波器(DIGItalFilter)是指输入、输出都是离散时间信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件或程序。
因此,数字滤波器的概念和模拟滤波器相同,只是信号的形式和实现滤波的方法不同。
正因为数字滤波器通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活、不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。
如果要处理的是模拟信号,可以通过A/DC和D/AC,在信号形式上进行匹配转换,同样可以实用数字率比起对模拟数字滤波器。
所以,数字滤波器在数字信号处理中起着非常重要的作用,在信号的过滤、检测与参数的估计等方面,是使用最为广泛的一种线性系统。
2.2数字滤波器的分类
2.2.1分类
按照不同的分类方法,数字滤波器有许多种类,但是总起来说可以分成两大类:
经典滤波器和现代滤波器。
经典滤波器的特点是其输入信号中有用的频率成分和希望滤除的频率成分各占有不同的频带,通过一个合适的选频滤波器滤除干扰,得到纯净信号,达到滤波的目的。
但是,如果信号和干扰的频谱相互重叠,则经典滤波器不能有效地滤除干扰,最大限度的恢复信号,这时就需要现代滤波器,例如维纳滤波器、卡尔曼滤波器、自适应滤波器等最佳滤波器。
现代滤波器是根据随机信号的一些统计特性,在某种最佳准则下,最大限度地抑制干扰,同时最大限度地恢复信号,从而达到最佳滤波的目的。
经典数字滤波器从滤波特性上分类,可以分成低通、高通、带通、带阻等滤波器。
它们的理想幅频特性如图2-2-1所示。
这种理想滤波器是不可能实现的,因为它们的单位脉冲响应均是非因果且无限长的,我们只能按照某些准则设计滤波器,是之在误差容限内逼近理想滤波器,理想滤波器可作为逼近的标准。
另外,需要注意的是,数字滤波器的频率响应函数
都是以2π为周期的,低通滤波器的通频带中心位于2π的整数倍处,而高通滤波器的通频带中心位于π的奇数倍处,这一点和模拟滤波器是有区别的。
一般在数字频率的主值[π,π]描述数字滤波器的频率响应特性。
图2-2-1理想幅频特性图
数字滤波器从实现的网络结构或者从单位脉冲响应的长度,可以分为无限长单位响应(IIR)滤波器和有限长单位脉冲响应(FIR)滤波器。
它们的系统函数分别为:
(2-2-2)
(2-2-3)
(1)式中的
称为N阶IIR数字滤波器系统函数;
(2)式中
称为N-1阶FIR数字滤波器系统函数。
这两种数字滤波器的设计方法有很大区别。
以下做个简单的比较:
2.2.2FIR数字滤波器和IIR数字滤波器的比较
首先,从性能上来说,IIR滤波器系统函数的极点可位于单位圆内的任何地方,因此零点和极点相结合,可用较低的阶数获得较高的选择性,所用的存储单元少,计算量少,所以经济高效。
但是这个高效率是以相位的非线性为代价的。
相反,FIR滤波器却可以得到严格的线性相位,然而由于FIR滤波器系统函数的极点固定在原点,因而只能用较高的阶数达到高的选择性;对于同样的滤波器幅频特性指标,FIR滤波器所要求的阶数一般比IIR滤波器高5~10倍,使成本较高,信号延时也较大;如果按相同的选择性和相同的线性相位要求来说,则IIR滤波器就必须加全通网络进行相位校正,同样要大大增加滤波器的阶数和复杂性。
从结构上看,IIR滤波器必须采用递归结构,极点位置必须在单位圆内,否则系统将不稳定。
另外,在这种结构中,由于运算过程中对序列的舍入处理,这种有限字长效应有时会引起寄生振荡。
相反,FIR滤波器主要采用非递归结构,不论在理论上还是实际的有限精度运算中都不存在稳定性问题,运算误差引起的输出信号噪音功率也较小。
此外,FIR滤波器可以采用FFT算法实现,在相同阶数的条件下,运算速度可以大大提高。
从设计工具看,IIR滤波器可以借助成熟模拟滤波器设计成果,因此一般都有封闭形式的设计公式可供准确计算,计算工作量比较小,对计算工具的要求不高。
FIR滤波器计算通带和阻带衰减等仍无现式表达式,其边界频率也不易精确控制。
一般FIR滤波器的设计只有计算程序可循,因此对计算工具要求较高。
但在计算机普及的现在,很容易实现其设计与计算。
另外,也应该看到,IIR滤波器虽然设计简单,但主要是用于设计具有片段常数特性的选频型滤波器,如低通,高通,带通及带阻等,往往脱离不了几种典型模拟滤波器的频响特性的约束。
而FIR滤波器则要灵活的多,易于适应某些特殊的应用,如构成微分器或积分器,或用于巴特沃斯,切比雪夫等逼近不可能达到预定指标的情况,例如由于某些原因要求三角形幅频响应或一些更复杂的幅频响应形状,因而FIR滤波器有更大的适应性和更广阔的应用场合。
从上面的简单比较可以看到,IIR与FIR滤波器各有所长,所以在实际应用时应该全面考虑加以选择。
例如,从使用要求上看,在相对要求不敏感的场合,如通讯等,选IIR滤波器较为合适,这样可以充分发挥其经济高效的特点;而对于图像信号处理,数据传输等以波形携带信号的系统,则对线性相位要求较高,采用FIR滤波器较好。
本篇主要介绍FIR滤波器的设计与仿真。
2.3数字滤波器的技术要求
(1)低通滤波器设计指标
逼近带通:
通带最大衰减:
;逼近阻带:
;阻带最小衰减:
。
Remezord调用参数:
(2-3-1)
其中,
向量省去了起点频率0和终点频率1,
和
分别为通带和阻带波纹幅度,下同。
(2)高通滤波器设计指标
逼近通带;
,通带最大衰减:
,逼近组带:
,阻带最小衰减:
。
Remezord调用参数:
(2-3-2)
(3)带通滤波器设计指标
逼近阻带:
,通带咀大衰减:
;逼近阻带:
,阻带最小衰减:
。
Remezord调用函数:
(2-3-3)
(4)带阻滤波器设计指标
逼近阻带:
,通带最大衰减:
;逼近阻带:
,最大阻带衰减:
。
Remezord调用参数:
(2-3-4)
第3章Fir数字滤波器的设计
IIR数字滤波器的设计方法是利用模拟滤波器成熟的理论及设计图表进行设计的,因而保留了一些典型模拟滤波器优良的幅度特性。
但设计中只考虑了幅度特性,没考虑相位特性,需哦以设计的滤波器相位特性一般是非线性的,为了得到线性相位特性,对IIR滤波器必须另外增加相位校正网络,使滤波器设计变得复杂,成本较高。
FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性。
设FIR滤波器单位脉冲响应
长度为
,其系统函数
(3-1-1)
是
的
次多项式,在
平面上有
个零点,原点
是
阶重极点。
因此
永远稳定。
稳定和线性相位特性是FIR滤波器突出的优点。
3.1窗函数法设计FIR滤波器
3.1.1窗函数法介绍
用窗函数法设计FIR数字滤波器,这种方法的基本原理是用一定宽度的窗函数截取无限脉冲响应序列获得有限脉冲响应序列,从而得到FIR滤波器的有限脉冲响应,故称窗函数设计法。
为了获取线性相位,FIR滤波器
必须满足中心对称条件:
或
(3-1-2)
加窗后是实际频率响应偏离理想频率响应,主要影响有三个方面:
(1)理想幅频特性陡直边缘处形成过渡带,过度宽带取决于矩形窗函数频率响应的主瓣宽度。
(2)过渡带两侧形成剑锋和波纹,这是矩形窗函数频率响应的旁瓣引起的,旁瓣相对值越大,旁瓣越多,博文越多。
(3)随窗函数宽度N的增大,矩形窗函数频率响应的旁瓣宽度减小,但不改变旁瓣的相对值。
为了改善FIR滤波性能,要求窗函数的主瓣宽度尽可能窄,以获得较窄的过渡带;旁瓣相对值尽可能小,数量尽可能少,以获得通带波纹小,阻带衰减大,在通带和阻带内均平稳的特点,这样可使滤波器实际频率响应更好的逼近理想频率响应。
窗函数法是利用理想脉冲响应与窗函数乘积的方法给出了传递函数的设计方法。
MATLAB将这种方法复合成一个函数,提供基于上述原理设计标准型FIR滤波器的工具函数。
(1)、fir1函数介绍
Fir1是采用经典窗函数法设计线性相位FIR滤波器的函数,且具有标准低通,带通,高通,带阻等类型。
函数调用格式为:
b=fir1(n,wn,’ftype’,window)。
式中n为滤波器的阶数,对于高通、带阻滤波器n必须去偶数;wn为滤波器截止频率,范围0~1(归一化频率)。
对于带通、带阻,wn=[w1,w2](w1 为窗函数,其长度为n+1,缺省时自动取汉明窗。 (2)、fir2函数介绍 Fir2用于设计具有任意形状频率响应的FIR滤波器,多用于多频带滤波器的设计。 函数调用格式为: b=fir2(n,f,npt,window)。 式中f和m分别为滤波器期望幅值的频率响应的频率向量和幅值向量,取值范围为0~1(归一化频率)。 F,m具有相同的长度,如f=0: 0.1: 1, M=[0011011100];npt为对频率响应进行内插的点数,缺省时为512;其余参数与fir1相同。 3.1.2窗函数设计原理 设希望逼近的滤波器频率响应函数为 ,其单位脉冲响应是 。 (3-1-3) (3-1-4) 如果能够有已知的 求出 ,经过Z变换可得到滤波器的系统函数。 但通常以理想滤波器作为 ,其幅度特性逐段恒定,在边界频率处有不连续点,因而 ,是无限时宽的,且是非因果序列。 例如,线性相位理想低通滤波器的频率响应函数 为 (3-1-5) 其单位脉冲响应 为 (3-1-6) 3.1.3FIR滤波器设计实例 例1: 窗函数设计法 3.2频率采样法设计FIR数字滤波器 3.2.1频率采样法的基本思想 设希望逼近的滤波器的频率响应函数用 表示,对 在 到 之间等间隔采样N点,得到 : k=0,1,2,…,N-1 (3-2-1) 在对 进行N点IDFT,得到 : n=0,1,2,…,N-1 (3-2-2) 将 作为所设计的FIR滤波器的单位脉冲响应,其系统函数 为 (3-2-3) 另外根据频率域采样理论,得到 内插表示形式: (3-2-4) 此式就是直接利用频率采样值形成滤波器的系统函数,(3)式适合FIR直接型网络结构,(4)式适合频率采样结构。 3.2.2FIR滤波器设计实例 例1: 设计一个FIR低通滤波器,满足性能指标: 滤波器阶数为40阶,截止频率为fc=10Hz,阻带衰减不小30dB,通带波纹不大于3dB。 假设输入混合x=sin(2*pi*f1*t)+sin(2*pi*ft*t),f1=5Hz,f2=20Hz,采样频率为Fs=50Hz,将原信号与通过滤波器的信号进行比较。 有题意,阻带衰减不小于30dB,选择汉宁窗,因为汉宁窗的第一瓣相对衰减为31dB,满足要求。 编写的MATLAB的M文件程序为(附录程序三),程序运行后结果如图3-2-1和图3-2-3所示: 图3-2-1滤波器的幅频特性(上)和相频特性(下) 从(图3-2-1)幅频特性图中可以看出,低通滤波器通带边界wp=8Hz,阻带边界ws=12Hz,截止频率fc=10Hz;在小于8Hz的频段上,几乎看不到下降,既满足通带波纹小于3dB的要求;在大于12Hz的频段上阻带衰减大于30dB,满足所有设计要求。 从想品特性图中可以看出,在通带范围内相位频率为一条直线,表明该滤波器为线性相位,这与前面所分析的结果相一致。 图(3-2-2)了滤波器的输入信号和滤波器输出信号,输入信号是包括5Hz和20Hz的混合信号,有图(3-2-1)可知,20Hz的信号不能通过该滤波器,通过滤波器后只剩下5Hz的信号,输出结果也证明了这一点。 从输入信号和输出信号的频谱图中可以更加清晰的看出滤波前后的频率变化情况。 从而证明了所设计的滤波器的滤波性能。 图3-2-2输入信号与滤波后信号的波形图和频谱图 但要注意的是,由于FIR滤波器所需的阶数较高n=40阶,信号延迟也较大(n-1)/2*1/Fs=0.39s,输出信号前面有一段直线的距离大约为0.39s这就是延迟造成的。 验证了FIR滤波器的相位延迟的理论。 在输出信号的前部有一些小信号的频谱图上可以清除的看到5Hz的左右有一些幅度较小的频率。 当把滤波器阶数减少时延迟也会缩短,这些干扰频率的幅度也会减小但干扰频率范围会缩短。 这具体应用时要看指标决定。 这个设计指标中还对通带波纹和阻带衰减做了要求从而选定了所要的窗函数,这些指标在实际情况中是必须要考虑到的很重要的指标。 例2: 设计一个FIR带阻滤波器,采样频率为Fs=1000Hz,阻带截止归一化频率从
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 matlab 数字滤波器 设计 仿真