第7章应用程序设计
本章内容提要:
定标与溢出处理
基础算术运算
FIR滤波器
IIR滤波器
快速傅里叶变换(FFT)
定标与溢出处理
数的定标
溢出的处理方法
常用信号处理算法中的定标方法
数的定标
小数定标的概念
设定一个16位数的小数点处于该数中的哪一位
可以表示不同大小和不同精度的小数
Q表示法
表7-1列出了一个16位数的16种Q表示及它们所能表示的十进制数值范围
表7-1 Q表示及数值范围
不同的Q所表示的数不仅范围不同,而且精度也不相同
Q越大,数值范围越小,但精度越高
Q越小,数值范围越大,但精度就越低
例如,
Q0的数值范围是-32768到+32767,其精度为1;
Q15的数值范围为-,精度为 1/32768 =
对定点数而言,数值范围与精度是一对矛盾。一个变量要想能够表示比较大的数值范围,必须以牺牲精度为代价;而想提高精度,则数的表示范围就相应地减小。在实际的定点算法中,应该根据具体问题进行折衷处理, 以达到最佳效果。
在C55x中,16位整数采用补码形式表示。每个采用Qi定标的16位数用1个符号位、i个小数位和15-i个整数位来表示。
表7-2 同样的数在不同定标方式下所表示的具体数值
同样一个16位数,若小数点设定的位置不同,它所表示的数也就不同。
溢出的处理方法
如果算术运算结果超出寄存器所能表示的最大数就会出现溢出
因为16位定点DSP的动态范围有限,所以在使用时必须注意动态范围以防溢出
溢出还与输入信号的特性和运算法则有关
1. 溢出
C55x有以下几种硬件特性可以处理溢出:
保护位
C55x的每个累加器都有8个保护位(39~32位),允许连续256次乘加操作而累加器不溢出
溢出标志位
C55x的每个累加器都有相关的溢出标志位,当累加器操作结果出现溢出时,这个标志位就会置位
2. C55x的溢出处理机制
DSP应用程序设计 来自淘豆网m.daumloan.com转载请标明出处.