ThreatSourceLibaray/docs/articles/threat-source-spec.md

65 KiB
Raw Blame History

威胁源仿真系统技术说明书

版本1.1.22

1. 概述

1.1 文档目的

本文档旨在详细描述威胁源仿真系统的设计实现,包括:

  1. 各型导弹的工作原理和关键算法
  2. 系统组件的交互机制和接口定义
  3. 数据管理系统和配置文件格式
  4. 关键参数的配置和验证方法
  5. 测试用例和验证流程

本文档可用于:

  • 系统设计和实现的参考依据
  • 测试验证的指导文档
  • 系统维护和升级的技术支持
  • 新功能开发的基础文档

1.2 适用范围

本文档适用于以下人员和场景:

  1. 开发人员

    • 系统功能实现
    • 接口开发和维护
    • 算法优化和改进
    • 新功能扩展开发
  2. 测试人员

    • 功能测试设计
    • 性能测试验证
    • 系统集成测试
    • 回归测试执行
  3. 维护人员

    • 系统问题诊断
    • 参数配置调整
    • 性能监控分析
    • 系统升级维护
  4. 使用场景

    • 导弹系统仿真
    • 制导算法验证
    • 性能指标评估
    • 战术效能分析

1.3 系统功能

  1. 导弹类型支持

    • 激光半主动制导导弹
    • 激光驾束制导导弹
    • 红外指令制导导弹
    • 红外成像末制导导弹
    • 毫米波末制导导弹
    • 末敏弹
    • 复合制导导弹(多模制导)
  2. 核心功能

    • 智能数据管理系统
    • TOML配置文件支持
    • 运动学仿真基于KinematicState
    • 制导控制仿真
    • 目标交互仿真
    • 传感器仿真
    • 事件系统
    • 外部仿真集成
  3. 数据管理功能

    • 智能路径解析
    • 多设备类型支持
    • 配置文件热加载
    • 数据验证和错误处理
  4. 验证功能

    • 单元测试验证
    • 系统集成验证
    • 性能指标验证
    • 数据分析验证
  5. 新增功能1.1.22版本)

    • SwerlingRCS回波模型
    • 升力加速度计算系统
    • 命中概率计算
    • 运动状态随机噪声
    • 统一状态信息管理ElementStatusInfo

1.4 参考文献

  1. 导弹技术参考

    • 《导弹制导与控制》,科学出版社
    • 《现代制导技术》,国防工业出版社
    • 《导弹动力学与控制》,航空工业出版社
  2. 传感器技术参考

    • 《红外成像技术》,科学出版社
    • 《激光制导原理》,国防工业出版社
    • 《毫米波雷达技术》,电子工业出版社
  3. 仿真技术参考

    • 《系统仿真理论与实践》,科学出版社
    • 《飞行器建模与仿真》,航空工业出版社
    • 《实时仿真系统》,国防工业出版社
  4. 软件工程参考

    • 《软件工程:实践者的研究方法》
    • 《面向对象分析与设计》
    • 《设计模式:可复用面向对象软件的基础》

2. 系统架构

2.1 总体架构

2.1.1 核心组件

  1. 数据管理系统 (ThreatSourceDataManager)

    • 智能路径解析:基于程序集位置自动查找数据目录
    • TOML配置文件加载支持多种设备类型的配置
    • 数据缓存管理:内存中缓存已加载的配置数据
    • 错误处理和日志:详细的加载过程跟踪和错误报告
  2. 仿真管理系统 (SimulationManager)

    • 仿真状态控制Running/Paused/Stopped状态管理
    • 时间同步控制:支持固定时间步长和外部时间同步
    • 实体更新调度:线程安全的实体状态更新
    • 天气系统集成:支持动态天气条件变化
    • 外部仿真适配支持与Unity、UE等外部引擎集成
  3. 事件系统

    • 发布订阅模式:类型安全的事件处理机制
    • 事件分发处理:高效的事件路由和分发
    • 事件队列管理:异步事件处理支持
    • 外部事件集成:支持与外部系统的事件交换
  4. 实体管理系统

    • 实体注册与注销:线程安全的实体生命周期管理
    • 实体状态维护基于KinematicState的运动学状态管理
    • 实体查询服务:高效的实体检索和类型过滤
    • 碰撞检测:实体间的交互和碰撞处理

2.1.2 导弹组件架构

  1. 基础导弹类 (BaseMissile)

    • 继承自SimulationElement基类
    • KinematicState运动学模型位置、速度、朝向管理
    • 飞行阶段管理Launch/Cruise/TerminalGuidance/Explode/SelfDestruct
    • 制导系统引用:统一的制导系统管理
    • 升力加速度系统LiftAcceleration计算和控制
    • 事件处理机制:制导事件的接收和响应
    • 自毁控制:基于时间、距离、高度的安全机制
  2. 制导系统

    • 激光半主动制导 (LaserSemiActiveGuidanceSystem)
    • 激光驾束制导 (LaserBeamRiderGuidanceSystem)
    • 红外指令制导 (InfraredCommandGuidanceSystem)
    • 红外成像末制导 (InfraredImagingTerminalGuidanceSystem)
    • 毫米波末制导 (MillimeterWaveTerminalGuidanceSystem)
    • 末敏子弹制导 (TerminalSensitiveSubmunitionGuidanceSystem)
    • 复合制导 (CompositeGuidanceSystem)
  3. 传感器系统

    • 激光探测器:四象限探测器、激光功率计算
    • 红外探测器:热成像、目标识别、信噪比计算
    • 毫米波雷达目标探测、距离测量、抗干扰、SwerlingRCS模型
    • 高度计:精确高度测量、地形跟踪
    • 多传感器融合:数据融合算法、目标确认

2.1.3 目标组件架构

  1. 基础目标类 (BaseTarget)

    • 继承自SimulationElement基类
    • 运动学模型:位置、速度、朝向的动态更新
    • 状态管理:生命值、伤害系统、销毁机制
    • 事件处理:目标辐射事件、命中事件的处理
  2. 目标特征系统

    • 红外辐射特征:温度分布模式、辐射强度计算
    • 雷达散射特征RCS模式、角度依赖性、SwerlingRCS模型
    • 激光反射特征:反射系数、有效反射面积
    • 毫米波特征:散射截面、频率响应

2.2 坐标系统

2.2.1 坐标定义

  1. 世界坐标系(右手系)

    • X轴指向东方
    • Y轴指向上方
    • Z轴指向北方
    • 原点:仿真场景中心
  2. 导弹本体坐标系

    • X轴指向导弹右翼
    • Y轴指向导弹上方
    • Z轴指向导弹后方前向为-Z轴
    • 原点:导弹质心

2.2.2 朝向系统

  1. Orientation欧拉角定义

    • 偏航角Yaw绕Y轴旋转范围[-π, π]
    • 俯仰角Pitch绕X轴旋转范围[-π/2, π/2]
    • 滚转角Roll绕Z轴旋转范围[-π, π]
  2. 前向向量计算

    • ToVector()方法返回-Z轴方向的单位向量
    • 默认朝向(0,0,0)对应世界坐标系的(0,0,-1)
    • 使用右手坐标系和逆时针旋转约定

2.2.3 运动学状态管理

  1. KinematicState类

    • Position三维位置向量
    • Orientation欧拉角朝向
    • Velocity三维速度向量
    • Speed标量速度自动与Velocity同步
  2. 状态同步机制

    • Speed设置时自动更新Velocity方向
    • Velocity设置时自动更新Speed大小
    • Orientation与速度方向的智能关联

2.2.4 单位说明

  1. 空间单位

    • 距离m
    • 速度:米/秒m/s
    • 加速度:米/秒²m/s²
    • 角度弧度rad
  2. 时间单位

    • 仿真时间s
    • 事件时间戳微秒us
    • 更新周期s

2.3 数据管理架构

2.3.1 智能路径解析系统

  1. 路径解析策略

    系统采用两级路径解析策略:

    • 优先级1DLL上级目录下的data文件夹

      • 获取当前程序集的物理位置
      • 解析DLL所在目录
      • 获取上级目录
      • 组合形成数据路径
    • 优先级2相对路径回退

      • 当自动解析失败时使用相对路径"data"
      • 保持向后兼容性
  2. 部署结构支持

    标准部署结构如下:

    • 应用程序根目录包含主程序
    • lib子目录存放DLL库文件
    • data子目录存放配置数据自动发现
    • data目录下按设备类型分类存放TOML配置文件

