Classes | |
class | LuenbergerObserver |
A simple state observer for a dynamical system of the form: \[\dot{x} = f(x,u) \] \[y = g(x,u) \] the observer dynamics takes the form \[\dot{\hat{x}} = f(\hat{x},u) + L(y - g(\hat{x},u)) \] where \(\hat{x}\) is the estimated state of the original system. More... | |
Functions | |
Eigen::MatrixXd | SteadyStateKalmanFilter (const Eigen::Ref< const Eigen::MatrixXd > &A, const Eigen::Ref< const Eigen::MatrixXd > &C, const Eigen::Ref< const Eigen::MatrixXd > &W, const Eigen::Ref< const Eigen::MatrixXd > &V) |
Computes the optimal observer gain, L, for the linear system defined by \[ \dot{x} = Ax + Bu + w, \] \[ y = Cx + Du + v. \] The resulting observer is of the form \[ \dot{\hat{x}} = A\hat{x} + Bu + L(y - C\hat{x} - Du). \] The process noise, w, and the measurement noise, v, are assumed to be iid mean-zero Gaussian. More... | |
std::unique_ptr< LuenbergerObserver< double > > | SteadyStateKalmanFilter (std::unique_ptr< LinearSystem< double >> system, const Eigen::Ref< const Eigen::MatrixXd > &W, const Eigen::Ref< const Eigen::MatrixXd > &V) |
Creates a Luenberger observer system using the optimal steady-state Kalman filter gain matrix, L, as described above. More... | |
std::unique_ptr< LuenbergerObserver< double > > | SteadyStateKalmanFilter (std::unique_ptr< System< double >> system, std::unique_ptr< Context< double >> context, const Eigen::Ref< const Eigen::MatrixXd > &W, const Eigen::Ref< const Eigen::MatrixXd > &V) |
Creates a Luenberger observer system using the steady-state Kalman filter observer gain. More... | |