超能课堂(163):手机是如何进行北斗卫星定位的?

2018-11-29 16:29  |  作者:梁俊豪   |  关键字:卫星定位,GPS,导航,超能课堂

最近有网友在问,手机上的GPS、北斗定位是一个怎么样的原理,为什么地面上这么多设备只靠天上二十来个卫星就能实现准确定位,这么多定位请求能处理得完吗?这就涉及到全球卫星定位的原理啦,今天超能课堂就为大家讲一讲其中的奥妙。

本文约2283字,需4分钟阅读

最近有网友在问,手机上的GPS、北斗定位是一个怎么样的原理,为什么地面上这么多设备只靠天上二十来个卫星就能实现准确定位,这么多定位请求能处理得完吗?这就涉及到全球卫星定位的原理啦,今天超能课堂就为大家讲一讲其中的奥妙。

目前在天上运行的全球卫星定位系统有很多个,例如最早美国人发明的GPS,中国的北斗、欧盟的伽利略、俄罗斯的格洛纳斯、日本的准天顶,它们都是目前可以商用的全球卫星定位系统。尽管它们提供的功能可能有所差别,比如中国北斗卫星系统提供了短信服务,但在卫星定位上,它们的本质原理都是共通的。

首先现在的全球卫星其实都是无源的,所谓的无源,那就是天上的卫星并不是实时追踪你的手机位置,然后告诉你在哪里。因为在进行定位的时候,卫星通信是单向的,手机只能被动接收来自卫星的信息,而不能与卫星进行交流。因此全球卫星导航所支持设备是没有上限的,因为它不像基站需要双向通信,只是充当一个“大喇叭”,广播信息而已。

因此天上每一颗定位卫星都在干一件事情,每时每刻都在不停地向地广播信息,信息内容也很简单,就是现在几点了(t0),我在哪里了(x0,y0,z0,就这四个要素。那么手机SoC上集成的卫星信号接收器就能通过天线获取到这部分信号内容。

电磁波在大气中的传播速度约等于光速c,那么卫星发出的信息经过若干秒后被手机接收,设接收时间为t,那么信息就在空中传播了t-t0秒,那么我们就可以算出卫星当前时刻与我们的手机距离S。

用小学知识就知道距离=速度×时间:

只知道距离是没有用的,因为我们还没有得知具体方位参数,这时候就利用上卫星发给我们的坐标信号(x0,y0,z0)。想象一下,将手机与卫星置身于三维坐标系中,手机在顶点A(x,y,z)上,卫星在顶点B(x0,y0,z0),那么是如何计算点A到点B的距离呢?

初中数学知识告诉我们,算起来很简单嘛,用下面公式计算就可以得出结果了。

两者相等s=s0,就可以得到一个新方程:

里面有(x,y,z)三个未知数,是三元一次方程,单靠1个方程式解不出来,那只要有3个这样的方程应该就能解出来?是不是只要同一时间锁定三个卫星,得到它们的广播的数据就能确定手机的位置呢?

理论上确实是这样的,但精度上差别非常大。这是因为我们手机的时钟信号并不可靠,精度远远不如卫星上所使用的时钟信号,由于光的传播速度每秒高达300000km,一丁点时间误差都会出现“失之毫厘谬以千里”的问题,因此会在定位系统中引入一个钟差的概念。

方程的改进就是将前面求得距离减去因钟差带来的误差C×(Vti—Vt0),这样就可以实现更精确的定位了。这个钟差是未知的,所以为了确定钟差,卫星定位实际上是需要同时锁定4颗卫星。(Vti(i=0、1、2、3)分别为卫星0、卫星1、卫星2、卫星3的卫星钟钟差,由卫星星历提供,已知;Vto为接收机的钟差)

这就是为什么我们手机需要同时接收天上四颗卫星信号的原因,有了四个卫星提供的信息,就能够组合出4个四元一次方程组,就可以解出手机坐标(x,y,z)以及接收机的钟差Vto了吗?

这就完成了卫星定位最基本、最浅显的原理,以上都是在非常理想的状态下得出的,实际上还要复杂、考虑的更多,实际在各大全球卫星定位系统中都存在误差问题,卫星和接收机的钟差、大气传播延迟、多路径效应等误差,一个极小的误差都会被放大很多倍从而导致整个定位无效,因此出现了很多修正误差的方法:

比如说前面提及的钟差问题以及卫星绝对位置,卫星的位置是由每个国家的专门机构进行维护,定期将推算和编制的卫星星历、钟差、导航电文和其他控制指令等信息通过注入站写入卫星存储系统,因此位置准确度可以达到厘米级别。同时卫星上的一般均采用高精度原子钟进行计时,比如铯原子种要经过2000万年才会多1秒误差,所以卫星提供的(x0,y0,z0,t0)可以视为绝对可靠。


中国北斗三号星历,授时精度优于50ns

同时联动更多的卫星:

因此如果在同一时间内,手机能够搜索到尽量多的定位卫星就可以实现更加精确的定位,实际上手机上卫星信号接收机很聪明,在锁定4颗以上卫星时,会按卫星的星座分布划分成多个组别,每组四颗,从中挑选出误差最小的一组用于解码定位,这样定位精度就比以前高多了。


中国北斗三号一共由35个卫星组成

引入差分技术(Differential GPS):

为提高定位精度,普遍采用差分技术,建立基准站进行观测,利用已知的基准站精确坐标,与观测值进行比较,从而得出一修正数,并对外发布。接收机收到该修正数后,与自身的观测值进行比较,消去大部分误差,从而得到一个比较准确的位置,这种方式可以将定位精度提高到5米。

双频定位:

在面对更加复杂的误差因素时候,如果手机卫星定位模块支持双频接收机,可以根据两个不同频率的观测量抵消大气中电离层误差的主要部分,从而提供更准确的定位信息,这就是最近手机厂商们不停宣传的双频卫星定位。


小米8发布会PPT


华为Mate 20发布会演示的双频GPS定位

A-GPS辅助定位:

现在手机为了提供更加快捷高效的定位服务,发展出了AGPS,也就是AssistGPS。它就是利用小区基站进行辅助定位,基站上带有高精度定位仪器,自带高精度时钟减少时差,实时接收天上定位卫星信号,从而得知误差大概是多少,手机只要通过移动网络下载星历、误差数据,就可以实现快速定位。


谁来翻译一下。。。

有了精确的位置信息,配合上高精度地图软件信息,就算是路痴,也能在陌生的地方找到最快捷的路径,这里面可少不了全球定位卫星的功劳哦。


附送目前在轨运行的卫星定位系统工作频段、编码方式。





查看全部评论(14)

回复