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