gr-baz Package
gr_fir_fcc Class Reference

Abstract class for FIR with float input, gr_complex output and gr_complex tapsThis is the abstract class for a Finite Impulse Response filter. More...

#include <gr_fir_fcc.h>

Inheritance diagram for gr_fir_fcc:
gr_fir_fcc_generic gr_fir_fcc_simd gr_fir_fcc_3dnow gr_fir_fcc_sse

Public Member Functions

 gr_fir_fcc ()
 construct new FIR with given taps.
 gr_fir_fcc (const std::vector< gr_complex > &taps)
virtual ~gr_fir_fcc ()
virtual gr_complex filter (const float input[])=0
 compute a single output value.
virtual void filterN (gr_complex output[], const float input[], unsigned long n)=0
 compute an array of N output values.
virtual void filterNdec (gr_complex 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< gr_complex > &taps)
 install new_taps as the current taps.
unsigned ntaps () const
virtual const std::vector
< gr_complex
get_taps () const

Protected Attributes

std::vector< gr_complexd_taps

Detailed Description

Abstract class for FIR with float input, gr_complex output and gr_complex 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' (gr_complex), 'i' (int)

Constructor & Destructor Documentation

gr_fir_fcc::gr_fir_fcc ( )
inline

construct new FIR with given taps.

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

gr_fir_fcc::gr_fir_fcc ( const std::vector< gr_complex > &  taps)
inline
virtual gr_fir_fcc::~gr_fir_fcc ( )
virtual

Member Function Documentation

virtual gr_complex gr_fir_fcc::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_fcc_simd, and gr_fir_fcc_generic.

virtual void gr_fir_fcc::filterN ( gr_complex  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_fcc_generic.

virtual void gr_fir_fcc::filterNdec ( gr_complex  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_fcc_generic.

virtual const std::vector<gr_complex> gr_fir_fcc::get_taps ( ) const
inlinevirtual
Returns
current taps

References gr_reverse().

unsigned gr_fir_fcc::ntaps ( ) const
inline
Returns
number of taps in filter.
virtual void gr_fir_fcc::set_taps ( const std::vector< gr_complex > &  taps)
inlinevirtual

install new_taps as the current taps.

Reimplemented in gr_fir_fcc_simd.

References gr_reverse().

Member Data Documentation

std::vector<gr_complex> gr_fir_fcc::d_taps
protected

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