2. 噪声的时域与频域表征:示波器看噪声、频谱分析仪看噪声、信噪比(SNR)与有效位数(ENOB)的计算

噪声这东西,看不见摸不着,但它在电路里真实存在。你想想看,一个干净的信号进了系统,出来时多了些毛刺、底噪抬高了,这就是噪声在作怪。要对付它,首先得知道它长什么样。

我个人习惯把噪声的表征分成两个维度:时域和频域。时域告诉你噪声有多大、什么时候出现;频域告诉你噪声在哪些频率上活跃。两者缺一不可。

核心观点:时域看幅度,频域看分布。只看一个维度,就像盲人摸象。

2.1 示波器看噪声:时域的第一印象

示波器是排查噪声最直接的武器。把探头点到测试点,调开余晖模式,你就能看到信号的真实抖动和毛刺。

我在项目中遇到过一件事:一块 ADC 采集板,输出数据总是不稳定。用示波器一看,电源轨上有个 50mV 的纹波,频率正好是开关电源的切换频率。嗯,这就是典型的传导噪声。

示波器看噪声,主要关注这几个参数:

  • 峰峰值(Vpp):噪声的最大摆动范围。这个值决定了你的信号会不会被淹没。
  • 均方根值(Vrms):噪声的有效能量。对于高斯白噪声,Vrms ≈ Vpp / 6.6。
  • 余晖模式(Persistence):打开它,能看到噪声的统计分布,哪些幅度出现频率高。

小技巧:测量噪声时,记得把探头的地线夹尽量缩短。长地线会引入额外的环路天线效应,测出来的噪声比实际大。我习惯用探头自带的弹簧地,效果很好。

但示波器有个短板——它很难告诉你噪声的来源频率。比如一个 100kHz 的纹波和一个 1MHz 的纹波,在时域上看起来可能差不多,但处理方式完全不同。这时候就需要频谱分析仪出场了。

2.2 频谱分析仪看噪声:频域的精确诊断

频谱分析仪把信号从时域变换到频域,横轴是频率,纵轴是幅度。你能一眼看出噪声集中在哪个频段。

举个例子,我曾经排查一个射频接收机的灵敏度问题。用频谱仪一看,在 2.4GHz 附近有个尖峰,正好是 WiFi 频段。这就是外部干扰耦合进来的。换成示波器,你根本看不出这个细节。

频谱分析仪看噪声,重点关注:

  • 噪声基底(Noise Floor):系统本底噪声水平。如果噪声基底太高,小信号就会被淹没。
  • 离散尖峰(Spurs):特定频率上的干扰,通常是时钟谐波、开关频率或其倍频。
  • 相位噪声(Phase Noise):靠近载波的噪声,影响时钟的抖动性能。
仪器 优势 劣势 典型应用场景
示波器 直观看到波形形状、毛刺、过冲 频率分辨率低,难以识别微弱干扰 电源纹波、数字信号完整性、瞬态噪声
频谱分析仪 高频率分辨率,能识别微弱干扰源 无法直接看到波形形状 EMI 排查、时钟谐波、射频干扰

注意:频谱分析仪的输入功率有限制。我曾经见过有人直接把 5V 电源接到频谱仪上,结果前端混频器直接烧了。测量前一定要估算信号功率,必要时加衰减器。

2.3 信噪比(SNR)与有效位数(ENOB)的计算

有了时域和频域的测量数据,下一步就是量化噪声对系统性能的影响。两个最关键的指标:信噪比(SNR)和有效位数(ENOB)。

2.3.1 信噪比(SNR)

SNR 就是信号功率与噪声功率的比值,单位是 dB。公式很简单:

SNR (dB) = 10 * log10(Psignal / Pnoise)

如果信号和噪声的幅度单位是 Vrms,公式变成:

SNR (dB) = 20 * log10(Vsignal_rms / Vnoise_rms)

举个例子,一个 ADC 的满量程输入是 2Vpp,测得的噪声 Vrms 是 100μV。那么:

Vsignal_rms = 2Vpp / (2 * √2) ≈ 0.707V
SNR = 20 * log10(0.707 / 0.0001) ≈ 77 dB

77dB 的 SNR,对于 12 位 ADC 来说算不错了。但如果是 16 位 ADC,这个值就偏低。

避坑指南:我曾经在测试 SNR 时犯过一个错误——没有滤除信号本身的谐波。ADC 的非线性会产生谐波失真,这些谐波应该算在 THD 里,而不是 SNR 里。正确的做法是用 FFT 分析,只取噪声频段的功率,排除信号基波和谐波。

2.3.2 有效位数(ENOB)

ENOB 是 ADC 在实际工作条件下的真实分辨率。理论上一个 N 位 ADC 的 SNR 是 6.02N + 1.76 dB。但实际器件有噪声、失真、抖动,所以真实分辨率会下降。

ENOB 的计算公式:

ENOB = (SINAD - 1.76) / 6.02

其中 SINAD 是信纳比,包含了噪声和失真。SINAD 可以从 FFT 测量中得到:

SINAD (dB) = 10 * log10(Psignal / (Pnoise + Pdistortion))

举个例子,一个 16 位 ADC 标称 SNR 是 85dB,但实际测得的 SINAD 只有 78dB。那么:

ENOB = (78 - 1.76) / 6.02 ≈ 12.7 位

你看,标称 16 位,实际只有 12.7 位。这就是为什么我总说:不要只看 datasheet 上的理论值,一定要实测 ENOB。

理论位数 理想 SNR (dB) 实测 SINAD (dB) 实际 ENOB 损失位数
12 74.0 68.0 11.0 1.0
14 86.0 78.5 12.7 1.3
16 98.1 85.0 13.8 2.2

重要提醒:ENOB 会随输入信号频率变化。高频信号下,ADC 的采样抖动和带宽限制会导致 ENOB 急剧下降。所以测试 ENOB 时,一定要注明输入信号的频率和幅度。

2.4 时域与频域的关系:一张图看懂

下面这张图展示了噪声从时域到频域的映射关系,以及 SNR 和 ENOB 在其中的位置。

噪声表征:时域 → 频域 → 量化指标 时域测量 示波器 频域测量 频谱分析仪 时域参数 • Vpp(峰峰值) • Vrms(均方根值) • 余晖模式分布 频域参数 • 噪声基底 • 离散尖峰 • 相位噪声 量化指标 SNR = 20·log(Vsignal / Vnoise) ENOB = (SINAD - 1.76) / 6.02 FFT 变换 时域和频域是同一枚硬币的两面。示波器看幅度,频谱仪看频率,SNR/ENOB 量化性能。

这张图的核心逻辑很简单:先用示波器看噪声的时域特征,再用频谱仪定位噪声的频率来源,最后用 SNR 和 ENOB 量化噪声对系统性能的影响。三步走,缺一不可。

总结一下:

  • 示波器适合看噪声的幅度和波形特征,但频率分辨率有限。
  • 频谱分析仪适合看噪声的频率分布,能精确定位干扰源。
  • SNR 衡量信号与噪声的功率比,ENOB 反映 ADC 的真实有效位数。
  • 实测 ENOB 往往低于标称值,一定要以实测为准。