GPS绝对定位的程序设计修改02_第1页
GPS绝对定位的程序设计修改02_第2页
GPS绝对定位的程序设计修改02_第3页
GPS绝对定位的程序设计修改02_第4页
GPS绝对定位的程序设计修改02_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、GPS 绝对定位的程序设计I目录目录摘摘 要要.IABSTRACTABSTRACT.II1 1 绪论绪论.11.1 引言 .11.2 国内外发展动态 .11.3 本文主要研究工作和章节安排 .22 2 GPSGPS 卫星轨道坐标计算数学模型卫星轨道坐标计算数学模型.23 3 GPSGPS 单点定位数学模型单点定位数学模型.64 4 程序设计程序设计.84.1 VB 介绍.84.2 绝对定位程序的总体设计 .94.2.1 系统描述与需求分析 .94.2.2 软件总体设计 .94.2.3 设计软件系统结构 .94.2.4 数据结构与数据库设计 .104.2.5 程序中的模块 .104.2.6 程序

2、流程 .105 5 计算实例及误差分析计算实例及误差分析.126 6 结论结论.14致致 谢谢.15参考文献参考文献.16GPS 绝对定位的程序设计IIGPS 绝对定位的程序设计摘摘 要要GPS 单点定位是根据计算出的卫星坐标,再以伪距或者载波相位为观测量,通过空间后方交会原理计算出地面测量站点的位置。本文主要介绍了 GPS 卫星轨道坐标计算数学模型,单点定位数学模型,并根据最小二乘原理,利用 VB 语言对以上过程进行了实现。本文对此程序的开发过程进行了阐述,包括时间转换程序、利用广播星历计算卫星坐标程序和地面点近似坐标计算程序,并总结了程序开发过程中对误差进行处理的方法和一些关键技术问题的解

3、决思路。最后,选取实例进行计算并进行精度分析。关键词关键词:GPS 单点定位 坐标计算 精度分析GPS 绝对定位的程序设计IIIPROGRAM DESIGN OF GPS ABSOLUTE POSITIONINGABSTRACTSingle-point positioning of GPS calculates the location of the site ground-based measurements by the principle of space resection according to the calculated satellite coordinates, which

4、 measure the pseudorange or carrier phase for the concept. My article describes a mathematical model of the GPS satellite orbit coordinates calculating, a mathematical model of single point of positioning, and achieve the above process in accordance with the principle of least squares, using VB lang

5、uage . my article describes the process of the program development, and summarizes the ways to deal with the error and the idea of some key technical issues in the program development process. Finally, selects the instance to calculate and analyse the accuracy .KEY WORDS GPS Single-point positioning

6、 Coordinate calculation Accuracy AnalysisGPS 绝对定位的程序设计11 1 绪论绪论1.11.1 引言引言GPS是美国从20 世纪70 年代开始研制的, 于1994 年全面建成, 具有在海、陆、空进行全方位实时三维导航与定位能力的新一代卫星导航与定位系统。尤其是经过近几年的研究,GPS 更在测绘、航空遥感和气象等方面有了新的应用, 并以全天候、高精度、自动化、高效益等显著特点, 赢得广大用户的信赖。随着对定位精度要求的不断提高, 人们对GPS卫星星历的精度和实时性提出了越来越高的要求。卫星的星历, 是描述有关卫星运动轨道的信息。利用 GPS 进行定位,

7、 就是根据已知的卫星轨道信息和用户的观测资料, 通过数据处理来确定接收机的位置及其载体的航行速度。所以, 精确的轨道信息是精密定位的基础。GPS 的卫星星历按照精度可分为精密星历和广播星历。精密星历是由国际 GPS 服务中心( IGS) 通过Internet 发布,它的轨道精度可达到 10cm 左右, 足以满足精密定位的需要。但是精密星历只能在卫星观测的 11d 后获得, 无法为实时定位、导航、气象等实时性要求很强的应用提供有效的服务。广播星历是通过接收机接收卫星发射的含有轨道信息的导航电文, 经过解码获得的卫星星历推算得到卫星位置, 可以实现实时的导航和定位。本程序以 2009 年 11 月

