張曉東,李 想
(中國飛行試驗研究院,西安 710089)
目前,世界各國都高度重視雷達仿真技術的發展。利用計算機仿真技術對雷達系統的設計、測試和評估進行模擬,可以有效縮短雷達研制周期,降低成本,提高試驗的成功率。近幾十年以來,計算機技術不斷發展革新,依托的雷達仿真技術也在不斷與時俱進。20世紀90年代以前,雷達建模仿真系統大多遵循的是模塊化的軟件設計思想,而模塊化設計思想是典型的面向過程的開發方法。20世紀90年代后,面向對象的軟件設計思想逐漸應用到雷達仿真系統的開發上。21世紀以來,組件化軟件體系成為軟件開發的主流技術,極大地促進了模型和代碼的重用。歐美軍方已經開發了多種復用組件庫,包含了CARDS、ASSET、DSRS等多種成熟的組件仿真系統。
國內的雷達仿真技術經過多年的發展已經取得了許多成果,具有了一定的技術積累。但是國內現有的雷達系統仿真平臺大都是基于國外軟件進行的二次開發,尤其以Matlab為平臺開發的雷達仿真系統居多,這樣帶來了系統內部各模塊之間功能耦合,代碼冗余的問題,當測試或更新某項功能時,需要重新編譯和調試整個工程項目,耗時久,系統開發起來效率低,難度大。
針對以上問題,本文采用C++語言面向對象編程的特性和軟件工程中組件復用的思想,設計實現了一部完整的雷達仿真系統。仿真實驗結果表明,雷達仿真系統運行正確,效率高,并且各組件具有較好的復用性和移植性,降低了對雷達仿真系統進行測試和更新功能的難度,為設計功能復雜和不同平臺的雷達仿真系統奠定了良好的基礎。
組件化建模的核心思想是將系統功能抽象分解為獨立的組件,并將組件的接口關系規范標準化,從而實現組件間去耦合的最大化,最理想的就是任意替換一個組件,而接口不變,整個系統依然能夠正常運行。按照組件化建模與仿真的思想,本文將雷達仿真系統分為雷達系統和環境設置兩大部分,其中雷達系統部分由資源調度、發射機、天線、接收機、信號處理和數據處理六大功能組件組成,環境設置部分由目標回波、雜波、干擾和傳輸損耗4個功能模塊組成,用來生成回波信號。各功能組件按照雷達工作順序通過標準輸入輸出接口鏈接成一個完整的雷達仿真系統,系統框架如圖1所示。

圖1 雷達仿真系統框架圖
現代雷達是一個龐大復雜的系統,如果按照其工作流程對雷達仿真系統進行結構化設計開發,將會變得異常困難。將軟件工程中的分層和組件化思想引入到雷達系統仿真中,便可以有效地解決這個問題。依據分層和組件化思想可將雷達仿真系統分為基礎運算層、算法模塊層、功能組件層和系統集成層4個層次,然后對每個層次分別進行實現。系統層次劃分如圖2所示。

圖2 系統設計層次圖
基礎運算層:包含了矩陣運算庫和一些補充的基礎函數,為算法模塊層提供正確、快速、穩定的基礎運算函數。
算法模塊層:算法模塊層是構成雷達仿真系統的基礎,并為功能組件層提供邏輯算法和服務功能的支持。
功能組件層:根據高內聚、低耦合的核心思想將雷達仿真系統軟件的功能進行劃分,保證各功能組件間耦合度最低。功能組件以算法模塊層提供的算法為支撐,實現其所需的功能。
系統層:根據某一型雷達系統的運行流程,操作各功能組件實現對其仿真系統的構建。
組件設計的核心思想是邏輯封裝和標準接口,設計者需要將雷達系統的各個功能抽象為組件,組件對外只提供標準的輸入輸出接口,即組件內部的運算邏輯對外是封閉的,這樣既保證了組件之間的去耦合性,又利于組件功能的拓展和升級。
構建組件時,將雷達系統中的各個功能組成部分定義為C++里的類。所有的組件類繼承自基類baseModel,基類封裝了組件類共有的屬性和方法,包括矩陣運算庫、基礎運算函數、系統時間、網絡傳輸接口、數據格式轉換函數和數據庫讀寫函數等。組件類具有標準的輸入輸出接口參數,輸入參數經過主體運行函數的計算后將運算結果傳遞給輸出參數。這樣的設計簡化了組件類的創建過程,對于共有的屬性和方法直接繼承自基類即可,當需要對共有屬性和方法修改時,只需要修改基類即可,不同的組件根據不同的功能編寫不同的主體運行函數,組件之間互不影響。類的繼承關系如圖3所示。

