賈海艷,于瑞年
(解放軍92941部隊(duì),遼寧 葫蘆島 125000)
遙測信息是指揮人員實(shí)時(shí)監(jiān)控及進(jìn)行決策的重要依據(jù),尤其是出現(xiàn)意外、查找問題時(shí)更是意義重大。由于不同任務(wù)遙測數(shù)據(jù)流編碼、處理和顯示要求差異巨大,通常每一套處理軟件只適應(yīng)特定的一種任務(wù),為適應(yīng)不同任務(wù)需求必須頻繁修改軟件,軟件維護(hù)工作量大,因此需要對遙測數(shù)據(jù)處理技術(shù)進(jìn)行研究。從遙測數(shù)據(jù)處理研究的現(xiàn)狀看,遙測事后數(shù)據(jù)處理對通用性方面研究的比較多。文獻(xiàn)[1]中通過建立數(shù)據(jù)庫模型的方法對遙測數(shù)據(jù)通用化處理進(jìn)行了討論,對周期不一致問題是通過事后添加時(shí)間的方式進(jìn)行解決,這種處理方法不適合實(shí)時(shí)數(shù)據(jù)處理;文獻(xiàn)[2]選取最具代表性的3種遙測幀結(jié)構(gòu)進(jìn)行總結(jié)分析,并在此基礎(chǔ)上闡述了遙測事后數(shù)據(jù)處理關(guān)鍵技術(shù);文獻(xiàn)[3]提出了采用Qt開發(fā)包實(shí)現(xiàn)遙測數(shù)據(jù)實(shí)時(shí)處理通用化的設(shè)計(jì)方案,是通過軟件架構(gòu)設(shè)計(jì)實(shí)現(xiàn)通用化處理;文獻(xiàn)[4]利用組件化及系統(tǒng)可配置的設(shè)計(jì)思想,提出了一種高度靈活、可配置的遙測數(shù)據(jù)實(shí)時(shí)處理方法。這兩種方法都滿足遙測數(shù)據(jù)處理實(shí)時(shí)性要求,但都沒有對遙測數(shù)據(jù)幀結(jié)構(gòu)類型進(jìn)行總結(jié),缺少對特殊情況下復(fù)雜幀結(jié)構(gòu)的處理措施,通用性不強(qiáng)。針對目前缺少既滿足遙測數(shù)據(jù)實(shí)時(shí)性處理同時(shí)又兼顧特殊情況下復(fù)雜幀結(jié)構(gòu)處理的方法,提出多任務(wù)遙測數(shù)據(jù)實(shí)時(shí)處理系統(tǒng)。
遙測數(shù)據(jù)實(shí)時(shí)處理就是實(shí)時(shí)接收遙測流并即時(shí)進(jìn)行處理,即將遙測參數(shù)實(shí)時(shí)從原始測量數(shù)據(jù)中分路提取出來,解算成實(shí)際物理量值的過程。遙測數(shù)據(jù)實(shí)時(shí)處理需要在系統(tǒng)出現(xiàn)故障時(shí),也要盡可能地保障實(shí)時(shí)性,因此需要具有容錯(cuò)能力。遙測數(shù)據(jù)實(shí)時(shí)處理系統(tǒng)典型架構(gòu)如圖1所示。

