引言
所有模数转换器(ADC)都有一定数量的折合到输入端的噪声——它被看作一种与无噪声ADC的输入端串联的噪声源模型。不能把折合到输入端的噪声与量化噪声相混淆,量化噪声仅在ADC处理随时间变化的信号时有意义。在大多数情况下,输入噪声越小越好;但是在有些情况下,输入噪声实际上对提高分辨率是有帮助的。如果现在你觉得这似乎没有道理,那么请阅读本文以弄明白有些噪声怎样可以是好噪声。
折合到输入端的噪声(编码变迁噪声)
实际的ADC在许多方面与理想的ADC有偏差。折合到输入端的噪声(又称作有效输入噪声)无疑是偏离理想值,它对ADC总传递函数的影响如图1所示。当模拟输入电压增加时,“理想的”ADC(如图1a所示)保持一个恒定的输出编码直到达到一个变迁区,在那一点上输出编码立刻跳变到下一个量化值,并且一直保持到达到下一个变迁区域。理论上理想的ADC具有零编码变迁噪声,并且变迁区域的宽度等于零。实际的ADC有一定数量的编码变迁噪声,因而具有有限的变迁区域宽度。图1b示出编码变迁噪声宽度约为一个最低有效位(LSB)峰峰值(P-P)噪声的情况。
图1. 编码变迁噪声(折合到输入端的噪声)及其对ADC传递函数的影响
从内部结构来看,所有ADC电路都会由于电阻器噪声和“kT/C”噪声而产生一定数量的有效值(RMS)噪声。这种噪声,甚至对于直流输入信号也会出现,认为是造成编码变迁噪声的原因,现在通常称作折合到输入端的噪声。折合到输入端的噪声最常用的表征方法是检查大量输出采样的直方图,同时ADC的输入端保持在一个恒定的直流值。最高速或最高分辨率ADC的输出是编码的分布,通常集中在直流输入标称值的周围(见图2)。
为了测量折合到输入端的噪声的数量,要将ADC的输入端接地或连接到一个深度去耦的电压源,然后采集大量的输出采样并且将其绘制为直方图(如果 ADC的输入标称值为0 V,则称之为输入接地直方图)。由于该噪声是近似的高斯(Gaussian)分布,所以该直方图的标准偏差σ可以计算,它相当于RMS输入噪声。欲获知如何从直方图数据计算σ值的详细介绍,请见深入阅读资料6。通常的做法是用LSB 的RMS来表示这种RMS噪声,相当于折合成ADC满度输入范围的RMS电压。如果模拟输入范围以数字量或个数来表示,那么输入值(例如,σ)可以用 LSB的数量来表示。
图2.折合到输入端的噪声对ADC的输入接地直方图的影响,该ADC具有很小的DNL
尽管ADC内在的微分线性误差(DNL)会造成与理想的高斯分布的偏差(例如,图2中有一些DNL是很明显的),但应当至少近似于高斯分布。如果有显著的DNL偏差,那么应对于几个不同的DC输入电压进行平均计算σ值。如果编码分布明显是非高斯分布的,例如有大而明显的波峰或波谷,这就表明对ADC 设计得不好,或很可能是印制电路板(PCB)布线不好,接地技术差,或电源去耦不正确(见图3)。出现麻烦的另一个迹象是,当ADC的直流输入超过ADC 的输入电压范围时使高斯分布的宽度剧烈变化。
图3. 对ADC设计的不好以及其PCB布线、接地或去耦不好时的输入接地直方图
无噪声(无闪烁)码分辨率
ADC的无噪声码分辨率是指超过这个位(bit)数它就不能清楚分辨个别编码的分辨率。这种限制是由于上文所述与所有ADC相关的有效输入噪声(或折合到输入端的噪声),通常表示为一个以LSB rms为单位的RMS值。RMS噪声乘以因数6.6 ,转换为有用的P-P噪声(可表示编码的实际不确定性),表示为LSB P-P。
图4. AD77301Σ-ΔADC的无噪声码分辨率
由于一个N bit ADC的总转换编码数是2N LSB,因此总的无噪声码数量等于:
无噪声编码数量可通过计算以2为底的对数转换为无噪声(二进制)码分辨率,用下式表示:
无噪声码分辨率指标一般与高分辨率Σ-ΔADC有关,它通常是采样速率、数字滤波器带宽和可编程增益放大器(PGA)增益(因此关系到输入范围)的函数。图4示出典型的无噪声码分辨率表,取自Σ-Δ ADC AD7730的产品技术资料。
应当注意的是,对于50 Hz输出数据速率和610 mV输入范围的Σ-ΔADC,其无噪声码分辨率是16.5 bit(80,000个无噪声编码)。在这些条件下的建立时间为460 ms,从而使得这种ADC非常适合用于精密电子秤应用。这种数据可以从许多适合精密测量应用的高分辨率Σ-ΔADC的产品技术资料中获得。
满度范围与RMS输入噪声(而不是P-P噪声)的比率有时用于计算分辨率。在这种情况下,采用术语有效分辨率。应当注意,在相同条件下,有效分辨率比无噪声码分辨率大log2(6.6),约为2.7 bit。
一些制造商喜欢采用有效分辨率而不是无噪声码分辨率,因为那样bit位数较高——用户应当仔细检查产品技术资料以确认实际上采用的是哪种分辨率定义。
数字平均提高分辨率和减少噪声
通过数字平均可以减少折合到输入端的噪声的影响。考虑一个16 bit ADC,它以100 kSPS采样速率工作具有15 bit 无噪声码分辨率。对一个同样信号的每次输出采样做两次测量结果平均,使有效采样速率减少到50 kSPS,信噪比(SNR)提高3 dB并且无噪声码分辨率提高到15.5 bit。如果对每次输出采样做四次测量平均,采样速率减少到25 kSPS,SNR提高6 dB并且无噪声码分辨率提高到16 bit。
我们甚至可以进一步对每次输出采样做16 次测量的平均,输出采样速率减少到6.25 kSPS,SNR再增加6 dB,无噪声码分辨率增加到17bit。为了明显提高“分辨率”,必须实行多次精密平均。
平均过程也有助于平滑ADC传递函数的DNL误差。这可以通过ADC在量化编码k上有失码的简单情况来举例说明。尽管编码k由于大的DNL误差而失去,但两个相邻编码k–1和k+1的平均值仍等于k。
因此这种方法以牺牲总体输出采样速率和额外数字硬件为代价有效地用来增加ADC的动态范围。还应当注意的是,平均过程不会修正ADC内在的积分线性误差(INL)。
现在,考虑一个具有极低折合到输入端的噪声的ADC的情况,无论进行多少采样,其直方图都示出一个单个编码。对于这个ADC,数字平均会起什么作用? 答案很简单——没有作用! 无论对多少采样进行平均,结果都一样。但是,一旦有足够大的噪声施加到输入信号,就会有多于一个的编码出现在直方图中,平均方法又开始起作用。因而很有意思,有些少量的噪声是好噪声(至少对于平均方法而言);但是,出现在输入端的噪声越多,就需要越多的平均以达到同样的分辨率。
不要混淆有效位数(ENOB)和有效分辨率或无噪声码分辨率
由于术语的相似性,有效位数和有效分辨率经常被以为是相同的。但情况不是这样。
有效位数(ENOB)是当用一个满度正弦波输入信号激励ADC时对其输出的快速傅立叶变换(FFT)分析所产生的。计算所有噪声和失真项的平方和的平方根(RSS)值,可定义信号对噪声加失真的比率,称作信噪失真比〔S/(N+D)〕或信纳比(SINAD)。一个理想的N bit ADC的理论SNR由以下公式给出:
通过将公式5中的SNR用计算出的ADC的SINAD代替并且对N进行求解,可以计算出ENOB。
用于计算SINAD和ENOB的噪声和失真不仅包括折合到输入端的噪声,而且包括量化噪声和失真项。SINAD和ENOB用于测量ADC的动态性能,而有效分辨率和无噪声码分辨率用于衡量在直流输入条件下ADC的噪声,在直流输入条件下量化噪声不是一个问题。
使用噪声抖动提高ADC的无杂散动态范围
无杂散动态范围(SFDR)是RMS信号幅度与最大杂散频谱分量RMS值的比率。在高速ADC中,使SFDR达到最大的两个基本限制是前端放大器和采样保持电路产生的失真以及由于ADC编码器部分的传递函数的非线性产生的失真。获得高SFDR的关键是将这两个非线性误差减至最小。
虽然从ADC外部没有办法显著减少由其前端引起的固有失真,但是通过适当地使用抖动(有意施加到模拟输入信号的外部噪声),可减小ADC的编码器传递函数中的DNL误差。
在某些条件下,可利用抖动来提高ADC的SFDR(见深入阅读资料2~5)。例如,甚至在理想的ADC当中,在量化噪声和输入信号之间也存在相关性。这种相关性会降低ADC的SFDR,尤其是当采样频率是输入信号频率的整数倍时。大约1/2 LSB RMS宽带噪声和输入信号相加以便随机化量化噪声并且将这种相关性影响减至最小(见图5a)。但是,在大多数系统中,噪声已经叠加在信号之上(包括ADC 的折合到输入端的噪声),所以不需要另外的抖动噪声。如果增加宽带RMS噪声超过约一个LSB,那么会按比例减少SNR并且无需其它的改进方法。
另外一种已经开发的噪声抖动方法是使用较大量的抖动噪声以随机化ADC的传递函数。图5b示出一个包含伪随机数发生器驱动一个DAC的抖动噪声源。首先从ADC输入信号中减去这个抖动噪声,然后经过数字化添加到ADC输出端,因此使SNR无明显降低。但是,这种方法有一个固有的缺点,就是当抖动信号幅度增加时必须减小ADC输入信号的摆幅以防止过驱动ADC。应当注意的是,尽管这种方案改善了由ADC编码器非线性产生的失真,但它不能显著改善由其前端产生的失真。
图5.使用抖动随机化ADC传递函数
另一种比较容易实现的方法,尤其是在宽带接收器中,是在有用信号带宽之外注入一个窄带抖动信号,如图6所示。通常,因为没有信号分量处于直流附近的频率范围,所以常常在这个低频区域注入一个抖动信号。注入抖动信号的另一个可能的区域是稍小于fS /2的区域。因为抖动信号相对于有用信号带宽(通常几十万赫兹带宽就足够了)仅占用很小一部分,所以没有明显降低SNR,如果抖动是宽带信号则会显著降低SNR。
图6.注入带外抖动以提高ADC的SFDR
分级式或流水线式ADC,例如AD66452 14bit,105MSPS ADC (见图7),在ADC范围内特定编码变迁点处具有非常小的DNL误差。AD6645包括一个5 bit ADC(ADC1),以及随后的5 bit ADC(ADC2)和6 bit ADC(ADC3)。仅在ADC1变迁点处会出现很大的DNL误差——在ADC2和ADC3变迁点处出现的DNL误差都很小。与ADC1相关的有25 = 32个变迁点,对于2.2 V满度输入范围,每68.75 mV(29 = 512 LSB)发生一次变迁。
图7. AD6645 14 bit,105 MSPS ADC简化框图
图8示出这些非线性误差放大的示意图。
图8. AD6645分级变迁点的DNL误差(放大的示意图)
对于大约为200 MHz的模拟输入,与编码器产生的失真相比,AD6645前端产生的失真分量可以忽略。也就是说,AD6645传递函数的静态非线性误差是SFDR的主要限制。
我们的目标是在ADC输入范围内选择适当范围的带外抖动以便随机化这些小DNL误差,从而减少平均的DNL误差。实验上采用的方法是,使P-P抖动噪声覆盖约两个ADC1变迁区域对DNL有最大改善。对于较高幅度的噪声,DNL没有显著的改善。两个ADC1变迁区域覆盖1024 LSB P-P,或大约155 (= 1024/6.6) LSB RMS。
图9中第一张曲线图示出输入信号范围中的一小段内的无抖动DNL误差,包括两个分级点,它们相距68.75 mV(512 LSB)。第二张曲线图示出加入155 LSB RMS抖动(随后经过滤波输出)后的DNL误差。这个抖动幅度相当于大约–20.6 dBm。应当注意对DNL误差的显著改善。
可用许多方法产生抖动噪声。例如,可使用噪声二极管,但是对一只宽带双极型运算放大器的输入电压噪声进行简单地放大可提供一种比较经济的解决方案。这种方法在别处有详细介绍(参看深入阅读资料3,4和5),这里不作讨论。
图10示出使用带外抖动获得SFDR的显著提高,使用了深度(1,048,576点)FFT分析,这里AD6645以80 MSPS采样速率对–35 dBm,30.5 MHz信号进行采样。注意,没有抖动的SFDR大约为92 dBFS,与有抖动时的108 dBFS相比,实质上提高了16 dB!
AD6645是ADI公司于2000年推出的ADC产品,至今仍然具有最好的SFDR性能。自从AD6645推出几年来,在制造工艺和电路设计两方面的提高产生出甚至更高性能的ADC,例如,AD94443(14 bit,80 MSPS),AD94454(14 bit,105 MSPS/125 MSPS),
图9. AD6645 DNL误差曲线图,无抖动和有抖动两种情况
图10. FFT曲线图示出AD6645的SFDR,无抖动和有抖动两种情况
图11. AD9444, 14 bit, 80 MSPS ADC; fS=80 MSPS, fIN=30.5 MHz,信号幅度=-40 dBFS.
和AD94465(16 bit, 80 MSPS/100 MSPS)。这些ADC具有非常高的SFDR(对于70 MHz满度输入信号,典型值大于90 dBc)和低DNL。在一定输入信号条件下,加入适当的带外抖动信号还可以提高SFDR。
图11示出了AD9444的FFT曲线图(有抖动和无抖动两种情况)。可以看到,在给定的输入条件下,加入的抖动将SFDR提高了25 dB。上述数据是使用ADI simADC™6程序和AD9444模型获得的。
尽管图10和图11示出的结果相当显著,但不应认为在所有条件下加入带外噪声抖动总是会提高ADC的SFDR。我们重申,这种加抖动方法不会改善 ADC前端电路的线性误差。甚至对于一个接近理想的前端,抖动的影响也高度依赖于输入信号的幅度和抖动信号本身的幅度。例如,当信号接近ADC的满度输入范围时,传递函数的INL可能会成为决定SFDR的限制因素,并且加抖动也不会有帮助。在任何情况下,用户都应当仔细研究产品技术资料,在有些情况下可能会给出有抖动和无抖动数据,以及对于幅度和带宽的建议。抖动可能成为新的中频(IF)采样ADC的一个内置功能。
结论
在本文的讨论中,我们考虑了对所有ADC都共同的折合到输入端的噪声。在精密、低频测量应用中,通过采用降低采样速率和额外的硬件方法对ADC输出数据进行数字平均,可以减小这种噪声的影响。虽然通过这种平均方法实际上可提高ADC的分辨率,但不会减小INL。只是小的折合到输入端的噪声才需要用平均方法提高分辨率;但是对于大的噪声要求大量采样进行平均,以便减小噪声。
在一些高速ADC应用中,加入适当范围的带外噪声抖动可以减小ADC的DNL误差并且提高其SFDR。但是,采用抖动噪声方法对提高SFDR的效果高度依赖于选用ADC的特性。