




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 C 到DSP的移植工作也容易了许多通常要非常注意以下两个问题1 内存空间的使用问题2 数据类型与精度控制问题 图象小波变换的仿真实例 程序 仿真结果 DSP算法的移植与实现 对于浮点DSP处理器 算法的移植相对简单一些但也要注意数据的范围和精度的控制 对于定点DSP处理器 就要特别注意定点化工作和防止数据溢出的处理 定点运算中数的定标 在定点DSP中 都是采用定点数进行数值运算 其操作数一般采用整型数来表示 而许多算法的仿真往往是使用浮点数进行的 对于定点DSP编程来说 数的定标是一个关键性的问题对于16位的DSP而言 由程序员来确定一个数的小数点将处于16位中的哪一位 我们可以用Q S法来表示 不同的表示方法所带来的数的范围和精度的 Q S表示法及数的范围 浮点数与定点数之间的转换 浮点数 f 转换为定点数I I f 2Q定点数 I 转换为浮点数f f I 2 Q例如 浮点数f 0 5采用Q 15的定标后 则定点数I 0 5 215 16384此时所表示数的范围为 1到1所表示数的精度为2 15 数的定标要注意的问题 1 在作运算时最重要的就是保证两个操作数的定标值一样2 程序变量的Q值的确定 直接影响到系统的性能指标 特别对于中间变量 若Q值定高了 提高了系统的精度 但可能会带来中间结果的溢出 若Q值定低了就能保证不溢出 但是损失了精度 关键就在于用理论分析或统计的方法估计出每一中间变量的可能动态范围MAX 然后以2MAX的数据范围来定标 简单谈一下COFF文件格式 TI公司的汇编器和链接器创建的目标文件采用一种称为COFF CommonObjectFileFormat 公共目标文件格式采用这种格式的目的是为了模块化编程的方便 通过这种格式 程序员可以自己进行代码段的管理和目标系统存储器的管理 在COFF文件格式中 程序员在编程时是基于代码段的概念 块的概念 目标文件中最小单位称为块 一个块就是存储器映像中占据连续空间空间的一块代码或数据目标文件中每个块都是相互独立的一般文件包括三个缺省的块 text通常包含可执行代码 data通常包含已初始化数据 bss为未初始化数据保留空间其它块 sect usect const stack DSP编译流程 使用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度智能设备安装与销售一体化服务合同范本
- 2025年度农业科技成果转化与应用推广合同
- 2025年新型城镇化建设中电缆敷设施工及售后服务合同
- 2025年度航天科技咨询服务合同
- 2025年度新型生态挡土墙施工劳务合同模板
- 2025保密协议培训与知识产权战略规划合同
- 2025二手房暂不过户房屋租赁与转租合同范本
- 2025版商厅出租合同附租金递增条款
- 2025贷款合同范本旅游产业开发贷款合作
- 2025版实习岗位需求实习合同范本
- GB/T 4802.1-2008纺织品织物起毛起球性能的测定第1部分:圆轨迹法
- GB/T 35568-2017中国荷斯坦牛体型鉴定技术规程
- GB/T 28707-2012碟簧支吊架
- GB/T 2791-1995胶粘剂T剥离强度试验方法挠性材料对挠性材料
- GB/T 25702-2010复摆颚式破碎机颚板磨耗
- GB/T 13384-2008机电产品包装通用技术条件
- 超分子化学简介课件
- 流体力学-流体力学基本方程课件
- 粮油产品购销合同
- YYT 0681.2-2010 无菌医疗器械包装试验方法 第2部分:软性屏障材料的密封强度
- 《中华人民共和国工会法》工会法律知识竞赛题库120题(含答案解析)
评论
0/150
提交评论