diff options
author | simuser <simuser@localhost.localdomain> | 2016-11-30 23:01:59 -0500 |
---|---|---|
committer | simuser <simuser@localhost.localdomain> | 2016-11-30 23:01:59 -0500 |
commit | 6c247285514fd5ae3d7497871aba5beaaa832243 (patch) | |
tree | b7bc30a8b9c8a448c0a8154f866f1920b6d03792 /dave/main.c | |
parent | 7930400aaca31089be48fe077d0c591294d727a5 (diff) | |
download | libsurvive-6c247285514fd5ae3d7497871aba5beaaa832243.tar.gz libsurvive-6c247285514fd5ae3d7497871aba5beaaa832243.tar.bz2 |
Added Dave's Kalman Filter. Right now just performs the "Predict" phase.
Diffstat (limited to 'dave/main.c')
-rw-r--r-- | dave/main.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/dave/main.c b/dave/main.c new file mode 100644 index 0000000..ff187aa --- /dev/null +++ b/dave/main.c @@ -0,0 +1,29 @@ +#include <stdio.h> +#include "kalman_filter.h" + +int main() +{ + KAL_VEC(xhat_k_km1); /* OUTPUT: (S) Predicted state at time 'k' */ + KAL_MAT(P_k_km1); /* OUTPUT: (S x S) Predicted covariance at time 'k' */ + KAL_MAT(P_km1_km1); /* INPUT: (S x S) Updated covariance from time 'k-1' */ + KAL_VEC(xhat_km1_km1); /* INPUT: (S) Updated state from time 'k-1' */ + KAL_MAT(F_k); /* INPUT: (S x S) State transition model */ + KAL_MAT(B_k); /* INPUT: (S x U) Control input model */ + KAL_VEC(u_k); /* INPUT: (U) Control vector */ + KAL_MAT(Q_k); /* INPUT: (S x S) Covariance of process noise */ + + KalmanPredict( + xhat_k_km1, /* OUTPUT: (S) Predicted state at time 'k' */ + P_k_km1, /* OUTPUT: (S x S) Predicted covariance at time 'k' */ + P_km1_km1, /* INPUT: (S x S) Updated covariance from time 'k-1' */ + xhat_km1_km1, /* INPUT: (S) Updated state from time 'k-1' */ + F_k, /* INPUT: (S x S) State transition model */ + B_k, /* INPUT: (S x U) Control input model */ + u_k, /* INPUT: (U) Control vector */ + Q_k, /* INPUT: (S x S) Covariance of process noise */ + 36, /* INPUT: Number of dimensions in state vector */ + 36); /* INPUT: Size of control input vector */ + + return 0; +} + |