2.3.2 TOML配置文件系统

  1. 配置文件结构

    • 使用Tomlyn库进行TOML解析
    • 支持嵌套配置结构
    • 类型安全的配置映射
    • 详细的错误报告和验证
  2. 设备类型支持

    • 导弹配置:包含制导系统、飞行参数、武器参数
    • 指示器配置:激光指示器、红外测角仪等
    • 传感器配置:告警器、探测器等
    • 设备配置:目标设备、平台等
    • 天气配置:天气条件、环境参数
    • 干扰机配置:各类干扰设备
  3. 复合制导配置

    复合制导系统支持多个制导组件的配置:

    • 每个组件包含名称、类型、激活触发器
    • 支持基于时间、距离、事件的激活条件
    • 可配置最大获取时间和稳定制导时间
    • 支持失效后的继续链条选项

2.4 状态信息管理架构

2.4.1 ElementStatusInfo统一系统

  1. 统一状态信息类

    ElementStatusInfo提供标准化的状态信息管理

    • Id实体唯一标识符
    • ElementType实体类型名称
    • KState运动学状态信息
    • IsActive活动状态标志
    • Timestamp状态时间戳
    • ExtendedProperties扩展属性字典
  2. GetStatusInfo方法

    所有仿真实体统一实现GetStatusInfo方法

    • 基类提供基础状态信息
    • 子类添加特定扩展属性
    • 支持嵌套状态信息(如制导系统状态)
    • 自动格式化输出
  3. 状态信息层次结构

    • SimulationElement基础状态信息
    • BaseMissile导弹特有状态飞行时间、阶段、制导状态
    • BaseGuidanceSystem制导系统状态制导加速度、干扰状态
    • BaseEquipment设备状态生命值、属性信息
    • BaseSensor传感器状态干扰状态、传感器数据

2.5 升力系统架构

2.5.1 LiftModel升力模型

  1. 升力计算原理

    基于俯仰角(攻角)计算升力加速度:

    • 有效俯仰角范围:-5°到15°
    • 升力平衡点5°俯仰角
    • 升力系数1.0 m/s²/度
  2. 升力加速度计算

    升力加速度计算公式:

    • combined_vertical_acceleration = (pitch - 5°) × 1.0
    • lift_acceleration = combined_vertical_acceleration + g
    • 返回垂直方向的升力向量

2.6 仿真管理架构

2.6.1 仿真状态管理

  1. 状态定义

    仿真系统定义三种基本状态:

    • Stopped仿真停止状态
    • Running仿真运行状态
    • Paused仿真暂停状态
  2. 状态转换控制

    • 启动仿真:从停止状态转为运行状态,需指定时间步长
    • 暂停仿真:从运行状态转为暂停状态
    • 恢复仿真:从暂停状态转为运行状态
    • 停止仿真:转为停止状态并重置仿真时间

2.6.2 时间同步机制

  1. 内部时间管理

    • 固定时间步长:支持恒定的仿真步长
    • 累积时间跟踪CurrentTime属性记录仿真时间
    • 实体同步更新:所有实体使用统一的时间步长
  2. 外部时间同步

    • 支持外部驱动的时间同步
    • 时间同步事件通知时间变化
    • 适配器时间同步通知外部仿真系统时间变化

2.6.3 天气系统集成

  1. 天气模型

    天气系统包含以下参数:

    • 天气类型:晴朗、多云、雨天等
    • 温度:摄氏度
    • 湿度:百分比
    • 气压:百帕
    • 风速:米每秒
    • 风向:度数
    • 能见度:公里
  2. 天气影响

    • 激光传播:大气透过率影响
    • 红外探测:温度和湿度影响
    • 毫米波传播:降雨衰减效应
    • 目标特征:环境温度对红外辐射的影响
    • 导弹运动:风速对轨迹的影响

2.7 事件系统架构

2.7.1 事件类型体系

  1. 基础事件类

    所有仿真事件继承自基础事件类,包含:

    • 发送者ID标识事件来源实体
    • 时间戳:事件发生的时间
  2. 导弹相关事件

    • 导弹发射事件:导弹发射时触发
    • 导弹爆炸事件:导弹爆炸时触发
    • 飞行阶段变化事件:导弹阶段转换时触发
    • 制导状态变化事件:制导状态改变时触发
  3. 制导相关事件

    • 激光照射事件:激光指示器照射目标
    • 激光波束事件:激光驾束仪发射波束
    • 红外制导指令事件:红外测角仪发送制导指令
    • 导弹红外信号事件:导弹发射红外信号
  4. 目标相关事件

    • 目标命中事件:导弹命中目标
    • 目标摧毁事件:目标被摧毁
    • 目标辐射特征事件:目标发射辐射信号
  5. 系统事件

    • 实体销毁事件:仿真实体被销毁
    • 天气变化事件:天气条件发生变化
    • 时间同步事件:仿真时间同步

2.7.2 事件处理机制

  1. 发布订阅模式

    事件系统采用类型安全的发布订阅模式:

    • 事件订阅:通过泛型方法订阅特定类型事件
    • 事件发布:发布事件到所有订阅者
    • 自动类型匹配:基于事件类型自动路由到对应处理器
  2. 类型安全处理

    • 泛型事件处理器:确保类型安全
    • 自动类型分发:基于事件类型的自动路由
    • 异常隔离:单个处理器异常不影响其他处理器
  3. 外部系统集成

    • 双向事件流:支持向外部系统发布和接收事件
    • 适配器模式通过ISimulationAdapter接口集成
    • 事件转换:自动处理内外部事件格式转换

2.8 实体管理架构

2.8.1 实体基类设计

  1. SimulationElement基类

    所有仿真实体继承自SimulationElement基类提供

    • 唯一标识符实体ID
    • 运动学状态KinematicState对象
    • 活动状态IsActive标志
    • 仿真管理器引用:用于事件发布和实体查询
    • 抽象更新方法:子类实现具体更新逻辑
    • 生命周期方法:激活和停用方法
  2. KinematicState运动学状态

    运动学状态包含:

    • 位置:三维空间坐标
    • 速度:三维速度向量
    • 朝向:三维朝向向量
    • 角速度:三维角速度向量

2.8.2 实体生命周期管理

  1. 注册机制

    • 线程安全的实体注册
    • 重复ID检查防止ID冲突
    • 类型验证:确保实体类型正确
  2. 查询机制

    • 按ID查询实体根据唯一标识符查找
    • 按类型查询实体:获取特定类型的所有实体
    • 获取所有实体:返回系统中的所有实体
  3. 注销机制

    • 安全移除实体:从系统中移除指定实体
    • 级联清理:清理相关的事件订阅和引用
    • 资源释放:确保内存和资源正确释放

2.8.3 线程安全机制

  1. 锁策略

    实体管理使用锁机制确保线程安全:

    • 注册操作使用互斥锁保护
    • 查询操作使用只读锁优化性能
    • 注销操作使用写锁确保一致性
  2. 并发访问

    • 读写分离:查询操作使用只读集合
    • 原子操作:关键状态变更的原子性保证
    • 死锁避免:合理的锁顺序和超时机制

2.9 数据流架构

2.9.1 配置数据流

配置数据流程包括以下步骤:

  1. TOML配置文件作为数据源
  2. ThreatSourceDataManager负责数据管理
  3. 智能路径解析定位配置文件
  4. 文件加载和TOML解析
  5. 数据验证确保配置正确性
  6. 内存缓存提高访问效率
  7. 实体创建使用缓存的配置数据

2.9.2 仿真数据流

仿真数据流程包括:

  1. 仿真管理器控制整体流程
  2. 时间同步确保一致性
  3. 实体更新处理状态变化
  4. 事件处理响应系统事件
  5. 状态同步维护数据一致性
  6. 外部系统集成支持第三方平台

2.9.3 事件数据流

事件数据流程包括:

  1. 事件发布者产生事件
  2. 事件系统接收和管理事件
  3. 类型分发根据事件类型路由
  4. 处理器调用执行具体处理逻辑
  5. 外部适配器处理外部系统集成
  6. 外部系统接收和响应事件

2.10 接口定义

2.10.1 核心接口

  1. ISimulationManager接口

    • 仿真控制:启动、暂停、恢复、停止仿真
    • 事件管理:发布、订阅、取消订阅事件
    • 实体管理:注册、注销、查询实体
    • 外部集成:设置适配器、处理外部事件
  2. ISimulationAdapter接口

    • 实体查询:获取实体和实体状态
    • 事件交换:向外部发布事件和接收外部事件
    • 时间同步:同步仿真时间
    • 环境设置:设置实体环境数据
  3. ISimulationElement接口

    • 状态管理:更新状态、获取状态信息
    • 生命周期:激活和停用实体
    • 属性访问ID、运动学状态、活动状态

