Changeset 8961 in ntrip for trunk/BNC/src/pppMain.cpp


Ignore:
Timestamp:
Jun 29, 2020, 10:09:16 AM (4 years ago)
Author:
stuerze
Message:

PPP update: pseudo obs tropo added

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/pppMain.cpp

    r8956 r8961  
    185185    opt->_obsModelType   = t_pppOptions::IF;
    186186    opt->_pseudoObsIono  = false;
     187    opt->_pseudoObsTropo = false;
    187188    opt->_refSatRequired = false;
    188189#ifdef USE_PPP
    189190    // Pseudo Observations
    190191    if      (settings.value("PPP/pseudoObs").toString() == "Ionosphere") {
    191       opt->_pseudoObsIono = true;
     192      opt->_pseudoObsIono  = true;
     193      opt->_pseudoObsTropo = false;
     194    }
     195    else if (settings.value("PPP/pseudoObs").toString() == "Iono+Tropo") {
     196      opt->_pseudoObsIono  = true;
     197      opt->_pseudoObsTropo = true;
    192198    }
    193199    else if (settings.value("PPP/pseudoObs").toString() == "no") {
    194       opt->_pseudoObsIono = false;
     200      opt->_pseudoObsIono  = false;
     201      opt->_pseudoObsTropo = false;
    195202    }
    196203    // Observation Model
    197204    if      (settings.value("PPP/modelObs").toString() == "Ionosphere-free PPP") {
    198205      opt->_obsModelType = t_pppOptions::IF;
    199       opt->_pseudoObsIono = false;
     206      opt->_pseudoObsIono  = false;
     207      opt->_pseudoObsTropo = false;
    200208    }
    201209    else if (settings.value("PPP/modelObs").toString() == "PPP-RTK") {
    202210      opt->_obsModelType = t_pppOptions::PPPRTK;
    203       opt->_pseudoObsIono = false;
     211      opt->_pseudoObsIono  = false;
     212      opt->_pseudoObsTropo = false;
    204213    }
    205214    else if (settings.value("PPP/modelObs").toString() == "Uncombined PPP") {
     
    229238          opt->_LCsGPS.push_back(t_lc::GIM);
    230239        }
     240        if (opt->_pseudoObsTropo) {
     241          opt->_LCsGPS.push_back(t_lc::Tz0);
     242        }
    231243      }
    232244    }
     
    240252        if (opt->_pseudoObsIono) {
    241253          opt->_LCsGPS.push_back(t_lc::GIM);
     254        }
     255        if (opt->_pseudoObsTropo) {
     256          opt->_LCsGPS.push_back(t_lc::Tz0);
    242257        }
    243258      }
     
    256271          opt->_LCsGPS.push_back(t_lc::GIM);
    257272        }
     273        if (opt->_pseudoObsTropo) {
     274          opt->_LCsGPS.push_back(t_lc::Tz0);
     275        }
    258276      }
    259277    }
     
    268286        if (opt->_pseudoObsIono) {
    269287          opt->_LCsGLONASS.push_back(t_lc::GIM);
     288        }
     289        if (opt->_pseudoObsTropo) {
     290          opt->_LCsGPS.push_back(t_lc::Tz0);
    270291        }
    271292      }
     
    281302          opt->_LCsGLONASS.push_back(t_lc::GIM);
    282303        }
     304        if (opt->_pseudoObsTropo) {
     305          opt->_LCsGPS.push_back(t_lc::Tz0);
     306        }
    283307      }
    284308    }
     
    296320          opt->_LCsGLONASS.push_back(t_lc::GIM);
    297321        }
     322        if (opt->_pseudoObsTropo) {
     323          opt->_LCsGPS.push_back(t_lc::Tz0);
     324        }
    298325      }
    299326    }
     
    309336          opt->_LCsGalileo.push_back(t_lc::GIM);
    310337        }
     338        if (opt->_pseudoObsTropo) {
     339          opt->_LCsGPS.push_back(t_lc::Tz0);
     340        }
    311341      }
    312342    }
     
    320350        if (opt->_pseudoObsIono) {
    321351          opt->_LCsGalileo.push_back(t_lc::GIM);
     352        }
     353        if (opt->_pseudoObsTropo) {
     354          opt->_LCsGPS.push_back(t_lc::Tz0);
    322355        }
    323356      }
     
    336369          opt->_LCsGalileo.push_back(t_lc::GIM);
    337370        }
     371        if (opt->_pseudoObsTropo) {
     372          opt->_LCsGPS.push_back(t_lc::Tz0);
     373        }
    338374      }
    339375    }
     
    349385          opt->_LCsBDS.push_back(t_lc::GIM);
    350386        }
     387        if (opt->_pseudoObsTropo) {
     388          opt->_LCsGPS.push_back(t_lc::Tz0);
     389        }
    351390      }
    352391    }
     
    360399        if (opt->_pseudoObsIono) {
    361400          opt->_LCsBDS.push_back(t_lc::GIM);
     401        }
     402        if (opt->_pseudoObsTropo) {
     403          opt->_LCsGPS.push_back(t_lc::Tz0);
    362404        }
    363405      }
     
    375417        if (opt->_pseudoObsIono) {
    376418          opt->_LCsBDS.push_back(t_lc::GIM);
     419        }
     420        if (opt->_pseudoObsTropo) {
     421          opt->_LCsGPS.push_back(t_lc::Tz0);
    377422        }
    378423      }
     
    417462    opt->_aprSigPhaseBias = 1000.0;
    418463    // TODO: Find realistic values!!!!!!
    419     opt->_noiseIon        = 10.0;
     464    opt->_noiseIon        = 1.00;
    420465    opt->_noiseCodeBias   = 1.00;
    421466    opt->_noisePhaseBias  = 5.00;
    422     opt->_sigmaGIMdiff    = 2.00; //pseudo observation GIM: STEC(ref_sat) - STEC(sat)
     467    // pseudo observations
     468    opt->_sigmaGIMdiff    = 2.00; // Todo: add to bncWindow
     469    opt->_sigmaTz0        = 0.10;
    423470
    424471    _options << opt;
Note: See TracChangeset for help on using the changeset viewer.