美文网首页
Q格式(Q domain)-用整数运算小数

Q格式(Q domain)-用整数运算小数

作者: CSDN_georgeChen | 来源:发表于2019-12-05 12:04 被阅读0次

    定义

    由于成本与功耗受限的原因,对于DSP处理器,遇到浮点数无法处理,所以需要利用定点数进行浮点数的运算,而DSP中运用Q格式进行表示。

    • 当假定小数点位于第0位右侧时,为Q0

    • 当假定小数点再第15位右侧时,为Q15

    //第几位,从右向左数。计算数值时,按照位值进行计算

    • N位的处理器最大可以表示为Q N-1

    eg

    16进制数2000H

    Q0时:0010 0000 0000 0000. = 2^13 = 8192

    Q15时:0.010 0000 0000 0000 = 2^-2 = 0.25

    • Q格式下的编码,用补码进行表示。

    性质

    当Q较大时,数值范围小,但精度高。当Q较小时,数值范围大,但精度低。

    eg

    Q15的数值表示范围:-1~0.9999695,精度:1/32768

    Q0的数值表示范围:-32678~32767,精度:1

    运算

    基本运算

    • 加减法必须相同的Q格式的数据才能相加减,不同Q格式的数据必先通过移位至相同的Q格式后才能相加减。

    • 乘法:不同Q格式的数据向乘,相当于Q值相加

    • 除法:不同Q格式的数据向乘,相当于Q值相减

    • 定点左移:相当于Q值相加

    • 定点右移:相当于Q值相减

    异常处理

    • 加减法得出的数值范围超过处理器N位能表示的范围时,运算结果与补码溢出一致

    • 乘除法的出的Q值范围超过处理器N位能表示的范围时,可通过移位,降低/增加精度获得运算结果,但过程中会有一定数据损失

    //一般为了避免溢出的发生,需要设置溢出保护功能,即当溢出发生时,将结果设置位最大值或最小值

    参考资料

    DSP的Q格式讲解

    Q格式-互动百科

    相关文章

      网友评论

          本文标题:Q格式(Q domain)-用整数运算小数

          本文链接:https://www.haomeiwen.com/subject/ypjdgctx.html