ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:143.80KB ,
资源ID:7799815      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7799815.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(RTKLIB开发文档.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

RTKLIB开发文档.docx

1、RTKLIB开发文档软件开发文档软件名称RTKPOST项目组成员王会、刘琦起止日期2017年6月20日至2017年8月15日1. 项目论证目标任务根据比赛要求,经过小组讨论,我们选择了RTKLIB进行二次开发。RKTLIB是全球导航卫星系统GNSS的标准&精密定位开源程序包,RKTLIB由日本东京海洋大学的高须知二开发。RTKLIB主要功能有:(1)支持多个GNSS系统的标准和精密定位算法,包括GPS,GLONASS,Beidou,Galileo,QZSS和SBAS。(2)支持多种GNSS实时和后处理定位模式:单点定位、DGPS/DGNSS,动态RTK、静态RTK、移动基站、PPP。(3)支持

2、多种GNSS标准格式和协议:RINEX2.10、RINEX2.11、RINEX2.12、RINEX3.00、RINEX3.01、RINEX3.02、RTCM2.3、RTCM3.1、RTCM3.2、BINEX、NTRIP、NMEA0183、SP3、ANTEX1.4、IONEX1.0、NGSPCV、EMS2.0。(4)支持多种GNSS接收机专有数据协议格式:NovAtel:OEM4/V/6,OEM3,OEMStar、SuperstarII、Hemisphere、Crescent、ublox:LEA-4T/5T/6T、SkyTraq、JAVAD、GW10-II/III和NVS。(5)支持外部通信:S

3、erial、TCP/IP、NTRIP、本地日志文件(记录和播发)和FTP/HTTP。(6)提供许多函数库和API(applicationprograminterfaces):卫星和导航系统函数、矩阵和向量函数,时间和字符串函数、坐标的转换,输入和输出函数、调试跟踪函数、平台依赖函数、定位模型、大气模型、天线模型、地球潮汐模型、大地水准面模型、基准转换、RINEX函数、星历和时钟函数、精密星历和时钟、接收机原始数据函数、RTCM函数,解算函数、流数据输入和输出函数、整周模糊度解算、标准定位、精密定位、后处理定位(解算)。RTKLIB同样也有一些缺陷,RTKLIB在数据预处理(粗差探测),周跳探测

4、方面的算法有些问题,RTKLIB的源代码并不支持北斗系统的解算。同时,RTKLIB的框架过于过时,它的GUI是用的早期BorlandC+设计,无法满足跨平台需求,基于这些问题,我们小组经过讨论,决定对这些问题进行修复,改进单频解算算法,同时基于Qt5对GUI层进行重新设计。项目背景及必要性中国北斗卫星导航系统是中国自行研制的全球卫星导航系统。是继美国GPS、俄罗斯GLONASS之后的第三个成熟的卫星导航系统。目前北斗系统已具备覆盖亚太地区的定位、导航和授时以及短报文通信服务能力,预计2020年建成覆盖全球的北斗导航系统。目前多数接收机并不存在单纯的使用GPS进行卫星定位,而是在支持GPS的基础

5、上还加入了GLONASS以及北斗系统。接收机在定位时可以同时使用这两大卫星定位系统,这样就可以在某个卫星定位发生问题时,使用另外一个系统进行定位。或者在使用GPS进行定位的同时,再使用GLONASS或者北斗来进行辅助,以此来增强定位的速度及准确率。另外,众多的个人或行业应用中,定位都成为一种必不可少的基础功能,个人用户的社交信息、行程足迹;行业中的车辆管理、物流监控等无不需要卫星定位功能。RTK定位是北斗导航系统应用的一个重要方面,基于GPS的RTK算法已经十分成熟,各种商业软件的推出也推动了GPSRTK算法的完善和发展。此外由于北斗导航系统现在已经有十几颗可用卫星,基于北斗系统的应用和研究也

6、已经在全国乃至世界范围内展开,所以在研究RTK的算法时,有必要考虑将BDS加入算法中去,基于BDSGPS的RTK定位算法研究及软件编制显得十分必要。计划进展表1.1计划进展日期说明6月15日明确任务以及了解整个比赛进度安排6月16日至30日在RTKLIB上加入DCB改正7月01日至20日在RTKLIB上加入单频周跳探测7月21日至8月01日在RTKLIB上加入数据预处理,修正周跳探测、添加载波平滑伪据、粗差探测7月02日至8月05日在RTKLIB上加入北斗系统,修正RTKLIB一些现存问题8月06日至10日对RTKLIB的GUI进行重写,并在Windows和Ubuntu上进行测试8月11日至1

7、5日数据测试,编写数据精度报告2. 需求分析软件描述表2.1软件模块序号功能名称功能需求标识简要描述01RTK解算rtkpost单频rtk解算02RTK成图rtkplot对解算结果成图03RTK查看rtkview查看解算结果04RTK平滑rtksmooth对基准站进行平滑运行环境及外部接口需求(1)硬件要求程序硬件要求:1) 具有InterI3处理器且满足以下要求的计算机:2) 最低512MB内存、最小1GB硬盘、鼠标、键盘(2)软件要求操作系统:Windows7Windows8Windows10Ubuntu16.04(3)用户接口1) 采用Qt通用图形界面,用户友好。2) 界面具有一致性,界

