Add: Dynamic KF and remove timesteps from normal KF

This commit is contained in:
Milo Priegnitz
2024-05-29 17:38:48 +02:00
parent 290c48bfb1
commit 7c8388ebb9
4 changed files with 95 additions and 4 deletions

View File

@@ -0,0 +1,39 @@
#ifndef DYNAMIC_KALMAN_FILTER_HPP
#define DYNAMIC_KALMAN_FILTER_HPP
#include <sta/math/linalg/matrix.hpp>
namespace math
{
struct KalmanState
{
matrix error;
matrix x;
};
class DynamicKalmanFilter
{
private:
matrix A_;
matrix T_;
matrix B_;
matrix C_;
matrix Q_;
matrix R_;
uint8_t n_;
matrix identity_;
public:
DynamicKalmanFilter(matrix, matrix, matrix, matrix, matrix, matrix);
~DynamicKalmanFilter();
KalmanState predict(float, KalmanState, matrix);
KalmanState correct(KalmanState, matrix);
};
}
#endif // DYNAMIC_KALMAN_FILTER_HPP

View File

@@ -27,8 +27,8 @@ private:
public:
KalmanFilter(matrix, matrix, matrix, matrix, matrix);
~KalmanFilter();
KalmanState predict(float, KalmanState, matrix);
KalmanState correct(float,KalmanState, matrix);
KalmanState predict(KalmanState, matrix);
KalmanState correct(KalmanState, matrix);
};