DSP定点和浮点数格式

上传人:206****923 文档编号:55419188 上传时间:2018-09-29 格式:PPT 页数:42 大小:836.50KB
返回 下载 相关 举报
DSP定点和浮点数格式_第1页
第1页 / 共42页
DSP定点和浮点数格式_第2页
第2页 / 共42页
DSP定点和浮点数格式_第3页
第3页 / 共42页
DSP定点和浮点数格式_第4页
第4页 / 共42页
DSP定点和浮点数格式_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《DSP定点和浮点数格式》由会员分享,可在线阅读,更多相关《DSP定点和浮点数格式(42页珍藏版)》请在金锄头文库上搜索。

1、DSP 运算基础,1、 DSP的数据表示2、定点数的格式与运算3、浮点数的格式与运算,1、 DSP的数据表示,格式,字长,16位,32位,定点,浮点,24位,格式和字长决定了数据的精度和动态范围,格式和字长也在一定程度上决定了DSP处理器的成本、功耗和编程难度,2、 定点数的格式与运算,1. 定点数的格式 1)Qn格式 2)数值范围与精度 3)动态范围 2. 定点数的算术运算 1)定点数的加减法运算 2)定点数的乘法运算 3)定点数的除法运算,小数点,1. 定点数的格式,1)Qn格式,Q标志:表示隐含的小数点的位置,二进制补码数01010011b,粗线表示隐含的小数点位置,对于负数(最高位MS

2、B为1),要先把它转化为无符号二进制数,再进行计算,最后加上负号,例:8位字长,定点数与浮点数、定点数与定点数之间的转换关系,浮点数X Qn格式的定点数Xn例:5.1875 Q4定点数 5.187524 83 01010011b,Qn格式的定点数Xn 为浮点数X例: (Q7) 01010011b 浮点数 83/27 0.6484375,Qn格式的定点数Xn Qm格式的定点数Xm例:(Q7) 01010011b Q4定点数 83/27 0.6484375 int(0.6484375 24 ) int(10.375) 1000001010b 10/24 0.625 0.6484375,给定字长N,

3、采用Qn格式表示小数数值范围:精 度:,2)数值范围与精度,16位字长Qn格式的数值范围与精度,动态范围:数据表示格式中可以表示的最大值与最小值之比 N位定点数的动态范围:用分贝表示为:,3)动态范围,动态范围:数据表示格式中可以表示的最大值与最小值之比定点DSP处理器大多采用16位定点数,对于要求更大动态范围的应用,可以采用扩展字长的方式,即用两个或更多的字来表示数据,定点DSP处理器要求编程时要仔细考虑信号幅值和中间结果,在避免溢出和尽可能减小舍入误差的前提下,使精度和动态范围最大化,2. 定点数的算术运算,1)定点数的加减法运算,相同的Qn格式,保证隐含的小数点对齐 最可能出现的问题是运

4、算结果的溢出 例:两个8位数相加,无溢出 进位位与最高位(MSB)相同 8位字长可以表示结果,没有发生数据溢出,例:两个8位数相加,有溢出 进位位与最高位(MSB)不同 运算结果发生溢出,8位字长已不能正确地表示结果,溢出是由于字长有限,运算结果超出数值的表示范围引起的,饱和模式,定点数减法运算的原理与加法运算相同,2)定点数的乘法运算,DSP处理器都有硬件乘法器和乘法指令,可实现单周期乘法运算 二进制乘法运算包含一系列的移位和加法运算 定点数乘法运算不要求相乘数有相同的Qn格式 两个相乘数分别为Qn和Qm格式,字长为N,结果为Q(n+m)格式,字长为2N 根据n和m的不同取值,定点数乘法运算

5、可以分成三种情况, 小数乘小数(n、m0,m n) 整数乘小数(n0、m=0) 整数乘整数(n=m=0), 小数乘小数(n、m0,m n),例:两个相乘数分别为Q7和Q6格式,8位字长 两个定点小数作乘法运算,结果左移一位,保存高位得到运算结果,结果为Qm(m n)格式, 整数乘小数(n0、m=0),例:两个相乘数分别为Q7和Q0格式,8位字长,误差小于等于Qn格式精度的一半,即小于等于1/2n+1 单次计算的误差并不大,但如果是连续的运算,则误差会累积和传递,从而产生比较大的误差 DSP处理器提供了自动舍入功能来减小误差 保留整个32位中间结果,小数乘小数、整数乘小数运算都要求对乘积结果左移

6、一位后,保存高位 DSP处理器带有可选的自动左移一位的功能,消除移位操作的时间开销, 整数乘整数(n=m=0),例:两个相乘数都为Q0格式,8位字长整数相乘,结果为Q0格式,需查询标志位确定保存的位数,结果不需要左移一位,3)定点数的除法运算,大多数DSP处理器不提供单周期除法指令除法是乘法的逆运算,包括一系列移位和条件减法运算,需要用除法子程序实现,例:8位字长的正整数相除 被除数为00001010b(10)除数为00000011b(3), , 对结果的小数点右移一位,得到Q5格式的结果011.01010b(3.3125),最高位MSB为符号位,计算中,共进行了7次移位和条件减操作,得到8位

