68class pcps_assisted_acquisition_cc :
public acquisition_impl_interface
83 d_gnss_synchro = p_gnss_synchro;
89 inline uint32_t
mag()
const override
91 return d_test_statistics;
129 d_channel_fsm = std::move(channel_fsm);
136 gr_vector_const_void_star& input_items,
137 gr_vector_void_star& output_items)
override;
141 void forecast(
int noutput_items, gr_vector_int& ninput_items_required)
override;
143 friend pcps_assisted_acquisition_cc_sptr
144 pcps_make_assisted_acquisition_cc(
const Acq_Conf& conf);
146 explicit pcps_assisted_acquisition_cc(
const Acq_Conf& conf);
148 void calculate_magnitudes(gr_complex* fft_begin, int32_t doppler_shift, int32_t doppler_offset);
150 int32_t compute_and_accumulate_grid(gr_vector_const_void_star& input_items);
151 float estimate_input_power(gr_vector_const_void_star& input_items)
const;
152 float search_maximum();
153 void get_assistance();
155 void redefine_grid();
157 std::string d_satellite_str;
160 std::ofstream d_dump_file;
164 uint64_t d_sample_counter;
167 float d_test_statistics;
170 uint32_t d_code_phase;
171 const uint32_t d_fft_size;
173 const int32_t d_gnuradio_forecast_samples;
174 int32_t d_doppler_max;
175 int32_t d_doppler_min;
176 int32_t d_num_doppler_points;
178 int32_t d_well_count;
181 bool d_disable_assist;
183 std::weak_ptr<ChannelFsm> d_channel_fsm;
184 std::unique_ptr<gnss_fft_complex_fwd> d_fft_if;
185 std::unique_ptr<gnss_fft_complex_rev> d_ifft;
187 std::vector<std::vector<std::complex<float>>> d_grid_doppler_wipeoffs;
188 std::vector<std::vector<float>> d_grid_data;
189 std::vector<gr_complex> d_fft_codes;
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.