2. 时间同步基础
在多传感器时间同步系统中,所有算法与工程实现最终都围绕一组基础术语展开:时钟、时间戳、时延、抖动、漂移与偏移。这些概念看似简单,但在实际系统中经常被混用,导致同步方案设计错误。本节从物理含义、数学关系与工程表现三个层面逐一厘清,并给出它们之间的因果链路。
一、核心原理:从物理时钟到逻辑时间
时钟是产生时间刻度的物理装置,通常由晶振或原子钟驱动计数器。理想时钟满足 t(t)=t,即真实时间与本地读数完全一致。但真实时钟存在两类误差:一是初始时刻不一致,称为偏移(Offset);二是频率不精确,称为漂移(Skew/Drift)。若以 C(t) 表示本地时钟读数,则一般模型为:
C(t) = (1 + ρ)·t + θ + ε(t)
ρ : 频率偏差(漂移率,ppm 级)
θ : 初始相位偏移(Offset)
ε(t): 随机噪声,表现为抖动
时间戳是事件发生时对本地时钟的一次采样,是同步系统的最小数据单元。时间戳的质量取决于采样点是否靠近事件真实发生时刻。例如相机曝光时刻、IMU 采样中断、LiDAR 帧起始脉冲,都是典型的时间戳锚点。
时延是信号或数据从发送端到接收端所经历的时间,包括传输时延、处理时延、排队时延与协议栈时延。时延本身不一定破坏同步,但时延的不对称性会直接转化为偏移误差。
抖动是同一路径上多次测量时延的随机波动,通常用标准差或峰峰值描述。抖动决定同步精度的下限,即使平均时延被完全补偿,抖动仍会残留为时间误差。
二、术语之间的因果链路
这六个术语并非并列关系,而是一条清晰的因果链:时钟的物理缺陷产生漂移与偏移;时间戳把连续时间离散化;时延把发送时刻与接收时刻分离;抖动让时延不可完全预测。下图给出它们在同一时间轴上的关系。
三、方法流程:如何用这些术语定位同步问题
面对一个同步精度不达标的系统,建议按以下顺序排查,每一步都对应一个明确术语:
- 先看偏移:静态偏差大,说明初始对齐或时延补偿有系统性错误。
- 再看漂移:误差随时间线性增长,说明晶振频率未估计或补偿周期过长。
- 再看抖动:误差随机跳动且无趋势,说明网络或中断抖动过大。
- 最后看时间戳:以上都正常但仍有固定小误差,往往是时间戳采样点偏离事件真实时刻。
四、案例与场景:相机—IMU 同步中的术语落地
以视觉惯性系统为例:相机以 30 Hz 曝光,IMU 以 200 Hz 采样。若两者各自使用本地时钟打时间戳,则会出现:
- 偏移:相机时间戳整体比 IMU 早 8 ms,融合时特征与惯性数据错位。
- 漂移:运行 10 分钟后,两时钟相差从 8 ms 扩大到 25 ms,标定参数失效。
- 抖动:USB 传输时延在 1~4 ms 波动,导致每帧时间戳不确定。
- 时延:曝光触发到时间戳写入存在固定 2 ms 处理延迟,需在模型中补偿。
对应的参数记录格式可设计为:
sensor_id : cam0
local_ts : 1723456789.123456 # 本地时钟读数
offset : -0.008000 # 相对主时钟偏移(s)
skew : 12.5 # 漂移率(ppm)
jitter : 0.001200 # 抖动标准差(s)
latency : 0.002000 # 固定处理时延(s)
五、常见误区与复盘
| 误区 | 正确理解 | 后果 |
|---|---|---|
| 把偏移和漂移混为一谈 | 偏移是常数项,漂移是斜率项 | 只做一次性对齐,长期误差持续增大 |
| 认为时延可完全消除 | 只能补偿确定性部分,抖动不可消除 | 过度追求零时延,忽略抖动预算 |
| 时间戳取软件读取时刻 | 应尽量靠近硬件事件触发点 | 引入不可预测的软件调度误差 |
| 用平均时延代替对称时延 | 往返路径不对称会直接变成偏移 | 同步结果出现固定偏差 |
复盘时建议把每次同步误差分解为上述五项,并分别记录量级。只有把“偏移、漂移、抖动、时延、时间戳”作为独立可观测项管理,多传感器时间同步系统才具备可调试性与可重复性。