63 lines
2.5 KiB
C
63 lines
2.5 KiB
C
/******************** (C) COPYRIGHT 2020 VIVO************************************
|
||
* File Name : pdr_kalman.h
|
||
* Department : Sensor Algorithm Team
|
||
* Current Version : V2.0(compare QCOM SAP 5.0)
|
||
* Author : yuanlin_rjyb@vivo.com & zhanli@vivo.com
|
||
* Date of Issued : 2020.7.3
|
||
* Comments : PDR 卡尔曼滤波器头文件函数声明以及相关结构体定义
|
||
********************************************************************************/
|
||
#ifndef _PDR_KALMAN_H_
|
||
#define _PDR_KALMAN_H_
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
|
||
/**----------------------------------------------------------------------
|
||
* Function : pdr_initKalman
|
||
* Description : 初始化卡尔曼滤波器相关
|
||
* Date : 2020/8/27 yuanlin_rjyb@vivo.com
|
||
*---------------------------------------------------------------------**/
|
||
void pdr_initKalman(void);
|
||
|
||
/**----------------------------------------------------------------------
|
||
* Function : pdr_ekfStatePredict
|
||
* Description : pdr卡尔曼滤波器的状态预测方程
|
||
* Date : 2020/7/22 yuanlin_rjyb@vivo.com
|
||
*---------------------------------------------------------------------**/
|
||
void pdr_ekfStatePredict(KfPara* kf, double step_length, PDR* g_pdr, int step);
|
||
|
||
/**----------------------------------------------------------------------
|
||
* Function : getQRValue
|
||
* Description : 调整卡尔曼滤波噪声矩阵
|
||
* scane_type, 用户所处场景(开阔和非开阔)
|
||
* nmea_data,NMEA数据结构体
|
||
* g_pdr,PDR结构体
|
||
* sys,运动幅度数据结构体
|
||
* kf,EKF数据结构体
|
||
* Date : 2020/07/09 yuanlin_rjyb@vivo.com
|
||
*---------------------------------------------------------------------**/
|
||
void calEkfQRMatrix(lct_nmea* nmea_data, PDR* g_pdr, classifer* sys, KfPara* kf);
|
||
|
||
/**----------------------------------------------------------------------
|
||
* Function : pdr_ekfStateUpdate
|
||
* Description : pdr卡尔曼滤波器的状态更新方程
|
||
* Date : 2020/7/22 yuanlin_rjyb@vivo.com
|
||
*---------------------------------------------------------------------**/
|
||
void pdr_ekfStateUpdate(KfPara* kf, gnss* pgnss, classifer* sys, PDR* g_pdr,
|
||
int scene_type);
|
||
|
||
/**----------------------------------------------------------------------
|
||
* Function : pdr_gnssInsLocFusion
|
||
* Description : PDR的GNSS和INS融合定位
|
||
* Date : 2020/07/09 yuanlin_rjyb@vivo.com
|
||
*---------------------------------------------------------------------**/
|
||
void pdr_gnssInsLocFusion(gnss* pgnss, PDR* g_pdr, classifer* sys, double yaw_bias,
|
||
KfPara* kf, lct_fs* res);
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
#endif
|