74class Gps_L1_Ca_Gaussian_Tracking_cc :
public gr::block
77 ~Gps_L1_Ca_Gaussian_Tracking_cc();
79 void set_channel(uint32_t channel);
81 void start_tracking();
83 int general_work(
int noutput_items, gr_vector_int& ninput_items,
84 gr_vector_const_void_star& input_items, gr_vector_void_star& output_items);
86 void forecast(
int noutput_items, gr_vector_int& ninput_items_required);
89 friend gps_l1_ca_gaussian_tracking_cc_sptr
90 gps_l1_ca_gaussian_make_tracking_cc(uint32_t order,
92 uint32_t vector_length,
94 const std::string& dump_filename,
96 float early_late_space_chips,
103 Gps_L1_Ca_Gaussian_Tracking_cc(uint32_t order,
105 uint32_t vector_length,
107 const std::string& dump_filename,
109 float early_late_space_chips,
116 int32_t save_matfile();
120 uint32_t d_vector_length;
128 double d_early_late_spc_chips;
131 double d_rem_code_phase_samples;
132 double d_rem_code_phase_chips;
133 float d_rem_carr_phase_rad;
136 arma::mat kf_P_x_ini;
138 arma::mat kf_P_x_pre;
147 arma::colvec kf_x_pre;
154 uint32_t bayes_ptrans;
155 uint32_t bayes_strans;
167 double d_acq_carrier_doppler_step_hz{};
168 double d_acq_code_phase_samples;
169 double d_acq_carrier_doppler_hz;
171 int32_t d_n_correlator_taps;
172 volk_gnsssdr::vector<float> d_ca_code;
173 volk_gnsssdr::vector<float> d_local_code_shift_chips;
174 volk_gnsssdr::vector<gr_complex> d_correlator_outs;
178 double d_code_freq_chips;
179 double d_code_phase_step_chips;
180 double d_code_phase_rate_step_chips;
181 double d_carrier_doppler_hz;
182 double d_carrier_dopplerrate_hz2;
183 double d_carrier_phase_step_rad;
184 double d_acc_carrier_phase_rad;
185 double d_carr_phase_error_rad{};
186 double d_carr_phase_sigma2;
187 double d_code_phase_samples;
188 double code_error_chips;
189 double code_error_filt_chips;
192 int32_t d_current_prn_length_samples;
195 uint64_t d_sample_counter;
196 uint64_t d_acq_sample_stamp;
199 int32_t d_cn0_estimation_counter;
200 volk_gnsssdr::vector<gr_complex> d_Prompt_buffer;
201 double d_carrier_lock_test;
202 double d_CN0_SNV_dB_Hz;
203 double d_carrier_lock_threshold;
204 int32_t d_carrier_lock_fail_counter;
207 bool d_enable_tracking;
211 std::string d_dump_filename;
212 std::ofstream d_dump_file;
214 std::map<std::string, std::string> systemName;