Changeset 10018 in ntrip


Ignore:
Timestamp:
Mar 22, 2023, 10:28:06 PM (13 months ago)
Author:
stuerze
Message:

minor changes

Location:
trunk/BNC/src/PPP
Files:
5 edited

Legend:

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

    r10015 r10018  
    568568    if (OPT->_obsModelType == OPT->DCMcodeBias ||
    569569        OPT->_obsModelType == OPT->DCMphaseBias) {
    570       if (ind == 1 || ind > 7) {
     570      if (ind == 1 || ind == 6 || ind > 7) {
    571571        reset();
    572572      }
     573      //else {_filter->restoreState(ind);}
    573574    }
    574575  }
     
    640641    do {
    641642      _numEpoProcessing++;
    642 #ifdef BNC_DEBUG_PPP
    643       LOG << "_numEpoProcessing " << _numEpoProcessing  << endl;
    644 #endif
    645643      if (_obsPool->refSatChanged()) {
    646644        if(_filter->datumTransformation(_refSatMap) != success) {
     
    678676      }
    679677
     678      if (int(_obsRover.size()) < _opt->_minObs) {
     679        LOG << "t_pppClient::processEpoch not enough observations" << endl;
     680        return finish(failure,5);
     681      }
     682
    680683      if (_opt->_refSatRequired) {
    681684        if (handleRefSatellites(_obsRover) != success) {
     
    683686        }
    684687        if (_obsPool->refSatChanged()) {
    685           LOG << "t_pppFilter: refSatChanged()" << endl;
     688          if (_numEpoProcessing >1 &&
     689              (OPT->_obsModelType == OPT->DCMcodeBias ||
     690               OPT->_obsModelType == OPT->DCMphaseBias)) {
     691            _obsPool->deleteLastEpoch();
     692          }
    686693          epochReProcessing = true;
    687694          continue;
    688695        }
    689       }
    690 
    691       if (int(_obsRover.size()) < _opt->_minObs) {
    692         LOG << "t_pppClient::processEpoch not enough observations" << endl;
    693         return finish(failure,5);
    694696      }
    695697
     
    719721        LOG << "pppClient: _obsPool->refSatChangeRequired() " << endl;
    720722        epochReProcessing = true;
    721         _obsPool->deleteLastEpoch();
    722723        _filter->restoreState(0);
    723724        setHistoricalRefSats();
    724725      }
    725726      else {
    726         epochReProcessing = false;
    727         if (OPT->_obsModelType == OPT->DCMcodeBias ||
    728             OPT->_obsModelType == OPT->DCMphaseBias) {
    729           _filter->rememberState(0);
    730         }
     727         epochReProcessing = false;
     728         if (OPT->_obsModelType == OPT->DCMcodeBias ||
     729             OPT->_obsModelType == OPT->DCMphaseBias) {
     730           _filter->rememberState(0);
     731         }
    731732      }
    732733    } while (epochReProcessing);
  • trunk/BNC/src/PPP/pppFilter.cpp

    r10017 r10018  
    8383  if (OPT->_obsModelType == OPT->DCMcodeBias ||
    8484      OPT->_obsModelType == OPT->DCMphaseBias) {
    85     _parlist.printParams(_epoTime);
     85//    _parlist.printParams(_epoTime);
    8686  }
    8787#endif
     
    100100      }
    101101    }
    102     if (num < OPT->_minObs) {
    103       setNeuNoiseToZero = true;
    104     }
     102//    if (num < OPT->_minObs) {
     103//      setNeuNoiseToZero = true;
     104//    }
    105105  }
    106106  setStateVectorAndVarCovMatrix(xFltOld, QFltOld, setNeuNoiseToZero);
     
    132132        _xFlt = xFltOld;
    133133        _QFlt = QFltOld;
    134         _obsPool->deleteLastEpoch();
    135         restoreState(2);
     134        restoreState(1);
    136135        return failure;
    137136      }
     
    177176        _xFlt = xFltOld;
    178177        _QFlt = QFltOld;
    179         _obsPool->deleteLastEpoch();
    180         restoreState(3);
     178        restoreState(2);
    181179      }
    182180      return failure;
     
    277275    // Check number of observations
    278276    // ----------------------------
    279     if (iObs == -1) {
    280       LOG << " number of observations == " << iObs + 1 << "\n";
     277    if ((iObs +1) < OPT->_minObs) {
     278      LOG << "t_pppFilter::processSystem not enough observations: " << iObs + 1 << "\n";
    281279      if (preProcessing) {
    282280        _obsPool->setRefSatChangeRequired(sys, true);
     
    363361      if (preProcessing) {
    364362        if (obs->prn() == refPrn) {
    365           LOG << epoTimeStr << " Outlier ("
    366               << ((preProcessing) ? "pre-processing) " : "fin-processing) ")
    367               << t_lc::toString(maxOutlierLC) << ' ' << obs->prn().toString()
    368               << ' ' << setw(8) << setprecision(4) << maxOutlier << endl;
    369           _obsPool->setRefSatChangeRequired(sys, true);
    370           break;
    371         } else {
    372           obs->setOutlier();
    373         }
    374       } else {    // fin-processing
    375         LOG << epoTimeStr << " Outlier " << t_lc::toString(maxOutlierLC) << ' '
    376             << obs->prn().toString() << ' ' << setw(8) << setprecision(4)
    377             << maxOutlier << endl;
    378         if (par) {
    379           resetAmb(par->prn(), obsVector, maxOutlierLC, &QSav, &xSav);
     363            LOG << epoTimeStr << " Outlier ("
     364                << ((preProcessing) ? "pre-processing) " : "fin-processing) ")
     365                << t_lc::toString(maxOutlierLC) << ' ' << obs->prn().toString()
     366                << ' ' << setw(8) << setprecision(4) << maxOutlier << endl;
     367            _obsPool->setRefSatChangeRequired(sys, true);
     368            break;
    380369        }
    381370        else {
    382371          obs->setOutlier();
     372        }
     373      } else {    // fin-processing
     374        if (obs->prn() != refPrn) {
     375          LOG << epoTimeStr << " Outlier " << t_lc::toString(maxOutlierLC) << ' '
     376              << obs->prn().toString() << ' ' << setw(8) << setprecision(4)
     377              << maxOutlier << endl;
     378          if (par) {
     379            resetAmb(par->prn(), obsVector, maxOutlierLC, &QSav, &xSav);
     380          }
     381          else {
     382            obs->setOutlier();
     383          }
    383384        }
    384385      }
     
    715716  }
    716717#ifdef BNC_DEBUG_PPP
    717   _parlist.printParams(_epoTime);
     718  //_parlist.printParams(_epoTime);
    718719#endif
    719720
  • trunk/BNC/src/PPP/pppFilter.h

    r10015 r10018  
    3131  void restoreState(int num)  {
    3232#ifdef BNC_DEBUG_PPP
    33     LOG << "Restore parameter from last epoch    : _parlist = _parlist_sav ("<<  num << ")\n";
     33    LOG << "Restore parameter from last successful epoch: _parlist = _parlist_sav ("<<  num << ")\n";
    3434#endif
    3535    _QFlt    = _QFlt_sav;
     
    3838  void rememberState(int num) {
    3939#ifdef BNC_DEBUG_PPP
    40     LOG << "Remember parameters from last epoch  : _parlist_sav = _parlist ("<<  num << ")\n";
     40    LOG << "Remember parameters from successful epoch   : _parlist_sav = _parlist ("<<  num << ")\n";
    4141#endif
    4242    _QFlt_sav    = _QFlt;
     
    141141        Prep = &_AA1;
    142142      }
    143 
    144143      if (AA.Ncols() != _numPar) {
    145144        LOG << "t_pppFilter::prepareAA: AA.Ncols() != _numPar: " << AA.Ncols() << " != " << _numPar << "\n RETURN FAILURE" <<  std::endl;
  • trunk/BNC/src/PPP/pppObsPool.cpp

    r9508 r10018  
    131131
    132132  if (!_epochs.empty()) {
     133    //LOG << " " << _epochs.back()->epoTime().timestr().c_str() << endl;
    133134    delete _epochs.back();
    134135    _epochs.pop_back();
  • trunk/BNC/src/PPP/pppParlist.cpp

    r10009 r10018  
    465465    if (remove) {
    466466#ifdef BNC_DEBUG_PPP
    467       LOG << "remove0 " << par->toString() << std::endl;
     467//      LOG << "remove0 " << par->toString() << std::endl;
    468468#endif
    469469      delete par;
     
    521521          (!par->lastObsTime().valid() || (epoTime - par->lastObsTime() > 0.0))) {
    522522#ifdef BNC_DEBUG_PPP
    523         LOG << "remove1 " << par->toString() << std::endl;
     523//        LOG << "remove1 " << par->toString() << std::endl;
    524524#endif
    525525        lostSats.append(par->prn());
     
    534534                par->type() == t_pppParam::pBiasG2) && !usedSystems().contains('G')) {
    535535#ifdef BNC_DEBUG_PPP
    536         LOG << "remove1 " << par->toString() << std::endl;
     536        //LOG << "remove1 " << par->toString() << std::endl;
    537537#endif
    538538        delete par;
     
    544544                par->type() == t_pppParam::pBiasR2) && !usedSystems().contains('R')) {
    545545#ifdef BNC_DEBUG_PPP
    546         LOG << "remove1 " << par->toString() << std::endl;
     546//        LOG << "remove1 " << par->toString() << std::endl;
    547547#endif
    548548        delete par;
     
    554554                par->type() == t_pppParam::pBiasE2) && !usedSystems().contains('E')) {
    555555#ifdef BNC_DEBUG_PPP
    556         LOG << "remove1 " << par->toString() << std::endl;
     556//        LOG << "remove1 " << par->toString() << std::endl;
    557557#endif
    558558        delete par;
     
    564564                par->type() == t_pppParam::pBiasC2) && !usedSystems().contains('C')) {
    565565#ifdef BNC_DEBUG_PPP
    566         LOG << "remove1 " << par->toString() << std::endl;
     566//        LOG << "remove1 " << par->toString() << std::endl;
    567567#endif
    568568        delete par;
     
    581581          (lostSats.contains(par->prn()) || (epoTime - par->lastObsTime() > 0.0))) {
    582582#ifdef BNC_DEBUG_PPP
    583         LOG << "remove1 " << par->toString() << std::endl;
     583        //LOG << "remove1 " << par->toString() << std::endl;
    584584#endif
    585585        delete par;
     
    761761    else {
    762762#ifdef BNC_DEBUG_PPP
    763       LOG << "push_back  parReq " << parReq->toString() << std::endl;
     763//      LOG << "push_back  parReq " << parReq->toString() << std::endl;
    764764#endif
    765765      _params.push_back(parReq);
Note: See TracChangeset for help on using the changeset viewer.