PPPwizard1.4.3软件使用说明中文翻译稿

4 篇文章 0 订阅

PPP软件包使用说明(版本1.4.3)

1. 交付包

PPPWizardxy内容是按照以下模式组成:

PPPWizardxy
|-- PPPSoftwarePackage_v1.4.3.pdf
|-- RTRover
|-- compile.sh
|-- generateLowLevel.cpp
|-- getStream.cpp
|-- laurichesse_ion_gnss_2015_september_bdp.pdf
|-- processLowLevel.cpp
|-- processStream.cpp
|-- rtklib
|-- tst

2. 包装内容

该软件包包含以下项目:

  • “rtklib”目录包含修改后的rtklib库源文件,用于解码RTCM相位偏差消息(1265)
  • “rtrover”目录包含PPP实现(这是一个与BNC接口兼容的rtrover库)
  • 可执行文件的源文件(getStream、processStream、processLowLevel、generateLowLevel)
  • “tst”目录包含每个可执行文件的示例。
  • 编译和配置文件
  • 文档
  • 来自用户的反馈

3. 软件包的编译

3.1. LINUX下编译

要编译库和可执行文件,请在命令窗口运行“./compile.sh”。这将生成rtklib和rtrover库,以及四个可执行文件getStream、processStream、processLowlevel和generateLowLevel。

3.2. MOBAXTERM下的编译(WINDOWS)

按照以下两个步骤在MobaXterm中进行编译

  1. 第1步:安装mobaxterm和插件development.mxt3
  2. 第2步:包含以下编译指令: CFLAGS=“-O3 -lm -lpthread -lrt -static”
    [如果没有静态标志,仍会生成可执行程序,但会因共享库错误而无法运行]
  3. 第3步:在命令窗口中的运行 ./compile.sh

3.3. MINGW (WINDOWS)下编译

在Windows环境下用同样的方法进行编译

  1. 第1步:使用以下软件包安装MinGW免费软件
    • mingw-developer-tools
    • mingw32-base
    • mingw32-gcc-g++
    • msys-base

  2. 步骤2:编辑PATH环境:

<dir>\msys\1.0\bin
<dir>\bin

<dir>是MinGW安装目录

  1. 步骤3:修改RTRover\Makefile文件中的编译选项:
CFLAGS=-O3 -DRTRover_STATIC_LIB
  1. 步骤4:修改文件compile.sh中的编译选项:
CFLAGS="-O3 -Wl,--stack,4194304 -DRTRover_STATIC_LIB -lm -lWs2_32 -lWinmm"
  1. 步骤5:在命令窗口中运行 sh compile.sh

4. 可执行文件说明

从1.4版本开始,所有输出文件都带有一个新的完好性指示符字段(最后一列),用于描述精密定位的完好性。

4.1. GETSTREAM可执行文件

该可执行文件使用rtklib库从多种数据源和格式(本地接收机、远程接收机(NTRIP)、BRDC、SSR校正等)中恢复一系列数据流。然后,对数据流进行同步、组合并转换成ASCII码。输出文件是独立的,包含PPP所需的所有信息。可以直接处理该文件(例如在管道中)或存储该文件以供回放。

下面给出一条典型的运行命令:

./getStream <conf_get.txt > stream.out

getStream的配置文件来自标准输入,符合以下约定:
• 流地址(rtklib约定)
• 源类型(rtklib约定)
• 流格式(rtklib约定,用于进一步解码)
在配置文件中,接收机必须放在其他流之前。
输出文件写在标准输出。
下面是一个输出示例:
在这里插入图片描述

要停止getStream,请使用带有getStream进程PID的kill命令。

4.2. PROCESSSTREAM可执行文件

processStream可执行文件使用getStream恢复的数据执行PPP计算。它使用以下命令:


./processStream –conf conf_process.txt –rover rover.txt –dcb "*.DCB" [-verbose] [-lowlevel]< stream.out

其中:

  • conf_process.txt是通用配置文件(每个流动站的配置都是相同的)
  • rover.txt包含每个接收机的名称(与getStream配置文件的顺序相同)和流动站先验坐标(如果未使用,则为0.0 0.0 0.0)
  • "*.DCB”是PPP (P1C1,P1P2,P2C2)使用的码偏差文件。这些文件可从以下位置获得ftp://ftp.aiub.unibe.ch/CODE/ 大约一个月需要更换一次。
  • 详细:详细模式(仅供内部使用)
  • 原始数据:生成观测文件(lowlevel.txt)

