王澤剛,陳照海,吳澤,劉迎彬,呂雷
(1.西安蘇試廣博環境可靠性實驗室有限公司,陜西 西安 710119;2.中北大學,山西 太原 030051)
雷達產品的快速發展,雷達探測的準確性至關重要,需要經過各項測試在符合標準的情況下才能投入生產,在面對大量的雷達測試與GPS數據,單靠簡單的excel表格等簡單操作完成數據處理需要花費大量的時間與精力,這時運用程序設計便會輕松很多。而MATLAB有著內部含有著大量庫函數、極高的編程效率、數據可視化等優點,因此決定使用MATLAB程序設計解決這個問題,使得處理數據更加快捷。為了使不熟悉MATLAB的人員也可以更方便的進行操作,MATLAB中還提供了可以做用戶圖形界面的開發環境GUI。因此可以使用MATLAB中GUI模塊設計出一款針對此問題的圖形用戶界面,使用者不需要知道其操作的具體的代碼內容及意義,只需要了解界面上的具體操作就可以完成對數據的處理。
圖形用戶界面GUI為采用圖形方式顯示的計算機操作用戶界面,MATLAB為設計者設計圖形界面用戶提供了方便、快捷的制作開發環境。同時MATLAB有著大量庫函數、極高的編程效率、數據可視化等優點,許多設計者都采用此模塊進行設計開發軟件。張鋒等人利用MATLAB圖形用戶界面(GUI)設計并實現了一套船姿船位數據分析處理軟件;洪楚雨等人借助MATLAB GUI技術,設計了一款集成度較高的雷達測試平臺,用于分析雷達產生的數據分析。
MATLAB GUI界面設計一般包括兩個文件部分,一部分就是定義圖形件組成的元素,這里包括你需要的文字、圖形、菜單、控件等等,最后保存為FIG文件;另外一部分就是腳本中各種函數的操作,以及你自己需要實現的功能的程序,其保存為M文件。在工具欄中包含按鈕(Push Button)、雙位按鈕(Toggle Button)、單選按鈕(Radio Button)、滑動條(Slider)、靜態文本(Static Text)、可編輯文本(Edit Text)、邊框(Frame)、列表框(List Box)、彈出框(Popup Menu)、坐標軸(Axes)多種編輯圖形控件,可根據其不同功能搭配使用并對其進行布局完成自己的界面外觀,在布局完所需要的控件后,每個控件都可雙擊對其進行編輯,改變控件名稱、字體、顏色等屬性。這一部分編輯完成后,需要對之前在GUI界面里面自己編輯的那些部件的創建函數,回調函數等。賦予這些控件其功能,也就是第二部分功能實現的程序部分,右擊按鈕點擊callback進入回調函數編寫,在每個控件名稱對應的函數下面完成對其的功能控制,編輯完成后就可以保存為M文件。通過運行M文件即可進入圖形用戶界面。
要完成對雷達探測的數據誤差計算,首先,得知道某物體(例如車)在GPS探測下的經度、緯度、海拔高度以及時間,將這些實驗數據數據錄入到表中;其次,就是雷達架設的坐標(經度、維度、海拔)和所探測物體的時間以及探測到的距離、方位角以及速度并將其導入到表格中;另外,需要進行設置時間門限、速度門限、距離門限以及方位角門限等排除無用點位的數據;最后,還需要知道距離范圍來區分移動的物體(人、車、無人機)。
由于GPS探測直接導出的數據與雷達導出的數據類型、格式都不相同,GPS導出的數據為目標的經緯度、海拔高度以及時間,而雷達導出的數據為目標距雷達架設點位置的距離、方位角度以及時間。因此,首先要將GPS測得的坐標數據轉化為與雷達相關的距離、速度以及方位角,以方便用于后續的計算。在已知雷達假設點坐標以及GPS所探測到的坐標數據的情況下,通過使用MATLAB中大地坐標轉化函數geodetic2aer將GPS數據轉化為易于計算的數據(距離、角度),程序示例如圖1所示。而徑向速度需要通過進一步計算得到,因為采集目標的移動速度可能存在相差較大,因此,在對不同目標的采集時間間隔也會不一致,所以在計算徑向速度時所使用差分間隔也不相同,本設計就針對無人機、車、人員采用兩種不同間隔來運算速度,人員的徑向速度采用公式1、車的徑向速度采用公式2、無人機的徑向速度采用公式3來進行計算。

圖1 真值計算
由于雷達設備與GPS可能會出現時間上的偏差,因此在本設計中加入時差修正,根據參試單位提供的雷達探測值數據(至少包含時間、距離、方位、速度等信息)和GPS時間信息進行時差修正(具體修正值各單位不一),因此需設置時間偏差為變量。首先,將GPS將距離、速度、角度分別對時間做插值,然后將雷達探測的距離、速度、角度對時間加修正的時間差值進行插值。具體代碼如圖2所示,這樣可以確保雷達與GPS在時間上可以重合,同時更方便顯示GPS和雷達測試軌跡圖,可以快速確定是否存在丟失某趟數據。

