徐鵬,劉東青,王振華,郭淑芬
(空軍預警學院,湖北 武漢 430019)
系統仿真工具包(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環境下建立了動態的干擾機發射參數模型。通過仿真分析驗證了該建模方法的可行性和有效性,為建立更加貼近實際戰場環境的雷達對抗場景提供了依據。
雷達對抗干擾機常用的STK建模方法是將STK中的Aircraft組件、Sensor組件和Transmitter組件相結合,通過對3個組件設置合理的參數,實現對干擾機的靜態建模[9]。主要方法是:首先在場景中添加Aircraft組件,而后為Aircraft組件添加一個Sensor子對象,再將Transmitter添加為Sensor的子對象,通過參數設置實現干擾機建模。具體實現方法如下:
(1) 向場景中添加Aircraft對象。單擊工具欄(Insert Object)按鈕,向場景中插入Aircraft對象,將其名稱修改為“UAV”。
(2) 設置飛機三維模型。定位到【3DGraphies】屬性下的【Model】模型設置頁面,將建好的無人機模型UAV.mdl文件加載到【Model File】選項。
(3)設置飛行軌跡。打開飛機【Basic】屬性下的【Route】屬性頁面設置,選擇飛行任務模塊(Aviator),編輯干擾無人機飛行路徑,當干擾機抵近雷達時采用橢圓形軌道飛行,干擾完成后沿原路徑返回。
(1) 在飛機上添加傳感器。單擊工具欄(Insert Object)按鈕,為飛機插入一個傳感器對象,將其名稱修改為“Targeted”。
(2) 顯示參數設置。將傳感器設置為矩形傳感器,指向無人機正前方,距離約束最大值設為50 km,脈沖長度設為10 km。
(1) 為傳感器添加Transmitter對象。單擊工具欄(Insert Object)按鈕,在傳感器下添加發射機,將其名稱修改為“Jamming”。
(2) 選擇發射模型。定位到【Basic】屬性下的【Definition】設置頁面,將類型選擇為復雜發射機模型(Complex Transmitter Model)。
(3) 發射參數設置。在【Modle Specs】模塊中設置發射頻率為3 GHz,發射功率為10 dBm,其他選擇默認設置。
以上方法建立的干擾機模型發射參數固定,雖然其場景動畫可以是時變,但干擾機頻率、功率和帶寬等發射參數均不可時變,無法利用該模型實現對干擾信號發射參數動態建模,影響對干擾機效能進行有效的評估分析。
針對上述干擾機建模方法的缺點,結合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進一步完成仿真分析。
本文依據文獻[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插件腳本實現對干擾機其他發射參數的動態控制,包括發射頻率、頻譜寬度、發射機增益等。
(1) 利用Matlab編寫STK外部插件的方法能夠動態修改發射機對象參數,為STK建立更加精細的干擾機模型,使得仿真結果更加真實可靠。
(2) 利用該方法也可以在STK中實現包括接收機建模、天線波束建模和雨衰減建模等多種動態參數建模。
(3) 為進一步建立更加完善的雷達對抗場景提供依據,同時也可為STK的其他任務仿真提供參考。