简介
所有模数转换器(ADC)都有一定量的"折合到输入端噪声",可以将其模拟为与无噪声ADC输入串联的噪声源。折合到输入端噪声与量化噪声不同,后者仅在ADC处理交流信号时出现。多数情况下,输入噪声越低越好,但在某些情况下,输入噪声实际上有助于实现更高的分辨率。这似乎毫无道理,不过继续阅读本指南,就会明白为什么有些噪声是好的噪声。
折合到输入端噪声(代码跃迁噪声)
实际的ADC在许多方面与理想的ADC有偏差。折合到输入端的噪声肯定不是理想情况下会出现的,它对ADC整体传递函数的影响如图1所示。随着模拟输入电压提高,"理想"ADC(如图1A所示)保持恒定的输出代码,直至达到跃迁区,此时输出代码即刻跳变为下一个值,并且保持该值,直至达到下一个跃迁区。理论上,理想ADC的"代码跃迁"噪声为0,跃迁区宽度也等于0.实际的ADC具有一定量的代码跃迁噪声,因此跃迁区宽度取决于折合到输入端噪声的量(如图1B所示)。图1B显示的情况是代码跃迁噪声的宽度约为1个LSB(有效位)峰峰值。
图1:代码跃迁噪声(折合到输入端噪声)及其对ADC传递函数的影响
由于电阻噪声和"kT/C"噪声,所有ADC内部电路都会产生一定量的均方根(RMS)噪声。即使是直流输入信号,此噪声也存在,它是代码跃迁噪声存在的原因。如今通常把代码跃迁噪声称为"折合到输入端噪声",而不是直接使用"代码跃迁噪声"这一说法。折合到输入端噪声通常用ADC输入为直流值时的若干输出样本的直方图来表征。大多数高速或高分辨率ADC的输出为一系列以直流输入标称值为中心的代码(见图2)。为了测量其值,ADC的输入端接地或连接到一个深度去耦的电压源,然后采集大量输出样本并将其表示为直方图(有时也称为"接地输入"直方图)。由于噪声大致呈高斯分布,因此可以计算直方图的标准差σ,它对应于有效输入均方根噪声。参考文献1详细说明了如何根据直方图数据计算σ值。该均方根噪声虽然可以表示为以ADC满量程输入范围为基准的均方根电压,但惯例是用LSB rms来表示。
图2:折合到输入端噪声对ADC"接地输入端"直方图的影响(ADC具有少量DNL)
虽然ADC固有的微分非线性(DNL)可能会导致其噪声分布与理想的高斯分布有细微的偏差(图2示例中显示了部分DNL),但它至少大致呈高斯分布。如果DNL比较大,则应计算多个不同直流输入电压的值,然后求平均值。例如,如果代码分布具有较大且独特的峰值和谷值,则表明ADC设计不佳,或者更有可能的是PCB布局布线错误、接地不良、电源去耦不当(见图3)。当直流输入扫过ADC输入电压范围时,如果分布宽度急剧变化,这也表明存在问题。
图3:设计不佳的ADC和/或布局布线、接地、去耦不当的接地输入端直方图
无噪声(无闪烁)代码分辨率
ADC的无噪声代码分辨率是指这样一个位数,如果超过该位数,则无法明确无误地解析各个代码,原因是存在所有ADC都具有的有效输入噪声(或折合到输入端噪声),如上文所述。该噪声可以表示为均方根量,单位通常是LSB rms.乘以系数6.6可以将均方根噪声转换为峰峰值噪声(用"LSB峰峰值"表示)。N位ADC的总范围为2NLSB.因此,无噪声采样总数等于:
对无噪声采样数求以2为底的对数可以得到无噪声代码分辨率:
无噪声代码分辨率规格一般与高分辨率-型测量ADC相关,通常是采样速率、数字滤波器带宽和可编程增益放大器(PGA)增益的函数。图4所示为从-型测量ADC AD7730获得的一个典型数据表。
图4:Σ-Δ型ADC AD7730的无噪声代码分辨率
注意,当输出数据速率为50 Hz、输入范围为±10 mV时,无噪声代码分辨率为16.5位(80,000无噪声采样)。这些条件下的建立时间为460 ms,因此该ADC是精密电子秤应用的理想之选。对于适合精密测量应用的高分辨率-型ADC,大部分数据手册都提供了类似的数据。
有时候会利用满量程范围与均方根输入噪声(而非峰峰值噪声)的比值来计算分辨率,该分辨率称为"有效分辨率".注意:在相同条件下,有效分辨率比无噪声代码分辨率高log2(6.6),约2.7位。
有些制造商更愿意规定有效分辨率,而不是无噪声代码分辨率,因为前者的位数较高。用户应仔细检查数据手册,弄清它到底指定哪一种分辨率。
通过数字均值法提高ADC分辨率并降低噪声
折合到输入端噪声的影响可以通过数字均值方法降低。假设一个16位ADC具有15位无噪声分辨率,采样速率为100 kSPS.对于每个输出样本,如果对两个样本进行平均,则有效采样速率降至50 kSPS,SNR提高3 dB,无噪声位数提高到15.5位。如果对四个样本进行平均,则采样速率降至25 kSPS,SNR提高6 dB,无噪声位数提高到16位。
事实上,如果对16个样本进行平均,则输出采样速率降至6.25 kSPS,SNR再提高6 dB,无噪声位数提高到17位。为了利用额外的"分辨率",均值算法必须在较大的有效位数上执行。
均值过程还有助于消除ADC传递函数的DNL误差,这可以通过下面的简单例子来说明:假设ADC在量化电平"k"处有一个失码,虽然代码"k"由于DNL误差较大而丢失,但两个相邻代码k – 1和k + 1的平均值等于k.
因此,可以利用该技术来有效提高ADC的动态范围,代价是整体输出采样速率降低并且需要额外的数字硬件。不过应注意,均值并不能校正ADC固有的积分非线性。
现在考虑这样一种情况:ADC的折合到输入端噪声非常低,直方图总是显示一个明确的代码,对于这种ADC,数字均值有何作用呢?答案很简单--没有作用!无论对多少样本进行平均,答案始终相同。但只要将足够大的噪声增加到输入信号中,使得直方图中有一个以上的代码,那么均值方法又会发挥效用。因此,少量噪声可能是好事情(至少对于均值方法而言),但输入端存在的噪声越高,为实现相同分辨率所需的均值样本数越多。
切勿将有效位数(ENOB)与有效分辨率或无噪声代码分辨率混为一谈
由于这些术语名称相似,"有效位数"和"有效分辨率"常被误认为是一回事,事实并非如此。
有效位数(ENOB)来自对ADC输出的FFT分析,条件是用一个满量程正弦波输入信号激励ADC.计算所有噪声和失真项的和方根(RSS)值,信号对噪声和失真的比值定义为信纳比SINAD或S/(N+D)。理想N位ADC的理论SNR为:
将计算所得的SINAD值替换等式5中的SNR,并求解N,便得到ENOB:
用于计算SINAD和ENOB的噪声和失真不仅包括折合到输入端噪声,而且包括量化噪声和失真项。SINAD和ENOB用于衡量ADC的动态性能,有效分辨率和无噪声代码分辨率则用于衡量ADC在无量化噪声的直流输入条件下的噪声。
利用噪声扰动提高ADC无杂散动态范围
对于高速ADC,若要地提高SFDR,存在两个基本限制:是前端放大器和采样保持电路产生的失真;第二是ADC编码器部分的实际传递函数的非线性所导致的失真。
提高SFDR的关键是尽可能降低以上两种非线性。
要显着降低ADC前端引起的固有失真,在ADC外部着力是徒劳的。然而,ADC编码器传递函数的微分非线性可以通过适当利用扰动(即外部噪声,与ADC的模拟输入信号相加)来降低。
在一定的条件下,扰动可以改善ADC的SFDR(参考文献2-5)。例如,即使在理想ADC中,量化噪声与输入信号也有某种相关性,这会降低ADC的SFDR,特别是当输入信号恰好为采样频率的约数时。将宽带噪声(幅度约为? LSB rms)与输入信号相加往往会使量化噪声随机化,从而降低其影响(见图5A)。然而,在大多数系统中,信号之上有足够的噪声,因此无需额外添加扰动噪声。ADC的折合到输入端噪声也可能足以产生同样的效果。将宽带均方根噪声电平提高约1 LSB以上会成比例地降低ADC SNR,且性能不会有进一步的提高。
还有其它一些方案,都使用更大数量的扰动噪声,使ADC的传递函数随机化。图5B还显示了一个由驱动DAC的伪随机数发生器组成的扰动噪声源,此信号从ADC输入信号中减去后,以数字方式增加到ADC输出中,从而不会导致SNR性能显着下降。这种技术本身有一个缺点,即随着扰动信号的幅度增大,允许的输入信号摆幅会减小。之所以需要减小信号幅度,是为了防止过驱ADC.应当注意,这种方案不能显着改善ADC前端产生的失真,只能改善ADC编码器传递函数的非线性所引起的失真。
图5:利用扰动使ADC传递函数随机化
还有一种方法更容易实现,尤其是在宽带接收机中,即注入信号目标频带以外的一个窄带扰动信号,如图6所示。一般来说,信号成分不会位于接近DC的频率范围,因此该低频区常用于这种扰动信号。扰动信号可能还位于略低于fs/2的地方。相对于信号带宽,扰动信号仅占用很小的带宽(数百kHz带宽通常即足够),因此SNR性能不会像在宽带扰动下那样显着下降。
图6:注入带外扰动以改善ADC SFDR
分级流水线式ADC,例如图7所示的14位105 MSPS ADC AD6645,在ADC范围内的特定代码跃迁点有非常小的差分非线性误差。AD6645由一个5位ADC1、一个5位ADC2和一个6位ADC3组成。严重的DNL误差仅出现在ADC1跃迁点,第二级和第三级ADC的DNL误差非常小。ADC1有25 = 32个相关的决策点,每隔68.75 mV (29 = 512 LSB)出现一个(2.2 V满量程输入范围)。图8以夸张形式显示了这些非线性误差。
图7:14位105 MSPS ADC AD6645简化框图
图8:AD6645分级点DNL误差(夸张显示)
对于约为200 MHz的模拟输入,AD6645前端产生的失真成分与编码器产生的失真相比可忽略不计。这就是说,AD6645传递函数的静态非线性是SFDR性能的主要限制。
目标是选择适当的带外扰动量,使得这些微小DNL误差的影响在ADC整个输入范围内随机化,从而降低平均DNL误差。这可以通过实验方法确定,覆盖大约两个ADC1跃迁区的峰峰值扰动噪声对DNL的改善。更高的噪声量不会明显改善DNL.两个ADC1跃迁区覆盖1024 LSB峰峰值,或者大约155 LSB rms(峰峰值高斯噪声除以6.6即得到均方根值)。
图9中的幅图显示一小部分输入信号范围内的无扰动DNL.水平轴经过放大,以显示两个相距68.75 mV (512 LSB)的分级点。第二幅图显示增加155 LSB rms扰动后的DNL,该扰动量相当于大约–20.6 dBm.请注意,DNL得到显着改善。
图9:无扰动和有扰动的AD6645 DNL
扰动噪声可以通过多种方式产生。可以使用噪声二极管,但简单地放大器宽带双极性运放的输入电压噪声是更经济的解决方案,这种方法已在参考文献3、4、5中详细说明,在此恕不赘述。
利用带外扰动获得的SFDR大幅改善结果如图10的深(1,048,576点)FFT所示,其中AD6645以80 MSPS的速率对一个–35 dBm、30.5 MHz信号进行采样。请注意,无扰动时SFDR约为92 dBFS,有扰动时约为108 dBFS,提高幅度达16 dB!
图10:无扰动和有扰动的AD6645 FFT图
AD6645 ADC由ADI公司于2000年推出,直到近,它仍是代表SFDR性能的产品。自从推出该器件后,工艺技术和电路设计两方面的进步推动ADC向更高性能发展,例如AD9444(14位、80 MSPS)、AD9445(14位、105/125 MSPS)和AD9446(16位、80/100 MSPS),这些ADC具有非常高的SFDR(对于70 MHz满量程输入信号,典型值大于90 dBc)和低DNL.
在一定的输入信号条件下,增加适当的带外扰动信号同样可以改善SFDR性能。
图11显示了有扰动和无扰动下的AD9444(14位、80MSPS)FFT.在这些输入条件下,添加扰动使SFDR提高25 dB.所示数据是利用ADIsimADC程序和AD9444模型获得。
图11:14位、80MSPS ADC AD9444,fs = 80MSPS,fin = 30.5MHz,信号幅度 = –40dBFS
虽然图10和图11所示的结果相当惊人,但不应认为,增加带外噪声扰动一定就会改善ADC的SFDR,或者在所有条件下都适用。正如之前提到的,扰动无法改善ADC前端电路的线性度。即使是近乎理想的前端,扰动的效果也将高度依赖于输入信号的幅度和扰动信号本身的幅度。例如,当信号接近ADC的满量程输入范围时,传递函数的积分非线性可能会成为确定SFDR的限制因素,扰动将没有助益。务必认真研究数据手册,某些情况下,其中可能给出了有扰动和无扰动的数据以及幅度和带宽建议。扰动可能是更新一代中频采样ADC的内置特性。
结束语
在本文中,我们说明了所有ADC都有一定量的折合到输入端噪声。在精密、低频测量应用中,以数字方式对ADC输出数据求平均值可以降低该噪声,代价是采样速率会降低并且需要额外的硬件。该均值方法实际上可以提高ADC的分辨率,但无法降低积分非线性误差。
通过均值技术提高分辨率时,需要少量的折合到输入端噪声,但如果噪声太高,均值法将需要大量样本,而且存在一个"效益递减"点。
在某些高速ADC应用中,增加适当数量的带外噪声扰动可以改善ADC的DNL,并提高无杂散动态范围(SFDR)。然而,扰动对改善SFDR的效力高度依赖于特定ADC的特性。
[1]. PCB datasheet https://www.dzsc.com/datasheet/PCB_1201640.html.
[2]. AD6645 datasheet https://www.dzsc.com/datasheet/AD6645_1130175.html.
[3]. AD9444 datasheet https://www.dzsc.com/datasheet/AD9444_251547.html.
[4]. AD9445 datasheet https://www.dzsc.com/datasheet/AD9445_251542.html.
[5]. AD9446 datasheet https://www.dzsc.com/datasheet/AD9446_251551.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。