DSP实验手册实验一CCS使用及DSP的运算.doc

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一 CCS使用及DSP 基本数学运算 一、实验目的: 1、 熟悉CCS 集成开发环境,掌握工程的生成方法; 2、 熟悉SEED-DTK5416实验环境; 3、 掌握CCS 集成开发环境的调试方法; 4、 了解数在计算过程中的定标,掌握数的定点、浮点表示方法,定点、浮点基本运算以及定点、浮点间的相互转换。 二、实验内容: 1、 DSP源文件的建立; 2、 DSP程序工程文件的建立; 3、 编译与链接的设置,生成可执行的DSP 文件; 4、 进行DSP 程序的调试与改错; 5、 学习使用CCS 集成开发工具的调试工具; 6、 观察实验结果; 三、实验知识背景: 在DSP 编程过程中,数以二进制、十进制、与十六制表示均可。在定点DSP 的运算过程中,数一般采用二进制与二进制补码的形式进行运算的。其中二进制数只能代表正数不能代表负的数,而二进制补码记数系统弥补了这一缺点。它的构成如下; 在二进制的基础上,加一符号位。符号位位于二进制数的最高位 当为正数时,符号位为0,为负数时,符号位为1 当采用二进制补码进行数的运算时,具有如下的两个优点: 可以将加法与减法统一成加法运算 符号位可以进行扩展,而其数值不变,这可以使一个比较小的数存放到比较大的寄存器当中 例: 1×2 + 0×1 = -2 (11110)2 = 1×(-16)+ 1×8 + …… + 当将其符号位扩展三位,放入一8位的寄存器中 1×2 + 0×1 = -2 2 = 1×(-128)+ 1×64 + …… + 这将为运算提供极大的方便,因而在定点的DSP 中,大多数情况采用二进制补码形式。 C5000系列的DSP 硬件只支持定点运算,浮点运算要通过软件来实现。其运算字长为16位,也就是说,DSP 所能表示的整数的范围也就决定了,其范围为-32768到32767。 而在很多情况下,数学运算过程中不一定是整数,而且动态范围也不是固定不变的。如何解决这个问题?对于只支持定点运算的CPU 来说,在硬件上并没有提供小数点定位的机制。只有靠软件中人为地假设将小数点放在16位数据中的不同位置,就可以表示不同大小与不同精度的数据了,这就是数的定标。 数的定标有Q 与S 两种表示方法。在Q 表示法中,Q 代表(Quantity of Fractional Bits)数中尾数部分的位数,即小数点右边的位数。而S 表示法中,S 代表数中整数部分的位数,即小数点左边的位数。实用中一般用Q 表示法,例:Q 0表示小数点在第0位的右边,即为整数。Q 15表数小数点在第15位的右边,即为小于1的小数(以二进制补码表示,第15位为符号位)。下表给出了16位数的16种不同的Q 表示法。并列出了它们所能表示的十进 = 制数的范围。 Q 表示法 S 表示法 十进制数表示的范围 -1≤x ≤0.9999695 -2≤x ≤1.9999390 -4≤x ≤3.9998779 -8≤x ≤7.9997559 -16≤x ≤15.9995117 -32≤x ≤31.9990234 -64≤x ≤63.9980469 -128≤x ≤127.9960938 -256≤x ≤255.9921875 -512≤x ≤511.9804375 -1024≤x ≤1023.96875 -2048≤x ≤2047.9375 -4096≤x ≤4095.875 -8192≤x ≤8191.75 -16384≤x ≤16383.5 -32768≤x ≤32767 对于加法和减法运算来说,其运算结果并不会改变小数点的位置,也就是说,2个Q 15的数相加或相减,其结果还是1个Q 15的数。而对于乘法运算则不然,2个Q 15的数相乘,其结果将是1个Q 30的数,符号位由1位扩展为2位。如果保留高16位,舍弃低16位, 此时,要想将乘法结果与另1个Q 15的数相加或则将得到1个带有2个符号位的Q 14的数。 相减,则需要对由乘法运算得到的带有2个符号位的Q 14的数去掉一个符号位,规一化为Q 15的数,即要左移1位。 对于C5000系列,在数值运算中一般采用Q 15数制。这是由于C5000在进行乘法运算时,其乘法运算单元具有自动左移一位的功能。这样可以将两个Q 15相乘后得到一Q 30的数据中的两个符号位去除一个,保证其结果的正确性。下面举例进行说明: 十进制乘法 0.5×0.5 = 0.25 当二进制数相乘时 0.100000000000000 ;Q 15 × 0.100000000000000 ;Q 15 00.0100000000000000000000000000 = 0.25 ;Q 30 ↑符号位 在结果保存时一般只保存两个Q 15的定点数相乘后得到一个带2个符号位的Q 30的数, 与输入数据相同的精度的结果

文档评论(0)

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

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

1亿VIP精品文档

相关文档