STK的雷达对抗干扰动态参数建模仿真分析*
2019-03-12徐鹏刘东青王振华郭淑芬
徐鹏,刘东青,王振华,郭淑芬
(空军预警学院,湖北 武汉 430019)
0 引言
系统仿真工具包(system toolkit,STK)由美国图形分析公司(Analytical Graphics INc,AGI)开发研制,可提供逼真的2D,3D动态可视化场景以及精确的报告、图表等,能用于分析海、陆、空、天、电磁等多场景任务,支持对雷达对抗场景进行仿真建模,利用实验数据对雷达的干扰效果进行评估。STK/Connect模块为用户提供了一种建立第三方应用程序与STK之间进行通信连接的接口,可通过第三方软件编写外部代码文件实现对STK的输入参数进行控制。本文利用Matlab编写插件脚本实现对STK环境下干扰机发射参数的动态仿真分析。
目前,国内外对STK软件的开发利用主要集中在卫星仿真和航空航天建模方面[1-6],涉及雷达干扰仿真的应用文献较少。文献[7]基于STK/Matlab建立了地面跟踪雷达的可视化系统,地面雷达对临近空间目标的探测效能进行了分析。文献[8]利用STK软件建立航天电子侦察场景,并将Matlab作为分析工具进行数据分析,可提高数据分析速度,验证了Matlab对STK进行二次开发的优越性。上述文献都研究了雷达探测效能评估,但没有考虑雷达在干扰条件下的效能,且在STK场景仿真中,雷达发射/接收参数都是静态的,与实际复杂多变的雷达对抗电磁环境不符,对雷达探测效能的仿真分析具有一定的局限性。
本文针对文献[7-8]中发射参数不可时变的问题,基于STK/Connect模块,结合Matlab强大的数据计算能力,以雷达对抗干扰机为中心,利用Matlab编写外部的插件脚本,在STK环境下建立了动态的干扰机发射参数模型。通过仿真分析验证了该建模方法的可行性和有效性,为建立更加贴近实际战场环境的雷达对抗场景提供了依据。
1 STK干扰机静态参数建模
雷达对抗干扰机常用的STK建模方法是将STK中的Aircraft组件、Sensor组件和Transmitter组件相结合,通过对3个组件设置合理的参数,实现对干扰机的静态建模[9]。主要方法是:首先在场景中添加Aircraft组件,而后为Aircraft组件添加一个Sensor子对象,再将Transmitter添加为Sensor的子对象,通过参数设置实现干扰机建模。具体实现方法如下:
1.1 添加飞机组件及参数设置
(1) 向场景中添加Aircraft对象。单击工具栏(Insert Object)按钮,向场景中插入Aircraft对象,将其名称修改为“UAV”。
(2) 设置飞机三维模型。定位到【3DGraphies】属性下的【Model】模型设置页面,将建好的无人机模型UAV.mdl文件加载到【Model File】选项。
(3)设置飞行轨迹。打开飞机【Basic】属性下的【Route】属性页面设置,选择飞行任务模块(Aviator),编辑干扰无人机飞行路径,当干扰机抵近雷达时采用椭圆形轨道飞行,干扰完成后沿原路径返回。
1.2 添加传感器及参数设置
(1) 在飞机上添加传感器。单击工具栏(Insert Object)按钮,为飞机插入一个传感器对象,将其名称修改为“Targeted”。
(2) 显示参数设置。将传感器设置为矩形传感器,指向无人机正前方,距离约束最大值设为50 km,脉冲长度设为10 km。
1.3 添加发射机及参数设置
(1) 为传感器添加Transmitter对象。单击工具栏(Insert Object)按钮,在传感器下添加发射机,将其名称修改为“Jamming”。
(2) 选择发射模型。定位到【Basic】属性下的【Definition】设置页面,将类型选择为复杂发射机模型(Complex Transmitter Model)。
(3) 发射参数设置。在【Modle Specs】模块中设置发射频率为3 GHz,发射功率为10 dBm,其他选择默认设置。
以上方法建立的干扰机模型发射参数固定,虽然其场景动画可以是时变,但干扰机频率、功率和带宽等发射参数均不可时变,无法利用该模型实现对干扰信号发射参数动态建模,影响对干扰机效能进行有效的评估分析。
2 基于Matlab插件的动态参数建模
针对上述干扰机建模方法的缺点,结合STK和Matlab 2个软件,通过选择STK中的脚本插件射频发射模型(script plugin RF transmitter model)调用Matlab编写的脚本插件,可实现对干扰机发射参数的动态建模[10]。插件脚本能够分别或同时对包括发射机中心频率、发射功率、发射机带宽、衰减、极化等多种参数实现动态控制。仿真方法的具体实现步骤如图1所示。其中虚线框内即为利用Matlab脚本对干扰机动态发射参数的建模过程。
图1 仿真方法流程图Fig.1 Flow chart of simulation method
STK可在无需启动Matlab的条件下,直接调用编写好的插件脚本进行数据分析处理,具有较快的数据读取速率。由于STK与Matlab有固定的接口配置,所以其插件脚本的编写格式也有固定的要求,下面以干扰机的动态发射频率为例,给出Matlab插件脚本的固定编写格式:
function[output]=Matlab_STK (input)
switch input.method
case ‘register’
%定义输入/输出参数模块
case ‘compute’
computeData=input.methodData;
%计算输出模块
otherwise output=[];
end
插件脚本主要有2个模块:输入/输出参数定义模块和计算输出模块。STK处于调用插件模式时,在Matlab工作区输入/输出参数是一个字符串形式的结构体;当转换到计算模式时,只需从结构体数据中提取输入参数用于计算输出的数据。干扰机动态发射参数插件脚本的建模方法如下:
(1) 定义输入/输出变量。在Matlab中每个输入/输出参数的描述符都必须包含关键字Argument Type(参数类型)和Argument Name(参数名称)。Argument Type的值只能是“Input”或“Output”;而Argument Name(参数名称)的值可以是任何用户指定的变量名,但必须遵循Matlab定义变量名的语法。Matlab中的输入/输出参数描述符是用单元数组的形式来指定的。下面以干扰机的发射中心频率为例,编程命令如下:
Freq={‘ArgumentName’,‘Frequency’,
‘Name’,‘Fre’,
‘ArgumentType’,‘Output’};
上述命令即为发射中心频率的基本定义格式。其中参数类型是Output,参数名称为“Frequency”,当脚本在STK中被调用时,名称“Frequency”将被用来提取发射频率的输出值,而名称“Fre”只是一个描述名,可以不定义。干扰机的其他发射参数也需按照以上格式定义,在此就不一一介绍。
(2) 计算动态输出。Matlab定义完输入/输出参数后,插件调用模式就会切换到计算模块,STK将调用用户自定义的算法。该算法通过STK传递给Matlab的输入变量,计算并返回输出变量。在仿真过程中,STK每个仿真步长都会调用一次插件脚本并进行计算分析,所以插件脚本中采用仿真时长time作为动态输入变量,在每个时间步长计算出所需的输出参数,从而实现动态的参数建模。以干扰机发射跳变频信号为例,命令如下:
time=computeData.EpochSec;
time=time/60;
t=mod(floor(time),4);
if(t==0)
output.Frequence=2.98e9;
elseif(t==1)
output.Frequence=2.99e9;
elseif(t==2)
output.Frequence=3.00e9;
elseif(t==3)
output.Frequence=3.01e9;
end
其中STK仿真步长设置为60 s,time为仿真时长,单位为s,通过上述程序控制干扰机的发射频率从仿真开始时刻每隔60 s跳变一次,以2.98 GHz,2.99 GHz,3.00 MHz和3.01 MHz共4个频点依次循环跳变,实现发射参数的动态输出。同样可以通过该方法实现对例如发射带宽、功率等其他发射参数的动态化。
(3) 结束调用。将Matlab计算出的输出参数返回给STK,由STK进一步完成仿真分析。
3 动态发射参数仿真分析
本文依据文献[11]中STK可视化场景的构建方法,建立了干扰机为掩护我方进攻飞机攻击敌方雷达的对抗场景,以验证上述干扰机动态发射参数建模的可行性和有效性。其中仿真时间为16:00-17:30,仿真步长为60 s,下图2中a),b)分别为无干扰和有干扰条件下的雷达对抗场景。干扰机在椭圆形轨道上时施放瞄频压制干扰信号,先向站飞行,再背站飞行,而进攻飞机直接向站飞行攻击敌方雷达。由于进攻飞机向站飞行时与雷达站的距离不断减小,由干扰条件下的雷达方程[12-15]可知雷达信干比不断增加,若一直采用较小的干扰功率则无法对雷达探测范围形成有效遮蔽,无法为进攻飞机形成有效的掩护通道;若干扰机在有效压制范围内仍使用较大的干扰功率则造成干扰资源的浪费。而Matlab插件可实现STK仿真中干扰机发射功率随雷达站与进攻飞机的相对距离变化而动态变化,从而达到优化干扰资源配置的目的。
首先,在STK中将干扰机的发射机添加为雷达的干扰对象,建立起雷达对抗电磁场景。
图2 雷达对抗3D可视化场景图Fig.2 Radar confrontation 3D visualization of the scene map
然后,采用控制变量的方法,测试干扰机发射功率对干扰效果的影响。雷达采用脉冲体制的单基地搜索/跟踪雷达,脉冲重复频率设置为1 kHz,脉冲宽度10-7s,中心频率为3 GHz,平均发射功率为85 dBW,天线类型选择抛物天线,线极化方式,其他参数设置采用STK仿真中的默认参数;进攻飞机的雷达散射截面积(radar cross section,RCS)为1 m2,其他为STK默认参数;对于干扰机的参数设置采用控制变量法,保持干扰机其他发射参数不变,仅使其发射功率动态变化,设置发射频率为3 GHz,频谱宽度为25 MHz,极化方式为线极化,发射损耗为-2 dB,其他参数采用STK仿真中的默认参数设置。为了使仿真结果更加明显,本文利用STK的静态发射功率和插件脚本提供的动态发射功率的分析数据作对比。静态发射功率始终为12 dBW,而动态发射功率设置为随时间线性变化,进攻飞机向站飞行则干扰机发射功率线性增大
Pjt=10+0.167(t/T),
(1)
式中:t为仿真时长,T为仿真步长,单位都为s;干扰机的发射功率从10 dBW开始,在30 min内增加到15 dBW。
仿真通过分别分析有干扰和无干扰条件下雷达探测无人机的能力,以验证干扰机发射不同功率的干扰信号实施自卫干扰的干扰效果。由于仿真计算的数据量过大,在无干扰条件下雷达探测概率在0.75~1之间的数据被认为是有效数据,所以通过添加约束条件,只显示无干扰条件下合成探测概率在0.75~1之间的数据。雷达探测能力的部分报表如表1所示。
表1 雷达探测能力Table 1 Radar detection capabilities
从表1可以看出,干扰机设置动态发射功率时,虽然雷达的探测概率随着雷达站与进攻飞机相对距离的减小而增大,但增加幅度明显小于干扰机发射静态功率时的增加幅度,说明动态发射功率能够有效缓解相对距离对干扰效果的影响;而且动态发射功率是线性变化的,验证了干扰机动态发射参数建模方法的正确性和有效性,能够通过用户自定义的方式实现干扰机发射参数的动态化。
为了使仿真结果更加直观,利用Matlab绘制在静态发射功率和动态发射功率干扰条件下雷达探测概率对比图,如图3所示,仿真时长为30 min。
图3 静/动态发射功率干扰对比Fig.3 Static/dynamic transmitting power interference contrast
图3中,长虚线代表无干扰条件下的雷达探测概率;短虚线为静态发射功率干扰时的雷达探测概率;点画线为动态发射功率干扰条件下的雷达探测概率。可以看出,当采用静态发射功率时,随着进攻飞机与雷达站之间相对距离的不断减小,敌方雷达对我方进攻飞机的发现概率不断增大,压制干扰效果变差;而采用动态发射功率则有效地克服了这一缺点,始终将雷达探测概率抑制在0.1以下,在节约干扰资源的同时达到了较好的干扰效果。同理可以利用Matlab插件脚本实现对干扰机其他发射参数的动态控制,包括发射频率、频谱宽度、发射机增益等。
4 结论
(1) 利用Matlab编写STK外部插件的方法能够动态修改发射机对象参数,为STK建立更加精细的干扰机模型,使得仿真结果更加真实可靠。
(2) 利用该方法也可以在STK中实现包括接收机建模、天线波束建模和雨衰减建模等多种动态参数建模。
(3) 为进一步建立更加完善的雷达对抗场景提供依据,同时也可为STK的其他任务仿真提供参考。