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 布尔 使用GPS 1
useGlonass 布尔 使用Glonass 1
useGalileo 布尔 使用伽利略 1
useBeidou 布尔 使用北斗 0
sbasCorrection 布尔 0 -> RTIGS钟差改正,1 -> SBAS钟差改正 0
convergence 整型/秒 收敛时间。连续两次收敛之间的时间(用于收敛时间测试),如果没有收敛,则为0 0
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 实数/m tropo模型噪声 0.000005
nbSatFixAmb 整型/无符号 AR的最少卫星数 0
threAmb 实数/m AR的模糊阈值 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 实数/m tropo测量拒绝阈值 1
sigIniPos 实数/m 初始位置噪声 50
0(位置固定)
sigModPos 实数/m 模型位置噪声 10(移动接收机)
0.02(静态接收机)
0(位置固定)
preDTMax 实数/秒 最大测量间隔 300
codeThr 实数/m 伪码测量拒绝阈值 10
phaseThr 实数/m 相位测量抑制阈值 0.05
sigMeasCodeGps 实数/m GPS伪码测量噪声 1
sigMeasPhaseGps 实数/m GPS相位测量噪声 0.01
sigMeasCodeGlo 实数/m Glonass伪码测量噪声 5
sigMeasPhaseGlo 实数/m Glonass相位测量噪声 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 mode SPP、PPP等
Measurements 观测量总数
ExtraWidelanes #超宽巷固定的测量值
Widelanes #宽巷固定的测量值
Narrowlane #窄巷固定的测量值
X x(m,ITRF 08)
CovX X方差(m)
Y Y(m,ITRF 08)
CovY Y方差(m)
Z Z(m,ITRF 08)
CovZ Z方差(m)
DryTropo 对流层干延迟(m)
Tropo 估计的对流层湿延迟(m)
Cov tropo 对流层湿延迟的方差(m)
Integrity 完好性标识

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

