Changeset 9302 in ntrip for trunk


Ignore:
Timestamp:
Dec 5, 2020, 11:00:16 PM (3 years ago)
Author:
stuerze
Message:

sigmas for pseudo observations are included as option

Location:
trunk/BNC/src
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/bnchelp.html

    r9292 r9302  
    52265226   PPP/sigmaC1      {Sigma for code observations in meters [floating-point number]}
    52275227   PPP/sigmaL1      {Sigma for phase observations in meters [floating-point number]}
     5228   PPP/sigmaGIM     {Sigma for GIM pseudo observations in meters [floating-point number]}
     5229   PPP/sigmaTz0     {Sigma for Tz0 pseudo observations in meters [floating-point number]}
    52285230   PPP/maxResC1     {Maximal residuum for code observations in meters [floating-point number]}
    52295231   PPP/maxResL1     {Maximal residuum for phase observations in meters [floating-point number]}
  • trunk/BNC/src/bncmain.cpp

    r9292 r9302  
    233233      "   PPP/sigmaC1      {Sigma for code observations in meters [floating-point number]}\n"
    234234      "   PPP/sigmaL1      {Sigma for phase observations in meters [floating-point number]}\n"
     235      "   PPP/sigmaGIM     {Sigma for GIM pseudo observations in meters [floating-point number]}\n"
     236      "   PPP/sigmaTz0     {Sigma for Tz0 pseudo observations in meters [floating-point number]}\n"
    235237      "   PPP/maxResC1     {Maximal residuum for code observations in meters [floating-point number]}\n"
    236238      "   PPP/maxResL1     {Maximal residuum for phase observations in meters [floating-point number]}\n"
  • trunk/BNC/src/bncwindow.cpp

    r9292 r9302  
    10591059  pppLayout3->addWidget(new QLabel("Pseudo Obs"),           ir, 0, Qt::AlignLeft);
    10601060  pppLayout3->addWidget(_pppWidgets._pseudoObs,             ir, 1);
     1061  pppLayout3->addItem(new QSpacerItem(8*ww, 0),             ir, 2);
     1062  pppLayout3->addWidget(new QLabel("Sigma GIM"),            ir, 3, Qt::AlignLeft);
     1063  pppLayout3->addWidget(_pppWidgets._sigmaGIM,              ir, 4); _pppWidgets._sigmaGIM->setMaximumWidth(8*ww);
     1064  pppLayout3->addItem(new QSpacerItem(8*ww, 0),             ir, 5);
     1065  pppLayout3->addWidget(new QLabel("Sigma Tz0"),            ir, 6, Qt::AlignLeft);
     1066  pppLayout3->addWidget(_pppWidgets._sigmaTz0,              ir, 7); _pppWidgets._sigmaTz0->setMaximumWidth(8*ww);
    10611067  ++ir;
    10621068  pppLayout3->addWidget(new QLabel(""),                     ir, 8);
     
    14481454  _pppWidgets._sigmaC1->setWhatsThis(tr("<p>Enter a Sigma for GNSS C1 code observations in meters.</p><p>The higher the sigma you enter, the less the contribution of C1 code observations to a PPP solution from combined code and phase data. 2.0 is likely to be an appropriate choice.</p><p>Default is an empty option field, meaning<br>'Sigma C1 = 2.0' <i>[key: PPP/sigmaC1]</i></p>"));
    14491455  _pppWidgets._sigmaL1->setWhatsThis(tr("<p>Enter a Sigma for GNSS L1 phase observations in meters.</p><p>The higher the sigma you enter, the less the contribution of L1 phase observations to a PPP solutions from combined code and phase data. 0.01 is likely to be an appropriate choice.</p><p>Default is an empty option field, meaning<br>'Sigma L1 = 0.01' <i>[key: PPP/sigmaL1]</i></p>"));
     1456  _pppWidgets._sigmaGIM->setWhatsThis(tr("<p>Enter a Sigma for GIM pseudo observations in meters.</p><p>The higher the sigma you enter, the less the contribution of GIM pseudo observations to a PPP solution. 0.05 is likely to be an appropriate choice.</p><p>Default is an empty option field, meaning<br>'Sigma GIM = 0.05' <i>[key: PPP/sigmaGIM]</i></p>"));
     1457  _pppWidgets._sigmaTz0->setWhatsThis(tr("<p>Enter a Sigma for a Tropospheric pseudo observation in zenith direction in meters.</p><p>The higher the sigma you enter, the less the contribution of Tz0 pseudo observations to a PPP solution. 0.10 is likely to be an appropriate choice.</p><p>Default is an empty option field, meaning<br>'Sigma Tzo = 0.10' <i>[key: PPP/sigmaTz0]</i></p>"));
    14501458  _pppWidgets._maxResC1->setWhatsThis(tr("<p>Specify a maximum for residuals from C1 code observations in a PPP solution. '3.0' meters may be an appropriate choice for that.</p><p>If the maximum is exceeded, contributions from the corresponding observation will be ignored in the PPP solution.</p><p>Default is an empty option field, meaning<br>'Max Rex C1 = 3.0' <i>[key: PPP/maxResC1]</i></p>"));
    14511459  _pppWidgets._maxResL1->setWhatsThis(tr("<p>Specify a maximum for residuals from L1 code observations in a PPP solution. '0.03' meters may be an appropriate choice for that.</p><p>If the maximum is exceeded, contributions from the corresponding observation will be ignored in the PPP solution.</p><p>Default is an empty option field, meaning<br>'Max Rex L1 = 0.03' <i>[key: PPP/maxResL1]</i></p>"));
  • trunk/BNC/src/pppMain.cpp

    r9252 r9302  
    175175    opt->_blqFileName.assign(settings.value("PPP/blqFile").toString().toStdString());
    176176#endif
    177     opt->_sigmaC1      = settings.value("PPP/sigmaC1").toDouble(); if (opt->_sigmaC1 <= 0.0) opt->_sigmaC1 =  2.0;
    178     opt->_sigmaL1      = settings.value("PPP/sigmaL1").toDouble(); if (opt->_sigmaL1 <= 0.0) opt->_sigmaL1 = 0.01;
     177    opt->_sigmaC1      = settings.value("PPP/sigmaC1").toDouble(); if (opt->_sigmaC1 <= 0.0)  opt->_sigmaC1  =  2.0;
     178    opt->_sigmaL1      = settings.value("PPP/sigmaL1").toDouble(); if (opt->_sigmaL1 <= 0.0)  opt->_sigmaL1  = 0.01;
     179    opt->_sigmaGIM     = settings.value("PPP/sigmaGIM").toDouble();if (opt->_sigmaGIM <= 0.0) opt->_sigmaGIM = 0.05;
     180    opt->_sigmaTz0     = settings.value("PPP/sigmaTz0").toDouble();if (opt->_sigmaTz0 <= 0.0) opt->_sigmaTz0 = 0.10;
    179181    opt->_corrWaitTime = settings.value("PPP/corrWaitTime").toDouble();
    180182    if (!_realTime || opt->_corrMount.empty()) {
     
    456458    opt->_aprSigAmb       = 1000.0;
    457459    opt->_aprSigIon       = 1000.0;
    458     opt->_noiseClk        = 1000.0;
     460    opt->_aprSigClk       = 1000.0;
    459461    opt->_aprSigCodeBias  = 1000.0;
    460462    opt->_aprSigPhaseBias = 1000.0;
     
    463465    opt->_noiseCodeBias   =  5.00;
    464466    opt->_noisePhaseBias  =  5.00;
    465     // pseudo observations
    466     opt->_sigmaGIMdiff    = 5.00; // Todo: add to bncWindow
    467     opt->_sigmaTz0        = 0.10;
    468467
    469468    _options << opt;
  • trunk/BNC/src/pppOptions.h

    r8961 r9302  
    5050  double                  _sigmaC1;
    5151  double                  _sigmaL1;
     52  double                  _sigmaGIM;
     53  double                  _sigmaTz0;
    5254  double                  _maxResC1;
    5355  double                  _maxResL1;
    54   double                  _sigmaGIMdiff;
    55   double                  _sigmaTz0;
    5656  bool                    _eleWgtCode;
    5757  bool                    _eleWgtPhase;
     
    6060  ColumnVector            _aprSigCrd;
    6161  ColumnVector            _noiseCrd;
    62   double                  _noiseClk;
     62  double                  _aprSigClk;
    6363  double                  _aprSigTrp;
    6464  double                  _noiseTrp;
  • trunk/BNC/src/pppWidgets.cpp

    r9237 r9302  
    8686  _sigmaC1      = new QLineEdit();     _sigmaC1     ->setObjectName("PPP/sigmaC1");      _widgets << _sigmaC1;
    8787  _sigmaL1      = new QLineEdit();     _sigmaL1     ->setObjectName("PPP/sigmaL1");      _widgets << _sigmaL1;
     88  _sigmaGIM     = new QLineEdit();     _sigmaGIM    ->setObjectName("PPP/sigmaGIM");     _widgets << _sigmaGIM;
     89  _sigmaTz0     = new QLineEdit();     _sigmaTz0    ->setObjectName("PPP/sigmaTz0");     _widgets << _sigmaTz0;
    8890  _maxResC1     = new QLineEdit();     _maxResC1    ->setObjectName("PPP/maxResC1");     _widgets << _maxResC1;
    8991  _maxResL1     = new QLineEdit();     _maxResL1    ->setObjectName("PPP/maxResL1");     _widgets << _maxResL1;
     
    254256  delete _sigmaC1;
    255257  delete _sigmaL1;
     258  delete _sigmaGIM;
     259  delete _sigmaTz0;
    256260  delete _maxResC1;
    257261  delete _maxResL1;
     
    343347  else {
    344348    _sigmaL1->setText("0.01");
     349  }
     350
     351  if (!settings.value(_sigmaGIM->objectName()).toString().isEmpty()) {
     352    _sigmaGIM->setText(settings.value(_sigmaGIM->objectName()).toString());
     353  }
     354  else {
     355    _sigmaGIM->setText("0.05");
     356  }
     357
     358  if (!settings.value(_sigmaTz0->objectName()).toString().isEmpty()) {
     359    _sigmaTz0->setText(settings.value(_sigmaTz0->objectName()).toString());
     360  }
     361  else {
     362    _sigmaTz0->setText("0.10");
    345363  }
    346364
     
    446464  settings.setValue(_sigmaC1     ->objectName(), _sigmaC1     ->text());
    447465  settings.setValue(_sigmaL1     ->objectName(), _sigmaL1     ->text());
     466  settings.setValue(_sigmaGIM    ->objectName(), _sigmaGIM    ->text());
     467  settings.setValue(_sigmaTz0    ->objectName(), _sigmaTz0    ->text());
    448468  settings.setValue(_corrWaitTime->objectName(), _corrWaitTime->value());
    449469  settings.setValue(_maxResC1    ->objectName(), _maxResC1    ->text());
     
    526546  if (enablePseudoObs) {
    527547    _pseudoObs->setEnabled(true);
     548    _sigmaGIM->setEnabled(true);
     549    _sigmaTz0->setEnabled(true);
    528550  } else {
    529551    _pseudoObs->setEnabled(false);
     552    _sigmaGIM->setEnabled(false);
     553    _sigmaTz0->setEnabled(false);
    530554  }
    531555
  • trunk/BNC/src/pppWidgets.h

    r9237 r9302  
    7070  QLineEdit*     _sigmaC1;
    7171  QLineEdit*     _sigmaL1;
     72  QLineEdit*     _sigmaGIM;
     73  QLineEdit*     _sigmaTz0;
    7274  QSpinBox*      _minObs;
    7375  QSpinBox*      _minEle;
Note: See TracChangeset for help on using the changeset viewer.