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

GrFreqXlatingFIRfilterSCC Class Reference

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

#include <GrFreqXlatingFIRfilterSCC.h>

Inheritance diagram for GrFreqXlatingFIRfilterSCC:

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

Public Member Functions

 GrFreqXlatingFIRfilterSCC (int decimation_factor, const std::vector< VrComplex > &taps, float center_freq)
 GrFreqXlatingFIRfilterSCC (int decimation_factor, gr_fir_builderC *builder, float center_freq)
virtual ~GrFreqXlatingFIRfilterSCC ()
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_SCCd_composite_fir
gr_rotator d_r
float d_center_freq
int d_updated

Detailed Description

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

GrFreqXlatingFIRfilterSCC::GrFreqXlatingFIRfilterSCC 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.

GrFreqXlatingFIRfilterSCC::GrFreqXlatingFIRfilterSCC 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.

GrFreqXlatingFIRfilterSCC becomes responsible for life time management of builder.

GrFreqXlatingFIRfilterSCC::~GrFreqXlatingFIRfilterSCC  )  [virtual]
 


Member Function Documentation

void GrFreqXlatingFIRfilterSCC::build_composite_fir  )  [protected, virtual]
 

void GrFreqXlatingFIRfilterSCC::initialize  )  [virtual]
 

Initialize any local state that is dependent on sampling frequency.

Reimplemented from VrSigProc.

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

default name for a module (override with actual name)

Reimplemented from VrSigProc.

void GrFreqXlatingFIRfilterSCC::setCenterFreq float  center_freq  ) 
 

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

int GrFreqXlatingFIRfilterSCC::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* GrFreqXlatingFIRfilterSCC::d_builder [protected]
 

float GrFreqXlatingFIRfilterSCC::d_center_freq [protected]
 

gr_fir_SCC* GrFreqXlatingFIRfilterSCC::d_composite_fir [protected]
 

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

gr_rotator GrFreqXlatingFIRfilterSCC::d_r [protected]
 

int GrFreqXlatingFIRfilterSCC::d_updated [protected]
 


The documentation for this class was generated from the following files:
Generated on Tue Mar 30 21:32:12 2004 for GNU Radio by doxygen 1.3.2