GNU Radio C++ API
gr_freq_xlating_fir_filter_scf Class Reference

FIR filter combined with frequency translation with short input, gr_complex output and float tapsThis class efficiently combines a frequency translation (typically "down conversion") with a FIR filter (typically low-pass) and decimation. It is ideally suited for a "channel selection filter" and can be efficiently used to select and decimate a narrow band signal out of wide bandwidth input. More...

#include <gr_freq_xlating_fir_filter_scf.h>

Inheritance diagram for gr_freq_xlating_fir_filter_scf:

List of all members.

Public Member Functions

virtual ~gr_freq_xlating_fir_filter_scf ()
void set_center_freq (double center_freq)
void set_taps (const std::vector< float > &taps)
int work (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
 just like gr_block::general_work, only this arranges to call consume_each for you
- Public Member Functions inherited from gr_sync_decimator
unsigned decimation () const
void set_decimation (unsigned decimation)
void forecast (int noutput_items, gr_vector_int &ninput_items_required)
 Estimate input requirements given output request.
int general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
 compute output items from input items
int fixed_rate_ninput_to_noutput (int ninput)
 Given ninput samples, return number of output samples that will be produced. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this.
int fixed_rate_noutput_to_ninput (int noutput)
 Given noutput samples, return number of input samples required to produce noutput. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this.

Protected Member Functions

virtual void build_composite_fir ()
 gr_freq_xlating_fir_filter_scf (int decimation, const std::vector< float > &taps, double center_freq, double sampling_freq)
- Protected Member Functions inherited from gr_sync_decimator
 gr_sync_decimator (const std::string &name, gr_io_signature_sptr input_signature, gr_io_signature_sptr output_signature, unsigned decimation)
- Protected Member Functions inherited from gr_sync_block
 gr_sync_block (void)
 gr_sync_block (const std::string &name, gr_io_signature_sptr input_signature, gr_io_signature_sptr output_signature)
- Protected Member Functions inherited from gr_block
 gr_block (void)
 gr_block (const std::string &name, gr_io_signature_sptr input_signature, gr_io_signature_sptr output_signature)
void set_fixed_rate (bool fixed_rate)
void add_item_tag (unsigned int which_output, uint64_t abs_offset, const pmt::pmt_t &key, const pmt::pmt_t &value, const pmt::pmt_t &srcid=pmt::PMT_F)
 Adds a new tag onto the given output buffer.
void add_item_tag (unsigned int which_output, const gr_tag_t &tag)
 Adds a new tag onto the given output buffer.
void get_tags_in_range (std::vector< gr_tag_t > &v, unsigned int which_input, uint64_t abs_start, uint64_t abs_end)
 Given a [start,end), returns a vector of all tags in the range.
void get_tags_in_range (std::vector< gr_tag_t > &v, unsigned int which_input, uint64_t abs_start, uint64_t abs_end, const pmt::pmt_t &key)
 Given a [start,end), returns a vector of all tags in the range with a given key.
- Protected Member Functions inherited from gr_basic_block
 gr_basic_block (void)
 gr_basic_block (const std::string &name, gr_io_signature_sptr input_signature, gr_io_signature_sptr output_signature)
 Protected constructor prevents instantiation by non-derived classes.
void set_input_signature (gr_io_signature_sptr iosig)
 may only be called during constructor
void set_output_signature (gr_io_signature_sptr iosig)
 may only be called during constructor
void set_color (vcolor color)
 Allow the flowgraph to set for sorting and partitioning.
vcolor color () const

Protected Attributes

std::vector< float > d_proto_taps
gr_fir_sccd_composite_fir
gr_rotator d_r
double d_center_freq
double d_sampling_freq
bool d_updated

Friends

GR_CORE_API
gr_freq_xlating_fir_filter_scf_sptr 
gr_make_freq_xlating_fir_filter_scf (int decimation, const std::vector< float > &taps, double center_freq, double sampling_freq)

Detailed Description

FIR filter combined with frequency translation with short input, gr_complex output and float taps

This class efficiently combines a frequency translation (typically "down conversion") with a FIR filter (typically low-pass) and decimation. It is ideally suited for a "channel selection filter" and can be efficiently used to select and decimate a narrow band signal out of wide bandwidth input.

Uses a single input array to produce a single output array. Additional inputs and/or outputs are ignored.


Constructor & Destructor Documentation

virtual gr_freq_xlating_fir_filter_scf::~gr_freq_xlating_fir_filter_scf ( )
virtual
gr_freq_xlating_fir_filter_scf::gr_freq_xlating_fir_filter_scf ( int  decimation,
const std::vector< float > &  taps,
double  center_freq,
double  sampling_freq 
)
protected

Construct a FIR filter with the given taps and a composite frequency translation that shifts center_freq down to zero Hz. The frequency translation logically comes before the filtering operation.


Member Function Documentation

virtual void gr_freq_xlating_fir_filter_scf::build_composite_fir ( )
protectedvirtual
void gr_freq_xlating_fir_filter_scf::set_center_freq ( double  center_freq)
void gr_freq_xlating_fir_filter_scf::set_taps ( const std::vector< float > &  taps)
int gr_freq_xlating_fir_filter_scf::work ( int  noutput_items,
gr_vector_const_void_star input_items,
gr_vector_void_star output_items 
)
virtual

just like gr_block::general_work, only this arranges to call consume_each for you

The user must override work to define the signal processing code

Implements gr_sync_block.


Friends And Related Function Documentation

GR_CORE_API gr_freq_xlating_fir_filter_scf_sptr gr_make_freq_xlating_fir_filter_scf ( int  decimation,
const std::vector< float > &  taps,
double  center_freq,
double  sampling_freq 
)
friend

Construct a FIR filter with the given taps and a composite frequency translation that shifts center_freq down to zero Hz. The frequency translation logically comes before the filtering operation.


Member Data Documentation

double gr_freq_xlating_fir_filter_scf::d_center_freq
protected
gr_fir_scc* gr_freq_xlating_fir_filter_scf::d_composite_fir
protected
std::vector<float> gr_freq_xlating_fir_filter_scf::d_proto_taps
protected
gr_rotator gr_freq_xlating_fir_filter_scf::d_r
protected
double gr_freq_xlating_fir_filter_scf::d_sampling_freq
protected
bool gr_freq_xlating_fir_filter_scf::d_updated
protected

The documentation for this class was generated from the following file: