From 7aa58ef5903a2b543c3b4710a37a0b5d432e1aa9 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sat, 24 Dec 2011 22:45:14 +0000 Subject: [PATCH] Fixing the round problem git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@96 64b25241-fba3-4117-9849-534c7e92360d --- .../gps_l1_ca_dll_pll_tracking_cc.cc | 32 ++++++++++++++++--- .../tracking/gnuradio_blocks/jamfile.jam | 4 +-- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.cc b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.cc index 2b77523ce..bcea2c387 100644 --- a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.cc +++ b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.cc @@ -38,7 +38,9 @@ #include "tracking_discriminators.h" #include "CN_estimators.h" #include "GPS_L1_CA.h" - +#ifdef GNSS_SDR_USE_BOOST_ROUND + #include +#endif #include "control_message_factory.h" #include #include @@ -159,7 +161,13 @@ void gps_l1_ca_dll_pll_tracking_cc::start_tracking(){ T_chip_mod_seconds=1/d_code_freq_hz; T_prn_mod_seconds=T_chip_mod_seconds*GPS_L1_CA_CODE_LENGTH_CHIPS; T_prn_mod_samples=T_prn_mod_seconds*(float)d_fs_in; - d_next_prn_length_samples=round(T_prn_mod_samples); + + + #ifdef GNSS_SDR_USE_BOOST_ROUND + d_next_prn_length_samples=round(T_prn_mod_samples); + #else + d_next_prn_length_samples=std::round(T_prn_mod_samples); + #endif float T_prn_true_seconds = GPS_L1_CA_CODE_LENGTH_CHIPS/GPS_L1_CA_CODE_RATE_HZ; @@ -220,6 +228,7 @@ void gps_l1_ca_dll_pll_tracking_cc::update_local_code() tcode_chips=-rem_code_phase_chips; for (int i=0;idarwin:GNSS_SDR_USE_BOOST_ROUND ; +obj gps_l1_ca_dll_fll_pll_tracking_cc : gps_l1_ca_dll_fll_pll_tracking_cc.cc : darwin:GNSS_SDR_USE_BOOST_ROUND ;