37 #ifndef GNSS_SDR_PCPS_QUICKSYNC_ACQUISITION_CC_H 38 #define GNSS_SDR_PCPS_QUICKSYNC_ACQUISITION_CC_H 45 #include <gnuradio/block.h> 46 #include <gnuradio/gr_complex.h> 62 using pcps_quicksync_acquisition_cc_sptr = gnss_shared_ptr<pcps_quicksync_acquisition_cc>;
64 pcps_quicksync_acquisition_cc_sptr pcps_quicksync_make_acquisition_cc(
const Acq_Conf& conf, uint32_t folding_factor, uint32_t max_dwells);
88 d_gnss_synchro = p_gnss_synchro;
94 inline uint32_t
mag()
const override 134 d_channel_fsm = std::move(channel_fsm);
140 int general_work(
int noutput_items, gr_vector_int& ninput_items,
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);
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;
197 #endif // GNSS_SDR_PCPS_QUICKSYNC_ACQUISITION_CC_H void set_active(bool active) override
Starts acquisition algorithm, turning from standby mode to active mode.
Helper file for FFT interface.
Header file of the interface to an acquisition implementation GNSS block.
Class that contains all the configuration parameters for generic acquisition block based on the PCPS ...
This class implements a Parallel Code Phase Search Acquisition with the implementation of the Sparse ...
Interface of the State Machine for channel.
void set_channel_fsm(std::weak_ptr< ChannelFsm > channel_fsm) override
Set channel fsm associated to this acquisition instance.
void set_gnss_synchro(Gnss_Synchro *p_gnss_synchro) override
Set acquisition/tracking common Gnss_Synchro object pointer to exchange synchronization data between ...
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.
This is the class that contains the information that is shared by the processing blocks.
uint32_t mag() const override
Returns the maximum peak of grid search.
void set_channel(uint32_t channel) override
Set acquisition channel unique ID.
void set_local_code(std::complex< float > *code) override
Sets local code for PCPS acquisition algorithm.
~pcps_quicksync_acquisition_cc()
Default destructor.
This abstract class represents an interface to an acquisition GNSS block.
Interface of the Gnss_Synchro class.