mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-14 04:00:34 +00:00
Remove deletes
This commit is contained in:
parent
ce1e160f10
commit
05c41d41e1
@ -449,7 +449,7 @@ dll_pll_veml_tracking::dll_pll_veml_tracking(const Dll_Pll_Conf &conf_) : gr::bl
|
|||||||
|
|
||||||
// CN0 estimation and lock detector buffers
|
// CN0 estimation and lock detector buffers
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
d_Prompt_buffer = new gr_complex[trk_parameters.cn0_samples];
|
d_Prompt_buffer = std::vector<gr_complex>(trk_parameters.cn0_samples);
|
||||||
d_carrier_lock_test = 1.0;
|
d_carrier_lock_test = 1.0;
|
||||||
d_CN0_SNV_dB_Hz = 0.0;
|
d_CN0_SNV_dB_Hz = 0.0;
|
||||||
d_carrier_lock_fail_counter = 0;
|
d_carrier_lock_fail_counter = 0;
|
||||||
@ -824,7 +824,6 @@ dll_pll_veml_tracking::~dll_pll_veml_tracking()
|
|||||||
volk_gnsssdr_free(d_data_code);
|
volk_gnsssdr_free(d_data_code);
|
||||||
correlator_data_cpu.free();
|
correlator_data_cpu.free();
|
||||||
}
|
}
|
||||||
delete[] d_Prompt_buffer;
|
|
||||||
multicorrelator_cpu.free();
|
multicorrelator_cpu.free();
|
||||||
}
|
}
|
||||||
catch (const std::exception &ex)
|
catch (const std::exception &ex)
|
||||||
@ -887,10 +886,10 @@ bool dll_pll_veml_tracking::cn0_and_tracking_lock_status(double coh_integration_
|
|||||||
d_Prompt_buffer[d_cn0_estimation_counter % trk_parameters.cn0_samples] = d_P_accu;
|
d_Prompt_buffer[d_cn0_estimation_counter % trk_parameters.cn0_samples] = d_P_accu;
|
||||||
d_cn0_estimation_counter++;
|
d_cn0_estimation_counter++;
|
||||||
// Code lock indicator
|
// Code lock indicator
|
||||||
float d_CN0_SNV_dB_Hz_raw = cn0_svn_estimator(d_Prompt_buffer, trk_parameters.cn0_samples, static_cast<float>(coh_integration_time_s));
|
float d_CN0_SNV_dB_Hz_raw = cn0_svn_estimator(d_Prompt_buffer.data(), trk_parameters.cn0_samples, static_cast<float>(coh_integration_time_s));
|
||||||
d_CN0_SNV_dB_Hz = d_cn0_smoother.smooth(d_CN0_SNV_dB_Hz_raw);
|
d_CN0_SNV_dB_Hz = d_cn0_smoother.smooth(d_CN0_SNV_dB_Hz_raw);
|
||||||
// Carrier lock indicator
|
// Carrier lock indicator
|
||||||
d_carrier_lock_test = d_carrier_lock_test_smoother.smooth(carrier_lock_detector(d_Prompt_buffer, 1));
|
d_carrier_lock_test = d_carrier_lock_test_smoother.smooth(carrier_lock_detector(d_Prompt_buffer.data(), 1));
|
||||||
//d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer, trk_parameters.cn0_samples);
|
//d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer, trk_parameters.cn0_samples);
|
||||||
// Loss of lock detection
|
// Loss of lock detection
|
||||||
if (!d_pull_in_transitory)
|
if (!d_pull_in_transitory)
|
||||||
|
@ -46,6 +46,7 @@
|
|||||||
#include <cstdint> // for int32_t
|
#include <cstdint> // for int32_t
|
||||||
#include <fstream> // for string, ofstream
|
#include <fstream> // for string, ofstream
|
||||||
#include <utility> // for pair
|
#include <utility> // for pair
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
class Gnss_Synchro;
|
class Gnss_Synchro;
|
||||||
class dll_pll_veml_tracking;
|
class dll_pll_veml_tracking;
|
||||||
@ -201,7 +202,7 @@ private:
|
|||||||
double d_CN0_SNV_dB_Hz;
|
double d_CN0_SNV_dB_Hz;
|
||||||
double d_carrier_lock_threshold;
|
double d_carrier_lock_threshold;
|
||||||
boost::circular_buffer<gr_complex> d_Prompt_circular_buffer;
|
boost::circular_buffer<gr_complex> d_Prompt_circular_buffer;
|
||||||
gr_complex *d_Prompt_buffer;
|
std::vector<gr_complex> d_Prompt_buffer;
|
||||||
Exponential_Smoother d_cn0_smoother;
|
Exponential_Smoother d_cn0_smoother;
|
||||||
Exponential_Smoother d_carrier_lock_test_smoother;
|
Exponential_Smoother d_carrier_lock_test_smoother;
|
||||||
// file dump
|
// file dump
|
||||||
|
@ -361,7 +361,7 @@ dll_pll_veml_tracking_fpga::dll_pll_veml_tracking_fpga(const Dll_Pll_Conf_Fpga &
|
|||||||
|
|
||||||
// CN0 estimation and lock detector buffers
|
// CN0 estimation and lock detector buffers
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
d_Prompt_buffer = new gr_complex[trk_parameters.cn0_samples];
|
d_Prompt_buffer = std::vector<gr_complex>(trk_parameters.cn0_samples);
|
||||||
d_carrier_lock_test = 1.0;
|
d_carrier_lock_test = 1.0;
|
||||||
d_CN0_SNV_dB_Hz = 0.0;
|
d_CN0_SNV_dB_Hz = 0.0;
|
||||||
d_cn0_smoother = Exponential_Smoother();
|
d_cn0_smoother = Exponential_Smoother();
|
||||||
@ -537,7 +537,6 @@ dll_pll_veml_tracking_fpga::~dll_pll_veml_tracking_fpga()
|
|||||||
volk_gnsssdr_free(d_local_code_shift_chips);
|
volk_gnsssdr_free(d_local_code_shift_chips);
|
||||||
volk_gnsssdr_free(d_correlator_outs);
|
volk_gnsssdr_free(d_correlator_outs);
|
||||||
volk_gnsssdr_free(d_Prompt_Data);
|
volk_gnsssdr_free(d_Prompt_Data);
|
||||||
delete[] d_Prompt_buffer;
|
|
||||||
multicorrelator_fpga->free();
|
multicorrelator_fpga->free();
|
||||||
}
|
}
|
||||||
catch (const std::exception &ex)
|
catch (const std::exception &ex)
|
||||||
@ -601,10 +600,10 @@ bool dll_pll_veml_tracking_fpga::cn0_and_tracking_lock_status(double coh_integra
|
|||||||
{
|
{
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
// Code lock indicator
|
// Code lock indicator
|
||||||
float d_CN0_SNV_dB_Hz_raw = cn0_svn_estimator(d_Prompt_buffer, trk_parameters.cn0_samples, static_cast<float>(coh_integration_time_s));
|
float d_CN0_SNV_dB_Hz_raw = cn0_svn_estimator(d_Prompt_buffer.data(), trk_parameters.cn0_samples, static_cast<float>(coh_integration_time_s));
|
||||||
d_CN0_SNV_dB_Hz = d_cn0_smoother.smooth(d_CN0_SNV_dB_Hz_raw);
|
d_CN0_SNV_dB_Hz = d_cn0_smoother.smooth(d_CN0_SNV_dB_Hz_raw);
|
||||||
// Carrier lock indicator
|
// Carrier lock indicator
|
||||||
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer, trk_parameters.cn0_samples);
|
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer.data(), trk_parameters.cn0_samples);
|
||||||
// Loss of lock detection
|
// Loss of lock detection
|
||||||
if (!d_pull_in_transitory)
|
if (!d_pull_in_transitory)
|
||||||
{
|
{
|
||||||
@ -734,7 +733,6 @@ void dll_pll_veml_tracking_fpga::clear_tracking_vars()
|
|||||||
d_code_error_filt_chips = 0.0;
|
d_code_error_filt_chips = 0.0;
|
||||||
d_current_symbol = 0;
|
d_current_symbol = 0;
|
||||||
d_Prompt_circular_buffer.clear();
|
d_Prompt_circular_buffer.clear();
|
||||||
//d_Prompt_buffer_deque.clear();
|
|
||||||
d_carrier_phase_rate_step_rad = 0.0;
|
d_carrier_phase_rate_step_rad = 0.0;
|
||||||
d_code_phase_rate_step_chips = 0.0;
|
d_code_phase_rate_step_chips = 0.0;
|
||||||
d_carr_ph_history.clear();
|
d_carr_ph_history.clear();
|
||||||
|
@ -48,6 +48,7 @@
|
|||||||
#include <memory> // for shared_ptr
|
#include <memory> // for shared_ptr
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <utility> // for pair
|
#include <utility> // for pair
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
class Fpga_Multicorrelator_8sc;
|
class Fpga_Multicorrelator_8sc;
|
||||||
class Gnss_Synchro;
|
class Gnss_Synchro;
|
||||||
@ -201,7 +202,7 @@ private:
|
|||||||
double d_carrier_lock_threshold;
|
double d_carrier_lock_threshold;
|
||||||
boost::circular_buffer<gr_complex> d_Prompt_circular_buffer;
|
boost::circular_buffer<gr_complex> d_Prompt_circular_buffer;
|
||||||
//std::deque<gr_complex> d_Prompt_buffer_deque;
|
//std::deque<gr_complex> d_Prompt_buffer_deque;
|
||||||
gr_complex *d_Prompt_buffer;
|
std::vector<gr_complex> d_Prompt_buffer;
|
||||||
Exponential_Smoother d_cn0_smoother;
|
Exponential_Smoother d_cn0_smoother;
|
||||||
|
|
||||||
// file dump
|
// file dump
|
||||||
|
@ -163,7 +163,7 @@ Galileo_E1_Tcp_Connector_Tracking_cc::Galileo_E1_Tcp_Connector_Tracking_cc(
|
|||||||
|
|
||||||
// CN0 estimation and lock detector buffers
|
// CN0 estimation and lock detector buffers
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
d_Prompt_buffer = new gr_complex[FLAGS_cn0_samples];
|
d_Prompt_buffer = std::vector<gr_complex>(FLAGS_cn0_samples);
|
||||||
d_carrier_lock_test = 1;
|
d_carrier_lock_test = 1;
|
||||||
d_CN0_SNV_dB_Hz = 0;
|
d_CN0_SNV_dB_Hz = 0;
|
||||||
d_carrier_lock_fail_counter = 0;
|
d_carrier_lock_fail_counter = 0;
|
||||||
@ -247,7 +247,6 @@ Galileo_E1_Tcp_Connector_Tracking_cc::~Galileo_E1_Tcp_Connector_Tracking_cc()
|
|||||||
volk_gnsssdr_free(d_local_code_shift_chips);
|
volk_gnsssdr_free(d_local_code_shift_chips);
|
||||||
volk_gnsssdr_free(d_correlator_outs);
|
volk_gnsssdr_free(d_correlator_outs);
|
||||||
volk_gnsssdr_free(d_ca_code);
|
volk_gnsssdr_free(d_ca_code);
|
||||||
delete[] d_Prompt_buffer;
|
|
||||||
d_tcp_com.close_tcp_connection(d_port);
|
d_tcp_com.close_tcp_connection(d_port);
|
||||||
multicorrelator_cpu.free();
|
multicorrelator_cpu.free();
|
||||||
}
|
}
|
||||||
@ -415,10 +414,10 @@ int Galileo_E1_Tcp_Connector_Tracking_cc::general_work(int noutput_items __attri
|
|||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
|
|
||||||
// Code lock indicator
|
// Code lock indicator
|
||||||
d_CN0_SNV_dB_Hz = cn0_svn_estimator(d_Prompt_buffer, FLAGS_cn0_samples, GALILEO_E1_CODE_PERIOD);
|
d_CN0_SNV_dB_Hz = cn0_svn_estimator(d_Prompt_buffer.data(), FLAGS_cn0_samples, GALILEO_E1_CODE_PERIOD);
|
||||||
|
|
||||||
// Carrier lock indicator
|
// Carrier lock indicator
|
||||||
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer, FLAGS_cn0_samples);
|
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer.data(), FLAGS_cn0_samples);
|
||||||
|
|
||||||
// Loss of lock detection
|
// Loss of lock detection
|
||||||
if (d_carrier_lock_test < d_carrier_lock_threshold or d_CN0_SNV_dB_Hz < FLAGS_cn0_min)
|
if (d_carrier_lock_test < d_carrier_lock_threshold or d_CN0_SNV_dB_Hz < FLAGS_cn0_min)
|
||||||
|
@ -47,6 +47,7 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
|
||||||
class Galileo_E1_Tcp_Connector_Tracking_cc;
|
class Galileo_E1_Tcp_Connector_Tracking_cc;
|
||||||
@ -166,7 +167,7 @@ private:
|
|||||||
|
|
||||||
// CN0 estimation and lock detector
|
// CN0 estimation and lock detector
|
||||||
int32_t d_cn0_estimation_counter;
|
int32_t d_cn0_estimation_counter;
|
||||||
gr_complex *d_Prompt_buffer;
|
std::vector<gr_complex> d_Prompt_buffer;
|
||||||
float d_carrier_lock_test;
|
float d_carrier_lock_test;
|
||||||
float d_CN0_SNV_dB_Hz;
|
float d_CN0_SNV_dB_Hz;
|
||||||
float d_carrier_lock_threshold;
|
float d_carrier_lock_threshold;
|
||||||
|
@ -175,7 +175,7 @@ glonass_l1_ca_dll_pll_c_aid_tracking_cc::glonass_l1_ca_dll_pll_c_aid_tracking_cc
|
|||||||
|
|
||||||
// CN0 estimation and lock detector buffers
|
// CN0 estimation and lock detector buffers
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
d_Prompt_buffer = new gr_complex[FLAGS_cn0_samples];
|
d_Prompt_buffer = std::vector<gr_complex>(FLAGS_cn0_samples);
|
||||||
d_carrier_lock_test = 1;
|
d_carrier_lock_test = 1;
|
||||||
d_CN0_SNV_dB_Hz = 0;
|
d_CN0_SNV_dB_Hz = 0;
|
||||||
d_carrier_lock_fail_counter = 0;
|
d_carrier_lock_fail_counter = 0;
|
||||||
@ -345,7 +345,6 @@ glonass_l1_ca_dll_pll_c_aid_tracking_cc::~glonass_l1_ca_dll_pll_c_aid_tracking_c
|
|||||||
volk_gnsssdr_free(d_local_code_shift_chips);
|
volk_gnsssdr_free(d_local_code_shift_chips);
|
||||||
volk_gnsssdr_free(d_correlator_outs);
|
volk_gnsssdr_free(d_correlator_outs);
|
||||||
volk_gnsssdr_free(d_ca_code);
|
volk_gnsssdr_free(d_ca_code);
|
||||||
delete[] d_Prompt_buffer;
|
|
||||||
multicorrelator_cpu.free();
|
multicorrelator_cpu.free();
|
||||||
}
|
}
|
||||||
catch (const std::exception &ex)
|
catch (const std::exception &ex)
|
||||||
@ -762,9 +761,9 @@ int glonass_l1_ca_dll_pll_c_aid_tracking_cc::general_work(int noutput_items __at
|
|||||||
{
|
{
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
// Code lock indicator
|
// Code lock indicator
|
||||||
d_CN0_SNV_dB_Hz = cn0_svn_estimator(d_Prompt_buffer, CN0_ESTIMATION_SAMPLES, GLONASS_L1_CA_CODE_PERIOD);
|
d_CN0_SNV_dB_Hz = cn0_svn_estimator(d_Prompt_buffer.data(), CN0_ESTIMATION_SAMPLES, GLONASS_L1_CA_CODE_PERIOD);
|
||||||
// Carrier lock indicator
|
// Carrier lock indicator
|
||||||
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer, CN0_ESTIMATION_SAMPLES);
|
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer.data(), CN0_ESTIMATION_SAMPLES);
|
||||||
// Loss of lock detection
|
// Loss of lock detection
|
||||||
if (d_carrier_lock_test < d_carrier_lock_threshold or d_CN0_SNV_dB_Hz < FLAGS_cn0_min)
|
if (d_carrier_lock_test < d_carrier_lock_threshold or d_CN0_SNV_dB_Hz < FLAGS_cn0_min)
|
||||||
{
|
{
|
||||||
|
@ -50,6 +50,7 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
class glonass_l1_ca_dll_pll_c_aid_tracking_cc;
|
class glonass_l1_ca_dll_pll_c_aid_tracking_cc;
|
||||||
|
|
||||||
@ -180,7 +181,7 @@ private:
|
|||||||
|
|
||||||
// CN0 estimation and lock detector
|
// CN0 estimation and lock detector
|
||||||
int32_t d_cn0_estimation_counter;
|
int32_t d_cn0_estimation_counter;
|
||||||
gr_complex* d_Prompt_buffer;
|
std::vector<gr_complex> d_Prompt_buffer;
|
||||||
double d_carrier_lock_test;
|
double d_carrier_lock_test;
|
||||||
double d_CN0_SNV_dB_Hz;
|
double d_CN0_SNV_dB_Hz;
|
||||||
double d_carrier_lock_threshold;
|
double d_carrier_lock_threshold;
|
||||||
|
@ -173,7 +173,7 @@ glonass_l1_ca_dll_pll_c_aid_tracking_sc::glonass_l1_ca_dll_pll_c_aid_tracking_sc
|
|||||||
|
|
||||||
// CN0 estimation and lock detector buffers
|
// CN0 estimation and lock detector buffers
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
d_Prompt_buffer = new gr_complex[FLAGS_cn0_samples];
|
d_Prompt_buffer = std::vector<gr_complex>(FLAGS_cn0_samples);
|
||||||
d_carrier_lock_test = 1;
|
d_carrier_lock_test = 1;
|
||||||
d_CN0_SNV_dB_Hz = 0;
|
d_CN0_SNV_dB_Hz = 0;
|
||||||
d_carrier_lock_fail_counter = 0;
|
d_carrier_lock_fail_counter = 0;
|
||||||
@ -513,7 +513,6 @@ glonass_l1_ca_dll_pll_c_aid_tracking_sc::~glonass_l1_ca_dll_pll_c_aid_tracking_s
|
|||||||
volk_gnsssdr_free(d_ca_code_16sc);
|
volk_gnsssdr_free(d_ca_code_16sc);
|
||||||
volk_gnsssdr_free(d_correlator_outs_16sc);
|
volk_gnsssdr_free(d_correlator_outs_16sc);
|
||||||
|
|
||||||
delete[] d_Prompt_buffer;
|
|
||||||
multicorrelator_cpu_16sc.free();
|
multicorrelator_cpu_16sc.free();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -752,9 +751,9 @@ int glonass_l1_ca_dll_pll_c_aid_tracking_sc::general_work(int noutput_items __at
|
|||||||
{
|
{
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
// Code lock indicator
|
// Code lock indicator
|
||||||
d_CN0_SNV_dB_Hz = cn0_svn_estimator(d_Prompt_buffer, CN0_ESTIMATION_SAMPLES, GLONASS_L1_CA_CODE_PERIOD);
|
d_CN0_SNV_dB_Hz = cn0_svn_estimator(d_Prompt_buffer.data(), CN0_ESTIMATION_SAMPLES, GLONASS_L1_CA_CODE_PERIOD);
|
||||||
// Carrier lock indicator
|
// Carrier lock indicator
|
||||||
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer, CN0_ESTIMATION_SAMPLES);
|
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer.data(), CN0_ESTIMATION_SAMPLES);
|
||||||
// Loss of lock detection
|
// Loss of lock detection
|
||||||
if (d_carrier_lock_test < d_carrier_lock_threshold or d_CN0_SNV_dB_Hz < FLAGS_cn0_min)
|
if (d_carrier_lock_test < d_carrier_lock_threshold or d_CN0_SNV_dB_Hz < FLAGS_cn0_min)
|
||||||
{
|
{
|
||||||
|
@ -51,6 +51,7 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
class glonass_l1_ca_dll_pll_c_aid_tracking_sc;
|
class glonass_l1_ca_dll_pll_c_aid_tracking_sc;
|
||||||
|
|
||||||
@ -183,7 +184,7 @@ private:
|
|||||||
|
|
||||||
// CN0 estimation and lock detector
|
// CN0 estimation and lock detector
|
||||||
int32_t d_cn0_estimation_counter;
|
int32_t d_cn0_estimation_counter;
|
||||||
gr_complex* d_Prompt_buffer;
|
std::vector<gr_complex> d_Prompt_buffer;
|
||||||
double d_carrier_lock_test;
|
double d_carrier_lock_test;
|
||||||
double d_CN0_SNV_dB_Hz;
|
double d_CN0_SNV_dB_Hz;
|
||||||
double d_carrier_lock_threshold;
|
double d_carrier_lock_threshold;
|
||||||
|
@ -146,7 +146,7 @@ Glonass_L1_Ca_Dll_Pll_Tracking_cc::Glonass_L1_Ca_Dll_Pll_Tracking_cc(
|
|||||||
|
|
||||||
// CN0 estimation and lock detector buffers
|
// CN0 estimation and lock detector buffers
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
d_Prompt_buffer = new gr_complex[FLAGS_cn0_samples];
|
d_Prompt_buffer = std::vector<gr_complex>(FLAGS_cn0_samples);
|
||||||
d_carrier_lock_test = 1;
|
d_carrier_lock_test = 1;
|
||||||
d_CN0_SNV_dB_Hz = 0;
|
d_CN0_SNV_dB_Hz = 0;
|
||||||
d_carrier_lock_fail_counter = 0;
|
d_carrier_lock_fail_counter = 0;
|
||||||
@ -298,7 +298,6 @@ Glonass_L1_Ca_Dll_Pll_Tracking_cc::~Glonass_L1_Ca_Dll_Pll_Tracking_cc()
|
|||||||
volk_gnsssdr_free(d_local_code_shift_chips);
|
volk_gnsssdr_free(d_local_code_shift_chips);
|
||||||
volk_gnsssdr_free(d_correlator_outs);
|
volk_gnsssdr_free(d_correlator_outs);
|
||||||
volk_gnsssdr_free(d_ca_code);
|
volk_gnsssdr_free(d_ca_code);
|
||||||
delete[] d_Prompt_buffer;
|
|
||||||
multicorrelator_cpu.free();
|
multicorrelator_cpu.free();
|
||||||
}
|
}
|
||||||
catch (const std::exception &ex)
|
catch (const std::exception &ex)
|
||||||
@ -621,9 +620,9 @@ int Glonass_L1_Ca_Dll_Pll_Tracking_cc::general_work(int noutput_items __attribut
|
|||||||
{
|
{
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
// Code lock indicator
|
// Code lock indicator
|
||||||
d_CN0_SNV_dB_Hz = cn0_svn_estimator(d_Prompt_buffer, CN0_ESTIMATION_SAMPLES, GLONASS_L1_CA_CODE_PERIOD);
|
d_CN0_SNV_dB_Hz = cn0_svn_estimator(d_Prompt_buffer.data(), CN0_ESTIMATION_SAMPLES, GLONASS_L1_CA_CODE_PERIOD);
|
||||||
// Carrier lock indicator
|
// Carrier lock indicator
|
||||||
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer, CN0_ESTIMATION_SAMPLES);
|
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer.data(), CN0_ESTIMATION_SAMPLES);
|
||||||
// Loss of lock detection
|
// Loss of lock detection
|
||||||
if (d_carrier_lock_test < d_carrier_lock_threshold or d_CN0_SNV_dB_Hz < FLAGS_cn0_min)
|
if (d_carrier_lock_test < d_carrier_lock_threshold or d_CN0_SNV_dB_Hz < FLAGS_cn0_min)
|
||||||
{
|
{
|
||||||
|
@ -47,6 +47,7 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
class Glonass_L1_Ca_Dll_Pll_Tracking_cc;
|
class Glonass_L1_Ca_Dll_Pll_Tracking_cc;
|
||||||
|
|
||||||
@ -148,7 +149,7 @@ private:
|
|||||||
|
|
||||||
// CN0 estimation and lock detector
|
// CN0 estimation and lock detector
|
||||||
int32_t d_cn0_estimation_counter;
|
int32_t d_cn0_estimation_counter;
|
||||||
gr_complex* d_Prompt_buffer;
|
std::vector<gr_complex> d_Prompt_buffer;
|
||||||
double d_carrier_lock_test;
|
double d_carrier_lock_test;
|
||||||
double d_CN0_SNV_dB_Hz;
|
double d_CN0_SNV_dB_Hz;
|
||||||
double d_carrier_lock_threshold;
|
double d_carrier_lock_threshold;
|
||||||
|
@ -173,7 +173,7 @@ glonass_l2_ca_dll_pll_c_aid_tracking_cc::glonass_l2_ca_dll_pll_c_aid_tracking_cc
|
|||||||
|
|
||||||
// CN0 estimation and lock detector buffers
|
// CN0 estimation and lock detector buffers
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
d_Prompt_buffer = new gr_complex[FLAGS_cn0_samples];
|
d_Prompt_buffer = std::vector<gr_complex>(FLAGS_cn0_samples);
|
||||||
d_carrier_lock_test = 1;
|
d_carrier_lock_test = 1;
|
||||||
d_CN0_SNV_dB_Hz = 0;
|
d_CN0_SNV_dB_Hz = 0;
|
||||||
d_carrier_lock_fail_counter = 0;
|
d_carrier_lock_fail_counter = 0;
|
||||||
@ -344,7 +344,6 @@ glonass_l2_ca_dll_pll_c_aid_tracking_cc::~glonass_l2_ca_dll_pll_c_aid_tracking_c
|
|||||||
volk_gnsssdr_free(d_local_code_shift_chips);
|
volk_gnsssdr_free(d_local_code_shift_chips);
|
||||||
volk_gnsssdr_free(d_correlator_outs);
|
volk_gnsssdr_free(d_correlator_outs);
|
||||||
volk_gnsssdr_free(d_ca_code);
|
volk_gnsssdr_free(d_ca_code);
|
||||||
delete[] d_Prompt_buffer;
|
|
||||||
multicorrelator_cpu.free();
|
multicorrelator_cpu.free();
|
||||||
}
|
}
|
||||||
catch (const std::exception &ex)
|
catch (const std::exception &ex)
|
||||||
@ -761,9 +760,9 @@ int glonass_l2_ca_dll_pll_c_aid_tracking_cc::general_work(int noutput_items __at
|
|||||||
{
|
{
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
// Code lock indicator
|
// Code lock indicator
|
||||||
d_CN0_SNV_dB_Hz = cn0_svn_estimator(d_Prompt_buffer, CN0_ESTIMATION_SAMPLES, GLONASS_L2_CA_CODE_PERIOD);
|
d_CN0_SNV_dB_Hz = cn0_svn_estimator(d_Prompt_buffer.data(), CN0_ESTIMATION_SAMPLES, GLONASS_L2_CA_CODE_PERIOD);
|
||||||
// Carrier lock indicator
|
// Carrier lock indicator
|
||||||
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer, CN0_ESTIMATION_SAMPLES);
|
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer.data(), CN0_ESTIMATION_SAMPLES);
|
||||||
// Loss of lock detection
|
// Loss of lock detection
|
||||||
if (d_carrier_lock_test < d_carrier_lock_threshold or d_CN0_SNV_dB_Hz < FLAGS_cn0_min)
|
if (d_carrier_lock_test < d_carrier_lock_threshold or d_CN0_SNV_dB_Hz < FLAGS_cn0_min)
|
||||||
{
|
{
|
||||||
|
@ -48,6 +48,7 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
class glonass_l2_ca_dll_pll_c_aid_tracking_cc;
|
class glonass_l2_ca_dll_pll_c_aid_tracking_cc;
|
||||||
|
|
||||||
@ -178,7 +179,7 @@ private:
|
|||||||
|
|
||||||
// CN0 estimation and lock detector
|
// CN0 estimation and lock detector
|
||||||
int32_t d_cn0_estimation_counter;
|
int32_t d_cn0_estimation_counter;
|
||||||
gr_complex* d_Prompt_buffer;
|
std::vector<gr_complex> d_Prompt_buffer;
|
||||||
double d_carrier_lock_test;
|
double d_carrier_lock_test;
|
||||||
double d_CN0_SNV_dB_Hz;
|
double d_CN0_SNV_dB_Hz;
|
||||||
double d_carrier_lock_threshold;
|
double d_carrier_lock_threshold;
|
||||||
|
@ -172,7 +172,7 @@ glonass_l2_ca_dll_pll_c_aid_tracking_sc::glonass_l2_ca_dll_pll_c_aid_tracking_sc
|
|||||||
|
|
||||||
// CN0 estimation and lock detector buffers
|
// CN0 estimation and lock detector buffers
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
d_Prompt_buffer = new gr_complex[FLAGS_cn0_samples];
|
d_Prompt_buffer = std::vector<gr_complex>(FLAGS_cn0_samples);
|
||||||
d_carrier_lock_test = 1;
|
d_carrier_lock_test = 1;
|
||||||
d_CN0_SNV_dB_Hz = 0;
|
d_CN0_SNV_dB_Hz = 0;
|
||||||
d_carrier_lock_fail_counter = 0;
|
d_carrier_lock_fail_counter = 0;
|
||||||
@ -512,7 +512,6 @@ glonass_l2_ca_dll_pll_c_aid_tracking_sc::~glonass_l2_ca_dll_pll_c_aid_tracking_s
|
|||||||
volk_gnsssdr_free(d_ca_code_16sc);
|
volk_gnsssdr_free(d_ca_code_16sc);
|
||||||
volk_gnsssdr_free(d_correlator_outs_16sc);
|
volk_gnsssdr_free(d_correlator_outs_16sc);
|
||||||
|
|
||||||
delete[] d_Prompt_buffer;
|
|
||||||
multicorrelator_cpu_16sc.free();
|
multicorrelator_cpu_16sc.free();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -751,9 +750,9 @@ int glonass_l2_ca_dll_pll_c_aid_tracking_sc::general_work(int noutput_items __at
|
|||||||
{
|
{
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
// Code lock indicator
|
// Code lock indicator
|
||||||
d_CN0_SNV_dB_Hz = cn0_svn_estimator(d_Prompt_buffer, CN0_ESTIMATION_SAMPLES, GLONASS_L2_CA_CODE_PERIOD);
|
d_CN0_SNV_dB_Hz = cn0_svn_estimator(d_Prompt_buffer.data(), CN0_ESTIMATION_SAMPLES, GLONASS_L2_CA_CODE_PERIOD);
|
||||||
// Carrier lock indicator
|
// Carrier lock indicator
|
||||||
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer, CN0_ESTIMATION_SAMPLES);
|
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer.data(), CN0_ESTIMATION_SAMPLES);
|
||||||
// Loss of lock detection
|
// Loss of lock detection
|
||||||
if (d_carrier_lock_test < d_carrier_lock_threshold or d_CN0_SNV_dB_Hz < FLAGS_cn0_min)
|
if (d_carrier_lock_test < d_carrier_lock_threshold or d_CN0_SNV_dB_Hz < FLAGS_cn0_min)
|
||||||
{
|
{
|
||||||
|
@ -49,6 +49,7 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
class glonass_l2_ca_dll_pll_c_aid_tracking_sc;
|
class glonass_l2_ca_dll_pll_c_aid_tracking_sc;
|
||||||
|
|
||||||
@ -181,7 +182,7 @@ private:
|
|||||||
|
|
||||||
// CN0 estimation and lock detector
|
// CN0 estimation and lock detector
|
||||||
int32_t d_cn0_estimation_counter;
|
int32_t d_cn0_estimation_counter;
|
||||||
gr_complex* d_Prompt_buffer;
|
std::vector<gr_complex> d_Prompt_buffer;
|
||||||
double d_carrier_lock_test;
|
double d_carrier_lock_test;
|
||||||
double d_CN0_SNV_dB_Hz;
|
double d_CN0_SNV_dB_Hz;
|
||||||
double d_carrier_lock_threshold;
|
double d_carrier_lock_threshold;
|
||||||
|
@ -145,7 +145,7 @@ Glonass_L2_Ca_Dll_Pll_Tracking_cc::Glonass_L2_Ca_Dll_Pll_Tracking_cc(
|
|||||||
|
|
||||||
// CN0 estimation and lock detector buffers
|
// CN0 estimation and lock detector buffers
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
d_Prompt_buffer = new gr_complex[FLAGS_cn0_samples];
|
d_Prompt_buffer = std::vector<gr_complex>(FLAGS_cn0_samples);
|
||||||
d_carrier_lock_test = 1;
|
d_carrier_lock_test = 1;
|
||||||
d_CN0_SNV_dB_Hz = 0;
|
d_CN0_SNV_dB_Hz = 0;
|
||||||
d_carrier_lock_fail_counter = 0;
|
d_carrier_lock_fail_counter = 0;
|
||||||
@ -297,7 +297,6 @@ Glonass_L2_Ca_Dll_Pll_Tracking_cc::~Glonass_L2_Ca_Dll_Pll_Tracking_cc()
|
|||||||
volk_gnsssdr_free(d_local_code_shift_chips);
|
volk_gnsssdr_free(d_local_code_shift_chips);
|
||||||
volk_gnsssdr_free(d_correlator_outs);
|
volk_gnsssdr_free(d_correlator_outs);
|
||||||
volk_gnsssdr_free(d_ca_code);
|
volk_gnsssdr_free(d_ca_code);
|
||||||
delete[] d_Prompt_buffer;
|
|
||||||
multicorrelator_cpu.free();
|
multicorrelator_cpu.free();
|
||||||
}
|
}
|
||||||
catch (const std::exception &ex)
|
catch (const std::exception &ex)
|
||||||
@ -620,9 +619,9 @@ int Glonass_L2_Ca_Dll_Pll_Tracking_cc::general_work(int noutput_items __attribut
|
|||||||
{
|
{
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
// Code lock indicator
|
// Code lock indicator
|
||||||
d_CN0_SNV_dB_Hz = cn0_svn_estimator(d_Prompt_buffer, CN0_ESTIMATION_SAMPLES, GLONASS_L2_CA_CODE_PERIOD);
|
d_CN0_SNV_dB_Hz = cn0_svn_estimator(d_Prompt_buffer.data(), CN0_ESTIMATION_SAMPLES, GLONASS_L2_CA_CODE_PERIOD);
|
||||||
// Carrier lock indicator
|
// Carrier lock indicator
|
||||||
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer, CN0_ESTIMATION_SAMPLES);
|
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer.data(), CN0_ESTIMATION_SAMPLES);
|
||||||
// Loss of lock detection
|
// Loss of lock detection
|
||||||
if (d_carrier_lock_test < d_carrier_lock_threshold or d_CN0_SNV_dB_Hz < FLAGS_cn0_min)
|
if (d_carrier_lock_test < d_carrier_lock_threshold or d_CN0_SNV_dB_Hz < FLAGS_cn0_min)
|
||||||
{
|
{
|
||||||
|
@ -45,6 +45,7 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
class Glonass_L2_Ca_Dll_Pll_Tracking_cc;
|
class Glonass_L2_Ca_Dll_Pll_Tracking_cc;
|
||||||
|
|
||||||
@ -146,7 +147,7 @@ private:
|
|||||||
|
|
||||||
// CN0 estimation and lock detector
|
// CN0 estimation and lock detector
|
||||||
int32_t d_cn0_estimation_counter;
|
int32_t d_cn0_estimation_counter;
|
||||||
gr_complex* d_Prompt_buffer;
|
std::vector<gr_complex> d_Prompt_buffer;
|
||||||
double d_carrier_lock_test;
|
double d_carrier_lock_test;
|
||||||
double d_CN0_SNV_dB_Hz;
|
double d_CN0_SNV_dB_Hz;
|
||||||
double d_carrier_lock_threshold;
|
double d_carrier_lock_threshold;
|
||||||
|
@ -138,7 +138,7 @@ Gps_L1_Ca_Dll_Pll_Tracking_GPU_cc::Gps_L1_Ca_Dll_Pll_Tracking_GPU_cc(
|
|||||||
|
|
||||||
// CN0 estimation and lock detector buffers
|
// CN0 estimation and lock detector buffers
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
d_Prompt_buffer = new gr_complex[FLAGS_cn0_samples];
|
d_Prompt_buffer = std::vector<gr_complex>(FLAGS_cn0_samples);
|
||||||
d_carrier_lock_test = 1;
|
d_carrier_lock_test = 1;
|
||||||
d_CN0_SNV_dB_Hz = 0;
|
d_CN0_SNV_dB_Hz = 0;
|
||||||
d_carrier_lock_fail_counter = 0;
|
d_carrier_lock_fail_counter = 0;
|
||||||
@ -270,7 +270,6 @@ Gps_L1_Ca_Dll_Pll_Tracking_GPU_cc::~Gps_L1_Ca_Dll_Pll_Tracking_GPU_cc()
|
|||||||
cudaFreeHost(d_correlator_outs);
|
cudaFreeHost(d_correlator_outs);
|
||||||
cudaFreeHost(d_local_code_shift_chips);
|
cudaFreeHost(d_local_code_shift_chips);
|
||||||
cudaFreeHost(d_ca_code);
|
cudaFreeHost(d_ca_code);
|
||||||
delete[] d_Prompt_buffer;
|
|
||||||
multicorrelator_gpu->free_cuda();
|
multicorrelator_gpu->free_cuda();
|
||||||
delete (multicorrelator_gpu);
|
delete (multicorrelator_gpu);
|
||||||
}
|
}
|
||||||
@ -437,9 +436,9 @@ int Gps_L1_Ca_Dll_Pll_Tracking_GPU_cc::general_work(int noutput_items __attribut
|
|||||||
{
|
{
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
// Code lock indicator
|
// Code lock indicator
|
||||||
d_CN0_SNV_dB_Hz = cn0_svn_estimator(d_Prompt_buffer, FLAGS_cn0_samples, GPS_L1_CA_CODE_PERIOD);
|
d_CN0_SNV_dB_Hz = cn0_svn_estimator(d_Prompt_buffer.data(), FLAGS_cn0_samples, GPS_L1_CA_CODE_PERIOD);
|
||||||
// Carrier lock indicator
|
// Carrier lock indicator
|
||||||
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer, FLAGS_cn0_samples);
|
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer.data(), FLAGS_cn0_samples);
|
||||||
// Loss of lock detection
|
// Loss of lock detection
|
||||||
if (d_carrier_lock_test < d_carrier_lock_threshold or d_CN0_SNV_dB_Hz < FLAGS_cn0_min)
|
if (d_carrier_lock_test < d_carrier_lock_threshold or d_CN0_SNV_dB_Hz < FLAGS_cn0_min)
|
||||||
{
|
{
|
||||||
|
@ -44,6 +44,7 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
|
||||||
class Gps_L1_Ca_Dll_Pll_Tracking_GPU_cc;
|
class Gps_L1_Ca_Dll_Pll_Tracking_GPU_cc;
|
||||||
@ -157,7 +158,7 @@ private:
|
|||||||
|
|
||||||
// CN0 estimation and lock detector
|
// CN0 estimation and lock detector
|
||||||
int32_t d_cn0_estimation_counter;
|
int32_t d_cn0_estimation_counter;
|
||||||
gr_complex *d_Prompt_buffer;
|
std::vector<gr_complex> d_Prompt_buffer;
|
||||||
double d_carrier_lock_test;
|
double d_carrier_lock_test;
|
||||||
double d_CN0_SNV_dB_Hz;
|
double d_CN0_SNV_dB_Hz;
|
||||||
double d_carrier_lock_threshold;
|
double d_carrier_lock_threshold;
|
||||||
|
@ -163,7 +163,7 @@ Gps_L1_Ca_Kf_Tracking_cc::Gps_L1_Ca_Kf_Tracking_cc(
|
|||||||
|
|
||||||
// CN0 estimation and lock detector buffers
|
// CN0 estimation and lock detector buffers
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
d_Prompt_buffer = new gr_complex[FLAGS_cn0_samples];
|
d_Prompt_buffer = std::vector<gr_complex>(FLAGS_cn0_samples);
|
||||||
d_carrier_lock_test = 1;
|
d_carrier_lock_test = 1;
|
||||||
d_CN0_SNV_dB_Hz = 0;
|
d_CN0_SNV_dB_Hz = 0;
|
||||||
d_carrier_lock_fail_counter = 0;
|
d_carrier_lock_fail_counter = 0;
|
||||||
@ -394,7 +394,6 @@ Gps_L1_Ca_Kf_Tracking_cc::~Gps_L1_Ca_Kf_Tracking_cc()
|
|||||||
volk_gnsssdr_free(d_local_code_shift_chips);
|
volk_gnsssdr_free(d_local_code_shift_chips);
|
||||||
volk_gnsssdr_free(d_correlator_outs);
|
volk_gnsssdr_free(d_correlator_outs);
|
||||||
volk_gnsssdr_free(d_ca_code);
|
volk_gnsssdr_free(d_ca_code);
|
||||||
delete[] d_Prompt_buffer;
|
|
||||||
multicorrelator_cpu.free();
|
multicorrelator_cpu.free();
|
||||||
}
|
}
|
||||||
catch (const std::exception &ex)
|
catch (const std::exception &ex)
|
||||||
@ -793,9 +792,9 @@ int Gps_L1_Ca_Kf_Tracking_cc::general_work(int noutput_items __attribute__((unus
|
|||||||
{
|
{
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
// Code lock indicator
|
// Code lock indicator
|
||||||
d_CN0_SNV_dB_Hz = cn0_svn_estimator(d_Prompt_buffer, FLAGS_cn0_samples, GPS_L1_CA_CODE_PERIOD);
|
d_CN0_SNV_dB_Hz = cn0_svn_estimator(d_Prompt_buffer.data(), FLAGS_cn0_samples, GPS_L1_CA_CODE_PERIOD);
|
||||||
// Carrier lock indicator
|
// Carrier lock indicator
|
||||||
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer, FLAGS_cn0_samples);
|
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer.data(), FLAGS_cn0_samples);
|
||||||
// Loss of lock detection
|
// Loss of lock detection
|
||||||
if (d_carrier_lock_test < d_carrier_lock_threshold or d_CN0_SNV_dB_Hz < FLAGS_cn0_min)
|
if (d_carrier_lock_test < d_carrier_lock_threshold or d_CN0_SNV_dB_Hz < FLAGS_cn0_min)
|
||||||
{
|
{
|
||||||
|
@ -50,6 +50,7 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
class Gps_L1_Ca_Kf_Tracking_cc;
|
class Gps_L1_Ca_Kf_Tracking_cc;
|
||||||
|
|
||||||
@ -198,7 +199,7 @@ private:
|
|||||||
|
|
||||||
// CN0 estimation and lock detector
|
// CN0 estimation and lock detector
|
||||||
int32_t d_cn0_estimation_counter;
|
int32_t d_cn0_estimation_counter;
|
||||||
gr_complex* d_Prompt_buffer;
|
std::vector<gr_complex> d_Prompt_buffer;
|
||||||
double d_carrier_lock_test;
|
double d_carrier_lock_test;
|
||||||
double d_CN0_SNV_dB_Hz;
|
double d_CN0_SNV_dB_Hz;
|
||||||
double d_carrier_lock_threshold;
|
double d_carrier_lock_threshold;
|
||||||
|
@ -149,7 +149,7 @@ Gps_L1_Ca_Tcp_Connector_Tracking_cc::Gps_L1_Ca_Tcp_Connector_Tracking_cc(
|
|||||||
|
|
||||||
// CN0 estimation and lock detector buffers
|
// CN0 estimation and lock detector buffers
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
d_Prompt_buffer = new gr_complex[FLAGS_cn0_samples];
|
d_Prompt_buffer = std::vector<gr_complex>(FLAGS_cn0_samples);
|
||||||
d_carrier_lock_test = 1;
|
d_carrier_lock_test = 1;
|
||||||
d_CN0_SNV_dB_Hz = 0;
|
d_CN0_SNV_dB_Hz = 0;
|
||||||
d_carrier_lock_fail_counter = 0;
|
d_carrier_lock_fail_counter = 0;
|
||||||
@ -276,7 +276,6 @@ Gps_L1_Ca_Tcp_Connector_Tracking_cc::~Gps_L1_Ca_Tcp_Connector_Tracking_cc()
|
|||||||
volk_gnsssdr_free(d_correlator_outs);
|
volk_gnsssdr_free(d_correlator_outs);
|
||||||
volk_gnsssdr_free(d_ca_code);
|
volk_gnsssdr_free(d_ca_code);
|
||||||
d_tcp_com.close_tcp_connection(d_port);
|
d_tcp_com.close_tcp_connection(d_port);
|
||||||
delete[] d_Prompt_buffer;
|
|
||||||
multicorrelator_cpu.free();
|
multicorrelator_cpu.free();
|
||||||
}
|
}
|
||||||
catch (const std::exception &ex)
|
catch (const std::exception &ex)
|
||||||
@ -450,8 +449,8 @@ int Gps_L1_Ca_Tcp_Connector_Tracking_cc::general_work(int noutput_items __attrib
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
d_cn0_estimation_counter = 0;
|
d_cn0_estimation_counter = 0;
|
||||||
d_CN0_SNV_dB_Hz = cn0_svn_estimator(d_Prompt_buffer, FLAGS_cn0_samples, GPS_L1_CA_CODE_PERIOD);
|
d_CN0_SNV_dB_Hz = cn0_svn_estimator(d_Prompt_buffer.data(), FLAGS_cn0_samples, GPS_L1_CA_CODE_PERIOD);
|
||||||
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer, FLAGS_cn0_samples);
|
d_carrier_lock_test = carrier_lock_detector(d_Prompt_buffer.data(), FLAGS_cn0_samples);
|
||||||
|
|
||||||
// ###### TRACKING UNLOCK NOTIFICATION #####
|
// ###### TRACKING UNLOCK NOTIFICATION #####
|
||||||
if (d_carrier_lock_test < d_carrier_lock_threshold or d_CN0_SNV_dB_Hz < FLAGS_cn0_min)
|
if (d_carrier_lock_test < d_carrier_lock_threshold or d_CN0_SNV_dB_Hz < FLAGS_cn0_min)
|
||||||
|
@ -44,6 +44,7 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
|
||||||
class Gps_L1_Ca_Tcp_Connector_Tracking_cc;
|
class Gps_L1_Ca_Tcp_Connector_Tracking_cc;
|
||||||
@ -152,7 +153,7 @@ private:
|
|||||||
|
|
||||||
// CN0 estimation and lock detector
|
// CN0 estimation and lock detector
|
||||||
int32_t d_cn0_estimation_counter;
|
int32_t d_cn0_estimation_counter;
|
||||||
gr_complex *d_Prompt_buffer;
|
std::vector<gr_complex> d_Prompt_buffer;
|
||||||
float d_carrier_lock_test;
|
float d_carrier_lock_test;
|
||||||
float d_CN0_SNV_dB_Hz;
|
float d_CN0_SNV_dB_Hz;
|
||||||
float d_carrier_lock_threshold;
|
float d_carrier_lock_threshold;
|
||||||
|
Loading…
Reference in New Issue
Block a user