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

定义

由于成本与功耗受限的原因,对于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格式-互动百科

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 定点小数运算 来自:http://www.eepw.com.cn/article/17893.htm 在DSP世界...
    郝宇峰阅读 9,249评论 0 2
  • 1 关键字 1.1 关键字的概述 Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或...
    哈哈哎呦喂阅读 672评论 0 0
  • 进制基本概念 什么是进制?进制是一种计数的方式,数值的表示形式 常见的进制十进制、二进制、八进制、十六进制 进制书...
    极客江南阅读 2,042评论 0 11
  • 林徽因曾用“你是人间的四月天”,来赞美四月。可我要说,五月才是最美的。五月,可以去看美丽的风景;五月,姹紫嫣红,绿...
    东风东风阅读 792评论 2 2
  • SCHWINN是我踏入社会的第一家公司。记得当时正打算回家参加闺蜜婚礼然后没抱太大希望面试的最后一家公司,...
    A向日葵_13cb阅读 491评论 0 1