利用MATLAB结合频率取样法设计数字高通FIR滤波器_第1页
利用MATLAB结合频率取样法设计数字高通FIR滤波器_第2页
利用MATLAB结合频率取样法设计数字高通FIR滤波器_第3页
利用MATLAB结合频率取样法设计数字高通FIR滤波器_第4页
利用MATLAB结合频率取样法设计数字高通FIR滤波器_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计任务书学生:专业班级:指导教师:工作单位:题目:利用MATLAB结合频率取样法设计数字高通FIR滤波器要求完成的主要任务:1 .利用频率取样法设计一个数字高通FIR滤波器2 .画出高通滤波器的幅频响应课程设计进度安排序号阶段容所需时间1方茶设计1天2软件设计2天3系统调试1天4撰写报告1天合计5天指导教师签名:系主任(或责任教师)签名:z.课程设计进度安排I目录.摘要IAbstractII1 FIR数字滤波器1.1.1 FIR滤波器的特点11.2 FIR数字滤波器设计方法21.3 线性相位FIR数字滤波器的条件和特点21.3.1 线性相位条件21.3.2 线性相位FIR滤波器的幅度特性

2、与相位特性32利用频率采样法设计FIR滤波器42.1 用频率采样法设计滤波器的基本原理42.2 线性相位的约束条件52.3 逼近误差及其改进措施72.3.1 产生误差的原因72.3.2 减小误差的方法72.4 频率采样法的特点83频率取样法的数字高通滤波器的实现83.1 MATLAB的介绍83.2 设计条件93.3 设计程序93.4 调试结果114心得体会12附录1.4摘要MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为

3、科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。本文介绍了如何利用MATLAB仿真软件系统及数字信号处理所学知识利用频率采样法设计一个数字高通滤波器。以此来巩固课堂理论学习,并能用所学理论知识正确分析信号处理的基本问题和解释信号处理的基本现象。关键字:MATLAB;数字信号处理;数字滤波器;频率采样法AbstractMATLABisreleasedbytheUnitedStatesmathworksmainlyforscientificcomp

4、uting,visualizationandinteractiveprogramdesignedhigh-techcomputingenvironment.Itnumericalanalysis,matrixcomputation,scientificdatavisualizationaswellasnon-lineardynamicsystemsmodelingandsimulation,andmanyotherpowerfulintegratedinaneasy-to-useWindowsenvironment,scientificresearch,engineeringdesignand

5、theneedforeffectivenumericaltheeditmodemanyscientificfieldsprovidesacomprehensivesolution,andinlargeparttogetridofthetraditionalnon-interactiveprogramminglanguage(suchasC,Fortran),onbehalfoftheadvancedleveloftoday'sinternationalscientificcomputingsoftware.ThisarticledescribeshowtouseMATLABsimula

6、tionsoftwaresystemsanddigitalsignalprocessinglearnedknowledgeusingfrequencysamplingmethodtodesignadigitalhigh-passfilter.Inordertoconsolidatethetheoreticalclassroomlearning,andbasicquestionsandexplainbasicsignalprocessingphenomenoncanbelearnedtheoreticalknowledgetocorrectlyanalyzethesignalprocessing

7、.Keyword:MATLAB;digitalsignalprocessing;digitalfilter;frequencysamplingmethod1FIR数字滤波器1.1FIR滤波器的特点FIR滤波器的脉冲响应h(n)是有限长的(0语6-1),其z变换为:N1H(z)h(n)znn0(式1)它是z-1的(N-1)阶多项式,在有限z平面(0<n<8止有(N-1)个零点,而极点位于z平面原点z=0处,且有(N-1)阶。FIR滤波器的基本结构可以理解为一个分节的延时线,把每一节的输出加权累加,可得到滤波器的输出,FIR滤波器的冲激响应h(n)是有限长的,数学上M阶FIR滤波器可以

8、表示为:M1y(n)=h(i)x(ni)(式2)i0其系统函数为:M1H(z)=h(n)zn(式3)n0普通的直接型FIR滤波器结构如图1所示。,Frr,-机0)第1)瓢2)帐V)1:JL.JA图1FIR滤波器的直接型结构FIR滤波器最突出的优点有2个:一是只要对h(n)附加一定的条件,很容易获得严格的线性相位特性;二是由于H(z)的极点位于原点z=0处,始终满足稳定条件,所以FIR滤波器永远稳定。三是FIR滤波器由于单位脉冲响应是有限长的,因而可以用快速傅里叶变换(FFT)算法来实现过滤信号,从而可大大提高运算效率。但是,要取得很好的衰减特性,FIR滤波器H(z)的阶次比IIR滤波的要高。1

