一个每个司机都经历过的场景:车停在地下车库三天,开出来打开导航,那颗蓝点原地转圈,十秒、二十秒、半分钟……你忍不住怀疑手机坏了。而昨天在地面停车场,同样的动作几乎是秒出。同一台手机,同一个 App,差别从哪来?
差别在于,GPS 接收机在动手算位置之前,必须先答出三道题。这三道题答得多快,决定了你要看多久转圈。
三道必答题
回忆第四章的算法:听四颗卫星报时,解四个未知数。但「听」这个字掩盖了一个巨大的工作量。手机真正开工前需要知道:
- 第一题:天上现在有哪些卫星、各自在哪?三十多颗卫星散布在六条轨道上,任何时刻你头顶只有一部分。不知道有谁在,就像走进一个黑暗的礼堂,不知道有谁在场。
- 第二题:每颗卫星此刻的精确位置?光知道「在头顶」不够,三角定位需要精确到米级的坐标,而卫星在以一万四千公里的时速移动,坐标每一秒都在变。
- 第三题:现在大概是几点、我大概在哪?卫星信号极其微弱,手机要在噪声里把它捞出来,需要预先猜个范围——猜得越准,搜得越快。
这三道题的答案都在卫星广播的星历里——卫星自报的「精确行程表」,以及更粗略的、管整个星座的「年鉴」。麻烦在于接收方式:卫星用 50 比特每秒的速度播这份行程表。50 比特每秒是什么概念?这一章你读到现在,卫星只来得及说几个字。收齐一套完整的星历,理论上最快也要几十秒。
冷、温、热:三种开机
工程师把「定位前的三道题答完了几题」分成三档,行话叫 TTFF(Time To First Fix,首次定位时间):
- 热启动(秒级):手机刚定过位不久,星历还在有效期内,大概位置和时间都知道。三题全有答案,直接算,一两秒出点。
- 温启动(几十秒):有粗略的「年鉴」,知道天上有谁,但精确行程表过期了。得老老实实从卫星嘴上重新收听,等它慢吞吞播完。
- 冷启动(最差可达数分钟):什么都不知道——刚坐飞机跨越了半个地球、或关机太久。位置、时间、卫星名单全是空白,只能大海捞针式地全频段搜索,再等星历一个字一个字地爬进来。
地下车库那半分钟转圈,就是温启动甚至接近冷启动:信号被车库削弱了几天,行程表早过期了,开出来还得先等卫星把表格重新念一遍。
AGPS:用蜂窝网给卫星系统开挂
如果故事停在这里,每次定位都可能要等半分钟,手机导航根本没法用。转折点是一个「作弊」思路:星历为什么非要从卫星那 50 比特的小水管里收?卫星的行程表是地面站算出来的,完全可以提前放到互联网上,让手机走 4G 一秒下载完。
这就是 AGPS(Assisted GPS,辅助定位):手机的蜂窝网络不只是上网,还顺手当「卫星星历的快递员」。三必答题里的前两题——天上有谁、精确在哪——由服务器直接塞给手机,50 比特的瓶颈被整个绕过。这就是为什么有网络时定位总是飞快:卫星还没张嘴,答案已经提前剧透了。
更妙的是第二章埋的那笔伏笔:AGPS 服务器会先告诉手机「你连的基站在哪个城区」,于是第三题「我大概在哪」也有了粗略答案——最粗糙的基站定位,帮最精确的卫星定位省下了最昂贵的第一步。这就是为什么你在室内没 GPS 时,蓝点也会先跳到大概位置,再慢慢修正。
楼群里的最后一道坎
AGPS 解决了「等星历」,但解决不了另一种转圈:站在高楼夹缝里,卫星信号本来就弱——GPS 信号抵达地面时,强度还不如几十公里外一个灯泡的万分之一——再被楼体挡掉、反射得七零八落。信号弱到一定程度,手机连「有没有这颗星」都要犹豫半天,收到的还是走了冤枉路的反弹信号(第四章说的多径误差)。
所以城市峡谷里的体验总是两头不靠:卫星看得见几颗但看不全,信号又弱又乱。这时候手机该怎么办?答案是——别硬扛,换一套完全不用卫星的线索。下一章回到地面,看 Wi-Fi 和蓝牙怎么在卫星瞎掉的地方接管蓝点。