- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1、数据格式 在定点DSP芯片中,机器指令采用定点数进行数值运算。不能直接计算浮点数。如果要快速计算,变量要采用整型数来表示(int、long 型)。 DSP芯片的数以2的补码形式表示。 浮点数与定点数的转换关系 浮点数转换为定点数 定点数转换为浮点数 浮点数 x=0.5,定标 Q=15, 则定点数=0.5*32768=16384 加法/减法运算的C语言定点模拟 float x,y,z; z=x+y; 两个操作数的定标值一样 如果加法/减法的结果超出16位的表示范围,则必须保留32位结果,以保证运算的精度 定点加法 描述: int x,y,z; long temp; /*临时变量*/ temp=y(Qx-Qy); temp=x+temp; z=(int)(temp(Qx-Qz)), 若Qx≥Qz z=(int)(temp(Qz-Qx)), 若Qx≤Qz 定点减法 设x=3.0,y=3.1,则浮点运算结果为z=x-y=3.0-3.1=-0.1; Qx=13,Qy=13,Qz=15,则定点减法为: x=24576;y=25395; temp=25395; temp=x-temp=24576-25395=-819; 因为QxQz,故 z=(int)(-8192)=-3276。 验算:由于z的Q值为15,所以定点值z=-3276即 为浮点值z=-3276/32768?-0.1 结果超过16位表示范围 设x的Q值为Qx,y的Q值为Qy,且QxQy,加法结果z的定标值为Qz,则定点加法为: int x,y; long temp,z; temp=y(Qx-Qy); temp=x+temp; z=temp(Qx-Qz),若Qx≥Qz z=temp(Qz-Qx),若Qx≤Qz 乘法运算的C语言定点模拟 z = xy; int x,y,z; long temp; temp = (long)x; z = (temp×y) (Qx+Qy-Qz); 定点乘法 设x = 18.4,y = 36.8,则浮点运算值为z =18.4×36.8 = 677.12; Qx = 10,Qy = 9,Qz = 5,所以 x = 18841;y = 18841; temp = 18841L; z = (18841L*18841)(10+9-5) = 354983281L 14 = 21666; 因为z的定标值为5,故定点 z = 21666即为浮点的 z = 21666/32 = 677.08 除法运算的C语言定点模拟 z = x/y; int x,y,z; long temp; temp = (long)x; z = (temp(Qz-Qx+Qy))/y; 定点除法 设x = 18.4,y = 36.8,浮点运算值为z = x/y = 18.4/36.8 = 0.5; Qx = 10,Qy = 9,Qz = 15;所以有 x = 18841, y = 18841; temp = (long)18841; z = (18841L(15-10+9))/18841 = 308690944L/18841 = 16384; 因为商z的定标值为15,所以定点z = 16384即为浮点 z = 16384/32768= 0.5 程序变量的Q值确定 确定变量的Q值实际上就是确定变量的动态范围。设变量的绝对值的最大值为| max |,取整数n,使其满足 2、运算方法 通常的是全部以Q15格式表示的小数或以Q0格式表示的整数来工作 定点乘法 定点加法 定点除法 定点乘法 小数乘小数 Q15×Q15=Q30 0.5*0.5 = 0.25 0.100000000000000 ;Q15 ×0.100000000000000 ;Q15 00.010000000000000000000000000000=0.25 ;Q30 LT OP1 ;OP1=4000H(0.5/Q15) MPY OP2 ;OP2=4000H(0.5/Q15) PAC SACH ANS,1 ;(ANS)=2000H(0.25/Q15) 定点乘法(续) 整数乘整数 Q0×Q0 = Q0 17×(-5)=-85 0000000000010001=17 ×1111111111111011=
您可能关注的文档
最近下载
- 03 八年级上册(下)-部编版初中语文文言文对比阅读(解析版).docx VIP
- 寿光模式课件.pptx
- (高清版)DG∕TJ 08-2038-2021 建筑围护结构节能现场检测技术标准.docx VIP
- 苏少版四年级上册音乐 2.2丰收之歌 打麦号子 课件(共21张PPT)(含音频+视频).ppt VIP
- Siemens西门子工业SINUMERIK Integrate Create MyHMI 3GL (安装) SINUMERIK Integrate Create MyHMI 3GL (安装)使用手册.pdf
- 产业园物业管理的重点和难点.docx VIP
- 大学竞选心理委员ppt模板.pptx VIP
- 2025年南京市中考语文试题卷(含答案解析).docx
- 药物疗法 口服给药法(基础护理课件).pptx
- 2025年京东常温奶行业白皮书doc.docx VIP
文档评论(0)