dsp芯片的运算基础

dsp芯片的运算基础

ID:39963799

大小:367.81 KB

页数:54页

时间:2019-07-16

dsp芯片的运算基础_第1页
dsp芯片的运算基础_第2页
dsp芯片的运算基础_第3页
dsp芯片的运算基础_第4页
dsp芯片的运算基础_第5页
资源描述:

《dsp芯片的运算基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、定标的基本概念定点运算实现的基本原理DSP定点算术运算实现的基本原理第二章DSP芯片的运算基础根据参与运算的数据格式来分,DSP芯片有定点和浮点两大类。TMS320C2000系列DSP芯片属于定点芯片,因此参与运算的数据格式必须采用定点格式,为了使大家能够理解DSP芯片的运算方法,在这一章里我们一起来学习DSP芯片运算的基础知识。2.1定标的基本概念2.1.1数的定标在定点DSP芯片中,采用定点数进行数值运算,其操作数一般采用整型数来表示。一个整型数的最大表示范围取决于DSP芯片所给定的字长,一般为16位或24位。显然,字长越长,所能表示

2、的数的范围越大,精度也越高。DSP芯片的数以2的补码形式表示。每个16位数用一个符号位来表示数的正负,0表示数值为正,1则表示数值为负。其余15位表示数值的大小。如:二进制数0010000000000011b=8195二进制数1111111111111100b=-4对DSP芯片而言,参与数值运算的数就是16位的整型数。但在许多情况下,数学运算过程中的数不一定都是整数。那么,DSP芯片是如何处理小数的呢?应该说,DSP芯片本身无能为力。那么是不是说DSP芯片就不能处理各种小数呢?当然不是。这其中的关键就是由我们设计者来确定一个数的小数点处于

3、16位中的哪一位。这就是数的定标。通过设定小数点在16位数中的不同位置,就可以表示不同大小和不同精度的小数了。数的定标有Q表示法和S表示法两种。下表列出了一个16位数的16种Q表示、S表示及它们所能表示的十进制数值范围。Q表示S表示十进制数表示范围Q15S0.15-1≤X≤0.9999695Q14S1.14-2≤X≤1.9999390Q13S2.13-4≤X≤3.9998779Q12S3.12-8≤X≤7.9997559Q11S4.11-16≤X≤15.9995117Q10S5.10-32≤X≤31.9990234Q9S6.9-64≤X≤

4、63.9980469Q8S7.8-128≤X≤127.9960938Q7S8.7-256≤X≤255.9921875Q6S9.6-512≤X≤511.9804375Q5S10.5-1024≤X≤1023.96875Q4S11.4-2048≤X≤2047.9375Q3S12.3-4096≤X≤4095.875Q2S13.2-8192≤X≤8191.75Q1S14.1-16384≤X≤16383.5Q0S15.0-32768≤X≤32767同样一个16位数,若小数点设定的位置不同,它所表示的数也就不同。例如:16进制数2000H=8192,用

5、Q0表示16进制数2000H=0.25,用Q15表示从表3.1还可以看出,不同的Q所表示的数不仅范围不同,而且精度也不相同。Q越大,数值范围越小,但精度越高;相反,Q越小,数值范围越大,但精度就越低。例如,Q0的数值范围是-32768到+32767,其精度为1,而Q15的数值范围为-1到0.9999695,精度为1/32768=0.00003051。因此,对定点数而言,数值范围与精度是一对矛盾,一个变量要想能够表示比较大的数值范围,必须以牺牲精度为代价;而想提高精度,则数的表示范围就相应地减小。在实际的定点算法中,为了达到最佳的性能,必须

6、充分考虑到这一点。浮点数与定点数的转换关系可表示为:浮点数(x)转换为定点数(xq):xq=(int)x*2Q定点数(xq)转换为浮点数(x):x=(float)xq*2-Q如,浮点数x=0.5,定标Q=15,则定点数xq=0.5*2Q=16384;反之,一个用Q=15表示的定点数16384,其浮点数为16384×2-15=16384/32768=0.5。2.1.2溢出及处理方法溢出:由于定点数的表示范围是一定的,因此在进行定点数的加法或减法运算时,其结果就有可能超出数值的表示范围的情况。上溢:结果大于最大值。下溢:结果小于最小值。在定点

7、运算时,必须考虑溢出的处理方法。否则就有可能导致灾难性的后果。如:两个16位的有符号位数x、y相加,结果也用16位有符号数表示,假设x=32766d=0111111111111110b;y=3d=0000000000000011b;x+y=32766+3=1000000000000001=-32767为了避免这种情况发生,一般在DSP芯片中可以设置溢出的保护功能。设置了溢出功能后,当发生溢出时,DSP芯片自动将结果设置为最大值或最小值。2.1.3舍入(rounding)及截尾(truncation)一般对一个数进行取整处理,有以下两种方法

8、:1、舍入:将该数加0.5后,再将小数部分去处。2、截尾:直接将小数部分去处;例2-1,已知x=123.3,y=123.7,试分别对x、y进行舍入和截尾处理。对x进行舍入:round(x)=r

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。