作者:一毫秒的永恒

  上千年前,我们的祖先们为了外出不迷路而竖立了路碑,绘制了详细的地图,学会了如何通过观察夜晚的星空来定位。而现在则方便多了,一台智能手机即可满足日常导航需求,而且只要有GPS 接收器,在大多数能够接收到卫星信号的地方,你都能知道自己身处何处,妈妈再也不用担心我迷路啦!

  在接下来的时间里,笔者将会为你简单介绍GPS 的定位原理。全球定位系统虽然很庞大、很昂贵、很复杂,但是基本的概念和原理还是挺简单直观的。

  Global Positioning System,也就是全球定位系统,我们简称的GPS,它可以为地球表面绝大部分地区提供准确的定位、测速和高精度的标准时间。生活中当我们谈论GPS 时,一般是指GPS接收器,而在太空中,它是由30 颗以上的地球轨道卫星组成的星座,其中至少 24 颗是正在运行的工作卫星。

  这些卫星的轨道高度有20200 千米,每天能绕地球转两圈,24 颗卫星分布在6 个轨道平面上,即每个轨道有4 颗卫星,卫星轨道面相对于地球赤道面的轨道倾角为55°,各轨道平面的升交点的赤经相差60°。这种布局可以保证在全球任何地点、任何时刻至少可以观测到4 颗卫星。

一个随着地球自转的GPS卫星星座例子。在此例子中,可接收到的卫星数量是以北纬45°为基准,而可接收的卫星数量会随着时间而变动 | Credit:Knowpia

  GPS 接收器的工作则是利用4 颗或更多颗卫星,计算出每颗卫星的距离,并利用这些信息推断出自己的位置。这种操作是基于所谓的三边测量的数学原理。在三维空间可能是有点棘手,所以我们先从简单的二维三边测量开始。

  咱们举个例子:想象一下,某天的一个早晨,你在一个陌生的地方醒来,漫无目的地走在大街上,幸运的是你有一张中国地图。这时你想问一下路人你到底身处何处,但是很不幸他们都是刚好经过这里,只能告诉你这里离他们出发的地方有多远。

  你询问了几位路人,第一个好心人告诉你:“这里离雅安的直线距离有122公里。”啊哈,这是个有用的消息,你可以在地图上以雅安为圆心,以122 公里为半径画一个圆,你现在肯定在这个圆上。

图1

  然后第二个好心人说道:“我只知道这里离我的家乡德阳有62 公里。”这样也好办,再以德阳为圆心,以62 公里为半径再画一个圆,这个圆和刚刚第一个圆有两个交点,答案的范围大大缩小了。

图2

  最后第三个好心人也好像卖关子一般说道:“我虽不知道这是哪里,但是我知道这里离遂宁有146 公里。”

图3

  没关系!有了这个数据你再按前面的步骤画一个圆,就能得到答案了,因为这个圆会交于两个点的其中一个,套入中国的地图中就是这样,原来你现在是在成都啊。

图4

  看到这里你应该理解二维的三边测量法了。早年微信摇一摇功能刚推出的时候,就有人提出可以用这个方法确定某人的活动范围。

  回到正题上,这样的测量方法其实也适用于三维空间,只不过处理的不是二维的“圆”而是三维的“球”了,从根本上说,三维的三边测量法与二维的并没有太大的不同,想象一下前面例子中的半径向各个方向发散,一系列的圆变成了一系列的球。

  如果你知道你离天上的卫星A 有1 万公里远,那么你可能在一个半径为1 万公里的巨大的假想球体表面的任何地方。如果你也知道你离B 卫星1.5 万公里,你可以把第一个球体和这个更大的球体重叠。球体相交成一个完美的圆。如果知道到第三颗卫星的距离,你会得到第三个球体。三个球相交于两点,地球球面与其中一点重合,除非你正在天上飞,不然在地球表面的那个点就是你所在的位置。