从1.4版本开始,引入了电离层VTEC(垂直总电子含量)。为了对其进行测试,将配置文件中SigMesIono的第3列设置为“0.0”,然后与1.3版本中对应相同结果的数据进行对比。

4.2.1. 配置文件

下表显示了通用配置文件中每个条目的结构:

参数类型/单位说明典型值
mode枚举处理模式:
mode_PPP_双频,(PPP bi)
mode_SPP_双频,(SPP bi)
mode_PPP_单频,(PPP mono)
mode_SPP_单频,(SPP mono)
mode_PPP_AR,(模糊度固定的PPP)
mode_PPP_AR
antexFileName字符串天线文件名
AR/JumpsIndicators布尔AR/周跳标识(窄巷/宽巷/超宽巷)1 1 0
useGPS布尔使用GPS1
useGlonass布尔使用Glonass1
useGalileo布尔使用伽利略1
useBeidou布尔使用北斗0
sbasCorrection布尔0 -> RTIGS钟差改正,1 -> SBAS钟差改正0
convergence整型/秒收敛时间。连续两次收敛之间的时间(用于收敛时间测试),如果没有收敛,则为00
outputVerbose布尔输出详细信息0
step实数/秒观测量间隔
maxAge实数/秒RTCM改正数的最大龄期10
stepMin整型/无符号AR之前的最小步长3600
maxReject整型/无符号RAIM失败最大次数2
raim布尔开启RAIM算法1
mapThr实数/无符号对流层标测阈值(1/sin(ele))6
sigIniTro实数/m对流层初始噪声0.5
sigModTro实数/mtropo模型噪声0.000005
nbSatFixAmb整型/无符号AR的最少卫星数0
threAmb实数/mAR的模糊阈值0.01
sigIniBiasClk实数/m初始时钟误差噪声0
sigModBiasClk实数/m模型时钟误差噪声0.001
sigIniIono实数/m初始电离层噪声10
sigModIono实数/m模型电离层噪声0.002
sigMeasIono实数/m电离层测量噪声1
ionoThr实数/m电离层测量拒绝阈值5
sigMeasTropo实数/m对流层测量噪声0.1
tropoThr实数/mtropo测量拒绝阈值1
sigIniPos实数/m初始位置噪声50
0(位置固定)
sigModPos实数/m模型位置噪声10(移动接收机)
0.02(静态接收机)
0(位置固定)
preDTMax实数/秒最大测量间隔300
codeThr实数/m伪码测量拒绝阈值10
phaseThr实数/m相位测量抑制阈值0.05
sigMeasCodeGps实数/mGPS伪码测量噪声1
sigMeasPhaseGps实数/mGPS相位测量噪声0.01
sigMeasCodeGlo实数/mGlonass伪码测量噪声5
sigMeasPhaseGlo实数/mGlonass相位测量噪声0.01
sigMeasCodeGal实数/m伽利略伪码测量噪声1
sigMeasPhaseGal实数/m伽利略相位测量噪声0.01
sigMeasCodeBds实数/m北斗伪码测量噪声 (GEO/IGSO/MEO)5 5 5
sigMeasPhaseBds实数/m北斗相位测量噪声(GEO/IGSO/MEO)0.01 0.01 0.01
Smooth实数/无符号多普勒平滑系数不平滑时为0
平滑时为0.95

4.2.2. 流动站文件

流动站文件中每一行包含一个流动站。每行具有以下格式:

字段说明
Name流动站名称
X流动站先验位置X ITRF 08
Y流动站先验位置Y ITRF 08
Z流动站先验位置Z ITRF 08

4.2.3. 输出格式

处理的输出结果中每一行包含一个历元。每行具有以下格式:

字段说明
Date日*
Hour小时*
Rover流动站名称
PPP modeSPP、PPP等
Measurements观测量总数
ExtraWidelanes#超宽巷固定的测量值
Widelanes#宽巷固定的测量值
Narrowlane#窄巷固定的测量值
Xx(m,ITRF 08)
CovXX方差(m)
YY(m,ITRF 08)
CovYY方差(m)
ZZ(m,ITRF 08)
CovZZ方差(m)
DryTropo对流层干延迟(m)
Tropo估计的对流层湿延迟(m)
Cov tropo对流层湿延迟的方差(m)
Integrity完好性标识

