剡熠琛 李雅梅 拜兵虎
(西安電子工程研究所 西安 710100)
某跟蹤雷達作為某武器系統(tǒng)中的一個單體,與其他單體之間通過CAN總線進行通信,因為總線上單體較多,CAN總線分配給雷達的只有兩幀數(shù)據(jù)。在雷達樣機研制以及調(diào)試過程中,涉及到信號處理、微波前端、伺服系統(tǒng)等多個分機,為了能夠在雷達調(diào)試過程中及時發(fā)現(xiàn)問題、解決問題,僅用兩幀CAN內(nèi)容是不夠的,額外增加CAN命令可能增加總線負擔、引起系統(tǒng)混亂。
因此,為了兼顧雷達單體調(diào)試以及武器系統(tǒng)通訊鏈路的穩(wěn)定,雷達樣機研制中,在滿足總體CAN總線通訊要求的基礎上增加了網(wǎng)絡通訊方式,調(diào)試顯控終端需要同時具備這兩種通訊方式的命令下發(fā)及狀態(tài)采集。
此外,為了便于調(diào)試過程中的雷達狀態(tài)分析,調(diào)試終端具備數(shù)據(jù)分析功能也尤為重要。對于該雷達系統(tǒng)而言,首先,需要對雷達狀態(tài)、雷達跟蹤數(shù)據(jù)、伺服編碼及全量數(shù)據(jù)進行解析;其次,在系統(tǒng)聯(lián)調(diào)時,搜索雷達通過CAN總線將目標信息發(fā)送給跟蹤雷達,導引跟蹤雷達完成對目標的截獲和跟蹤。由于調(diào)試中受雷達擺放位置的影響,經(jīng)常需要對導引角度做修正。因此在聯(lián)調(diào)時,需要對導引精度進行分析,以便偏差較大時能夠進行修正;最后,跟蹤雷達作為武器系統(tǒng)的重要組成部分,其跟蹤精度直接影響了整個武器系統(tǒng)的作戰(zhàn)效能,因此在終端中進行動飛精度分析,是非常必要的。
我們希望設計一款調(diào)試軟件,能夠同時實現(xiàn)上述功能,即集雷達控制、狀態(tài)顯示及數(shù)據(jù)分析功能于一體。Matlab是一款功能強大的科研軟件,具有豐富的信號處理工具、強大的數(shù)據(jù)計算能力與實時繪圖功能,而且編程非常簡單,此外Matlab也有自己的界面設計模塊——用戶圖形界面(Graphical User Interface,GUI),GUI模塊可方便設計出圖形用戶界面。適用于在雷達總站調(diào)試過程中實現(xiàn)數(shù)據(jù)分析、控制、顯示等融為一體的軟件設計[1-2]。本文將借助Matlab GUI來實現(xiàn)該雷達的調(diào)試顯控終端設計。
根據(jù)雷達調(diào)試需求,為了Matlab GUI界面的清晰簡潔與操作簡便,可將其主要功能分為UDP網(wǎng)絡通訊模塊、CAN指令控制模塊、網(wǎng)絡指令控制模塊、雷達狀態(tài)顯示模塊、目標信息顯示模塊、目標AR顯示模塊、數(shù)據(jù)錄取模塊、數(shù)據(jù)分析模塊。組成框圖如圖1所示。

