GaussianFilters.jl

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

GaussianFilters.jl

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.

Documentation

The documentation for the package can be found here: https://sisl.github.io/GaussianFilters.jl/latest

Installation

GaussianFilters can be installed by running:

using Pkg
Pkg.add("GaussianFilters")

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

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.