mirror of
				https://github.com/gnss-sdr/gnss-sdr
				synced 2025-10-31 15:23:04 +00:00 
			
		
		
		
	Reserve memory only one if acquisition init is called multiple times
This commit is contained in:
		| @@ -271,8 +271,8 @@ void pcps_acquisition::init() | ||||
|     d_num_doppler_bins = static_cast<uint32_t>(std::ceil(static_cast<double>(static_cast<int32_t>(acq_parameters.doppler_max) - static_cast<int32_t>(-acq_parameters.doppler_max)) / static_cast<double>(d_doppler_step))); | ||||
|  | ||||
|     // Create the carrier Doppler wipeoff signals | ||||
|     d_grid_doppler_wipeoffs = new gr_complex*[d_num_doppler_bins]; | ||||
|     if (acq_parameters.make_2_steps) | ||||
|     if (d_grid_doppler_wipeoffs == nullptr) d_grid_doppler_wipeoffs = new gr_complex*[d_num_doppler_bins]; | ||||
|     if (acq_parameters.make_2_steps && (d_grid_doppler_wipeoffs_step_two == nullptr)) | ||||
|         { | ||||
|             d_grid_doppler_wipeoffs_step_two = new gr_complex*[d_num_doppler_bins_step2]; | ||||
|             for (uint32_t doppler_index = 0; doppler_index < d_num_doppler_bins_step2; doppler_index++) | ||||
| @@ -281,11 +281,18 @@ void pcps_acquisition::init() | ||||
|                 } | ||||
|         } | ||||
|  | ||||
|     if (d_magnitude_grid == nullptr) | ||||
|         { | ||||
|             d_magnitude_grid = new float*[d_num_doppler_bins]; | ||||
|             for (uint32_t doppler_index = 0; doppler_index < d_num_doppler_bins; doppler_index++) | ||||
|                 { | ||||
|                     d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_gnsssdr_malloc(d_fft_size * sizeof(gr_complex), volk_gnsssdr_get_alignment())); | ||||
|                     d_magnitude_grid[doppler_index] = static_cast<float*>(volk_gnsssdr_malloc(d_fft_size * sizeof(float), volk_gnsssdr_get_alignment())); | ||||
|                 } | ||||
|         } | ||||
|  | ||||
|     for (uint32_t doppler_index = 0; doppler_index < d_num_doppler_bins; doppler_index++) | ||||
|         { | ||||
|             for (uint32_t k = 0; k < d_fft_size; k++) | ||||
|                 { | ||||
|                     d_magnitude_grid[doppler_index][k] = 0.0; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Carles Fernandez
					Carles Fernandez