当前位置:文档之家› DSP技术与算法实现学习报告

DSP技术与算法实现学习报告

DSP技术与算法实现学习报告
DSP技术与算法实现学习报告

DSP技术与算法实现学习报告

一.课程认识

作为一个通信专业的学生,在本科阶段学习了数字信号处理的一些基本理论知识,带着进一步学习DSP技术以及将其理论转化为实际工程实现的学习目的,选择了《DSP技术与算法实现》这门课程。通过对本课程的学习,我在原有的一些DSP基础理论上,进一步学习到了其一些实现方法,系统地了解到各自DSP芯片的硬件结构和指令系统,受益匪浅。

本门课程将数字信号处理的理论与实现方法有机的结合起来,在简明扼要地介绍数字信号处理理论和方法的基本要点的基础上,概述DSP的最新进展,并以目前国际国内都使用得最为广泛的德克萨斯仪器公式(TI,Texas Instruments)的

TMS320、C54xx系列DSP为代表,围绕“DSP实现”这个重点,着重从硬件结构特点,软件指令应用和开发工具掌握出发,讲解DSP应用的基础知识,讨论各种数字信号处理算法的实现方法及实践中可能遇到的主要问题,在此基础上实现诸如FIR、IIR、FFT等基本数字信号处理算法等等。

1.TI的DSP体系

TI公司主要推出三大DSP系列芯片,即TMS320VC2000,TMS320VC5000,

TMS320VC6000系列。

TMS320VC200系列主要应用于控制领域。它集成了Flash存储器、高速A/D

转换器、可靠的CAN模块及数字马达控制等外围模块,适用于三相电动机、变频器等高速实时的工控产品等数字化控制化领域。

TMS320VC5000系列主要适用于通信领域,它是16为定点DSP芯片,主要应用在IP 电话机和IP电话网、数字式助听器、便携式音频/视频产品、手机和移动电话基站、调制调解器、数字无线电等领域。它主要分为C54和C55系列DSP。课程

着重讲述了C54系列的主要特性,它采用改进哈弗结构,具有一个程序存储器总线和三个数据存储器总线,17×17-bit乘法器、一个供非流水的MAC(乘法/累加)使用的专用加法器,一个比较、选择、存储单元(Viterbi加速器),配备了双操作码指令集。

TMS320VC6000系列主要应用于数字通信和音频/视频领域。它是采用超长指令字结构设计的高性能芯片,其速度可以达到几十亿MIPS浮点运算,属于高端产品应用范围。

2.TMS320C54x的指令系统

TMS320C54x的指令系统包含助记符指令和代码指令两种形式。两种指令具有相同的功能,TMS320C54x开发平台支持两种指令的相互转换。

TMS320C54x有7种基本的数据寻址方式:立即寻址、绝对寻址、累加器寻址、直接寻址、间接寻址、存储器映像寄存器寻址和堆栈寻址。它们各有不同的特点和应用场合。选择合理的寻址方式可以获得编程的灵活性和高效性:

a)立即寻址,操作数在指令中,因运行较慢,需要较多的存储空间。它用于对寄存器的初始化。

b)绝对寻址,可以寻址任一数据存储器中的操作数,运行较慢,需要较多的存储空间。它用于对寻址速度要求不高的场合。

c)累加器寻址,把累加器内容作为地址指向程序存储器单元。它用于在程序存储器和数据存储器之间传送数据。

d)直接寻址,它寻址速度快,用于对寻址速度要求高的场合。

e)间接寻址,利用辅助存储器内同作为地址指针访问存储器,它用于按固定步长寻址的场合

f)堆栈寻址,用于中断或子程序调用时,将数据保存或从堆栈中弹出。

g)存储器映像寄存器(MMR)寻址,是基地址为零的直接寻址,寻址速度快,它用于直接用MMR名快速访问数据存储器的0页

TMS320C54x的指令系统共有129条基本指令,由于操作数的寻址方式不同,由它们可以派生至205条指令。按指令的功能,可以分成数据传送指令、算术运算指令、逻辑运算指令、程序控制指令、并行操作指令和重复操作指令。

3.DSP集成开发环境CCS

CCS(Code Composer Studio)是TI公司开发TMS320系列DSP而设计的集成开发环境。它不仅包含代码生成工具,具有基本调试功能,而且具备实时分析能力,它支持整个软件开发过程:从方案设计、代码生成到调试、实时分析等。此外,CCS还具有可扩展的结构。

