徐向毅,張宏亮
(駐航天科工集團210所軍事代表室,西安 710065)
高技術(shù)武器的廣泛使用,使得戰(zhàn)爭由傳統(tǒng)二維平面的角逐向陸、海、空、天、電、網(wǎng)等多維領(lǐng)域的較量迅速蛻變。為應(yīng)對敵方實施準(zhǔn)確的偵查和強烈的電磁干擾后進行的多方位、多批次、高密度的飽和攻擊,末端防御武器系統(tǒng)應(yīng)運而生。車載通用末端防御武器系統(tǒng)是專門用于近距離導(dǎo)彈防御的武器系統(tǒng)[1],是地面防空反導(dǎo)體系的重要組成部分。
車載末端防御武器系統(tǒng)組成結(jié)構(gòu)復(fù)雜、數(shù)據(jù)傳輸量大、實時性要求高、系統(tǒng)的調(diào)試和試驗難度大,為便于系統(tǒng)調(diào)試和測試,發(fā)生故障時的故障定位,武器系統(tǒng)威力與精度的評估,文中以車載末端防御武器系統(tǒng)的高炮車為例,設(shè)計實現(xiàn)了一種專用通訊數(shù)據(jù)錄取與評估設(shè)備。
車載末端防御武器系統(tǒng)的重要組成——高炮車主要由炮瞄雷達、光電跟蹤設(shè)備、火控設(shè)備、高速火炮、導(dǎo)航設(shè)備、通信設(shè)備等單機設(shè)備組成。各單機設(shè)備間通過以太網(wǎng)進行數(shù)據(jù)交換,使用雙絞線連入以太網(wǎng)交換機。通信協(xié)議采用UDP無連接的用戶數(shù)據(jù)報協(xié)議。
單機設(shè)備發(fā)送的以太網(wǎng)報文都通過交換機,若交換機采用具有端口鏡像功能的二層或三層交換機,同時錄取評估設(shè)備連接交換機,理論上錄取評估設(shè)備可以獲取到所有通過交換機的網(wǎng)絡(luò)報文。因此,通用末端武器防御系統(tǒng)錄取評估設(shè)備與武器系統(tǒng)中高炮車的連接示意圖如圖1所示。
根據(jù)需求,末端防御武器系統(tǒng)錄取評估設(shè)備應(yīng)具有以下主要功能:
1)系統(tǒng)中各單機設(shè)備發(fā)送報文的捕獲、實時解析、錄取存放,以及解析得到的數(shù)據(jù)、狀態(tài)、故障信息的顯示;
2)錄取報文的回放功能,支持報文自動回放和按幀回放;
3)十進制與十六進制查詢功能,支持?jǐn)?shù)據(jù)范圍設(shè)置與超差標(biāo)識;
4)報文導(dǎo)出功能,支持任意報文以文本文件格式導(dǎo)出;
5)搜索指揮車的模擬功能,向戰(zhàn)斗車發(fā)送目標(biāo)指示等報文。
6)炮瞄雷達、光電跟蹤設(shè)備的威力評估,武器系統(tǒng)精度評估,以及評估結(jié)果的顯示與導(dǎo)出功能。
為便于用戶的操作,末端防御武器系統(tǒng)錄取評估軟件運行于Windows平臺,開發(fā)工具采用Visual C++ 6.0,用戶界面基于對話框設(shè)計,并采用多線程設(shè)計,界面顯示刷新與數(shù)據(jù)處理分屬不同的線程,保證了用戶操作與界面顯示的互不影響。
因武器系統(tǒng)包含多個單機設(shè)備,每個單機設(shè)備發(fā)送多種網(wǎng)絡(luò)報文,每個網(wǎng)絡(luò)報文包含設(shè)備工作狀態(tài)、故障信息、運行數(shù)據(jù)等大量信息,為便于用戶的瀏覽及查看,軟件左側(cè)區(qū)域采用多標(biāo)簽頁設(shè)計,首標(biāo)簽頁以圖形及數(shù)據(jù)的方式顯示跟蹤目標(biāo)信息及系統(tǒng)各個設(shè)備運行狀態(tài),其中雷達態(tài)勢圖動態(tài)顯示目標(biāo)進入過程,火炮三維模型實時顯示火炮運轉(zhuǎn)方式,其余每個標(biāo)簽頁分別顯示各單機設(shè)備發(fā)送網(wǎng)絡(luò)報文及解析出的詳細信息(參見數(shù)據(jù)回放);軟件右側(cè)區(qū)域顯示系統(tǒng)內(nèi)各單機設(shè)備的網(wǎng)絡(luò)連接狀態(tài)、系統(tǒng)火力資源及故障狀態(tài)等。數(shù)據(jù)錄取界面如圖2所示。
為方便用戶對系統(tǒng)試驗過程的跟蹤和故障復(fù)現(xiàn),錄取評估設(shè)備提供數(shù)據(jù)回放功能,數(shù)據(jù)回放除可按0.5倍、1倍和2倍速率回放,還提供單幀回放和數(shù)據(jù)幀跳轉(zhuǎn)功能,回放過程中用戶可通過設(shè)備標(biāo)簽和報文標(biāo)簽選擇相應(yīng)報文進行查看,極大的方便了用戶對試驗過程的數(shù)據(jù)分析和故障定位。數(shù)據(jù)回放界面如圖3所示。
在數(shù)據(jù)查詢界面中,用戶可以選擇以十進制或十六進制的方式顯示系統(tǒng)網(wǎng)絡(luò)報文,支持跳轉(zhuǎn)至指定幀,以及瀏覽當(dāng)前幀上一幀數(shù)據(jù),下一幀數(shù)據(jù)。為方便用戶快速發(fā)現(xiàn)故障并定位,軟件支持用戶對指定數(shù)據(jù)設(shè)置正常數(shù)值范圍,對于超過正常范圍的數(shù)據(jù),以紅色字體高亮顯示,從而方便用戶在大量數(shù)據(jù)中快速定位異常數(shù)據(jù)。數(shù)據(jù)查詢界面如圖4所示。
在以太網(wǎng)中,幀(數(shù)據(jù)包)作為組成數(shù)據(jù)的基本單位來進行數(shù)據(jù)交換,它采用的是帶碰撞檢測的載波偵聽多址進行訪問,以CSMA/CD(載波監(jiān)聽多點介入/碰撞檢測)的方式進行發(fā)送。由于CSMA/CD的特點,使得該網(wǎng)絡(luò)的用戶可以通過網(wǎng)卡的設(shè)置,獲得發(fā)往其他用戶地址的數(shù)據(jù),并根據(jù)數(shù)據(jù)中的內(nèi)容對網(wǎng)絡(luò)的狀態(tài)進行監(jiān)控。數(shù)據(jù)包捕獲機制主要由最底層數(shù)據(jù)包捕獲機制、數(shù)據(jù)包過濾機制和針對用戶程序的最高層接口組成。如果用戶想得到需要的數(shù)據(jù)包,可以通過數(shù)據(jù)包捕獲機制提供的數(shù)據(jù)接口調(diào)用庫中的相關(guān)函數(shù),根據(jù)預(yù)定義的過濾規(guī)則,數(shù)據(jù)包過濾機制對數(shù)據(jù)包進行檢索,把需要的數(shù)據(jù)包傳遞給應(yīng)用程序。
Windows平臺下,數(shù)據(jù)包的捕獲可以通過調(diào)用NDIS(網(wǎng)絡(luò)驅(qū)動程序接口規(guī)范)庫函數(shù)來實現(xiàn),使用此方法功能性強,但可能導(dǎo)致系統(tǒng)崩潰;也可以通過原始套接字(Raw Socket)實現(xiàn),方法簡單但功能有限,只能捕獲高層的網(wǎng)絡(luò)數(shù)據(jù)包;也可以使用第三方開發(fā)的庫,例如WinPcap[2]。
末端防御武器系統(tǒng)的通信網(wǎng)絡(luò)是以交換機為連接節(jié)點的局域網(wǎng)。系統(tǒng)用于數(shù)據(jù)交換的信息經(jīng)過應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、鏈路層等層層封裝后,通過網(wǎng)卡傳輸出去,到達目的主機后每層協(xié)議再剝掉相應(yīng)的首部,最后將應(yīng)用層數(shù)據(jù)交給應(yīng)用程序處理。以太網(wǎng)幀格式如圖5所示。
因武器系統(tǒng)通信局域網(wǎng)中充斥著ARP協(xié)議等廣播數(shù)據(jù)包,需對捕獲到的數(shù)據(jù)包設(shè)置過濾規(guī)則,剔除無用數(shù)據(jù)包,提高系統(tǒng)數(shù)據(jù)處理效率。根據(jù)對武器系統(tǒng)內(nèi)各單機設(shè)備的通信設(shè)置及以太網(wǎng)幀格式的分析,按照以太網(wǎng)幀中類型字段為IP數(shù)據(jù)報(0x0800),IP數(shù)據(jù)報中源IP地址與目的IP地址字段為系統(tǒng)內(nèi)單機設(shè)備IP,IP數(shù)據(jù)報協(xié)議字段為UDP(0x17),UDP段中源端口號與目的端口號為系統(tǒng)內(nèi)單機設(shè)備設(shè)置的發(fā)送、接收端口,UDP段數(shù)據(jù)字段前8位為系統(tǒng)自定義通信報文的報頭符等限定條件設(shè)置過濾規(guī)則,過濾后得到的數(shù)據(jù)包即為武器系統(tǒng)通信報文。
武器系統(tǒng)通信自定義報文的報文信息標(biāo)示字段由發(fā)方設(shè)備與收方設(shè)備唯一的8位設(shè)備標(biāo)示組成,且每個單機設(shè)備發(fā)送至其他單機設(shè)備的UDP報文的報文長度各不相同,因此過濾后的UDP數(shù)據(jù)包根據(jù)報文信息標(biāo)示與報文長度可以確定何種設(shè)備發(fā)送的何種報文,即完成了報文的識別。然后調(diào)用相應(yīng)的報文解析函數(shù),解析得到傳輸報文中包含的數(shù)據(jù)、設(shè)備狀態(tài)等信息,在錄取評估設(shè)備界面上顯示。
系統(tǒng)中各單機設(shè)備通訊速率不同,一個周期內(nèi)各單機發(fā)送的報文數(shù)目不同,有的單機還以不同的速率向多個相關(guān)單機發(fā)送不同類型報文,如果按照即發(fā)即存的處理機制會造成數(shù)據(jù)混亂。由于網(wǎng)絡(luò)協(xié)議中要求各單機報文中都要包括系統(tǒng)時標(biāo),因而可以利用系統(tǒng)時標(biāo)進行報文分組。
現(xiàn)定義某單機(如火控設(shè)備)相鄰報文時間段之內(nèi)的所有單機報文為一幀記錄,由于每幀記錄中包含多條各單機報文,為方便查詢和維護,文件開始位置定義了數(shù)據(jù)幀總數(shù)、文件保存時間等信息。為縮短響應(yīng)時間,錄取的數(shù)據(jù)包文件采用雙向鏈表的數(shù)據(jù)結(jié)構(gòu)進行存放,通過前一幀偏移地址、后一幀偏移地址,以及當(dāng)前幀長度可以快速定位到指定幀的起始位置,雙向鏈表結(jié)構(gòu)可大大減少遍歷整個數(shù)據(jù)包文件的時間復(fù)雜度。文件存儲格式見圖6。
數(shù)據(jù)錄取評估設(shè)備除實現(xiàn)數(shù)據(jù)錄取功能外,還可完成系統(tǒng)網(wǎng)絡(luò)通信狀態(tài)統(tǒng)計和設(shè)備精度評估,網(wǎng)絡(luò)通信狀態(tài)統(tǒng)計各個設(shè)備網(wǎng)絡(luò)報文丟包率,根據(jù)數(shù)據(jù)報文中的時標(biāo)數(shù)據(jù),完成數(shù)據(jù)發(fā)送延時的數(shù)據(jù)統(tǒng)計,為系統(tǒng)分析提供輔助手段。
每次試驗后,軟件可以利用保存的報文數(shù)據(jù)和試驗基地提供的目標(biāo)真值數(shù)據(jù)進行數(shù)據(jù)分析和精度統(tǒng)計。目標(biāo)真實位置由靶機或靶彈掛載的GPS記錄儀提供,其數(shù)據(jù)為GPS格式的經(jīng)緯度數(shù)據(jù),計算時需將其數(shù)據(jù)轉(zhuǎn)換為以地面載車為中心的坐標(biāo)空間下[3],以目標(biāo)真實位置為基準(zhǔn),按照距離、方位和高低數(shù)據(jù)進行分段,分別統(tǒng)計各數(shù)據(jù)段的測量精度,再將本航次及多航次的精度數(shù)據(jù)進行綜合,得出系統(tǒng)的精度數(shù)據(jù)。
精度統(tǒng)計流程圖如圖7所示。
2.3.1 目標(biāo)真實位置預(yù)處理
由于GPS記錄儀數(shù)據(jù)頻率與各分系統(tǒng)的數(shù)據(jù)記錄頻率不一致,造成真值數(shù)據(jù)與測量數(shù)據(jù)無法對齊,一般而言GPS記錄儀數(shù)據(jù)頻率較慢,一個記錄周期內(nèi)各分系統(tǒng)有多個記錄數(shù)據(jù),因而需要對GPS記錄數(shù)據(jù)進行線性插值,或采用最小二乘法等數(shù)學(xué)方法,將目標(biāo)真實位置插值成與測量數(shù)據(jù)相同時間間隔的位置數(shù)據(jù),便于進行數(shù)據(jù)計算和分析[4]。
2.3.2 跟蹤精度統(tǒng)計
本系統(tǒng)中需要統(tǒng)計系統(tǒng)的距離、方位和高低誤差[5]。根據(jù)精度統(tǒng)計要求,首先需要對數(shù)據(jù)進行預(yù)處理,采用3σ準(zhǔn)則將異常值剔掉,然后計算系統(tǒng)精度均值,標(biāo)準(zhǔn)差和均方根值。設(shè)Δijk為同一航次中第k次進入第j航段的第i個誤差,則此航段的系統(tǒng)誤差為:
(1)
則同一航次進入相同航段的系統(tǒng)誤差的平均值和離散值計算公式為:
(2)
(3)
同一航次進入相同航段的總系統(tǒng)誤差計算公式為:
(4)
由式(1)~式(4)可以計算得到系統(tǒng)某一航段的總誤差數(shù)據(jù),軟件在計算出所有航段的精度數(shù)據(jù)后,在界面統(tǒng)一顯示,為系統(tǒng)分析和優(yōu)化提供數(shù)據(jù)支持。
2.3.3 火控解算精度統(tǒng)計
對火控系統(tǒng)的解算精度進行分析,需要在獲得目標(biāo)真實位置的基礎(chǔ)上,根據(jù)試驗氣象條件,進行偏流解算,利用武器系統(tǒng)的彈道方程計算理論射擊諸元[6]。如圖8所示,橫軸為目標(biāo)運動時間,縱軸為斜距離。D(t)為目標(biāo)斜距離曲線。設(shè)當(dāng)前時刻為ti(A點),由于目標(biāo)的當(dāng)前位置可看做彈丸飛行時間τi時刻前即(ti-τi)時目標(biāo)(C點)的未來點,因而對當(dāng)前時刻位置進行解算可看作是對(ti-τi)時刻目標(biāo)未來點的解算,得到的射擊諸元即可以看做在(ti-τi)時刻進行射擊,經(jīng)過彈丸飛行時間τi,命中ti時刻目標(biāo)位置的理論諸元。B點為A點平移τi時刻所對應(yīng)的曲線Dy(t)中對應(yīng)點。
由于彈丸飛行時間由彈道方程和氣象條件解算[7],因而該時時間為非線性分布,D(t)與Dy(t)非線性平移,求解理想諸元時還需要進行插值才能與火控的周期數(shù)據(jù)對齊。
解算精度的求解過程如圖9所示。
在設(shè)備設(shè)計整體上采用層次化、模塊化的設(shè)計思想,將整個系統(tǒng)劃分為幾個不同的子模塊,這種設(shè)計有利于軟件的后期維護和擴展;多線程的設(shè)計使得用戶的操作和界面顯示不會影響到數(shù)據(jù)包的識別、抓取以及存放等,保證了用戶的可操作性和數(shù)據(jù)錄取的實時性需求;雙向鏈表的數(shù)據(jù)結(jié)構(gòu)存放錄取到的數(shù)據(jù)包,以及自定義的幀結(jié)構(gòu)使得數(shù)據(jù)包清晰有序,便于回放、查詢;操作人員可根據(jù)報文分析功能進行系統(tǒng)故障的快速定位及故障原因的排查;軟件界面設(shè)計使得用戶操作方便快捷;跟蹤精度和火控解算精度統(tǒng)計功能為武器系統(tǒng)功能提供驗證手段,該設(shè)備在系統(tǒng)聯(lián)調(diào)試驗中取得了很好的應(yīng)用效果,可大幅提高武器系統(tǒng)科研生產(chǎn)效率。