常见问答

常见问答

DSP为何需要有Q 格式? q31, q15, q7, f32又是什么意思?  日期:2016-12-01

在DSP运算中,当整数运算无法解决问题,而浮点数运算又太花时间时,即可使用Q格式来解决效能与运算时间问题。

  • q31, q15, q7都为使用定点数方式来表示小数部分,数据大小分别为 32, 16, 8 bits,数值表示范围都在-1~0.9999之间。数字即为小数点设定在右数第几位,q31为小数点在右数第31位,即使用31位来表示小数,其余格式以此类推。
  • f32为浮点数使用32位来储存与表示。

范例:

16进制数0x2000 = 8192,但q15格式下为0.25,其原因是0x2000 展开成二进制数是 0010 0000 0000 0000。当使用q15表示时,小数点在从右数第15位,即0.010 0000 0000 0000 等于10进制数的 0.25 (左数第一位为符号数)。

另外Q格式的乘法运算完后需要向右位移,位移多少取决于何种Q格式,q15乘法为需右移15位,q7右移7位,其余以此类推。

范例:
现有两个10进制数分别为0.25与0.5,以q7格式表示为0.010 0000和0.100 0000,相乘之后为0000 1000 0000 0000之后再右移7位变成0.001 0000。在q7格式下等于10进制数的0.125。

产品: 微控制器 ,Arm Cortex-M4 微控制器 ,M451 Base 系列 ,M451M 系列 ,M452 USB 系列 ,M453 CAN 系列 ,M4TK 触摸 IC 系列 ,NUC442 / 472 系列 ,NUC505 系列
应用:
功能: Peripherals,ARM,DSP