mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-10-22 02:57:41 +00:00
updated the FPGA tracking module following the changes made in commit 58c2a43239
(Oct 4, 2021) for the SW tracking (improving the reliability of GPS L1 CA symbol synchronization)
This commit is contained in:
@@ -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<uint32_t>(GPS_CA_BIT_TRANSITION_SYMBOLS_LENGTH_SYMBOLS);
|
||||
d_secondary_code_string = GPS_CA_BIT_TRANSITION_SYMBOLS_STR;
|
||||
d_secondary_code_length = static_cast<uint32_t>(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<int32_t>(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<int64_t>(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;
|
||||
}
|
||||
|
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user