Main Page | Modules | Namespace List | Class Hierarchy | Compound List | File List | Compound Members | File Members

gr_freq_xlating_fir_filter_fcf Class Reference
[Filters]

#include <gr_freq_xlating_fir_filter_fcf.h>

Inheritance diagram for gr_freq_xlating_fir_filter_fcf:

Inheritance graph
[legend]
Collaboration diagram for gr_freq_xlating_fir_filter_fcf:

Collaboration graph
[legend]
List of all members.

Detailed Description

FIR filter combined with frequency translation with float 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.


Public Member Functions

virtual ~gr_freq_xlating_fir_filter_fcf ()
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


Protected Member Functions

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

Protected Attributes

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

Friends

gr_freq_xlating_fir_filter_fcf_sptr gr_make_freq_xlating_fir_filter_fcf (int decimation, const std::vector< float > &taps, double center_freq, double sampling_freq)


Constructor & Destructor Documentation

gr_freq_xlating_fir_filter_fcf::~gr_freq_xlating_fir_filter_fcf  )  [virtual]
 

gr_freq_xlating_fir_filter_fcf::gr_freq_xlating_fir_filter_fcf 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

void gr_freq_xlating_fir_filter_fcf::build_composite_fir  )  [protected, virtual]
 

void gr_freq_xlating_fir_filter_fcf::set_center_freq double  center_freq  ) 
 

void gr_freq_xlating_fir_filter_fcf::set_taps const std::vector< float > &  taps  ) 
 

int gr_freq_xlating_fir_filter_fcf::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_freq_xlating_fir_filter_fcf_sptr gr_make_freq_xlating_fir_filter_fcf 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_fcf::d_center_freq [protected]
 

gr_fir_fcc* gr_freq_xlating_fir_filter_fcf::d_composite_fir [protected]
 

std::vector<float> gr_freq_xlating_fir_filter_fcf::d_proto_taps [protected]
 

gr_rotator gr_freq_xlating_fir_filter_fcf::d_r [protected]
 

double gr_freq_xlating_fir_filter_fcf::d_sampling_freq [protected]
 

bool gr_freq_xlating_fir_filter_fcf::d_updated [protected]
 


The documentation for this class was generated from the following files:
Generated on Mon Jul 12 15:02:21 2004 for GNU Radio 2.x by doxygen 1.3.3