解方程与我在哪·GNSS系统原理
全球卫星导航系统(GNSS),是中国北斗 、美国GPS 、俄罗斯GLONASS 和欧盟GALILEO 等卫星导航系统的统称,它在定位与导航的作用已经不用过多介绍。但是,你知道吗,他还同时为你的手机等设备提供了时间服务,这被称为卫星同步时钟,可以轻松做到毫秒级的时间同步。
但是,这不对呀,每颗卫星离我们的距离都不一样,在这个距离上也不能忽略信号的传播时间(大约0.7秒),理论上卫星与手机时间是无法同步的。但是,如果真是这样的话,定位也就无法实现了。什么?你问🐢为什么?这还要从GNSS定位原理讲起。
三颗卫星就够了!——大部分科普博主告诉你的
首先,我们都知道的是,卫星帮你定位并不是直接告诉你在哪里,毕竟,卫星的算力是无法承受上亿的计算量的,所以,GNSS卫星其实是一台广播。
在没有导航的情况下,人们是怎么指路的呢?“看到前面的🍄左拐,走过🐼就到了。”没错,就是参照物!而导航卫星给你提供的就是在天上的参照物。你是怎么知道卫星现在在哪的呢?靠星历(这个原理并不重要,大致就是根据轨道计算)。你是怎么知道卫星离你多远的呢?靠时间。
这很简单,毕竟 电波传递时间Δt × 光速c = 距离 嘛。现在,一颗卫星在地面上对应某一距离的点是一个圆弧(其实是空间中以卫星为球心的球面与地表的交线),三颗卫星圆弧的焦点就是你所在的位置。
好耶!不过,真的这么简单吗?
再加一颗!——数学老师告诉你的
但是,卫星真正广播的是什么?星历,这肯定有,可显然,卫星并不能直接给出Δt,所以,其实给出的是来自原子钟的时间,以GPS周秒表示(🐢:这也不重要,就是一种计时方式。计时规则为从GPS计时零点——1980年1月6号 00:00:00开始,到当前时刻,共累计多少整数周,就是GPS周;不足一周的换算成秒,就是周内秒)。
现在,我们以地球的球心为原点,随便建一个坐标系。
假设你的坐标为 (x,y,z),N颗卫星的位置坐标为 (x_{i},y_{i},z_{i})(查星历已知),卫星离你的距离为r_{i},i表示第i颗卫星,显然,可以得到公式(x_i - x)^2 + (y_i - y)^2 + (z_i - z)^2 = r_i^2, \quad i = 1, 2, \ldots, N,同样r = \Delta t × c。因此,只有三个未知量x,y,z,利用三颗卫星联立即可。
这并不难理解,但是卫星上安置的原子钟,稳定度很高,我们可以认为这种钟的时间与GPS时间吻合。接收机处的时钟是石英钟,稳定度一般,我们应该认为它的时钟时间与GPS时间存在时间同步误差,所以,让我们设接收机与GPS时间的误差为t_s。
现在,我们多了一个新的未知数,解决方法也很简单,再引入一颗卫星。
现在,我们可以把接收机的时间与卫星同步了,这就是授时。
等等——物理学家告诉你的
GNSS可能是相对论离生活最近的地方,因为,受相对论的影响,GNSS卫星每天比地表时间快 38 微秒(🐢:这是赤道处的数据哈,关于相对论的知识还会再写的)。这部分误差可以通过公式进行修正。
类似的,还有原子钟运行积累的误差,电离层(🐢:这个也想写,🕳+1)造成的误差,数学模型都会一一进行修正。
现在,我们已经可以知道你在哪里了,这被称为单点定位,即仅依靠卫星实现的定位,精度只能保证在10米以内,已经可以满足导航需要。
可是我们在新闻中听说的分米甚至厘米级定位是怎么实现的呢?把参照物放在地上,增加一台基准站,这叫差分定位。
就长这样
由于篇幅有限,实现的原理之后再说,🕳+10086