DSP作业

发布 2022-09-03 08:29:28 阅读 6624

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芯片发展趋势应该朝着哪...