Changeset 10010 in ntrip for trunk/BNC/src


Ignore:
Timestamp:
Mar 17, 2023, 2:27:30 PM (2 years ago)
Author:
stuerze
Message:

minor changes

Location:
trunk/BNC/src/PPP
Files:
3 edited

Legend:

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

    r10009 r10010  
    7272
    7373  const QMap<char, t_pppRefSat*> &refSatMap = epoch->refSatMap();
    74 
     74  const QList<char> &usedSystems = _parlist.usedSystems();
    7575  //--
    7676  // Set Parameters
     
    7878    return failure;
    7979  }
    80 
     80#ifdef BNC_DEBUG_PPP
    8181  if (OPT->_obsModelType == OPT->DCMcodeBias ||
    82   OPT->_obsModelType == OPT->DCMphaseBias) {
    83 #ifdef BNC_DEBUG_PPP
    84   _parlist.printParams(_epoTime);
     82      OPT->_obsModelType == OPT->DCMphaseBias) {
     83    _parlist.printParams(_epoTime);
     84  }
    8585#endif
    86   }
     86
    8787  // Status Vector, Variance-Covariance Matrix
    8888  // -----------------------------------------
    8989  ColumnVector xFltOld = _xFlt;
    9090  SymmetricMatrix QFltOld = _QFlt;
    91   setStateVectorAndVarCovMatrix(xFltOld, QFltOld);
     91  bool setNeuNoiseToZero = false;
     92  for (int iSys = 0; iSys < usedSystems.size(); iSys++) {
     93    char sys = usedSystems[iSys];
     94    int num = 0;
     95    for (unsigned jj = 0; jj < allObs.size(); jj++) {
     96      if (allObs[jj]->prn().system() == sys) {
     97        ++num;
     98      }
     99    }
     100    if (num < OPT->_minObs) {
     101      setNeuNoiseToZero = true;
     102    }
     103  }
     104  setStateVectorAndVarCovMatrix(xFltOld, QFltOld, setNeuNoiseToZero);
    92105
    93106  // Pre-Process Satellite Systems separately
     
    97110  OPT->_obsModelType == OPT->DCMphaseBias) {
    98111    preProcessing = true;
    99     const QList<char> &usedSystems = _parlist.usedSystems();
    100112    for (int iSys = 0; iSys < usedSystems.size(); iSys++) {
    101113      char sys = usedSystems[iSys];
     
    137149  // ------------------------------------
    138150  preProcessing = false;
    139   const QList<char> &usedSystems = _parlist.usedSystems();
    140151  for (int iSys = 0; iSys < usedSystems.size(); iSys++) {
    141152    char sys = usedSystems[iSys];
     
    594605//
    595606////////////////////////////////////////////////////////////////////////////
    596 void t_pppFilter::predictCovCrdPart(const SymmetricMatrix &QFltOld) {
     607void t_pppFilter::predictCovCrdPart(const SymmetricMatrix &QFltOld, bool setNeuNoiseToZero) {
    597608
    598609  const vector<t_pppParam*> &params = _parlist.params();
     
    622633  } else {
    623634    double dt = _epoTime - _firstEpoTime;
    624     if (dt < OPT->_seedingTime) {
     635    if (dt < OPT->_seedingTime || setNeuNoiseToZero) {
    625636      _QFlt.SymSubMatrix(1, 3) = QFltOld.SymSubMatrix(1, 3);
    626637    } else {
     
    633644////////////////////////////////////////////////////////////////////////////
    634645void t_pppFilter::setStateVectorAndVarCovMatrix(const ColumnVector &xFltOld,
    635     const SymmetricMatrix &QFltOld) {
     646    const SymmetricMatrix &QFltOld, bool setNeuNoiseToZero) {
    636647
    637648  const vector<t_pppParam*> &params = _parlist.params();
     
    666677    }
    667678  }
    668   predictCovCrdPart(QFltOld);
     679  predictCovCrdPart(QFltOld, setNeuNoiseToZero);
    669680}
    670681
  • trunk/BNC/src/PPP/pppFilter.h

    r10008 r10010  
    206206              const QMap<char, t_pppRefSat*>& refSatMap);
    207207
    208   void setStateVectorAndVarCovMatrix(const ColumnVector& xFltOld, const SymmetricMatrix& QFltOld);
    209 
    210   void predictCovCrdPart(const SymmetricMatrix& QFltOld);
     208  void setStateVectorAndVarCovMatrix(const ColumnVector& xFltOld, const SymmetricMatrix& QFltOld,
     209                                     bool setNeuNoiseToZero);
     210
     211  void predictCovCrdPart(const SymmetricMatrix& QFltOld, bool setNeuNoiseToZero);
    211212
    212213  t_irc addNoiseToPar(t_pppParam::e_type parType, char sys);
  • trunk/BNC/src/PPP/pppSatObs.cpp

    r10009 r10010  
    3333using namespace std;
    3434
    35 const double   GLO_WEIGHT_FACTOR = 1.0;
    36 const double   BDS_WEIGHT_FACTOR = 1.0;
     35const double   GLO_WEIGHT_FACTOR = 2.0;
     36const double   BDS_WEIGHT_FACTOR = 2.0;
    3737
    3838// Constructor
     
    355355  // De-Weight GLO+BDS
    356356  // -----------------
    357   if (_prn.system() == 'R') {
     357  if (_prn.system() == 'R' && t_lc::includesCode(tLC)) {
    358358    retVal *= GLO_WEIGHT_FACTOR;
    359359  }
    360   if (_prn.system() == 'C') {
     360  if (_prn.system() == 'C' && t_lc::includesCode(tLC)){
    361361    retVal *= BDS_WEIGHT_FACTOR;
    362362  }
     
    398398
    399399  retVal = sqrt(retVal);
     400
     401  // De-Weight GLO+BDS
     402  // -----------------
     403  if (_prn.system() == 'R' && t_lc::includesCode(tLC)) {
     404    retVal *= GLO_WEIGHT_FACTOR;
     405  }
     406  if (_prn.system() == 'C' && t_lc::includesCode(tLC)){
     407    retVal *= BDS_WEIGHT_FACTOR;
     408  }
     409
    400410
    401411  return retVal;
Note: See TracChangeset for help on using the changeset viewer.