Index: /trunk/BNC/scripts/pppPlot.pl
===================================================================
--- /trunk/BNC/scripts/pppPlot.pl	(revision 10009)
+++ /trunk/BNC/scripts/pppPlot.pl	(revision 10010)
@@ -198,5 +198,5 @@
                                                     title   => "Tropospheric Delay, RMS + -$str_rms_trp m",
                                                     timefmt => '%s',
-                                                    style   => "linespoints",
+                                                    style   => "points",
         );
         $chartTRP->plot2d($dataTRP);
@@ -228,5 +228,5 @@
                                                      title   => "Receiver clock",
                                                      timefmt => '%s',
-                                                     style   => "linespoints",
+                                                     style   => "points",
             );
             $chartCLK->plot2d($dataset);
@@ -261,5 +261,5 @@
                                                          title   => "Receiver Offset GLONASS",
                                                          timefmt => '%s',
-                                                         style   => "linespoints",
+                                                         style   => "points",
                 );
                 $chartOFF_GLO->plot2d($dataset);    #system ("display $pngName&");
@@ -294,5 +294,5 @@
                                                          title   => "Receiver Offset Galileo",
                                                          timefmt => '%s',
-                                                         style   => "linespoints",
+                                                         style   => "points",
                 );
                 $chartOFF_GAL->plot2d($dataset);    #system ("display $pngName&");
@@ -327,5 +327,5 @@
                                                          title   => "Receiver Offset Beidou",
                                                          timefmt => '%s',
-                                                         style   => "linespoints",
+                                                         style   => "points",
                 );
                 $chartOFF_BDS->plot2d($dataset);    #system ("display $pngName&");
@@ -376,6 +376,6 @@
                     timefmt => '%s',
 
-                    #style   => "linespoints",
-                    style => "linespoints",
+                    #style   => "points",
+                    style => "points",
                 );
                 push ( @datasets, $dataset );
@@ -451,7 +451,7 @@
                         title => "$key_sat",
                         timefmt => '%s',
-                        style   => "linespoints",
-
-                        #style   => "linespoints",
+                        style   => "points",
+
+                        #style   => "points",
                     );
                     push ( @datasets_amb, $dataset_amb );
@@ -464,6 +464,6 @@
                         timefmt => '%s',
 
-                        #style   => "linespoints",
-                        style => "linespoints",
+                        #style   => "points",
+                        style => "points",
                     );
                     push ( @datasets_epo, $dataset_epo );
@@ -530,6 +530,6 @@
                         timefmt => '%s',
 
-                        #style   => " linespoints ",
-                        style => "linespoints",
+                        #style   => " points ",
+                        style => "points",
                     );
                     push ( @datasets, $dataset );
@@ -580,5 +580,5 @@
                                                     title   => "$key_sys",
                                                     timefmt => '%s',
-                                                    style   => "linespoints",
+                                                    style   => "points",
                       );
                     push ( @datasets, $dataset );
@@ -643,7 +643,5 @@
                         title   => "$key_sat",
                         timefmt => '%s',
-
-                        #style   => "linespoints",
-                        style => "linespoints",
+                        style => "points",
                     );
                     push ( @datasets, $dataset );
Index: /trunk/BNC/src/PPP/pppFilter.cpp
===================================================================
--- /trunk/BNC/src/PPP/pppFilter.cpp	(revision 10009)
+++ /trunk/BNC/src/PPP/pppFilter.cpp	(revision 10010)
@@ -72,5 +72,5 @@
 
   const QMap<char, t_pppRefSat*> &refSatMap = epoch->refSatMap();
-
+  const QList<char> &usedSystems = _parlist.usedSystems();
   //--
   // Set Parameters
@@ -78,16 +78,29 @@
     return failure;
   }
-
+#ifdef BNC_DEBUG_PPP
   if (OPT->_obsModelType == OPT->DCMcodeBias ||
-  OPT->_obsModelType == OPT->DCMphaseBias) {
-#ifdef BNC_DEBUG_PPP
-  _parlist.printParams(_epoTime);
+      OPT->_obsModelType == OPT->DCMphaseBias) {
+    _parlist.printParams(_epoTime);
+  }
 #endif
-  }
+
   // Status Vector, Variance-Covariance Matrix
   // -----------------------------------------
   ColumnVector xFltOld = _xFlt;
   SymmetricMatrix QFltOld = _QFlt;
-  setStateVectorAndVarCovMatrix(xFltOld, QFltOld);
+  bool setNeuNoiseToZero = false;
+  for (int iSys = 0; iSys < usedSystems.size(); iSys++) {
+    char sys = usedSystems[iSys];
+    int num = 0;
+    for (unsigned jj = 0; jj < allObs.size(); jj++) {
+      if (allObs[jj]->prn().system() == sys) {
+        ++num;
+      }
+    }
+    if (num < OPT->_minObs) {
+      setNeuNoiseToZero = true;
+    }
+  }
+  setStateVectorAndVarCovMatrix(xFltOld, QFltOld, setNeuNoiseToZero);
 
   // Pre-Process Satellite Systems separately
