相交球体与GPS定位Intersecting spheres and GPS
文章解释了GPS定位背后的几何原理:当已知到卫星的距离d时,用户位置必然位于地球表面与该距离构成的以卫星为中心的球面的交线上,而两个球面的交集是一个圆。因此,单颗卫星的观测只能确定用户在一个圆环上,需至少三颗卫星才能实现精确定位。这一原理揭示了为什么单个GPS测量值无法唯一确定位置。
John
如果你知道到某颗卫星的距离d,就可以计算出经过你所在位置的一个圆。这是因为你位于两个球面的交点上——地球表面和以一个卫星为中心、半径为d的球面——而两个球面的交集是一个圆。换句话说,观测一颗卫星只能确定一个可能的地点集合(即一个圆)。
如果你还知道到第二颗卫星的距离,就能找到两个包含你所在位置的圆。这两个圆相交于两点,说明你可能位于其中任意一个位置。若已知你的大致位置,或许可以排除其中一个交点。
当你知道到三颗不同卫星的距离时,就相当于有三个圆经过你的位置。此时第三圆只会通过前两个圆确定的两个点中的一个,从而精确锁定你的位置。
知道更多卫星的距离当然更好。理论上这些额外观测是冗余的,但无害。实际上它们能帮助你部分抵消不可避免的测量误差。
即使你不在地球表面——比如在飞机上或飞向月球途中——只要知道到n颗卫星的距离,你就处于n个球面的交点上,基本原理依然适用。
误差与修正
如何获知到卫星的距离?卫星会广播其时钟显示的时间,你收到后与自己时钟对比。两者时间差即为无线电信号传播耗时,乘以光速即得距离。
然而你的时钟很可能与卫星时钟不同步。观测第四颗卫星可解决时钟不同步问题,但无法修正狭义相对论和广义相对论带来的更微妙的影响。参见Shri Khalpada撰写的这篇通俗易懂的物理讨论文章。
数值计算
每次测距都给出一个方程:
|| x – si || = di
其中si是第i颗卫星的位置,di是你到该卫星的距离。将等式两边平方后得到一个二次方程。虽然需要求解非线性方程组,但存在一种方法可将问题转化为线性方程组的求解,即使用线性代数。详见相关文章。
相关博文
需要完整排版与评论请前往来源站点阅读。