From 2c0d2c26a5d12f5f3a2469154e4ecf7470b125a0 Mon Sep 17 00:00:00 2001 From: waiwaylee Date: Thu, 5 Nov 2026 10:49:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=EF=BC=9A1=E3=80=81=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E9=80=9A=E8=BF=87=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=86=B3=E5=AE=9A=E8=88=AA=E8=BF=B9=E6=8C=89=E8=B4=A8=E9=87=8F?= =?UTF-8?q?=E6=B6=88=E6=89=B9=E8=BF=98=E6=98=AF=E6=8C=89=E5=9C=88=E6=95=B0?= =?UTF-8?q?=E6=B6=88=E6=89=B9=EF=BC=9B=202=E3=80=81=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: waiwaylee --- config/Ku2304_PS.toml | 2 ++ config/X1024_MS_4.8S.toml | 2 ++ config/X1024_MS_5S.toml | 2 ++ config/X1024_PS_3S_TAS_2Hz.toml | 2 ++ config/X256_MS_4S.toml | 2 ++ config/X256_PS_3S_TAS_1Hz.toml | 2 ++ config/X256_PS_3S_TAS_2Hz.toml | 2 ++ config/config_tmp.toml | 2 ++ .../rdp_parameter_loader.cpp | 3 +++ data_process_class_dll/struct.h | 1 + data_process_class_dll/track_die.cpp | 18 ++++++++++++++---- 11 files changed, 34 insertions(+), 4 deletions(-) diff --git a/config/Ku2304_PS.toml b/config/Ku2304_PS.toml index 3524032..fef3c68 100644 --- a/config/Ku2304_PS.toml +++ b/config/Ku2304_PS.toml @@ -88,6 +88,8 @@ track_die_round = 25 track_die_round_pramary = 50 # TAS航迹消亡圈数 track_die_round_tas = 50 +# 航迹消批质量条件使能 +track_die_quality_enable = 1 # 航迹消批质量条件 track_die_quality = 0.3 # 重点航迹消批质量条件 diff --git a/config/X1024_MS_4.8S.toml b/config/X1024_MS_4.8S.toml index b68595a..a50dbd2 100644 --- a/config/X1024_MS_4.8S.toml +++ b/config/X1024_MS_4.8S.toml @@ -88,6 +88,8 @@ track_die_round = 5 track_die_round_pramary = 10 # TAS航迹消亡圈数 track_die_round_tas = 300 +# 航迹消批质量条件使能 +track_die_quality_enable = 1 # 航迹消批质量条件 track_die_quality = 0.3 # 重点航迹消批质量条件 diff --git a/config/X1024_MS_5S.toml b/config/X1024_MS_5S.toml index 2f2f66a..8b8aa28 100644 --- a/config/X1024_MS_5S.toml +++ b/config/X1024_MS_5S.toml @@ -88,6 +88,8 @@ track_die_round = 5 track_die_round_pramary = 10 # TAS航迹消亡圈数 track_die_round_tas = 450 +# 航迹消批质量条件使能 +track_die_quality_enable = 1 # 航迹消批质量条件 track_die_quality = 0.3 # 重点航迹消批质量条件 diff --git a/config/X1024_PS_3S_TAS_2Hz.toml b/config/X1024_PS_3S_TAS_2Hz.toml index 75387f8..7a5dd70 100644 --- a/config/X1024_PS_3S_TAS_2Hz.toml +++ b/config/X1024_PS_3S_TAS_2Hz.toml @@ -88,6 +88,8 @@ track_die_round = 6 track_die_round_pramary = 10 # TAS航迹消亡圈数 track_die_round_tas = 20 +# 航迹消批质量条件使能 +track_die_quality_enable = 1 # 航迹消批质量条件 track_die_quality = 0.3 # 重点航迹消批质量条件 diff --git a/config/X256_MS_4S.toml b/config/X256_MS_4S.toml index 5f0180e..b5c53ff 100644 --- a/config/X256_MS_4S.toml +++ b/config/X256_MS_4S.toml @@ -88,6 +88,8 @@ track_die_round = 6 track_die_round_pramary = 10 # TAS航迹消亡圈数 track_die_round_tas = 90 +# 航迹消批质量条件使能 +track_die_quality_enable = 1 # 航迹消批质量条件 track_die_quality = 0.3 # 重点航迹消批质量条件 diff --git a/config/X256_PS_3S_TAS_1Hz.toml b/config/X256_PS_3S_TAS_1Hz.toml index ab465dd..9b29a25 100644 --- a/config/X256_PS_3S_TAS_1Hz.toml +++ b/config/X256_PS_3S_TAS_1Hz.toml @@ -88,6 +88,8 @@ track_die_round = 6 track_die_round_pramary = 10 # TAS航迹消亡圈数 track_die_round_tas = 20 +# 航迹消批质量条件使能 +track_die_quality_enable = 1 # 航迹消批质量条件 track_die_quality = 0.3 # 重点航迹消批质量条件 diff --git a/config/X256_PS_3S_TAS_2Hz.toml b/config/X256_PS_3S_TAS_2Hz.toml index ed4e27a..39a8dc6 100644 --- a/config/X256_PS_3S_TAS_2Hz.toml +++ b/config/X256_PS_3S_TAS_2Hz.toml @@ -88,6 +88,8 @@ track_die_round = 6 track_die_round_pramary = 10 # TAS航迹消亡圈数 track_die_round_tas = 20 +# 航迹消批质量条件使能 +track_die_quality_enable = 1 # 航迹消批质量条件 track_die_quality = 0.3 # 重点航迹消批质量条件 diff --git a/config/config_tmp.toml b/config/config_tmp.toml index e205fe7..04c9201 100644 --- a/config/config_tmp.toml +++ b/config/config_tmp.toml @@ -90,6 +90,8 @@ track_die_round = 6 track_die_round_pramary = 10 # TAS航迹消亡圈数 track_die_round_tas = 20 +# 航迹消批质量条件使能 +track_die_quality_enable = 1 # 航迹消批质量条件 track_die_quality = 0.3 # 重点航迹消批质量条件 diff --git a/data_process_class_dll/rdp_parameter_loader.cpp b/data_process_class_dll/rdp_parameter_loader.cpp index 32a824b..c317195 100644 --- a/data_process_class_dll/rdp_parameter_loader.cpp +++ b/data_process_class_dll/rdp_parameter_loader.cpp @@ -156,6 +156,7 @@ const IntField kIntFields[] = { {"track_die", "track_die_round", &RDP_parameter::track_die_round}, {"track_die", "track_die_round_pramary", &RDP_parameter::track_die_round_pramary}, {"track_die", "track_die_round_tas", &RDP_parameter::track_die_round_tas}, + {"track_die", "track_die_quality_enable", &RDP_parameter::track_die_quality_enable}, // [track_index] 航迹批号管理 {"track_index", "track_index_max", &RDP_parameter::track_index_max}, // [beam_control] 波束调度参数 @@ -437,6 +438,8 @@ bool validate_parameter(const RDP_parameter& p, LoadContext& ctx) return ctx.fail("参数 track_die_round_pramary 不能为负"); if (p.track_die_round_tas < 0) return ctx.fail("参数 track_die_round_tas 不能为负"); + if (p.track_die_quality_enable != 0 && p.track_die_quality_enable != 1) + return ctx.fail("参数 track_die_quality_enable 必须为 0(不启用)或 1(启用)(实际 " + std::to_string(p.track_die_quality_enable) + ")"); if (p.track_die_quality < 0.0f || p.track_die_quality > 1.0f) return ctx.fail("参数 track_die_quality 必须在 0~1 之间"); if (p.track_die_quality_pramary < 0.0f || p.track_die_quality_pramary > 1.0f) diff --git a/data_process_class_dll/struct.h b/data_process_class_dll/struct.h index 90608ad..6d0fa9c 100644 --- a/data_process_class_dll/struct.h +++ b/data_process_class_dll/struct.h @@ -238,6 +238,7 @@ struct RDP_parameter int track_die_round; //航迹消亡圈数 int track_die_round_pramary; //重点航迹消亡圈数 int track_die_round_tas; //TAS航迹消亡圈数 + int track_die_quality_enable; //航迹消亡质量条件使能 float track_die_quality; //航迹消批质量条件 float track_die_quality_pramary; //重点航迹消批质量条件 diff --git a/data_process_class_dll/track_die.cpp b/data_process_class_dll/track_die.cpp index f4abead..2a2409f 100644 --- a/data_process_class_dll/track_die.cpp +++ b/data_process_class_dll/track_die.cpp @@ -22,10 +22,20 @@ void Track_Die::track_die_process( std::vector *trust_track, die_flag = true; } - //非重点航迹自动消亡 - if((*Iter).Track_Mode == 0 && (*Iter).primary_target_flag == 0 && (*Iter).Quality < rdp_parameter.track_die_quality) - { - die_flag = true; + if(rdp_parameter.track_die_quality_enable == 1){ + //按质量条件消亡 + //非重点航迹自动消亡 + if((*Iter).Track_Mode == 0 && (*Iter).primary_target_flag == 0 && (*Iter).Quality < rdp_parameter.track_die_quality) + { + die_flag = true; + } + }else{ + //按圈数条件消亡 + //非重点航迹自动消亡 + if((*Iter).Track_Mode == 0 && (*Iter).primary_target_flag == 0 && (*Iter).Extrapolate_round < rdp_parameter.track_die_round) + { + die_flag = true; + } } //重点航迹自动消亡