GPLIB++
AMRLSCanceller.h
Go to the documentation of this file.
1 #ifndef AMRLSCANCELLER_H
2 #define AMRLSCANCELLER_H
3 
4 #include "RLSCanceller.h"
5 #include "VecMat.h"
6 namespace ublas = boost::numeric::ublas;
7 
8 namespace gplib
9  {
10  /** \addtogroup sigproc Signal processing methods */
11  /* @{ */
12 
13  //! An implementation of the Recursive Least Squares filter with adptive memory as described in Hakin, p. 663
15  {
16  private:
17  double Lambdaplus;
18  double Lambdaminus;
19  gplib::rmat S;
20  gplib::rvec Psi;
21  double Alpha;
22  gplib::rmat factor1;
23  gplib::rmat factor2;
24  ublas::identity_matrix<double> I;
25  public:
26  virtual void
27  AdaptFilter(const gplib::rvec &Input, const gplib::rvec &Desired);
28  AMRLSCanceller(const int inputsize, const double MyDelta,
29  const double MyLambda, const double MyAlpha);
30  virtual ~AMRLSCanceller();
31  };
32  /* @} */
33  }
34 #endif // RLSCANCELLER_H
AMRLSCanceller(const int inputsize, const double MyDelta, const double MyLambda, const double MyAlpha)
An implementation of the Recursive Least Squares filter with adptive memory as described in Hakin...
Implements a recursive least-squares adaptive filter, as described in Haykin, p. 443.
Definition: RLSCanceller.h:16
virtual void AdaptFilter(const gplib::rvec &Input, const gplib::rvec &Desired)
Adapt the filter weights given the Input and Desired vectors.