8、 21 日上海跟踪站(SHAO)的 RINEX 格式广播星历shao3250.09n 和观测数据 shao3250.09o 为例,取了 200 个连续观测历元,在不同历元求出坐标值,最后求出坐标平差值,对平差值的各分量作比较。1.21.2 国内外发展动态国内外发展动态绝对定位按天线所处状态可以分为动态绝对定位和静态绝对定位;按观测量的性质,可分为测码伪距绝对定位和测码伪距相对定位。尤其是动态绝对定位的方法,由于它的实时、省力、简洁等优点具有广阔的应用天地。近十年 GPS 理论以趋于完善,特别是 GPS 静态定位方面,已有许多可靠和成功的软件,但在绝对定位方面,尤其是实时绝对定位方面,由于 GP

9、S 定位中包含许多误差,利用传统的方法很难将其影响除掉,使得 GPS 在某些场合的应用收到一定限制。GPS 定位的主要误差源包括:1)卫星测量误差。可分为卫星时钟误差、星历误差、电离层的附加延迟误差、对流层的附加延迟误差、多径效应以及接收机本身的GPS 绝对定位的程序设计2噪音。2)卫星几何位置造成的定位误差。GPS 正展现出愈来愈巨大的应用潜力,应用不仅从定位范围和定位方式上提出了各种要求,定位精度的要求也有大幅提高,从米级到亚毫米级,而且提出的较高要求指标还包括可靠性和可用性。为了增强可靠性和可用性,在实际应用中还发展了与 GLONASS、无线信标、WARS、INS 等系统进行联合集成,同

10、时欧空局正在积极推进 GALILEO 系统,国际上也随之在酝酿 GPS 和 GALILEO 定位系统的集成。比较可靠地定位系统还必须有可靠的定位软件与计算机硬件的辅助,定位方面的软件开发也是各个研究机构比较注重的方面之一。有了好的软件,人们才能在生活和工作中更方便、快捷、准确、可靠和充分的利用定位系统给人类带来的方便之处。1.3 本文主要研究工作和章节安排本文主要研究工作和章节安排本文主要介绍了 GPS 卫星轨道坐标计算数学模型,单点定位数学模型,并根据最小二乘原理,利用 VB 语言对以上过程进行了实现。整个论文内容安排如下:第 1 章简单介绍了 GPS 发展,阐述了国内外 GPS 绝对定位的

11、研究状况,以及本文所做的工作及论文结构第 2 章介绍了卫星轨道参数与广播星历参数以及 GPS 卫星轨道坐标计算数学模型。第 3 章介绍了 GPS 绝对定位的算法实现以及数学模型第 4 章介绍了编程语言 VB 的基本情况,GPS 绝对定位的程序的设计目的、思路、流程以及程序中设计模块的应用第 5 章研究了软件的使用效能,也就是实例的计算与分析第 6 章为本论文的结论2 2 GPSGPS 卫星轨道坐标计算数学模型卫星轨道坐标计算数学模型广播星历就是卫星 GPS 将含有轨道信息的导航电文发送给用户接收机,然后经过解码获得的卫星星历。GPS 用户通过卫星广播星历,可以获得 16 个卫星星历参数,其中,

12、1 个参考时刻,6 个相应参考时刻的开普勒轨道参数和 9 个摄动力影响的参数。这些参数的定义如下表所示:GPS 绝对定位的程序设计3表 1 导航电文中的参考参数参数名称参数名称oet星历参数的参考历元n平均运行速度差sa轨道长半轴的方根升交点赤经变化率se轨道偏心率i轨道倾角变化率0i参考时刻的轨道倾角,usucCC升交距角的调和改正项振幅0参考时刻的升交点赤经,isicCC轨道倾角的调和改正项振幅s近地点角距,rsrcCC卫星地心距的调和改正项振幅sM参考时刻的平近点角AODE星历数据的龄期其中,AODE 表示从最后一次注入电文起外推星历时 0 的外推时间间隔,它反映了外推星历的可靠程度。根

