8.8 KiB
8.8 KiB
Changelog
本项目的所有重要变更记录于此文件。
格式遵循 Keep a Changelog, 版本号遵循 语义化版本(SemVer)。
[Unreleased]
Added
- 新增 CHANGELOG.md,采用 Keep a Changelog 格式记录项目变更历史。
RadarPara结构体新增DATA_RATE_TAS(TAS 模式数据率)字段,由 DLL 调用者通过track_process_parameters_initial()输入(b3e2f52)。Tracking_Target新增last_track_time字段,记录各 TAS 目标最近一次波束输出时间(f438ac5)。- 新增 requirements.md,说明 TAS 波束控制逻辑的修改背景与约定(b3e2f52)。
- 更新 README.md:目录结构补充 CHANGELOG.md / requirements.md;版本历史表补充 93d3924、b3e2f52、e729c5b、f438ac5 提交记录。
- 新增日志文件输出功能:
parameters.h增加RDP_LOG_ENABLE开关(默认开启)与RDP_LOG_DIR目录宏(.\\rdp_logs\\);新增rdp_log.h/.cpp日志模块,首次Data_Process_Factory::GetB()时按RDP_LOG_ENABLE决定是否用rdbuf()将std::cout重定向到.\rdp_logs\下按日期+时间命名的日志文件(rdp_YYYYMMDD_HHMMSS.log,目录不存在自动创建),Destroy()销毁实例时恢复std::cout并关闭文件;开关注释关闭时不重定向、日志仍输出到标准输出;日志文件在CMakeLists.txt的 SOURCES 中注册。 - 新增
RDP_LOG日志输出宏(rdp_log.h):自动在每条日志前附加[时间戳][代码文件:行号]信息后再输出到标准输出(重定向开启时随之写入日志文件),供后续新增日志统一使用。 - 更新 README.md(604f158、d6cdbc0):目录结构补充
archived_docs/归档目录;9.6 节改写 TWS 关联 ΔT≤0 的处理说明;功能特性、模块职责、已知问题与参考文档的文档引用路径同步指向archived_docs/;版本历史表补充 604f158、d6cdbc0 提交记录。
Changed
- TAS 波束控制改为按固定数据率调度:
Beam_Ctrl()仅当目标满足1 / DATA_RATE_TAS秒的数据率间隔(相对航迹时间T_track与上次波束输出last_track_time)时才输出 TAS 跟踪波束,使 TAS 目标数据率不再随波束时间(Beam_Ctrl 调用频率)变化。 - TAS 波束输出目标改为队列内调度:不再固定取队首,而是遍历 TAS 队列,选择满足数据率门控且 CPI 时间最早的目标输出;原每次 Beam_Ctrl 末尾的整队循环移位(队列轮转)已停用(代码注释保留)。
- 数据率门控统一使用运行时参数
Work_Parameter.DATA_RATE_TAS(由 DLL 调用者经track_process_parameters_initial()输入,需为 >0 的有效值);parameters.h中DATA_RATE_TAS编译期宏(相扫 0.3 / 机扫 0.0625)已注释停用,引导跟踪外推同步改用运行时参数。 - 编译时以
#pragma message提示当前启用的扫描体制宏(MECHANICAL_SCANNING / PHASE_SCANNING)。 - 频点宏由
FREQ0~FREQ20(16.8 GHz)精简为单个FREQ0,取值改为 9.2 GHz(e729c5b)。 - MSVC 编译选项按编译器版本条件追加
/utf-8(VS2015 及以上);MSVC 2013 不支持该选项,改用源码文件带 BOM 的 UTF-8 编码解决 C4819。 - 存量调试输出收敛为告警级
RDP_LOG日志(1521592):track_asso.cpp/track_asso_tas.cpp的model_filter()在 ΔT ≤ 0(乱序/重复时间戳)分支新增告警日志(含航迹/点迹/时间差信息,其中track_asso.cpp侧后于604f158注释停用);tas_ctrl.cpp中 TAS 波束最早目标调度的printf调试输出移除,data_process.cpp手动删除与track_die_tas.cppTAS 目标消亡的std::cout调试输出注释停用。重定向开启时上述日志随std::cout一并写入日志文件。 RadarPara.DATA_RATE_TAS单位由 Hz(1/s)改为 s(秒)(1521592):tas_beam_output()的 TAS 波束输出门控由1 / DATA_RATE_TAS秒改为直接按DATA_RATE_TAS秒比较,data_process_class_dll.h字段注释同步更新;调用者改按「波束输出间隔(秒)」输入该参数(原 0.3 Hz 的含义不再适用,需按新单位换算后传入)。- requirements.md 内容更新为「雷达数据处理项目修改说明」(1521592):现描述日志文件输出功能需求(rdbuf() 重定向、日志开关宏、日期+时间命名日志、前缀日志宏,附参考示例)。
- TWS 点航关联中 ΔT ≤ 0(点迹 CPI 时间不晚于航迹时间,如 TAS 航迹遇上时间戳更早的 TWS 点迹、或重复时间戳)的候选不再被剔除(604f158):此类候选仍参与最近邻最小 d 的比较与选取,但不执行 IMM/EKF 更新、不刷新航迹时间与新鲜度(
T_track、Extrapolate_round、point_flag、associate_point_number均保持原值,该航迹仍按未关联航迹外推),同时把该点迹标记为已使用(Use_Flag=1)消费掉,使其无法再参与航迹起始,避免由此生成虚假 TWS 航迹;track_asso.cpp中 ΔT≤0 的RDP_LOG告警日志随之注释停用(track_asso_tas.cpp中同名告警日志仍启用)。 - 过期文档归档(604f158):
BUG_REPORT.md、BUG_FIX_REPORT.md、requirements.md由仓库根目录移入archived_docs/留档,仓库内对它们的引用路径同步改为archived_docs/...。
Fixed
- 修复 MSVC
/W3下全部 C4819 / C4018 / C4244 编译警告:源码文件改为带 BOM 的 UTF-8 编码;signed/unsigned 不匹配处改用size_t循环变量或显式static_cast<int>比较;double/float、__int64/double 等窄化转换改为static_cast显式转换,保持原有计算逻辑不变(涉及data_process.cpp、dot_coh.cpp、dot_coh_tas.cpp、tas_ctrl.cpp、track_asso.cpp、track_asso_tas.cpp、track_init.cpp、track_init_direct_tracking.cpp、track_index_mangement.cpp等)。 - 修复
TAS_Ctrl::tas_beam_output()把航迹向量下标earliest_track_idx误赋给Tracking_beam->TAS_track_index的问题(1521592):现输出实际航迹号(*trust_track)[earliest_track_idx].Track_Index,避免跟踪波束批号与目标不符。
Removed
- 删除已注释停用的无用代码残留(d6cdbc0):
data_process.cpp中 TWS/TAS 分支的std::cout调试输出注释块,以及dot_coh.cpp中早期「1 km 以内 SNR < 20 dB 点迹过滤」的注释代码块。仅清理注释,不改变任何运行逻辑。
[1.5.5] - 2026-08-27
初始版本记录:汇总仓库现有功能与自 2022 年以来的主要变更(依据 git 提交历史与 README.md 整理)。
Added
- TWS/TAS 双通道雷达数据处理:输入点迹预处理、两帧滑窗点迹凝聚、逻辑法航迹起始(3~9 点起批,含屏蔽区)、IMM + EKF 航迹滤波、最近邻点航关联、航迹外推/消亡/航迹号管理、TAS 波束控制输出。
- 支持相扫(X256_PS)与机扫(X256_MS)两种扫描体制,通过
RADAR_SCAN_MODE/ 编译宏配置切换。 - 适配四面阵机扫跟踪模式;机扫跟踪时增加高度门限判断。
- 输入点迹、输出航迹的 CPI 时间与 GNSS 时间改为 64 位整型(毫秒)。
- 增加航迹清空功能,解决重连时大量航迹乱窜的问题。
- TWS 输出增加高度平滑处理。
- TWS 点航关联增加俯仰门限与点航距离门限,限制大幅度跳变或突跳到远距离的点迹关联。
- 航迹起始增加屏蔽区域。
- 新增 README.md、BUG_REPORT.md、BUG_FIX_REPORT.md 等文档。
Changed
- 工程由 Qt/qmake 迁移为 VS Code + CMake 构建,编译器保持 MSVC 2013 x86 不变。
- 机扫与相扫程序合并,通过宏定义配置切换。
- TAS 航迹外推时间间隔改为按波束时间计算。
- 扫描一圈完成的判断逻辑改为用“波位号变小”判断。
- 点迹凝聚角度约束放宽至 4 度;凝聚条件按近程/中程模式区分。
- 去掉自动转 TAS 功能,仅支持手动转 TAS。
- 去掉 1 km 以内航迹起批的 20 dB 信噪比门限。
- 统一代码缩进格式。
Fixed
- 修复若干逻辑 BUG(数组越界/下溢、局部变量未初始化、时间差无效、方位角 ±π 环绕、IMM 概率奇异、输出数组容量越界等),明细见
archived_docs/BUG_FIX_REPORT.md。 - 修复 TAS 外推时间差可能为无效值的问题。
- 修复航迹起始时未输出跟踪类型、可靠航迹手动转跟踪标志未清零的问题。
- 修复量测噪声协方差矩阵 R 赋值错误、数据预处理波位号判断规则、点迹数量上限、雅可比矩阵取值、起批负索引等问题。
Removed
- 移除
requirements.md(93d3924 移除,后于b3e2f52重新加入并改为 TAS 波束控制说明)、CLAUDE.md、Makefile 系列、Qt 工程用户文件、内置 Eigen 3.3.7 冗余文件及「航迹点迹区分区说明」等不必要文件。