DSP课设-IIR滤波器的DSP实现

上传人:飞*** 文档编号:2545293 上传时间:2017-07-25 格式:DOC 页数:14 大小:813.90KB
返回 下载 相关 举报
DSP课设-IIR滤波器的DSP实现_第1页
第1页 / 共14页
DSP课设-IIR滤波器的DSP实现_第2页
第2页 / 共14页
DSP课设-IIR滤波器的DSP实现_第3页
第3页 / 共14页
DSP课设-IIR滤波器的DSP实现_第4页
第4页 / 共14页
DSP课设-IIR滤波器的DSP实现_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《DSP课设-IIR滤波器的DSP实现》由会员分享,可在线阅读,更多相关《DSP课设-IIR滤波器的DSP实现(14页珍藏版)》请在金锄头文库上搜索。

1、课程名称: DSP 原理及应用 实验项目: IIR 滤波器的 DSP 实现 实验地点: 起点机房 专业班级: 通信 1002 学号: 学生姓名: 指导教师: 2012 年 12 月 26 日IIR 滤波器的 DSP 实现一、设计目的1、掌握数字滤波器的设计过程;2、了解 IIR 的原理和特性;3、熟悉设计 IIR 数字滤波器的原理和方法;4、学习 II R 滤波器的 DSP 实现原理;5、通过 CCS 的图形显示工具观察输入/输出信号波形以及频谱的变化。二、设计内容用 DSP 汇编语言编程,实现 IIR 运算,对产生的合成信号,滤除信号中高频成分,观察滤波前后的波形变化。三、设计原理(1)II

2、R 滤波器的基本结构IIR 滤波器广泛应用于数字信号处理中。IIR 滤波器差分方程的一般表达式为 : 式中 x(n)为输入序列 ;y(n)为输出序列; 和为滤波器系数.若所有系数等于 0,则为 FIR 滤波器.IIR 滤波器具有无限长的单位脉冲响应,在结构上存在反馈回路 ,具有递归性,即 IIR 滤波器的输出不仅与输入有关,而且与过去的输出有关.将上式展开得出 y(n)表达式为:在零初始条件下,对上式进行 z 变换,得到:设 N=M,则传递函数为 :上式可写成:该传输函数既有极点又有零点。输出既依赖于输入又依赖于过去输出。IIR 所需计算比 FIR 少。但是 IIR 具有稳定性问题。对滤波系数

3、的量化特别敏感。上式具有 N 个零点和 N 个极点.若有极点位于单位圆外将导致系统不稳定 .由于 FIR 滤波器所有的系数均为 0,不存在极点,不会造成系数的不稳定.对于 IIR 滤波器,系统稳定的条件如下 :若|pi|1,当 n时,h(n),系统不稳定.IIR 滤波器具有多种形式,主要有: 直接型(也称直接 I 型)、标准型(也称直接 II 型)、变换型、级联型和并联型.二阶 IIR 滤波器,又称为二阶基本节,分为直接型、标准型和变换型 .对于一个二阶 IIR 滤波器,其输出可以写成:直接型(直接 I 型)根据上式可以得到直接二型 IIR 滤波器的结构图.如图 1 所示 .共使用了 4 个延

4、迟单元().图 1 直接 I 型二阶 IIR 滤波器直接型二阶 IIR 滤波器还可以用图 2 的结构实现.图 2 直接 I 型二阶 IIR 滤波器此时,延时变量变成了 w(n).可以证明上图的结构仍满足二阶 IIR 滤波器输出方程.前向通道:反馈通道:将 1.2 式代入 1.1 式可得:标准型(直接 II 型)从图 2 可以看出,左右两组延迟单元可以重叠,从而得到标准二阶 IIR 滤波器的结构图,如图 3 所示.由于这种结构所使用的延迟单元最少(只有 2 个),得到了广泛地应用,因此称之为标准型 IIR 滤波器.图 3 标准型二阶 IIR 滤波器(2)二阶 IIR 滤波器的 DSP 实现标准型

5、二阶 IIR 滤波器的实现在二阶 IIR 滤波器结构中,标准型结构是最常见的滤波器结构 ,其结构如图 4 所示:图 4 标准型二阶 IIR 滤波器由结构图可以写出反馈通道和前向通道的差分方程:反馈通道: 前向通道: 由以上两式对二阶 IIR 滤波器进行编程,其中乘法-累加运算可采用单操作数指令或双操作数指令,数据和系数可存放在 DARAM 中,如图 5 所示:图 5 双操作数数据存放和系数表直接型二阶 IIR 滤波器的实现二阶 IIR 滤波器可以用直接型结构来实现.在迭代运算中,先衰减后增益 ,系统的动态范围和鲁棒性要好些.直接型二阶 IIR 滤波器的结构如图 6 所示:图 6 直接型二阶 I

