mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-11-28 12:55:16 +00:00
Make doppler step const in acquisition
This commit is contained in:
@@ -51,11 +51,19 @@ Acq_Conf get_acq_conf(const ConfigurationInterface* configuration, const std::st
|
||||
{
|
||||
acq_parameters.doppler_max = FLAGS_doppler_max;
|
||||
}
|
||||
if (FLAGS_doppler_step != 0)
|
||||
{
|
||||
acq_parameters.doppler_step = static_cast<float>(FLAGS_doppler_step);
|
||||
}
|
||||
#else
|
||||
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||
{
|
||||
acq_parameters.doppler_max = absl::GetFlag(FLAGS_doppler_max);
|
||||
}
|
||||
if (absl::GetFlag(FLAGS_doppler_step) != 0)
|
||||
{
|
||||
acq_parameters.doppler_step = static_cast<float>(absl::GetFlag(FLAGS_doppler_step));
|
||||
}
|
||||
#endif
|
||||
|
||||
return acq_parameters;
|
||||
@@ -109,12 +117,6 @@ void BasePcpsAcquisition::set_threshold(float threshold)
|
||||
}
|
||||
|
||||
|
||||
void BasePcpsAcquisition::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
acquisition_->set_doppler_step(doppler_step);
|
||||
}
|
||||
|
||||
|
||||
void BasePcpsAcquisition::set_doppler_center(int doppler_center)
|
||||
{
|
||||
acquisition_->set_doppler_center(doppler_center);
|
||||
|
||||
@@ -98,11 +98,6 @@ public:
|
||||
*/
|
||||
void set_threshold(float threshold) override;
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
*/
|
||||
void set_doppler_step(unsigned int doppler_step) override;
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler center for the grid search
|
||||
*/
|
||||
|
||||
@@ -83,11 +83,19 @@ BasePcpsAcquisitionFpga::BasePcpsAcquisitionFpga(
|
||||
{
|
||||
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
||||
}
|
||||
if (FLAGS_doppler_step != 0)
|
||||
{
|
||||
acq_parameters_.doppler_step = static_cast<float>(FLAGS_doppler_step);
|
||||
}
|
||||
#else
|
||||
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||
{
|
||||
acq_parameters_.doppler_max = absl::GetFlag(FLAGS_doppler_max);
|
||||
}
|
||||
if (absl::GetFlag(FLAGS_doppler_step) != 0)
|
||||
{
|
||||
acq_parameters_.doppler_step = static_cast<float>(absl::GetFlag(FLAGS_doppler_step));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -158,15 +166,6 @@ void BasePcpsAcquisitionFpga::set_threshold(float threshold)
|
||||
}
|
||||
|
||||
|
||||
void BasePcpsAcquisitionFpga::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
if (acquisition_fpga_)
|
||||
{
|
||||
acquisition_fpga_->set_doppler_step(doppler_step);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void BasePcpsAcquisitionFpga::set_doppler_center(int doppler_center)
|
||||
{
|
||||
if (acquisition_fpga_)
|
||||
|
||||
@@ -71,7 +71,6 @@ public:
|
||||
void set_channel(unsigned int channel) override;
|
||||
void set_channel_fsm(std::weak_ptr<ChannelFsm> channel_fsm) override;
|
||||
void set_threshold(float threshold) override;
|
||||
void set_doppler_step(unsigned int doppler_step) override;
|
||||
void set_doppler_center(int doppler_center) override;
|
||||
void set_state(int state) override;
|
||||
void reset() override;
|
||||
|
||||
@@ -49,7 +49,7 @@ GalileoE1Pcps8msAmbiguousAcquisition::GalileoE1Pcps8msAmbiguousAcquisition(
|
||||
threshold_(0.0),
|
||||
channel_(0),
|
||||
doppler_max_(configuration_->property(role + ".doppler_max", 5000)),
|
||||
doppler_step_(0),
|
||||
doppler_step_(configuration_->property(role + ".doppler_step", 500)),
|
||||
sampled_ms_(configuration_->property(role + ".coherent_integration_time_ms", 4)),
|
||||
dump_(configuration_->property(role + ".dump", false))
|
||||
{
|
||||
@@ -65,11 +65,19 @@ GalileoE1Pcps8msAmbiguousAcquisition::GalileoE1Pcps8msAmbiguousAcquisition(
|
||||
{
|
||||
doppler_max_ = FLAGS_doppler_max;
|
||||
}
|
||||
if (FLAGS_doppler_step != 0)
|
||||
{
|
||||
doppler_step_ = static_cast<uint32_t>(FLAGS_doppler_step);
|
||||
}
|
||||
#else
|
||||
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||
{
|
||||
doppler_max_ = absl::GetFlag(FLAGS_doppler_max);
|
||||
}
|
||||
if (absl::GetFlag(FLAGS_doppler_step) != 0)
|
||||
{
|
||||
doppler_step_ = static_cast<uint32_t>(absl::GetFlag(FLAGS_doppler_step));
|
||||
}
|
||||
#endif
|
||||
|
||||
if (sampled_ms_ % 4 != 0)
|
||||
@@ -97,7 +105,7 @@ GalileoE1Pcps8msAmbiguousAcquisition::GalileoE1Pcps8msAmbiguousAcquisition(
|
||||
{
|
||||
unsigned int max_dwells = configuration_->property(role + ".max_dwells", 1);
|
||||
acquisition_cc_ = galileo_pcps_8ms_make_acquisition_cc(sampled_ms_, max_dwells,
|
||||
doppler_max_, fs_in_, samples_per_ms, code_length_,
|
||||
doppler_max_, doppler_step_, fs_in_, samples_per_ms, code_length_,
|
||||
dump_, dump_filename_, enable_monitor_output);
|
||||
stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_);
|
||||
DLOG(INFO) << "stream_to_vector("
|
||||
@@ -157,16 +165,6 @@ void GalileoE1Pcps8msAmbiguousAcquisition::set_threshold(float threshold)
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1Pcps8msAmbiguousAcquisition::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
doppler_step_ = doppler_step;
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1Pcps8msAmbiguousAcquisition::set_gnss_synchro(
|
||||
Gnss_Synchro* gnss_synchro)
|
||||
{
|
||||
|
||||
@@ -102,11 +102,6 @@ public:
|
||||
*/
|
||||
void set_threshold(float threshold) override;
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
*/
|
||||
void set_doppler_step(unsigned int doppler_step) override;
|
||||
|
||||
/*!
|
||||
* \brief Initializes acquisition algorithm.
|
||||
*/
|
||||
|
||||
@@ -40,7 +40,7 @@ GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition
|
||||
threshold_(0.0),
|
||||
channel_(0),
|
||||
doppler_max_(configuration_->property(role + ".doppler_max", 5000)),
|
||||
doppler_step_(0),
|
||||
doppler_step_(configuration_->property(role + ".doppler_step", 500)),
|
||||
sampled_ms_(configuration_->property(role + ".coherent_integration_time_ms", 4)),
|
||||
dump_(configuration_->property(role + ".dump", false))
|
||||
{
|
||||
@@ -56,11 +56,19 @@ GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition
|
||||
{
|
||||
doppler_max_ = FLAGS_doppler_max;
|
||||
}
|
||||
if (FLAGS_doppler_step != 0)
|
||||
{
|
||||
doppler_step_ = static_cast<uint32_t>(FLAGS_doppler_step);
|
||||
}
|
||||
#else
|
||||
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||
{
|
||||
doppler_max_ = absl::GetFlag(FLAGS_doppler_max);
|
||||
}
|
||||
if (absl::GetFlag(FLAGS_doppler_step) != 0)
|
||||
{
|
||||
doppler_step_ = static_cast<uint32_t>(absl::GetFlag(FLAGS_doppler_step));
|
||||
}
|
||||
#endif
|
||||
|
||||
if (sampled_ms_ % 4 != 0)
|
||||
@@ -89,7 +97,7 @@ GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition
|
||||
{
|
||||
unsigned int max_dwells = configuration_->property(role + ".max_dwells", 1);
|
||||
acquisition_cc_ = pcps_cccwsr_make_acquisition_cc(sampled_ms_, max_dwells,
|
||||
doppler_max_, fs_in_, samples_per_ms, code_length_,
|
||||
doppler_max_, doppler_step_, fs_in_, samples_per_ms, code_length_,
|
||||
dump_, dump_filename_, enable_monitor_output);
|
||||
stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_);
|
||||
DLOG(INFO) << "stream_to_vector("
|
||||
@@ -135,16 +143,6 @@ void GalileoE1PcpsCccwsrAmbiguousAcquisition::set_threshold(float threshold)
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1PcpsCccwsrAmbiguousAcquisition::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
doppler_step_ = doppler_step;
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1PcpsCccwsrAmbiguousAcquisition::set_gnss_synchro(
|
||||
Gnss_Synchro* gnss_synchro)
|
||||
{
|
||||
|
||||
@@ -103,11 +103,6 @@ public:
|
||||
*/
|
||||
void set_threshold(float threshold) override;
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
*/
|
||||
void set_doppler_step(unsigned int doppler_step) override;
|
||||
|
||||
/*!
|
||||
* \brief Initializes acquisition algorithm.
|
||||
*/
|
||||
|
||||
@@ -49,7 +49,7 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::GalileoE1PcpsQuickSyncAmbiguousAcqui
|
||||
threshold_(0.0),
|
||||
channel_(0),
|
||||
doppler_max_(configuration_->property(role + ".doppler_max", 5000)),
|
||||
doppler_step_(0),
|
||||
doppler_step_(configuration_->property(role + ".doppler_step", 500)),
|
||||
sampled_ms_(configuration_->property(role + ".coherent_integration_time_ms", 8)),
|
||||
bit_transition_flag_(configuration_->property(role + ".bit_transition_flag", false)),
|
||||
dump_(configuration_->property(role + ".dump", false))
|
||||
@@ -66,11 +66,19 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::GalileoE1PcpsQuickSyncAmbiguousAcqui
|
||||
{
|
||||
doppler_max_ = FLAGS_doppler_max;
|
||||
}
|
||||
if (FLAGS_doppler_step != 0)
|
||||
{
|
||||
doppler_step_ = static_cast<uint32_t>(FLAGS_doppler_step);
|
||||
}
|
||||
#else
|
||||
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||
{
|
||||
doppler_max_ = absl::GetFlag(FLAGS_doppler_max);
|
||||
}
|
||||
if (absl::GetFlag(FLAGS_doppler_step) != 0)
|
||||
{
|
||||
doppler_step_ = static_cast<uint32_t>(absl::GetFlag(FLAGS_doppler_step));
|
||||
}
|
||||
#endif
|
||||
|
||||
/* --- Find number of samples per spreading code (4 ms) -----------------*/
|
||||
@@ -128,7 +136,7 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::GalileoE1PcpsQuickSyncAmbiguousAcqui
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_ = pcps_quicksync_make_acquisition_cc(folding_factor_,
|
||||
sampled_ms_, max_dwells, doppler_max_, fs_in_,
|
||||
sampled_ms_, max_dwells, doppler_max_, doppler_step_, fs_in_,
|
||||
samples_per_ms, code_length_, bit_transition_flag_,
|
||||
dump_, dump_filename_, enable_monitor_output);
|
||||
stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_,
|
||||
@@ -190,15 +198,6 @@ void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_threshold(float threshold)
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
doppler_step_ = doppler_step;
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
||||
}
|
||||
}
|
||||
|
||||
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_gnss_synchro(
|
||||
Gnss_Synchro* gnss_synchro)
|
||||
{
|
||||
|
||||
@@ -103,11 +103,6 @@ public:
|
||||
*/
|
||||
void set_threshold(float threshold) override;
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
*/
|
||||
void set_doppler_step(unsigned int doppler_step) override;
|
||||
|
||||
/*!
|
||||
* \brief Initializes acquisition algorithm.
|
||||
*/
|
||||
|
||||
@@ -49,7 +49,7 @@ GalileoE1PcpsTongAmbiguousAcquisition::GalileoE1PcpsTongAmbiguousAcquisition(
|
||||
threshold_(0.0),
|
||||
channel_(0),
|
||||
doppler_max_(configuration_->property(role + ".doppler_max", 5000)),
|
||||
doppler_step_(0),
|
||||
doppler_step_(configuration_->property(role + ".doppler_step", 500)),
|
||||
sampled_ms_(configuration_->property(role + ".coherent_integration_time_ms", 4)),
|
||||
tong_init_val_(configuration->property(role + ".tong_init_val", 1)),
|
||||
tong_max_val_(configuration->property(role + ".tong_max_val", 2)),
|
||||
@@ -79,11 +79,19 @@ GalileoE1PcpsTongAmbiguousAcquisition::GalileoE1PcpsTongAmbiguousAcquisition(
|
||||
{
|
||||
doppler_max_ = FLAGS_doppler_max;
|
||||
}
|
||||
if (FLAGS_doppler_step != 0)
|
||||
{
|
||||
doppler_step_ = static_cast<uint32_t>(FLAGS_doppler_step);
|
||||
}
|
||||
#else
|
||||
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||
{
|
||||
doppler_max_ = absl::GetFlag(FLAGS_doppler_max);
|
||||
}
|
||||
if (absl::GetFlag(FLAGS_doppler_step) != 0)
|
||||
{
|
||||
doppler_step_ = static_cast<uint32_t>(absl::GetFlag(FLAGS_doppler_step));
|
||||
}
|
||||
#endif
|
||||
|
||||
bool enable_monitor_output = configuration_->property("AcquisitionMonitor.enable_monitor", false);
|
||||
@@ -102,7 +110,7 @@ GalileoE1PcpsTongAmbiguousAcquisition::GalileoE1PcpsTongAmbiguousAcquisition(
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_ = pcps_tong_make_acquisition_cc(sampled_ms_, doppler_max_,
|
||||
fs_in_, samples_per_ms, code_length_, tong_init_val_,
|
||||
doppler_step_, fs_in_, samples_per_ms, code_length_, tong_init_val_,
|
||||
tong_max_val_, tong_max_dwells_, dump_, dump_filename_, enable_monitor_output);
|
||||
|
||||
stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_);
|
||||
@@ -163,16 +171,6 @@ void GalileoE1PcpsTongAmbiguousAcquisition::set_threshold(float threshold)
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1PcpsTongAmbiguousAcquisition::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
doppler_step_ = doppler_step;
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1PcpsTongAmbiguousAcquisition::set_gnss_synchro(
|
||||
Gnss_Synchro* gnss_synchro)
|
||||
{
|
||||
|
||||
@@ -103,11 +103,6 @@ public:
|
||||
*/
|
||||
void set_threshold(float threshold) override;
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
*/
|
||||
void set_doppler_step(unsigned int doppler_step) override;
|
||||
|
||||
/*!
|
||||
* \brief Initializes acquisition algorithm.
|
||||
*/
|
||||
|
||||
@@ -57,7 +57,7 @@ GalileoE5aNoncoherentIQAcquisitionCaf::GalileoE5aNoncoherentIQAcquisitionCaf(
|
||||
CAF_window_hz_(configuration_->property(role + ".CAF_window_hz", 0)),
|
||||
channel_(0),
|
||||
doppler_max_(configuration_->property(role + ".doppler_max", 5000)),
|
||||
doppler_step_(0),
|
||||
doppler_step_(configuration_->property(role + ".doppler_step", 500)),
|
||||
sampled_ms_(configuration_->property(role + ".coherent_integration_time_ms", 1)),
|
||||
bit_transition_flag_(configuration_->property(role + ".bit_transition_flag", false)),
|
||||
dump_(configuration_->property(role + ".dump", false))
|
||||
@@ -74,11 +74,19 @@ GalileoE5aNoncoherentIQAcquisitionCaf::GalileoE5aNoncoherentIQAcquisitionCaf(
|
||||
{
|
||||
doppler_max_ = FLAGS_doppler_max;
|
||||
}
|
||||
if (FLAGS_doppler_step != 0)
|
||||
{
|
||||
doppler_step_ = static_cast<uint32_t>(FLAGS_doppler_step);
|
||||
}
|
||||
#else
|
||||
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||
{
|
||||
doppler_max_ = absl::GetFlag(FLAGS_doppler_max);
|
||||
}
|
||||
if (absl::GetFlag(FLAGS_doppler_step) != 0)
|
||||
{
|
||||
doppler_step_ = static_cast<uint32_t>(absl::GetFlag(FLAGS_doppler_step));
|
||||
}
|
||||
#endif
|
||||
|
||||
DLOG(INFO) << "role " << role_;
|
||||
@@ -115,7 +123,7 @@ GalileoE5aNoncoherentIQAcquisitionCaf::GalileoE5aNoncoherentIQAcquisitionCaf(
|
||||
{
|
||||
unsigned int max_dwells = configuration_->property(role + ".max_dwells", 1);
|
||||
acquisition_cc_ = galileo_e5a_noncoherentIQ_make_acquisition_caf_cc(sampled_ms_, max_dwells,
|
||||
doppler_max_, fs_in_, code_length_, code_length_, bit_transition_flag_,
|
||||
doppler_max_, doppler_step_, fs_in_, code_length_, code_length_, bit_transition_flag_,
|
||||
dump_, dump_filename_, both_signal_components, CAF_window_hz_, Zero_padding, enable_monitor_output);
|
||||
}
|
||||
else
|
||||
@@ -170,16 +178,6 @@ void GalileoE5aNoncoherentIQAcquisitionCaf::set_threshold(float threshold)
|
||||
}
|
||||
|
||||
|
||||
void GalileoE5aNoncoherentIQAcquisitionCaf::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
doppler_step_ = doppler_step;
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void GalileoE5aNoncoherentIQAcquisitionCaf::set_gnss_synchro(
|
||||
Gnss_Synchro* gnss_synchro)
|
||||
{
|
||||
|
||||
@@ -103,11 +103,6 @@ public:
|
||||
*/
|
||||
void set_threshold(float threshold) override;
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
*/
|
||||
void set_doppler_step(unsigned int doppler_step) override;
|
||||
|
||||
/*!
|
||||
* \brief Initializes acquisition algorithm.
|
||||
*/
|
||||
|
||||
@@ -42,7 +42,7 @@ GpsL1CaPcpsAcquisitionFineDoppler::GpsL1CaPcpsAcquisitionFineDoppler(
|
||||
threshold_(0.0),
|
||||
doppler_max_(configuration->property(role + ".doppler_max", 5000)),
|
||||
channel_(0),
|
||||
doppler_step_(0),
|
||||
doppler_step_(configuration->property(role + ".doppler_step", 500)),
|
||||
sampled_ms_(configuration->property(role + ".coherent_integration_time_ms", 1)),
|
||||
dump_(configuration->property(role + ".dump", false))
|
||||
{
|
||||
@@ -63,13 +63,22 @@ GpsL1CaPcpsAcquisitionFineDoppler::GpsL1CaPcpsAcquisitionFineDoppler(
|
||||
{
|
||||
doppler_max_ = FLAGS_doppler_max;
|
||||
}
|
||||
if (FLAGS_doppler_step != 0)
|
||||
{
|
||||
doppler_step_ = static_cast<uint32_t>(FLAGS_doppler_step);
|
||||
}
|
||||
#else
|
||||
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||
{
|
||||
doppler_max_ = absl::GetFlag(FLAGS_doppler_max);
|
||||
}
|
||||
if (absl::GetFlag(FLAGS_doppler_step) != 0)
|
||||
{
|
||||
doppler_step_ = static_cast<uint32_t>(absl::GetFlag(FLAGS_doppler_step));
|
||||
}
|
||||
#endif
|
||||
acq_parameters.doppler_max = doppler_max_;
|
||||
acq_parameters.doppler_step = doppler_step_;
|
||||
acq_parameters.sampled_ms = sampled_ms_;
|
||||
acq_parameters.max_dwells = configuration->property(role + ".max_dwells", 1);
|
||||
acq_parameters.blocking_on_standby = configuration->property(role + ".blocking_on_standby", false);
|
||||
@@ -116,13 +125,6 @@ void GpsL1CaPcpsAcquisitionFineDoppler::set_threshold(float threshold)
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsAcquisitionFineDoppler::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
doppler_step_ = doppler_step;
|
||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsAcquisitionFineDoppler::set_gnss_synchro(Gnss_Synchro* gnss_synchro)
|
||||
{
|
||||
gnss_synchro_ = gnss_synchro;
|
||||
|
||||
@@ -105,11 +105,6 @@ public:
|
||||
*/
|
||||
void set_threshold(float threshold) override;
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
*/
|
||||
void set_doppler_step(unsigned int doppler_step) override;
|
||||
|
||||
/*!
|
||||
* \brief Initializes acquisition algorithm.
|
||||
*/
|
||||
|
||||
@@ -48,17 +48,26 @@ GpsL1CaPcpsAssistedAcquisition::GpsL1CaPcpsAssistedAcquisition(
|
||||
fs_in_ = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||
|
||||
int doppler_max = configuration->property(role + ".doppler_max", 5000);
|
||||
int doppler_step = configuration->property(role + ".doppler_step", 500);
|
||||
|
||||
#if USE_GLOG_AND_GFLAGS
|
||||
if (FLAGS_doppler_max != 0)
|
||||
{
|
||||
doppler_max = FLAGS_doppler_max;
|
||||
}
|
||||
if (FLAGS_doppler_step != 0)
|
||||
{
|
||||
doppler_step = static_cast<uint32_t>(FLAGS_doppler_step);
|
||||
}
|
||||
#else
|
||||
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||
{
|
||||
doppler_max = absl::GetFlag(FLAGS_doppler_max);
|
||||
}
|
||||
if (absl::GetFlag(FLAGS_doppler_step) != 0)
|
||||
{
|
||||
doppler_step = static_cast<uint32_t>(absl::GetFlag(FLAGS_doppler_step));
|
||||
}
|
||||
#endif
|
||||
const int doppler_min = configuration->property(role_ + ".doppler_min", -doppler_max);
|
||||
bool enable_monitor_output = configuration->property("AcquisitionMonitor.enable_monitor", false);
|
||||
@@ -74,7 +83,7 @@ GpsL1CaPcpsAssistedAcquisition::GpsL1CaPcpsAssistedAcquisition(
|
||||
const unsigned int max_dwells = configuration->property(role + ".max_dwells", 1);
|
||||
const unsigned int sampled_ms = configuration->property(role + ".coherent_integration_time_ms", 1);
|
||||
acquisition_cc_ = pcps_make_assisted_acquisition_cc(max_dwells, sampled_ms,
|
||||
doppler_max, doppler_min, fs_in_, vector_length_,
|
||||
doppler_max, doppler_min, doppler_step, fs_in_, vector_length_,
|
||||
dump_, dump_filename, enable_monitor_output);
|
||||
}
|
||||
else
|
||||
@@ -108,12 +117,6 @@ void GpsL1CaPcpsAssistedAcquisition::set_threshold(float threshold)
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsAssistedAcquisition::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
acquisition_cc_->set_doppler_step(doppler_step);
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsAssistedAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro)
|
||||
{
|
||||
gnss_synchro_ = gnss_synchro;
|
||||
|
||||
@@ -102,11 +102,6 @@ public:
|
||||
*/
|
||||
void set_threshold(float threshold) override;
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
*/
|
||||
void set_doppler_step(unsigned int doppler_step) override;
|
||||
|
||||
/*!
|
||||
* \brief Initializes acquisition algorithm.
|
||||
*/
|
||||
|
||||
@@ -47,7 +47,8 @@ GpsL1CaPcpsOpenClAcquisition::GpsL1CaPcpsOpenClAcquisition(
|
||||
role_(role),
|
||||
threshold_(0.0),
|
||||
channel_(0),
|
||||
doppler_step_(0)
|
||||
doppler_max_(configuration->property(role + ".doppler_max", 5000)),
|
||||
doppler_step_(configuration->property(role + ".doppler_step", 500))
|
||||
{
|
||||
const std::string default_item_type("gr_complex");
|
||||
std::string default_dump_filename = "./data/acquisition.dat";
|
||||
@@ -60,17 +61,24 @@ GpsL1CaPcpsOpenClAcquisition::GpsL1CaPcpsOpenClAcquisition(
|
||||
int64_t fs_in_deprecated = configuration->property("GNSS-SDR.internal_fs_hz", 2048000);
|
||||
fs_in_ = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||
dump_ = configuration->property(role + ".dump", false);
|
||||
doppler_max_ = configuration->property(role + ".doppler_max", 5000);
|
||||
#if USE_GLOG_AND_GFLAGS
|
||||
if (FLAGS_doppler_max != 0)
|
||||
{
|
||||
doppler_max_ = FLAGS_doppler_max;
|
||||
}
|
||||
if (FLAGS_doppler_step != 0)
|
||||
{
|
||||
doppler_step_ = static_cast<uint32_t>(FLAGS_doppler_step);
|
||||
}
|
||||
#else
|
||||
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||
{
|
||||
doppler_max_ = absl::GetFlag(FLAGS_doppler_max);
|
||||
}
|
||||
if (absl::GetFlag(FLAGS_doppler_step) != 0)
|
||||
{
|
||||
doppler_step_ = static_cast<uint32_t>(absl::GetFlag(FLAGS_doppler_step));
|
||||
}
|
||||
#endif
|
||||
sampled_ms_ = configuration->property(role + ".coherent_integration_time_ms", 1);
|
||||
|
||||
@@ -97,7 +105,7 @@ GpsL1CaPcpsOpenClAcquisition::GpsL1CaPcpsOpenClAcquisition(
|
||||
{
|
||||
item_size_ = sizeof(gr_complex);
|
||||
acquisition_cc_ = pcps_make_opencl_acquisition_cc(sampled_ms_, max_dwells,
|
||||
doppler_max_, fs_in_, code_length_, code_length_,
|
||||
doppler_max_, doppler_step_, fs_in_, code_length_, code_length_,
|
||||
bit_transition_flag_, dump_, dump_filename_, false);
|
||||
|
||||
stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_);
|
||||
@@ -155,16 +163,6 @@ void GpsL1CaPcpsOpenClAcquisition::set_threshold(float threshold)
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsOpenClAcquisition::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
doppler_step_ = doppler_step;
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsOpenClAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro)
|
||||
{
|
||||
gnss_synchro_ = gnss_synchro;
|
||||
|
||||
@@ -102,11 +102,6 @@ public:
|
||||
*/
|
||||
void set_threshold(float threshold) override;
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
*/
|
||||
void set_doppler_step(unsigned int doppler_step) override;
|
||||
|
||||
/*!
|
||||
* \brief Initializes acquisition algorithm.
|
||||
*/
|
||||
|
||||
@@ -50,7 +50,7 @@ GpsL1CaPcpsQuickSyncAcquisition::GpsL1CaPcpsQuickSyncAcquisition(
|
||||
threshold_(0.0),
|
||||
channel_(0),
|
||||
doppler_max_(configuration->property(role + ".doppler_max", 5000)),
|
||||
doppler_step_(0),
|
||||
doppler_step_(configuration_->property(role + ".doppler_step", 500)),
|
||||
sampled_ms_(configuration_->property(role + ".coherent_integration_time_ms", 4)),
|
||||
bit_transition_flag_(configuration_->property(role + ".bit_transition_flag", false)),
|
||||
dump_(configuration_->property(role + ".dump", false))
|
||||
@@ -66,11 +66,19 @@ GpsL1CaPcpsQuickSyncAcquisition::GpsL1CaPcpsQuickSyncAcquisition(
|
||||
{
|
||||
doppler_max_ = FLAGS_doppler_max;
|
||||
}
|
||||
if (FLAGS_doppler_step != 0)
|
||||
{
|
||||
doppler_step_ = static_cast<uint32_t>(FLAGS_doppler_step);
|
||||
}
|
||||
#else
|
||||
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||
{
|
||||
doppler_max_ = absl::GetFlag(FLAGS_doppler_max);
|
||||
}
|
||||
if (absl::GetFlag(FLAGS_doppler_step) != 0)
|
||||
{
|
||||
doppler_step_ = static_cast<uint32_t>(absl::GetFlag(FLAGS_doppler_step));
|
||||
}
|
||||
#endif
|
||||
|
||||
// -- Find number of samples per spreading code -------------------------
|
||||
@@ -126,7 +134,7 @@ GpsL1CaPcpsQuickSyncAcquisition::GpsL1CaPcpsQuickSyncAcquisition(
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_ = pcps_quicksync_make_acquisition_cc(folding_factor_,
|
||||
sampled_ms_, max_dwells, doppler_max_, fs_in_,
|
||||
sampled_ms_, max_dwells, doppler_max_, doppler_step_, fs_in_,
|
||||
samples_per_ms, code_length_, bit_transition_flag_,
|
||||
dump_, dump_filename_, enable_monitor_output);
|
||||
|
||||
@@ -187,16 +195,6 @@ void GpsL1CaPcpsQuickSyncAcquisition::set_threshold(float threshold)
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsQuickSyncAcquisition::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
doppler_step_ = doppler_step;
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsQuickSyncAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro)
|
||||
{
|
||||
gnss_synchro_ = gnss_synchro;
|
||||
|
||||
@@ -105,11 +105,6 @@ public:
|
||||
*/
|
||||
void set_threshold(float threshold) override;
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
*/
|
||||
void set_doppler_step(unsigned int doppler_step) override;
|
||||
|
||||
/*!
|
||||
* \brief Initializes acquisition algorithm.
|
||||
*/
|
||||
|
||||
@@ -48,7 +48,7 @@ GpsL1CaPcpsTongAcquisition::GpsL1CaPcpsTongAcquisition(
|
||||
item_size_(sizeof(gr_complex)),
|
||||
channel_(0),
|
||||
doppler_max_(configuration->property(role + ".doppler_max", 5000)),
|
||||
doppler_step_(0),
|
||||
doppler_step_(configuration_->property(role + ".doppler_step", 500)),
|
||||
sampled_ms_(configuration_->property(role + ".coherent_integration_time_ms", 1)),
|
||||
dump_(configuration_->property(role + ".dump", false))
|
||||
{
|
||||
@@ -67,11 +67,19 @@ GpsL1CaPcpsTongAcquisition::GpsL1CaPcpsTongAcquisition(
|
||||
{
|
||||
doppler_max_ = FLAGS_doppler_max;
|
||||
}
|
||||
if (FLAGS_doppler_step != 0)
|
||||
{
|
||||
doppler_step_ = static_cast<uint32_t>(FLAGS_doppler_step);
|
||||
}
|
||||
#else
|
||||
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||
{
|
||||
doppler_max_ = absl::GetFlag(FLAGS_doppler_max);
|
||||
}
|
||||
if (absl::GetFlag(FLAGS_doppler_step) != 0)
|
||||
{
|
||||
doppler_step_ = static_cast<uint32_t>(absl::GetFlag(FLAGS_doppler_step));
|
||||
}
|
||||
#endif
|
||||
bool enable_monitor_output = configuration_->property("AcquisitionMonitor.enable_monitor", false);
|
||||
|
||||
@@ -87,7 +95,7 @@ GpsL1CaPcpsTongAcquisition::GpsL1CaPcpsTongAcquisition(
|
||||
const unsigned int tong_init_val = configuration->property(role + ".tong_init_val", 1);
|
||||
const unsigned int tong_max_val = configuration->property(role + ".tong_max_val", 2);
|
||||
const unsigned int tong_max_dwells = configuration->property(role + ".tong_max_dwells", tong_max_val + 1);
|
||||
acquisition_cc_ = pcps_tong_make_acquisition_cc(sampled_ms_, doppler_max_, fs_in_,
|
||||
acquisition_cc_ = pcps_tong_make_acquisition_cc(sampled_ms_, doppler_max_, doppler_step_, fs_in_,
|
||||
code_length_, code_length_, tong_init_val, tong_max_val, tong_max_dwells,
|
||||
dump_, dump_filename_, enable_monitor_output);
|
||||
|
||||
@@ -143,16 +151,6 @@ void GpsL1CaPcpsTongAcquisition::set_threshold(float threshold)
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsTongAcquisition::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
doppler_step_ = doppler_step;
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsTongAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro)
|
||||
{
|
||||
gnss_synchro_ = gnss_synchro;
|
||||
|
||||
@@ -103,11 +103,6 @@ public:
|
||||
*/
|
||||
void set_threshold(float threshold) override;
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
*/
|
||||
void set_doppler_step(unsigned int doppler_step) override;
|
||||
|
||||
/*!
|
||||
* \brief Initializes acquisition algorithm.
|
||||
*/
|
||||
|
||||
@@ -41,7 +41,9 @@
|
||||
galileo_e5a_noncoherentIQ_acquisition_caf_cc_sptr galileo_e5a_noncoherentIQ_make_acquisition_caf_cc(
|
||||
unsigned int sampled_ms,
|
||||
unsigned int max_dwells,
|
||||
unsigned int doppler_max, int64_t fs_in,
|
||||
unsigned int doppler_max,
|
||||
unsigned int doppler_step,
|
||||
int64_t fs_in,
|
||||
int samples_per_ms, int samples_per_code,
|
||||
bool bit_transition_flag,
|
||||
bool dump,
|
||||
@@ -52,7 +54,7 @@ galileo_e5a_noncoherentIQ_acquisition_caf_cc_sptr galileo_e5a_noncoherentIQ_make
|
||||
bool enable_monitor_output)
|
||||
{
|
||||
return galileo_e5a_noncoherentIQ_acquisition_caf_cc_sptr(
|
||||
new galileo_e5a_noncoherentIQ_acquisition_caf_cc(sampled_ms, max_dwells, doppler_max, fs_in, samples_per_ms,
|
||||
new galileo_e5a_noncoherentIQ_acquisition_caf_cc(sampled_ms, max_dwells, doppler_max, doppler_step, fs_in, samples_per_ms,
|
||||
samples_per_code, bit_transition_flag, dump, dump_filename, both_signal_components_, CAF_window_hz_, Zero_padding_, enable_monitor_output));
|
||||
}
|
||||
|
||||
@@ -61,6 +63,7 @@ galileo_e5a_noncoherentIQ_acquisition_caf_cc::galileo_e5a_noncoherentIQ_acquisit
|
||||
unsigned int sampled_ms,
|
||||
unsigned int max_dwells,
|
||||
unsigned int doppler_max,
|
||||
unsigned int doppler_step,
|
||||
int64_t fs_in,
|
||||
int samples_per_ms,
|
||||
int samples_per_code,
|
||||
@@ -90,7 +93,7 @@ galileo_e5a_noncoherentIQ_acquisition_caf_cc::galileo_e5a_noncoherentIQ_acquisit
|
||||
d_buffer_count(0),
|
||||
d_doppler_resolution(0),
|
||||
d_doppler_max(static_cast<int>(doppler_max)),
|
||||
d_doppler_step(250),
|
||||
d_doppler_step(doppler_step),
|
||||
d_fft_size(static_cast<int>(sampled_ms) * d_samples_per_ms),
|
||||
d_num_doppler_bins(0),
|
||||
d_gr_stream_buffer(0),
|
||||
|
||||
@@ -48,7 +48,9 @@ using galileo_e5a_noncoherentIQ_acquisition_caf_cc_sptr = gnss_shared_ptr<galile
|
||||
galileo_e5a_noncoherentIQ_acquisition_caf_cc_sptr galileo_e5a_noncoherentIQ_make_acquisition_caf_cc(
|
||||
unsigned int sampled_ms,
|
||||
unsigned int max_dwells,
|
||||
unsigned int doppler_max, int64_t fs_in,
|
||||
unsigned int doppler_max,
|
||||
unsigned int doppler_step,
|
||||
int64_t fs_in,
|
||||
int samples_per_ms, int samples_per_code,
|
||||
bool bit_transition_flag,
|
||||
bool dump,
|
||||
@@ -145,15 +147,6 @@ public:
|
||||
d_threshold = threshold;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
* \param doppler_step - Frequency bin of the search grid [Hz].
|
||||
*/
|
||||
inline void set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
d_doppler_step = doppler_step;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Parallel Code Phase Search Acquisition signal processing.
|
||||
*/
|
||||
@@ -166,7 +159,9 @@ private:
|
||||
galileo_e5a_noncoherentIQ_make_acquisition_caf_cc(
|
||||
unsigned int sampled_ms,
|
||||
unsigned int max_dwells,
|
||||
unsigned int doppler_max, int64_t fs_in,
|
||||
unsigned int doppler_max,
|
||||
unsigned int doppler_step,
|
||||
int64_t fs_in,
|
||||
int samples_per_ms, int samples_per_code,
|
||||
bool bit_transition_flag,
|
||||
bool dump,
|
||||
@@ -179,7 +174,9 @@ private:
|
||||
galileo_e5a_noncoherentIQ_acquisition_caf_cc(
|
||||
unsigned int sampled_ms,
|
||||
unsigned int max_dwells,
|
||||
unsigned int doppler_max, int64_t fs_in,
|
||||
unsigned int doppler_max,
|
||||
unsigned int doppler_step,
|
||||
int64_t fs_in,
|
||||
int samples_per_ms, int samples_per_code,
|
||||
bool bit_transition_flag,
|
||||
bool dump,
|
||||
@@ -235,7 +232,7 @@ private:
|
||||
int d_buffer_count;
|
||||
int d_doppler_resolution;
|
||||
const int d_doppler_max;
|
||||
int d_doppler_step;
|
||||
const int d_doppler_step;
|
||||
int d_fft_size;
|
||||
int d_num_doppler_bins;
|
||||
unsigned int d_gr_stream_buffer;
|
||||
|
||||
@@ -35,6 +35,7 @@ galileo_pcps_8ms_acquisition_cc_sptr galileo_pcps_8ms_make_acquisition_cc(
|
||||
uint32_t sampled_ms,
|
||||
uint32_t max_dwells,
|
||||
uint32_t doppler_max,
|
||||
uint32_t doppler_step,
|
||||
int64_t fs_in,
|
||||
int32_t samples_per_ms,
|
||||
int32_t samples_per_code,
|
||||
@@ -43,7 +44,7 @@ galileo_pcps_8ms_acquisition_cc_sptr galileo_pcps_8ms_make_acquisition_cc(
|
||||
bool enable_monitor_output)
|
||||
{
|
||||
return galileo_pcps_8ms_acquisition_cc_sptr(
|
||||
new galileo_pcps_8ms_acquisition_cc(sampled_ms, max_dwells, doppler_max, fs_in, samples_per_ms,
|
||||
new galileo_pcps_8ms_acquisition_cc(sampled_ms, max_dwells, doppler_max, doppler_step, fs_in, samples_per_ms,
|
||||
samples_per_code, dump, dump_filename, enable_monitor_output));
|
||||
}
|
||||
|
||||
@@ -52,6 +53,7 @@ galileo_pcps_8ms_acquisition_cc::galileo_pcps_8ms_acquisition_cc(
|
||||
uint32_t sampled_ms,
|
||||
uint32_t max_dwells,
|
||||
uint32_t doppler_max,
|
||||
uint32_t doppler_step,
|
||||
int64_t fs_in,
|
||||
int32_t samples_per_ms,
|
||||
int32_t samples_per_code,
|
||||
@@ -76,7 +78,7 @@ galileo_pcps_8ms_acquisition_cc::galileo_pcps_8ms_acquisition_cc(
|
||||
d_channel(0),
|
||||
d_doppler_resolution(0),
|
||||
d_doppler_max(doppler_max),
|
||||
d_doppler_step(0),
|
||||
d_doppler_step(doppler_step),
|
||||
d_sampled_ms(sampled_ms),
|
||||
d_max_dwells(max_dwells),
|
||||
d_well_count(0),
|
||||
|
||||
@@ -43,6 +43,7 @@ galileo_pcps_8ms_acquisition_cc_sptr
|
||||
galileo_pcps_8ms_make_acquisition_cc(uint32_t sampled_ms,
|
||||
uint32_t max_dwells,
|
||||
uint32_t doppler_max,
|
||||
uint32_t doppler_step,
|
||||
int64_t fs_in,
|
||||
int32_t samples_per_ms,
|
||||
int32_t samples_per_code,
|
||||
@@ -135,15 +136,6 @@ public:
|
||||
d_threshold = threshold;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
* \param doppler_step - Frequency bin of the search grid [Hz].
|
||||
*/
|
||||
inline void set_doppler_step(uint32_t doppler_step)
|
||||
{
|
||||
d_doppler_step = doppler_step;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Parallel Code Phase Search Acquisition signal processing.
|
||||
*/
|
||||
@@ -157,6 +149,7 @@ private:
|
||||
uint32_t sampled_ms,
|
||||
uint32_t max_dwells,
|
||||
uint32_t doppler_max,
|
||||
uint32_t doppler_step,
|
||||
int64_t fs_in,
|
||||
int32_t samples_per_ms,
|
||||
int32_t samples_per_code,
|
||||
@@ -168,6 +161,7 @@ private:
|
||||
uint32_t sampled_ms,
|
||||
uint32_t max_dwells,
|
||||
uint32_t doppler_max,
|
||||
uint32_t doppler_step,
|
||||
int64_t fs_in,
|
||||
int32_t samples_per_ms,
|
||||
int32_t samples_per_code,
|
||||
@@ -209,7 +203,7 @@ private:
|
||||
uint32_t d_channel;
|
||||
uint32_t d_doppler_resolution;
|
||||
const uint32_t d_doppler_max;
|
||||
uint32_t d_doppler_step;
|
||||
const uint32_t d_doppler_step;
|
||||
uint32_t d_sampled_ms;
|
||||
uint32_t d_max_dwells;
|
||||
uint32_t d_well_count;
|
||||
|
||||
@@ -77,7 +77,7 @@ pcps_acquisition::pcps_acquisition(const Acq_Conf& conf_)
|
||||
d_num_noncoherent_integrations_counter(0U),
|
||||
d_consumed_samples(conf_.sampled_ms * conf_.samples_per_ms * (conf_.bit_transition_flag ? 2.0 : 1.0)),
|
||||
d_fft_size(conf_.sampled_ms == conf_.ms_per_code ? d_consumed_samples : d_consumed_samples * 2),
|
||||
d_num_doppler_bins(0U),
|
||||
d_num_doppler_bins(static_cast<uint32_t>(std::ceil(static_cast<double>(2 * d_doppler_max) / static_cast<double>(d_doppler_step)))),
|
||||
d_num_doppler_bins_step2(conf_.num_doppler_bins_step2),
|
||||
d_dump_channel(conf_.dump_channel),
|
||||
d_buffer_count(0U),
|
||||
@@ -251,8 +251,6 @@ void pcps_acquisition::init()
|
||||
d_mag = 0.0;
|
||||
d_input_power = 0.0;
|
||||
|
||||
d_num_doppler_bins = static_cast<uint32_t>(std::ceil(static_cast<double>(2 * d_doppler_max) / static_cast<double>(d_doppler_step)));
|
||||
|
||||
// Create the carrier Doppler wipeoff signals
|
||||
if (d_grid_doppler_wipeoffs.empty())
|
||||
{
|
||||
@@ -419,7 +417,8 @@ void pcps_acquisition::dump_results(int32_t effective_fft_size, float test_stati
|
||||
Mat_VarWrite(matfp, matvar, MAT_COMPRESSION_ZLIB); // or MAT_COMPRESSION_NONE
|
||||
Mat_VarFree(matvar);
|
||||
|
||||
matvar = Mat_VarCreate("doppler_step", MAT_C_INT32, MAT_T_INT32, 1, dims.data(), &d_doppler_step, 0);
|
||||
auto doppler_step = d_doppler_step;
|
||||
matvar = Mat_VarCreate("doppler_step", MAT_C_INT32, MAT_T_INT32, 1, dims.data(), &doppler_step, 0);
|
||||
Mat_VarWrite(matfp, matvar, MAT_COMPRESSION_ZLIB); // or MAT_COMPRESSION_NONE
|
||||
Mat_VarFree(matvar);
|
||||
|
||||
@@ -704,7 +703,7 @@ void pcps_acquisition::acquisition_core(uint64_t samp_count)
|
||||
|
||||
DLOG(INFO) << "Channel: " << d_channel
|
||||
<< " , doing acquisition of satellite: " << d_gnss_synchro->System << " " << d_gnss_synchro->PRN
|
||||
<< " ,sample stamp: " << samp_count << ", threshold: "
|
||||
<< " , sample stamp: " << samp_count << ", threshold: "
|
||||
<< d_threshold << ", doppler_max: " << d_doppler_max
|
||||
<< ", doppler_step: " << d_doppler_step
|
||||
<< ", use_CFAR_algorithm_flag: " << (d_use_CFAR_algorithm_flag ? "true" : "false");
|
||||
|
||||
@@ -172,16 +172,6 @@ public:
|
||||
d_threshold = threshold;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
* \param doppler_step - Frequency bin of the search grid [Hz].
|
||||
*/
|
||||
inline void set_doppler_step(uint32_t doppler_step)
|
||||
{
|
||||
gr::thread::scoped_lock lock(d_setlock); // require mutex with work function called by the scheduler
|
||||
d_doppler_step = doppler_step;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler center frequency for the grid search. It will refresh the Doppler grid.
|
||||
* \param doppler_center - Frequency center of the search grid [Hz].
|
||||
@@ -251,11 +241,11 @@ private:
|
||||
int32_t d_doppler_bias;
|
||||
uint32_t d_channel;
|
||||
const uint32_t d_samplesPerChip;
|
||||
uint32_t d_doppler_step;
|
||||
const uint32_t d_doppler_step;
|
||||
uint32_t d_num_noncoherent_integrations_counter;
|
||||
const uint32_t d_consumed_samples;
|
||||
const uint32_t d_fft_size;
|
||||
uint32_t d_num_doppler_bins;
|
||||
const uint32_t d_num_doppler_bins;
|
||||
const uint32_t d_num_doppler_bins_step2;
|
||||
const uint32_t d_dump_channel;
|
||||
uint32_t d_buffer_count;
|
||||
|
||||
@@ -60,12 +60,12 @@ pcps_acquisition_fine_doppler_cc::pcps_acquisition_fine_doppler_cc(const Acq_Con
|
||||
d_samples_per_ms(static_cast<int>(conf_.samples_per_ms)),
|
||||
d_max_dwells(conf_.max_dwells),
|
||||
d_config_doppler_max(conf_.doppler_max),
|
||||
d_num_doppler_points(0),
|
||||
d_doppler_step(conf_.doppler_step),
|
||||
d_num_doppler_points(floor(std::abs(2 * d_config_doppler_max) / d_doppler_step)),
|
||||
d_well_count(0),
|
||||
d_n_samples_in_buffer(0),
|
||||
d_fft_size(d_samples_per_ms),
|
||||
d_gnuradio_forecast_samples(d_fft_size),
|
||||
d_doppler_step(0),
|
||||
d_channel(0),
|
||||
d_dump_channel(0),
|
||||
d_active(false),
|
||||
@@ -78,6 +78,8 @@ pcps_acquisition_fine_doppler_cc::pcps_acquisition_fine_doppler_cc(const Acq_Con
|
||||
d_10_ms_buffer = volk_gnsssdr::vector<gr_complex>(50 * d_samples_per_ms);
|
||||
d_fft_if = gnss_fft_fwd_make_unique(d_fft_size);
|
||||
d_ifft = gnss_fft_rev_make_unique(d_fft_size);
|
||||
d_grid_data = volk_gnsssdr::vector<volk_gnsssdr::vector<float>>(d_num_doppler_points, volk_gnsssdr::vector<float>(d_fft_size));
|
||||
update_carrier_wipeoff();
|
||||
|
||||
// this implementation can only produce dumps in channel 0
|
||||
// todo: migrate config parameters to the unified acquisition config class
|
||||
@@ -111,6 +113,8 @@ pcps_acquisition_fine_doppler_cc::pcps_acquisition_fine_doppler_cc(const Acq_Con
|
||||
std::cerr << "GNSS-SDR cannot create dump file for the Acquisition block. Wrong permissions?\n";
|
||||
d_dump = false;
|
||||
}
|
||||
|
||||
grid_ = arma::fmat(d_fft_size, d_num_doppler_points, arma::fill::zeros);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -131,24 +135,6 @@ unsigned int pcps_acquisition_fine_doppler_cc::nextPowerOf2(unsigned int n)
|
||||
}
|
||||
|
||||
|
||||
void pcps_acquisition_fine_doppler_cc::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
d_doppler_step = doppler_step;
|
||||
// Create the search grid array
|
||||
|
||||
d_num_doppler_points = floor(std::abs(2 * d_config_doppler_max) / d_doppler_step);
|
||||
|
||||
d_grid_data = volk_gnsssdr::vector<volk_gnsssdr::vector<float>>(d_num_doppler_points, volk_gnsssdr::vector<float>(d_fft_size));
|
||||
|
||||
if (d_dump)
|
||||
{
|
||||
grid_ = arma::fmat(d_fft_size, d_num_doppler_points, arma::fill::zeros);
|
||||
}
|
||||
|
||||
update_carrier_wipeoff();
|
||||
}
|
||||
|
||||
|
||||
void pcps_acquisition_fine_doppler_cc::set_local_code(std::complex<float> *code)
|
||||
{
|
||||
std::copy(code, code + d_fft_size, d_fft_if->get_inbuf());
|
||||
@@ -648,7 +634,8 @@ void pcps_acquisition_fine_doppler_cc::dump_results(int effective_fft_size)
|
||||
Mat_VarWrite(matfp, matvar, MAT_COMPRESSION_ZLIB); // or MAT_COMPRESSION_NONE
|
||||
Mat_VarFree(matvar);
|
||||
|
||||
matvar = Mat_VarCreate("doppler_step", MAT_C_INT32, MAT_T_INT32, 1, dims.data(), &d_doppler_step, 0);
|
||||
auto doppler_step = d_doppler_step;
|
||||
matvar = Mat_VarCreate("doppler_step", MAT_C_INT32, MAT_T_INT32, 1, dims.data(), &doppler_step, 0);
|
||||
Mat_VarWrite(matfp, matvar, MAT_COMPRESSION_ZLIB); // or MAT_COMPRESSION_NONE
|
||||
Mat_VarFree(matvar);
|
||||
|
||||
|
||||
@@ -145,12 +145,6 @@ public:
|
||||
d_threshold = threshold;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
* \param doppler_step - Frequency bin of the search grid [Hz].
|
||||
*/
|
||||
void set_doppler_step(unsigned int doppler_step);
|
||||
|
||||
/*!
|
||||
* \brief If set to 1, ensures that acquisition starts at the
|
||||
* first available sample.
|
||||
@@ -206,7 +200,7 @@ private:
|
||||
|
||||
Acq_Conf acq_parameters;
|
||||
|
||||
int64_t d_fs_in;
|
||||
const int64_t d_fs_in;
|
||||
int64_t d_dump_number;
|
||||
uint64_t d_sample_counter;
|
||||
|
||||
@@ -218,12 +212,12 @@ private:
|
||||
int d_samples_per_ms;
|
||||
int d_max_dwells;
|
||||
const int d_config_doppler_max;
|
||||
int d_num_doppler_points;
|
||||
const unsigned int d_doppler_step;
|
||||
const int d_num_doppler_points;
|
||||
int d_well_count;
|
||||
int d_n_samples_in_buffer;
|
||||
int d_fft_size;
|
||||
const int d_fft_size;
|
||||
int d_gnuradio_forecast_samples;
|
||||
unsigned int d_doppler_step;
|
||||
unsigned int d_channel;
|
||||
unsigned int d_dump_channel;
|
||||
|
||||
|
||||
@@ -52,9 +52,9 @@ pcps_acquisition_fpga::pcps_acquisition_fpga(Acq_Conf_Fpga *conf_, uint32_t acq_
|
||||
d_state(0),
|
||||
d_doppler_index(0U),
|
||||
d_channel(0U),
|
||||
d_doppler_step(0U),
|
||||
d_doppler_step(d_acq_parameters->doppler_step),
|
||||
d_doppler_max(d_acq_parameters->doppler_max),
|
||||
d_num_doppler_bins(0U),
|
||||
d_num_doppler_bins(static_cast<uint32_t>(std::ceil(static_cast<double>(static_cast<int32_t>(d_doppler_max) - static_cast<int32_t>(-d_doppler_max)) / static_cast<double>(d_doppler_step))) + 1),
|
||||
d_total_block_exp(d_acq_parameters->total_block_exp),
|
||||
d_num_doppler_bins_step2(d_acq_parameters->num_doppler_bins_step2),
|
||||
d_max_num_acqs(d_acq_parameters->max_num_acqs),
|
||||
@@ -83,8 +83,6 @@ void pcps_acquisition_fpga::init()
|
||||
d_gnss_synchro->Acq_samplestamp_samples = 0;
|
||||
d_mag = 0.0;
|
||||
d_input_power = 0.0;
|
||||
|
||||
d_num_doppler_bins = static_cast<uint32_t>(std::ceil(static_cast<double>(static_cast<int32_t>(d_doppler_max) - static_cast<int32_t>(-d_doppler_max)) / static_cast<double>(d_doppler_step))) + 1;
|
||||
}
|
||||
|
||||
void pcps_acquisition_fpga::set_state(int32_t state)
|
||||
|
||||
@@ -132,16 +132,6 @@ public:
|
||||
d_threshold = threshold;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
* \param doppler_step - Frequency bin of the search grid [Hz].
|
||||
*/
|
||||
inline void set_doppler_step(uint32_t doppler_step)
|
||||
{
|
||||
d_doppler_step = doppler_step;
|
||||
d_acquisition_fpga->set_doppler_step(doppler_step);
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler center frequency for the grid search. It will refresh the Doppler grid.
|
||||
* \param doppler_center - Frequency center of the search grid [Hz].
|
||||
@@ -188,9 +178,9 @@ private:
|
||||
|
||||
uint32_t d_doppler_index;
|
||||
uint32_t d_channel;
|
||||
uint32_t d_doppler_step;
|
||||
const uint32_t d_doppler_step;
|
||||
const uint32_t d_doppler_max;
|
||||
uint32_t d_num_doppler_bins;
|
||||
const uint32_t d_num_doppler_bins;
|
||||
uint32_t d_total_block_exp;
|
||||
uint32_t d_num_doppler_bins_step2;
|
||||
uint32_t d_max_num_acqs;
|
||||
|
||||
@@ -40,19 +40,19 @@ extern Concurrent_Map<Gps_Acq_Assist> global_gps_acq_assist_map;
|
||||
|
||||
pcps_assisted_acquisition_cc_sptr pcps_make_assisted_acquisition_cc(
|
||||
int32_t max_dwells, uint32_t sampled_ms, int32_t doppler_max, int32_t doppler_min,
|
||||
int64_t fs_in, int32_t samples_per_ms, bool dump,
|
||||
int32_t doppler_step, int64_t fs_in, int32_t samples_per_ms, bool dump,
|
||||
const std::string &dump_filename, bool enable_monitor_output)
|
||||
{
|
||||
return pcps_assisted_acquisition_cc_sptr(
|
||||
new pcps_assisted_acquisition_cc(max_dwells, sampled_ms, doppler_max, doppler_min,
|
||||
fs_in, samples_per_ms, dump, dump_filename, enable_monitor_output));
|
||||
doppler_step, fs_in, samples_per_ms, dump, dump_filename, enable_monitor_output));
|
||||
}
|
||||
|
||||
|
||||
pcps_assisted_acquisition_cc::pcps_assisted_acquisition_cc(
|
||||
int32_t max_dwells, uint32_t sampled_ms, int32_t doppler_max, int32_t doppler_min,
|
||||
int64_t fs_in, int32_t samples_per_ms, bool dump, const std::string &dump_filename,
|
||||
bool enable_monitor_output)
|
||||
int32_t doppler_step, int64_t fs_in, int32_t samples_per_ms, bool dump,
|
||||
const std::string &dump_filename, bool enable_monitor_output)
|
||||
: gr::block("pcps_assisted_acquisition_cc",
|
||||
gr::io_signature::make(1, 1, sizeof(gr_complex)),
|
||||
gr::io_signature::make(0, 1, sizeof(Gnss_Synchro))),
|
||||
@@ -77,7 +77,7 @@ pcps_assisted_acquisition_cc::pcps_assisted_acquisition_cc(
|
||||
d_config_doppler_max(doppler_max),
|
||||
d_config_doppler_min(doppler_min),
|
||||
d_num_doppler_points(0),
|
||||
d_doppler_step(0),
|
||||
d_doppler_step(doppler_step),
|
||||
d_state(0),
|
||||
d_well_count(0),
|
||||
d_active(false),
|
||||
@@ -94,12 +94,6 @@ pcps_assisted_acquisition_cc::pcps_assisted_acquisition_cc(
|
||||
}
|
||||
|
||||
|
||||
void pcps_assisted_acquisition_cc::set_doppler_step(uint32_t doppler_step)
|
||||
{
|
||||
d_doppler_step = doppler_step;
|
||||
}
|
||||
|
||||
|
||||
pcps_assisted_acquisition_cc::~pcps_assisted_acquisition_cc()
|
||||
{
|
||||
try
|
||||
|
||||
@@ -60,6 +60,7 @@ pcps_assisted_acquisition_cc_sptr pcps_make_assisted_acquisition_cc(
|
||||
uint32_t sampled_ms,
|
||||
int32_t doppler_max,
|
||||
int32_t doppler_min,
|
||||
int32_t doppler_step,
|
||||
int64_t fs_in,
|
||||
int32_t samples_per_ms,
|
||||
bool dump,
|
||||
@@ -151,12 +152,6 @@ public:
|
||||
d_state = state;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
* \param doppler_step - Frequency bin of the search grid [Hz].
|
||||
*/
|
||||
void set_doppler_step(uint32_t doppler_step);
|
||||
|
||||
/*!
|
||||
* \brief Parallel Code Phase Search Acquisition signal processing.
|
||||
*/
|
||||
@@ -169,13 +164,13 @@ public:
|
||||
private:
|
||||
friend pcps_assisted_acquisition_cc_sptr
|
||||
pcps_make_assisted_acquisition_cc(int32_t max_dwells, uint32_t sampled_ms,
|
||||
int32_t doppler_max, int32_t doppler_min, int64_t fs_in,
|
||||
int32_t samples_per_ms, bool dump,
|
||||
int32_t doppler_max, int32_t doppler_min, int32_t doppler_step,
|
||||
int64_t fs_in, int32_t samples_per_ms, bool dump,
|
||||
const std::string& dump_filename, bool enable_monitor_output);
|
||||
|
||||
pcps_assisted_acquisition_cc(int32_t max_dwells, uint32_t sampled_ms,
|
||||
int32_t doppler_max, int32_t doppler_min, int64_t fs_in,
|
||||
int32_t samples_per_ms, bool dump,
|
||||
int32_t doppler_max, int32_t doppler_min, int32_t doppler_step,
|
||||
int64_t fs_in, int32_t samples_per_ms, bool dump,
|
||||
const std::string& dump_filename, bool enable_monitor_output);
|
||||
|
||||
void calculate_magnitudes(gr_complex* fft_begin, int32_t doppler_shift,
|
||||
@@ -227,7 +222,7 @@ private:
|
||||
const int32_t d_config_doppler_max;
|
||||
int32_t d_config_doppler_min;
|
||||
int32_t d_num_doppler_points;
|
||||
int32_t d_doppler_step;
|
||||
const int32_t d_doppler_step;
|
||||
int32_t d_state;
|
||||
int32_t d_well_count;
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ pcps_cccwsr_acquisition_cc_sptr pcps_cccwsr_make_acquisition_cc(
|
||||
uint32_t sampled_ms,
|
||||
uint32_t max_dwells,
|
||||
uint32_t doppler_max,
|
||||
uint32_t doppler_step,
|
||||
int64_t fs_in,
|
||||
int32_t samples_per_ms,
|
||||
int32_t samples_per_code,
|
||||
@@ -50,7 +51,7 @@ pcps_cccwsr_acquisition_cc_sptr pcps_cccwsr_make_acquisition_cc(
|
||||
bool enable_monitor_output)
|
||||
{
|
||||
return pcps_cccwsr_acquisition_cc_sptr(
|
||||
new pcps_cccwsr_acquisition_cc(sampled_ms, max_dwells, doppler_max, fs_in,
|
||||
new pcps_cccwsr_acquisition_cc(sampled_ms, max_dwells, doppler_max, doppler_step, fs_in,
|
||||
samples_per_ms, samples_per_code, dump, dump_filename, enable_monitor_output));
|
||||
}
|
||||
|
||||
@@ -59,6 +60,7 @@ pcps_cccwsr_acquisition_cc::pcps_cccwsr_acquisition_cc(
|
||||
uint32_t sampled_ms,
|
||||
uint32_t max_dwells,
|
||||
uint32_t doppler_max,
|
||||
uint32_t doppler_step,
|
||||
int64_t fs_in,
|
||||
int32_t samples_per_ms,
|
||||
int32_t samples_per_code,
|
||||
@@ -82,7 +84,7 @@ pcps_cccwsr_acquisition_cc::pcps_cccwsr_acquisition_cc(
|
||||
d_samples_per_code(samples_per_code),
|
||||
d_doppler_resolution(0),
|
||||
d_doppler_max(doppler_max),
|
||||
d_doppler_step(0),
|
||||
d_doppler_step(doppler_step),
|
||||
d_sampled_ms(sampled_ms),
|
||||
d_max_dwells(max_dwells),
|
||||
d_well_count(0),
|
||||
|
||||
@@ -48,6 +48,7 @@ pcps_cccwsr_acquisition_cc_sptr pcps_cccwsr_make_acquisition_cc(
|
||||
uint32_t sampled_ms,
|
||||
uint32_t max_dwells,
|
||||
uint32_t doppler_max,
|
||||
uint32_t doppler_step,
|
||||
int64_t fs_in,
|
||||
int32_t samples_per_ms,
|
||||
int32_t samples_per_code,
|
||||
@@ -141,15 +142,6 @@ public:
|
||||
d_threshold = threshold;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
* \param doppler_step - Frequency bin of the search grid [Hz].
|
||||
*/
|
||||
inline void set_doppler_step(uint32_t doppler_step)
|
||||
{
|
||||
d_doppler_step = doppler_step;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Coherent Channel Combining With Sign Recovery Acquisition signal processing.
|
||||
*/
|
||||
@@ -160,12 +152,12 @@ public:
|
||||
private:
|
||||
friend pcps_cccwsr_acquisition_cc_sptr
|
||||
pcps_cccwsr_make_acquisition_cc(uint32_t sampled_ms, uint32_t max_dwells,
|
||||
uint32_t doppler_max, int64_t fs_in,
|
||||
uint32_t doppler_max, uint32_t doppler_step, int64_t fs_in,
|
||||
int32_t samples_per_ms, int32_t samples_per_code,
|
||||
bool dump, const std::string& dump_filename, bool enable_monitor_output);
|
||||
|
||||
pcps_cccwsr_acquisition_cc(uint32_t sampled_ms, uint32_t max_dwells,
|
||||
uint32_t doppler_max, int64_t fs_in,
|
||||
uint32_t doppler_max, uint32_t doppler_step, int64_t fs_in,
|
||||
int32_t samples_per_ms, int32_t samples_per_code,
|
||||
bool dump, const std::string& dump_filename, bool enable_monitor_output);
|
||||
|
||||
@@ -206,7 +198,7 @@ private:
|
||||
int32_t d_samples_per_code;
|
||||
uint32_t d_doppler_resolution;
|
||||
const uint32_t d_doppler_max;
|
||||
uint32_t d_doppler_step;
|
||||
const uint32_t d_doppler_step;
|
||||
uint32_t d_sampled_ms;
|
||||
uint32_t d_max_dwells;
|
||||
uint32_t d_well_count;
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
|
||||
pcps_opencl_acquisition_cc_sptr pcps_make_opencl_acquisition_cc(
|
||||
uint32_t sampled_ms, uint32_t max_dwells,
|
||||
uint32_t doppler_max, int64_t fs_in,
|
||||
uint32_t doppler_max, uint32_t doppler_step, int64_t fs_in,
|
||||
int samples_per_ms, int samples_per_code,
|
||||
bool bit_transition_flag,
|
||||
bool dump,
|
||||
@@ -66,7 +66,7 @@ pcps_opencl_acquisition_cc_sptr pcps_make_opencl_acquisition_cc(
|
||||
bool enable_monitor_output)
|
||||
{
|
||||
return pcps_opencl_acquisition_cc_sptr(
|
||||
new pcps_opencl_acquisition_cc(sampled_ms, max_dwells, doppler_max, fs_in, samples_per_ms,
|
||||
new pcps_opencl_acquisition_cc(sampled_ms, max_dwells, doppler_max, doppler_step, fs_in, samples_per_ms,
|
||||
samples_per_code, bit_transition_flag, dump, dump_filename, enable_monitor_output));
|
||||
}
|
||||
|
||||
@@ -75,6 +75,7 @@ pcps_opencl_acquisition_cc::pcps_opencl_acquisition_cc(
|
||||
uint32_t sampled_ms,
|
||||
uint32_t max_dwells,
|
||||
uint32_t doppler_max,
|
||||
uint32_t doppler_step,
|
||||
int64_t fs_in,
|
||||
int samples_per_ms,
|
||||
int samples_per_code,
|
||||
@@ -95,6 +96,7 @@ pcps_opencl_acquisition_cc::pcps_opencl_acquisition_cc(
|
||||
d_samples_per_code(samples_per_code),
|
||||
d_state(0),
|
||||
d_doppler_max(doppler_max),
|
||||
d_doppler_step(doppler_step),
|
||||
d_sampled_ms(sampled_ms),
|
||||
d_max_dwells(max_dwells),
|
||||
d_well_count(0),
|
||||
|
||||
@@ -66,6 +66,7 @@ pcps_opencl_acquisition_cc_sptr pcps_make_opencl_acquisition_cc(
|
||||
uint32_t sampled_ms,
|
||||
uint32_t max_dwells,
|
||||
uint32_t doppler_max,
|
||||
uint32_t doppler_step,
|
||||
int64_t fs_in,
|
||||
int samples_per_ms,
|
||||
int samples_per_code,
|
||||
@@ -161,15 +162,6 @@ public:
|
||||
d_threshold = threshold;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
* \param doppler_step - Frequency bin of the search grid [Hz].
|
||||
*/
|
||||
inline void set_doppler_step(uint32_t doppler_step)
|
||||
{
|
||||
d_doppler_step = doppler_step;
|
||||
}
|
||||
|
||||
inline bool opencl_ready() const
|
||||
{
|
||||
bool ready = false;
|
||||
@@ -194,7 +186,7 @@ public:
|
||||
private:
|
||||
friend pcps_opencl_acquisition_cc_sptr
|
||||
pcps_make_opencl_acquisition_cc(uint32_t sampled_ms, uint32_t max_dwells,
|
||||
uint32_t doppler_max, int64_t fs_in,
|
||||
uint32_t doppler_max, uint32_t doppler_step, int64_t fs_in,
|
||||
int samples_per_ms, int samples_per_code,
|
||||
bool bit_transition_flag,
|
||||
bool dump,
|
||||
@@ -202,7 +194,7 @@ private:
|
||||
bool enable_monitor_output);
|
||||
|
||||
pcps_opencl_acquisition_cc(uint32_t sampled_ms, uint32_t max_dwells,
|
||||
uint32_t doppler_max, int64_t fs_in,
|
||||
uint32_t doppler_max, uint32_t doppler_step, int64_t fs_in,
|
||||
int samples_per_ms, int samples_per_code,
|
||||
bool bit_transition_flag,
|
||||
bool dump,
|
||||
@@ -265,7 +257,7 @@ private:
|
||||
|
||||
uint32_t d_doppler_resolution;
|
||||
const uint32_t d_doppler_max;
|
||||
uint32_t d_doppler_step;
|
||||
const uint32_t d_doppler_step;
|
||||
uint32_t d_sampled_ms;
|
||||
uint32_t d_max_dwells;
|
||||
uint32_t d_well_count;
|
||||
|
||||
@@ -36,6 +36,7 @@ pcps_quicksync_acquisition_cc_sptr pcps_quicksync_make_acquisition_cc(
|
||||
uint32_t sampled_ms,
|
||||
uint32_t max_dwells,
|
||||
uint32_t doppler_max,
|
||||
uint32_t doppler_step,
|
||||
int64_t fs_in,
|
||||
int32_t samples_per_ms,
|
||||
int32_t samples_per_code,
|
||||
@@ -48,7 +49,7 @@ pcps_quicksync_acquisition_cc_sptr pcps_quicksync_make_acquisition_cc(
|
||||
new pcps_quicksync_acquisition_cc(
|
||||
folding_factor,
|
||||
sampled_ms, max_dwells, doppler_max,
|
||||
fs_in, samples_per_ms,
|
||||
doppler_step, fs_in, samples_per_ms,
|
||||
samples_per_code,
|
||||
bit_transition_flag,
|
||||
dump, dump_filename,
|
||||
@@ -59,7 +60,7 @@ pcps_quicksync_acquisition_cc_sptr pcps_quicksync_make_acquisition_cc(
|
||||
pcps_quicksync_acquisition_cc::pcps_quicksync_acquisition_cc(
|
||||
uint32_t folding_factor,
|
||||
uint32_t sampled_ms, uint32_t max_dwells,
|
||||
uint32_t doppler_max, int64_t fs_in,
|
||||
uint32_t doppler_max, uint32_t doppler_step, int64_t fs_in,
|
||||
int32_t samples_per_ms, int32_t samples_per_code,
|
||||
bool bit_transition_flag,
|
||||
bool dump,
|
||||
@@ -85,7 +86,7 @@ pcps_quicksync_acquisition_cc::pcps_quicksync_acquisition_cc(
|
||||
d_folding_factor(folding_factor),
|
||||
d_doppler_resolution(0),
|
||||
d_doppler_max(doppler_max),
|
||||
d_doppler_step(0),
|
||||
d_doppler_step(doppler_step),
|
||||
d_sampled_ms(sampled_ms),
|
||||
d_max_dwells(max_dwells),
|
||||
d_well_count(0),
|
||||
@@ -175,11 +176,6 @@ void pcps_quicksync_acquisition_cc::init()
|
||||
d_mag = 0.0;
|
||||
d_input_power = 0.0;
|
||||
|
||||
if (d_doppler_step == 0)
|
||||
{
|
||||
d_doppler_step = 250;
|
||||
}
|
||||
|
||||
// Count the number of bins
|
||||
d_num_doppler_bins = 0;
|
||||
for (auto doppler = static_cast<int32_t>(-d_doppler_max);
|
||||
|
||||
@@ -66,6 +66,7 @@ pcps_quicksync_acquisition_cc_sptr pcps_quicksync_make_acquisition_cc(
|
||||
uint32_t sampled_ms,
|
||||
uint32_t max_dwells,
|
||||
uint32_t doppler_max,
|
||||
uint32_t doppler_step,
|
||||
int64_t fs_in,
|
||||
int32_t samples_per_ms,
|
||||
int32_t samples_per_code,
|
||||
@@ -162,15 +163,6 @@ public:
|
||||
d_threshold = threshold;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
* \param doppler_step - Frequency bin of the search grid [Hz].
|
||||
*/
|
||||
inline void set_doppler_step(uint32_t doppler_step)
|
||||
{
|
||||
d_doppler_step = doppler_step;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Parallel Code Phase Search Acquisition signal processing.
|
||||
*/
|
||||
@@ -182,7 +174,7 @@ private:
|
||||
friend pcps_quicksync_acquisition_cc_sptr
|
||||
pcps_quicksync_make_acquisition_cc(uint32_t folding_factor,
|
||||
uint32_t sampled_ms, uint32_t max_dwells,
|
||||
uint32_t doppler_max, int64_t fs_in,
|
||||
uint32_t doppler_max, uint32_t doppler_step, int64_t fs_in,
|
||||
int32_t samples_per_ms, int32_t samples_per_code,
|
||||
bool bit_transition_flag,
|
||||
bool dump,
|
||||
@@ -191,7 +183,7 @@ private:
|
||||
|
||||
pcps_quicksync_acquisition_cc(uint32_t folding_factor,
|
||||
uint32_t sampled_ms, uint32_t max_dwells,
|
||||
uint32_t doppler_max, int64_t fs_in,
|
||||
uint32_t doppler_max, uint32_t doppler_step, int64_t fs_in,
|
||||
int32_t samples_per_ms, int32_t samples_per_code,
|
||||
bool bit_transition_flag,
|
||||
bool dump,
|
||||
@@ -239,7 +231,7 @@ private:
|
||||
uint32_t d_folding_factor; // also referred in the paper as 'p'
|
||||
uint32_t d_doppler_resolution;
|
||||
const uint32_t d_doppler_max;
|
||||
uint32_t d_doppler_step;
|
||||
const uint32_t d_doppler_step;
|
||||
uint32_t d_sampled_ms;
|
||||
uint32_t d_max_dwells;
|
||||
uint32_t d_well_count;
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
pcps_tong_acquisition_cc_sptr pcps_tong_make_acquisition_cc(
|
||||
uint32_t sampled_ms,
|
||||
uint32_t doppler_max,
|
||||
uint32_t doppler_step,
|
||||
int64_t fs_in,
|
||||
int32_t samples_per_ms,
|
||||
int32_t samples_per_code,
|
||||
@@ -65,7 +66,7 @@ pcps_tong_acquisition_cc_sptr pcps_tong_make_acquisition_cc(
|
||||
bool enable_monitor_output)
|
||||
{
|
||||
return pcps_tong_acquisition_cc_sptr(
|
||||
new pcps_tong_acquisition_cc(sampled_ms, doppler_max, fs_in, samples_per_ms, samples_per_code,
|
||||
new pcps_tong_acquisition_cc(sampled_ms, doppler_max, doppler_step, fs_in, samples_per_ms, samples_per_code,
|
||||
tong_init_val, tong_max_val, tong_max_dwells, dump, dump_filename, enable_monitor_output));
|
||||
}
|
||||
|
||||
@@ -73,6 +74,7 @@ pcps_tong_acquisition_cc_sptr pcps_tong_make_acquisition_cc(
|
||||
pcps_tong_acquisition_cc::pcps_tong_acquisition_cc(
|
||||
uint32_t sampled_ms,
|
||||
uint32_t doppler_max,
|
||||
uint32_t doppler_step,
|
||||
int64_t fs_in,
|
||||
int32_t samples_per_ms,
|
||||
int32_t samples_per_code,
|
||||
@@ -100,7 +102,7 @@ pcps_tong_acquisition_cc::pcps_tong_acquisition_cc(
|
||||
d_channel(0),
|
||||
d_doppler_resolution(0),
|
||||
d_doppler_max(doppler_max),
|
||||
d_doppler_step(0),
|
||||
d_doppler_step(doppler_step),
|
||||
d_sampled_ms(sampled_ms),
|
||||
d_dwell_count(0),
|
||||
d_tong_init_val(tong_init_val),
|
||||
|
||||
@@ -61,6 +61,7 @@ using pcps_tong_acquisition_cc_sptr = gnss_shared_ptr<pcps_tong_acquisition_cc>;
|
||||
pcps_tong_acquisition_cc_sptr pcps_tong_make_acquisition_cc(
|
||||
uint32_t sampled_ms,
|
||||
uint32_t doppler_max,
|
||||
uint32_t doppler_step,
|
||||
int64_t fs_in,
|
||||
int32_t samples_per_ms,
|
||||
int32_t samples_per_code,
|
||||
@@ -156,15 +157,6 @@ public:
|
||||
d_threshold = threshold;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
* \param doppler_step - Frequency bin of the search grid [Hz].
|
||||
*/
|
||||
inline void set_doppler_step(uint32_t doppler_step)
|
||||
{
|
||||
d_doppler_step = doppler_step;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Parallel Code Phase Search Acquisition signal processing.
|
||||
*/
|
||||
@@ -175,13 +167,13 @@ public:
|
||||
private:
|
||||
friend pcps_tong_acquisition_cc_sptr
|
||||
pcps_tong_make_acquisition_cc(uint32_t sampled_ms, uint32_t doppler_max,
|
||||
int64_t fs_in, int32_t samples_per_ms,
|
||||
uint32_t doppler_step, int64_t fs_in, int32_t samples_per_ms,
|
||||
int32_t samples_per_code, uint32_t tong_init_val,
|
||||
uint32_t tong_max_val, uint32_t tong_max_dwells,
|
||||
bool dump, const std::string& dump_filename, bool enable_monitor_output);
|
||||
|
||||
pcps_tong_acquisition_cc(uint32_t sampled_ms, uint32_t doppler_max,
|
||||
int64_t fs_in, int32_t samples_per_ms,
|
||||
uint32_t doppler_step, int64_t fs_in, int32_t samples_per_ms,
|
||||
int32_t samples_per_code, uint32_t tong_init_val,
|
||||
uint32_t tong_max_val, uint32_t tong_max_dwells,
|
||||
bool dump, const std::string& dump_filename, bool enable_monitor_output);
|
||||
@@ -219,7 +211,7 @@ private:
|
||||
uint32_t d_channel;
|
||||
uint32_t d_doppler_resolution;
|
||||
const uint32_t d_doppler_max;
|
||||
uint32_t d_doppler_step;
|
||||
const uint32_t d_doppler_step;
|
||||
uint32_t d_sampled_ms;
|
||||
uint32_t d_dwell_count;
|
||||
uint32_t d_tong_init_val;
|
||||
|
||||
@@ -46,7 +46,7 @@ public:
|
||||
|
||||
size_t it_size{sizeof(gr_complex)};
|
||||
|
||||
float doppler_step{250.0};
|
||||
float doppler_step{500.0};
|
||||
float samples_per_ms{0.0};
|
||||
float doppler_step2{125.0};
|
||||
float pfa{0.0};
|
||||
|
||||
@@ -35,6 +35,9 @@ void Acq_Conf_Fpga::SetFromConfiguration(const ConfigurationInterface *configura
|
||||
// max doppler
|
||||
doppler_max = configuration->property(role + ".doppler_max", doppler_max);
|
||||
|
||||
// max doppler
|
||||
doppler_step = configuration->property(role + ".doppler_step", 500);
|
||||
|
||||
// code chips per second
|
||||
code_rate_cps = code_chips_per_sec;
|
||||
|
||||
|
||||
@@ -64,7 +64,6 @@ Fpga_Acquisition::Fpga_Acquisition(std::string device_name,
|
||||
d_downsampling_filter_delay(0),
|
||||
d_select_queue(select_queue),
|
||||
d_doppler_max(doppler_max),
|
||||
d_doppler_step(0),
|
||||
d_PRN(0),
|
||||
d_IP_core_version(0)
|
||||
{
|
||||
|
||||
@@ -88,15 +88,6 @@ public:
|
||||
uint32_t *doppler_index,
|
||||
uint32_t *total_blk_exp);
|
||||
|
||||
/*!
|
||||
* \brief Set Doppler steps for the grid search
|
||||
* \param doppler_step - Frequency bin of the search grid [Hz].
|
||||
*/
|
||||
void set_doppler_step(uint32_t doppler_step)
|
||||
{
|
||||
d_doppler_step = doppler_step;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Reset the FPGA PL.
|
||||
*/
|
||||
@@ -212,7 +203,6 @@ private:
|
||||
uint32_t d_downsampling_filter_delay; // Impulse response delay of the downsampling filter
|
||||
uint32_t d_select_queue; // queue selection
|
||||
const uint32_t d_doppler_max; // max doppler
|
||||
uint32_t d_doppler_step; // doppler step
|
||||
uint32_t d_PRN; // PRN
|
||||
uint32_t d_IP_core_version; // FPGA acquisition IP core version
|
||||
};
|
||||
|
||||
@@ -74,28 +74,7 @@ Channel::Channel(const ConfigurationInterface* configuration,
|
||||
}
|
||||
}
|
||||
|
||||
// IMPORTANT: Do not change the order between set_doppler_step and set_threshold
|
||||
|
||||
uint32_t doppler_step = configuration->property("Acquisition_" + signal_str + std::to_string(channel_) + ".doppler_step", 0);
|
||||
if (doppler_step == 0)
|
||||
{
|
||||
doppler_step = configuration->property("Acquisition_" + signal_str + ".doppler_step", 500);
|
||||
}
|
||||
#if USE_GLOG_AND_GFLAGS
|
||||
if (FLAGS_doppler_step != 0)
|
||||
{
|
||||
doppler_step = static_cast<uint32_t>(FLAGS_doppler_step);
|
||||
}
|
||||
#else
|
||||
if (absl::GetFlag(FLAGS_doppler_step) != 0)
|
||||
{
|
||||
doppler_step = static_cast<uint32_t>(absl::GetFlag(FLAGS_doppler_step));
|
||||
}
|
||||
#endif
|
||||
DLOG(INFO) << "Channel " << channel_ << " Doppler_step = " << doppler_step;
|
||||
|
||||
acq_->set_doppler_step(doppler_step);
|
||||
|
||||
// IMPORTANT: set_threshold needs to be called after construction where doppler step is set (is it really though?)
|
||||
float threshold = configuration->property("Acquisition_" + signal_str + std::to_string(channel_) + ".threshold", static_cast<float>(0.0));
|
||||
if (threshold == 0.0)
|
||||
{
|
||||
|
||||
@@ -54,11 +54,7 @@ public:
|
||||
virtual void set_channel(unsigned int channel_id) = 0;
|
||||
virtual void set_channel_fsm(std::weak_ptr<ChannelFsm> channel_fsm) = 0;
|
||||
virtual void set_threshold(float threshold) = 0;
|
||||
virtual void set_doppler_step(unsigned int doppler_step) = 0;
|
||||
virtual void set_doppler_center(int doppler_center __attribute__((unused)))
|
||||
{
|
||||
return;
|
||||
}
|
||||
virtual void set_doppler_center(int /*doppler_center*/) {}
|
||||
virtual void init() = 0;
|
||||
virtual void set_local_code() = 0;
|
||||
virtual void set_state(int state) = 0;
|
||||
|
||||
@@ -854,7 +854,6 @@ int AcquisitionPerformanceTest::run_receiver()
|
||||
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
acquisition->set_channel(0);
|
||||
acquisition->set_doppler_step(config->property("Acquisition.doppler_step", 500));
|
||||
acquisition->set_threshold(config->property("Acquisition.threshold", 0.0));
|
||||
acquisition->init();
|
||||
acquisition->set_local_code();
|
||||
|
||||
@@ -322,10 +322,6 @@ TEST_F(BeidouB1iPcpsAcquisitionTest, ValidationOfResults)
|
||||
acquisition->set_threshold(0.0038);
|
||||
}) << "Failure setting threshold.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(doppler_step);
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->connect(top_block);
|
||||
}) << "Failure connecting acquisition to the top_block.";
|
||||
|
||||
@@ -320,10 +320,6 @@ TEST_F(BeidouB3iPcpsAcquisitionTest, ValidationOfResults)
|
||||
acquisition->set_threshold(0.0002);
|
||||
}) << "Failure setting threshold.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(doppler_step);
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->connect(top_block);
|
||||
}) << "Failure connecting acquisition to the top_block.";
|
||||
|
||||
@@ -456,10 +456,6 @@ TEST_F(GalileoE1Pcps8msAmbiguousAcquisitionGSoC2013Test, ConnectAndRun)
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(config->property("Acquisition_1B.doppler_step", 500));
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_threshold(config->property("Acquisition_1B.threshold", 0.0));
|
||||
}) << "Failure setting threshold.";
|
||||
@@ -502,10 +498,6 @@ TEST_F(GalileoE1Pcps8msAmbiguousAcquisitionGSoC2013Test, ValidationOfResults)
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(config->property("Acquisition_1B.doppler_step", 500));
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_threshold(config->property("Acquisition_1B.threshold", 0.0));
|
||||
}) << "Failure setting threshold.";
|
||||
@@ -585,10 +577,6 @@ TEST_F(GalileoE1Pcps8msAmbiguousAcquisitionGSoC2013Test, ValidationOfResultsProb
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(config->property("Acquisition_1B.doppler_step", 500));
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_threshold(config->property("Acquisition_1B.threshold", 0.0));
|
||||
}) << "Failure setting threshold.";
|
||||
|
||||
@@ -484,10 +484,6 @@ TEST_F(GalileoE1PcpsAmbiguousAcquisitionGSoC2013Test, ValidationOfResults)
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(config->property("Acquisition_1B.doppler_step", 500));
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->connect(top_block);
|
||||
}) << "Failure connecting acquisition to the top_block.";
|
||||
@@ -560,10 +556,6 @@ TEST_F(GalileoE1PcpsAmbiguousAcquisitionGSoC2013Test, ValidationOfResultsProbabi
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(config->property("Acquisition_1B.doppler_step", 500));
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->connect(top_block);
|
||||
}) << "Failure connecting acquisition to the top_block.";
|
||||
|
||||
@@ -275,10 +275,6 @@ TEST_F(GalileoE1PcpsAmbiguousAcquisitionGSoCTest, ValidationOfResults)
|
||||
acquisition->set_threshold(config->property("Acquisition_1B.threshold", 0.00001));
|
||||
}) << "Failure setting threshold.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(config->property("Acquisition_1B.doppler_step", 250));
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->connect(top_block);
|
||||
}) << "Failure connecting acquisition to the top_block.";
|
||||
|
||||
@@ -336,10 +336,6 @@ TEST_F(GalileoE1PcpsAmbiguousAcquisitionTest, ValidationOfResults)
|
||||
acquisition->set_threshold(config->property("Acquisition_1B.threshold", 1e-9));
|
||||
}) << "Failure setting threshold.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(config->property("Acquisition_1B.doppler_step", doppler_step));
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->connect(top_block);
|
||||
}) << "Failure connecting acquisition to the top_block.";
|
||||
|
||||
@@ -335,7 +335,6 @@ bool GalileoE1PcpsAmbiguousAcquisitionTestFpga::acquire_signal()
|
||||
acquisition->set_gnss_synchro(&tmp_gnss_synchro);
|
||||
acquisition->set_channel_fsm(channel_fsm_);
|
||||
acquisition->set_channel(1);
|
||||
acquisition->set_doppler_step(doppler_step);
|
||||
acquisition->set_doppler_center(0);
|
||||
acquisition->set_threshold(0.001);
|
||||
|
||||
|
||||
@@ -487,10 +487,6 @@ TEST_F(GalileoE1PcpsCccwsrAmbiguousAcquisitionTest, ValidationOfResults)
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(config->property("Acquisition_1B.doppler_step", 500));
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_threshold(config->property("Acquisition_1B.threshold", 0.00001));
|
||||
}) << "Failure setting threshold.";
|
||||
@@ -575,10 +571,6 @@ TEST_F(GalileoE1PcpsCccwsrAmbiguousAcquisitionTest, ValidationOfResultsProbabili
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(config->property("Acquisition_1B.doppler_step", 500));
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_threshold(config->property("Acquisition_1B.threshold", 0.00215));
|
||||
}) << "Failure setting threshold.";
|
||||
|
||||
@@ -479,7 +479,7 @@ void GalileoE1PcpsQuickSyncAmbiguousAcquisitionGSoC2014Test::config_3()
|
||||
config->set_property("Acquisition_1B.bit_transition_flag", "false");
|
||||
config->set_property("Acquisition_1B.threshold", "0.2");
|
||||
config->set_property("Acquisition_1B.doppler_max", "10000");
|
||||
config->set_property("Acquisition_1B.doppler_step", "125");
|
||||
config->set_property("Acquisition_1B.doppler_step", "50");
|
||||
config->set_property("Acquisition_1B.folding_factor", "4");
|
||||
config->set_property("Acquisition_1B.dump", "false");
|
||||
}
|
||||
@@ -638,10 +638,6 @@ TEST_F(GalileoE1PcpsQuickSyncAmbiguousAcquisitionGSoC2014Test, ValidationOfResul
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(config->property("Acquisition_1B.doppler_step", 125));
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_threshold(1);
|
||||
}) << "Failure setting threshold.";
|
||||
@@ -724,10 +720,6 @@ TEST_F(GalileoE1PcpsQuickSyncAmbiguousAcquisitionGSoC2014Test, ValidationOfResul
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(50);
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_threshold(5);
|
||||
}) << "Failure setting threshold.";
|
||||
@@ -807,10 +799,6 @@ TEST_F(GalileoE1PcpsQuickSyncAmbiguousAcquisitionGSoC2014Test, ValidationOfResul
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(config->property("Acquisition_1B.doppler_step", 500));
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_threshold(config->property("Acquisition_1B.threshold", 0.0));
|
||||
}) << "Failure setting threshold.";
|
||||
|
||||
@@ -258,7 +258,7 @@ void GalileoE1PcpsTongAmbiguousAcquisitionGSoC2013Test::config_1()
|
||||
config->set_property("Acquisition_1B.tong_max_val", "8");
|
||||
config->set_property("Acquisition_1B.threshold", "0.3");
|
||||
config->set_property("Acquisition_1B.doppler_max", "10000");
|
||||
config->set_property("Acquisition_1B.doppler_step", "250");
|
||||
config->set_property("Acquisition_1B.doppler_step", "100");
|
||||
config->set_property("Acquisition_1B.dump", "false");
|
||||
}
|
||||
|
||||
@@ -485,10 +485,6 @@ TEST_F(GalileoE1PcpsTongAmbiguousAcquisitionGSoC2013Test, ValidationOfResults)
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(100);
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_threshold(0.01);
|
||||
}) << "Failure setting threshold.";
|
||||
@@ -569,10 +565,6 @@ TEST_F(GalileoE1PcpsTongAmbiguousAcquisitionGSoC2013Test, ValidationOfResultsPro
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(config->property("Acquisition_1B.doppler_step", 500));
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_threshold(config->property("Acquisition_1B.threshold", 0.00028));
|
||||
}) << "Failure setting threshold.";
|
||||
|
||||
@@ -585,10 +585,6 @@ TEST_F(GalileoE5aPcpsAcquisitionGSoC2014GensourceTest, ValidationOfSIM)
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(config->property("Acquisition_5X.doppler_step", 100));
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_threshold(config->property("Acquisition_5X.threshold", 0.0001));
|
||||
}) << "Failure setting threshold.";
|
||||
|
||||
@@ -377,10 +377,6 @@ TEST_F(GalileoE5bPcpsAcquisitionTest, ValidationOfResults)
|
||||
acquisition->set_threshold(0.0001);
|
||||
}) << "Failure setting threshold.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(100);
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->connect(top_block);
|
||||
}) << "Failure connecting acquisition to the top_block.";
|
||||
|
||||
@@ -372,10 +372,6 @@ TEST_F(GalileoE6PcpsAcquisitionTest, ValidationOfResults)
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(100);
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->connect(top_block);
|
||||
}) << "Failure connecting acquisition to the top_block.";
|
||||
|
||||
@@ -491,10 +491,6 @@ TEST_F(GlonassL1CaPcpsAcquisitionGSoC2017Test, ValidationOfResults)
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(500);
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->connect(top_block);
|
||||
top_block->msg_connect(acquisition->get_right_block(), pmt::mp("events"), msg_rx, pmt::mp("events"));
|
||||
@@ -569,10 +565,6 @@ TEST_F(GlonassL1CaPcpsAcquisitionGSoC2017Test, ValidationOfResultsProbabilities)
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(config->property("Acquisition.doppler_step", 500));
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->connect(top_block);
|
||||
top_block->msg_connect(acquisition->get_right_block(), pmt::mp("events"), msg_rx, pmt::mp("events"));
|
||||
|
||||
@@ -238,10 +238,6 @@ TEST_F(GlonassL1CaPcpsAcquisitionTest, ValidationOfResults)
|
||||
acquisition->set_threshold(0.005);
|
||||
}) << "Failure setting threshold.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(500);
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->connect(top_block);
|
||||
}) << "Failure connecting acquisition to the top_block.";
|
||||
|
||||
@@ -489,10 +489,6 @@ TEST_F(GlonassL2CaPcpsAcquisitionTest, ValidationOfResults)
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(500);
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_threshold(0.0005);
|
||||
}) << "Failure setting threshold.";
|
||||
@@ -571,10 +567,6 @@ TEST_F(GlonassL2CaPcpsAcquisitionTest, ValidationOfResultsProbabilities)
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(config->property("Acquisition_2G.doppler_step", 500));
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_threshold(config->property("Acquisition_2G.threshold", 0.0));
|
||||
}) << "Failure setting threshold.";
|
||||
|
||||
@@ -483,10 +483,6 @@ TEST_F(GpsL1CaPcpsAcquisitionGSoC2013Test, ValidationOfResults)
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(500);
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->connect(top_block);
|
||||
top_block->msg_connect(acquisition->get_right_block(), pmt::mp("events"), msg_rx, pmt::mp("events"));
|
||||
@@ -561,10 +557,6 @@ TEST_F(GpsL1CaPcpsAcquisitionGSoC2013Test, ValidationOfResultsProbabilities)
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(config->property("Acquisition_1C.doppler_step", 500));
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->connect(top_block);
|
||||
top_block->msg_connect(acquisition->get_right_block(), pmt::mp("events"), msg_rx, pmt::mp("events"));
|
||||
|
||||
@@ -333,10 +333,6 @@ TEST_F(GpsL1CaPcpsAcquisitionTest /*unused*/, ValidationOfResults /*unused*/)
|
||||
acquisition->set_threshold(0.001);
|
||||
}) << "Failure setting threshold.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(doppler_step);
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->connect(top_block);
|
||||
}) << "Failure connecting acquisition to the top_block.";
|
||||
|
||||
@@ -334,7 +334,6 @@ bool GpsL1CaPcpsAcquisitionTestFpga::acquire_signal()
|
||||
acquisition->set_gnss_synchro(&tmp_gnss_synchro);
|
||||
acquisition->set_channel_fsm(channel_fsm_);
|
||||
acquisition->set_channel(1);
|
||||
acquisition->set_doppler_step(doppler_step);
|
||||
acquisition->set_doppler_center(0);
|
||||
acquisition->set_threshold(0.001);
|
||||
|
||||
|
||||
@@ -482,10 +482,6 @@ TEST_F(GpsL1CaPcpsOpenClAcquisitionGSoC2013Test, ValidationOfResults)
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(config->property("Acquisition_1C.doppler_step", 500));
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_threshold(config->property("Acquisition_1C.threshold", 0.0));
|
||||
}) << "Failure setting threshold.";
|
||||
@@ -566,10 +562,6 @@ TEST_F(GpsL1CaPcpsOpenClAcquisitionGSoC2013Test, ValidationOfResultsProbabilitie
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(config->property("Acquisition_1C.doppler_step", 500));
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_threshold(config->property("Acquisition_1C.threshold", 0.0));
|
||||
}) << "Failure setting threshold.";
|
||||
|
||||
@@ -610,10 +610,6 @@ TEST_F(GpsL1CaPcpsQuickSyncAcquisitionGSoC2014Test, ValidationOfResults)
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(250);
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_threshold(100);
|
||||
}) << "Failure setting threshold.";
|
||||
@@ -699,10 +695,6 @@ TEST_F(GpsL1CaPcpsQuickSyncAcquisitionGSoC2014Test, ValidationOfResultsWithNoise
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(250);
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_threshold(100);
|
||||
}) << "Failure setting threshold.";
|
||||
|
||||
@@ -479,10 +479,6 @@ TEST_F(GpsL1CaPcpsTongAcquisitionGSoC2013Test, ValidationOfResults)
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(config->property("Acquisition_1C.doppler_step", 500));
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_threshold(config->property("Acquisition_1C.threshold", 0.0));
|
||||
}) << "Failure setting threshold.";
|
||||
@@ -562,10 +558,6 @@ TEST_F(GpsL1CaPcpsTongAcquisitionGSoC2013Test, ValidationOfResultsProbabilities)
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
}) << "Failure setting gnss_synchro.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(config->property("Acquisition_1C.doppler_step", 500));
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_threshold(config->property("Acquisition_1C.threshold", 0.0));
|
||||
}) << "Failure setting threshold.";
|
||||
|
||||
@@ -332,10 +332,6 @@ TEST_F(GpsL2MPcpsAcquisitionTest, ValidationOfResults)
|
||||
acquisition->set_threshold(0.001);
|
||||
}) << "Failure setting threshold.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->set_doppler_step(doppler_step);
|
||||
}) << "Failure setting doppler_step.";
|
||||
|
||||
ASSERT_NO_THROW({
|
||||
acquisition->connect(top_block);
|
||||
}) << "Failure connecting acquisition to the top_block.";
|
||||
|
||||
@@ -543,10 +543,8 @@ bool HybridObservablesTest::acquire_signal()
|
||||
acquisition->set_gnss_synchro(&tmp_gnss_synchro);
|
||||
acquisition->set_channel(0);
|
||||
#if USE_GLOG_AND_GFLAGS
|
||||
acquisition->set_doppler_step(config->property("Acquisition.doppler_step", FLAGS_external_signal_acquisition_doppler_step_hz));
|
||||
acquisition->set_threshold(config->property("Acquisition.threshold", FLAGS_external_signal_acquisition_threshold));
|
||||
#else
|
||||
acquisition->set_doppler_step(config->property("Acquisition.doppler_step", absl::GetFlag(FLAGS_external_signal_acquisition_doppler_step_hz)));
|
||||
acquisition->set_threshold(config->property("Acquisition.threshold", absl::GetFlag(FLAGS_external_signal_acquisition_threshold)));
|
||||
#endif
|
||||
acquisition->init();
|
||||
|
||||
@@ -700,11 +700,9 @@ bool HybridObservablesTestFpga::acquire_signal()
|
||||
acquisition->set_channel_fsm(channel_fsm_);
|
||||
acquisition->set_channel(0);
|
||||
#if USE_GLOG_AND_GFLAGS
|
||||
acquisition->set_doppler_step(config->property("Acquisition.doppler_step", FLAGS_external_signal_acquisition_doppler_step_hz));
|
||||
acquisition->set_doppler_center(0);
|
||||
acquisition->set_threshold(config->property("Acquisition.threshold", FLAGS_external_signal_acquisition_threshold));
|
||||
#else
|
||||
acquisition->set_doppler_step(config->property("Acquisition.doppler_step", absl::GetFlag(FLAGS_external_signal_acquisition_doppler_step_hz)));
|
||||
acquisition->set_doppler_center(0);
|
||||
acquisition->set_threshold(config->property("Acquisition.threshold", absl::GetFlag(FLAGS_external_signal_acquisition_threshold)));
|
||||
#endif
|
||||
|
||||
@@ -536,10 +536,8 @@ bool TrackingPullInTest::acquire_signal(int SV_ID)
|
||||
acquisition->set_gnss_synchro(&tmp_gnss_synchro);
|
||||
acquisition->set_channel(0);
|
||||
#if USE_GLOG_AND_GFLAGS
|
||||
acquisition->set_doppler_step(config->property("Acquisition.doppler_step", FLAGS_external_signal_acquisition_doppler_step_hz));
|
||||
acquisition->set_threshold(config->property("Acquisition.threshold", FLAGS_external_signal_acquisition_threshold));
|
||||
#else
|
||||
acquisition->set_doppler_step(config->property("Acquisition.doppler_step", absl::GetFlag(FLAGS_external_signal_acquisition_doppler_step_hz)));
|
||||
acquisition->set_threshold(config->property("Acquisition.threshold", absl::GetFlag(FLAGS_external_signal_acquisition_threshold)));
|
||||
#endif
|
||||
acquisition->init();
|
||||
|
||||
@@ -696,11 +696,9 @@ bool TrackingPullInTestFpga::acquire_signal(int SV_ID)
|
||||
acquisition->set_channel_fsm(channel_fsm_);
|
||||
acquisition->set_channel(0);
|
||||
#if USE_GLOG_AND_GFLAGS
|
||||
acquisition->set_doppler_step(config->property("Acquisition.doppler_step", FLAGS_external_signal_acquisition_doppler_step_hz));
|
||||
acquisition->set_doppler_center(0);
|
||||
acquisition->set_threshold(config->property("Acquisition.threshold", FLAGS_external_signal_acquisition_threshold));
|
||||
#else
|
||||
acquisition->set_doppler_step(config->property("Acquisition.doppler_step", absl::GetFlag(FLAGS_external_signal_acquisition_doppler_step_hz)));
|
||||
acquisition->set_doppler_center(0);
|
||||
acquisition->set_threshold(config->property("Acquisition.threshold", absl::GetFlag(FLAGS_external_signal_acquisition_threshold)));
|
||||
#endif
|
||||
|
||||
@@ -480,7 +480,6 @@ int main(int argc, char** argv)
|
||||
acquisition->set_channel(1);
|
||||
acquisition->set_gnss_synchro(&gnss_synchro);
|
||||
acquisition->set_threshold(configuration->property("Acquisition.threshold", 2.0));
|
||||
acquisition->set_doppler_step(configuration->property("Acquisition.doppler_step", 250));
|
||||
|
||||
gr::block_sptr source;
|
||||
source = gr::blocks::file_source::make(sizeof(gr_complex), "tmp_capture.dat");
|
||||
|
||||
Reference in New Issue
Block a user