圖3 組件類關系圖
雷達仿真系統依賴于各個組件模型的正確性,各個組件是雷達仿真系統建模的基礎。本文將一個完整的雷達仿真系統按功能將其抽象為七大組件,分別為資源調度、發射機、天線、回波生成、接收機、信號處理和數據處理。其中資源調度組件管總,是控制雷達系統運行的核心組件。下面將以資源調度組件為例,重點介紹其實現方法,并對其他組件進行簡要介紹。
2.1.1 資源調度
資源調度用來實現對雷達事件的調度,其根據設計約束和雷達限制范圍,對系統的操作優先級進行劃分,約束條件包括時間約束、能量約束、計算能力約束和硬件約束。根據操作優先級對數據處理組件傳來的任務請求按照一定的調度算法安排雷達事件,并分配相應的波束指向,最后將執行事件信息輸出到其他的組件。仿真系統主要考慮了搜索、確認、跟蹤和小搜4個事件。
資源調度組件類繼承自基類baseModel,按照軟件分層的思想,將資源調度組件分成波位編排、實時任務調度和主體運行函數等算法模塊實現。
現代雷達通常采用搜索加跟蹤(TAS)的工作模式,即對空域搜索的同時也能保持對重點目標的跟蹤,根據時間分割原理可將其理解為雷達在特定時刻對某一空間位置的照射動作,原理如圖4所示。

圖4 時間分割原理圖
雷達系統的資源是有限的,會受到時間、能量、計算能力和硬件的約束,而雷達系統往往是多任務系統,即在同一時刻會執行多個任務,從而會出現多個事件對同一時間槽的競爭,此時,就需要資源調度組件依據事先約定的優先級準則對請求執行的事件隊列進行安排。其執行邏輯框架如圖5所示。

圖5 資源調度執行邏輯框架圖
自適應任務調度算法框圖如圖6所示。

圖6 自適應任務調度算法框圖
資源調度組件實現如下:
class rdSchedule: public baseModel
{
public: //基本方法
rdSchedule ();
void beamArrange(); /波位編排
void taskManage(); //實時任務調度
void run(); //主體運行函數
~ rdSchedule ();
public: //輸入參數
int in_mode; //工作模式
mwin_DetectRange; //探測區域
mwin_ReqList; //請求列表
public: //輸出參數
mwout_ScheduleDat; //輸出事件安排
};
2.1.2 發射機
發射機用來模擬雷達的發射信號波形。發射機組件根據資源調度組件輸出的任務指令對發射信號功率、載頻、中心頻率、帶寬、脈寬等參數進行配置,調制產生脈內信號。組件構成如圖7所示。

圖7 發射機組件構成
2.1.3 回波生成
回波生成組件用來模擬發射信號經過天線傳播后,接觸到外部環境產生的多種類型的回波信號,主要包括:目標回波信號、干擾信號和雜波信號。組件構成如圖8所示。

圖8 回波生成組件構成
2.1.4 天線
天線的功能是用來完成天線方向圖的模擬,從而為目標回波、干擾和雜波信號天線增益的計算提供依據。
天線組件根據天線方向圖及資源調度組件輸出的波束指向,將接收到的目標回波、雜波和干擾信號,分別進行調制并合成出和通道、方位差通道、俯仰差通道三路信號。天線組件構成如圖9所示。

圖9 天線組件構成
2.1.5 接收機
接收機的功能是對雷達接收機濾除噪聲、抑制雜波和干擾的一系列處理過程的模擬。
首先將回波信號送入帶通濾波模塊,實現對噪聲和壓制式干擾的抑制。然后進行近程增益控制(STC)和線性-對數放大處理,實現對近程強地物雜波的抑制和接收機動態范圍的擴大。執行完一系列增益控制之后,放大了目標回波信號,最后通過數字下變頻將中頻實信號變為基帶復信號,送信號處理組件進行旁瓣相消處理。接收機組件構成如圖10所示。

