dsp算法(dsp算法工程师)
温馨提示:这篇文章已超过123天没有更新,请注意相关的内容是否还可用!
最近有很多小伙伴咨询关于dsp算法的问题,小编结合多年的经验整理出来一些dsp算法工程师对应的资料,分享给大家。
本文目录一览:
关于评估DSP一个算法优劣的指标有些什么呢?
这个综合说起来就很多了:
1.dsp的mips其实也就是等价于主频高低,现在低端的150mhz,高端的有1000mhz及以上的。
这个主要就是看你实现某种算法的时间
2.功耗,这个在某些移动应用中也是要考虑的。
3.ram,flash大小。看看片内的存储空间大小,还有片内存储器读取的时间。
片外的存储读取时间要长于片内的。
4。你是测试一种算法的,应该看一看,这个算法在多长时间内实现,利用了多少资源。
有没有为你的下一步应用预留下资源。因为你的这一算法后期还可能加进去其他的算法,应用接口。为了扩展性,预留资源。
当然还要考虑,pcb制作的难易程度,像6000以上的板子都不自己做的。还有片子价格,供应情况,像前一段时间,2812的片子供货紧张,80元的炒到几百元。
就说这么多了。也不是高手,你就看看吧。
DSP的算法移植问题
移植:
1)如果你的算法是基本opencv这样的基本上开发的,你需要脱离opencv的环境。
2)如果你的算法是C++语言,请你改成标准的C语言。虽然DSP的开发环境是支持C++的,但是不建议你这么做。
3)修改你算法的内存分配,尽量内存一次分配好,DSP在算法不断的申请和释放时会有隐患。优先使用静态数组,会减轻很多工作量。
4)在CCS下建立工程,来调试你的算法,内存分配函数需要使用TI提供的函数。如果你的算法能够长期稳定的运行,那么恭喜你,你的算法移植就完成了。
优化:
算法优化,需要你能懂算法,也懂DSP。如果你只会写DSP程序,而不会算法,这对整个产品来说,是不能达到最优的。有些公司怕算法泄密,给优化人员一段或几段程序让其优化。我觉得这样做是很不合理的。除非你自己能控制大局,精通优化,这样才可行。
1)你需要对算法原理做一个深刻苦的理解,阅读相关的文章。
2)对你拿到的算法做全方位的熟悉。
3)做好上面的准备工作后,你要对算法的结构做重新的整理。依据DSP的特点,比如内存的分布。算法结构调整完成后,你的算法在DSP上速度应该有一个明显的提高了。
4)结构调整完成后,找到算法中比较费时的部分。确定我们需要优化的重点,这部分内容多是每张图像都要处理一次或多次的部分。对于算法启动时初始化部分的内容,一般不需要优化。
5)确定优化内容后,你首先考虑从语言结构上去做优化,这个时候应该还是C语言的。我不建议大家用TI提供的在C语言中使用优化嵌入的C库函数。
6)你把需要优化的函数改写为线性汇编或汇编函数。不断的调整软件流水,提高速率。

DSP的算法移植问题,希望详细说说
首先要看代码是汇编的还是C的,汇编的移植比较困难,通常都是移植C代码。
C代码本身的移植性比较强,针对不同的DSP需要注意的是:
1、新的DSP是浮点型的还是定点型的;浮点改定点问题就多了,要重新定标。
2、DSP的速率是多少,这在控制系统中很重要,直接关系到时间资源的分配(如周期中断时间)和一些参数的调整 (如PI参数等)
3、程序中的DSP初始化设置要改
4、头文件和库文件要进行相应调整
5、CMD文件要调整(地址分配相关)
6、中断向量要调整
7、存储空间不够时要对代码进行精简
总的来说“DSP算法移植”就是要改变算法的执行环境,C代码本身并不需要做太多的修改。本人做过的是2812代码移植6713的,一点经验希望对你有帮助。
什么是FFT算法?DSP是什么?
dsp是数字信号处理 digital signal process的缩写,主要分为两个范畴:数字信号处理学,以及专门针对数字处理应用的芯片,“基于DSP的FFT算法”的意思就是用某种DSP芯片来跑FFT算法,FFT就是傅里叶分析,是数字处理中很普遍的一直数据分析方式,DSP芯片最典型的就是TI公司的C2000,C5000,C6000系列。
