# 开发日志 本文档以时间顺序, 记录了开发过程中的重要事件和分析、测试、DEBUG等过程。 日志格式: - 日期 - 事件描述 - 分析处理 ## 2025-04-09 改进各导弹导弹制导系统的大气透过率计算 - 使用AtmosphereDllWrapper封装的计算函数,实现了激光在大气中传输的透过率精确计算 - 添加了新的CalculateLaserTransmittance方法,简化对大气透过率的计算 - 改进了接收功率计算逻辑,考虑了以下因素: - 激光从发射器到目标的大气衰减 - 目标反射光从目标到导弹的大气衰减 - 发射系统透过率和接收系统透过率 - 激光波长对透过率的影响 - 增加了红外图像的最小像素限制 - 模拟效果改进: - 在不同天气条件下的导引性能变化更加符合物理规律 - 远距离目标的锁定概率降低,符合实际武器系统特性 - 雾天、雨天等恶劣天气条件下制导性能降低,更加真实 ## 2025-03-10 优化激光半主动导弹的制导加速度计算 - 降低了比例导引系数从 3 降至 2,使最大加速度从 ±18 降低到 ±12左右 - 降低了四象限探测器的灵敏度spotOffsetSensitivity,从 0.5 到 0.05 - 实现了制导加速度平滑处理机制,通过加速度历史值加权平均的方式减少突变 - 利用四象限探测器误差死区机制(误差阈值0.01),当探测器误差在死区范围内时不产生制导指令 - 修改后的效果: - 当光斑在四象限探测器中心位置时,制导加速度保持为0 - 微小光斑偏移不再引起过度调整 - 制导加速度变化更加平滑,减少了能量消耗 - 导弹飞行轨迹更加稳定,飞行姿态变化更平滑 - 系统稳定性得到显著提升,特别是在瞄准目标过程中的稳定性 ## 2025-03-05 修改各导弹运行中的一些 BUG,修改日志的输出方式 - 修改了日志的输出方式,使用 Debug 和 Trace 输出日志 - 修改了 Vector3D 中归一化和点积的计算,避免因为浮点数的精度问题导致出现NaN错误 - 将导弹自毁和爆炸的逻辑,移到导弹基类中 - 完善了集成仿真程序的逻辑,更方便进行仿真测试 ## 2025-02-26 给激光半主动导弹增加四象限探测器 - 增加了四象限探测器,修改了制导方式 - 四象限最初的代码有个关键错误,聚焦后的光斑是 3mm,传感器尺寸用的是镜头尺寸 10cm,导致光斑总是偏离到某个象限。参考论文,改为光斑直径 5mm,传感器 30mm - 四象限探测器的加速度与仿真步长有关,0.025 秒 以下比较正常,加速度在 3左右 ## 2025-02-25 给激光半主动导弹和激光目标指示器增加激光编码特性、四象限探测器 - 增加了 6 种激光编码方式 - 当激光编码方式和编码匹配,才能激活导引 ## 2025-02-17 末敏弹的探测逻辑优化 - 优化了末敏弹的探测逻辑,完善了几个传感器的逻辑 - 优化了测试代码,完善了末敏弹的探测逻辑,完善了几个传感器的逻辑 - 测试脚本运行:在根目录运行 dotnet test - 仿真程序运行:在 tools 目录运行 dotnet run ## 2024-01-09 视场角对目标探测高度的影响分析 在测试末敏子弹的目标探测功能时,发现视场角大小对首次探测高度有显著影响: 1. 视场角为 10° 时: - 首次探测高度:124.01米 - 扫描角度:224.64° 2. 视场角为 1° 时: - 首次探测高度:93.89米 - 扫描角度:224.64° 分析结论: - 视场角越大,探测范围越大,可以在更高的高度发现目标 - 视场角越小,探测范围越小,需要更接近目标才能发现 - 两种情况下扫描角度相同(224.64°),说明目标的相对方位是一致的 - 高度差约30米,这个差异完全符合视场角的物理特性 这个发现对于系统设计有重要启示: 1. 视场角的选择需要权衡探测距离和精度 2. 在仿真中需要考虑视场角对探测时机的影响 3. 视场角属于固有误差,无法简单通过算法消除 ## 2024-01-09 第二圈发射的径向误差分析 在分析末敏弹的打击精度时,发现当末敏弹进行第二圈螺旋扫描时会产生固定的径向误差: 1. 误差特征: - 表现为固定的径向偏差 - 与目标的相对方位无关 - 在不同仿真条件下保持稳定 2. 误差原因分析: - 末敏弹在第一圈扫描时记录首次探测角度 - 第二圈扫描到相同角度时触发攻击 - 由于末敏弹持续下降,第二圈时的高度低于第一圈 - 高度差导致了固定的径向误差 - 下降速度 10m/s, 扫描周期 0.25s, 高度差 2.5m,产生的径向误差是 1.44m 3. 与视场角的关系: - 视场角影响首次探测高度 - 探测高度越高,两圈之间的高度差越大 - 因此视场角间接影响了径向误差的大小