Crate kalman_filters

Crate kalman_filters 

Source
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