RTKLIB开发文档.docx

上传人:b****6 文档编号:7799815 上传时间:2023-01-26 格式:DOCX 页数:15 大小:143.80KB
下载 相关 举报
RTKLIB开发文档.docx_第1页
第1页 / 共15页
RTKLIB开发文档.docx_第2页
第2页 / 共15页
RTKLIB开发文档.docx_第3页
第3页 / 共15页
RTKLIB开发文档.docx_第4页
第4页 / 共15页
RTKLIB开发文档.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

RTKLIB开发文档.docx

《RTKLIB开发文档.docx》由会员分享,可在线阅读,更多相关《RTKLIB开发文档.docx(15页珍藏版)》请在冰豆网上搜索。

RTKLIB开发文档.docx

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)支持多种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、u‐blox:

LEA-4T/5T/6T、SkyTraq、JAVAD、GW10-II/III和NVS。

(5)支持外部通信:

Serial、TCP/IP、NTRIP、本地日志文件(记录和播发)和FTP/HTTP。

(6)提供许多函数库和API(applicationprograminterfaces):

卫星和导航系统函数、矩阵和向量函数,时间和字符串函数、坐标的转换,输入和输出函数、调试跟踪函数、平台依赖函数、定位模型、大气模型、天线模型、地球潮汐模型、大地水准面模型、基准转换、RINEX函数、星历和时钟函数、精密星历和时钟、接收机原始数据函数、RTCM函数,解算函数、流数据输入和输出函数、整周模糊度解算、标准定位、精密定位、后处理定位(解算)。

RTKLIB同样也有一些缺陷,RTKLIB在数据预处理(粗差探测),周跳探测方面的算法有些问题,RTKLIB的源代码并不支持北斗系统的解算。

同时,RTKLIB的框架过于过时,它的GUI是用的早期BorlandC++设计,无法满足跨平台需求,基于这些问题,我们小组经过讨论,决定对这些问题进行修复,改进单频解算算法,同时基于Qt5对GUI层进行重新设计。

项目背景及必要性

中国北斗卫星导航系统是中国自行研制的全球卫星导航系统。

是继美国GPS、俄罗斯GLONASS之后的第三个成熟的卫星导航系统。

目前北斗系统已具备覆盖亚太地区的定位、导航和授时以及短报文通信服务能力,预计2020年建成覆盖全球的北斗导航系统。

目前多数接收机并不存在单纯的使用GPS进行卫星定位,而是在支持GPS的基础上还加入了GLONASS以及北斗系统。

接收机在定位时可以同时使用这两大卫星定位系统,这样就可以在某个卫星定位发生问题时,使用另外一个系统进行定位。

或者在使用GPS进行定位的同时,再使用GLONASS或者北斗来进行辅助,以此来增强定位的速度及准确率。

另外,众多的个人或行业应用中,定位都成为一种必不可少的基础功能,个人用户的社交信息、行程足迹;行业中的车辆管理、物流监控等无不需要卫星定位功能。

RTK定位是北斗导航系统应用的一个重要方面,基于GPS的RTK算法已经十分成熟,

各种商业软件的推出也推动了GPSRTK算法的完善和发展。

此外由于北斗导航系统现在

已经有十几颗可用卫星,基于北斗系统的应用和研究也已经在全国乃至世界范围内展开,

所以在研究RTK的算法时,有必要考虑将BDS加入算法中去,基于BDS/GPS的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日至15日

数据测试,编写数据精度报告

2.需求分析

软件描述

表2.1软件模块

序号

功能名称

功能需求标识

简要描述

01

RTK解算

rtkpost

单频rtk解算

02

RTK成图

rtkplot

对解算结果成图

03

RTK查看

rtkview

查看解算结果

04

RTK平滑

rtksmooth

对基准站进行平滑

运行环境及外部接口需求

(1)硬件要求

程序硬件要求:

1)具有InterI3处理器且满足以下要求的计算机:

2)最低512MB内存、最小1GB硬盘、鼠标、键盘

(2)软件要求

操作系统:

Windows7Windows8Windows10Ubuntu16.04

(3)用户接口

1)采用Qt通用图形界面,用户友好。

2)界面具有一致性,界面规范遵循软件界面的规范。

3)提供错误信息。

4)遵循国家关于计算机方面词汇的标准,用词正确、准确、无歧义。

5)本系统的用户一般需要通过中断进行操作,进行主界面后点击相应的窗口,分别进入相对应的界面(如,输入界面、输出界面)。

3.软件设计

软件体系结构

图3.1软件体系结构

软件解算流程

图3.2结算流程图

软件设计模块

软件主要包括四个模块:

