-
Notifications
You must be signed in to change notification settings - Fork 43
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
1. GREAT-PVT ver-1.0.0
- Loading branch information
Showing
715 changed files
with
290,550 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,79 @@ | ||
# GREAT-PVT | ||
# GREAT-PVT: 武汉大学GREAT团队精密定位导航软件(内测版) | ||
|
||
## 概述 | ||
|
||
  GREAT (GNSS+ REsearch, Application and Teaching) 软件由武汉大学测绘学院设计开发,是一个用于空间大地测量数据处理、精密定位和定轨以及多源融合导航的综合性软件平台。<br /> | ||
  GREAT-PVT是GREAT软件中的一个重要模块,主要用于精密定位解算。软件中,核心计算模块使用C++语言(C++17)编写,辅助脚本模块使用Python3和C-Shell语言实现自动化数据处理。GREAT-PVT软件使用CMAKE工具进行编译管理,用户可以灵活选择GCC、Clang、MSVC等主流C++编译器。目前软件提供了Windows和Linux平台的命令行应用程序。<br /> | ||
  GREAT-PVT由2个可移植程序库组成,分别是LibGREAT和LibGnut。LibGREAT库主要用于PPP、RTK滤波解算,包括滤波估计中涉及的数据解码、存储以及PPP、PPP-AR、RTK算法的实现,LibGnut库来源于开源GNSS软件G-nut,包括GNSS数据的解码和存储以及基本参数配置模块。<br /> | ||
  GREAT-PVT软件主要特点包括: | ||
1. 支持GPS、GLONASS、Galileo、BDS-2/3系统 | ||
|
||
2. 支持多频PPP浮点解与固定解 | ||
|
||
3. 支持无电离层组合、非差非组合PPP观测值组合方式 | ||
|
||
4. 支持多频率多系统PPP浮点解与固定解 | ||
|
||
5. 支持双频、单双频混合RTK解算 | ||
|
||
|
||
  此外,软件包还提供批处理脚本和定位结果绘图脚本,便于用户对多天数据进行解算与结果分析。 | ||