2.10.2 数据接口

  1. 配置数据接口

    • 获取导弹配置:根据型号获取导弹配置数据
    • 获取指示器配置:根据型号获取指示器配置数据
    • 获取传感器配置:根据型号获取传感器配置数据
    • 获取设备配置:根据型号获取设备配置数据
  2. 查询接口

    • 获取可用导弹列表:返回所有可用的导弹型号
    • 获取可用指示器列表:返回所有可用的指示器型号
    • 获取可用传感器列表:返回所有可用的传感器型号

3. 数据管理系统

3.1 ThreatSourceDataManager

3.1.1 核心功能

威胁源数据管理器是系统的核心数据管理组件,负责:

  1. 智能路径解析

    • 基于程序集位置自动查找数据目录
    • 支持DLL上级目录的data文件夹自动发现
    • 提供相对路径回退机制确保兼容性
    • 详细的路径解析日志和错误报告
  2. 配置文件加载

    • 支持TOML格式配置文件
    • 递归搜索子目录中的配置文件
    • 按文件名自动识别设备型号
    • 类型安全的配置数据映射
  3. 数据缓存管理

    • 内存中缓存已加载的配置数据
    • 按设备类型分类存储
    • 高效的数据检索和访问
    • 支持配置数据的热更新
  4. 错误处理和验证

    • 详细的加载过程跟踪
    • 配置文件格式验证
    • 缺失字段检查和默认值处理
    • 完整的错误日志和异常处理

3.1.2 支持的设备类型

  1. 导弹配置 (MissileData)

    • 基本属性:速度、加速度、飞行时间等
    • 制导系统配置:各种制导方式的参数
    • 武器参数:爆炸半径、命中概率等
    • 复合制导:多制导系统的组合配置
    • 升力参数:巡航攻角、制导下视角等
  2. 指示器配置 (IndicatorData)

    • 激光指示器:功率、波长、发散角等
    • 激光驾束仪:波束参数、控制场直径等
    • 红外测角仪:跟踪距离、视场角等
  3. 传感器配置 (SensorData)

    • 告警器:探测阈值、响应时间等
    • 探测器:灵敏度、工作频段等
    • 雷达:功率、频率、天线参数等
  4. 设备配置 (EquipmentData)

    • 目标设备RCS模式、热特征等
    • 平台设备:运动参数、载荷能力等
    • 环境设备:地形、建筑物等
  5. 天气配置 (WeatherData)

    • 天气类型:晴朗、多云、雨天等
    • 环境参数:温度、湿度、风速等
    • 大气条件:能见度、气压等
  6. 干扰机配置 (JammerData)

    • 激光干扰机:干扰功率、波长等
    • 红外干扰机:干扰强度、频谱等
    • 毫米波干扰机:干扰带宽、功率等

3.1.3 智能路径解析实现

  1. GetDataPath()方法

    智能路径解析的核心实现:

    优先级1DLL上级目录/data
    - 获取Assembly.GetExecutingAssembly().Location
    - 解析DLL所在目录的父目录
    - 组合形成data路径并验证存在性
    
    优先级2相对路径回退
    - 使用FALLBACK_DATA_PATH = "data"
    - 保持向后兼容性
    
  2. 路径解析日志

    详细的调试信息输出:

    • DLL位置信息
    • 解析的data目录路径
    • 目录存在性检查结果
    • 回退路径使用情况

3.1.4 配置文件结构

  1. 基本结构

    • Type字段定义设备类型
    • Name字段多语言名称支持
    • Properties字段设备属性配置
    • 专用配置字段:特定制导系统的配置
  2. 复合制导配置

    • GuidanceSuite数组多个制导组件
    • 每个组件包含:名称、类型、激活条件
    • 支持串行和并行制导模式
    • 可配置制导切换逻辑
  3. 配置验证

    • 必需字段检查
    • 数值范围验证
    • 类型匹配验证
    • 依赖关系检查

3.2 配置文件格式

3.2.1 TOML格式优势

  1. 可读性强

    • 类似INI文件的简洁语法
    • 支持注释和文档化
    • 层次化的配置结构
    • 易于人工编辑和维护
  2. 类型安全

    • 强类型数据支持
    • 自动类型转换
    • 数组和表格支持
    • 嵌套结构支持
  3. 工具支持

    • 使用Tomlyn库进行解析
    • 完整的错误报告
    • 性能优化的解析器
    • .NET生态系统集成

3.2.2 配置文件组织

  1. 目录结构

    • 按设备类型分目录存放
    • 支持子目录进一步分类
    • 文件名即为设备型号
    • 统一的.toml文件扩展名
  2. 命名规范

    • 设备型号作为文件名
    • 使用下划线分隔符
    • 版本号后缀支持
    • 描述性的目录名称
  3. 版本管理

    • 配置文件版本控制
    • 向后兼容性保证
    • 升级路径规划
    • 变更日志维护

3.3 数据加载流程

3.3.1 初始化流程

  1. 路径解析

    • 获取程序集位置
    • 计算数据目录路径
    • 验证目录存在性
    • 记录解析结果
  2. 目录扫描

    • 递归扫描配置目录
    • 识别TOML配置文件
    • 按设备类型分类
    • 构建文件清单
  3. 文件加载

    • 逐个加载配置文件
    • TOML格式解析
    • 数据类型转换
    • 错误处理和记录
  4. 数据验证

    • 配置完整性检查
    • 数值范围验证
    • 依赖关系验证
    • 默认值填充

3.3.2 缓存管理

  1. 内存缓存

    • 按设备类型分类存储
    • 使用字典结构快速查找
    • 支持并发访问
    • 内存使用优化
  2. 缓存策略

    • 一次性加载所有配置
    • 延迟加载特定配置
    • 缓存失效和更新
    • 内存压力管理
  3. 数据访问

    • 类型安全的访问接口
    • 异常处理和错误报告
    • 性能监控和优化
    • 并发访问控制

3.3.3 复合制导数据处理

  1. GuidanceSuite后处理

    复合制导配置的特殊处理:

    • 遍历GuidanceSuite中的每个组件
    • 根据GuidanceSystemType匹配顶层配置
    • 将SpecificConfig指向对应的配置对象
    • 支持的制导类型映射:
      • "millimeterwave" → MillimeterWaveGuidanceConfig
      • "infraredimagingterminalguidance" → InfraredImagingGuidanceConfig
      • "lasersemiactiveguidance" → LaserSemiActiveGuidanceConfig
      • "laserbeamriderguidance" → LaserBeamRiderGuidanceConfig
      • "infraredcommandguidance" → InfraredCommandGuidanceConfig
  2. 配置验证和错误处理

    • 检查SpecificConfig是否成功关联
    • 验证顶层配置的存在性
    • 记录详细的调试信息
    • 处理配置缺失的情况

4. 导弹类型及特性

4.1 导弹基类架构

4.1.1 BaseMissile基类

  1. 核心属性

    • 继承自SimulationElement基类
    • KinematicState运动学状态管理
    • 飞行阶段状态机Launch/Cruise/TerminalGuidance/Explode/SelfDestruct
    • 制导系统引用:统一的制导系统管理接口
    • 升力加速度系统:基于俯仰角的升力计算
    • 事件处理机制:制导事件的接收和响应
  2. 飞行阶段管理

    • Launch阶段发射初期的弹道飞行
    • Cruise阶段中段巡航飞行
    • TerminalGuidance阶段末段制导飞行
    • Explode阶段爆炸状态
    • SelfDestruct阶段自毁状态
  3. 制导系统集成

    • 制导系统引用管理
    • 制导加速度计算和应用
    • 制导事件的处理和响应
    • 多制导系统的切换和管理
  4. 升力系统集成

    • 基于俯仰角的升力计算
    • 巡航攻角和制导下视角配置
    • 升力加速度与制导加速度的合成
    • 飞行阶段相关的升力参数调整

4.1.2 运动学模型

  1. KinematicState状态管理

    • Position三维位置向量
    • Orientation欧拉角朝向前向为-Z轴
    • Velocity三维速度向量
    • Speed标量速度与Velocity自动同步
  2. 加速度合成

    • GuidanceAcceleration制导系统产生的加速度
    • ThrustAcceleration推力加速度
    • LiftAcceleration升力加速度
    • DragAcceleration空气阻力加速度
    • GravityAcceleration重力加速度
  3. 运动状态随机噪声

    • 根据飞行阶段设置不同的噪声系数
    • Launch阶段较大的初始噪声
    • Cruise阶段中等的巡航噪声
    • TerminalGuidance阶段较小的制导噪声

