Implement a square root version of the Kalman Filter
See original GitHub issueMinimally this would just to be to create a SquareRootKalmanUpdater
which executes the update
function on a square root parameterisation of the covariance matrix. Such a recursion is more numerically stable than the usual Kalman version.
There are several versions of the how exactly to do $P = WW^T$, and the version I currently favour is from Andrews 1968. Which seems a touch outdated. If you have a preference, please detail below.
Would suggest that the class checks the format of the incoming covariance matrix and adjusts it if needed but returns the square root format. Or perhaps both?
Also, no plans to do 'SquareRootKalmanPredictor`, because that wouldn’t be worthwhile as it doesn’t solve a problem related to numerical instabilities.
Issue Analytics
- State:
- Created 4 years ago
- Comments:8 (5 by maintainers)
Top Results From Across the Web
SquareRootKalmanFilter — FilterPy 1.4.4 documentation
Create a Kalman filter which uses a square root implementation. This uses the square root of the state covariance matrix, which doubles the...
Read more >Square root algorithm (Kalman Filter) - Cross Validated
3.) The essential idea behind the algorithm is to compute Pt=StS′t, as such a multiplication will always yield a symmetric non negative matrix....
Read more >Square root Kalman filter U-D vs standard implementation?
My point is that any Kalman filter implementation in which the covariance is factorized in the time or measurement update, and then re-computed...
Read more >A Square-Root Kalman Filter Using Only QR Decompositions
Abstract: The Kalman filter operates by storing a Gaussian description of the state estimate in the form of a mean and covariance.
Read more >A study of QR decomposition and Kalman filter implementations
These methods include square-root and unscented versions of the filter that make use of numerical methods such as QR, LDL and Cholesky Decomposition....
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Added my implementation which takes a full covariance matrix - haven’t integrated into SqrtGaussianState class yet.
Closed with #223