如果在配置文件中激活了outputVerbose,则输出具有以下格式:

字段说明
Date日*
Hour小时*
Rover流动站名称
PPP modeSPP、PPP等
HstaGPSGPS钟差
HstaGloGlo钟差
HstaGalGal钟差
HstaBdsBds钟差
Measurements观测量总数
ExtraWidelanes#超宽巷固定的观测量
Widelanes#宽巷固定的观测量
Narrowlane#窄巷固定的观测量
Xx(m,ITRF 08)
CovXX方差(m)
Yy(m,ITRF 08)
CovYY方差(m)
ZZ(m,ITRF 08)
CovZZ 方差(m)
DryTropo对流层干延迟(m)
Tropo估计的对流层湿延迟(m)
Cov tropo对流层湿延迟的方差(m)
Integrity完好性标识

4.2.4. 详细选项

processStream的verbose选项([-verbose])会在stderr上输出以下信息。该输出信息中每一行包含一个历元。每行具有以下格式:

字段说明
Rover流动站号
Date
Hour小时
Tropo对流层

对于每个星座和每颗卫星:

字段说明
PRN例如:G01,R10,E11,C06
iono电离层

为了使用详细选项输出,软件内部定义了特定的RTCM消息(99)。该RTCM消息可以由“decode_tropo_iono”函数读取并解析。

4.2.5. 原始文件

下表显示了原始文件([-lowlevel])的每一行的结构:

字段序号字段单位说明
1流动站号-
2卫星-示例G01
3CNES·儒略日第一天1950年1月1日
4天内秒
5C1/P1/E1m伪距
6P2m
7C6(北斗)m
8C5/E5a(伽利略)m
9E5b/C7(北斗)m
10L1相位
11L2
12L6(北斗)
13L5/L5a(伽利略)
14L5b/L7(北斗)
15D1Hz多普勒
16D2Hz
17D6(北斗)Hz
18D5/D5a(伽利略)Hz
19D5b/D7(北斗)Hz
20Slot/typeBds-Glo卫星频点或BDS卫星类型:
0:GEO,1:IGSO,2:MEO
21Xm卫星位置.信号发射时的APC
22Ym
23Zm
24Hm信号发射时刻的卫星钟差,包括相对论效应
25Vxm/s卫星速度
26Vym/s
27Vzm/s
28电离层延迟m在L1频率上的斜电离层延迟
29电离层延迟来源-1:精确,2:SBAS,3:全球
30对流层延迟m天顶对流层延迟
31偏航卫星偏航角
32bC1mL1频率上的码偏差.与字段5和字段24一致
33bP2m
34bC6m
35bC5m
36bE5bm
37bL1L1频率上的相位偏差.与字段10和字段24一致
38bL2
39bL6
40bL5
41bL5b
42N1指示器0/1对应N1整周模糊度的偏差
43Wl指示器0/1对应W1整周模糊度的偏差
44不连续计数-不连续历元的计数值

*日期是间隔的倍数。

4.3. 完整的PPP流程

在conf_get.txt文件中更新您的配置。
执行如下命令启动整个PPP流程(数据流采集和处理):

./getStream <conf_get.txt | ./processStream –conf conf_process.txt –rover rover.txt –dcb "*.DCB"

下面是一个输出示例:
在这里插入图片描述

4.4. GENERATELOWLEVEL可执行文件

从1.4版本开始增加了电离层SBAS接口。增加了对GLONASS的RF信道的警告(当文件不存在时)。
generateLowLevel可执行文件可用于从输入文件(dcb、atx…)创建原始数据文件。它使用以下命令:

./generateLowlevel –rinex rinex.rnx -sp3 ephem.sp3 –clk clock.clk –bias bias.bia –atx igs.atx –dcb "*.DCB" -chan channelGlo.txt > lowlevel.txt

