摘要:在空空導彈外場試驗中,為了提高遙測接收數據的質量,提出了數據融合的思想,并在VC環境下開發此遙測數據融合軟件。在此結合具體的外場環境,給出了三種融合的方法:按同步碼、幀計數和同步碼+幀計數方法融合。詳細介紹了從需求分析出發的軟件設計過程,各功能模塊以及各種融合方法的具體實現流程。實踐結果表明該設計很好地達到了預期效果。
關鍵詞:遙測; 數據融合; 數據處理; 軟件設計
中圖分類號:TN91134; TP311.1文獻標識碼:A文章編號:1004373X(2012)04013603
Design and implementation of telemetry data fusion software
LIU Yanan, CHEN Lei, CHANG Shulong, DAI Yancun
(China Airborne Missile Academy, Luoyang 471009, China)
Abstract: In airborne missile field test, the data fusion was carried out to improve the reliability of telemetry receiving system and the telemetry data fusion software was constructed in VC6.0.According to the specific field environment, three kinds of fusion methods (SyncCode, FrameCouting and SyncCodeFrameCouting fusion) are presente.The software designment proceeding from requirement analysis, submodules, and specific process of each fusion are elaborated.
Keywords: telemetry; data fusion; data processing; software design
收稿日期:201109260引言
在空空導彈外場試驗中,地面接收設備將實時地接收彈載設備上發出的數據。而試驗人員在事后將根據這些遙測數據來分析導彈的性能和飛行參數,因此接收的遙測數據質量對于整個飛行試驗具有很重要的意義。
目前,接收系統的可靠性主要依賴于硬件性能和接收站的數量。一般情況下,試驗中至少要有兩個接收站(主站和輔站)同時工作互為備份,但是二者接收的數據質量在不同時段可能互有差異。所以在事后分析中不管是用主站還是輔站的數據都可能造成某些錯誤。如果能在事后將2個站的數據進行某種處理,在共同的時間段上選擇各自好的數據組成新的遙測數據,以達到優勢互補,那么將會在很大程度上提高整個遙測數據的質量,這樣將會給試驗人員分析數據帶來很大的幫助,同時也會為整個試驗任務的順利進行提供有力的保障。這種智能化的數據選擇處理就是本文提出的遙測數據融合機制[12]。 “數據融合”的定義為對來自多信息源的數據和信息進行相關、互連和合并處理,以獲得準確的目標信息。這種融合是基于多信息或多傳感器的[34]。而本文所要論述的“遙測數據融合軟件”是對基于同一信息源的兩路采集數據流,根據不同的條件進行篩選、擇優和融合,從而獲得最佳數據。在此通過對實際需求的分析,提出了按同步碼、幀計數和同步碼+幀計數三種篩選融合方法,并在VC6.0平臺上分別予以了實現。
1軟件設計
1.1功能設計
在外場遙測試驗中,為了保證數據的可靠接收,一般情況下至少要配備2套遙測設備,即主站和輔站,在遙測接收的過程中,二者互為備份,相互引導[56]。不同的階段,主站和輔站接收的數據質量各有優劣,此數據融合軟件主要是在事后對基于同一信息源的兩路采集數據(主站和輔站采集的數據),先進行預處理生成兩個臨時文件,然后將根據不同的條件對這兩個臨時文件進行篩選、擇優和融合,從而獲得最佳的遙測數據,存儲到一個結果文件中供試驗人員進行分析[78]。圖1為該融合軟件的功能模塊圖,此處有三種融合方式可以供用戶選擇,要根據靶場的具體環境和試驗的要求來選擇相應的融合方式。
圖1功能模塊圖1.2模塊設計
在圖1的功能圖中,用戶參數設定模塊主要是由用戶根據特定的試驗型號,設定其遙測數據幀間隔時間、幀間隔容差、幀長度以及同步碼,以供后續具體的融合中使用。
數據預處理模塊主要是把主數
據和輔數據中不符合要求的幀刪除掉,也就是幀時間碼不在開始時間碼和結束時間碼范圍之內的幀刪除掉,留下的有效幀寫入臨時文件中。
融合模塊是軟件的核心。此處由三種融合方式供用戶選擇:根據同步碼融合、根據同步碼+幀計數融合、根據幀計數融合。由于靶場的具體環境不一樣,有的具有統一時碼,有的則不具備此條件,根據幀計數融合是針對不具有統一時碼情況下的融合,而前2種則是在具有統一時碼的場合中使用。
2軟件實現
2.1總流程
如圖2所示為該軟件的總體設計流程圖,即先根據是否具有統一時碼,來選擇融合方式。如果沒有統一的時碼,則選擇按幀計數來融合,處理3為其對應的處理過程。如果有統一的時碼,則按另外兩種方式進行融合,對應的處理分別為處理1和處理2。以下將詳細介紹各種融合方式的實現過程。
2.2按幀計數融合
在沒有統一時碼情況下,選擇按幀計數方式融合,圖2總流程圖中的處理3即為此融合方式對應的處理過程。之前用戶要輸入特定的型號參數(幀間間隔、同步碼和容差)。圖3所示為按幀計數方式進行融合的實現流程。
在該流程中,先獲取當前主幀數據和輔幀數據的幀計數值,即lMainCFrmCounter和lViceCFrmCounter,然后比較其是否相等。
如果相等,則說明是主數據和輔數據是同一幀,接著比較其同步碼,將同步碼正確的數據寫入結果文件,如果同步碼全錯或者全對,則將主文件寫入最后的融合文件中,因為相對而言主文件的可靠性更高。
如果幀計數不同,則說明主輔數據為不同的數據幀,此時將幀計數小的數據寫入結果文件,并將其文件指針向下移動一位,繼續和幀計數值大的數據進行類似的幀計數比較操作,直到有一個數據文件到達文件末尾為止。
2.3按同步碼融合
圖2總流程圖中的處理1即為按同步碼融合的處理過程。
圖2軟件總流程圖圖4所示為此融合方式的具體實現流程。
按同步碼融合方式算法較簡單,因此效率較好。在整個軟件的實現流程中,如果有統一時碼,則先比較主數據和輔數據的時碼,根據fabs(MainTimeViceTime)≤TimeRc×10可以判定主幀數據和輔幀數據是否為同一幀數據,如果不為同一幀數據,則用戶要比較主數據和輔數據的時碼MainTime≤ViceTime,將時碼小的數據幀寫入結果文件。
如果為同一幀,并且選擇按幀同步碼方式融合,則用戶先通過GetSyncCode( )函數分別獲得主數據和輔數據的幀同步碼MainCode和ViceCode,如果二者僅有一個正確,則將同步碼正確的數據幀寫入結果文件。如果二者都正確或者都不正確,則將時碼小的那幀數據寫入結果文件[910]。
2.4按同步碼+幀計數融合
圖2總流程圖中的處理2即為此融合方式對應的處理過程。圖5所示為此融合的具體實現流程。在總流程中,如果在統一時碼下并且主輔數據為同一數據幀,此時可以選擇按同步碼和幀計數方式進行融合。
圖3按幀計數融合流程圖圖4按同步碼融合流程圖圖5按同步碼+幀計數融合流程圖此時仍要先通過GetSyncCode( )函數分別獲得主數據和輔數據的幀同步碼MainCode和ViceCode,如果二者僅有一個正確,則選擇同步碼正確的數據。如果MainCode和ViceCode都對或者都錯,此時根據幀計數值繼續選擇。
先通過計算分別獲得主數據和輔數據的幀計數值MainCFrmCounter和ViceCFrmCounter,從第二幀開始,分別比較主輔數據的幀計數值是否發生跳變,將未發生跳變的那幀數據寫入融合后的文件中。
3測試結果
3.1界面
如圖6所示為此融合軟件在VC6.0平臺下運行后生成的界面。用戶指定參數是用戶輸入特定型號的相關參數。選擇主數據文件和輔數據文件,以及融合條件就可以進行遙測數據的融合。
3.2丟幀測試
此軟件已經應用于外場遙測試驗數據的處理中,并且具有明顯的優勢。此處用丟幀檢查簡單地測試一下融合的效果。如圖7所示,110421008_SP21和110421009_SP11為融合前的主站數據和輔站數據,經過丟幀檢查分別有第15和第6幀錯誤,數據質量較差。而result文件為按同步碼方式融合后的丟幀檢查結果,數據無錯,有效地保證了遙測數據的可靠性。
4結語
該遙測軟件采用模塊化設計,便于實現和測試。同時結合外場試驗的具體環境和數據處理的要求,實現了按同步碼、按幀計數+同步碼、按幀計數三種融合方法,較好地滿足了型號對實時接收的遙測數據質量的要求。從軟件的設計可以看出,對于較復雜的軟件采用自頂向下,逐漸細化的分析方法,分模塊設計;對于影響程序性能的處理過程有針對性地進行優化,可以有效地提高程序的可靠性和性能并簡設計過程。