dsp浮点运算的精度分析.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
dsp浮点运算的精度分析 1 浮点管理系统如何在指定的ps中实现 1.1 数的定标处理 在指定的ps芯片中,为了表示操作数,使用了定点数。一个整型数的最大表示范围取决于DSP芯片所给定的字长,一般为16位或32位。显然,字长越长,所能表示的数的范围越大,精度也越高。本文中均以32位字长为例。 定点DSP芯片的数以2的补码形式表示。符号位为最高位,0表示正数,1表示负数。其余的位表示数值的大小。如在一个字长为32位定点DSP中。 二进侧数00000010000010000000000011111110b为了在定点DSP表示浮点数,我们必须把除符号位外的剩余位进一步划分为整数位,小数位。整数位的多少决定了所能表示的浮点数的动态范围,小数位的多少决定了所表示的浮点数精度的高低。 对定点DSP芯片而言,参与数值运算的数就是32位的整型数。但在许多情况下,数学运算过程中的数不一定都是整数。那么,DSP芯片是如何处理小数的呢?应该说,DSP芯片本身无能为力。那么是不是说DSP芯片就不能处理各种小数呢?当然不是。这其中的关键就是由程序员来确定一个数的小数点处于32位中的哪一位。这就是数的定标。也即用多少位表示小数。 通过设定小数点在32位数中的不同位置,就可以表示不同大小和不同精度的小数了。数的定标有0表示法和S表示法两种。同样一个32位数,若小数点设定的位置不同,它所表示的数也就不同。例如: 16进制=536870912 (用Q0表示);16进制=0.25(用Q31表示)。但对于DSP芯片来说,处理方法是完全相同的。 数值范围与精度是一对矛盾,一个变量要想能够表示比较大的数值范围,必须以牺牲精度为代价;而想提高精度,则数的表示范围就相应地减小。在实际的定点算法中,为了达到最佳的性能,必须充分考虑到这一点。 浮点数与定点数的转换关系可表示为: 浮点数X转换为定点数Xq:Xq=(int)X*2Q 定点数Xq转换为浮点数X:X=(float)Xq*2-Q 1.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的定点表示。 2 64位偏移算法用于在32位相同的ps 2.16 4个算法、左位移和右位移 假设64位的高,低32位分别保存在xh,xl中,移的位数为n。算术或者逻辑左移算法: 2.26 加减数和加减数在xh,xyh,x 假设64位被加减数的高,低32位分别保存在xh,xl中,加减数的高低32位分别保存在yh,yl中,结果保存在xh,xl中。 64位加法算法: 2.36 4个乘法过程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位的除法运算转换为32位的除法运算,以便在32位字长的定点DSP中实现。 二进制数111111111111111l11111111111111000b=-8 浮点代码:

文档评论(0)

187****7209 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档