8、面规范遵循软件界面的规范。3) 提供错误信息。4) 遵循国家关于计算机方面词汇的标准,用词正确、准确、无歧义。5) 本系统的用户一般需要通过中断进行操作,进行主界面后点击相应的窗口,分别进入相对应的界面(如,输入界面、输出界面)。3. 软件设计软件体系结构图3.1软件体系结构软件解算流程图3.2结算流程图软件设计模块软件主要包括四个模块:读取文件、伪距单点定位、数据预处理、RTK定位解算、结果输出。(1)读取文件其中RINEX观测文件RTKLIB已经有现成模块,但是RTKLIB,我们在RTKLIB基础上通过修改频率优先级增加了读取北斗观测文件功能。同时,基于比赛广播星历数据,我们特地针对北斗星

9、历增加了读取北斗广播星历函数。(2)伪据单点定位先进行伪据单点定位,求取平均值作为基站近似坐标,同时得到卫星坐标以及钟差信息,以便组成双差观测方程。(3)数据预处理数据预处理阶段,我们着重做了一下三个工作:粗差探测、周跳探测、载波平滑伪距。经过我们测试,RTKLIB中的周跳探测并不完善,因此我们在解算前再加入一次周跳探测。首先由、相位观测方程可得到GF组合(消去了与频率无关的几何距离和钟差等),由于相邻历元电离层变化很小,因此可忽略相邻历元差后的电离层残差。同时,在组成MW组合,对MW组合观测值做历元差分,以3倍中误差为限,与GF组合联合,通过求解方程组得到精确周跳。RTKLIB中并没有单频周

10、跳探测功能,于是我们增加了基于流动站的单频周跳探测功能。对每个历元k,卫星s,进行探测:若数据缺失超过阈值,标记周跳。若没有超过,则逐个计算伪距与载波之差:若则标记周跳。在修复完周跳后,我们进行了粗差探测以及载波平滑伪据。在GPS定位时,利用码观测值得到的结果精度较低,可以利用载波相位的变化来平滑伪据,从而取出伪距粗差,提高伪据观测定位精度。(4)RTK定位解算在解算过程中,我们基于RTKLIB添加了DCB改正。GPS广播星历中卫星钟差参数是由L1P(Y)和L2P(Y)消电离层组合计算得到的,该参数中含有L1P(Y)和L2P(Y)在卫星端的硬件延迟影响。为扣除这一偏差对导航用户的影响,GPS引

11、入了TGD参数扣除。GPS卫星在发射前都会在地面对卫星TGD参数进行提前标定。1999年4月后,GPS开始播发由JPL基于IGS基准站数据处理得到的TGD参数,且每四个月左右更新一次。2005年起发射的GPSBlockIIR-M卫星在L2频率上增加了L2C民用信号,2010年起发射的GPSBlockIIF卫星新增了L5频率以及L5I5、L5Q5两种民用信号。与之对应,GPS在L1C/A、L2C、L5I5及L5Q5民用信号上相对于L1P(Y)分别定义了一个ISC参数,即ISCC/A、ISCL2C、ISCL5I及ISCL5Q。ISC参数本质上也是DCB参数,其中ISCC/A是L1P(Y)与L1C/

