浅析GPS导航解算原理
mass_lynnxy2008/11/13电子技术 IP:四川
全球定位系统(GPS)是英文Global Positioning System的字头缩写词的简称。它的含义是利用导航卫星进行测时和测距,以构成全球定位系统。它是由美国国防部主导开发的一套具有在海、陆、空进行全方位实时三维导航与定位能力的新一代卫星导航定位系统。
       GPS用户部分的核心是GPS接收机。其主要由基带信号处理和导航解算两部分组成。其中基带信号处理部分主要包括对GPS卫星信号的二维搜索、捕获、跟踪、伪距计算、导航数据解码等工作。导航解算部分主要包括根据导航数据中的星历参数实时进行各可视卫星位置计算;根据导航数据中各误差参数进行星钟误差、相对论效应误差、地球自转影响、信号传输误差(主要包括电离层实时传输误差及对流层实时传输误差)等各种实时误差的计算,并将其从伪距中消除;根据上述结果进行接收机PVT(位置、速度、时间)的解算;对各精度因子(DOP)进行实时计算和监测以确定定位解的精度。
       本文中重点讨论GPS接收机的导航解算部分,基带信号处理部分可参看有关资料。本文讨论的假设前提是GPS接收机已经对GPS卫星信号进行了有效捕获和跟踪,对伪距进行了计算,并对导航数据进行了解码工作。
     1  地球坐标系简述
       要描述一个物体的位置必须要有相关联的坐标系,地球表面的GPS接收机的位置是相对于地球而言的。因此,要描述GPS接收机的位置,需要采用固联于地球上随同地球转动的坐标系、即地球坐标系作为参照系。
       地球坐标系有两种几何表达形式,即地球直角坐标系和地球大地坐标系。地球直角坐标系的定义是:原点O与地球质心重合,Z轴指向地球北极,X轴指向地球赤道面与格林威治子午圈的交点(即0经度方向),Y轴在赤道平面里与XOZ构成右手坐标系(即指向东经90度方向)。
       地球大地坐标系的定义是:地球椭球的中心与地球质心重合,椭球的短轴与地球自转轴重合。地球表面任意一点的大地纬度为过该点之椭球法线与椭球赤道面的夹角 φ,经度为该点所在之椭球子午面与格林威治大地子午面之间的夹角λ ,该点的高度h为该点沿椭球法线至椭球面的距离。设地球表面任意一点P在地球直角坐标系内表达为P( x,y,z ),在地球大地坐标系内表达为P ( φ,λ  ,h)。则两者互换关系为:大地坐标系变为直角坐标系:

                                (1)
        式中:n为椭球的卯酉圈曲率半径,e为椭球的第一偏心率。
        若椭球的长半径为a,短半径为b,则有

                                         (2)    
        直角坐标系变为大地坐标系,可由下述方法求得
  

        φ由叠代法获得
37_161_1130172740.jpg
        φc为地心纬度, ep为椭圆率

        可设初始值φ=φc 进行叠代,直到|φi=1-φi| 小于某一门限为止。

        这两种坐标系在定位系统中经常交叉使用,必须熟悉两种坐标系之间的转换关系。
       2  GPS定位中主要误差及消除算法
        GPS定位中的主要误差有:星钟误差,相对论误差,地球自转误差,电离层和对流层误差。
        1)星钟误差
        星钟误差是由于星上时钟和GPS标准时之间的误差形成的,GPS测量以精密测时为依据,星钟误差时间上可达1ms,造成的距离偏差可达到300Km,必须加以消除。一般用二项式表示星钟误差。
37_161_1289641231.jpg
                        (3)
        GPS星历中通过发送二项式的系数来达到修正的目的。经此修正以后,星钟和GPS标准时之间的误差可以控制在20ns之内。
        2)相对论误差
        由相对论理论,在地面上具有频率 的时钟安装在以速度 运行的卫星上以后,时钟频率将会发生变化,改变量为:
37_161_1143938364.jpg
        即卫星上时钟比地面上要慢,要修正此误差,可采用系数改进的方法。GPS星历中广播了此系数用以消除相对论误差,可以将相对论误差控制在70ns以内。
        3)地球自转误差
        GPS定位采用的是与地球固连的协议地球坐标系,随地球一起绕z轴自转。卫星相对于协议地球系的位置(坐标值),是相对历元而言的。若发射信号的某一瞬间,卫星处于协议坐标系中的某个位置,当地面接收机接收到卫星信号时,由于地球的自转,卫星已不在发射瞬时的位置〔坐标值)处了。也就是说,为求解接收机接收卫星信号时刻在协议坐标系中的位置,必须以该时刻的坐标系作为求解的参考坐标系。而求解卫星位置时所使用的时刻为卫星发射信号的时刻。这样,必须把该时刻求解的卫星位置转化到参考坐标系中的位置。
        设地球自转角速度为 we,发射信号瞬时到接收信号瞬时的信号传播延时为△t ,则在此时间过程中升交点经度调整为

        则三维坐标调整为

                          (4)
        地球自转引起的定位误差在米级,精密定位时必须考虑加以消除。
        4)电离层和对流层误差
        电离层是指地球上空距地面高度在50-1000km 之间的大气层。电离层中的气体分子由于受到太阳等天体各种射线辐射,产生强烈的电离,形成大量的自由电子和正离子。
        电离层误差主要有电离层折射误差和电离层延迟误差组成。其引起的误差垂直方向可以达到50米左右,水平方向可以达到150米左右。目前,还无法用一个严格的数学模型来描述电子密度的大小和变化规律,因此,消除电离层误差采用电离层改正模型或双频观测加以修正。
        对流层是指从地面向上约40km范围内的大气底层,占整个大气质量的99%。其大气密度比电离层更大,大气状态也更复杂。对流层与地面接触,从地面得到辐射热能,温度随高度的上升而降低。对流层折射包括两部分:一是由于电磁波的传播速度或光速在大气中变慢造成路径延迟,这占主要部分;二是由于GPS卫星信号通过对流层时,也使传播的路径发生弯曲,从而使测量距离产生偏差。在垂直方向可达到2.5米,水平方向可达到20米。对流层误差同样通过经验模型来进行修正。
        GPS星历中通过给定电离层对流层模型以及模型参数来消除电离层和对流层误差。实验资料表明,利用模型对电离层误差改进有效性达到75%,对流层误差改进有效性为95%。
       3  GPS星历结构及解算过程
        要得到接收机的位置,在接收机时钟和GPS标准时严格同步的情况下,则待求解位置是3个未知变量,需要3个独立方程来求解。但是实际情况中,很难做到接收机时钟和GPS标准时严格同步,这样,我们把接收机时间和GPS标准时间偏差也作为一个未知变量,这样,求解就需要4个独立方程,也就是需要有4颗观测卫星。

