用于FFT ARM Cortex-M7的Q31和SP的精确度

问题描述 投票:0回答:1

我想了解一下,在DSP应用中,使用定点Q31是否比浮点(单精度)更好,因为在DSP应用中,精度是很重要的。我知道SP的mantissa有24位,而Q31有31位,因此,Q31的精度应该更好,但我到处看到,对于需要乘法等算法,应该使用浮点表示,我不明白为什么。

先谢谢你了。

signal-processing cortex-m fixed-point fpu cmsis
1个回答
0
投票

要想从定点中获得最大的值(多出的6、7位精度),以及避免大量可能的下溢和溢出问题,需要精确地知道以下参数的界限(最小和最大): 1. 每一 在您的CMSIS算法中,对每一个有效的输入数据集进行算术操作。

在实践中,既要进行完整的误差分析,结果是很困难的,而且需要将所有中间值重新标定到最佳范围的附加操作也大大降低了性能,因此,只有较窄的一组情况似乎才值得努力,而不是使用IEEE信号或双数,M7在硬件上支持双数,浮点指数范围隐藏了大量的(但不是全部!!)中间结果数值缩放问题。

但对于一些比较简单的DSP算法,有时分析和解决缩放问题并不是问题。 如果不拆解你所需要的算法中每一个算术运算的数值范围,很难说清是哪一个。 有时需要使用整数算术的工作,是因为现有的处理器不能很好地支持浮点算术或根本不支持。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.