Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
discrete_ekf.h File Reference
#include "stdlib.h"
#include "string.h"
#include "math.h"
+ Include dependency graph for discrete_ekf.h:
+ This graph shows which files directly or indirectly include this file:

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)
 

Detailed Description

Author
Mario Coppola Discrete Extended Kalman Filter for Relative Localization

Definition in file discrete_ekf.h.


Data Structure Documentation

◆ discrete_ekf

struct discrete_ekf

Definition at line 36 of file discrete_ekf.h.

Data Fields
float dt
float H[EKF_M][EKF_N]
float Ht[EKF_N][EKF_M]
float P[EKF_N][EKF_N]
float Q[EKF_N][EKF_N]
float R[EKF_M][EKF_M]
float tmp1[EKF_N][EKF_N]
float tmp2[EKF_N][EKF_N]
float tmp3[EKF_N][EKF_N]
float X[EKF_N]
float Xp[EKF_N]
float Zp[EKF_M]

Macro Definition Documentation

◆ EKF_M

#define EKF_M   6

Definition at line 34 of file discrete_ekf.h.

◆ EKF_N

#define EKF_N   7

Definition at line 33 of file discrete_ekf.h.

Function Documentation

◆ discrete_ekf_new()

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, f, 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ discrete_ekf_predict()

void discrete_ekf_predict ( struct discrete_ekf filter)

◆ discrete_ekf_update()

◆ linear_filter()

void linear_filter ( float *  X,
float  dt,
float *  dX,
float **  A 
)

Definition at line 148 of file discrete_ekf.c.

References A, EKF_N, f, float_mat_diagonal_scal(), float_vect_zero(), and mesonh.mesonh_atmosphere::X.

Referenced by discrete_ekf_predict().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ linear_measure()

void linear_measure ( float *  X,
float *  Y,
float **  H 
)

Definition at line 164 of file discrete_ekf.c.

References EKF_M, EKF_N, f, H, mesonh.mesonh_atmosphere::X, and mesonh.mesonh_atmosphere::Z.

Referenced by discrete_ekf_predict().

+ Here is the caller graph for this function: