更新:1、TWS模式下,点航关联时增加俯仰门限,限制俯仰大幅度跳变的点迹关联
Signed-off-by: waiwaylee <waiwaylee@foxmail.com>
This commit is contained in:
@@ -467,61 +467,71 @@ void Track_Asso:: model_filter(QVector <Trust_Track> *trust_track,struct RadarP
|
||||
IMM_d_cal(v_track,X1,P1,X2,P2, X3,P3,Z,prt,freq_ind,delta_T,&d1,&d2,&d3,Work_Parameter);
|
||||
|
||||
//计算高度门限
|
||||
double d_h;
|
||||
if (r_track<1000)
|
||||
{
|
||||
if(abs(h_track-h_point)<=150)
|
||||
{
|
||||
d_h = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
d_h = 0;
|
||||
}
|
||||
// double d_h;
|
||||
// if (r_track<1000)
|
||||
// {
|
||||
// if(abs(h_track-h_point)<=150)
|
||||
// {
|
||||
// d_h = 1;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// d_h = 0;
|
||||
// }
|
||||
|
||||
}
|
||||
else if (r_track<2000 && r_track>=1000)
|
||||
{
|
||||
if(abs(h_track-h_point)<=200)
|
||||
{
|
||||
d_h = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
d_h = 0;
|
||||
}
|
||||
// }
|
||||
// else if (r_track<2000 && r_track>=1000)
|
||||
// {
|
||||
// if(abs(h_track-h_point)<=200)
|
||||
// {
|
||||
// d_h = 1;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// d_h = 0;
|
||||
// }
|
||||
|
||||
}
|
||||
else if(r_track>=2000 && r_track<3000 )
|
||||
{
|
||||
if(abs(h_track-h_point)<=200)
|
||||
{
|
||||
d_h = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
d_h = 0;
|
||||
}
|
||||
}
|
||||
else if(r_track>=3000 && r_track<5000)
|
||||
{
|
||||
if(abs(h_track-h_point)<=300)
|
||||
{
|
||||
d_h = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
d_h = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
d_h = 1;
|
||||
}
|
||||
// }
|
||||
// else if(r_track>=2000 && r_track<3000 )
|
||||
// {
|
||||
// if(abs(h_track-h_point)<=200)
|
||||
// {
|
||||
// d_h = 1;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// d_h = 0;
|
||||
// }
|
||||
// }
|
||||
// else if(r_track>=3000 && r_track<5000)
|
||||
// {
|
||||
// if(abs(h_track-h_point)<=300)
|
||||
// {
|
||||
// d_h = 1;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// d_h = 0;
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// d_h = 1;
|
||||
// }
|
||||
|
||||
qDebug() << delta_T<<" "<<d1<<" "<<d2<<" "<<d3;
|
||||
qDebug() << h_track<<" "<<h_point<<" "<<d_h;
|
||||
d_h = 1;
|
||||
// qDebug() << delta_T<<" "<<d1<<" "<<d2<<" "<<d3;
|
||||
// qDebug() << h_track<<" "<<h_point<<" "<<d_h;
|
||||
// d_h = 1;
|
||||
|
||||
//计算俯仰门限
|
||||
bool d_p = false;
|
||||
|
||||
double p_track = atan2(h_track, r_track); //航迹俯仰
|
||||
double p_point = asin(h_point/point_process[loop_of_point].Range); //点迹俯仰
|
||||
|
||||
if(abs(p_track - p_point)*180/PI <= 5){
|
||||
d_p = true;
|
||||
}
|
||||
|
||||
//计算距离门限,R=航迹点与量测点的距离,VT=航向速度乘以扫描时间差
|
||||
double& t_x0 = (*trust_track)[loop_of_track].X[0];
|
||||
@@ -549,9 +559,9 @@ void Track_Asso:: model_filter(QVector <Trust_Track> *trust_track,struct RadarP
|
||||
|
||||
//小于关联门限 保存关联信息
|
||||
if(
|
||||
( r_track<=500 && (d1*d1<ASSO_THORD*ASSO_THORD || d2*d2<ASSO_THORD*ASSO_THORD || d3*d3<ASSO_THORD*ASSO_THORD/1000) && d_h == 1 && d_r)//
|
||||
||( (r_track>500&&r_track<1000) && (d1*d1<ASSO_THORD*ASSO_THORD || d2*d2<ASSO_THORD*ASSO_THORD || d3*d3<ASSO_THORD*ASSO_THORD/100) && d_h == 1 && d_r)//
|
||||
||( r_track>=1000 && (d1*d1<ASSO_THORD*ASSO_THORD || d2*d2<ASSO_THORD*ASSO_THORD || d3*d3<ASSO_THORD*ASSO_THORD) && d_h == 1 && d_r)//
|
||||
( r_track<=500 && (d1*d1<ASSO_THORD*ASSO_THORD || d2*d2<ASSO_THORD*ASSO_THORD || d3*d3<ASSO_THORD*ASSO_THORD/1000) && d_p && d_r)//
|
||||
||( (r_track>500&&r_track<1000) && (d1*d1<ASSO_THORD*ASSO_THORD || d2*d2<ASSO_THORD*ASSO_THORD || d3*d3<ASSO_THORD*ASSO_THORD/100) && d_p && d_r)//
|
||||
||( r_track>=1000 && (d1*d1<ASSO_THORD*ASSO_THORD || d2*d2<ASSO_THORD*ASSO_THORD || d3*d3<ASSO_THORD*ASSO_THORD) && d_p && d_r)//
|
||||
)
|
||||
{
|
||||
qDebug() << "asooooooooooo";
|
||||
|
||||
Reference in New Issue
Block a user