21 #ifndef INCLUDED_INSPECTOR_SIGNAL_SEPARATOR_C_IMPL_H 22 #define INCLUDED_INSPECTOR_SIGNAL_SEPARATOR_C_IMPL_H 24 #include <gnuradio/blocks/rotator.h> 25 #include <gnuradio/filter/fir_filter.h> 26 #include <gnuradio/filter/firdes.h> 27 #include <gnuradio/messages/msg_queue.h> 28 #include <gnuradio/thread/thread.h> 39 unsigned int d_buffer_stage;
40 float d_trans_width, d_oversampling;
42 gr_complex* d_temp_buffer;
44 filter::firdes::win_type d_window;
46 std::vector<filter::kernel::fir_filter_ccf*> d_filterbank;
47 std::vector<std::vector<float>> d_rf_map;
49 std::vector<float> build_taps(
double cutoff);
50 std::vector<int> d_decimations;
51 std::vector<int> d_ntaps;
52 std::vector<blocks::rotator> d_rotators;
54 std::vector<gr_complex*> d_history_buffer;
55 std::vector<std::vector<gr_complex>> d_result_vector;
56 gr::thread::mutex d_mutex;
58 std::map<float, std::vector<float>> d_precalc;
59 std::vector<float> d_taps;
68 std::map<
float, std::vector<float>>& file_path);
88 void forecast(
int noutput_items, gr_vector_int& ninput_items_required);
91 gr_vector_int& ninput_items,
92 gr_vector_const_void_star& input_items,
93 gr_vector_void_star& output_items);
101 signal_separator_c_impl::d_samp_rate = d_samp_rate;
105 filter::firdes::win_type
window()
const {
return d_window; }
109 signal_separator_c_impl::d_window =
110 static_cast<filter::firdes::win_type
>(d_window);
118 signal_separator_c_impl::d_trans_width = d_trans_width;
125 signal_separator_c_impl::d_oversampling = d_oversampling;
~signal_separator_c_impl()
Signal Separator takes input signal and RF map as input and passes samples of each filtered and decim...
Definition: signal_separator_c.h:53
int general_work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
void set_oversampling(float d_oversampling)
Definition: signal_separator_c_impl.h:123
pmt::pmt_t pack_message()
double samp_rate() const
Definition: signal_separator_c_impl.h:97
void set_window(int d_window)
Definition: signal_separator_c_impl.h:107
void rebuild_all_filters()
Definition: inspector_form.h:40
signal_separator_c_impl(double samp_rate, int window, float trans_width, float oversampling, bool taps_file, std::map< float, std::vector< float >> &file_path)
int oversampling() const
Definition: signal_separator_c_impl.h:121
void build_filter(unsigned int signal)
void forecast(int noutput_items, gr_vector_int &ninput_items_required)
filter::firdes::win_type window() const
Definition: signal_separator_c_impl.h:105
Definition: signal_separator_c_impl.h:34
void set_trans_width(float d_trans_width)
Definition: signal_separator_c_impl.h:116
void unpack_message(pmt::pmt_t msg)
void handle_msg(pmt::pmt_t msg)
void set_samp_rate(double d_samp_rate)
Definition: signal_separator_c_impl.h:99
float trans_width() const
Definition: signal_separator_c_impl.h:114