现代DSP技术及应用课程总结报告_dsp课程设计总结报告
现代DSP技术及应用课程总结报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“dsp课程设计总结报告”。
电 子 信 息 学 院
现代DSP技术及应用
课程总结
专
业 班
级 学
号 学生姓名 指导教师 时 间 段 完成日期
xxx xxx xxx xxx xxx xxx xxx 摘要:本文是在学习信号处理与DSP应用课程的基础上,结合所学知识和课后查找资料,主要整理了DSP的基础知识和芯片的基本结构和特点、DSP集成开发环境CCS的工作原理、DSP系统的应用等方面的内容。
关键词:DSP 基础知识
基本结构和特点
工作原理
应用
一、DSP的相关知识
1.1、DSP的简介
DSP(Digital Signal Proceing)又称的数字信号处理,它的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器(A/D)实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器(D/A)实现的。
1.2、DSP的特征和分类
信号(signal)是信息的物理体现形式,或是传递信息的函数,而信息则是信号的具体内容。
模拟信号(analog signal):指时间连续、幅度连续的信号。
数字信号(digital signal):时间和幅度上都是离散(量化)的信号。
模拟信号处理缺点:难以做到高精度,受环境影响较大,可靠性差,且不灵活等。
数字系统的优点:体积小、功耗低、精度高、可靠性高、灵活性大、易于大规模集成、可进行二维与多维处理。
1.3、DSP芯片的基本结构和特点
[1] 为了快速地实现数字信号处理运算,DSP芯片一般都采用特殊的软硬件结构。以TMS320系列为例,其基本结构包括::(1)哈佛结构;(2)流水线操作;(3)专用的硬件乘法器;(4)特殊的DSP指令;(5)快速的指令周期。这些特点使得TMS320系列DSP芯片可以实现快速的DSP运算,并使大部分运算(例如乘法)能够在一个指令周期内完成。由于TMS320系列DSP芯片是软件可编程器件,因此具有通用微处理器具有的方便灵活的特点。
二、DSP集成开发环境CCS的工作原理
2.1 CCS概述
CCS提供了基本的代码生成工具,它们具有一系列的调试、分析能力。CCS支持如下所示的开发周期的所有阶段。
设计概念性规划编程和编译创建工程文件、编写源程序和配置文件调试语法检查、探测点设置和日志保存等分析实时调试、统计和跟踪
在使用本教程之前,必须完成下述工作:
安装目标板和驱动软件。按照随目标板所提供的说明书安装。如果你正在用仿真器或目标板,其驱动软件已随目标板提供,你可以按产品的安装指南逐步安装。 安装CCS.遵循安装说明书安装。如果你已有CCS仿真器和TMS320c54X代码生成工具,但没有完整的CCS,你可以按第二章和第四章所述的步骤进行安装。 运行CCS安装程序SETUP.你可以按步骤执行第二章和第四章的实验。SETUP程序允许CCS使用为目标板所安装的驱动程序。
CCS包括如下各部分: CCS代码生成工具:参见1.2节 CCS集成开发环境(IDE):参见1.3节 DSP/BIOS插件程序和API:参见1.4节 RTDX插件、主机接口和API:参见1.5节 CCS构成及接口见图1-1。
图1-1 CCS构成及接口
2.2 代码生成工具
代码生成工具奠定了CCS所提供的开发环境的基础。图1-2是一个典型的软件开发流程图,图中阴影部分表示通常的C语言开发途径,其它部分是为了强化开发过程而设置的附加功能。
图1-2 软件开发流程
图1-2描述的工具如下: C编译器(C compiler)产生汇编语言源代码,其细节参见TMS320C54x最优化C编译器用户指南。 汇编器(aembler)把汇编语言源文件翻译成机器语言目标文件,机器语言格式为公用目标格式(COFF),其细节参见TMS320C54x汇编语言工具用户指南。 连接器(linker)把多个目标文件组合成单个可执行目标模块。它一边创建可执行模块,一边完成重定位以及决定外部参考。连接器的输入是可重定位的目标文件和目标库文件,有关连接器的细节参见TMS320C54x最优化C编译器用户指南和汇编语言工具用户指南。 归档器(archiver)允许你把一组文件收集到一个归档文件中。归档器也允许你通过删除、替换、提取或添加文件来调整库,其细节参见TMS320C54x汇编语言工具用户指南。 助记符到代数汇编语言转换公用程序(mnimonic_to_algebric aembly translator utility)把含有助记符指令的汇编语言源文件转换成含有代数指令的汇编语言源文件,其细节参见TMS320C54x汇编语言工具用户指南。 你可以利用建库程序(library_build utility)建立满足你自己要求的“运行支持库”,其细节参见TMS320C54x最优化C编译器用户指南。 运行支持库(run_time_support libraries)它包括C编译器所支持的ANSI标准运行支持函数、编译器公用程序函数、浮点运算函数和C编译器支持的I/O函数,其细节参见TMS320C54x最优化C编译器用户指南。 十六进制转换公用程序(hex conversion utility)它把COFF目标文件转换成TI-Tagged、ASCII-hex、Intel、Motorola-S、或 Tektronix 等目标格式,可以把转换好的文件下载到EPROM编程器中,其细节参见TMS320C54x汇编语言工具用户指南。 交叉引用列表器(cro_reference lister)它用目标文件产生参照列表文件,可显示符号及其定义,以及符号所在的源文件,其细节参见TMS320C54x汇编语言工具用户指南。 绝对列表器(absolute lister)它输入目标文件,输出.abs文件,通过汇编.abs文件可产生含有绝对地址的列表文件。如果没有绝对列表器,这些操作将需要冗长乏味的手工操作才能完成。2.3 CCS集成开发环境
CCS集成开发环境(IDE)允许编辑、编译和调试DSP目标程序。2.3.1 编辑源程序
CCS允许编辑C源程序和汇编语言源程序,你还可以在C语句后面显示汇编指令的方式来查看C源程序。
集成编辑环境支持下述功能: 用彩色加亮关键字、注释和字符串。 以圆括弧或大括弧标记C程序块,查找匹配块或下一个圆括弧或大括弧。 在一个或多个文件中查找和替代字符串,能够实现快速搜索。 取消和重复多个动作。 获得“上下文相关”的帮助。 用户定制的键盘命令分配。2.3.2创建应用程序
应用程序通过工程文件来创建。工程文件中包括C源程序、汇编源程序、目标文件、库文件、连接命令文件和包含文件。编译、汇编和连接文件时,可以分别指定它们的选项。在CCS中,可以选择完全编译或增量编译,可以编译单个文件,也可以扫描出工程文件的全部包含文件从属树,也可以利用传统的makefiles文件编译。2.3.3 调试应用程序
CCS提供下列调试功能: 设置可选择步数的断点 在断点处自动更新窗口 查看变量 观察和编辑存储器和寄存器 观察调用堆栈 对流向目标系统或从目标系统流出的数据采用探针工具观察,并收集存储器映象 绘制选定对象的信号曲线 估算执行统计数据 观察反汇编指令和C指令
CCS提供GEL语言,它允许开发者向CCS菜单中添加功能。2.4、开发一个简单的应用程序
使用hello world实例介绍在CCS中创建、调试和测试应用程序的基本步骤;介绍CCS的主要特点,为在CCS中深入开发DSP软件奠定基础。2.4.1 创建工程文件
在本章中,将建立一个新的应用程序,它采用标准库函数来显示一条hello world 消息。
1.如果CCS安装在c:ti中,则可在c:timyprojects建立文件夹hello1。(若将CCS安装在其它位置,则在相应位置创建文件夹hello1。)
2.将c:tic5400tutorialhello1中的所有文件拷贝到上述新文件夹。3.从Windows Start菜单中选择Programs→Code Composer Studio ‘C5400→CCStudio。(或者在桌面上双击Code Composer Studio图标。)
注:CCS设置 如果第一次启动CCS时出现错误信息,首先确认是否已经安装了CCS。如果利用目标板进行开发,而不是带有CD-ROM的仿真器,则可参看与目标板一起提供的文档以设置正确的I/O端口地址。4.选择菜单项Project→New。
5.在Save New Project As窗口中选择你所建立的工作文件夹并点击Open。键入myhello作为文件名并点击Save,CCS就创建了myhello.mak的工程文件,它存储你的工程设置,并且提供对工程所使用的各种文件的引用。
2.4.2 向工程添加文件
1.选择Project→Add Files to Project,选择hello.c并点击Open。
2.选择Project→Add Files to Project,在文件类型框中选择*.asm。选择vector.asm并点击Open。该文件包含了设置跳转到该程序的C入口点的RESET中断(c_int00)所需的汇编指令。(对于更复杂的程序,可在vector.asm定义附加的中断矢量,或者,可用3.1节上所说明的DSP/BIOS来自动定义所有的中断矢量)3.选择Project→Add Files to Project,在文件类型框中选择*.cmd。选择hello.cmd并点击Open,hello.cmd包含程序段到存储器的映射。4.选择Project→Add Files to Project,进入编译库文件夹(C:tic5400cgtoolslib)。在文件类型框中选择*.o*,*.lib。选择rts.lib并点击Open,该库文件对目标系统DSP提供运行支持。
5.点击紧挨着Project、Myhello.mak、Library和Source旁边的符号+展开Project表,它称之为Project View。
注:打开Project View 如果看不到Project View,则选择View→Project。如果这时选择过Bookmarks图标,仍看不到Project View,则只须再点击Project View底部的文件图标即可。6.注意包含文件还没有在Project View中出现。在工程的创建过程中,CCS扫描文件间的依赖关系时将自动找出包含文件,因此不必人工地向工程中添加包含文件。在工程建立之后,包含文件自动出现在Project View中。如果需要从工程中删除文件,则只需在Project View中的相应文件上点击鼠标右键,并从弹出菜单中选择Remove from project即可。在编译工程文件时,CCS按下述路径顺序搜索文件: 包含源文件的目录
编译器和汇编器选项的Include Search Path中列出的目录(从左到右) 列在C54X_C_DIR(编译器)和C54X_A_DIR(汇编器)环境变量定义中的目录(从左到右)。
2.4.3 查看源代码
1.双击Project View中的文件hello.c,可在窗口的右半部看到源代码。
2.如想使窗口更大一些,以便能够即时地看到更多的源代码,你可以选择Option→Font使窗口具有更小的字型。
/* ======== hello.c ======== */ #include #include “hello.h” #define BUFSIZE 30 struct PARMS str = { 2934, 9432, 213, 9432, &str };/** ======== main ========**/ void main(){ #ifdef FILEIO int i;char scanStr[BUFSIZE];char fileStr[BUFSIZE];size_t readSize;FILE *fptr;#endif /* write a string to stdout */ puts(“hello world!n”);#ifdef FILEIO /* clear char arrays */ for(i = 0;i
CCS会自动将你所作的改变保存到工程设置中。在完成上节之后,如果你退出了CCS,则通过重新启动CCS和点击Project→Open,即可返回到你刚才停止工作处。
注:重新设置目标系统DSP 如果第一次能够启动CCS,但接下来得到CCS不能初始化目标系统DSP的出错信息则可选择Debug→Reset DSP菜单项。若还不能解决上述问题,你可能需要运行你的目标板所提供的复位程序。1.2.3.4.为了编译和运行程序,要按照以下步骤进行操作:
点击工具栏按钮或选择Project→Rebuild All,CCS重新编译、汇编和连接工程中的所有文件,有关此过程的信息显示在窗口底部的信息框中。选择File→Load Program,选择刚重新编译过的程序myhello.out(它应该在c:timyprojectshello1文件夹中,除非你把CCS安装在别的地方)并点击Open。CCS把程序加载到目标系统DSP上,并打开Dis_Aembly窗口,该窗口显示反汇编指令。(注意,CCS还会自动打开窗口底部一个 标有Stdout的区域,该区域用以显示程序送往Stdout的输出。)
点击Dis_Aembly窗口中一条汇编指令(点击指令,而不是点击指令的地址或空白区域)。按F1键。CCS将搜索有关那条指令的帮助信息。这是一种获得关于不熟悉的汇编指令的帮助信息的好方法。点击工具栏按钮或选择Debug→Run。
工具栏有些部分可能被Build窗口隐藏起来,这取决于屏幕尺寸和设置。为了看到整个 注:屏幕尺寸和设置 工具栏,请在Build窗口中点击右键并取消Allow Docking选择。当运行程序时,可在Stdout窗口中看到hello world消息。
三、DSP的应用
广义来说,数字信号处理是研究用数字方法对信号进行分析、变换、滤波、检测、调制、解调以及快速算法的一门技术学科。但很多人认为:数字信号处理主要是研究有关数字滤波技术、离散变换快速算法和谱分析方法。随着数字电路与系统技术以及计算机技术的发展,数字信号处理技术也相应地得到发展,其应用领域十分广泛。自从DSP 芯片诞生以来, DSP 芯片得到了飞速的发展。DSP 芯片高速发展, 一方面得益于集成电路的发展, 另一方面也得益于巨大的市场。在短短的十多年时间, DSP 芯片已经在信号处理、通信、雷达等许多领域得到广泛的应用。目前, DSP 芯片的价格也越来越低, 性能价格比日益提高, 具有巨大的应用潜力。DSP 芯片的应用主要有:(1)信号处理, 如: 数字滤波、自适应滤波、快速傅里叶变换、相关运算、频谱分析、卷积等。(2)通信, 如: 调制解调器、自适应均衡、数据加密、数据压缩、回波抵消、多路复用、传真、扩频通信、纠错编码、波形产生等。(3)语音, 如: 语音编码、语音合成、语音识别、语音增强、说话人辨认、说话人确认、语音邮件、语音储存等。(4)图像/ 图形, 如: 二维和三维图形处理、图像压缩与传输、图像增强、动画、机器人视觉等。(5)军事, 如: 保密通信、雷达处理、声纳处理、导航等。(6)仪器仪表, 如: 频谱分析、函数发生、锁相环、地震处理等。(7)自动控制, 如: 引擎控制、深空、自动驾驶、机器人控制、磁盘控制。(8)医疗, 如: 助听、超声设备、诊断工具、病人监护等。(9)家用电器, 如: 高保真音响、音乐合成、音调控制、玩具与游戏、数字电话/ 电视等。
3.1 数字滤波器
数字滤波器的实用型式很多,大略可分为有限冲激响应型和无限冲激响应型两类,可用硬件和软件两种方式实现。在硬件实现方式中,它由加法器、乘法器等单元所组成,这与电阻器、电感器和电容器所构成的模拟滤波器完全不同。数字信号处理系统很容易用数字集成电路制成,显示出体积小、稳定性高、可程控等优点。数字滤波器也可以用软件实现。软件实现方法是借助于通用数字计算机按滤波器的设计算法编出程序进行数字滤波计算。
3.2 快速傅里叶变换
1965年J.W.库利和T.W.图基首先提出离散傅里叶变换的快速算法,简称快速傅里叶变换,以FFT表示。自有了快速算法以后,离散傅里叶变换的运算次数大为减少,使数字信号处理的实现成为可能。快速傅里叶变换还可用来进行一系列有关的快速运算,如相关、褶积、功率谱等运算。快速傅里叶变换可做成专用设备,也可以通过软件实现。与快速傅里叶变换相似,其他形式的变换,如沃尔什变换、数论变换等也可有其快速算法。
3.3 谱分析
在频域中描述信号特性的一种分析方法,不仅可用于确定性信号,也可用于随机性信号。所谓确定性信号可用既定的时间函数来表示,它在任何时刻的值是确定的;随机信号则不具有这样的特性,它在某一时刻的值是随机的。因此,随机信号处理只能根据随机过程理论,利用统计方法来进行分析和处理,如经常利用均值、均方值、方差、相关函数、功率谱密度函数等统计量来描述随机过程的特征或随机信号的特性。
数字信号处理的应用领域十分广泛。就所获取信号的来源而言,有通信信号的处理,雷达信号的处理,遥感信号的处理,控制信号的处理,生物医学信号的处理,地球物理信号的处理,振动信号的处理等。若以所处理信号的特点来讲,又可分为语音信号处理,图像信号处理,一维信号处理和多维信号处理等。
3.4 处理系统
无论哪方面的应用,首先须经过信息的获取或数据的采集过程得到所需的原始信号,如果原始信号是连续信号,还须经过抽样过程使之成为离散信号,再经过模数转换得到能为数字计算机或处理器所接受的二进制数字信号。如果所收集到的数据已是离散数据,则只须经过模数转换即可得到二进制数码。数字信号处理器的功能是将从原始信号抽样转换得来的数字信号按照一定的要求,例如滤波的要求,加以适当的处理,即得到所需的数字输出信号。经过数模转换先将数字输出信号转换为离散信号,再经过保持电路将离散信号连接起来成为模拟输出信号,这样的处理系统适用于各种数字信号处理的应用,只不过专用处理器或所用软件有所不同而已。
3.5 语音信号处理
语音信号处理是信号处理中的重要分支之一。它包括的主要方面有:语音的识别,语言的理解,语音的合成,语音的增强,语音的数据压缩等。各种应用均有其特殊问题。语音识别是将待识别的语音信号的特征参数即时地提取出来,与已知的语音样本进行匹配,从而判定出待识别语音信号的音素属性。关于语音识别方法,有统计模式语音识别,结构和语句模式语音识别,利用这些方法可以得到共振峰频率、音调、嗓音、噪声等重要参数,语音理解是人和计算机用自然语言对话的理论和技术基础。语音合成的主要目的是使计算机能够讲话。为此,首先需要研究清楚在发音时语音特征参数随时间的变化规律,然后利用适当的方法模拟发音的过程,合成为语言。其他有关语言处理问题也各有其特点。语音信号处理是发展智能计算机和智能机器人的基础,是制造声码器的依据。语音信号处理是迅速发展中的一项信号处理技术。
3.6 图像信号处理
图像信号处理的应用已渗透到各个科学技术领域。譬如,图像处理技术可用于研究粒子的运动轨迹、生物细胞的结构、地貌的状态、气象云图的分析、宇宙星体的构成等。在图像处理的实际应用中,获得较大成果的有遥感图像处理技术、断层成像技术、计算机视觉技术和景物分析技术等。根据图像信号处理的应用特点,处理技术大体可分为图像增强、恢复、分割、识别、编码和重建等几个方面。这些处理技术各具特点,且正在迅速发展中。
3.7 振动信号处理
机械振动信号的分析与处理技术已应用于汽车、飞机、船只、机械设备、房屋建筑、水坝设计等方面的研究和生产中。振动信号处理的基本原理是在测试体上加一激振力,做为输入信号。在测量点上监测输出信号。输出信号与输入信号之比称为由测试体所构成的系统的传递函数(或称转移函数)。根据得到的传递函数进行所谓模态参数识别,从而计算出系统的模态刚度、模态阻尼等主要参数。这样就建立起系统的数学模型。进而可以做出结构的动态优化设计。这些工作均可利用数字处理器来进行。这种分析和处理方法一般称为模态分析。实质上它就是信号处理在振动工程中所采用的一种特殊方法。
3.8 地球物理信号处理
为了勘探地下深处所储藏的石油和天然气以及其他矿藏,通常采用地震勘探方法来探测地层结构和岩性。这种方法的基本原理是在一选定的地点施加人为的激震,如用爆炸方法产生一振动波向地下传播,遇到地层分界面即产生反射波,在距离振源一定远的地方放置一列感受器,接收到达地面的反射波的延迟时间和强度来判断地层的深度和结构。感受器所接收到的地震记录是比较复杂的,需要处理才能进行地质解释。处理的方法很多,有反褶积法,同态滤波法等,这是一个尚在努力研究的问题。3.9 生物医学信号处理
信号处理在生物医学方面主要是用来辅助生物医学基础理论的研究和用于诊断检查和监护。例如,用于细胞学、脑神经学、心血管学、遗传学等方面的基础理论研究。人的脑神经系统由约 100亿个神经细胞所组成,是一个十分复杂而庞大的信息处理系统。在这个处理系统中,信息的传输与处理是并列进行的,并具有特殊的功能,即使系统的某一部分发生障碍,其他部分仍能工作,这是计算机所做不到的。因此,关于人脑的信息处理模型的研究就成为基础理论研究的重要课题。此外,神经细胞模型的研究,染色体功能的研究等等,都可借助于信号处理的原理和技术来进行。
数字信号处理在其他方面还有多种用途,如雷达信号处理、地学信号处理等,它们虽各有其特殊要求,但所利用的基本技术大致相同。在这些方面,数字信号处理技术起着主要的作用。
3.10 DSP在车用燃料电池发动机控制器中的应用
系统结构及组成该控制器的研制使用全新的设计思路,对外部输入及输出信号采用电隔离技术,摒弃外购工控模块的思想,利用D S P 技术,根据实际测控要求,自主开发核, OMCU模板。使原来的5 ~ 6个测控模板,减至为2 个。发动机控制器主要由信号调理板、D S P 主板构成。系统组成参见图4.1.1。
信号调理板将91、电路传来的各种信号进行汇总、隔离、转换成为统一的标准信号,传送给D S P 主板;再将D S P 主板发出的信号隔离、转换、调制成的各种控制信号,传送给发动机所需被控的各执行部件。
D S P 主板则将被调制好的各种信号直接进行收集、分析、判断、处理,再通过各种电路模块形成相应的控制信号,然后发送给信号调理板。经过信号调理输出,控制发动机上的各个执行部件,从而达到调整发动机工作状态的目的。
系统工作原理
车用电系统测控是将由压力传感器、温度传感器、氢气传感器、转速变送单元所传来的相关组部件的工作状态以相对统一的电信号输入至发动机核心控制器,由控制器进行信号调理、A /D 转换、判断、处理,再输出不同形式的信号,控制继电器、调节阀、电磁阀,从而达到控制发动机系统工作状态的目的。
D S P 主板
核心D S P 主板主要由C P U 电路、C A N 接口电路、数字输入/输出、继电器控制电路、模拟D /A 输出、模拟A /D 输入、R S 4 8 5 通信接口电路、J T A G 仿真器接口电路、调节阀电机隔离控制输出电路、电平转换电路、复位电路、电源供电电路1 2 部分组成。其原理框图参见图4.1.24、结束语
随着科学技术的发展,DSP的应用必将越来越广泛,对社会的进步将起到尤为重要的作用。短短一个学期的课程,并不能让我们完全掌握所有知识,但它激发了我们学习DSP的兴趣。只有我们在课后主动的花更多的时间去学习,才能更好的学好它,并将所学到的知识与实际结合起来,才能发挥DSP的强大功能。
参考文献 [1] 百度文库
[2] DSP入门教程//网络资源
[3] DSP原理及应用报告//网络资源
[4] 韦哲, 程自峰.DSP技术在医学仪器中的应用.医疗装备2005第7期.2005-05 – 30 [5] 黄晓勤,严松.DSP在车用燃料电池发动机控制器中的应用.电气时代.2008年第10期 [6] 潘言全.DSP 在异步电动机控制中的应用.中国水运.第08卷 第6期.2008 年6月