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


Ignore:
Timestamp:
Mar 25, 2021, 3:17:35 PM (3 years ago)
Author:
stuerze
Message:

update regarding PPP

File:
1 edited

Legend:

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

    r9303 r9386  
    9494   case offGR:
    9595     _epoSpec = true;
    96      _sigma0  = 1000.0;
     96     _sigma0  = OPT->_aprSigOGR;
    9797     _x0      = PPP_CLIENT->offGR();
    9898     break;
    9999   case offGE:
    100100     _epoSpec = true;
    101      _sigma0  = 1000.0;
     101     _sigma0  = OPT->_aprSigOGE;
    102102     _x0      = PPP_CLIENT->offGE();
    103103     break;
    104104   case offGC:
    105105     _epoSpec = true;
    106      _sigma0  = 1000.0;
     106     _sigma0  = OPT->_aprSigOGC;
    107107     _x0      = PPP_CLIENT->offGC();
    108108     break;
     
    113113     break;
    114114    case ion:
    115      _epoSpec = false;
    116      _sigma0  = OPT->_aprSigIon;
    117      _noise   = OPT->_noiseIon;
    118      break;
    119    case cBias1:
    120    case cBias2:
    121      _epoSpec = false;
     115      _epoSpec = true;
     116      _sigma0  = OPT->_aprSigIon;
     117     break;
     118   case cBiasG1:   case cBiasR1:   case cBiasE1:   case cBiasC1:
     119   case cBiasG2:   case cBiasR2:   case cBiasE2:   case cBiasC2:
     120     _epoSpec = true;
    122121     _sigma0  = OPT->_aprSigCodeBias;
    123      _noise   = OPT->_noiseCodeBias;
    124      break;
    125    case pBias1:
    126    case pBias2:
    127      _epoSpec = false;
     122     break;
     123   case pBiasG1:   case pBiasR1:   case pBiasE1:   case pBiasC1:
     124   case pBiasG2:   case pBiasR2:   case pBiasE2:   case pBiasC2:
     125     _epoSpec = true;
    128126     _sigma0  = OPT->_aprSigPhaseBias;
    129      _noise   = OPT->_noisePhaseBias;
    130127     break;
    131128  }
     
    186183             (OPT->_obsModelType == OPT->DCMcodeBias  && !obs->isReference()) ||
    187184             (OPT->_obsModelType == OPT->DCMphaseBias && !obs->isReference())   ) {
     185
    188186      if (obs->prn() == _prn) {
    189187        if      (tLC == _tLC) {
     
    236234    }
    237235    break;
    238   case cBias1:
    239     if  (tLC == t_lc::c1) {
    240       return 1.0;
    241     }
    242     else {
    243       return 0.0;
    244     }
    245     break;
    246   case cBias2:
    247      if (tLC == t_lc::c2) {
    248       return 1.0;
    249     }
    250     else {
    251       return 0.0;
    252     }
    253     break;
    254   case pBias1:
    255     if  (tLC == t_lc::l1) {
    256       return 1.0;
    257     }
    258     else {
    259       return 0.0;
    260     }
    261     break;
    262   case pBias2:
    263     if  (tLC == t_lc::l2) {
    264       return 1.0;
    265     }
    266     else {
    267       return 0.0;
    268     }
     236  case cBiasG1:
     237    if ((obs->prn().system() == 'G') && (tLC == t_lc::c1)) {return 1.0;} else {return 0.0;}
     238    break;
     239  case cBiasR1:
     240    if ((obs->prn().system() == 'R') && (tLC == t_lc::c1)) {return 1.0;} else {return 0.0;}
     241    break;
     242  case cBiasE1:
     243    if ((obs->prn().system() == 'E') && (tLC == t_lc::c1)) {return 1.0;} else {return 0.0;}
     244    break;
     245  case cBiasC1:
     246    if ((obs->prn().system() == 'C') && (tLC == t_lc::c1)) {return 1.0;} else {return 0.0;}
     247    break;
     248  case cBiasG2:
     249    if ((obs->prn().system() == 'G') && (tLC == t_lc::c2)) {return 1.0;} else {return 0.0;}
     250    break;
     251  case cBiasR2:
     252    if ((obs->prn().system() == 'R') && (tLC == t_lc::c2)) {return 1.0;} else {return 0.0;}
     253    break;
     254  case cBiasE2:
     255    if ((obs->prn().system() == 'E') && (tLC == t_lc::c2)) {return 1.0;} else {return 0.0;}
     256        break;
     257  case cBiasC2:
     258    if ((obs->prn().system() == 'C') && (tLC == t_lc::c2)) {return 1.0;} else {return 0.0;}
     259    break;
     260  case pBiasG1:
     261    if ((obs->prn().system() == 'G') && (tLC == t_lc::l1)) {return 1.0;} else {return 0.0;}
     262    break;
     263  case pBiasR1:
     264    if ((obs->prn().system() == 'R') && (tLC == t_lc::l1)) {return 1.0;} else {return 0.0;}
     265    break;
     266  case pBiasE1:
     267    if ((obs->prn().system() == 'E') && (tLC == t_lc::l1)) {return 1.0;} else {return 0.0;}
     268    break;
     269  case pBiasC1:
     270    if ((obs->prn().system() == 'C') && (tLC == t_lc::l1)) {return 1.0;} else {return 0.0;}
     271    break;
     272  case pBiasG2:
     273    if ((obs->prn().system() == 'G') && (tLC == t_lc::l2)) {return 1.0;} else {return 0.0;}
     274    break;
     275  case pBiasR2:
     276    if ((obs->prn().system() == 'R') && (tLC == t_lc::l2)) {return 1.0;} else {return 0.0;}
     277    break;
     278  case pBiasE2:
     279    if ((obs->prn().system() == 'E') && (tLC == t_lc::l2)) {return 1.0;} else {return 0.0;}
     280    break;
     281  case pBiasC2:
     282    if ((obs->prn().system() == 'C') && (tLC == t_lc::l2)) {return 1.0;} else {return 0.0;}
     283    break;
     284
    269285  }
    270286  return 0.0;
     
    286302    break;
    287303  case clkR:
    288     ss << "REC_CLK    ";
     304    ss << "REC_CLK     ";
    289305    break;
    290306  case offGR:
    291     ss << "OGR        ";
     307    ss << "OGR         ";
    292308    break;
    293309  case offGE:
    294     ss << "OGE        ";
     310    ss << "OGE         ";
    295311    break;
    296312  case offGC:
    297     ss << "OGC        ";
     313    ss << "OGC         ";
    298314    break;
    299315  case trp:
    300     ss << "TRP        ";
     316    ss << "TRP         ";
    301317    break;
    302318  case amb:
     
    306322    ss << "ION  " << left << setw(3) << t_lc::toString(_tLC) << right << ' ' << _prn.toString();
    307323    break;
    308   case cBias1:
    309   case cBias2:
    310   case pBias1:
    311   case pBias2:
    312     ss << "BIAS " << left << setw(3) << t_lc::toString(_tLC) << right << ' ' << "REC";
     324  case cBiasG1:  case pBiasG1:
     325  case cBiasG2:  case pBiasG2:
     326    ss << "BIA  " << left << setw(3) << t_lc::toString(_tLC) << right << " G  ";
     327    break;
     328  case cBiasR1:  case pBiasR1:
     329  case cBiasR2:  case pBiasR2:
     330    ss << "BIA  " << left << setw(3) << t_lc::toString(_tLC) << right << " R  ";
     331    break;
     332  case cBiasE1:  case pBiasE1:
     333  case cBiasE2:  case pBiasE2:
     334    ss << "BIA  " << left << setw(3) << t_lc::toString(_tLC) << right << " E  ";
     335    break;
     336  case cBiasC1:  case pBiasC1:
     337  case cBiasC2:  case pBiasC2:
     338    ss << "BIA  " << left << setw(3) << t_lc::toString(_tLC) << right << " C  ";
    313339    break;
    314340  }
     
    360386        refPrn = (refSatMap[system])->prn();
    361387      }
    362       if ((par->lastObsTime().valid() && (epoTime - par->lastObsTime() > 60.0)) ||
    363           ( refPrn == par->prn())) {
     388      if ((par->lastObsTime().valid() &&
     389          (epoTime - par->lastObsTime() > 60.0)) ||
     390          (refPrn == par->prn())) {
    364391        remove = true;
    365392      }
     
    409436  required.push_back(new t_pppParam(t_pppParam::crdZ, t_prn(), t_lc::dummy));
    410437
     438  // Receiver Code Biases
     439  // --------------------
     440  if (OPT->_obsModelType == OPT->DCMcodeBias) {
     441    if (OPT->useSystem('G')) {
     442      required.push_back(new t_pppParam(t_pppParam::cBiasG1, t_prn(), t_lc::c1));
     443      required.push_back(new t_pppParam(t_pppParam::cBiasG2, t_prn(), t_lc::c2));
     444    }
     445    if (OPT->useSystem('R')) {
     446      required.push_back(new t_pppParam(t_pppParam::cBiasR1, t_prn(), t_lc::c1));
     447      required.push_back(new t_pppParam(t_pppParam::cBiasR2, t_prn(), t_lc::c2));
     448    }
     449    if (OPT->useSystem('E')) {
     450      required.push_back(new t_pppParam(t_pppParam::cBiasE1, t_prn(), t_lc::c1));
     451      required.push_back(new t_pppParam(t_pppParam::cBiasE2, t_prn(), t_lc::c2));
     452    }
     453    if (OPT->useSystem('C')) {
     454      required.push_back(new t_pppParam(t_pppParam::cBiasC1, t_prn(), t_lc::c1));
     455      required.push_back(new t_pppParam(t_pppParam::cBiasC2, t_prn(), t_lc::c2));
     456    }
     457  }
     458
     459  // Receiver Phase Biases
     460  // ---------------------
     461  if ((OPT->_obsModelType == OPT->DCMphaseBias) ||
     462      (OPT->_obsModelType == OPT->PPPRTK)     ) {
     463    if (OPT->useSystem('G')) {
     464      required.push_back(new t_pppParam(t_pppParam::pBiasG1, t_prn(), t_lc::l1));
     465      required.push_back(new t_pppParam(t_pppParam::pBiasG2, t_prn(), t_lc::l2));
     466    }
     467    if (OPT->useSystem('R')) {
     468      required.push_back(new t_pppParam(t_pppParam::pBiasR1, t_prn(), t_lc::l1));
     469      required.push_back(new t_pppParam(t_pppParam::pBiasR2, t_prn(), t_lc::l2));
     470    }
     471    if (OPT->useSystem('E')) {
     472      required.push_back(new t_pppParam(t_pppParam::pBiasE1, t_prn(), t_lc::l1));
     473      required.push_back(new t_pppParam(t_pppParam::pBiasE2, t_prn(), t_lc::l2));
     474    }
     475    if (OPT->useSystem('C')) {
     476      required.push_back(new t_pppParam(t_pppParam::pBiasC1, t_prn(), t_lc::l1));
     477      required.push_back(new t_pppParam(t_pppParam::pBiasC2, t_prn(), t_lc::l2));
     478    }
     479  }
    411480  // Receiver Clock
    412481  // --------------
     
    415484  // GPS-GLONASS Clock Offset
    416485  // ------------------------
    417   if (OPT->useSystem('R')) {
     486  if (OPT->useSystem('R') && OPT->useSystem('G')) {
    418487    required.push_back(new t_pppParam(t_pppParam::offGR, t_prn(), t_lc::dummy));
    419488  }
     
    421490  // GPS-Galileo Clock Offset
    422491  // ------------------------
    423   if (OPT->useSystem('E')) {
     492  if (OPT->useSystem('E') && OPT->useSystem('G')) {
    424493    required.push_back(new t_pppParam(t_pppParam::offGE, t_prn(), t_lc::dummy));
    425494  }
     
    427496  // GPS-BDS Clock Offset
    428497  // ------------------------
    429   if (OPT->useSystem('C')) {
     498  if (OPT->useSystem('C') && OPT->useSystem('G')) {
    430499    required.push_back(new t_pppParam(t_pppParam::offGC, t_prn(), t_lc::dummy));
    431500  }
     
    443512      OPT->_obsModelType == OPT->DCMphaseBias   ) {
    444513    for (unsigned jj = 0; jj < obsVector.size(); jj++) {
    445       const t_pppSatObs*        satObs = obsVector[jj];
     514      const t_pppSatObs* satObs = obsVector[jj];
    446515      required.push_back(new t_pppParam(t_pppParam::ion, satObs->prn(), t_lc::dummy));
    447516    }
    448517  }
    449 
    450518  // Ambiguities
    451519  // -----------
     
    464532  }
    465533
    466   // Receiver Code Biases
    467   // --------------------
    468   if (OPT->_obsModelType == OPT->DCMcodeBias) {
    469     required.push_back(new t_pppParam(t_pppParam::cBias1, t_prn(), t_lc::c1));
    470     required.push_back(new t_pppParam(t_pppParam::cBias2, t_prn(), t_lc::c2));
    471   }
    472 
    473   // Receiver Phase Biases
    474   // ---------------------
    475   if ((OPT->_obsModelType == OPT->DCMphaseBias) ||
    476       (OPT->_obsModelType == OPT->PPPRTK)     ) {
    477     required.push_back(new t_pppParam(t_pppParam::pBias1, t_prn(), t_lc::l1));
    478     required.push_back(new t_pppParam(t_pppParam::pBias2, t_prn(), t_lc::l2));
    479   }
    480 
    481534  // Check if all required parameters are present
    482535  // --------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.