DSP定点和浮点数格式.ppt

上传人:仙人指路1688 文档编号:2228565 上传时间:2023-02-03 格式:PPT 页数:42 大小:837KB
返回 下载 相关 举报
DSP定点和浮点数格式.ppt_第1页
第1页 / 共42页
DSP定点和浮点数格式.ppt_第2页
第2页 / 共42页
DSP定点和浮点数格式.ppt_第3页
第3页 / 共42页
DSP定点和浮点数格式.ppt_第4页
第4页 / 共42页
DSP定点和浮点数格式.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《DSP定点和浮点数格式.ppt》由会员分享,可在线阅读,更多相关《DSP定点和浮点数格式.ppt(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,粗线表示隐含的小数点位置,对于负数(最高位MSB为1),要先把它转

2、化为无符号二进制数,再进行计算,最后加上负号,例: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.6484375int(0.6484375 24)int(10.375)1000001010b10/24 0.625 0.6484375,给定字长N,采用Qn格式表示小数数值范围:精 度:,2

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

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

5、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位中间结果,小数乘小数、整数乘小数运算都要求对乘积结果左移一位后,保存高位DSP处理器带有可选的自动左移一位的功能,消除移位操作的时间开销,整

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

7、得到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),如果除法运算中包含负数,应将负数变换为等值的正数,然后作除法运算,最后加上正确的符号,2.3 浮点数的格式与运算,1.浮点数的格式 1)IEEE754浮点数格

8、式 2)TMS320C3X浮点数格式 3)浮点数的数值范围、精度和动态范围 2.浮点数的算术运算 1)浮点数的加减法运算 2)浮点数的乘法运算 3)浮点数的除法运算,浮点数表示为尾数和指数的形式式中,m 为尾数,e 为指数符号、尾数和指数编码在同一个二进制字中,1.浮点数的格式,符号、尾数和指数的位数和位域不同,浮点数格式不同,常用的浮点数格式有IEEE754标准定义的单精度格式和双精度格式TI公司定义的TMS320C3X浮点数格式,1)IEEE754浮点数格式,单精度格式:24位有效数字,总共占用32 位双精度格式:53位有效数字精度,并总共占用64位扩展单精度格式:扩展双精度格式:必须至少

9、具有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位单精度浮点数0011,1101,0011,1110,0000,0000,0000,0000b,例,许多32位浮点DSP处理器具有40位的运算

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

11、3,与定点数不同,这个最小值并不是浮点数的精度,精度还与指数有关,浮点数的精度是变化的,与数值的大小有关,定点数的数值是等间隔的由于指数项的存在,浮点数的变化不是等间隔的,指数大、数值大、数值间隔也大;相反,指数小、数值小、数值间隔也小,最大数(12-23)2127不考虑s,当e=1,f 为全零时,得到最小数2-126动态范围,动态范围,若考虑e=0、f0 时的情况,动态范围还会更大,浮点数的数值范围和动态范围都要比定点数大的多,浮点数的精度是变化的,与数值的大小有关,2.浮点数的算术运算,浮点数的算术运算分成两个部分尾数的算术运算指数的算术运算,设两个浮点数分别为x1 m1 2e1x2 m2

12、 2e2m1和e1分别为x1的指数和尾数m2和e2分别为x2的指数和尾数,浮点DSP处理器提供单周期加法、乘法和乘累加运算,1)浮点数的加减法运算,设e1e2,浮点数x1和x2的加法为 x1 x2 m12e1(m2 2e2e1)2e1(m1 m22e2e1)2e1,加法运算的过程为先对指数小的数按照指数大的数归正,使两个数的指数相等然后将归正后的尾数相加,浮点数减法运算的原理与加法运算相同,2)浮点数的乘法运算,浮点数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备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号