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

gr_fir_FSF Class Reference

Abstract class for FIR with float input, short output and float taps. More...

#include <gr_fir_FSF.h>

Inheritance diagram for gr_fir_FSF:

gr_fir_FSF_generic gr_fir_FSF_simd gr_fir_FSF_3dnow gr_fir_FSF_sse List of all members.

Public Member Functions

 gr_fir_FSF ()
 construct new FIR with given taps.
 gr_fir_FSF (const std::vector< float > &taps)
virtual ~gr_fir_FSF ()
virtual short filter (const float input[])=0
 compute a single output value.
virtual void filterN (short output[], const float input[], unsigned long n)=0
 compute an array of N output values.
virtual void filterNdec (short output[], const float input[], unsigned long n, unsigned decimate)=0
 compute an array of N output values, decimating the input
virtual void set_taps (const std::vector< float > &taps)
 install new_taps as the current taps.
unsigned ntaps () const
virtual const std::vector<
float > & 
get_taps () const

Protected Attributes

std::vector< float > d_taps

Detailed Description

Abstract class for FIR with float input, short output and float taps.

This is the abstract class for a Finite Impulse Response filter.

The trailing suffix has the form _IOT where I codes the input type, O codes the output type, and T codes the tap type. I,O,T are elements of the set 'S' (short), 'F' (float), 'C' (VrComplex), 'I' (int)


Constructor & Destructor Documentation

gr_fir_FSF::gr_fir_FSF  )  [inline]
 

construct new FIR with given taps.

Note that taps must be in backwards order, e.g., coefficient 0 is stored in new_taps[N-1], coefficient 1 is stored in new_taps[N-2], etc.

gr_fir_FSF::gr_fir_FSF const std::vector< float > &  taps  )  [inline]
 

gr_fir_FSF::~gr_fir_FSF  )  [virtual]
 


Member Function Documentation

virtual short gr_fir_FSF::filter const float  input[]  )  [pure virtual]
 

compute a single output value.

input must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.

Returns:
the filtered input value.

Implemented in gr_fir_FSF_generic, and gr_fir_FSF_simd.

virtual void gr_fir_FSF::filterN short  output[],
const float  input[],
unsigned long  n
[pure virtual]
 

compute an array of N output values.

input must have (n - 1 + ntaps()) valid entries. input[0] .. input[n - 1 + ntaps() - 1] are referenced to compute the output values.

Implemented in gr_fir_FSF_generic.

virtual void gr_fir_FSF::filterNdec short  output[],
const float  input[],
unsigned long  n,
unsigned  decimate
[pure virtual]
 

compute an array of N output values, decimating the input

input must have (decimate * (n - 1) + ntaps()) valid entries. input[0] .. input[decimate * (n - 1) + ntaps() - 1] are referenced to compute the output values.

Implemented in gr_fir_FSF_generic.

virtual const std::vector<float>& gr_fir_FSF::get_taps  )  const [inline, virtual]
 

Returns:
a reference to the current taps

unsigned gr_fir_FSF::ntaps  )  const [inline]
 

Returns:
number of taps in filter.

virtual void gr_fir_FSF::set_taps const std::vector< float > &  taps  )  [inline, virtual]
 

install new_taps as the current taps.

Reimplemented in gr_fir_FSF_simd.


Member Data Documentation

std::vector<float> gr_fir_FSF::d_taps [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