diff --git a/include/gnss_utils/range.h b/include/gnss_utils/range.h index d3b1d4d9b1b78e8be24b6d0d7c548c564dc529f4..164b5a4bedcceeee71b340af31570e2cbb011c0c 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 86871b4dce6ac8294964dd23a29c148762b78ad0..c490b7bc692aa5a4a47f27d08a4c2bdacccf291d 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 4188a44491d0f794155c301eecfebe15025c8831..a270b8c0f87b5483c4f2623e78ce039393e10de3 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; }