ADC 动态误差

 1 简介

经常能够听到ADC使用者经常将ADC精度与分辨率两个术语混为一谈,实际上这种做法是错误的。ADC精度与分辨率并不相等,但是具有相关性。

        精度就是误差,也可以说是测量值偏离真值的幅度。分辨率就是测得值的表示或显示精细度。即使系统的分辨率为12位,也并不意味着它能测量精度为12位的值。

        例如,假设一块万用表可以用6位数来表示测量值,则该万用表的分辨率为6位。但是,如果最后一位或两位数似乎在测量值之间摆动,则分辨率会收到影响,测量精度同样会受到影响。

        信号链里的误差会一直累积,使原始信号失真。因此,了解系统的动态范围也很关键,以便衡量要设计的信号链精度和分辨率。

        例如上面提到的6位(0 ~ 999999)万用表,其动态范围应为120dB(20 * \log10^6 _{10}),但是其最后两位仍在摆动。因此,其真实动态范围只有80dB。也就是说,如果设计人员要测量1uV的电压,则该测量值的误差可能高达100uV,因为实际器件的精度仅为100uV(0.0001XX V),其中XX表示在摆动的最后两位。

        在描述任何系统的整体精度的方法有两种:直流和交流。直流精度表示整个给定信号链中展现出来的“偏离”累积误差,交流精度表示整个信号链中累积的噪声误差项,这项指标决定着系统的信噪比(SNR),其中整个系统更真实的有效位数(ENOB)与信噪比(SINAD或SNR)有直接关联。

额外说明

  1. 信噪比SNR(Signalto Noise Ratio)指信号均方根值与其他频率分量(不包括直流和谐波)均方根的比值;
  2. 信噪比SINAD(Signal to Noise andDistortion)指信号均方根值与其他频率分量(包括谐波但不包括直流)均方根的比值,所以SINAD比SNR要小。

2 低频SNR、ENOB、有效分辨率和无噪声代码分辨率之间的关系

        信号类型取决于如何定义转换器误差对整个系统的贡献。这些转换器误差一般以两种方式定义:无噪声代码分辨率(表示直流类信号)和“信噪比”(表示交流类信号)。

        由于电阻噪声和“\frac{KT}{C}”噪声,所有有源器件(如ADC内部电路)都会产生一定量的均方根(RMS)噪声。即使是直流输入信号,此噪声也存在,它是转换器传递函数中代码跃迁噪声存在的原因。折合到输入端噪声通常用直流输入施加到转换器时的若干输出样本的直方图来表示。大多数高速或高分辨率ADC的输出为一系列以直流输入标称值为中心的代码,为了测量该值,ADC输入端接地或连接到一个深度去耦的电压源,然后采集大量输出样本并将其表示为直方图。由于噪声大致呈高斯分布,因此可以计算直方图的标准差\delta,它对应于有效输入均方根噪声(P-Pn = 6.6 * RMSn),表示为LSBrms。

        ADC的差分非线性(DNL)可能会导致其噪声分布于理想的高斯分布有细微的偏差,但它至少大致呈高斯分布。如果代码分布具有较大且独特的峰值和谷值,则表明存在PCB布局、接地、电源去耦不当等问题。

        通常高分辨率精密型ADC会有折合到输入端的噪声,原因在于较低的采样速率和/或其采集的直流类或低速信号。设计用于精度测量的Σ-Δ ADC,其分辨率在16至24位之间,其数据手册一般会列出折合到输入端噪声、有效分辨率、无噪声代码分辨率等规格,用以描述其直流动态范围

        另一方面,面向音频应用的较高频率的Σ-Δ ADC一般都用总谐波失真(THD)总谐波失真加噪声(THD + N)来描述。

        逐次逼近型(SAR)转换器涵盖了广泛的采样速率、分辨率应用。它们通常有折合到输入端噪声,但对于交流输入信号,则还有SNR、ENOB、SFDR和THD等规格。

        理想ADC内只有量化无误差,在只考虑量化误差的前提下,ADC的SNR推导过程如下:

        首先,低频输入SNR、ENOB、有效分辨率和无噪声代码分辨率之间的关系如下:

假设,FSR = ADC满量程,n = 折合到输入端噪声,则有效分辨率与无噪声分辨率计算如下:

