153 lines
4.5 KiB
C++
153 lines
4.5 KiB
C++
#ifndef STRUCT_H
|
|
#define STRUCT_H
|
|
|
|
#pragma once
|
|
#include <QVector>
|
|
using namespace std;
|
|
/********************************* 数据处理结构体 **********************************************/
|
|
|
|
// 点迹数据结构
|
|
struct PointRecv
|
|
{
|
|
double Range; //径向距离
|
|
double Azimuth; //方位 (弧度)
|
|
double Velocity ; //速度
|
|
double Amplitude ; //幅度
|
|
double Height; //高度
|
|
double snr; //信噪比
|
|
double RCS; //目标RCS
|
|
int CPI_Time; //CPI时间
|
|
int Point_index; //点迹号 1~50
|
|
int Point_Sum; //点迹总数
|
|
int Use_Flag; //点迹使用标志 1使用 0未使用
|
|
int beam_index; //波位号
|
|
int PRF_index; //PRF号
|
|
int Freq_index; //频点
|
|
int track_mode; //TAS 1 TWS0
|
|
int point_section_asso; //点迹区
|
|
|
|
int pitch_num; // 俯仰波位号
|
|
float speed_dim[129]; // 目标的十字星数据,目标点速度维129个点
|
|
float range_dim[8]; // 目标的十字星数据,目标点距离维8个点
|
|
};
|
|
|
|
|
|
// 可靠航迹数据结构
|
|
struct Trust_Track
|
|
{
|
|
int Track_Index; //航迹号
|
|
|
|
double Amplitude; //幅度
|
|
double Height; //高度
|
|
|
|
int T_track; //航迹时间
|
|
|
|
int Track_Sum; //航迹总数
|
|
int Point_Index; //该航迹上的第几个点
|
|
|
|
int Track_Mode; //跟踪模式
|
|
int Track_Update_Flag; //航迹更新标志 1已更新/0未更新
|
|
|
|
int Extrapolate_round; //航迹持续外推时间
|
|
int point_flag; //是否实点 1实点 0外推
|
|
int approach_flag; //接近标志 1接近 0远离
|
|
|
|
int manual_delete_flag; //手动航迹删除
|
|
int manual_tracking_flag; //手动TAS
|
|
int associate_point_number; //关联的点数
|
|
|
|
int Target_Type; //目标类型 搜索目标 低空目标 地面目标
|
|
|
|
int Track_section_idx; //航迹区号
|
|
|
|
QVector <double> Hight_smooth; //高度平滑
|
|
|
|
|
|
double range_point; //关联上的点信息(距离、方位、俯仰)
|
|
double azi_point;
|
|
double elev_point;
|
|
double vr_point;
|
|
double prf_point;
|
|
int point_type; //TWS TAS
|
|
double snr_point; //信噪比
|
|
|
|
double RCS;
|
|
|
|
int pitch_num; // 俯仰波位号
|
|
float speed_dim[129]; // 目标的十字星数据,目标点速度维129个点
|
|
float range_dim[8]; // 目标的十字星数据,目标点距离维8个点
|
|
|
|
double X[6]; //IMM
|
|
double P[6][6];
|
|
|
|
double X1[6];
|
|
double X2[6];
|
|
double X3[6];
|
|
double P1[6][6];
|
|
double P2[6][6];
|
|
double P3[6][6];
|
|
double u[3];
|
|
|
|
};
|
|
|
|
|
|
|
|
//临时航迹结构体
|
|
struct Temp_track
|
|
{
|
|
|
|
double X[4]; //状态
|
|
double P[4][4]; //协方差
|
|
|
|
double r; //距离
|
|
double azi; //方位
|
|
double vr; //径向速度
|
|
double height; //高度
|
|
double snr; //信噪比
|
|
double RCS; //RCS
|
|
double Amp; //幅度
|
|
int T; //时间戳
|
|
|
|
double d; //关联上的点的d
|
|
|
|
int buff_round; //已缓存圈数
|
|
|
|
int Temp_track_section_idx; //临时航迹区号 与点迹区的划分相同
|
|
|
|
int asso_flag; //关联标志 已关联:1 未关联:0
|
|
|
|
int pitch_num; // 俯仰波位号
|
|
float speed_dim[129]; // 目标的十字星数据,目标点速度维129个点
|
|
float range_dim[8]; // 目标的十字星数据,目标点距离维8个点
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// TAS跟踪目标结构体
|
|
struct Tracking_Target
|
|
{
|
|
int Index; //目标批号
|
|
int empty_flag; //是否为空标志位 1非空 0空
|
|
|
|
};
|
|
|
|
|
|
//引导跟踪目标结构体
|
|
struct Direct_Tracking_Target
|
|
{
|
|
int ID;
|
|
double Azi;
|
|
double Elev;
|
|
double Range;
|
|
int empty_flag; //是否为空标志位 1非空 0空
|
|
// int track_init_flag; //是否已经建航 1是 0否
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // STRUCT_H
|