UnscentedKalmanSmoother Class Template Reference

Inheritance diagram for UnscentedKalmanSmoother:

Inheritance graph
[legend]

List of all members.


Detailed Description

template<class T>
class indii::ml::filter::UnscentedKalmanSmoother< T >

Unscented Kalman two-filter smoother.

Author:
Lawrence Murray <lawrence@indii.org>
Version:
Rev
Date:
Date
Parameters:
T The type of time.
The Unscented Kalman two-filter smoother performs both a forward and backwards filtering pass, fusing the estimates from the two passes into the smoothed estimate. The forwards filtering pass is identical to that of UnscentedKalmanFilter. The backwards filtering pass requires the inverse of the state transition model, and works in an analogous fashion to the forwards pass, but with time reversed.

See also:
indii::ml::filter for general usage guidelines.

Definition at line 34 of file UnscentedKalmanSmoother.hpp.


Public Member Functions

 UnscentedKalmanSmoother (UnscentedKalmanSmootherModel< T > *model, const T tT, const indii::ml::aux::GaussianPdf &p_xT)
 Create new Unscented Kalman two-filter smoother.
virtual ~UnscentedKalmanSmoother ()
 Destructor.
virtual void smooth (const T tn, const indii::ml::aux::vector &ytn, const indii::ml::aux::GaussianPdf &p_xtn_ytn)
 Rewind system to time of previous measurement and smooth.
virtual
indii::ml::aux::GaussianPdf 
backwardMeasure ()
 Apply the measurement function to the current filtered state to obtain an estimated measurement.
virtual
indii::ml::aux::GaussianPdf 
smoothedMeasure ()
 Apply the measurement function to the current smoothed state to obtain an estimated measurement.
UnscentedTransformation
< T > * 
getBackwardTransitionTransformation ()
 Get the unscented transformation used for the backward transition function.
UnscentedTransformation
< T > * 
getMeasurementTransformation ()
 Get the unscented transformation used for the measurement function.

Protected Attributes

const unsigned int N
 Size of the state space.
const unsigned int W
 Size of the system noise space.
const unsigned int V
 Size of the measurement noise space.
aux::GaussianPdf p_Xtn_ytn_b
 $p(\mathcal{X}_n\,|\,\mathbf{y}_{n:T})$; backward filter density.
UnscentedKalmanSmootherModel
< T > * 
model
 Model to estimate.
UnscentedTransformationModel
< T > * 
backwardTransitionModel
 Unscented transformation for backward transition function.
UnscentedTransformation
< T > * 
backwardTransitionTransform
 Unscented transformation for backward transition function.
UnscentedTransformationModel
< T > * 
measurementModel
 Unscented transformation for measurement function.
UnscentedTransformation
< T > * 
measurementTransform
 Unscented transformation for measurement function.

Constructor & Destructor Documentation

UnscentedKalmanSmoother ( UnscentedKalmanSmootherModel< T > *  model,
const T  tT,
const indii::ml::aux::GaussianPdf p_xT 
) [inline]

Create new Unscented Kalman two-filter smoother.

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

Definition at line 134 of file UnscentedKalmanSmoother.hpp.

~UnscentedKalmanSmoother (  )  [inline, virtual]

Destructor.

Definition at line 184 of file UnscentedKalmanSmoother.hpp.


Member Function Documentation

void smooth ( const T  tn,
const indii::ml::aux::vector ytn,
const indii::ml::aux::GaussianPdf p_xtn_ytn 
) [inline, 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.

Implements TwoFilterSmoother< T >.

Definition at line 192 of file UnscentedKalmanSmoother.hpp.

indii::ml::aux::GaussianPdf backwardMeasure (  )  [inline, virtual]

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

Returns:
The estimated measurement.

Implements TwoFilterSmoother< T >.

Definition at line 297 of file UnscentedKalmanSmoother.hpp.

indii::ml::aux::GaussianPdf smoothedMeasure (  )  [inline, virtual]

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

Returns:
The estimated measurement.

Implements Smoother.

Definition at line 303 of file UnscentedKalmanSmoother.hpp.

indii::ml::filter::UnscentedTransformation< T > * getBackwardTransitionTransformation (  )  [inline]

Get the unscented transformation used for the backward transition function.

This allows its parameters to be adjusted.

Definition at line 327 of file UnscentedKalmanSmoother.hpp.

indii::ml::filter::UnscentedTransformation< T > * getMeasurementTransformation (  )  [inline]

Get the unscented transformation used for the measurement function.

This allows its parameters to be adjusted.

Definition at line 333 of file UnscentedKalmanSmoother.hpp.


Member Data Documentation

const unsigned int N [protected]

Size of the state space.

Definition at line 79 of file UnscentedKalmanSmoother.hpp.

const unsigned int W [protected]

Size of the system noise space.

Definition at line 84 of file UnscentedKalmanSmoother.hpp.

const unsigned int V [protected]

Size of the measurement noise space.

Definition at line 89 of file UnscentedKalmanSmoother.hpp.

aux::GaussianPdf p_Xtn_ytn_b [protected]

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

Definition at line 94 of file UnscentedKalmanSmoother.hpp.

UnscentedKalmanSmootherModel<T>* model [protected]

Model to estimate.

Definition at line 99 of file UnscentedKalmanSmoother.hpp.

UnscentedTransformationModel<T>* backwardTransitionModel [protected]

Unscented transformation for backward transition function.

Definition at line 104 of file UnscentedKalmanSmoother.hpp.

UnscentedTransformation<T>* backwardTransitionTransform [protected]

Unscented transformation for backward transition function.

Definition at line 109 of file UnscentedKalmanSmoother.hpp.

UnscentedTransformationModel<T>* measurementModel [protected]

Unscented transformation for measurement function.

Definition at line 114 of file UnscentedKalmanSmoother.hpp.

UnscentedTransformation<T>* measurementTransform [protected]

Unscented transformation for measurement function.

Definition at line 119 of file UnscentedKalmanSmoother.hpp.


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