24 #ifndef GNSS_SDR_CPU_MULTICORRELATOR_16SC_H 25 #define GNSS_SDR_CPU_MULTICORRELATOR_16SC_H 27 #include <volk_gnsssdr/volk_gnsssdr.h> 38 bool init(
int max_signal_length_samples,
int n_correlators);
39 bool set_local_code_and_taps(
int code_length_chips,
const lv_16sc_t *local_code_in,
float *shifts_chips);
40 bool set_input_output_vectors(lv_16sc_t *corr_out,
const lv_16sc_t *sig_in);
41 void update_local_code(
int correlator_length_samples,
float rem_code_phase_chips,
float code_phase_step_chips);
42 bool Carrier_wipeoff_multicorrelator_resampler(
float rem_carrier_phase_in_rad,
float phase_step_rad,
float rem_code_phase_chips,
float code_phase_step_chips,
int signal_length_samples);
47 const lv_16sc_t *d_sig_in;
48 const lv_16sc_t *d_local_code_in;
49 lv_16sc_t **d_local_codes_resampled;
50 lv_16sc_t *d_corr_out;
51 float *d_shifts_chips;
52 int d_code_length_chips;
57 #endif // GNSS_SDR_CPU_MULTICORRELATOR_H Class that implements carrier wipe-off and correlators.