#include "dot_coh.h" #include #include"memory.h" #include using namespace std; int Dot_Coh::dot_coh_process(QVector *data_input, int beam_input[3], QVector > *point_recv, struct RadarPara Work_Parameter) { //数据移动一位 for (int i=0;i point_recv { (*point_recv)[floor(data_buffer_2[i].beam_index/BEAM_NUM_DOT_SECTION)].push_back(data_buffer_2[i]); } QVector().swap(data_buffer_2); for (int i=0;i data_buffer_2 { data_buffer_2.push_back(data_buffer_1[i]); } QVector().swap(data_buffer_1); for (int i=0;isize();i++) //data_input ---> data_buffer_1 { data_buffer_1.push_back((*data_input)[i]); } //凝聚data_buffer_1 data_buffer_2中的数据 QVector data_buffer; for (int i=0;i().swap(data_buffer_1); QVector().swap(data_buffer_2); if(data_buffer.size()>1) { for (unsigned int loop_of_point=0; loop_of_point= point_1_A)// { data_buffer[i].Use_Flag=1; } } else { if( (fabs(point_0_R-point_1_R)<=DOT_COH_RANGE && fabs(point_0_F-point_1_F) <=DOT_COH_AZI/180.0*PI )// && point_0_A = point_1_A)// { data_buffer[i].Use_Flag=1; } } } } } } } //删除凝聚点 和 量程范围外点 QVector ::iterator Iter; for (Iter=data_buffer.begin(); Iter!=data_buffer.end();) { if((*Iter).Use_Flag==1 || (*Iter).Range R_MAX ) { data_buffer.erase(Iter); Iter=data_buffer.begin(); } else { Iter++; } } //凝聚后的数据分别存入data_buffer_1 data_buffer_2 for(int i=0;i