Changeset 9552 in ntrip for trunk/BNC/src


Ignore:
Timestamp:
Nov 24, 2021, 11:33:13 AM (3 years ago)
Author:
stuerze
Message:

update regarding PPP

Location:
trunk/BNC/src
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/PPP/pppClient.cpp

    r9551 r9552  
    669669      if (_filter->processEpoch() != success) {
    670670        LOG << "filter->processEpoch() != success" << endl;
    671         if (_filter->ageOfLastSolutionOK() >= 120) {
    672           reset();
    673         }
    674671        return finish(failure,7);
    675672      }
  • trunk/BNC/src/PPP/pppFilter.h

    r9551 r9552  
    6161    return 0.0;
    6262  };
    63   double ageOfLastSolutionOK() { return (_epoTime - _lastEpoTimeOK);}
    6463
    6564 private:
  • trunk/BNC/src/PPP/pppSatObs.cpp

    r9551 r9552  
    344344  }
    345345  if (tLC == t_lc::GIM) {
    346     retVal = 3.0 * (OPT->_sigmaGIM * OPT->_sigmaGIM + OPT->_sigmaGIM * OPT->_sigmaGIM);
     346    retVal = it->second * it->second * OPT->_maxResGIM * OPT->_maxResGIM;
    347347  }
    348348
  • trunk/BNC/src/bncwindow.cpp

    r9538 r9552  
    10631063  pppLayout3->addWidget(_pppWidgets._sigmaGIM,              ir, 4); _pppWidgets._sigmaGIM->setMaximumWidth(8*ww);
    10641064  pppLayout3->addItem(new QSpacerItem(8*ww, 0),             ir, 5);
     1065  pppLayout3->addWidget(new QLabel("Max Res GIM"),            ir, 6, Qt::AlignLeft);
     1066  pppLayout3->addWidget(_pppWidgets._maxResGIM,        ir, 7); _pppWidgets._maxResGIM->setMaximumWidth(8*ww);
    10651067  ++ir;
    1066   pppLayout3->addWidget(new QLabel(""),                     ir, 6);
     1068  pppLayout3->addWidget(new QLabel(""),                     ir, 8);
    10671069  pppLayout3->setColumnStretch(8, 999);
    10681070  ++ir;
     
    14541456  _pppWidgets._sigmaL1->setWhatsThis(tr("<p>Enter a Sigma for GPS 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>"));
    14551457  _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. 3.0 is likely to be an appropriate choice.</p><p>Default is an empty option field, meaning<br>'Sigma GIM = 3.0' <i>[key: PPP/sigmaGIM]</i></p>"));
    1456   _pppWidgets._maxResC1->setWhatsThis(tr("<p>Specify a maximum for residuals from GPS 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>"));
    1457   _pppWidgets._maxResL1->setWhatsThis(tr("<p>Specify a maximum for residuals from GPS 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>"));
     1458  _pppWidgets._maxResC1->setWhatsThis(tr("<p>Specify a maximum for residuals from GPS 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 Res C1 = 3.0' <i>[key: PPP/maxResC1]</i></p>"));
     1459  _pppWidgets._maxResL1->setWhatsThis(tr("<p>Specify a maximum for residuals from GPS 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 Res L1 = 0.03' <i>[key: PPP/maxResL1]</i></p>"));
     1460  _pppWidgets._maxResGIM->setWhatsThis(tr("<p>Specify a maximum for residuals from GIM pseudo observations in a PPP solution. '6.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 Res L1 = 1.0' <i>[key: PPP/maxResGIM]</i></p>"));
    14581461  _pppWidgets._eleWgtCode->setWhatsThis(tr("<p>Tic 'Ele Wgt Code' to use satellite Elevation depending Weights for Code observations in the PPP solution. <i>[key: PPP/eleWgtCode]</i></p>"));
    14591462  _pppWidgets._eleWgtPhase->setWhatsThis(tr("<p>Tic 'Ele Wgt Phase' to use satellite Elevation depending Weights for Phase observations in the PPP solution. <i>[key: PPP/eleWgtPhase]</i></p>"));
  • trunk/BNC/src/pppMain.cpp

    r9538 r9552  
    409409    opt->_maxResC1    = settings.value("PPP/maxResC1").toDouble(); if (opt->_maxResC1 <= 0.0) opt->_maxResC1 = 3.0;
    410410    opt->_maxResL1    = settings.value("PPP/maxResL1").toDouble(); if (opt->_maxResL1 <= 0.0) opt->_maxResL1 = 0.03;
     411    opt->_maxResGIM   = settings.value("PPP/maxResGIM").toDouble(); if (opt->_maxResGIM <= 0.0) opt->_maxResGIM = 6.0;
    411412    opt->_eleWgtCode  = (settings.value("PPP/eleWgtCode").toInt() != 0);
    412413    opt->_eleWgtPhase = (settings.value("PPP/eleWgtPhase").toInt() != 0);
  • trunk/BNC/src/pppOptions.h

    r9538 r9552  
    5454  double                  _maxResC1;
    5555  double                  _maxResL1;
     56  double                  _maxResGIM;
    5657  bool                    _eleWgtCode;
    5758  bool                    _eleWgtPhase;
  • trunk/BNC/src/pppWidgets.cpp

    r9538 r9552  
    8989  _maxResC1     = new QLineEdit();     _maxResC1    ->setObjectName("PPP/maxResC1");     _widgets << _maxResC1;
    9090  _maxResL1     = new QLineEdit();     _maxResL1    ->setObjectName("PPP/maxResL1");     _widgets << _maxResL1;
     91  _maxResGIM    = new QLineEdit();     _maxResGIM   ->setObjectName("PPP/maxResGIM");    _widgets << _maxResGIM;
    9192  _minObs       = new QSpinBox();      _minObs      ->setObjectName("PPP/minObs");       _widgets << _minObs;
    9293  _minEle       = new QSpinBox();      _minEle      ->setObjectName("PPP/minEle");       _widgets << _minEle;
     
    258259  delete _maxResC1;
    259260  delete _maxResL1;
     261  delete _maxResGIM;
    260262  delete _minObs;
    261263  delete _minEle;
     
    367369    _maxResL1->setText("0.03");
    368370  }
     371
     372  if (!settings.value(_maxResGIM->objectName()).toString().isEmpty()) {
     373    _maxResGIM->setText(settings.value(_maxResGIM->objectName()).toString());
     374  }
     375  else {
     376    _maxResGIM->setText("6.0");
     377  }
     378
    369379
    370380  if (!settings.value(_seedingTime->objectName()).toString().isEmpty()) {
     
    459469  settings.setValue(_maxResC1    ->objectName(), _maxResC1    ->text());
    460470  settings.setValue(_maxResL1    ->objectName(), _maxResL1    ->text());
     471  settings.setValue(_maxResGIM   ->objectName(), _maxResGIM   ->text());
    461472  settings.setValue(_seedingTime ->objectName(), _seedingTime ->text());
    462473  settings.setValue(_minObs      ->objectName(), _minObs      ->value());
  • trunk/BNC/src/pppWidgets.h

    r9538 r9552  
    7575  QLineEdit*     _maxResC1;
    7676  QLineEdit*     _maxResL1;
     77  QLineEdit*     _maxResGIM;
    7778  QCheckBox*     _eleWgtCode;
    7879  QCheckBox*     _eleWgtPhase;
Note: See TracChangeset for help on using the changeset viewer.