13、据上述数据,便可外推出观测时刻 t 的轨道参数,从而计算卫星在不同参考系中的相应坐标。用广播星历参数计算卫星位置:在利用 GPS 信号进行导航定位时,为了解算用户在地心坐标系中的位置,GPS接收机需要测定测站到卫星的距离并且要知道同一卫星在同一时刻的地心坐标2。卫星的地心坐标是从卫星的导航电文中提供的开普勒轨道参数和轨道摄动修正量按一定公式计算的。1)计算卫星运行的平均角速度:n卫星的平均角速度用下式计算:0n (1)320/nGMa式中,GM=398600.5是WGS-84坐标系中地球引力常数。32() /kms利用导航电文中给出的摄动改正数,用下式求卫星运行的平均角速度:nn (2)0nn

14、n2)对观测时刻 做卫星钟差改正:tGPS 绝对定位的程序设计4 ttt (3)201020()()eetaa tta tt 在计算卫星钟差改正时, 可近似取 。ttt3)观测时刻的平近点角的计算:sM (4)00()seMMn tt4)计算偏近点角:sE (5)sinssssEMeE(5)式可用迭代法进行计算,即先令代入上式,求出再代入上式计ssEMsE算,由于偏心率e很小(只有0.01) ,因此收敛很快,只需迭代两次便可求出偏近点角。5)真近点角的计算: cos(cos)/(1cos)sssssfEeeE 2sin( 1sin)/(1cos)ssssfeEeE (6)2arctan( 1s

15、in)/ssssfeEEe6)计算升交角距及轨道摄动改正项:0u升交角距: 00suf摄动改正项: (7)000000sin2cos2sin2cos2sin2cos2uusucrrsrciisiccucucucucucu7)计算经过摄动改正的升交角距、卫星到地心距离 、轨道倾角 uri (8)000(1cos)()usssrieuuraeEiii ttGPS 绝对定位的程序设计58)计算卫星轨道平面坐标系中的坐标:卫星在轨道平面坐标系中的坐标为 (9)cossinxruyru9)计算观测时刻升交点经度:升交点经度为该时刻升交点赤经与格林尼治恒星时 GAST 之差,即 (10)GAST 观测时刻

16、的升交点赤经为参考历元的升交点赤经加上观测时刻与参考历元0et0e之间的升交点的赤经变化,即 (11)00()eett 另外,卫星电文中提供了一周开始时刻(星期六子夜)以秒计算的格林尼治恒星时 GATS。由于地球的自转作用,GAST 也不断增加。增加量与地球自转速率0( )t有关=7.29211567。所以,观测时刻 GAST 用下式计算:eWeW510/rad s GAST=GAST+ (12)0( )t0()eW tt考虑到(11)式和(12)式,则 (13)0000()GAST( )()eeetttW tt 因为000GAST( )et 000()()eettW tt 考虑到 和都是从开

17、始起算,即0,则(13)式为t0et0t0t (14)000()eeeeWttW t 10)计算卫星在地心坐标系中空间直角坐标: (15)000cossincossinsinsincoscoscossin0sincosXXiiYiiYZiiZ 11)如果考虑极移影响,可求在协议地球坐标系中的空间直角坐标:GPS 绝对定位的程序设计6 (16)10011ppCTSppxXXYyYZZxy 3 3 GPSGPS 单点定位数学模型单点定位数学模型由于接收机测量的是伪距,在观测值中存在着接收机钟差,加之测量点的三维坐标为待求值,一共有 4 个未知数。要求解出这 4 个未知数,必须有 4 个方程式。为此

