1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2025-10-29 06:27:44 +00:00

Fix code/subcarrier resampler tests

Was not allocating enough memory for the Integer and Memory store
resamplers.

Also was not freeing up the original code store in the subcarrier_resampler_test

Found via valgrind
This commit is contained in:
Cillian O'Driscoll
2015-12-29 10:49:26 +00:00
parent 4a3c37962e
commit 13a88c591b
2 changed files with 17 additions and 6 deletions

View File

@@ -145,7 +145,10 @@ TEST(CodeResamplerTest, CodeResamplerIntegerChipSpacing )
gps_l1_ca_code_gen_complex( _orig_code, _prn, 0);
allocate_replicas( _resampled_codes, _num_samples );
// Need to account for the fact that the integer resampler needs to generate
// more samples for the early code:
int extra_samples = static_cast<int>( std::ceil( code_spacing_chips / code_phase_step ) );
allocate_replicas( _resampled_codes, 2*_num_samples + extra_samples + 2);
CodeResamplerIntegerChipSpacing< std::complex< float > > the_resampler(
boost::shared_ptr< CodeResamplerInterface< std::complex<float> > >(
@@ -268,7 +271,10 @@ TEST(CodeResamplerTest, CodeResamplerIntegerChipSpacingFxpt64 )
gps_l1_ca_code_gen_complex( _orig_code, _prn, 0);
allocate_replicas( _resampled_codes, _num_samples );
// Need to account for the fact that the integer resampler needs to generate
// more samples for the early code:
int extra_samples = static_cast<int>( std::ceil( 2.0*code_spacing_chips / code_phase_step ) );
allocate_replicas( _resampled_codes, _num_samples+extra_samples );
CodeResamplerIntegerChipSpacing< std::complex< float > > the_resampler(
boost::shared_ptr< CodeResamplerInterface< std::complex<float> > >(
@@ -331,7 +337,7 @@ TEST(CodeResamplerTest, CodeResamplerMemoryStore )
gps_l1_ca_code_gen_complex( _orig_code, _prn, 0);
allocate_replicas( _resampled_codes, _num_samples );
allocate_replicas( _resampled_codes, 2*_num_samples + 12 );
CodeResamplerMemoryStore< std::complex< float > > the_resampler(
_orig_code, 1023, code_phase_step, _num_samples, 0.1, 1.0 );

View File

@@ -138,7 +138,8 @@ TEST(SubcarrierResamplerTest, SubcarrierResamplerIntegerSampleSpacing )
std::vector< double > _desired_subcarrier_phases;
_desired_subcarrier_phases.resize(_num_replicas);
allocate_subcarrier_replicas( _resampled_subcarriers, _num_samples );
int extra_samples = static_cast<int>( std::ceil( 2*subcarrier_spacing_cycles/subcarrier_phase_step ) );
allocate_subcarrier_replicas( _resampled_subcarriers, _num_samples + extra_samples );
SubcarrierResamplerIntegerSampleSpacing< std::complex< float > > the_resampler(
boost::shared_ptr< SubcarrierResamplerInterface< std::complex<float> > >(
@@ -172,6 +173,7 @@ TEST(SubcarrierResamplerTest, SubcarrierResamplerIntegerSampleSpacing )
std::cout << "Resampling completed in " << (end - begin) << " microseconds" << std::endl;
deallocate_subcarrier_replicas( _resampled_subcarriers );
delete [] _orig_subcarrier;
}
@@ -230,6 +232,7 @@ TEST(SubcarrierResamplerTest, SubcarrierResamplerFxpt64 )
std::cout << "Resampling completed in " << (end - begin) << " microseconds" << std::endl;
deallocate_subcarrier_replicas( _resampled_subcarriers );
delete [] _orig_subcarrier;
}
@@ -257,7 +260,8 @@ TEST(SubcarrierResamplerTest, SubcarrierResamplerIntegerSampleSpacingFxpt64 )
std::vector< double > _desired_subcarrier_phases;
_desired_subcarrier_phases.resize(_num_replicas);
allocate_subcarrier_replicas( _resampled_subcarriers, _num_samples );
int extra_samples = static_cast<int>( std::ceil( 2*subcarrier_spacing_cycles/subcarrier_phase_step ) );
allocate_subcarrier_replicas( _resampled_subcarriers, _num_samples + extra_samples );
SubcarrierResamplerIntegerSampleSpacing< std::complex< float > > the_resampler(
boost::shared_ptr< SubcarrierResamplerInterface< std::complex<float> > >(
@@ -291,7 +295,7 @@ TEST(SubcarrierResamplerTest, SubcarrierResamplerIntegerSampleSpacingFxpt64 )
std::cout << "Resampling completed in " << (end - begin) << " microseconds" << std::endl;
deallocate_subcarrier_replicas( _resampled_subcarriers );
delete [] _orig_subcarrier;
}
TEST(SubcarrierResamplerTest, SubcarrierResamplerMemoryStore )
@@ -351,6 +355,7 @@ TEST(SubcarrierResamplerTest, SubcarrierResamplerMemoryStore )
deallocate_subcarrier_replicas( _resampled_subcarriers );
delete []_orig_subcarrier;
}