@@ -97,5 +110,4 @@
   OPT->_obsModelType == OPT->DCMphaseBias) {
     preProcessing = true;
-    const QList<char> &usedSystems = _parlist.usedSystems();
     for (int iSys = 0; iSys < usedSystems.size(); iSys++) {
       char sys = usedSystems[iSys];
@@ -137,5 +149,4 @@
   // ------------------------------------
   preProcessing = false;
-  const QList<char> &usedSystems = _parlist.usedSystems();
   for (int iSys = 0; iSys < usedSystems.size(); iSys++) {
     char sys = usedSystems[iSys];
@@ -594,5 +605,5 @@
 //
 ////////////////////////////////////////////////////////////////////////////
-void t_pppFilter::predictCovCrdPart(const SymmetricMatrix &QFltOld) {
+void t_pppFilter::predictCovCrdPart(const SymmetricMatrix &QFltOld, bool setNeuNoiseToZero) {
 
   const vector<t_pppParam*> &params = _parlist.params();
@@ -622,5 +633,5 @@
   } else {
     double dt = _epoTime - _firstEpoTime;
-    if (dt < OPT->_seedingTime) {
+    if (dt < OPT->_seedingTime || setNeuNoiseToZero) {
       _QFlt.SymSubMatrix(1, 3) = QFltOld.SymSubMatrix(1, 3);
     } else {
@@ -633,5 +644,5 @@
 ////////////////////////////////////////////////////////////////////////////
 void t_pppFilter::setStateVectorAndVarCovMatrix(const ColumnVector &xFltOld,
-    const SymmetricMatrix &QFltOld) {
+    const SymmetricMatrix &QFltOld, bool setNeuNoiseToZero) {
 
   const vector<t_pppParam*> &params = _parlist.params();
@@ -666,5 +677,5 @@
     }
   }
-  predictCovCrdPart(QFltOld);
+  predictCovCrdPart(QFltOld, setNeuNoiseToZero);
 }
 
Index: /trunk/BNC/src/PPP/pppFilter.h
===================================================================
--- /trunk/BNC/src/PPP/pppFilter.h	(revision 10009)
+++ /trunk/BNC/src/PPP/pppFilter.h	(revision 10010)
@@ -206,7 +206,8 @@
               const QMap<char, t_pppRefSat*>& refSatMap);
 
-  void setStateVectorAndVarCovMatrix(const ColumnVector& xFltOld, const SymmetricMatrix& QFltOld);
-
-  void predictCovCrdPart(const SymmetricMatrix& QFltOld);
+  void setStateVectorAndVarCovMatrix(const ColumnVector& xFltOld, const SymmetricMatrix& QFltOld,
+                                     bool setNeuNoiseToZero);
+
+  void predictCovCrdPart(const SymmetricMatrix& QFltOld, bool setNeuNoiseToZero);
 
   t_irc addNoiseToPar(t_pppParam::e_type parType, char sys);
Index: /trunk/BNC/src/PPP/pppSatObs.cpp
===================================================================
--- /trunk/BNC/src/PPP/pppSatObs.cpp	(revision 10009)
+++ /trunk/BNC/src/PPP/pppSatObs.cpp	(revision 10010)
@@ -33,6 +33,6 @@
 using namespace std;
 
-const double   GLO_WEIGHT_FACTOR = 1.0;
-const double   BDS_WEIGHT_FACTOR = 1.0;
+const double   GLO_WEIGHT_FACTOR = 2.0;
+const double   BDS_WEIGHT_FACTOR = 2.0;
 
 // Constructor
@@ -355,8 +355,8 @@
   // De-Weight GLO+BDS
   // -----------------
-  if (_prn.system() == 'R') {
+  if (_prn.system() == 'R' && t_lc::includesCode(tLC)) {
     retVal *= GLO_WEIGHT_FACTOR;
   }
-  if (_prn.system() == 'C') {
+  if (_prn.system() == 'C' && t_lc::includesCode(tLC)){
     retVal *= BDS_WEIGHT_FACTOR;
   }
@@ -398,4 +398,14 @@
 
   retVal = sqrt(retVal);
+
+  // De-Weight GLO+BDS
+  // -----------------
+  if (_prn.system() == 'R' && t_lc::includesCode(tLC)) {
+    retVal *= GLO_WEIGHT_FACTOR;
+  }
+  if (_prn.system() == 'C' && t_lc::includesCode(tLC)){
+    retVal *= BDS_WEIGHT_FACTOR;
+  }
+
 
   return retVal;
