Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

GrFreqXlatingFIRfilterFCC Class Reference

FIR filter combined with frequency translation with float input, VrComplex output and VrComplex taps. More...

#include <GrFreqXlatingFIRfilterFCC.h>

Inheritance diagram for GrFreqXlatingFIRfilterFCC:

VrDecimatingSigProc< float, VrComplex > VrHistoryProc< iType, oType > VrSigProc List of all members.

Public Member Functions

 GrFreqXlatingFIRfilterFCC (int decimation_factor, const std::vector< VrComplex > &taps, float center_freq)
 GrFreqXlatingFIRfilterFCC (int decimation_factor, gr_fir_builderC *builder, float center_freq)
virtual ~GrFreqXlatingFIRfilterFCC ()
virtual const char * name ()
 default name for a module (override with actual name)
virtual void initialize ()
 Initialize any local state that is dependent on sampling frequency.
virtual int work (VrSampleRange output, void *o[], VrSampleRange inputs[], void *i[])
 Generate up to output.size output points at o[output#][sample#] using data at the inputptrs[input#][sample#].
void setCenterFreq (float center_freq)
void setTaps (const std::vector< VrComplex > &taps)

Protected Member Functions

virtual void build_composite_fir ()

Protected Attributes

gr_fir_builderCd_builder
std::vector< VrComplexd_proto_taps
gr_fir_FCCd_composite_fir
gr_rotator d_r
float d_center_freq
int d_updated

Detailed Description

FIR filter combined with frequency translation with float input, VrComplex output and VrComplex 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

GrFreqXlatingFIRfilterFCC::GrFreqXlatingFIRfilterFCC int  decimation_factor,
const std::vector< VrComplex > &  taps,
float  center_freq
 

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.

GrFreqXlatingFIRfilterFCC::GrFreqXlatingFIRfilterFCC int  decimation_factor,
gr_fir_builderC builder,
float  center_freq
 

Construct a FIR filter where the taps will be determined at initialization time by invoking builder->taps (sampling_freq). The resulting filter will be preceeded by a frequency translation that shifts center_freq down to zero Hz.

GrFreqXlatingFIRfilterFCC becomes responsible for life time management of builder.

GrFreqXlatingFIRfilterFCC::~GrFreqXlatingFIRfilterFCC  )  [virtual]
 


Member Function Documentation

void GrFreqXlatingFIRfilterFCC::build_composite_fir  )  [protected, virtual]
 

void GrFreqXlatingFIRfilterFCC::initialize  )  [virtual]
 

Initialize any local state that is dependent on sampling frequency.

Reimplemented from VrSigProc.

virtual const char* GrFreqXlatingFIRfilterFCC::name  )  [inline, virtual]
 

default name for a module (override with actual name)

Reimplemented from VrSigProc.

void GrFreqXlatingFIRfilterFCC::setCenterFreq float  center_freq  ) 
 

void GrFreqXlatingFIRfilterFCC::setTaps const std::vector< VrComplex > &  taps  ) 
 

int GrFreqXlatingFIRfilterFCC::work VrSampleRange  output,
void *  o[],
VrSampleRange  inputs[],
void *  i[]
[virtual]
 

Generate up to output.size output points at o[output#][sample#] using data at the inputptrs[input#][sample#].

Pointers start at corresponding VrSampleIndex in the range params. output.size is a multiple of outputSize. Returns the number of outputs (<= output.size) that it was able to compute with the given input ranges. If this value is < output.size, forecast() will need to be called again.

Implements VrSigProc.


Member Data Documentation

gr_fir_builderC* GrFreqXlatingFIRfilterFCC::d_builder [protected]
 

float GrFreqXlatingFIRfilterFCC::d_center_freq [protected]
 

gr_fir_FCC* GrFreqXlatingFIRfilterFCC::d_composite_fir [protected]
 

std::vector<VrComplex> GrFreqXlatingFIRfilterFCC::d_proto_taps [protected]
 

gr_rotator GrFreqXlatingFIRfilterFCC::d_r [protected]
 

int GrFreqXlatingFIRfilterFCC::d_updated [protected]
 


The documentation for this class was generated from the following files:
Generated on Tue Mar 15 23:48:06 2005 for GNU Radio by  doxygen 1.4.0