control//state estimation//Kalman filter//RTS smoother
The RTS smoother improves a recorded run after it has finished, by letting every estimate use the measurements that came after it as well as those before. A Kalman filter running live can only use the past: its estimate at noon knows nothing of the readings at five past. Once the whole recording is on disk that restriction is pointless, and a smoother removes it. It is the standard post-processing of a flight log, a survey trajectory or a sensor test, and the clean reference against which a live filter is judged.
The RTS smoother improves a recorded run after it has finished, by letting every estimate use the measurements that came after it as well as those before. A Kalman filter running live can only use the past: its estimate at noon knows nothing of the readings at five past. Once the whole recording is on disk that restriction is pointless, and a smoother removes it. It is the standard post-processing of a flight log, a survey trajectory or a sensor test, and the clean reference against which a live filter is judged.
The Rauch-Tung-Striebel smoother works in two passes. The forward pass is the ordinary filter, run over the whole recording, storing at every step the prediction and the corrected estimate with their covariances (a priori and a posteriori). The backward pass starts from the last step, where the filter's estimate is already the best possible, and walks back to the first, correcting each stored estimate with what the step after it learned. The correction at each step is a gain times the difference between the smoothed and the predicted estimate of the next step, so information from the future flows back through the same model the filter used.
The improvement is largest where the filter was most uncertain. In the middle of a GPS outage the live filter drifts and is only corrected when the signal returns, with a jump; the smoother uses the fix after the gap to bend the whole trajectory inside it, and the jump disappears.
Its covariance is never larger than the filter's at any step, since it uses strictly more data, and it is usually smallest in the middle of the recording, where both directions contribute; at the last step the two coincide.
It is offline by nature. A system that needs the estimate now cannot wait for the future; a fixed-lag smoother is the compromise, delaying the answer by a few steps to gain part of the improvement.
It inherits every assumption of the filter it runs on. A wrong model or a wrong QQQ gives a smoothed trajectory that is smooth and wrong (Kalman filter limits).