AMRLSCanceller.h

Go to the documentation of this file.
00001 #ifndef AMRLSCANCELLER_H
00002 #define AMRLSCANCELLER_H
00003 
00004 #include "RLSCanceller.h"
00005 #include "VecMat.h"
00006 namespace ublas = boost::numeric::ublas;
00007 
00008 namespace gplib
00009   {
00010     /** \addtogroup sigproc Signal processing methods */
00011     /* @{ */
00012 
00013     //! An implementation of the Recursive Least Squares filter with adptive memory as described in Hakin, p. 663
00014     class AMRLSCanceller: public RLSCanceller
00015       {
00016     private:
00017       double Lambdaplus;
00018       double Lambdaminus;
00019       gplib::rmat S;
00020       gplib::rvec Psi;
00021       double Alpha;
00022       gplib::rmat factor1;
00023       gplib::rmat factor2;
00024       ublas::identity_matrix<double> I;
00025     public:
00026       virtual void
00027       AdaptFilter(const gplib::rvec &Input, const gplib::rvec &Desired);
00028       AMRLSCanceller(const int inputsize, const double MyDelta,
00029           const double MyLambda, const double MyAlpha);
00030       virtual ~AMRLSCanceller();
00031       };
00032   /* @} */
00033   }
00034 #endif // RLSCANCELLER_H

Generated on Tue May 4 16:52:14 2010 for GPLIB++ by  doxygen 1.5.8