Hi 大家好!
今天给大家介绍下GPS的一些基础知识,有什么关于原理的东西,欢迎大家提问,共同讨论。
1. 为什么GPS接收机需要四颗星才能定位。
根据大家的常识,只要知道卫星的位置(卫星广播的电文中,播报了卫星的一些轨道参数,根据这些轨道参数,就可以计算出卫星的位置和速度,所以这个是已知的),再知道卫星到接收机的距离,在同一时间,只要有3颗卫星和3个距离,就可以解算出接收机的位置。 这样一来,似乎三颗卫星就能定位了。 但是大家要知道,卫星和接收机分别有自己的时钟,这两个时钟是不同步的。 而接收机测量距离的原理,是计算卫星信号的传播时延。具体来说,就是卫星告诉你,我发这一帧信息的时间,然后接收机记录下,接收到这一帧的时间,通过计算这个时间差,乘以光速,就得到距离了。 但是接收机不知道卫星的时间是什么时候开始的,或者说这两个时间系统是不同步的,所以我们在解算的时候,需要另外一个观测量,来估算卫星和接收机之间的时钟差。这样,由4个观测量(卫星到接收机的距离,因为这个距离受到种差的影响,并不准确,我们把它叫做伪距。),4个卫星的位置,通过解一个4元的非线性方程,就能算出接收机的位置了。
2.当卫星数目大于4个的时候怎么办?
如果大家观察接收机的输出,就知道接收机在空旷的环境下,通常能接收到6-10颗卫星的信号。 这样就有多于4个的伪距了,在这个时候,上面说的四元方程就不知一个解了。 但是接收机的位置肯定只有一个。 在这样的情况下,接收机一般使用最小二乘的方法,搜索出一个最佳位置,而这个位置,使得方程的误差最小。 具体关于最小二乘的原理,大家可以看看相关的估算理论的书籍。
3.为什么接收机在小于三个星的时候也能输出位置?
有时候,大家观察接收机的输出时,会发现,同时跟踪的卫星只有3颗,可是依然有位置信息输出。 我并不清楚商业接收机是如何实现的。但是有这么两个方法,一个是使用Kalman滤波,因为根据Kalman滤波中假定了系统方程,在状态量(位置和种差)并不完全可观测的情况下, Kalman滤波器可以权衡系统方程和现有的有限的观测量,估算出接收机位置,他像最小二乘一样,要求最测量数目要大于等于未知数数目。 另外一个方法,是加入伪观测量,比如在短时间内,我可以假定接收机的高度没有明显变化,所以我们把上一时刻的接收机的高度作为观测量,带入方程。
4.定位精度是由什么决定的?
GPS定位精度主要由观测量的质量和卫星的Geometry共同决定。
观测量(伪距)的质量主要由以下因素决定:1)卫星轨道和时钟误差(1-3m),2)电离层误差(1-30米),3)对流层误差(0.6m),4)CA码噪声(0.6m),5)多径。(可以到上百米,这个就是在市区,GPS定位精度差的一个原因)
Geometry,这个我也不知道怎么翻译,大致的意思就是接收机定位时,卫星的星座位置。看个图大家就明白些。
Geometry示意图 (原文件名:Geometry.jpg)
图a是相对较好的Geometry,因为这个时候,接收机位置的不确定度比较小(阴影面积小),而图b,位置估算的不确定度较大(阴影面积大)。
5。研究GPS接收机简单的方法。
从学习和学术的角度而言,软件接收机都是一个不错的选择。那么软件接收机和硬件接收机有什么区别呢?还是从图上来看吧,
(原文件名:SoftwareGPS.gif)
在软件GPS接收机中唯一需要的硬件就是那个前端,前端主要负责将天线接收的GPS信号放大(LNA),下变频,因为GPS L1的频率是1575.42MHz,L1CA码的主瓣带宽大概是2M,所以我们一般把RF信号下变频到4M左右。 然后再对中频信号(下变频后的信号)进行采样,送到电脑中处理。下图是一个前端,采样后的数据通过usb传到电脑中。
(原文件名:Frontend.jpg)
使用软件接收机的最大优点,在于其灵活性,很方便的学习和验证算法。 下面的图是个软件接收机运行的样子。我没有插天线,所以所以的信道都在搜索卫星信号。
(原文件名:gsnrx.jpg)
6. 为什么垂直的精度没有水平的精度高?
刚才上面讲了Geometry的问题,可以想象,要确定水平位置,卫星可以散步在接收机四面八方,所以得到的水平的geometry就比较好,而对于高程,因为我们只能接收到头顶的卫星信号,而地球背面的卫星信号都被阻挡了,因此只有一面的卫星信号,这样的geometry就比较差,所以垂直方向上的不确定度就比水平方向大。
先说这么多吧。欢迎拍砖!