1、单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,FPGA,数字信号处理基础,-,数的表示法,数的表示,在计算机和数字信号处理器件中,数字信号用,二进制,表示。使用符号,0,,,1,表示,称为,bit,。如:,1101,。,根据是否带符号分为:,有符号数,和,无符号数,。,对无符号数全是数值位,如,1101=13,;,对有符号数,最高位,是,符号位,,,0,为,+,,,1,为,-,,如,1101=-5,。,数的表示,类似十进制表示法,根据定点数中小数点的位置,其具体的数值大小不同。,定点数:小数点在数中的位置固定不变。,根据小数点的位置分为,定点整
2、数,和,定点小数,。,如,1011101.=93,,,1011.101=11.625,和,10111.01=23.25,,其值不同。,数的表示,在实际数字信号处理中,小数点的位置是设计处理时规定的,没有在值中具体表示其位置的声明。,在数字信号处理中,定点数通常把数限制在,-1+1,之间,,小数点,在,符号位,和,数据位,之间。数本身仅有小数部分,也称为“尾数”。这样做好处在于在进行,乘法,时,其小数点位置不变。,数的表示,定点数的三种表示法:,原码、反码和补码表示法,。,(,1,),原码表示法,:尾数部分表示数的绝对值,符号位代表正负号。,例如:,真值,X=+1001,,,X,原,=01001
3、真值,X=-1001,,,X,原,=10000-(-1001)=11001,;,真值,X=-0.1001,,,X,原,=1-(-0.1001)=1.1001,。,原码的性质,:,1.,符号位,+,数的绝对值;,2.0,有两个编码,,1000,和,0000,;,3.,加减运算规则复杂,乘除运算规则简单;,4.,表示简单,易于和真值之间进行转换。,(,2,),反码表示法,:正数的反码表示和原码表示一样,负数反码是符号位为,1,,数值位为原码取反。,如:,真值,X=+1001,,,X,反,=01001,;,真值,X=-1001,,,X,反,=10110;,真值,X=-0.1001,,,X,反,
4、1.0110,。,反码的性质,:,1.,0,有,2,个编码;,2.,现在计算机中,较少使用反码。,数的表示,数的表示,(,3,),补码表示法:,正数的补码表示和原码表示一样,负数补码是符号位为,1,,数值位为原码取反后,整体在最低位加,1,。,例如:,真值,X=+1001,,,X,补,=01001,;,真值,X=-1001,,,X,补,=10111;,真值,X=-0.1001,,,X,补,=1.0111,。,补码的性质,:,1.0,有唯一的编码,,00000,;,2.,两数补码加法,把符号位和数值位等同处理,结果的符号位与数值位都正确,00011+11111=00010,,即(,+3,),+
5、1,),1=+2,;,3.,补码数的算数移位把,X,补的符号位和数值位一起右移一位并保持原符号位的值不变,可用来实现除法功能(除以,2,),如:,00110,(,+6,),移位后,00011,(,+3,)。,补码加减法运算举例,:,例1:,x=-110001(-49),y=+001001(+9),利用补码加法计算,x+y,=?,x,补=1001111,,y,补=0001001,x,补=1001111,+y,补=0001001,x+y,补=1011000,x+y,=-101000(-40),例2:,x=001110(+14),y=-110001(-49),利用补码减法计算,x-y,=?,
6、x,补=0001110,,y,补=1001111,-,y,补=0110001,x,补=0001110,+-y,补=0110001,x-y,补=0111111,x-y,=111111(63),定点数的溢出,溢出:在选定了运算字长和数的表示方法之后,计算装置所能表示的数的范围是一定的,超过此范围就称为溢出。,例:运算字长 数的表示方法 所能表示数的范围,n,n=8,原码 -127+127,n=8,反码 -127+127,n=8,补码 -128+127,原码(,+87,),+,(,+65,),=+152,,,8,位表示不了,需,9,位,数的表示,浮点数:,这个实数由一个整数或定点数(即尾数)乘以某个
7、基数(计算机中通常是,2,)的整数次幂得到,这种表示方法类似于基数为,10,的科学记数法。,一个浮点数,a,由两个数,m,和,e,来表示:,a=m*,be,。,数符,尾数,m,阶符,阶码,e,这种设计可以在某个固定长度的存储空间内表示定点数无法表示的更大范围的数。,定点数与浮点数比较,数值的表示范围,:浮点表示法所能表示的数值范围将远远大于定点表示法。,精度,:对于字长相同的定点数与浮点数来说,浮点数虽然扩大了数的表示范围,但这是以降低精度为代价的,也就是数轴上各点的排列更稀疏了。,数的运算,:浮点运算要比定点运算复杂。,溢出处理,:定点运算时,当运算结果超出数的表示范围,就发生溢出;而在浮点运算时,运算结果超出尾数的表示范围却并不一定溢出,只有当阶码也超出所能表示的范围时,才发生溢出。,