indii/ml/filter/RauchTungStriebelSmootherModel.hpp

00001 #ifndef INDII_ML_FILTER_RAUCHTUNGSTRIEBELSMOOTHERMODEL_HPP
00002 #define INDII_ML_FILTER_RAUCHTUNGSTRIEBELSMOOTHERMODEL_HPP
00003 
00004 #include "KalmanFilterModel.hpp"
00005 
00006 namespace indii {
00007   namespace ml {
00008     namespace filter {
00009 
00010 /**
00011  * RauchTungStriebelSmoother compatible model.
00012  *
00013  * @author Lawrence Murray <lawrence@indii.org>
00014  * @version $Rev: 301 $
00015  * @date $Date: 2007-09-10 23:56:50 +0100 (Mon, 10 Sep 2007) $
00016  *
00017  * @param T The type of time.
00018  * 
00019  * @see indii::ml::filter for general usage guidelines.
00020  */
00021 template <class T = unsigned int>
00022 class RauchTungStriebelSmootherModel : virtual public KalmanFilterModel<T> {
00023 public:
00024   /**
00025    * Destructor.
00026    */
00027   virtual ~RauchTungStriebelSmootherModel() = 0;
00028 
00029   /**
00030    * Perform smoothing update.
00031    *
00032    * @param p_xtnp1_ytT \f$P\big(\mathbf{x}(t_{n+1})\, |
00033    * \,\mathbf{y}(t_1),\ldots,\mathbf{y}(t_T)\big)\f$;
00034    * @param p_xtnp1_ytn \f$P\big(\mathbf{x}(t_{n+1})\, |
00035    * \,\mathbf{y}(t_1),\ldots,\mathbf{y}(t_n)\big)\f$
00036    * @param p_xtn_ytn \f$P\big(\mathbf{x}(t_n)\, |
00037    * \,\mathbf{y}(t_1),\ldots,\mathbf{y}(t_n)\big)\f$; @param delta
00038    * \f$t_{n+1} - t_n\f$;
00039    *
00040    * @return \f$P\big(\mathbf{x}(t_n)\, |
00041    * \,\mathbf{y}(t_1),\ldots,\mathbf{y}(t_T)\big)\f$
00042    */
00043   virtual indii::ml::aux::GaussianPdf p_xtn_ytT(
00044       const indii::ml::aux::GaussianPdf& p_xtnp1_ytT,
00045       const indii::ml::aux::GaussianPdf& p_xtnp1_ytn,
00046       const indii::ml::aux::GaussianPdf& p_xtn_ytn,
00047       const T delta) = 0;
00048 
00049 };
00050 
00051     }
00052   }
00053 }
00054 
00055 template <class T>
00056 indii::ml::filter::RauchTungStriebelSmootherModel<T>::~RauchTungStriebelSmootherModel() {
00057   //
00058 }
00059 
00060 #endif

Generated on Wed Dec 17 15:11:57 2008 for dysii Dynamical Systems Library by  doxygen 1.5.3