理解ADC:“过采样”算不算是神操作?附带介绍Noise Spectral Density
前言
上回说到“理想 ADC”中只存在量化噪声,并且介绍了 SNR = 6.02N + 1.76dB 的计算公式。那么,是否意味着“底噪”(Noise Floor)就是这个 SNR 的负数呢?
先来看一张图,原始出自于 ADI 的文章(见参考资料[1]),我做了些标注:
图中假设了一个 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 的采样时钟频率 Fs 为 75MHz,对应奈奎斯特频率 Fs/2 为 37.5MHz,也就是频谱图横坐标的范围。红框圈出来的信号,频率位于 2MHz 左右,并且认为信号的带宽是在 DC(0Hz)至 4MHz 之间。
好了,现在如果有一个滤波器,能够滤除 4MHz 以上的所有噪声,那么 SNR 会有什么变化?
可以想一想,先做个判断。
从频域角度看 SNR
之前 SNR 的计算过程,是先从时域上求出信号与噪声的 RMS(有效值),然后两者相除得到 SNR。
频域与时域是信号的不同表达,理应有一样的结果。现在,图2 中的噪声被滤波,意味着它的能量成分减少, RMS 也要变小,那必然会提升 SNR。
这背后有数学上的推导计算,我们不多做阐述,但可以想象的一种做法是先将频域转 RMS,再作 RMS 的相除。频域转 RMS 的图示如下,其中用到了积分:
当然,实际 ADC 的频谱图会用到 DFT/FFT,这时横坐标就是一个个离散的“bin”而非连续变化,但转 RMS 的原理类似。
关键在于从频域角度看 SNR,是将噪声的所有频谱成分累加,得到噪声总能量,而不是只拿 2MHz 的信号与 2MHz 的噪声相比。
神奇的过采样
说回图2 ,滤波降低了噪声成分,从而提高了 SNR。但之所以能这么干,这是因为噪声带宽比信号带宽更大才行,也就是 ADC 的采样频率要大于信号的奈奎斯特采样定理所需频率,即 Fs/2 > BW,这不就是过采样(Oversampling)嘛。
ADI 经典教程《MT-001》(见参考资料[3])中阐述了过采样如何影响 SNR ,并改动了 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 里面的密度更高,反之密度更低:
图中假设了白噪声,大于 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 的特例:
图中 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 是多少?
由于 NSD 的存在,一方面 ADC 性能优劣能够很快看出,另一方面,50MHz BW 上 SNR 也很好算,各个 ADC 的 NSD + 10log(BW) ,再变换一下符号即可。
小结
今天我们介绍了过采样(+滤波)能带来超额的 SNR,称之为 Process Gain 。
NSD (Noise Spectral Density)是衡量 ADC 性能的一个指标,它结合了 SNR 与 采样率 两种因素。
那么,你觉得 ADC 的过采样是神操作,还是奇技淫巧呢?
参考资料
主要来自以下内容,都可以通过搜索关键词获取:
- https://www.analog.com/en/resources/technical-articles/noise-spectral-density.html
- https://www.analog.com/en/resources/technical-articles/use-noise-spectral-density-to-evaluate-adcs-in-software-defined-systems.html
- ADI MT-001 by Walt Kester: Taking the Mystery out of the Infamous Formula, “SNR = 6.02N + 1.76dB” and Why You Should Care
- TI Precision Labs 1312 - Op Amps Noise - 2
可以关注我的微信公众号“疯狂的运放”
,及时收到最新的推文。