control//state estimation//Kalman filter//innovation
What the sensor says that the prediction did not expect, and how a filter checks its own health with it. The **innovation** is the difference between what the sensor says and what the prediction expected it to say, \(y_k=z_k-H\hat x_k^-\): literally how much the sensor tries to innovate over the prediction. Zero means it said nothing new. A large value means one of two things, the sensor knows something the model does not, or the sensor is broken, and telling them apart is half the work of an estimation engineer.
What the sensor says that the prediction did not expect, and how a filter checks its own health with it. The innovation is the difference between what the sensor says and what the prediction expected it to say, yk=zk−Hx^k−y_k=z_k-H\hat x_k^-yk=zk−Hx^k−: literally how much the sensor tries to innovate over the prediction. Zero means it said nothing new. A large value means one of two things, the sensor knows something the model does not, or the sensor is broken, and telling them apart is half the work of an estimation engineer.
The filter also knows how large the innovation should be. Its covariance is Sk=HPk−HT+RS_k=HP_k^-H^{\mathsf T}+RSk=HPk−HT+R, my doubt translated into the sensor's language plus the sensor's own doubt, the matrix version of P−+RP^-+RP−+R. Comparing the innovation with SSS is how a running Kalman filter checks its own health:
ϵk=ykTSk−1yk,E[ϵk]=m.\epsilon_k=y_k^{\mathsf T}S_k^{-1}y_k,\qquad \mathbb E[\epsilon_k]=m.ϵk=ykTSk−1yk,E[ϵk]=m.
This normalized innovation squared averages mmm, the number of measured quantities, when the filter is honest. Ten times mmm means an arrogant filter; a tenth of mmm, a coward.
Gating is the most used fix in the world. The same quantity, the squared Mahalanobis distance yTS−1yy^{\mathsf T}S^{-1}yyTS−1y, says how many standard deviations away a disagreement is, counting every uncertainty at once. Above a χ2\chi^2χ2 threshold (9 for three sigma on one quantity), the measurement does not pass customs and is dropped. A car's navigation filter rejects a GPS that jumps 40 m sideways in a tenth of a second when the IMU felt no lateral acceleration.
Gating relaxes by itself. While measurements are rejected the filter only predicts, PPP grows, SSS grows with it, and the gate widens until the filter listens again: a lovely design by accident.
A well-tuned filter has white innovations, fresh surprise at every step with no pattern. Structure in yky_kyk (a drift, an oscillation, a correlation between steps) is information the filter is not using, tested with the autocorrelation of the innovations (autocorrelation, colored noise).
Gating exists because PPP does not depend on what the sensor said (inverse-variance weighting): without it, an absurd reading shrinks the uncertainty as much as a good one.