mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2026-04-25 00:01:25 +00:00
TTFF reduction in GPS L1 and Galileo E1
This commit is contained in:
@@ -75,6 +75,7 @@ dll_pll_veml_tracking_sptr dll_pll_veml_make_tracking(const Dll_Pll_Conf &conf_)
|
||||
dll_pll_veml_tracking::dll_pll_veml_tracking(const Dll_Pll_Conf &conf_) : gr::block("dll_pll_veml_tracking", gr::io_signature::make(1, 1, sizeof(gr_complex)),
|
||||
gr::io_signature::make(1, 1, sizeof(Gnss_Synchro)))
|
||||
{
|
||||
//debug_action1 = false;
|
||||
// prevent telemetry symbols accumulation in output buffers
|
||||
this->set_max_noutput_items(1);
|
||||
d_trk_parameters = conf_;
|
||||
@@ -1981,6 +1982,14 @@ int dll_pll_veml_tracking::general_work(int noutput_items __attribute__((unused)
|
||||
}
|
||||
}
|
||||
}
|
||||
//*** debug only!!
|
||||
//force tracking loss after 120 seconds
|
||||
//if (debug_action1 == false and (static_cast<double>(d_sample_counter) / d_trk_parameters.fs_in >= 120))
|
||||
// {
|
||||
// d_carrier_lock_fail_counter = 200000; // force loss-of-lock condition
|
||||
// debug_action1 = true;
|
||||
// }
|
||||
//*************
|
||||
consume_each(d_current_prn_length_samples);
|
||||
d_sample_counter += static_cast<uint64_t>(d_current_prn_length_samples);
|
||||
if (current_synchro_data.Flag_valid_symbol_output || loss_of_lock)
|
||||
|
||||
@@ -198,6 +198,8 @@ private:
|
||||
bool d_dump_mat;
|
||||
bool d_acc_carrier_phase_initialized;
|
||||
bool d_enable_extended_integration;
|
||||
//debug only
|
||||
//bool debug_action1;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ Dll_Pll_Conf::Dll_Pll_Conf()
|
||||
enable_fll_pull_in = false;
|
||||
enable_fll_steady_state = false;
|
||||
pull_in_time_s = 10;
|
||||
bit_synchronization_time_limit_s = pull_in_time_s + 60;
|
||||
bit_synchronization_time_limit_s = pull_in_time_s + 10;
|
||||
fll_filter_order = 1;
|
||||
pll_filter_order = 3;
|
||||
dll_filter_order = 2;
|
||||
@@ -138,7 +138,7 @@ void Dll_Pll_Conf::SetFromConfiguration(const ConfigurationInterface *configurat
|
||||
enable_fll_steady_state = configuration->property(role + ".enable_fll_steady_state", enable_fll_steady_state);
|
||||
fll_bw_hz = configuration->property(role + ".fll_bw_hz", fll_bw_hz);
|
||||
pull_in_time_s = configuration->property(role + ".pull_in_time_s", pull_in_time_s);
|
||||
bit_synchronization_time_limit_s = pull_in_time_s + 60;
|
||||
bit_synchronization_time_limit_s = configuration->property(role + ".bit_synchronization_time_limit_s", bit_synchronization_time_limit_s);
|
||||
early_late_space_chips = configuration->property(role + ".early_late_space_chips", early_late_space_chips);
|
||||
early_late_space_narrow_chips = configuration->property(role + ".early_late_space_narrow_chips", early_late_space_narrow_chips);
|
||||
very_early_late_space_chips = configuration->property(role + ".very_early_late_space_chips", very_early_late_space_chips);
|
||||
|
||||
Reference in New Issue
Block a user