DSP软件编程和算法实现e.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP软件编程与算法实现 论题目录 DSP应用系统的一般开发流程 DSP与MCS51、PC硬件结构对算法的影响 针对不同的算法来选择DSP与编程语言 DSP常用算法简介 DSP算法的仿真 DSP算法的移植与实现 DSP应用系统的一般开发流程 1. 概念分析与建立模型 2. 算法设计与仿真 3. 算法移植与软件编程 4. DSP软件仿真 5. DSP实时调试仿真 MCS51单片机内核 累加器ACC 算术单元逻辑ALU 堆栈指针SP 指令计数器PC 一般处理器内核 Cache结构 CPU内总线 PCI总线桥 流水线结构 PCI总线 单内核DSP 多总线结构 硬件乘法器 流水线结构 内部PLL 多内核DSP 分组FILE结构 VLIW指令结构 EMIF接口 DSP内核特点对算法的影响 1)硬件上采用了多总线哈佛结构,提高 了数据的处理能力与速度。 我们可以利用块搬移指令在程序与数 据空间,两块数据空间之间实现快速 的数据块搬移。 2)采用了独立的硬件乘加器,极大地提高 了数字信号处理算法的运行速度。 特别在实现FIR滤波器、相关器、卷积器 等数字信号处理算法时应当充分利用这个 特性。 权衡现有优化算法与算法的DSP优化间的利弊 注意现有优化算法不一定适合DSP的实现 3)DSP设有循环寻址、位反转寻址等特殊指令 循环寻址在实现滤波器,多采样率滤波器 上有很大好处。 位反转寻址加速了FFT算法的实现。 4)内部独立的DMA总线控制器,通过DSP器件中 一组或多组独立的DMA总线,可以实现程序执 行与数据传输的并行工作。 5)指令执行采用流水线结构,具有较高的指令执 行速度,我们在设计算法,特别是程序编写时 应特别注意一方面利用好流水线,另一方面有 效地防止流水线冲突。 针对不同的算法来选择 DSP与编程语言 汇编语言,线性汇编语言,高级语言? 首先的问题是您要做什么? 其次是您选择什么样的DSP? 然后是您的应用对系统实时性要求如何? 最后,您可以权衡一下采用那一种语言。 DSP常用算法简介 1) 通用数字信号处理算法 FIR滤波器、IIR滤波器、DFT变换、FFT变换。 2) 机电控制算法 电机伺服、PLC算法 3) 通信类算法 DTMF收发、调制解调算法、通信信道编解码 4) 信号处理算法 语音信号编解码算法 G.723、G.729、MP3、AAC 静止图象编解码算法 JPEG、JPEG2000、小波变换压缩算法 视频编解码算法 MPEG1、MPEG2、MPEG4、H.263压缩算法 DSP算法的仿真 选择仿真工具 常用的算法仿真工具 MATLAB、C 对于通信类还可选用 SYSTEMVIEW 高端仿真工具 SPW、COSSAP MATLAB简介 在具体编程实现某个DSP算法之前,一般首先需要对其 进行模拟仿真。MATLAB目前已经成为非常优秀的仿真工 具、现行的版本已经包含了许多强大的工具软件包。被各 个学科广泛使用。 单独使用MATLAB语言就可以实现C、FORTRAN等语 言的许多功能,并且实现起来更加简洁方便,同时它也提 供同C语言的接口。 MATLAB的不足 MATLAB有其不足之处,如数值计算只能按固定精度 进行,很难作底层硬件控制,运算效率也不如C,等等 因为它主要用于数值计算,所以对于仿真、特别是定点 DSP的仿真来说、这些缺陷不影响其强大的仿真功能。 MATLAB仿真 在实现某种DSP算法功能前,一般可以先充分利用 MATLAB的编程简单、调试方便的优点来求取各种必须 的系统参数,并利用所求得的系统参数模拟实现DSP过 程,来进行算法的验证和各项参数的调整。等仿真通过 各项指标都以达到设计要求。然后再考虑用C语言、或 DSP的汇编语言来实现。 FIR滤波器仿真实例 仿真结果 输出滤波器系数 采用C语言进行仿真 在DSP的C编译器出现以前,C语言担当的主要是算法 仿真的角色。与MATLAB相比、它没有强大的工具软 件包。但它的优势是可以很快地形成商业化软件,另 外由于历史原因,国际上的各种算法的交流,都是在 UNIX平台上,用C语言编写。所以C也成为被广泛使 用的仿真工具。 在有了C编译器、特别是CCS开发系统开发系统以后 C语言直接可在CCS开发平台上完成一些系统仿真 从商业化的C,

文档评论(0)

gl5000 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档