Skip to content

Commit

Permalink
Open source 2.0.5 part of the code
Browse files Browse the repository at this point in the history
  • Loading branch information
XiaoGongWei committed Dec 8, 2020
1 parent e8db849 commit 5af2647
Show file tree
Hide file tree
Showing 179 changed files with 100,559 additions and 1,013 deletions.
Binary file removed EXE/MG_APP_V1.0.0.exe
Binary file not shown.
Binary file removed EXE/MG_APP_V2.0.0.exe
Binary file not shown.
Binary file removed EXE/MG_APP_V2.0.1.exe
Binary file not shown.
Binary file removed EXE/MG_APP_V2.0.2.exe
Binary file not shown.
58 changes: 58 additions & 0 deletions Licences/Debug.time.zh
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
代码使用说明:
1、使用QtCreator编译器生成的build-QtPPP-Qt-Debug文件夹下面要将
./QtPPP/Licences/CopyData下面的antmod.atx,gpt2_5.grd,OCEAN-GOT48.blq,gzip.exe
拷贝到生成的可执行程序(exe)目录下面再进行调试运行代码.



问题:
1、已经修复读取O文件的问题.需要加入质量检测,抗差程序.(2018.09.10)
2、SPP由于在QKalmanFilter.cpp中对码和相位进行载波阈值1e-4抗差,导致删除当前历元卫星,下一个历元SimpleSPP上一个历元卫星经常缺失.
使得PP3码平滑次数减少,影响了SPP精度,调试了10多个小时~~.将抗差QualityCtrl::VtPVCtrl_LC阈值更改为1e-2(2018.11.29)
3、针对SRIFAlgorithm.cpp中权阵的设置,由于SRIF滤波需要讲观测噪声白化,载波权阵m_Pk必须设置比伪距大1e6.设置成1e4导致波动剧烈.
并且设置成1e6能够加快收敛速度.具体代码参考下面示例.(2018.12.04)
m_Pk(i,i) = 1e6*oneSatlit.SatWight;//载波方程的权(噪声小)(Debug by xiaogongwei 2018.12.04;)
m_Pk(i+epochLenLB,i+epochLenLB) = oneSatlit.SatWight;//伪距方程的权(噪声大)
4、修复相位平滑伪距后的spp_pos没有和更新B和L矩阵问题,使得相位平滑伪距不再剧烈跳动.(2019.03.28)
5、增加自动下载erp文件,自动下载导航.p或者.n文件.
6、增加快速收敛的权比.(2019.04.02)
7、修复跳秒函数错误,影响GLONASS的SPP,发现2018.01.02号R21卫星导航星历0:45:00时刻钟差计算误差4000m.PPP版本更新到v1.7.1.
8、增加多系统之间接收机钟差的ISB,基本完善.当设置四系统,当前历元卫星系统少于4就会导致B某一列为0,导致Bx=L求解出现nan待解决.(2019.04.03)
9、观测时间不在天线文件有效期内无法进行卫星天线改正,待解决.(2019.04.04)
10、解决第8条接收机钟差的ISB问题(2019.04.09)
11、解决接收机钟差ISB基准钟在某一个历元或者全部历元缺失的问题例如QPPPModel::Obtaining_equation()函数,将基准钟优先级的字符串改成“GRCE”顺序,避免基准中经常缺失.例如在MainWindow::RunPPP()函数.
(2019.04.11)PPP版本更新到v1.7.2.
12、PPP版本v1.7.2存在Gaileo卫星天线以及非GPS和GLONASS系统接收机天线匹配不到的问题.(2019.04.12)待解决
13、PPP版本更新到v1.7.3,针对12条更改了接收机和卫星天线改正,将卫星天线更新到igs14_2035.atx.(2018.04.12)
14、在resources目录下面 增加eigen库.(2019.04.14)
15、CUT0测站因为跨周导致自动下载产品出错.待解决(2019.04.14)
16、修复了跨周导致自动下载产品出错问题.(2019.04.15)
17、PPP版本更新到v1.7.4,将单个测站plot按钮画出图像的保存到结果目录images下面.(2019.04.23)
18、增加不同导航系统定权方式:GPS:GLONASS:BDS:Galileo:3:2:1:1
19、增加GPLv3协议(2019.04.26)
20、PPP版本更新到v1.7.5,静态解算最小卫星数m_minSatFlag设置为1,动态设置为4.(2019.04.27)
21、电离层残差阈值由0.3设为0.1;采用Kalman滤波后的残差作为粗差探测,存在粗差循环滤波踢出.(2019.04.29)
24、QReadClk::InitStruct()和QReadSP3::InitStruct()原来假设卫星PRN最大是32,修改为64.(2019.05.02)
25、将QualityCtrl::VtPVCtrl_Filter_LC函数抗差条件改成(vec_V_abs[i] > 2*Zgama_L && vec_V_abs[i] > 0.08) || (vec_V_abs[i] > 0.15).(2019.05.05)
26、多系统组合的SPP出现问题,原因在于N文件或者P文件钟差轨道与精密产品差异巨大,应该合适的抗差踢除.(待解决).(2019.05.06)
27、第26条问题,循环剔除验后残差最大的,依旧不能完美解决广播星历带来的异常.(2019.05.07)
28、第26条问题,在滤波处循环粗差检定,在SimpleSPP模块只使用一次粗差检定.(2019.05.07)
29、头文件增加LGPL,MPL,GPL协议.(2019.5.8)
30、截止高度角默认值10,用户可以输入.(2019.05.13)
31、PPP版本更新到v1.7.6,在生成的.ppp文件前两列增加载波和伪距的残差;更新KML文件为红线.(2019.05.15)
32、增加差值SP3文件的钟差,方便使用igu星历,因为igu没有clk文件。讲clk文件替换tempSatlitData.StaClock = sp3Clk;.(2019.05.17)
33、QPPPModel::downProducts增加下载失败删除0字节文件,并且设置m_haveObsFile=false跳出QPPPModel::run.(2019.05.20)
34、QReadOFile::getWantData_3函数的替补思想(即读取C2W数据缺失,用C2X替代)完全错误,导致SRIF发散。卫星缺失说明质量有问题,不能使用.(2019.05.22)
35、QtPPPv1.7.6更新名字为MG-APPSv1.0(2019.05.24)
36、完善了之前很多的小Bug,增加了非组合PPP(2019.12.29)
37、在CUT0002.18o观测数据接收机钟差锯齿形波动,在跳换时候出现载波残差过大,因此准备用SPP的clk作为先验值作为约束,发现效果很好;在跳跃点无约束的与有约束的
差异0.5m;接收机钟差顺序为GREC(2019.12.30)