圖2 時間修正插值
GPS數據和雷達數據在經過速度、距離、角度的插值計算后,想要精確計算各數據的誤差,應該先將誤差較大的錯誤點位數據排除掉。根據規定的時間、速度、角度以及距離門限進行數據剔除,剔除原則為要求剔除剩余的數據在時間、距離、速度、角度上同時滿足小于其3倍門限,將滿足所有條件的數據按距離、速度、角度分別進行表格輸出。
接下來就是借助GPS探測數據對雷達數據進行誤差計算,使用均方根誤差計算方法分別對距離、速度及方位角進行計算,具體算法為公式(4)~(6)。根據需求另外計算誤差還使用滑窗算法,設置窗口為變量,可以輸入改變來進行控制窗口的大小。
設計圖形用戶界面(GUI)最直接的目的為可以更方便、簡潔的處理、運算數據。因此,在設計時,要考慮到其特性進行設計,盡可能地顯示其功能有操作方便、簡單。
本次設計目的是為解決雷達Ⅰ型實驗和Ⅱ型實驗中的探測數據誤差、點位發現概率等問題,Ⅰ型實驗要求不需要考慮速度影響,直接對距離和方位角進行數據處理及計算,Ⅱ型實驗則對速度也有了要求,并在其求解精度方面加入了滑窗算法要求,這些也是設計界面基礎。在設計開始之前進行排版布局規劃以及設計思路,由于牽扯到的算法不止一種,本次總體采用按鍵進入切換功能的思路進行界面處理。
界面打開為初始界面(圖3),包含此界面的功能文字介紹以及Ⅰ型實驗和Ⅱ型實驗的兩個可點擊的按鍵,根據實驗數據的對象點擊相應的按鈕進入下一步操作。

圖3 主界面
點擊Ⅰ型,進入Ⅰ型實驗數據處理的計算功能界面(圖4),界面中的輸入框包含雷達架設點位的經緯度以及海拔高度,用于去除錯誤點位的時間、距離、角度門限,可以根據測量目標在大量GPS數據中進行篩選的距離范圍,以及如果存在時間偏差的具體時間偏差值設置。設置了三個用于計算的按鈕,點擊GPS解算,可以進入到文件選擇窗口,選擇需要處理的GPS數據即可,解算完成后會輸出一個命名為GPS的data數據文件;然后進行點擊篩選探測值,選擇剛才計算完成的data文件以及雷達探測值文件,計算完成后會輸出一個篩選后的探測值data文件;點擊最后結果解算,需要依次選擇前兩次計算的data文件,計算完成后會輸出GPS與探測值距離、速度、方位角在同時間下的對照表,距離、速度、方位角誤差,探測值軌跡圖以及各點的距離、方位角、速度誤差圖像。計算結果以表格形式輸出(圖5)。

圖5 結果輸出
當點擊Ⅱ型,由于Ⅱ型數中要求在計算精度時加入滑窗計算的方法,因此在此設計了包含文字介紹以及滑窗算法和均方根算法的兩個綠色可點擊的按鍵,兩個按鈕分別代表了兩種雷達數據誤差計算方法(圖6)。點進所需要算法的按鈕進入選擇探測的目標界面,如圖7所示。

圖6 Ⅱ型主界面

圖7 探測目標選擇界面
根據數據的對象進行選擇按鍵進入計算界面(圖8),同一類型下所有探測目標計算界面相同,但回調程序不同,計算方式也有所差別。Ⅱ型界面在Ⅰ型的基礎添加了速度門限,滑窗算法在界面上增加了滑窗窗口大小,輸入各項數據后具體計算操作與Ⅰ型操作方式相同,輸出結果(圖9)相較Ⅰ型輸出而言多出了速度對照以及速度精度。

圖8 Ⅱ型計算界面

圖9 結果輸出
用戶圖形界面經過上述測試沒有問題后,進入該界面還是要運行一個M文件,而且仍需要借助MATLAB環境運行才能使用,因此盡管封裝完畢,仍然需要用戶安裝、打開MATLAB才能進行運行,也仍然不方便,畢竟不是每位用戶都愿意安裝及打開MATLAB。這就需要對封裝后的程序進行打包成獨立可執行的exe文件,借助MATLAB中的 Application Complier工具和之前保存好的M文件就可進行打包。進行打包前首先查看MATLAB是否配置了Runtime編譯環境,沒有就需要先進行安裝配置,在命令框中輸入deploytool即可進入Application Complier,在界面中填寫相關內容、選擇將Runtime打包并附上包裝完成后的M文件,就可以點擊Package進行打包。打包完成后會顯示3個文件夾(圖10),用戶可執行文件保存在for_redistribution_only文件夾下,電腦未安裝MATLAB的用戶需要點擊第一個文件下的文件進行環境安裝。
本設計借助MATLAB GUI開發環境設計了一款不同試驗、不同探測目標下雷達探測數據與GPS數據進行了對照、剔除以及計算了雷達探測的各項數據精度的用戶圖形界面軟件。此軟件用在某次大型雷達測試實驗期間幫助處理了所有相關實驗數據,計算期間,可以快速給出結果,且結果準確,便捷了實驗數據的處理,加快了實驗的進程,促進了實驗的圓滿成功。
MATLAB中有著豐富的數據庫和高效處理數據等優勢,且自帶著GUI開發模塊,用戶可以很方便地設計出自己需求的程序以及圖形界面,而且可借助Application Complier對其進行打包成安裝即可用的軟件,使其在即使沒有安MATLAB的情況下,依然可以運行操作,極大地方便了軟件的使用。