读取文件、伪距单点定位、数据预处理、RTK定位解算、结果输出。

(1)读取文件

其中RINEX观测文件RTKLIB已经有现成模块,但是RTKLIB,我们在RTKLIB基础上通过修改频率优先级增加了读取北斗观测文件功能。

同时,基于比赛广播星历数据,我们特地针对北斗星历增加了读取北斗广播星历函数。

(2)伪据单点定位

先进行伪据单点定位,求取平均值作为基站近似坐标,同时得到卫星坐标以及钟差信息,以便组成双差观测方程。

(3)数据预处理

数据预处理阶段,我们着重做了一下三个工作:

粗差探测、周跳探测、载波平滑伪距。

经过我们测试,RTKLIB中的周跳探测并不完善,因此我们在解算前再加入一次周跳探测。

首先由

相位观测方程可得到GF组合(消去了与频率无关的几何距离和钟差等),由于相邻历元电离层变化很小,因此可忽略相邻历元差后的电离层残差。

同时,在组成MW组合,对MW组合观测值做历元差分,以3倍中误差为限,与GF组合联合,通过求解方程组得到精确周跳。

RTKLIB中并没有单频周跳探测功能,于是我们增加了基于流动站的单频周跳探测功能。

对每个历元k,卫星s,进行探测:

若数据缺失超过阈值,标记周跳。

若没有超过,则逐个计算伪距与载波之差:

则标记周跳。

在修复完周跳后,我们进行了粗差探测以及载波平滑伪据。

在GPS定位时,利用码观测值得到的结果精度较低,可以利用载波相位的变化来平滑伪据,从而取出伪距粗差,提高伪据观测定位精度。

(4)RTK定位解算

在解算过程中,我们基于RTKLIB添加了DCB改正。

GPS广播星历中卫星钟差参数是由L1P(Y)和L2P(Y)消电离层组合计算得到的,该参数中含有L1P(Y)和L2P(Y)在卫星端的硬件延迟影响。

为扣除这一偏差对导航用户的影响,GPS引入了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/A信号间的频内偏差参数,ISCL2C、ISCL5I及ISCL5Q分别是L1P(Y)与L2C、L5I5、L5Q5信号间的频间偏差参数。

TGD也可以看作是L2P(Y)信号上的ISC参数,不过要乘一个与频率有关的常数进行转换。

考虑到广播的TGD及ISC参数与DCB参数之间的转换关系,GPS单双频用户也可以

利用后处理的DCB参数改正硬件延迟误差后进行定位。

(5)结果输出

基于RTKLIB增加了卫星系统输出,以及参考框架。

最终输出还包括时间,状态,三维坐标,精度指标等内容。

软件功能描述

表3.1POST模块

功能项

解算

标识

POST

功能描述

对输入的观测文件进行解算

使用角色

用户

主要事件流程

用户操作

系统响应事件

单击Option按钮

设置解算参数

单击View按钮

查看解算结果

单击Plot按钮

绘制波动图或定轨图

单击Exec按钮

开始解算

单击Exit按钮

退出

前置条件

用户需要设置Option参数,以及选择相应文件

后置条件

生成解算文件(*.pos)

接口说明

输入

输出

调用关系

调用模块

rtkpos.cpprinex.cppSatPass.cppDCPass.cpp

被调用模块

rtkwork.cpp

表3.2View模块

功能项

查看

标识

View

功能描述

对输入的观测文件进行查看

使用角色

用户

主要事件流程

用户操作

系统响应事件

单击Refresh按钮

重新加载解算文件

单击Read按钮

重新选择解算文件

单击Exit按钮

退出

前置条件

后置条件

接口说明

输入

输出

调用关系

调用模块

plotwindow.cpp

被调用模块

post

表3.3Plot模块

功能项

绘图

标识

Plot

功能描述

对输入的观测文件进行成图

使用角色

用户

主要事件流程

用户操作

系统响应事件

单击Open按钮

选择解算结果文件

单击Refresh按钮

重新绘制

单击Position按钮

绘制波动图

单击GndTrk按钮

绘制轨迹图

单击Save按钮

保存

单击Exit按钮

退出

前置条件

用户需要选择解算结果,并选择绘图类型

后置条件

接口说明

输入

输出

调用关系

调用模块

qcustomplot.cpp

被调用模块

rtkwork.cpp

表3.4Option模块

功能项

选项

标识

Option

功能描述

设置解算策略

使用角色

用户

主要事件流程

用户操作

系统响应事件

单击OK按钮

设置并保存解算参数

单击Cancel按钮

退出

前置条件

用户需要设置Option参数,以及选择相应文件

后置条件

