IterDecon.h

Go to the documentation of this file.
00001 #ifndef ITERDECON_H_
00002 #define ITERDECON_H_
00003 #include "AdaptiveFilter.h"
00004 
00005 /** \addtogroup sigproc Signal processing methods */
00006 /* @{ */
00007 
00008 //! The iterative deconvolution algorithm, mainly used for receiver function computation
00009 /*! Implements iterative deconvolution used for receiver function calculations
00010  * but it is basically just another adaptive filter
00011  */
00012 class IterDecon : public AdaptiveFilter
00013   {
00014 private:
00015   //! The weights are in toeplitz matrix form, so we can store them in a vector
00016   gplib::rvec Weights;
00017 public:
00018   //! return the Weights as a vector, in this case the same as GetWeights
00019   virtual const gplib::rvec &GetWeightsAsVector()
00020     {
00021       return Weights;
00022     }
00023   //! return the Weights
00024   const gplib::rvec &GetWeights()
00025     {
00026       return Weights;
00027     }
00028   //! print weights to a file
00029   virtual void PrintWeights(std::ostream &output);
00030   virtual void
00031       AdaptFilter(const gplib::rvec &Input, const gplib::rvec &Desired);
00032   virtual void CalcOutput(const gplib::rvec &Input, gplib::rvec &Output);
00033   //! Input and output length have to be the same, so only one parameter for the constructor
00034   IterDecon(const int inputsize);
00035   virtual ~IterDecon();
00036   };
00037 /* @} */
00038 #endif /*ITERDECON_H_*/

Generated on Fri Jul 4 15:30:20 2008 for GPLIB++ by  doxygen 1.5.5