21 #ifndef GNSS_SDR_FIR_FILTER_H 22 #define GNSS_SDR_FIR_FILTER_H 29 #include <gnuradio/blocks/file_sink.h> 30 #include <gnuradio/blocks/float_to_char.h> 31 #include <gnuradio/blocks/float_to_complex.h> 32 #include <gnuradio/blocks/float_to_short.h> 33 #include <gnuradio/gr_complex.h> 35 #include <gnuradio/filter/fir_filter_blk.h> 37 #include <gnuradio/filter/fir_filter_ccf.h> 38 #include <gnuradio/filter/fir_filter_fff.h> 60 unsigned int in_streams,
61 unsigned int out_streams);
66 inline std::string role()
override 77 inline size_t item_size()
override 82 void connect(gr::top_block_sptr top_block)
override;
83 void disconnect(gr::top_block_sptr top_block)
override;
84 gr::basic_block_sptr get_left_block()
override;
85 gr::basic_block_sptr get_right_block()
override;
90 gr::filter::fir_filter_ccf::sptr fir_filter_ccf_;
91 gr::filter::fir_filter_fff::sptr fir_filter_fff_1_;
92 gr::filter::fir_filter_fff::sptr fir_filter_fff_2_;
93 gr::blocks::float_to_complex::sptr float_to_complex_;
94 gr::blocks::float_to_short::sptr float_to_short_1_;
95 gr::blocks::float_to_short::sptr float_to_short_2_;
96 short_x2_to_cshort_sptr short_x2_to_cshort_;
97 complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
98 byte_x2_to_complex_byte_sptr char_x2_cbyte_;
99 cshort_to_float_x2_sptr cshort_to_float_x2_;
100 gr::blocks::float_to_char::sptr float_to_char_1_;
101 gr::blocks::float_to_char::sptr float_to_char_2_;
102 gr::blocks::file_sink::sptr file_sink_;
104 std::vector<float> taps_;
105 std::string dump_filename_;
106 std::string input_item_type_;
107 std::string output_item_type_;
108 std::string taps_item_type_;
111 unsigned int in_streams_;
112 unsigned int out_streams_;
This class adapts a GNU Radio gr_fir_filter designed with pm_remez.
FirFilter(const ConfigurationInterface *configuration, std::string role, unsigned int in_streams, unsigned int out_streams)
Constructor.
This interface represents a GNSS block.
This abstract class represents an interface to configuration parameters.
~FirFilter()=default
Destructor.
std::string implementation() override
Returns "Fir_Filter".
This abstract class represents an interface to GNSS blocks.
Adapts two signed char streams into a std::complex<signed char> stream.
Adapts two short streams into a std::complex<short> stream.
Adapts a std::complex<short> stream into two float streams.
Adapts a std::complex<signed char> stream into two 16-bits (short) streams.