华东师范大学IIR滤波器的DSP及Matlab实现1IIR滤波器的DSP及Matlab实现华东师范大学2010届学士学位论文专业班级姓名时间指导教师2010年5月12日一.设计目的:1.掌握数字滤波器的设计过程;华东师范大学IIR滤波器的DSP及Matlab实现22.了解IIR的原理和特性;3.熟悉设计IIR数字滤波器的原理和方法;4.学习IIR滤波器的DSP实现原理;5.学习使用CCS的波形观察窗口观察输入/输出信号波形和频谱变化情况。二.设计内容:1.通过MATLAB来设计一个高通滤波器,对它进行模拟仿真确定IIR滤波器系数;2.用DSP汇编语言编程,实现IIR运算,对产生的合成信号,滤除信号中高频成分,观察滤波前后的波形变化。三.设计原理:IIR滤波器与FIR滤波器相比具有相位特性差的特点,但它的结构简单,运算量小,具有经济高效的特点,并且可以用较少的阶数获得很高的选择性,因此也得到了广泛的应用。IIR数字滤波器系统传递函数为:H(Z)=Y(Z)/X(Z)=(b0+b1z^-1+```+bnz^-N)/(1+a1z^-1+```+an^-N)它具有N个极点和N个零点,如果任何一个极点在单位圆外,则系统不稳定。如果系数aj(j=1,```,N)全部为零,则滤波器变成非递归的FIR滤波器,系统总是稳定的。对于IIR滤波器,系统总是稳定的。华东师范大学IIR滤波器的DSP及Matlab实现3对于IIR滤波器,有系数量化敏感的缺点。由于系统对序列施加的算法是由加法、乘法和延时的基本运算的组合,所以可以用不同结构的数字滤波器来实现,而不影响系统的总的传输函数。四.总体方案设计:1.IIR滤波器的结构IIR滤波器的传递函数Hz在有限z平面上有极点存在。它的单位脉冲响应延续到无限长,而它的结构上的特性是存在反馈环路,也即结构上是递归型的。具体实现起来,结构并不是唯一的。同一个传递函数Hz,可以有各种不同的结构形式,其中主要的基本结构形式有以下几种:直接型一个N阶IIR滤波器的传递函数可以表达为1011()1NiiNiiazHzbz用差分方程可以表达为01()()()NNiiiiynaxnibyni从这个差分方程表达式可以看出,yn是由两部分相加构成:第一部分Nii0axni是一个对输入xn的N节延时链结构,每节延时抽头后加权相加,也即是一个横向结构网络。第二部分Nii1byni也是一个N节延时链的横向结构网络,不过它是对yn延时,因此是个反馈网络。从图中我们可以看到,直接型结构需要2N级延时单元。华东师范大学IIR滤波器的DSP及Matlab实现42.IIR数字滤波器设计的系统框图;3.设计步骤;1.首先应根据指标参数及对滤波器特性的要求,选择合适的滤波器类型及设计方法进行设计。根据本次设计的要求应采用Butterworth型IIR高通滤波;2.运用MATLAB编程,根据给定参数求出高通滤波器的指标和系统函数的系数;如下所示:编写程序:Wp=400/5001zxnxn1xn2xnNynyn1yn2ynN0a1a2aN1aNa1b2bN1bNb1z1z1z1z1z数字滤波器技术指标数模指标参数变换模拟滤波器技术指标数字滤波器模拟滤波器离散化相应的模拟滤波器设计华东师范大学IIR滤波器的DSP及Matlab实现5Wp=0.8000Ws=200/500Ws=0.4000[n,Wn]=buttord(Wp,Ws,10,25)n=2Wn=0.7990[b,a]=butter(n,Wn)b=0.63751.27500.6375a=1.00001.13890.4110freqz(b,a,512,1000)得到滤波器的频率特性曲线得到滤波器阶数为n=2,系统函数系数为:华东师范大学IIR滤波器的DSP及Matlab实现6b=0.63751.27500.6375a=1.00001.13890.41103.根据上面得到的系数和参量在CCS里编程运行得到,模拟滤波器的特性,并得到输入输出时域频域内的图形,验证滤波器的正确。4.得出设计结果,分析交流,最后得到结论。五.主要参数;Wp=400HZ,Ws=200HZ,αp=10dB,αs=25dB六.源程序;根据滤波器的阶数和系数得汇编语言源程序:.titleiir.asm.mmregs.defstartDX.usectDX,3DY.usectDY,3DB.usectDB,3DA.usectDA,3PA0.set0PA1.set1.datatable:.word0.word0.word0华东师范大学IIR滤波器的DSP及Matlab实现7.word0.word6375*32768/10000.word12750*32768/10000.word6375*32768/10000.word4110*32768/10000.word11389*32768/10000.textstart:SSBXFRCTSTM#DX,AR1RPT#1MVPD#table,*AR1+STM#DY,AR1RPT#1MVPD#table+2,*AR1+STM#DB,AR1RPT#2MVPD#table+4,*AR1+STM#DA,AR1RPT#1MVPD#table+7,*AR1+STM#DX+2,AR2STM#DY+1,AR3华东师范大学IIR滤波器的DSP及Matlab实现8STM#DB+2,AR4STM#DA+1,AR5STM#3,BKSTM#-1,AR0iir:PORTRPA1,*AR2MPY*AR2+0%,*AR4+0%,AMAC*AR2+0%,*AR4+0%,AMAC*AR2,*AR4+0%,AMAC*AR3+0%,*AR5+0%,AMAC*AR3+0%,*AR5+0%,AMAR*AR5+0%STHA,*AR3BDiirPORTW*AR3,PA0.end命令文件为:-oiir.out-miir.map-estartMEMORY{PAGE0:华东师范大学IIR滤波器的DSP及Matlab实现9EPROM:org=0E000Hlen=1000HVECS:org=0FF80Hlen=0080HPAGE1:SPRAM:org=0060Hlen=0020HDARAM:org=0080Hlen=1380H}SECTIONS{.text:EPROMPAGE0.data:EPROMPAGE0DX:align(4){}DARAMPAGE1DY:align(4){}DARAMPAGE1DB:align(4){}DARAMPAGE1DA:align(4){}DARAMPAGE1.vectors:VECSPAGE0}在CCS内编写以上程序通过加载运行等操作得到输入,输出的时域与频域波形图。七.实验结果与分析;输入时域波形图:华东师范大学IIR滤波器的DSP及Matlab实现10输入频域波形图:输出时域波形图:华东师范大学IIR滤波器的DSP及Matlab实现11输出频域波形图:八.结果分析:通过比较输入滤波器前后的波形得到,输出中滤去了输入的波形,得到设计所要求的频率段的波形,说明滤波器工作了,实现了对输入的滤波处理。九.设计总结:刚开始由于对DSP不熟悉,拿到这个课题时毫无头绪,根本不知道从何处入手,并且在设计过程中遇到了很多的问题,但在老师和同学的指导和自己的努力下,终于逐个解决了每一个难题。华东师范大学IIR滤波器的DSP及Matlab实现12经过这次课程设计,我不仅对以前所学的知识有了较深刻的理解,而且动手能力、独立解决问题的能力有所提高。这个课程设计对于以后搞科研项目很有帮助,也让我了解到dsp的一些应用方法,在设计过程中,同时也暴露出了自身的许多不足,如自己自主解决问题的能力有所欠缺,这在以后需要更好的加强。在此设计过程中还用到了MATLAB等软件,我更熟悉了此软件的使用,这对以后的工作和解决实际问题都有了很好的帮助。最后衷心感谢在设计过程中给与我帮助的所有老师和同学。十.参考文献:《DSP原理及应用》邹彦主编电子工业出版社《DSP原理及应用讲义》太原理工大学信息工程学院《数字信号处理及其MATLAB实现》赵红怡、张常年化学工业出版社《数字信号处理实验指导书(MATLAB版)》美米特拉,孙洪、余翔宇等译电子工业出版社《Matlab数字信号处理与应用》李正周清华大学出版社