生成解算文件(*.pos)

接口说明

输入

输出

调用关系

调用模块

optiondlg.cppcontrolplus.cpp

被调用模块

post

表3.5Smooth模块

功能项

平滑

标识

Smooth

功能描述

数据预处理

使用角色

用户

主要事件流程

用户操作

系统响应事件

前置条件

-infile-outfile-dt

后置条件

生成平滑后的观测文件(*.*o)

接口说明

输入

输出

调用关系

调用模块

smoothe.cpp

被调用模块

post

全局数据结构说明

除了RTKLIB原有文件外,我们新增加了5个头文件:

表3.6新增文件

序号

头文件

实现文件

功能

01

MathBase.h

常用排序函数,以及统计函数

02

SatPass.h

SatPass.cpp

将观测数据按照卫星编号分类存储,可用于载波平滑伪据

03

Segment.h

存储了SatPass中卫星历元连续信息,用于探测周跳

04

DCPass.h

DCPass.cpp

M-W探测周跳,修复周跳

05

Stats.h

常用数学函数,最大值,最小值,方差等

软件中全局数据结构如下表所示:

表3.7全局宏定义

序号

宏定义

所属文件

说明

01

PI

rtklib.h

圆周率

02

CLIGHT

rtklib.h

光在真空中的速度

03

OMGE

rtklib.h

地球自转角速度

04

FEQ1

rtklib.h

GPSL1频率

05

FEQ2

rtklib.h

GPSL2频率

06

FEQ1_CMP

rtklib.h

北斗B1频率

07

FEQ2_CMP

rtklib.h

北斗B2频率

08

FEQ3_CMP

rtklib.h

北斗B3频率

09

D2R

rtklib.h

度转弧度

10

R2D

rtklib.h

弧度转度

11

WLNWINDOWS*

DCPass.cpp

WL周跳探测滑动窗口宽度

12

MAXWINDOWSIZE*

rtkpos.cpp

单频周跳探测最大滑动窗口宽度

4.

软件操作说明

4.1界面介绍

图4.1为软件主界面图,其中从上到下分别是流动站文件,参考站文件,广播星历文件,精密星历文件,精密种差等IGS文件,DCB文件以及解算结果文件。

其中参考站文件,基准站文件和广播星历文件为必选,其余的为可选项。

针对这次的比赛数据,我们特地为北斗广播文件增设了一个选择框,并且在源码中进行了识别。

图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为采样率,设置为1s,ElevatonMask为截止高度角(单位为度)这里设置为10,IonosphereCorrection与TroposphereCorrection为电离层与对流层模式,由于只是演示,这里分别选择Broadcast和Saastamoinen,卫星系统选择GPS和北斗。

Setting2选项卡中,Freqiquencies为频率选择,虽然流动站为单频,但是基准站为双频,所以还是选择L1+2,在解算过程中会程序会自动识别。

IntegerAmbiguityRes为模糊度固定方式,由于是连续观测,这里选择FixandHold,MinRatiotoFixAmbiguity为ratio值,默认为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)上述步骤操作完成后,点击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比赛数据

测试结果

测试用例

20160908-2

测试日期

2017-08-11

序号

测试项

备注

卫星系统

电离层、对流层

星历

01

GPS

双估

广播星历

由于比赛数据中北斗星历存在问题,所以只测试了GPS系统。

精密星历默认即增加DCB改正,所有的测试中平滑选项保持开启。

02

GPS

双估

精密星历

03

GPS

不估

广播星历

04

GPS

不估

精密星历

序号

测试项

输出结果

结果

01

未选择文件点击Execute按钮

提示:

errornoobsdata

正常

02

没有解算点击Plot,View按钮

只显示空坐标系

正常

03

Option是否能记忆用户上一次选项

可以

正常

04

删去post.ini,点击Options

显示默认设置,并重新创建post.ini

正常

05

点击Execute,在点击Abort

程序正常终止

正常

06

在Abort后再次点击Execute

程序正常执行

正常

参考文献

[1]BrianTolman,R.BenjaminHarris,TomGaussiran,DavidMunton,JonLittle,RichardMach,ScotNelsen,BrentRenfro,ARL:

UT;DavidSchlossberg,UniversityofCaliforniaBerkeley."TheGPSToolkit--OpenSourceGPSSoftware."Proceedingsofthe17thInternationalTechnicalMeetingoftheSatelliteDivisionoftheInstituteofNavigation(IONGNSS2004).LongBeach,California.September2004.

[2]Blewitt,G.,1990.AnautomaticeditingAlgorithmsforGPSdata.GeophysicalResearchLetters.17(3),pp.199-202.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 工学

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

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