mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-07-06 20:12:55 +00:00
Integrating a new volk kernel
This commit is contained in:
parent
f659005e63
commit
ece7bc2c65
@ -104,7 +104,6 @@ static inline void volk_gnsssdr_16ic_x2_multiply_16ic_a_sse2(lv_16sc_t* out, con
|
||||
_in_a += 4;
|
||||
_in_b += 4;
|
||||
_out += 4;
|
||||
|
||||
}
|
||||
|
||||
for (unsigned int i = 0; i < (num_points % 4); ++i)
|
@ -80,6 +80,7 @@ std::vector<volk_gnsssdr_test_case_t> init_test_list(volk_gnsssdr_test_params_t
|
||||
(VOLK_INIT_TEST(volk_gnsssdr_32fc_convert_8ic, test_params))
|
||||
(VOLK_INIT_TEST(volk_gnsssdr_32fc_convert_16ic, test_params))
|
||||
(VOLK_INIT_TEST(volk_gnsssdr_16ic_x2_dot_prod_16ic, test_params))
|
||||
(VOLK_INIT_TEST(volk_gnsssdr_16ic_x2_multiply_16ic, test_params))
|
||||
//(VOLK_INIT_TEST(volk_gnsssdr_16ic_resampler_16ic, test_params))
|
||||
;
|
||||
|
||||
|
@ -41,18 +41,13 @@
|
||||
#define LV_HAVE_GENERIC
|
||||
#define LV_HAVE_SSE2
|
||||
|
||||
//#include "volk_gnsssdr_16ic_x2_dot_prod_16ic.h"
|
||||
#include "volk_gnsssdr_16ic_x2_multiply_16ic.h"
|
||||
//#include "volk_gnsssdr_16ic_resampler_16ic.h"
|
||||
#include "volk_gnsssdr_16ic_xn_resampler_16ic_xn.h"
|
||||
#include "volk_gnsssdr_16ic_xn_dot_prod_16ic_xn.h"
|
||||
|
||||
bool cpu_multicorrelator_16sc::init(
|
||||
int max_signal_length_samples,
|
||||
int n_correlators
|
||||
)
|
||||
int n_correlators)
|
||||
{
|
||||
|
||||
// ALLOCATE MEMORY FOR INTERNAL vectors
|
||||
size_t size = max_signal_length_samples * sizeof(lv_16sc_t);
|
||||
|
||||
@ -76,8 +71,7 @@ bool cpu_multicorrelator_16sc::init(
|
||||
bool cpu_multicorrelator_16sc::set_local_code_and_taps(
|
||||
int code_length_chips,
|
||||
const lv_16sc_t* local_code_in,
|
||||
float *shifts_chips
|
||||
)
|
||||
float *shifts_chips)
|
||||
{
|
||||
d_local_code_in = local_code_in;
|
||||
d_shifts_chips = shifts_chips;
|
||||
@ -98,7 +92,6 @@ bool cpu_multicorrelator_16sc::set_input_output_vectors(lv_16sc_t* corr_out, con
|
||||
|
||||
void cpu_multicorrelator_16sc::update_local_code(int correlator_length_samples,float rem_code_phase_chips, float code_phase_step_chips)
|
||||
{
|
||||
|
||||
float *tmp_code_phases_chips;
|
||||
tmp_code_phases_chips = static_cast<float*>(volk_malloc(d_n_correlators*sizeof(float), volk_get_alignment()));
|
||||
for (int n = 0; n < d_n_correlators; n++)
|
||||
@ -155,7 +148,8 @@ bool cpu_multicorrelator_16sc::Carrier_wipeoff_multicorrelator_resampler(
|
||||
update_local_carrier(signal_length_samples, rem_carrier_phase_in_rad, phase_step_rad);
|
||||
|
||||
//std::cout<<"d_nco_in 16sc="<<d_nco_in[23]<<std::endl;
|
||||
volk_gnsssdr_16ic_x2_multiply_16ic_a_sse2(d_sig_doppler_wiped,d_sig_in,d_nco_in,signal_length_samples);
|
||||
//volk_gnsssdr_16ic_x2_multiply_16ic_a_sse2(d_sig_doppler_wiped,d_sig_in,d_nco_in,signal_length_samples);
|
||||
volk_gnsssdr_16ic_x2_multiply_16ic(d_sig_doppler_wiped, d_sig_in, d_nco_in, signal_length_samples);
|
||||
//std::cout<<"d_sig_doppler_wiped 16sc="<<d_sig_doppler_wiped[23]<<std::endl;
|
||||
update_local_code(signal_length_samples, rem_code_phase_chips, code_phase_step_chips);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user