diff --git a/ThreatSource/src/Simulation/SimulationEvents.cs b/ThreatSource/src/Simulation/SimulationEvents.cs index 3a7be89..1c3e4bf 100644 --- a/ThreatSource/src/Simulation/SimulationEvents.cs +++ b/ThreatSource/src/Simulation/SimulationEvents.cs @@ -656,4 +656,23 @@ namespace ThreatSource.Simulation /// public JammingType StoppedJammingType => Parameters.Type; } + + /// + /// 时间同步事件,表示仿真时间被外部系统同步 + /// + /// + /// 在仿真时间被外部仿真环境同步时触发 + /// 用于通知其他组件时间已更新,需要相应调整 + /// + public class TimeSynchronizationEvent : SimulationEvent + { + /// + /// 获取或设置同步后的仿真时间 + /// + /// + /// 表示外部系统设置的新仿真时间 + /// 所有组件应基于此时间进行状态更新 + /// + public double SynchronizedTime { get; set; } + } } diff --git a/ThreatSource/src/Simulation/SimulationManager.cs b/ThreatSource/src/Simulation/SimulationManager.cs index 6aeba71..a6347d6 100644 --- a/ThreatSource/src/Simulation/SimulationManager.cs +++ b/ThreatSource/src/Simulation/SimulationManager.cs @@ -551,6 +551,43 @@ namespace ThreatSource.Simulation { PublishEvent(evt); } + + /// + /// 同步仿真时间 + /// + /// 外部仿真系统的时间 + /// + /// 用于与外部仿真环境进行时间同步: + /// - 设置当前仿真时间为指定值 + /// - 通知适配器进行时间同步(如果存在) + /// - 发布时间同步事件通知其他系统 + /// + /// 使用场景: + /// - 外部仿真环境驱动威胁源库时间 + /// - 分布式仿真中的时间协调 + /// - 仿真回放功能 + /// + public void SynchronizeTime(double simulationTime) + { + // 更新内部仿真时间 + CurrentTime = simulationTime; + + // 如果配置了外部适配器,通知其进行时间同步 + if (_simulationAdapter != null) + { + _simulationAdapter.SynchronizeTime(simulationTime); + } + + // 发布时间同步事件,通知其他组件 + var timeEvent = new TimeSynchronizationEvent + { + SynchronizedTime = simulationTime, + Timestamp = simulationTime + }; + PublishEvent(timeEvent); + + Debug.WriteLine($"[时间同步] 仿真时间已同步至: {simulationTime:F3}s"); + } #endregion /// diff --git a/docs/project/威胁源库功能升级简介.md b/docs/project/威胁源库功能升级简介.md new file mode 100644 index 0000000..7858160 --- /dev/null +++ b/docs/project/威胁源库功能升级简介.md @@ -0,0 +1,99 @@ +# 威胁源库功能升级简介(V1.2) + +本文档总结了威胁源仿真库的主要功能升级,旨在为用户介绍新增功能和性能改进。 + +## 1. 导弹系统 + +### 1.1 新增双模复合制导导弹 +- **激光/红外成像复合制导导弹**:制导前段使用激光制导,后段使用红外成像制导,支持制导模式失效时自动切换 +- **毫米波/红外成像复合制导导弹**:制导前段使用毫米波搜索,后段使用红外成像制导,支持制导模式失效时自动切换 +- **多模制导**:架构支持扩展,可支持多种制导模式组合,支持优先级和切换条件(暂不支持多模信息融合) + +### 1.2 制导系统优化 +- **激光半主动制导**:实现基于四象限探测器的精确比例导引 +- **激光驾束制导**:优化激光驾束光场和制导算法 +- **毫米波制导**:搜索阶段采用螺旋扫描模式,跟踪阶段采用单脉冲雷达制导 +- **红外成像制导**:实现红外图像生成和模式识别算法,识别目标类型并实现稳定跟踪 +- **末敏弹**:实现末敏弹的四种传感器,包括激光测距仪、红外探测器、毫米波辐射计、高度计的数据采集和处理算法,完整实现末敏弹各运行阶段的处理逻辑和参数优化。 + +### 1.3 运动学模型改进 +- **物理建模完善**:增加升力加速度计算,全程考虑重力加速度影响 +- **发射弹道多样化**:支持低平弹道、高抛弹道、俯冲弹道等多种发射模式 +- **朝向控制优化**:完善导引头朝向控制和导弹本体朝向控制逻辑 + +### 1.4 支持激光编码 +- **多种编码方式**:支持PRF脉冲重复频率、PPM脉冲位置调制、PWM脉冲宽度调制等编码方式及相关参数 +- **激光编码匹配**:对激光制导和干扰等场景,进行编码匹配检查 + +## 2. 装备系统 + +### 2.1 目标特征建模 +- **RCS特征矩阵**:为装备增加雷达截面积特征矩阵,支持角度相关的RCS建模 +- **Swerling RCS模型**:实现动态RCS回波模型,模拟真实目标的雷达特征变化 +- **红外辐射特征矩阵**:增加红外辐射特征矩阵,支持红外成像制导的特征建模 + +## 3. 指示器系统 + +### 3.1 抗干扰能力 +- **烟幕遮挡算法**:完善激光目标指示器、激光驾束仪、红外测角仪的烟幕遮挡计算逻辑 +- **透过率计算**:优化各组件烟幕透过率计算 + +### 3.2 环境适应性 +- **大气影响建模**:增加大气透过率影响和风向风速对指示器性能的影响 + +## 4. 干扰机系统 + +### 4.1 新增干扰类型 +- **毫米波补偿干扰器**:实现对末敏弹的毫米波辐射计的干扰 +- **激光诱偏目标**:完善激光制导导弹的诱偏干扰能力 +- **烟幕弹**:完善烟幕弹对各种导弹的干扰,支持周向烟幕弹和顶部烟幕弹,增加烟幕弹密度、尺寸、温度、辐射强度等参数计算处理 + +### 4.2 干扰算法优化 +- **多干扰并行处理**:支持每个组件同时处理多种干扰类型 +- **烟幕弹干扰增强**: + - 对末敏弹红外探测器的干扰处理 + - 对红外成像制导的目标识别干扰 + - 对各类指示器和导弹导引头的遮挡干扰 + +### 4.3 干扰效果建模 +- **假目标干扰**:实现半主动激光制导的假目标干扰算法 +- **图像干扰**:改进红外成像制导的烟幕弹干扰算法 + +## 5. 天气环境系统 + +### 5.1 环境参数影响 +- **实时环境影响**:增加大气透过率、风向风速对导弹飞行、制导、干扰的实时影响 + +## 6. 仿真环境系统 + +### 6.1 配置管理 +- **TOML格式支持**:配置文件格式从JSON迁移到TOML,提高可读性和维护性 +- **组件参数标准化**:建立标准化的组件参数配置体系 +- **可选参数机制**:为装备增加可选参数配置,提高参数设置灵活性 + +### 6.2 状态信息系统 +- **统一状态接口**:引入ElementStatusInfo类,统一实现运行态信息返回 +- **生命周期事件**:增加导弹生命周期状态事件和制导事件,支持详细的仿真监控 + +### 6.4 第三方集成 +- **仿真适配器接口**: + - 增加状态数据接口 + - 增加环境参数设置接口 + - 增加仿真时间同步接口 + +## 7. 测试与验证 + +### 7.1 测试体系完善 +- **集成测试优化**:完善集成测试菜单逻辑,支持反复运行和干扰器正常工作 +- **专项测试用例**:增加激光编码、干扰处理、多模制导等专项测试用例 + +## 8. 未来发展方向 + +- **随机性建模**:完善命中概率和系统随机噪声建模 +- **API文档完善**:同步更新DLL库文档、API文档、使用说明、工作原理 +- **第三方集成规范**:规范第三方仿真环境使用DLL库的场景和事件类型 +- **参数验证机制**:实现DLL库接口有效性验证,提高系统可靠性 + +--- + +*本文档基于威胁源库V1.2.2(2025年5月28日)版本更新记录整理,详细技术文档请参考相应的API文档和用户手册。* \ No newline at end of file diff --git a/docs/project/威胁源库功能升级简介.pdf b/docs/project/威胁源库功能升级简介.pdf new file mode 100644 index 0000000..fe578ae Binary files /dev/null and b/docs/project/威胁源库功能升级简介.pdf differ