4.1.3 生命周期管理

  1. 自毁控制机制

    • 基于飞行时间的自毁
    • 基于飞行距离的自毁
    • 基于高度的安全自毁
    • 基于制导失效的自毁
  2. 命中检测

    • 目标距离检测
    • 爆炸半径计算
    • 命中概率计算
    • 目标伤害评估
  3. 状态信息管理

    • ElementStatusInfo统一状态信息
    • 飞行时间、阶段、制导状态等扩展属性
    • GetStatusInfo方法的统一实现
    • 嵌套制导系统状态信息

4.2 激光半主动制导导弹

4.2.1 工作原理

激光半主动制导导弹通过接收目标反射的激光能量进行制导:

  1. 激光照射阶段

    • 激光指示器持续照射目标
    • 目标表面反射激光能量
    • 导弹上的激光探测器接收反射信号
    • 四象限探测器确定目标方位
  2. 制导控制阶段

    • 计算目标相对于导弹轴线的角度偏差
    • 根据偏差角度生成制导指令
    • 比例导引法计算制导加速度
    • 控制导弹飞向目标
  3. 抗干扰能力

    • 激光功率阈值检测
    • 信号质量评估
    • 干扰识别和抑制
    • 制导精度保持

4.2.2 关键算法

  1. 四象限探测器算法

    • 四个象限的激光功率分布计算
    • 基于距离平方反比定律的功率衰减
    • 目标反射系数和有效反射面积
    • 大气透过率对激光传播的影响
  2. 比例导引算法

    • 视线角速度计算
    • 导航比例系数设置
    • 制导加速度矢量计算
    • 制导指令的平滑处理
  3. 干扰处理算法

    • 激光干扰功率计算
    • 信噪比评估
    • 干扰状态判断
    • 制导精度降级处理

4.2.3 技术特点

  1. 制导精度

    • 高精度的目标跟踪能力
    • 亚米级的命中精度
    • 全天候作战能力
    • 抗电子干扰能力
  2. 作战灵活性

    • 发射后锁定能力
    • 多目标攻击能力
    • 复杂环境适应性
    • 快速反应能力
  3. 技术限制

    • 需要持续激光照射
    • 受天气条件影响
    • 激光功率需求较高
    • 易受激光干扰影响

4.3 激光驾束制导导弹

4.3.1 工作原理

激光驾束制导导弹通过跟踪激光波束进行制导:

  1. 波束跟踪阶段

    • 激光驾束仪发射编码激光波束
    • 导弹尾部的激光接收器接收波束信号
    • 解码波束中的制导指令信息
    • 计算导弹相对于波束轴线的偏差
  2. 制导控制阶段

    • 根据波束偏差计算制导指令
    • 控制导弹保持在波束中心
    • 跟随波束指向目标飞行
    • 实现精确的目标攻击
  3. 波束编码机制

    • 时间编码的制导指令
    • 空间编码的位置信息
    • 频率编码的控制信号
    • 抗干扰的编码算法

4.3.2 关键算法

  1. 波束跟踪算法

    • 激光功率分布检测
    • 波束中心位置计算
    • 导弹偏差角度计算
    • 制导指令生成
  2. 编码解码算法

    • 时间序列信号处理
    • 数字滤波和降噪
    • 指令信息提取
    • 错误检测和纠正
  3. 控制场算法

    • 控制场直径计算
    • 有效制导区域确定
    • 边界条件处理
    • 制导精度评估

4.3.3 技术特点

  1. 制导优势

    • 高精度的波束跟踪
    • 强抗干扰能力
    • 全程制导控制
    • 多目标攻击能力
  2. 系统特点

    • 需要专用激光驾束仪
    • 波束功率要求较高
    • 制导距离受限
    • 对大气条件敏感

4.4 红外指令制导导弹

4.4.1 工作原理

红外指令制导导弹通过接收红外制导指令进行制导:

  1. 目标跟踪阶段

    • 红外测角仪跟踪目标的红外辐射
    • 计算目标的角度位置
    • 预测目标的运动轨迹
    • 生成拦截制导指令
  2. 指令传输阶段

    • 红外测角仪发射编码红外信号
    • 导弹接收红外制导指令
    • 解码指令中的制导信息
    • 执行制导机动动作
  3. 制导控制阶段

    • 根据制导指令调整飞行方向
    • 实现对目标的精确拦截
    • 保持与测角仪的通信链路
    • 完成目标攻击任务

4.4.2 关键算法

  1. 目标跟踪算法

    • 红外图像处理
    • 目标识别和分类
    • 运动轨迹预测
    • 拦截点计算
  2. 指令编码算法

    • 制导指令数字化
    • 红外信号调制
    • 抗干扰编码
    • 传输错误检测
  3. 制导控制算法

    • 指令解码处理
    • 制导加速度计算
    • 飞行轨迹修正
    • 目标拦截控制

4.4.3 技术特点

  1. 制导能力

    • 远距离制导能力
    • 多目标攻击能力
    • 复杂环境适应性
    • 高精度拦截能力
  2. 系统要求

    • 需要红外测角仪支持
    • 红外通信链路要求
    • 目标红外特征依赖
    • 大气透过率影响

4.5 红外成像末制导导弹

4.5.1 工作原理

红外成像末制导导弹在末段使用红外成像传感器进行自主制导:

  1. 目标搜索阶段

    • 红外成像传感器扫描搜索区域
    • 检测目标的红外辐射特征
    • 识别和确认目标类型
    • 锁定目标进入跟踪状态
  2. 目标跟踪阶段

    • 持续跟踪目标的红外图像
    • 计算目标的角度位置和距离
    • 预测目标的运动状态
    • 生成制导控制指令
  3. 精确制导阶段

    • 根据目标位置计算制导加速度
    • 控制导弹精确飞向目标
    • 实现高精度的目标攻击
    • 完成末段制导任务

4.5.2 关键算法

  1. 图像处理算法

    • 红外图像增强
    • 目标检测和分割
    • 特征提取和匹配
    • 目标识别和分类
  2. 目标跟踪算法

    • 卡尔曼滤波跟踪
    • 粒子滤波跟踪
    • 多假设跟踪
    • 目标状态估计
  3. 制导控制算法

    • 比例导引法
    • 最优制导法
    • 预测制导法
    • 自适应制导法

4.5.3 技术特点

  1. 制导优势

    • 自主制导能力
    • 高精度攻击能力
    • 抗干扰能力强
    • 全天候作战能力
  2. 技术挑战

    • 图像处理复杂度高
    • 计算资源需求大
    • 目标特征依赖性
    • 环境适应性要求

4.6 毫米波末制导导弹

4.6.1 工作原理

毫米波末制导导弹使用毫米波雷达进行末段制导:

  1. 目标探测阶段

    • 毫米波雷达发射电磁波
    • 接收目标反射的回波信号
    • 计算目标的距离和方位
    • 识别和确认目标类型
  2. 目标跟踪阶段

    • 持续跟踪目标的雷达回波
    • 测量目标的距离、方位和速度
    • 预测目标的运动轨迹
    • 生成制导控制指令
  3. 精确制导阶段

    • 根据雷达测量数据计算制导加速度
    • 控制导弹精确飞向目标
    • 实现高精度的目标攻击
    • 完成末段制导任务

4.6.2 关键算法

  1. 雷达信号处理算法

    • 脉冲压缩处理
    • 多普勒频移检测
    • 距离和速度测量
    • 信号检测和估计
  2. 目标检测算法

    • 恒虚警率检测
    • 目标航迹关联
    • 多目标跟踪
    • 目标识别分类
  3. SwerlingRCS模型

    • Swerling I型慢起伏目标
    • Swerling II型快起伏目标
    • Swerling III型慢起伏目标改进
    • Swerling IV型快起伏目标改进
    • RCS统计特性建模
    • 检测概率计算
  4. 制导控制算法

    • 比例导引法
    • 增强比例导引法
    • 最优制导法
    • 自适应制导法

4.6.3 技术特点

  1. 制导优势

    • 全天候作战能力
    • 强穿透能力
    • 高精度测距能力
    • 抗光电干扰能力
  2. 技术特点

    • 毫米波频段特性
    • 高分辨率成像能力
    • 多目标处理能力
    • 复杂环境适应性
  3. 环境影响

    • 降雨衰减效应
    • 大气吸收影响
    • 地面杂波干扰
    • 多径传播效应

4.7 末敏弹

4.7.1 工作原理

