DSP定点和浮点数格式课件_第1页
DSP定点和浮点数格式课件_第2页
DSP定点和浮点数格式课件_第3页
DSP定点和浮点数格式课件_第4页
DSP定点和浮点数格式课件_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DSP运算基础•

1、

DSP的数据表示•

2、定点数的格式与运算•

3、浮点数的格式与运算1、

DSP的数据表示定点格式浮点16位字长24位32位格式和字长决定了数据的精度和动态范围格式和字长也在一定程度上决定了DSP处理器的成本、功耗和编程难度2、

定点数的格式与运算•

1.

定点数的格式–

1)Qn格式–

2)数值范围与精度–

3)动态范围•

2.

定点数的算术运算–

1)定点数的加减法运算–

2)定点数的乘法运算–

3)定点数的除法运算1.

定点数的格式1)Qn格式l

小数点l

Q标志:表示隐含的小数点的位置例:8位字长l

二进制补码数01010011b,粗线表示隐含的小数点位置l

对于负数(最高位MSB为1),要先把它转化为无符号二进制数,再进行计算,最后加上负号定点数与浮点数、定点数与定点数之间的转换关系l

浮点数X

Qn格式的定点数Xnl

例:5.1875Q4定点数4l

5.1875×2

=83

=01010011bl

Qn格式的定点数Xn

为浮点数Xl

例:

(Q7)

01010011b浮点数7l

83/2

=0.6484375l

Qn格式的定点数Xn

Qm格式的定点数Xml

例:(Q7)

01010011bQ4定点数7l

83/2

=0.64843754l

int(0.6484375

×2

)

=int(10.375)

=10=00001010b4l

10/2

=0.625≠

0.64843752)数值范围与精度l

给定字长N,采用Qn格式表示小数l

数值范围:l

精度:l

16位字长Qn格式的数值范围与精度3)动态范围l

动态范围:数据表示格式中可以表示的最大值与最小值之比l

N位定点数的动态范围:l

用分贝表示为:l

动态范围:数据表示格式中可以表示的最大值与最小值之比定点DSP处理器大多采用16位定点数l

对于要求更大动态范围的应用,可以采用扩展字长的方式,即用两个或更多的字来表示数据l

定点DSP处理器要求编程时要仔细考虑信号幅值和中间结果,在避免溢出和尽可能减小舍入误差的前提下,使精度和动态范围最大化2.

定点数的算术运算1)定点数的加减法运算l

相同的Qn格式,保证隐含的小数点对齐l

最可能出现的问题是运算结果的溢出l

例:两个8位数相加,无溢出l

进位位与最高位(MSB)相同l

8位字长可以表示结果,没有发生数据溢出l

例:两个8位数相加,有溢出l

进位位与最高位(MSB)不同l

运算结果发生溢出,8位字长已不能正确地表示结果l

溢出是由于字长有限,运算结果超出数值的表示范围引起的l

饱和模式l

定点数减法运算的原理与加法运算相同2)定点数的乘法运算l

DSP处理器都有硬件乘法器和乘法指令,可实现单周期乘法运算l

二进制乘法运算包含一系列的移位和加法运算l

定点数乘法运算不要求相乘数有相同的Qn格式l

两个相乘数分别为Qn和Qm格式,字长为N,结果为Q(n+m)格式,字长为2Nl

根据n和m的不同取值,定点数乘法运算可以分成三种情况l

小数乘小数(n、m≠0,m≤

n)l

整数乘小数(n≠0、m=0)l

整数乘整数(n=m=0)①

小数乘小数(n、m≠0,m≤

n)l

例:两个相乘数分别为Q7和Q6格式,8位字长l

两个定点小数作乘法运算,结果左移一位,保存高位得到运算结果,结果为Qm(m≤

n)格式②

整数乘小数(n≠0、m=0)l

例:两个相乘数分别为Q7和Q0格式,8位字长l

误差小于等于Qn格式精度的一半,即小于等于1/2n+1l

单次计算的误差并不大,但如果是连续的运算,则误差会累积和传递,从而产生比较大的误差l

DSP处理器提供了自动舍入功能来减小误差l

保留整个32位中间结果l

小数乘小数、整数乘小数运算都要求对乘积结果左移一位后,保存高位l

DSP处理器带有可选的自动左移一位的功能,消除移位操作的时间开销③

整数乘整数(n=m=0)l

例:两个相乘数都为Q0格式,8位字长l

整数相乘,结果为Q0格式,需查询标志位确定保存的位数,结果不需要左移一位3)定点数的除法运算l

大多数DSP处理器不提供单周期除法指令l

除法是乘法的逆运算,包括一系列移位和条件减法运算,需要用除法子程序实现l

例:8位字长的正整数相除l

被除数为00001010b(10)l

除数为00000011b(3)l

①l

②l

③l

