Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

SPUC::lagrange< Numeric > Class Template Reference
[FIR filtersInterpolation filters]

Template Class for Lagrange interpolation using a FIR filter. More...

#include <lagrange.h>

Collaboration diagram for SPUC::lagrange< Numeric >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

void reset ()
Numeric out ()
 Get current output.
Numeric check (long i)
 Clock in new sample & compute current output.
 lagrange (void)
 lagrange (long n)
 Constructor.
 ~lagrange (void)
 Destructor.
void set_size (long n)
 Set order of polynomial.
void input (Numeric in)
 Input new sample (do nothing else).
Numeric update (Numeric in, double offset)
Numeric fir (void)
 Calculate output for current coefficients.
Numeric rephase (double offset)
 Rephase => recalculate coefficients and output for new offset (for upsampling).
void calculate_coeff (double offset)
 Calculate coefficients given an offset.
void print ()
 Print out coefficients.

Public Attributes

long num_taps
double * coeff

Protected Attributes

Numeric * z
Numeric output

Detailed Description

template<class Numeric>
class SPUC::lagrange< Numeric >

Template Class for Lagrange interpolation using a FIR filter.

: Template Lagrange interpolation via FIR Fitler This works best for double or complex<double> Coefficients are always real (i.e. no imaginary parts).

lagrange.gif


Constructor & Destructor Documentation

template<class Numeric>
SPUC::lagrange< Numeric >::lagrange void   )  [inline]
 

template<class Numeric>
SPUC::lagrange< Numeric >::lagrange long  n  )  [inline]
 

Constructor.

template<class Numeric>
SPUC::lagrange< Numeric >::~lagrange void   )  [inline]
 

Destructor.


Member Function Documentation

template<class Numeric>
void SPUC::lagrange< Numeric >::calculate_coeff double  offset  )  [inline]
 

Calculate coefficients given an offset.

template<class Numeric>
Numeric SPUC::lagrange< Numeric >::check long  i  )  [inline]
 

Clock in new sample & compute current output.

template<class Numeric>
Numeric SPUC::lagrange< Numeric >::fir void   )  [inline]
 

Calculate output for current coefficients.

template<class Numeric>
void SPUC::lagrange< Numeric >::input Numeric  in  )  [inline]
 

Input new sample (do nothing else).

template<class Numeric>
Numeric SPUC::lagrange< Numeric >::out  )  [inline]
 

Get current output.

template<class Numeric>
void SPUC::lagrange< Numeric >::print void   )  [inline]
 

Print out coefficients.

template<class Numeric>
Numeric SPUC::lagrange< Numeric >::rephase double  offset  )  [inline]
 

Rephase => recalculate coefficients and output for new offset (for upsampling).

template<class Numeric>
void SPUC::lagrange< Numeric >::reset void   )  [inline]
 

template<class Numeric>
void SPUC::lagrange< Numeric >::set_size long  n  )  [inline]
 

Set order of polynomial.

template<class Numeric>
Numeric SPUC::lagrange< Numeric >::update Numeric  in,
double  offset
[inline]
 

Update => Clock in new input sample, recalculate coefficients and determine output


Member Data Documentation

template<class Numeric>
double* SPUC::lagrange< Numeric >::coeff
 

template<class Numeric>
long SPUC::lagrange< Numeric >::num_taps
 

template<class Numeric>
Numeric SPUC::lagrange< Numeric >::output [protected]
 

template<class Numeric>
Numeric* SPUC::lagrange< Numeric >::z [protected]
 


The documentation for this class was generated from the following file:
Generated on Fri Sep 16 11:09:04 2005 for spuc by  doxygen 1.4.4