diff --git a/data_process_class_dll/parameters.h b/data_process_class_dll/parameters.h index 7251442..8f95bb1 100644 --- a/data_process_class_dll/parameters.h +++ b/data_process_class_dll/parameters.h @@ -60,7 +60,11 @@ #define TRACK_QUALITY_DECREASE_COEFF 0.01 //航迹起批质量条件 -#define TRACK_START_QUALITY 0.5 +#define TRACK_START_QUALITY_L3 0.7 +#define TRACK_START_QUALITY_L4 0.6 +#define TRACK_START_QUALITY_L5 0.5 +#define TRACK_START_QUALITY_L6 0.4 +#define TRACK_START_QUALITY_L7 0.3 #ifdef MECHANICAL_SCANNING /******************************机扫数据处理参数**************************************/ diff --git a/data_process_class_dll/track_init.cpp b/data_process_class_dll/track_init.cpp index 59ca8d8..690dfe1 100644 --- a/data_process_class_dll/track_init.cpp +++ b/data_process_class_dll/track_init.cpp @@ -254,6 +254,40 @@ void Track_Init::point_temp_track_asso(std::vector > memcpy(asso_track_info_tmp.X, X, 4*sizeof(double)); memcpy(asso_track_info_tmp.P, P, 4*4*sizeof(double)); (*temp_track)[(*temp_track).size()-1].push_back(asso_track_info_tmp); + + //计算航迹质量 + auto& temp_track_ref = (*temp_track)[(*temp_track).size()-1]; + L = static_cast(temp_track_ref.size()); + + double snr_tmp = 0; + double d_tmp = 0; + double quality_tmp = 0; + + d_tmp = exp(-temp_track_ref[L-1].d); + + if(L == 3){ + double average_snr = 0; + for(int i=0;i *trust_tra int L=static_cast((*Iter).size()); double range=(*Iter)[L-1].r; double azi=(*Iter)[L-1].azi/PI*180; + double quality = (*Iter)[L-1].quality; - //计算航迹初始质量 - double average_snr = 0; - for(int i=0;i *trust_tra track_init_flag = false; } - //TODO: 航迹质量起批条件判断 - + //航迹质量起批条件判断 + switch(L){ + case 3: + if(quality < TRACK_START_QUALITY_L3){ + track_init_flag = false; + } + break; + case 4: + if(quality < TRACK_START_QUALITY_L4){ + track_init_flag = false; + } + break; + case 5: + if(quality < TRACK_START_QUALITY_L5){ + track_init_flag = false; + } + break; + case 6: + if(quality < TRACK_START_QUALITY_L6){ + track_init_flag = false; + } + break; + case 7: + if(quality < TRACK_START_QUALITY_L7){ + track_init_flag = false; + } + break; + default: + if(quality < TRACK_START_QUALITY_L7){ + track_init_flag = false; + } + break; + } //TODO: 杂波密度判断