[hamradio-commits] [gnss-sdr] 20/80: Fix phase range rate computation in RTCM messages

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 95f75d407e0232a11ae3617f140dc8d30ee04ffa
Author: Carles Fernandez <carles.fernandez at gmail.com>
Date:   Tue May 3 14:35:43 2016 +0200

    Fix phase range rate computation in RTCM messages
---
 src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.cc | 2 +-
 src/core/system_parameters/rtcm.cc                     | 9 ++++++---
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.cc b/src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.cc
index 7a73881..3aefd49 100644
--- a/src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.cc
+++ b/src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.cc
@@ -344,7 +344,7 @@ int gps_l1_ca_pvt_cc::general_work (int noutput_items __attribute__((unused)), g
                                     if((d_sample_counter % 1000) == 0)
                                         {
                                             std::map<int,Gps_Ephemeris>::iterator gps_ephemeris_iter;
-                                            gps_ephemeris_iter = d_ls_pvt->gps_ephemeris_map.begin();std::cout << d_rx_time << std::endl;
+                                            gps_ephemeris_iter = d_ls_pvt->gps_ephemeris_map.begin();
                                             if (gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.end())
                                                 {
                                                     d_rtcm_printer->Print_Rtcm_MSM(7, gps_ephemeris_iter->second, {}, {}, d_rx_time, gnss_pseudoranges_map, 1234, 0, 0, 0, 0, 0);
diff --git a/src/core/system_parameters/rtcm.cc b/src/core/system_parameters/rtcm.cc
index f339c1d..eca9fa2 100644
--- a/src/core/system_parameters/rtcm.cc
+++ b/src/core/system_parameters/rtcm.cc
@@ -2338,7 +2338,7 @@ std::string Rtcm::print_MSM_7( const Gps_Ephemeris & gps_eph,
     if(gps_eph.i_satellite_PRN != 0) msg_number = 1077;
     if(gps_cnav_eph.i_satellite_PRN != 0) msg_number = 1077;
     if(gal_eph.i_satellite_PRN != 0) msg_number = 1097;
-    if(((gps_eph.i_satellite_PRN != 0) ||(gps_cnav_eph.i_satellite_PRN != 0) ) && (gal_eph.i_satellite_PRN != 0))
+    if(((gps_eph.i_satellite_PRN != 0) || (gps_cnav_eph.i_satellite_PRN != 0) ) && (gal_eph.i_satellite_PRN != 0))
         {
             LOG(WARNING) << "MSM messages for observables from different systems are not defined"; //print two messages?
         }
@@ -3835,7 +3835,10 @@ 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);
+    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));
     return 0;
 }
@@ -3980,7 +3983,7 @@ 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 phrr = std::round(- gnss_synchro.Carrier_Doppler_hz * lambda);
 
     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