Paparazzi UAS  v5.14.0_stable-0-g3f680d1
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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


#define EKF_N   7
#define EKF_M   6


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

Mario Coppola Discrete Extended Kalman Filter for Relative Localization

Definition in file discrete_ekf.h.

Data Structure Documentation

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

Function Documentation

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void discrete_ekf_predict ( struct discrete_ekf filter)
void discrete_ekf_update ( struct discrete_ekf filter,
float *  y 
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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 164 of file discrete_ekf.c.

References EKF_M, and EKF_N.

Referenced by discrete_ekf_predict().

+ Here is the caller graph for this function: