From c468b64ac0e65416de793eebd2dae4fa49308817 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sat, 5 Feb 2022 15:03:25 +0100 Subject: [PATCH] Fix E5b processing. E5a and E5b have data in the Inphase component --- .../galileo_telemetry_decoder_gs.cc | 26 ++----------------- .../gnuradio_blocks/dll_pll_veml_tracking.cc | 4 +-- .../dll_pll_veml_tracking_fpga.cc | 3 +-- 3 files changed, 5 insertions(+), 28 deletions(-) diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_telemetry_decoder_gs.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_telemetry_decoder_gs.cc index 75e20684e..d06fefae6 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_telemetry_decoder_gs.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_telemetry_decoder_gs.cc @@ -662,30 +662,8 @@ int galileo_telemetry_decoder_gs::general_work(int noutput_items __attribute__(( d_band = current_symbol.Signal[0]; // add new symbol to the symbol queue - switch (d_frame_type) - { - case 1: // INAV - { - d_symbol_history.push_back(current_symbol.Prompt_I); - break; - } - case 2: // FNAV - { - d_symbol_history.push_back(current_symbol.Prompt_Q); - break; - } - case 3: // CNAV - { - d_symbol_history.push_back(current_symbol.Prompt_I); - break; - } - default: - { - LOG(WARNING) << "Frame type " << d_frame_type << " is not defined"; - d_symbol_history.push_back(current_symbol.Prompt_I); - break; - } - } + d_symbol_history.push_back(current_symbol.Prompt_I); + d_sample_counter++; // count for the processed symbols // Time Tags from signal source (optional feature) diff --git a/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking.cc b/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking.cc index c1b6a69d5..81f56c3fc 100644 --- a/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking.cc +++ b/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking.cc @@ -305,6 +305,7 @@ dll_pll_veml_tracking::dll_pll_veml_tracking(const Dll_Pll_Conf &conf_) // remove data secondary code d_data_secondary_code_length = static_cast(GALILEO_E5A_I_SECONDARY_CODE_LENGTH); d_data_secondary_code_string = GALILEO_E5A_I_SECONDARY_CODE; + d_interchange_iq = true; } else { @@ -312,7 +313,6 @@ dll_pll_veml_tracking::dll_pll_veml_tracking(const Dll_Pll_Conf &conf_) d_secondary_code_length = static_cast(GALILEO_E5A_I_SECONDARY_CODE_LENGTH); d_secondary_code_string = GALILEO_E5A_I_SECONDARY_CODE; d_signal_pretty_name = d_signal_pretty_name + "I"; - d_interchange_iq = true; } } else if (d_signal_type == "7X") @@ -336,6 +336,7 @@ dll_pll_veml_tracking::dll_pll_veml_tracking(const Dll_Pll_Conf &conf_) // remove data secondary code d_data_secondary_code_length = static_cast(GALILEO_E5B_I_SECONDARY_CODE_LENGTH); d_data_secondary_code_string = GALILEO_E5B_I_SECONDARY_CODE; + d_interchange_iq = true; } else { @@ -343,7 +344,6 @@ dll_pll_veml_tracking::dll_pll_veml_tracking(const Dll_Pll_Conf &conf_) d_secondary_code_length = static_cast(GALILEO_E5B_I_SECONDARY_CODE_LENGTH); d_secondary_code_string = GALILEO_E5B_I_SECONDARY_CODE; d_signal_pretty_name = d_signal_pretty_name + "I"; - d_interchange_iq = true; } } else if (d_signal_type == "E6") diff --git a/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking_fpga.cc b/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking_fpga.cc index 63f409c23..5dfe72fe4 100644 --- a/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking_fpga.cc +++ b/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking_fpga.cc @@ -303,7 +303,7 @@ dll_pll_veml_tracking_fpga::dll_pll_veml_tracking_fpga(const Dll_Pll_Conf_Fpga & // remove data secondary code d_data_secondary_code_length = static_cast(GALILEO_E5A_I_SECONDARY_CODE_LENGTH); d_data_secondary_code_string = GALILEO_E5A_I_SECONDARY_CODE; - + d_interchange_iq = true; // the pilot secondary code depends on PRN and it is initialized later } else @@ -312,7 +312,6 @@ dll_pll_veml_tracking_fpga::dll_pll_veml_tracking_fpga(const Dll_Pll_Conf_Fpga & d_secondary_code_length = static_cast(GALILEO_E5A_I_SECONDARY_CODE_LENGTH); d_secondary_code_string = GALILEO_E5A_I_SECONDARY_CODE; d_signal_pretty_name = d_signal_pretty_name + "I"; - d_interchange_iq = true; } } else