74class pcps_acquisition_fine_doppler_cc :
public acquisition_impl_interface
89 d_gnss_synchro = p_gnss_synchro;
95 inline unsigned int mag()
const override
97 return d_test_statistics;
128 d_dump_channel = d_channel;
136 d_channel_fsm = std::move(channel_fsm);
143 gr_vector_const_void_star& input_items,
144 gr_vector_void_star& output_items)
override;
151 unsigned int nextPowerOf2(
unsigned int n);
153 void dump_results(
int effective_fft_size);
155 void forecast(
int noutput_items, gr_vector_int& ninput_items_required)
override;
157 friend pcps_acquisition_fine_doppler_cc_sptr pcps_make_acquisition_fine_doppler_cc(
const Acq_Conf& conf_);
158 explicit pcps_acquisition_fine_doppler_cc(
const Acq_Conf& conf_);
160 int compute_and_accumulate_grid(gr_vector_const_void_star& input_items);
161 int estimate_Doppler();
162 float estimate_input_power(gr_vector_const_void_star& input_items);
165 void update_carrier_wipeoff();
166 bool start()
override;
170 std::string d_satellite_str;
173 std::string d_dump_filename;
177 int64_t d_dump_number;
178 uint64_t d_sample_counter;
180 float d_test_statistics;
184 const int d_num_doppler_points;
186 int d_n_samples_in_buffer;
187 const int d_fft_size;
188 int d_gnuradio_forecast_samples;
189 unsigned int d_channel;
190 unsigned int d_dump_channel;
195 std::weak_ptr<ChannelFsm> d_channel_fsm;
196 std::unique_ptr<gnss_fft_complex_fwd> d_fft_if;
197 std::unique_ptr<gnss_fft_complex_rev> d_ifft;
199 volk_gnsssdr::vector<volk_gnsssdr::vector<std::complex<float>>> d_grid_doppler_wipeoffs;
200 volk_gnsssdr::vector<volk_gnsssdr::vector<float>> d_grid_data;
201 volk_gnsssdr::vector<gr_complex> d_fft_codes;
202 volk_gnsssdr::vector<gr_complex> d_10_ms_buffer;
203 volk_gnsssdr::vector<float> d_magnitude;
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.