21 #ifndef GNSS_SDR_CPU_MULTICORRELATOR_16SC_H 22 #define GNSS_SDR_CPU_MULTICORRELATOR_16SC_H 24 #include <volk_gnsssdr/volk_gnsssdr.h> 40 bool init(
int max_signal_length_samples,
int n_correlators);
41 bool set_local_code_and_taps(
int code_length_chips,
const lv_16sc_t *local_code_in,
float *shifts_chips);
42 bool set_input_output_vectors(lv_16sc_t *corr_out,
const lv_16sc_t *sig_in);
43 void update_local_code(
int correlator_length_samples,
float rem_code_phase_chips,
float code_phase_step_chips);
44 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);
49 const lv_16sc_t *d_sig_in{
nullptr};
50 const lv_16sc_t *d_local_code_in{
nullptr};
51 lv_16sc_t **d_local_codes_resampled{
nullptr};
52 lv_16sc_t *d_corr_out{
nullptr};
53 float *d_shifts_chips{
nullptr};
54 int d_code_length_chips{0};
55 int d_n_correlators{0};
61 #endif // GNSS_SDR_CPU_MULTICORRELATOR_H Class that implements carrier wipe-off and correlators.