#ifndef TRACK_ASSO_H #define TRACK_ASSO_H #include "data_process_class_dll.h" #include "parameters.h" #include "struct.h" #include #include using namespace std; /******************************* 航迹关联类 **************************************************/ class Track_Asso { public: int track_asso_process(QVector *point_recv, //点迹文件 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(double v_track, double X1[6], double P1[6][6], double X2[6], double P2[6][6], double X3[6], double P3[6][6], double Z[3], double prt,double freq_ind, double delta_T, double *d1,double *d2,double *d3, struct RadarPara Work_Parameter); void IMM_F_Q_gen(double v_track, double delta_T,double F[6][6], double Q1[6][6], double Q2[6][6], double Q3[6][6],struct RadarPara Work_Parameter); double Pt[3][3]; //模型转移概率 //高度维更新 void track_hight_update(int updata_track_index, //更新的航迹号 int asso_point_index, //点迹号 QVector *trust_track //航迹 ); }; #endif // TRACK_ASSO_H