首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >基准滤波器使 32 位 ADC SNR 增加 6dB(YUNSWJ 重写版)

基准滤波器使 32 位 ADC SNR 增加 6dB(YUNSWJ 重写版)

作者头像
云深无际
发布2026-05-20 10:31:40
发布2026-05-20 10:31:40
1080
举报
文章被收录于专栏:云深之无迹云深之无迹

昨天 ADI 发了一篇:

这个标题就让人云里雾里的
这个标题就让人云里雾里的

这个标题就让人云里雾里的

我找了一下

原文其实是这个
原文其实是这个

原文其实是这个

32bit 的 ADC 没几个,用起来更是头大,另外读者也私信我让我解读一下这篇文章;其实这个文章的难点在于要理解系统:

32 位 ADC 的极限 SNR,不只由 ADC 输入端噪声决定,还会被“基准电压噪声”限制:对 LTC2508-32 这种低噪声过采样 SAR ADC,即使用 LTC6655-5 这种低噪声基准,直接驱动 REF 引脚时,满量程 SNR 仍然会被基准噪声拖低;加入专门的基准滤波缓冲电路后,SNR 最多提升约 6.1 dB。

6655 也得 100 多了吧?(还是 200 多来着)

这是一台五位半万用表内部的 REF
这是一台五位半万用表内部的 REF

这是一台五位半万用表内部的 REF

为什么 ADC 的基准噪声会影响 SNR?

ADC 的本质输出可以粗略理解为:

所以 ADC 实际测的是:

输入电压参考电压

如果参考电压有噪声:

那么 ADC 输出就变成:

做小信号近似:

关键就在第二项:

参考噪声引起的输出噪声

这说明:

当输入接近 0 V 时:

基准噪声几乎不会反映到输出。

但当输入接近满量程时:

基准噪声几乎完整地反映到 ADC 输出代码中。

所以文章一开始说:动态范围 DR 在零标度测量时通常比满标度 SNR 高几个 dB;原因不是 ADC 本身突然变差,而是满标度时参考源噪声被“放大显现”了。

文章里用的 ADC:LTC2508-32

这可老猛了
这可老猛了

这可老猛了

ADC是:

它是一颗 32 位过采样 SAR ADC,内部带低通数字滤波器,降频采样因子 DF 可选:

DF 越大,相当于平均/滤波越强,输出带宽越低,噪声越小。

理论上,如果白噪声占主导,过采样降频因子每增加 4 倍,噪声带宽降低 4 倍,RMS 噪声降低 2 倍,于是动态范围提升:

文章表 1 里也确实看到,零标度动态范围 DR 随 DF 增大几乎每 4 倍提升约 6 dB:

这说明 ADC 本身和数字滤波器表现接近理论。

那为什么直接用 LTC6655-5 还不够?

文章使用的基准是:

这已经是很好的精密基准,典型噪声低、漂移低、初始精度高,文中给出的指标包括:

最大初始精度

但问题是:LTC2508-32 的 SNR 太高了;当 ADC 的 SNR 已经到 140 dB 级别时,哪怕基准源本身是“低噪声基准”,它的噪声也会成为瓶颈。

这篇文章本质上是在说:

对普通 16 位、18 位 ADC,基准噪声可能不是最主要矛盾;但对 24 位以上、尤其 32 位过采样 ADC,基准噪声会直接限制满标度 SNR。

为什么不能简单加一个大电容?(原文说的)

很多人第一反应是:基准有噪声,那我在基准输出端加大电容不就行了吗?文章明确说,这不是好的方法,原因有几个:

第一,单纯加大旁路电容,很难得到足够低的有效截止频率;如果要把低频噪声压下去,截止频率可能要低到 1 Hz 甚至更低。

仅靠基准输出阻抗和一个电容形成滤波,效果不够可控。

第二,直接用无源 RC 滤波会造成参考电压误差

比如串一个电阻,再接电容到地,理论上低通了,但 ADC 的 REF 引脚并不是一个完全静态的高阻输入;SAR ADC 在转换过程中会从 REF 引脚抽取动态电荷,电流大小随采样频率和输入代码变化。

如果在基准和 REF 之间串了电阻,那么 REF 引脚电流会在电阻上产生压降:

这个压降会随:

采样率

变化。

这样参考电压就不是稳定的 5 V 了,ADC 的增益也会随工作状态变化

第三,并联多个低噪声基准可以降低噪声,因为独立噪声源平均后:

但是这种方法成本高、功耗大、面积大,不适合多数设计;所以文章提出的方案是:

低频滤波高阻输入精密缓冲高速大电流输出缓冲

这个原理图真的风格统一
这个原理图真的风格统一

这个原理图真的风格统一

我还以为是哪个手册里面的图,没找到,那可能就是为这个文章设计的;它的信号链可以分成 4 段:

基准

一个专门为 低噪声 + 低漂移 + 驱动 ADC REF 动态电流 设计的复合缓冲系统。

R2 和 C3:形成 0.8 Hz 基准低通滤波器
R2 和 C3:形成 0.8 Hz 基准低通滤波器

