ADC的分辨率被定义为输入信号值的最小变化,这个最小数值变化会改变数字输出值的一个数值。对于一个理想ADC来说,传递函数是一个步宽等于分辨率的阶梯。然而,在具有较高分辨率的系统中(≥16位),传输函数的响应将相对于理想响应有一个较大的偏离。这是因为ADC以及驱动器电路导致的噪声会降低ADC的分辨率。
分辨率和精度是两个完全不同的概念。
精度是指对于给定模拟输入,实际数字输出与理论预期数字输出之间的接近度(误差值是多少)。
举个例子,对于只存在Offset=0.1V的12bit FSR=4.096V的ADC来说,分辨率就是12bit(0.001V),而精度就是0.1V。
DNL误差定义为实际量化台阶与对应于1 LSB的理想值之间的差异。对于一个理想ADC,其微分非线性为DNL = 0 LSB(),也就是说每个模拟量化台阶等于1 LSB (1LSB = VFSR/2N,其中VFSR为满量程电压,N是ADC的分辨率),跳变值之间的间隔为精确的1 LSB。若DNL误差指标≤ 1LSB,就意味着传输函数具有保证的单调性,且没有丢码。当一个ADC的数字量输出随着模拟输入信号的增加而增加时(或保持不变),就称其具有单调性,相应传输函数曲线的斜率没有变号。DNL指标是在消除了静态增益误差的影响后得到的。具体定义如下:
VD是对应于数字输出代码D的输入模拟量,N是ADC分辨率,VLSB-IDEAL是两个相邻代码的理想间隔。较高数值的DNL增加了量化结果中的噪声和寄生成分,限制了ADC的性能,表现为有限的信号-噪声比指标(SNR)和无杂散动态范围指标(SFDR)。
要保证没有丢码(Missing Codes are those output codes that will never appear at the ADC outputs.)和单调的转移函数,ADC的DNL必须小于1 LSB。
INL误差表示实际传输函数背离直线的程度,以LSB或满量程的百分比(FSR)来度量。这样,INL误差直接依赖于与之相比较的直线的选取。
至少有两个定义是常用的:“最佳直线INL”和“端点INL” :
最佳直线方法通常被作为首选,因为它能产生比较好的结果。两种INL评估方法是在扣除了静态失调和增益误差后的测量结果,可用下式表示:
或者,
VD是数字输出码D对应的模拟输入,N是ADC的分辨率,VZERO是对应于全零输出码的最低模拟输入,VLSB-IDEAL是两个相邻代码的理想间隔。
ENOB = (SINAD – 1.76)/6.02
理论SNR,是仅考虑量化噪声,且无失真情况下的SNR
实际SNR,不仅是量化噪声,还有其他因素影响
已知(FFT可知):归一化后,信号功率,PS = 0 dB;噪声功率,PN = -110.4 dB;谐波功率,PD = -116.3 dB;Worst Spur Level = -118.9 dB
可得:
SNR = PS - PN = 110.4 dB
THD = PS - PD = 116.3 dB
SINAD = PS - PN+D =
SFDR = PS - Worst Spur Level = 118.9 dB
ENOB = (SINAD – 1.76)/6.02 = 17.88 Bits
注意:Noise功率指的是所有noise功率之和,而不是noise floor。
注意:分辨率24 bit的ADC实际SNR才110.4 dB,而理论SNR = 24*6.02+1.76 = 146.24 dB。
The ABCs of Analog to Digital Converters: How ADC Errors Affect System Performance
Microsoft PowerPoint - Key Parameters.ppt (ti.com)
ADC12020 12-Bit, 20 MSPS, 185 mW A/D Converter with Internal Sample-and-Hold datasheet (Rev. B) (ti.com)