版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录1引言12关于MATLAB13数字滤波的基本概念24设计方案34.1数字滤波器设计的基本步骤33334.2基于MATLAB的FIR数字滤波器的设计与仿真34.3基于MATLAB的IIR数字滤波器的设计74.3.1 IIR数字滤波器的设计原理74.3.2 IIR数字滤波器的传统设计方法74.3.3 IIR数字滤波器的设计8434IIR数字滤波器的程序设计94.3.5IIR数字滤波器的仿真105FIR数字滤波器与IIR数字滤波器的比较116结论12参考文献13摘要数字滤波器是一个离散系统。该系统能对输入的离散信号进行处理,从而获得所需的有用信息。现代数字滤波器的设计大体可以分为IIR和FIR两
2、大类,可以用软件和硬件两种方法来实现,而选用MATAB信号处理工具箱为设计通用滤波器带来了极大的方便。本文按设计指标要求设计了滤波器,其中IIR采用巴特沃什,FIR采用布莱克曼窗进行设计,得出了与之对应的幅度响应曲线和相位响应曲线,最后对IIR和FIR的实现形式和性能等方面进行比较。关键词:MATLAB;IIR;FIR不得用于商业用途AbstractThedigitalfilterisadiscretesystem.Thesystemcanbeabletohandlediscretesignals.Soitcanachieverequiredimportantinformation.There
3、aretwomajorkindsofdesignprincipleofdigitalfilter,whicharefiniteimpulseresponse(FIR)andinfiniteimpulseresponse(IIR).Themoderndigitalfiltercanbereceivedbytwokindsofmethodofsoftwareandhardware.ButusingMATLABsignaldisposingtoolcasetodesignthedigitalfilterismoreconvenientanduniversallyapplied.Themainbody
4、ofthepaperisdemandedtodesignadigitalfilteraccordingtothedesigningindex.IIRadoptsButterworthandFIRadoptstheBlackmanwindowtodesignthedigitalfilter.Finally,carryoutcomparisononIIRandtheFIRrealizationandfunctionaspect.Keywords:MATLAB;IIR;FIR仅供个人参考1引言理想滤波器就是一个让输入信号中的某些有用频谱分量无任何变化的通过,同时又能完全抑制另外那些不需要的成分的具有
5、某种选择性的器件、网络或计算机硬件支持的计算程序。根据对不同信号的处理可将滤波器分为模拟滤波器和数字滤波器两种。模拟滤波器和数字滤波器的概念相同,只是信号的形式和实现滤波的方法不同。数字滤波器是指输入输出都是数字信号的滤波器。滤波器的滤波原理就是根据信号与噪声占据不同的频带,将噪声的频率放在滤波器的阻带中而由于阻带的响应为零,这样就滤去了噪声。数字滤波器可以分为两大类:一类是经典滤波器,即一般的滤波器,特点是输入信号中有用的频率成分和希望滤去的频率成分各占不同的频率带,通过一个合适的选频滤波器达到滤波的目的,这种滤波器主要是无限冲激响应滤波器和有限冲激响应滤波器;另外一类滤波器是现代滤波器,当
6、信号和干扰的频带相互重叠,经典滤波器不能完成对干扰的有效去除时,可以采用现代滤波器,这些滤波器可以按照随即信号内部的一些统计分布规律,从干扰中最佳的提取信号。这种滤波器主要有维纳滤波器、卡尔曼滤波器自适应滤波器等10。与模拟滤波器相同,数字滤波器从功能上可以分为四类,即低通(LP)、高通(HP)、带通(BP)、带阻(BS)滤波器等。数字滤波器在数字信号处理的各种应用中发挥着十分重要的作用,任何数字系统都可看成一个数字滤波器,因此数字滤波器的应用相当广泛。设计任务:设计一数字带通滤波器,分别用IIR和FIR两种类型来实现。2关于MATLABMATLAB是MatrixLaborator©
7、矩阵实验室)的缩写。它是美国MathWorks公司推出的用于数值计算和图形处理的数学计算环境,现已发展成为一个具有高性能数值计算和可视化功能的科学计算环境,问题的提出和解答只需以数学方式表达和描述,不需要大量原始而传统的编程过程。该软件包括:数值分析、矩阵计算、数字信号处理、建模和系统控制等应用程序。MATLAB语言简洁、紧凑、使用方便,有丰富的运算符号和函数库,还具有结构化的控制语句和面向对象编程的特点。随着其版本的不断提高,各种不得用于商业用途仅供个人参考工具箱的扩充和完善,MATLAB的功能越来越强大,从而被广泛应用于仿真技术、自动控制和数字信号处理等领域。MATLAB是一个交互式系统,
8、特别适用于研究、解决工程和数学问题,典型应用包括:一般的数值计算、算法原型以及通过矩阵公式解决一些特殊问题,促进了统计、数字信号处理等科学的发展。MATLAB功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。特别是MATLAB还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计。MATLAB的信号处理工具箱提供了丰富而简便的设计、实现IIR和FIR的方法,使原来烦琐的程序设计简化成函数的调用,特别是滤波器的表达方式和滤波器形式之间的相互转换显得十分简便,为滤波器的设计和实现开辟了一片广阔的天地。数字滤波器采用传统的设计方法要进行大量复杂的运算,而利用MA
9、TLAB强大的计算功能进行计算机辅助设计,就可以快速要效的设计数字滤波器,大大的简化计算量,直观简便。MATLAB的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究和辅助设计的工具。在设计数字滤波器时,通常采用信号处理工具箱提供的设计模拟和数字滤波器的MATLAB函数采用编程的方法和仿真实现,亦可以利用信号处理工具箱提供的滤波器设计和分析工具(FilterDesign&Analysis)ool实现。MATLAB的一种重要的工作方式就是M文件的编程工作方式。M文件有两种形式,种是脚本文件,另一种是函数文件。M文件的扩展名为“.m”M文件可以通过任何纯文本编
10、辑器进行编辑,MATLAB也自带有文本编辑器,使用“edi”命令即可开启。3数字滤波的基本概念滤波器的种类很多,从功能上可以分为低通、高通、带通和带阻滤波器,每种又有模拟滤波器和数字滤波器两种形式。如果滤波器的输入和输出都是离散时间信号,则该滤波器的冲击响应也必然是离散的,这种滤波器称之为数字滤波器。该滤波器通过对时域中离散的采样数据作差分运算实现滤波。个线性时不变数字滤波器可以用常系数线性差分方程表示为不得用于商业用途仅供个人参考式中x(n),y(分辨是输入和输出信号序列;aibk分别是滤波系数。当上式bk中系数全部为零时,就有只比)=£QJC(尺7、.-(J这种形式的滤波器为有限
11、冲激响应滤波器,简称FIR型。此事系统的输出仅与输入有关。它的实现一般采用非递归算法。4设计方案4.1数字滤波器设计的基本步骤在设计一个滤波器之前,必须首先根据工程实际的需要来确定滤波器的技术指标。在很多实际应用中,数字滤波器常被用来实现选频操作。因此指标的形式一般在频域中给出幅度和相位响应。一旦确定了技术指标,就可以利用已学习过的基本原理和关系式,提出一个滤波器模型来逼近给定的技术指标。这是滤波器设计所要研究的主要问题。以上两步的结果得到的滤波器,通常是以差分方程、系统函数或脉冲响应描述的。根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计
12、的滤波器,再分析滤波结果来判断。4.2基于MATLAB的FIR数字滤波器的设计与仿真利用MATLAB设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大地减轻了工作量,有利于滤波器设计的优化。FIR滤波器的设计方法有窗函数法、最优化设计法及约束最小二乘逼近法。MATLAB信号处理工具箱中提供了滤波器设计方法的工具函数,编程中可以根据设计要求直接调用相应函数,方便快捷。本设计数字滤波器的性能指标为:0.2,s.03,As50dB,Rp0.25dB,sp不得用于商业用途仅供个人参考要求用窗函数设计一个高通滤波器本例采用凯泽窗函数设计该高通滤波器,原程序节选如下:As=50;ws=0
13、.2*Pi;wp=0.3*Pi;tr_width=wp-ws;M=ceil(As-7.95)*2*pi/(14.36*tr_width)+l)+l;disp(滤波器的长度为',nu2istr(M);beta=0.1102*(AS-8.7);n=【0:l:M-l:disp(线性相位斜率为',nu2str(beta);w_kai=(kaiser(M,beta)'wc=(ws+wp)/2:hd=ideal_lp(pi,M)-ideal_lp(wc,M);h=hd.*w_kai;db,mag,pha,grd,w=freqz_m(h,1);delta_w=2*pi/l000;Rp
14、=-(min(db(wp/delta_w+l:l:501);disp(实际通带波动为',nu2str(Rp);As=-round(max(db(l:l:ws/delta_w+l);disp(最小阻带衰减为',nu2str(As);subplot(l,l,l);subplot(2,2,l);stem(n,hd);titl理想脉冲响应');axis(0,M-l-0,40.8);ylabel(hd(n;)')subplot(2,2,2):stem(n,w_kai):title凯泽窗'):仅供个人参考axis(0,M-101.1);ylabel(w(n)'
15、;);subplot(2,2,3);stem(n,h);titl实际脉冲响应');axis【(0,M-l-0.40.8);xlabe(l'n');ylabel('h(n)');subplot(2,2,4);plot(w/pi,db);title®度响应/dB');axis(01-10010);grid;xlabel以n为单位的频率'):ylabel分贝数/dB');程序运行后得到的结果如图1所示。由图1可知滤波器的数据:线性相位斜率为4.5513,滤波器的长度为61,参数beta®为4.55126实际通带波动为
16、0.040436最小阻带衰减为50,由此可知设计的滤波器达到了要求。程序执行的结果如下图所示:不得用于商业用途仅供个人参考0010.20.301u.5D.6u."OSu.91.0NormalizedFiequen£.y(Xji占笛叩闾孟2巴訝2舄昱d滤波器幅频特性相频特性00.10.203tU0.5O.G0.7O.S0.9Id001fl.20.311.4h.56.60.7O.S0.9II.6不得用于商业用途滤波前后的波形4.20.2apsndurvFIR的冲激响应从滤波效果图看,所设计的滤波器基本消除了噪声和干扰的影响,客观的得出真实信号。在设计中如果该滤波器的特性不满足要
17、求,原有的参数必须作相应的调整,在程序中只需对参数进行重新设定,就可以得到所需要的滤波器。在实际应用中,如果需要对某一信号源进行特定的滤波,并要检测滤波效果,应用传统方法比较繁琐。在MATLAB环境下,可先用软件模拟产生信号源,再设计滤波器对仅供个人参考其进行滤波。在MATLAB环境下,数字滤波器的设计已经变得非常简单和高效率,而且FIR滤波器的冲激响应是有限长序列,其系统函数为一个多多项式,它所含的极点多为原点,所以FIR滤波器是稳定的。4.3基于MATLAB的IIR数字滤波器的设计4.3.1IIR数字滤波器的设计原理IIR般采用递归型的结构,系统的输入与输出服从N阶差分方程:NMX时山-0
18、=X玄兀-0(其中=1)i-0r-0相应的传输函数为:zbizi)H©=七-=丄j-ij-i设计IIR数字滤波器就是要确定传输函数中的系数aj、bi,或者零极点增益ci、dj、A,使滤波器的频率特性满足给定的性能指标要求。设计原理主要包括两个方面:是根据设计指标,先设计出相应的模拟滤波器,再通过脉冲响应不变法或者双线性变化法转换成对应的数字滤波器;二是先选择种最优准则,如最小均方误差准则,再在此准则下求出滤波传输函数的系数。432IIR数字滤波器的传统设计方法IIR数字滤波器具有无线宽的冲击响应,与模拟滤波器相匹配。所以IIR滤波器的设计可以采取在模拟滤波器设计的基础上进步变换的方法
19、。例如利用脉冲响应不变法设计IIR数字滤波器,其基本设计思路是直接设计一个数字滤波器并让它的时间特性逼近个模拟滤波器。为了达到时间特性的最佳逼近,把模拟滤波器的冲击响应均匀取值,作为数字滤波器的单位脉冲响应,即:h(n)=h(t)Lri?然后将h(n)通过z变换即糗得H(z)。因此,脉冲响应不变法实际是时域取样法,整个过程先是根据给定的指标设计个模拟滤波器,进而按下列变换的顺序,最后糗得数不得用于商业用途仅供个人参考字滤波器的系统函数H(z),即;在对滤波器进行设计时,整个过程运算量是很大的。设计完成后要对已设计的滤波器的频率响应进行校核,得到幅频相频响应特性,运算量也是很大的。通常,待设计的
20、数字滤波器,阶数和类型并不一定是完全给定的,很多时候都是要根据设计要求和滤波效果不断进行调整,以达到设计的最优化。在这种情况下,滤波器的设计就要进行大量复杂的运算,单纯的靠公式计算和编制简单的程序很难在短时间使问题得到解决。433IIR数字滤波器的设计FDATool(FilterDesign&AnalysisTool)是MATLAB信号处理工具箱里专用的滤波器设计分析工具,MATLAB6.0以上的版本还专门增加了滤波器设计工具箱(FilterDesignToolbox)。FDATool可以设计几乎所有的常规滤波器,包括FIR和IIR的各种设计方法。它操作简单,方便灵活。下面就利用本文要
21、求设计一个10阶的带通ChebyshevI滤波器,它的通带范围是100到200Hz,采样频率为1000Hz,Rp=0.5。本例中,首先在FilterType中选择Bandpass(带通滤波器);在DesignMethod选项中选择IIR,接着在相邻的右则选项中选择Chebyshev(切比雪夫I型);指定FilterOrder项中的SpecifyOrder=10;由于采用的是切比雪夫设计,不必在Options中选择;然后在FrequencySpecifications中选择Unit为Hz,给出采样频率Fs二1000,通带Fpass1=100和Fpass2=200;最后在MagnitudeSpec
22、ifications中选择Unit为db,Apass=0.5。设置完成后点击DesignFilter即可得到所设计的IIR滤波器。通过菜单选项Analysis可以在特性区看到所设计的幅频响应、相频响应、冲激响应和零极点配置等特性,如图1所示。设计完成后将结果保存为filter1.fda文件。MriitudcRcnioiitcMagnitudeRusponstindU巨pgme->.Frequency(kEIz)RhascKespemstRhascresponse:(a)幅频特性i:b)相频特性mpulscresponse01右11TT;'10.1().05-0.05-0.-D.5
23、-0.2IHl2fl3D4iJ6117(t汕i叭iime(ms)g)冲激响应图1滤波器的幅频、相频和冲激响应(特性区)4.3.4 IIR数字滤波器的程序设计上例IIR滤波器的冲激响应可用程序设计如下:%chebyshev1bpfn=10;%阶数为10Rp=0.5;%幅值衰减为0.5Wn=100200/500;b,a=cheby1(n,Rp,Wn);y,t=impz(b,a,101);不得用于商业用途仅供个人参考stem(t,y,'.');由图1(a)可知,这种滤波器在100-200Hz的通带范围内是等波纹的,而在阻带中是单调的,这是ChebyshevI滤波器的幅频特性。由图1(
24、b)可知,在100-200Hz的范围内相移较小,其曲线近似一条直线,失真较小;当频率超过这一范围时,相移较大,而且其曲线是非直线的,所以失真也较大。图1(c)得到了ChebyshevI滤波器的时域冲激响应,在5100ms有冲激响应,超过这一范围的冲激响应近似为零,进而实现了ChebyshevI带通滤波器的设计。4.3.5 IIR数字滤波器的仿真通过调用Simulink中的功能模块,可以构成数字滤波器的仿真框图。在仿真过程中,双击各功能模块,随时改变参数,获得不同状态下的仿真结果。例如原始信号x(t)=2sin(0.05Pt)+w(t),w(t)为随机信号,幅值为0.2,通过一传递函数为H(z)
25、=0.15/(1-0.8z-1的滤波器可得到如图2的仿真结果。其中仿真过程中可导入不得用于商业用途0u1090100药4U5。(jQ7()沖''iiiieresponseM)滤波后信打波形图2Simulink仿真结果比较图2中(b)和(c)的波形可知,输入的原始信号经过滤波器滤波后,(b)中波形的毛刺部分(即干扰噪声)被滤除,输出的信号更接近正弦波,如(c)中所示波形。由此说明,传递函数为H(z)=0.15/(l-0.8zT的滤波器的设计是恰当的。5FIR数字滤波器与IIR数字滤波器的比较从性能上来说,IIR滤波器传递函数包括零点和极点两组可调因素,对极点的惟一限制是在单位圆内
26、。因此可用较低的阶数获得高的选择性,所用的存储单元少,计算量小效率高。但是这个高效率是以相位的非线性为代价的。选择性越好,则相位非线性越严重。FIR滤波器传递函数的极点固定在原点,是不能动的,它只能靠改变零点位置来改变它的性能。所以要达到高的选择性,必须用较高的阶数;对于同样的滤波器设计指标,FIR滤波器所要求的阶数可能比IIR滤波器高5-10倍,结果,成本较高,信号延时也较大;如果按线性相位要求来说,则IIR滤波器就必须加全通网络进行相位校正,同样要大大增加滤波器的阶数和复杂性。而FIR滤波器却可以得到严格的线性相位。从结构上看,IIR滤波器必须采用递归结构来配置极点,并保证极点位置在单位圆
27、内。由于有限字长效应,运算过程中将对系数进行舍入处理,引起极点的偏移。这种情况有时会造成稳定性问题,甚至产生寄生振荡。相反,FIR滤波器只要采用非递归结构,不论仅供个人参考在理论上还是在实际的有限精度运算中都不存在稳定性问题,因此造成的频率特性误差也较小。此外FIR滤波器可以采用快速傅里叶变换算法,在相同阶数的条件下,运算速度可以快得多。另外,也应看到,IIR滤波器虽然设计简单,但主要是用于设计具有分段常数特性的滤波器,如低通、高通、带通及带阻等,往往脱离不了模拟滤波器的格局。而FIR滤波器则要灵活得多,尤其是他易于适应某些特殊应用,如构成数字微分器或希尔波特变换器等,因而有更大的适应性和广阔
28、的应用领域。从上面的简单比较可以看到IIR与FIR滤波器各有所长,所以在实际应用时应该从多方面考虑来加以选择。从使用要求上来看,在对相位要求不敏感的场合,如语言通信等,选用IIR较为合适,这样可以充分发挥其经济高效的特点;对于图像信号处理,数据传输等以波形携带信息的系统,则对线性相位要求较高。如果有条件,采用FIR滤波器较好。当然,在实际应用中可能还要考虑更多方面的因素。6结论利用MATLAB的信号处理工具箱强大的信号处理功能,采用编程的方法设计数字滤波器,使设计达到了最优化;并且它可以快速的实现数字滤波器的仿真,使设计达到了最简化。本文设计的数字滤波器采用IIR和FIR两种方法来实现,其中IIR采用巴特沃什,FIR采用布莱克曼窗函数法,按设计指标要求进行设计。利用MATLAB采用编程的方法实现。通过对IIR数字滤波器和FIR数字滤波器的比较可知IIR数字滤波器幅频特性较好,而相频特性曲线呈非线性,会使信号产生失真,阶数比FIR数字滤波器低,系统不稳定;FIR数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业管理习题答案
- 2026 学龄前自闭症融合干预行为课件
- 江西省吉安朝宗实验学校2026届中考联考历史试题含解析
- 关于语文学习计划
- 初中道德与法治教育科学八年级上册(2023年新编) 网络世界明辨是非 拒绝盲从 教案
- 2026 学龄前自闭症社区策略应用课件
- 2026年注册会计师题库在线测试系统十
- 2026 学龄前自闭症情绪识别训练课件
- 2026 学龄前自闭症家校互动课件
- 当代社会的道德诚信
- 2026年深度学习及其应用-复旦大学中国大学mooc课后章节答案期末练习题(典型题)附答案详解
- 2026云南昆华医院投资管理有限公司(云南新昆华医院)招聘5人备考题库及答案详解参考
- 蔬菜水果食材配送服务投标方案(技术方案)
- 人教版数学二年级下册全册教学设计及教学反思
- 电力变压器的结构及工作原理
- 教科版四年级科学上册《第1单元声音 单元复习》教学课件
- 电梯井安全防护及施工操作平台监理细则(3篇)
- 急诊科患者VTE风险评估制度
- 某乡综合服务中心建设项目可行性研究报告书
- JTT695-2007 混凝土桥梁结构表面涂层防腐技术条件
- 2024年山东潍坊港华燃气有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论