您好,欢迎访问三七文档
基于Matlab编程的GPS伪距单点定位摘要:GPS伪距单点定位速度快、不存在整周模糊度,因此具有很大的应用价值。给出GPS伪距单点定位、相关改正的计算模型以及精度评定方法即精度因子的计算方法,通过实例并结合matlab编程,实时的得到单历元伪距单点定位的坐标,并给出单历元伪距单点定位坐标精度优于10m的结论。关键词:GPS;matlab;单点定位;程序实现;伪距算法1前言全球定位系统,简称GPS,就是利用GPS定位卫星,在全球范围内实时进行定位、导航的系统具有自动连续、全球覆盖、全天候、保密性强,实时定位速度快等特点,其应用领域正在不断的得到拓展。而伪距单点定位因其速度快捷、灵活方便且无多值性问题等特点,能够很好地满足实时测量的要求,被广泛的用于车辆、舰船、飞机的导航,地质矿产的野外勘测以及海洋捕鱼等领域。但是在实际定位中,由于卫星钟差、地球自转、对流层折射以及电离层折射等因素对伪距单点定位的影响,其本身的定位精度受到一定的限制,难以达到很好的精度。所以,对伪距单点定位进行研究很有必要。理论上,只需要以三颗以上GPS卫星到地面观测点之间的距离,进行空间距离后方交会,就可以求得观测点的三维坐标。考虑到接收机钟差对定位的影响,在平差计算时将接收机差作为参数与位置参数一起进行联合解算。本文给出了伪距单点定位的计算模型以及一些改正的计算公式,通过实例并结合matlab编程对定位精度进行了一定的分析。2GPS伪距单点定位原理在任意历元,根据伪距观观测方程,对所测得伪距观测值可列出以下误差方程:VBxl(1)其中V为伪距观测值的改正值,(,,,)Txxyzct为接收机相位中心坐标近似值和接收机钟差的改正数,B为误差方程系数:T000000其他矩阵sssXXYYZZB(2)式中的000(X,,)YZ为本历元接收机的近似坐标,(X,,)sssYZ为卫星坐标,具体计算可参考[1]。(1)式中的l为常数项:00cLkLslVdtVdtCorl(3)式中的c为测得伪距,0为由近似值计算得到的伪距,0LkVdt为接收机钟差的近似值,LsVdt为卫星钟差,Cor为各项改正数,包括:1)电离层改正地球表面60~l000公里的这层大气,由于太阳的强烈辐射,会形成含有大量自由电子和正离子的电离层。当电磁波穿过电离层时,会产生时间延迟:002N()2fCorf(4)通常采用Pl、P2观测值的LC组合,来消去电离层带来的影响。2)地球自转改正测站的坐标通常是在地固坐标系中表示的,而卫星的坐标是在协议地球坐标系中表示的。卫星发射信号和接收机接受信号的时刻不同,协议地球坐标系已经发生了旋转,所以要考虑地球自的改正。卫星坐标的计算公式为:()(()()()())()()3)由对流层改正引起的对伪距大气改正。4)接收机天线相位中心的改正以及由偏心率引起的相对论效应对伪距的改正。3精度评定GPS的定位精度取决于两个因素:测量误差以及几何图形强度。将(1)式组成法方程后,一般认为个观测值之间相互独立,可取认为等权或以高度角取权,高度角越大权越大,设权为P,则组成的法方程为:(6)式中的N=BTPB,C=BTPl。一般采用精度因子来评价其几何图形强度.描述三维位置和时间误差综合影响的精度因子为几何精度因子GDOP,它是协因数阵Q主对角线上4个全部元素之和的平方根,即:√()(7)此指标反应卫星分布对GPS伪距动态单点定位精度的影响。4程序设计MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。同时matlab编程具有以下特点,1、高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;2、具有完备的图形处理功能,实现计算结果和编程的可视化;3、友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;4、功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等),为用户提供了大量方便实用的处理工具。因此,用matlab进行GPS伪距单点定位的编写,通过matlab强大的数值运算的能力,快速的进行定位过程和误差分析的计算,并将结果通过图形给输出,使结果清楚明了,开发出了灵活高效的GPS伪距单点定位应用软件。4.1程序内容运用matlab编写GPS伪距单点定位应用软件实现点位坐标的计算和图形输出,该程序有若干个M文件,作用分别是主程序,读取O文件,读取N文件,世界时转化为GPS时,世界时转化为儒略时,计算卫星坐标位置,钟差,相对误差等,计算天顶延迟,计算电离层和对流程延迟,将X,Y,Z转化为B,L,H等。下面给出点位坐标计算的具体流程图:图1:点位坐标计算流程图4.2实验结果本文选取上海佘山站2014年4月30日的观测文件,历元时间从0:0:0到23:59:59共2880个历元进行计算,以佘山站(SHAO)2011.7.19日真实坐标(-2831733.706858994675665.868760753275369.34750177)作为已知值进行比较,比较结果如下:图2.X方向误差分布NYNYNYNY读入n文件读入o文件i=历元总j=接收卫间隔最小的星历迭代求发射时刻卫星位置、钟差t=t+dtdx,dy,dz1mmmdt1e-9单历元X,Y,Z结束开始图3.Y方向误差分布图4.Z方向误差分布图5.计算出结果与已知值之间点的误差图6.计算坐标误差的分布从图2,3,4,可以看出,通过24h的GPS连续观测数据,用matlab编写的伪距单点定位程序解算基准点坐标,将解算值与已知基准点坐标值求差,结果X分量的差值在3m以内,Y分量的差值大都在2m以内,Z分量的差值在9m以内,.可以看出表1示出了定位结果各分量残差中误差RMS统计分析表(坐标数据考虑到涉密问题仅取小数点前4位)。由表5用matlab编写的伪距单点定位程序解算基准点坐标,将解算值与已知基准点坐标值求差比较,可以得到定位误差为3.5m。表1定位结果统计分析(单位:m)RMS误差最大值X0.8153.142Y0.7472.807Z1.9258.9965结论充分考虑各种误差影响(电离层、对流层延迟,卫星、接收机钟差,地球自转改正,多路径、接收机天线相位中心改正等),GPS单点定位精度一般在10m以内。虽然目前精密单点定位静态已实现mm~cm级精度,动态精度也达到cm~dm级,但是,由于GPS精密星历在11天后才能得到,对实时导航定位没有太大意义。利用实时GSP广播星历进行伪距单点定位,可以广泛开展实时动态定位,对实现船只、飞机和车辆等各种运动目标的导航定位,监控管理具有重要意义。因此GPS伪距定位的研究不会过时,单点定位的原理和程序的编写就尤为重要,更是学习和研究GNSS的基础。目前,有关GPS研究主要侧重于长距离精密定位、精密单点定位等方面。而伪距单点定位因其在车辆、船舶导航领域的应用前景广泛,且精度能够满足要求,因此也是研究的热点之一。参考文献:[1]王解先,GPS精密定轨定位[M]上海:同济大学出版社,1997.[2]范士杰、GPS单点定位的算法实现与精度分析[D]武汉:武汉大学.2005.[3]刘大杰、施一名、过静瑁等,全定位系统的原理与数据处理[M]上海:同济大学出版社,1995.[4]李鹤峰、党亚民、王世进、王霞迎,GPS伪距单点定位程序实现若干问题[A]:全球定位系统,2013.[5]徐振堂、鲍峰,GPS伪距单点定位[A]上海:,高新技术产业发展,2012.
本文标题:GPS精密单点定位
链接地址:https://www.777doc.com/doc-2874767 .html