末敏弹是一种特殊的智能弹药,具有自主目标搜索和攻击能力:

  1. 抛撒阶段

    • 母弹在预定高度抛撒子弹
    • 子弹展开降落伞减速下降
    • 启动传感器系统进行目标搜索
    • 进入自主搜索攻击模式
  2. 目标搜索阶段

    • 红外传感器扫描地面目标
    • 毫米波雷达探测金属目标
    • 多传感器融合确认目标类型
    • 选择最优攻击目标
  3. 精确攻击阶段

    • 计算目标的精确位置
    • 控制子弹飞向目标
    • 在最佳位置引爆战斗部
    • 实现对目标的有效毁伤

4.7.2 关键算法

  1. 目标搜索算法

    • 螺旋扫描模式
    • 目标检测算法
    • 目标分类识别
    • 威胁等级评估
  2. 多传感器融合算法

    • 红外和毫米波数据融合
    • 目标特征匹配
    • 置信度计算
    • 决策融合算法
  3. 攻击控制算法

    • 攻击时机选择
    • 攻击角度优化
    • 战斗部引爆控制
    • 毁伤效果评估

4.7.3 技术特点

  1. 智能化特点

    • 自主目标识别
    • 智能攻击决策
    • 多目标处理能力
    • 复杂环境适应性
  2. 作战优势

    • 大面积搜索能力
    • 高精度攻击能力
    • 多目标同时攻击
    • 强生存能力

4.8 复合制导导弹

4.8.1 工作原理

复合制导导弹集成多种制导方式,提供更强的作战能力:

  1. 多模制导系统

    • 毫米波雷达制导
    • 红外成像制导
    • 激光半主动制导
    • 惯性导航制导
  2. 制导模式切换

    • 基于飞行阶段的自动切换
    • 基于环境条件的智能切换
    • 基于目标特性的优化切换
    • 基于干扰情况的应急切换
  3. 数据融合处理

    • 多传感器数据融合
    • 制导信息综合处理
    • 目标状态估计优化
    • 制导精度提升

4.8.2 关键算法

  1. 制导模式选择算法

    • 环境条件评估
    • 目标特性分析
    • 制导性能预测
    • 最优模式选择
  2. 数据融合算法

    • 卡尔曼滤波融合
    • 贝叶斯融合
    • 证据理论融合
    • 神经网络融合
  3. 制导切换算法

    • 切换条件判断
    • 切换时机选择
    • 状态平滑过渡
    • 制导连续性保证

4.8.3 技术特点

  1. 制导优势

    • 多重制导保险
    • 强抗干扰能力
    • 高制导精度
    • 复杂环境适应性
  2. 系统复杂性

    • 多传感器集成
    • 复杂控制逻辑
    • 高计算资源需求
    • 系统可靠性要求

4.9 命中概率计算

4.9.1 命中概率模型

  1. 基础概率模型

    • 基于导弹类型的基础命中概率
    • 基于目标距离的概率修正
    • 基于制导精度的概率计算
    • 基于环境条件的概率调整
  2. 距离影响因子

    • 近距离高命中概率
    • 远距离概率衰减
    • 最优攻击距离
    • 有效攻击范围
  3. 制导精度影响

    • 制导系统精度等级
    • 传感器性能影响
    • 干扰条件影响
    • 目标特性影响

4.9.2 概率计算算法

  1. 综合概率计算

    • 基础概率 × 距离因子 × 制导因子 × 环境因子
    • 各因子的权重分配
    • 概率范围限制
    • 随机性引入
  2. 动态概率更新

    • 实时距离测量
    • 制导状态监控
    • 环境条件变化
    • 概率实时更新
  3. 命中判定算法

    • 概率阈值设定
    • 随机数生成
    • 命中结果判定
    • 结果统计分析

5. 验证方法

5.1 单元测试验证

5.1.1 数据管理系统测试

  1. ThreatSourceDataManager测试

    • 智能路径解析功能验证
    • TOML配置文件加载测试
    • 数据缓存机制验证
    • 错误处理和异常测试
    • 复合制导配置后处理验证
  2. 配置文件格式验证

    • TOML语法正确性检查
    • 必需字段完整性验证
    • 数据类型匹配验证
    • 数值范围合理性检查
    • 依赖关系一致性验证
  3. 路径解析测试

    • DLL位置获取测试
    • 上级目录data文件夹查找
    • 回退路径机制验证
    • 不同部署结构适应性测试
    • 路径解析日志验证

5.1.2 运动学系统测试

  1. KinematicState测试

    • Position、Orientation、Velocity状态管理
    • Speed与Velocity的自动同步
    • 坐标系转换正确性验证
    • 前向方向(-Z轴)计算验证
    • 状态更新和同步机制测试
  2. 升力系统测试

    • LiftModel升力计算验证
    • 俯仰角范围(-5°到15°)测试
    • 升力平衡点(5°)验证
    • 升力系数(1.0 m/s²/度)测试
    • 垂直加速度合成验证
  3. 加速度合成测试

    • 制导加速度计算验证
    • 推力加速度应用测试
    • 升力加速度集成验证
    • 阻力加速度计算测试
    • 重力加速度合成验证

5.1.3 制导系统测试

  1. 激光半主动制导测试

    • 四象限探测器算法验证
    • 激光功率分布计算测试
    • 目标反射系数应用验证
    • 比例导引算法测试
    • 干扰处理算法验证
  2. 激光驾束制导测试

    • 波束跟踪算法验证
    • 编码解码算法测试
    • 控制场直径计算验证
    • PID控制器参数测试
    • 波束偏差计算验证
  3. 红外制导系统测试

    • 红外图像处理算法验证
    • 目标识别和分类测试
    • 运动轨迹预测验证
    • 制导指令生成测试
    • 抗干扰能力验证
  4. 毫米波制导测试

    • 雷达信号处理算法验证
    • SwerlingRCS模型测试
    • 目标检测算法验证
    • 距离和速度测量测试
    • 多目标跟踪验证
  5. 复合制导测试

    • 制导模式切换算法验证
    • 数据融合算法测试
    • 制导系统激活触发器验证
    • 制导质量评估测试
    • 失效处理机制验证

5.1.4 状态信息系统测试

  1. ElementStatusInfo测试

    • 统一状态信息结构验证
    • GetStatusInfo方法实现测试
    • 扩展属性字典功能验证
    • 嵌套状态信息测试
    • 时间戳同步验证
  2. 状态信息层次测试

    • SimulationElement基础状态测试
    • BaseMissile导弹状态验证
    • BaseGuidanceSystem制导状态测试
    • BaseEquipment设备状态验证
    • BaseSensor传感器状态测试
  3. 状态信息格式化测试

    • 状态信息序列化验证
    • JSON格式输出测试
    • 状态信息可读性验证
    • 调试信息完整性测试
    • 性能监控数据验证

5.1.5 事件系统测试

  1. 事件发布订阅测试

    • 类型安全事件处理验证
    • 事件订阅和取消订阅测试
    • 事件发布和分发验证
    • 异常隔离机制测试
    • 事件队列管理验证
  2. 导弹生命周期事件测试

    • 导弹发射事件验证
    • 飞行阶段变化事件测试
    • 制导状态变化事件验证
    • 导弹爆炸事件测试
    • 自毁事件验证
  3. 制导相关事件测试

    • 激光照射事件验证
    • 激光波束事件测试
    • 红外制导指令事件验证
    • 毫米波探测事件测试
    • 目标命中事件验证

5.2 集成测试验证

5.2.1 系统集成测试

  1. 数据管理集成测试

    • 配置文件加载与实体创建集成
    • 数据缓存与仿真运行集成
    • 错误处理与系统稳定性集成
    • 热更新与运行时配置集成
    • 多设备类型协同工作测试
  2. 仿真管理集成测试

    • 仿真状态控制与实体管理集成
    • 时间同步与实体更新集成
    • 天气系统与制导系统集成
    • 事件系统与仿真流程集成
    • 外部适配器与内部系统集成
  3. 制导系统集成测试

    • 制导系统与导弹基类集成
    • 传感器与制导算法集成
    • 制导事件与系统响应集成
    • 干扰系统与制导性能集成
    • 多制导系统协同工作测试

5.2.2 端到端测试

  1. 完整攻击流程测试

    • 导弹发射到命中全流程验证
    • 制导系统激活和切换测试
    • 目标探测和跟踪验证
    • 制导控制和轨迹修正测试
    • 命中判定和毁伤评估验证
  2. 复杂场景测试

    • 多导弹协同攻击测试
    • 复杂环境条件下的制导验证
    • 干扰条件下的系统性能测试
    • 目标机动情况下的跟踪验证
    • 系统故障情况下的容错测试
  3. 性能压力测试

    • 大量实体同时仿真测试
    • 高频率事件处理验证
    • 内存使用和泄漏检测
    • CPU性能和优化验证
    • 并发访问和线程安全测试

