DSP_课件第3章_续2DSP芯片的运算基础.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP_课件第3章_续2DSP芯片的运算基础

3.4.1 定标的基本概念 3.4.2 定点运算实现的基本原理 1? 加法/减法运算的C语言定点摸拟 例2-3 定点加法 设x=0.5,y=3.1,则浮点运算结果为z=x+y=3.6; Qx=15, Qy=13,Qz=13,则定点模拟加法为: x=16384;y=25395; temp=253952=101580; temp=x+temp=16384+101580=117964; z=(int)(117964L2)=29491 2? 乘法运算的C语言定点摸拟 例2-6 定点乘法(理解原理,牢记公式) 设x=18.4,y=36.8,则浮点运算结果为z=x*y=677.12; Qx=10, Qy=9,Qz=5,则定点模拟乘法为: x=18841;y=18841; temp=18841L; z=(18841L*18841)(10+9-5) =354983281L14 =21666; 第2章 DSP芯片的运算基础 第3章 DSP芯片的运算基础 定标的基本概念 定点运算实现的基本原理 DSP定点算数运算实现的基本原理 非线性运算定点快速实现的基本方法 TMS320LF240x系列DSP芯片属于定点芯片,所谓的定点是指参与操作数据的小数点的位置是确定的。 在定点DSP芯片中,进行数值运算时,其操作数采用整型数来表示。整型数的最大取值范围取决于DSP芯片的字长,字长越长,表示的数的范围也就越大,精度也就越高。 DSP芯片的数是以2的补码形式表示的,每个16位数的最高位表示数的符号(0表示数值为正,1表示数值为负),其余的低15位表示数值的大小。 1 数据的定标方法 退出 二进制数0010000000000011b=8195 ????? 二进制数1111111111111100b= -4 在一个系统的开发过程中,数据的定标是一个首先要解决的问题。所谓的定标就是由编程者根据数值的大小和精度的需要,人为地确定小数点位于16位数中的哪一位,因此要求编程者必须对整个程序中的各个数据量的范围十分清楚。 数据的定标一般采用Q表示法,Q值的大小表示小数点后的位数,如Q15表示小数点后有15位数,Q0表示小数点后没有数据。表2-1给出了16位数不同的十进制数据范围以及对应的Q值之间的关系。 退出 由于TMS320LF240x芯片只能处理整型数。然而参与数学运算的数不一定都是整型数,还有小数,这就涉及到如何用一个16位的整型数来表示一个小数的问题,这就是数据的定标问题。 -32768≤X≤32767 Q0 -128≤X≤127.9960938 Q8 -16384≤X≤16383.5 Q1 -64≤X≤63.9980469 Q9 -8192≤X≤8191.75 Q2 -32≤X≤31.9990234 Q10 -4096≤X≤4095.875 Q3 -16≤X≤15.9995117 Q11 -2048≤X≤2047.9375 Q4 -8≤X≤7.9997559 Q12 -1024≤X≤1023.96875 Q5 -4≤X≤3.9998779 Q13 -512≤X≤511.9804375 Q6 -2≤X≤1.9999390 Q14 -256≤X≤255.9921875 Q7 -1≤X≤0.9999695 Q15 十进制数表示的范围 Q表示 十进制数表示的范围 Q表示 从表中不难看出,不同的Q值表示不同的数据范围,表示的数据精度也不同。通常Q值越大,表示的数据范围就越小,数据的精度也就越高;Q值越小,表示的数据范围就越大,数据的精度也就越低。因此,对定点数而言,数据范围和精度是一对矛盾,在实际的定点算法中,为了使系统达到最佳的性能,必须充分考虑到这一点。 退出 浮点数与定点数的转换关系 浮点数X转化为定点数Xq: 定点数Xq转化为浮点数X: 例:X=0.5,Q=15,则Xq=[0.5*32768]=16384 Xq = 16384 ,Q=15,则X=[16384/ 32768]= 0.5 从上表可以看出,同样一个16位数,若小数点设定的位置不同,它所表示的数也就不同。例如: ???????? 16进制数2000H=8192,用Q0表示 ???????? 16进制数2000H=0.25,用Q15表示 对于DSP芯片来说,处理方法是完全相同的。 2 溢出的处理方法 由于定点数的表示范围是一定的,因此在进行定点数的加法或减法运算时,其结果就有可能出现超过数值表示范围的情况,这种现象叫溢出。 上溢:结果大于最大值。 下溢:结果小于最

您可能关注的文档

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档