64pcps_quicksync_acquisition_cc_sptr pcps_quicksync_make_acquisition_cc(
const Acq_Conf& conf, uint32_t folding_factor, uint32_t max_dwells);
73class pcps_quicksync_acquisition_cc :
public acquisition_impl_interface
88 d_gnss_synchro = p_gnss_synchro;
94 inline uint32_t
mag()
const override
134 d_channel_fsm = std::move(channel_fsm);
141 gr_vector_const_void_star& input_items,
142 gr_vector_void_star& output_items)
override;
145 friend pcps_quicksync_acquisition_cc_sptr
146 pcps_quicksync_make_acquisition_cc(
const Acq_Conf& conf, uint32_t folding_factor, uint32_t max_dwells);
148 explicit pcps_quicksync_acquisition_cc(
const Acq_Conf& conf, uint32_t folding_factor, uint32_t max_dwells);
150 void calculate_magnitudes(gr_complex* fft_begin, int32_t doppler_shift, int32_t doppler_offset);
152 std::string d_satellite_str;
155 std::ofstream d_dump_file;
159 uint64_t d_sample_counter;
161 float d_noise_floor_power;
164 float d_test_statistics;
165 const int32_t d_vector_length;
166 const int32_t d_samples_per_code;
169 const uint32_t d_folding_factor;
170 const uint32_t d_max_dwells;
171 uint32_t d_well_count;
172 const uint32_t d_fft_size;
173 uint32_t d_num_doppler_bins;
174 uint32_t d_code_phase;
178 std::weak_ptr<ChannelFsm> d_channel_fsm;
180 std::unique_ptr<gnss_fft_complex_fwd> d_fft_if;
181 std::unique_ptr<gnss_fft_complex_rev> d_ifft;
183 std::vector<std::vector<gr_complex>> d_grid_doppler_wipeoffs;
184 std::vector<gr_complex> d_code;
185 std::vector<gr_complex> d_fft_codes;
186 std::vector<gr_complex> d_signal_folded;
187 std::vector<gr_complex> d_code_folded;
188 std::vector<float> d_magnitude;
189 std::vector<float> d_corr_output_f;
190 std::vector<float> d_magnitude_folded;
191 std::vector<uint32_t> d_possible_delay;
int general_work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) override
Parallel Code Phase Search Acquisition signal processing.