20 #ifndef __SR_ITERATED_EXTENDED_KALMAN_FILTER__ 21 #define __SR_ITERATED_EXTENDED_KALMAN_FILTER__ 24 #include "../pdf/conditionalpdf.h" 25 #include "../pdf/gaussian.h" 67 const MatrixWrapper::ColumnVector& u);
72 const MatrixWrapper::ColumnVector& z,
73 const MatrixWrapper::ColumnVector& s);
81 void PriorSet(MatrixWrapper::ColumnVector& X, MatrixWrapper::SymmetricMatrix& P);
91 virtual void CalculateMeasUpdate(MatrixWrapper::ColumnVector z, MatrixWrapper::ColumnVector Z, MatrixWrapper::Matrix H, MatrixWrapper::SymmetricMatrix R);
99 virtual void CalculateMatrix(MatrixWrapper::Matrix& H_i , MatrixWrapper::SymmetricMatrix& R_i , MatrixWrapper::Matrix& invS , MatrixWrapper::Matrix& Sr , MatrixWrapper::Matrix& K_i );
105 virtual void CalculateMean(MatrixWrapper::ColumnVector& x_k,
const MatrixWrapper::ColumnVector& z, MatrixWrapper::ColumnVector& Z_i ,MatrixWrapper::Matrix& K_i);
112 virtual void CalculateCovariance( MatrixWrapper::Matrix& R_vf, MatrixWrapper::Matrix& H_i, MatrixWrapper::Matrix& invS, MatrixWrapper::Matrix& SR );
118 MatrixWrapper::Matrix
JP;
129 #endif // __ITERATED_EXTENDED_KALMAN_FILTER__ virtual void CalculateMeasUpdate(MatrixWrapper::ColumnVector z, MatrixWrapper::ColumnVector Z, MatrixWrapper::Matrix H, MatrixWrapper::SymmetricMatrix R)
MatrixWrapper::Matrix SRCovarianceGet() const
Returns a square root of the covariance of the measurement input u.
Class representing Gaussian (or normal density)
void SRCovarianceSet(MatrixWrapper::Matrix JP_new)
Set the square root covariance to a specific value.
MatrixWrapper::Matrix JP
the upper triangular matrix cholesky decompostion of the state covariance ( )
SRIteratedExtendedKalmanFilter(Gaussian *prior, unsigned int nr_it=1)
void PriorSet(MatrixWrapper::ColumnVector &X, MatrixWrapper::SymmetricMatrix &P)
Set mean and covariance of the state estimation to a specific value.
virtual void MeasUpdate(MeasurementModel< MatrixWrapper::ColumnVector, MatrixWrapper::ColumnVector > *const measmodel, const MatrixWrapper::ColumnVector &z, const MatrixWrapper::ColumnVector &s)
Perform a measurement update use a measurement model, measurements z and virutal measurements s...
Class representing the family of all Kalman Filters (EKF, IEKF, ...)
virtual void SysUpdate(SystemModel< MatrixWrapper::ColumnVector > *const sysmodel, const MatrixWrapper::ColumnVector &u)
Perform a system update with the current measurement model ans system model using an input u...
virtual void CalculateMean(MatrixWrapper::ColumnVector &x_k, const MatrixWrapper::ColumnVector &z, MatrixWrapper::ColumnVector &Z_i, MatrixWrapper::Matrix &K_i)
Calculate the new state estimate.
unsigned int nr_iterations
Variable indicating the number of iterations of the filter.
virtual ~SRIteratedExtendedKalmanFilter()
Destructor.
virtual void CalculateMatrix(MatrixWrapper::Matrix &H_i, MatrixWrapper::SymmetricMatrix &R_i, MatrixWrapper::Matrix &invS, MatrixWrapper::Matrix &Sr, MatrixWrapper::Matrix &K_i)
Calculate K_i , invS and Sr.
virtual void CalculateCovariance(MatrixWrapper::Matrix &R_vf, MatrixWrapper::Matrix &H_i, MatrixWrapper::Matrix &invS, MatrixWrapper::Matrix &SR)
Calculate the covariance of the new state estimate (P_k)