文本阅读:
第17章数字信号处理701
相加将导致一个负数产生时,就用正最大值来替代这个结果。这将产生削波是更令人满
意或者至少是更为温和的一种选择。否则,设计者就必须提供足够的数字裕量当计算结果的字长受到限制时,就会产生截断和舍入误差。这种误差会在处理器内部进行计算的过程中不断累积,也会在为了通过一个D/A转换器输出而减少字长时不断累积。不过,AD转换总会产生量化误差,而计算误差则会以不同的面目出现。例如,当两个nbit的数字相乘时,输出的比特数
n-1。因此,乘法几乎令表示输出所需的比特数增加了一倍。
虽然很多硬件乘法器能进行双精度的计算,但在乘法以后仍旧必须保有限的字长,这
就限制了精度。丢弃数据将导致类似于AD量化时产生的误差。为了恰当地建模,乘法之后须紧接着进行量化;乘法本身并没有引入误差,但不能保存额外的比特最终导致了误差重要的是要记住,在内部计算中要避免没有必要的累积抖动比如,在进行乘法以后,不是截断一个字,而是对数值进行舍入;也就是说,采用那最接近结果的可用数值。这样导致的峰值误差为1/2均方根值为一G或0288LSB。这种
舍入误差将会在相继的运算中不断累积。一般来说,要想出现显著的误差,所进行计算的数量必须很大。但是,除此之外,抖动信息也会在计算过程中丢失。例如,当过适当抖
动的16biit字输
32bt处理器中时,即使计算具有很高的精度,但为了在输出DA转换器中进行转换,输出信号仍旧会被截断成16bit。例如,用一个12dB的衰减对一个16bit信进行延时和缩放,这将产生一个12bit的未经抖动的信号。为了克服这应该在计算中
通过数字方式把数值抖动到下一级处理(或记录)级所需的分辨率上为了进行数字抖动,需要给每个采样点加上一个具有合适大小的伪随机数,然后根据被丢弃部分的数值把这个新的LSB向上或向下舍入到最近的量化间隔上。换句话说,在新的SB上加一个逻辑1,并把更低位的部分丢弃,或是简单地直接把更低位的部分丢弃。因此,低位比特的信息对这个新LSB进行了调制,并提供了抖动所能带来的线性化好处。每个频声道都要使用不同的伪随机数。为了复制出模拟抖动的效果,应该使用二进制补码的数字抖动值,从而提供一个均值为零的双极性信号。在一些情况中,也可以在这一级使用噪声整形。双极性伪随机噪声
D/A转换器可以用来生成模拟抖动信
作为数字抖动的一个例子,考虑一个20bit精度的信号必须被抖动成16bito在进行增益减少或某些均衡处理(导致增益改变)时,|R和具有数字反馈的噪声整形滤波器将会在低电信号上呈现出有限周波振荡,用数字抖动可以让这些周波振荡随机化。
翰·范德库伊(John Vanderkooy)和斯坦利·李卜希茨(Stanley Lipshitz)已经证明,被截断或舍入的数字字可以用具有矩形概率密度函数或三角形概率密度函数的分数进行重抖动,如图17.16所示
整数部分为P、分数部分为P的数字音频字加上一个矩形概率密度函数动字D。产生的进位会对舍入过程进行抖动,其方式与1LSB模拟矩形概率密度函数抖动对MD