圖1 軟件組成框圖
Matlab中創(chuàng)建GUI界面通常有兩種方式:一是使用m文件直接動態(tài)添加控件,利用程序編寫產(chǎn)生對象(如uicontrol、uimenu)來開發(fā)GUI界面;二是通過Matlab自帶的GUIDE來快速建立GUI對象,事件處理的代碼可以再m文件中進行編寫,需修改程序代碼時可快捷地在m文件中修改[3]。顯然第二種可視化編輯方法更適合編寫設計大型程序。本文中選擇第二種方法對調(diào)試顯控終端進行設計。使用GUIDE來建立GUI的設計過程如下:
1)在Matlab命令行窗口中輸入GUIDE、或者從菜單欄新建app選擇GUIDE創(chuàng)建GUI界面文件,新建且保存后,會生成相應的fig文件和m文件。
2)可以通過在命令行輸入guide+文件名.fig進入編輯界面,可以在編輯界面中按照程序功能設計將所需要的控件添加到編輯界面中。常用控件有按鈕(Pushbutton)、彈出式菜單(Popup Menu)、坐標軸(Axes)、復選框(CheckBox)、可編輯文本框(Edit Text)、靜態(tài)文本(Static Text)、面板(Panel)等。
3)每一個控件都有自己的屬性,可以在編輯界面中雙擊該控件進入屬性編輯器來設置或修改控件屬性,包括控件的名稱(Name)、文本(String)、標簽(Tag)、位置(Position)、使能狀態(tài)(Enable)、回調(diào)函數(shù)(Callback)等各種屬性。在m文件中可以通過使用set、get等函數(shù)來設置和獲取控件屬性值。
4)回調(diào)函數(shù)(Callback)是連接界面和整個程序系統(tǒng)的實質性功能紐帶,利用回調(diào)函數(shù)實現(xiàn)Matlab GUI界面與數(shù)據(jù)計算的相互交互。編輯某控件回調(diào)函數(shù)時,右擊該控件,在彈出菜單中點擊Callback子菜單,激活系統(tǒng)自動生成的hName_Callback(hObject,eventdata,handles)函數(shù),hName表示該控件的Tag屬性,hObject表示當前控件的的句柄。在該回調(diào)函數(shù)下完成相應的功能程序編寫即可。
5)在界面設計完畢后,可以對程序進行封裝。首先在Matlab命令行窗口輸入deploytool,按下回車后彈出窗口,選擇第一項“Application Compiler”。在打開的窗口里,點擊“加號”,選擇打開要生成exe文件的代碼,然后選中Runtime included in package,最后點擊Package按鈕,完成打包,生成可執(zhí)行exe文件。
該雷達與調(diào)試終端之間通過UDP網(wǎng)絡進行通訊。利用Matlab進行UDP通信的主要程序指令如下:
1)新建UDP對象與連接
u1=udp(remote_ip); %新建一個udp通信對象
set(u1,‘RemotePort’,remote_port);
set(u1,‘LocalHost’,local_ip);
set(u1,‘LocalPort’,local_port);
set(u1,‘DatagramReceivedFcn’,{@udp_read,handles});
fopen(u1); %打開終端與雷達之間的網(wǎng)絡連接
2)通過UDP發(fā)送信息和讀取
fwrite(u1,data _frame,‘uint8’); %發(fā)送
num=u1.BytesAvailable;
udp_read_buf=fread(u1,num,‘uint8’); %讀取
3)關閉UDP
fclose(u1);
delete(u1);
為了雷達調(diào)試的便捷性,這里借助通用計算機外設CANET-2E-U將CAN-bus數(shù)據(jù)轉換為以太網(wǎng)數(shù)據(jù),CANET-2E-U設備具有一路10M/100M/1000M自適應以太網(wǎng)接口,2路CAN-bus接口, 實現(xiàn)CAN-bus網(wǎng)絡和以太網(wǎng)網(wǎng)絡互連互通。在接入該設備后,雷達調(diào)試時的拓撲結構如圖2所示。

圖2 拓撲圖
調(diào)試終端通過該設備可以將CAN命令通過UDP幀發(fā)送出去。一個UDP幀可以包含若干CAN幀(最多40個,最少1個),一個CAN幀包含13個字節(jié),CAN幀數(shù)據(jù)格式如圖3所示。

