【論文筆記】組件化雷達仿真軟件設計與實現

2012

近年來,隨着雷達仿真系統研究的不斷深入和計算機技術的不斷髮展,傳統的雷達系統仿真軟件存在重用性和擴展性差等問題,已經不能滿足雷達仿真系統規模日益擴大、結構日益複雜和功能不斷則強的需求,組件化雷達仿真軟件設計模式已經成爲今後發展的趨勢。

本文給出了組件化雷達仿真系統軟件設計方案,對雷達仿真軟件進行了三層結構劃分:系統層、功能層和矩陣層。根據仿真系統與用戶交互的不同功能劃分了系統層組件,並採用仿真軟件總線結構實現了對系統層各組件的互聯。通過組件對象模型標準設計實現了功能層組件,包括髮射系統組件、回波模擬組件、天線組件、接收機組件、信號處理組件、數據處理組件、噪聲組件、雜波組件、干擾組件和輔助功能組件等功能組件。以動態鏈接庫的形式設計並開發了矩陣層,其中包括信號處理函數、數學函數、邏輯操作函數和可擴展標記語言操作函數等。然後開發並對整個仿真軟件進行了調試。最後通過對一個兩座標系統的設計、建

模、顯示、評估和回放驗證了整個軟件的仿真功能。

通過計算機對外場環境的模擬,反覆進行測試和設計修改,可以有效的縮短外場做實驗

的週期和減少其浪費。

採用不同方式的軟件設計方法往往會對雷達仿真系統產生不同的影響,而在對軟件進行設計的階段對仿真軟件整體的設計則尤爲重要,甚至會影響仿真系統的成敗。

通過採用組件化的設計思想,雷達仿真系統可以分解成爲獨立、可複用、可替代的組件。通過模型組件化之後可以有效的減少開發週期和提高軟件的利用率,從而滿足當前雷達仿真系統面臨的複雜電磁環境要求。

在工程級與交戰級裝備仿真結構標準及其應用的研究和開發則相對較少,由於在HLA 中作爲系統最小組成單位的聯邦成員之間的耦合性非常強,對於不同的聯邦成員需要進行獨立的設計與開發,從而造成系統內部與系統之間成員重用性和擴展較差。

首先對基於組件的雷達仿真系統進行需求分析,發現在實現其需求時必須對仿真系統進行分層處理,然後對軟件系統中的分層體系結構進行分析,最後根據軟件中的分層思想,將雷達仿真系統分爲了矩陣層、功能層和系統層,並對其中每一層進行了功能劃分處理。

COM技術

在 COM 標準中,組件也稱爲模型,通常有兩種存在方式:進程內組件和進程外組件。進程內組件是一個 DLL(動態鏈接庫),進程外組件一般爲 EXE(應用程序)

進程內組件在使用時由於是在進程內部進行數據訪問,組件運行效率比較高,但是組件程序的好壞往往決定着整體程序的穩定性。

進程外組件在使用時由於是跨進程進行數據訪問,組件的運行效率自然比進程內組件的要低,但是組件程序的崩潰不會引起整個程序運行的出錯,對於穩定性要求比較高比較適合使用進程外組件。

在客戶程序調用 COM 組件時無論是進程內組件還是進程外組件,對於客戶程序來說,在調用這兩種組件模型的過程中存在的的區別是透明的。

XML技術

XML(Extensible Markup Language)即可擴展的標記語言。XML 是一種應用非

常廣泛的標記語言,通過一系列文本格式定義規則對文本進行標記。

動態鏈接庫的顯示加載則是指在程序運行過程中,有程序代碼調用LoadLibrary 和 LoadLibraryEx 函數來加載動態庫。即是在程序運行時通過地址映射來查找到庫中所需函數的地址來調用函數。

從而在雷達系統矩陣層函數庫設計時使用動態鏈接庫的隱式鏈接方式來進行。

雷達系統仿真是在計算機機上模擬、再現真實雷達系統在不同場景中的工作機理和過程,從而求解、驗證和評估真實雷達系統特性、效能等方面的一套方法。

首先將雷達系統依據模塊化的思想進行逐級劃分生成標準的功能模塊,再根據不同模塊之間的連接關係設計不同的標準的模型接口,制定標準化的接口關係,通過一定的系統結構框架,各標準化的功能模塊可以以組裝的方式構建不同的雷達系統。在這種設計模式下,不同的模塊可以進行獨立的設計、開發、測試和運行,模型組件得到了很好的重用性。

