DSP软件编程与算法实现.ppt

上传人:牧羊曲112 文档编号:5428178 上传时间:2023-07-05 格式:PPT 页数:46 大小:1.30MB
返回 下载 相关 举报
DSP软件编程与算法实现.ppt_第1页
第1页 / 共46页
DSP软件编程与算法实现.ppt_第2页
第2页 / 共46页
DSP软件编程与算法实现.ppt_第3页
第3页 / 共46页
DSP软件编程与算法实现.ppt_第4页
第4页 / 共46页
DSP软件编程与算法实现.ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《DSP软件编程与算法实现.ppt》由会员分享,可在线阅读,更多相关《DSP软件编程与算法实现.ppt(46页珍藏版)》请在三一办公上搜索。

1、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指令结构EMI

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

3、一组或多组独立的DMA总线,可以实现程序执 行与数据传输的并行工作。5)指令执行采用流水线结构,具有较高的指令执 行速度,我们在设计算法,特别是程序编写时 应特别注意一方面利用好流水线,另一方面有 效地防止流水线冲突。,针对不同的算法来选择DSP与编程语言,汇编语言,线性汇编语言,高级语言?首先的问题是您要做什么?其次是您选择什么样的DSP?然后是您的应用对系统实时性要求如何?最后,您可以权衡一下采用那一种语言。,DSP常用算法简介,1)通用数字信号处理算法 FIR滤波器、IIR滤波器、DFT变换、FFT变换。2)机电控制算法 电机伺服、PLC算法3)通信类算法 DTMF收发、调制解调算法、通

4、信信道编解码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、FORT

5、RAN等语言的许多功能,并且实现起来更加简洁方便,同时它也提供同C语言的接口。,MATLAB的不足,MATLAB有其不足之处,如数值计算只能按固定精度 进行,很难作底层硬件控制,运算效率也不如C,等等 因为它主要用于数值计算,所以对于仿真、特别是定点 DSP的仿真来说、这些缺陷不影响其强大的仿真功能。,MATLAB仿真,在实现某种DSP算法功能前,一般可以先充分利用MATLAB的编程简单、调试方便的优点来求取各种必须的系统参数,并利用所求得的系统参数模拟实现DSP过程,来进行算法的验证和各项参数的调整。等仿真通过各项指标都以达到设计要求。然后再考虑用C语言、或DSP的汇编语言来实现。,FIR滤

6、波器仿真实例,仿真结果,输出滤波器系数,采用C语言进行仿真,在DSP的C编译器出现以前,C语言担当的主要是算法仿真的角色。与MATLAB相比、它没有强大的工具软件包。但它的优势是可以很快地形成商业化软件,另外由于历史原因,国际上的各种算法的交流,都是在UNIX平台上,用C语言编写。所以C也成为被广泛使用的仿真工具。,在有了C编译器、特别是CCS开发系统开发系统以后C语言直接可在CCS开发平台上完成一些系统仿真从商业化的C,C+到 DSP的移植工作也容易了许多通常要非常注意以下两个问题 1。内存空间的使用问题 2。数据类型与精度控制问题,图象小波变换的仿真实例,程序,仿真结果,DSP算法的移植与

7、实现,对于浮点DSP处理器、算法的移植相对简单一些但也要注意数据的范围和精度的控制。对于定点DSP处理器、就要特别注意定点化工作和防止数据溢出的处理。,定点运算中数的定标,在定点DSP中,都是采用定点数进行数值运算,其操作数一般采用整型数来表示。而许多算法的仿真往往是使用浮点数进行的。对于定点DSP编程来说,数的定标是一个关键性的问题对于16位的DSP而言,由程序员来确定一个数的小数点将处于16位中的哪一位。我们可以用Q,S法来表示,不同的表示方法所带来的 数的范围和精度的,Q,S表示法及数的范围,浮点数与定点数之间的转换,浮点数(f)转换为定点数I:I=f 2Q定点数(I)转换为浮点数f:f

8、=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 公司的汇编器和链接器创建的目标文件采用一种称

9、为COFF(Common Object File Format)。公共目标文件格式采用这种格式的目的是为了模块化编程的方便。通过这种格式,程序员可以自己进行代码段的管理和目标系统存储器的管理。在COFF文件格式中,程序员在编程时是基于代码段的概念。,块的概念,目标文件中最小单位称为块,一个块就是存储器映像中占据连续空间空间的一块代码或数据目标文件中每个块都是相互独立的一般文件包括三个缺省的块。.text 通常包含可执行代码.data 通常包含已初始化数据.bss 为未初始化数据保留空间其它块.sect.usect.const.stack,DSP编译流程,使用.cmd文件来定位块,在DSP编程中使用.cmd文件,来定位程序块和数据块,一个在CCS上图象处理实例,CCS的安装与设置,建立仿真项目,CCS上的.cmd文件,设置图像仿真窗口,初始化仿真图像,编译程序,输入.out目标文件,初始化程序指针,运行程序仿真,仿真结果,感谢各位,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号