From c0d2bc241463a66d1f2aa8f47b9c2ee4ada73c52 Mon Sep 17 00:00:00 2001 From: Javier Arribas Date: Fri, 15 Mar 2019 13:05:20 +0100 Subject: [PATCH] Critical bug fix affecting Galileo E1 telemetry decoder if PLL is locked at 180 degrees --- .../gnuradio_blocks/galileo_telemetry_decoder_gs.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 c311342f1..f2a938114 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 @@ -522,6 +522,7 @@ int galileo_telemetry_decoder_gs::general_work(int noutput_items __attribute__(( // try to decode frame DLOG(INFO) << "Starting page decoder for Galileo satellite " << this->d_satellite; d_preamble_index = d_sample_counter; // record the preamble sample stamp + d_CRC_error_counter = 0; d_stat = 2; } else @@ -555,7 +556,7 @@ int galileo_telemetry_decoder_gs::general_work(int noutput_items __attribute__(( { for (uint32_t i = 0; i < d_frame_length_symbols; i++) { - d_page_part_symbols[i] = d_symbol_history.at(i + d_samples_per_preamble); // because last symbol of the preamble is just received now! + d_page_part_symbols[i] = -d_symbol_history.at(i + d_samples_per_preamble); // because last symbol of the preamble is just received now! } } decode_INAV_word(d_page_part_symbols, d_frame_length_symbols);