5.3 算法验证

5.3.1 制导算法验证

  1. 比例导引算法验证

    • 导航比例系数优化测试
    • 视线角速度计算精度验证
    • 制导加速度收敛性测试
    • 目标拦截轨迹分析
    • 制导精度统计验证
  2. 目标跟踪算法验证

    • 卡尔曼滤波跟踪精度测试
    • 目标状态估计误差分析
    • 运动轨迹预测准确性验证
    • 多目标跟踪性能测试
    • 跟踪丢失恢复能力验证
  3. 传感器算法验证

    • 激光功率分布计算验证
    • 红外图像处理算法测试
    • 毫米波信号处理验证
    • 多传感器融合算法测试
    • 传感器噪声处理验证

5.3.2 物理模型验证

  1. 运动学模型验证

    • 位置、速度、加速度关系验证
    • 坐标系转换正确性测试
    • 欧拉角与旋转矩阵一致性验证
    • 运动状态积分精度测试
    • 数值稳定性分析
  2. 升力模型验证

    • 升力系数实验数据对比
    • 俯仰角与升力关系验证
    • 升力平衡点准确性测试
    • 升力加速度计算验证
    • 飞行阶段升力变化测试
  3. 传播模型验证

    • 激光传播衰减模型验证
    • 红外辐射传播模型测试
    • 毫米波传播特性验证
    • 大气影响模型准确性测试
    • 环境条件影响分析

5.3.3 概率模型验证

  1. 命中概率模型验证

    • 基础概率设定合理性验证
    • 距离影响因子准确性测试
    • 制导精度影响分析
    • 环境条件影响验证
    • 概率计算算法测试
  2. SwerlingRCS模型验证

    • 各型Swerling模型实现验证
    • RCS统计特性准确性测试
    • 检测概率计算验证
    • 目标起伏特性建模测试
    • 雷达检测性能分析
  3. 随机噪声模型验证

    • 运动状态噪声系数验证
    • 飞行阶段噪声变化测试
    • 噪声分布特性验证
    • 噪声对制导精度影响分析
    • 噪声模型参数优化

5.4 性能验证

5.4.1 计算性能验证

  1. 实时性能测试

    • 仿真步长执行时间测量
    • 制导算法计算时间分析
    • 事件处理响应时间测试
    • 状态更新性能验证
    • 实时性要求满足度评估
  2. 内存性能测试

    • 内存使用量监控
    • 内存泄漏检测
    • 缓存效率分析
    • 垃圾回收影响测试
    • 内存优化效果验证
  3. 并发性能测试

    • 多线程访问安全性验证
    • 锁竞争和死锁检测
    • 并发处理能力测试
    • 线程池性能分析
    • 并发优化效果验证

5.4.2 精度性能验证

  1. 制导精度验证

    • 各制导系统精度统计
    • 制导误差分布分析
    • 精度影响因素识别
    • 精度改进效果验证
    • 精度要求满足度评估
  2. 数值精度验证

    • 浮点数计算精度测试
    • 数值积分误差分析
    • 累积误差控制验证
    • 数值稳定性测试
    • 精度损失原因分析
  3. 时间精度验证

    • 时间同步精度测试
    • 事件时间戳准确性验证
    • 仿真时间与实际时间对比
    • 时间步长影响分析
    • 时间精度要求满足度评估

5.4.3 可靠性验证

  1. 系统稳定性测试

    • 长时间运行稳定性验证
    • 异常情况处理能力测试
    • 系统恢复能力验证
    • 错误传播控制测试
    • 系统容错能力分析
  2. 数据一致性验证

    • 配置数据一致性检查
    • 状态数据同步验证
    • 事件数据完整性测试
    • 数据备份和恢复验证
    • 数据损坏检测和修复
  3. 接口兼容性验证

    • 版本兼容性测试
    • 接口向后兼容验证
    • 外部系统集成测试
    • 配置文件格式兼容性验证
    • API接口稳定性测试

5.5 验证工具和方法

5.5.1 自动化测试工具

  1. 单元测试框架

    • NUnit测试框架应用
    • 测试用例自动生成
    • 测试覆盖率分析
    • 持续集成测试
    • 回归测试自动化
  2. 性能测试工具

    • 性能监控工具集成
    • 基准测试自动化
    • 性能回归检测
    • 性能瓶颈分析
    • 性能优化验证
  3. 集成测试工具

    • 端到端测试自动化
    • 场景测试脚本
    • 数据驱动测试
    • 环境配置自动化
    • 测试结果分析

5.5.2 验证数据管理

  1. 测试数据准备

    • 标准测试数据集
    • 边界条件测试数据
    • 异常情况测试数据
    • 性能测试数据
    • 回归测试数据
  2. 验证结果管理

    • 测试结果记录和分析
    • 验证报告自动生成
    • 问题跟踪和管理
    • 验证历史记录
    • 质量指标统计
  3. 基准数据维护

    • 算法基准结果维护
    • 性能基准数据更新
    • 精度基准标准制定
    • 基准数据版本管理
    • 基准比较分析

5.5.3 验证流程管理

  1. 验证计划制定

    • 验证需求分析
    • 验证策略制定
    • 验证计划编制
    • 资源分配和调度
    • 风险评估和控制
  2. 验证执行管理

    • 验证任务分配
    • 验证进度跟踪
    • 问题识别和处理
    • 验证质量控制
    • 验证结果评审
  3. 验证改进管理

    • 验证效果评估
    • 验证方法改进
    • 验证工具优化
    • 验证流程完善
    • 经验总结和分享

6. 仿真接口

6.1 核心接口定义

6.1.1 仿真管理接口

  1. ISimulationManager接口

    仿真管理器的核心接口,提供仿真控制功能:

    • StartSimulation(double timeStep):启动仿真,指定时间步长
    • PauseSimulation():暂停仿真
    • ResumeSimulation():恢复仿真
    • StopSimulation():停止仿真并重置
    • UpdateSimulation():执行一次仿真更新
    • 状态属性CurrentTime、SimulationState、TimeStep
  2. ISimulationElement接口

    仿真实体的基础接口,所有仿真对象必须实现:

    • Update(double deltaTime):更新实体状态
    • GetStatusInfo():获取统一状态信息
    • 属性访问Id、KState、IsActive、ElementType
    • 生命周期管理Initialize()、Destroy()
  3. IEventSystem接口

    事件系统接口,提供类型安全的事件处理:

    • Subscribe(Action handler):订阅特定类型事件
    • Unsubscribe(Action handler):取消订阅
    • Publish(T eventData):发布事件
    • 事件队列管理和异常隔离

6.1.2 数据管理接口

  1. IThreatSourceDataManager接口

    数据管理器接口,提供配置数据访问:

    • LoadData():加载所有配置数据
    • GetMissileData(string modelName):获取导弹配置
    • GetIndicatorData(string modelName):获取指示器配置
    • GetSensorData(string modelName):获取传感器配置
    • GetEquipmentData(string modelName):获取设备配置
    • GetWeatherData(string modelName):获取天气配置
    • GetJammerData(string modelName):获取干扰机配置
  2. IConfigurationData接口

    配置数据的基础接口:

    • Type设备类型标识
    • Name多语言名称支持
    • Properties基础属性字典
    • Validate():配置数据验证
  3. IDataCache接口

    数据缓存管理接口:

    • Get(string key):获取缓存数据
    • Set(string key, T value):设置缓存数据
    • Remove(string key):移除缓存数据
    • Clear():清空缓存
    • Contains(string key):检查缓存存在性

6.1.3 制导系统接口

  1. IGuidanceSystem接口

    制导系统的统一接口:

    • CalculateGuidanceAcceleration():计算制导加速度
    • GetStatusInfo():获取制导系统状态
    • IsGuidanceActive制导激活状态
    • GuidanceAcceleration当前制导加速度
    • 事件处理ProcessGuidanceEvent(IGuidanceEvent)
  2. IGuidanceEvent接口

    制导事件的基础接口:

    • SenderId事件发送者ID
    • Timestamp事件时间戳
    • EventType事件类型标识
    • EventData事件数据载荷
  3. ITargetTracker接口

    目标跟踪器接口:

    • TrackTarget(ITarget target):跟踪目标
    • PredictTargetPosition(double time):预测目标位置
    • GetTrackingAccuracy():获取跟踪精度
    • IsTargetLocked目标锁定状态

