设计指南 5353

数据转换器的有效分辨率计算

By: David Fry

摘要 : 实际应用中,多数情况下只会用到数据转换器量程的一部分。如果输入信号范围只占转换器量程范围的一半或四分之一,则很容易计算出有效分辨率。如果不是这样,计算将变得复杂。本文介绍在任何输入范围下的有效分辨率计算。

类似文章发表在2012年10月19日的ED China

作为转换器量程一部分的电压裕量

模拟系统通常留出一定的裕量来调整增益误差、漂移、设计容限或适应配套设备的状况。在模拟和数字之间进行转换时,我们也需要在数字部分保留一定的裕量。以0至10V的工业控制电压为例,如果我们只允许ADC量化最大10V的电压,那么,所有下行设备必须限制在10V,否则将丢失信息。因此,工业控制中通常允许5%甚至20%的裕量。
其它系统,例如视频系统,视频信号中往往包含同步信号。1VP-P视频信号中包括700mV有用视频信号和300mV的同步脉冲。如果利用12位ADC对这样的信号进行数字转换,视频本身仅占用整个量程的70%,或者说4096个量化编码中只使用了2867个编码。现在,假设保留裕量为5%,则有效使用范围更低。
因此,在模拟和数字之间转换时,我们必须保证数字部分能够应对系统裕量。这一点很重要,但代价是降低了有效分辨率。

任意模拟范围的有效分辨率计算

我们首先从儿童的数学练习开始——这么简单吗?
我儿子最近问了我一道数学题。大致内容如下。我有一张巨大的纸,将其剪成两半;我将两张纸摞在一起,那么总厚度将为原来的2倍。现在,我又将这摞纸裁成两半,并再次将其摞在一起,此时的总厚度为最初单张纸的4倍。依此类推,重复以上过程多少次之后,摞起来的纸的高度可以到达月亮?
他需要推导的公式与计算有效分辨率的公式非常相似,公式中使用了对数。
以电压为0至10V、20%裕量的工业控制为例,实际范围为0至12V。如果采用16位DAC,那么0至10V信号的有效分辨率是多少?
我们知道,对于R位分辨率的DAC,其阶梯数为2R。所以,定义N为阶梯数:
N = 2R
我们需要求出R,所以需要用到对数计算。在等式两侧取对数:
Log(N) = R × Log(2)
式子简化为:
R = Log(N)/Log(2)
返回工业控制的例子,对于0至10V范围,实际上仅使用了阶梯数的10/12 = 0.833倍。在16位系统中,码值为54613。将该数字代入公式,即可计算出有效分辨率:
R = Log(54613)/Log(2) = 15.7
所以,如果留出20%裕量,有效分辨率会降低大约0.3位。
实际上,就位数而言,减少的位数与原始分辨率无关。我们可以通过所用编码与可用编码之比得出减少的位数。
Δr = Log(r)/Log(2)
因此,在以上700mV视频和300mV同步信号的视频例子中,使用了0.7倍的可用编码:
Δr = Log(0.7)/Log(2) = -0.51
结果损失了0.51位。所以,在12位系统中,有效分辨率为11.49位,在16位系统中为15.49位。
对于那些想知道剪多少次纸后才能从地球到达月球的人,可以进行以下计算:纸摞的高度T = p × 2C,式中:p为单张纸的厚度,C为剪纸的次数。注意到相似性了吗?按照相同的方式,我们可求解出C,于是C = Log(T/p)/Log(2)。
如何完成我儿子的家庭作业呢?我测得一张打印纸的厚度为0.11mm。月球与地球的距离大约为300,000km。所以,我们需要剪纸的次数为Log(3 × 1011/0.11)/Log(2) = 42次。好,我们现在动手...所需的时间并不长嘛。所需剪纸的次数少得让人难以置信。

结论

任何进行模拟和数字信号相互转换的系统中,必定有一定的裕量,这通常会降低系统的有效分辨率。本文推导的公式能够在已知模拟信号占数字范围的比例的条件下,计算出有效分辨率。实际上,正如示例所示,即使采用留出较大的裕量开销,所减少的有效分辨率也不到1位。