dsp实验考核。
班级:信工102
姓名:曾文广。
学号:20101524212
实验基于ccs软件的fir数字滤波器dsp设计。
一、实验目的:
1. 复习线性相位fir数字滤波器时域特性和频域特性以及设计原理与设计方法。
2. 掌握fir滤波器的dsp实现方法。
2、dsp实验课程体会:
经过上学期的dsp的学习,基本掌握了dsp系统的基本理论,明白了数学,物理和工程概念在系统中的重要性,并初步接触到matlab**的应用。对于本学期两个月的dsp的学习,明白了以ti为代表dsp教学实验系统使用的**软件ccs的基本简单使用,深知它的强大,感觉它就像一座宏伟的大厦,我站在门前,刚窥探到一些东西,但却不知道它在实际中(比如自己设计一个硬件系统)的作用。基于这种初步了解,希望在以后的学习中,能够了解到整个系统相关领域所处的位置作用,这样才能激起更深的兴趣,也就学以致用,而不至于仅仅会按部就班的操作。
3、dsp实验系统介绍:
本实验系统所用芯片为德州仪器公司的tms320c509,它是一种具有特殊结构的微处理器,内部采用程序和数据分开的哈弗结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的dsp指令,可以用来快速的实现数字信号处理算法。 c54x提供的乘法-累加指令mac和循环寻址方式,可使fir数字滤波器在单周期内完成每个样值的乘法-累加计算。而每个样值的乘法-累加计算,可采用rptz和mac指令结合循环寻址方式来实现。
对于该题采用循环缓冲法来实现,而n=31所以用bk规定循环缓冲区的长度n;② 缓冲区起始地址的k个最低有效位必须为0,且满足2k>n。
4、核心**说明:
根据题目设计要求可以设计以下满足要求:
wp=0.4*pi;ws=0.6*pi;
tr_width=ws-wp;
n=ceil(6.2*pi/tr_width) =31则滤波器阶数为30
根据给定的设计参数,滤波器系数可由matlab中的fir1函数产生,函数调用格式:
h = fir1(n-1,wc/pi);由于数据是浮点类型需要经过函数处理成定点小数,所以采用round(h*32768)得到30个系数。(如下)
源文件:. title “源文件标题。
.mmregs ;定义mmr寄存器符号名。
.def start;定义模块
.bss y,1;给y保留1个空间。
xn .usect “xn”,30;给xn保留30个空间。
b0 .usect “b0”,30;给b0保留30个空间。
pa0 .set 0;pa0赋值0
pa1 .set 1;pa1赋值1
.data;从rom的table定义数据。
table: .word -56 ,0,96,0,-221
.word 0 ,462,0,-878,0
.word 1609,0,-3176,0,10342
.word 16410,10342,0,-3176,0
.word 1069,0,-878,0,462
.word 0,-221,0,96,0
.text
startssbx frct;设置小数乘法。
stm #b0,ar1;ar1指向b0
rpt #30;传输次数。
mvpd table,*ar1+;系数传输到数据区。
stm #xn+30 ,ar2;ar2指向x(n-30)单元。
stm #b0+30 ,ar3;ar3指向b0单元。
stm #30,bk;设置缓冲区长度。
stm #-1,ar0;双操作数增量。
ld #xn ,dp;页面指针。
portr pa1 ,@xn;输入xn
lphrptz a,#30;设置迭代次数。
mac *ar2+0%,*ar3+0%,a;双操作数乘法累加。
sth a,@y;存储yn
portw @y,pa0;输出yn
bd lph;循环。
portr pa1,*ar2+0%;修正ar2
.end命令链接文件。o m
e start
memory;内存分页处理。
page 0:
eprom:org=0e000h, len=1000h
vecs: org=0ff80h, len=0080h
page 1:
spram:org=0060h, len=0020h
daram:org=0080h, len=1380h
sections;存储器中定义输出段的位置。
text:>eprom page 0
data:>eprom page 0
bss :>spram page 1
.vections:>vecs page 0
5、程序调试记录。
a) 首先将css配置成simulator模式,接着建立自己的工程(lph),在分别建立源程序文件和命令链接文件并正确导入到项目,输入程序**。
b) 在工具栏单击rebuild all来编译程序,在弹出的错误和警告栏中一一修改直至无误无警。还可以借助系统debug功能进行单步检错,加以内存图寄存器图更能有助于调试。
c) 再调试的过程中,会发现一些由于不同软件对**的兼容问题而产生的乱码,解决方法:删除自己重新输入,另外还会有一些隐藏的乱码,自己也需要再次输入。
d) 经过一系列的操作后,程序编译通过,首先要在watch window中查到存储结果的地址,在进行view --graphics 修改start address便可查看结果图(如下),但为了看起来更直观,则需要更改一些显示参数,就能看到本题的低通滤波器时域与频域的效果图,经过本次实验设计进一步巩固了css的软件**功能,简单了解到dsp与matlab在处理问题时的不同与联系。
6、实验结果记录与分析。
上图为设计符合条件的lpf的时域波形。
上图为该滤波器的频域波形。
参照上面两图,设计的低通滤波器满足在时域与理想低通很接近,在频域截止频率约为0.5,结合设计参数,能确定该滤波器能将20hz的滤去从而满足实验要求。
DSP作业
51 以ya i1ixi为例,编写完整的。asm汇编源程序以及。cmd命令文件,写出程序注释,并叙述在ccs2.0集成开发环境下,调试程序的基本步骤。其中a和x的值由自己确定。解 title mpy mmregs 将存储映像寄存器导入列表。stack 10h 给堆栈段分配空间。bssa,5 将11个...
DSP作业
1 以y ax为例,编写完整的。asm汇编源程序以及。cmd命令文件,写出程序注释,iii1 并叙述在ccs2.0集成开发环境下,调试程序的基本步骤。其中a和x的值由自己确定。解 title mpy mmregs 将存储映像寄存器导入列表。stack 10h 给堆栈段分配空间。bssa,5 将11个...
DSP作业
第一章。1 什么是dsp?2.dsp芯片的特点有哪些?3.dsp采用改进的哈佛总线结构,画出改进的哈佛总线结构示意图。4.dsp中由哪些地址和数据总线组成多总线结构?5.dsp芯片的选型一般是从哪几个方面进行考虑?6.简述ti公司的dsp三大平台和它们各自的应用场合。7.dsp芯片发展趋势应该朝着哪...