圖10 接收機組件構成
2.1.6 信號處理
信號處理的功能是用來模擬雷達對接收機輸出信號的處理過程,其能進一步對回波中存在的干擾、雜波等無用信號進行濾除,從而只保留有用的目標信號,獲得目標點跡信息。信號處理組件包括了旁瓣相消、脈沖壓縮、動目標顯示(MTI)、動目標檢測(MTD)、恒虛警檢測(CFAR)、旁瓣匿影、距離測量和角度測量等幾個算法模塊。當在進行MTI、MTD與CFAR時,差通道信號的幅度會受到影響,從而影響后面測角的精度,所以俯仰差與方位差通道信號在信號處理時只做旁瓣相消和脈沖壓縮處理。信號處理組件構成如圖11所示。

圖11 信號處理組件構成
2.1.7 數據處理
數據處理組件用來對目標進行判斷其是否已經起批,并對目標的軌跡進行預測,以便雷達能夠對其保持跟蹤。數據處理組件將信號處理得到的點跡信息與已有航跡進行關聯,并通過濾波器進行預測,得到目標航向和徑向速度,通過濾波提高了目標測量參數的精度。數據處理組件包括了數據預處理、數據關聯、航跡更新和跟蹤濾波4個算法模塊,組件構成如圖12所示。

圖12 數據處理組件構成
上述各個功能組件開發測試成功后,每個組件以動態鏈接庫的形式放入雷達組件管理庫中,然后根據雷達系統的工作順序將各個組件鏈接成一個完整的雷達仿真系統。當需要搭建新的雷達系統時,可以直接從雷達組件管理庫中調用所需的功能組件,并按照預定的功能需求和軟件框架,對雷達系統進行搭建、更新和維護,具有快速、方便的優點。
本節以艦載相控陣雷達為例,給出了一個完整的組件化雷達仿真系統實例。仿真所用的計算平臺型號如下,中央處理器為英特爾酷睿i7-8700處理器。具體參數如表1所示。

表1 仿真平臺硬件參數
雷達系統開始工作前,首先要對雷達和環境參數進行初始化,初始化參數存放于數據庫中,通過對數據庫的讀取,完成仿真系統的初始化。典型的艦載相控陣雷達參數如表2所示。

表2 典型艦載相控陣雷達參數表

圖13 目標真實信息與雷達探測信息對比圖
雷達仿真系統運行過程中的運行結果存儲于數據庫中,同時可在綜合顯示界面上將雷達運行結果進行直觀地顯示。在數據庫中取CFAR后回波信號的最大值所在位置,由目標距離計算公式R=0.5nc/fs,可求出目標的距離;由單脈沖測角可得出目標角度信息;由數據濾波可得出目標的徑向速度。
取數據庫中存儲的目標的105次探測值對雷達仿真系統的測量精度進行分析,目標真實信息與雷達探測到的目標信息對比圖及雷達探測誤差如圖13所示。
由圖分析可知,目標進入穩態跟蹤后,雷達的測距誤差在15m以內,測角誤差在0.02°以內。速度值在濾波初期,誤差較大,但隨著濾波次數的增加,速度誤差穩定在5m/s以內。這是因為在首次濾波時并沒有速度信息,而是通過對距離信息的濾波才產生速度信息,并在后續過程中不斷用距離濾波值對速度信息進行修正,提高了濾波速度的精度,間接實現了對速度的準確測量。分析可見雷達探測到的目標的運動信息是正確的。
雷達探測到的目標信息會以規定的格式保存到數據庫中,并在綜合顯示界面上直觀地顯示出目標航跡信息,如圖14~15所示。

圖14 目標信息存儲文件格式

圖15 雷達仿真系統綜合顯示界面
本文針對基于面向過程式語言的雷達仿真系統開發難度大、模塊復用度低、運行速度慢的問題,提出了一種基于C++語言的組件化雷達系統建模與仿真方法,給出了雷達各功能組件的建模方法和完整的仿真系統實例。經過實際仿真的驗證,這種方法明顯地降低了雷達仿真系統的開發難度,提高了運行速度,降低了開發成本,能夠很好地滿足現代雷達仿真系統開發的需求,具有光明的應用前景。