dstl / Stone-Soup

A software project to provide the target tracking community with a framework for the development and testing of tracking algorithms.
https://stonesoup.rtfd.io
MIT License
384 stars 126 forks source link

Dynamically Iterated EKF #891

Closed spike-dstl closed 5 months ago

spike-dstl commented 7 months ago

This PR adds a new updater class: DynamicallyIteratedUpdater (DIEKF) - an implementation of algorithm 2: Dynamically iterated filter, from "Iterated Filters for Nonlinear Transition Models" by Anton Kullberg, Isaac Skog, and Gustaf Hendeby.

Additionally, this PR adds the following as required changes:

  1. Added compatibility to pre-existing Kullback-Leibler divergence measure for GaussianState types.
  2. Added prior state as a property of Prediction states. This is required in order for the DIEKF to access and smooth the prior state
  3. Updated all relevant Predictor classes to assign the prior state to the output Prediction state.