在這裏插入圖片描述

爲了建立通用的、可移植的和可擴展的雷達功能組件,在開發時統一採用軟件系統設計中比較流行的 COM 組件方法。將雷達仿真系統的功能組件都以 COM 組件的形式進行開發和封裝。通過將雷達功能模型組件化則實現了雷達系統的分集處理,而通過建立功能層組件與組件之間的接口交互標準,解決了功能組件之間接口互聯的標準問題。

矩陣層以動態鏈接庫爲開發方式,包括矩陣操作庫和 XML 操作庫兩個方面的內容。

綜上所述,整個仿真系統對於矩陣層的要求非常的高,矩陣層功能的完備性則就至關重要了。而由 MATCOM 公司出的 Matrix矩陣庫則可以滿足矩陣層的基本要求。而對於矩陣庫的操作則可以按照動態庫的靜態加載來使用。

基於矩陣操作層的基礎上建立雷達仿真系統的各大功能模塊,將整個雷達系統的功能組件可以分解爲如下所示:

1、發射系統組件

2、回波模擬組件

3、天線組件

4、接收機組件

5、信號處理組件;

6、數據處理組件;

7、噪聲組件;

8、雜波組件;

9、干擾組件;

10、輔助功能組件;

組件庫管理文件設計

組件即是根據雷達仿真系統的功能開發的 COM 組件,而組件庫說明文件則是用來對組件的詳細信息進行說明的配置配置文件。
在這裏插入圖片描述
首先發射機組件和回波模擬組件分別載入參數表中其相應的參數段參數,然後按照組件與組件之間的連接關係的先後順序進行運行。發射機組件運行並將輸出數據放入指定的內存區,然後回波模擬組件首先會從發射機組件的輸出接口上提取數據,最後再將輸出數據放入指定的內存區來等待下一個模塊的數據提取。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

由於在接口進行數據交互時對數據類型不敏感,在仿真運行時有一定的機率會出現仿真數據類型的不匹配而造成仿真系統崩潰。所以在進行接口交互時必須通過指針緩存變量來記錄輸出信號的數據類型,在輸入時進行接口匹配檢查。

進行雷達仿真系統建模。在建模系統中集成了雷達仿真系統的所有功能組件,用戶通過建模界面可以從模型庫中選擇合適的功能組件來構建所需的仿真系統。

對雷達仿真系統的仿真結果信息二三維顯示。本仿真系統在仿真過程中可以通過 PPI 顯示和三維顯示器來顯示仿真過程中的波束、目標、雷達和探測等信息。對已經仿真過的雷達系統支持回放操作。雷達系統信號級仿真通常數據量非常大,仿真耗時非常嚴重,若通過再次仿真來重新觀察系統仿真過程中的現象通常是不可取的。而通過數據回放系統則可以高效的回放仿真過程的細節信息。

雷達顯控等輔助軟件可以做到和某種特定的仿真系統解耦合,對於不同的仿真系統,只需要在設計仿真系統時將其設計爲可以插入到仿真總線上的系統則顯控等軟件可以在不做修改的情況下繼續使用,實現了仿真框架的通用性。
在這裏插入圖片描述
系統功能:主要完成雷達系統的組件建模和系統建模,組件建模是利用模型組件連接生成功能組件的過程,而系統建模則是利用功能組件連接生成仿真系統的過程。同時也包含仿真系統的參數設置、仿真系統的存儲和載入等系統相關的功能;

PPI 顯示設計

首先讀取總線數據,然後對總線數據進行解包,將數據存入顯示器的數據存儲區中,再讀取顯示器的配置信息,將配置信息存入顯示器的配置信息存儲區中,然後調用 MFC 的繪圖 DC 進行繪製背景、經緯線、波束、點跡和文本信息等顯示信息。最後程序檢查是否要退出,若退出則結束線程,否則繼續進行總線數據讀取等一系列的線程處理。

雙緩衝技術

