王澤剛,陳照海,吳澤,劉迎彬,呂雷
(1.西安蘇試廣博環(huán)境可靠性實驗室有限公司,陜西 西安 710119;2.中北大學(xué),山西 太原 030051)
雷達產(chǎn)品的快速發(fā)展,雷達探測的準(zhǔn)確性至關(guān)重要,需要經(jīng)過各項測試在符合標(biāo)準(zhǔn)的情況下才能投入生產(chǎn),在面對大量的雷達測試與GPS數(shù)據(jù),單靠簡單的excel表格等簡單操作完成數(shù)據(jù)處理需要花費大量的時間與精力,這時運用程序設(shè)計便會輕松很多。而MATLAB有著內(nèi)部含有著大量庫函數(shù)、極高的編程效率、數(shù)據(jù)可視化等優(yōu)點,因此決定使用MATLAB程序設(shè)計解決這個問題,使得處理數(shù)據(jù)更加快捷。為了使不熟悉MATLAB的人員也可以更方便的進行操作,MATLAB中還提供了可以做用戶圖形界面的開發(fā)環(huán)境GUI。因此可以使用MATLAB中GUI模塊設(shè)計出一款針對此問題的圖形用戶界面,使用者不需要知道其操作的具體的代碼內(nèi)容及意義,只需要了解界面上的具體操作就可以完成對數(shù)據(jù)的處理。
圖形用戶界面GUI為采用圖形方式顯示的計算機操作用戶界面,MATLAB為設(shè)計者設(shè)計圖形界面用戶提供了方便、快捷的制作開發(fā)環(huán)境。同時MATLAB有著大量庫函數(shù)、極高的編程效率、數(shù)據(jù)可視化等優(yōu)點,許多設(shè)計者都采用此模塊進行設(shè)計開發(fā)軟件。張鋒等人利用MATLAB圖形用戶界面(GUI)設(shè)計并實現(xiàn)了一套船姿船位數(shù)據(jù)分析處理軟件;洪楚雨等人借助MATLAB GUI技術(shù),設(shè)計了一款集成度較高的雷達測試平臺,用于分析雷達產(chǎn)生的數(shù)據(jù)分析。
MATLAB GUI界面設(shè)計一般包括兩個文件部分,一部分就是定義圖形件組成的元素,這里包括你需要的文字、圖形、菜單、控件等等,最后保存為FIG文件;另外一部分就是腳本中各種函數(shù)的操作,以及你自己需要實現(xiàn)的功能的程序,其保存為M文件。在工具欄中包含按鈕(Push Button)、雙位按鈕(Toggle Button)、單選按鈕(Radio Button)、滑動條(Slider)、靜態(tài)文本(Static Text)、可編輯文本(Edit Text)、邊框(Frame)、列表框(List Box)、彈出框(Popup Menu)、坐標(biāo)軸(Axes)多種編輯圖形控件,可根據(jù)其不同功能搭配使用并對其進行布局完成自己的界面外觀,在布局完所需要的控件后,每個控件都可雙擊對其進行編輯,改變控件名稱、字體、顏色等屬性。這一部分編輯完成后,需要對之前在GUI界面里面自己編輯的那些部件的創(chuàng)建函數(shù),回調(diào)函數(shù)等。賦予這些控件其功能,也就是第二部分功能實現(xiàn)的程序部分,右擊按鈕點擊callback進入回調(diào)函數(shù)編寫,在每個控件名稱對應(yīng)的函數(shù)下面完成對其的功能控制,編輯完成后就可以保存為M文件。通過運行M文件即可進入圖形用戶界面。
要完成對雷達探測的數(shù)據(jù)誤差計算,首先,得知道某物體(例如車)在GPS探測下的經(jīng)度、緯度、海拔高度以及時間,將這些實驗數(shù)據(jù)數(shù)據(jù)錄入到表中;其次,就是雷達架設(shè)的坐標(biāo)(經(jīng)度、維度、海拔)和所探測物體的時間以及探測到的距離、方位角以及速度并將其導(dǎo)入到表格中;另外,需要進行設(shè)置時間門限、速度門限、距離門限以及方位角門限等排除無用點位的數(shù)據(jù);最后,還需要知道距離范圍來區(qū)分移動的物體(人、車、無人機)。
由于GPS探測直接導(dǎo)出的數(shù)據(jù)與雷達導(dǎo)出的數(shù)據(jù)類型、格式都不相同,GPS導(dǎo)出的數(shù)據(jù)為目標(biāo)的經(jīng)緯度、海拔高度以及時間,而雷達導(dǎo)出的數(shù)據(jù)為目標(biāo)距雷達架設(shè)點位置的距離、方位角度以及時間。因此,首先要將GPS測得的坐標(biāo)數(shù)據(jù)轉(zhuǎn)化為與雷達相關(guān)的距離、速度以及方位角,以方便用于后續(xù)的計算。在已知雷達假設(shè)點坐標(biāo)以及GPS所探測到的坐標(biāo)數(shù)據(jù)的情況下,通過使用MATLAB中大地坐標(biāo)轉(zhuǎn)化函數(shù)geodetic2aer將GPS數(shù)據(jù)轉(zhuǎn)化為易于計算的數(shù)據(jù)(距離、角度),程序示例如圖1所示。而徑向速度需要通過進一步計算得到,因為采集目標(biāo)的移動速度可能存在相差較大,因此,在對不同目標(biāo)的采集時間間隔也會不一致,所以在計算徑向速度時所使用差分間隔也不相同,本設(shè)計就針對無人機、車、人員采用兩種不同間隔來運算速度,人員的徑向速度采用公式1、車的徑向速度采用公式2、無人機的徑向速度采用公式3來進行計算。
圖1 真值計算
由于雷達設(shè)備與GPS可能會出現(xiàn)時間上的偏差,因此在本設(shè)計中加入時差修正,根據(jù)參試單位提供的雷達探測值數(shù)據(jù)(至少包含時間、距離、方位、速度等信息)和GPS時間信息進行時差修正(具體修正值各單位不一),因此需設(shè)置時間偏差為變量。首先,將GPS將距離、速度、角度分別對時間做插值,然后將雷達探測的距離、速度、角度對時間加修正的時間差值進行插值。具體代碼如圖2所示,這樣可以確保雷達與GPS在時間上可以重合,同時更方便顯示GPS和雷達測試軌跡圖,可以快速確定是否存在丟失某趟數(shù)據(jù)。
圖2 時間修正插值
GPS數(shù)據(jù)和雷達數(shù)據(jù)在經(jīng)過速度、距離、角度的插值計算后,想要精確計算各數(shù)據(jù)的誤差,應(yīng)該先將誤差較大的錯誤點位數(shù)據(jù)排除掉。根據(jù)規(guī)定的時間、速度、角度以及距離門限進行數(shù)據(jù)剔除,剔除原則為要求剔除剩余的數(shù)據(jù)在時間、距離、速度、角度上同時滿足小于其3倍門限,將滿足所有條件的數(shù)據(jù)按距離、速度、角度分別進行表格輸出。
接下來就是借助GPS探測數(shù)據(jù)對雷達數(shù)據(jù)進行誤差計算,使用均方根誤差計算方法分別對距離、速度及方位角進行計算,具體算法為公式(4)~(6)。根據(jù)需求另外計算誤差還使用滑窗算法,設(shè)置窗口為變量,可以輸入改變來進行控制窗口的大小。
設(shè)計圖形用戶界面(GUI)最直接的目的為可以更方便、簡潔的處理、運算數(shù)據(jù)。因此,在設(shè)計時,要考慮到其特性進行設(shè)計,盡可能地顯示其功能有操作方便、簡單。
本次設(shè)計目的是為解決雷達Ⅰ型實驗和Ⅱ型實驗中的探測數(shù)據(jù)誤差、點位發(fā)現(xiàn)概率等問題,Ⅰ型實驗要求不需要考慮速度影響,直接對距離和方位角進行數(shù)據(jù)處理及計算,Ⅱ型實驗則對速度也有了要求,并在其求解精度方面加入了滑窗算法要求,這些也是設(shè)計界面基礎(chǔ)。在設(shè)計開始之前進行排版布局規(guī)劃以及設(shè)計思路,由于牽扯到的算法不止一種,本次總體采用按鍵進入切換功能的思路進行界面處理。
界面打開為初始界面(圖3),包含此界面的功能文字介紹以及Ⅰ型實驗和Ⅱ型實驗的兩個可點擊的按鍵,根據(jù)實驗數(shù)據(jù)的對象點擊相應(yīng)的按鈕進入下一步操作。
圖3 主界面
點擊Ⅰ型,進入Ⅰ型實驗數(shù)據(jù)處理的計算功能界面(圖4),界面中的輸入框包含雷達架設(shè)點位的經(jīng)緯度以及海拔高度,用于去除錯誤點位的時間、距離、角度門限,可以根據(jù)測量目標(biāo)在大量GPS數(shù)據(jù)中進行篩選的距離范圍,以及如果存在時間偏差的具體時間偏差值設(shè)置。設(shè)置了三個用于計算的按鈕,點擊GPS解算,可以進入到文件選擇窗口,選擇需要處理的GPS數(shù)據(jù)即可,解算完成后會輸出一個命名為GPS的data數(shù)據(jù)文件;然后進行點擊篩選探測值,選擇剛才計算完成的data文件以及雷達探測值文件,計算完成后會輸出一個篩選后的探測值data文件;點擊最后結(jié)果解算,需要依次選擇前兩次計算的data文件,計算完成后會輸出GPS與探測值距離、速度、方位角在同時間下的對照表,距離、速度、方位角誤差,探測值軌跡圖以及各點的距離、方位角、速度誤差圖像。計算結(jié)果以表格形式輸出(圖5)。
圖5 結(jié)果輸出
當(dāng)點擊Ⅱ型,由于Ⅱ型數(shù)中要求在計算精度時加入滑窗計算的方法,因此在此設(shè)計了包含文字介紹以及滑窗算法和均方根算法的兩個綠色可點擊的按鍵,兩個按鈕分別代表了兩種雷達數(shù)據(jù)誤差計算方法(圖6)。點進所需要算法的按鈕進入選擇探測的目標(biāo)界面,如圖7所示。
圖6 Ⅱ型主界面
圖7 探測目標(biāo)選擇界面
根據(jù)數(shù)據(jù)的對象進行選擇按鍵進入計算界面(圖8),同一類型下所有探測目標(biāo)計算界面相同,但回調(diào)程序不同,計算方式也有所差別。Ⅱ型界面在Ⅰ型的基礎(chǔ)添加了速度門限,滑窗算法在界面上增加了滑窗窗口大小,輸入各項數(shù)據(jù)后具體計算操作與Ⅰ型操作方式相同,輸出結(jié)果(圖9)相較Ⅰ型輸出而言多出了速度對照以及速度精度。
圖8 Ⅱ型計算界面
圖9 結(jié)果輸出
用戶圖形界面經(jīng)過上述測試沒有問題后,進入該界面還是要運行一個M文件,而且仍需要借助MATLAB環(huán)境運行才能使用,因此盡管封裝完畢,仍然需要用戶安裝、打開MATLAB才能進行運行,也仍然不方便,畢竟不是每位用戶都愿意安裝及打開MATLAB。這就需要對封裝后的程序進行打包成獨立可執(zhí)行的exe文件,借助MATLAB中的 Application Complier工具和之前保存好的M文件就可進行打包。進行打包前首先查看MATLAB是否配置了Runtime編譯環(huán)境,沒有就需要先進行安裝配置,在命令框中輸入deploytool即可進入Application Complier,在界面中填寫相關(guān)內(nèi)容、選擇將Runtime打包并附上包裝完成后的M文件,就可以點擊Package進行打包。打包完成后會顯示3個文件夾(圖10),用戶可執(zhí)行文件保存在for_redistribution_only文件夾下,電腦未安裝MATLAB的用戶需要點擊第一個文件下的文件進行環(huán)境安裝。
本設(shè)計借助MATLAB GUI開發(fā)環(huán)境設(shè)計了一款不同試驗、不同探測目標(biāo)下雷達探測數(shù)據(jù)與GPS數(shù)據(jù)進行了對照、剔除以及計算了雷達探測的各項數(shù)據(jù)精度的用戶圖形界面軟件。此軟件用在某次大型雷達測試實驗期間幫助處理了所有相關(guān)實驗數(shù)據(jù),計算期間,可以快速給出結(jié)果,且結(jié)果準(zhǔn)確,便捷了實驗數(shù)據(jù)的處理,加快了實驗的進程,促進了實驗的圓滿成功。
MATLAB中有著豐富的數(shù)據(jù)庫和高效處理數(shù)據(jù)等優(yōu)勢,且自帶著GUI開發(fā)模塊,用戶可以很方便地設(shè)計出自己需求的程序以及圖形界面,而且可借助Application Complier對其進行打包成安裝即可用的軟件,使其在即使沒有安MATLAB的情況下,依然可以運行操作,極大地方便了軟件的使用。