GPS定位是如何定位的

来自:吴军老师得到119课

Google面试题:GPS定位是怎样实现的?无人驾驶汽车需要非常准确的GPS定位,在为它设计GPS系统时,我们要考虑什么,在寻找行驶路线时,又要注意什么呢?

        空间中的任何一点,都可以用(X,Y,Z)这三个坐标值唯一地确定。要找到这三个未知数的值,就需要有3个方程。地球的球面是一个二次曲线,这是第一个方程,和某个卫星等距离的所有点,也构成了一个二次曲面,这是第二个方程。至于第三个方程,再找一颗卫星就可以了。

        因此GPS定位的原理其实特别简单,就是用两个卫星,加上地球,用三个二次曲面的方程,解出X,Y,Z的值。不过,这样得到的解可能不止一个,而是两个,因此需要加入第三颗卫星确定唯一的位置。当然,为了更精确地定位,通常采用四颗卫星。

        上面这种坐标被称为执教坐标,因为X,Y,Z这三根轴都是垂直的,不过英语里它一般被称为笛卡尔坐标,因为是笛卡尔提出来的。采用直角坐标的好处是,地球上的点,和卫星的位置,都可以放到同一坐标系下。

        其实X,Y,Z是想象不出具体的位置,我们在地球上通常用经纬度坐标。因此,GPS的工作实际上是要做一个坐标的准换。

        对于卫星,其实还有一个不同的坐标系,它也有三个变量,卫星到地心的距离,卫星的两个夹角(可以理解为卫星的经纬度)。这样的坐标便于卫星监测,但是要计算距离,也要转化成直角坐标。

        现在坐标系确定了,位置的计算方法有了,照说就能用GPS定位了。但是,如果就是这样来计算位置的话,误差就会很大。因此,GPS的精度其实就取决于如何消除误差,引起GPS误差的因素特别特别多,根据误差的来源,分成这样两类:

        第一类是卫星和接受装置本身引起的误差, 举例:

  1. 星厉和时钟的误差
            计算卫星和地面距离,其实就是根据电磁波传播速度和传播时间推导出来的。电磁波的速度就是光速,这个相对好确定,但是时间的度量却不容易,要知道卫星上的时钟和地面上的时钟之间是有误差的,如果误差了0.1毫秒,也就是一秒钟的万分之一,定位就会差出30公里

  2. 相对论的误差
            这种说法并不是说爱因斯坦的相对论不对,有误差,而是说狭义相对论指出了卫星上高速运动的时钟会比地球上的钟走得慢,而广义相对论指出重力场的作用也会导致时间测量的误差。校正这两点误差我们要感谢爱因斯坦,没有它的相对论,我们就没有准确的GPS定位

        第二类的误差来自于信号传输速度的不稳定。从卫星到地球表面不是真空,因此光速并不恒定。我们知道地球到大气层密度不同,电磁波信号传播的速度和真空光速是有误差的,而且地球上还有电离层,它会造成信号传输的延时。

        当前,地球的自传其实速度也不匀,这个误差也要消除。

        如果要把构成GPS误差的因素总结一下,可以满满地写两页纸,因此这里我们就不详细论述两。总之,任何一个误差,如果不进行校正,会使得导航的偏差小则几百米,多则几十公里。

        广义相对论,其实是超出两我们生活的直觉的,它有一个数学基础,就是黎曼几何。讲到几何学,我们都知道当代欧几里得用五个概念和五条公里搭建两整个几何学的大厦,那些公理是不证自明的,比如“从一点向0⃣️一点可以引一条直线”,这就是一条公理。对于前四条公理,大家都没有疑问,但是,对于第五条,也就是平行公理,“通过一个不在直线上的点,有且仅有一条不与该直线相交的直线”,就有人跳出来反对两。一个人叫做罗巴切夫斯基,他说过“一个点能做多条平行线”,另一个叫做黎曼,他说“过一个点一条平行线也做不出来”。

        根据我们的生活经验,欧几里得才是对的。但是,如果我们突破有限的空间,我们会发现由于引力场的存在,我们的宇宙就是黎曼所描述的那种样子。类似地,在地球上,你要准确计算两个给定经纬度坐标的位置之间的距离,也需要用到黎曼几何,无人车准确行驶的条件是知道地球是圆的,而不是平的,因此要对路线不断校正。

你可能感兴趣的:(GPS定位是如何定位的)