Changeset 6003 in ntrip for trunk/BNC/src


Ignore:
Timestamp:
Aug 18, 2014, 10:42:06 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

    r5922 r6003  
    104104  _x0.ReSize(_parlist->nPar());   _x0   = 0.0;
    105105 
    106   for (unsigned ii = 0; ii < params.size(); ii++) {
     106  predictCovCrdPart(QFltOld, xFltOld);
     107
     108  for (unsigned ii = 3; ii < params.size(); ii++) {
    107109    const t_pppParam* par1 = params[ii];
    108110
     
    116118      _QFlt[ii][ii] = QFltOld[iOld][iOld] + par1->noise() * par1->noise();
    117119      _xFlt[ii]     = xFltOld[iOld];
    118       for (unsigned jj = 0; jj < ii; jj++) {
     120      for (unsigned jj = 3; jj < ii; jj++) {
    119121        const t_pppParam* par2 = params[jj];
    120         int            jOld = par2->indexOld();
     122        int               jOld = par2->indexOld();
    121123        if (jOld >= 0) {
    122124          _QFlt[ii][jj] = QFltOld(iOld+1,jOld+1);
     
    426428  }
    427429}
     430
     431// Compute various DOP Values
     432////////////////////////////////////////////////////////////////////////////
     433void t_pppFilter::predictCovCrdPart(const SymmetricMatrix& QFltOld, const ColumnVector& xFltOld) {
     434
     435  const vector<t_pppParam*>& params = _parlist->params();
     436
     437  for (unsigned ii = 0; ii < 3; ii++) {
     438    const t_pppParam* par1 = params[ii];
     439
     440    _x0[ii] = par1->x0();
     441
     442    int iOld = par1->indexOld();
     443    if (iOld < 0) {
     444      _QFlt[ii][ii] = par1->sigma0() * par1->sigma0(); // new parameter
     445    }
     446    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}
  • trunk/BNC/src/PPP/pppFilter.h

    r5916 r6003  
    6161  void cmpDOP(const std::vector<t_pppSatObs*>& obsVector);
    6262
     63  void predictCovCrdPart(const SymmetricMatrix& QFltOld, const ColumnVector& xFltOld);
     64
    6365  bncTime         _epoTime;
    64   t_pppParlist*      _parlist;
     66  t_pppParlist*   _parlist;
    6567  SymmetricMatrix _QFlt;
    6668  ColumnVector    _xFlt;
Note: See TracChangeset for help on using the changeset viewer.