Updated observers and Kalman Filter, added running average

This commit is contained in:
dario
2024-04-19 10:52:34 +02:00
committed by dario
parent dedd445470
commit 88008d9718
21 changed files with 20865 additions and 3544 deletions

12
spatz/models/average.py Normal file
View File

@@ -0,0 +1,12 @@
class MovingAverage:
def __init__(self, k: int, init_value: float) -> None:
self.__k = k
self.__values = [init_value] * k
def update(self, value):
self.__values.append(value)
self.__values = self.__values[1:]
return sum(self.__values) / self.__k

View File

@@ -91,7 +91,7 @@ class KalmanFilter:
K = err @ H.T @ inv(H @ err @ H.T + R)
# Compute the corrected state.
x = x + (K @ (z - H @ x)).T
x = x + (K @ (z - H @ x).T).T
# Compute the error after correction.
err = (np.identity(n) - K @ H) @ err