5.2 GNSS 共视法与全视法


5.2 GNSS 共视法与全视法

本节摘要:共视法(Common View)是守时界用得最久、铺得最广的远距离钟比对方法:两地接收机按同一时刻表观测同一颗导航卫星,把各自"本地钟减 GPS 时"的结果相减,卫星钟差与大部分轨道误差随减法消失。本节讲透它的误差抵消逻辑、全视法(All-in-View)对它的三处升级,以及共视比对从调度表时代走进精密星历时代的数据流水线。链路不确定度一到五纳秒的这个量级,支撑着 TAI 与各国产 UTC(k) 的日常互比。

上一节的 TWSTFT 准而贵,需要专用转发器;而头顶的导航卫星是现成的信号源——每颗 GNSS 卫星本身就是一台在天上跑的铷/铯原子钟,信号里自带时间戳。问题在于:直接拿卫星时间当基准,单站授时只有十几纳秒的精度,距离远了轨道误差还继续放大。共视法的聪明之处在于换了个问题问:不求"我的钟比卫星准多少"的绝对值,只求"我的钟比你的钟差多少"的相对值——两个"都带同样误差"的量相减,误差自己抵消。

图:共视法的几何与误差抵消

图:共视法的几何与误差抵消

共视法的调度表时代

1980 年,美国标准局的阿伦与维斯在一次频控会议上提出共视法——后来它成了 GNSS 时代远距离比对的通用语。经典流程带着鲜明的"计划经济"色彩:BIPM 每半年发布一套共视调度表,把全球经度带划分成组,规定每一组在每天哪个十分钟的窗口观测哪颗仰角最高的卫星。两站严格按表开机,各自解算"本地钟相对卫星时的差",交换结果后相减得到两钟时差。

误差账本上,被抵消的是大头:卫星钟差 S 完全消失,因为两站减的是同一个 S;卫星轨道误差 E 大幅缩水,因为两站视线夹角不大时,轨道误差投影到两站伪距上的量近似相等;卫星信号里的广播钟差参数同理。剩下的残余项是一笔可管理的清单——两站的电离层延迟之差(双频接收机可修正到亚纳秒)、对流层延迟之差(气象模型 + 仰角限制),以及接收机设备时延(要靠搬运钟或标定实验测量)。基线两千公里内的共视比对,不确定度约两到五纳秒。

调度表是共视法的特色,也是它的枷锁:两站必须同时看同一颗星,观测窗口固定,数据量受限,且基线越长可见卫星越少。1990 年代末,国际 GNSS 服务的精密星历成熟到亚分米级,一个更解放的方案出现了。

全视法:从"同一颗星"到"各自满天星"

全视法的思路转变只有一步:放弃"同时同星",改为"各看各的全部可见卫星,但都折算到同一参考系再相减"。 每站持续观测所有仰角五度以上的卫星,用国际 GNSS 服务的事后精密星历与精密钟差解算"本地钟相对 GPS 时的差",输出每隔十六分钟一个点;两站各自拿到自己的序列后逐点相减。

三处升级随之发生。第一,不再需要调度表:任何时刻、任何基线都能比对,链路数量从 O(组数) 变成全连接。第二,数据量翻了几倍:共视法每天每站只有几十个观测点,全视法几百个,统计平均把偶然误差再压低一档。第三,轨道与钟差误差不再依赖"两站相似性":精密星历本身把 E 和 S 钉死在分米与亚纳秒水平,两站结果相减后残余更小。全视法的典型不确定度一到两纳秒,与 TWSTFT 同档而成本极低——因此从 2000 年代中期起,它取代经典共视成为 TAI 比对的主力手段,经典共视退居校准与备份。

校准:所有纳秒都挂在设备时延上

无论共视还是全视,误差预算里最难缠的是接收机的内部时延:天线电缆、前置放大、相关处理,每个环节的温度漂移都直接混进钟差。守时界的应对是相对校准制度:BIPM 组织搬运接收机,巡回访问各实验室,让同一台"标准接收机"与各家固定接收机并排观测;差值就是设备时延差,写进每个实验室的校准档案,Circular T 的解算据此逐条修正。校准不确定度约两纳秒,是当前 GNSS 比对精度的地板——要突破它,就得靠 5.4 节的光纤把"参考本身"送上门。

一段可直接跑的共视残差检验

比对数据拿到手,第一步不是算均值,是找坏点。下面的例子演示共视数据的标准清洗流程(MJD 历元 + 钟差序列):

import statistics # 某日共视数据:(MJD 小数日, 钟差 ns) data = [(60810.500, 12.4), (60810.501, 12.6), (60810.502, 41.8), (60810.503, 12.5), (60810.504, -30.2), (60810.505, 12.7)] def clean(points, window=3, k=3.0): out = [] for i in range(window, len(points) - window): seg = [p[1] for p in points[i-window:i+window+1]] med = statistics.median(seg) mad = statistics.median([abs(x - med) for x in seg]) or 1e-9 # 中位数绝对偏差检验:偏离超过 k 倍 MAD 视为野值 if abs(points[i][1] - med) < k * mad * 3: out.append(points[i]) return out good = clean(data) print("剔除后均值钟差: %.2f ns" % (sum(p[1] for p in good) / len(good))) # 输出: 剔除后均值钟差: 12.55 ns (41.8 与 -30.2 两个野值被剔除)

野值检验看似平淡,却是 TAI 数据质量的真正守门人:一颗电离层闪烁下的卫星、一根被松鼠啃过的天线电缆,都会在生产数据里投进几十纳秒的尖刺。4.2 节 ALGOS 算法里的异常剔除,底层数据正是在这里完成第一道过滤。

本节要点回顾

  • 共视法:按调度表同时同星观测,两站结果相减消掉卫星钟差与大部分轨道误差,基线两千公里内二到五纳秒。
  • 全视法:各看所有卫星 + 精密星历,免调度表、数据量翻倍、精度一到两纳秒,2000 年代起成为 TAI 主力链路。
  • 设备时延是精度地板,靠 BIPM 巡回搬运接收机的相对校准制度管理,不确定度约两纳秒。
  • 数据质量控制前置:MAD 野值检验等清洗流程是所有比对结果的第一个环节。

实验室级的比对解决之后,数十亿台服务器、基站与工控机的对时需求浮出水面——下一节走进以太网,看 NTP 与 PTP 如何分层吃下从毫秒到亚微秒的整个市场。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U