12、A信号间的频内偏差参数,ISCL2C、ISCL5I及ISCL5Q分别是L1P(Y)与L2C、L5I5、L5Q5信号间的频间偏差参数。TGD也可以看作是L2P(Y)信号上的ISC参数,不过要乘一个与频率有关的常数进行转换。考虑到广播的TGD及ISC参数与DCB参数之间的转换关系,GPS单双频用户也可以利用后处理的DCB参数改正硬件延迟误差后进行定位。 (5)结果输出 基于RTKLIB增加了卫星系统输出,以及参考框架。最终输出还包括时间,状态,三维坐标,精度指标等内容。软件功能描述表3.1POST模块功能项解算标识POST功能描述对输入的观测文件进行解算使用角色用户主要事件流程用户操作系统响应事件

13、单击Option按钮设置解算参数单击View按钮查看解算结果单击Plot按钮绘制波动图或定轨图单击Exec按钮开始解算单击Exit按钮退出前置条件用户需要设置Option参数,以及选择相应文件后置条件生成解算文件(*.pos)接口说明输入输出调用关系调用模块rtkpos.cpprinex.cppSatPass.cppDCPass.cpp被调用模块rtkwork.cpp表3.2View模块功能项查看标识View功能描述对输入的观测文件进行查看使用角色用户主要事件流程用户操作系统响应事件单击Refresh按钮重新加载解算文件单击Read按钮重新选择解算文件单击Exit按钮退出前置条件后置条件接口说

14、明输入输出调用关系调用模块plotwindow.cpp被调用模块post表3.3Plot模块功能项绘图标识Plot功能描述对输入的观测文件进行成图使用角色用户主要事件流程用户操作系统响应事件单击Open按钮选择解算结果文件单击Refresh按钮重新绘制单击Position按钮绘制波动图单击GndTrk按钮绘制轨迹图单击Save按钮保存单击Exit按钮退出前置条件用户需要选择解算结果,并选择绘图类型后置条件接口说明输入输出调用关系调用模块qcustomplot.cpp被调用模块rtkwork.cpp表3.4Option模块功能项选项标识Option功能描述设置解算策略使用角色用户主要事件流程用户

15、操作系统响应事件单击OK按钮设置并保存解算参数单击Cancel按钮退出前置条件用户需要设置Option参数,以及选择相应文件后置条件生成解算文件(*.pos)接口说明输入输出调用关系调用模块optiondlg.cppcontrolplus.cpp被调用模块post表3.5Smooth模块功能项平滑标识Smooth功能描述数据预处理使用角色用户主要事件流程用户操作系统响应事件前置条件-infile-outfile-dt后置条件生成平滑后的观测文件(*.*o)接口说明输入输出调用关系调用模块smoothe.cpp被调用模块post全局数据结构说明除了RTKLIB原有文件外,我们新增加了5个头文件:

16、表3.6新增文件序号头文件实现文件功能01MathBase.h常用排序函数,以及统计函数02SatPass.hSatPass.cpp将观测数据按照卫星编号分类存储,可用于载波平滑伪据03Segment.h存储了SatPass中卫星历元连续信息,用于探测周跳04DCPass.hDCPass.cppM-W探测周跳,修复周跳05Stats.h常用数学函数,最大值,最小值,方差等 软件中全局数据结构如下表所示:表3.7全局宏定义序号宏定义所属文件说明01PIrtklib.h圆周率02CLIGHTrtklib.h光在真空中的速度03OMGErtklib.h地球自转角速度04FEQ1rtklib.hGPS

17、L1频率05FEQ2rtklib.hGPSL2频率06FEQ1_CMPrtklib.h北斗B1频率07FEQ2_CMPrtklib.h北斗B2频率08FEQ3_CMPrtklib.h北斗B3频率09D2Rrtklib.h度转弧度10R2Drtklib.h弧度转度11WLNWINDOWS*DCPass.cppWL周跳探测滑动窗口宽度12MAXWINDOWSIZE*rtkpos.cpp单频周跳探测最大滑动窗口宽度4. 软件操作说明4.1 界面介绍图4.1为软件主界面图,其中从上到下分别是流动站文件,参考站文件,广播星历文件,精密星历文件,精密种差等IGS文件,DCB文件以及解算结果文件。其中参考站

