Julia Package for discrete-time linear Gaussian parametric filtering systems, namely KF, EKF, UKF, GM-PHD
36 Stars
Updated Last
11 Months Ago
Started In
May 2019
Testing Coverage Documentation
Build Status Coverage Status


GaussianFilters implements methods to define and run Kalman, Extended Kalman, Unscented Kalman, and Gaussian-Mixture Probability Hypothesis Density Filters on simulated data. It also implements simulation functions for the Kalman-class filters.


The documentation for the package can be found here:


GaussianFilters can be installed by running:

using Pkg

Basic Usage

Basic usage follows along defining appropriate models, constructing an appropriate filter, and running the filter with known actions on some measurement data.

using GaussianFilters, LinearAlgebra

# dynamics model
A = [1 0.1; 0 1]
B = [0; 1]
W = [0.5 0; 0 0.5]
dmodel = LinearDynamicsModel(A, B, W)

# measurement model
measure(x, u) = LinearAlgebra.norm(x, 2)
V = [0.01]
omodel = NonlinearObservationModel(measure, V)

# filtering given some action and measurement
ukf = UnscentedKalmanFilter(dmodel, omodel)

b0 = GaussianBelief([0, 0], [1 0; 0 1])
b1 = update(ukf, b0, action, measurement)

See documentation and examples for more details.


Examples notebooks can be found in the notebooks folder:

Kalman Filter Example

Extended Kalman Filter Example

Unscented Kalman Filter Example

GM-PHD Object Surveillance Example

GM-PHD Aircraft Carrier Example

Used By Packages

No packages found.