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 在其中的位置。
这张图的核心逻辑很简单:先用示波器看噪声的时域特征,再用频谱仪定位噪声的频率来源,最后用 SNR 和 ENOB 量化噪声对系统性能的影响。三步走,缺一不可。
总结一下:
- 示波器适合看噪声的幅度和波形特征,但频率分辨率有限。
- 频谱分析仪适合看噪声的频率分布,能精确定位干扰源。
- SNR 衡量信号与噪声的功率比,ENOB 反映 ADC 的真实有效位数。
- 实测 ENOB 往往低于标称值,一定要以实测为准。