3颗卫星测绘出来的“球”与地球共同的交点就是所在的位置。第4颗卫星用来校准和同步时间

  不过,为了提高精度和提供精确的高度信息,接收器通常要接收至少四颗或更多卫星的信号。为什么嘞?因为第四颗卫星是用来校准时间误差的,而更多的卫星可以提供更多的信息,定位精度也会大大提高。不过为了定位你的位置,GPS 接收器必须要知道以下两个条件:

  1. 你要确定至少四颗卫星的位置
  2. 你和这些卫星之间的距离

  GPS 接收器通过分析卫星广播的导航电文和时间信息,可以将这两种情况计算出来。基本原理就是无线电信号在真空中以光速传播,所以可以通过信号从卫星到接收器的时间差来计算出卫星离接收器的距离。实际上这个过程还是比较复杂的,不过可以举个简单的例子:例如在早上8:00 的时候,卫星传输了一串伪随机码。当卫星信号到达GPS 接收器时,会有一个时间差,用这个时间差乘以光速就是信号传播的距离。如果信号是直线传播的,理想情况下,这就是接收器与卫星之间的距离。

图中(xi,yi,zi)表示卫星i在t时刻的空间坐标,Vti表示卫星与接收器的时钟差。由以上四个方程即可解算出待测点的坐标x、y、z 和接收机的钟差Vto

  为了进行这种测量,接收器和卫星都需要可以同步到纳秒的时钟。要制造一个只使用同步时钟的卫星定位系统,你不仅需要在所有的卫星上安装原子钟,还要在接收器上安装原子钟。但是原子钟的价格昂贵,普通消费者可负担不起。

  所以,比较高效经济的方法就是在卫星上安装原子钟,而接收器装一般的石英钟即可。只要同时接收到至少4 颗卫星的信号,接收器就可以在计算自身位置的同时,计算出自己的时钟误差(4 个未知数、4 个方程,因此可以求解),并不断进行修正。因此,即使没有原子钟,GPS 接收器依然能够实现高精度定位。从某种意义上说,用户也相当于“免费”利用了卫星上的原子钟。

  当然,现实情况要复杂得多,而且也有不可避免的问题,比如卫星信号在穿越地球大气层的时候有大气延迟效应、电磁波经周围物体( 如高楼大厦) 反射多次后的多径效应、卫星星历误差、卫星和接收器的时钟误差以及相对论效应等等。这些误差造成传统单点定位精度通常只有数米至十余米量级。而为了得到更高的定位精度,我们通常采用差分GPS 技术。

  差分GPS (DGPS) 的原理是在位置已精确测定的已知点上配备一台GPS 监测接收机作为基准站并和用户同时进行GPS 观测,将得到的单点定位的结果与基准站坐标比较,求解出实时差分修正值,以广播或数据链传输方式,将差分修正值传送至附近GPS 用户,以修正其GPS 定位解,提高其局部范围内用户的定位精度。

差分定位(或称相对定位),简单来说即通过增加一个参考GPS接收器来提高定位精度 | Credit:Knowpia

  而在差分GPS 中,伪距差分是应用最广的一种差分( 所谓伪距,就是GPS 的实际测量过程中,信号在传播过程中受到大气折射等因素的影响,测得的距离并不等于卫星到地面接收机的真正距离,于是把测量距离称之为伪距,GPS 接收机的测量也称为伪距测量。) 这种差分技术能得到米级定位精度;载波相位差分技术( 又称RTK 技术) 精度更高,可使定位精度达到厘米级。大量应用于动态需要高精度位置的领域。

载波相位差分技术示意图;这种技术能够在野外实时得到厘米级定位精度,它能实时提供观测点的三维坐标,并达到厘米级的高精度

  如今,GPS早已深入普通人的生活。目前,GPS仍是全球最重要的卫星导航系统之一,现代终端通常同时使用多个全球导航卫星系统,包括俄罗斯的格洛纳斯系统(GLONASS)、欧盟的伽利略定位系统(Galileo)以及中国的北斗卫星导航系统。随着GPS的成熟应用和各种高科技的飞速发展,车载导航、手机/手表定位、自动驾驶等高科技应用和技术也越来越离不开GPS,GPS就像移动电话和互联网对我们的生活产生的影响一样,人们已经离不开它了。

参考资料

  1. https://en.wikipedia.org/wiki/Global_Positioning_System
  2. https://en.wikipedia.org/wiki/Differential_GPS
  3. https://www.knowpia.cn/pages/GPS
  4. https://www.knowpia.cn/pages/DGPS
  5. https://www.gps.gov