Vulcan
Aerospace Engineering Utilities Built on Janus
Loading...
Searching...
No Matches
EstimationUtils.hpp File Reference
#include <Eigen/Dense>
#include <janus/janus.hpp>
Include dependency graph for EstimationUtils.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  vulcan
namespace  vulcan::estimation

Functions

template<typename Scalar, int M>
Scalar vulcan::estimation::normalized_innovation_squared (const Eigen::Matrix< Scalar, M, 1 > &innovation, const Eigen::Matrix< Scalar, M, M > &S)
 Compute normalized innovation squared (NIS).
template<typename Scalar, int M>
bool vulcan::estimation::passes_gate (const Eigen::Matrix< Scalar, M, 1 > &innovation, const Eigen::Matrix< Scalar, M, M > &S, double threshold)
 Chi-squared gating for outlier rejection.
template<typename Scalar, int M>
bool vulcan::estimation::measurement_passes_gate (const Eigen::Matrix< Scalar, M, 1 > &z, const Eigen::Matrix< Scalar, M, 1 > &z_pred, const Eigen::Matrix< Scalar, M, M > &S, double threshold)
 Compute innovation and check gate in one call.
template<int N, int M>
Eigen::Matrix< double, N, N > vulcan::estimation::joseph_update (const Eigen::Matrix< double, N, N > &P_prior, const Eigen::Matrix< double, N, M > &K, const Eigen::Matrix< double, M, N > &H, const Eigen::Matrix< double, M, M > &R)
 Joseph form covariance update.
double vulcan::estimation::chi_squared_threshold (int dof, double confidence=0.95)
 Chi-squared threshold lookup.
template<int N>
Eigen::Matrix< double, N, N > vulcan::estimation::symmetrize (const Eigen::Matrix< double, N, N > &P)
 Enforce covariance matrix symmetry.