How to tune a Kalman-Filter?
Tuning a Kalman filter involves adjusting its parameters to optimize performance, specifically the process and measurement noise covariances. Here are some key points and methods for tuning a Kalman filter:
Understanding the Tuning Process
-
Covariance Estimation: The primary challenge in tuning a Kalman filter is estimating the noise covariances, which are generally unknown in practical applications. The filter gain is computed based on these estimated covariances.
-
Sensitivity Analysis: Before implementation, it’s important to conduct a sensitivity analysis to understand how estimation results depend on modeling errors. This helps in compensating for inaccuracies in the model.
-
Numerical Stability: To prevent divergence due to rounding errors in digital computations, algebraic reformulations of covariance matrices can be used, though they increase computational complexity. Stable variants like the root implementation by Potter et al. and the Bierman-Thornton-UD algorithm are recommended.
Methods for Tuning
-
Autocovariance Least-Squares Method: This method estimates noise covariances using the autocovariance of output innovations, providing a least-squares estimate of the noise covariance matrices. It is implemented as a linear least-squares problem with constraints to ensure positive semidefiniteness.
-
Kalman Gain Computation: The Kalman Gain determines how much the input measurement influences the system state estimate. It is crucial for weighting the current estimate and new measurement information optimally.
-
Iterative Adjustment: Manually adjusting the noise covariance values and observing the filter’s performance can help in fine-tuning. This process is often iterative and may require domain-specific knowledge.
By employing these methods and understanding the underlying principles, the performance of a Kalman filter can be optimized for specific applications.