图1  GPS定位示意图(未考虑时间偏差)
        假设接收机位置为(xu,yu,zu) ,接收机时间偏差为 tu,则由于时间偏差引起的距离偏差为
37_161_1134477626.jpg
为得到的伪距观测值。
我们可以得到联立方程

                  (5)
        将上式线性化,即在真实位置(xu,yu,zu)进行泰勒级数展开,忽略高次项,得到
37_161_1160281913.jpg
                   (6)
        其中,


37_161_1345266864.jpg
        式(6)即为实际计算的叠代公式,叠代终止条件是真实位置 (xu,yu,zu)的变化量小于某一个阈值,最终得到

可以作为调整接收机时间偏差的依据,计算一般采用矩阵方式求解。要求解该方程,我们还需要预先知道4颗卫星的位置 (xj,yj,zj),而卫星位置可以从该卫星的星历中获得。
        GPS卫星星历给出了本星的星历,根据星历可以算出卫星的实时位置,并且星历中给出了消除卫星星钟误差、相对论误差、地球自转误差、电离层和对流层误差的参数,根据这些参数计算出的卫星位置,可以基本上消除上述误差。
    求解卫星位置的基本步骤为:
    计算卫星运行平均角速度
    ①计算归化时间;
    ②计算观测时刻的平近点角;
    ③计算偏近点角;
    ④计算卫星矢径;
    ⑤计算卫星真近点角;
    ⑥计算升交点角距;
    ⑦计算摄动改正项;
    ⑧计算经过摄动改正的升交距角、卫星矢径、轨道倾角;
    ⑨计算观测时刻的升交点经度;
    ⑩计算卫星在地心坐标系中的位置。
    特别值得指出的是,在计算卫星真近点角Vk时,应采用公式

                                     (7)
        其中,e为偏心率, Ek为卫星偏近点角。有部分参考书籍计算卫星真近点角的公式有误,会导致卫星真近点角 的象限模糊问题,从而无法得到卫星正确位置。
        进行上述计算后,再根据星历中广播的各误差参数进一步消除各项误差。这样,我们就得到一个完整的利用GPS星历进行导航定位解算的过程。
      4  结论
        我们详细地叙述了GPS卫星的导航定位原理以及定位解算的算法,分析了其中主要误差来源和消除方法。当然,对于卫星数多于4颗星时的算法以及差分GPS算法都可以在此算法基础上进行深入研究。
来自:电子信息 / 电子技术
14
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
16年4个月前 IP:未同步
51728
[s:246] 看了看不懂^_^
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
refinder
14年1个月前 IP:未同步
276142
很好,简明扼要
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
zx-16533
14年1个月前 IP:未同步
276164
发错版了吧?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
liccil
14年1个月前 IP:未同步
276199
北斗导航又是啥原理?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
364156613
14年1个月前 IP:未同步
279235
回楼上,导航原理都差不多、、
基本上相当于把人置于空间坐标系中。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
crazyspace
14年1个月前 IP:未同步
279239
那第一代北斗只用了两颗星是怎么解的
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
3.1415926
14年0个月前 IP:未同步
281991
我知道gps定位仪最少有三种(不包括dgps):
1.    一般例如手机,汽车导航等.
2.    飞机用,更新位置速度快/
3.    大地测量用,超准.
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wxy9921
13年5个月前 IP:未同步
325864
路过,顶下。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
justinpiggy
13年5个月前 IP:未同步
325866
引用第6楼crazyspace于2011-02-06 17:04发表的  :
那第一代北斗只用了两颗星是怎么解的


两颗可以得到平面坐标,但是我们有中国地形图,所以。。。。。其实海拔不是定出来的,是查表查出来了。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
ttcity
13年4个月前 IP:未同步
331299
没看懂啊,似乎有点深奥
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
maicot
12年11个月前 IP:未同步
378030
这个是浅释啊,好像很难的样子
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
cqb98
12年11个月前 IP:未同步
378036
算法是灵魂啊
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
我承认我是猪
12年11个月前 IP:未同步
381132
说的简单点,就是GPS卫星里面有时间和卫星地址数据。
GPS定位,首先是手机精确的时间数据。就是从几个卫星中获得。然后时间精确之后。至少要三个时间的数据,通过自身的时间,算下时间差,乘以光速,就知道GPS机身离每个卫星的位置,再通过数学算出在地球表面的经度和纬度,最后在导航地图中找出来。原理就这么简单。目前SERF的芯片比较多。
+50
科创币
jrcsh
2012-03-29
鼓励新人
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
所属分类
上级专业
同级专业
mass_lynnxy
进士 学者 机友 笔友
文章
650
回复
1176
学术分
40
2005/11/29注册,2个月7天前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}