更新:1、修复kalman.cpp中部分参数命名冲突的问题;
2、TWS点迹关联时增加点航距离门限,限制部分突然关联到很远的点迹的问题。 Signed-off-by: waiwaylee <waiwaylee@foxmail.com>
This commit is contained in:
@@ -12,32 +12,32 @@ class kalman
|
||||
{
|
||||
public:
|
||||
|
||||
void kalman_pred(float F[6][6], float Q[6][6], float X[6], float P[6][6], float X_pred[6], float P_pred[6][6]);
|
||||
void kalman_pred(double F[6][6], double Q[6][6], double X[6], double P[6][6], double X_pred[6], double P_pred[6][6]);
|
||||
|
||||
void kalman_filter_init_2dots(float Z0[2], float Z1[2], float T,float X[4], float P[4][4]);//两点初始化卡尔曼滤波器
|
||||
void kalman_filter_init_2dots(double Z0[2], double Z1[2], double T,double X[4], double P[4][4]);//两点初始化卡尔曼滤波器
|
||||
|
||||
|
||||
float d_cal_track_init(float Z[2],float X[4],float P[4][4],float T); //计算点 临时航迹的d
|
||||
double d_cal_track_init(double Z[2],double X[4],double P[4][4],double T); //计算点 临时航迹的d
|
||||
|
||||
float d_cal_track_init_with_doppler(float Z[2],float X[4],float P[4][4],float T,float vr,float prt,float freq_ind);
|
||||
double d_cal_track_init_with_doppler(double Z[2],double X[4],double P[4][4],double T,double vr,double prt,double freq_ind);
|
||||
|
||||
float d_cal_track_init_EKF(float Z[3],float X[4],float P[4][4],float T,float prt,float freq_ind);
|
||||
double d_cal_track_init_EKF(double Z[3],double X[4],double P[4][4],double T,double prt,double freq_ind);
|
||||
|
||||
void kalman_filter_init_3dots(float Z0[2], float Z1[2],float Z2[2], float T1,float T2, float X[6], float P[6][6]);
|
||||
void kalman_filter_init_3dots(double Z0[2], double Z1[2],double Z2[2], double T1,double T2, double X[6], double P[6][6]);
|
||||
|
||||
float d_cal(float Z[2],float X[6],float P[6][6]);
|
||||
double d_cal(double Z[2],double X[6],double P[6][6]);
|
||||
|
||||
float d_cal_with_doppler(float F[6][6], float Q[6][6] ,float Z[2],float X[6],float P[6][6],float vr,float prt,float freq_ind);
|
||||
double d_cal_with_doppler(double F[6][6], double Q[6][6] ,double Z[2],double X[6],double P[6][6],double vr,double prt,double freq_ind);
|
||||
|
||||
float d_cal_EKF(float F[6][6], float Q[6][6] ,float Z[3],float X[6],float P[6][6],float prt,float freq_ind);
|
||||
double d_cal_EKF(double F[6][6], double Q[6][6] ,double Z[3],double X[6],double P[6][6],double prt,double freq_ind);
|
||||
|
||||
void kalman_filter(float F[6][6], float Q[6][6], float X[6],float P[6][6],float Z[2],float X_filter[6],float P_filter[6][6],float S_filter[2][2]);
|
||||
void kalman_filter(double F[6][6], double Q[6][6], double X[6],double P[6][6],double Z[2],double X_filter[6],double P_filter[6][6],double S_filter[2][2]);
|
||||
|
||||
void kalman_filter_EKF(float F[6][6], float Q[6][6], float X[6],float P[6][6],float Z[3],
|
||||
float X_filter[6],float P_filter[6][6],float S_filter[2][2],
|
||||
float prt,float freq_ind );
|
||||
void kalman_filter_EKF(double F[6][6], double Q[6][6], double X[6],double P[6][6],double Z[3],
|
||||
double X_filter[6],double P_filter[6][6],double S_filter[2][2],
|
||||
double prt,double freq_ind );
|
||||
|
||||
float Bind_speed(float prt,float freq_ind); //根据PRT 和 频率 计算不模糊速度
|
||||
double Bind_speed(double prt,double freq_ind); //根据PRT 和 频率 计算不模糊速度
|
||||
|
||||
};
|
||||
#endif // KALMAN_H
|
||||
|
||||
Reference in New Issue
Block a user