This project is the reorganization of the code in the book Kalman-and-Bayesian-Filters-in-Python and draws on some content in EKF/UKF Toolbox for MATLAB.
- Provide a set of easy-to-understand introductory tutorials
- Build a filter simulation toolkit that is friendly to beginners
To build the environment, there are 3 options
For option 2&3, you need to run the following command after installation
conda install matplotlib pandas scipy sympy jupyterlab
Then, clone this repo
git clone https://github.com/ivaquero/blog-filters.git
Finally, launch jupyterlab to run the code
cd [this repo] && jupyter lab
filters
: Filter-related modulebayes
: Bayesian statisticsfusion
: data fusionghk
: α-β-γ filteringghq
: Gaussian-Hermite numerical integrationimm
: interactive multiple modelskalman_ckf
: cubature Kalman filterkalman_ekf
: extended Kalman filterkalman_enkf
: ensemble Kalman filterkalman_fm
: fading-memory filterkalman_hinf
: H∞ filterkalman_ukf
: unscented Kalman filterkalman
: linear Kalman filterlsq
: the least squares filterparticle
: particle filterresamplers
: samplersigma_points
: Sigma pointsmoothers
: smoothersolvers
: equation solvers (such as Runge-Kutta)stats
: statistical indicatorshelpers
: auxiliary tools
models
: Model-related moduleconst_acc
: constant acceleration modelconst_vel
: constant velocity modelcoord_ture
: coordinated rotation modelsinger
: Singer modelnoise
: model noise
ssmodel*
: model base classplots
: Plot-related moduleplot_common
: common plot (measurement, trajectory, residual)plot_bayes
: Bayes statistical plotplot_nonlinear
: nonlinear statistical plotplot_gh
: α-β-γ filter plotplot_kf
: Kalman filter plotplot_kf_plus
: nonlinear Kalman filter plotplot_pf
: particle filter plotplot_sigmas
: Sigma point plotplot_adaptive
: adaptive plotplot_fusion
: data fusion plotplot_smoother
: smoother plot
simulators
: Simulation-related moduledatagen
: common data generationlinear
: linear motion modelmaneuver
: maneuver modelradar
: ground radar modelrobot
: robot modeltrajectory
: projectile model
cfg
: Simulation configuration interfaceclutter
: Clutter-related moduletracker
: Tracking-related moduleassociate
: associationpda
: probabilistic data associationestimators
: state estimationtrack*
: trackers with association
symbol
: Symbol derivation moduledatagen
: data generationmodels
: motion model
filters-abcf.ipynb
: α-β-γ filteringfilters-bayes.ipynb
: Basics of Bayesian Statisticsfilters-kf-basic.ipynb
: Basics of Kalman Filteringfilters-kf-design.ipynb
: Kalman Filter Designfilters-kf-plus.ipynb
: Nonlinear Kalman Filteringfilters-maneuver.ipynb
: Maneuvering Target Trackingfilters-pf.ipynb
: Particle Filteringfilters-smoothers.ipynb
: Smoothersfilters-task-fusion.ipynb
: Data Fusionfilters-task-tracking.ipynb
: Target Tracking