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 9dcade032..3f54943c4 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 @@ -132,8 +132,8 @@ dll_pll_veml_tracking_fpga::dll_pll_veml_tracking_fpga(const Dll_Pll_Conf_Fpga & d_trk_parameters.y_intercept = 1.0; // symbol integration: 20 trk symbols (20 ms) = 1 tlm bit // set the bit transition pattern in secondary code to obtain bit synchronization - d_secondary_code_length = static_cast(GPS_CA_BIT_TRANSITION_SYMBOLS_LENGTH_SYMBOLS); - d_secondary_code_string = GPS_CA_BIT_TRANSITION_SYMBOLS_STR; + d_secondary_code_length = static_cast(GPS_CA_PREAMBLE_LENGTH_SYMBOLS); + d_secondary_code_string = GPS_CA_PREAMBLE_SYMBOLS_STR; d_symbols_per_bit = GPS_CA_TELEMETRY_SYMBOLS_PER_BIT; } else if (d_signal_type == "2S") @@ -466,6 +466,7 @@ dll_pll_veml_tracking_fpga::dll_pll_veml_tracking_fpga(const Dll_Pll_Conf_Fpga & d_stop_tracking = false; d_acc_carrier_phase_initialized = false; + d_Flag_PLL_180_deg_phase_locked = false; } @@ -585,6 +586,14 @@ bool dll_pll_veml_tracking_fpga::acquire_secondary() if (abs(corr_value) == static_cast(d_secondary_code_length)) { + if (corr_value < 0) + { + d_Flag_PLL_180_deg_phase_locked = true; + } + else + { + d_Flag_PLL_180_deg_phase_locked = false; + } return true; } @@ -2002,6 +2011,7 @@ int dll_pll_veml_tracking_fpga::general_work(int noutput_items __attribute__((un current_synchro_data.fs = static_cast(d_trk_parameters.fs_in); current_synchro_data.Tracking_sample_counter = d_sample_counter_next; // d_sample_counter; current_synchro_data.Flag_valid_symbol_output = !loss_of_lock; + current_synchro_data.Flag_PLL_180_deg_phase_locked = d_Flag_PLL_180_deg_phase_locked; *out[0] = current_synchro_data; return 1; } diff --git a/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking_fpga.h b/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking_fpga.h index d00385fb9..fae0911d6 100644 --- a/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking_fpga.h +++ b/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking_fpga.h @@ -240,6 +240,7 @@ private: bool d_current_extended_correlation_in_fpga; bool d_stop_tracking; bool d_sc_demodulate_enabled; + bool d_Flag_PLL_180_deg_phase_locked; };