Skip to content

Julia Package for discrete-time linear Gaussian parametric filtering systems, namely KF, EKF, UKF, GM-PHD

License

Notifications You must be signed in to change notification settings

sisl/GaussianFilters.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Julia Package for discrete-time linear Gaussian parametric filtering systems, namely KF, EKF, UKF, GM-PHD

Resources

License

Stars

Watchers

Forks

Packages

No packages published