PPP作者博客及联系方式:
(1)
姓名:肖恭伟
博客:https://github.com/XiaoGongWei https://blog.csdn.net/xiaoxiao133
邮箱:[email protected]
QQ:270734392 wechat:xiaogongwei10
21 changes: 21 additions & 0 deletions Licences/OutputFormat.zh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
输出的.ppp文件每一列属性含义依次是:
1、卫星号
2、消电离层载波滤波后残差(m)
3、消电离层伪距滤波后残差(m)
4、卫星WGS84坐标-X(m)
5、卫星WGS84坐标-Y(m)
6、卫星WGS84坐标-Z(m)
7、卫星钟差(m)
8、卫星高度角(度)
9、卫星方位角(度)
10、卫星信号方向对流层干延迟(m)
11、卫星湿投影函数
12、相对论改正(m)
13、地球自转改正(m)
14、潮汐改正(m)
15、天线高信号方向改正(m)
16、卫星天线高L1信号方向改正(周)
17、卫星天线高L2信号方向改正(周)
18、接收机天线高L1信号方向改正(周)
19、接收机天线高L2信号方向改正(周)
20、相位缠绕(周)
22 changes: 22 additions & 0 deletions Licences/THANKS
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
*************************
***MG-APPS THANKS file***
*************************

We would like to thank the IGS, CNES, and GFZ for providing
GNSS data and orbit and clock products. Furthermore, we would
like to thank Natural Resources Canada for its latest CSRS-PPP
online application. In addition, we are grateful to Dashuai Chai,
Yulong Ge, Chuanbao Zhao, Xiaolong Mi and Feng Zhou for their
valuable suggestions.

Software:
Qt: <www.qt.io>
Eigen: <eigen.tuxfamily.org>
RTKLIB: <www.rtklib.com>
QCustomPlot: <www.qcustomplot.com>






15 changes: 11 additions & 4 deletions MG_APP.pro
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@ QT += network
TARGET = MG_APP
TEMPLATE = app
INCLUDEPATH += \
./resources/myeigen
./resources/myeigen \
./resources/ConfigWidget


## openMP
#QMAKE_CXXFLAGS += -fopenmp
Expand Down Expand Up @@ -56,7 +58,9 @@ SOURCES += \
QSPPModel.cpp \
QPPPBackSmooth.cpp \
QtMyTest.cpp \
QRTWrite2File.cpp
QRTWrite2File.cpp \
resources/ConfigWidget/ConfigWidget.cpp \
resources/ConfigWidget/ConfTranIni.cpp

