control//state estimation//IMM
An IMM filter tracks a system that switches between behaviours by running one Kalman filter per behaviour and weighting them by how probable each one is. It is the standard answer when no single model fits all the time: a car that cruises and then brakes hard, an aircraft that flies straight and then turns, a sensor that alternates between a clean mode and a reflected one. One filter with a model for cruising lags on every manoeuvre; one with a large \(Q\) to cover manoeuvres is nervous while cruising.
An IMM filter tracks a system that switches between behaviours by running one Kalman filter per behaviour and weighting them by how probable each one is. It is the standard answer when no single model fits all the time: a car that cruises and then brakes hard, an aircraft that flies straight and then turns, a sensor that alternates between a clean mode and a reflected one. One filter with a model for cruising lags on every manoeuvre; one with a large QQQ to cover manoeuvres is nervous while cruising.
The interacting multiple model algorithm keeps, besides the filters, a probability for each mode. At every step it mixes the filters' previous estimates according to how likely each mode is to switch into each other (a Markov chain of modes, with transition probabilities set by the designer), runs every filter on the same reading, and then updates the mode probabilities by how well each filter predicted that reading: the one whose innovation was least surprising gains weight (Bayes' rule). The output is the weighted combination of the filters' estimates, with a covariance that includes their disagreement.
The mode probabilities are an output in their own right. A tracker that reports a 90 % probability of the turning model has detected the turn, which is often what the operator wanted to know.
The models are few and chosen by hand: two or three (constant velocity, constant acceleration, a coordinated turn) cover most targets. Each added mode costs a full filter per step.
Its cousin, the Gaussian sum filter, uses the same bank of filters for a different purpose: to carry a belief with several peaks (a bimodal sensor, an ambiguous start) as a weighted sum of bells, each followed by its own filter.
It assumes that each mode is itself close to linear and Gaussian. When the belief has no useful bell shape at all, the general tool is the particle filter.