6.1.4 传感器系统接口

  1. ISensor接口

    传感器的基础接口:

    • DetectTargets():探测目标
    • GetSensorData():获取传感器数据
    • GetStatusInfo():获取传感器状态
    • IsJammed干扰状态
    • DetectionRange探测距离
  2. ILaserSensor接口

    激光传感器专用接口:

    • CalculateLaserPower(Vector3 position):计算激光功率
    • GetQuadrantPowers():获取四象限功率
    • LaserWavelength激光波长
    • DetectorDiameter探测器直径
  3. IRadarSensor接口

    雷达传感器专用接口:

    • CalculateRCS(ITarget target)计算目标RCS
    • GetSwerlingModel()获取Swerling模型
    • WorkingFrequency工作频率
    • TransmitPower发射功率

6.2 外部系统集成接口

6.2.1 仿真适配器接口

  1. ISimulationAdapter接口

    外部仿真系统适配器的统一接口:

    • Initialize():初始化适配器
    • OnTimeSync(double currentTime):时间同步通知
    • OnEntityUpdate(ISimulationElement entity):实体状态更新通知
    • OnEventPublished(T eventData):事件发布通知
    • SendExternalEvent(T eventData):发送外部事件
    • IsConnected连接状态
  2. IUnityAdapter接口

    Unity引擎适配器专用接口

    • UpdateUnityTransform(string entityId, Transform transform)更新Unity变换
    • CreateUnityGameObject(ISimulationElement entity)创建Unity对象
    • DestroyUnityGameObject(string entityId)销毁Unity对象
    • SyncUnityPhysics()同步Unity物理系统
  3. IUnrealAdapter接口

    Unreal引擎适配器专用接口

    • UpdateUnrealActor(string entityId, FTransform transform)更新Unreal Actor
    • SpawnUnrealActor(ISimulationElement entity)生成Unreal Actor
    • DestroyUnrealActor(string entityId)销毁Unreal Actor
    • SyncUnrealWorld()同步Unreal世界状态

6.2.2 数据交换接口

  1. IDataExporter接口

    数据导出接口:

    • ExportSimulationData(string filePath):导出仿真数据
    • ExportEntityStates(IEnumerable entities):导出实体状态
    • ExportEventHistory(IEnumerable events):导出事件历史
    • SupportedFormats支持的导出格式
  2. IDataImporter接口

    数据导入接口:

    • ImportSimulationData(string filePath):导入仿真数据
    • ImportEntityStates(string filePath):导入实体状态
    • ImportEventHistory(string filePath):导入事件历史
    • ValidateImportData(string filePath):验证导入数据
  3. IRealtimeDataStream接口

    实时数据流接口:

    • StartDataStream():启动数据流
    • StopDataStream():停止数据流
    • SendRealtimeData(T data):发送实时数据
    • OnDataReceived(Action handler):数据接收处理
    • StreamStatus数据流状态

6.2.3 网络通信接口

  1. INetworkManager接口

    网络管理器接口:

    • StartServer(int port):启动服务器
    • ConnectToServer(string address, int port):连接服务器
    • SendMessage(T message):发送消息
    • OnMessageReceived(Action handler):消息接收处理
    • IsConnected连接状态
  2. IMessageSerializer接口

    消息序列化接口:

    • Serialize(T obj):序列化对象
    • Deserialize(byte[] data):反序列化对象
    • GetSupportedTypes():获取支持的类型
    • SerializationFormat序列化格式

6.3 状态信息接口

6.3.1 统一状态信息

  1. ElementStatusInfo类

    统一的状态信息结构:

    • Id实体唯一标识符
    • ElementType实体类型名称
    • KState运动学状态信息
    • IsActive活动状态标志
    • Timestamp状态时间戳
    • ExtendedProperties扩展属性字典
  2. 状态信息扩展属性

    不同实体类型的扩展属性:

    • 导弹状态:飞行时间、飞行阶段、制导状态、升力加速度
    • 制导系统状态:制导加速度、干扰状态、目标锁定状态
    • 传感器状态:探测状态、干扰功率、传感器数据
    • 设备状态:生命值、属性信息、工作状态
  3. 状态信息格式化

    状态信息的标准化输出:

    • JSON格式序列化
    • 可读性格式化
    • 调试信息输出
    • 性能监控数据

6.3.2 状态查询接口

  1. IStatusProvider接口

    状态提供者接口:

    • GetStatusInfo():获取当前状态信息
    • GetHistoryStatus(DateTime timestamp):获取历史状态
    • GetStatusSummary():获取状态摘要
    • SubscribeStatusUpdates(Action handler):订阅状态更新
  2. IStatusCollector接口

    状态收集器接口:

    • CollectAllStatus():收集所有实体状态
    • CollectStatusByType(string elementType):按类型收集状态
    • CollectStatusByFilter(Func<ISimulationElement, bool> filter):按条件收集状态
    • GetStatusStatistics():获取状态统计信息

6.4 配置接口

6.4.1 配置管理接口

  1. IConfigurationManager接口

    配置管理器接口:

    • LoadConfiguration(string configPath):加载配置
    • SaveConfiguration(string configPath):保存配置
    • GetConfigurationValue(string key):获取配置值
    • SetConfigurationValue(string key, T value):设置配置值
    • ValidateConfiguration():验证配置
  2. IConfigurationProvider接口

    配置提供者接口:

    • GetConfiguration(string key):获取特定配置
    • GetAllConfigurations():获取所有配置
    • IsConfigurationAvailable(string key):检查配置可用性
    • GetConfigurationMetadata(string key):获取配置元数据

6.4.2 动态配置接口

  1. IHotReloadable接口

    热重载接口:

    • ReloadConfiguration():重新加载配置
    • OnConfigurationChanged(Action handler):配置变更通知
    • CanHotReload是否支持热重载
    • LastReloadTime最后重载时间
  2. IConfigurationValidator接口

    配置验证器接口:

    • ValidateConfiguration(object config):验证配置
    • GetValidationRules():获取验证规则
    • GetValidationErrors():获取验证错误
    • IsValid配置是否有效

6.5 扩展接口

6.5.1 插件系统接口

  1. IPlugin接口

    插件基础接口:

    • Initialize(IServiceProvider serviceProvider):初始化插件
    • Start():启动插件
    • Stop():停止插件
    • GetPluginInfo():获取插件信息
    • IsEnabled插件启用状态
  2. IPluginManager接口

    插件管理器接口:

    • LoadPlugin(string pluginPath):加载插件
    • UnloadPlugin(string pluginName):卸载插件
    • GetLoadedPlugins():获取已加载插件
    • EnablePlugin(string pluginName):启用插件
    • DisablePlugin(string pluginName):禁用插件

6.5.2 自定义扩展接口

  1. ICustomGuidanceSystem接口

    自定义制导系统接口:

    • RegisterCustomGuidance(string name, Type guidanceType):注册自定义制导
    • CreateCustomGuidance(string name):创建自定义制导实例
    • GetSupportedGuidanceTypes():获取支持的制导类型
  2. ICustomSensor接口

    自定义传感器接口:

    • RegisterCustomSensor(string name, Type sensorType):注册自定义传感器
    • CreateCustomSensor(string name):创建自定义传感器实例
    • GetSupportedSensorTypes():获取支持的传感器类型

6.6 接口使用示例

6.6.1 基本仿真控制

  1. 仿真初始化和启动

    基本的仿真控制流程:

    • 创建仿真管理器实例
    • 加载配置数据
    • 注册仿真实体
    • 启动仿真循环
    • 处理仿真事件
  2. 实体创建和管理

    仿真实体的创建和管理:

    • 从配置数据创建实体
    • 注册实体到仿真管理器
    • 设置实体初始状态
    • 订阅实体事件
    • 管理实体生命周期

6.6.2 外部系统集成

  1. Unity集成示例

    与Unity引擎的集成

    • 创建Unity适配器
    • 同步仿真时间
    • 更新Unity对象变换
    • 处理Unity事件
    • 同步物理系统
  2. 数据导出示例

    仿真数据的导出:

    • 配置数据导出器
    • 选择导出格式
    • 导出实体状态
    • 导出事件历史
    • 验证导出数据

6.6.3 自定义扩展

  1. 自定义制导系统

    实现自定义制导算法:

    • 继承IGuidanceSystem接口
    • 实现制导算法逻辑
    • 注册自定义制导类型
    • 配置制导参数
    • 测试制导性能
  2. 自定义传感器

    实现自定义传感器:

    • 继承ISensor接口
    • 实现传感器算法
    • 注册自定义传感器类型
    • 配置传感器参数
    • 验证传感器功能

7. 附录

7.1 术语表

7.1.1 基础术语

仿真实体Simulation Element

  • 仿真系统中的基本对象,包括导弹、目标、传感器等
  • 继承自SimulationElement基类
  • 具有统一的生命周期管理和状态信息

