1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-12-14 20:20:35 +00:00

Remove deletes

This commit is contained in:
Carles Fernandez 2019-06-30 15:15:27 +02:00
parent ce1e160f10
commit 05c41d41e1
No known key found for this signature in database
GPG Key ID: 4C583C52B0C3877D
24 changed files with 60 additions and 61 deletions

View File

@ -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)

View File

@ -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

View File

@ -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();

View File

@ -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

View File

@ -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)

View File

@ -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;

View File

@ -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)
{ {

View File

@ -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;

View File

@ -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)
{ {

View File

@ -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;

View File

@ -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)
{ {

View File

@ -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;

View File

@ -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)
{ {

View File

@ -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;

View File

@ -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)
{ {

View File

@ -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;

View File

@ -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)
{ {

View File

@ -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;

View File

@ -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)
{ {

View File

@ -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;

View File

@ -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)
{ {

View File

@ -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;

View File

@ -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)

View File

@ -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;