Bayesian Filtering Library Generated from SVN r
RauchTungStriebel Class Referenceabstract

Class representing all Rauch-Tung-Striebel backward filters. More...

#include <rauchtungstriebel.h>

Inheritance diagram for RauchTungStriebel:
BackwardFilter< MatrixWrapper::ColumnVector >

Public Member Functions

 RauchTungStriebel (Gaussian *prior)
 Constructor.
 
virtual ~RauchTungStriebel ()
 Destructor.
 
virtual void Reset (Pdf< MatrixWrapper::ColumnVector > *prior)
 Reset Filter.
 
virtual bool Update (SystemModel< MatrixWrapper::ColumnVector > *const sysmodel, const MatrixWrapper::ColumnVector &u, Pdf< MatrixWrapper::ColumnVector > *const filtered_post)
 Full Update (system with inputs)
 
virtual bool Update (SystemModel< MatrixWrapper::ColumnVector > *const sysmodel, Pdf< MatrixWrapper::ColumnVector > *const filtered_post)
 Full Update (system without inputs)
 
virtual Pdf< MatrixWrapper::ColumnVector > * PostGet ()
 Get Posterior density.
 
int TimeStepGet () const
 Get current time.
 

Protected Member Functions

void PostSigmaSet (const MatrixWrapper::SymmetricMatrix &s)
 Set covariance of posterior estimate.
 
void PostMuSet (const MatrixWrapper::ColumnVector &c)
 Set expected value of posterior estimate.
 
virtual void SysUpdate (SystemModel< MatrixWrapper::ColumnVector > *const sysmodel, const MatrixWrapper::ColumnVector &u, Pdf< ColumnVector > *const filtered_post)
 System Update.
 
virtual bool UpdateInternal (SystemModel< ColumnVector > *const sysmodel, const ColumnVector &u, Pdf< ColumnVector > *const filtered_post)
 
virtual bool UpdateInternal (SystemModel< MatrixWrapper::ColumnVector > *const sysmodel, const MatrixWrapper::ColumnVector &u, Pdf< MatrixWrapper::ColumnVector > *const filtered_post)=0
 Actual implementation of Update, varies along filters.
 

Protected Attributes

Pdf< MatrixWrapper::ColumnVector > * _prior
 prior Pdf
 
Pdf< MatrixWrapper::ColumnVector > * _post
 Pointer to the Posterior Pdf.
 
int _timestep
 Represents the current timestep of the filter.
 

Detailed Description

Class representing all Rauch-Tung-Striebel backward filters.

This is a class representing the Rauch-Tung-Striebel backward filter. It is a backward filter in which the Posterior density is represented by a Gaussian density. Rauch-Tung-Striebel backward filter are only applicable to continuous systems.

The system of updating the Posterior density is implemented in this base class.

See also
Gaussian
LinearAnalyticSystemModelGaussianUncertainty

Definition at line 42 of file rauchtungstriebel.h.

Constructor & Destructor Documentation

◆ RauchTungStriebel()

Constructor.

Precondition
you created the prior
Parameters
priorpointer to the Gaussian Pdf prior density

Member Function Documentation

◆ PostGet()

virtual Pdf< MatrixWrapper::ColumnVector > * PostGet ( )
virtualinherited

Get Posterior density.

Get the current Posterior density

Returns
a pointer to the current posterior

◆ SysUpdate()

virtual void SysUpdate ( SystemModel< MatrixWrapper::ColumnVector > *const sysmodel,
const MatrixWrapper::ColumnVector & u,
Pdf< ColumnVector > *const filtered_post )
protectedvirtual

System Update.

Update the filter's Posterior density using the deterministic inputs to the system and the system model

Parameters
sysmodelpointer to the system model the filter should use
uinput to the system
filtered_postposterior from forward Bayesian filter

◆ TimeStepGet()

int TimeStepGet ( ) const
inherited

Get current time.

Get the current time of the filter

Returns
the current timestep

◆ Update() [1/2]

virtual bool Update ( SystemModel< MatrixWrapper::ColumnVector > *const sysmodel,
const MatrixWrapper::ColumnVector & u,
Pdf< MatrixWrapper::ColumnVector > *const filtered_post )
virtualinherited

Full Update (system with inputs)

Parameters
sysmodelpointer to the system model to use for update
uinput to the system
filtered_postfiltered posterior

◆ Update() [2/2]

virtual bool Update ( SystemModel< MatrixWrapper::ColumnVector > *const sysmodel,
Pdf< MatrixWrapper::ColumnVector > *const filtered_post )
virtualinherited

Full Update (system without inputs)

Parameters
sysmodelpointer to the system model to use for update
filtered_postfiltered posterior

◆ UpdateInternal()

virtual bool UpdateInternal ( SystemModel< MatrixWrapper::ColumnVector > *const sysmodel,
const MatrixWrapper::ColumnVector & u,
Pdf< MatrixWrapper::ColumnVector > *const filtered_post )
protectedpure virtualinherited

Actual implementation of Update, varies along filters.

Parameters
sysmodelpointer to the used system model
uinput param for proposal density
filtered_postis the posterior obtained by filtering of the timestep you want to smooth

Member Data Documentation

◆ _post

Pdf<MatrixWrapper::ColumnVector>* _post
protectedinherited

Pointer to the Posterior Pdf.

The Posterior Pdf represents the subjective belief of the person applying the filter AFTER processing a backwards step.

Definition at line 69 of file backwardfilter.h.

◆ _prior

Pdf<MatrixWrapper::ColumnVector>* _prior
protectedinherited

prior Pdf

Definition at line 64 of file backwardfilter.h.

◆ _timestep

int _timestep
protectedinherited

Represents the current timestep of the filter.

Definition at line 72 of file backwardfilter.h.


The documentation for this class was generated from the following file: