Q数的定义

1.Q数的定义

对于16位的DSP而言,Q数定义共有16种,其简化写法分别是Q15、Q14、Q13到Q0,其数学含义可以 在其标准定义中确定。分别是Q1.15、Q2.14、Q3.13到Q16.0即标准形式为 Qn:m , 其数学意义是Q数的最大整数的绝对值<=2^(n-1);例如Q15其整数位小于等于1;Q14的整数位小于等于2;Q13的整数位小于等于4;

2.Q数圆

对于16位的DSP,如果是有符号数,则可以表示为图,所绘制的Q数圆,Q数圆在整个圆周上分布有2^(16)=65536个数据点,每一个数据点,都具有唯一性。Q数圆的起始点为0000,其在该圆的垂直轴线的正上方;Q数圆的右半圆为正数,其最大顺时针旋转,在该圆的垂直轴线的正上方;Q数圆的右半圆为正数,其最大值顺时针旋转,在该圆的垂直轴线的正下方右边第一个点,其16进制的数值为7FFF,但是,其对于不同的Q数,其真值是不同的,例如:7FFF对于Q15格式,其代表的数值是0.9999695,但是,对于Q13格式,其代表的数值是3.9999. 在这里插入图片描述
Q数圆的左半圆为负数,其起始点为FFFF为补码格式,在该圆的垂直抽线的正上方左边第一个点,其真值在Q15格式时为-3.0518*10^(5),其原码是8001,与正数0001呈现垂直轴Y轴对称。其最小值为逆时针旋转,在该圆的垂直轴线的正下方的点,其16进制的数值为8000为补码格式,但是,对于不同的Q数,其真值是不同的,例如:8000对于Q15格式,其代表的数值是-1,但是,对于Q13格式,其代表的数值是-4.

实数的真值与Q数的转换方法

在DSP的实际运算中,实数需要根据其大小和位数转化为相应的Q数,方可以作为常数,写入到程序中,其转换的办法需要遵循下列公式:
假定实数的真值为R,其需要转换的Q数值为Qm , m=0,1,2…15
Qm=R2^(m);
例 1:R=0.5 ,需要转换为Q15格式,则,Q15=R
2^(m)=16384=4000h
例 2:R = -0.5 ,需要转换为Q15格式,则,Q15=-R2^(m)=-16384=-4000h(原码),需要转换为补码(取反加1):-4000h=BFFF(反码)=C000(补码)
在DSP的实际运算中,Q数也需要根据其大小和位数转化为相应的实数真值,其转换的办法需要遵循下列公式:
假定Q数值为Qm,m=0,1,2…15,其需要转换的实数的真值为R。
R=Qm
2^(-m)
例 3:Q15数的3FFF转换为实数真值
3FFFh=163832(-15)=0.499969
例4:Q15数C001转换为实数真值
C001补码(取反加1)=3FFF
C001=-16383
2^(-15)=-0.499969
显然,Q数圆的16位数在几何空间上是确定和唯一的,但是,在16位数相同的情况下,Q数值不同,则实数的真值不同。

Q数的加减法:

Q数的加减法的规则必须遵从相同阶数的Q数可以相加减的原则,不同阶数的Q数相加减,必须转换成为阶数相同的Q数,即必须遵循小数点对齐的原则。
在这里插入图片描述
例7:假定有两个正实数,其值分别为:0.125与0.375,其和为0.5,现在采用分别转换为Q15格式,然后相加。
0.125=0.1252^(15)=1000 (Q15格式);
0.375=0.375
2^(15)=3000 (Q15格式)
1000h+3000h=4000=16384*2^(-15)=0.5

例8:假定有两个实数,其值分别为:-0.125与0.5,其和为0.375,现在采用分别转换为Q15格式,然后相加。
-0.125=-0.1252^(15)=F000(Q15格式)
0.5=0.5
2^(15)=4000h (Q15格式)
F000h+4000h=3000h=12288*2^(-15) =0.375

抄录:

  • http://wenku.baidu.com/view/85799c34ee06eff9aef807c6.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值