南昌大学DSP实验报告

  • 格式:doc
  • 大小:765.50 KB
  • 文档页数:29

下载文档原格式

  / 29
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告

实验课程:DSP原理及应用

学生姓名:

学号:

专业班级:

2012年 5月 25日

目录

实验一定点除法运算

实验二FIR滤波器

实验三FFT算法

实验四卷积计算

实验五数码管显示

实验六语音录放

实验一定点除法运算

一、实验目的

1、熟悉C54指令系统,掌握常用汇编指令,学会设计程序和算法的技巧。

2、学习用指令实现除法运算。

二、实验设备

计算机;DSP 硬件仿真器;DSP 实验开发平台。

三、实验原理

由内置的硬件模块支持,数字信号处理器可以高速的完成加法和乘法运算。但TMS320 系列DSP不提供除法指令,为实现除法运算,需要编写除法子程序来实现。二进制除法是乘法的逆运算。乘法包括一系列的移位和加法,而除法可分解为一系列的减法和移位。本实验要求编写一个16 位的定点除法子程序。

1.除法运算的过程设累加器为8 位,且除法运算为10 除以3,除的过程包括与除数有关的除数逐步移位,然后进行减法运算,若所得商为正,则在商中置1,否则该位商为0 例如:4 位除法示例:(1)数的最低有效位对齐被除数的最高有效位00001010 - 00011000 11110010 (2)由于减法结果为负,丢弃减法结果,将被除数左移一位再减00010100 - 00011000 11111000 (3)结果仍为负,丢弃减法结果,将被除数左移一位再减00101000 - 00011000 00010000 (4)结果为正,将减法结果左移一位后把商置1,做最后一次减00100001 - 00011000 00001001 (5)结果为正,将减法结果左移一位加1 得最后结果,高4 位是余数,低4 位商:00010011

2.除法运算的实现为了尽量提高除法运算的效率,’C54x 系列提供了条件减指令SUBC 来完成除法操作。

四、实验步骤

1.用Simulator 方式启动Code Composer。

2 .执行Project New 建立新的项目,输入chuf作为项目的名称,将程序定位在D:\ti\myprojects\chuf目录。

3.执行File New Source File 建立新的程序文件,为创建新的程序文件命名为chuf.asm 并保存;执行Project Add Files to Project,把chuf.asm 加入项目中。4.执行File New Source File 建立新的文件并保存为chuf.cmd;执行Project Add Files to Project,把chuf.cmd 加入项目中。

5.编辑chuf.asm 加入如下内容:

;*** 编制计算除法运算的程序段。其中|被除数|<|除数|,商为小数*** .title "chuf.asm"

.mmregs

.def start,_c_int00

.bss num,1

.bss den,1

.bss quot,1

.data

table .word 4*32768/10 ;0.4

.word -8*32768/10 ;-0.8

.text

_c_int00

b start

nop

nop

start:

STM #num,AR1

RPT #1

MVPD table,*AR1+ ;传送2个数据至分子、分母单元

STM #den,AR1

LD *AR1-,16,A ;将分母移到累加器A(31-16)

MPYA *AR1+ ;(num)*(A(32-16))->B,获取商的符号

;(在累加器B中)

ABS A ;分母取绝对值

STH A,*AR1- ;分母绝对值存回原处

LD *AR1+,16,A ;分子->A(32-16)

ABS A ;分子取绝对值

RPT #14 ;15次减法循环,完成除法

SUBC *AR1,A

XC 1,BLT ;如果B〈0(商是负数)则需要变号

NEG A

STL A,*(quot) ;保存商

.END

6、编译chuf.cmd加入如下内容:

/*chuf.cmd*/

chuf.obj

-m chuf.map

-o chuf.out

MEMORY

{

PAGE 0: ROM :origin=0080h,length=1000h

ROM :origin=0060h,length=10h

PAGE 1: OTHER :origin=0400h,length=40h

}

SECTIONS

{

.text: {}>ROM PAGE 0

.data : {}>ROM PAGE 0

.stack : {}>OTHER PAGE 1

.bss : {}>OTHER PAGE 1

}

7、实验结果:

五、实验小结

通过几次的课程实验,我学到了不少新的知识,只有自己真正做过才会知道和了解。结合课程中所学的理论知识,和参考资料做课程实验。达到学有所用的目的。学会查阅相关手册与资料,通过查阅手册和文献资料,并掌握合理选用的原则,培养独立分析与解决问题的能力。这次设计我们学到了很多东西,熟悉CCS5000 软件的使用,还加深了对知识的理解和掌握。作为一名大三的学生,我觉得能做类似的课程设计是十分有意义的。