运动学状态Kinematic State

  • 描述实体运动状态的数据结构
  • 包含位置、朝向、速度等信息
  • 使用KinematicState类统一管理

制导系统Guidance System

  • 控制导弹飞行轨迹的系统
  • 包括激光、红外、毫米波等多种制导方式
  • 实现IGuidanceSystem接口

事件系统Event System

  • 基于发布订阅模式的消息传递机制
  • 提供类型安全的事件处理
  • 支持异步事件处理和异常隔离

7.1.2 制导术语

比例导引Proportional Navigation

  • 经典的制导算法
  • 基于视线角速度的制导方法
  • 广泛应用于各种制导系统

四象限探测器Quadrant Detector

  • 激光制导中的关键传感器
  • 将探测区域分为四个象限
  • 通过功率分布确定目标方位

SwerlingRCS模型

  • 雷达散射截面的统计模型
  • 包括Swerling I、II、III、IV型
  • 用于毫米波制导的目标建模

升力模型Lift Model

  • 基于俯仰角计算升力加速度
  • 升力平衡点为5°俯仰角
  • 升力系数为1.0 m/s²/度

7.1.3 技术术语

智能路径解析Smart Path Resolution

  • ThreatSourceDataManager的核心功能
  • 自动查找DLL上级目录的data文件夹
  • 提供回退路径机制

复合制导Composite Guidance

  • 集成多种制导方式的系统
  • 支持串行和并行制导模式
  • 提供制导冗余和性能优化

状态信息管理Status Information Management

  • ElementStatusInfo统一状态信息结构
  • GetStatusInfo方法的标准实现
  • 支持扩展属性和嵌套状态

TOML配置格式

  • Tom's Obvious, Minimal Language
  • 人类可读的配置文件格式
  • 支持类型安全和嵌套结构

7.1.4 坐标系术语

世界坐标系World Coordinate System

  • 右手坐标系
  • X轴指向东方Y轴指向上方Z轴指向北方
  • 仿真场景的全局坐标系

本体坐标系Body Coordinate System

  • 导弹本体的局部坐标系
  • X轴指向右翼Y轴指向上方Z轴指向后方
  • 前向方向为-Z轴(重要变更)

欧拉角Euler Angles

  • 偏航角Yaw绕Y轴旋转
  • 俯仰角Pitch绕X轴旋转
  • 滚转角Roll绕Z轴旋转

7.2 技术参数

7.2.1 系统性能参数

仿真性能

  • 最大实体数量1000+
  • 仿真步长0.001-1.0秒
  • 事件处理延迟:<1ms
  • 内存使用:<500MB1000实体

制导精度

  • 激光半主动制导CEP < 1m
  • 激光驾束制导CEP < 0.5m
  • 红外成像制导CEP < 2m
  • 毫米波制导CEP < 3m

数据处理性能

  • 配置文件加载:<100ms
  • 状态信息更新:<10μs/实体
  • 事件处理:<1μs/事件
  • 数据缓存命中率:>95%

7.2.2 物理模型参数

升力模型参数

  • 有效俯仰角范围:-5°到15°
  • 升力平衡点5°俯仰角
  • 升力系数1.0 m/s²/度
  • 重力加速度9.81 m/s²

传播模型参数

  • 激光大气透过率0.7-0.9
  • 红外大气透过率0.6-0.8
  • 毫米波降雨衰减0.1-10 dB/km
  • 视距传播距离50km+

噪声模型参数

  • Launch阶段噪声系数0.1
  • Cruise阶段噪声系数0.05
  • TerminalGuidance阶段噪声系数0.02
  • 噪声分布:高斯分布

7.2.3 配置参数范围

导弹参数范围

  • 最大速度100-2000 m/s
  • 最大加速度10-100 m/s²
  • 最大飞行时间10-300秒
  • 最大飞行距离1-50公里

制导参数范围

  • 导航比例系数2-6
  • 最大制导加速度20-80 m/s²
  • 制导激活距离100-5000米
  • 制导精度要求0.1-5米

传感器参数范围

  • 激光功率1-100瓦
  • 探测距离100-10000米
  • 视场角1-30度
  • 工作频率1-100 GHz

7.3 配置示例

7.3.1 导弹配置示例

Type = "missile"

[Name]
zh = "激光半主动制导导弹"
en = "Laser Semi-Active Guided Missile"

[Properties]
MaxSpeed = 800.0
MaxAcceleration = 50.0
MaxFlightTime = 120.0
MaxFlightDistance = 8000.0
CruiseAttackAngle = 5.0
GuidanceDownwardViewingAngle = 15.0

[LaserSemiActiveGuidanceConfig]
DetectorDiameter = 0.1
FieldOfView = 30.0
LockThreshold = 0.001
MaxGuidanceAcceleration = 40.0
NavigationGain = 3.0

7.3.2 复合制导配置示例

Type = "missile"

[Name]
zh = "毫米波红外复合制导导弹"
en = "MMW/IR Composite Guided Missile"

[[GuidanceSuite]]
Name = "毫米波制导"
GuidanceSystemType = "millimeterwave"
ActivationTrigger = "LaunchTime"
MaxAcquisitionGuidanceTime = 10.0
MinStableGuidanceTime = 2.0
ContinueOnFailure = true

[[GuidanceSuite]]
Name = "红外成像制导"
GuidanceSystemType = "infraredimagingterminalguidance"
ActivationTrigger = "PreviousComplete"
MaxAcquisitionGuidanceTime = 15.0
MinStableGuidanceTime = 3.0
ContinueOnFailure = false

[MillimeterWaveGuidanceConfig]
WorkingFrequency = 35.0
TransmitPower = 10.0
MaxDetectionRange = 5000.0

[InfraredImagingGuidanceConfig]
MaxDetectionRange = 3000.0
FieldOfView = 20.0
TargetRecognitionProbability = 0.9

7.3.3 传感器配置示例

Type = "sensor"

[Name]
zh = "毫米波雷达"
en = "Millimeter Wave Radar"

[Properties]
WorkingFrequency = 35.0
TransmitPower = 15.0
AntennaGain = 30.0
MaxDetectionRange = 8000.0
FieldOfView = 45.0
SwerlingModel = "SwerlingII"

7.4 开发指南

7.4.1 开发环境要求

软件环境

  • .NET 8.0+
  • Visual Studio 2019+
  • NUnit 3.12+
  • Tomlyn 0.16+

硬件环境

  • CPUIntel i5 8代+
  • 内存8GB+
  • 存储SSD 100GB+
  • 显卡支持DirectX 11+

开发工具

  • Git版本控制
  • NuGet包管理
  • MSBuild构建系统
  • NUnit测试框架

7.4.2 编码规范

命名规范

  • 类名PascalCase如BaseMissile
  • 方法名PascalCase如GetStatusInfo
  • 属性名PascalCase如IsActive
  • 字段名camelCase如isGuidanceActive
  • 常量名UPPER_CASE如MAX_SPEED

注释规范

  • 类注释:描述类的用途和功能
  • 方法注释:描述方法的功能、参数和返回值
  • 复杂逻辑注释:解释算法和业务逻辑
  • 注释语言:中文

代码结构

  • 单一职责原则
  • 开闭原则
  • 依赖倒置原则
  • 接口隔离原则

7.4.3 测试指南

单元测试

  • 测试覆盖率:>80%
  • 测试命名Should_ExpectedBehavior_When_StateUnderTest
  • 测试结构Arrange-Act-Assert
  • 测试数据:使用测试数据构建器

集成测试

  • 端到端测试场景
  • 外部系统集成测试
  • 性能基准测试
  • 压力测试

测试自动化

  • 持续集成测试
  • 回归测试自动化
  • 性能回归检测
  • 测试报告生成

7.5 故障排除

7.5.1 常见问题

配置文件问题

  • 问题:配置文件加载失败
  • 原因:文件路径错误或格式错误
  • 解决检查路径解析日志验证TOML格式

制导系统问题

  • 问题:制导不生效
  • 原因:制导事件未接收或参数错误
  • 解决:检查事件订阅,验证制导参数

性能问题

  • 问题:仿真运行缓慢
  • 原因:实体数量过多或算法复杂度高
  • 解决:优化算法,减少实体数量

7.5.2 调试技巧

日志分析

  • 启用详细日志输出
  • 分析错误堆栈信息
  • 跟踪关键方法调用
  • 监控性能指标

状态检查

  • 使用GetStatusInfo方法
  • 检查实体状态信息
  • 验证制导系统状态
  • 监控事件流

性能分析

  • 使用性能分析工具
  • 监控内存使用
  • 分析CPU占用
  • 检查线程安全