DSP技术第6章 DSP软件编程与算法实现e.ppt

DSP技术第6章 DSP软件编程与算法实现e.ppt

ID:51588082

大小:1.33 MB

页数:46页

时间:2020-03-24

DSP技术第6章 DSP软件编程与算法实现e.ppt_第1页
DSP技术第6章 DSP软件编程与算法实现e.ppt_第2页
DSP技术第6章 DSP软件编程与算法实现e.ppt_第3页
DSP技术第6章 DSP软件编程与算法实现e.ppt_第4页
DSP技术第6章 DSP软件编程与算法实现e.ppt_第5页
资源描述:

《DSP技术第6章 DSP软件编程与算法实现e.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、lDSP应用系统的一般开发流程lDSP与MCS51、PC硬件结构对算法的影响l针对不同的算法来选择DSP与编程语言lDSP常用算法简介lDSP算法的仿真lDSP算法的移植与实现1.概念分析与建立模型2.算法设计与仿真3.算法移植与软件编程4.DSP软件仿真5.DSP实时调试仿真l累加器ACCl算术单元逻辑ALUl堆栈指针SPl指令计数器PClCache结构lCPU内总线lPCI总线桥l流水线结构lPCI总线l多总线结构l硬件乘法器l流水线结构l内部PLLl分组FILE结构lVLIW指令结构lEMIF接口1)硬件上采用了多总线哈佛结构,提高了数据的处理能力与速度。我们可以利用

2、块搬移指令在程序与数据空间,两块数据空间之间实现快速的数据块搬移。2)采用了独立的硬件乘加器,极大地提高了数字信号处理算法的运行速度。特别在实现FIR滤波器、相关器、卷积器等数字信号处理算法时应当充分利用这个特性。权衡现有优化算法与算法的DSP优化间的利弊注意现有优化算法不一定适合DSP的实现3)DSP设有循环寻址、位反转寻址等特殊指令循环寻址在实现滤波器,多采样率滤波器上有很大好处。位反转寻址加速了FFT算法的实现。4)内部独立的DMA总线控制器,通过DSP器件中一组或多组独立的DMA总线,可以实现程序执行与数据传输的并行工作。5)指令执行采用流水线结构,具有较高的指令执

3、行速度,我们在设计算法,特别是程序编写时应特别注意一方面利用好流水线,另一方面有效地防止流水线冲突。l汇编语言,线性汇编语言,高级语言?l首先的问题是您要做什么?l其次是您选择什么样的DSP?l然后是您的应用对系统实时性要求如何?l最后,您可以权衡一下采用那一种语言。1)通用数字信号处理算法FIR滤波器、IIR滤波器、DFT变换、FFT变换。2)机电控制算法电机伺服、PLC算法3)通信类算法DTMF收发、调制解调算法、通信信道编解码4)信号处理算法语音信号编解码算法G.723、G.729、MP3、AAC静止图象编解码算法JPEG、JPEG2000、小波变换压缩算法视频编解码

4、算法MPEG1、MPEG2、MPEG4、H.263压缩算法l选择仿真工具l常用的算法仿真工具MATLAB、C对于通信类还可选用SYSTEMVIEW高端仿真工具SPW、COSSAP在具体编程实现某个DSP算法之前,一般首先需要对其进行模拟仿真。MATLAB目前已经成为非常优秀的仿真工具、现行的版本已经包含了许多强大的工具软件包。被各个学科广泛使用。单独使用MATLAB语言就可以实现C、FORTRAN等语言的许多功能,并且实现起来更加简洁方便,同时它也提供同C语言的接口。MATLAB有其不足之处,如数值计算只能按固定精度进行,很难作底层硬件控制,运算效率也不如C,等等因为它主要

5、用于数值计算,所以对于仿真、特别是定点DSP的仿真来说、这些缺陷不影响其强大的仿真功能。在实现某种DSP算法功能前,一般可以先充分利用MATLAB的编程简单、调试方便的优点来求取各种必须的系统参数,并利用所求得的系统参数模拟实现DSP过程,来进行算法的验证和各项参数的调整。等仿真通过各项指标都以达到设计要求。然后再考虑用C语言、或DSP的汇编语言来实现。在DSP的C编译器出现以前,C语言担当的主要是算法仿真的角色。与MATLAB相比、它没有强大的工具软件包。但它的优势是可以很快地形成商业化软件,另外由于历史原因,国际上的各种算法的交流,都是在UNIX平台上,用C语言编写。所

6、以C也成为被广泛使用的仿真工具。在有了C编译器、特别是CCS开发系统开发系统以后C语言直接可在CCS开发平台上完成一些系统仿真从商业化的C,C++到DSP的移植工作也容易了许多通常要非常注意以下两个问题1。内存空间的使用问题2。数据类型与精度控制问题对于浮点DSP处理器、算法的移植相对简单一些但也要注意数据的范围和精度的控制。对于定点DSP处理器、就要特别注意定点化工作和防止数据溢出的处理。l在定点DSP中,都是采用定点数进行数值运算,其操作数一般采用整型数来表示。而许多算法的仿真往往是使用浮点数进行的。l对于定点DSP编程来说,数的定标是一个关键性的问题l对于16位的DS

7、P而言,由程序员来确定一个数的小数点将处于16位中的哪一位。l我们可以用Q,S法来表示,不同的表示方法所带来的数的范围和精度的l浮点数(f)转换为定点数I:I=f×2Ql定点数(I)转换为浮点数f:f=I×2-Q例如:浮点数f=0.5采用Q=15的定标后,则定点数I=0.5×215=16384此时所表示数的范围为–1到1所表示数的精度为2-15l1.在作运算时最重要的就是保证两个操作数的定标值一样l2.程序变量的Q值的确定,直接影响到系统的性能指标,特别对于中间变量,若Q值定高了,提高了系统的精度,但可能会带来中间

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。