[hamradio-commits] [gnss-sdr] 21/80: Fix encoding of fine phase range rate
Carles Fernandez
carles_fernandez-guest at moszumanska.debian.org
Sun May 15 20:11:53 UTC 2016
This is an automated email from the git hooks/post-receive script.
carles_fernandez-guest pushed a commit to branch upstream
in repository gnss-sdr.
commit 2494a3dc0f15d3fd5a19024701fca27c40eda25b
Author: Carles Fernandez <carles.fernandez at gmail.com>
Date: Wed May 4 12:35:09 2016 +0200
Fix encoding of fine phase range rate
---
src/core/system_parameters/rtcm.cc | 21 +++++++++------------
1 file changed, 9 insertions(+), 12 deletions(-)
diff --git a/src/core/system_parameters/rtcm.cc b/src/core/system_parameters/rtcm.cc
index eca9fa2..b4857fa 100644
--- a/src/core/system_parameters/rtcm.cc
+++ b/src/core/system_parameters/rtcm.cc
@@ -3835,11 +3835,11 @@ int Rtcm::set_DF399(const Gnss_Synchro & gnss_synchro)
lambda = GPS_C_m_s / 1.207140e9; // Galileo_E1b_FREQ_HZ;
}
- double rough_phase_range_ms = std::round(- gnss_synchro.Carrier_Doppler_hz * lambda );
- //std::cout << rough_phase_range_ms << std::endl;
- if(rough_phase_range_ms < - 8191) rough_phase_range_ms = -8191;
- if(rough_phase_range_ms > 8191) rough_phase_range_ms = 8191;
- DF399 = std::bitset<14>(static_cast<int>(rough_phase_range_ms));
+ double rough_phase_range_rate_ms = std::round(- gnss_synchro.Carrier_Doppler_hz * lambda );
+ if(rough_phase_range_rate_ms < - 8191) rough_phase_range_rate_ms = -8192;
+ if(rough_phase_range_rate_ms > 8191) rough_phase_range_rate_ms = -8192;
+
+ DF399 = std::bitset<14>(static_cast<int>(rough_phase_range_rate_ms));
return 0;
}
@@ -3853,13 +3853,9 @@ int Rtcm::set_DF400(const Gnss_Synchro & gnss_synchro)
psrng_s = gnss_synchro.Pseudorange_m - rough_range_m;
- if(psrng_s == 0.0)
- {
- fine_pseudorange = - 16384;
- }
- else if(std::fabs(psrng_s) > 292.7)
+ if(std::fabs(psrng_s) > 292.7)
{
- fine_pseudorange = - 16384;
+ fine_pseudorange = -16384; // 4000h: invalid value
}
else
{
@@ -3983,7 +3979,8 @@ int Rtcm::set_DF404(const Gnss_Synchro & gnss_synchro)
lambda = GPS_C_m_s / 1.207140e9; // Galileo_E1b_FREQ_HZ;
}
- double phrr = std::round(- gnss_synchro.Carrier_Doppler_hz * lambda);
+ double rough_phase_range_rate = std::round(- gnss_synchro.Carrier_Doppler_hz * lambda );
+ double phrr = (- gnss_synchro.Carrier_Doppler_hz * lambda - rough_phase_range_rate);
if(phrr == 0.0)
{
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hamradio/gnss-sdr.git
More information about the pkg-hamradio-commits
mailing list