Expand description
§Kalman Filter Implementation
This crate provides a Kalman filter implementation for state estimation in linear dynamic systems. The Kalman filter is an optimal recursive estimator that combines predictions from a system model with measurements to estimate the true state of a system.
§Features
- Linear Kalman filter with predict and update steps
- Dynamic dimension support without external dependencies
- Support for both f32 and f64 precision
- Builder pattern for easy initialization
- Extended Kalman Filter (EKF) support (future)
- Unscented Kalman Filter (UKF) support (future)
§Example
use kalman_filters::KalmanFilterBuilder;
// Create a simple 1D Kalman filter using the builder
let mut kf = KalmanFilterBuilder::new(1, 1)
.initial_state(vec![0.0])
.initial_covariance(vec![1.0])
.transition_matrix(vec![1.0])
.process_noise(vec![0.001])
.observation_matrix(vec![1.0])
.measurement_noise(vec![0.1])
.build()
.unwrap();
// Predict step
kf.predict();
// Update with measurement
kf.update(&[1.0]).unwrap();Re-exports§
pub use builder::KalmanFilterBuilder;pub use builders::CubatureKalmanFilterBuilder;pub use builders::EnsembleKalmanFilterBuilder;pub use builders::ExtendedKalmanFilterBuilder;pub use builders::InformationFilterBuilder;pub use builders::ParticleFilterBuilder;pub use builders::UnscentedKalmanFilterBuilder;pub use ensemble::EnsembleKalmanFilter;pub use ensemble::EnsembleStatistics;pub use error::KalmanError;pub use extended::ExtendedKalmanFilter;pub use filter::KalmanFilter;pub use information::filter::InformationFilter;pub use particle::Particle;pub use particle::ParticleFilter;pub use particle::ResamplingStrategy;pub use scented::CubatureKalmanFilter;pub use types::JacobianStrategy;pub use types::KalmanResult;pub use types::KalmanScalar;pub use types::NonlinearSystem;pub use unscented::UKFParameters;pub use unscented::UnscentedKalmanFilter;
Modules§
- builder
- Builder pattern for Kalman filter construction
- builders
- Builder patterns for constructing Kalman filters
- ensemble
- Ensemble Kalman Filter (EnKF) module for high-dimensional data assimilation
- error
- Error types and result definitions for the Kalman filter library
- extended
- Extended Kalman Filter (EKF) implementation
- filter
- Core Kalman filter implementation
- information
- Information Filter implementation
- logging
- Logging utilities for the Kalman filter library
- particle
- Particle Filter (Sequential Monte Carlo) module
- scented
- Cubature Kalman Filter (CKF) implementation
- types
- Type definitions for Kalman filter implementation
- unscented
- Unscented Kalman Filter (UKF) implementation
- validation
- Validation utilities for matrices and numerical stability checks