18、文件,基准站文件和广播星历文件为必选,其余的为可选项。针对这次的比赛数据,我们特地为北斗广播文件增设了一个选择框,并且在源码中进行了识别。图4.1RTKPOST软件主界面图主要功能按钮介绍:执行解算:设置解算参数:查看解算结果:绘图4.2 软件安装默认我们在bin文件夹下已经生成了windows下的exe可执行程序,可直接使用,若在Linux下则需要使用qmake对gui文件夹下的gui.pro重新编译。4.3 软件操作以单频RTK比赛数据文件中的20160909-2下的数据为例:图4.2演示用例1)首先点击Options按钮,如图4.3所示,Settiing1选项卡中,Interval为采样

19、率,设置为1s,ElevatonMask为截止高度角(单位为度)这里设置为10,IonosphereCorrection与TroposphereCorrection为电离层与对流层模式,由于只是演示,这里分别选择Broadcast和Saastamoinen,卫星系统选择GPS和北斗。Setting2选项卡中,Freqiquencies为频率选择,虽然流动站为单频,但是基准站为双频,所以还是选择L1+2,在解算过程中会程序会自动识别。IntegerAmbiguityRes为模糊度固定方式,由于是连续观测,这里选择FixandHold,MinRatiotoFixAmbiguity为ratio值,默

20、认为3,Smooth为是否平滑以及粗差探测,这里选择ON。对于基准站坐标,这里选择AverageofSinglePosition,即单点定位平均值,若已知基准站坐标,则可以选择X/Y/Z-ECEF(m)模式,从而输入基准站坐标。Output中主要设置了输出选项。这里SolutionFormat输出坐标格式,选择E/N/U-Baseline,TimeFormat为时间格式,选择hh:mm:ssGPST,Latitude/LongitudeFormat为基准站坐标格式,这里选择ddd.dddddd,其余的保持默认即可。图4.3参数设置2)按照如图4.4所示选择解算文件。图4.4解算文件选择3)上述

21、步骤操作完成后,点击Execute,进行解算,解算完成后,点击View可以查看解算结果。图4.5查看解算结果4)在主界面点击Plot,可以查看绘图结果,如图4.6所示,右下角显示的是固定率。图4.5波动图5. 软件测试测试计划表5.1测试计划测试测试类型负责人时间1算法测试小组所有成员08月11日2界面测试小组所有成员08月13日3验收小组所有成员08月14日测试方法及工具测试方法:在VisualStudio中编译改进后RTKLIB源码,测试所有数据,同时在Qt中测试界面逻辑。工具:VisualStudio2013,QtCreator4.3+Qt5.9测试用例图5.1比赛数据测试结果测试用例2

22、0160908-2测试日期2017-08-11序号测试项备注卫星系统电离层、对流层星历01GPS双估广播星历由于比赛数据中北斗星历存在问题,所以只测试了GPS系统。精密星历默认即增加DCB改正,所有的测试中平滑选项保持开启。02GPS双估精密星历03GPS不估广播星历04GPS不估精密星历序号测试项输出结果结果01未选择文件点击Execute按钮提示:errornoobsdata正常02没有解算点击Plot,View按钮只显示空坐标系正常03Option是否能记忆用户上一次选项可以正常04删去post.ini,点击Options显示默认设置,并重新创建post.ini正常05点击Execute

23、,在点击Abort程序正常终止正常06在Abort后再次点击Execute程序正常执行正常参考文献1BrianTolman,R.BenjaminHarris,TomGaussiran,DavidMunton,JonLittle,RichardMach,ScotNelsen,BrentRenfro,ARL:UT;DavidSchlossberg,UniversityofCaliforniaBerkeley.TheGPSToolkit-OpenSourceGPSSoftware.Proceedingsofthe17thInternationalTechnicalMeetingoftheSatelliteDivisionoftheInstituteofNavigation(IONGNSS2004).LongBeach,California.September2004.2Blewitt,G.,1990.AnautomaticeditingAlgorithmsforGPSdata.GeophysicalResearchLetters.17(3),pp.199-202.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1