GNU Radio 3.6.5 C++ API

gr_freq_xlating_fir_filter_scc Class Reference

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

#include <gr_freq_xlating_fir_filter_scc.h>

Inheritance diagram for gr_freq_xlating_fir_filter_scc:
gr_sync_decimator gr_sync_block gr_block gr_basic_block gr_msg_accepter gruel::msg_accepter

List of all members.

Public Member Functions

virtual ~gr_freq_xlating_fir_filter_scc ()
void set_center_freq (double center_freq)
void set_taps (const std::vector< gr_complex > &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

Protected Member Functions

virtual void build_composite_fir ()
 gr_freq_xlating_fir_filter_scc (int decimation, const std::vector< gr_complex > &taps, double center_freq, double sampling_freq)

Protected Attributes

std::vector< gr_complexd_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_scc_sptr 
gr_make_freq_xlating_fir_filter_scc (int decimation, const std::vector< gr_complex > &taps, double center_freq, double sampling_freq)

Detailed Description

FIR filter combined with frequency translation with short input, gr_complex output and gr_complex 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_scc::~gr_freq_xlating_fir_filter_scc ( ) [virtual]
gr_freq_xlating_fir_filter_scc::gr_freq_xlating_fir_filter_scc ( int  decimation,
const std::vector< gr_complex > &  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_scc::build_composite_fir ( ) [protected, virtual]
void gr_freq_xlating_fir_filter_scc::set_center_freq ( double  center_freq)
void gr_freq_xlating_fir_filter_scc::set_taps ( const std::vector< gr_complex > &  taps)
int gr_freq_xlating_fir_filter_scc::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_scc_sptr gr_make_freq_xlating_fir_filter_scc ( int  decimation,
const std::vector< gr_complex > &  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


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