第三章 DSP.pptVIP

  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

D S P 原理 与 应 用 The principle and application of DSP 第三章 DSP数值基础 本章知识概要: 数的定标 浮点数与定点数的转换 定点加法 定点乘法 非线性运算 学习重点: 定点加法 定点乘法 数 的 定 标 DSP芯片的数以2的补码形式表示 由程序员来确定一个数的小数点处于16位中的哪一位,这就是数的定标。 Q表示、S表示及数值范围 Q表示、S表示及数值范围 结论 Q越大,数值范围越小,但精度越高; Q越小,数值范围越大,但精度就越低。 因此,对定点数而言,数值范围与精度是一对矛盾。一个变量要想能够表示比较大的数值范围,必须以牺牲精度为代价;而想提高精度,则数的表示范围就相应地减小。 浮点数与定点数的转换 举例 举例 定点加法 定点加法举例 设x=0.5,y=3.1, 则浮点运算结果为z=x+y=0.5+3.1=3.6; 若Qx=15,Qy=13,Qz=13, 则x、y的定点表示为: x=16384 D = 4000 H = 0·100 0000 0000 0000 B; y=25395 D = 6333 H = 011·0 0011 0011 0011 B; Temp = 253952 = 101580 D = 01 1·000 1100 1100 1100 B; 定点加法举例 设x=15000,y=20000, 则浮点运算结果为z=x+y=15000+20000=35000; 若Qx=1,Qy=0,Qz=0, 则x、y的定点表示为: x=30000 D = 7530 H = 0111 0101 0011 000·0 B; y=20000 D = 4E20 H = 0100 1110 0010 0000· B; Temp = 200001 = 40000 D = 0100 1110 0010 0000 ·0 B; 说明 当加法或加法的结果超过16位表示范围时,如果程序员事先能够了解到这种情况,并且需要保证运算精度时,则必须保持32位结果。 如果程序中是按照16位数进行运算的,则超过16位实际上就是出现了溢出。如果不采取适当的措施,则数据溢出会导致运算精度的严重恶化。 一般的定点DSP芯片都设有溢出保护功能,当溢出保护功能有效时,一旦出现溢出,则累加器ACC的结果为最大的饱和值(上溢为7FFFH,下溢为8001H),从而达到防止溢出引起精度严重恶化的目的。 定点乘法 设浮点乘法运算的表达式为: float x, y, z; z = x y; 假设x的定标值为Qx,y的定标值为Qy, 乘积z的定标值为Qz,定点乘法如下: 定点乘法举例 非线性运算的定点快速实现 在数值运算中,除基本的加减乘除运算外,还有其他许多非线性运算,如对数运算、开方运算、指数运算、三角函数运算等,实现这些非线性运算的方法一般有: (1)调用DSP编译系统的库函数; (2)查表法; (3)混合法。 1.调用DSP编译系统的库函数 C编译器提供了比较丰富的运行支持库函数。包含了诸如对数、开方、三角函数、指数等常用的非线性函数。 例如: #include math.h double log10(double x); 直接调用库函数非常方便,但由于运算量大,很难在实时DSP中得到应用。 2. 查表法 查表法是快速实现非线性运算最常用的方法。 采用这种方法必须根据自变量的范围和精度要求制作一张表格。 10点对数表(输入0.5~1) C程序实例 二进制数0010000000000011b=8195 二进制数1111111111111100b=-4 DSP芯片是如何处理小数的呢? -128≤X≤127.9960938 S7.8 Q8 -64≤X≤63.9980469 S6.9 Q9 -32≤X≤31.9990234 S5.10 Q10 -16≤X≤15.9995117 S4.11 Q11 -8≤X≤7.9997559 S3.12 Q12 -4≤X≤3.9998779 S2.13 Q13 -2≤X≤1.9999390 S1.14 Q14 -1≤X≤0.9999695 S0.15 Q15 十进制数表示范围 S表示 Q表示 -32768≤X≤32767 S15.0 Q0 -16384≤

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档