R2 和 C3:形成 0.8 Hz 基准低通滤波器

文章中 R2 和 C3 组成低通滤波器:

截止频率为:

代入:

也就是文中说的约:

这个截止频率非常低,说明它主要压低的是基准的低频宽带噪声。

滤波器传递函数为:

频率越高,衰减越强:

当频率远大于 0.8 Hz 时,基准噪声会被明显衰减。

为什么 C3 要用薄膜电容?

薄膜是非常不错的电容
薄膜是非常不错的电容

薄膜是非常不错的电容

文章特别强调:

应该使用薄膜电容

不要随便用钽电容、电解电容、陶瓷电容;钽电容和电解电容有较大的漏电流。漏电流流过 R2 会产生额外压降:

如果漏电流是 100 nA,R2 是 10 kΩ,那么误差就是:

这已经接近 LTC6655-5 的初始精度量级了。

陶瓷电容的问题是 微音效应;(当然了,老工程师和耳背的也听不见)也就是机械振动、声波、PCB 应力会引起电容值或电荷变化,进而在低频产生噪声。对于普通电源去耦这可能不明显,但对于 140 dB 以上 SNR 的 ADC 参考源,这类低频噪声会变得可见。

所以这里选择薄膜电容,是为了获得:

低漏电

LTC2057 的作用:不是为了驱动大电容,而是为了低误差缓冲

这里明显是一个正向放大器,它的阻抗是按照+上面的电阻看的:

R2+C3 滤波节点不能直接驱动 ADC REF,因为它前面串了 10 kΩ,输出阻抗太高,所以要加缓冲器。

第一级缓冲采用:

作者是 LT 老员工了,上手就是东家的产品
作者是 LT 老员工了,上手就是东家的产品

作者是 LT 老员工了,上手就是东家的产品

它是零漂移运放,特点是:

文章还专门计算了输入偏置电流在 R2 上造成的误差:

再加上 LTC2057 最大失调:

总误差约:

而 LTC6655-5 的最大初始精度为:

比较一下:

所以这个缓冲器引入的 DC 误差相对于基准本身初始误差很小;滤波不能只看降噪,还要看它是否破坏 DC 精度和温漂。

LT6202 的作用:快速驱动 REF 引脚和 47 μF 电容

第二级运放是:

主要作用不是提供极致 DC 精度,而是提供:

低噪声

因为SAR ADC 的 REF 引脚不是静态负载;转换时内部电容阵列会不断从 REF 抽取电荷;抽取电荷量还会随输入代码变化;文章中明确说:

U1 的 REF 引脚会从 C1 抽取电荷,U4 必须补充这些电荷,使 REF 引脚电压保持固定。

所以 REF 驱动器要同时满足:

低输出阻抗(这个很简单,本身的特性)

这里的 C1 是:

它放在 ADC REF 引脚附近,作用类似一个本地电荷库;ADC 瞬间要电荷时,先从 C1 取;LT6202 再把 C1 补回来。

R5 为什么要串 2 Ω?

LT6202 输出到 C1/REF 之间有一个小电阻:

作用是隔离运放输出和大电容 C1,改善稳定性;当运放直接驱动大电容时,电容负载会引入额外相移,降低相位裕度,可能导致振铃甚至自激。

串一个小电阻后,运放看到的电容负载被“隔离”了一部分。这个电阻和电容还形成局部阻尼:

可以减少高频振荡风险。

但 R5 不能太大,否则 ADC REF 动态电流会在 R5 上产生瞬态压降:

所以我认为这里是一个折中:足够大以改善稳定性,足够小以保持 REF 低阻抗。(参数上面无所谓,几欧姆就行)

C1 为什么要用 1210、10 V、X7R 陶瓷电容?

这里是给 SAR ADC 供能的
这里是给 SAR ADC 供能的

这里是给 SAR ADC 供能的

建议 C1 使用:

这里的重点不是“陶瓷电容最好”,而是 C1 的任务和 C3 不一样;C3 是基准低频滤波电容,要求低漏电、低微音、低低频噪声,所以用薄膜。

C1 是 REF 引脚本地储能电容,主要任务是提供瞬态电荷,要求:

容量大

所以用陶瓷电容更合适。

这么大
这么大

这么大

但陶瓷电容有 DC bias 问题;标称 47 μF 的 X7R 电容,在 5 V 偏置下有效电容可能大幅下降;文章说电压和温度额定值较高、物理尺寸较大的陶瓷电容具有较低电压系数,因此建议用 1210 尺寸、10 V 额定电压的 X7R。(那我的图差不多对了)

不能只看:

还要看实际工作偏压下的:

俩OP其实是“复合放大器”

其实是两个环路
其实是两个环路

其实是两个环路

(有谁看不懂也不要问,可以去找杨建国老师的书去补补课)

U3 和 U4 组合起来,不是两个简单串联的缓冲器,而是形成一种复合放大器思想:

负责精度、低漂移、低噪声

单独用 LTC2057,问题是输出驱动能力、速度、驱动大电容能力不一定足够;单独用 LT6202,问题是 DC 失调、漂移、低频精度不如 LTC2057。

