更新:1、适配四面阵机扫跟踪模式。

Signed-off-by: waiwaylee <waiwaylee@foxmail.com>
This commit is contained in:
2026-07-13 10:20:32 +08:00
parent ae3ef84441
commit 8b1896dd74
21 changed files with 521 additions and 7774 deletions
+73 -63
View File
@@ -15,6 +15,9 @@ using namespace std;
//数据预处理
int Data_Process::data_preprocess(struct DataRev Data_Input[150])
{
latest_timestamp = Data_Input[0].CPI_time;
//qDebug() << "latest_timestamp: " <<Data_Input[0].CPI_time;
//数据存入缓存区域 Data_buffer
if(Data_Input[0].point_type == 0) //tws数据
{
@@ -41,10 +44,13 @@ int Data_Process::data_preprocess(struct DataRev Data_Input[150])
std::memcpy(Data_buffer_temp.range_dim, Data_Input[i].range_dim, sizeof(Data_buffer_temp.range_dim));
Data_buffer.push_back(Data_buffer_temp);
qDebug() << "AZI: " <<Data_Input[i].Azimuth << "Encoder_value: " <<Data_Input[i].Encoder_value;
}
if(Data_Input[0].Beam_index_aiz < last_beam_num) //TWS
{
last_beam_num = Data_Input[0].Beam_index_aiz;
return 1;
}
else
@@ -56,8 +62,8 @@ int Data_Process::data_preprocess(struct DataRev Data_Input[150])
else if(Data_Input[0].point_type == 1) //tas数据
{
// qDebug() << "TAS TARGET :" <<Data_Input[0].TAS_track_index;
// qDebug() << "TAS POINT :" <<Data_Input[0].Point_Sum;
// qDebug() << "TAS TARGET :" <<Data_Input[0].TAS_track_index;
qDebug() << "TAS POINT :" <<Data_Input[0].Point_Sum;
data_num=Data_Input[0].Point_Sum;
TAS_track_idx = Data_Input[0].TAS_track_index;
@@ -81,11 +87,11 @@ int Data_Process::data_preprocess(struct DataRev Data_Input[150])
Data_buffer_tas.push_back(Data_buffer_temp);
// qDebug() << "Azimuth:" << Data_Input[i].Azimuth
// << "Range:" << Data_Input[i].Range
// << "EL:" << Data_Input[i].Elevation
// << "CPI_Time"<< Data_Input[i].CPI_time
// << "data_num:" << data_num;
// qDebug() << "Azimuth:" << Data_Input[i].Azimuth
// << "Range:" << Data_Input[i].Range
// << "EL:" << Data_Input[i].Elevation
// << "CPI_Time"<< Data_Input[i].CPI_time
// << "data_num:" << data_num;
}
@@ -94,7 +100,7 @@ int Data_Process::data_preprocess(struct DataRev Data_Input[150])
else
{
return 0;
return 0;
}
}
@@ -103,19 +109,19 @@ int Data_Process::data_preprocess(struct DataRev Data_Input[150])
//数据处理
int Data_Process::track_process(struct Track Trust_Track_Output[MAX_TRACK_NUM][10],
int *Trust_track_num_Output,
int Track_die_Index_Output[],
int *Track_die_num_Output,
int model)
int *Trust_track_num_Output,
int Track_die_Index_Output[],
int *Track_die_num_Output,
int model)
{
//TWS处理
if(model==2)
{
dot_coh.dot_coh_process_buff(&Data_buffer,&point_recv,Work_Parameter);
//qDebug() << "point_recv :" <<point_recv.size();
QVector<PointRecv>().swap(Data_buffer);
dot_coh.dot_coh_process_buff(&Data_buffer,&point_recv,Work_Parameter);
//qDebug() << "point_recv :" <<point_recv.size();
QVector<PointRecv>().swap(Data_buffer);
}
@@ -126,27 +132,27 @@ int Data_Process::track_process(struct Track Trust_Track_Output[MAX_TRACK_NUM][1
*Track_die_num_Output=0; //航迹消亡数目
track_asso.track_asso_process(&point_recv,
&trust_track,
Trust_Track_Output,
Trust_track_num_Output,
Work_Parameter
);
&trust_track,
Trust_Track_Output,
Trust_track_num_Output,
Work_Parameter
);
track_die.track_die_process( &trust_track,
Track_die_Index_Output,
Track_die_num_Output);
Track_die_Index_Output,
Track_die_num_Output);
track_init.track_init_process_logic( &point_recv,
&trust_track,
&temp_track,
Trust_Track_Output,
Trust_track_num_Output,
Work_Parameter);
// qDebug() << "point_recv: " <<point_recv.size();
// qDebug() << "trust_track: " <<trust_track.size();
// qDebug() << "temp_track: " <<temp_track.size();
// qDebug() << "Trust_track_num_Output: " <<*Trust_track_num_Output;
// qDebug() << "Track_die_num_Output: " <<*Track_die_num_Output;
&trust_track,
&temp_track,
Trust_Track_Output,
Trust_track_num_Output,
Work_Parameter);
// qDebug() << "point_recv: " <<point_recv.size();
// qDebug() << "trust_track: " <<trust_track.size();
// qDebug() << "temp_track: " <<temp_track.size();
// qDebug() << "Trust_track_num_Output: " <<*Trust_track_num_Output;
// qDebug() << "Track_die_num_Output: " <<*Track_die_num_Output;
}
@@ -158,36 +164,32 @@ int Data_Process::track_process(struct Track Trust_Track_Output[MAX_TRACK_NUM][1
dot_coh_tas.dot_coh_tas_process(&Data_buffer_tas,&point_recv_tas); //点迹凝聚
// if(point_recv_tas.size()>0)
// {
// qDebug() << "point_recv_tas :" <<point_recv_tas[0].Azimuth/PI*180<<" "<<point_recv_tas[0].Range;
// }
// if(point_recv_tas.size()>0)
// {
// qDebug() << "point_recv_tas :" <<point_recv_tas[0].Azimuth/PI*180<<" "<<point_recv_tas[0].Range;
// }
qDebug() << "TAS process :" << TAS_track_idx << "p a r:"<<point_recv_tas[0].Point_Sum<<" " <<point_recv_tas[0].Azimuth/PI*180<<" "<<point_recv_tas[0].Range;
QVector<PointRecv>().swap(Data_buffer_tas);//凝聚完毕 清除Data_buffer
track_asso_tas.track_asso_process_tas(&point_recv_tas, //点迹文件
&trust_track, //航迹文件
Trust_Track_Output, //更新航迹信息
Trust_track_num_Output, //更新航迹数
Work_Parameter, //工作参数
TAS_track_idx);
&trust_track, //航迹文件
Trust_Track_Output, //更新航迹信息
Trust_track_num_Output, //更新航迹数
Work_Parameter, //工作参数
TAS_track_idx);
QVector<PointRecv>().swap(point_recv_tas); //清除 point_recv_tas
track_die_tas.track_die_process_tas( &trust_track,
Track_die_Index_Output,
Track_die_num_Output);
Track_die_Index_Output,
Track_die_num_Output);
//qDebug() << "Extrapolate_round :" << trust_track[TAS_track_idx].Extrapolate_round;
}
return 1;
}
@@ -195,16 +197,13 @@ int Data_Process::track_process(struct Track Trust_Track_Output[MAX_TRACK_NUM][1
//波束控制
void Data_Process::Beam_Ctrl(struct TrackingBeam *Tracking_beam,
struct Track Trust_Track_Output[][10],
int *Trust_track_num_Output)
struct Track Trust_Track_Output[][10],
int *Trust_track_num_Output)
{
tas_ctrl.tas_ctrl_process(&trust_track,Tracking_beam, Trust_Track_Output, Trust_track_num_Output,Work_Parameter);
tas_ctrl.tas_ctrl_process(&trust_track,Tracking_beam, Trust_Track_Output, Trust_track_num_Output,Work_Parameter, latest_timestamp);
}
//数据处理参数初始化
int Data_Process::track_process_parameters_initial(struct RadarPara Radar_Parameter)
{
@@ -215,11 +214,6 @@ int Data_Process::track_process_parameters_initial(struct RadarPara Radar_Parame
return 0;
}
//数据处理参数修改
int Data_Process::track_process_parameters_modify(struct RadarPara Radar_Parameter)
{
@@ -239,7 +233,7 @@ int Data_Process::track_clear_all(void)
//手动航迹删除函数
int Data_Process:: track_delete(int delete_track_num, //手动删除的航迹数目
int delete_track_index[]) //手动删除的航迹号
int delete_track_index[]) //手动删除的航迹号
{
for (int i=0;i<delete_track_num ;i++)
{
@@ -249,6 +243,7 @@ int Data_Process:: track_delete(int delete_track_num, //手动
{
trust_track[j].manual_delete_flag=1;
qDebug() << "Delete :" << trust_track[j].Track_Index;
}
}
@@ -258,7 +253,7 @@ int Data_Process:: track_delete(int delete_track_num, //手动
return 0;
}
//手动转TAS跟踪函数
//手动转TAS跟踪函数
int Data_Process:: tracking_start(int track_index) //需要手动转入TAS跟踪的航迹号
{
@@ -272,7 +267,22 @@ int Data_Process:: tracking_start(int track_index) //需要手动
return 0;
}
//手动打跟踪波束
//手动取消TAS跟踪函数
int Data_Process:: tracking_stop(int track_index) //需要手动转入TAS跟踪的航迹号
{
for ( int i=0; i<trust_track.size();i++){
if(trust_track[i].Track_Index==track_index)
{
trust_track[i].manual_tracking_flag = 0;
trust_track[i].Track_Mode = 0;
}
}
return 0;
}
//手动打跟踪波束
int Data_Process::tracking_point(float Azimuth)//方位角
{
return 0;