CCS具有两种工作模式,即软件仿真模式和硬件在线编程模式。CSS的功能十分强大,它集成了代码的编辑、编译、链接和调试等功能,而且支持C语言和汇编混合编程,下面

对其主要功能作部分简介:

(1).具有集成可视化代码编辑界面,用户可通过其界面直接编写c、汇

编、.cmd文件。

(2).探针调试工具(Probe Points),可用于算法的仿真,数据的实时监视等。

(3).性能分析和数据可视化工具(Profile Points),可用于评估代码执行的时钟数。

(4).提供GEL工具,利用GEL扩展语言,用户可以编写自己的控制面板/菜单,设置GEL 菜单选项,方便直观地修改变量,配置参数。

(5).提供DSP/BIOS工具,增强对代码的实时分析能力。

4.DSP/BIOS

DSP/BIOS是一个可以裁剪的实时内核,可以用它来设计完成那些需要进行实时调度和同步、主机和目标之间的实时通信、实时仪表等应用系统,DSP/BIOS提供抢占式多线程、硬件抽象、实时分析以及配置工具。DSP/BIOS的使用主要包括以下几部分:

(1).DSP/BIOS配置

通过Tconf脚本,用户可以静态地配置程序中使用的DSP/BIOS对象,可以利用DSP/BIOS配置工具,采用图形化手段编辑Tconf脚本,完成配置内存、配置线程优先级、配置中断句柄等。

(2).DSP/BIOS API函数使用

用户的C、C++及汇编语言程序可以调用超过150个DSP/BIOS API函数。

(3).DSP/BIOS运行时分析工具的使用

DSP/BIOS运行时分析工具允许用户实时观察程序的活动情况,例

如,Execution Graph 功能就给用户提供观察线程活动情况的图标显示,也可以使用DSP/BIOS来探测和跟踪用农户的应用程序。

5.实际的DSP应用方案

在介绍了DSP开发的基本流程和芯片的各种开发功能后,课程又介绍几种用得较多的数字信号处理算法的实际应用方案,其中包括FIR滤波,FFT,DTMF产生与解

调,MP3的解码等。重点讲解了定点数运算的基本方法,给出一些溢出处理和精度控制的实际措施。通过对不同信号处理算法的实现,说明定点数运算的特点和基本方法。并对“DTMF码的产生与解调”和“MP3解码优化实现”两个实际例子进行对比说明,详细讲解了各种优化、定点化的方法,等等。

二.学习心得及建议

通过对本课程的学习,我基本上能掌握DSP的特点和DSP开发的流程、原理以及其中的一些基本技巧,为今后进行DSP的科研项目和进一步的学习打下了坚实了基础。传统的数字信号处理课程,主要讲授有关的理论和算法,基本上不讨论实现技术;DSP芯片厂家的技术手册则只介绍产品的功能和性能。通过本课程的学习,我把学会了怎样把以前学习到的数字信号处理的理论分析的知识具体到实际工程的芯片中去进行相应实现。处于现在的数字化时代,社会的发展和技术的进步已经将DSP 从一门很专门的学科,推进成即为活跃并广为人知的前沿技术,深入学习并掌握DSP 技术,对在通信领域的学习、工作与研究都有很重要的意义。

在本门课程的学习过程中,老师的研发授课经验丰富,我受益匪浅。一方面,对于以前理论知识中大量的公式和程序有了具体描述;另一方面,通过对大量硬件和软件的结构图形的讲述与说明,对硬件的整个系统的运行方式有了进一步的了解。在总结收获之外,我也提出一些建议,希望能对今后课程的开展和学弟学妹的学习有所帮助。

(1).在课程中可以对增加一些具体DSP芯片开发的实例讲解,可以以一些较小型的应用为例,具体到代码的一些说明;

(2).可以多增加一些学习任务的布置,让我们在学习之后可以进一步思考与理解知识原理。

(3).增加实践教学部分,开设一些适当的DSP开发实验,让我们可以实际接触到实际的芯片开发的流程。

(4).希望老师在讲各个相应模块的时候能够推荐一些相关的专业文献供同学们课下进一步学习。

最后,衷心感谢老师您的辛勤教导,老师授课专业也不乏诙谐幽默,提高了我们对这门课的兴趣,激发了我们学好DSP的动力。这门课程的开设,能够很好地帮助我们进行DSP 开发的入门,为以后进一步的学习DSP打下基础。

相关主题
文本预览
相关文档 最新文档