目录
二、PPPH软件使用手册
基于Matlab的多GNSS精密单点定位分析软件
1、引言
在过去的几十年里,精密单点定位(PPP)已成为一种可行的替代差分和/或相对定位技术,这在GNSS界占主导地位。虽然PPP在全球范围内仅使用一个接收机就可以实现厘米或毫米级的定位精度,但要实现高定位精度,仍然需要相当长的观测周期。这一时期,通常称为收敛时间,是PPP的主要缺点,限制了其广泛采用。近年来,GLONASS星座的建成和新卫星系统的出现为提高PPP的定位精度和收敛时间提供了很大的机会,因为它提供了额外的频率和卫星资源。另一方面,与仅包含GPS观测的传统PPP方法相比,多个GNSS观测值的集成需要更复杂的模型和算法。考虑到备选方案的数量有限,为了充分利用多星座多频GNSS的潜在优势,提出了PPPH方案。PPPH是一个GNSS分析软件,可以对GPS、GLONASS、北斗和伽利略观测数据进行多GNSS PPP分析。通过用户友好的图形用户界面,PPPH允许用户指定与PPP过程相关的选项、模型和参数。此外,PPPH还提供了一些分析工具来评估所获得的结果。
2、安装
PPPH是在MATLAB环境下开发的,其基于矩阵的结构和内置的图形非常适合技术计算、编程和数据可视化。除MATLAB核心文件外,PPPH不包含任何工具箱或函数。打开PPPH的图形用户界面( GUI )需要遵循两个步骤:
(1)将包含PPPH源代码的文件夹添加到MATLAB搜索路径中
(2)在MATLAB命令行中输入PPPH。
PPPH的界面使用MATLAB App Designer开发,是设计和开发用户界面可视化组件的专用环境。因此,运行PPPH需要MATLAB version 2016a或更新版本。此外,PPPH可以在任何安装了MATLAB的操作系统中使用,如Windows、Mac、Unix / Linux等。
3、PPPH
PPPH能够执行包括GPS、GLONASS、Galileo和BeiDou在内的多GNSS PPP。PPPH采用非差无电离层多GNSS PPP模型。PPPH允许通过其用户友好的界面指定PPP处理的选项、模型和参数。从根本上说,PPPH由数据导入、预处理、建模、滤波和分析5个主要部分组成(图1 )。前4个组件利用相关模型和理论提供多GNSS PPP解决方案,最后一个组件用于评估和可视化结果。每个组件及其相关选项在用户界面中用单独的选项卡表示。
图2展示了PPPH的主要窗口。代表软件组成部分的5个基本选项卡位于主窗口的顶部。下面,有一些关于所选选项卡的选项。配置选项、历元选择工具、RUN按钮也位于底层。得益于配置选项,用户可以保存自己的配置,并在PPP过程中随时随地加载使用。历元选择部分规定了过程中会包含的历元间隔。为了在软件中初始化PPP过程,点击RUN按钮。然而,在PPP流程初始化之前,需要将观测值、精密卫星轨道、钟差等相关文件导入到软件中。经过该过程后,PPPH为每个历元提供一个包含估计参数的输出文件。此外,通过PPPH提供的分析工具,可以从定位精度、收敛时间等方面对结果进行评估。
图1 PPPH的主要组成部分
图2 PPPH主窗口
下面分别对每个选项卡及其偏好进行说明:
3.1 数据导入
PPP的第一个组成部分,即数据导入,将执行PPP过程所需的包含导航数据的文件导入到软件格式中。在进行PPP处理之前,需要将观测值、卫星轨道、钟差等所有必要的文件导入到PPPH中。在GNSS社区内部,有几种文件格式被设计用于交换数据,例如:Rinex、Sp3、Clk和Atx。PPPH能够妥善处理这些标准交换格式。通过Data Importing tab (图3 ),可以方便地选择所有的GNSS文件并将其导入软件中。
图3 PPPH的数据导入页面
PPPH需要四个基础数据源来执行PPP过程;GNSS观测值、卫星轨道、卫星钟差和天线相位改正。此外,差分码偏差作为第五个数据源,可以根据用户偏好导入软件。通过单击相关字段的选择框,将全部必要的文件引入到PPPH中。下面按照数据源的顺序给出Data Importing选项卡的综合说明。
RINEX (接收者独立交换格式)是GNSS观测值的标准格式。PPPH能够读取并导入RINEX 2或3版本中给出的GPS、GLONASS、Galileo和BeiDou观测值。通过点击相关字段旁边的选择框,可以选择任意RINEX格式的观测文件。
PPPH采用非差无电离层多GNSS PPP模型,需要双频码伪距和载波相位观测值。众所周知,导航系统至少提供两种不同的信号。然而,从这些导航信号中获得的观测类型因接收机的模型而异。在PPPH中,对两个不同信号的码伪距和载波相位观测值按照特定的顺序进行选择。在RINEX版本2中,C1 / P1和P2作为伪距观测值,L1和L2作为GPS和GLONASS的双频载波相位观测值。然而,在此背景下,Galileo除了使用L1和L5载波相位观测值外,还使用了C1和C5码观测值。对于RINEX版本3,观测值选取顺序如表1所示:
表1 RINEX版本3中的观测选择顺序
GNSS卫星轨道的标准交换格式为SP3(标准产品# 3)。PPPH可以读取和提取包括IGS和MGEX分析中心产品在内的全部轨道文件的SP3格式信息。卫星轨道的计算是基于9次拉格朗日插值,它是一种多项式函数。考虑到在一天的开始和结束时没有足够的轨道数据,PPPH提供了额外的选项,将上一天和下一天的轨道文件导入软件中。前一天和后一天轨道文件的导入减小了插值引起的误差,但对于PPP过程来说并不是必须的。如果没有选择这些文件,PPPH只使用观测日的轨道文件计算卫星轨道。
在PPPH中,卫星钟差可以从两个不同的来源导入。第一种方案是利用SP3文件获取卫星钟差。然而,由于采样间隔较长,通常不建议将从SP3文件中获得的卫星钟差用于精密GNSS应用。相反,包含高速率钟差数据的CLK文件可用于卫星钟差改正。PPPH可以处理IGS机构提供的CLK文件,不管采样率如何。时钟源的选择可以通过时钟源来完成。当时钟源选项选为Clock File时,时钟文件框被激活,可以选择任意一个CLK文件作为时钟源。此外,还要求以秒为单位指定时钟文件间隔。
如前所述,当使用RINEX版本2时,PPPH使用C1或P1作为第一个伪距观测值来形成无电离层线性组合。然而,根据接收机类型的不同,观测文件中并不总是包含P1观测值。在这种情况下,PPPH自动使用C1作为第一码伪距观测值。另一种方案是使用DCB文件,其中包含P1和C1观测值之间的差分码偏差。利用DCB文件,可以将C1观测值转换为P1观测值。如果选择DCB选项为P1 - C1,则可以将IGS机构产生的DCB文件(如CODE )导入到软件中,用于从C1中获取P1观测值。
基于IGS绝对天线模型,利用ANTEX文件对卫星和接收机的天线相位中心偏差( PCO )及其变化量( PCV )进行了改正。如果相关天线文件中没有Galileo和BeiDou卫星的PCO和PCV,则使用常规值。同样,在没有任何系统接收机的PCO和PCV值的情况下,使用GPS值来校正这些系统的PCO和PCV。
System Selection
PPPH能够处理GPS、GLONASS、Galileo和北斗数据。"System Selection"部分允许用户选择将哪个系统纳入PPP处理。在这里,一个完全运行的系统,即.在进行多GNSS PPP时,需要将GPS和GLONASS纳入系统选型中。
Import and Save Data
在选择完所有需要的文件后,可以通过单击Import按钮将数据导入PPPH。这是PPP处理的第一步,其他步骤只有在数据适当导入后才能进行。另一方面,用户可以使用Save As按钮保存导入的数据。此外,他们可以通过导入Import Previously Saved File按钮上传以前保存的文件。
3.2 预处理
从导航文件中获得的原始数据需要经过预处理步骤以消除粗差和不一致。经过预处理步骤后,数据完全准备好进行滤波处理。预处理由粗差探测、周跳探测和钟差不一致性判定组成。此外,高程截止角、代码平滑和处理模式的选择也是这一步的一部分。PPPH通过图4所示的预处理部分接受与该步骤相关的用户偏好。
在"Preprocessing"选项卡中,可按程度选择"Elevation Cut-off Angle",以屏蔽高度角小于阈值的卫星。此外,用户可以决定使用哪种周跳检测方法。探测周跳的方法有两种。第一种是基于Melbourne - W ̈ ubbena组合,第二种是基于Geometry - free组合。同样,PPPH允许用户判断时钟不一致性是否会被检查,并将码观测值与相位观测值平滑。最后,根据接收机是否运动,可以选择静态或动态处理模式。
图4 Ppph预处理选项卡
3.3 模型
PPPH的建模部分负责减轻误差源对GNSS测量的影响。PPPH允许通过模型选项表( Modelling Options Tab )选择修正哪些误差源(图5 )。在PPPH中,根据校正效果的不同,将校正分为4组。表2展示了在PPPH中应用的更正类别及其处理策略。对流层梯度实际上不用任何模型进行校正,而是与滤波中的未知参数一起估计。尽管如此,为了完整性,估计对流层梯度的选项被添加到大气校正类别中。另一方面,固体潮改正的选择包括固体潮改正和海洋负荷改正。
图5 Ppph的建模选项卡
表2:PPPH中的更正类别及其处理策略
References
[1] Wu, J., Wu, S., Hajj, G., Bertiger, W., Liehten, S., Effects of antenna orientation on GPS carrier phase, Manuscripta Geodaetica, 18, 91-98, 1993.
[2] Saastamoinen, J., Contributions to the theory of atmospheric refraction, Bulletin G ́eod ́esique, 107, 13-34, 1973.
[3] Bar-Sever, Y.E., A new model for GPS yaw attitude, Journal of Geodesy , 70:11, 714-723, 1996.
[4] Kouba, J., A guide to using International GNSS Service (IGS) products, http://kb.igs.org/hc/en-us/articles/201271873-A-Guide-to-Usingthe-IGS-Products, 2015.
[5] Petit, G., Luzum, B., IERS Conventions 2010,, Technical Note No. 36, http: //www.iers.org/TN36/, Frankfurt, 2010.
3.4 滤波
PPPH采用自适应抗差卡尔曼滤波方法,通过引入等价权矩阵来补偿观测值中异常值的影响,同时引入自适应因子来平衡量测和估计参数的贡献,从而估计状态空间向量。卡尔曼滤波器要求未知参数和量测都具有明确的统计特性。PPPH可以通过Filtering Options Tab指定卡尔曼滤波器的选项和参数(图6 )。
图6 Ppph的滤波选项卡
对于未知量的初始和过程不确定性参数可以在PPPH的Filtering Options Tab中指定。表3给出了未知量的初始和过程不确定度的默认值。此外,PPPH提供了一个额外的选项,以使用最小二乘估计来确定初始不确定性参数。该方法通过最小二乘平差在第一个历元中估计未知参数,然后利用估计的参数及其统计特性作为下一个历元的初始参数。
如果选择A Priori Position Source作为RINEX,则从观测文件中获得接收机的先验位置。此外,还可以通过Specify选项手动指定接收机的先验位置。最后,PPPH允许用户确定测量噪声和权重模型。Code Meas .和Phase Meas .字段可以分别指定米级的码和相位测量噪声。此外,权重法可以选择为 Elevation Dependent或Equal。当Equal选项为测量值分配相等的权重时,Elevation Dependent选项根据卫星的高度角( sin ( elv ) )确定测量值的权重。
表3 对于未知量的初始和过程不确定性的缺省值
3.5 分析
经过PPP处理后,PPPH产生一个包含每个历元估计参数的输出文件。还提供了一个统计计算工具,用于计算相对于地面真值的定位误差、均方根误差和收敛时间。最后,PPPH提供了一些绘图工具来评估PPP解决方案的性能。整个分析过程可在PPP过程结束后通过图7所示的PPPH分析表进行。
借助于统计计算工具,用户可以在PPPH分析表中计算定位误差、RMS误差和收敛时间。为了计算这些统计量,必须在软件中指定一个Ground Truth。在本地系统(北、东、上)中,定位误差被计算为相关PPP解与相关过程周期结束时的地面真值之差。收敛时间定义为达到亚分米级3D定位精度并持续10分钟以上的时间。最后,在本地系统(北、东、上)中计算所有历元相对于地面真值的收敛时间后的RMS误差。定位误差和RMS误差以厘米(但可以看到毫米级)为单位计算,收敛时间以历元为单位确定。
图8给出了软件经过PPP处理后得到的输出文件示例。输出文件由每个历元的估计参数组成。输出文件描述如表4所示。PPPH可以借助其绘图工具对PPP解的结果进行分析和评价。根据PPP结果计算得到的估计参数或统计量可以绘制在PPPH的分析表中。此外,用户可以通过选择几秒钟
内的标绘间隔来确定哪个历元将被包含在标绘中。绘图选项在表5中给出。
图7:Ppph分析
表4:PPPH标准输出文件描述
表5:PPPH提供的绘图工具
图8:从PPPH中获得的输出文件示例
图9:PPPH生成的地块示例
4、PPPH处理采用Ppph中的m文件功能
PPPH具有友好的图形用户界面,可以实现多GNSS精密单点定位。同时可以在不使用GUI的情况下进行多GNSS PPP。在PPPH中,提供了一个名为ppph complete的MATLAB函数m文件,用于执行包含GUI全部功能的完整PPP过程。由于mfile函数的完备性,使得多站多天的解算变得更加容易。下面给出函数的描述。
用法:
[xs] = ppph_complete(files, options)
输入:函数需要两个数据输入,定义为结构数组。对输入进行了如下解释: