Implement Chi-Squared Testing, Normalized Estimation Error Squared (NEES) and Normalized Innovation Squared (NIS) for tuning the Kalman filter #128
Labels
Kind: New feature
This is a proposed new feature
Priority: low
Status: Design
Issue at Design phase of the quality assurance process
Topic: Orbit Determination
High level description
This feature adds functionality to perform Chi-Squared tests, NIS and NEES analysis on Kalman filter estimators.
The Chi-Squared test is a statistical hypothesis test that is used to compare the observed and expected values of a variable. The NEES is a measure of the accuracy of a Kalman filter estimate. This feature allows users to compare the NEES of two different Kalman filter estimators using the Chi-Squared test. Additionally, the NEES can be used to diagnose problems with a Kalman filter estimate. This feature provides a useful tool for evaluating the performance of Kalman filter estimators.
The main difference between NIS and NEES is that NIS is a measure of the accuracy of the innovation signal, while NEES is a measure of the accuracy of the state estimate.
The innovation signal is the difference between the measurement and the predicted measurement. The state estimate is the Kalman filter's best guess at the state of the system.
A low NIS indicates that the Kalman filter is able to accurately predict the measurement. A low NEES indicates that the Kalman filter is able to accurately estimate the state of the system.
Both NIS and NEES are useful tools for evaluating the performance of a Kalman filter. However, NIS is more sensitive to the accuracy of the innovation signal, while NEES is more sensitive to the accuracy of the state estimate.
Some implementations of a chi squared test:
Original issues:
Requirements
Test plans
Validation of NIS and NEES values
Input: A set of measurements and corresponding state estimates
Action: Calculate the NIS and NEES values for each measurement and state estimate pair
Expected Output: NIS and NEES values that are within acceptable ranges for accurate Kalman filtering
Comparison of NIS and NEES values for different Kalman filter configurations
Input: A set of measurements and corresponding state estimates processed by different Kalman filter configurations
Action: Calculate the NIS and NEES values for each measurement and state estimate pair for each configuration
Expected Output: Comparison of NIS and NEES values to determine the most accurate Kalman filter configuration
Diagnosis of Kalman filter performance using NIS and NEES
Input: A set of measurements and corresponding state estimates processed by a Kalman filter
Action: Calculate the NIS and NEES values for each measurement and state estimate pair, and analyze the results to diagnose any performance issues
Expected Output: Identification of any issues with Kalman filter performance and recommendations for adjusting the filter parameters to improve accuracy
Sensitivity analysis of NIS and NEES to process and measurement noise covariance
Input: A set of measurements and corresponding state estimates processed by a Kalman filter with varying process and measurement noise covariance values
Action: Calculate the NIS and NEES values for each measurement and state estimate pair for each covariance value, and analyze the results to determine the sensitivity of NIS and NEES to these parameters
Expected Output: Identification of the optimal process and measurement noise covariance values for accurate Kalman filtering, based on the sensitivity analysis results.
Test for significant difference between two NEES values:
Test for high NEES indicating problem with Kalman filter:
Design
Document, discuss, and optionally upload design diagram into this section.
Algorithm demonstration
Dr. Ahmed has an arXiv paper on NEES: https://arxiv.org/pdf/1807.08855.pdf .
API definition
Define how the Nyx APIs will be affect by this: what are new functions available, do any previous function change their definition, why call these functions by that name, etc.
Try to add an ASCII diagram of how this should work.
Detailed design
The detailed design will be used in the documentation of how Nyx works.
The text was updated successfully, but these errors were encountered: