From 8de654cc69d7a9ec19cdba7871c6214afeab2881 Mon Sep 17 00:00:00 2001
From: joanvallve <jvallve@iri.upc.edu>
Date: Wed, 16 Jun 2021 14:03:04 +0200
Subject: [PATCH] compute Sagnac correction

---
 include/gnss_utils/range.h | 2 ++
 src/range.cpp              | 5 +++++
 src/tdcp.cpp               | 4 ++--
 3 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/include/gnss_utils/range.h b/include/gnss_utils/range.h
index d3b1d4d..164b5a4 100644
--- a/include/gnss_utils/range.h
+++ b/include/gnss_utils/range.h
@@ -47,6 +47,8 @@ class Range
         static std::set<int> findCommonSatellites(const Ranges& ranges_1, const Ranges& ranges_2);
 };
 
+double computeSagnacCorrection(const Eigen::Vector3d& rcv_ECEF, const Eigen::Vector3d& sat_ECEF);
+
 } /* namespace GnssUtils */
 
 #endif /* INCLUDE_GNSS_UTILS_RANGE_H_ */
diff --git a/src/range.cpp b/src/range.cpp
index 86871b4..c490b7b 100644
--- a/src/range.cpp
+++ b/src/range.cpp
@@ -190,4 +190,9 @@ std::set<int> Range::findCommonSatellites(const Ranges& ranges_1, const Ranges&
   return common_sats;
 }
 
+double computeSagnacCorrection(const Eigen::Vector3d& rcv_ECEF, const Eigen::Vector3d& sat_ECEF)
+{
+    return OMGE*(sat_ECEF(0)*rcv_ECEF(1)-sat_ECEF(1)*rcv_ECEF(0))/CLIGHT;
+}
+
 } /* namespace GnssUtils */
diff --git a/src/tdcp.cpp b/src/tdcp.cpp
index 4188a44..a270b8c 100644
--- a/src/tdcp.cpp
+++ b/src/tdcp.cpp
@@ -248,8 +248,8 @@ TdcpOutput Tdcp(SnapshotPtr               snapshot_r,
         // sagnac corrections
         if (tdcp_params.sagnac_correction)
         {
-            double sagnac_corr_r = OMGE*(s_r.col(row)(0)*x_r(1)-s_r.col(row)(1)*x_r(0))/CLIGHT;
-            double sagnac_corr_k = OMGE*(s_k.col(row)(0)*(x_r(1)+d_0(1))-s_k.col(row)(1)*(x_r(0)+d_0(0)))/CLIGHT;
+            double sagnac_corr_r = computeSagnacCorrection(x_r,s_r); //OMGE*(s_r.col(row)(0)*x_r(1)-s_r.col(row)(1)*x_r(0))/CLIGHT;
+            double sagnac_corr_k = computeSagnacCorrection(x_r,s_k); //OMGE*(s_k.col(row)(0)*(x_r(1)+d_0(1))-s_k.col(row)(1)*(x_r(0)+d_0(0)))/CLIGHT;
             drho_m(row) += -sagnac_corr_k + sagnac_corr_r;
         }
 
-- 
GitLab