4、抖动分解的基本框架

你有没有想过,一个信号里的抖动,其实可以像剥洋葱一样,一层层拆开来看?

我过去给一个高速ADC做测试,总抖动测出来很大,但始终找不到根因。后来才意识到,我根本没把抖动拆开看。今天我们就聊聊这个“拆”的框架。

4.1 总抖动的拆解

总抖动 (TJ),说白了就是所有抖动来源叠加之后的结果。按照行业惯例,我们一般把它分成两大块:

  • 随机抖动 (RJ) —— 无界、服从高斯分布。
  • 确定性抖动 (DJ) —— 有界、可重复、有规律可循。

DJ 里边还能再细分。我个人习惯这么分:

类型 缩写 典型来源
数据相关抖动DDJ码间干扰、传输线损耗
周期相关抖动PJ电源噪声、时钟串扰
占空比失真DCD上升/下降时间不对称
不相关有界抖动BUJ邻近通道耦合

你想想看,RJ 是随机游走的,DJ 是有迹可循的。正是这个差异,给了我们分离它们的可能。

4.2 分解的数学基础

抖动的数学本质是概率密度函数 (PDF) 的卷积。嗯,这里要注意:

h_TJ(t) = h_RJ(t) * h_DJ(t)

其中 h 代表各分量的 PDF。我们在示波器上看到的总抖动直方图,就是 RJ 的钟形曲线和 DJ 的双峰(或更复杂)分布卷积出来的结果。

数学上分离它们,常见三条路:

  1. 矩估计法:利用峰度和偏度直接计算 RJ 方差。
  2. 频谱分析法:在频域看 PSD,抽掉 PJ 的谱线。
  3. 直方图拟合法:用双狄拉克模型拟合 TJ 双尾,倒推 DJ。

核心公式(双狄拉克模型):

TJ(BER) ≈ DJ + 2 × Q(BER) × RJ,其中 Q 是逆误差函数。

这个公式一出来,你就知道为什么高频数字测试要测那么多眼图了——不拟合尾部,根本算不出 TJ。

4.3 基本假设

既然是模型,必然有假设。我记得有次团队讨论得特别激烈,就是因为有人忽略了下面这些前提:

常用技巧:

我建议在做 PJ 分离之前,先用频谱分析看看有没有明显的单频尖峰。如果电源纹波 50MHz 对应的谱线太突出,那先用滤波器掐掉它,再做分解,结果会干净很多。

三个最关键的假设:

  • RJ 是严格高斯分布 —— 如果有非高斯尾部(比如闪烁噪声),模型会低估。
  • DJ 是有界的 —— 稳态双峰假设,非周期抖动冲击不适用。
  • 各分量统计独立 —— 实际上 RJ 和 PJ 可能存在交互,比如热噪声调制时钟频率。

常见陷阱:

我曾经在一个案例中,忽略了 RJ 的非高斯尾部。结果算出来的 TJ 偏小 30%,导致系统误码率阈值得到了错误结论。一句话:模型再漂亮,也别忘了回头看一眼原始数据。

——————

当然,你还可以选用密度图、瀑布图等视觉工具交叉验证。但核心始终不变:理解 TJ 的组成,选对数学工具,并时刻问自己:“我的假设站得住脚吗?”

抖动分解框架图 总抖动 TJ 随机抖动 RJ 确定性抖动 DJ 无界 · 高斯分布 典型来源:热噪声、散粒噪声 有界 · 可重复 典型来源:串扰、电源纹波 PJ DDJ DCD BUJ 分解数学基础与假设 核心:h_TJ(t) = h_RJ(t) * h_DJ(t) 关键假设:RJ 严格高斯 · DJ 有界 · 各分量统计独立 常用方法:矩估计法 · 频谱分析法 · 直方图拟合法

一句话总结:总抖动是一个多层次叠加问题。你只有拆出了 RJ 的尾巴,才能真正确定信道的误码率边界。而这一切,从接受“高斯假设”开始,到质疑“高斯假设”结束。