Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
#include "modules/relative_localization_filter/discrete_ekf.h"
#include "math/pprz_algebra_float.h"
#include <math.h>
#include <stdio.h>
Go to the source code of this file.
Functions | |
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 *Z) |
void | linear_filter (float *X, float dt, float *dX, float **A) |
void | linear_measure (float *X, float *Z, float **H) |
Definition in file discrete_ekf.c.
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 * | Z | ||
) |
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, mesonh.mesonh_atmosphere::Z, 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 A, EKF_N, float_mat_diagonal_scal(), float_vect_zero(), and mesonh.mesonh_atmosphere::X.
Referenced by discrete_ekf_predict().
void linear_measure | ( | float * | X, |
float * | Z, | ||
float ** | H | ||
) |
Definition at line 164 of file discrete_ekf.c.
References EKF_M, EKF_N, H, mesonh.mesonh_atmosphere::X, and mesonh.mesonh_atmosphere::Z.
Referenced by discrete_ekf_predict().