haopo2005 / Bayesian-Filtering

filtering algorithms for estimating the position of a target

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bayesian-Filtering

This repository provides the code necessary to simulate a variety of different single object tracking filters. Bayesian filtering is a method of inferring the current state from a set of observations and the entire history of the system. In the repository, I include implementations of the Kalman Filter, Probabilistic Data Association (PDA) Filter, and the Bernoulli Filter for both linear and non-linear measurement models. In all of the filters, I am assuming that the object to track can vary both its velocity and its position.

Getting Started

I suggest learning the filters in the following order:

  1. Kalman Filter
  2. PDA Filter
  3. Bernoulli Filter

Always implement the linear case before switching to the non-linear model. This will greatly aid in your ability to debug your code! The ReadMe within each filter's folder goes into greater detail about the function of each MATLAB program.

Resources

Before attempting to read the following list of resources, it is strongly recommended that the reader has a comfortable background in probability theory, linear algebra, and calculus. Here are resources that are helpful in understanding each filter in greater detail:

  1. Kalman Filter
  1. Unscented Kalman Filter
  1. PDA Filter
  1. Bernoulli Filter

The concepts from the unscented Kalman Filter also apply to using a nonlinear measurement model in both the PDA Filter and Bernoulli Filter.

About

filtering algorithms for estimating the position of a target


Languages

Language:MATLAB 96.4%Language:Python 3.6%