圖1 系統(tǒng)典型架構(gòu)圖Fig.1 A typical system architecture diagram
處理系統(tǒng)按功能自底向上分為采集層、處理層及交互層。采集層主要是接收原始各路數(shù)據(jù)流并傳輸?shù)教幚碓O(shè)備,數(shù)據(jù)處理層主要實(shí)現(xiàn)數(shù)據(jù)的分路與并路及利用公式進(jìn)行最終解算,交互層用于測量原始數(shù)據(jù)流及解算結(jié)果的展示。
遙測幀是原始遙測數(shù)據(jù)流存儲(chǔ)和傳輸?shù)幕窘Y(jié)構(gòu),遙測幀不僅包括子幀、副幀、特殊副幀,而且包括復(fù)用幀、1553B總線等特殊形式的幀結(jié)構(gòu)。不同任務(wù)對應(yīng)不同類型遙測幀結(jié)構(gòu),同一任務(wù)遙測幀結(jié)構(gòu)也可能不同,因此系統(tǒng)通用化設(shè)計(jì)和研制難度較大。通過對典型幀結(jié)構(gòu)的總結(jié)與分析,研究遙測數(shù)據(jù)實(shí)時(shí)處理關(guān)鍵技術(shù),實(shí)現(xiàn)數(shù)據(jù)處理環(huán)節(jié)和效率的優(yōu)化。
雖然遙測數(shù)據(jù)流幀結(jié)構(gòu)不盡相同,各有特點(diǎn),但仍存在一定的共性。通過對遙測數(shù)據(jù)流幀結(jié)構(gòu)進(jìn)行分析發(fā)現(xiàn),數(shù)據(jù)解算過程都類似樹、枝、葉之間的關(guān)系,從整體到局部層層遞進(jìn),如圖2所示。如果將數(shù)據(jù)幀采用某種方式進(jìn)行規(guī)范化表示,遙測實(shí)時(shí)處理軟件就能適應(yīng)各種遙測數(shù)據(jù)流處理,因此設(shè)計(jì)了一種分層協(xié)議樹數(shù)據(jù)架構(gòu)實(shí)現(xiàn)對遙測數(shù)據(jù)的解析。

圖2 遙測數(shù)據(jù)解算樹狀圖Fig.2 Solution tree of telemetry data
分層協(xié)議樹數(shù)據(jù)架構(gòu)如表1所示,數(shù)據(jù)結(jié)構(gòu)采用7個(gè)字段來進(jìn)行描述。
表1中Beginpos,Blength及IDBlength字段確定樹的位置,IDvalue,Vbytes及Function字段確定枝的位置,Content字段表示葉的位置,葉表示要解算的遙測參數(shù)。針對分層數(shù)據(jù)結(jié)構(gòu),設(shè)計(jì)遙測數(shù)據(jù)解析過程,流程圖如圖3所示。

表1 分層數(shù)據(jù)結(jié)構(gòu)Tab.1 Layered data structure

圖3 遙測數(shù)據(jù)解析實(shí)現(xiàn)流程圖Fig.3 Flow chart of telemetry data analysis
首先從“樹”節(jié)點(diǎn)對數(shù)據(jù)包解析,解析出“樹”節(jié)點(diǎn)的數(shù)據(jù)內(nèi)容,以此數(shù)據(jù)內(nèi)容為數(shù)據(jù)包,遞歸對其子節(jié)點(diǎn)即“枝”、“葉”進(jìn)行解析,直到參數(shù)解算完成。
通過配置表完成分層協(xié)議樹的賦值,配置表設(shè)計(jì)如表2—表4所示。配置表的完成通過遙測方案規(guī)劃來實(shí)現(xiàn),遙測方案規(guī)劃在人機(jī)交互界面完成,通過后臺(tái)程序?qū)懭霐?shù)據(jù)庫。

表2 樹層配置表Tab.2 Root layer configuration table

表3 枝層配置表Tab.3 Branch layer configuration table