|
||
## 软件包目录结构 | ||
```shell | ||
GREAT-PVT_<ver> | ||
./bin Windows和Linux可执行程序 * | ||
./src 源代码 * | ||
./app GREAT-PVT主程序 * | ||
./LibGREAT PPP、PPP-AR、RTK解算库 * | ||
./LibGnut Gnut库 * | ||
./third-party 第三方库 * | ||
./sample_data 算例数据 * | ||
./PPPFLT_2023304 PPP算例 * | ||
./RTKFLT_2020351 RTK算例 * | ||
./util 脚本工具 * | ||
./batch_process PPP批处理脚本 * | ||
./plot 画图脚本 * | ||
./poleut1 地球定向参数生成程序 * | ||
./doc 文档 * | ||
GREAT_PPP.xml PPP配置文件模板 * | ||
GREAT_RTK.xml RTK配置文件模板 * | ||
GREAT-PVT_1.0.pdf GREAT-PVT用户指南 * | ||
``` | ||
|
||
## 安装和使用 | ||
|
||
参见GREAT-PVT_1.0.pdf | ||
|
||
## 参与贡献 | ||
|
||
开发人员: | ||
|
||
武汉大学GREAT团队, Wuhan University. | ||
|
||
三方库: | ||
|
||
* GREAT-PVT使用G-Nut库(http://www.pecny.cz) | ||
Copyright (C) 2011-2016 GOP - Geodetic Observatory Pecny, RIGTC. | ||
|
||
* GREAT-PVT使用pugixml库(http://pugixml.org) | ||
Copyright (C) 2006-2014 Arseny Kapoulkine. | ||
|
||
* GREAT-PVT使用Newmat库(http://www.robertnz.net/nm_intro.htm) | ||
Copyright (C) 2008: R B Davies. | ||
|
||
* GREAT-PVT使用spdlog库(https://github.com/gabime/spdlog) | ||
Copyright(c) 2015-present, Gabi Melman & spdlog contributors. | ||
|
||
* GREAT-PVT使用Eigen库(https://eigen.tuxfamily.org) | ||
Copyright (C) 2008-2011 Gael Guennebaud | ||
|
||
* 脚本工具使用部分FAST源码(https://github.com/ChangChuntao/FAST) | ||
Copyright (C) The GNSS Center, Wuhan University & Chinese Academy of Surveying and mapping. | ||
|
||
## 下载地址 | ||
|
||
GitHub:https://github.com/GREAT-WHU/GREAT-PVT | ||
|
||
欢迎加入QQ群(1009827379)参与讨论与交流。 | ||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,155 @@ | ||
<?xml version='1.0' encoding='utf-8'?> | ||
<config> | ||
<gen> | ||
<beg> 2024-02-09 00:00:00 </beg> <!--> begin time <!--> | ||
<end> 2024-02-09 23:59:30 </end> <!--> end time <!--> | ||
<int> 30 </int> <!--> sampling interval <!--> | ||
<sys> GPS GAL BDS GLO </sys> <!--> system ex:GPS GAL GLO QZS BDS SBS <!--> | ||
<rec> GODN MBAR SGOC </rec> <!--> site (4-char upper) <!--> | ||
<est> FLT </est> <!--> Estimator :FLT <!--> | ||
</gen> | ||
|
||
<inputs> | ||
<rinexo> <!--> rinex obs file <!--> | ||
obs\GODN00USA_R_20240400000_01D_30S_MO.24o | ||
obs\MBAR00UGA_R_20240400000_01D_30S_MO.24o | ||
obs\SGOC00LKA_R_20240400000_01D_30S_MO.24o | ||
</rinexo> | ||
<rinexn> gnss\brdc0400.24p </rinexn> <!--> rinex nav file <!--> | ||
<rinexc> gnss\COD0MGXFIN_20240400000_01D_30S_CLK.CLK </rinexc> <!--> precise satellite clock offset file <!--> | ||
<sp3> gnss\COD0MGXFIN_20240400000_01D_05M_ORB.SP3 </sp3> <!--> precise orbit file <!--> | ||
<de> model\jpleph_de405_great </de> <!--> Planetary ephemeris file <!--> | ||
<atx> model\igs20_2290.atx </atx> <!--> Antenna correction file <!--> | ||
<blq> model\oceanload </blq> <!--> oceanload file <!--> | ||
<eop> model\poleut1 </eop> <!--> ERP file <!--> | ||
<bias> gnss\CAS0MGXRAP_20240400000_01D_01D_DCB.BSX </bias> <!--> DCB file <!--> | ||
<upd> upd\upd_wl_2024040_GREC upd\upd_nl_2024040_GREC </upd> <!--> uncalibrated phase delay, for fixing ambiguity <!--> | ||
</inputs> | ||
|
||
<outputs append="false" verb="0"> <!--> output file:whether append & verb:the larger the value,the more detailed the output log. <!--> | ||
<log type="CONSOLE" name="ppp" level="INFO"/> <!--> log file <!--> | ||
<ppp> .\result\$(rec)-PPP </ppp> <!--> ppp log file <!--> | ||
<flt> .\result\$(rec)-PPP.flt </flt> <!--> result file <!--> | ||
</outputs> | ||
|
||
<gps sigma_C="0.6" sigma_L="0.01"> <!--> GPS pseudorange sigma & phase sigma <!--> | ||
<sat> <!--> satellite prn <!--> | ||
G01 G02 G03 G04 G05 G06 G07 G08 G09 G10 | ||
G11 G12 G13 G14 G15 G16 G17 G18 G19 G20 | ||
G21 G22 G23 G24 G25 G26 G27 G28 G29 G30 | ||
G31 G32 | ||
</sat> | ||
<band> 1 2 </band> <!--> the satellite frequency, for example, C5X, is represented as 5 <!--> | ||
<freq> 1 2 </freq> <!--> satellite frequency, corresponding to band, optional value 1/2/3/4/5 <!--> | ||
</gps> | ||
<glo sigma_C="0.6" sigma_L="0.01"> <!--> GLO pseudorange sigma & phase sigma <!--> | ||
<sat> | ||
R01 R02 R03 R04 R05 R06 R07 R08 R09 R10 | ||
R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 | ||
R21 R22 R23 R24 | ||
</sat> | ||
<band> 1 2 </band> | ||
<freq> 1 2 </freq> | ||
</glo> | ||
<gal sigma_C="0.6" sigma_L="0.01"> <!--> GAL pseudorange sigma & phase sigma <!--> | ||
<sat> | ||
E01 E02 E03 E04 E05 E06 E07 E08 E09 E10 | ||
E11 E12 E13 E14 E15 E16 E17 E18 E19 E20 | ||
E21 E22 E23 E24 E25 E26 E27 E28 E29 E30 | ||
E31 E32 E33 E34 E35 E36 | ||
</sat> | ||
<band> 1 5 </band> | ||
<freq> 1 2 </freq> | ||
</gal> | ||
<bds sigma_C="0.6" sigma_L="0.01"> <!--> BDS pseudorange sigma & phase sigma <!--> | ||
<sat> | ||
C06 C07 C08 C09 C10 | ||
C11 C12 C13 C14 C15 C16 C17 C18 C19 C20 | ||
C21 C22 C23 C24 C25 C26 C27 C28 C29 C30 | ||
C31 C32 C33 C34 C35 C36 C37 C38 C39 | ||
C41 C42 C43 C44 C45 C46 | ||
|
||
</sat> | ||
<band> 2 6 </band> | ||
<freq> 1 2 </freq> | ||
</bds> | ||
<qzs sigma_C="0.6" sigma_L="0.01"> <!--> QZS pseudorange sigma & phase sigma <!--> | ||
<sat> | ||
J01 J02 J03 J04 | ||
</sat> | ||
<band> 1 2 </band> | ||
<freq> 1 2 </freq> | ||
</qzs> | ||
|
||
|
||
<process> | ||
<phase> true </phase> <!--> use phase obs (true/false) <!--> | ||
<tropo> true </tropo> <!--> estimate trop param (true/false) <!--> | ||
<iono> true </iono> <!--> estimate iono param (true/false) <!--> | ||
<doppler> false </doppler> <!--> use doppler obs (true/false) <!--> | ||
<tropo_model> saastamoinen </tropo_model> <!--> trop model <!--> | ||
<sig_init_crd> 30 </sig_init_crd> <!--> initial sigma of coordinate <!--> | ||
<sig_init_vel> 10 </sig_init_vel> <!--> initial sigma of velocity <!--> | ||
<sig_init_ztd> 10 </sig_init_ztd> <!--> initial sigma of ztd <!--> | ||
<sig_init_amb> 30 </sig_init_amb> <!--> initial sigma of ambiguity <!--> | ||
<sig_init_gal> 10 </sig_init_gal> <!--> initial sigma of Galileo isb/ifb <!--> | ||
<sig_init_glo> 10 </sig_init_glo> <!--> initial sigma of GLONASS isb/ifb <!--> | ||
<sig_init_bds> 10 </sig_init_bds> <!--> initial sigma of BDS isb/ifb <!--> | ||
<sig_init_vion> 100 </sig_init_vion> <!--> initial sigma of slant iono <!--> | ||
<minimum_elev> 7 </minimum_elev> <!--> cut-off satellite elevation(deg) <!--> | ||
<obs_combination> RAW_ALL </obs_combination> <!--> obs comb type (IONO_FREE/RAW_ALL) <!--> | ||
<max_res_norm> 3 </max_res_norm> <!--> posterior residual threshold <!--> | ||
<crd_constr> est </crd_constr> <!--> coordinate constraint method (EST/FIX/KIN) <!--> | ||
<pos_kin> false </pos_kin> <!--> kinematic mode (true/false) <!--> | ||
<min_sat> 5 </min_sat> <!--> min satellite number <!--> | ||
<obs_weight> SINEL </obs_weight> <!--> weigh model of obs <!--> | ||
<bds_code_bias_corr> true </bds_code_bias_corr> <!--> whether to correct BDS codeBias (true/false) <!--> | ||
<slip_model> default </slip_model> <!--> cycle slip detect method <!--> | ||
<frequency> 2 </frequency> <!--> frequency number <!--> | ||
</process> | ||
|
||
|
||
<!--filter | ||
method_flt filter method(srcf, kalman) | ||
noise_crd noise of rec coordinate | ||
noise_vel noise of rec velocity | ||
noise_clk noise of rec clk | ||
noise_dclk noise of rec dclk | ||
noise_vion noise of iono | ||
rndwk_ztd random walk of ztd | ||
rndwk_amb random walk of ambiguity | ||
rndwk_glo random walk of GLONASS isb/ifb | ||
rndwk_gal random walk of Galileo isb/ifb | ||
rndwk_bds random walk of BDS isb/ifb | ||
rndwk_gps random walk of BDS ifb | ||
/--> | ||
<filter | ||
method_flt="srcf" | ||
noise_crd="0" | ||
noise_vel="1" | ||
noise_clk = "1000" | ||
noise_dclk="100" | ||
noise_vion="100" | ||
rndwk_ztd="6" | ||
rndwk_amb="0" | ||
rndwk_glo = "20" | ||
rndwk_gal = "20" | ||
rndwk_bds = "20" | ||
rndwk_gps = "20" | ||
/> | ||
|
||
|
||
<ambiguity> | ||
<fix_mode> SEARCH </fix_mode> <!--> ambiguity fixed mode (NO/SEARCH) <!--> | ||
<upd_mode> UPD </upd_mode> <!--> upd mode <!--> | ||
<part_fix> YES </part_fix> <!--> part_fix (YES/NO) <!--> | ||
<part_fix_num> 4 </part_fix_num> <!--> threshold in partial ambiguity fixing <!--> | ||
<ratio> 2.0 </ratio> <!--> threshold in LAMBDA method <!--> | ||
<set_refsat> YES </set_refsat> <!--> set_refsat (YES/NO) <!--> | ||
<min_common_time> 1 </min_common_time> <!--> minimum common time/seconds <!--> | ||
<extra_widelane_decision maxdev = "0.07" maxsig = "0.10" alpha = "1000" /> <!--> extra widelane setting, alpha&maxdev(Confidence interval parameter), maxsig(maximum sigma) <!--> | ||
<widelane_decision maxdev = "0.25" maxsig = "0.12" alpha = "1000" /> <!--> widelane setting, option: alpha&maxdev(Confidence interval parameter), maxsig(maximum sigma) <!--> | ||
<narrowlane_decision maxdev = "0.35" maxsig = "0.12" alpha = "1000" /> <!--> narrowlane setting, option: alpha&maxdev(Confidence interval parameter), maxsig(maximum sigma) <!--> | ||
</ambiguity> | ||
|
||
</config> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,119 @@ | ||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> | ||
<!DOCTYPE config> | ||
|
||
<config> | ||
<gen> | ||
<beg> "2020-12-16 07:00:00" </beg> <!--> begin time <!--> | ||
<end> "2020-12-16 08:50:00" </end> <!--> end time <!--> | ||
<sys > GPS GAL BDS </sys> <!--> system ex: GAL GLO QZS BDS SBS <!--> | ||
<rec> SEPT WUDA </rec> <!--> site (4-char upper) <!--> | ||
<base> WUDA </base> <!--> base site (4-char upper) <!--> | ||
<rover> SEPT </rover> <!--> rover site (4-char upper) <!--> | ||
<int> 1 </int> <!--> sampling interval <!--> | ||
</gen> | ||
|
||
<receiver> | ||
<rec id="WUDA" X="-2267761.0442" Y="5009370.8908" Z="3220970.5961"/> <!--> base site coordinate <!--> | ||
</receiver> | ||
|
||
<inputs> | ||
<rinexo> obs\SEPT3510.20O obs\WUDA3510.20O </rinexo> <!--> rinex obs file <!--> | ||
<rinexn> gnss\brdm3510.20p </rinexn> <!--> rinex nav file <!--> | ||
<atx> model\igs20_2290.atx </atx> <!--> Antenna correction file <!--> | ||
<blq> model\oceanload </blq> <!--> oceanload file <!--> | ||
<de> model\jpleph_de405_great </de> <!--> Planetary ephemeris file <!--> | ||
<eop> model\poleut1 </eop> <!--> ERP file <!--> | ||
</inputs> | ||
|
||
|
||
<outputs> | ||
<log type="BASIC" level="INFO" /> <!--> log file <!--> | ||
<ppp> result/$(rec)-RTK </ppp> <!--> RTK log file <!--> | ||
<flt> result/$(rec)-RTK.flt </flt> <!--> result file <!--> | ||
</outputs> | ||
|
||
<process> | ||
<phase> true </phase> <!--> use phase obs (true/false) <!--> | ||
<tropo> false </tropo> <!--> estimate trop param (true/false) <!--> | ||
<iono> false </iono> <!--> estimate iono param (true/false) <!--> | ||
<doppler> false </doppler> <!--> use doppler obs (true/false) <!--> | ||
<tropo_model> saastamoinen </tropo_model> <!--> trop model <!--> | ||
<sig_init_crd> 30 </sig_init_crd> <!--> initial sigma of coordinate <!--> | ||
<sig_init_vel> 10 </sig_init_vel> <!--> initial sigma of velocity <!--> | ||
<sig_init_ztd> 10 </sig_init_ztd> <!--> initial sigma of ztd <!--> | ||
<sig_init_amb> 30 </sig_init_amb> <!--> initial sigma of ambiguity <!--> | ||
<sig_init_gal> 10 </sig_init_gal> <!--> initial sigma of Galileo isb/ifb <!--> | ||
<sig_init_glo> 10 </sig_init_glo> <!--> initial sigma of GLONASS isb/ifb <!--> | ||
<sig_init_bds> 10 </sig_init_bds> <!--> initial sigma of BDS isb/ifb <!--> | ||
<sig_init_vion> 100 </sig_init_vion> <!--> initial sigma of slant iono <!--> | ||
<minimum_elev> 7 </minimum_elev> <!--> cut-off satellite elevation(deg) <!--> | ||
<obs_combination> RAW_MIX </obs_combination> <!--> obs comb type <!--> | ||
<max_res_norm> 3 </max_res_norm> <!--> posterior residual threshold <!--> | ||
<pos_kin> true </pos_kin> <!--> kinematic mode (true/false) <!--> | ||
<min_sat> 5 </min_sat> <!--> min satellite number <!--> | ||
<obs_weight> SINEL </obs_weight> <!--> weigh model of obs <!--> | ||
<basepos> CFILE </basepos> <!--> Base station coordinate acquisition method(CFILE/spp) <!--> | ||
<bds_code_bias_corr> true </bds_code_bias_corr> <!--> whether to correct BDS codeBias (true/false) <!--> | ||
<slip_model> default </slip_model> <!--> cycle slip detect method <!--> | ||
<frequency> 2 </frequency> <!--> frequency number <!--> | ||
</process> | ||
|
||
|
||
<!--filter | ||
method_flt filter method(srcf, kalman) | ||
noise_crd noise of rec coordinate | ||
noise_vel noise of rec velocity | ||
noise_dclk noise of rec dclk | ||
rndwk_ztd random walk of ztd | ||
rndwk_amb time interval of ambiguity reset | ||
/--> | ||
<filter | ||
method_flt="kalman" | ||
noise_crd="30" | ||
noise_vel="1" | ||
noise_dclk="100" | ||
rndwk_ztd="6" | ||
reset_amb="0" | ||
/> | ||
|
||
|
||
<ambiguity> | ||
<fix_mode> SEARCH </fix_mode> <!--> ambiguity fixed mode (NO/SEARCH) <!--> | ||
<part_fix> YES </part_fix> <!--> part_fix (YES/NO) <!--> | ||
<part_fix_num> 3 </part_fix_num> <!--> threshold in partial ambiguity fixing <!--> | ||
<ratio> 2.5 </ratio> <!--> threshold in LAMBDA method <!--> | ||
<min_common_time> 0 </min_common_time> <!--> minimum common time/seconds <!--> | ||
<extra_widelane_decision maxdev = "0.1" maxsig = "0.10" alpha = "1000" /> <!--> extra widelane setting, alpha&maxdev(Confidence interval parameter), maxsig(maximum sigma) <!--> | ||
<widelane_decision maxdev = "0.275" maxsig = "0.10" alpha = "1000" /> <!--> widelane setting, option: alpha&maxdev(Confidence interval parameter), maxsig(maximum sigma) <!--> | ||
<narrowlane_decision maxdev = "0.375" maxsig = "0.10" alpha = "1000" /> <!--> narrowlane setting, option: alpha&maxdev(Confidence interval parameter), maxsig(maximum sigma) <!--> | ||
</ambiguity> | ||
|
||
<bds sigma_C="3" sigma_L="0.03" > <!--> BDS pseudorange sigma & phase sigma <!--> | ||
<freq> 1 2 </freq> <!--> the satellite frequency, for example, C5X, is represented as 5 <!--> | ||
<band> 2 6 </band> <!--> satellite frequency, corresponding to band, optional value 1/2/3/4/5 <!--> | ||
</bds> | ||
|
||
<gps sigma_C="2" sigma_L="0.02" > | ||
<freq> 1 2 </freq> | ||
<band> 1 2 </band> | ||
</gps> | ||
|
||
<gal sigma_C="3" sigma_L="0.03" > | ||
<freq> 1 2 </freq> | ||
<band> 1 5 </band> | ||
</gal> | ||
|
||
<glo sigma_C="4" sigma_L="0.04" > | ||
<freq> 1 2 </freq> | ||
<band> 1 2 </band> | ||
</glo> | ||
|
||
<qzs sigma_C="0.6" sigma_L="0.01" > | ||
<freq> 1 2 </freq> | ||
<band> 1 2 </band> | ||
</qzs> | ||
|
||
|
||
</config> | ||
|
||
|
Binary file not shown.
Binary file not shown.
Oops, something went wrong.