其中:

  • rinex.rnx:测量文件
  • ephem.sp3:星历文件
  • clock.clk:钟差文件
  • bias.bia: sinex格式的偏差文件(如果使用了GRG产品,则无需为A.R .指定此文件)。
  • igs.atx是天线文件名
  • "*.DCB”是PPP (P1C1,P1P2,P2C2)使用的码偏差文件。这些文件可从以下地址获得ftp://ftp.aiub.unibe.ch/CODE/ 大约一个月需要更换一次。
  • channelGlo.txt是一个包含每个Glonass卫星通道的文件

(请参阅4.2.5 中关于原始文件的描述。)

下面是一个输出示例:
在这里插入图片描述

4.5. PROCESSLOWLEVEL可执行文件

processLowLevel可执行文件使用从原始文件中读取的数据来执行PPP计算。它使用以下命令:

./processLowlevel –conf conf_process.txt –rover rover.txt < lowlevel.txt

其中:

  • conf_process.txt是通用配置文件(每个流动站的配置都是相同的),请参考4.2.1
  • rover.txt包含每个接收机的名称(与getStream配置文件的顺序相同)和流动站先验位置(如果未使用,则为0.0 0.0 0.0),请参考4.2.2

原始文件的描述参考4.2.5。该文件可通过使用processStream的[-lowlevel]选项 (参考4.2)或者由generateLowLevel可执行文件生成。

下面是一个输出示例:
在这里插入图片描述
从1.4版本开始,processLowlevel可执行程序中的详细模式与processStream中已定义的详细模式使用方式一致,以协调这两个进程。

5. 算法的描述

不同的算法、模型和软件的内部结构在本软件包的附件文档中进行了描述。

D.Laurichesse, A. Privat, “An Open-source PPP Client Implementation for the CNES PPP-WIZARD Demonstrator”, Proceedings of the ION GNSS+ 2015, September 2015, Tampa, Florida
http://www.ppp-wizard.net/Articles/laurichesse_ion_gnss_2015_september_bdp.pdf

6. 例子

“tst”目录包含一些示例及其配置文件和相关结果。要执行所有这些示例,请使用命令: ./test.sh.

这些示例是通过以下不同步骤创建的:

  • 使用getStream进行数据采集:
    getStream < conf_get.txt > brut_gamg.txt
    要停止getStream,请使用带有getStream进程PID的kill命令。“conf_get.txt”文件的内容是:
    login:password@94.23.202.142:2101/GAMG00KOR0 7 1
    login:password@94.23.202.142:2101/SSRA00CNE0 7 1
    login:password@94.23.202.142:2101/RTCM3EPH-MGEX 7 1

  • 使用进程流的PPP计算:
    执行三种不同的PPP计算。
    (1). 使用GPS和Glonass的PPP_SF模式:

zcat brut_gamg.txt.gz | ../processStream -conf conf_process_PPP_SF_GPSGLO.txt -rover rover_gamg.txt -dcb "*.DCB" >output_PPP_SF_GPS

(2). 使用GPS和Glonass的PPP_AR模式:

zcat brut_gamg.txt.gz | ../processStream -conf conf_process_PPP_AR_GPSGLO.txt - rover rover_gamg.txt -dcb "*.DCB" >output_PPP_AR_GPSGLO

(3).使用GPS、Glonass和Galileo的PPP_AR模式:

zcat brut_gamg.txt.gz | ../processStream -conf conf_process_PPP_AR_ALL.txt -rover rover_gamg.txt -dcb "*.DCB" >output_PPP_AR_ALL
  • 用进程流生成原始文件;
zcat brut_gamg.txt.gz | ../processStream -conf conf_process_PPP_AR_ALL.txt -rover rover_gamg.txt -dcb "*.DCB" -lowlevel >output_PPP_AR_GPSGLO
  • 使用processLowlevel的PPP计算:
zcat lowlevel_gamg.txt.gz | ../processLowLevel -conf conf_process_PPP_AR_GPSGLO.txt - rover rover_gamg.txt > output_lowlevel 2>/dev/null
  • 使用generateLowLevel生成原始文件:
time ../generateLowLevel -rinex "GAMG*.rnx" -sp3 "cnt21102.sp3" -clk "cnt21102.clk" - atx igs14_2108.atx -dcb "P1*.DCB" -chan channelGlo.txt >meas_gamg.spa

所有输入和输出文件都位于“tst”目录中。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值