168 lines
6.7 KiB
Markdown
168 lines
6.7 KiB
Markdown
# 威胁源仿真库设计文档
|
||
|
||
## 接口设计
|
||
|
||
### 核心接口继承关系
|
||
|
||
```mermaid
|
||
classDiagram
|
||
ISimulationElement <|-- ITarget
|
||
ISpectralCharacteristics <|-- ITarget
|
||
ISimulationElement <|.. SimulationElement
|
||
ISpectralCharacteristics <|.. SimulationElement
|
||
SimulationElement <|-- Tank
|
||
ITarget <|.. Tank
|
||
|
||
class ISimulationElement {
|
||
+string Id
|
||
+Vector3D Position
|
||
+Vector3D Velocity
|
||
+double Speed
|
||
+Orientation Orientation
|
||
+bool IsActive
|
||
+Update(deltaTime)
|
||
+Activate()
|
||
+Deactivate()
|
||
+GetStatus()
|
||
}
|
||
|
||
class ISpectralCharacteristics {
|
||
+double RadarCrossSection
|
||
+double InfraredRadiationIntensity
|
||
+double UltravioletRadiationIntensity
|
||
+double MillimeterWaveRadiationIntensity
|
||
}
|
||
|
||
class ITarget {
|
||
+string Type
|
||
+double MillimeterWaveRadiationTemperature
|
||
+double LaserReflectivity
|
||
+double Length
|
||
+double Width
|
||
+double Height
|
||
+double Health
|
||
}
|
||
```
|
||
|
||
### 设计说明
|
||
|
||
1. **接口分层**
|
||
- `ISimulationElement`: 定义所有仿真元素的基本行为,包括位置、运动状态和生命周期管理
|
||
- `ISpectralCharacteristics`: 定义实体的频谱特性,包括雷达散射截面积、红外辐射等
|
||
- `ITarget`: 继承上述两个接口,并添加目标特有的属性(尺寸、生命值等)
|
||
|
||
2. **实现层次**
|
||
- `SimulationElement`: 抽象基类,实现 `ISimulationElement` 和 `ISpectralCharacteristics` 的基本功能
|
||
- `Tank`: 继承 `SimulationElement` 并实现 `ITarget` 接口,获得基类功能的同时实现目标特有的属性和行为
|
||
|
||
3. **设计优势**
|
||
- 接口隔离:将不同职责的功能分散到不同接口中
|
||
- 代码复用:通用功能在 `SimulationElement` 中实现
|
||
- 扩展性:新的实体类型可以方便地接入系统
|
||
- 维护性:频谱特性的修改只需要关注 `ISpectralCharacteristics` 接口
|
||
|
||
## 干扰处理
|
||
|
||
```text
|
||
|
||
干扰处理架构
|
||
├── 干扰类型(JammingType)
|
||
│ ├── 红外干扰(Infrared)
|
||
│ ├── 毫米波干扰(MillimeterWave)
|
||
│ ├── 激光干扰(Laser)
|
||
│ ├── 射频干扰(RadioFrequency)
|
||
│ └── GPS干扰(GPS)
|
||
│
|
||
├── 干扰模式(JammingMode)
|
||
│ ├── 噪声干扰(Noise)
|
||
│ ├── 欺骗干扰(Deception)
|
||
│ ├── 阻塞干扰(Blocking)
|
||
│ └── 扫频干扰(Sweep)
|
||
│
|
||
├── 干扰事件(JammingEvent)
|
||
│ ├── 红外干扰事件(InfraredJammingEvent)
|
||
│ ├── 毫米波干扰事件(MillimeterWaveJammingEvent)
|
||
│ ├── 激光干扰事件(LaserJammingEvent)
|
||
│ └── 射频干扰事件(RadioFrequencyJammingEvent)
|
||
│
|
||
├── 干扰参数(JammingParameters)
|
||
│ ├── 干扰类型(Type)
|
||
│ ├── 干扰功率(Power)
|
||
│ ├── 干扰方向(Direction)
|
||
│ ├── 干扰源位置(SourcePosition)
|
||
│ ├── 干扰角度范围(AngleRange)
|
||
│ ├── 干扰频率(Frequency)
|
||
│ ├── 持续时间(Duration)
|
||
│ ├── 干扰模式(Mode)
|
||
│ └── 干扰开始时间(StartTime)
|
||
│
|
||
├── 干扰处理接口(IJammable)
|
||
│ ├── 支持的干扰类型(SupportedJammingTypes)
|
||
│ ├── 干扰状态(IsJammed)
|
||
│ ├── 应用干扰(ApplyJamming)
|
||
│ └── 清除干扰(ClearJamming)
|
||
│
|
||
├── 干扰处理基类(JammingHandler)
|
||
│ ├── 干扰状态(IsJammed)
|
||
│ ├── 当前干扰参数(CurrentJamming)
|
||
│ ├── 累积干扰时间(_elapsedTime)
|
||
│ ├── 更新干扰状态(Update)
|
||
│ ├── 处理干扰(HandleJamming)
|
||
│ ├── 清除干扰(ClearJamming)
|
||
│ ├── 干扰应用回调(OnJammingApplied)
|
||
│ └── 干扰清除回调(OnJammingCleared)
|
||
│
|
||
├── 可干扰组件(JammableComponent)
|
||
│ ├── 干扰处理器(JammingProcessor)
|
||
│ │ ├── 干扰阈值映射(_jammingThresholds)
|
||
│ │ ├── 设置干扰阈值(SetJammingThreshold)
|
||
│ │ ├── 检查干扰是否有效(IsJammingEffective)
|
||
│ │ │ ├── 距离衰减计算
|
||
│ │ │ ├── 角度因素计算
|
||
│ │ │ └── 与阈值比较
|
||
│ │ ├── 处理干扰(HandleJamming)
|
||
│ │ └── 清除干扰(ClearJamming)
|
||
│ │
|
||
│ ├── 支持的干扰类型(SupportedJammingTypes)
|
||
│ ├── 干扰状态(IsJammed)
|
||
│ ├── 位置提供委托(_positionProvider)
|
||
│ ├── 干扰应用事件(_onJammingApplied)
|
||
│ ├── 干扰清除事件(_onJammingCleared)
|
||
│ └── 加载干扰配置(LoadJammingConfigFromThreshold)
|
||
│
|
||
└── 干扰响应实现
|
||
├── 导引系统干扰响应
|
||
│ ├── 激光半主动导引系统(LaserSemiActiveGuidanceSystem)
|
||
│ │ ├── 激光干扰事件处理(OnLaserJamming)
|
||
│ │ ├── 干扰应用处理(HandleJammingApplied)
|
||
│ │ └── 干扰清除处理(HandleJammingCleared)
|
||
│ │
|
||
│ ├── 毫米波导引系统(MillimeterWaveGuidanceSystem)
|
||
│ │ ├── 毫米波干扰事件处理(OnMillimeterWaveJamming)
|
||
│ │ ├── 干扰应用处理(HandleJammingApplied)
|
||
│ │ └── 干扰清除处理(HandleJammingCleared)
|
||
│ │
|
||
│ ├── 红外成像导引系统(InfraredImagingGuidanceSystem)
|
||
│ │ ├── 红外干扰事件处理(OnInfraredJamming)
|
||
│ │ ├── 干扰应用处理(HandleJammingApplied)
|
||
│ │ └── 干扰清除处理(HandleJammingCleared)
|
||
│ │
|
||
│ └── 红外指令导引系统(InfraredCommandGuidanceSystem)
|
||
│
|
||
└── 指示器干扰响应
|
||
├── 激光指示器(LaserDesignator)
|
||
│ ├── 激光干扰事件处理(OnLaserJamming)
|
||
│ ├── 干扰应用处理(HandleJammingApplied)
|
||
│ └── 干扰清除处理(HandleJammingCleared)
|
||
│
|
||
├── 激光驾束仪(LaserBeamRider)
|
||
│ ├── 激光干扰事件处理(OnLaserJamming)
|
||
│ ├── 干扰应用处理(HandleJammingApplied)
|
||
│ └── 干扰清除处理(HandleJammingCleared)
|
||
│
|
||
└── 红外测角仪(InfraredTracker)
|
||
├── 红外干扰事件处理(OnInfraredJamming)
|
||
├── 干扰应用处理(HandleJammingApplied)
|
||
└── 干扰清除处理(HandleJammingCleared)
|
||
```
|