From 3a399629ee757af6fd59acd4dd1ad364613962de Mon Sep 17 00:00:00 2001 From: Javier Arribas Date: Fri, 15 Mar 2019 12:59:32 +0100 Subject: [PATCH 1/2] Bug fix in MATLAB tracking dump reader --- src/utils/matlab/libs/dll_pll_veml_read_tracking_dump.m | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/utils/matlab/libs/dll_pll_veml_read_tracking_dump.m b/src/utils/matlab/libs/dll_pll_veml_read_tracking_dump.m index 698a1b5df..8f5ef94ce 100644 --- a/src/utils/matlab/libs/dll_pll_veml_read_tracking_dump.m +++ b/src/utils/matlab/libs/dll_pll_veml_read_tracking_dump.m @@ -88,7 +88,11 @@ else v7 = fread (f, count, 'float', skip_bytes_each_read - float_size_bytes); bytes_shift = bytes_shift + float_size_bytes; fseek(f,bytes_shift,'bof'); % move to next interleaved float - v8 = fread (f, count, 'long', skip_bytes_each_read - unsigned_long_int_size_bytes); + if unsigned_long_int_size_bytes==8 + v8 = fread (f, count, 'uint64', skip_bytes_each_read - unsigned_long_int_size_bytes); + else + v8 = fread (f, count, 'uint32', skip_bytes_each_read - unsigned_long_int_size_bytes); + end bytes_shift = bytes_shift + unsigned_long_int_size_bytes; fseek(f,bytes_shift,'bof'); % move to next float v9 = fread (f, count, 'float', skip_bytes_each_read - float_size_bytes); From c0d2bc241463a66d1f2aa8f47b9c2ee4ada73c52 Mon Sep 17 00:00:00 2001 From: Javier Arribas Date: Fri, 15 Mar 2019 13:05:20 +0100 Subject: [PATCH 2/2] 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);