ADC过采样,操控的是带宽与噪声
前言
上回说到:ADC 的噪声,在频谱上体现为 FFT Noise Floor,这个 FFT Noise Floor 的高低与参与 FFT 运算的点数有关。
另外,为计算 SNR,需要先将整个 FFT Noise Floor 累加,得到总噪声,再与信号相比得到 SNR。
今天,我们来看看 ADC 的噪声与“带宽”的关系。
扩大带宽
ADC 的带宽,当然由采样率决定。
Advantest 的文档(参考资料[1])中有一个经典例子,对于同一个 ADC:
情况 (a):采样率 Fs = 48 ksps,带宽 Fs/2 = 24 kHz, 采样点数 N = 1024;
情况 (b):采样率 Fs = 768 ksps,带宽 Fs/2 = 384 kHz,采样点数 N = 16384;
看看频谱图什么样?
图中,两种情况 ∆f = 48k / 1024 = 768k / 16384 ≈ 50 Hz,也就是频谱分割程度一样,所以可以直接进行 FFT Noise Floor 的比较。
那么,为什么情况 (b) 的 FFT Noise Floor 比情况 (a) 更低一些?
这种现象用奈奎斯特采样定理很好解释:理想 ADC 只有量化噪声,量化噪声只与 ADC 的位数有关,而且是白噪声。根据采样定理,所有高于 Fs/2 的信号频率都会发生混叠,下变频至第1个奈奎斯特象限,也就是噪声集中在 0 至 Fs/2 的带宽之中。由于总噪声没有变,采样率更高、带宽更宽, ∆f 一样,FFT Noise Floor 也就更低。
在此我们可以总结一下:在 ∆f 一样的情况下,采样率提升一倍,带宽提升一倍,FFT Noise Floor 降低 3 dB。你看看是不是这样?
加上滤波器
ADI 的应用笔记(参考资料[2])中,在扩大带宽的基础上又增加了滤波器,它例子是这样的:
下图红框里的范围是 0 到 4 MHz,其中包含一个 2 MHz 的目标信号。ADC 采用 75 MHz 的采样率,带宽是 37.5 MHz。
现在有一个滤波器,假设能够剔除频谱上 7/8 的噪声,只保留原来的 1/8(接近红框区域)。那么 SNR 变成了什么样?
我们算一下:
SNR (滤波后) = SNR + 10 * log(8) = SNR + 9 dB
公式备注:前文面积不变,宽度扩大,高度变小;现在是宽度扩大,面积减小至 1/8。
我们知道根据采样定理,对于一个 4 MHz 以内的信号,只需要 8 MHz 或稍大一些的采样率即可,但例子却用了 75 MHz 的采样率,37.5 MHz / 4 MHz ≈ 9,超过采样定理要求很多倍。然后,再使用滤波器剔除 7/8 的噪声,从而给 SNR 带来 +9dB 的增益。
强调一下:扩大带宽是必须的,因为要降低 FFT Noise Floor 和给滤波器留出滤波的空间。这就引出了“过采样”的概念。
过采样
“过采样”(Over-sampling)的定义就是超过采样定理要求的采样率。
ADI 另一篇文章(参考资料[3])中有一个截图,可以看出“过采样”与普通采样的区别:
图中的右侧是过采样的实现,增加了 Decimation Filter 的部分,属于数字滤波器,有时就索性就称为 Digital Filter,因为这是 Digital Filter 在过采样 ADC 中的专属用途。
Decimation Filter 的大括号里包含两部分操作,一个是低通滤波器就是用于去噪(如前文剔除 7/8 噪声),后面还有一个抽取用于降低数据输出速率(图中 M 倍向下箭头)。
图中展示了这种架构对 ADC 带宽的变化,但其实还隐含了对 ADC 前级外部模拟滤波器的变化,这个滤波器非常重要,它叫做抗混叠滤波器(Anti-aliasing Filter),简称为 AAF,从下图可以看到区别:
图中:(a) 是普通采样,(b) 与 (c) 都是过采样,但 (c) 过采样的比例更高。
图中描述了两种滤波器的频响变化,一种是 ADC 前级的模拟抗混叠滤波器,用深红色表示(External AAF Response);另一种是 ADC 内部的数字滤波器,用淡紫色表示(Digital Filter Response)。
随着 (b) 或 (c) 的过采样比例上升,因为留给模拟抗混叠滤波器(AAF)频率操作空间变大了,所以频响越发平缓,这一方面大大简化了滤波器的设计难度,另一方面也许更重要的是有利于系统层频谱规划。
又因为 AAF 比较平缓,在目标信号区域(Signal Band of Interest)与 Fs / 2 带宽之间,如果有 AAF 剔除不干净的噪声,则使用 ADC 内部的数字滤波器来处理,这是前文说的过采样给 SNR 带来额外增益的那部分。
所以,你看相比普通采样,过采样是带来了好处,如简化 AAF / 有利频谱规划 / 提升 SNR 等,但同时实现上也多出了 Decimation / Digital Filter 的部分,相应的时钟速率也高,而且还要采集更多的数据,那么这么做它值得吗?
我没有试过这么多 ADC 和频谱设计,没特别体会,但从 ADI / TI 等各大市场宣传来看的话,都是在提倡“过采样”。
噪声频谱密度
随着半导体工艺发展,市面上的高速 ADC 日益增多。虽然过采样能提升 SNR,但也因此使得 SNR 变得漂浮不定,业界希望对于高速 ADC,有个快速评价指标。
这就引出了“噪声频谱密度”(Noise Spectral Density)的概念。现在你在很多 ADC 的芯片 Datasheet 中也能看到这个指标。
噪声频谱密度,描述的是 1 Hz 上的噪声情况,单位是 dBFS/Hz。它将噪声的描述归一化了。因为不管是 FFT Size 还是 Fs / 2 的带宽,对于不同的设计都有不同的选择,需要通过转换后才能比较。 而噪声频谱密度都是基于 1 Hz ,很容易可以看出 ADC 的噪声水平。
ADI 的文章(参考资料[2])给出了一个例子,有 A \ B \ C \ D 四个 ADC,支持采样率从 100 MHz 到 2 GHz,SNR 都是 70 dB,但噪声频谱密度(NSD)不同:
从噪声频谱密度来看,当然是最后一行的 ADC 最好。
但我们可以用公式验证一下,比如,针对 50 MHz 以内目标信号区域,对于不同 NSD 的 ADC 过采样,SNR 提升情况如何?
一种算法是,先计算过采样比例,用这个比例算额外增益。对于最后一行的 ADC 是:SNR (50 MHz) = SNR + 10 * log(过采样比例) = SNR + 10 * log(20) = 70 + 13 = 83 dB
另一种算法是,在带宽内累加 NSD 获得总噪声,再与信号之比。对于最后一行的 ADC 是:SNR (50 MHz) = 0dB - (NSD + 10 * log(带宽)) = 0 - ( -160 + 10 * log(50000000)) = 83 dB
公式备注:先算带宽内总噪声,线性相乘等于 log 相加,然后与 0dB(Full Scale)的信号相比。
两种算法结论一致,都能看出噪声频谱密度越好的 ADC,通过“过采样”也能获得更好的 SNR。
总结
今天我们从 ADC 扩大带宽、增加滤波器,谈到 “过采样” 和 “噪声频谱密度” 等概念。本质上,都是在操控带宽与噪声。
参考资料
- https://www3.advantest.com/documents/11348/8c5e06b8-85b8-407d-b253-b671ca9ac85c
- https://www.analog.com/en/resources/technical-articles/use-noise-spectral-density-to-evaluate-adcs-in-software-defined-systems.html
- https://www.analog.com/en/resources/analog-dialogue/articles/antialiasing-filtering-considerations-for-high-precision-ad-converters.html
相关前文
欢迎关注我的微信公众号“疯狂的运放”
,及时收到最新的推文。