Fix了一些干扰测试的 BUG
This commit is contained in:
parent
0dc60712c9
commit
a7abba5de7
@ -26,7 +26,7 @@ namespace ThreatSource.Tests.Indicator
|
||||
{
|
||||
LaserPower = 1000,
|
||||
LaserDivergenceAngle = 0.001,
|
||||
JammingResistanceThreshold = 10000,
|
||||
JammingResistanceThreshold = 1.0,
|
||||
LaserWavelength = 1.06
|
||||
};
|
||||
|
||||
@ -42,7 +42,7 @@ namespace ThreatSource.Tests.Indicator
|
||||
|
||||
var designatorInitialMotion = new MotionParameters
|
||||
{
|
||||
Position = new Vector3D(0, 0, 0),
|
||||
Position = new Vector3D(0, 100, 0),
|
||||
Orientation = new Orientation(0, 0, 0),
|
||||
InitialSpeed = 0
|
||||
};
|
||||
@ -106,9 +106,9 @@ namespace ThreatSource.Tests.Indicator
|
||||
_simulationManager.PublishEvent(new LaserJammingEvent
|
||||
{
|
||||
JammingPower = jammingPower,
|
||||
Wavelength = 1.05,
|
||||
JammingSourcePosition = new Vector3D(50, 0, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
Wavelength = 1.06,
|
||||
JammingSourcePosition = new Vector3D(0, 10, 0),
|
||||
JammingDirection = new Vector3D(0, 1, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
JammingMode = JammingMode.Noise,
|
||||
SenderId = "jammer1"
|
||||
|
||||
@ -75,13 +75,13 @@ namespace ThreatSource.Tests.Jamming
|
||||
// 创建干扰事件
|
||||
var jammingEvent = new InfraredJammingEvent
|
||||
{
|
||||
JammingPower = 500.0, // 高于阈值
|
||||
Wavelength = 4, // 中波红外范围
|
||||
JammingSourcePosition = new Vector3D(50, 100, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0), // 指向探测器
|
||||
JammingAngleRange = Math.PI / 4, // 45度角
|
||||
JammingPower = 500.0,
|
||||
Wavelength = 4,
|
||||
JammingSourcePosition = new Vector3D(10, 10, 0), // 更靠近探测器,且角度更小
|
||||
JammingDirection = new Vector3D(-0.7071, -0.7071, 0), // 45度角指向探测器
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
JammingMode = JammingMode.Noise,
|
||||
Duration = null // 持续干扰
|
||||
Duration = null
|
||||
};
|
||||
|
||||
// Act
|
||||
@ -147,11 +147,11 @@ namespace ThreatSource.Tests.Jamming
|
||||
{
|
||||
JammingPower = 500.0,
|
||||
Wavelength = 4,
|
||||
JammingSourcePosition = new Vector3D(50, 100, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingSourcePosition = new Vector3D(10, 10, 0),
|
||||
JammingDirection = new Vector3D(-0.7071, -0.7071, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
JammingMode = JammingMode.Noise,
|
||||
Duration = 0.5 // 0.5秒后过期
|
||||
Duration = 0.5
|
||||
};
|
||||
|
||||
// Act - 应用干扰
|
||||
@ -180,11 +180,11 @@ namespace ThreatSource.Tests.Jamming
|
||||
{
|
||||
JammingPower = 500.0,
|
||||
Wavelength = 4,
|
||||
JammingSourcePosition = new Vector3D(50, 100, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingSourcePosition = new Vector3D(10, 10, 0),
|
||||
JammingDirection = new Vector3D(-0.7071, -0.7071, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
JammingMode = JammingMode.Noise,
|
||||
Duration = null // 持续干扰
|
||||
Duration = null
|
||||
};
|
||||
|
||||
// Act - 应用干扰
|
||||
|
||||
@ -30,6 +30,7 @@ namespace ThreatSource.Tests.Jamming
|
||||
var config = new LaserBeamRiderConfig
|
||||
{
|
||||
LaserPower = 100,
|
||||
LaserWavelength = 1.06,
|
||||
ControlFieldDiameter = 5.0,
|
||||
MaxGuidanceDistance = 5000,
|
||||
JammingResistanceThreshold = 0.05 // 设置干扰抗性阈值为50mW
|
||||
@ -77,7 +78,7 @@ namespace ThreatSource.Tests.Jamming
|
||||
var jammingEvent = new LaserJammingEvent
|
||||
{
|
||||
JammingPower = 2000, // 高功率干扰
|
||||
Wavelength = 1.05,
|
||||
Wavelength = 1.06,
|
||||
JammingSourcePosition = new Vector3D(50, 0, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0), // 指向激光驾束仪
|
||||
JammingAngleRange = Math.PI / 4, // 45度角
|
||||
@ -109,7 +110,7 @@ namespace ThreatSource.Tests.Jamming
|
||||
var jammingEvent = new LaserJammingEvent
|
||||
{
|
||||
JammingPower = 2000, // 高功率干扰
|
||||
Wavelength = 1.05,
|
||||
Wavelength = 1.06,
|
||||
JammingSourcePosition = new Vector3D(50, 0, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
@ -152,7 +153,7 @@ namespace ThreatSource.Tests.Jamming
|
||||
var jammingEvent = new LaserJammingEvent
|
||||
{
|
||||
JammingPower = 2000, // 高功率干扰
|
||||
Wavelength = 1.05,
|
||||
Wavelength = 1.06,
|
||||
JammingSourcePosition = new Vector3D(50, 0, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
@ -190,7 +191,7 @@ namespace ThreatSource.Tests.Jamming
|
||||
var jammingEvent = new LaserJammingEvent
|
||||
{
|
||||
JammingPower = 2000, // 高功率干扰
|
||||
Wavelength = 1.05,
|
||||
Wavelength = 1.06,
|
||||
JammingSourcePosition = new Vector3D(50, 0, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
@ -225,7 +226,7 @@ namespace ThreatSource.Tests.Jamming
|
||||
var jammingEvent = new LaserJammingEvent
|
||||
{
|
||||
JammingPower = 2000, // 高功率干扰
|
||||
Wavelength = 1.05,
|
||||
Wavelength = 1.06,
|
||||
JammingSourcePosition = new Vector3D(50, 0, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
|
||||
@ -30,8 +30,8 @@ namespace ThreatSource.Tests.Jamming
|
||||
{
|
||||
LaserPower = 100,
|
||||
LaserDivergenceAngle = 0.001,
|
||||
JammingResistanceThreshold = 0.01, // 设置干扰抗性阈值为10mW,适应球面扩散模型
|
||||
LaserWavelength = 1.06
|
||||
JammingResistanceThreshold = 0.05, // 干扰阈值50mW
|
||||
LaserWavelength = 1.06 // 工作波长1.06μm
|
||||
};
|
||||
|
||||
// 初始化激光指示器
|
||||
@ -76,13 +76,13 @@ namespace ThreatSource.Tests.Jamming
|
||||
// 创建干扰事件
|
||||
var jammingEvent = new LaserJammingEvent
|
||||
{
|
||||
JammingPower = 2000, // 高于阈值
|
||||
Wavelength = 1.05,
|
||||
JammingSourcePosition = new Vector3D(50, 0, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0), // 指向激光指示器
|
||||
JammingAngleRange = Math.PI / 4, // 45度角
|
||||
JammingPower = 2000,
|
||||
Wavelength = 1.06, // 匹配波长1.06μm
|
||||
JammingSourcePosition = new Vector3D(5, 0, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
JammingMode = JammingMode.Noise,
|
||||
Duration = null // 持续干扰
|
||||
Duration = null
|
||||
};
|
||||
|
||||
// Act
|
||||
@ -105,7 +105,7 @@ namespace ThreatSource.Tests.Jamming
|
||||
var jammingEvent = new LaserJammingEvent
|
||||
{
|
||||
JammingPower = 500, // 角度范围外的干扰
|
||||
Wavelength = 1.05,
|
||||
Wavelength = 1.06,
|
||||
JammingSourcePosition = new Vector3D(0, 50, 0), // 位于上方
|
||||
JammingDirection = new Vector3D(0, 0, 1), // 指向前方,不是指向指示器
|
||||
JammingAngleRange = 0.1, // 很小的角度范围
|
||||
@ -132,7 +132,7 @@ namespace ThreatSource.Tests.Jamming
|
||||
var jammingEvent = new LaserJammingEvent
|
||||
{
|
||||
JammingPower = 10, // 低功率干扰
|
||||
Wavelength = 1.05,
|
||||
Wavelength = 1.06,
|
||||
JammingSourcePosition = new Vector3D(50, 0, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
@ -181,13 +181,13 @@ namespace ThreatSource.Tests.Jamming
|
||||
// 创建有限时间的干扰事件
|
||||
var jammingEvent = new LaserJammingEvent
|
||||
{
|
||||
JammingPower = 500, // 有限时间的干扰
|
||||
Wavelength = 1.05,
|
||||
JammingSourcePosition = new Vector3D(50, 0, 0),
|
||||
JammingPower = 500,
|
||||
Wavelength = 1.06, // 匹配波长1.06μm
|
||||
JammingSourcePosition = new Vector3D(5, 0, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
JammingMode = JammingMode.Noise,
|
||||
Duration = 0.5 // 0.5秒后过期
|
||||
Duration = 0.5
|
||||
};
|
||||
|
||||
// Act - 应用干扰
|
||||
@ -217,13 +217,13 @@ namespace ThreatSource.Tests.Jamming
|
||||
// 创建持续干扰事件
|
||||
var jammingEvent = new LaserJammingEvent
|
||||
{
|
||||
JammingPower = 500, // 持续干扰
|
||||
Wavelength = 1.05,
|
||||
JammingSourcePosition = new Vector3D(50, 0, 0),
|
||||
JammingPower = 500,
|
||||
Wavelength = 1.06, // 匹配波长1.06μm
|
||||
JammingSourcePosition = new Vector3D(5, 0, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
JammingMode = JammingMode.Noise,
|
||||
Duration = null // 持续干扰
|
||||
Duration = null
|
||||
};
|
||||
|
||||
// Act - 应用干扰
|
||||
@ -253,9 +253,9 @@ namespace ThreatSource.Tests.Jamming
|
||||
// 创建干扰事件
|
||||
var jammingEvent = new LaserJammingEvent
|
||||
{
|
||||
JammingPower = 500, // 照射禁用测试
|
||||
Wavelength = 1.05,
|
||||
JammingSourcePosition = new Vector3D(50, 0, 0),
|
||||
JammingPower = 500,
|
||||
Wavelength = 1.06, // 匹配波长1.06μm
|
||||
JammingSourcePosition = new Vector3D(5, 0, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
JammingMode = JammingMode.Noise
|
||||
@ -285,7 +285,7 @@ namespace ThreatSource.Tests.Jamming
|
||||
var matchingJammingEvent = new LaserJammingEvent
|
||||
{
|
||||
JammingPower = 2000,
|
||||
Wavelength = 1.05,
|
||||
Wavelength = 1.06, // 匹配波长1.06μm
|
||||
JammingSourcePosition = new Vector3D(50, 0, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
@ -306,7 +306,7 @@ namespace ThreatSource.Tests.Jamming
|
||||
var nonMatchingJammingEvent = new LaserJammingEvent
|
||||
{
|
||||
JammingPower = 2000,
|
||||
Wavelength = 1.55,
|
||||
Wavelength = 1.56,
|
||||
JammingSourcePosition = new Vector3D(50, 0, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
|
||||
@ -73,13 +73,12 @@ namespace ThreatSource.Tests.Jamming
|
||||
// 创建干扰事件
|
||||
var jammingEvent = new LaserJammingEvent
|
||||
{
|
||||
JammingPower = 500.0, // 高于阈值
|
||||
Wavelength = 1.064, // 匹配测距仪波长
|
||||
JammingSourcePosition = new Vector3D(50, 100, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0), // 指向测距仪
|
||||
JammingAngleRange = Math.PI / 4, // 45度角
|
||||
JammingMode = JammingMode.Noise,
|
||||
Duration = null // 持续干扰
|
||||
JammingPower = 500,
|
||||
Wavelength = 1.06,
|
||||
JammingSourcePosition = new Vector3D(0, 10, 0),
|
||||
JammingDirection = new Vector3D(0, -1, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
JammingMode = JammingMode.Noise
|
||||
};
|
||||
|
||||
// Act
|
||||
@ -97,8 +96,8 @@ namespace ThreatSource.Tests.Jamming
|
||||
// 创建角度范围外的干扰事件
|
||||
var jammingEvent = new LaserJammingEvent
|
||||
{
|
||||
JammingPower = 500.0,
|
||||
Wavelength = 1.064,
|
||||
JammingPower = 500,
|
||||
Wavelength = 1.06,
|
||||
JammingSourcePosition = new Vector3D(0, 150, 0), // 位于上方
|
||||
JammingDirection = new Vector3D(0, 0, 1), // 指向前方,不是指向测距仪
|
||||
JammingAngleRange = 0.1, // 很小的角度范围
|
||||
@ -121,7 +120,7 @@ namespace ThreatSource.Tests.Jamming
|
||||
var jammingEvent = new LaserJammingEvent
|
||||
{
|
||||
JammingPower = 10.0, // 低于阈值
|
||||
Wavelength = 1.064,
|
||||
Wavelength = 1.06,
|
||||
JammingSourcePosition = new Vector3D(50, 100, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
@ -143,13 +142,13 @@ namespace ThreatSource.Tests.Jamming
|
||||
// 创建有限时间的干扰事件
|
||||
var jammingEvent = new LaserJammingEvent
|
||||
{
|
||||
JammingPower = 500.0,
|
||||
Wavelength = 1.064,
|
||||
JammingSourcePosition = new Vector3D(50, 100, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingPower = 500,
|
||||
Wavelength = 1.06,
|
||||
JammingSourcePosition = new Vector3D(0, 10, 0),
|
||||
JammingDirection = new Vector3D(0, -1, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
JammingMode = JammingMode.Noise,
|
||||
Duration = 0.5 // 0.5秒后过期
|
||||
Duration = 0.5
|
||||
};
|
||||
|
||||
// Act - 应用干扰
|
||||
@ -176,13 +175,12 @@ namespace ThreatSource.Tests.Jamming
|
||||
// 创建持续干扰事件
|
||||
var jammingEvent = new LaserJammingEvent
|
||||
{
|
||||
JammingPower = 500.0,
|
||||
Wavelength = 1.064,
|
||||
JammingSourcePosition = new Vector3D(50, 100, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingPower = 500,
|
||||
Wavelength = 1.06,
|
||||
JammingSourcePosition = new Vector3D(0, 10, 0),
|
||||
JammingDirection = new Vector3D(0, -1, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
JammingMode = JammingMode.Noise,
|
||||
Duration = null // 持续干扰
|
||||
JammingMode = JammingMode.Noise
|
||||
};
|
||||
|
||||
// Act - 应用干扰
|
||||
@ -212,10 +210,10 @@ namespace ThreatSource.Tests.Jamming
|
||||
// 创建干扰事件
|
||||
var jammingEvent = new LaserJammingEvent
|
||||
{
|
||||
JammingPower = 500.0,
|
||||
Wavelength = 1.064,
|
||||
JammingSourcePosition = new Vector3D(50, 100, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingPower = 500,
|
||||
Wavelength = 1.06,
|
||||
JammingSourcePosition = new Vector3D(0, 10, 0),
|
||||
JammingDirection = new Vector3D(0, 1, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
JammingMode = JammingMode.Noise
|
||||
};
|
||||
|
||||
@ -73,13 +73,12 @@ namespace ThreatSource.Tests.Jamming
|
||||
// 创建干扰事件
|
||||
var jammingEvent = new MillimeterWaveJammingEvent
|
||||
{
|
||||
JammingPower = 500.0, // 高于阈值
|
||||
Wavelength = 3.0, // 3毫米波长
|
||||
JammingSourcePosition = new Vector3D(50, 100, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0), // 指向测高雷达
|
||||
JammingAngleRange = Math.PI / 4, // 45度角
|
||||
JammingMode = JammingMode.Noise,
|
||||
Duration = null // 持续干扰
|
||||
JammingPower = 500,
|
||||
Wavelength = 3.0,
|
||||
JammingSourcePosition = new Vector3D(0, 50, 0),
|
||||
JammingDirection = new Vector3D(0, -1, 0),
|
||||
JammingAngleRange = Math.PI / 6,
|
||||
JammingMode = JammingMode.Noise
|
||||
};
|
||||
|
||||
// Act
|
||||
@ -167,10 +166,10 @@ namespace ThreatSource.Tests.Jamming
|
||||
var jammingEvent = new MillimeterWaveJammingEvent
|
||||
{
|
||||
JammingPower = 500.0,
|
||||
Wavelength = 3.0,
|
||||
JammingSourcePosition = new Vector3D(50, 100, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
Wavelength = 3.0, // 设置为3mm波段的波长
|
||||
JammingSourcePosition = new Vector3D(0, 120, 0),
|
||||
JammingDirection = new Vector3D(0, -1, 0),
|
||||
JammingAngleRange = Math.PI / 6,
|
||||
JammingMode = JammingMode.Noise,
|
||||
Duration = 0.5 // 0.5秒后过期
|
||||
};
|
||||
@ -200,12 +199,11 @@ namespace ThreatSource.Tests.Jamming
|
||||
var jammingEvent = new MillimeterWaveJammingEvent
|
||||
{
|
||||
JammingPower = 500.0,
|
||||
Wavelength = 3.0,
|
||||
JammingSourcePosition = new Vector3D(50, 100, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
JammingMode = JammingMode.Noise,
|
||||
Duration = null // 持续干扰
|
||||
Wavelength = 3.0, // 设置为3mm波段的波长
|
||||
JammingSourcePosition = new Vector3D(0, 120, 0),
|
||||
JammingDirection = new Vector3D(0, -1, 0),
|
||||
JammingAngleRange = Math.PI / 6,
|
||||
JammingMode = JammingMode.Noise
|
||||
};
|
||||
|
||||
// Act - 应用干扰
|
||||
@ -237,9 +235,9 @@ namespace ThreatSource.Tests.Jamming
|
||||
{
|
||||
JammingPower = 500.0,
|
||||
Wavelength = 3.0,
|
||||
JammingSourcePosition = new Vector3D(50, 100, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
JammingSourcePosition = new Vector3D(0, 120, 0),
|
||||
JammingDirection = new Vector3D(0, -1, 0),
|
||||
JammingAngleRange = Math.PI / 6,
|
||||
JammingMode = JammingMode.Noise
|
||||
};
|
||||
|
||||
|
||||
@ -75,9 +75,8 @@ namespace ThreatSource.Tests.Jamming
|
||||
var jammingEvent = new MillimeterWaveJammingEvent
|
||||
{
|
||||
JammingPower = 500.0, // 高于阈值
|
||||
Wavelength = 3.0, // 3毫米波长
|
||||
JammingSourcePosition = new Vector3D(50, 100, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0), // 指向辐射计
|
||||
JammingSourcePosition = new Vector3D(10, 10, 0),
|
||||
JammingDirection = new Vector3D(-0.7071, -0.7071, 0), // 45度角指向辐射计
|
||||
JammingAngleRange = Math.PI / 4, // 45度角
|
||||
JammingMode = JammingMode.Noise,
|
||||
Duration = null // 持续干扰
|
||||
@ -167,13 +166,13 @@ namespace ThreatSource.Tests.Jamming
|
||||
// 创建有限时间的干扰事件
|
||||
var jammingEvent = new MillimeterWaveJammingEvent
|
||||
{
|
||||
JammingPower = 500.0,
|
||||
Wavelength = 3.0,
|
||||
JammingSourcePosition = new Vector3D(50, 100, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingPower = 500,
|
||||
Wavelength = 3.0, // 3mm波段
|
||||
JammingSourcePosition = new Vector3D(0, 120, 0),
|
||||
JammingDirection = new Vector3D(0, -1, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
JammingMode = JammingMode.Noise,
|
||||
Duration = 0.5 // 0.5秒后过期
|
||||
Duration = 0.5
|
||||
};
|
||||
|
||||
// Act - 应用干扰
|
||||
@ -200,13 +199,12 @@ namespace ThreatSource.Tests.Jamming
|
||||
// 创建持续干扰事件
|
||||
var jammingEvent = new MillimeterWaveJammingEvent
|
||||
{
|
||||
JammingPower = 500.0,
|
||||
Wavelength = 3.0,
|
||||
JammingSourcePosition = new Vector3D(50, 100, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingPower = 500,
|
||||
Wavelength = 3.0, // 3mm波段
|
||||
JammingSourcePosition = new Vector3D(0, 120, 0),
|
||||
JammingDirection = new Vector3D(0, -1, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
JammingMode = JammingMode.Noise,
|
||||
Duration = null // 持续干扰
|
||||
JammingMode = JammingMode.Noise
|
||||
};
|
||||
|
||||
// Act - 应用干扰
|
||||
@ -245,10 +243,10 @@ namespace ThreatSource.Tests.Jamming
|
||||
// 创建干扰事件
|
||||
var jammingEvent = new MillimeterWaveJammingEvent
|
||||
{
|
||||
JammingPower = 500.0,
|
||||
Wavelength = 3.0,
|
||||
JammingSourcePosition = new Vector3D(50, 100, 0),
|
||||
JammingDirection = new Vector3D(-1, 0, 0),
|
||||
JammingPower = 500,
|
||||
Wavelength = 3.0, // 3mm波段
|
||||
JammingSourcePosition = new Vector3D(0, 10, 0),
|
||||
JammingDirection = new Vector3D(0, -1, 0),
|
||||
JammingAngleRange = Math.PI / 4,
|
||||
JammingMode = JammingMode.Noise
|
||||
};
|
||||
|
||||
@ -6,8 +6,8 @@
|
||||
"type": "LaserDesignator",
|
||||
"designatorConfig": {
|
||||
"laserPower": 5000,
|
||||
"laserDivergenceAngle": 0.0003,
|
||||
"laserWavelength": 1.06,
|
||||
"laserDivergenceAngle": 0.0003,
|
||||
"laserCodeConfig": {
|
||||
"code": {
|
||||
"codeType": "PRF",
|
||||
|
||||
@ -46,6 +46,17 @@ namespace ThreatSource.Indicator
|
||||
/// </remarks>
|
||||
public double LaserPower { get; private set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置激光波长
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 单位:微米
|
||||
/// 影响激光波束的波长特性
|
||||
/// </remarks>
|
||||
public double LaserWavelength { get; private set; } = 1.06;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置激光发散角
|
||||
/// </summary>
|
||||
@ -120,6 +131,7 @@ namespace ThreatSource.Indicator
|
||||
: base(id, motionParameters, simulationManager)
|
||||
{
|
||||
LaserPower = config.LaserPower;
|
||||
LaserWavelength = config.LaserWavelength;
|
||||
ControlFieldDiameter = config.ControlFieldDiameter;
|
||||
LaserDirection = Vector3D.Zero;
|
||||
MaxGuidanceDistance = config.MaxGuidanceDistance;
|
||||
@ -249,12 +261,10 @@ namespace ThreatSource.Indicator
|
||||
Mode = evt.JammingMode,
|
||||
Duration = evt.Duration
|
||||
};
|
||||
|
||||
// 检查波长匹配(激光特定逻辑)
|
||||
bool isWavelengthInRange = evt.Wavelength >= 1.0 && evt.Wavelength <= 1.1;
|
||||
|
||||
// 使用JammableComponent进行干扰判断
|
||||
if (isWavelengthInRange)
|
||||
// 检查波长匹配(激光特定逻辑)
|
||||
if (evt.Wavelength == LaserWavelength)
|
||||
{
|
||||
ApplyJamming(parameters);
|
||||
Debug.WriteLine($"干扰状态 - IsJammed: {IsJammed}");
|
||||
|
||||
@ -85,7 +85,7 @@ namespace ThreatSource.Indicator
|
||||
/// 指示器工作所需的工作波长
|
||||
/// 用于波长范围匹配检查
|
||||
/// </remarks>
|
||||
public double Wavelength { get; private set; } = 1.06;
|
||||
public double LaserWavelength { get; private set; } = 1.06;
|
||||
|
||||
/// <summary>
|
||||
/// 初始化激光指示器的新实例
|
||||
@ -114,7 +114,7 @@ namespace ThreatSource.Indicator
|
||||
LaserDivergenceAngle = config.LaserDivergenceAngle;
|
||||
LaserCodeConfig = config.LaserCodeConfig;
|
||||
JammingThreshold = config.JammingResistanceThreshold;
|
||||
Wavelength = config.LaserWavelength;
|
||||
LaserWavelength = config.LaserWavelength;
|
||||
|
||||
// 设置干扰阈值并添加支持的干扰类型
|
||||
InitializeJamming(JammingThreshold, [JammingType.Laser]);
|
||||
@ -220,12 +220,10 @@ namespace ThreatSource.Indicator
|
||||
Mode = evt.JammingMode,
|
||||
Duration = evt.Duration
|
||||
};
|
||||
|
||||
// 检查波长匹配(激光特定逻辑)
|
||||
bool isWavelengthInRange = evt.Wavelength == Wavelength;
|
||||
|
||||
// 使用JammableComponent进行干扰判断
|
||||
if (isWavelengthInRange)
|
||||
// 检查波长匹配(激光特定逻辑)
|
||||
if (evt.Wavelength == LaserWavelength)
|
||||
{
|
||||
ApplyJamming(parameters);
|
||||
Debug.WriteLine($"干扰状态 - IsJammed: {IsJammed}");
|
||||
|
||||
@ -227,6 +227,7 @@ namespace ThreatSource.Sensor
|
||||
{
|
||||
Debug.WriteLine($"激光测距仪受到干扰,功率:{parameters.Power}瓦特");
|
||||
sensorData.IsValid = false;
|
||||
sensorData.Distance = 0; // 在干扰状态下将距离设置为0
|
||||
}
|
||||
}
|
||||
|
||||
@ -240,6 +241,7 @@ namespace ThreatSource.Sensor
|
||||
{
|
||||
Debug.WriteLine("激光测距仪干扰已清除");
|
||||
sensorData.IsValid = true;
|
||||
sensorData.Distance = currentDistance;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -230,6 +230,7 @@ namespace ThreatSource.Sensor
|
||||
{
|
||||
Debug.WriteLine($"毫米波测高雷达受到干扰,功率:{parameters.Power}瓦特");
|
||||
sensorData.IsValid = false;
|
||||
sensorData.Altitude = 0; // 被干扰时将高度值设为0
|
||||
}
|
||||
}
|
||||
|
||||
@ -243,6 +244,7 @@ namespace ThreatSource.Sensor
|
||||
{
|
||||
Debug.WriteLine("毫米波测高雷达干扰已清除");
|
||||
sensorData.IsValid = true;
|
||||
sensorData.Altitude = currentAltitude; // 恢复正常的高度测量值
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -174,6 +174,15 @@ namespace ThreatSource.Simulation
|
||||
/// </remarks>
|
||||
public double LaserPower { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置激光波长
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 单位:微米
|
||||
/// 影响制导波束的波长特性
|
||||
/// </remarks>
|
||||
public double LaserWavelength { get; set; } = 1.06;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置控制场直径
|
||||
/// </summary>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user