网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> 服务导航 >> 培训课程 >> C5000 >> 文章正文
  在电脑上开发DSP算法           ★★★ 【字体:
在电脑上开发DSP算法
作者:Free    文章来源:本站原创    点击数:    更新时间:2008-2-29    

开发DSP程序的第一步是在电脑上实现算法,由于C语言的高度可移植性,电脑上可运行的程序几乎不需要修改就可以直接在DSP上运行。如果需要对算 法性能进行优化,也尽可能地在C语言范围之内进行,例如使用DSP特有的预编译指令,或者使用DSP特有的汇编伪函数都可以提高不少运算速度。为了让使用 了汇编伪函数的DSP程序也能在电脑上运行,可以在电脑上编制与伪函数功能相同的函数库。如果算法需要进一步优化的话,则需要找出真正的运算瓶颈,把运算 量大的部分单独拿出来用DSP的汇编写成一个支持C语言调用的函数。一般来说,只需要把DSP编译器输出的汇编程序稍加修改就可以进行不少优化。

在电脑上写程序的时候,要注意目标DSP芯片所支持的数据类型。例如大部分DSP芯片只能进行整数运算,因此在电脑上最终也必须用定点小数实现算法。当然为了测量定点运算带来的误差,浮点数版本也是必需的。

例 如我最近在实现回响算法的时候,就是先根据算法写出浮点运算的程序,然后转换为`16bit定点小数运算,并且分别对同样的声音文件进行处理,比较输出文 件的误差。使用输入输出文件的比较,可以精确地定量地分析算法,但是一般来说客户方面需要更加感性的认识,因此在电脑上实现实时的效果演示也是很重要的。 这就需要从Line In、麦克风或声音文件读入数据,实施地施加算法之后,通过Speaker out输出。关于这种电脑上的实时声音处理程序的编写,日后将陆续介绍。

最后我把回响算法移植到C5510DSK上运行的时候,发现他占用 了60MIPS之多,于是就开始着手优化。经过一系列的优化之后,最终达到了40MIPS,从编译出来的汇编语句来看,虽然还有优化的余地,但是已经达到 了预定的要求,因此可以暂且放下,待日后和其他效果同时运行速度不够时再优化不迟。

由于在电脑上也实现了DSP中的_sadd,_smpy之类的汇编伪函数,所以在DSP上优化过的程序仍然可以在电脑上运行。这样我就可以定量地分析优化所产生的误差。

同时我把回响效果添加入电脑上的实时演示程序中,并且允许用户修改回响效果的参数,让用户自己决定怎样的参数设定最符合要求,最终将在DSP程序中固定这些参数。
               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号