Changeset 10008 in ntrip for trunk/BNC/src/PPP/pppFilter.cpp


Ignore:
Timestamp:
Mar 16, 2023, 5:25:56 PM (13 months ago)
Author:
stuerze
Message:

minor changes

File:
1 edited

Legend:

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

    r10003 r10008  
    342342      for (unsigned iPar = 0; iPar < nPar; iPar++) {
    343343        t_pppParam *hlp = params[iPar];
    344         if (hlp->type() == t_pppParam::amb && hlp->prn() == obs->prn()
    345             && hlp->tLC() == usedTypes[maxOutlierIndex]) {
     344        if (hlp->type() == t_pppParam::amb &&
     345            hlp->prn() == obs->prn() &&
     346            hlp->tLC() == usedTypes[maxOutlierIndex]) {
    346347          par = hlp;
    347348        }
     
    355356              << ' ' << setw(8) << setprecision(4) << maxOutlier << endl;
    356357          break;
    357         } //else {obs->setOutlier(); }
     358        } //else {obs->setOutlier();}
    358359      } else {    // fin-processing
    359360        LOG << epoTimeStr << " Outlier " << t_lc::toString(maxOutlierLC) << ' '
     
    364365              OPT->_obsModelType == OPT->DCMcodeBias ||
    365366              OPT->_obsModelType == OPT->DCMphaseBias) {
    366             resetAmb(par->prn(), obsVector, &QSav, &xSav);
     367            resetAmb(par->prn(), obsVector, maxOutlierLC, &QSav, &xSav);
    367368          }
    368369          else {
     
    456457            _obsPool->setRefSatChangeRequired(sys, true);
    457458          } else {
    458             resetAmb(obs->prn(), obsVector);
     459            resetAmb(obs->prn(), obsVector, tLC);
    459460          }
    460461        }
     
    477478              _obsPool->setRefSatChangeRequired(sys, true);
    478479            } else {
    479               resetAmb(obs->prn(), obsVector);
     480              resetAmb(obs->prn(), obsVector, tLC);
    480481            }
    481482          }
     
    490491////////////////////////////////////////////////////////////////////////////
    491492t_irc t_pppFilter::resetAmb(t_prn prn, const vector<t_pppSatObs*> &obsVector,
    492     SymmetricMatrix *QSav, ColumnVector *xSav) {
     493    t_lc::type lc, SymmetricMatrix *QSav, ColumnVector *xSav) {
    493494
    494495  t_irc irc = failure;
     
    499500      int ind = par->indexNew();
    500501      t_lc::type tLC = par->tLC();
     502      if (tLC != lc) {continue;}
    501503      LOG << string(_epoTime) << " RESET " << par->toString() << endl;
    502504      delete par;
     
    688690  // reset old and set new refSats in last epoch (ambiguities/GIM)
    689691  // =============================================================
    690   if (resetRefSatellitesLastEpoch(allObs, refSatMap, refSatMapLastEpoch)
    691       != true) {
    692     LOG << "datumTransformation: resetRefSatellitesLastEpoch != success"
    693         << endl;
     692  if (resetRefSatellitesLastEpoch(allObs, refSatMap, refSatMapLastEpoch) != true) {
     693    LOG << "datumTransformation: resetRefSatellitesLastEpoch != success"  << endl;
    694694    return failure;
    695695  }
     
    767767    LOG << "AA.SubMatrix(1 .. " << iObs+1 << " , 1 .. " <<  nPar << ")" << endl;
    768768#endif
    769     if (_datumTrafo->prepareAA(AA.SubMatrix(1, iObs + 1, 1, nPar), 2)
    770         != success) {
     769    if (_datumTrafo->prepareAA(AA.SubMatrix(1, iObs + 1, 1, nPar), 2)  != success) {
    771770      return failure;
    772771    }
     
    776775  // Datum Transformation
    777776  // ====================
    778 #ifdef BNC_DEBUG_PPP
    779   //LOG << "AA1\n"; _datumTrafo->printMatrix(_datumTrafo->AA1(), _datumTrafo->numObs(), _datumTrafo->numPar());
    780   //LOG << "AA2\n"; _datumTrafo->printMatrix(_datumTrafo->AA2(), _datumTrafo->numObs(), _datumTrafo->numPar());
    781 #endif
    782777  if (_datumTrafo->computeTrafoMatrix() != success) {
    783778    return failure;
    784779  }
    785 #ifdef BNC_DEBUG_PPP
    786   //LOG << "D21" << endl; _datumTrafo->printMatrix(_datumTrafo->D21(), _datumTrafo->numObs(), _datumTrafo->numPar());
    787 #endif
     780
    788781  ColumnVector xFltOld = _xFlt;
    789782  SymmetricMatrix QFltOld = _QFlt;
     
    801794  for (int iSys = 0; iSys < usedSystems.size(); iSys++) {
    802795    char sys = usedSystems[iSys];
     796    vector<t_lc::type> LCs = OPT->LCs(sys);
     797    unsigned usedLCs = LCs.size();
     798    if (OPT->_pseudoObsIono && !pseudoObsIono) {
     799      usedLCs -= 1;  // GIM not used
     800    }
    803801    t_prn refPrnOld = refSatMapLastEpoch[sys]->prn();
    804802    t_prn refPrnNew = refSatMap[sys]->prn();
    805803    if (refPrnNew != refPrnOld) {
    806       resetAmb(refPrnOld, allObs);/*
    807       if (resetAmb(refPrnOld, allObs) == success) {
    808         if (OPT->_obsModelType == OPT->DCMcodeBias) {
    809           addNoiseToPar(t_pppParam::ion, sys);
    810         } else if (OPT->_obsModelType == OPT->DCMphaseBias) {
    811           if        (sys == 'G') {
    812             addNoiseToPar(t_pppParam::pBiasG1, sys);
    813             addNoiseToPar(t_pppParam::pBiasG2, sys);
    814           } else if (sys == 'R') {
    815             addNoiseToPar(t_pppParam::pBiasR1, sys);
    816             addNoiseToPar(t_pppParam::pBiasR2, sys);
    817           } else if (sys == 'E') {
    818             addNoiseToPar(t_pppParam::pBiasE1, sys);
    819             addNoiseToPar(t_pppParam::pBiasE2, sys);
    820           } else if (sys == 'C') {
    821             addNoiseToPar(t_pppParam::pBiasC1, sys);
    822             addNoiseToPar(t_pppParam::pBiasC2, sys);
    823           }
    824         }
    825       }*/
     804      for (unsigned jj = 0; jj < usedLCs; jj++) {
     805        const t_lc::type tLC = LCs[jj];
     806        if (tLC == t_lc::GIM) {
     807          continue;
     808        }
     809        resetAmb(refPrnOld, allObs, tLC);
     810      }
    826811    }
    827812  }
Note: See TracChangeset for help on using the changeset viewer.