diff --git a/src/tests/arithmetic/code_resampler_test.cc b/src/tests/arithmetic/code_resampler_test.cc index 3671efed1..5b0b760b9 100644 --- a/src/tests/arithmetic/code_resampler_test.cc +++ b/src/tests/arithmetic/code_resampler_test.cc @@ -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( 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 > >( @@ -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( 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 > >( @@ -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 ); diff --git a/src/tests/arithmetic/subcarrier_resampler_test.cc b/src/tests/arithmetic/subcarrier_resampler_test.cc index 8f2a722bf..69158b68b 100644 --- a/src/tests/arithmetic/subcarrier_resampler_test.cc +++ b/src/tests/arithmetic/subcarrier_resampler_test.cc @@ -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( 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 > >( @@ -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( 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 > >( @@ -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; }