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


Ignore:
Timestamp:
Dec 10, 2024, 2:19:35 PM (3 days ago)
Author:
stuerze
Message:

changed in PPP mode from common receiver clock + ISBs to system specific receiver clocks

File:
1 edited

Legend:

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

    r10576 r10583  
    6262     _noise   = OPT->_noiseCrd[2];
    6363     break;
    64    case rClk:
     64   case rClkG:
     65     _epoSpec = true;
     66     _sigma0  = OPT->_aprSigClk;
     67     break;
     68   case rClkR:
     69     _epoSpec = true;
     70     _sigma0  = OPT->_aprSigClk;
     71     break;
     72   case rClkE:
     73     _epoSpec = true;
     74     _sigma0  = OPT->_aprSigClk;
     75     break;
     76   case rClkC:
    6577     _epoSpec = true;
    6678     _sigma0  = OPT->_aprSigClk;
     
    7385         const t_pppSatObs* obs = obsVector->at(ii);
    7486         if (obs->prn() == _prn) {
    75            double offGps = 0.0;
    76            if (_prn.system() == 'G' && tLC != t_lc::MW) {
    77              offGps = PPP_CLIENT->offGps();
    78            }
    79            double offGlo = 0.0;
    80            if (_prn.system() == 'R' && tLC != t_lc::MW) {
    81              offGlo = PPP_CLIENT->offGlo();
    82            }
    83            double offGal = 0.0;
    84            if (_prn.system() == 'E' && tLC != t_lc::MW) {
    85              offGal = PPP_CLIENT->offGal();
    86            }
    87            double offBds = 0.0;
    88            if (_prn.system() == 'C' && tLC != t_lc::MW) {
    89              offBds = PPP_CLIENT->offBds();
    90            }
    91            _x0 = floor((obs->obsValue(tLC) - offGps - offGlo - offGal - offBds - obs->cmpValue(tLC)) / obs->lambda(tLC) + 0.5);
     87           _x0 = floor((obs->obsValue(tLC) - obs->cmpValue(tLC)) / obs->lambda(tLC) + 0.5);
    9288           break;
    9389         }
    9490       }
    9591     }
    96      break;
    97    case offGps:
    98      _epoSpec = true;
    99      _sigma0  = OPT->_aprSigClkOff;
    100      _x0      = PPP_CLIENT->offGps();
    101      break;
    102    case offGlo:
    103      _epoSpec = true;
    104      _sigma0  = OPT->_aprSigClkOff;
    105      _x0      = PPP_CLIENT->offGlo();
    106      break;
    107    case offGal:
    108      _epoSpec = true;
    109      _sigma0  = OPT->_aprSigClkOff;
    110      _x0      = PPP_CLIENT->offGal();
    111      break;
    112    case offBds:
    113      _epoSpec = true;
    114      _sigma0  = OPT->_aprSigClkOff;
    115      _x0      = PPP_CLIENT->offBds();
    11692     break;
    11793   case trp:
     
    174150    if (tLC == t_lc::GIM) {return 0.0;}
    175151    return (sta->xyzApr()[2] - obs->xc()[2]) / rhoV.NormFrobenius();
    176   case rClk:
    177     if (tLC == t_lc::GIM) {return 0.0;}
    178     return 1.0;
    179   case offGps:
     152  case rClkG:
    180153    if (tLC == t_lc::GIM) {return 0.0;}
    181154    return (obs->prn().system() == 'G') ? 1.0 : 0.0;
    182   case offGlo:
     155  case rClkR:
    183156    if (tLC == t_lc::GIM) {return 0.0;}
    184157    return (obs->prn().system() == 'R') ? 1.0 : 0.0;
    185   case offGal:
     158  case rClkE:
    186159    if (tLC == t_lc::GIM) {return 0.0;}
    187160    return (obs->prn().system() == 'E') ? 1.0 : 0.0;
    188   case offBds:
     161  case rClkC:
    189162    if (tLC == t_lc::GIM) {return 0.0;}
    190163    return (obs->prn().system() == 'C') ? 1.0 : 0.0;
     
    305278    ss << "CRD_Z";
    306279    break;
    307   case rClk:
    308     ss << "REC_CLK     ";
    309     break;
    310   case offGps:
    311     ss << "OFF_GPS     ";
    312     break;
    313   case offGlo:
    314     ss << "OFF_GLO     ";
    315     break;
    316   case offGal:
    317     ss << "OFF_GAL     ";
    318     break;
    319   case offBds:
    320     ss << "OFF_BDS     ";
     280  case rClkG:
     281    ss << "REC_CLK  G  ";
     282    break;
     283  case rClkR:
     284    ss << "REC_CLK  R  ";
     285    break;
     286  case rClkE:
     287    ss << "REC_CLK  E  ";
     288    break;
     289  case rClkC:
     290    ss << "REC_CLK  C  ";
    321291    break;
    322292  case trp:
     
    458428  // Receiver Clocks
    459429  // ---------------
    460   required.push_back(new t_pppParam(t_pppParam::rClk, t_prn(), t_lc::dummy));
    461 
    462   // GLONASS Clock Offset
    463   // --------------------
    464   if ( _usedSystems.value('R')  &&
    465       (_usedSystems.value('G') || _usedSystems.value('E') || _usedSystems.value('C'))) {
    466     required.push_back(new t_pppParam(t_pppParam::offGlo, t_prn(), t_lc::dummy));
    467   }
    468   else {
    469     PPP_CLIENT->resetOffGlo();
    470   }
    471 
    472   // Galileo Clock Offset
    473   // --------------------
    474   if (_usedSystems.value('E') && _usedSystems.value('G') && _usedSystems.value('G') >= OPT->_minObs) {
    475     required.push_back(new t_pppParam(t_pppParam::offGal, t_prn(), t_lc::dummy));
    476   }
    477   else {
    478     PPP_CLIENT->resetOffGal();
    479   }
    480 
    481   // GPS Clock Offset
    482   // --------------------
    483   if (_usedSystems.value('E') && _usedSystems.value('G') && _usedSystems.value('G') < OPT->_minObs) {
    484     required.push_back(new t_pppParam(t_pppParam::offGps, t_prn(), t_lc::dummy));
    485   }
    486   else {
    487     PPP_CLIENT->resetOffGps();
    488   }
    489 
    490   // BDS Clock Offset
    491   // ----------------
    492   if (_usedSystems.value('C')  &&
    493       (_usedSystems.value('G') || _usedSystems.value('E'))) {
    494     required.push_back(new t_pppParam(t_pppParam::offBds, t_prn(), t_lc::dummy));
    495   }
    496   else {
    497     PPP_CLIENT->resetOffBds();
    498   }
     430   if (_usedSystems.contains('G')) {
     431     required.push_back(new t_pppParam(t_pppParam::rClkG, t_prn(), t_lc::dummy));
     432   }
     433
     434   if (_usedSystems.contains('R')) {
     435     required.push_back(new t_pppParam(t_pppParam::rClkR, t_prn(), t_lc::dummy));
     436   }
     437
     438   if (_usedSystems.contains('E')) {
     439     required.push_back(new t_pppParam(t_pppParam::rClkE, t_prn(), t_lc::dummy));
     440   }
     441
     442   if (_usedSystems.contains('C')) {
     443     required.push_back(new t_pppParam(t_pppParam::rClkC, t_prn(), t_lc::dummy));
     444   }
    499445
    500446  // Troposphere
Note: See TracChangeset for help on using the changeset viewer.