今天下午的课程刚好讲到DSP的定点和浮点运算。
老师说:
定点运算的位数已经达到了32位精度,在很多场合都可以不用浮点。
因为浮点计算加法时候实在是很麻烦,需要对位。比定点复杂。
浮点计算就是能表示38位,比定点的表示范围要大。
我想知道一般什么工程中,浮点运算用的比较多?
是要求精度高的时候?
或者是数值范围定点32位达不到了?
这种情况什么时候会有?
有没有高手给个例子呢?
还有就是,既然定点运算的能够表示的范围和精度在不断地增加,那是否意味着在实际中,以后定点有可能取代浮点运算???
谢谢!
回复 沙发 zqzq501311 的帖子
已经在另外的帖子给你回复了,这里再给你贴出来吧
要知道浮点和定点DSP的应用,就得知道浮点和定点DSP的概念、优缺点。
运算动态范围不同,要大很多。浮点的范围要比定点的DSP运算范围大。定点运算的DSP的每bit相当于6dB的范围,那16位DSP的动态范围就是96dB,支持2^16个量化步长;16位DSP的动态范围就是192dB,支持2^32个量化步长,这样就要求定标的重要性,而且在运算中会有益出,减少了精度,特别是在要求比较高的语音、图像和雷达等信号处理时,数据有丢失和结果误差较大,可能会使整个系统的性能下降,同时要求的存储空间和运算时间可能就比较大,这时可以根据需要选用浮点型DSP。
而32bit的IEEE格式的浮点运算DSP的动态范围可以达到1536dB,量化步长就不用说了,大到几乎用不着,这样,动态范围和运算精度都大大的提高,还节省了运算时间和存储空间(因为少了定标和益处等运算量)。 而且浮点DSP的浮点运算用硬件来实现,可以在单周期内完成,因而其处理速度大大高于定点DSP。这一优点在实现高精度复杂算法时尤为突出,为复杂算法的实时处理提供了保证。
从上面的分析就应该马上知道,从总体运算性能上看,浮点DSP优于定点DSP,但为什么都不采用浮点DSP呢。因为,作为市场需求和工程开发来说,还应考虑功耗、成本、体积等因素,定点DSP 的结构较为简单,封装较小,功耗更低,价格较便宜,而浮点在这些方面要差一点,因此在无法持续供电的场合,一般选用的都是定点DSP,例如移动电话。消费类电子产品行业会选用定点DSP,因为功耗个成本很重要。
重视性能的,或者性能为第一等级的,一般用浮点DSP。
以上不是完全绝对的哦。