AdaptiveFilter Class Reference
[Signal processing methods]

A generic base class for all types of adaptive filters. More...

#include <AdaptiveFilter.h>

Inheritance diagram for AdaptiveFilter:

Inheritance graph
[legend]

List of all members.

Public Member Functions

const gplib::rvec & GetFilterOutput () const
 Access to the last calculated output (not sure if needed).
const gplib::rvec & GetEpsilon () const
 Return the last estimation error.
virtual void PrintWeights (std::ostream &output)=0
 Print the current set of weights to the output stream, has to be implemented in derived class.
virtual const gplib::rvec & GetWeightsAsVector ()=0
 We can always convert the weights to some sort of vector, the details have to be implemented in the derived class.
virtual void AdaptFilter (const gplib::rvec &Input, const gplib::rvec &Desired)=0
 Adapt the filter weights given the Input and Desired vectors.
virtual void CalcOutput (const gplib::rvec &Input, gplib::rvec &Output)=0
 Calculate the filter output given Input.
 AdaptiveFilter (const int inputsize, const int outputsize)
 The constructor needs to know the length of the input and output vectors for memory allocation.
virtual ~AdaptiveFilter ()

Protected Member Functions

unsigned int GetInputLength ()
 Access function for derived classes for the inputlength.
unsigned int GetOutputLength ()
 Access function for derived classes for the outputlength.
void SetEpsilon (const gplib::rvec &MyEps)
 Possibility for derived classes to set estimation error.
void SetOutput (const gplib::rvec &Out)
 Possibility for derived classes to set output.

Friends

class ApplyFilter


Detailed Description

A generic base class for all types of adaptive filters.

The class AdaptiveFilter provides a unified interface for various types of adaptive filters and storage for some quantities that are common to all of them. Ideally this should facilitate transparent use of all filters in any program or routine. See, for example, mtuadaptive.cpp. We assume that the filter length and number of output points is constant for the life of the object.

Definition at line 25 of file AdaptiveFilter.h.


Constructor & Destructor Documentation

AdaptiveFilter::AdaptiveFilter ( const int  inputsize,
const int  outputsize 
)

The constructor needs to know the length of the input and output vectors for memory allocation.

Definition at line 3 of file AdaptiveFilter.cpp.

AdaptiveFilter::~AdaptiveFilter (  )  [virtual]

Definition at line 9 of file AdaptiveFilter.cpp.


Member Function Documentation

virtual void AdaptiveFilter::AdaptFilter ( const gplib::rvec &  Input,
const gplib::rvec &  Desired 
) [pure virtual]

Adapt the filter weights given the Input and Desired vectors.

Implemented in AMRLSCanceller, IterDecon, LMSCanceller, RLSCanceller, WienerFilter, WienerInterpolator, and NeuralNetwork.

Referenced by ApplyFilter::FilterData().

virtual void AdaptiveFilter::CalcOutput ( const gplib::rvec &  Input,
gplib::rvec &  Output 
) [pure virtual]

Calculate the filter output given Input.

Implemented in IterDecon, LSSOFilter, WienerFilter, and NeuralNetwork.

Referenced by ApplyFilter::FilterData().

const gplib::rvec& AdaptiveFilter::GetEpsilon (  )  const [inline]

Return the last estimation error.

Definition at line 48 of file AdaptiveFilter.h.

Referenced by RLSCanceller::AdaptFilter(), LMSCanceller::AdaptFilter(), AMRLSCanceller::AdaptFilter(), ApplyFilter::FilterData(), and main().

const gplib::rvec& AdaptiveFilter::GetFilterOutput (  )  const [inline]

Access to the last calculated output (not sure if needed).

Definition at line 46 of file AdaptiveFilter.h.

Referenced by RLSCanceller::AdaptFilter(), NeuralNetwork::AdaptFilter(), and LMSCanceller::AdaptFilter().

unsigned int AdaptiveFilter::GetInputLength (  )  [inline, protected]

Access function for derived classes for the inputlength.

Definition at line 37 of file AdaptiveFilter.h.

Referenced by LMSCanceller::AdaptFilter(), and ApplyFilter::FilterData().

unsigned int AdaptiveFilter::GetOutputLength (  )  [inline, protected]

Access function for derived classes for the outputlength.

Definition at line 39 of file AdaptiveFilter.h.

Referenced by LMSCanceller::AdaptFilter(), ApplyFilter::AddReferenceChannel(), and ApplyFilter::FilterData().

virtual const gplib::rvec& AdaptiveFilter::GetWeightsAsVector (  )  [pure virtual]

We can always convert the weights to some sort of vector, the details have to be implemented in the derived class.

Implemented in IterDecon, LSSOFilter, and NeuralNetwork.

Referenced by ApplyFilter::FilterData().

virtual void AdaptiveFilter::PrintWeights ( std::ostream &  output  )  [pure virtual]

Print the current set of weights to the output stream, has to be implemented in derived class.

Implemented in IterDecon, LSSOFilter, WienerFilter, and NeuralNetwork.

void AdaptiveFilter::SetEpsilon ( const gplib::rvec &  MyEps  )  [inline, protected]

Possibility for derived classes to set estimation error.

Definition at line 41 of file AdaptiveFilter.h.

Referenced by RLSCanceller::AdaptFilter(), NeuralNetwork::AdaptFilter(), and LMSCanceller::AdaptFilter().

void AdaptiveFilter::SetOutput ( const gplib::rvec &  Out  )  [inline, protected]

Possibility for derived classes to set output.

Definition at line 43 of file AdaptiveFilter.h.

Referenced by WienerFilter::CalcOutput(), NeuralNetwork::CalcOutput(), LSSOFilter::CalcOutput(), and IterDecon::CalcOutput().


Friends And Related Function Documentation

friend class ApplyFilter [friend]

Definition at line 60 of file AdaptiveFilter.h.


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

Generated on Tue Aug 4 16:04:16 2009 for GPLIB++ by  doxygen 1.5.8