20 #ifndef GNSS_SDR_PULSE_BLANKING_H 21 #define GNSS_SDR_PULSE_BLANKING_H 23 #if GNURADIO_USES_STD_POINTERS 26 #include <boost/shared_ptr.hpp> 28 #include <gnuradio/block.h> 29 #include <volk_gnsssdr/volk_gnsssdr_alloc.h> 34 #if GNURADIO_USES_STD_POINTERS 35 using pulse_blanking_cc_sptr = std::shared_ptr<pulse_blanking_cc>;
37 using pulse_blanking_cc_sptr = boost::shared_ptr<pulse_blanking_cc>;
40 pulse_blanking_cc_sptr make_pulse_blanking_cc(
43 int32_t n_segments_est,
44 int32_t n_segments_reset);
51 void forecast(
int noutput_items, gr_vector_int &ninput_items_required);
53 int general_work(
int noutput_items __attribute__((unused)), gr_vector_int &ninput_items __attribute__((unused)),
54 gr_vector_const_void_star &input_items, gr_vector_void_star &output_items);
57 friend pulse_blanking_cc_sptr make_pulse_blanking_cc(
float pfa, int32_t length_, int32_t n_segments_est, int32_t n_segments_reset);
58 pulse_blanking_cc(
float pfa, int32_t length_, int32_t n_segments_est, int32_t n_segments_reset);
59 volk_gnsssdr::vector<gr_complex> zeros_;
60 float noise_power_estimation;
65 int32_t n_segments_est;
66 int32_t n_segments_reset;
71 #endif // GNSS_SDR_PULSE_BLANKING_H