组合后就得到:

低失调低漂移低低频噪声快速驱动能力

精密低频性能高速驱动能力 分工处理

看回这个表
看回这个表

看回这个表

它比较了三种情况:

  1. ADC 输入短接,测零标度动态范围 DR;
  2. LTC6655-5 直接驱动 REF,测满量程 SNR;
  3. 滤波缓冲电路驱动 REF,测满量程 SNR。

数据如下:

DF

零标度 DR

直接基准满标度 SNR

滤波后满标度 SNR

改善

256

131.4 dB

123.6 dB

129.3 dB

5.7 dB

1024

137.1 dB

129.7 dB

135.8 dB

6.1 dB

4096

142.9 dB

135.2 dB

140.7 dB

5.5 dB

16384

148.0 dB

140.7 dB

145.2 dB

4.5 dB

可以看到,滤波后的 SNR 明显提高,最大提升:

6 dB 意味着噪声电压大约降低一半:

所以这不是小改善,而是非常明显的改善。(也就是文章的标题出处)

如果换算成 ENOB,约 6 dB 对应:

因为:

所以这篇文章的标题“增加 6 dB”本质上可以理解为: 在满标度条件下,参考滤波让有效分辨率接近增加 1 bit。

为什么 DF 越大,改善不完全一样?

表中改善量分别是:

不是固定 6 dB。

原因是系统总噪声由多部分组成:

基准滤波只能降低:

不能降低 ADC 本底噪声、输入驱动噪声、运放残余噪声、环境噪声等;当参考噪声占主要比例时,改善明显;当 ADC 本底或其他噪声开始占比较大时,继续滤参考的收益就下降。

这就是为什么最高 DF = 16384 时,改善量变成 4.5 dB,而不是 6.1 dB。

图 2 是噪声底曲线,图中条件为:

横轴到约 2 kHz,这和输出数据率有关:

Nyquist 频率约:

所以图中频率范围到约 2 kHz 是合理的。

图 2 的重点是:使用 LTC2057 这种斩波/零漂运放时,理论上可能在斩波频率及其奇次谐波出现杂散音调;但实际噪声底曲线没有看到明显 spur,说明该电路配合 ADC 数字滤波后,没有把斩波纹波变成明显杂散。(我的一种解释是应该还有,只是这频段没看见)

后记

作者其实想表达一个精密 ADC 参考源设计方法:

参考源本体引脚真正看到的参考

从基准芯片输出到 ADC REF 引脚之间,还有一整段模拟链路:

滤波

如果这段链路做不好,基准芯片再好也发挥不出来,另外也说明一个现象:

ADC 数据手册里的极限性能,往往不是“接一个好基准”就能达到,而是需要专门设计 REF 驱动网络。

这了总结一下尤其对于高分辨率 ADC,REF 引脚通常有两种需求:

一方面,它希望看到非常安静的低频参考:

低噪声、低漂移、低

另一方面,它又会在转换瞬间抽取动态电荷:

需要低阻抗、快恢复、大电流驱动

这两个需求天然矛盾。

低噪声滤波常常意味着高阻抗、大时间常数;而 ADC REF 驱动又要求低阻抗、快响应。

这篇文章的解决方式就是:

前面慢慢滤

也就是:

低频精密高速驱动

分开处理。

电路Tips

第一,R-C 滤波电阻不能太大;电阻越大,热噪声越大,偏置电流误差越大,漏电影响越大。这里用 10 kΩ 是一个折中。

第二,滤波电容要慎选;低频参考滤波节点不要随便用大容量 MLCC、电解或钽。薄膜电容虽然体积大,但在低频精密场景很合适。

第三,缓冲器输入偏置电流要极小,否则:

会直接变成参考误差。

第四,输出驱动器要能驱动 ADC REF 电容;很多低噪声精密运放并不适合直接驱动 47 μF 电容。

第五,输出串联隔离电阻和电容要按稳定性验证;不能盲目照抄 2 Ω、47 μF。不同 ADC、不同运放、不同电容 ESR/ESL,稳定性都可能变化。(听我的,就串几个电阻就行,没有那么讲究的)

代码语言:javascript
复制
https://www.analog.com/cn/resources/technical-articles/reference-filter-increases-32-bit-adc-snr-by-6db.html

非常好的文章,果然是 LT;这篇文章多家媒体也转载过,不过都是原文的 copy,没有搞出风采。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么 ADC 的基准噪声会影响 SNR?
  • 文章里用的 ADC:LTC2508-32
  • 那为什么直接用 LTC6655-5 还不够?
  • 为什么不能简单加一个大电容?(原文说的)
  • 为什么 C3 要用薄膜电容?
  • LTC2057 的作用:不是为了驱动大电容,而是为了低误差缓冲
  • LT6202 的作用:快速驱动 REF 引脚和 47 μF 电容
  • R5 为什么要串 2 Ω?
  • C1 为什么要用 1210、10 V、X7R 陶瓷电容?
  • 俩OP其实是“复合放大器”
  • 为什么 DF 越大,改善不完全一样?
  • 后记
    • 电路Tips
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档