Paparazzi UAS
v5.15_devel-230-gc96ce27
Paparazzi is a free software Unmanned Aircraft System.
|
#include "stdlib.h"
#include "string.h"
#include "math.h"
Go to the source code of this file.
Data Structures | |
struct | discrete_ekf |
Macros | |
#define | EKF_N 7 |
#define | EKF_M 6 |
Functions | |
void | linear_filter (float *X, float dt, float *dX, float **A) |
void | linear_measure (float *X, float *Y, float **H) |
void | discrete_ekf_new (struct discrete_ekf *filter) |
void | discrete_ekf_predict (struct discrete_ekf *filter) |
void | discrete_ekf_update (struct discrete_ekf *filter, float *y) |
Definition in file discrete_ekf.h.
struct discrete_ekf |
#define EKF_M 6 |
Definition at line 34 of file discrete_ekf.h.
Referenced by c2d(), discrete_ekf_new(), discrete_ekf_no_north_Hx(), discrete_ekf_no_north_new(), discrete_ekf_no_north_update(), discrete_ekf_update(), linear_measure(), and range_msg_callback().
#define EKF_N 7 |
Definition at line 33 of file discrete_ekf.h.
Referenced by c2d(), discrete_ekf_new(), discrete_ekf_no_north_Fx(), discrete_ekf_no_north_G(), discrete_ekf_no_north_Hx(), discrete_ekf_no_north_new(), discrete_ekf_no_north_predict(), discrete_ekf_no_north_update(), discrete_ekf_predict(), discrete_ekf_update(), linear_filter(), and linear_measure().
void discrete_ekf_new | ( | struct discrete_ekf * | filter | ) |
Definition at line 32 of file discrete_ekf.c.
References discrete_ekf::dt, EKF_M, EKF_N, float_mat_diagonal_scal(), float_vect_zero(), MAKE_MATRIX_PTR, discrete_ekf::P, discrete_ekf::Q, discrete_ekf::R, and discrete_ekf::X.
Referenced by range_msg_callback().
void discrete_ekf_predict | ( | struct discrete_ekf * | filter | ) |
Definition at line 74 of file discrete_ekf.c.
References discrete_ekf::dt, EKF_N, float_mat_mul(), float_mat_sum(), float_mat_transpose_square(), float_vect_sum(), discrete_ekf::H, linear_filter(), linear_measure(), MAKE_MATRIX_PTR, discrete_ekf::P, discrete_ekf::Q, discrete_ekf::tmp1, discrete_ekf::tmp2, discrete_ekf::tmp3, discrete_ekf::X, discrete_ekf::Xp, and discrete_ekf::Zp.
Referenced by range_msg_callback().
void discrete_ekf_update | ( | struct discrete_ekf * | filter, |
float * | y | ||
) |
Definition at line 113 of file discrete_ekf.c.
References EKF_M, EKF_N, float_mat_diff(), float_mat_invert(), float_mat_mul(), float_mat_sum(), float_mat_transpose(), float_mat_vect_mul(), float_vect_diff(), float_vect_sum(), discrete_ekf::H, discrete_ekf::Ht, MAKE_MATRIX_PTR, discrete_ekf::P, discrete_ekf::R, discrete_ekf::tmp1, discrete_ekf::tmp2, discrete_ekf::tmp3, discrete_ekf::X, discrete_ekf::Xp, and discrete_ekf::Zp.
Referenced by range_msg_callback().
void linear_filter | ( | float * | X, |
float | dt, | ||
float * | dX, | ||
float ** | A | ||
) |
Definition at line 148 of file discrete_ekf.c.
References EKF_N, float_mat_diagonal_scal(), and float_vect_zero().
Referenced by discrete_ekf_predict().
void linear_measure | ( | float * | X, |
float * | Y, | ||
float ** | H | ||
) |
Definition at line 164 of file discrete_ekf.c.
Referenced by discrete_ekf_predict().