DSP原理课练习题-应电-参考答案一..docVIP

  • 20
  • 0
  • 约1.51万字
  • 约 18页
  • 2016-12-11 发布于重庆
  • 举报
DSP原理课练习题-应电-参考答案一.

《DSP原理与应用》练习题 32学时版本 用于2010级应用电子 在16位定点DSP中,一个16位二进制数在Q15表示法下的含义是第15位为符号位,第14~0位为小数位;在Q12表示法下的含义是第15位为符号位,第14~12位为整数位,第11~0位为小数位;在Q11表示法下的含义是第15位为符号位,第14~13位为整数位,第10~0位为小数位。由此类推。试写出下面问题的答案: 根据教材P7的公式 ⑴ 16位二进制数10AAH在Q15表示法下的十进制数值是多少?在Q11表示法下的十进制数值是多少? Q15表示法下的十进制数值是4266/32768= 0.125 Q11表示法下的十进制数值是4266/2048= 2.05 ⑵ 16位二进制数C650H在Q15表示法下的十进制数值是多少?在Q12表示法下的十进制数值是多少? Q15表示法下的十进制数值是-14768/32768=- 0.375 Q12表示法下的十进制数值是- 14768/4096= - 3. ⑶ 十进制正数0.625在Q15表示法下的二进制数是多少?在Q11表示方法下的二进制数是多少? Q15表示法下的二进制数是0.625x32768=5000H Q11表示法下的二进制数是0.625x2048=0500H ⑷ 十进制负数-6.375在Q12表示法下的二进制数是多少?在Q11表示方法下的二进制数是多少? -6.375x4096=-6600H=9A00H -6.375x2048=-3300H=CD00H 在课程内的VC5402 DSP上,一个16位二进制数的Q15表示是第15位为符号位,第14~0位为小数位。已知两个Q15数相乘的乘积存放于累加器A中。FRCT=0时A为16进制002C000000H。该乘积的十进制数是多少?FRCT=1时A为16进制FFCH,该乘积的十进制数又是多少? FRCT=0时A低30位为小数位,乘积=2C000000/230=11/24=0.6875 或者写出2C000000H小数点后的二进制为1011B,得2-1+2-3+2-4=11/24=0.6875 FRCT=1时A低31位为小数位,乘积=CH/231=-H/231=-7/24=-0.4375 或者写出-H小数点后的二进制为0111B,得2-2+2-3+2-4=7/24=-0.4375 在C54x DSP的C语言开发环境中,数据类型与通常的C语言开发环境的数据类型不同,主要数据类型如下表所示: 数据类型 位长 char, unsigned char 16 short, unsigned short, signed short 16 int, unsigned int, signed int 16 long, unsigned long, signed long 32 float 32 double 32 现在利用一个15阶Hamming低通滤波器对16位音频信号进行FIR滤波。在C54x DSP和CCS2.2上的C语言程序如下: const double coef[15] = { 0 0-0-0.0,-0.0, 0.0, 0., 0.,0., 0.0,-0.0,-0.0,-0 0 0; void fir(int *x, int *y) { int i, j; for (i = 0; i 1024; i++) { double accumulator = 0.0; for (j = 0; j 15; j++) {accumulator += x[i - j] * coef[j]; } y[i] = (int)accumulator; } } 以上表达式中,, 分别是低通滤波输入、输出的16位整型数组变量。 现在要求把以上过程优化为在C54x平台上运行的精度最高、执行效率最高的16位定点运算形式。试写出在C54x DSP和CCS2.2环境下完成16位相乘和32位累加的定点运算的C程序。 第一步:把滤波器系数转化为Q15定点数 第二步:把乘累加转化为整数乘法,Q15乘以整数的小数点位置在第14位和第15位之间,累加结果为32位整数,其中最高两位为符号位,接着15位为整数,低15位为小数 第三步:舍去低15位小数,取一位符号位和15位整数位作为滤波输出结果 const int coef[15]={158, 264, -290, -1406, -951, 3187, 9287, 12272, 9287, 3187, -951, -1406, -290, 264 158}; void fir(int *x

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档