1、抖动基础:抖动定义、单位(UI、ps)、概率密度函数

1.1 到底什么是抖动?

讲抖动之前,我们先聊聊一个基本问题:什么是抖动?

说白了,就是数字信号在时间轴上的「晃动」。理想情况下,时钟的每个上升沿都应该精确地落在同一个时间点上。但现实世界中,没有器件是完美的,噪声、串扰、电源波动都会让这个边沿「早到」或「晚到」。这个偏差,就是抖动。

我记得刚做高速串行链路时,被抖动折腾得够戗。一根 10Gbps 的通道,眼图怎么看都是闭的。后来查了半天,发现是隔壁电源模块的开关噪声耦合进来了。嗯,那时候我才深刻体会到:抖动不是玄学,是实实在在的物理现象。

核心定义:抖动是信号重要定时事件(如时钟上升沿)相对于其理想时间位置的偏移。单位通常是秒(s)或皮秒(ps),但在数字系统中,我们更常用「UI」来衡量。

1.2 抖动的度量:UI 与 ps

你可能会问:既然抖动是时间偏差,直接拿皮秒量不就行了?为什么还要搞个 UI 出来?

原因很简单:不同速率的系统,同样的皮秒抖动,影响完全不同。举个例子,一个 1Gbps 的链路,UI 是 1000ps,50ps 的抖动只占到 5%;但到了 25Gbps,UI 只有 40ps,同样的 50ps 抖动就把整个眼图给吃掉了。所以,小伙伴们,用 UI 来衡量抖动,能直接反映抖动的「相对破坏力」。

单位 含义 适用场景
UI(Unit Interval) 一个比特周期的时间宽度 归一化对比不同速率系统
ps(皮秒) 时间偏差 器件级测试、串扰评估

我个人习惯:做系统级仿真时用 UI,因为可以直观看出抖动占了多大比例的眼宽;调试具体板子时用 ps,因为示波器上读出来的就是皮秒数。两者换算很简单:抖动(UI) = 抖动(ps) / 单位间隔(ps)。

1.3 概率密度函数:抖动长什么样?

抖动不是固定值,它是一堆样本点的集合。我们怎么描述它?概率密度函数(PDF)就是干这个的。

想象一下,你抓了 10 万个时钟边沿的到达时间,画成直方图。如果光源是热噪声主导,你会看到一个高斯分布;如果是串扰主导,这里就有文章了,可能是双峰,甚至带尾巴的分布。

  • 高斯抖动(Random Jitter, RJ):来自热噪声、散粒噪声,无界,尾概率大。
  • 确定性抖动(Deterministic Jitter, DJ):来自串扰、占空比失真、码间干扰(ISI),有界,PDF 呈多峰。
  • 总抖动(Total Jitter, TJ):RJ 和 DJ 的卷积结果,对应眼图闭合的拐点。

举个我亲身踩过的坑。有一次做 16Gbps 背板测试,眼图挺开,但误码率死活过不了 1e-12。我最初以为是芯片有问题,花了两周排查。后来把抖动的 PDF 分解出来一看,好家伙,RJ 的 sigma 只有 0.8ps,但 DJ 里有一个很大的串扰分量。为什么?因为相邻通道没做隔离。我当时要是早点做 PDF 分解,能省下两周的 debug 时间。

避坑指南:千万别以为 PDF 是高斯分布就万事大吉。20Gbps 以上的链路,DJ 往往会占主导。只看 RJ 会严重低估总抖动。

1.4 知识体系一览

下面的图能让你快速看清本章的核心逻辑:从抖动的物理定义出发,到单位选择,再到 PDF 统计,最终指向误码率分析。这也是整门课的一条暗线。

抖动基础知识体系 抖动定义 抖动基础 单位:UI 与 ps 概率密度函数 (PDF) 随机抖动 RJ 确定性抖动 DJ 总抖动 TJ = RJ ⊗ DJ 关键概念 • PDF 是时域抖动的统计描述 • UI 归一化,ps 量 • RJ 无界,高斯分布 • DJ 有界,多峰分布 • TJ 从此通向 BER 浴盆曲线

1.5 为什么 PDF 对高速设计如此重要?

你可能会想:我直接看眼图不行吗?为什么非要折腾 PDF?

行,但不够。眼图只能看到一定时间窗口内的闭合程度,对于 1e-12 甚至 1e-15 量级的误码率,眼图根本无法直接告诉你。而 PDF,特别是它的尾概率,决定了极低误码率下的抖动边界。

我记得有一次做 PCIe Gen5 的合规测试,规格书上要求 BER 低于 1e-12。我在示波器上看眼图,觉得还不错,结果一跑抖动分解,RJ 的 tail 部分已经碰到了接收端的判决门限。如果只看眼图,根本不会注意到这个小尾巴。嗯,这就是为什么我们要学 PDF。

一个小技巧:在测量总抖动时,记得把数据长度设得足够大。至少要有 100 万个 UI 以上,否则 PDF 的尾巴会被截断,算出来的 TJ 会偏小。

1.6 从 PDF 到 BER:埋个伏笔

抖动 PDF 告诉我们的是「边沿可能落在哪里」。而误码率(BER)问的是:「这个边沿落在判决区域之外的概率有多大」?两者之间只差一个积分。后面我们会详细讲,如何从 PDF 推导出 BER 浴盆曲线,以及如何从浴盆曲线反推出各个抖动分量。这,就是整门课的核心思路。