# The following define makes your compiler emit warnings if you use
# any feature of Qt which as been marked deprecated (the exact warnings
Expand Down Expand Up @@ -97,11 +101,14 @@ HEADERS += \
QPseudoSmooth.h \
QSPPModel.h \
QPPPBackSmooth.h \
QRTWrite2File.h
QRTWrite2File.h \
resources/ConfigWidget/ConfigWidget.h \
resources/ConfigWidget/ConfTranIni.h


FORMS += \
mainwindow.ui
mainwindow.ui \
resources/ConfigWidget/ConfigWidget.ui

DISTFILES += \
Licences/README.md \
Expand Down
16 changes: 8 additions & 8 deletions MG_APP.pro.user
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.2.1, 2020-06-26T22:41:39. -->
<!-- Written by QtCreator 4.2.1, 2020-12-07T21:03:18. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{717be303-4684-4e42-b43c-73ce9e83b875}</value>
<value type="QByteArray">{b6b0e915-8184-4b62-b0d2-7fd56b1094bc}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
Expand Down Expand Up @@ -66,7 +66,7 @@
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">H:/MyFiles/MyPapers/GNSS_PPP_Paper/Paper/submit/upCode/build-MG_APP-Desktop_Qt_5_8_0_MinGW_32bit-Debug</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">P:/MyFiles/MyPapers/GNSS_PPP_Paper/Paper/submit/upCode/build-MG_APP-Desktop_Qt_5_8_0_MinGW_32bit-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
Expand Down Expand Up @@ -120,7 +120,7 @@
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">H:/MyFiles/MyPapers/GNSS_PPP_Paper/Paper/submit/upCode/build-MG_APP-Desktop_Qt_5_8_0_MinGW_32bit-Release</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">P:/MyFiles/MyPapers/GNSS_PPP_Paper/Paper/submit/upCode/Error in &quot; Util.asciify(&quot;build-MG_APP-Desktop_Qt_5_8_0_MinGW_32bit-Release&quot;)&quot;: TypeError: Property 'asciify' of object Core::Internal::UtilsJsExtension(0xa9d7360) is not a function</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
Expand Down Expand Up @@ -174,7 +174,7 @@
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">H:/MyFiles/MyPapers/GNSS_PPP_Paper/Paper/submit/upCode/build-MG_APP-Desktop_Qt_5_8_0_MinGW_32bit-Profile</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">P:/MyFiles/MyPapers/GNSS_PPP_Paper/Paper/submit/upCode/Error in &quot; Util.asciify(&quot;build-MG_APP-Desktop_Qt_5_8_0_MinGW_32bit-Profile&quot;)&quot;: TypeError: Property 'asciify' of object Core::Internal::UtilsJsExtension(0xa9d7360) is not a function</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
Expand Down Expand Up @@ -236,7 +236,7 @@
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">在本地部署</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
Expand Down Expand Up @@ -286,13 +286,13 @@
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">MG_APP</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:H:/MyFiles/MyPapers/GNSS_PPP_Paper/Paper/submit/upCode/MG_APP/MG_APP.pro</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:P:/MyFiles/MyPapers/GNSS_PPP_Paper/Paper/submit/upCode/MG_APP/MG_APP.pro</value>
<value type="bool" key="QmakeProjectManager.QmakeRunConfiguration.UseLibrarySearchPath">true</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">MG_APP.pro</value>
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default">H:/MyFiles/MyPapers/GNSS_PPP_Paper/Paper/submit/upCode/build-MG_APP-Desktop_Qt_5_8_0_MinGW_32bit-Debug</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default">P:/MyFiles/MyPapers/GNSS_PPP_Paper/Paper/submit/upCode/build-MG_APP-Desktop_Qt_5_8_0_MinGW_32bit-Debug</value>
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
Expand Down
12 changes: 6 additions & 6 deletions MyCompress.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@ bool MyCompress::UnCompress(QString unCompressFile, QString unCompress_floder)
{
if(!isDirExist(unCompress_floder))
return false;
bool is_Support = true;
int point_index = unCompressFile.lastIndexOf(".");
QString extent_name = unCompressFile.mid(point_index).trimmed();
if(extent_name.compare(".Z", Qt::CaseInsensitive) == 0)
QString extent_name = unCompressFile.mid(point_index).trimmed();
// is_Support = extent_name.compare(".Z", Qt::CaseInsensitive) == 0;
if(is_Support)
{
if(MYCOMPRESS_H_isLiux)
{
Expand All @@ -20,8 +22,7 @@ bool MyCompress::UnCompress(QString unCompressFile, QString unCompress_floder)
QStringList param;
param << "-d" << "-f" << unCompressFile;
myProcess.start(app_path, param);
myProcess.waitForFinished();
return true;
return myProcess.waitForFinished();
}
else
{
Expand All @@ -30,8 +31,7 @@ bool MyCompress::UnCompress(QString unCompressFile, QString unCompress_floder)
QStringList param;
param << "-d" << "-f" << unCompressFile;
myProcess.start(app_path, param);
myProcess.waitForFinished();
return true;
return myProcess.waitForFinished();
}
}

Expand Down
11 changes: 5 additions & 6 deletions MyCompress.h
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/*************************************************************************
**
** MG-APP----Multi-GNSS-Automatic Precise Positioning Software
** Copyright (C) 2016-2020 XiaoGongWei
** This file is part of MG-APP.
** MG-APPS----Multi-GNSS-Automatic Precise Positioning Software
** Copyright (C) 2016-2019 XiaoGongWei
** This file is part of MG-APPS.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
Expand Down Expand Up @@ -33,9 +33,8 @@
**
**************************************************************************
** Author: XiaoGongWei
** Website: github.com/xiaogongwei/MG_APP
** Download link (The GPS Toolbox): https://www.ngs.noaa.gov/gps-toolbox/
** Date: 06.02.2020
** Website/Contact: http://github.com/xiaogongwei
** Date: 26.04.2019
****************************************************************************/


Expand Down
11 changes: 5 additions & 6 deletions MyMatrix.h
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/*************************************************************************
**
** MG-APP----Multi-GNSS-Automatic Precise Positioning Software
** Copyright (C) 2016-2020 XiaoGongWei
** This file is part of MG-APP.
** MG-APPS----Multi-GNSS-Automatic Precise Positioning Software
** Copyright (C) 2016-2019 XiaoGongWei
** This file is part of MG-APPS.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
Expand Down Expand Up @@ -33,9 +33,8 @@
**
**************************************************************************
** Author: XiaoGongWei
** Website: github.com/xiaogongwei/MG_APP
** Download link (The GPS Toolbox): https://www.ngs.noaa.gov/gps-toolbox/
** Date: 06.02.2020
** Website/Contact: http://github.com/xiaogongwei
** Date: 26.04.2019
****************************************************************************/

#ifndef MYMATRIX_H_
Expand Down
33 changes: 7 additions & 26 deletions QBaseObject.h
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/*************************************************************************
**
** MG-APP----Multi-GNSS-Automatic Precise Positioning Software
** Copyright (C) 2016-2020 XiaoGongWei
** This file is part of MG-APP.
** MG-APPS----Multi-GNSS-Automatic Precise Positioning Software
** Copyright (C) 2016-2019 XiaoGongWei
** This file is part of MG-APPS.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
Expand Down Expand Up @@ -31,38 +31,18 @@
** You should have received a copy of the GNU General Public License
** along with this program. If not, see http://www.gnu.org/licenses/.
**
** BSD 2-clause
** Copyright(c) 2007‐2013, T.Takasu, All rights reserved
** Redistribution and use in source and binary forms, with or without modification,
** permitted provided that the following conditions are met:
** 1. Redistributions of source code must retain the above copyright notice,
** this list of conditions and the following disclaimer.
** 2. Redistributions in binary form must reproduce the above copyright notice,
** this list of conditions and the following disclaimer in the documentation and/or
** other materials provided with the distribution.
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
** DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
** SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
** USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
**************************************************************************
** Author: XiaoGongWei
** Website: github.com/xiaogongwei/MG_APP
** Download link (The GPS Toolbox): https://www.ngs.noaa.gov/gps-toolbox/
** Date: 06.02.2020
** Website/Contact: http://github.com/xiaogongwei
** Date: 26.04.2019
****************************************************************************/

#ifndef QBASEOBJECT_H
#define QBASEOBJECT_H

#include <QString>
#include <QDebug>
#include <ConfigWidget.h>
/*
1. illustration:
QString tempLine = "G";
Expand Down Expand Up @@ -90,6 +70,7 @@ class QBaseObject
void setPPPModel(PPP_MODEL _PPP_MODEL) {m_PPP_MODEL = _PPP_MODEL;}
PPP_MODEL getPPPModel() {return m_PPP_MODEL;}
QString getSaveFloderName() {return m_floder_name;}
static ConfigWidget m_ConfigWidget;
private:
void initVar();//Initialize data (GPS is turned on by default)
//Data section
Expand Down
Loading

0 comments on commit 5af2647

Please sign in to comment.