玩GPS也有些年了,经常看到朋友讨论关于漂移的问题,谈一些自己的看法,水平有限,不足之处请多指正。
1、GPS定位的原理
要搞清楚这个问题,首先要从GPS的定位原理讲起,从数学角度来讲,就是空间已知三点的位置,以及你到这三点的相对距离,求你的位置,这是立体几何里一个很简单的问题,是GPS的数学原理。
对应到实际应用中,已知三点的位置 ,就是天上的三颗卫星,因为卫星是按照“星历”精确运行的,所以它在某一时间的位置我们可以知道,这就满足了数学原理里的第一个解题条件;第二个条件是需要知道你到这三颗卫星的相对距离,卫星发射特定的无线电信号,你的GPS接收机收到这个信号之后来比对时间差,因为无线电的传播速度是已知的,所以通过这个时间差就可以算出你相对于卫星的距离。两个条件都满足了,你的位置也就出来了。以上只是对于GPS原理的一个简单描述,实际应用还要复杂得多,事实上达到3D定位,至少需要4颗卫星,多出的一颗是用来授时的。有兴趣的朋友可以查阅相关资料来满足你的好奇心。
2、漂移的产生原因
明白了GPS的定位原理,我们就会发现,虽然数学原理是很简单的,但是要通过物理手段实现两个已知条件,是很复杂的事情。首先,卫星在天上飞,谁也不敢保证它能一丝不差的在自己的轨道上,总会有或多或少的偏差。其次,你的GPS接收机上也不可能安个铯原子钟,无线电波的传播速度每秒大约是30万公里,简单计算一下你就会发现,如果时间误差了0.00001秒,那距离差了多少呢?即使你的时间不会有误差,无线电波在空气中的传播也会受到很多因素的影响,比如天气。以上的影响还不是最主要的,更重要的影响原因是你能收到多少卫星信号。GPS的信号是很微弱的,接收机上那么小一个陶瓷天线,你还指望能有什么太好的效果吗?所以基本上有什么东西阻挡的话,你就会收不到信号,即使你收到了十颗八颗信号很强的卫星,就一定会很准确了吗?非也,假如你正好赶上这十颗卫星都扎成一堆开会,或者排成一条整齐的队伍放学回家,那你惨了。
定位是不是精确,卫星的分布位置也是一个非常重要的影响因素,好的状态是强信号的卫星以等边三角形的状态分布于天窮的3个角落,相对距离尽量的大,不要排列在近似一条直线上,这是由GPS的数学原理决定的。以上所讲的,还都只不可控的技术误差,属于”天灾“的范畴,自古以来,“天灾”是从来离不开“人祸”的,当科技发展的水平已经足够把这些误差降到很低的时候,你还会发现另一个十分尴尬的问题就是:人家压根就不想让你得到这么高的精度。大家知道,民用的GPS和军用的接收频点是不一样的,民用的有扰码,是专门给你捣乱用的!
明白了以上内容,你就会发现,太多的因素影响到了GPS的定位精度,,也就导致了你站在原地不动的时候,每秒钟计算出来你的坐标位置都不同,把这些点连成线的时候,你看到的再也不是平滑的运行轨迹,而是另人十分揪心的一团乱麻,这也就是我们平时讨论比较多的漂移。