④l

⑤l

⑥l

⑦l

⑧l

对结果的小数点右移一位,得到Q5格式的结果011.01010b(3.3125),最高位MSB为符号位l

计算中,共进行了7次移位和条件减操作,得到8位(1个符号位和7个数据位)的结果l

要增加精度,可以增加移位和条件减的次数,如15次移位和条件减可以得到16位的结果l

对于两个正的小数相除(Qn格式除以Qm格式)l

如Q3格式的00001.010b(1.25)除以Q2格式的000000.11b(0.75)l

把两个正的小数看作两个Q0格式的正整数相除,即00001010b(10)除以00000011b(3)l

与上面例子相同,结果为Q5格式011.01010bl

最后对结果的小数点位置左移n-m

位l

对于本例3-2=1>0,则结果的小数点左移一位,最后结果为Q6格式01.101010b(1.65625)l

如果除法运算中包含负数,应将负数变换为等值的正数,然后作除法运算,最后加上正确的符号2.3

浮点数的格式与运算•

1.

浮点数的格式-

1)IEEE754浮点数格式-

2)TMS320C3X浮点数格式-

3)浮点数的数值范围、精度和动态范围•

2.

浮点数的算术运算-

1)浮点数的加减法运算-

2)浮点数的乘法运算-

3)浮点数的除法运算1.

浮点数的格式l

浮点数表示为尾数和指数的形式l

式中,m

为尾数,e

为指数l

符号、尾数和指数编码在同一个二进制字中l

符号、尾数和指数的位数和位域不同,浮点数格式不同,常用的浮点数格式有l

IEEE754标准定义的单精度格式和双精度格式l

TI公司定义的TMS320C3X浮点数格式1)IEEE754浮点数格式l

单精度格式:24位有效数字,总共占用32

位l

双精度格式:53位有效数字精度,并总共占用64位l

扩展单精度格式:l

扩展双精度格式:必须至少具有64位有效数字,并总共占用至少79

位l

表示的数值l

最高位(第31位)为符号位sl

通常情况,即

1

e

254

时l

四种特殊情况l

e=0、f≠0

时,尾数是个非归一化的数l

e=0、f=0

时,x=0l

e=255、f=0

时,x为正(s=0)或负(s=1)的无穷大l

e=255、f≠0

时,x为一个无效数(NaN—Not

a

Number)l

例l

32位单精度浮点数1100,0011,0101,0010,0000,0000,0000,0000bl

32位单精度浮点数0011,1101,0011,1110,0000,0000,0000,0000bl许多32位浮点DSP处理器具有40位的运算单元,可以进行扩展单精度格式的浮点运算l扩展单精度格式与单精度格式的区别是,扩展单精度格式的尾数增加了8位,达到31位2)TMS320C3X浮点数格式l

16位短浮点格式l

32位单精度格式l

40位扩展精度格式l

32位单精度浮点数格式用的最多l

表示的数值3)浮点数的数值范围、精度和动态范围l

以IEEE754单精度浮点数为例l

数值范围l

不考虑s,当e=254,f

为全1-2312738l

最大的数(1-2

)2

=1.701412×10

,加上符号就对应为正的和负的最大数l

IEEE754单精度浮点数的数值范围为,l

-1.701412×10

~1.701412×103838l

精度l

尾数

f

为23位,

f

变化的最小值为1/2

23l

与定点数不同,这个最小值并不是浮点数的精度,精度还与指数有关l

定点数的数值是等间隔的l

由于指数项的存在,浮点数的变化不是等间隔的,指数大、数值大、数值间隔也大;相反,指数小、数值小、数值间隔也小l

浮点数的精度是变化的,与数值的大小有关l

动态范围l

最大数(1-2

-2)32127l

不考虑s,当e=1,f

为全零时,得到最小数2-126l

动态范围l

若考虑e=0、f0

时的情况,动态范围还会更大l

浮点数的数值范围和动态范围都要比定点数大的多,浮点数的精度是变化的,与数值的大小有关2.

浮点数的算术运算l

浮点数的算术运算分成两个部分l

尾数的算术运算l

指数的算术运算l

设两个浮点数分别为l

x1

m1

×

2e1l

x2

m2

×

2e2l

m1和e1分别为x1的指数和尾数l

m2和e2分别为x2的指数和尾数l

浮点DSP处理器提供单周期加法、乘法和乘累加运算1)浮点数的加减法运算l

设e1>e2,浮点数x1和x2的加法为e1e2-e1

)

×

2e1l

x1

x2

m1×2

(

m2

×

2e2-e1e1l=

(

m1

m2×2

)

×

2l

加法运算的过程为l

先对指数小的数按照指数大的数归正,使两个数的指数相等l

然后将归正后的尾数相加l

浮点数减法运算的原理与加法运算相同2)浮点数的乘法运算l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论