Changeset 6005 in ntrip


Ignore:
Timestamp:
Aug 18, 2014, 10:55:49 AM (10 years ago)
Author:
mervart
Message:
 
Location:
trunk/BNC/src/PPP
Files:
2 edited

Legend:

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

    r6004 r6005  
    104104  _x0.ReSize(_parlist->nPar());   _x0   = 0.0;
    105105 
    106   predictCovCrdPart(QFltOld, xFltOld);
    107 
    108   for (unsigned ii = 3; ii < params.size(); ii++) {
     106  for (unsigned ii = 0; ii < params.size(); ii++) {
    109107    const t_pppParam* par1 = params[ii];
    110108
     
    113111    int iOld = par1->indexOld();
    114112    if (iOld < 0) {
    115       _QFlt[ii][ii] = par1->sigma0() * par1->sigma0(); // new parameter
     113      if (ii < 3) {
     114        _QFlt[ii][ii] = par1->sigma0() * par1->sigma0(); // new parameter
     115      }
    116116    }
    117117    else {
    118       _QFlt[ii][ii] = QFltOld[iOld][iOld] + par1->noise() * par1->noise();
     118      if (ii < 3) {
     119        _QFlt[ii][ii] = QFltOld[iOld][iOld] + par1->noise() * par1->noise();
     120      }
    119121      _xFlt[ii]     = xFltOld[iOld];
    120122      for (unsigned jj = 0; jj < ii; jj++) {
     
    127129    }
    128130  }
     131
     132  predictCovCrdPart();
    129133
    130134  // Process Satellite Systems separately
     
    431435// Compute various DOP Values
    432436////////////////////////////////////////////////////////////////////////////
    433 void t_pppFilter::predictCovCrdPart(const SymmetricMatrix& QFltOld, const ColumnVector& xFltOld) {
     437void t_pppFilter::predictCovCrdPart() {
    434438
    435439  const vector<t_pppParam*>& params = _parlist->params();
     
    437441  for (unsigned ii = 0; ii < 3; ii++) {
    438442    const t_pppParam* par1 = params[ii];
    439 
    440     _x0[ii] = par1->x0();
    441 
    442     int iOld = par1->indexOld();
    443     if (iOld < 0) {
     443    if (_QFlt[ii][ii] == 0.0) {
    444444      _QFlt[ii][ii] = par1->sigma0() * par1->sigma0(); // new parameter
    445445    }
    446446    else {
    447       _QFlt[ii][ii] = QFltOld[iOld][iOld] + par1->noise() * par1->noise();
    448       _xFlt[ii]     = xFltOld[iOld];
    449       for (unsigned jj = 0; jj < ii; jj++) {
    450         const t_pppParam* par2 = params[jj];
    451         int               jOld = par2->indexOld();
    452         if (jOld >= 0) {
    453           _QFlt[ii][jj] = QFltOld(iOld+1,jOld+1);
    454         }
    455       }
    456     }
    457   }
    458 }
     447      _QFlt[ii][ii] += par1->noise() * par1->noise();
     448    }
     449  }
     450}
  • trunk/BNC/src/PPP/pppFilter.h

    r6003 r6005  
    6161  void cmpDOP(const std::vector<t_pppSatObs*>& obsVector);
    6262
    63   void predictCovCrdPart(const SymmetricMatrix& QFltOld, const ColumnVector& xFltOld);
     63  void predictCovCrdPart();
    6464
    6565  bncTime         _epoTime;
Note: See TracChangeset for help on using the changeset viewer.