选择DSP芯片需考虑什么?DSP芯片浮点、定点有何区别?
扫描二维码
随时随地手机看文章
在这篇文章中,小编将对DSPDSP的相关内容和情况加以介绍以帮助大家增进对DSP芯片的了解程度,和小编一起来阅读以下内容吧。
一、选择DSP芯片需注意什么
在这部分,我们来看看选择DSP芯片时需要注意哪些事项。
(1)速度指标
DSP最基本的速度指标是MIPS(百万条指令每秒)和MFLOPS(百万次浮点运算每秒),还有FFT和FIR滤波器的速度及除法、求平房根等特殊运算的速度。
(2)输入输出的带宽
在运算速度达到要求时,还要考虑DSP输入/输出数据的速度是否足够快。
(3)精度和动态范围:精度和动态范围由DSP的数据字宽和定点/浮点数据格式决定。
(4)特定功能:若DSP上集成了多种上电加载功能、同步/异步串口、A/D、D/A、片内语音处理功能、编解码等,可以方便设计,降低成本。
(5)片内存储器
DSP片内存储器可用来放程序和数据,当程序和数据都放在片内时,DSP的运行速度要高得多,所以片内存储器越多越好。
(6)DSP开发工具
选择DSP芯片时必须注意其开发工具的支持情况,包括硬件和软件。
(7)功耗问题和硬件封装问题
(8)成本问题
定点DSP较便宜,功耗较低,但运算精度稍低。
浮点DSP稍贵,功耗较高,但运算精度高,C语言编程调试方便。
二、DSP芯片浮点、定点区别
通过上面的介绍,想必大家对选择DSP芯片时需要考虑的因素已经具备了初步的认识。下面,我们再来看看DSP芯片浮点、定点之间到底存在哪些区别。
在选择DSP器件的时候,是采用浮点还是采用定点,如果用定点是16位还是32位?其实这个问题和你的算法所要求的信号的动态范围有关。
浮点运算DSP比定点运算DSP的动态范围要大很多。定点DSP的字长每增加1bit,动态范围扩大6dB,16bit字长的动态范围为96dB。程序员必须时刻关注溢出的发生。例如:在做图像处理时,图像做旋转、移动等,就很容易产生溢出。这时,要么不断地移位定标,要么作截尾。前者要耗费大量的程序空间和执行时间,后者则很快带来图像质量的劣化。
总之,是使整个系统的性能下降。在处理低信噪比信号的场合,例如进行语音识别、雷达和声纳信号处理时,也会发生类似的问题。而32bit浮点运算DSP的动态范围可以作到1536dB,这不仅大大扩大了动态范围,提高了运算精度,还大大节省了运算时间和存储空间,因为大大减少了定标,移位和溢出检查。
定点的计算不过是把一个数据当作整数来处理,通常AD采样来的都是整数,这个数相对于真实的模拟信号有一个刻度因子,大家都知道用一个16位的AD 去采样一个0到5V的信号,那么AD输出的整数除以2^16再乘以5V就是对应的电压。在定点DSP中是直接对这个16位的采样进行处理,并不将它转换成以小数表示的电压,因为定点DSP无法以足够的精度表示一个小数,它只能对整数进行计算。
而浮点DSP的优势在于它可以把这个采样得到的整数转换成小数表示的电压,并不损失精度,原因在于科学记数法可以表示很大的动态范围的一个信号,以IEEE754浮点数为例,单精度浮点格式:[31] 1位符号[30-23]8位指数[22-00]23位小数。这样的能表示的最小的数是+-2^-149,最大的数是+-(2-2^23)*2^127,动态范围为20*log(最大的数/最小的数)=1667.6dB这样大的动态范围使得在编程的时候几乎不必考虑乘法和累加的溢出,而如果使用定点处理器编程,对计算结果进行舍入和移位则是家常便饭,这在一定程度上会损失精度。
以上所有内容便是小编此次为大家带来的有关如何选用DSP芯片以及DSP芯片DSP浮点、定点区别的所有介绍,如果你想了解更多有关它的内容,不妨在我们网站或者百度、google进行探索哦。