Kalman Namespace Reference

Contains all classes and functions related to Kalman filtering. More...


Classes

class  EKFilter
 Generic Extended Kalman Filter (EKF) template base class. More...
class  KFilter
 Generic Linear Kalman Filter template base class. More...
class  KMatrix
 Minimalist matrix template class. More...
class  KMatrixContextImpl
 Contains necessary informations to print a formatted KMatrix. More...
struct  KalmanError
 Base class for all exceptions thrown in the Kalman namespace. More...
struct  OutOfBoundError
 Exception class for access to out-of-bound elements. More...
class  KVector
 Minimalist vector template class. More...
class  KVectorContextImpl
 Contains necessary informations to print a formatted KVector. More...

Namespaces

namespace  Util
 Nested namespace in Kalman to avoid name clash with std::swap.

Typedefs

typedef unsigned short KMatrixContext
 Handle type to a matrix printing context.
typedef short int K_INT_16
 Signed 16-bits integral type.
typedef unsigned short int K_UINT_16
 Unsigned 16-bits integral type.
typedef long int K_INT_32
 Signed 32-bits integral type.
typedef unsigned long int K_UINT_32
 Unsigned 32-bits integral type.
typedef float K_REAL_32
 32-bits floating point type
typedef double K_REAL_64
 64-bits floating point type
typedef unsigned short KVectorContext
 Handle type to a vector printing context.

Functions

KVectorContext createKVectorContext (std::string elemDelim=" ", std::string startDelim="", std::string endDelim="", unsigned prec=4)
 Creates a vector printing context.
KVectorContext selectKVectorContext (KVectorContext c)
 Selects a vector printing context as the current context.
KMatrixContext createKMatrixContext (std::string elemDelim=" ", std::string rowDelim="\n", std::string startDelim="", std::string endDelim="", unsigned prec=4)
 Creates a matrix printing context.
KMatrixContext selectKMatrixContext (KMatrixContext c)
 Selects a matrix printing context as the current context.
template<typename T, K_UINT_32 BEG, bool DBG>
std::istream & operator>> (std::istream &is, KMatrix< T, BEG, DBG > &M)
 Reads a matrix from a stream.
template<typename T, K_UINT_32 BEG, bool DBG>
std::ostream & operator<< (std::ostream &os, const KMatrix< T, BEG, DBG > &M)
 Writes a matrix to a stream.
template<typename T, K_UINT_32 BEG, bool DBG>
std::istream & operator>> (std::istream &is, KVector< T, BEG, DBG > &v)
 Reads a vector from a stream.
template<typename T, K_UINT_32 BEG, bool DBG>
std::ostream & operator<< (std::ostream &os, const KVector< T, BEG, DBG > &v)
 Writes a vector to a stream.

Variables

KMatrixContext DEFAULT_MATRIX_CONTEXT = 0
 Default matrix printing context object.
KMatrixContextImplcurrentMatrixContext = &matrixContexts[0]
 Refers to the currently selected matrix printing context.
KVectorContext DEFAULT_VECTOR_CONTEXT = 0
 Default vector printing context object.
KVectorContextImplcurrentVectorContext = &vectorContexts[0]
 Refers to the currently selected vector printing context.


Detailed Description

Contains all classes and functions related to Kalman filtering.

The Kalman filtering template classes make use of traditional vector and matrix template classes. Since Kalman filtering is mainly used in numeric applications, the presence of another library of vectors and matrices is probable. To avoid name clashes, the Kalman namespace contains everything.


Function Documentation

KVectorContext Kalman::createKVectorContext std::string  elemDelim = " ",
std::string  startDelim = "",
std::string  endDelim = "",
unsigned  prec = 4
 

Creates a vector printing context.

This function creates a new vector printing context and adds it to the global list of vector contexts. In the discussion below, a whitespace refers to a single character among the following : a horizontal space, a horizontal tabulation, a linefeed or a carriage return.

Warning:
Severe constraints are imposed on delimiter strings. Pay attention to them, or else, weird bugs could happen !
Parameters:
elemDelim Delimiter string between vector elements. Must not be empty. Must start and end with one or more whitespace(s). Cannot contain a middle whitespace (a lone whitespace which is not at the beginning, nor at the end of the string).
startDelim Starting string before first vector element. May be empty. If not empty, must not begin with a whitespace and must end with one or more whitespace(s). Cannot contain a middle whitespace.
endDelim Ending string after last vector element. May be empty. If not empty, must not end with a whitespace and must begin with one or more whitespace(s). Cannot contain a middle whitespace
prec Number of significant digits to output. Must be between 1 and 9, or else, will be clipped.
Returns:
A handle to the newly created vector context.

