前言

上回说到“理想 ADC”中只存在量化噪声,并且介绍了 SNR = 6.02N + 1.76dB 的计算公式。那么,是否意味着“底噪”(Noise Floor)就是这个 SNR 的负数呢?

先来看一张图,原始出自于 ADI 的文章(见参考资料[1]),我做了些标注:

ADC SNR 与 Noise floor

图1 ADC SNR 与 Noise floor

图中假设了一个 12-bit 的ADC,理想情况下 SNR 就是 6.02*12 + 1.76 = 74dB。

但是在 -74dB 往下,还有两根横线,一根是黄线,上面写 FFT Noise Floor(39dB,per bin),另一根是蓝色,上面写了 Noise Floor(80dB,per Hz)。

这是怎么回事?难道底噪还能比理想 SNR 更低吗?

今天我们就介绍一下这个现象。

信号的带宽

让我们重新看一下频谱图,在许多应用中,实际感兴趣的信号所占的带宽 Bandwidth 很小,也许远小于奈奎斯特采样频率,比如下面这个图,出自另一篇 ADI 的文章(见参考资料[2]):

ADC 过采样的例子

图2 ADC 过采样的例子

图中可以看到一根顶天立地的垂线,被红框圈出,这是信号。其它都是噪声。

文中告诉我们:在这个例子中,假设了 ADC 的采样时钟频率 Fs 为 75MHz,对应奈奎斯特频率 Fs/2 为 37.5MHz,也就是频谱图横坐标的范围。红框圈出来的信号,频率位于 2MHz 左右,并且认为信号的带宽是在 DC(0Hz)至 4MHz 之间。

好了,现在如果有一个滤波器,能够滤除 4MHz 以上的所有噪声,那么 SNR 会有什么变化?

可以想一想,先做个判断。

从频域角度看 SNR

之前 SNR 的计算过程,是先从时域上求出信号与噪声的 RMS(有效值),然后两者相除得到 SNR。

频域与时域是信号的不同表达,理应有一样的结果。现在,图2 中的噪声被滤波,意味着它的能量成分减少, RMS 也要变小,那必然会提升 SNR。

这背后有数学上的推导计算,我们不多做阐述,但可以想象的一种做法是先将频域转 RMS,再作 RMS 的相除。频域转 RMS 的图示如下,其中用到了积分:

噪声频谱转 RMS

图3 噪声频谱转 RMS

当然,实际 ADC 的频谱图会用到 DFT/FFT,这时横坐标就是一个个离散的“bin”而非连续变化,但转 RMS 的原理类似。

关键在于从频域角度看 SNR,是将噪声的所有频谱成分累加,得到噪声总能量,而不是只拿 2MHz 的信号与 2MHz 的噪声相比。

神奇的过采样

说回图2 ,滤波降低了噪声成分,从而提高了 SNR。但之所以能这么干,这是因为噪声带宽比信号带宽更大才行,也就是 ADC 的采样频率要大于信号的奈奎斯特采样定理所需频率,即 Fs/2 > BW,这不就是过采样(Oversampling)嘛。

ADI 经典教程《MT-001》(见参考资料[3])中阐述了过采样如何影响 SNR ,并改动了 SNR 的数学公式,将过采样的因素加入其中:

过采样产生的 Process Gain及调整后的 SNR

图4 过采样产生的 Process Gain及调整后的 SNR

改动后的 SNR 公式中,因“过采样”(Fs/2 > BW)提升 SNR 的部分,称为“Process Gain”。

我们用这个公式验证一下图2 的例子:图2 中信号的带宽是 4MHz,相比 Fs = 8MHz 刚好满足奈奎斯特采样定理的情况,现在 Fs = 75MHz ,所以 Process Gain = 10log(75 / 2 / 4) = 9.7dB。提升了 9dB 以上的SNR。(注: ADI 原文中说带宽大了8倍,10log(8) 正好等于 9dB)

所以神不神奇?通过“过采样+滤波”实现了超额 SNR。

但请注意一点,图4 的纵坐标是噪声幅度,它也是 Fs 的系数。如果 Fs 大了,幅度就小了;如果 Fs 小了,幅度就大了。这个可以从前面频谱图转 RMS 的原理来解释。也可以从混叠来解释,如果 Fs 小,噪声在 Fs/2 里面的密度更高,反之密度更低:

噪声采样混叠及密度

图5 噪声采样混叠及密度

图中假设了白噪声,大于 Fs/2 的噪声被混叠至 Fs/2 内部。

噪声谱密度

随着高速 ADC 的普及,采样率不断增加到 GHz,过采样带来超额的 SNR 优势。那么,在比较 ADC 的时候,不仅要考虑本身的 SNR,还要考虑所支持的采样频率 Fs,这太麻烦了,是否有更好的指标快速比较 ADC 的性能?

这就引出了噪声谱密度 NSD(Noise Spectral Density)。

NSD 的“相对值”单位是 dBFS/Hz,表示在 1Hz 的带宽范围内,满量程信号与噪声的信噪比。其实在前面 图3、图4 的纵坐标上,我们已经接触到 NSD 了,只不过用的是绝对值。

NSD 的计算方式如下,图中加了红色下划线,其实就是 Process Gain 中 BW = 1Hz 的特例:

ADC SNR 与 Noise floor的计算

图6 ADC SNR 与 Noise floor的计算

图中 SNR = 74dB,1Hz BW Process Gain = 80dB,所以NSD Noise floor = - (74 + 80) = -154dB。

这就是为什么 NSD Noise floor 在理想 SNR 的下方。至于 FFT ,它的每个 bin 是比 1Hz 更大的 BW,因此位于理想 SNR 的下方,但又位于 NSD Noise floor 的上方。

ADI 文中举了一个例子,标称 SNR 同为 70dB 的 4 个 ADC,所支持的采样率从 100MSPS 到 2GSPS 不等,并且也提供了各个 ADC 的 NSD,如果它们都对 50MHz BW (Bandwidth) 进行采样,那么在 50MHz BW 上 SNR 是多少?

ADC Noise spectral density(NSD)对比

图7 ADC Noise spectral density(NSD)对比

由于 NSD 的存在,一方面 ADC 性能优劣能够很快看出,另一方面,50MHz BW 上 SNR 也很好算,各个 ADC 的 NSD + 10log(BW) ,再变换一下符号即可。

小结

今天我们介绍了过采样(+滤波)能带来超额的 SNR,称之为 Process Gain 。

NSD (Noise Spectral Density)是衡量 ADC 性能的一个指标,它结合了 SNR 与 采样率 两种因素。

那么,你觉得 ADC 的过采样是神操作,还是奇技淫巧呢?

参考资料

主要来自以下内容,都可以通过搜索关键词获取:

  1. https://www.analog.com/en/resources/technical-articles/noise-spectral-density.html
  2. https://www.analog.com/en/resources/technical-articles/use-noise-spectral-density-to-evaluate-adcs-in-software-defined-systems.html
  3. ADI MT-001 by Walt Kester: Taking the Mystery out of the Infamous Formula, “SNR = 6.02N + 1.76dB” and Why You Should Care
  4. TI Precision Labs 1312 - Op Amps Noise - 2

可以关注我的微信公众号“疯狂的运放”,及时收到最新的推文。