表4 葉層配置表Tab.4 leaf layer configuration table
配置表是在系統(tǒng)啟動(dòng)前完成的。對于不同的任務(wù),數(shù)據(jù)處理人員不必更改程序代碼,只需針對相應(yīng)遙測數(shù)據(jù)幀結(jié)構(gòu)完成遙測方案規(guī)劃即可。
不同任務(wù)處理遙測數(shù)據(jù)流的數(shù)量是不同的,一個(gè)設(shè)備可能有一路或多路遙測數(shù)據(jù)流,設(shè)備越多,數(shù)據(jù)流的數(shù)量就越多。通常對數(shù)據(jù)流的處理方式是按照時(shí)間和位置的順序進(jìn)行拼接[5-7]。這種方式雖然減少了處理數(shù)據(jù)的工作量,但沒有充分利用所有信息源的遙測數(shù)據(jù),使得到的信息不夠全面,對處理出的數(shù)據(jù)進(jìn)行實(shí)時(shí)決策時(shí)缺乏整體的認(rèn)識,遇到關(guān)鍵問題缺少判斷的依據(jù)。因此設(shè)計(jì)了多路遙測數(shù)據(jù)并行處理與優(yōu)選,利用多線程數(shù)據(jù)處理技術(shù)[8-9],將一路遙測數(shù)據(jù)流設(shè)計(jì)為一個(gè)線程,使多路遙測數(shù)據(jù)在不同線程中同時(shí)處理,實(shí)現(xiàn)多路遙測數(shù)據(jù)并行處理。針對遙測實(shí)時(shí)處理數(shù)據(jù)采集量大,實(shí)時(shí)性要求高的特點(diǎn),在系統(tǒng)設(shè)計(jì)時(shí)需要應(yīng)用安全隊(duì)列技術(shù)。安全隊(duì)列的作用就是對數(shù)據(jù)起到緩沖作用,防止大流量數(shù)據(jù)來臨時(shí),信息來不及處理出現(xiàn)丟幀。同時(shí),安全隊(duì)列也是運(yùn)用多線程技術(shù)進(jìn)行數(shù)據(jù)處理的基礎(chǔ)。安全隊(duì)列處理方法是以隊(duì)列為數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),將數(shù)據(jù)臨時(shí)存儲(chǔ)在隊(duì)列中,按照先進(jìn)先出的原則處理,同時(shí)使安全隊(duì)列成為自動(dòng)事件觸發(fā)多線程,并且可以被多線程安全使用的數(shù)據(jù)結(jié)構(gòu)。對于多路遙測數(shù)據(jù)系統(tǒng)中通常只選取一路進(jìn)行輸出。傳統(tǒng)的選優(yōu)方法存在高優(yōu)先級的質(zhì)量不好的數(shù)據(jù)被選擇輸出的問題,這直接導(dǎo)致遙測實(shí)時(shí)數(shù)據(jù)處理精度降低。針對此類問題提出增加基于原始幀的融合數(shù)據(jù)做為一路高優(yōu)先級信息源參與選優(yōu),提高遙測實(shí)時(shí)數(shù)據(jù)處理的精度[10-11]。
基于原始子幀的融合數(shù)據(jù)是對同一目標(biāo)從多個(gè)遙測設(shè)備接收的基于二進(jìn)制源碼的原始數(shù)據(jù)子幀中采用時(shí)差修正、丟幀插補(bǔ)、拼接檢查等步驟進(jìn)行處理[12-13],然后形成一個(gè)包含完整幀結(jié)構(gòu)流的遙測數(shù)據(jù)包。這路融合結(jié)果去除了由于丟幀導(dǎo)致的亂散數(shù)據(jù),精度較高。原始幀融合過程如圖4所示。

圖4 遙測原始幀數(shù)據(jù)流生成Fig.4 Generation of telemetry original frame data stream
在任務(wù)執(zhí)行過程中存在以下三個(gè)問題:
1) 測試并不能檢測出程序的所有問題,在程序運(yùn)行過程中如有意外發(fā)生,導(dǎo)致按照正常的處理過程輸出處理結(jié)果,造成處理結(jié)果質(zhì)量差或錯(cuò)誤,影響任務(wù)的決策;
2) 任務(wù)日益復(fù)雜的情況下有時(shí)有多變性的需求;
3) 采取人機(jī)結(jié)合以人為主地切換方式,確保每次操作準(zhǔn)確性。
因此采用在線控制技術(shù)設(shè)計(jì)了遙測實(shí)時(shí)處理作業(yè)人工干預(yù)機(jī)制,在原來封閉運(yùn)行的實(shí)時(shí)數(shù)據(jù)處理過程中,把人的因素加進(jìn)去,使用人為干預(yù)的手段對進(jìn)程施加影響,支持任務(wù)執(zhí)行過程中不停止作業(yè)情況下,動(dòng)態(tài)調(diào)整遙測設(shè)備分工,增加或修改遙測參數(shù),可滿足復(fù)雜任務(wù)的遙測狀態(tài)快速切換和突發(fā)情況應(yīng)急參數(shù)處理要求。
人工干預(yù)處理包流程圖如圖4所示。