18、,要实现单点绝对定位必须同时观测 4 颗卫星,才能组成定位的基本方程4。设为伪距观测量,为接收机到卫星的真距离,为接收机钟差,则观测方R程为 (17)Rc 222()()()spspspXXYYZZc 式中,假定伪距观测量已经过星历中的对流层和电离层改正;为卫星(,)sssX Y Z的瞬时地心坐标,可由卫星星历电文中求出;为接收机的地心坐标,是(,)pppXYZ待求量。为了求解方便和数据处理的需要,将式(17)进行微分,作线性化处理,并将接收机的概略坐标作为初始值代入,得到000(,)pppXYZ (18)s0s0s0000XZd =ddYdZdpppXYYZXtRRR式中,为接收机钟差对应的

19、空间距离,ddtc2220000()()()spspspRXXYYZZ从式(18)中看出,三个坐标分量的系数是接收机到卫星的单位矢径分别向三个坐标轴投影的方向余弦。采用符号spXXlRspYYmRGPS 绝对定位的程序设计7 (19)spZZnR规定上标为卫星号,下标 为测站号,则组成伪距定位的基本方程i (20)1111221131134114ddX1ddY1dZ1d1ddiiiiiiiiiiiiiiiiiiilmnlmnlmnlmnt采用矩阵表示 观测量1234ddddTiiiiil 状态矩阵1112113114111111iiiiiiiiiiiiilmnlmnAlmnlmn 未知数dXd

20、YdZdTiiiiXt则式(20)变为 (21)0iiiA Xl对式(21)求解,便得到接收机地心坐标的唯一解 (22)1iiiXA l在计算过程中,下列几个问题必须注意11:(1)卫星之间的钟差是利用导航电文中给出的钟差改正数统一到 UTC 时间。这里,考虑的钟差是指卫星与接收机之间的钟差。(2)在计算中采用了接收机的概略坐标,第一次计算出的结果是不精确的。因此,必须反复迭代计算,直到满足规定的限差为止。(3)在一般导航型接收机中,都是采用这一数学模型计算位置的。现有的接收机都能同时跟踪四个以上卫星,但在计算中仍然利用四个卫星,不过是结果挑选的四个卫星。为此,按卫星的星座分布分成若干组,计算

21、其 PDOP,最后选择和利用一组其 PDOP 为最小的卫星作为计算数据,以得到最高的定位精度。在测地型接收机和高质量的导航接收机中,都具有 8 个以上的通道,能同时跟踪 7 颗以上的卫星。为了提高定位精度,在计算位置过程中,利用了所有的卫星观GPS 绝对定位的程序设计8测值。在这样情况下,出现了多余观测,观测值的个数超过了未知数的个数,使得式(21)的右端不等于零 (23)iiiiA Xl式中,为残差向量。根据最小二乘法的原理,最后得到接收机的123(,)TT 位置解为 (24)1()TTiXA AA l其精度为 (25)22100()TxxDm QmA A式中,为伪距测量中误差,为权系数阵。

22、0mxQ这种多余观测的优点在于消除了卫星定位的系统误差。过去,我们经常发现在仅用 4 颗卫星的差分定位中,当中间更换卫星时,位置会出现较大的偏移,等过了数秒后又逐渐回到原位。定位精度越高,这一现象越明显,当应用 4 颗以上的卫星定位时,这一现象就不存在了。4 4 程序设计程序设计4.14.1 VBVB 介绍介绍 Visual Basic,简称 VB,是 Microsoft 公司推出的一种 Windows 应用程序开发工具。是当今世界上使用最广泛的编程语言之一,它也被公认为是编程效率比较高的一种编程方法。无论是开发功能强大、性能可靠的商务软件,还是编写能处理实际问题的实用小程序,VB 都是最快速

23、、最简便的方法。4.24.2 绝对定位程序的总体设计绝对定位程序的总体设计4.2.14.2.1 系统描述与需求分析系统描述与需求分析基本功能要求:实现 GPS L1 C/A 码伪距单点定位功能,精度符合 GPS 标准定位服务 SPS可选择输入/输出文件名,输入不正确时,可识别并提示(即星历和观测值文件不同步)GPS 绝对定位的程序设计9可显示 GPS 时和北京时间的转换程序运行稳定输入:原始数据为 RINEX 的 O 文件,星历为 RINEX 的 N 文件或 SP3输出:每个历元下的单点定位值,方式为屏幕,自定义格式文件运行环境:Windows 环境下的控制台程序或窗口程序且为单独可执行的文件