在本方案中使用了獨立的線程進行繪圖操作,在此過程中窗口在重繪時會首先將背景顯示清除,然後在重新繪製。在短時間內背景色與顯示圖形的交替出現而出現閃屏。而雙緩存就是除了在屏幕上有圖形進行顯示以外,在內存中也有圖形在繪製。先把要繪製的圖形在內存中繪製完成,然後再一次性的複製到屏幕上去。當圖像帖到屏幕上時由於最終圖形和屏幕上顯示的圖形差別很小而去除了閃屏現象。

數據回放設計

在雷達系統建模仿真過程中通常由於仿真過程中耗時量較大而採用回放的方式來再現仿真過程。在進行數據回放時是統一針對已經存儲好的數據文件進行,包括對數據文件的提取,對不同文件之間的數據進行時間同步,將數據文件按指定格式打包併發送到總線上等等問題。而針對用戶的實際要求則需要在回放軟件中有進行倍速、減速、暫停、終止和恢復等基本的功能。

數據回放軟件採用雙線程的技術來實現,主線程負責相應用戶的界面操作,而輔助線程則負責整個回放過程的數據處理。如圖 3.11 所示爲數據回放軟件的程序流程圖,在主線程中通過改變總時間 T 來控制仿真的速度、暫停和恢復等功能,而在輔助線程中,首先根據載入的不同的數據文件計算每個數據文件中的仿真間隔時間 t,通過n = T / t計算出需要提取的數據在文件中的位置來提取數據,然後對數據進行指定格式的打包和發送,如果提取數據已經完成則退出仿真,否則繼續。若用戶在界面中點擊終止仿真的按鈕則強制結束輔助線程的數據處理操作。
在這裏插入圖片描述
雷達仿真系統組件使用 Microsoft 提供的 COM 標準進行開發,採用進程內組件模型,即以 DLL(動態鏈接庫)的形式存在。

PPI 顯示器用於對仿真結果進行直觀顯示

本程序提供對用戶關心的某一區域的放大和縮小顯示功能,用戶可以通過工具菜單中選擇放大或縮小來實現。

單擊“工具”菜單中的“參數設置選項”,彈出如圖 4.15 所示的參數設置界

面,在此界面中用戶可以設置 P 顯的刷新頻率,背景色、P 顯掃描範圍、威力範圍、

波束顏色、波門顏色、緯線顏色、緯線出現間隔、緯線起始和終止距離、經線顏

色、經線繪製間隔和目標的點跡大小等參數。

在這裏插入圖片描述

數據回放開發

數據回放程序提供對已有存儲數據進行載入回放操作,程序開發界面如圖4.16 所示,程序主界面比較簡潔,提供了載入數據按鈕、導入文件設置按鈕以及回放時必須的如開始回放、加速回放、減速回放、終止回放、暫停回放和恢復回放按鈕。

用戶通過單擊“導入文件設置”按鈕,可以彈出如圖 4.17 所示界面,在此界面中用戶首先通過數據路徑後面的配置按鈕來設定數據文件路徑,然後在相關的數據列表下方單擊添加按鈕則可以將數據文件加入到回放系統中,在設定完成之後點擊應用和確定按鈕。在回放主界面中單擊載入數據將數據載入完成之後則可以進行數據回放相關操作。
在這裏插入圖片描述

集成啓動界面開發
在這裏插入圖片描述

組件化雷達仿真軟件應用

雷達仿真系統組件模型是根據雷達系統相關原理進行的模型抽象,以 C++語言爲基礎進行的開發,從而在將組件模型加入到系統中進行仿真之前,需要保證各組件模型功能的正確性。

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

本仿真系統中通過對仿真數據進行存儲來實現對仿真過程的再現,數據回放界面如圖 4.16 數據回放界面所示,在載入仿真數據之前需首先設定導入文件,點擊導入文件設置按鈕,在如圖 4.17 數據回放導入文件設置界面所示的界面中設定數據文件爲 10km 高度層數據並根據存儲時的文件名稱依次選擇雷達數據、目標數據、波束數據和探測數據,點擊應用和確定按鈕,在主回放界面中點擊載入數據,然後點擊開始回放按鈕,回放結果和圖 5.19 相同。

首先針對常規以往雷達仿真系統在設計和開發過程中的不足,要求在仿真系

統設計時必須考慮到軟件的可重用性和可擴展性,而利用軟件工程中的分層體系

結構和組件化程序設計思想分別可以解決可擴展性差和可重用性差的問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章