diff --git a/src/algorithms/tracking/adapters/galileo_e5a_dll_pll_tracking.cc b/src/algorithms/tracking/adapters/galileo_e5a_dll_pll_tracking.cc index 7efce405a..e4de78c22 100644 --- a/src/algorithms/tracking/adapters/galileo_e5a_dll_pll_tracking.cc +++ b/src/algorithms/tracking/adapters/galileo_e5a_dll_pll_tracking.cc @@ -49,26 +49,36 @@ GalileoE5aDllPllTracking::GalileoE5aDllPllTracking( ConfigurationInterface* configuration, std::string role, unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams) { + dllpllconf_t trk_param; DLOG(INFO) << "role " << role; //################# CONFIGURATION PARAMETERS ######################## std::string default_item_type = "gr_complex"; std::string item_type = configuration->property(role + ".item_type", default_item_type); int fs_in_deprecated = configuration->property("GNSS-SDR.internal_fs_hz", 12000000); int fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); + trk_param.fs_in = fs_in; bool dump = configuration->property(role + ".dump", false); + trk_param.dump = dump; float pll_bw_hz = configuration->property(role + ".pll_bw_hz", 20.0); if (FLAGS_pll_bw_hz != 0.0) pll_bw_hz = static_cast(FLAGS_pll_bw_hz); + trk_param.pll_bw_hz = pll_bw_hz; float dll_bw_hz = configuration->property(role + ".dll_bw_hz", 20.0); if (FLAGS_dll_bw_hz != 0.0) dll_bw_hz = static_cast(FLAGS_dll_bw_hz); + trk_param.dll_bw_hz = dll_bw_hz; float pll_bw_narrow_hz = configuration->property(role + ".pll_bw_narrow_hz", 5.0); + trk_param.pll_bw_narrow_hz = pll_bw_narrow_hz; float dll_bw_narrow_hz = configuration->property(role + ".dll_bw_narrow_hz", 2.0); - int ti_ms = configuration->property(role + ".ti_ms", 3); + trk_param.dll_bw_narrow_hz = dll_bw_narrow_hz; float early_late_space_chips = configuration->property(role + ".early_late_space_chips", 0.5); + trk_param.early_late_space_chips = early_late_space_chips; std::string default_dump_filename = "./track_ch"; std::string dump_filename = configuration->property(role + ".dump_filename", default_dump_filename); + trk_param.dump_filename = dump_filename; int vector_length = std::round(fs_in / (Galileo_E5a_CODE_CHIP_RATE_HZ / Galileo_E5a_CODE_LENGTH_CHIPS)); + trk_param.vector_length = vector_length; int extend_correlation_symbols = configuration->property(role + ".extend_correlation_symbols", 1); float early_late_space_narrow_chips = configuration->property(role + ".early_late_space_narrow_chips", 0.15); + trk_param.early_late_space_narrow_chips = early_late_space_narrow_chips; bool track_pilot = configuration->property(role + ".track_pilot", false); if (extend_correlation_symbols < 1) { @@ -84,22 +94,18 @@ GalileoE5aDllPllTracking::GalileoE5aDllPllTracking( { std::cout << TEXT_RED << "WARNING: Galileo E5a. PLL or DLL narrow tracking bandwidth is higher than wide tracking one" << TEXT_RESET << std::endl; } + trk_param.extend_correlation_symbols = extend_correlation_symbols; + trk_param.track_pilot = track_pilot; + trk_param.very_early_late_space_chips = 0.0; + trk_param.very_early_late_space_narrow_chips = 0.0; + trk_param.system = 'E'; + char sig_[3] = "5X"; + std::memcpy(trk_param.signal, sig_, 3); //################# MAKE TRACKING GNURadio object ################### if (item_type.compare("gr_complex") == 0) { item_size_ = sizeof(gr_complex); - char sig_[3] = "5X"; - item_size_ = sizeof(gr_complex); - tracking_ = dll_pll_veml_make_tracking( - fs_in, vector_length, dump, dump_filename, - pll_bw_hz, dll_bw_hz, - pll_bw_narrow_hz, dll_bw_narrow_hz, - early_late_space_chips, - early_late_space_chips, - early_late_space_narrow_chips, - early_late_space_narrow_chips, - extend_correlation_symbols, - track_pilot, 'E', sig_); + tracking_ = dll_pll_veml_make_tracking(trk_param); } else { diff --git a/src/algorithms/tracking/adapters/gps_l2_m_dll_pll_tracking.cc b/src/algorithms/tracking/adapters/gps_l2_m_dll_pll_tracking.cc index bcb9fe3fc..7ed9444a6 100644 --- a/src/algorithms/tracking/adapters/gps_l2_m_dll_pll_tracking.cc +++ b/src/algorithms/tracking/adapters/gps_l2_m_dll_pll_tracking.cc @@ -96,14 +96,7 @@ GpsL2MDllPllTracking::GpsL2MDllPllTracking( if (item_type.compare("gr_complex") == 0) { item_size_ = sizeof(gr_complex); - tracking_ = dll_pll_veml_make_tracking( - fs_in, vector_length, dump, dump_filename, - pll_bw_hz, dll_bw_hz, pll_bw_hz, dll_bw_hz, - early_late_space_chips, - early_late_space_chips, - early_late_space_chips, - early_late_space_chips, - 1, false, 'G', sig_); + tracking_ = dll_pll_veml_make_tracking(trk_param); } else { diff --git a/src/algorithms/tracking/adapters/gps_l5i_dll_pll_tracking.cc b/src/algorithms/tracking/adapters/gps_l5i_dll_pll_tracking.cc index 987a4fa84..38ab6f55e 100644 --- a/src/algorithms/tracking/adapters/gps_l5i_dll_pll_tracking.cc +++ b/src/algorithms/tracking/adapters/gps_l5i_dll_pll_tracking.cc @@ -105,16 +105,7 @@ GpsL5iDllPllTracking::GpsL5iDllPllTracking( if (item_type.compare("gr_complex") == 0) { item_size_ = sizeof(gr_complex); - tracking_ = dll_pll_veml_make_tracking( - fs_in, vector_length, dump, dump_filename, - pll_bw_hz, dll_bw_hz, - pll_bw_narrow_hz, dll_bw_narrow_hz, - early_late_space_chips, - early_late_space_chips, - early_late_space_narrow_chips, - early_late_space_narrow_chips, - extend_correlation_symbols, - track_pilot, 'G', sig_); + tracking_ = dll_pll_veml_make_tracking(trk_param); } else {