- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LAR AR1,#0FH RPT 14 NORM *- 上述程序执行后,AR1=#0eH,ACCH=2000(10进制。对一个16位整数 x 进行上述程 序处理实际上就是做这样一个等效变换: x ? 2Q 15?Q x= ?2 32768 其中,寄存器 AR1 包含的值为 15-Q ,累加器 ACC 高 16 位包含的值为 x ? 2 Q ,其数值在 16384~32768之间。 例3.15 实现以2为底的对数的C定点模拟程序 int logtab0[10]={-32768,-28262,-24149,-20365,-16862, -13600,-10549,-7683,-4981,-2425}; /*Q15*/ int logtab1[10]={22529,20567,18920,17517,16308, 15255,14330,13511,12780,12124}; /*Q13*/ int logtab2[10]={16384,18022,19660,21299,22938, 24576,26214,27853,29491,31130}; /*Q15*/ int log2_fast(int Am { int point,point1; int index,x0,dx,dy,y; point=0; while(Am16384 {point++;Am=Am1;} /*对Am进行规格化*/ /*输入为Q4,输出为Q9*/ point1=(15-point-4*512; /*求查表地址*/ index=((Am-16384*20L15; dx=Am-logtab2[index]; dy=((longdx*logtab1[index]13; /*Q9*/ y=(dy+logtab0[index]6; y=point1+y; return (y; } 上述程序中,输入值Am采用Q4表示,输出采用Q9表示,如果输入输出的Q值与上面 程序中的不同,则应做相应的修改。 3.5 小 结 本章讨论了 DSP 芯片进行定点运算所涉及的一些基本问题,这些问题包括:数的定 标,DSP程序的定点模拟,DSP芯片的定点运算以及定点实现非线性函数的快速实现方法 等。充分理解这些问题对于用定点芯片实现DSP算法具有非常重要的作用。 ·52·
文档评论(0)