手机地图上的蓝点,看起来像是地图一直知道你的位置。它背后的一个关键步骤,其实是接收机不断回答一个很细的问题:卫星发出的信号,经过多长时间才到达这里?

传播时间能变成距离,多组距离又能变成位置约束。不过,想把这些约束用好,还要解决手机自己的钟准不准。

地球上方四颗导航卫星的金色信号线会聚到地表的一个接收位置。
卫星导航的概念插画;卫星、地球的尺寸与间距作了简化,不是实际轨道、卫星几何或覆盖范围图。

三面旗帜,怎样缩小位置范围

先把世界简化成一张平面地图,三面旗帜的位置都已经知道。

朋友告诉你,她离红旗恰好10米。以红旗为圆心画一个半径10米的圆,她应当在圆周上。这个信息能限定位置,却还不能指出一个唯一的点。

再知道她离蓝旗20米,就能画出第二个圆。在一般的相交情形下,两条圆周有两个交点,需要进一步判断。第三面旗帜提供30米的距离约束,便能从前面的候选点中筛选出符合条件的位置。

三组距离约束怎样筛选一个平面位置理想二维平面,单位米。A位于10,0,距离10;B位于0,20,距离20;C位于负18,24,距离30。P位于0,0,满足全部三个距离;Q位于16,8,只满足前两个。图形按同一比例绘制,忽略时钟偏差和测距误差,不是GPS轨道模型。距离给出约束,交点给出位置-40-20020-10103050x / my / mABCP (0, 0)另一交点 QA:10 mB:20 mC:30 m
理想二维几何例子,单位为米,忽略测距误差与时钟偏差。P满足10、20、30米三个条件;Q只满足前两个。图中旗帜位置是为了计算而设定的坐标,不对应实际GPS卫星或轨道。

图中A、B两个圆共有P、Q两个交点。P到C恰好30米,Q到C约37.58米,所以第三个条件排除了Q。这里还假设旗帜布置合适、测量准确;特殊或退化的几何关系需要另外处理。

距离数值是一组约束,并不直接等于位置坐标。 要得到坐标,还必须知道参考点在哪里,再解出满足这些距离的位置。

把距离换成信号传播时间

卫星导航把旗帜换成了在轨卫星,把已知地图点的位置换成卫星轨道信息。卫星广播的导航数据,使接收机能够计算卫星的位置;信号中的测距信息则帮助接收机估计传播所需的时间。

先在理想条件下写成一个近似关系:

距离 ≈ 信号传播时间 × 光速。

这个关系对时间误差很敏感。用真空光速计算,1微秒对应约299.79米的传播距离。这个数是单位换算,用来说明计时为何重要,不是说手机实际总有这么大的误差。

地面接收机通常没有昂贵的原子钟。它自己的时钟偏差会混进测量,所以接收机首先得到的量通常称为“伪距”;它还包含需要建模、修正的其他误差。[1]

第四颗卫星还帮助求出时间偏差

把几何从平面扩展到空间:距一颗卫星为某个固定值,对应一个球面;两个合适的球面相交,通常得到一条圆;第三个球面再与它相交,可能留下两个候选点。对于地面用户,有时还能凭地球表面等条件排除一个点。

但这些理想球面假设距离已经测准。实际接收机的钟差未知,不能把它忽略后,只把第四颗卫星理解成“再画一个球”。通常需要同时估计三个空间坐标和一个接收机时间偏差,这也是独立求解三维位置时至少需要四颗合适卫星的重要原因。[2]

实际系统会使用更多可用卫星,并考虑卫星分布、信号遮挡、传播延迟和测量噪声。画圆、画球适合说明约束怎样形成;真正的接收机还要通过计算处理不完全一致的测量值。

原子钟也要做修正

卫星装有原子钟,也仍然需要统一计时和修正。典型GPS轨道上,卫星高速运动带来的效应使钟每天相对地面慢约7微秒,较弱引力环境带来的效应则使它快约45微秒,合起来约快38微秒。系统必须考虑这些相对论效应。[3]

38微秒乘以光速,对应约11.4公里的距离量级。这说明如果不修正,小小的计时差会怎样放大;它不是正常GPS每天都会累积的定位误差,也不能直接当作每个方向上的坐标误差。

天上的广播,与手机里的计算

GPS卫星发送单向导航广播,接收机利用收到的信号计算自身位置。这个接收过程本身不要求手机把坐标发回卫星;在应用中共享位置,还需要另外的通信和服务流程。[4]

星座也不是“四颗卫星一直围着某一个人转”。24槽位是理解GPS基准星座的一种配置,实际运行中还会有额外卫星,数量会随维护、退役与发射变化。[5]

GPS是美国的卫星导航系统。GNSS则是全球或区域导航卫星系统的统称,还包括北斗、Galileo、GLONASS等系统。它们提供的导航能力可以被接收机分别使用,或在支持的设备中组合使用。[6]