Index: trunk/BNC/src/PPP/pppFilter.cpp
===================================================================
--- trunk/BNC/src/PPP/pppFilter.cpp	(revision 10019)
+++ trunk/BNC/src/PPP/pppFilter.cpp	(revision 10020)
@@ -100,7 +100,7 @@
       }
     }
-//    if (num < OPT->_minObs) {
-//      setNeuNoiseToZero = true;
-//    }
+    if (num < OPT->_minObs) {
+      setNeuNoiseToZero = true;
+    }
   }
   setStateVectorAndVarCovMatrix(xFltOld, QFltOld, setNeuNoiseToZero);
@@ -275,6 +275,6 @@
     // Check number of observations
     // ----------------------------
-    if ((iObs +1) < OPT->_minObs) {
-      LOG << "t_pppFilter::processSystem not enough observations: " << iObs + 1 << "\n";
+    if (iObs == -1) {
+      LOG << " number of observations == " << iObs + 1 << "\n";
       if (preProcessing) {
         _obsPool->setRefSatChangeRequired(sys, true);
@@ -372,14 +372,20 @@
         }
       } else {    // fin-processing
-        if (obs->prn() != refPrn) {
-          LOG << epoTimeStr << " Outlier " << t_lc::toString(maxOutlierLC) << ' '
-              << obs->prn().toString() << ' ' << setw(8) << setprecision(4)
-              << maxOutlier << endl;
-          if (par) {
+        LOG << epoTimeStr << " Outlier " << t_lc::toString(maxOutlierLC) << ' '
+            << obs->prn().toString() << ' ' << setw(8) << setprecision(4)
+            << maxOutlier << endl;
+        if (par) {
+          if (par->ambResetCandidate() ||
+              OPT->_obsModelType == OPT->DCMcodeBias ||
+              OPT->_obsModelType == OPT->DCMphaseBias) {
             resetAmb(par->prn(), obsVector, maxOutlierLC, &QSav, &xSav);
           }
           else {
+            par->setAmbResetCandidate();
             obs->setOutlier();
           }
+        }
+        else {
+          obs->setOutlier();
         }
       }
Index: trunk/BNC/src/pppMain.cpp
===================================================================
--- trunk/BNC/src/pppMain.cpp	(revision 10019)
+++ trunk/BNC/src/pppMain.cpp	(revision 10020)
@@ -208,9 +208,7 @@
       opt->_obsModelType = t_pppOptions::PPPRTK;
       opt->_pseudoObsIono  = false;
-      opt->_noiseIon = 0.1;
     }
     else if (settings.value("PPP/modelObs").toString() == "Uncombined PPP") {
       opt->_obsModelType = t_pppOptions::UncombPPP;
-      opt->_noiseIon = 0.1;
       if (opt->_pseudoObsIono) {
         opt->_refSatRequired = true;
@@ -220,12 +218,8 @@
       opt->_obsModelType = t_pppOptions::DCMcodeBias;
       opt->_refSatRequired = true;
-      opt->_noiseCodeBias  = 10.0;
-      opt->_noiseIon = 0.1;
     }
     else if (settings.value("PPP/modelObs").toString() == "DCM with Phase Biases") {
       opt->_obsModelType = t_pppOptions::DCMphaseBias;
       opt->_refSatRequired = true;
-      opt->_noisePhaseBias = 10.0;
-      opt->_noiseIon = 0.1;
     }
 #endif
@@ -426,6 +420,9 @@
     opt->_aprSigClk       = 1000.0;
     opt->_aprSigIon       = 100.0;
+    opt->_noiseIon        = 100.0;
     opt->_aprSigCodeBias  = 100.0;
+    opt->_noiseCodeBias   = 10.0;
     opt->_aprSigPhaseBias = 100.0;
+    opt->_noisePhaseBias  = 100.0;
 
     _options << opt;
