mirror of
				https://github.com/gnss-sdr/gnss-sdr
				synced 2025-10-30 06:52:58 +00:00 
			
		
		
		
	Make use of volk_gnsssdr_malloc, volk_gnsssdr_free
instead of volk_malloc, volk_free (which are missing from the volk version distributed by ubuntu 14.04). Fix the include guard in volk_gnsssdr_malloc.h Thanks to @hoernchen
This commit is contained in:
		| @@ -106,14 +106,14 @@ galileo_e5a_noncoherentIQ_acquisition_caf_cc::galileo_e5a_noncoherentIQ_acquisit | ||||
|     d_both_signal_components = both_signal_components_; | ||||
|     d_CAF_window_hz = CAF_window_hz_; | ||||
|  | ||||
|     d_inbuffer = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_fft_code_I_A = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_magnitudeIA = static_cast<float*>(volk_malloc(d_fft_size * sizeof(float), volk_get_alignment())); | ||||
|     d_inbuffer = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     d_fft_code_I_A = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     d_magnitudeIA = static_cast<float*>(volk_gnsssdr_malloc(d_fft_size * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     if (d_both_signal_components == true) | ||||
|         { | ||||
|             d_fft_code_Q_A = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|             d_magnitudeQA = static_cast<float*>(volk_malloc(d_fft_size * sizeof(float), volk_get_alignment())); | ||||
|             d_fft_code_Q_A = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|             d_magnitudeQA = static_cast<float*>(volk_gnsssdr_malloc(d_fft_size * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|         } | ||||
|     else | ||||
|         { | ||||
| @@ -123,12 +123,12 @@ galileo_e5a_noncoherentIQ_acquisition_caf_cc::galileo_e5a_noncoherentIQ_acquisit | ||||
|     // IF COHERENT INTEGRATION TIME > 1 | ||||
|     if (d_sampled_ms > 1) | ||||
|         { | ||||
|             d_fft_code_I_B = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|             d_magnitudeIB = static_cast<float*>(volk_malloc(d_fft_size * sizeof(float), volk_get_alignment())); | ||||
|             d_fft_code_I_B = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|             d_magnitudeIB = static_cast<float*>(volk_gnsssdr_malloc(d_fft_size * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|             if (d_both_signal_components == true) | ||||
|                 { | ||||
|                     d_fft_code_Q_B = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|                     d_magnitudeQB = static_cast<float*>(volk_malloc(d_fft_size * sizeof(float), volk_get_alignment())); | ||||
|                     d_fft_code_Q_B = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|                     d_magnitudeQB = static_cast<float*>(volk_gnsssdr_malloc(d_fft_size * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|                 } | ||||
|             else | ||||
|                 { | ||||
| @@ -175,37 +175,37 @@ galileo_e5a_noncoherentIQ_acquisition_caf_cc::~galileo_e5a_noncoherentIQ_acquisi | ||||
|         { | ||||
|             for (unsigned int i = 0; i < d_num_doppler_bins; i++) | ||||
|                 { | ||||
|                     volk_free(d_grid_doppler_wipeoffs[i]); | ||||
|                     volk_gnsssdr_free(d_grid_doppler_wipeoffs[i]); | ||||
|                 } | ||||
|             delete[] d_grid_doppler_wipeoffs; | ||||
|         } | ||||
|  | ||||
|     volk_free(d_inbuffer); | ||||
|     volk_free(d_fft_code_I_A); | ||||
|     volk_free(d_magnitudeIA); | ||||
|     volk_gnsssdr_free(d_inbuffer); | ||||
|     volk_gnsssdr_free(d_fft_code_I_A); | ||||
|     volk_gnsssdr_free(d_magnitudeIA); | ||||
|     if (d_both_signal_components == true) | ||||
|         { | ||||
|             volk_free(d_fft_code_Q_A); | ||||
|             volk_free(d_magnitudeQA); | ||||
|             volk_gnsssdr_free(d_fft_code_Q_A); | ||||
|             volk_gnsssdr_free(d_magnitudeQA); | ||||
|         } | ||||
|     // IF INTEGRATION TIME > 1 | ||||
|     if (d_sampled_ms > 1) | ||||
|         { | ||||
|             volk_free(d_fft_code_I_B); | ||||
|             volk_free(d_magnitudeIB); | ||||
|             volk_gnsssdr_free(d_fft_code_I_B); | ||||
|             volk_gnsssdr_free(d_magnitudeIB); | ||||
|             if (d_both_signal_components == true) | ||||
|                 { | ||||
|                     volk_free(d_fft_code_Q_B); | ||||
|                     volk_free(d_magnitudeQB); | ||||
|                     volk_gnsssdr_free(d_fft_code_Q_B); | ||||
|                     volk_gnsssdr_free(d_magnitudeQB); | ||||
|                 } | ||||
|         } | ||||
|     if (d_CAF_window_hz > 0) | ||||
|         { | ||||
|             volk_free(d_CAF_vector); | ||||
|             volk_free(d_CAF_vector_I); | ||||
|             volk_gnsssdr_free(d_CAF_vector); | ||||
|             volk_gnsssdr_free(d_CAF_vector_I); | ||||
|             if (d_both_signal_components == true) | ||||
|                 { | ||||
|                     volk_free(d_CAF_vector_Q); | ||||
|                     volk_gnsssdr_free(d_CAF_vector_Q); | ||||
|                 } | ||||
|         } | ||||
|  | ||||
| @@ -297,7 +297,7 @@ void galileo_e5a_noncoherentIQ_acquisition_caf_cc::init() | ||||
|     d_grid_doppler_wipeoffs = new gr_complex*[d_num_doppler_bins]; | ||||
|     for (unsigned int doppler_index = 0; doppler_index < d_num_doppler_bins; doppler_index++) | ||||
|         { | ||||
|             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|             int doppler = -static_cast<int>(d_doppler_max) + d_doppler_step * doppler_index; | ||||
|             float phase_step_rad = GALILEO_TWO_PI * (d_freq + doppler) / static_cast<float>(d_fs_in); | ||||
|             float _phase[1]; | ||||
| @@ -310,11 +310,11 @@ void galileo_e5a_noncoherentIQ_acquisition_caf_cc::init() | ||||
|     //    if (d_CAF_filter) | ||||
|     if (d_CAF_window_hz > 0) | ||||
|         { | ||||
|             d_CAF_vector = static_cast<float*>(volk_malloc(d_num_doppler_bins * sizeof(float), volk_get_alignment())); | ||||
|             d_CAF_vector_I = static_cast<float*>(volk_malloc(d_num_doppler_bins * sizeof(float), volk_get_alignment())); | ||||
|             d_CAF_vector = static_cast<float*>(volk_gnsssdr_malloc(d_num_doppler_bins * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|             d_CAF_vector_I = static_cast<float*>(volk_gnsssdr_malloc(d_num_doppler_bins * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|             if (d_both_signal_components == true) | ||||
|                 { | ||||
|                     d_CAF_vector_Q = static_cast<float*>(volk_malloc(d_num_doppler_bins * sizeof(float), volk_get_alignment())); | ||||
|                     d_CAF_vector_Q = static_cast<float*>(volk_gnsssdr_malloc(d_num_doppler_bins * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|                 } | ||||
|         } | ||||
| } | ||||
| @@ -656,7 +656,7 @@ int galileo_e5a_noncoherentIQ_acquisition_caf_cc::general_work(int noutput_items | ||||
|             if (d_CAF_window_hz > 0) | ||||
|                 { | ||||
|                     int CAF_bins_half; | ||||
|                     float* accum = static_cast<float*>(volk_malloc(sizeof(float), volk_get_alignment())); | ||||
|                     float* accum = static_cast<float*>(volk_gnsssdr_malloc(sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|                     CAF_bins_half = d_CAF_window_hz / (2 * d_doppler_step); | ||||
|                     float weighting_factor; | ||||
|                     weighting_factor = 0.5 / static_cast<float>(CAF_bins_half); | ||||
| @@ -750,7 +750,7 @@ int galileo_e5a_noncoherentIQ_acquisition_caf_cc::general_work(int noutput_items | ||||
|                             d_dump_file.write((char*)d_CAF_vector, n); | ||||
|                             d_dump_file.close(); | ||||
|                         } | ||||
|                     volk_free(accum); | ||||
|                     volk_gnsssdr_free(accum); | ||||
|                 } | ||||
|  | ||||
|             if (d_well_count == d_max_dwells) | ||||
|   | ||||
| @@ -77,9 +77,9 @@ galileo_pcps_8ms_acquisition_cc::galileo_pcps_8ms_acquisition_cc( | ||||
|     d_input_power = 0.0; | ||||
|     d_num_doppler_bins = 0; | ||||
|  | ||||
|     d_fft_code_A = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_fft_code_B = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_magnitude = static_cast<float*>(volk_malloc(d_fft_size * sizeof(float), volk_get_alignment())); | ||||
|     d_fft_code_A = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     d_fft_code_B = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     d_magnitude = static_cast<float*>(volk_gnsssdr_malloc(d_fft_size * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     // Direct FFT | ||||
|     d_fft_if = new gr::fft::fft_complex(d_fft_size, true); | ||||
| @@ -108,14 +108,14 @@ galileo_pcps_8ms_acquisition_cc::~galileo_pcps_8ms_acquisition_cc() | ||||
|         { | ||||
|             for (unsigned int i = 0; i < d_num_doppler_bins; i++) | ||||
|                 { | ||||
|                     volk_free(d_grid_doppler_wipeoffs[i]); | ||||
|                     volk_gnsssdr_free(d_grid_doppler_wipeoffs[i]); | ||||
|                 } | ||||
|             delete[] d_grid_doppler_wipeoffs; | ||||
|         } | ||||
|  | ||||
|     volk_free(d_fft_code_A); | ||||
|     volk_free(d_fft_code_B); | ||||
|     volk_free(d_magnitude); | ||||
|     volk_gnsssdr_free(d_fft_code_A); | ||||
|     volk_gnsssdr_free(d_fft_code_B); | ||||
|     volk_gnsssdr_free(d_magnitude); | ||||
|  | ||||
|     delete d_ifft; | ||||
|     delete d_fft_if; | ||||
| @@ -174,7 +174,7 @@ void galileo_pcps_8ms_acquisition_cc::init() | ||||
|     d_grid_doppler_wipeoffs = new gr_complex*[d_num_doppler_bins]; | ||||
|     for (unsigned int doppler_index = 0; doppler_index < d_num_doppler_bins; doppler_index++) | ||||
|         { | ||||
|             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|             int doppler = -static_cast<int>(d_doppler_max) + d_doppler_step * doppler_index; | ||||
|             float phase_step_rad = static_cast<float>(GALILEO_TWO_PI) * (d_freq + doppler) / static_cast<float>(d_fs_in); | ||||
|             float _phase[1]; | ||||
|   | ||||
| @@ -114,8 +114,8 @@ pcps_acquisition_cc::pcps_acquisition_cc( | ||||
|             d_max_dwells = 1; //Activation of d_bit_transition_flag invalidates the value of d_max_dwells | ||||
|         } | ||||
|  | ||||
|     d_fft_codes = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_magnitude = static_cast<float*>(volk_malloc(d_fft_size * sizeof(float), volk_get_alignment())); | ||||
|     d_fft_codes = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     d_magnitude = static_cast<float*>(volk_gnsssdr_malloc(d_fft_size * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     // Direct FFT | ||||
|     d_fft_if = new gr::fft::fft_complex(d_fft_size, true); | ||||
| @@ -138,13 +138,13 @@ pcps_acquisition_cc::~pcps_acquisition_cc() | ||||
|         { | ||||
|             for (unsigned int i = 0; i < d_num_doppler_bins; i++) | ||||
|                 { | ||||
|                     volk_free(d_grid_doppler_wipeoffs[i]); | ||||
|                     volk_gnsssdr_free(d_grid_doppler_wipeoffs[i]); | ||||
|                 } | ||||
|             delete[] d_grid_doppler_wipeoffs; | ||||
|         } | ||||
|  | ||||
|     volk_free(d_fft_codes); | ||||
|     volk_free(d_magnitude); | ||||
|     volk_gnsssdr_free(d_fft_codes); | ||||
|     volk_gnsssdr_free(d_magnitude); | ||||
|  | ||||
|     delete d_ifft; | ||||
|     delete d_fft_if; | ||||
| @@ -208,7 +208,7 @@ void pcps_acquisition_cc::init() | ||||
|  | ||||
|     for (unsigned int doppler_index = 0; doppler_index < d_num_doppler_bins; doppler_index++) | ||||
|         { | ||||
|             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|             int doppler = -static_cast<int>(d_doppler_max) + d_doppler_step * doppler_index; | ||||
|             update_local_carrier(d_grid_doppler_wipeoffs[doppler_index], d_fft_size, d_freq + doppler); | ||||
|         } | ||||
|   | ||||
| @@ -80,9 +80,9 @@ pcps_acquisition_fine_doppler_cc::pcps_acquisition_fine_doppler_cc( | ||||
|     d_gnuradio_forecast_samples = d_fft_size; | ||||
|     d_input_power = 0.0; | ||||
|     d_state = 0; | ||||
|     d_carrier = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_fft_codes = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_magnitude = static_cast<float*>(volk_malloc(d_fft_size * sizeof(float), volk_get_alignment())); | ||||
|     d_carrier = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     d_fft_codes = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     d_magnitude = static_cast<float*>(volk_gnsssdr_malloc(d_fft_size * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     // Direct FFT | ||||
|     d_fft_if = new gr::fft::fft_complex(d_fft_size, true); | ||||
| @@ -118,7 +118,7 @@ void pcps_acquisition_fine_doppler_cc::set_doppler_step(unsigned int doppler_ste | ||||
|     d_grid_data = new float*[d_num_doppler_points]; | ||||
|     for (int i = 0; i < d_num_doppler_points; i++) | ||||
|         { | ||||
|             d_grid_data[i] = static_cast<float*>(volk_malloc(d_fft_size * sizeof(float), volk_get_alignment())); | ||||
|             d_grid_data[i] = static_cast<float*>(volk_gnsssdr_malloc(d_fft_size * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|         } | ||||
|     update_carrier_wipeoff(); | ||||
| } | ||||
| @@ -127,7 +127,7 @@ void pcps_acquisition_fine_doppler_cc::free_grid_memory() | ||||
| { | ||||
|     for (int i = 0; i < d_num_doppler_points; i++) | ||||
|         { | ||||
|             volk_free(d_grid_data[i]); | ||||
|             volk_gnsssdr_free(d_grid_data[i]); | ||||
|             delete[] d_grid_doppler_wipeoffs[i]; | ||||
|         } | ||||
|     delete d_grid_data; | ||||
| @@ -136,9 +136,9 @@ void pcps_acquisition_fine_doppler_cc::free_grid_memory() | ||||
|  | ||||
| pcps_acquisition_fine_doppler_cc::~pcps_acquisition_fine_doppler_cc() | ||||
| { | ||||
|     volk_free(d_carrier); | ||||
|     volk_free(d_fft_codes); | ||||
|     volk_free(d_magnitude); | ||||
|     volk_gnsssdr_free(d_carrier); | ||||
|     volk_gnsssdr_free(d_fft_codes); | ||||
|     volk_gnsssdr_free(d_magnitude); | ||||
|     delete d_ifft; | ||||
|     delete d_fft_if; | ||||
|     if (d_dump) | ||||
| @@ -297,7 +297,7 @@ int pcps_acquisition_fine_doppler_cc::compute_and_accumulate_grid(gr_vector_cons | ||||
|  | ||||
|  | ||||
|     // 2- Doppler frequency search loop | ||||
|     float* p_tmp_vector = static_cast<float*>(volk_malloc(d_fft_size * sizeof(float), volk_get_alignment())); | ||||
|     float* p_tmp_vector = static_cast<float*>(volk_gnsssdr_malloc(d_fft_size * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     for (int doppler_index = 0; doppler_index < d_num_doppler_points; doppler_index++) | ||||
|         { | ||||
| @@ -323,7 +323,7 @@ int pcps_acquisition_fine_doppler_cc::compute_and_accumulate_grid(gr_vector_cons | ||||
|  | ||||
|         } | ||||
|  | ||||
|     volk_free(p_tmp_vector); | ||||
|     volk_gnsssdr_free(p_tmp_vector); | ||||
|     return d_fft_size; | ||||
| } | ||||
|  | ||||
| @@ -339,7 +339,7 @@ int pcps_acquisition_fine_doppler_cc::estimate_Doppler(gr_vector_const_void_star | ||||
|     memset(fft_operator->get_inbuf(), 0, fft_size_extended * sizeof(gr_complex)); | ||||
|  | ||||
|     //1. generate local code aligned with the acquisition code phase estimation | ||||
|     gr_complex *code_replica = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|     gr_complex *code_replica = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     gps_l1_ca_code_gen_complex_sampled(code_replica, d_gnss_synchro->PRN, d_fs_in, 0); | ||||
|  | ||||
| @@ -360,7 +360,7 @@ int pcps_acquisition_fine_doppler_cc::estimate_Doppler(gr_vector_const_void_star | ||||
|     fft_operator->execute(); | ||||
|  | ||||
|     // 4. Compute the magnitude and find the maximum | ||||
|     float* p_tmp_vector = static_cast<float*>(volk_malloc(fft_size_extended * sizeof(float), volk_get_alignment())); | ||||
|     float* p_tmp_vector = static_cast<float*>(volk_gnsssdr_malloc(fft_size_extended * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     volk_32fc_magnitude_squared_32f(p_tmp_vector, fft_operator->get_outbuf(), fft_size_extended); | ||||
|  | ||||
| @@ -432,8 +432,8 @@ int pcps_acquisition_fine_doppler_cc::estimate_Doppler(gr_vector_const_void_star | ||||
|  | ||||
|     // free memory!! | ||||
|     delete fft_operator; | ||||
|     volk_free(code_replica); | ||||
|     volk_free(p_tmp_vector); | ||||
|     volk_gnsssdr_free(code_replica); | ||||
|     volk_gnsssdr_free(p_tmp_vector); | ||||
|     return d_fft_size; | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -112,10 +112,10 @@ pcps_acquisition_sc::pcps_acquisition_sc( | ||||
|             d_max_dwells = 1; | ||||
|         } | ||||
|  | ||||
|     d_fft_codes = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_magnitude = static_cast<float*>(volk_malloc(d_fft_size * sizeof(float), volk_get_alignment())); | ||||
|     d_fft_codes = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     d_magnitude = static_cast<float*>(volk_gnsssdr_malloc(d_fft_size * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|     //temporary storage for the input conversion from 16sc to float 32fc | ||||
|     d_in_32fc = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_in_32fc = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     // Direct FFT | ||||
|     d_fft_if = new gr::fft::fft_complex(d_fft_size, true); | ||||
| @@ -138,14 +138,14 @@ pcps_acquisition_sc::~pcps_acquisition_sc() | ||||
|         { | ||||
|             for (unsigned int i = 0; i < d_num_doppler_bins; i++) | ||||
|                 { | ||||
|                     volk_free(d_grid_doppler_wipeoffs[i]); | ||||
|                     volk_gnsssdr_free(d_grid_doppler_wipeoffs[i]); | ||||
|                 } | ||||
|             delete[] d_grid_doppler_wipeoffs; | ||||
|         } | ||||
|  | ||||
|     volk_free(d_fft_codes); | ||||
|     volk_free(d_magnitude); | ||||
|     volk_free(d_in_32fc); | ||||
|     volk_gnsssdr_free(d_fft_codes); | ||||
|     volk_gnsssdr_free(d_magnitude); | ||||
|     volk_gnsssdr_free(d_in_32fc); | ||||
|  | ||||
|     delete d_ifft; | ||||
|     delete d_fft_if; | ||||
| @@ -205,7 +205,7 @@ void pcps_acquisition_sc::init() | ||||
|  | ||||
|     for (unsigned int doppler_index = 0; doppler_index < d_num_doppler_bins; doppler_index++) | ||||
|         { | ||||
|             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|             int doppler = -static_cast<int>(d_doppler_max) + d_doppler_step * doppler_index; | ||||
|             update_local_carrier(d_grid_doppler_wipeoffs[doppler_index], d_fft_size, d_freq + doppler); | ||||
|         } | ||||
|   | ||||
| @@ -81,8 +81,8 @@ pcps_assisted_acquisition_cc::pcps_assisted_acquisition_cc( | ||||
|     d_input_power = 0.0; | ||||
|     d_state = 0; | ||||
|     d_disable_assist = false; | ||||
|     d_fft_codes = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_carrier = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_fft_codes = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     d_carrier = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     // Direct FFT | ||||
|     d_fft_if = new gr::fft::fft_complex(d_fft_size, true); | ||||
| @@ -133,8 +133,8 @@ void pcps_assisted_acquisition_cc::free_grid_memory() | ||||
|  | ||||
| pcps_assisted_acquisition_cc::~pcps_assisted_acquisition_cc() | ||||
| { | ||||
|     volk_free(d_carrier); | ||||
|     volk_free(d_fft_codes); | ||||
|     volk_gnsssdr_free(d_carrier); | ||||
|     volk_gnsssdr_free(d_fft_codes); | ||||
|     delete d_ifft; | ||||
|     delete d_fft_if; | ||||
|     if (d_dump) | ||||
| @@ -322,14 +322,14 @@ float pcps_assisted_acquisition_cc::estimate_input_power(gr_vector_const_void_st | ||||
| { | ||||
|     const gr_complex *in = (const gr_complex *)input_items[0]; //Get the input samples pointer | ||||
|     // 1- Compute the input signal power estimation | ||||
|     float* p_tmp_vector = static_cast<float*>(volk_malloc(d_fft_size * sizeof(float), volk_get_alignment())); | ||||
|     float* p_tmp_vector = static_cast<float*>(volk_gnsssdr_malloc(d_fft_size * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     volk_32fc_magnitude_squared_32f(p_tmp_vector, in, d_fft_size); | ||||
|  | ||||
|     const float* p_const_tmp_vector = p_tmp_vector; | ||||
|     float power; | ||||
|     volk_32f_accumulator_s32f(&power, p_const_tmp_vector, d_fft_size); | ||||
|     volk_free(p_tmp_vector); | ||||
|     volk_gnsssdr_free(p_tmp_vector); | ||||
|     return ( power / static_cast<float>(d_fft_size)); | ||||
| } | ||||
|  | ||||
| @@ -348,7 +348,7 @@ int pcps_assisted_acquisition_cc::compute_and_accumulate_grid(gr_vector_const_vo | ||||
|                << ", doppler_step: " << d_doppler_step; | ||||
|  | ||||
|     // 2- Doppler frequency search loop | ||||
|     float* p_tmp_vector = static_cast<float*>(volk_malloc(d_fft_size * sizeof(float), volk_get_alignment())); | ||||
|     float* p_tmp_vector = static_cast<float*>(volk_gnsssdr_malloc(d_fft_size * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     for (int doppler_index = 0; doppler_index < d_num_doppler_points; doppler_index++) | ||||
|         { | ||||
| @@ -371,7 +371,7 @@ int pcps_assisted_acquisition_cc::compute_and_accumulate_grid(gr_vector_const_vo | ||||
|             const float* old_vector = d_grid_data[doppler_index]; | ||||
|             volk_32f_x2_add_32f(d_grid_data[doppler_index], old_vector, p_tmp_vector, d_fft_size); | ||||
|         } | ||||
|     volk_free(p_tmp_vector); | ||||
|     volk_gnsssdr_free(p_tmp_vector); | ||||
|     return d_fft_size; | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -83,13 +83,13 @@ pcps_cccwsr_acquisition_cc::pcps_cccwsr_acquisition_cc( | ||||
|     d_input_power = 0.0; | ||||
|     d_num_doppler_bins = 0; | ||||
|  | ||||
|     d_fft_code_data = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_fft_code_pilot = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_data_correlation = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_pilot_correlation = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_correlation_plus = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_correlation_minus = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_magnitude = static_cast<float*>(volk_malloc(d_fft_size * sizeof(float), volk_get_alignment())); | ||||
|     d_fft_code_data = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     d_fft_code_pilot = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     d_data_correlation = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     d_pilot_correlation = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     d_correlation_plus = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     d_correlation_minus = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     d_magnitude = static_cast<float*>(volk_gnsssdr_malloc(d_fft_size * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     // Direct FFT | ||||
|     d_fft_if = new gr::fft::fft_complex(d_fft_size, true); | ||||
| @@ -118,18 +118,18 @@ pcps_cccwsr_acquisition_cc::~pcps_cccwsr_acquisition_cc() | ||||
|         { | ||||
|             for (unsigned int i = 0; i < d_num_doppler_bins; i++) | ||||
|                 { | ||||
|                     volk_free(d_grid_doppler_wipeoffs[i]); | ||||
|                     volk_gnsssdr_free(d_grid_doppler_wipeoffs[i]); | ||||
|                 } | ||||
|             delete[] d_grid_doppler_wipeoffs; | ||||
|         } | ||||
|  | ||||
|     volk_free(d_fft_code_data); | ||||
|     volk_free(d_fft_code_pilot); | ||||
|     volk_free(d_data_correlation); | ||||
|     volk_free(d_pilot_correlation); | ||||
|     volk_free(d_correlation_plus); | ||||
|     volk_free(d_correlation_minus); | ||||
|     volk_free(d_magnitude); | ||||
|     volk_gnsssdr_free(d_fft_code_data); | ||||
|     volk_gnsssdr_free(d_fft_code_pilot); | ||||
|     volk_gnsssdr_free(d_data_correlation); | ||||
|     volk_gnsssdr_free(d_pilot_correlation); | ||||
|     volk_gnsssdr_free(d_correlation_plus); | ||||
|     volk_gnsssdr_free(d_correlation_minus); | ||||
|     volk_gnsssdr_free(d_magnitude); | ||||
|  | ||||
|     delete d_ifft; | ||||
|     delete d_fft_if; | ||||
| @@ -187,7 +187,7 @@ void pcps_cccwsr_acquisition_cc::init() | ||||
|     d_grid_doppler_wipeoffs = new gr_complex*[d_num_doppler_bins]; | ||||
|     for (unsigned int doppler_index = 0; doppler_index < d_num_doppler_bins; doppler_index++) | ||||
|         { | ||||
|             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|             int doppler = -static_cast<int>(d_doppler_max) + d_doppler_step * doppler_index; | ||||
|             float phase_step_rad = GPS_TWO_PI * (d_freq + doppler) / static_cast<float>(d_fs_in); | ||||
|   | ||||
| @@ -115,11 +115,11 @@ pcps_opencl_acquisition_cc::pcps_opencl_acquisition_cc( | ||||
|     d_in_buffer = new gr_complex*[d_max_dwells]; | ||||
|     for (unsigned int i = 0; i < d_max_dwells; i++) | ||||
|         { | ||||
|             d_in_buffer[i] = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|             d_in_buffer[i] = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|         } | ||||
|     d_magnitude = static_cast<float*>(volk_malloc(d_fft_size * sizeof(float), volk_get_alignment())); | ||||
|     d_fft_codes = static_cast<gr_complex*>(volk_malloc(d_fft_size_pow2 * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_zero_vector = static_cast<gr_complex*>(volk_malloc((d_fft_size_pow2 - d_fft_size) * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_magnitude = static_cast<float*>(volk_gnsssdr_malloc(d_fft_size * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|     d_fft_codes = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size_pow2 * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     d_zero_vector = static_cast<gr_complex*>(volk_gnsssdr_malloc((d_fft_size_pow2 - d_fft_size) * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     for (unsigned int i = 0; i < (d_fft_size_pow2-d_fft_size); i++) | ||||
|         { | ||||
| @@ -151,20 +151,20 @@ pcps_opencl_acquisition_cc::~pcps_opencl_acquisition_cc() | ||||
|         { | ||||
|             for (unsigned int i = 0; i < d_num_doppler_bins; i++) | ||||
|                 { | ||||
|                     volk_free(d_grid_doppler_wipeoffs[i]); | ||||
|                     volk_gnsssdr_free(d_grid_doppler_wipeoffs[i]); | ||||
|                 } | ||||
|             delete[] d_grid_doppler_wipeoffs; | ||||
|         } | ||||
|  | ||||
|     for (unsigned int i = 0; i < d_max_dwells; i++) | ||||
|         { | ||||
|             volk_free(d_in_buffer[i]); | ||||
|             volk_gnsssdr_free(d_in_buffer[i]); | ||||
|         } | ||||
|     delete[] d_in_buffer; | ||||
|  | ||||
|     volk_free(d_fft_codes); | ||||
|     volk_free(d_magnitude); | ||||
|     volk_free(d_zero_vector); | ||||
|     volk_gnsssdr_free(d_fft_codes); | ||||
|     volk_gnsssdr_free(d_magnitude); | ||||
|     volk_gnsssdr_free(d_zero_vector); | ||||
|  | ||||
|     if (d_opencl == 0) | ||||
|         { | ||||
| @@ -319,7 +319,7 @@ void pcps_opencl_acquisition_cc::init() | ||||
|  | ||||
|     for (unsigned int doppler_index = 0; doppler_index < d_num_doppler_bins; doppler_index++) | ||||
|         { | ||||
|             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|             int doppler = -static_cast<int>(d_doppler_max) + d_doppler_step * doppler_index; | ||||
|             float phase_step_rad = static_cast<float>(GPS_TWO_PI) * (d_freq + doppler) / static_cast<float>(d_fs_in); | ||||
|   | ||||
| @@ -93,9 +93,9 @@ pcps_quicksync_acquisition_cc::pcps_quicksync_acquisition_cc( | ||||
|     //fft size is reduced. | ||||
|     d_fft_size = (d_samples_per_code) / d_folding_factor; | ||||
|  | ||||
|     d_fft_codes = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_magnitude = static_cast<float*>(volk_malloc(d_samples_per_code * d_folding_factor * sizeof(float), volk_get_alignment())); | ||||
|     d_magnitude_folded = static_cast<float*>(volk_malloc(d_fft_size * sizeof(float), volk_get_alignment())); | ||||
|     d_fft_codes = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     d_magnitude = static_cast<float*>(volk_gnsssdr_malloc(d_samples_per_code * d_folding_factor * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|     d_magnitude_folded = static_cast<float*>(volk_gnsssdr_malloc(d_fft_size * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     d_possible_delay = new unsigned int[d_folding_factor]; | ||||
|     d_corr_output_f = new float[d_folding_factor]; | ||||
| @@ -140,14 +140,14 @@ pcps_quicksync_acquisition_cc::~pcps_quicksync_acquisition_cc() | ||||
|         { | ||||
|             for (unsigned int i = 0; i < d_num_doppler_bins; i++) | ||||
|                 { | ||||
|                     volk_free(d_grid_doppler_wipeoffs[i]); | ||||
|                     volk_gnsssdr_free(d_grid_doppler_wipeoffs[i]); | ||||
|                 } | ||||
|             delete[] d_grid_doppler_wipeoffs; | ||||
|         } | ||||
|  | ||||
|     volk_free(d_fft_codes); | ||||
|     volk_free(d_magnitude); | ||||
|     volk_free(d_magnitude_folded); | ||||
|     volk_gnsssdr_free(d_fft_codes); | ||||
|     volk_gnsssdr_free(d_magnitude); | ||||
|     volk_gnsssdr_free(d_magnitude_folded); | ||||
|  | ||||
|     delete d_ifft; | ||||
|     delete d_fft_if; | ||||
| @@ -221,7 +221,7 @@ void pcps_quicksync_acquisition_cc::init() | ||||
|     d_grid_doppler_wipeoffs = new gr_complex*[d_num_doppler_bins]; | ||||
|     for (unsigned int doppler_index = 0; doppler_index < d_num_doppler_bins; doppler_index++) | ||||
|         { | ||||
|             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_malloc(d_samples_per_code * d_folding_factor * sizeof(gr_complex), volk_get_alignment())); | ||||
|             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_samples_per_code * d_folding_factor * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|             int doppler = -static_cast<int>(d_doppler_max) + d_doppler_step * doppler_index; | ||||
|             float phase_step_rad = GPS_TWO_PI * (d_freq + doppler) / static_cast<float>(d_fs_in); | ||||
|             float _phase[1]; | ||||
| @@ -309,16 +309,16 @@ int pcps_quicksync_acquisition_cc::general_work(int noutput_items, | ||||
|             float magt = 0.0; | ||||
|             const gr_complex *in = (const gr_complex *)input_items[0]; //Get the input samples pointer | ||||
|  | ||||
|             gr_complex* in_temp = static_cast<gr_complex*>(volk_malloc(d_samples_per_code * d_folding_factor * sizeof(gr_complex), volk_get_alignment())); | ||||
|             gr_complex* in_temp_folded = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|             gr_complex* in_temp = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_samples_per_code * d_folding_factor * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|             gr_complex* in_temp_folded = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|             /*Create a signal to store a signal of size 1ms, to perform correlation | ||||
|             in time. No folding on this data is required*/ | ||||
|             gr_complex* in_1code = static_cast<gr_complex*>(volk_malloc(d_samples_per_code * sizeof(gr_complex), volk_get_alignment())); | ||||
|             gr_complex* in_1code = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_samples_per_code * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|             /*Stores the values of the correlation output between the local code | ||||
|             and the signal with doppler shift corrected */ | ||||
|             gr_complex* corr_output = static_cast<gr_complex*>(volk_malloc(d_samples_per_code * sizeof(gr_complex), volk_get_alignment())); | ||||
|             gr_complex* corr_output = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_samples_per_code * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|             /*Stores a copy of the folded version of the signal.This is used for | ||||
|             the FFT operations in future steps of excecution*/ | ||||
| @@ -517,10 +517,10 @@ int pcps_quicksync_acquisition_cc::general_work(int noutput_items, | ||||
|                         } | ||||
|                 } | ||||
|  | ||||
|             volk_free(in_temp); | ||||
|             volk_free(in_temp_folded); | ||||
|             volk_free(in_1code); | ||||
|             volk_free(corr_output); | ||||
|             volk_gnsssdr_free(in_temp); | ||||
|             volk_gnsssdr_free(in_temp_folded); | ||||
|             volk_gnsssdr_free(in_1code); | ||||
|             volk_gnsssdr_free(corr_output); | ||||
|             consume_each(1); | ||||
|  | ||||
|             break; | ||||
|   | ||||
| @@ -101,8 +101,8 @@ pcps_tong_acquisition_cc::pcps_tong_acquisition_cc( | ||||
|     d_input_power = 0.0; | ||||
|     d_num_doppler_bins = 0; | ||||
|  | ||||
|     d_fft_codes = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_magnitude = static_cast<float*>(volk_malloc(d_fft_size * sizeof(float), volk_get_alignment())); | ||||
|     d_fft_codes = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     d_magnitude = static_cast<float*>(volk_gnsssdr_malloc(d_fft_size * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     // Direct FFT | ||||
|     d_fft_if = new gr::fft::fft_complex(d_fft_size, true); | ||||
| @@ -132,15 +132,15 @@ pcps_tong_acquisition_cc::~pcps_tong_acquisition_cc() | ||||
|         { | ||||
|             for (unsigned int i = 0; i < d_num_doppler_bins; i++) | ||||
|                 { | ||||
|                     volk_free(d_grid_doppler_wipeoffs[i]); | ||||
|                     volk_free(d_grid_data[i]); | ||||
|                     volk_gnsssdr_free(d_grid_doppler_wipeoffs[i]); | ||||
|                     volk_gnsssdr_free(d_grid_data[i]); | ||||
|                 } | ||||
|             delete[] d_grid_doppler_wipeoffs; | ||||
|             delete[] d_grid_data; | ||||
|         } | ||||
|  | ||||
|     volk_free(d_fft_codes); | ||||
|     volk_free(d_magnitude); | ||||
|     volk_gnsssdr_free(d_fft_codes); | ||||
|     volk_gnsssdr_free(d_magnitude); | ||||
|  | ||||
|     delete d_ifft; | ||||
|     delete d_fft_if; | ||||
| @@ -189,7 +189,7 @@ void pcps_tong_acquisition_cc::init() | ||||
|     d_grid_data = new float*[d_num_doppler_bins]; | ||||
|     for (unsigned int doppler_index = 0; doppler_index < d_num_doppler_bins; doppler_index++) | ||||
|         { | ||||
|             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment())); | ||||
|             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|             int doppler = -static_cast<int>(d_doppler_max) + d_doppler_step * doppler_index; | ||||
|             float phase_step_rad = GPS_TWO_PI * (d_freq + doppler) / static_cast<float>(d_fs_in); | ||||
| @@ -197,7 +197,7 @@ void pcps_tong_acquisition_cc::init() | ||||
|             _phase[0] = 0; | ||||
|             volk_gnsssdr_s32f_sincos_32fc(d_grid_doppler_wipeoffs[doppler_index], - phase_step_rad, _phase, d_fft_size); | ||||
|  | ||||
|             d_grid_data[doppler_index] = static_cast<float*>(volk_malloc(d_fft_size * sizeof(float), volk_get_alignment())); | ||||
|             d_grid_data[doppler_index] = static_cast<float*>(volk_gnsssdr_malloc(d_fft_size * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|             for (unsigned int i = 0; i < d_fft_size; i++) | ||||
|                 { | ||||
|   | ||||
| @@ -22,8 +22,8 @@ | ||||
|  * along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| #ifndef INCLUDED_VOLK_MALLOC_H | ||||
| #define INCLUDED_VOLK_MALLOC_H | ||||
| #ifndef INCLUDED_VOLK_GNSSSDR_MALLOC_H | ||||
| #define INCLUDED_VOLK_GNSSSDR_MALLOC_H | ||||
|  | ||||
| #include <volk_gnsssdr/volk_gnsssdr_common.h> | ||||
| #include <stdlib.h> | ||||
| @@ -65,4 +65,4 @@ VOLK_API void volk_gnsssdr_free(void *aptr); | ||||
|  | ||||
| __VOLK_DECL_END | ||||
|  | ||||
| #endif /* INCLUDED_VOLK_MALLOC_H */ | ||||
| #endif /* INCLUDED_VOLK_GNSSSDR_MALLOC_H */ | ||||
|   | ||||
| @@ -37,7 +37,7 @@ source_group(Headers FILES ${SIGNAL_GENERATOR_BLOCK_HEADERS}) | ||||
| target_link_libraries(signal_generator_blocks gnss_system_parameters gnss_sp_libs | ||||
|                                               ${GNURADIO_RUNTIME_LIBRARIES} | ||||
|                                               ${GNURADIO_FFT_LIBRARIES} | ||||
|                                               ${VOLK_LIBRARIES} ${VOLK_GNSSSDR_LIBRARIES} ${ORC_LIBRARIES} | ||||
|                                               ${VOLK_GNSSSDR_LIBRARIES} ${ORC_LIBRARIES} | ||||
| ) | ||||
|  | ||||
| if(VOLK_GNSSSDR_FOUND) | ||||
|   | ||||
| @@ -33,7 +33,7 @@ | ||||
| #include <iostream> | ||||
| #include <fstream> | ||||
| #include <gnuradio/io_signature.h> | ||||
| #include <volk/volk.h> | ||||
| //#include <volk/volk.h> | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
| #include "gps_sdr_signal_processing.h" | ||||
| #include "galileo_e1_signal_processing.h" | ||||
| @@ -87,7 +87,7 @@ void signal_generator_c::init() | ||||
| { | ||||
|     work_counter_ = 0; | ||||
|  | ||||
|     complex_phase_ = static_cast<gr_complex*>(volk_malloc(vector_length_ * sizeof(gr_complex), volk_get_alignment())); | ||||
|     complex_phase_ = static_cast<gr_complex*>(volk_gnsssdr_malloc(vector_length_ * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     // True if Galileo satellites are present | ||||
|     bool galileo_signal = std::find(system_.begin(), system_.end(), "E") != system_.end(); | ||||
| @@ -244,7 +244,7 @@ signal_generator_c::~signal_generator_c() | ||||
|                     std::free(sampled_code_pilot_[sat]); | ||||
|                 } | ||||
|         } */ | ||||
|     volk_free(complex_phase_); | ||||
|     volk_gnsssdr_free(complex_phase_); | ||||
|     delete random_; | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -42,7 +42,7 @@ | ||||
| #include <boost/lexical_cast.hpp> | ||||
| #include <gnuradio/io_signature.h> | ||||
| #include <glog/logging.h> | ||||
| #include <volk/volk.h> | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
| #include "galileo_e1_signal_processing.h" | ||||
| #include "tracking_discriminators.h" | ||||
| #include "lock_detectors.h" | ||||
| @@ -129,11 +129,11 @@ galileo_e1_dll_pll_veml_tracking_cc::galileo_e1_dll_pll_veml_tracking_cc( | ||||
|  | ||||
|     // Initialization of local code replica | ||||
|     // Get space for a vector with the sinboc(1,1) replica sampled 2x/chip | ||||
|     d_ca_code = static_cast<gr_complex*>(volk_malloc((2 * Galileo_E1_B_CODE_LENGTH_CHIPS) * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_ca_code = static_cast<gr_complex*>(volk_gnsssdr_malloc((2 * Galileo_E1_B_CODE_LENGTH_CHIPS) * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     // correlator outputs (scalar) | ||||
|     d_n_correlator_taps = 5; // Very-Early, Early, Prompt, Late, Very-Late | ||||
|     d_correlator_outs = static_cast<gr_complex*>(volk_malloc(d_n_correlator_taps * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_correlator_outs = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_n_correlator_taps * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     for (int n = 0; n < d_n_correlator_taps; n++) | ||||
|         { | ||||
|             d_correlator_outs[n] = gr_complex(0,0); | ||||
| @@ -145,7 +145,7 @@ galileo_e1_dll_pll_veml_tracking_cc::galileo_e1_dll_pll_veml_tracking_cc( | ||||
|     d_Late = &d_correlator_outs[3]; | ||||
|     d_Very_Late = &d_correlator_outs[4]; | ||||
|  | ||||
|     d_local_code_shift_chips = static_cast<float*>(volk_malloc(d_n_correlator_taps * sizeof(float), volk_get_alignment())); | ||||
|     d_local_code_shift_chips = static_cast<float*>(volk_gnsssdr_malloc(d_n_correlator_taps * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|     // Set TAPs delay values [chips] | ||||
|     d_local_code_shift_chips[0] = - d_very_early_late_spc_chips; | ||||
|     d_local_code_shift_chips[1] = - d_early_late_spc_chips; | ||||
| @@ -251,9 +251,9 @@ galileo_e1_dll_pll_veml_tracking_cc::~galileo_e1_dll_pll_veml_tracking_cc() | ||||
| { | ||||
|     d_dump_file.close(); | ||||
|  | ||||
|     volk_free(d_local_code_shift_chips); | ||||
|     volk_free(d_correlator_outs); | ||||
|     volk_free(d_ca_code); | ||||
|     volk_gnsssdr_free(d_local_code_shift_chips); | ||||
|     volk_gnsssdr_free(d_correlator_outs); | ||||
|     volk_gnsssdr_free(d_ca_code); | ||||
|  | ||||
|     delete[] d_Prompt_buffer; | ||||
|     multicorrelator_cpu.free(); | ||||
|   | ||||
| @@ -45,7 +45,7 @@ | ||||
| #include <boost/lexical_cast.hpp> | ||||
| #include <gnuradio/io_signature.h> | ||||
| #include <glog/logging.h> | ||||
| #include <volk/volk.h> | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
| #include "galileo_e1_signal_processing.h" | ||||
| #include "tracking_discriminators.h" | ||||
| #include "lock_detectors.h" | ||||
| @@ -130,11 +130,11 @@ Galileo_E1_Tcp_Connector_Tracking_cc::Galileo_E1_Tcp_Connector_Tracking_cc( | ||||
|  | ||||
|     // Initialization of local code replica | ||||
|     // Get space for a vector with the sinboc(1,1) replica sampled 2x/chip | ||||
|     d_ca_code = static_cast<gr_complex*>(volk_malloc((2*Galileo_E1_B_CODE_LENGTH_CHIPS) * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_ca_code = static_cast<gr_complex*>(volk_gnsssdr_malloc((2*Galileo_E1_B_CODE_LENGTH_CHIPS) * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     // correlator outputs (scalar) | ||||
|     d_n_correlator_taps = 5; // Very-Early, Early, Prompt, Late, Very-Late | ||||
|     d_correlator_outs = static_cast<gr_complex*>(volk_malloc(d_n_correlator_taps*sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_correlator_outs = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_n_correlator_taps*sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     for (int n = 0; n < d_n_correlator_taps; n++) | ||||
|         { | ||||
|             d_correlator_outs[n] = gr_complex(0,0); | ||||
| @@ -146,7 +146,7 @@ Galileo_E1_Tcp_Connector_Tracking_cc::Galileo_E1_Tcp_Connector_Tracking_cc( | ||||
|     d_Late = &d_correlator_outs[3]; | ||||
|     d_Very_Late = &d_correlator_outs[4]; | ||||
|  | ||||
|     d_local_code_shift_chips = static_cast<float*>(volk_malloc(d_n_correlator_taps * sizeof(float), volk_get_alignment())); | ||||
|     d_local_code_shift_chips = static_cast<float*>(volk_gnsssdr_malloc(d_n_correlator_taps * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|     // Set TAPs delay values [chips] | ||||
|     d_local_code_shift_chips[0] = - d_very_early_late_spc_chips; | ||||
|     d_local_code_shift_chips[1] = - d_early_late_spc_chips; | ||||
| @@ -247,9 +247,9 @@ Galileo_E1_Tcp_Connector_Tracking_cc::~Galileo_E1_Tcp_Connector_Tracking_cc() | ||||
|     d_dump_file.close(); | ||||
|  | ||||
|     delete[] d_Prompt_buffer; | ||||
|     volk_free(d_ca_code); | ||||
|     volk_free(d_local_code_shift_chips); | ||||
|     volk_free(d_correlator_outs); | ||||
|     volk_gnsssdr_free(d_ca_code); | ||||
|     volk_gnsssdr_free(d_local_code_shift_chips); | ||||
|     volk_gnsssdr_free(d_correlator_outs); | ||||
|  | ||||
|     d_tcp_com.close_tcp_connection(d_port); | ||||
|     multicorrelator_cpu.free(); | ||||
|   | ||||
| @@ -41,7 +41,7 @@ | ||||
| #include <boost/lexical_cast.hpp> | ||||
| #include <gnuradio/io_signature.h> | ||||
| #include <glog/logging.h> | ||||
| #include <volk/volk.h> | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
| #include "galileo_e5_signal_processing.h" | ||||
| #include "tracking_discriminators.h" | ||||
| #include "lock_detectors.h" | ||||
| @@ -133,12 +133,12 @@ Galileo_E5a_Dll_Pll_Tracking_cc::Galileo_E5a_Dll_Pll_Tracking_cc( | ||||
|  | ||||
|     // Initialization of local code replica | ||||
|     // Get space for a vector with the E5a primary code replicas sampled 1x/chip | ||||
|     d_codeQ = static_cast<gr_complex*>(volk_malloc(Galileo_E5a_CODE_LENGTH_CHIPS * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_codeI = static_cast<gr_complex*>(volk_malloc(Galileo_E5a_CODE_LENGTH_CHIPS * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_codeQ = static_cast<gr_complex*>(volk_gnsssdr_malloc(Galileo_E5a_CODE_LENGTH_CHIPS * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     d_codeI = static_cast<gr_complex*>(volk_gnsssdr_malloc(Galileo_E5a_CODE_LENGTH_CHIPS * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     // correlator Q outputs (scalar) | ||||
|     d_n_correlator_taps = 3; //  Early, Prompt, Late | ||||
|     d_correlator_outs = static_cast<gr_complex*>(volk_malloc(d_n_correlator_taps*sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_correlator_outs = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_n_correlator_taps*sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     for (int n = 0; n < d_n_correlator_taps; n++) | ||||
|         { | ||||
|             d_correlator_outs[n] = gr_complex(0,0); | ||||
| @@ -149,7 +149,7 @@ Galileo_E5a_Dll_Pll_Tracking_cc::Galileo_E5a_Dll_Pll_Tracking_cc( | ||||
|     d_Single_Prompt = &d_correlator_outs[1]; | ||||
|     d_Single_Late = &d_correlator_outs[2]; | ||||
|  | ||||
|     d_local_code_shift_chips = static_cast<float*>(volk_malloc(d_n_correlator_taps * sizeof(float), volk_get_alignment())); | ||||
|     d_local_code_shift_chips = static_cast<float*>(volk_gnsssdr_malloc(d_n_correlator_taps * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|     // Set TAPs delay values [chips] | ||||
|     d_local_code_shift_chips[0] = - d_early_late_spc_chips; | ||||
|     d_local_code_shift_chips[1] = 0.0; | ||||
| @@ -158,7 +158,7 @@ Galileo_E5a_Dll_Pll_Tracking_cc::Galileo_E5a_Dll_Pll_Tracking_cc( | ||||
|     multicorrelator_cpu_Q.init(2 * d_vector_length, d_n_correlator_taps); | ||||
|  | ||||
|     // correlator I single output for data (scalar) | ||||
|     d_Single_Prompt_data=static_cast<gr_complex*>(volk_malloc(sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_Single_Prompt_data=static_cast<gr_complex*>(volk_gnsssdr_malloc(sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     *d_Single_Prompt_data = gr_complex(0,0); | ||||
|     multicorrelator_cpu_I.init(2 * d_vector_length, 1); // single correlator for data channel | ||||
|  | ||||
| @@ -221,9 +221,9 @@ Galileo_E5a_Dll_Pll_Tracking_cc::~Galileo_E5a_Dll_Pll_Tracking_cc () | ||||
|  | ||||
|     d_dump_file.close(); | ||||
|  | ||||
|     volk_free(d_local_code_shift_chips); | ||||
|     volk_free(d_correlator_outs); | ||||
|     volk_free(d_Single_Prompt_data); | ||||
|     volk_gnsssdr_free(d_local_code_shift_chips); | ||||
|     volk_gnsssdr_free(d_correlator_outs); | ||||
|     volk_gnsssdr_free(d_Single_Prompt_data); | ||||
|  | ||||
|     multicorrelator_cpu_Q.free(); | ||||
|     multicorrelator_cpu_I.free(); | ||||
|   | ||||
| @@ -37,7 +37,7 @@ | ||||
| #include <boost/bind.hpp> | ||||
| #include <gnuradio/io_signature.h> | ||||
| #include <pmt/pmt.h> | ||||
| #include <volk/volk.h> | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
| #include <glog/logging.h> | ||||
| #include "gps_sdr_signal_processing.h" | ||||
| #include "tracking_discriminators.h" | ||||
| @@ -143,16 +143,16 @@ gps_l1_ca_dll_pll_c_aid_tracking_cc::gps_l1_ca_dll_pll_c_aid_tracking_cc( | ||||
|  | ||||
|     // Initialization of local code replica | ||||
|     // Get space for a vector with the C/A code replica sampled 1x/chip | ||||
|     d_ca_code = static_cast<gr_complex*>(volk_malloc(static_cast<int>(GPS_L1_CA_CODE_LENGTH_CHIPS) * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_ca_code = static_cast<gr_complex*>(volk_gnsssdr_malloc(static_cast<int>(GPS_L1_CA_CODE_LENGTH_CHIPS) * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     // correlator outputs (scalar) | ||||
|     d_n_correlator_taps = 3; // Early, Prompt, and Late | ||||
|     d_correlator_outs = static_cast<gr_complex*>(volk_malloc(d_n_correlator_taps*sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_correlator_outs = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_n_correlator_taps*sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     for (int n = 0; n < d_n_correlator_taps; n++) | ||||
|         { | ||||
|             d_correlator_outs[n] = gr_complex(0,0); | ||||
|         } | ||||
|     d_local_code_shift_chips = static_cast<float*>(volk_malloc(d_n_correlator_taps*sizeof(float), volk_get_alignment())); | ||||
|     d_local_code_shift_chips = static_cast<float*>(volk_gnsssdr_malloc(d_n_correlator_taps*sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|     // Set TAPs delay values [chips] | ||||
|     d_local_code_shift_chips[0] = - d_early_late_spc_chips; | ||||
|     d_local_code_shift_chips[1] = 0.0; | ||||
| @@ -305,9 +305,9 @@ gps_l1_ca_dll_pll_c_aid_tracking_cc::~gps_l1_ca_dll_pll_c_aid_tracking_cc() | ||||
| { | ||||
|     d_dump_file.close(); | ||||
|  | ||||
|     volk_free(d_local_code_shift_chips); | ||||
|     volk_free(d_correlator_outs); | ||||
|     volk_free(d_ca_code); | ||||
|     volk_gnsssdr_free(d_local_code_shift_chips); | ||||
|     volk_gnsssdr_free(d_correlator_outs); | ||||
|     volk_gnsssdr_free(d_ca_code); | ||||
|  | ||||
|     delete[] d_Prompt_buffer; | ||||
|     multicorrelator_cpu.free(); | ||||
|   | ||||
| @@ -46,7 +46,7 @@ | ||||
| #include "gnss_synchro.h" | ||||
| #include "tracking_2nd_DLL_filter.h" | ||||
| #include "tracking_FLL_PLL_filter.h" | ||||
| #include "tracking_loop_filter.h" | ||||
| //#include "tracking_loop_filter.h" | ||||
| #include "cpu_multicorrelator.h" | ||||
|  | ||||
| class gps_l1_ca_dll_pll_c_aid_tracking_cc; | ||||
|   | ||||
| @@ -35,7 +35,7 @@ | ||||
| #include <sstream> | ||||
| #include <boost/lexical_cast.hpp> | ||||
| #include <gnuradio/io_signature.h> | ||||
| #include <volk/volk.h> | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
| #include <glog/logging.h> | ||||
| #include "gnss_synchro.h" | ||||
| #include "gps_sdr_signal_processing.h" | ||||
| @@ -124,19 +124,19 @@ gps_l1_ca_dll_pll_c_aid_tracking_sc::gps_l1_ca_dll_pll_c_aid_tracking_sc( | ||||
|  | ||||
|     // Initialization of local code replica | ||||
|     // Get space for a vector with the C/A code replica sampled 1x/chip | ||||
|     d_ca_code = static_cast<gr_complex*>(volk_malloc(static_cast<int>(GPS_L1_CA_CODE_LENGTH_CHIPS) * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_ca_code_16sc = static_cast<lv_16sc_t*>(volk_malloc(static_cast<int>(GPS_L1_CA_CODE_LENGTH_CHIPS) * sizeof(lv_16sc_t), volk_get_alignment())); | ||||
|     d_ca_code = static_cast<gr_complex*>(volk_gnsssdr_malloc(static_cast<int>(GPS_L1_CA_CODE_LENGTH_CHIPS) * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     d_ca_code_16sc = static_cast<lv_16sc_t*>(volk_gnsssdr_malloc(static_cast<int>(GPS_L1_CA_CODE_LENGTH_CHIPS) * sizeof(lv_16sc_t), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     // correlator outputs (scalar) | ||||
|     d_n_correlator_taps = 3; // Early, Prompt, and Late | ||||
|  | ||||
|     d_correlator_outs_16sc = static_cast<lv_16sc_t*>(volk_malloc(d_n_correlator_taps*sizeof(lv_16sc_t), volk_get_alignment())); | ||||
|     d_correlator_outs_16sc = static_cast<lv_16sc_t*>(volk_gnsssdr_malloc(d_n_correlator_taps*sizeof(lv_16sc_t), volk_gnsssdr_get_alignment())); | ||||
|     for (int n = 0; n < d_n_correlator_taps; n++) | ||||
|         { | ||||
|             d_correlator_outs_16sc[n] = lv_16sc_t(0,0); | ||||
|         } | ||||
|  | ||||
|     d_local_code_shift_chips = static_cast<float*>(volk_malloc(d_n_correlator_taps*sizeof(float), volk_get_alignment())); | ||||
|     d_local_code_shift_chips = static_cast<float*>(volk_gnsssdr_malloc(d_n_correlator_taps*sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|     // Set TAPs delay values [chips] | ||||
|     d_local_code_shift_chips[0] = - d_early_late_spc_chips; | ||||
|     d_local_code_shift_chips[1] = 0.0; | ||||
| @@ -279,10 +279,10 @@ gps_l1_ca_dll_pll_c_aid_tracking_sc::~gps_l1_ca_dll_pll_c_aid_tracking_sc() | ||||
| { | ||||
|     d_dump_file.close(); | ||||
|  | ||||
|     volk_free(d_local_code_shift_chips); | ||||
|     volk_free(d_ca_code); | ||||
|     volk_free(d_ca_code_16sc); | ||||
|     volk_free(d_correlator_outs_16sc); | ||||
|     volk_gnsssdr_free(d_local_code_shift_chips); | ||||
|     volk_gnsssdr_free(d_ca_code); | ||||
|     volk_gnsssdr_free(d_ca_code_16sc); | ||||
|     volk_gnsssdr_free(d_correlator_outs_16sc); | ||||
|  | ||||
|     delete[] d_Prompt_buffer; | ||||
|     multicorrelator_cpu_16sc.free(); | ||||
|   | ||||
| @@ -42,7 +42,7 @@ | ||||
| #include <boost/lexical_cast.hpp> | ||||
| #include <gnuradio/io_signature.h> | ||||
| #include <glog/logging.h> | ||||
| #include <volk/volk.h> | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
| #include "gps_sdr_signal_processing.h" | ||||
| #include "tracking_discriminators.h" | ||||
| #include "lock_detectors.h" | ||||
| @@ -123,16 +123,16 @@ Gps_L1_Ca_Dll_Pll_Tracking_cc::Gps_L1_Ca_Dll_Pll_Tracking_cc( | ||||
|  | ||||
|     // Initialization of local code replica | ||||
|     // Get space for a vector with the C/A code replica sampled 1x/chip | ||||
|     d_ca_code = static_cast<gr_complex*>(volk_malloc(static_cast<int>(GPS_L1_CA_CODE_LENGTH_CHIPS) * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_ca_code = static_cast<gr_complex*>(volk_gnsssdr_malloc(static_cast<int>(GPS_L1_CA_CODE_LENGTH_CHIPS) * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     // correlator outputs (scalar) | ||||
|     d_n_correlator_taps = 3; // Early, Prompt, and Late | ||||
|     d_correlator_outs = static_cast<gr_complex*>(volk_malloc(d_n_correlator_taps*sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_correlator_outs = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_n_correlator_taps*sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     for (int n = 0; n < d_n_correlator_taps; n++) | ||||
|         { | ||||
|             d_correlator_outs[n] = gr_complex(0,0); | ||||
|         } | ||||
|     d_local_code_shift_chips = static_cast<float*>(volk_malloc(d_n_correlator_taps*sizeof(float), volk_get_alignment())); | ||||
|     d_local_code_shift_chips = static_cast<float*>(volk_gnsssdr_malloc(d_n_correlator_taps*sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|     // Set TAPs delay values [chips] | ||||
|     d_local_code_shift_chips[0] = - d_early_late_spc_chips; | ||||
|     d_local_code_shift_chips[1] = 0.0; | ||||
| @@ -271,9 +271,9 @@ Gps_L1_Ca_Dll_Pll_Tracking_cc::~Gps_L1_Ca_Dll_Pll_Tracking_cc() | ||||
| { | ||||
|     d_dump_file.close(); | ||||
|  | ||||
|     volk_free(d_local_code_shift_chips); | ||||
|     volk_free(d_correlator_outs); | ||||
|     volk_free(d_ca_code); | ||||
|     volk_gnsssdr_free(d_local_code_shift_chips); | ||||
|     volk_gnsssdr_free(d_correlator_outs); | ||||
|     volk_gnsssdr_free(d_ca_code); | ||||
|  | ||||
|     delete[] d_Prompt_buffer; | ||||
|     multicorrelator_cpu.free(); | ||||
|   | ||||
| @@ -35,7 +35,6 @@ | ||||
| #include <sstream> | ||||
| #include <boost/lexical_cast.hpp> | ||||
| #include <gnuradio/io_signature.h> | ||||
| #include <volk/volk.h> | ||||
| #include <glog/logging.h> | ||||
| #include "gps_sdr_signal_processing.h" | ||||
| #include "tracking_discriminators.h" | ||||
|   | ||||
| @@ -43,7 +43,7 @@ | ||||
| #include <boost/lexical_cast.hpp> | ||||
| #include <gnuradio/io_signature.h> | ||||
| #include <glog/logging.h> | ||||
| #include <volk/volk.h> | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
| #include "gps_sdr_signal_processing.h" | ||||
| #include "tracking_discriminators.h" | ||||
| #include "lock_detectors.h" | ||||
| @@ -121,11 +121,11 @@ Gps_L1_Ca_Tcp_Connector_Tracking_cc::Gps_L1_Ca_Tcp_Connector_Tracking_cc( | ||||
|  | ||||
|     // Initialization of local code replica | ||||
|     // Get space for a vector with the C/A code replica sampled 1x/chip | ||||
|     d_ca_code = static_cast<gr_complex*>(volk_malloc((GPS_L1_CA_CODE_LENGTH_CHIPS) * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_ca_code = static_cast<gr_complex*>(volk_gnsssdr_malloc((GPS_L1_CA_CODE_LENGTH_CHIPS) * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     // correlator outputs (scalar) | ||||
|     d_n_correlator_taps = 3; // Very-Early, Early, Prompt, Late, Very-Late | ||||
|     d_correlator_outs = static_cast<gr_complex*>(volk_malloc(d_n_correlator_taps*sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_correlator_outs = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_n_correlator_taps*sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     for (int n = 0; n < d_n_correlator_taps; n++) | ||||
|        { | ||||
|           d_correlator_outs[n] = gr_complex(0,0); | ||||
| @@ -135,7 +135,7 @@ Gps_L1_Ca_Tcp_Connector_Tracking_cc::Gps_L1_Ca_Tcp_Connector_Tracking_cc( | ||||
|     d_Prompt = &d_correlator_outs[1]; | ||||
|     d_Late = &d_correlator_outs[2]; | ||||
|  | ||||
|     d_local_code_shift_chips = static_cast<float*>(volk_malloc(d_n_correlator_taps * sizeof(float), volk_get_alignment())); | ||||
|     d_local_code_shift_chips = static_cast<float*>(volk_gnsssdr_malloc(d_n_correlator_taps * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|     // Set TAPs delay values [chips] | ||||
|     d_local_code_shift_chips[0] = - d_early_late_spc_chips; | ||||
|     d_local_code_shift_chips[1] = 0.0; | ||||
| @@ -288,9 +288,9 @@ Gps_L1_Ca_Tcp_Connector_Tracking_cc::~Gps_L1_Ca_Tcp_Connector_Tracking_cc() | ||||
|     d_dump_file.close(); | ||||
|  | ||||
|     delete[] d_Prompt_buffer; | ||||
|     volk_free(d_ca_code); | ||||
|     volk_free(d_local_code_shift_chips); | ||||
|     volk_free(d_correlator_outs); | ||||
|     volk_gnsssdr_free(d_ca_code); | ||||
|     volk_gnsssdr_free(d_local_code_shift_chips); | ||||
|     volk_gnsssdr_free(d_correlator_outs); | ||||
|  | ||||
|     d_tcp_com.close_tcp_connection(d_port); | ||||
|     multicorrelator_cpu.free(); | ||||
|   | ||||
| @@ -42,7 +42,7 @@ | ||||
| #include <boost/lexical_cast.hpp> | ||||
| #include <gnuradio/io_signature.h> | ||||
| #include <glog/logging.h> | ||||
| #include <volk/volk.h> | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
| #include "gps_l2c_signal.h" | ||||
| #include "tracking_discriminators.h" | ||||
| #include "lock_detectors.h" | ||||
| @@ -123,16 +123,16 @@ gps_l2_m_dll_pll_tracking_cc::gps_l2_m_dll_pll_tracking_cc( | ||||
|  | ||||
|     // Initialization of local code replica | ||||
|     // Get space for a vector with the C/A code replica sampled 1x/chip | ||||
|     d_ca_code = static_cast<gr_complex*>(volk_malloc(static_cast<int>(GPS_L2_M_CODE_LENGTH_CHIPS) * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_ca_code = static_cast<gr_complex*>(volk_gnsssdr_malloc(static_cast<int>(GPS_L2_M_CODE_LENGTH_CHIPS) * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     // correlator outputs (scalar) | ||||
|     d_n_correlator_taps = 3; // Early, Prompt, and Late | ||||
|     d_correlator_outs = static_cast<gr_complex*>(volk_malloc(d_n_correlator_taps*sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_correlator_outs = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_n_correlator_taps*sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     for (int n = 0; n < d_n_correlator_taps; n++) | ||||
|         { | ||||
|             d_correlator_outs[n] = gr_complex(0,0); | ||||
|         } | ||||
|     d_local_code_shift_chips = static_cast<float*>(volk_malloc(d_n_correlator_taps*sizeof(float), volk_get_alignment())); | ||||
|     d_local_code_shift_chips = static_cast<float*>(volk_gnsssdr_malloc(d_n_correlator_taps*sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|     // Set TAPs delay values [chips] | ||||
|     d_local_code_shift_chips[0] = - d_early_late_spc_chips; | ||||
|     d_local_code_shift_chips[1] = 0.0; | ||||
| @@ -278,9 +278,9 @@ gps_l2_m_dll_pll_tracking_cc::~gps_l2_m_dll_pll_tracking_cc() | ||||
| { | ||||
|     d_dump_file.close(); | ||||
|  | ||||
|     volk_free(d_local_code_shift_chips); | ||||
|     volk_free(d_correlator_outs); | ||||
|     volk_free(d_ca_code); | ||||
|     volk_gnsssdr_free(d_local_code_shift_chips); | ||||
|     volk_gnsssdr_free(d_correlator_outs); | ||||
|     volk_gnsssdr_free(d_ca_code); | ||||
|  | ||||
|     delete[] d_Prompt_buffer; | ||||
|     multicorrelator_cpu.free(); | ||||
|   | ||||
| @@ -33,7 +33,6 @@ | ||||
| #include <complex> | ||||
| #include <ctime> | ||||
| #include <armadillo> | ||||
| #include <volk/volk.h> | ||||
| #include "gnss_signal_processing.h" | ||||
|  | ||||
| DEFINE_int32(size_carrier_test, 100000, "Size of the arrays used for complex carrier testing"); | ||||
|   | ||||
| @@ -34,6 +34,7 @@ | ||||
| #include <ctime> | ||||
| #include <armadillo> | ||||
| #include <volk/volk.h> | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
|  | ||||
| DEFINE_int32(size_conjugate_test, 100000, "Size of the arrays used for conjugate testing"); | ||||
|  | ||||
| @@ -118,8 +119,8 @@ TEST(Conjugate_Test, ArmadilloComplexImplementation) | ||||
|  | ||||
| TEST(Conjugate_Test, VolkComplexImplementation) | ||||
| { | ||||
|     std::complex<float>* input = static_cast<std::complex<float>*>(volk_malloc(FLAGS_size_conjugate_test * sizeof(std::complex<float>), volk_get_alignment())); | ||||
|     std::complex<float>* output = static_cast<std::complex<float>*>(volk_malloc(FLAGS_size_conjugate_test * sizeof(std::complex<float>), volk_get_alignment())); | ||||
|     std::complex<float>* input = static_cast<std::complex<float>*>(volk_gnsssdr_malloc(FLAGS_size_conjugate_test * sizeof(std::complex<float>), volk_gnsssdr_get_alignment())); | ||||
|     std::complex<float>* output = static_cast<std::complex<float>*>(volk_gnsssdr_malloc(FLAGS_size_conjugate_test * sizeof(std::complex<float>), volk_gnsssdr_get_alignment())); | ||||
|     memset(input, 0, sizeof(std::complex<float>) * FLAGS_size_conjugate_test); | ||||
|  | ||||
|     struct timeval tv; | ||||
| @@ -134,6 +135,6 @@ TEST(Conjugate_Test, VolkComplexImplementation) | ||||
|               << "-length complex float vector using VOLK finished in " << (end - begin) | ||||
|               << " microseconds" << std::endl; | ||||
|     ASSERT_LE(0, end - begin); | ||||
|     volk_free(input); | ||||
|     volk_free(output); | ||||
|     volk_gnsssdr_free(input); | ||||
|     volk_gnsssdr_free(output); | ||||
| } | ||||
|   | ||||
| @@ -32,7 +32,7 @@ | ||||
| #include <ctime> | ||||
| #include <complex> | ||||
| #include <thread> | ||||
| #include <volk/volk.h> | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
| #include "cpu_multicorrelator.h" | ||||
| #include "gps_sdr_signal_processing.h" | ||||
| #include "GPS_L1_CA.h" | ||||
| @@ -77,17 +77,17 @@ TEST(CPU_multicorrelator_test, MeasureExecutionTime) | ||||
|  | ||||
|     //allocate host memory | ||||
|     // Get space for a vector with the C/A code replica sampled 1x/chip | ||||
|     d_ca_code = static_cast<gr_complex*>(volk_malloc(static_cast<int>(GPS_L1_CA_CODE_LENGTH_CHIPS) * sizeof(gr_complex), volk_get_alignment())); | ||||
|     in_cpu = static_cast<gr_complex*>(volk_malloc(2 * d_vector_length * sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_ca_code = static_cast<gr_complex*>(volk_gnsssdr_malloc(static_cast<int>(GPS_L1_CA_CODE_LENGTH_CHIPS) * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     in_cpu = static_cast<gr_complex*>(volk_gnsssdr_malloc(2 * d_vector_length * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|  | ||||
|     // correlator outputs (scalar) | ||||
|     d_n_correlator_taps = 3; // Early, Prompt, and Late | ||||
|     d_correlator_outs = static_cast<gr_complex*>(volk_malloc(d_n_correlator_taps*sizeof(gr_complex), volk_get_alignment())); | ||||
|     d_correlator_outs = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_n_correlator_taps*sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|     for (int n = 0; n < d_n_correlator_taps; n++) | ||||
|     { | ||||
|         d_correlator_outs[n] = gr_complex(0,0); | ||||
|     } | ||||
|     d_local_code_shift_chips = static_cast<float*>(volk_malloc(d_n_correlator_taps*sizeof(float), volk_get_alignment())); | ||||
|     d_local_code_shift_chips = static_cast<float*>(volk_gnsssdr_malloc(d_n_correlator_taps*sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|     // Set TAPs delay values [chips] | ||||
|     float d_early_late_spc_chips=0.5; | ||||
|     d_local_code_shift_chips[0] = - d_early_late_spc_chips; | ||||
| @@ -152,10 +152,10 @@ TEST(CPU_multicorrelator_test, MeasureExecutionTime) | ||||
|     ); | ||||
|  | ||||
|  | ||||
|     volk_free(d_local_code_shift_chips); | ||||
|     volk_free(d_correlator_outs); | ||||
|     volk_free(d_ca_code); | ||||
|     volk_free(in_cpu); | ||||
|     volk_gnsssdr_free(d_local_code_shift_chips); | ||||
|     volk_gnsssdr_free(d_correlator_outs); | ||||
|     volk_gnsssdr_free(d_ca_code); | ||||
|     volk_gnsssdr_free(in_cpu); | ||||
|  | ||||
|     for (int n=0;n<max_threads;n++) | ||||
|     { | ||||
|   | ||||
| @@ -35,6 +35,7 @@ | ||||
| #include <ctime> | ||||
| #include <armadillo> | ||||
| #include <volk/volk.h> | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
|  | ||||
| DEFINE_int32(size_magnitude_test, 100000, "Size of the arrays used for magnitude testing"); | ||||
|  | ||||
| @@ -116,9 +117,9 @@ TEST(MagnitudeSquared_Test, ArmadilloComplexImplementation) | ||||
|  | ||||
| TEST(MagnitudeSquared_Test, VolkComplexImplementation) | ||||
| { | ||||
|     std::complex<float>* input = static_cast<std::complex<float>*>(volk_malloc(FLAGS_size_magnitude_test * sizeof(std::complex<float>), volk_get_alignment())); | ||||
|     std::complex<float>* input = static_cast<std::complex<float>*>(volk_gnsssdr_malloc(FLAGS_size_magnitude_test * sizeof(std::complex<float>), volk_gnsssdr_get_alignment())); | ||||
|     memset(input, 0, sizeof(std::complex<float>) * FLAGS_size_magnitude_test); | ||||
|     float* output = static_cast<float*>(volk_malloc(FLAGS_size_magnitude_test * sizeof(float), volk_get_alignment())); | ||||
|     float* output = static_cast<float*>(volk_gnsssdr_malloc(FLAGS_size_magnitude_test * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|     struct timeval tv; | ||||
|     gettimeofday(&tv, NULL); | ||||
|     long long int begin = tv.tv_sec * 1000000 + tv.tv_usec; | ||||
| @@ -130,8 +131,8 @@ TEST(MagnitudeSquared_Test, VolkComplexImplementation) | ||||
|     std::cout <<  "The squared magnitude of a " << FLAGS_size_magnitude_test | ||||
|               << "-length vector using VOLK computed in " << (end - begin) | ||||
|               << " microseconds" << std::endl; | ||||
|     volk_free(input); | ||||
|     volk_free(output); | ||||
|     volk_gnsssdr_free(input); | ||||
|     volk_gnsssdr_free(output); | ||||
|     ASSERT_LE(0, end - begin); | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -36,6 +36,7 @@ | ||||
| #include <numeric> | ||||
| #include <armadillo> | ||||
| #include <volk/volk.h> | ||||
| #include <volk_gnsssdr/volk_gnsssdr.h> | ||||
|  | ||||
| DEFINE_int32(size_multiply_test, 100000, "Size of the arrays used for multiply testing"); | ||||
|  | ||||
| @@ -182,8 +183,8 @@ TEST(Multiply_Test, ArmadilloComplexImplementation) | ||||
|  | ||||
| TEST(Multiply_Test, VolkComplexImplementation) | ||||
| { | ||||
|     std::complex<float>* input = static_cast<std::complex<float>*>(volk_malloc(FLAGS_size_multiply_test * sizeof(std::complex<float>), volk_get_alignment())); | ||||
|     std::complex<float>* output = static_cast<std::complex<float>*>(volk_malloc(FLAGS_size_multiply_test * sizeof(std::complex<float>), volk_get_alignment())); | ||||
|     std::complex<float>* input = static_cast<std::complex<float>*>(volk_gnsssdr_malloc(FLAGS_size_multiply_test * sizeof(std::complex<float>), volk_gnsssdr_get_alignment())); | ||||
|     std::complex<float>* output = static_cast<std::complex<float>*>(volk_gnsssdr_malloc(FLAGS_size_multiply_test * sizeof(std::complex<float>), volk_gnsssdr_get_alignment())); | ||||
|     memset(input, 0, sizeof(std::complex<float>) * FLAGS_size_multiply_test); | ||||
|  | ||||
|     struct timeval tv; | ||||
| @@ -199,7 +200,7 @@ TEST(Multiply_Test, VolkComplexImplementation) | ||||
|               << " microseconds" << std::endl; | ||||
|     ASSERT_LE(0, end - begin); | ||||
|  | ||||
|     float* mag = static_cast<float*>(volk_malloc(FLAGS_size_multiply_test * sizeof(float), volk_get_alignment())); | ||||
|     float* mag = static_cast<float*>(volk_gnsssdr_malloc(FLAGS_size_multiply_test * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|     volk_32fc_magnitude_32f(mag, output, FLAGS_size_multiply_test); | ||||
|  | ||||
|     float* result = new float(0); | ||||
| @@ -209,8 +210,8 @@ TEST(Multiply_Test, VolkComplexImplementation) | ||||
|     // See http://code.google.com/p/googletest/wiki/AdvancedGuide#Floating-Point_Comparison | ||||
|     float expected = 0; | ||||
|     ASSERT_FLOAT_EQ(expected, result[0]); | ||||
|     volk_free(input); | ||||
|     volk_free(output); | ||||
|     volk_free(mag); | ||||
|     volk_gnsssdr_free(input); | ||||
|     volk_gnsssdr_free(output); | ||||
|     volk_gnsssdr_free(mag); | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Carles Fernandez
					Carles Fernandez