GPS 定位精度的原理
手机靠测量至少四颗卫星发来的无线电信号的传播时间来确定自己的位置,每颗卫星上都装着一台原子钟。在开阔天空下,这能把你定位到 3–10 米以内;建筑、树木和大气层则会把误差拉大到 20–50 米——这就是你明明站着不动,蓝点却还在来回漂移的原因。
基于授权 · 私密 · 支持 Chrome、Safari、Firefox、Edge
卫星、时钟与三边测量
GPS 是一个由约 31 颗卫星组成的星座(再加上欧洲的 Galileo、俄罗斯的 GLONASS 和中国的北斗——如今的手机四套系统都用),运行在约 20,200 km 的高空。每颗卫星都在播发来自星上原子钟的极精确时间戳。你的手机测量每个信号到达所用的时间,再乘以光速,就得到它到每颗卫星的距离。一个距离把你限定在一个球面上,两个限定在一个圆上,三个限定到两个点——第四颗卫星则同时定下最后那个点和接收机自身的时钟误差。这就是为什么一次「定位」至少需要四颗卫星,也是为什么从室内出来后的第一次定位最慢:接收机还在下载每颗卫星的轨道数据。
误差从哪里来
每一米误差,本质上都是纳秒级的计时问题。信号穿过电离层和对流层时会不可预测地变慢(2–5 m 的误差),卫星的时钟和轨道也会略微漂移(±2 m),而在城市里影响最大的一项是:信号先在玻璃和混凝土上反射,再到达你这里。这种多径效应意味着手机测的是反射波而不是直射波的时间,所以在街道峡谷里精度会降到 30–50 m,而空旷的野外能给出 3 m。树冠、你自己的身体,甚至把手机拿得太低,都会以更小的规模制造同样的问题。
高度也用同样的方式测量,但误差大约是水平方向的 1.5–3 倍,因为所有卫星都在你的上方——没有任何东西能从下方约束这个解。这也是我们的海拔工具在给出 GPS 读数的同时,还并排给出一个地形模型读数的原因。
精度圈到底意味着什么
点周围的那个圆圈是一句统计陈述,而不是一道边界:它通常这样画——真实位置落在圈内的概率约为 68%。20 m 的圆圈并不表示你偏了 20 m,而是表示接收机根据信号质量和卫星分布得出的自身误差估计是 20 m。卫星分布和信号强度同样重要:如果看得见的卫星都挤在天空的一小片区域里(这叫精度衰减因子偏高),微小的计时误差就会放大成很大的位置误差,就像两条近乎平行的直线,交点怎么也定不准。
手机会作弊——而且是好事
手机的定位很少是纯粹的 GPS。辅助 GPS(A-GPS)通过网络下载卫星轨道数据,让接收机跳过缓慢的搜星过程;Wi-Fi 定位把附近的接入点与众包地图比对(室内可到约 15–40 m);基站则能立刻给出 100 m–3 km 的粗略估计。你的操作系统会把这一切与加速度计和指南针融合到一起,所以蓝点有时会猛地跳到一个新位置:融合引擎改变了它对该信任哪个来源的判断。当你在本站查看你的位置时,浏览器交给我们的就是操作系统融合出来的结果——我们如实显示它报告的精度,而不假装拥有它并不具备的精确度。
如何获得更准的定位
按效果从大到小,可以这样做:先让头顶的天空开阔起来(哪怕只是从楼体外墙旁边走开几步,也比其他任何办法都管用);给定位 30–60 秒时间稳定下来,而不是读第一个估计值;关掉省电的定位模式,它们会悄悄切换到粗略的定位来源;而在像我们的GPS 速度计这样的长时间记录中,保持屏幕常亮、不要遮挡手机——很多手机在锁屏时会限制 GPS。如果两台设备结果不一致,就相信精度圈更小的那台,同时记住:在各自标明的范围内,两台可能都是对的。想不受 GPS 噪声影响、精确地分享一个地点,就用GPS 坐标页面上的坐标格式——Plus Code 或 MGRS 参考不会漂移。
常见问题
GPS 定位精度一般是多少?
我站着没动,蓝点为什么还在漂?
怎样才能让 GPS 更准?
查看英文版: How GPS Accuracy Works · 简体中文