24、4.2.24.2.2 软件总体设计软件总体设计在需求分析的基础上通过抽象和分解将系统分解为模块,确定系统功能是否实现,即把软件需求转换为软件模块表示的过程。该过程是一个分解的过程图 1 软件的总体设计4.2.34.2.3 设计软件系统结构设计软件系统结构采用某种方法,将系统按功能划分成模块。 (划分)确定模块的功能。 (功能)确定模块之间的调用关系。 (调用)确定模块之间传递的信息。 (接口)评价模块结构的质量。 (质量)4.2.44.2.4 数据结构与数据库设计数据结构与数据库设计1)主要的数据结构:单历元观测值星历参数(广播星历、精密星历)坐标时间2)数据库设计:概念设计逻辑设计物理设计输

25、入计算输出GPS 绝对定位的程序设计104.2.54.2.5 程序中的模块程序中的模块1)完成各功能的模块:数据读取模块(RINEX 读取) 读取 RINEX 卫星数据存于星历结构中读取一历元 RINEX 观测数据求解卫星发射时刻的卫星坐标根据观测历元时刻和观测值,计算卫星发射时刻传播时间收敛否计算坐标及精度信息组法方程系数,求解法方程观测值进行各项改正修正卫星传播时间与前一次计算值比较,收敛否输出该历元结果文件结束否开始GPS 绝对定位的程序设计11图 2 程序流程图卫星位置计算模块 各项改正模块 数据显示输出模块2)基础模块:法方程解算模块(矩阵运算)时间模块坐标计算及转换模块 4.2.6

26、4.2.6 程序流程程序流程单点定位程序的流程是一个反复迭代的过程(卫星位置、接收机位置的迭代) ,程序流程图如图 2 所示。5 计算实例及误差分析计算实例及误差分析利用该软件打开星历文件和观测文件,计算出观测文件中连续观测到的卫星坐标、观测文件中 GPS 卫星的坐标,最终计算出接收机的位置坐标。步骤截图如下:结束GPS 绝对定位的程序设计12图 3 软件主界面截图图 4 观测文件中 GPS 卫星的坐标GPS 绝对定位的程序设计13图 5 观测文件中连续观测到的卫星坐标图 6 坐标及坐标改正数GPS 绝对定位的程序设计146 6 结论结论如何利用GPS的广播星历来获得比较准确的卫星位置, 进而

27、为实时、精确的导航和定位服务是一件相当复杂的工作。如何在工作中考虑各种误差对定位精度的影响, 如何利用不同的算法来提高定位的精度, 一直是人们非常关心的课题。通过一个实例的计算, 详尽介绍了利用GPS广播星历计算卫星位置和利用观测数据计算地面点坐标的方法和原理,简单的对计算结果的误差进行了分析, 证实了该算法的可行性。由于本作者水平有限,文中不足之处还有很多,如何进一步提高GPS定位的精度,还需要进一步的研究。致致 谢谢本论文是在河南工程学院土木系刘小强老师的悉心指导下完成的。刘老师作为一名优秀的、经验丰富的教师,具有丰富的专业知识和教学经验,在整个论文实验和论文写作过程中,对我进行了耐心的指导和帮助,提出严格要求,引导我不断开阔思路,为我答疑解惑,鼓励我大胆创新,使我在这一段宝贵的时光中,既增长了知识、开阔了视野、锻炼了心态,又培养了良好的实验习惯和科研精神。在此,我向我的指导老师表示最诚挚的谢意!在论文即将完成之际,我的心情久久无法平静,从开始选题到顺利论文完成,有不知多少多少

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论