24 lines
477 B
C
24 lines
477 B
C
#pragma once
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "device/bmi088.h"
|
|
#include "component/ahrs.h"
|
|
|
|
// 高度卡尔曼滤波器结构体
|
|
typedef struct {
|
|
float z; // 估计高度
|
|
float v; // 估计速度
|
|
float P[2][2]; // 误差协方差矩阵
|
|
float Q_z, Q_v; // 过程噪声
|
|
float R; // 测量噪声
|
|
} AltitudeKalman;
|
|
|
|
void AltKalman_Init(AltitudeKalman* kf);
|
|
void AltKalman_Update(AltitudeKalman* kf, float accel_z, float baro_alt, float dt);
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|