DSP 定点乘法运算

上传人:飞*** 文档编号:51660391 上传时间:2018-08-15 格式:PPT 页数:11 大小:685KB
返回 下载 相关 举报
DSP 定点乘法运算_第1页
第1页 / 共11页
DSP 定点乘法运算_第2页
第2页 / 共11页
DSP 定点乘法运算_第3页
第3页 / 共11页
DSP 定点乘法运算_第4页
第4页 / 共11页
DSP 定点乘法运算_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《DSP 定点乘法运算》由会员分享,可在线阅读,更多相关《DSP 定点乘法运算(11页珍藏版)》请在金锄头文库上搜索。

1、定点CPU计算中的小数乘法 实现及基本原理 讲解人:吴益芬为何需要定点计算?定点乘法的实现及原理?流程数的定标及Q值确定?会出现的问题及办法?定点小数的概念所谓定点小数,实际上就是用整数来进行小数的运算。 在定点DSP芯片中,采用定点数进行数值运算,其操作数 一般采用整型数来表示。 DSP芯片的数以2的补码形式表 示。每个16位数用一个符号位来表示数的正负,0表示数 值为正,1则表示数值为负。其余15位表示数值的大小。 因此 二进制数0010000000000011b8195 二进制数1111111111111100b-4数的标定及Q值确定数的标定即由程序员来确定1个数的小数点处于16位数的哪

2、一位。数标定的方法Q表示法S表示法Q值得确定(Q0-Q15)从表3.1可以看出,同样一个16位数 ,若小数点设定的位置不同,它所表 示的数也就不同。 例如: 16进制数2000H8192,用Q0表示 16进制数2000H0.25,用Q15表示注意:不同的Q所表示的数不仅 范围不同,而且精度也不相同。 Q越大,数值范围越小,但精度 越高;相反,Q越小,数值范围 越大,但精度就越低。 浮点数X与定点数Xq的转换例子:浮点数X=0.5,定标 Q15,则 定点数Xq=0.532768=16384 ,中表示下取整。反之,一 个用 Q15 表示的定点数 16384,其浮点数为163842( -15) 16

3、384/32768=0.5定点运算加法除法减法乘法定点乘法的现实及原理设浮点乘法运算的表达式为: float x,y,z; z = xy; 假设经过统计后x的定标值为Qx,y的定标值为Qy,乘积z的定标值为 Qz,则故定点乘法表示为:int x , y , z ;long temp;temp=(long)xz=(tempy)(Qx+Qy-Qz)例子:设x = 18.4,y = 36.8,则浮点运算值 为 z =18.436.8 = 677.12; 根据上节,得Qx = 10,Qy = 9,Qz = 5,所以 x = 18841;y = 18841; temp = 18841L; z = (18

4、841L*18841)(10+9-5) = 354983281L14 = 21666; 因为z的定标值为5,故定点 z = 21666 即为浮点的 z = 21666/32 = 677.08可能出现的问题及处理当加法或加法的结果超过16位表示范围时,也就是出现了溢出。例如:a=32765=0111111111111101Bb=4=0000000000000100Bc=a+b=0111111111111101B+0000000000000100B=1000000000000001B对于有符号整数,c实际等于-32767,而希望得到的结果是32769, 出现上溢。数据溢出会导致运算精度的严重恶化。一般的定点DSP芯 片都设有溢出保护功能,当溢出保护功能有效时,一旦出现溢出, 则累加器ACC的结果为最大的饱和值(上溢为7FFFH,下溢为8001H), 从而达到防止溢出引起精度严重恶化的目的。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号