#ifndef TRACK_ASSO_H #define TRACK_ASSO_H #include "data_process_class_dll.h" #include "parameters.h" #include "struct.h" #include using namespace std; /******************************* 航迹关联类 **************************************************/ class Track_Asso { public: int track_asso_process(QVector *point_recv_1, //点迹文件 QVector *point_recv_2, QVector *trust_track, //航迹文件 struct Track Trust_Track_Output[MAX_TRACK_NUM][10], //更新航迹信息 int *Trust_track_num_Output, //更新航迹数 struct RadarPara Work_Parameter //工作参数 ); Track_Asso(); private: //要处理的点迹 QVector point_process; //IMM void model_interaction(QVector *trust_track); //模型交互 void model_filter(QVector *trust_track, //滤波 struct RadarPara Work_Parameter ); void model_output(QVector *trust_track ); //模型输出 void IMM_d_cal(float v_track, float X1[6], float P1[6][6], float X2[6], float P2[6][6], float X3[6], float P3[6][6], float Z[3], float prt,float freq_ind, float delta_T, float *d1,float *d2,float *d3, struct RadarPara Work_Parameter); void IMM_F_Q_gen(float v_track, float delta_T,float F[6][6], float Q1[6][6], float Q2[6][6], float Q3[6][6],struct RadarPara Work_Parameter); float Pt[3][3]; //模型转移概率 //高度维更新 void track_hight_update(int updata_track_index, //更新的航迹号 int asso_point_index, //点迹号 QVector *trust_track //航迹 ); }; #endif // TRACK_ASSO_H