Index: /trunk/BNC/src/PPP/pppFilter.cpp
===================================================================
--- /trunk/BNC/src/PPP/pppFilter.cpp	(revision 6002)
+++ /trunk/BNC/src/PPP/pppFilter.cpp	(revision 6003)
@@ -104,5 +104,7 @@
   _x0.ReSize(_parlist->nPar());   _x0   = 0.0;
   
-  for (unsigned ii = 0; ii < params.size(); ii++) {
+  predictCovCrdPart(QFltOld, xFltOld);
+
+  for (unsigned ii = 3; ii < params.size(); ii++) {
     const t_pppParam* par1 = params[ii];
 
@@ -116,7 +118,7 @@
       _QFlt[ii][ii] = QFltOld[iOld][iOld] + par1->noise() * par1->noise();
       _xFlt[ii]     = xFltOld[iOld];
-      for (unsigned jj = 0; jj < ii; jj++) {
+      for (unsigned jj = 3; jj < ii; jj++) {
         const t_pppParam* par2 = params[jj];
-        int            jOld = par2->indexOld();
+        int               jOld = par2->indexOld();
         if (jOld >= 0) {
           _QFlt[ii][jj] = QFltOld(iOld+1,jOld+1);
@@ -426,2 +428,31 @@
   }
 }
+
+// Compute various DOP Values
+////////////////////////////////////////////////////////////////////////////
+void t_pppFilter::predictCovCrdPart(const SymmetricMatrix& QFltOld, const ColumnVector& xFltOld) {
+
+  const vector<t_pppParam*>& params = _parlist->params();
+
+  for (unsigned ii = 0; ii < 3; ii++) {
+    const t_pppParam* par1 = params[ii];
+
+    _x0[ii] = par1->x0();
+
+    int iOld = par1->indexOld();
+    if (iOld < 0) {
+      _QFlt[ii][ii] = par1->sigma0() * par1->sigma0(); // new parameter
+    }
+    else {
+      _QFlt[ii][ii] = QFltOld[iOld][iOld] + par1->noise() * par1->noise();
+      _xFlt[ii]     = xFltOld[iOld];
+      for (unsigned jj = 0; jj < ii; jj++) {
+        const t_pppParam* par2 = params[jj];
+        int               jOld = par2->indexOld();
+        if (jOld >= 0) {
+          _QFlt[ii][jj] = QFltOld(iOld+1,jOld+1);
+        }
+      }
+    }
+  }
+}
Index: /trunk/BNC/src/PPP/pppFilter.h
===================================================================
--- /trunk/BNC/src/PPP/pppFilter.h	(revision 6002)
+++ /trunk/BNC/src/PPP/pppFilter.h	(revision 6003)
@@ -61,6 +61,8 @@
   void cmpDOP(const std::vector<t_pppSatObs*>& obsVector);
 
+  void predictCovCrdPart(const SymmetricMatrix& QFltOld, const ColumnVector& xFltOld);
+
   bncTime         _epoTime;
-  t_pppParlist*      _parlist;
+  t_pppParlist*   _parlist;
   SymmetricMatrix _QFlt;
   ColumnVector    _xFlt;
