gplib::AdaptiveFilter Class Reference
[Signal processing methods]

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

#include <AdaptiveFilter.h>

Inheritance diagram for gplib::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 28 of file AdaptiveFilter.h.


Constructor & Destructor Documentation

gplib::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 6 of file AdaptiveFilter.cpp.

gplib::AdaptiveFilter::~AdaptiveFilter (  )  [virtual]

Definition at line 11 of file AdaptiveFilter.cpp.


Member Function Documentation

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

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

Calculate the filter output given Input.

Implemented in gplib::IterDecon, gplib::LSSOFilter, gplib::WienerFilter, and gplib::NeuralNetwork.

Referenced by gplib::ApplyFilter::FilterData().

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

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

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

Definition at line 62 of file AdaptiveFilter.h.

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

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

Access function for derived classes for the inputlength.

Definition at line 41 of file AdaptiveFilter.h.

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

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

Access function for derived classes for the outputlength.

Definition at line 46 of file AdaptiveFilter.h.

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

virtual const gplib::rvec& gplib::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 gplib::IterDecon, gplib::LSSOFilter, and gplib::NeuralNetwork.

Referenced by gplib::ApplyFilter::FilterData().

virtual void gplib::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 gplib::IterDecon, gplib::LSSOFilter, gplib::WienerFilter, and gplib::NeuralNetwork.

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

Possibility for derived classes to set estimation error.

Definition at line 51 of file AdaptiveFilter.h.

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

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

Possibility for derived classes to set output.

Definition at line 56 of file AdaptiveFilter.h.

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


Friends And Related Function Documentation

friend class ApplyFilter [friend]

Definition at line 83 of file AdaptiveFilter.h.


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

Generated on Tue Nov 3 13:24:21 2009 for GPLIB++ by  doxygen 1.5.8