23 #ifndef INCLUDED_INSPECTOR_SIGNAL_SEPARATOR_C_IMPL_H 24 #define INCLUDED_INSPECTOR_SIGNAL_SEPARATOR_C_IMPL_H 27 #include <gnuradio/filter/firdes.h> 28 #include <gnuradio/filter/fir_filter.h> 29 #include <gnuradio/blocks/rotator.h> 30 #include <gnuradio/thread/thread.h> 31 #include <gnuradio/messages/msg_queue.h> 40 unsigned int d_buffer_stage;
41 float d_trans_width, d_oversampling;
43 gr_complex* d_temp_buffer;
45 filter::firdes::win_type d_window;
47 std::vector<filter::kernel::fir_filter_ccf*> d_filterbank;
48 std::vector<std::vector<float> > d_rf_map;
50 std::vector<float> build_taps(
double cutoff);
51 std::vector<int> d_decimations;
52 std::vector<int> d_ntaps;
53 std::vector<blocks::rotator> d_rotators;
55 std::vector<gr_complex*> d_history_buffer;
56 std::vector<std::vector<gr_complex> > d_result_vector;
57 gr::thread::mutex d_mutex;
59 std::map<float, std::vector<float> > d_precalc;
60 std::vector<float> d_taps;
66 std::map<
float, std::vector<float> > &file_path);
87 gr_vector_int &ninput_items_required);
90 gr_vector_int &ninput_items,
91 gr_vector_const_void_star &input_items,
92 gr_vector_void_star &output_items);
101 signal_separator_c_impl::d_samp_rate = d_samp_rate;
105 filter::firdes::win_type
window()
const {
110 signal_separator_c_impl::d_window =
111 static_cast<filter::firdes::win_type
>(d_window);
116 return d_trans_width;
120 signal_separator_c_impl::d_trans_width = d_trans_width;
125 return d_oversampling;
129 signal_separator_c_impl::d_oversampling = d_oversampling;
~signal_separator_c_impl()
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)
Signal Separator takes input signal and RF map as input and passes samples of each filtered and decim...
Definition: signal_separator_c.h:56
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:128
pmt::pmt_t pack_message()
double samp_rate() const
Definition: signal_separator_c_impl.h:96
void set_window(int d_window)
Definition: signal_separator_c_impl.h:109
void rebuild_all_filters()
Definition: ofdm_bouzegzi_c.h:30
int oversampling() const
Definition: signal_separator_c_impl.h:124
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:36
void set_trans_width(float d_trans_width)
Definition: signal_separator_c_impl.h:119
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:100
float trans_width() const
Definition: signal_separator_c_impl.h:115