圖5 人工干預(yù)處理包Fig.5 Manual intervention processing package
多任務(wù)實(shí)時(shí)遙測數(shù)據(jù)處理系統(tǒng)采用VC++開發(fā)實(shí)現(xiàn),系統(tǒng)運(yùn)行穩(wěn)定。
為驗(yàn)證系統(tǒng)性能,完成兩個(gè)仿真任務(wù),每個(gè)任務(wù)具有3路遙測數(shù)據(jù),在不修改軟件代碼情況下實(shí)現(xiàn)多任務(wù)處理,并且實(shí)現(xiàn)了并行處理與優(yōu)選。圖6、圖7給出各路遙測數(shù)據(jù)的處理結(jié)果。將數(shù)據(jù)處理結(jié)果與真值進(jìn)行比對,結(jié)果表明該系統(tǒng)完全符合技術(shù)指標(biāo)要求。

圖6 仿真任務(wù)1遙測時(shí)間速度變化率結(jié)果Fig.6 Time velocity change rate results of simulation the first task telemetry data

圖7 仿真任務(wù)2時(shí)間角度變化率結(jié)果Fig.7 Time angle change rate results of simulation the second task telemetry data
圖8為以遙測數(shù)據(jù)高度為例,多路遙測數(shù)據(jù)并行處理時(shí)融合信息源的處理結(jié)果與某原始單信息源的比較結(jié)果。通過融合后完整幀數(shù)與某設(shè)備接收完整幀數(shù)比對,完整幀數(shù)數(shù)目增加7.24%。
圖9為在線控制技術(shù)的實(shí)現(xiàn)。某目標(biāo)處于任務(wù)狀態(tài),點(diǎn)擊此目標(biāo)就會(huì)彈出刪除目標(biāo)對話框,點(diǎn)擊此對話框目標(biāo)就會(huì)刪除,與目標(biāo)關(guān)聯(lián)的所有數(shù)據(jù)都會(huì)隨之刪除。

圖9 在線實(shí)時(shí)控制Fig.9 Online real-time control
本文提出了多任務(wù)遙測數(shù)據(jù)實(shí)時(shí)處理系統(tǒng)。該系統(tǒng)利用遙測數(shù)據(jù)流結(jié)構(gòu)邏輯分層軟件定義、多路遙測數(shù)據(jù)并行處理與優(yōu)選及遙測作業(yè)實(shí)時(shí)在線控制等技術(shù)設(shè)計(jì),滿足遙測數(shù)據(jù)實(shí)時(shí)處理通用性、實(shí)時(shí)性、可靠性需求,能夠提供全面準(zhǔn)確的遙測數(shù)據(jù),支持在任務(wù)執(zhí)行過程中不停止作業(yè)的情況下,動(dòng)態(tài)調(diào)整遙測設(shè)備分工,增加或修改遙測參數(shù),滿足復(fù)雜任務(wù)的遙測狀態(tài)快速切換和突發(fā)情況應(yīng)急參數(shù)處理要求。使用結(jié)果表明該系統(tǒng)具有遙測數(shù)據(jù)處理需求的動(dòng)態(tài)適應(yīng)能力,具備對不同任務(wù)良好的兼容性。