字段 说明
Date 日*
Hour 小时*
Rover 流动站名称
PPP mode SPP、PPP等
HstaGPS GPS钟差
HstaGlo Glo钟差
HstaGal Gal钟差
HstaBds Bds钟差
Measurements 观测量总数
ExtraWidelanes #超宽巷固定的观测量
Widelanes #宽巷固定的观测量
Narrowlane #窄巷固定的观测量
X x(m,ITRF 08)
CovX X方差(m)
Y y(m,ITRF 08)
CovY Y方差(m)
Z Z(m,ITRF 08)
CovZ Z 方差(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
3 CNES·儒略日 第一天1950年1月1日
4 天内秒
5 C1/P1/E1 m 伪距
6 P2 m
7 C6(北斗) m
8 C5/E5a(伽利略) m
9 E5b/C7(北斗) m
10 L1 相位
11 L2
12 L6(北斗)
13 L5/L5a(伽利略)
14 L5b/L7(北斗)
15 D1 Hz 多普勒
16 D2 Hz
17 D6(北斗) Hz
18 D5/D5a(伽利略) Hz
19 D5b/D7(北斗) Hz
20 Slot/typeBds - Glo卫星频点或BDS卫星类型:
0:GEO,1:IGSO,2:MEO
21 X m 卫星位置.信号发射时的APC
22 Y m
23 Z m
24 H m 信号发射时刻的卫星钟差,包括相对论效应
25 Vx m/s 卫星速度
26 Vy m/s
27 Vz m/s
28 电离层延迟 m 在L1频率上的斜电离层延迟
29 电离层延迟来源 - 1:精确,2:SBAS,3:全球
30 对流层延迟 m 天顶对流层延迟
31 偏航 卫星偏航角
32 bC1 m L1频率上的码偏差.与字段5和字段24一致
33 bP2 m
34 bC6 m
35 bC5 m
36 bE5b m
37 bL1 L1频率上的相位偏差.与字段10和字段24一致
38 bL2
39 bL6
40 bL5
41 bL5b
42 N1指示器 0/1 对应N1整周模糊度的偏差
43 Wl指示器 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”目录中。

PPPwizard1.4.3软件使用说明中文翻译稿相关推荐

  1. 一本squid的中文翻译稿

    一本squid的中文翻译稿 Jeff Pang的站点 第1章 介绍 »  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  Index Sq ...

  2. 雷迪9000使用说明_雷迪司UPS监控软件使用说明中文

    ViewPower 用户手册 雷迪司( LADIS ) UPS 不间断电源监控系统管理软件 软件系统登录密码: administrator 目录 1. ViewPower 概况 ........... ...

  3. Machine Learning Yearning 中文翻译稿

    向AI转型的程序员都关注了这个号

  4. 7系列FPGA数据手册:概述------中文翻译版

    7系列FPGA数据手册:概述------中文翻译版 总体介绍 7系列FPGA功能摘要 Spartan-7系列FPGA功能摘要 Artix-7系列FPGA功能摘要 Kintex-7系列FPGA功能摘要 ...

  5. GeoPandas官方快速入门文档(中文翻译版)

    GeoPandas官方快速入门文档(中文翻译版) 原文链接>>Introduction to GeoPandas 点这里可以一键跑通>>GeoPandas 简介 GeoPand ...

  6. 报名软件批次分类code不能为空_技能鉴定报名软件使用说明

    技能鉴定报名软件使用说明 本报名软件( V3.0 )是为了适应我省职业技能鉴定网上( WEB )服务 平台.各级管理部门内部局域网管理平台,以及国家职业技能鉴定"在线 工程"网络的 ...

  7. 两个软件相互交换数据_六轴算法机软件使用说明

    RAA (1.00a) ( Robot Arm Algorithms 1.00a 六轴算法机软件使用说明 : 作者觉得,在实际应用中,正逆解求解工具可以理解为一个类似数学计算器的 东西:不需要每个研究 ...

  8. d06调试详细说明_D06电脑板调试软件使用说明_20100706

    嘉德锐科电脑板调试软件使用说明 目录 一.软件主界面 ......................................................................... ...

  9. ANSI Common Lisp 中文翻譯版 — ANSI Common Lisp 中文版

    ANSI Common Lisp 中文翻譯版 - ANSI Common Lisp 中文版 ANSI Common Lisp 中文翻譯版¶

最新文章

  1. 2022-2028年中国中空玻璃聚硫密封胶行业市场研究及前瞻分析报告
  2. SAP UI5 click list item to navigate to detail page
  3. windows 系统监视器_使用Windows 7中的可靠性监视器对计算机问题进行故障排除
  4. Orange Business Services 全球发布 Easy Go Network,帮助企业加速实现“网络即服务”...
  5. pymavlink 源码剖析(一)之XML文件的数据解析
  6. linux 查找只读文件夹,Linux系统中查找命令find的使用方法(二)
  7. OpenShift 4 - 利用 File Integrity Operator 实现对集群节点进行入侵检测
  8. Failed to parse PID from file /run/nginx.pid: Invalid argument
  9. 是指能够被程序员看到的计算机系统的属性,计算机组成原理复习范围详细.doc...
  10. git分支指的是_Git分支是什么
  11. MTK平台Camera驱动流程分析
  12. 计算机游戏教学法的创新之处,游戏教学法在小学英语课堂论文开题报告的创新点...
  13. 【常用命令】netstat -ano命令图文详细说明
  14. 今天是2022年5月21日
  15. caffe 人脸关键点检测_密集人脸关键点检测
  16. 工控协议(二):Modbus TCP/IP 学习笔记
  17. Java 中的JButton按钮事件,ActionListener
  18. Spark 调优技巧总结
  19. ☀️从0到1部署Hadoop☀️基于网站日志进行大数据分析【❤️建议收藏❤️】
  20. 零输入响应与零状态响应响应

热门文章

  1. IDEA debug 断点无效
  2. 微信小程序 SOTER 生物认证DEMO,指纹识别
  3. h5发送短信以及判别用户浏览器版本
  4. nodejs在Linux下使用图片相关模块出现Error: write EPIPE
  5. 第一篇:初学编程对未来的展望
  6. Nodejs 正则表达式
  7. 国内股票KDJ指标计算,Python实现KDJ指标计算,Talib实现KDJ指标计算
  8. mysql 中启动服务的命令 、登录命令、退出命令 mysql 的常用命令
  9. 1007 Rikka with Travels Rikka with Travels
  10. Ubuntu查看系统信息(CPU、GPU信息)