几种开源精密单点定位软件算法研究与精度分析 | ![]() |
2. 中国矿业大学国土环境与灾害监测国家测绘地理信息局重点实验室,江苏 徐州,221116
2. Key Laboratory of Land Environment and Disaster Monitoring of SBSM, China University of Mining and Technology, Xuzhou 221116, China
精密单点定位技术(precise point positioning, PPP)是利用全球若干地面跟踪站的观测数据计算出的精密卫星轨道和卫星钟差,对单台GNSS(global navigation satellite system)接收机所采集的相位和伪距观测值进行定位解算,获得高精度的待定点的国际地球参考框架(international earth rotation service, ITRF)坐标的一种定位方法[1-3]。随着PPP技术的迅猛发展,国内外已经有不少科研机构相继研发出高精度的PPP数据处理软件。美国的喷气推进实验室(Jet Propulsion Laboratory, JPL)采用平方根滤波估计方法研制出软件GIPSY,德国地学研究中心(German Research Centre for Geosciences, GfZ)研制出EPOS,加拿大Calgary大学开发了P3软件,瑞士伯尔尼大学研制出BERNESE,采用参数消除法对多余参数进行等价消除以减少法方程维数,提高计算的速度及效率。武汉大学研制出的Trip软件[4]和PANDA软件[5, 6],同样达到了国际领先水平。上述软件解算精度较高,但不易获得。目前,开源的PPP软件主要有gLAB、GAMP、PPPH、RTKLIB、BNC、PPP-Wizard、PRIDE-PPPAR等,已有相关文献对其定位性能进行初步分析[7-9]。BNC可以同时接收多个站的数据,PPP-Wizard具有实时PPP模糊度固定功能,PRIDE-PPPAR可以实现PPP模糊度固定,可解算单天静态解及高采样动态解。本文采用RTKLIB、PPPH、GAMP3种软件进行静态PPP和模拟动态PPP解算,对坐标精度和天顶对流层延迟精度及收敛时间进行分析。
1 精密单点定位算法GNSS原始伪距和相位观测方程为:
$ \begin{array}{l} {P_i} = \rho + c(d{t_r} - d{t^s}) + {M_w} \cdot {\rm{ZWD}} + \frac{{f_1^2}}{{f_{_i}^2}} \cdot {\rm{ION}} + \\ \;\;{\varepsilon _{{P_i}}} + ({M_d} \cdot {\rm{ZDD + }}\frac{{\lambda _{_i}^2}}{{\lambda _{_2}^2 - \lambda _1^2}} \cdot {\rm{DC}}{{\rm{B}}_{p1p2}} + {\delta _{{\rm{corr}}}})\\ {L_i} = \rho + c(d{t_r} - d{t^s}) + {M_w} \cdot {\rm{ZWD}} + \frac{{f_1^2}}{{f_{_i}^2}} \cdot {\rm{ION}} + \\ \;\;{\lambda _i} + \left( {{N_i} + {b_{r, i}} - {b_{s, i}}} \right) + {\varepsilon _{{L_i}}} + ({M_d} \cdot {\rm{ZDD}} + {\delta _{{\rm{corr}}}}) \end{array} $ |
式中, Pi和Li分别是频率fi(i=1, 2)上的伪距和相位观测值;ρ为站星几何距离;dtr、dts分别为接收机和卫星钟差;Mw、ZWD分别为对流层湿分量投影函数和湿分量;ION为L1载波上的电离层延迟;Md、ZDD分别为对流层干分量投影函数和干分量;DCBP1P2为频间码偏差;δcorr为潮汐、天线相位中心偏差、相对论效应、相位缠绕等各种误差改正;εPi、εLi分别为伪距和相位观测中的多路径效应及噪声;Ni为相位整周模糊度;br, i、bs, i分别为导致模糊度不能固定的接收机和卫星端的初始相位延迟。
误差模型改正参考IERS 2010标准,参数估计模块中,事后处理比较常用的有卡尔曼滤波和最小二乘估计,在实时PPP中较常用的有均方根信息滤波及卡尔曼滤波。
2 相关软件介绍RTKLIB是日本东京海洋大学开发的用于GNSS精密定位的开源程序包,目前最新版本为2.4.3,官网已停止了更新,托管在GitHub网站上。优雅的算法设计和功能强大的GUI操作,使得其研究和应用的范围较广。支持GPS、GLONASS、BeiDou、Galileo、QZSS、SBAS系统数据处理,支持实时和后处理定位模式,对于实时PPP,RTKLIB能较好地兼容多种标准和协议、接收机专有数据协议格式、外部通信等。
GAMP[10]是华东师范大学基于RTKLIB进行的二次开发,支持Windows、Macintosh及Unix/Linux系统,具有高效的数据批处理功能。支持GPS、GLONASS、BeiDou、Galileo、QZSS系统数据处理,且支持事后PPP静态和动态定位。观测值组合模型有消电离层组合和非差非组合模型,周跳探测采用基于高度角和采样率的M-W组合、G-F组合的阈值模型,增加了钟跳探测与修复算法,考虑了GLONASS系统的伪距频间偏差(inter-frequency-biase, IFB),为减少滤波算法对计算舍入误差的敏感性,防止滤波发散,对滤波估值的方差协方差阵进行了改进。
PPPH[11]由土耳其哈西德佩大学开发,前两种算法采用C语言实现,而PPPH采用MATLAB实现。支持Windows、Macintosh,Unix/Linux系统,界面友好。该软件共分为5个部分,分别是数据输入、数据预处理、模型建立、卡尔曼滤波及数据分析。周跳探测方法采用M-W组合、G-F组合,定位模式为静态和动态。以上3种开源软件的下载网址如表 1所示。
表 1 3种PPP解算软件下载网址 Tab.1 Download Link of Three PPP Softwares |
![]() |
BERNESE软件是世界知名的高精度GNSS数据处理软件,可以处理GPS、GLONASS、SLR数据。目前最新版本为5.3,为付费软件。可以在Windows、Unix/Linux系统上运行,程序语言采用FORTRAN77和FORTRAN90编写。子程序、模块、主程序源代码分别在LIB、INC、PGM文件夹中。数据预处理主程序为RNXSMT,主程序GPSEST和ADDNEQ2则是数据处理的核心。在使用过程中,可以在Windows下利用VS+IVF对于主程序分别建立工程,将所需的子程序及模块加入工程中,也可通过更改相应代码建立一个工程,限于篇幅,在此不进行详细介绍。
3 实验分析选取分布在全球不同国家的7个IGS跟踪站(BJFS、BRUX、TSKB、COCO、HRAO、WARN、BARH),图 1为测站位置分布。观测时刻为2017年9月1日,年积日DOY 244。数据采样间隔为30 s,采用GFZ的轨道和钟差产品,下载连续3天5 min采样率的轨道产品及采样率为30 s的钟差产品。利用RTKLIB、PPPH和GAMP分别进行静态PPP及模拟动态PPP解算,对坐标精度、对流层延迟、收敛时间分别进行了统计分析。
![]() |
图 1 7个IGS跟踪站位置分布 Fig.1 Distribution of 7 IGS Tracking Stations |
3.1 坐标精度分析
利用3种软件分别对7个IGS站观测数据进行静态和动态PPP解算,图 2为7个测站解算值及BRUX站的静态PPP单天解分别在E、N、U方向的偏差。由图 2(a)可以看出在平面方向上三者均能达到2cm以内的解算精度,其中GAMP的解算精度均优于1cm,对于大部分测站RTKLIB的解算精度也优于1cm。RTKLIB和GAMP之间的解算结果差异较小(HRAO测站除外),在使用单系统GPS进行解算时,两者算法大致相同,只是GAMP在数据预处理中设置的周跳阈值方法不同,以及增加了钟跳探测算法,但是在接收机钟较稳定的情况下,两者解算差异不大。部分测站PPPH的解算结果与前两者差异较大。在高程方向上,GAMP的解算精度均优于2cm,而PPPH和RTKLIB都存在一定的系统偏差,对于大部分测站,RTKLIB的系统偏差要略大于PPPH。由图 2(b)可以看出RTKLIB和GAMP解算结果具有较大的符合性,在高程方向存在2~3cm的系统误差,PPPH在平面方向上较二者精度较低且收敛时间较长。
![]() |
图 2 7个IGS测站及BRUX站静态PPP单天解在E、N、U方向的偏差 Fig.2 Position Deviation in E, N, U Directions of 7 IGS Stations and BRUX station Processed by Static PPP |
图 3为选取BJFS、BRUX、TSKB 3个测站进行模拟动态PPP解算结果。从图 3中可以看出,在平面方向上,RTKLIB与GAMP解算精度较高且两者之间符合性较大,部分历元中,RTKLIB解算结果出现较大的偏差,可能与周跳有关。收敛后,两者精度能达到5 cm左右。PPPH解算精度相对较低,且出现较大的波动。在高程方向上,RTKLIB与GAMP仍存在一定的系统偏差,收敛后的精度在15 cm以内。
![]() |
图 3 BJFS、BRUX、TSKB站动态PPP单天解在E、N、U方向的偏差 Fig.3 Position Deviation in E, N, U Directions of BJFS、BRUX、TSKB Processed by Kinetic PPP |
图 4为统计7个IGS站静态和动态PPP解分别在E、N、U方向上的定位偏差RMS(root mean square)值。从图 4中可以看出,三者在静态PPP中,水平方向RMS均优于2 cm,RTKLIB和GAMP精度略高于PPPH。GAMP解算的高程方向RMS均在1 cm以内,RTKLIB和PPPH只有两个站能达到1 cm,RTKLIB在其他站精度在3 cm左右,PPPH其他站精度在3~5 cm之间。动态PPP中,GAMP在水平方向RMS达到5 cm以内,RTKLIB和PPPH水平方向RMS在5~6 cm之间。RTKLIB在高程方向RMS在2~4 cm之间,其中有一个站RMS在7 cm左右。PPPH高程方向RMS在2~8 cm之间。
![]() |
图 4 7个IGS站静态PPP和动态PPP单天解在E、N、U方向的RMS值 Fig.4 RMS of 7 IGS Stations Processed by Static PPP and Kinetic PPP |
3.2 天顶对流层延迟
利用BERNESE 5.0 PPP模块计算的BJFS测站单天内5 min间隔天顶对流层延迟作为真值,3种软件分别进行静态PPP解算ZTD,时间间隔为30 s,结果如图 5所示。从图 5中可以看出,GAMP的解算结果与BERNESE解算结果最吻合,RTKLIB的解算结果与BERNESE解算结果差异较小,在1 cm以内,与PPPH的差异在1~2 cm。三者均可解算出厘米级精度对流层延迟。
![]() |
图 5 BJFS站利用3种软件静态PPP解算ZTD结果与BERNESE解算结果比较 Fig.5 ZTD Results of BJFS Station Processed by Static PPP Using Three PPP softwares and BERNESE |
3.3 收敛时间分析
为了对比分析3种软件解算的收敛时间,规定了收敛阈值。在静态PPP中,设定E、N方向坐标误差小于0.0 5 m;动态PPP中,设定E、N方向坐标误差小于0.1 m。图 6统计了静态和动态PPP中解算7个测站的收敛时间。从图 6中可以看出,RTKLIB与GAMP解算的收敛时间大致相同且时间较短,PPPH解算的收敛时间在部分测站与前两者相近,而在有些测站收敛时间较长。静态PPP中,三者解算的收敛时间在6~56 min之间,值得注意的是,PPPH在解算TSKB测站和COCO测站时收敛时间较长,其原因有待于进一步研究。动态PPP中,三者解算的收敛时间在9~116 min,PPPH在解算BARH测站收敛时间超过200 min。总之,三者解算的收敛时间相当,只是在部分测站PPPH解算的收敛时间会较长,可以通过完善误差改正模型及数据质量分析算法进一步提高解算精度及收敛速率。
![]() |
图 6 静态PPP和动态PPP解算7个测站收敛时间的统计 Fig.6 Convergence Time of 7 IGS Stations Processed by Static PPP and Kinetic PPP |
4 结束语
目前国内比较知名的PPP数据处理软件如Trip和PANDA等,是很好的GNSS数据处理平台,但其不易获得。所以,能够充分地利用一些开源软件可以极大地提高科研效率。本文介绍了3种PPP数据处理软件,并进行精度测试,以为了更全面地研究PPP算法及解算精度。GAMP是在RTKLIB的基础上进行的二次开发,在GPS单系统PPP中,定位算法大致相同,在周跳探测中改进了基于高度角和采样率的阈值模型,增加了钟跳探测模块。PPPH是在MATLAB上进行的开发,模块较清晰,算法简单易懂。通过从全球范围分布的IGS服务站中选取7个测站的观测数据,利用3种开源精密单点定位软件分别进行静态PPP和模拟动态PPP解算,RTKLIB与GAMP在定位精度、天顶对流层计算及收敛时间结果上显示较大的符合性,PPPH与两者存在一定的差异。
致谢: 感谢Tomojitakasu先生、Berkay Bahadur博士、周锋博士的开源软件,为GNSS定位提供了高效的数据处理平台,极大地提高了科研效率。
[1] |
张小红, 柳根, 郭斐, 等. 北斗三频精密单点定位模型比较及定位性能分析[J]. 武汉大学学报·信息科学版, 2018, 43(12): 2124-2130. |
[2] |
苏春循, 郭海林, 易文婷. 精密单点定位收敛时间分析[J]. 测绘地理信息, 2018, 43(4): 24-27. |
[3] |
申建, 赵文安, 向东. 基于非组合精密单点定位的区域电离层建模[J]. 测绘地理信息, 2019, 44(6): 31-34. |
[4] |
张小红, 何锡扬, 李星星. TriP软件非差几何法精密定轨精度分析[J]. 武汉大学学报·信息科学版, 2010, 35(11): 1327-1330. |
[5] |
耿涛, 赵齐乐, 刘经南, 等. 基于PANDA软件的实时精密单点定位研究[J]. 武汉大学学报·信息科学版, 2007, 32(4): 312-315. |
[6] |
谭争光, 郭金运, 宗干, 等. PANDA和BERNESE软件的PPP比较分析[J]. 全球定位系统, 2013(5): 60-64. DOI:10.3969/j.issn.1008-9268.2013.05.013 |
[7] |
张建龙, 徐爱功, 张兆南, 等. RTKLIB软件静态精密单点定位精度测试与分析[J]. 全球定位系统, 2014(1): 37-41. |
[8] |
田英国, 郝金明, 谢建涛, 等. 开源精密单点定位软件gLAB定位精度分析[J]. 全球定位系统, 2014(1): 34-36. |
[9] |
宋佳, 李敏, 赵齐乐, 等. 3种开源精密单点定位软件性能评估[J]. 大地测量与地球动力学, 2017, 37(6): 627-632. |
[10] |
Zhou F, Dong D, Li W, et al. GAMP: An Open-Source Software Of Multi-GNSS Precise Point Positioning Using Undifferenced and Uncombined Observations[J]. GPS Solutions, 2018, 22(2): 33. DOI:10.1007/s10291-018-0699-9 |
[11] |
Bahadur B, Nohutcu M. PPPH: A MATLAB-Based Software for Multi-GNSS Precise Point Positioning Analysis[J]. GPS Solutions, 2018, 22(4): 113. DOI:10.1007/s10291-018-0777-z |