Changeset 10251 in ntrip for trunk/BNC/src/PPP/pppParlist.cpp


Ignore:
Timestamp:
Nov 20, 2023, 10:23:42 PM (6 months ago)
Author:
stuerze
Message:

changes regarding PPP: allow single frequency PPP and allow to select the frequency bands that are used

File:
1 edited

Legend:

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

    r10232 r10251  
    179179        else {
    180180          if      (_tLC == t_lc::l1) {
    181             return obs->lambda(t_lc::l1) * phaseCoeff[t_lc::toFreq(obs->prn().system(),t_lc::l1)];
     181            return obs->lambda(t_lc::l1) * phaseCoeff[obs->fType1()];
    182182          }
    183183          else if (_tLC == t_lc::l2) {
    184             return obs->lambda(t_lc::l2) * phaseCoeff[t_lc::toFreq(obs->prn().system(),t_lc::l2)];
     184            return obs->lambda(t_lc::l2) * phaseCoeff[obs->fType2()];
    185185          }
    186186        }
     
    198198    if (obs->prn() == _prn) {
    199199      if      (tLC == t_lc::c1) {
    200         return ionoCoeff[t_lc::toFreq(obs->prn().system(),t_lc::c1)];
     200        return ionoCoeff[obs->fType1()];
    201201      }
    202202      else if (tLC == t_lc::c2) {
    203         return ionoCoeff[t_lc::toFreq(obs->prn().system(),t_lc::c2)];
     203        return ionoCoeff[obs->fType2()];
    204204      }
    205205      else if (tLC == t_lc::l1) {
    206         return ionoCoeff[t_lc::toFreq(obs->prn().system(),t_lc::l1)];
     206        return ionoCoeff[obs->fType1()];
    207207      }
    208208      else if (tLC == t_lc::l2) {
    209         return ionoCoeff[t_lc::toFreq(obs->prn().system(),t_lc::l2)];
     209        return ionoCoeff[obs->fType2()];
    210210      }
    211211      else if (tLC == t_lc::GIM) {
     
    414414  }
    415415
    416   if (OPT->_obsModelType == OPT->PPPRTK || OPT->_pseudoObsIono) {
     416  if (OPT->_ionoModelType == OPT->PPP_RTK || OPT->_pseudoObsIono) {
    417417    vector<t_pppParam*>::iterator it = _params.begin();
    418418    while (it != _params.end()) {
     
    502502  // Ionosphere
    503503  // ----------
    504   if (OPT->_obsModelType == OPT->UncombPPP) {
     504  if (OPT->_ionoModelType == OPT->est) {
    505505    for (unsigned jj = 0; jj < obsVector.size(); jj++) {
    506506      const t_pppSatObs* satObs = obsVector[jj];
    507       required.push_back(new t_pppParam(t_pppParam::ion, satObs->prn(), t_lc::dummy));
     507      char sys = satObs->prn().system();
     508      std::vector<t_lc::type> LCs = OPT->LCs(sys);
     509      if (std::find(LCs.begin(), LCs.end(), t_lc::cIF) == LCs.end() &&
     510          std::find(LCs.begin(), LCs.end(), t_lc::lIF) == LCs.end()) {
     511        required.push_back(new t_pppParam(t_pppParam::ion, satObs->prn(), t_lc::dummy));
     512      }
    508513    }
    509514  }
     
    512517  for (unsigned jj = 0; jj < obsVector.size(); jj++) {
    513518    const t_pppSatObs*  satObs = obsVector[jj];
    514     const vector<t_lc::type>& ambLCs = OPT->ambLCs(satObs->prn().system());
     519    char sys = satObs->prn().system();
     520    const vector<t_lc::type>& ambLCs = OPT->ambLCs(sys);
    515521    for (unsigned ii = 0; ii < ambLCs.size(); ii++) {
    516522      required.push_back(new t_pppParam(t_pppParam::amb, satObs->prn(), ambLCs[ii], &obsVector));
     
    520526  // Receiver Code Biases
    521527  // --------------------
    522   if (OPT->_obsModelType == OPT->PPPRTK) {
     528  if (OPT->_ionoModelType == OPT->PPP_RTK) {
    523529    std::vector<t_lc::type> lc;
    524530    if (_usedSystems.contains('G')) {
     
    589595  // Receiver Phase Biases
    590596  // ---------------------
    591   if (OPT->_obsModelType == OPT->PPPRTK) {
     597  if (OPT->_ionoModelType == OPT->PPP_RTK) {
    592598    std::vector<t_lc::type> lc;
    593599    if (_usedSystems.contains('G')) {
Note: See TracChangeset for help on using the changeset viewer.