一个基本概念
分贝(dB):按照对数定义的一个幅度单位。对于电压值,dB以20log(VA/VB)给出;对于功率值,以10log(PA/PB)给出。dBc是相对于一个载波信号的dB值;dBm是相对于1mW的dB值。对于dBm而言,规格中的负载电阻必须是已知的(如:1mW提供给50Ω),以确定等效的电压或电流值。
静态指标定义:
量化误差(Quantization Error)
量化误差是基本误差,用图3所示的简单3bit ADC来说明。输入电压被数字化,以8个离散电平来划分,分别由代码000b到111b去代表它们,每一代码跨越Vref/8的电压范围。代码大小一般被定义为一个最低有效位(Least Significant Bit,LSB)。若假定Vref=8V时,每个代码之间的电压变换就代表1V。换言之,产生指定代码的实际电压与代表该码的电压两者之间存在误差。一般来说,0.5LSB偏移加入到输入端便导致在理想过渡点上有正负0.5LSB的量化误差。
图3理想ADC转换特性
偏移与增益误差(Offset Gain Error)
器件理想输出与实际输出之差定义为偏移误差,所有数字代码都存在这种误差。在实际中,偏移误差会使传递函数或模拟输入电压与对应数值输出代码间存在一个固定的偏移。通常计算偏移误差方法是测量第一个数字代码转换或“零”转换的电压,并将它与理论零点电压相比较。增益误差是预估传递函数和实际斜率的差别,增益误差通常在模数转换器最末或最后一个传输代码转换点计算。
为了找到零点与最后一个转换代码点以计算偏移和增益误差,可以采用多种测量方式,最常用的两种是代码平均法和电压抖动法。代码平均测量就是不断增大器件的输入电压,然后检测转换输出结果。每次增大输入电压都会得到一些转换代码,用这些代码的和算出一个平均值,测量产生这些平均转换代码的输入电压,计算出器件偏移和增益。电压抖动法和代码平均法类似,不同的是它采用了一个动态反馈回路控制器件输入电压,根据转换代码和预期代码的差对输入电压进行增减调整,直到两代码之间的差值为零,当预期转换代码接近输入电压或在转换点附近变化时,测量所施加的“抖动”电压平均值,计算偏移和增益。
理论上说,模数器件相邻两个数据之间,模拟量的差值都是一样的。就好比疏密均匀的尺子。但实际上,相邻两刻度之间的间距不可能都是相等的。所以,ADC相邻两刻度之间最大的差异就叫微分非线性DNL,也称为差分非线性。同样举例来说明,如果对于12bit的ADC,其INL=8LSB,DNL=3LSB,在基准电压为4.095V时,测得A电压对应读数为1000b,测得B电压对应读数为1200b。那么就可以判断出,B点电压值比A点高出197mV到203mV,而不是准确的200mV。
图4 DNL误差特性
图4中,001b到010b码制过渡过程的DNL为0LSB,因为刚好为1LSB。但是000b到001b过渡就有个0.2LSB的DNL,因为此时有1.2LSB的代码宽度。应当注意:如果在ADC或者DAC的datasheet中没有清楚说明DNL参数的话,可视该转换器没有漏码,即暗示它有优于正负1LSB的DNL。
积分非线性(Integral nonlinearity,INL)
积分非线性表示了ADC器件在所有的数值点上对应的模拟值和真实值之间误差最大的那一点的误差值,也就是输出数值偏离线性最大的距离。单位是LSB。例如,一个12bit的ADC,INL值为1LSB,那么,对应基准4.095V,测某电压得到的转换结果是1000b,那么,真实电压值可能分布在0.999V到1.001V之间。
INL是DNL误差的数学积分,即一个具有良好INL的ADC保证有良好的DNL。
图5 INL误差特性
图6 INL和DNL
与增益和偏移一样,计算非线性微分与积分误差也有很多种方法,代码平均和电压抖动两种方法都可以使用,但是由于存在重复搜索,当器件位数较多时这两种方法执行起来很费时。一个更加有效计算INL和DNL的方法是直方图法,采用线性或正弦直方图。图7说明了线性斜升技术的应用,首先使输入电压线性增加,同时对输出以固定间隔连续采样,电压逐步增加时连续几次采样都会得到同样输出代码,这些采样次数称为“点击数”。
图7计算直方图
从统计上讲,每个代码的点击数量直接与该代码的相应输入电压范围成正比,点击数越多表明该代码的输入电压范围越大,非线性微分误差也就越大;同样,代码点击数越少表明该代码输入电压范围越小,非线性微分误差也就越小。用数学方法计算,如果某个代码点击数为9,而“理想”情况下是8,则该器件的非线性微分误差就是(9-8)/8或0.125。非线性积分是所有代码非线性微分的累计值,对于斜升直方图,它就是每个非线性微分误差的和。从数学观点来看,非线性积分误差等于在代码X-1的非线性微分误差加上代码X和代码X-1的非线性微分误差平均值。
动态指标定义:
有效位数(ENOB):模数转换器(ADC)与输入频率fIN相关的测试指标(位)。随着fIN的增大,整体噪声(特别是失真成分)将会增大,因而降低了ENOB和SINAD性能。另请参考:信号与噪声 + 失真比(SINAD)。ENOB与SINAD的关系式为:
分辨率:模拟信号被量化时,它是以有限的离散电压电平表示的,分辨率是用来表示信号的离散电平个数。为了更精确地恢复模拟信号,必须提高分辨率。分辨率通常定义为位数,利用更高的分辨率进行转换可以降低量化噪声。
均方根(RMS):表示交流信号的有效值或有效直流值。对于正弦波,RMS是峰值的0.707倍,或者是峰-峰值的0.354倍。
信号与噪声 + 失真比(SINAD):直流到奈奎斯特频段内,正弦波fIN(对于ADC指的是输入正弦波,对于ADC/DAC指的是重建的输出正弦波)的RMS值与转换器噪声的RMS值之比,包括谐波成分。典型值以分贝表示,另请参考关于均方根(RMS)和总谐波失真的注释。
信噪比(SNR):直流到奈奎斯特频段内,正弦波fIN(对于ADC指的是输入正弦波,对于ADC/DAC指的是重建的输出正弦波)的RMS值与转换器噪声的RMS值之比,直流噪声和谐波失真除外。典型值以分贝表示,另请参考关于均方根(RMS)的注释。
理想状况下,最小转换噪声的理论值只包括量化噪声,可直接由数据转换分辨率计算得到:(N): SNR = (6.02N +1.76)dB
无杂散动态范围(SFDR):正弦波fIN(对于ADC指的是输入正弦波,对于ADC/DAC指的是重建的输出正弦波)的RMS值与在频域观察到的杂散信号的RMS值之比,典型值以分贝表示。SFDR在一些需要最大转换器动态范围的通信系统中非常重要。
总谐波失真(THD):出现在输入(DAC为输出)频率整数倍频点(谐波)的失真的RMS值与输入(或输出)正弦波的RMS值之比。测量中仅包括奈奎斯特频限内的谐波,典型值以分贝表示:
式中,V2至Vx是基波V1的谐波。