2024年4月28日发(作者:愈迎秋)
Q格式:通俗的讲就是将一个小数放大若干倍后,用整
又有16位Q格式和32位Q格式,其中16位Q格式的库为
可以理解为增强型Increase,即32DSP是16位DSP的增强型,然后32位的就用IQ表示。
为什么要用到Q格式?因为CPU是定点微处理器时不能直接处理小数,C语言中的自动调用运行时的函数来
的差别,用户的编程工作量最少,但是编译出来的代码很庞大,在嵌入式应用中很多情况下,float型几
Q格式定标法:通过假定小数点位于二进制位中某位的右侧,从而确定小数的精度。Q0:小数点在第0位
0~14位都是小数位。
※Q格式:小数点位于第 n 位元之右侧,称为Qn 格式。例如;16位元二进位数:0100 0010 1000 0001
à在Q0格式下其表示的是:2^14+2^9+2^7+2^0=17025(d);à在Q8格式下其表示的是:2^6+2^1+2^-1+2^-8
16=0.25978~(d)
整数定标本质上并不复杂,简单地说,就是通过假定小数点位于哪一位。从而确定小数精度。实际应用
以要选择一个适当的定标格式才能更好的处理运算。DSP定点运算处理器运算浮点数时,对浮点数转换为
度限制,下表详细记录了Q格式的取值和精度。
8位
BIT
0
1
2
3
4
5
6
7
Q表示
Q7
Q6
Q5
Q4
Q3
Q2
Q1
Q0
S表示
S1.7
S2.6
S3.5
S4.4
S5.3
S6.2
S7.1
S8.0
十进制数范围
最小数
-1
-2
-4
-8
-16
-32
-64
-128
16位
BIT
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Q表示
Q15
Q14
Q13
Q12
Q11
Q10
Q9
Q8
Q7
Q6
Q5
Q4
Q3
Q2
Q1
Q0
S表示
S1.15
S2.14
S3.13
S4.12
S5.11
S6.10
S7.9
S8.8
S9.7
S10.6
S11.5
S12.4
S13.3
S14.2
S15.1
S16.0
十进制数范围
最小数
-1
-2
-4
-8
-16
-32
-64
-128
-256
-512
-1024
-2048
-4096
-8192
-16384
-32768
32位
BIT
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Q表示
Q31
Q30
Q29
Q28
Q27
Q26
Q25
Q24
Q23
Q22
Q21
Q20
Q19
Q18
Q17
Q16
Q15
Q14
Q13
Q12
Q11
Q10
Q9
Q8
Q7
Q6
Q5
Q4
Q3
Q2
Q1
Q0
S表示
S1.31
S2.30
S3.29
S4.28
S5.27
S6.26
S7.25
S8.24
S9.23
S10.22
S11.21
S12.20
S13.19
S14.18
S15.17
S16.16
S17.15
S18.14
S19.13
S20.12
S21.11
S22.10
S23.9
S24.8
S25.7
S26.6
S27.5
S28.4
S29.3
S30.2
S31.1
S32.0
十进制数范围
最小数
-1
-2
-4
-8
-16
-32
-64
-128
-256
-512
-1024
-2048
-4096
-8192
-16384
-32768
-65536
-131072
-262144
-524288
-1048576
-2097152
-4194304
-8388608
-16777216
-33554432
-67108864
-134217728
-268435456
-536870912
-1073741824
-2147483648
,用整数来表示小数。其中Q是定点格式,浮点数进行定点数运算处理时一般有Q格式和S格式,
位Q格式的库为
是16位DSP的增强型,然后32位的就用IQ表示。
微处理器时不能直接处理小数,C语言中的自动调用运行时的函数来处理浮点数(float型),C语言中抹平了定点处理
是编译出来的代码很庞大,在嵌入式应用中很多情况下,float型几乎不能去想,所以才会要用到Q格式定标法。
进制位中某位的右侧,从而确定小数的精度。Q0:小数点在第0位的右侧,即我们一般采用的方法。Q15:小数点在第
侧,称为Qn 格式。例如;16位元二进位数:0100 0010 1000 0001
^7+2^0=17025(d);à在Q8格式下其表示的是:2^6+2^1+2^-1+2^-8=66.50390~(d);à在Q16格式下其表示的是:2^-2+
,就是通过假定小数点位于哪一位。从而确定小数精度。实际应用中,浮点运算大都时候都是既有整数部分,也有小
好的处理运算。DSP定点运算处理器运算浮点数时,对浮点数转换为Q格式,但不同的Q格式具有一定的取值范围限制,
和精度。
8位
最大数
0.9920
1.984375000000000
3.96875
7.9375
15.875
31.750
63.500
127.000
16位
最大数
0.999969482421875
1.999938964843750
3.999877929687500
7.999755859375000
15.9995
31.999
63.998
127.996
255.9920
511.984375000000000
1023.96875
2047.9375
4095.875
8191.750
16383.500
32767.000
32位
最大数
0.999999999534338
1.999999999068670
3.999999998137350
7.999999996274700
15.999999992549400
31.999999985098800
63.999999970197600
127.999999940395000
255.999999880790000
511.999999761581000
1023.999999523160000
2047.999999046320000
4095.999998092650000
8191.999996185300000
16383.999992370600000
32767.999984741200000
65535.999969482400000
131071.999938965000000
262143.999877930000000
524287.999755859000000
1048575.9995
2097151.999
4194303.998
8388607.996
16777215.9920
33554431.984375000000000
67108863.96875
134217727.9375
268435455.875
536870911.750
1073741823.500
2147483647.000
格式,在DSP中采用Q格式,其中
,16位的DSP前面没有字母I,所以字母I
,C语言中抹平了定点处理器和浮点处器
要用到Q格式定标法。
的方法。Q15:小数点在第15位的右侧,
格式下其表示的是:2^-2+2^-7+2^-9+2^-
是既有整数部分,也有小数部分的。所
具有一定的取值范围限制,也有一定的精
2024年4月28日发(作者:愈迎秋)
Q格式:通俗的讲就是将一个小数放大若干倍后,用整
又有16位Q格式和32位Q格式,其中16位Q格式的库为
可以理解为增强型Increase,即32DSP是16位DSP的增强型,然后32位的就用IQ表示。
为什么要用到Q格式?因为CPU是定点微处理器时不能直接处理小数,C语言中的自动调用运行时的函数来
的差别,用户的编程工作量最少,但是编译出来的代码很庞大,在嵌入式应用中很多情况下,float型几
Q格式定标法:通过假定小数点位于二进制位中某位的右侧,从而确定小数的精度。Q0:小数点在第0位
0~14位都是小数位。
※Q格式:小数点位于第 n 位元之右侧,称为Qn 格式。例如;16位元二进位数:0100 0010 1000 0001
à在Q0格式下其表示的是:2^14+2^9+2^7+2^0=17025(d);à在Q8格式下其表示的是:2^6+2^1+2^-1+2^-8
16=0.25978~(d)
整数定标本质上并不复杂,简单地说,就是通过假定小数点位于哪一位。从而确定小数精度。实际应用
以要选择一个适当的定标格式才能更好的处理运算。DSP定点运算处理器运算浮点数时,对浮点数转换为
度限制,下表详细记录了Q格式的取值和精度。
8位
BIT
0
1
2
3
4
5
6
7
Q表示
Q7
Q6
Q5
Q4
Q3
Q2
Q1
Q0
S表示
S1.7
S2.6
S3.5
S4.4
S5.3
S6.2
S7.1
S8.0
十进制数范围
最小数
-1
-2
-4
-8
-16
-32
-64
-128
16位
BIT
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Q表示
Q15
Q14
Q13
Q12
Q11
Q10
Q9
Q8
Q7
Q6
Q5
Q4
Q3
Q2
Q1
Q0
S表示
S1.15
S2.14
S3.13
S4.12
S5.11
S6.10
S7.9
S8.8
S9.7
S10.6
S11.5
S12.4
S13.3
S14.2
S15.1
S16.0
十进制数范围
最小数
-1
-2
-4
-8
-16
-32
-64
-128
-256
-512
-1024
-2048
-4096
-8192
-16384
-32768
32位
BIT
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Q表示
Q31
Q30
Q29
Q28
Q27
Q26
Q25
Q24
Q23
Q22
Q21
Q20
Q19
Q18
Q17
Q16
Q15
Q14
Q13
Q12
Q11
Q10
Q9
Q8
Q7
Q6
Q5
Q4
Q3
Q2
Q1
Q0
S表示
S1.31
S2.30
S3.29
S4.28
S5.27
S6.26
S7.25
S8.24
S9.23
S10.22
S11.21
S12.20
S13.19
S14.18
S15.17
S16.16
S17.15
S18.14
S19.13
S20.12
S21.11
S22.10
S23.9
S24.8
S25.7
S26.6
S27.5
S28.4
S29.3
S30.2
S31.1
S32.0
十进制数范围
最小数
-1
-2
-4
-8
-16
-32
-64
-128
-256
-512
-1024
-2048
-4096
-8192
-16384
-32768
-65536
-131072
-262144
-524288
-1048576
-2097152
-4194304
-8388608
-16777216
-33554432
-67108864
-134217728
-268435456
-536870912
-1073741824
-2147483648
,用整数来表示小数。其中Q是定点格式,浮点数进行定点数运算处理时一般有Q格式和S格式,
位Q格式的库为
是16位DSP的增强型,然后32位的就用IQ表示。
微处理器时不能直接处理小数,C语言中的自动调用运行时的函数来处理浮点数(float型),C语言中抹平了定点处理
是编译出来的代码很庞大,在嵌入式应用中很多情况下,float型几乎不能去想,所以才会要用到Q格式定标法。
进制位中某位的右侧,从而确定小数的精度。Q0:小数点在第0位的右侧,即我们一般采用的方法。Q15:小数点在第
侧,称为Qn 格式。例如;16位元二进位数:0100 0010 1000 0001
^7+2^0=17025(d);à在Q8格式下其表示的是:2^6+2^1+2^-1+2^-8=66.50390~(d);à在Q16格式下其表示的是:2^-2+
,就是通过假定小数点位于哪一位。从而确定小数精度。实际应用中,浮点运算大都时候都是既有整数部分,也有小
好的处理运算。DSP定点运算处理器运算浮点数时,对浮点数转换为Q格式,但不同的Q格式具有一定的取值范围限制,
和精度。
8位
最大数
0.9920
1.984375000000000
3.96875
7.9375
15.875
31.750
63.500
127.000
16位
最大数
0.999969482421875
1.999938964843750
3.999877929687500
7.999755859375000
15.9995
31.999
63.998
127.996
255.9920
511.984375000000000
1023.96875
2047.9375
4095.875
8191.750
16383.500
32767.000
32位
最大数
0.999999999534338
1.999999999068670
3.999999998137350
7.999999996274700
15.999999992549400
31.999999985098800
63.999999970197600
127.999999940395000
255.999999880790000
511.999999761581000
1023.999999523160000
2047.999999046320000
4095.999998092650000
8191.999996185300000
16383.999992370600000
32767.999984741200000
65535.999969482400000
131071.999938965000000
262143.999877930000000
524287.999755859000000
1048575.9995
2097151.999
4194303.998
8388607.996
16777215.9920
33554431.984375000000000
67108863.96875
134217727.9375
268435455.875
536870911.750
1073741823.500
2147483647.000
格式,在DSP中采用Q格式,其中
,16位的DSP前面没有字母I,所以字母I
,C语言中抹平了定点处理器和浮点处器
要用到Q格式定标法。
的方法。Q15:小数点在第15位的右侧,
格式下其表示的是:2^-2+2^-7+2^-9+2^-
是既有整数部分,也有小数部分的。所
具有一定的取值范围限制,也有一定的精