圖3 CAN幀格式示意圖
其中:Byte1用于標識該CAN幀的類型和長度;Byte2~Byte5用于表示該CAN幀的幀ID;Byte6~Byte13表示CAN幀內(nèi)容。在調(diào)試界面CAN指令控制模塊程序編寫的時候,只需在回調(diào)函數(shù)中將協(xié)議中的CAN指令內(nèi)容轉換為圖3格式,便可以通過UDP幀將CAN指令發(fā)送出去。
該雷達的數(shù)據(jù)分析主要包括雷達狀態(tài)、雷達跟蹤數(shù)據(jù)、伺服編碼及全量的解析,導引精度分析,動態(tài)檢飛精度分析等。對于雷達狀態(tài)、雷達跟蹤數(shù)據(jù)、伺服編碼及全量、導引精度分析而言,不涉及過多運算,按照協(xié)議對相應參數(shù)進行解析,再按照需求進行一些計算即可。動態(tài)檢飛精度分析中涉及到數(shù)據(jù)插值、時間對準、坐標系轉換[4-5]等,較為復雜。
本小節(jié)中主要對動態(tài)檢飛精度分析的實現(xiàn)進行說明。圖4為動態(tài)檢飛精度分析流程圖,其具體步驟如下:

圖4 精度分析流程圖
1)步驟1:獲取雷達站心位置數(shù)據(jù),目標靶機GPS軌跡數(shù)據(jù),雷達探測到的目標數(shù)據(jù),雷達車體的姿態(tài)數(shù)據(jù)等。其中,雷達站心數(shù)據(jù),目標軌跡數(shù)據(jù)主要包括時間、經(jīng)度、緯度、高度等信息,該數(shù)據(jù)基于大地坐標系,可標記為LLA(Longtitude、Latitude、Altitude)坐標;車體姿態(tài)數(shù)據(jù)包括橫滾角、縱搖角、偏航角;雷達觀測數(shù)據(jù)包含距離、方位角、俯仰角,該數(shù)據(jù)基于雷達極坐標。
2)步驟2:步驟1中獲取的四組數(shù)據(jù)采樣率不同,為了精度分析的準確性,需要將數(shù)據(jù)進行插值、平滑濾波處理,然后將四組數(shù)據(jù)的時間進行對齊,以便于做出更加客觀準確的對比。
3)步驟3:將LLA坐標下的雷達站心數(shù)據(jù)和目標軌跡數(shù)據(jù)轉換到地心地固直角坐標系,標記為ECEF(Earth-Centered Earth-Fixed)坐標,然后旋轉平移得到目標相對于雷達站心東北天(East-North-Up,ENU)直角坐標系下的數(shù)據(jù),最后將數(shù)據(jù)轉換到ENU極坐標系。
4)步驟4:將雷達極坐標下的雷達觀測數(shù)據(jù)轉換到直角坐標,再通過旋轉將其轉到ENU直角坐標系下,最后將數(shù)據(jù)轉換到ENU極坐標系。
5)步驟5:通過步驟3和步驟4的坐標系轉換操作,已將目標真值數(shù)據(jù)和雷達觀測數(shù)據(jù)轉換到同一坐標系下,即可對受檢雷達的檢飛精度進行計算,得到精度分析結果。
雷達調(diào)試顯控終端的設計,其控件組織要簡潔、合理,且操作使用要方便。最終設計的該雷達調(diào)試顯控終端界面如圖5所示。