7、(1个符号位和7个数据位)的结果 要增加精度,可以增加移位和条件减的次数,如15次移位和条件减可以得到16位的结果,对于两个正的小数相除(Qn格式除以Qm格式) 如Q3格式的00001.010b(1.25)除以Q2格式的000000.11b(0.75) 把两个正的小数看作两个Q0格式的正整数相除,即00001010b(10)除以00000011b(3) 与上面例子相同,结果为Q5格式011.01010b 最后对结果的小数点位置左移n-m 位 对于本例3-2=10,则结果的小数点左移一位,最后结果为Q6格式01.101010b(1.65625),如果除法运算中包含负数,应将负数变换为等值的正数,

8、然后作除法运算,最后加上正确的符号,2.3 浮点数的格式与运算,1. 浮点数的格式 1)IEEE754浮点数格式 2)TMS320C3X浮点数格式 3)浮点数的数值范围、精度和动态范围 2. 浮点数的算术运算 1)浮点数的加减法运算 2)浮点数的乘法运算 3)浮点数的除法运算,浮点数表示为尾数和指数的形式式中,m 为尾数,e 为指数 符号、尾数和指数编码在同一个二进制字中,1. 浮点数的格式,符号、尾数和指数的位数和位域不同,浮点数格式不同,常用的浮点数格式有 IEEE754标准定义的单精度格式和双精度格式 TI公司定义的TMS320C3X浮点数格式,1)IEEE754浮点数格式,单精度格式:

9、24位有效数字,总共占用32 位 双精度格式:53位有效数字精度,并总共占用64位 扩展单精度格式: 扩展双精度格式:必须至少具有64位有效数字,并总共占用至少79 位,表示的数值,通常情况,即 1 e 254 时,四种特殊情况 当 e=0、f0 时,尾数是个非归一化的数 当 e=0、f=0 时,x=0 当 e=255、f=0 时,x为正(s=0)或负(s=1)的无穷大 当 e=255、f0 时,x为一个无效数(NaNNot a Number),最高位(第31位)为符号位s, 32位单精度浮点数1100,0011,0101,0010,0000,0000,0000,0000b, 32位单精度浮点

10、数0011,1101,0011,1110,0000,0000,0000,0000b,例,许多32位浮点DSP处理器具有40位的运算单元,可以进行扩展单精度格式的浮点运算,扩展单精度格式与单精度格式的区别是,扩展单精度格式的尾数增加了8位,达到31位,2)TMS320C3X浮点数格式,16位短浮点格式 32位单精度格式 40位扩展精度格式,32位单精度浮点数格式用的最多,表示的数值,3)浮点数的数值范围、精度和动态范围,以IEEE754单精度浮点数为例,数值范围,不考虑s,当e=254,f 为全1 最大的数(12-23)2127=1.7014121038,加上符号就对应为正的和负的最大数 IEE

11、E754单精度浮点数的数值范围为, 1.70141210381.7014121038,精度,尾数 f 为23位, f 变化的最小值为1/2 23,与定点数不同,这个最小值并不是浮点数的精度,精度还与指数有关,浮点数的精度是变化的,与数值的大小有关,定点数的数值是等间隔的 由于指数项的存在,浮点数的变化不是等间隔的,指数大、数值大、数值间隔也大;相反,指数小、数值小、数值间隔也小,最大数(12-23)2127 不考虑s,当e=1,f 为全零时,得到最小数2-126 动态范围,动态范围,若考虑e=0、f0 时的情况,动态范围还会更大,浮点数的数值范围和动态范围都要比定点数大的多,浮点数的精度是变化

12、的,与数值的大小有关,2. 浮点数的算术运算,浮点数的算术运算分成两个部分 尾数的算术运算 指数的算术运算,设两个浮点数分别为 x1 m1 2e1 x2 m2 2e2 m1和e1分别为x1的指数和尾数 m2和e2分别为x2的指数和尾数,浮点DSP处理器提供单周期加法、乘法和乘累加运算,1)浮点数的加减法运算,设e1e2,浮点数x1和x2的加法为x1 x2 m12e1 ( m2 2e2e1 ) 2e1 ( m1 m22e2e1) 2e1,加法运算的过程为 先对指数小的数按照指数大的数归正,使两个数的指数相等 然后将归正后的尾数相加,浮点数减法运算的原理与加法运算相同,2)浮点数的乘法运算,浮点数

13、x1和x2的乘积为 x1 x2 ( m1 m2 ) 2e1e2,乘法运算的过程 尾数m1和m2相乘 指数e1和e2相加 为满足浮点数的格式要求,还需要对尾数乘积的结果进行归一化处理,并相应调整指数值,以及对特殊情况的处理等,3)浮点数的除法运算,浮点数x1除以x2为x1 x2 ( m1 m2 ) 2e1e2,除法运算的过程为 尾数m1除以m2 指数e1和e2相减 为满足浮点数的格式要求,还需要对尾数相除的结果进行归一化处理,并相应调整指数值,以及对特殊情况的处理等,浮点DSP处理器一般不提供单周期除法指令,浮点除法需要用除法子程序来实现,练习,(1)试写出下述X,Y定点乘法C语言模拟程序设x=18.4,y=36.8,Qx=10;Qy=9;Qz=5(2)试写出下述X,Y定点除法C语言模拟程序设x=18.4,y=36.8,Qx=10;Qy=9;Qz=15,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 其它小学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号