dsp浮点运算的精度分析_第1页
dsp浮点运算的精度分析_第2页
dsp浮点运算的精度分析_第3页
全文预览已结束

下载本文档

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

文档简介

dsp浮点运算的精度分析

1浮点管理系统如何在指定的ps中实现1.1数的定标处理在指定的ps芯片中,为了表示操作数,使用了定点数。一个整型数的最大表示范围取决于DSP芯片所给定的字长,一般为16位或32位。显然,字长越长,所能表示的数的范围越大,精度也越高。本文中均以32位字长为例。定点DSP芯片的数以2的补码形式表示。符号位为最高位,0表示正数,1表示负数。其余的位表示数值的大小。如在一个字长为32位定点DSP中。二进侧数00000010000010000000000011111110b=34078974为了在定点DSP表示浮点数,我们必须把除符号位外的剩余位进一步划分为整数位,小数位。整数位的多少决定了所能表示的浮点数的动态范围,小数位的多少决定了所表示的浮点数精度的高低。对定点DSP芯片而言,参与数值运算的数就是32位的整型数。但在许多情况下,数学运算过程中的数不一定都是整数。那么,DSP芯片是如何处理小数的呢?应该说,DSP芯片本身无能为力。那么是不是说DSP芯片就不能处理各种小数呢?当然不是。这其中的关键就是由程序员来确定一个数的小数点处于32位中的哪一位。这就是数的定标。也即用多少位表示小数。通过设定小数点在32位数中的不同位置,就可以表示不同大小和不同精度的小数了。数的定标有0表示法和S表示法两种。同样一个32位数,若小数点设定的位置不同,它所表示的数也就不同。例如:16进制数20000000H=536870912(用Q0表示);16进制数20000000H=0.25(用Q31表示)。但对于DSP芯片来说,处理方法是完全相同的。数值范围与精度是一对矛盾,一个变量要想能够表示比较大的数值范围,必须以牺牲精度为代价;而想提高精度,则数的表示范围就相应地减小。在实际的定点算法中,为了达到最佳的性能,必须充分考虑到这一点。浮点数与定点数的转换关系可表示为:浮点数X转换为定点数Xq:Xq=(int)X*2Q定点数Xq转换为浮点数X:X=(float)Xq*2-Q1.2固定ps计算过程1.2.1不同q点表示定点数的加减法是一个复杂的过程。首先,加减法运算必须用相同的Q点表示;其次,程序员考虑其结果有足够的高位以适应位的增长。结果不超过32位的范围。浮点代码:定点加减法公式推演过程:定点加减法公式为:1.2.2固定常数法浮点代码:1.2.3除法律纠纷其中x,y,z的定标分别为Qx,Qy,Qz,xq,yq,z。分别为x,y,z的定点表示。264位偏移算法用于在32位相同的ps2.164个算法、左位移和右位移假设64位的高,低32位分别保存在xh,xl中,移的位数为n。算术或者逻辑左移算法:2.26加减数和加减数在xh,xyh,x假设64位被加减数的高,低32位分别保存在xh,xl中,加减数的高低32位分别保存在yh,yl中,结果保存在xh,xl中。64位加法算法:2.364个乘法过程64个位移和32个位移假设64位被乘数的高,低32位分别保存在xh,xl中,乘数保存在x中,结果保存在xh,xl,x中。2.4定标q为x假设64位定点数的高,低32位分别保存在xh,xl中,定标Q为x。此算法的基本思路:把定点数内存表示调整成标准的IEEE浮点数内存表示格式:23表示小数,1位表示小数,8位表示阶码。2.56提取32位定点数的编码算法的推演过程:z=x/y其中分别表示64位定点数的阶码和尾码。此算法的基本思路:通过取64位定点数的阶码,位码,把64位的除法运

温馨提示

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

评论

0/150

提交评论