1、太阳能热水器使用说明中译英1111修改太原理工大学现代科技学院DSP硬件电路设计基础 课程设计设计名称:无线冲击响应IIR滤波器的设计 专业班级:电子信息12-4 学 号:2012101635 姓 名:邵烨 指导教师:贾海蓉、李鸿燕 太原理工大学现代科技学院专业班级电子信息12-4学生姓名邵烨课程名称设计名称无限冲击响应IIR滤波器的设计设计周数1.5周指导教师贾海蓉、李鸿燕设计任务主要设计参数1. 掌握数字滤波器的设计过程;2. 了解IIR的原理和特性;3. 熟悉设计IIR数字滤波器的原理和方法;4. 学习IIR滤波器的DSP实现原理;5. 学习使用CCS的波形观察窗口观察输入/输出信号波形
2、和频谱变化情况。设计内容设计要求1. 通过MATLAB来设计一个低通滤波器,对它进行模拟仿真确定IIR滤波器系数;2. 用DSP汇编语言及C语言进行编程,实现IIR运算,对产生的合成信号,滤除信号中高频成分,观察滤波前后的波型变化。主要参考资 料邹彦等DSP原理及应用北京:电子工业出版社2007年电气与电子信息类本科规划教材李利等DSP原理及应用北京:中国水利水电出版社2007年21世纪高等院校规划教材学生提交归档文件课程设计报告课程设计任务书注:1.课程设计完成后,学生提交的归档文件应按照:封面任务书说明书图纸的顺序进行装订上交(大张图纸不必装订) 2.可根据实际内容需要续表,但应保持原格式
3、不变。指导教师签名: 日期:15.01.12 一、设计目的1、 掌握数字滤波器的设计过程;2、 了解IIR的原理和特性;3、 熟悉设计IIR数字滤波器的原理和方法;4、 学习II R滤波器的DSP实现原理;5、通过CCS的图形显示工具观察输入/输出信号波形以及频谱的变化。二、设计内容用DSP汇编语言编程,实现IIR运算,对产生的合成信号,滤除信号中高频成分,观察滤波前后的波形变化。三、设计原理(1)IIR滤波器的基本结构IIR滤波器广泛应用于数字信号处理中。IIR滤波器差分方程的一般表达式为: 式中x(n)为输入序列;y(n)为输出序列;和为滤波器系数.若所有系数等于0,则为FIR滤波器.II
4、R滤波器具有无限长的单位脉冲响应,在结构上存在反馈回路,具有递归性,即IIR滤波器的输出不仅与输入有关,而且与过去的输出有关.将上式展开得出y(n)表达式为:在零初始条件下,对上式进行z变换,得到:设N=M,则传递函数为:上式可写成:该传输函数既有极点又有零点。输出既依赖于输入又依赖于过去输出。IIR所需计算比FIR少。但是IIR具有稳定性问题。对滤波系数的量化特别敏感。上式具有N个零点和N个极点.若有极点位于单位圆外将导致系统不稳定.由于FIR滤波器所有的系数均为0,不存在极点,不会造成系数的不稳定.对于IIR滤波器,系统稳定的条件如下:若|pi|1,当n时,h(n),系统不稳定.IIR滤波
5、器具有多种形式,主要有:直接型(也称直接I型)、标准型(也称直接II型)、变换型、级联型和并联型.二阶IIR滤波器,又称为二阶基本节,分为直接型、标准型和变换型.对于一个二阶IIR滤波器,其输出可以写成: 直接型(直接I型)根据上式可以得到直接二型IIR滤波器的结构图.如图1所示.共使用了4个延迟单元().图1 直接I型二阶IIR滤波器直接型二阶IIR滤波器还可以用图2的结构实现.图2 直接I型二阶IIR滤波器此时,延时变量变成了w(n).可以证明上图的结构仍满足二阶IIR滤波器输出方程.前向通道:反馈通道:将1.2式代入1.1式可得:标准型(直接II型)从图2可以看出,左右两组延迟单元可以重
6、叠,从而得到标准二阶IIR滤波器的结构图,如图3所示.由于这种结构所使用的延迟单元最少(只有2个),得到了广泛地应用,因此称之为标准型IIR滤波器.图3 标准型二阶IIR滤波器(2)二阶IIR滤波器的DSP实现标准型二阶IIR滤波器的实现在二阶IIR滤波器结构中,标准型结构是最常见的滤波器结构,其结构如图4所示:图4 标准型二阶IIR滤波器由结构图可以写出反馈通道和前向通道的差分方程:反馈通道: 前向通道: 由以上两式对二阶IIR滤波器进行编程,其中乘法-累加运算可采用单操作数指令或双操作数指令,数据和系数可存放在DARAM中,如图5所示:图5 双操作数数据存放和系数表直接型二阶IIR滤波器的
7、实现二阶IIR滤波器可以用直接型结构来实现.在迭代运算中,先衰减后增益,系统的动态范围和鲁棒性要好些.直接型二阶IIR滤波器的结构如图6所示:图6 直接型二阶IIR滤波器直接型二阶IIR滤波器的脉冲传递函数为:差分方程为:为了实现直接型滤波,可在DARAM中开辟4个循环缓冲区,用来存放变量和系数,并采用循环缓冲区方式寻址.这4个循环缓冲区的结构如图7所示:图7 循环缓冲区结构四、总体方案设计一个N阶IIR滤波器的传递函数可以表达为 用差分方程可以表达为从这个差分方程表达式可以看出, 是由两部分相加构成:第一部分是一个对输入的N节延时链结构,每节延时抽头后加权相加,也即是一个横向结构网络。第二部
8、分也是一个N节延时链的横向结构网络,不过它是对延时,因此是个反馈网络。从图中我们可以看到,直接型结构需要2N级延时单元。2.IIR数字滤波器设计的系统框图;3、主要步骤 用CCS编写好实验所需的汇编程序、C程序、链接命令文件等文件,在CCS中加载,然后在VIEW 选单中 Graph 副选框内的Time/Frequency 打开对话框,修改以下内容:查看输入时将Start Address改为data_in,查看输出时改为out。若要查看频谱则选为View菜单中的FFT Magnitude选项。五、源程序1、汇编语言源程序(iir.asm):.global _iir,_init,_outdata_
9、iirbsetfrctsub #1,t0mov t0,mmap(csr) add t0,ar0 mov xar2,xdp mov ar2,cdp mov #0,ac0 rptcsr macmz *ar0-,*cdp+,ac0 add t0,ar1 mov xar3,xdp mov ar3,cdp rptcsr macmz *ar1-,*cdp+,ac0 mar *ar1+ mov hi(ac0),*ar1 mov hi(ac0),t0 bclrfrct ret_initsub #1,t0 mov t0,mmap(csr) mov #0,ac0 rptcsr mov ac0,*ar0+ rptc
10、sr mov ac0,*ar1+ ret_outdatamov t1,ac0 sub #2,ac0 mov ac0,mmap(csr) add ac0,ar0 rptcsr delay *ar0- mar *ar0+ mov t0,*ar0 ret2、链接命令文件(.cmd文件):-stack 0x0500-sysstack 0x0500-heap 0x1000-c-u _Reset-l rts55.libMEMORY PAGE 0:RAM(RWIX): origin=0x000100, length=0x01ff00ROM(RIX): origin=0x020100, length=0x01
11、ff00VECS(RIX): origin=0xffff00, length=0x000200PAGE 2:IOPORT(RWI):origin=0x000000, length=0x020000 SECTIONS .text ROM PAGE 0 .data ROM PAGE 0 .bssRAM PAGE 0 .constRAM PAGE 0 .sysmemRAM PAGE 0 .stack RAM PAGE 0 .cioRAM PAGE 0 .sysstackRAM PAGE 0 .switch RAM PAGE 0 .cinitRAM PAGE 0 .pinitRAM PAGE 0 .v
12、ectors VECS PAGE 0 .ioportIOPORT PAGE 2 3、C程序#include math.h#define signal_1_f 500#define signal_2_f 10000#define signal_sample_f 25000#define pi 3.1415926#define IIRNUMBER_L 2#define bufer_L 256int N_L=IIRNUMBER_L; intdata_inbufer_L;int outbufer_L ;int xIIRNUMBER_L+1;int yIIRNUMBER_L+1;int k=0;intb
13、ufer=bufer_L;intfBnIIRNUMBER_L=0,0x634a;intfAnIIRNUMBER_L=0xe5c,0xe5c;externintiir(int *x,int *y,int *fAn,int *fBn,int N_L);externintinit(int *,int *,int);externintoutdata(int *,int,int);voidinputwave();void main()intiirout;inputwave();init(x,y,N_L);while(1)x0=data_ink;iirout=iir(x,y,fAn,fBn,N_L);ou
14、tdata(out,iirout,bufer);k+;if(k=bufer_L)k=0;voidinputwave()float wt1;float wt2;inti;for(i=0;i=bufer_L;i+)wt1=2*pi*i*signal_1_f;wt1=wt1/signal_sample_f;wt2=2*pi*i*signal_2_f;wt2=wt2/signal_sample_f;data_ini=(cos(wt1)+cos(wt2)/2*32768;在CCS内编写以上程序通过加载运行等操作得到输入,输出的时域与频域波形图。六、实验结果及分析1、输入信号波形属性时域波形频域波形2、输
15、出信号波形属性时域波形频域波形七、设计总结通过这次实验,初步了解了TMS320VC54x芯片,了解设计数字滤波器的原理与方法;掌握数字滤波器的计算机仿真方法,了解了IIR的原理和特性,学习IIR滤波器的DSP实现原理.熟悉设计IIR数字滤波器的原理和方法,学习使用CCS的波形观察窗口观察输入输出信号波形和频谱变化情况.经过这次课程设计,我不仅对以前所学的知识有了较深刻的理解,而且动手能力、独立解决问题的能力及查找资料的能力得到了提高,学会怎么在遇到问题是去思考解决方法,在自己无法解决是得虚心求教于同学和老师,也要感谢老师和同学们的帮助。相信这次实验所获得的东西会在今后的学习和生活中有很大的帮助。八、参考文献DSP原理以及应用 ,电子工业出版社XX文库
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1