《DSP课程设计》报告 (2017-2018学年第一学期)
利用DSP开发环境CCS3.3实现IIR数字滤波器设计
目录 一、课程设计性质和目的 1 二、课程设计的内容及要求 1 1、硬件/仿真设计 1 2、软件设计 2 3、功能要求: 2 三、程序编写 2 四、结果及分析 5 五、心得体会 9 六、参考文献 10
一、课程设计性质和目的 DSP课程设计是《DSP》课程是结课后的一门综合性实践课。设计了IIR滤波器,该设计利用DSP实现IIR数字滤波器。所选题目《利用DSP开发环境CCS3.3实现 IIR数字滤波器设计》紧密结合所学的主要内容,加深巩固所学知识,同时对所学内容进行扩展,有一定的深度和广度,能充分发挥学生的思考能力和团结协作的能力。通过对DSP课题的研究,提高了学生对DSP应用系统的设计能力,进一步了解滤波器的原理,了解IIR滤波器的设计过程、CCS的使用方法以及掌握基本编程语言,掌握CCS设计IIR滤波器和CCS工程的建立,源文件的汇编、连接以及调试程序,并且观察其输入、输出波形。 二、课程设计的内容及要求 1、硬件/仿真设计数字滤波是数字信号处理的一部分。数字信号处理主要是研究用数字或符号的序列来表示信号波形,并用数字的方式去处理这些序列,把它们改变成在某种意义上更为有希望的形式,以便估计信号的特征参量,或削弱信号中的多余分量和增强信号中的有用分量。具体来说,凡是用数字方式对信号进行滤波、变换、调制、解调、均衡、增强、压缩、估值、识别、产生等加工处理,都可纳入数字信号处理领域。数字信号处理学科的一项重大进展是关于数字滤波器设计方向的研究。 描述离散系统输出与输入关系的卷积和差分方程只是给数字信号滤波器提供运算规则,使其按照这个规则完成对输入数据的处理。时域离散系统的频域特性: 其中 、 分别是数字滤波器的输出序列和输入序列的频域特性(或称为频谱特性), 是数字滤波器的单位取样响应的频谱,又称为数字滤波器的频域响应。输入序列的频谱 经过滤波后 ,因此,只要按照输入信号频谱的特点和处理信号的目的, 适当选择 ,使得滤波后的 满足设计的要求,这就是数字滤波器的滤波原理。 2、软件设计数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。IIR滤波器与FIR滤波器相比,具有相位特性差的缺点,但它的结构简单,运算量小,具有经济、高效的特点,并且可以用较少的阶数获得很高的选择性。因此也得到了较为广泛的应用。 IIR 数字滤波器的特征是,具有无限持续时间冲激响应,需要用递归模型来实现,其差分方程为: 系统函数为: 设计IIR滤波器的任务就是寻求一个物理上可实现的系统函数H(z),使其频率响应H(z)满足所希望得到的频域指标,即符合给定的通带截止频率、阻带截止频率、通带衰减系数和阻带衰减系数。 3、功能要求:用DSP汇编语言编程,实现IIR运算,对产生的合成信号,滤除信号中高频成分,观察滤波前后的波形变化。
三、程序编写
在CCS内编写以上程序通过加载运行等操作我们可以得到得到输入,输出的时域与频域波形图。 四、结果及分析 1.输入信号 <1> 输入信号波形属性 <2>输入信号时域波形图
<3>.输入波形频域图
2.输出波形 <1>输出波形属性 <2>输出时域图:
<3>输出频域图:
分析仿真结果:有仿真输入波形时域是混合波的叠加,在频域分析时我们可以看出该输入信号是一低频和一高频的叠加。当我们将该信号通过一IIR滤波器时,我们从输出波形看到,时域是一余弦波,频域也只保留了低频频率成分,这说明混合信号通过IIR滤波器后,高频成分被滤除,符合滤波器功能,因此CCS可以作为一种模拟滤波器功能的软件。
五、心得体会 通过这次的IIR滤波器的DSP实现的课程设计,我初步了解了TMS320C5502芯片,了解设计IIR数字滤波器的原理与方法;掌握数字滤波器的计算机仿真方法;通过观察对实际信号的滤波作用,获得对数字滤波器的感性认识,综合实验的各个方面以及实验中出现的问题,让我对DSP环境下IIR数字滤波器设计有了全新而系统的认识:对滤波器设计要掌握足够的理论知识,遇到不理解不明白的地方要及时查找资料,在不断学习的过程中提升自己。做什么事情都要踏实、严谨的对待,遇到困难不放弃,理论联系实际,在失败中总结经验,在成功中学习方法,不断提升自己。 经过这次课程设计,我不仅对以前所学的知识有了较深刻的理解,而且动手能力、独立解决问题的能力及查找资料的能力得到了提高。最后衷心感谢在设计过程中给与我帮助的高贝贝老师和所有同学。
- 汇编语言源程序(iir.asm)
- .global _iir,_init,_outdata
- _iir
- bset frct
- sub #1,t0
- mov t0,mmap(csr)
- add t0,ar0
- mov xar2,xdp
- mov ar2,cdp
- mov #0,ac0
- rpt csr
- macmz *ar0-,*cdp+,ac0
- add t0,ar1
- mov xar3,xdp
- mov ar3,cdp
- rpt csr
- macmz *ar1-,*cdp+,ac0
- mar *ar1+
- mov hi(ac0),*ar1
- mov hi(ac0),t0
- bclr frct
- ret
- _init
- sub #1,t0
- mov t0,mmap(csr)
- mov #0,ac0
- rpt csr
- mov ac0,*ar0+
- rpt csr
- mov ac0,*ar1+
- ret
- _outdata
- mov t1,ac0
- sub #2,ac0
- mov ac0,mmap(csr)
- add ac0,ar0
- rpt csr
- delay *ar0-
- mar *ar0+
- mov t0,*ar0
- ret
- 2.链接命令文件
- -stack 0x0500
- -sysstack 0x0500
- -heap 0x1000
- -c
- -u _Reset
- -l rts55.lib
- MEMORY
- {PAGE 0:
- RAM(RWIX): origin=0x000100, length=0x01ff00
- ROM(RIX): origin=0x020100, length=0x01ff00
- VECS(RIX): origin=0xffff00, length=0x000200
- PAGE 2:
- IOPORT(RWI):origin=0x000000, length=0x020000
- }
- SECTIONS
- {
- .text >ROM PAGE 0
- .data >ROM PAGE 0
- .bss >RAM PAGE 0
- .const >RAM PAGE 0
- .sysmem >RAM PAGE 0
- .stack >RAM PAGE 0
- .cio >RAM PAGE 0
- .sysstack >RAM PAGE 0
- .switch >RAM PAGE 0
- .cinit >RAM PAGE 0
- .pinit >RAM PAGE 0
- .vectors >VECS PAGE 0
- .ioport >IOPORT 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 256
- int N_L=IIRNUMBER_L;
- int data_in[bufer_L];
- int out[bufer_L] ;
- int x[IIRNUMBER_L+1];
- int y[IIRNUMBER_L+1];
- int k=0;
- int bufer=bufer_L;
- int fBn[IIRNUMBER_L]={0,0x634a};
- int fAn[IIRNUMBER_L]={0xe5c,0xe5c};
- extern int iir(int *x,int *y,int *fAn,int *fBn,int N_L);
- extern int init(int *,int *,int);
- extern int outdata(int *,int,int);
- void inputwave();
- void main()
- {int iirout;
- inputwave();
- init(x,y,N_L);
- while(1)
- {x[0]=data_in[k];
- iirout=iir(x,y,fAn,fBn,N_L);
- outdata(out,iirout,bufer);
- k++;
- if(k>=bufer_L)
- {
- k=0;
- }}}
- void inputwave()
- {
- float wt1;
- float wt2;
- int i;
- 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_in[i]=(cos(wt1)+cos(wt2))/2*32768;
- }}
复制代码
完整的Word格式文档51黑下载地址:
利用DSP开发环境CCS3.3实现IIR数字滤波器设计.doc
(494 KB, 下载次数: 77)
|