mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-14 20:20:35 +00:00
Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into next
This commit is contained in:
commit
0b3bfddeb9
@ -199,14 +199,14 @@ void BeidouB1iPcpsAcquisition::init()
|
|||||||
|
|
||||||
void BeidouB1iPcpsAcquisition::set_local_code()
|
void BeidouB1iPcpsAcquisition::set_local_code()
|
||||||
{
|
{
|
||||||
std::unique_ptr<std::complex<float>> code{new std::complex<float>[code_length_]};
|
std::vector<std::complex<float>> code(code_length_);
|
||||||
|
|
||||||
beidou_b1i_code_gen_complex_sampled(gsl::span<std::complex<float>>(code, code_length_), gnss_synchro_->PRN, fs_in_, 0);
|
beidou_b1i_code_gen_complex_sampled(code, gnss_synchro_->PRN, fs_in_, 0);
|
||||||
|
|
||||||
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
||||||
for (unsigned int i = 0; i < num_codes_; i++)
|
for (unsigned int i = 0; i < num_codes_; i++)
|
||||||
{
|
{
|
||||||
std::copy_n(code.get(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
std::copy_n(code.data(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
||||||
}
|
}
|
||||||
|
|
||||||
acquisition_->set_local_code(code_.data());
|
acquisition_->set_local_code(code_.data());
|
||||||
|
@ -200,14 +200,14 @@ void BeidouB3iPcpsAcquisition::init()
|
|||||||
|
|
||||||
void BeidouB3iPcpsAcquisition::set_local_code()
|
void BeidouB3iPcpsAcquisition::set_local_code()
|
||||||
{
|
{
|
||||||
std::unique_ptr<std::complex<float>> code{new std::complex<float>[code_length_]};
|
std::vector<std::complex<float>> code(code_length_);
|
||||||
|
|
||||||
beidou_b3i_code_gen_complex_sampled(gsl::span<std::complex<float>>(code, code_length_), gnss_synchro_->PRN, fs_in_, 0);
|
beidou_b3i_code_gen_complex_sampled(code, gnss_synchro_->PRN, fs_in_, 0);
|
||||||
|
|
||||||
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
||||||
for (unsigned int i = 0; i < num_codes_; i++)
|
for (unsigned int i = 0; i < num_codes_; i++)
|
||||||
{
|
{
|
||||||
std::copy_n(code.get(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
std::copy_n(code.data(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
||||||
}
|
}
|
||||||
|
|
||||||
acquisition_->set_local_code(code_.data());
|
acquisition_->set_local_code(code_.data());
|
||||||
|
@ -210,19 +210,19 @@ void GalileoE1Pcps8msAmbiguousAcquisition::set_local_code()
|
|||||||
bool cboc = configuration_->property(
|
bool cboc = configuration_->property(
|
||||||
"Acquisition" + std::to_string(channel_) + ".cboc", false);
|
"Acquisition" + std::to_string(channel_) + ".cboc", false);
|
||||||
|
|
||||||
std::unique_ptr<std::complex<float>> code{new std::complex<float>[code_length_]};
|
std::vector<std::complex<float>> code(code_length_);
|
||||||
std::array<char, 3> Signal_{};
|
std::array<char, 3> Signal_{};
|
||||||
Signal_[0] = gnss_synchro_->Signal[0];
|
Signal_[0] = gnss_synchro_->Signal[0];
|
||||||
Signal_[1] = gnss_synchro_->Signal[1];
|
Signal_[1] = gnss_synchro_->Signal[1];
|
||||||
Signal_[2] = '\0';
|
Signal_[2] = '\0';
|
||||||
|
|
||||||
galileo_e1_code_gen_complex_sampled(gsl::span<std::complex<float>>(code, code_length_), Signal_,
|
galileo_e1_code_gen_complex_sampled(code, Signal_,
|
||||||
cboc, gnss_synchro_->PRN, fs_in_, 0, false);
|
cboc, gnss_synchro_->PRN, fs_in_, 0, false);
|
||||||
|
|
||||||
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
||||||
for (unsigned int i = 0; i < sampled_ms_ / 4; i++)
|
for (unsigned int i = 0; i < sampled_ms_ / 4; i++)
|
||||||
{
|
{
|
||||||
std::copy_n(code.get(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
std::copy_n(code.data(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
||||||
}
|
}
|
||||||
|
|
||||||
acquisition_cc_->set_local_code(code_.data());
|
acquisition_cc_->set_local_code(code_.data());
|
||||||
|
@ -245,8 +245,7 @@ void GalileoE1PcpsAmbiguousAcquisition::set_local_code()
|
|||||||
bool cboc = configuration_->property(
|
bool cboc = configuration_->property(
|
||||||
"Acquisition" + std::to_string(channel_) + ".cboc", false);
|
"Acquisition" + std::to_string(channel_) + ".cboc", false);
|
||||||
|
|
||||||
std::unique_ptr<std::complex<float>> code{new std::complex<float>[code_length_]};
|
std::vector<std::complex<float>> code(code_length_);
|
||||||
gsl::span<std::complex<float>> code_span(code.get(), code_length_);
|
|
||||||
|
|
||||||
if (acquire_pilot_ == true)
|
if (acquire_pilot_ == true)
|
||||||
{
|
{
|
||||||
@ -254,12 +253,12 @@ void GalileoE1PcpsAmbiguousAcquisition::set_local_code()
|
|||||||
std::array<char, 3> pilot_signal = {{'1', 'C', '\0'}};
|
std::array<char, 3> pilot_signal = {{'1', 'C', '\0'}};
|
||||||
if (acq_parameters_.use_automatic_resampler)
|
if (acq_parameters_.use_automatic_resampler)
|
||||||
{
|
{
|
||||||
galileo_e1_code_gen_complex_sampled(code_span, pilot_signal,
|
galileo_e1_code_gen_complex_sampled(code, pilot_signal,
|
||||||
cboc, gnss_synchro_->PRN, acq_parameters_.resampled_fs, 0, false);
|
cboc, gnss_synchro_->PRN, acq_parameters_.resampled_fs, 0, false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
galileo_e1_code_gen_complex_sampled(code_span, pilot_signal,
|
galileo_e1_code_gen_complex_sampled(code, pilot_signal,
|
||||||
cboc, gnss_synchro_->PRN, fs_in_, 0, false);
|
cboc, gnss_synchro_->PRN, fs_in_, 0, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -271,12 +270,12 @@ void GalileoE1PcpsAmbiguousAcquisition::set_local_code()
|
|||||||
Signal_[2] = '\0';
|
Signal_[2] = '\0';
|
||||||
if (acq_parameters_.use_automatic_resampler)
|
if (acq_parameters_.use_automatic_resampler)
|
||||||
{
|
{
|
||||||
galileo_e1_code_gen_complex_sampled(code_span, Signal_,
|
galileo_e1_code_gen_complex_sampled(code, Signal_,
|
||||||
cboc, gnss_synchro_->PRN, acq_parameters_.resampled_fs, 0, false);
|
cboc, gnss_synchro_->PRN, acq_parameters_.resampled_fs, 0, false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
galileo_e1_code_gen_complex_sampled(code_span, Signal_,
|
galileo_e1_code_gen_complex_sampled(code, Signal_,
|
||||||
cboc, gnss_synchro_->PRN, fs_in_, 0, false);
|
cboc, gnss_synchro_->PRN, fs_in_, 0, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -284,7 +283,7 @@ void GalileoE1PcpsAmbiguousAcquisition::set_local_code()
|
|||||||
gsl::span<gr_complex> code__span(code_.data(), vector_length_);
|
gsl::span<gr_complex> code__span(code_.data(), vector_length_);
|
||||||
for (unsigned int i = 0; i < sampled_ms_ / 4; i++)
|
for (unsigned int i = 0; i < sampled_ms_ / 4; i++)
|
||||||
{
|
{
|
||||||
std::copy_n(code.get(), code_length_, code__span.subspan(i * code_length_, code_length_).data());
|
std::copy_n(code.data(), code_length_, code__span.subspan(i * code_length_, code_length_).data());
|
||||||
}
|
}
|
||||||
|
|
||||||
acquisition_->set_local_code(code_.data());
|
acquisition_->set_local_code(code_.data());
|
||||||
|
@ -244,19 +244,19 @@ void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_local_code()
|
|||||||
bool cboc = configuration_->property(
|
bool cboc = configuration_->property(
|
||||||
"Acquisition" + std::to_string(channel_) + ".cboc", false);
|
"Acquisition" + std::to_string(channel_) + ".cboc", false);
|
||||||
|
|
||||||
std::unique_ptr<std::complex<float>> code{new std::complex<float>[code_length_]};
|
std::vector<std::complex<float>> code(code_length_);
|
||||||
std::array<char, 3> Signal_{};
|
std::array<char, 3> Signal_{};
|
||||||
Signal_[0] = gnss_synchro_->Signal[0];
|
Signal_[0] = gnss_synchro_->Signal[0];
|
||||||
Signal_[1] = gnss_synchro_->Signal[1];
|
Signal_[1] = gnss_synchro_->Signal[1];
|
||||||
Signal_[2] = '\0';
|
Signal_[2] = '\0';
|
||||||
|
|
||||||
galileo_e1_code_gen_complex_sampled(gsl::span<std::complex<float>>(code.get(), code_length_), Signal_,
|
galileo_e1_code_gen_complex_sampled(code, Signal_,
|
||||||
cboc, gnss_synchro_->PRN, fs_in_, 0, false);
|
cboc, gnss_synchro_->PRN, fs_in_, 0, false);
|
||||||
|
|
||||||
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
||||||
for (unsigned int i = 0; i < (sampled_ms_ / (folding_factor_ * 4)); i++)
|
for (unsigned int i = 0; i < (sampled_ms_ / (folding_factor_ * 4)); i++)
|
||||||
{
|
{
|
||||||
std::copy_n(code.get(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
std::copy_n(code.data(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
||||||
}
|
}
|
||||||
|
|
||||||
acquisition_cc_->set_local_code(code_.data());
|
acquisition_cc_->set_local_code(code_.data());
|
||||||
|
@ -214,18 +214,18 @@ void GalileoE1PcpsTongAmbiguousAcquisition::set_local_code()
|
|||||||
bool cboc = configuration_->property(
|
bool cboc = configuration_->property(
|
||||||
"Acquisition" + std::to_string(channel_) + ".cboc", false);
|
"Acquisition" + std::to_string(channel_) + ".cboc", false);
|
||||||
|
|
||||||
std::unique_ptr<std::complex<float>> code{new std::complex<float>[code_length_]};
|
std::vector<std::complex<float>> code(code_length_);
|
||||||
std::array<char, 3> Signal_{};
|
std::array<char, 3> Signal_{};
|
||||||
Signal_[0] = gnss_synchro_->Signal[0];
|
Signal_[0] = gnss_synchro_->Signal[0];
|
||||||
Signal_[1] = gnss_synchro_->Signal[1];
|
Signal_[1] = gnss_synchro_->Signal[1];
|
||||||
Signal_[2] = '\0';
|
Signal_[2] = '\0';
|
||||||
galileo_e1_code_gen_complex_sampled(gsl::span<std::complex<float>>(code.get(), code_length_), Signal_,
|
galileo_e1_code_gen_complex_sampled(code, Signal_,
|
||||||
cboc, gnss_synchro_->PRN, fs_in_, 0, false);
|
cboc, gnss_synchro_->PRN, fs_in_, 0, false);
|
||||||
|
|
||||||
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
||||||
for (unsigned int i = 0; i < sampled_ms_ / 4; i++)
|
for (unsigned int i = 0; i < sampled_ms_ / 4; i++)
|
||||||
{
|
{
|
||||||
std::copy_n(code.get(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
std::copy_n(code.data(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
||||||
}
|
}
|
||||||
|
|
||||||
acquisition_cc_->set_local_code(code_.data());
|
acquisition_cc_->set_local_code(code_.data());
|
||||||
|
@ -209,6 +209,7 @@ void GalileoE5aPcpsAcquisition::set_doppler_step(unsigned int doppler_step)
|
|||||||
acquisition_->set_doppler_step(doppler_step_);
|
acquisition_->set_doppler_step(doppler_step_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GalileoE5aPcpsAcquisition::set_doppler_center(int doppler_center)
|
void GalileoE5aPcpsAcquisition::set_doppler_center(int doppler_center)
|
||||||
{
|
{
|
||||||
doppler_center_ = doppler_center;
|
doppler_center_ = doppler_center;
|
||||||
@ -216,6 +217,7 @@ void GalileoE5aPcpsAcquisition::set_doppler_center(int doppler_center)
|
|||||||
acquisition_->set_doppler_center(doppler_center_);
|
acquisition_->set_doppler_center(doppler_center_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GalileoE5aPcpsAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro)
|
void GalileoE5aPcpsAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro)
|
||||||
{
|
{
|
||||||
gnss_synchro_ = gnss_synchro;
|
gnss_synchro_ = gnss_synchro;
|
||||||
@ -237,7 +239,7 @@ void GalileoE5aPcpsAcquisition::init()
|
|||||||
|
|
||||||
void GalileoE5aPcpsAcquisition::set_local_code()
|
void GalileoE5aPcpsAcquisition::set_local_code()
|
||||||
{
|
{
|
||||||
std::unique_ptr<std::complex<float>> code{new std::complex<float>[code_length_]};
|
std::vector<std::complex<float>> code(code_length_);
|
||||||
std::array<char, 3> signal_{};
|
std::array<char, 3> signal_{};
|
||||||
signal_[0] = '5';
|
signal_[0] = '5';
|
||||||
signal_[2] = '\0';
|
signal_[2] = '\0';
|
||||||
@ -257,16 +259,16 @@ void GalileoE5aPcpsAcquisition::set_local_code()
|
|||||||
|
|
||||||
if (acq_parameters_.use_automatic_resampler)
|
if (acq_parameters_.use_automatic_resampler)
|
||||||
{
|
{
|
||||||
galileo_e5_a_code_gen_complex_sampled(gsl::span<gr_complex>(code.get(), code_length_), signal_, gnss_synchro_->PRN, acq_parameters_.resampled_fs, 0);
|
galileo_e5_a_code_gen_complex_sampled(code, signal_, gnss_synchro_->PRN, acq_parameters_.resampled_fs, 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
galileo_e5_a_code_gen_complex_sampled(gsl::span<gr_complex>(code.get(), code_length_), signal_, gnss_synchro_->PRN, fs_in_, 0);
|
galileo_e5_a_code_gen_complex_sampled(code, signal_, gnss_synchro_->PRN, fs_in_, 0);
|
||||||
}
|
}
|
||||||
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
||||||
for (unsigned int i = 0; i < sampled_ms_; i++)
|
for (unsigned int i = 0; i < sampled_ms_; i++)
|
||||||
{
|
{
|
||||||
std::copy_n(code.get(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
std::copy_n(code.data(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
||||||
}
|
}
|
||||||
|
|
||||||
acquisition_->set_local_code(code_.data());
|
acquisition_->set_local_code(code_.data());
|
||||||
|
@ -202,14 +202,14 @@ void GlonassL1CaPcpsAcquisition::init()
|
|||||||
|
|
||||||
void GlonassL1CaPcpsAcquisition::set_local_code()
|
void GlonassL1CaPcpsAcquisition::set_local_code()
|
||||||
{
|
{
|
||||||
std::unique_ptr<std::complex<float>> code{new std::complex<float>[code_length_]};
|
std::vector<std::complex<float>> code(code_length_);
|
||||||
|
|
||||||
glonass_l1_ca_code_gen_complex_sampled(gsl::span<std::complex<float>>(code, code_length_), /* gnss_synchro_->PRN,*/ fs_in_, 0);
|
glonass_l1_ca_code_gen_complex_sampled(code, fs_in_, 0);
|
||||||
|
|
||||||
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
||||||
for (unsigned int i = 0; i < sampled_ms_; i++)
|
for (unsigned int i = 0; i < sampled_ms_; i++)
|
||||||
{
|
{
|
||||||
std::copy_n(code.get(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
std::copy_n(code.data(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
||||||
}
|
}
|
||||||
|
|
||||||
acquisition_->set_local_code(code_.data());
|
acquisition_->set_local_code(code_.data());
|
||||||
|
@ -201,14 +201,14 @@ void GlonassL2CaPcpsAcquisition::init()
|
|||||||
|
|
||||||
void GlonassL2CaPcpsAcquisition::set_local_code()
|
void GlonassL2CaPcpsAcquisition::set_local_code()
|
||||||
{
|
{
|
||||||
std::unique_ptr<std::complex<float>> code{new std::complex<float>[code_length_]};
|
std::vector<std::complex<float>> code(code_length_);
|
||||||
|
|
||||||
glonass_l2_ca_code_gen_complex_sampled(gsl::span<std::complex<float>>(code, code_length_), /* gnss_synchro_->PRN,*/ fs_in_, 0);
|
glonass_l2_ca_code_gen_complex_sampled(code, fs_in_, 0);
|
||||||
|
|
||||||
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
||||||
for (unsigned int i = 0; i < sampled_ms_; i++)
|
for (unsigned int i = 0; i < sampled_ms_; i++)
|
||||||
{
|
{
|
||||||
std::copy_n(code.get(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
std::copy_n(code.data(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
||||||
}
|
}
|
||||||
|
|
||||||
acquisition_->set_local_code(code_.data());
|
acquisition_->set_local_code(code_.data());
|
||||||
|
@ -201,6 +201,7 @@ void GpsL1CaPcpsAcquisition::set_doppler_step(unsigned int doppler_step)
|
|||||||
acquisition_->set_doppler_step(doppler_step_);
|
acquisition_->set_doppler_step(doppler_step_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GpsL1CaPcpsAcquisition::set_doppler_center(int doppler_center)
|
void GpsL1CaPcpsAcquisition::set_doppler_center(int doppler_center)
|
||||||
{
|
{
|
||||||
doppler_center_ = doppler_center;
|
doppler_center_ = doppler_center;
|
||||||
@ -208,6 +209,7 @@ void GpsL1CaPcpsAcquisition::set_doppler_center(int doppler_center)
|
|||||||
acquisition_->set_doppler_center(doppler_center_);
|
acquisition_->set_doppler_center(doppler_center_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GpsL1CaPcpsAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro)
|
void GpsL1CaPcpsAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro)
|
||||||
{
|
{
|
||||||
gnss_synchro_ = gnss_synchro;
|
gnss_synchro_ = gnss_synchro;
|
||||||
@ -230,20 +232,20 @@ void GpsL1CaPcpsAcquisition::init()
|
|||||||
|
|
||||||
void GpsL1CaPcpsAcquisition::set_local_code()
|
void GpsL1CaPcpsAcquisition::set_local_code()
|
||||||
{
|
{
|
||||||
std::unique_ptr<std::complex<float>> code{new std::complex<float>[code_length_]};
|
std::vector<std::complex<float>> code(code_length_);
|
||||||
|
|
||||||
if (acq_parameters_.use_automatic_resampler)
|
if (acq_parameters_.use_automatic_resampler)
|
||||||
{
|
{
|
||||||
gps_l1_ca_code_gen_complex_sampled(gsl::span<std::complex<float>>(code, code_length_), gnss_synchro_->PRN, acq_parameters_.resampled_fs, 0);
|
gps_l1_ca_code_gen_complex_sampled(code, gnss_synchro_->PRN, acq_parameters_.resampled_fs, 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gps_l1_ca_code_gen_complex_sampled(gsl::span<std::complex<float>>(code, code_length_), gnss_synchro_->PRN, fs_in_, 0);
|
gps_l1_ca_code_gen_complex_sampled(code, gnss_synchro_->PRN, fs_in_, 0);
|
||||||
}
|
}
|
||||||
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
||||||
for (unsigned int i = 0; i < sampled_ms_; i++)
|
for (unsigned int i = 0; i < sampled_ms_; i++)
|
||||||
{
|
{
|
||||||
std::copy_n(code.get(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
std::copy_n(code.data(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
||||||
}
|
}
|
||||||
|
|
||||||
acquisition_->set_local_code(code_.data());
|
acquisition_->set_local_code(code_.data());
|
||||||
@ -264,7 +266,7 @@ void GpsL1CaPcpsAcquisition::set_state(int state)
|
|||||||
|
|
||||||
float GpsL1CaPcpsAcquisition::calculate_threshold(float pfa)
|
float GpsL1CaPcpsAcquisition::calculate_threshold(float pfa)
|
||||||
{
|
{
|
||||||
//Calculate the threshold
|
// Calculate the threshold
|
||||||
unsigned int frequency_bins = 0;
|
unsigned int frequency_bins = 0;
|
||||||
for (int doppler = static_cast<int>(-doppler_max_); doppler <= static_cast<int>(doppler_max_); doppler += doppler_step_)
|
for (int doppler = static_cast<int>(-doppler_max_); doppler <= static_cast<int>(doppler_max_); doppler += doppler_step_)
|
||||||
{
|
{
|
||||||
@ -355,6 +357,7 @@ gr::basic_block_sptr GpsL1CaPcpsAcquisition::get_right_block()
|
|||||||
return acquisition_;
|
return acquisition_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GpsL1CaPcpsAcquisition::set_resampler_latency(uint32_t latency_samples)
|
void GpsL1CaPcpsAcquisition::set_resampler_latency(uint32_t latency_samples)
|
||||||
{
|
{
|
||||||
acquisition_->set_resampler_latency(latency_samples);
|
acquisition_->set_resampler_latency(latency_samples);
|
||||||
|
@ -206,14 +206,14 @@ void GpsL1CaPcpsOpenClAcquisition::set_local_code()
|
|||||||
{
|
{
|
||||||
if (item_type_ == "gr_complex")
|
if (item_type_ == "gr_complex")
|
||||||
{
|
{
|
||||||
std::unique_ptr<std::complex<float>> code{new std::complex<float>[code_length_]};
|
std::vector<std::complex<float>> code(code_length_);
|
||||||
|
|
||||||
gps_l1_ca_code_gen_complex_sampled(gsl::span<std::complex<float>>(code, code_length_), gnss_synchro_->PRN, fs_in_, 0);
|
gps_l1_ca_code_gen_complex_sampled(code, gnss_synchro_->PRN, fs_in_, 0);
|
||||||
|
|
||||||
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
||||||
for (unsigned int i = 0; i < sampled_ms_; i++)
|
for (unsigned int i = 0; i < sampled_ms_; i++)
|
||||||
{
|
{
|
||||||
std::copy_n(code.get(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
std::copy_n(code.data(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
||||||
}
|
}
|
||||||
|
|
||||||
acquisition_cc_->set_local_code(code_.data());
|
acquisition_cc_->set_local_code(code_.data());
|
||||||
|
@ -232,14 +232,14 @@ void GpsL1CaPcpsQuickSyncAcquisition::set_local_code()
|
|||||||
{
|
{
|
||||||
if (item_type_ == "gr_complex")
|
if (item_type_ == "gr_complex")
|
||||||
{
|
{
|
||||||
std::unique_ptr<std::complex<float>> code{new std::complex<float>[code_length_]};
|
std::vector<std::complex<float>> code(code_length_);
|
||||||
|
|
||||||
gps_l1_ca_code_gen_complex_sampled(gsl::span<std::complex<float>>(code, code_length_), gnss_synchro_->PRN, fs_in_, 0);
|
gps_l1_ca_code_gen_complex_sampled(code, gnss_synchro_->PRN, fs_in_, 0);
|
||||||
|
|
||||||
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
||||||
for (unsigned int i = 0; i < (sampled_ms_ / folding_factor_); i++)
|
for (unsigned int i = 0; i < (sampled_ms_ / folding_factor_); i++)
|
||||||
{
|
{
|
||||||
std::copy_n(code.get(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
std::copy_n(code.data(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
||||||
}
|
}
|
||||||
|
|
||||||
acquisition_cc_->set_local_code(code_.data());
|
acquisition_cc_->set_local_code(code_.data());
|
||||||
|
@ -194,14 +194,14 @@ void GpsL1CaPcpsTongAcquisition::set_local_code()
|
|||||||
{
|
{
|
||||||
if (item_type_ == "gr_complex")
|
if (item_type_ == "gr_complex")
|
||||||
{
|
{
|
||||||
std::unique_ptr<std::complex<float>> code{new std::complex<float>[code_length_]};
|
std::vector<std::complex<float>> code(code_length_);
|
||||||
|
|
||||||
gps_l1_ca_code_gen_complex_sampled(gsl::span<std::complex<float>>(code, code_length_), gnss_synchro_->PRN, fs_in_, 0);
|
gps_l1_ca_code_gen_complex_sampled(code, gnss_synchro_->PRN, fs_in_, 0);
|
||||||
|
|
||||||
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
||||||
for (unsigned int i = 0; i < sampled_ms_; i++)
|
for (unsigned int i = 0; i < sampled_ms_; i++)
|
||||||
{
|
{
|
||||||
std::copy_n(code.get(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
std::copy_n(code.data(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
||||||
}
|
}
|
||||||
|
|
||||||
acquisition_cc_->set_local_code(code_.data());
|
acquisition_cc_->set_local_code(code_.data());
|
||||||
|
@ -241,21 +241,21 @@ void GpsL2MPcpsAcquisition::init()
|
|||||||
|
|
||||||
void GpsL2MPcpsAcquisition::set_local_code()
|
void GpsL2MPcpsAcquisition::set_local_code()
|
||||||
{
|
{
|
||||||
std::unique_ptr<std::complex<float>> code{new std::complex<float>[code_length_]};
|
std::vector<std::complex<float>> code(code_length_);
|
||||||
|
|
||||||
if (acq_parameters_.use_automatic_resampler)
|
if (acq_parameters_.use_automatic_resampler)
|
||||||
{
|
{
|
||||||
gps_l2c_m_code_gen_complex_sampled(gsl::span<std::complex<float>>(code.get(), code_length_), gnss_synchro_->PRN, acq_parameters_.resampled_fs);
|
gps_l2c_m_code_gen_complex_sampled(code, gnss_synchro_->PRN, acq_parameters_.resampled_fs);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gps_l2c_m_code_gen_complex_sampled(gsl::span<std::complex<float>>(code.get(), code_length_), gnss_synchro_->PRN, fs_in_);
|
gps_l2c_m_code_gen_complex_sampled(code, gnss_synchro_->PRN, fs_in_);
|
||||||
}
|
}
|
||||||
|
|
||||||
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
||||||
for (unsigned int i = 0; i < num_codes_; i++)
|
for (unsigned int i = 0; i < num_codes_; i++)
|
||||||
{
|
{
|
||||||
std::copy_n(code.get(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
std::copy_n(code.data(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
||||||
}
|
}
|
||||||
|
|
||||||
acquisition_->set_local_code(code_.data());
|
acquisition_->set_local_code(code_.data());
|
||||||
|
@ -235,21 +235,21 @@ void GpsL5iPcpsAcquisition::init()
|
|||||||
|
|
||||||
void GpsL5iPcpsAcquisition::set_local_code()
|
void GpsL5iPcpsAcquisition::set_local_code()
|
||||||
{
|
{
|
||||||
std::unique_ptr<std::complex<float>> code{new std::complex<float>[code_length_]};
|
std::vector<std::complex<float>> code(code_length_);
|
||||||
|
|
||||||
if (acq_parameters_.use_automatic_resampler)
|
if (acq_parameters_.use_automatic_resampler)
|
||||||
{
|
{
|
||||||
gps_l5i_code_gen_complex_sampled(gsl::span<std::complex<float>>(code.get(), code_length_), gnss_synchro_->PRN, acq_parameters_.resampled_fs);
|
gps_l5i_code_gen_complex_sampled(code, gnss_synchro_->PRN, acq_parameters_.resampled_fs);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gps_l5i_code_gen_complex_sampled(gsl::span<std::complex<float>>(code.get(), code_length_), gnss_synchro_->PRN, fs_in_);
|
gps_l5i_code_gen_complex_sampled(code, gnss_synchro_->PRN, fs_in_);
|
||||||
}
|
}
|
||||||
|
|
||||||
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
gsl::span<gr_complex> code_span(code_.data(), vector_length_);
|
||||||
for (unsigned int i = 0; i < num_codes_; i++)
|
for (unsigned int i = 0; i < num_codes_; i++)
|
||||||
{
|
{
|
||||||
std::copy_n(code.get(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
std::copy_n(code.data(), code_length_, code_span.subspan(i * code_length_, code_length_).data());
|
||||||
}
|
}
|
||||||
|
|
||||||
acquisition_->set_local_code(code_.data());
|
acquisition_->set_local_code(code_.data());
|
||||||
|
Loading…
Reference in New Issue
Block a user