Changeset 9560 in ntrip for trunk/BNC/src/PPP/pppClient.cpp


Ignore:
Timestamp:
Dec 2, 2021, 5:18:27 PM (2 years ago)
Author:
stuerze
Message:

update regarding PPP

File:
1 edited

Legend:

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

    r9558 r9560  
    243243  return pseudoObsIono;
    244244}
     245
     246//
     247//////////////////////////////////////////////////////////////////////////////
     248void t_pppClient::useObsWithCodeBiasesOnly(std::vector<t_pppSatObs*>& obsVector) {
     249
     250  vector<t_pppSatObs*>::iterator it = obsVector.begin();
     251  while (it != obsVector.end()) {
     252    t_pppSatObs* pppSatObs = *it;
     253    char sys = pppSatObs->prn().system();
     254    bool codeBiasesAvailable = false;
     255    t_frequency::type fType1 = t_lc::toFreq(sys,t_lc::c1);
     256    t_frequency::type fType2 = t_lc::toFreq(sys,t_lc::c2);
     257    if (pppSatObs->getCodeBias(fType1) &&
     258        pppSatObs->getCodeBias(fType2)) {
     259      codeBiasesAvailable = true;
     260    }
     261    if (codeBiasesAvailable) {
     262      ++it;
     263    }
     264    else {
     265      it = obsVector.erase(it);
     266      delete pppSatObs;
     267    }
     268  }
     269
     270}
     271
    245272
    246273// Compute the Bancroft position, check for blunders
     
    637664      }
    638665
    639       if (int(_obsRover.size()) < _opt->_minObs) {
    640         LOG << "t_pppClient::processEpoch not enough observations" << endl;
    641         return finish(failure,5);
    642       }
    643 
    644666      if (_opt->_refSatRequired) {
    645667        if (handleRefSatellites(_obsRover) != success) {
     
    651673          continue;
    652674        }
     675      }
     676
     677      // Check if obs have code biases
     678      // -----------------------------
     679      if (OPT->_obsModelType == OPT->DCMcodeBias ||
     680          OPT->_obsModelType == OPT->DCMphaseBias) {
     681        useObsWithCodeBiasesOnly(_obsRover);
     682      }
     683
     684      if (int(_obsRover.size()) < _opt->_minObs) {
     685        LOG << "t_pppClient::processEpoch not enough observations" << endl;
     686        return finish(failure,5);
    653687      }
    654688
Note: See TracChangeset for help on using the changeset viewer.