Julia Package for discrete-time linear Gaussian parametric filtering systems, namely KF, EKF, UKF, GM-PHD
36 Stars
Updated Last
1 Year 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.