ekfPDR.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include <math.h>
  5. #include <stdint.h>
  6. #define SIGMA 0.01f
  7. #define SIGMA_V 0.005f
  8. void invert3x3(float * src, float * dst);
  9. void multiply3x3(float *a, float *b, float *dst);
  10. void multiply3x1(float *a, float *b, float *dst);
  11. void init_attitude_matrix(float *C, float *acc, float g);
  12. void reset_yaw_C(float *C);
  13. void State_covariance_matrix_update(float *P, float *acc_n, float dt);
  14. void Kalfman_gain(float *P, float *Temporary_array, float *Temporary_array1, float *K);
  15. void Kalfman_gain_angle(float *P, float *Temporary_array, float *Temporary_array1, float *K);
  16. void multiply9x3(float *K, float *vel_n, float* delta_x);
  17. void State_covariance_matrix_corr(float *P, float *P_tmp, float *K);
  18. void State_covariance_matrix_corr_angle(float *P, float *P_tmp, float *K);
  19. void Att_matrix_corr(float *C, float *C_prev, float *Temporary_array, float *Temporary_array1, float *delta_x);
  20. void pos_n_corr(float *pos_n, float *delta_x);
  21. void vel_n_corr(float *vel_n, float *delta_x);
  22. void State_covariance_matrix_orthogonalization(float *P);