Index: /trunk/BNC/src/PPP/pppSatObs.cpp
===================================================================
--- /trunk/BNC/src/PPP/pppSatObs.cpp	(revision 6024)
+++ /trunk/BNC/src/PPP/pppSatObs.cpp	(revision 6025)
@@ -151,4 +151,57 @@
   }
 }
+
+// 
+////////////////////////////////////////////////////////////////////////////
+void t_pppSatObs::lcCoeff(t_lc::type tLC, 
+                          map<t_frequency::type, double>& codeCoeff,
+                          map<t_frequency::type, double>& phaseCoeff) const {
+
+  codeCoeff.clear();
+  phaseCoeff.clear();
+
+  t_frequency::type fType1 = t_lc::toFreq(_prn.system(),t_lc::l1);
+  t_frequency::type fType2 = t_lc::toFreq(_prn.system(),t_lc::l2);
+
+  double f1 = t_CST::freq(fType1, _channel);
+  double f2 = t_CST::freq(fType2, _channel);
+
+  switch (tLC) {
+  case t_lc::l1:
+    phaseCoeff[fType1] = 1.0;  
+    return;
+  case t_lc::l2:  
+    phaseCoeff[fType2] = 1.0;  
+    return;
+  case t_lc::lIF: 
+    phaseCoeff[fType1] =  f1 * f1 / (f1 * f1 - f2 * f2);
+    phaseCoeff[fType2] = -f2 * f2 / (f1 * f1 - f2 * f2);
+    return;
+  case t_lc::MW:  
+    phaseCoeff[fType1] =  f1 / (f1 - f2);
+    phaseCoeff[fType2] = -f2 / (f1 - f2);
+    codeCoeff[fType1]  = -f1 / (f1 + f2);
+    codeCoeff[fType2]  = -f2 / (f1 + f2);
+    return;
+  case t_lc::CL:  
+    phaseCoeff[fType1] =  0.5;
+    codeCoeff[fType1]  =  0.5;
+    return;
+  case t_lc::c1:  
+    codeCoeff[fType1] = 1.0;  
+    return;
+  case t_lc::c2:  
+    codeCoeff[fType2] = 1.0;  
+    return;
+  case t_lc::cIF: 
+    codeCoeff[fType1] =  f1 * f1 / (f1 * f1 - f2 * f2);
+    codeCoeff[fType2] = -f2 * f2 / (f1 * f1 - f2 * f2);
+    return;
+  case t_lc::dummy: 
+  case t_lc::maxLc: 
+    return;
+  }
+}
+
 
 // 
