diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/glonass_l1_ca_telemetry_decoder_gs.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/glonass_l1_ca_telemetry_decoder_gs.cc index 3f6fdabcb..e31ae740a 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/glonass_l1_ca_telemetry_decoder_gs.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/glonass_l1_ca_telemetry_decoder_gs.cc @@ -100,13 +100,11 @@ glonass_l1_ca_telemetry_decoder_gs::glonass_l1_ca_telemetry_decoder_gs( } } - d_symbol_history.set_capacity(GLONASS_GNAV_PREAMBLE_LENGTH_SYMBOLS); + d_symbol_history.set_capacity(GLONASS_GNAV_STRING_SYMBOLS); d_sample_counter = 0ULL; d_stat = 0; d_preamble_index = 0ULL; - d_flag_frame_sync = false; - d_flag_parity = false; d_TOW_at_current_symbol = 0; Flag_valid_word = false; @@ -289,13 +287,12 @@ int glonass_l1_ca_telemetry_decoder_gs::general_work(int noutput_items __attribu d_flag_preamble = false; - if (static_cast(d_symbol_history.size()) == d_symbols_per_preamble) + if (static_cast(d_symbol_history.size()) >= d_symbols_per_preamble) { // ******* preamble correlation ******** - int i = 0; - for (const auto &iter : d_symbol_history) + for (int32_t i = 0; i < d_symbols_per_preamble; i++) { - if (iter.Prompt_I < 0.0) // symbols clipping + if (d_symbol_history[i].Prompt_I < 0.0) // symbols clipping { corr_value -= d_preambles_symbols[i]; } @@ -303,7 +300,6 @@ int glonass_l1_ca_telemetry_decoder_gs::general_work(int noutput_items __attribu { corr_value += d_preambles_symbols[i]; } - i++; } }