Index: trunk/BNC/src/rinex/reqcanalyze.cpp
===================================================================
--- trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 4680)
+++ trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 4681)
@@ -663,8 +663,22 @@
                     xSat(1), xSat(2), xSat(3), clkSat);
       ColumnVector dx = xSat - xyzSta;
-    }
-
-  }
-
-  return 0.0;
-}
+      double rho = dx.norm_Frobenius();
+      AA(nSatUsed,1) = dx(1) / rho;
+      AA(nSatUsed,2) = dx(2) / rho;
+      AA(nSatUsed,3) = dx(3) / rho;
+      AA(nSatUsed,4) = 1.0;
+    }
+  }
+
+  if (nSatUsed < 4) {
+    return 0.0;
+  }
+
+  AA = AA.Rows(1, nSatUsed);
+
+  SymmetricMatrix QQ; 
+  QQ << AA.t() * AA;
+  QQ = QQ.i();
+
+  return sqrt(QQ.trace());
+}
