TwoFilterSmoother Class Template Reference

Inheritance diagram for TwoFilterSmoother:

Inheritance graph
[legend]

List of all members.


Detailed Description

template<class T = unsigned int, class P = indii::ml::aux::GaussianPdf>
class indii::ml::filter::TwoFilterSmoother< T, P >

Abstract smoother for estimating the state of a system by fusing forward and backward filtering passes.

Author:
Lawrence Murray <lawrence@indii.org>
Version:
Rev
Date:
Date
Parameters:
T The type of time.
P The type of probability distribution used to represent the system state.
See also:
indii::ml::filter for general usage guidelines.

Definition at line 27 of file TwoFilterSmoother.hpp.


Public Member Functions

 TwoFilterSmoother (const T tT, const P &p_xT)
 Constructor.
virtual ~TwoFilterSmoother ()
 Destructor.
P & getBackwardFilteredState ()
 Get distribution over the state at the current time given present and future measurements.
void setBackwardFilteredState (const P &p_xtn_ytn)
 Set distribution over the state at the current time given present and future measurements.
virtual void smooth (const T tn, const aux::vector &ytn, const P &p_xtn_ytn)=0
 Rewind system to time of previous measurement and smooth.
virtual aux::GaussianPdf backwardMeasure ()=0
 Apply the measurement function to the current filtered state to obtain an estimated measurement.

Protected Attributes

p_xtn_ytn_b
 $p(\mathbf{x}_n\,|\,\mathbf{y}_{n:T})$; backward filter density.

Constructor & Destructor Documentation

TwoFilterSmoother ( const T  tT,
const P &  p_xT 
) [inline]

Constructor.

Parameters:
tT $t_T$; starting time.
p_xT $p(\mathbf{x}_T)$; prior over the state at time $t_T$.

Definition at line 99 of file TwoFilterSmoother.hpp.

~TwoFilterSmoother (  )  [inline, virtual]

Destructor.

Definition at line 105 of file TwoFilterSmoother.hpp.


Member Function Documentation

P & getBackwardFilteredState (  )  [inline]

Get distribution over the state at the current time given present and future measurements.

Returns:
$P\big(\mathbf{x}(t_n)\, | \,\mathbf{y}(t_n),\ldots,\mathbf{y}(t_T)\big)$; distribution over the current state given present and future measurements.

Definition at line 110 of file TwoFilterSmoother.hpp.

void setBackwardFilteredState ( const P &  p_xtn_ytn  )  [inline]

Set distribution over the state at the current time given present and future measurements.

Parameters:
p_xtn_ytn $P\big(\mathbf{x}(t_n)\, | \,\mathbf{y}(t_n),\ldots,\mathbf{y}(t_T)\big)$; distribution over the current state given present and future measurements.

Definition at line 115 of file TwoFilterSmoother.hpp.

virtual void smooth ( const T  tn,
const aux::vector ytn,
const P &  p_xtn_ytn 
) [pure virtual]

Rewind system to time of previous measurement and smooth.

Performs the backward filtering step and fuses this with the given prediction from the forward filtering step to produce the smoothed prediction.

Parameters:
tn $t_n$; the time to which to rewind the system. This must be less than the current time $t_{n+1}$.
ytn $\mathbf{y}_n$; measurement at time $t_n$.
p_xtn_ytn $p(\mathbf{x}_n\,|\,\mathbf{y}_{1:n})$; forward filter density.

Implemented in KalmanSmoother, and UnscentedKalmanSmoother.

virtual aux::GaussianPdf backwardMeasure (  )  [pure virtual]

Apply the measurement function to the current filtered state to obtain an estimated measurement.

Returns:
The estimated measurement.

Implemented in KalmanSmoother, and UnscentedKalmanSmoother.


Member Data Documentation

P p_xtn_ytn_b [protected]

$p(\mathbf{x}_n\,|\,\mathbf{y}_{n:T})$; backward filter density.

Definition at line 90 of file TwoFilterSmoother.hpp.


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