KVectorContext Kalman::selectKVectorContext KVectorContext  c  ) 
 

Selects a vector printing context as the current context.

Parameters:
c Handle to the new context to select.
Returns:
The handle to the old context, so that it can be restored if needed.
Warning:
If no context c exists, then nothing will happen.

KMatrixContext Kalman::createKMatrixContext std::string  elemDelim = " ",
std::string  rowDelim = "\n",
std::string  startDelim = "",
std::string  endDelim = "",
unsigned  prec = 4
 

Creates a matrix printing context.

This function creates a new matrix printing context and adds it to the global list of matrix contexts. In the discussion below, a whitespace refers to a single character among the following : a horizontal space, a horizontal tabulation, a linefeed or a carriage return.

Warning:
Severe constraints are imposed on delimiter strings. Pay attention to them, or else, weird bugs could happen !
Parameters:
elemDelim Delimiter string between matrix elements. Must not be empty. Must start and end with one or more whitespace(s). Cannot contain a middle whitespace (a lone whitespace which is not at the beginning, nor at the end of the string).
rowDelim Delimiter string at the end of each row. Must not be empty. Must start and end with one or more whitespace(s). Cannot contain a middle whitespace (a lone whitespace which is not at the beginning, nor at the end of the string).
startDelim Starting string before first matrix element. May be empty. If not empty, must not begin with a whitespace and must end with one or more whitespace(s). Cannot contain a middle whitespace.
endDelim Ending string after last matrix element. May be empty. If not empty, must not end with a whitespace and must begin with one or more whitespace(s). Cannot contain a middle whitespace
prec Number of significant digits to output. Must be between 1 and 9, or else, will be clipped.
Returns:
A handle to the newly created vector context.

KMatrixContext Kalman::selectKMatrixContext KMatrixContext  c  ) 
 

Selects a matrix printing context as the current context.

Parameters:
c Handle to the new context to select.
Returns:
The handle to the old context, so that it can be restored if needed.
Warning:
If no context c exists, then nothing will happen.

template<typename T, K_UINT_32 BEG, bool DBG>
std::istream & Kalman::operator>> std::istream &  is,
KMatrix< T, BEG, DBG > &  M
[inline]
 

Reads a matrix from a stream.

Parameters:
is A reference to the input stream.
M A reference to the matrix to read.
Returns:
A reference to the input stream.
Note:
This function is equivalent to M.get(is).

template<typename T, K_UINT_32 BEG, bool DBG>
std::ostream & Kalman::operator<< std::ostream &  os,
const KMatrix< T, BEG, DBG > &  M
[inline]
 

Writes a matrix to a stream.

Parameters:
os A reference to the output stream.
M A reference to the matrix to print.
Returns:
A reference to the output stream.
Note:
This function is equivalent to M.put(os).

template<typename T, K_UINT_32 BEG, bool DBG>
std::istream & Kalman::operator>> std::istream &  is,
KVector< T, BEG, DBG > &  v
[inline]
 

Reads a vector from a stream.

Parameters:
is A reference to the input stream.
v A reference to the vector to read.
Returns:
A reference to the input stream.
Note:
This function is equivalent to v.get(is).

template<typename T, K_UINT_32 BEG, bool DBG>
std::ostream & Kalman::operator<< std::ostream &  os,
const KVector< T, BEG, DBG > &  v
[inline]
 

Writes a vector to a stream.

Parameters:
os A reference to the output stream.
v A reference to the vector to print.
Returns:
A reference to the output stream.
Note:
This function is equivalent to v.put(os).


Variable Documentation

KMatrixContextImpl * Kalman::currentMatrixContext = &matrixContexts[0]
 

Refers to the currently selected matrix printing context.

Warning:
Never modify this value directly. Use selectKMatrixContext() instead.

KVectorContextImpl * Kalman::currentVectorContext = &vectorContexts[0]
 

Refers to the currently selected vector printing context.

Warning:
Never modify this value directly. Use selectKVectorContext() instead.


Generated on Sat Jan 28 21:02:01 2006 for KFilter by  doxygen 1.4.5