时隙授时
slot-timing场景类型针对一台在两次同步之间自由运行、并必须使业务保持在时间索引时隙之内的时钟回答三个问题:时隙可以是路由、任务或接触时隙,其保护间隔是该时隙仍能工作时、任一侧所允许的最大绝对时间误差。
- 保护间隔何时被突破?自上次校准起,到预测时间误差达到保护间隔所经过的秒数,列出每个构成项并指出占主导的一项。
- 现在还剩多少时间?同一数值减去自校准以来已经过去的时间。
- 时钟多久必须校准一次?使误差保持在保护间隔之内的最大校准间隔,已扣除校准生效之前的延迟。
一个可选的spoofing段,为在轨接收机加入授时保护级(TPL);参见对在轨接收机的欺骗干扰。
用kshana example slot-timing-ocxo-leo运行自带示例。
缩略语:GNSS,全球导航卫星系统;TCXO,温度补偿晶体振荡器;OCXO,恒温晶体振荡器;RAFS,铷原子频率标准;CSAC,芯片级原子钟;USO,超稳定振荡器;DSAC,深空原子钟;ADEV,阿伦偏差;FM,调频(此处指时钟频率上的噪声);PM,调相(其相位上的噪声);IEEE,电气电子工程师学会;ITU-T,国际电信联盟电信标准化部门;TIE,时间间隔误差;MTIE,最大时间间隔误差;TDEV,时间偏差;max|TE|,最大绝对时间误差;CUSUM,累积和变化检测器;TPL,授时保护级;LEO,近地轨道;NIST SP,美国国家标准与技术研究院特刊;UFFC,Ultrasonics, Ferroelectrics, and Frequency Control(IEEE Transactions期刊);IGS,国际GNSS服务;GPS,全球定位系统;Block IIF,GPS Block II Follow-on卫星;SHA-256,256位安全散列算法;PPS,秒脉冲。
误差模型#
自校准起守时滑行t秒之后的预测时间误差为
E(t) = k·√(σ₀² + (σ_f·t)² + σ_x²(t)) + (|y₀| + |c_T·ΔT|)·t + ½·|D|·t²
σ_x²(t) = σ_PM² + q_wf·t + h_F·t² + q_rw·t³/3 + q_rr·t⁵/20
| 符号 | 含义 |
|---|---|
k |
覆盖因子(3约对应高斯误差的99.7 %) |
σ₀ |
校准时刻的一倍标准差时间误差 |
σ_f |
校准时刻所知频率的一倍标准差误差;在窗口W上估计出的频率约带有σ_y(W) |
σ_PM² |
白相位噪声方差:时间误差的抖动,为恒定的下限 |
q_wf, q_rw, q_rr |
白噪声、随机游走和随机漂移调频密度(holdover::coast_phase_variance中的van Loan项) |
h_F |
阿伦方差的闪烁调频下限 |
y₀ |
校准之后残留的相对频率偏差 |
c_T·ΔT |
温度变化ΔT经温度系数c_T产生的频率偏差 |
D |
线性老化率 |
每个调频项对其自身噪声类型等于t²·σ_y²(t),其中σ_y²(τ) = 3σ_PM²/τ² + q_wf/τ + h_F + q_rw·τ/3 + q_rr·τ³/20(Zucca和Tavella,IEEE Trans. UFFC 52(2),2005)。对于白噪声、随机游走和随机漂移调频,该关系是精确的。对于闪烁调频,它是时间预测误差的常规估计(Riley,NIST SP 1065):没有低频截止时,闪烁调频不存在闭式解。各频率偏差因符号未知而按幅值相加,因此确定性部分是最坏情形。每一项都非负,并且在t上不递减,所以E(t) = guard只有一个根,用括号法和二分法求得。
时钟的来源#
| 来源 | 场景键 | 它是什么 | 层级 |
|---|---|---|---|
| 类别默认值 | oscillator.class |
一个有出处的一秒ADEV,以及在其下方两个和四个数量级处合成的红噪声下限 | MODELLED:稳定时钟的答案由假设的下限决定 |
| 数据手册预设 | oscillator.preset |
电信授时预设(ocxo、rubidium、caesium、csac),每个都取自一份指名的Microchip数据手册 |
MODELLED:数据手册最大值的包络 |
| 内联数据手册 | oscillator.datasheet |
客户自己的ADEV表、老化率和温度系数 | MODELLED:所给最大值的包络 |
| 实测记录 | oscillator.record |
一份相位记录;其重叠ADEV以加权最小二乘拟合 | 反演已在一份留出的真实记录上VALIDATED(见下) |
0.28.0中新增的三个类别各引用一份公开数据手册:
| 类别 | 一秒ADEV | 来源 |
|---|---|---|
tcxo |
2.0e-10 | EndRun Technologies,Disciplined Oscillator Options,基本TCXO列 |
ocxo |
5e-12 | Microchip OX-208数据手册,Rev 12-1-2021 |
rafs |
3e-11 | Microchip 8040C Rubidium Frequency Standard数据手册,DS00003047A |
EndRun的长平均时间各行在该表中趋于一致(除TCXO的8e-13之外,所有振荡器在10,000 s处均为4e-13,在100,000 s处全部为6e-14),这表明它们描述的是经驯服的产品,而不是自由运行的振荡器,因此不予采用。
记录拟合是加权的。具有edf等效自由度的阿伦方差估计,其方差约为2σ⁴/edf,因此每个点以残差√(edf/2)·(model/σ² − 1)进入拟合。不加权的拟合会让短平均时间决定长平均时间项:在一份白噪声调频测试记录上,它产生了一个虚假的闪烁下限,使一次2,000 s的突破缩短了30 %。数据手册或记录只支持不超过其最长点的平均时间;超出该范围的突破会被标记为extrapolated。
验证:在留出的真实时钟上的反演#
tests/slot_timing_cs5071a_holdout.rs使用一台5071A铯标准相对氢原子钟测得的556 990个采样的记录(A. Wallin,随allantools分发;即估计器参考基准tests/cs5071a_reference.rs所用的同一份记录)。以氢原子钟为参考,该记录是一次6.4天的自由运行。
- 仅在记录的前三分之一上拟合噪声模型。
- 据该模型预测一倍标准差时间误差达到0.5、0.75、1、1.5、2和2.5 ns时的守时滑行时间。
- 在其余三分之二上,每隔997 s从一个同步点开始守时滑行,频率取自前三分之一上的估计,并测量均方根滑行误差何时达到各个阈值。
通过判据在测试首次运行之前即已固定:每个预测的突破时间都在实测值的1.5倍以内。作为对照,把一秒ADEV当作白噪声调频处理,必须无法达到该判据,这样判据才能区分好模型和坏模型。测试会打印其表格;把白噪声调频水平减半的变异会使其失败。原始记录是被git忽略的第三方数据:scripts/fetch_cs5071a.sh负责获取它,realdata-clock工作流以KSHANA_REQUIRE_REALDATA=1运行该测试,因此文件缺失会在那里导致失败,而不是被跳过。
本验证所涵盖的:先拟合后反演的路径,对象为以白噪声调频为主的原子标准,守时滑行最长约50,000 s。其未涵盖的:数据手册和类别来源、确定性项,以及晶体振荡器(见下一节)。
同一预测用于真实晶体振荡器:偏保守,未经独立核验#
tests/slot_timing_ocxo_holdout.rs使用一台实测OCXO:HP阻抗分析仪中10 MHz振荡器相对氢原子钟的19,982个一秒频率读数(A. Wallin,2015,随allantools分发;scripts/fetch_ocxo.sh)。噪声模型和线性漂移在前三分之一上拟合;其余三分之二上的每次守时滑行,都从在前面100 s上估计出的频率开始,并且模型带有该估计的不确定度(fix_frequency_sigma,即模型自身在100 s处的阿伦偏差)。
| 拟合所用 | 预测突破时间 ÷ 实测突破时间,0.2至10 ns | 解读 |
|---|---|---|
| 前三分之一(留出) | 0.59至0.70 | 偏保守:从不晚于实测,大多落在1.5判据之外 |
| 评估段本身(诊断用) | 0.98至1.17 | 反演本身是对的;留出数据上的差距来自振荡器自身的变化 |
振荡器的噪声下限在记录期间减半:前三分之一的阿伦偏差在7.5e-12附近趋平,其余部分在3.5e-12附近。早期拟合的模型会高估噪声,这是偏安全的方向。因此晶体情形未经独立核验,仍为MODELLED。对于晶体,应在稳定下来的记录上拟合,并随器件老化重新拟合。
协议是如何选定的,之所以说明,是因为它并非盲测。最初的一次探索性运行沿用了铯的协议(频率取自前三分之一,不含频率项),预测的突破时间比实测晚1.4至2.5倍:偏乐观,是危险的方向。晶体的频率会漂移,因此数小时之前估计的频率在校准时已经过时,而模型中没有项来表示校准时刻对频率的已知程度。fix_frequency_sigma项正是为此加入的,并且该协议在测试编写之前就已固定;通过判据没有被移动。测试还检查:没有该项时,样本内预测在每个阈值上都偏乐观,因此该项是承重的。
同一预测用于在轨原子钟:10颗中的8颗,未经独立核验#
tests/slot_timing_igs_holdout.rs使用30 s间隔的IGS最终组合钟差,时长14天(2025年8月17日至30日;scripts/fetch_igs_clocks.sh,每个文件均以SHA-256固定):将每颗GPS Block IIF卫星的钟与IGS时标比较。协议(卫星集合、缺口规则、拟合窗口、每隔3,570 s一次同步且频率取自前一小时、1至20 ns的阈值、1.5判据,以及只有每颗卫星都通过该类别才算通过的规则)在下载任何数据之前就已写定。
| 卫星数 | 预测突破时间 ÷ 实测突破时间 | 结论 |
|---|---|---|
| G06、G08、G09、G10、G24、G26、G27、G32 | 0.76至1.46 | 在判据之内 |
| G25 | 1.51至1.99 | 偏乐观 |
| G30 | 1.20至1.61 | 偏乐观 |
| G03 | 未评估 | 因缺口规则被排除(缺少一天) |
十颗中有八颗是有用的证据,但有两颗卫星被预测的守时时间长于实际,这是危险的方向,而协议要求每颗卫星都通过。因此在轨情形仍为MODELLED。Block IIF卫星同时搭载铷钟和铯钟,而IGS文件没有说明哪一台在工作,所以结果是针对这些卫星陈述的,而不是针对某一种时钟类型。G25和G30为何不同,尚未调查。
针对飞行代表性器件的bench运行(已界定范围,尚未完成)#
公开的OCXO记录长5.5小时,来自一台实验室仪器,且振荡器仍在稳定过程中。要独立核验晶体情形,需要对飞行代表性OCXO或CSAC相对某一参考做更长时间的实测自由运行:
- 用时间间隔计数器,将振荡器的1 PPS与经GNSS驯服的参考或氢原子钟参考比较,至少10天,每秒一个采样,并记录温度;
- 同一留出协议:在前三分之一上拟合,预测突破时间,在其余部分上测量,判据与对照相同;
- 记录及其哈希与测试一并发布,使该行可复现。
它受限于能否获得参考硬件,并不作承诺。
应当依据哪种漂移指标来接受一个时隙?#
授时标准提供三类指标。对于时间索引时隙,其中只有一类衡量的是会使时隙失效的那个量。
- MTIE(ITU-T G.810)是任意给定长度窗口内峰峰TIE的最大值。它对恒定偏差视而不见:一台偏差1 µs但完全稳定的时钟,其MTIE接近于零,却会错过每一个时隙。它衡量的是误差变化了多少,而不是误差在哪里。
- TDEV(ITU-T G.810)由平均相位的二阶差分构成。它消除恒定偏差和恒定频率误差,而这恰恰是主导守时滑行的项。它刻画噪声类型;不是绝对授时的验收指标。
- max|TE|(ITU-T G.8260;G.8271的预算指标)是相对参考时标的最大绝对时间误差。它可以直接与保护间隔比较。
结论。应依据相对网络参考时标的max|TE| 来接受时隙,并以自上次校准起、在所述覆盖因子下的预测包络来评估。E(t)正是如此:由于每一项都随t增长,长度为T的守时滑行内的最大值就是E(T)。MTIE和TDEV仍可用作诊断:TDEV用来找出应针对哪一个噪声项,MTIE(L) 用来界定在长度为L的时隙内误差的移动量。
指标选择所隐含的两点细化:
- 保护间隔适用于两个节点之间的相对误差。若发射端和接收端都独立守时滑行,它们的随机误差按平方和方式叠加,确定性误差则按幅值相加。当随机部分占主导时,可给每个节点分配
guard/√2;当老化或温度占主导时,则分配guard/2。 - 覆盖因子是一种设计选择,而不是时钟的属性。
k = 3约覆盖某一时刻99.7 % 的高斯误差,而不是一天内的每一个时隙;一天中有许多时隙的路由方案,需要确定它所能容忍的每时隙风险。
对在轨接收机的欺骗干扰#
spoofing段为同一时钟评估orbital_timing::orbital_timing:
- 几何。地面欺骗源只有在LEO卫星位于其地平线以上时才能触及它:在550 km高度,每次过顶最多约十二分钟。因此以速率
ρ斜坡拉偏的欺骗源,最多能把时钟拉偏ρ乘以该窗口,若距下一次独立检查的间隔更短,则乘以该间隔(ramp_limited_pull_ns)。 - 动力学。共模时间拉偏会使每个伪距同等偏移,并被吸收进钟差而不是位置,因此轨道传播器的位置检查不能算作授时交叉检验。
- 交叉检验。卫星很少有第二台独立的授时接收机。它有自己时钟的守时滑行(
tpl的监测器)、接触期间与地面站的双向时间传递,以及星间链路上的时间比对。只有当邻星在同一时刻位于该欺骗源的覆盖范围之外时,星间链路才独立于一台地面欺骗源,报告据每个轨道面的卫星数对此进行检查。 - 条件界限。监测下限加上时钟在CUSUM检测延迟内的守时滑行;当时钟没有闪烁项、白相位项或随机漂移项时,它恰好化简为
tpl::timing_protection_level_ns。与该界限一样,它只在检测成立的前提下才成立。
以上全部为MODELLED:球形、不自转的地球,一次过顶,一台具有声明最大斜坡速率的地面欺骗源。信号到达指向天顶的天线的方向,是一项真实的交叉检验,需要天线方向图,且未建模。DECEIVED-TIME.md说明了为什么带签名的控制消息并不能消除这一威胁。
未建模#
频率跳变、辐射效应和相对论频率偏差;热模型(温度变化是校准时刻的一次阶跃);同步协议本身(一次校准把误差重置为fix_sigma_ns)。