9、.2FIR数字滤波器设计方法IIR滤波器设计中的各种变换法对FIR滤波器设计是不适用的,这是因为那里是利用有理分式的系统函数,而FIR滤波器的系统函数只是z-1的多项式。FIR的设计任务是选择有限长度的脉冲响应h(n),得到系统函数H(z),使幅频特性满足技术指标要求,同时使相频特性达到线性相位。常用设计方法:(1)窗函数法(2)频率采样法(3)切比雪夫等波纹逼近法。人们最感兴趣的是FIR滤波器具有线性相位的相频特性。对非线性相位的FIR滤波器,一般可以用IIR滤波器来代替,因为同样幅度特性,IIR滤波器所需阶数比FIR滤波器的阶数要少得多。1.3线性相位FIR数字滤波器的条件和特点1.3.1

10、 线性相位条件对于长度为N的h(n),传输函数为N1H(ej)h(n)ejn(式4)n0H(ejc)=Hg(3)e0(o)(式5)式中,Hg()称为幅度特性,氏)称为相位特性。注意,这里Hg()不同于|H(d)|,Hg()为的实函数,可能取负值,而|H(d。总是正值。H(eH线性相位是指0()是的线性函数,即0(Gj)=-TT3TT为常数(式6)如果公)满足0(w)=&TT3也是起始相位严格地说,此时0()不具有线性相位,但以上两种情况都满足群时延是一个常数,即(式7)d()d也称这种情况为线性相位。1.3.2线性相位FIR滤波器的幅度特性与相位特性线性相位FIR滤波器的幅度特性与相位

11、特性如下图:儡时棘单位脉冲电应Q帆n)日2 INT) * I ROil*H J喻 0 ¥ un)coS/iti>“皿相位响悭9(砌n用为弱敢情况1情取2N为奇数加.It相位响屈川为奇兹=n2m7吃(/)=E0ms1rls可3w2图2线性相位FIR滤波器的幅度特性与相位特性一览表情况3情况4MR Ir T fl f心的2k*为儡&*(«>H Acay = f H(口抬intTthli在设计时,要注意选择合适的h(n)对称形式(奇或偶)和h(n)长度N(奇数或偶数)。如要设计高通滤波器,只能选情况1和情况4;要设计低通滤波器,只能选情况1和情况2。2利用频率

12、采样法设计FIR滤波器2.1 用频率采样法设计滤波器的基本原理待设计的滤波器的传输函数用Hd(d)表示,可按下列思路进行设计:它在二0到2冗之间等间隔采样N点,得到Hd(k)Hd(k)Hd(ej)|2,k0,1,2,NkNN点Hd(k)进彳亍IDFT,得到h(n)1N1jknh(n)Hd(k)eN,n0,1,2,NNk0式中,h(n)作为所设计的滤波器的单位取样响应。h(n)求系统函数H(z)N1H(z)h(n)zn01 (式 8)1 (式 9)(式 10)H(z)1 z N N 1 Hd(k),2k01 ej'z 1(式 11)将插值公式重写如下此式就是直接利用频率采样值Hd(k)形

13、成滤波器的系统函数。用频率采样法设计线性相位滤波器的条件:FIR滤波器具有线性相位的条件是h(n)是实序列,且满足h(n)=h(N-1-n),其传输函数应满足的条件是Hd(ej ) Hg( )ej ( )(式 12)(式13)Hg()Hg(2),N奇数(式14)Hg()Hg(2),N偶数(式15)且H(力=0。g在=02之间等间隔采样N点,将二稣代入式(47)中,并写成k的函数:kk NHd(k)N(k)也k0,1,2,|, NHg(k)e1 2 kNj (k)Hg(k) Hg(N k),Hg(k) Hg(N k)k, N为奇数(式18) . ,N、八N为偶数且Hg(万)0(式 16)(式 1

14、7)(式 19)(式 20)说明N等于奇数时H(k)对(N-1)/2偶对称,N等于偶数时,H(k)对N/2奇对gg称,且Hg(N/2)=0。对于高通滤波器,这里N只能取奇数截止频率为叱,采样点数N,Hg(k)和6(k)用下面公式计算Hg(k)Hg(Nk)1,k0,1,2,|,kcHg(k)0,kkc1,kc2,|,Nkc1(式21)(k)(N1)k/N,k0,1,2,|,N1以上是用频率采样法设计滤波器的基本原理。2.2 线性相位的约束条件以h(n)为偶对称,N为奇数的情况进行分析1)FIR的频响具有线性相位的一般表达式当h(n)为偶对称,N为奇数时,则H(ej) H(N 1j(厂)e 2(式

15、 22)而且幅度函数H (w)应为偶对称,即H( ) H(2)(式 23)2)采样值H (k)具有线性相位的约束j2 k2 i .iH (k) H(e N ) H(k)ej k H kejN(式 24)2.其中,L H(kk)表示采样值的模N在采样点上具有线性相位的条件应为:(纯标量),k表示其相角。因此,N 12*1 k*k1k (1)N(式 25)而且,Hk必须满足偶对称,即:Hk(式 26)实际滤波器的传输函数H(ej )H(z)|Z0,与理想的传输函数Hd(d)间存图3频率采样的响应需要讨论逼近误差问题及其改进措施Z.z.2.3 逼近误差及其改进措施2.3.1 产生误差的原因从图3可看

16、出,实际的H(ej,与理想的Hd(d)相比,误差主要体现在一是通带和阻带出现波动,二是过渡带加宽,与窗函数设计法情况类似,产生误差的原因可从时域和频域两方面进行分析。从时域分析:如果Hd(ej)有间断点,那么相应单位取样响应hd(n)应是无限长的。这样,由于时域混叠,引起所设计的h(n)和hd(n)有偏差。为此,希望在频域的采样点数N加大。N愈大,设计出的滤波器愈逼近待设计的滤波器Hd(d)从频域分析:在采样点=2Ttkk=0,1,2,N-1,Ms2Tk/N)=1,因此,采样点处H(e"J(cok=2MN)与H(k)相等,逼近误差为0。在采样点之间,H(d)由有限项的H(k)(U2M

17、N)之和形成。其误差和Hd(d)特性的平滑程度有关,特性愈平滑的区域,误差愈小;特性曲线间断点处,误差最大。表现形式为间断点用倾斜线取代,且间断点附近形成振荡特性,使阻衰减减小,往往不能满足技术要求。2.3.2 减小误差的方法最直观的想法是增加采样点数,即加大N值,由于过渡带就等于采样间隔(参看图3),即(式27)所以加大N,可使过渡带变窄,但增加要适当,否则会增加滤波器体积与成本。但是,增加N并不会改善滤波器的阻带衰减特性,因为Hd(e)是理想矩形,无论怎样增多频率采样的点数,在通、阻带交界处,幅值总是从1突变到0,会引起较大的起伏振荡。为使逼近误差更小,和窗口法的平滑截断一样,通过在理想频

18、率响应的不连续点的边缘上加一些过渡的抽样点,减小频带边缘的突变,也就减小了起伏振荡,增大了阻带最小衰减。一般过渡带取一、二、三点抽样值即可得到满意结果。如在低通设计中,不加过渡点时,阻带最小衰减为-20dB,加三个过渡点(最优设计)则可达-80dB到-95dB左右。加过渡点的示意如图4所示。图4理想低通滤波器增加过渡点增加过渡点,可使阻带衰减明显提高,但付出的代价是过渡带加宽,可通过下式加大N来调整。”,N(m1)m=0,1,2,3(式28)2.4 频率采样法的特点频率采样法设计滤波器最大的优点是直接从频率域进行设计,比较直观,也适合于设计具有任意幅度特性的滤波器。但边界频率不易控制。如果增加

19、采样点数N,对确定边界频率有好处,但会增加滤波器的成本。因此,它适合于窄带滤波器的设计。3频率取样法的数字高通滤波器的实现3.1 MATLAB的介绍MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。3.2 设计条件ws=0.6pi,wp=0.8pi,通带波动1dB,阻带衰减50dB,M=33。3.3 设计程序%频率采样技术:高通%ws=0.6pi,wp=0.8pi,Rp=1dB,As=50dB%M=33,

20、T1=0.1095;T2=0.598;M=33;alpha=(M-1)/2;l=0:M-1;wl=(2*pi/M)*l;T1=0.1095;T2=0.598;Hrs=zeros(1,11),T1,T2,ones(1,8),T2,T1,zeros(1,10);Hdr=0,0,1,1;wdl=0,0.6,0.8,1;k1=0:floor(M-1)/2);k2=floor(M-1)/2)+1:M-1;angH=-alpha*(2*pi)/M*k1,alpha*(2*pi)/M*(M-k2);H=Hrs.*exp(j*angH);h=real(ifft(H,M);db,mag,pha,grd,w=fr

21、eqz_m(h,1);Hr,ww,a,L=Hr_Type1(h);subplot(1,1,1)subplot(2,2,1);plot(wl(1:17)/pi,Hrs(1:17),'o',wdl,Hdr);axis(0,1,-0.1,1.1);title('高通:M=33,T1=0.1095,T2=0.598')xlabel('');ylabel('Hr(k)')set(gca,'XTickMode','manual','XTick',0;.6;.8;1)set(gca,'XT

22、ickLabelMode','manual','XTickLabels','0''.6''.8''1')set(gca,'YTickMode','manual','YTick',0,0.109,0.59,1);gridsubplot(2,2,2);stem(l,h);axis(-1,M,-0.4,0.4)title('脉冲响应');ylabel('h(n)');text(M+1,-0.4,'n')

23、subplot(2,2,3);plot(ww/pi,Hr,wl(1:17)/pi,Hrs(1:17),'o');axis(0,1,-0.1,1.1);title('振幅响应')xlabel('频率(单位:pi)');ylabel('Hr(w)')set(gca,'XTickMode','manual','XTick',0;.6;.8;1)set(gca,'XTickLabelMode','manual','XTickLabels',&#

24、39;0''.6''.8''1')set(gca,'YTickMode','manual','YTick',0,0.109,0.59,1);gridsubplot(2,2,4);plot(w/pi,db);axis(0,1,-100,10);gridtitle('幅度响应');xlabel('频率(单位:pi)');ylabel('分贝数');set(gca,'XTickMode','manual','X

25、Tick',0;.6;.8;1)set(gca,'XTickLabelMode','manual','XTickLabels','0''.6''.8''1')set(gca,'YTickMode','Manual','YTick',-50;0);set(gca,'YTickLabelMode','manual','YTickLabels','50''0

26、9;)%3.4调试结果iS.M=33,T1=0,1095.72=0.593040.5911KJZ01090QCOQOCX;OOO$6.31脉冲响应0.2-02-041020300.59振幅响应;口Q9->1-681频率单位;pi)1图5频率采样技术:高通,最优法结果分析:第一幅图为要高通滤波器原型,可以看到它在过渡带添加了两个采样点,以增加阻带衰减;第二幅图为系统函数单位脉冲响应图形,可以看出,它以中点成偶对称,由于采样点数为奇数,故在对称轴处有取值;第三幅图(左下)为根据频率取样法设计出的滤波器振幅响应,可以看出它在采样点处的取值与原高通滤波器精确一致,在其他点处与原高通滤波器取值逼近

27、有上下波动;第四幅图为用分贝数表示的幅度响应,可以看到采用线性最优法设计的高通滤波器的阻带衰减大于50db。设计取得了良好的效果。4心得体会Matlab的课程设计做到现在已经基本接近尾声了,既然学习一门课程,简单的总结是必须要有的。以前在信号与系统和数字信号处理的实验中已经接触过matlab,所以上手并不是很难,不过在设计的时候还是遇到了不少问题,首先是对频率取样法掌握的不到位,重新学习了频率取样法后,发现如何利用程序实现频率取样法成了一个问题。通过自己在网上查找资料,看从图书馆借来的书以及对照着老师的PPT,不断的调试,终于做出了成果。课程设计虽然做完了,但现在学的这点知识还远远不够,特别是这个软件的函数非常多,要能够熟练运用我们还有很多要学习。不过我觉得Matlab的函数设计都比较合理,她总是从函数本身的意义出发命名,这使我们记不会很难。总之这次课程设计完成的还算顺利,虽然也遇到过一些问题,但通过和同学讨论一起学习都能解决。当然,我们也都明白matlab的确是一个很实用的工具,在今后的学习中我们会不断的边学边运用它,而且我们还可以将它用在我们专业的学习

温馨提示

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

评论

0/150

提交评论