说明:因为有效分辨率和无噪声代码分辨率表征的是直流信号,因此在计算ADC输入信号的有效值RMS时直接就是FSR,接下来可以对一下交流信号输入时,ADC输入信号有效值的处理方式是如何不同的。 

        对于交流分析计算ENOB时,要使用满量程正弦波输入。

         为了验证这一点,可以通过对理想ADC的ENOB进行计算确认。其中,满量程范围(FSR)= 2^{N}(q = 1),且折合到输入端噪声为n =1/ \sqrt{12} = 0.289 (理想ADC只有量化噪声)。

ENOB = 3.32 *\lg (FSR/n) - 1.8 \displaystyle = 3.32 * \lg (2^N/0.289) - 1.8 = 3.32 * N *\lg 2 - 3.32 * \lg 0.289 = N +1.8 -1.8 =N

         总之,对于直流低速信号,系统ENOB约比转换器的无噪声代码分辨率大0.92位,比转换器的有效分辨率小1.8位。

        然而,随着信号速率的加快,或者对于涉及带宽的交流信号,转换器的SNR和ENOB会变得与频率相关,并且在高频输入会下降。

3 信号链中的转换器不精确性

        如下图所示,一个简单的数据采集信号链示例,传感器的交流信号先是经过两级信号调理电路,然后到达要采样的ADC输入端。若要保证传感器信号采集精度在±0.1%以内,这还是颇具挑战的。

        为了设计出这样的系统,有必要思考有哪些类型的误差可能会影响传感器的原始信号,还要想想它们来自信号链的哪个部分。

        假设,ADC满量程输入为10V,分辨率为12位,若是理想ADC,则其SNR = 6.02 * 12 + 1.76 =   74dB。然而,数据手册规格只会显示,转换器SNR为60dB或ENOB为9.67bit。

        特别注意下SNR和ENOB的计算方法,在用数据手册中的SNR时,设计人员必须清楚该数据可能包含谐波,也有可能没有包含。如果确实包含失真,则可用SINAD(SNR与失真之和(THD))。

        因此,LSB大小可以定义为12.2mVp-p = VFS / 2^N = 10 / 2^9.67。同时意味着,转换器的精度为±6.12mV或为±0.0612%(\frac{12.2}{10} *100)。也意味着1V的输入施加到转换器上,则输出可能在0.99388V和1.00612V之间。

        因此,ENOB为9.67位的12位转换器测量信号的精度只能达到0.1%,转换器的动态范围约为64dB(20 * lg(1 / 0.0612%)= 20 * (lg(10^4) - lg(6.12) = 20 * ( 4 - 0.7867) = 64dB)而非74dB。

4 系统其他不精确性

        信号链中其他部分引入所有误差的情况如下表:

        在任何信号链里都存在奶许多误差,更不用说电缆和其他外部影响,这些因素也可能在很大程度上决定着这种系统的设计。无论累积误差怎样,最终都会与信号一起在ADC输入端被采样(假设误差不会大到能屏蔽被采样信号的程度)。

        对于系统精度的定义,等式包括两部分:一是ADC自身精度;二是ADC输入前调理信号的所有组件。每丢失1bit,动态范围就会减少6dB(20 * lg2^1 = 20 * 0.3 = 6dB)。相反而言,每增加1bit,系统灵敏度就会增加2倍。因此,要求前端的精度要远高于ADC的精度(ADC驱动噪声远低于ADC自身噪声,一般要求ADC驱动噪声为ADC自身噪声的1/10)。

        对于3 中信号链模型,假设ADC驱动前端噪声为20mVp-p,系统精度仍需0.1%,若仍采用12位ADC,系统精度能否达到要求?答案是不能的,具体原因如下:

        

         若选用ENOB为11.34位的ADC,系统新的SNR = 20 * \lg (\frac{VFS}{\sqrt{ADCn^2 + DRIVERn^2}}) = 20 * lg(\frac{10}{\sqrt{3.9^2 + 20^2}}) = 54dB

看起来性能无多大变化。原因是因为前端噪声过大,无法实现0.1%的精度,虽然ADC的性能本身要远远好于规格要求,所以类似系统中不能简单的选个好的ADC来提高系统的整体性能。

         10V满量程、12位ADC的动态范围为60dB,可实现0.1%的精度,意味着,总累积噪声需要小于10mV(\frac{10}{10^{60/20}}),才能达到0.1%精度要求。

        

  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值