6、IR 滤波器直接型二阶 IIR 滤波器的脉冲传递函数为 :差分方程为:为了实现直接型滤波,可在 DARAM 中开辟 4 个循环缓冲区,用来存放变量和系数,并采用循环缓冲区方式寻址.这 4 个循环缓冲区的结构如图 7 所示:图 7 循环缓冲区结构四、总体方案设计一个N阶IIR滤波器的传递函数可以表达为 101()NiiazHb用差分方程可以表达为 01()()()NNi iynaxbyn从这个差分方程表达式可以看出, 是由两部分相加构成:第一部分 是一个对输入 的N节延时链结构,每节延时抽头后Niinxa0 nx加权相加,也即是一个横向结构网络。第二部分 也是一个N节延时链的横向结构网络,不过它

7、是对Niinyb1延时,因此是个反馈网络。ny从图中我们可以看到,直接型结构需要2N级延时单元。 1zxnx2xnN yn1yn2ynN0a12aN1a1b2N1b1z zz2.IIR 数字滤波器设计的系统框图;数字滤波器技术指标数模指标参数变换模拟滤波器技术指标数字滤波器模拟滤波器离散化相应的模拟滤波器设计3、主要步骤用 CCS 编写好实验所需的汇编程序、C 程序、链接命令文件等文件,在CCS 中加载,然后在 VIEW 选单中 Graph 副选框内的 Time/Frequency 打开对话框,修改以下内容:查看输入时将 Start Address 改为 data_in,查看输出时改为 out

8、。若要查看频谱则选为 View 菜单中的 FFT Magnitude 选项。五、源程序1、汇编语言源程序(iir.asm):.global _iir,_init,_outdata_iirbsetfrctsub #1,t0mov t0,mmap(csr)add t0,ar0mov xar2,xdpmov ar2,cdpmov #0,ac0rptcsrmacmz *ar0-,*cdp+,ac0add t0,ar1mov xar3,xdpmov ar3,cdprptcsrmacmz *ar1-,*cdp+,ac0mar *ar1+mov hi(ac0),*ar1mov hi(ac0),t0bclrf

9、rctret_initsub #1,t0mov t0,mmap(csr)mov #0,ac0rptcsrmov ac0,*ar0+rptcsrmov ac0,*ar1+ret_outdatamov t1,ac0sub #2,ac0mov ac0,mmap(csr)add ac0,ar0rptcsrdelay *ar0-mar *ar0+mov t0,*ar0ret2、链接命令文件(.cmd 文件):-stack 0x0500-sysstack 0x0500-heap 0x1000-c-u _Reset-l rts55.libMEMORYPAGE 0:RAM(RWIX): origin=0x00

10、0100, length=0x01ff00ROM(RIX): origin=0x020100, length=0x01ff00VECS(RIX): origin=0xffff00, length=0x000200PAGE 2:IOPORT(RWI):origin=0x000000, length=0x020000SECTIONS.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.swit

11、ch RAM PAGE 0.cinitRAM PAGE 0.pinitRAM PAGE 0.vectors VECS PAGE 0.ioportIOPORT PAGE 23、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

12、xIIRNUMBER_L+1;int yIIRNUMBER_L+1;int k=0;intbufer=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);whil

13、e(1)x0=data_ink;iirout=iir(x,y,fAn,fBn,N_L);outdata(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 内编写以上程序通过加载运行等操

14、作得到输入,输出的时域与频域波形图。六、实验结果及分析1、输入信号波形属性时域波形频域波形2、输出信号波形属性时域波形频域波形七、设计总结通过这次实验,初步了解了 TMS320VC54x 芯片,了解设计数字滤波器的原理与方法;掌握数字滤波器的计算机仿真方法,了解了 IIR 的原理和特性,学习 IIR 滤波器的 DSP 实现原理.熟悉设计 IIR 数字滤波器的原理和方法,学习使用 CCS 的波形观察窗口观察输入输出信号波形和频谱变化情况.经过这次课程设计,我不仅对以前所学的知识有了较深刻的理解,而且动手能力、独立解决问题的能力及查找资料的能力得到了提高,学会怎么在遇到问题是去思考解决方法,在自己无法解决是得虚心求教于同学和老师,也要感谢老师和同学们的帮助。相信这次实验所获得的东西会在今后的学习和生活中有很大的帮助。八、参考文献DSP 原理以及应用 ,电子工业出版社百度文库

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号