IterDecon.h

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

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