21 #ifndef GNSS_SDR_CPU_MULTICORRELATOR_H 22 #define GNSS_SDR_CPU_MULTICORRELATOR_H 42 bool init(
int max_signal_length_samples,
int n_correlators);
43 bool set_local_code_and_taps(
int code_length_chips,
const std::complex<float> *local_code_in,
float *shifts_chips);
44 bool set_input_output_vectors(std::complex<float> *corr_out,
const std::complex<float> *sig_in);
45 void update_local_code(
int correlator_length_samples,
float rem_code_phase_chips,
float code_phase_step_chips);
46 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);
51 const std::complex<float> *d_sig_in{
nullptr};
52 const std::complex<float> *d_local_code_in{
nullptr};
53 std::complex<float> **d_local_codes_resampled{
nullptr};
54 std::complex<float> *d_corr_out{
nullptr};
55 float *d_shifts_chips{
nullptr};
56 int d_code_length_chips{0};
57 int d_n_correlators{0};
63 #endif // GNSS_SDR_CPU_MULTICORRELATOR_H Class that implements carrier wipe-off and correlators.