圖5 調(diào)試顯控終端界面
1)UDP通信模塊:采用“終端網(wǎng)絡”復選框控件,當選中“終端網(wǎng)絡”復選框后,回調(diào)函數(shù)會按照預先設置好的IP地址、端口號打開UDP網(wǎng)絡,雷達與終端之間開始有數(shù)據(jù)交互,取消選中“終端網(wǎng)絡”復選框時,該UDP網(wǎng)絡斷開,數(shù)據(jù)傳輸中斷。
2)網(wǎng)絡指令控制模塊:當按下“發(fā)送”按鈕時,回調(diào)函數(shù)會調(diào)用get函數(shù)從各交互控件中獲取用戶設置雷達參數(shù),然后按照通信協(xié)議格式使用UDP協(xié)議將設置的參數(shù)打包發(fā)送給雷達信號處理機。按下“模擬”按鈕時,會將目標模擬設置的參數(shù)下發(fā)給雷達信號處理機。
3)CAN指令控制模塊:按下相應功能的控件,回調(diào)函數(shù)會按照CAN協(xié)議將CAN幀轉換為圖3格式發(fā)送給信號處理機。
4)雷達狀態(tài)、目標信息、AR顯示模塊:主要采用可編輯文本框和坐標軸控件,當終端網(wǎng)絡連通后,回調(diào)函數(shù)會實時讀取雷達信號處理機回報的數(shù)據(jù),并按照協(xié)議對其進行解析,調(diào)用set函數(shù)將其回報內(nèi)容顯示在調(diào)試終端上。
5)數(shù)據(jù)錄取模塊:選擇存儲路徑后,點擊“存儲”按鈕,就開始實時錄取雷達回報的數(shù)據(jù),點擊“停止”按鈕,停止存儲。
6)數(shù)據(jù)分析模塊:菜單欄中的“導引精度分析”、“CAN數(shù)據(jù)分析”和“動飛精度分析”是對錄取的雷達數(shù)據(jù)進行分析的模塊,當選中這三個菜單時,會彈出三個子界面。圖6為導引精度分析子界面,圖7為CAN數(shù)據(jù)分析子界面,圖8為動態(tài)檢飛精度分析子界面。按下“文件選擇”按鈕選擇錄取的數(shù)據(jù)文件,回調(diào)函數(shù)會對該錄取數(shù)據(jù)進行解析,按下參數(shù)顯示控件,會對相應參數(shù)進行計算并繪圖輸出。

圖6 導引精度分析子界面圖

圖7 CAN數(shù)據(jù)分析子界面

圖8 動態(tài)檢飛精度分析子界面
目前該調(diào)試顯控終端已經(jīng)應用到了該雷達總站調(diào)試中,為發(fā)現(xiàn)問題、分析問題、解決問題提供了有力支持。正常工作時的調(diào)試終端主界面如圖9所示。控制主界面左邊的參數(shù),雷達會響應終端下發(fā)的指令,右邊顯示欄會發(fā)生相應變化。

圖9 調(diào)試終端主界面
圖10為某次調(diào)試過程中自檢狀態(tài)下的方位路幅度,圖10中可見其幅度為97,而正常工作時自檢狀態(tài)下,和路、方位路、俯仰路幅度均應該在115左右,由此可見方位路信號有大幅衰減,通過分析查找發(fā)現(xiàn)方位路有一處線纜不通,整改之后幅度恢復,雷達自檢正常。

圖10 自檢方位路幅度
某次跟飛試驗中,為了跟飛過程中導引的準確性,在雷達站標定完成后,對一組數(shù)據(jù)進行導引精度分析,結果如圖11、圖12所示。圖11為距離導引精度,圖12為角度導引精度。可根據(jù)圖11的距離導引誤差對其距離進行修正。由圖12可見,俯仰誤差較大,在標定準確的前提下,出現(xiàn)大誤差是不合理的,通過分析發(fā)現(xiàn)跟蹤雷達俯仰零位沒進行標定,重新標完零位后,導引精度在正常范圍。

圖11 距離導引精度圖

圖12 角度導引精度
某次跟飛試驗中,利用圖8子界面對跟蹤雷達的檢飛精度進行分析,在Y軸數(shù)據(jù)選擇欄選擇方位誤差,得到方位精度分析結果如圖13所示。選擇俯仰誤差和距離誤差同樣會出現(xiàn)相應精度分析結果,這里不再羅列。

圖13 方位精度分析結果
基于Matlab GUI的界面設計,編程簡單,開發(fā)快速、且界面友好,而且Matlab自身強大的數(shù)據(jù)處理能力和繪圖功能有助于數(shù)據(jù)分析[6]。在調(diào)試顯控界面中集成了主要的總站調(diào)試功能,能夠為分析問題和系統(tǒng)改進提供有力支持,可以大幅提高雷達的調(diào)試效率,有一定的實際工程意義。