楊鵬飛,張 鵬,趙 潔,張 凌
(1中國兵器工業(yè)第207研究所,太原 030006;2中國兵器工業(yè)第203研究所,西安 710065)
隨著計算機技術(shù)迅猛發(fā)展的推動和陸軍信息化建設(shè)的牽引,對指揮系統(tǒng)內(nèi)部數(shù)據(jù)流的交互也提出了更高的要求。尤其在以無線為主,有線為輔的現(xiàn)代戰(zhàn)爭通信體系下,準確、及時的保證指揮員對所屬部(分)隊實施指揮控制,掌握戰(zhàn)場態(tài)勢和作戰(zhàn)信息,特別是在以高技術(shù)武器裝備為主體的陸、海、空、天、電全方位展開的諸軍兵種的聯(lián)合作戰(zhàn)情況下,信息交互更加突出重要,是保證局部戰(zhàn)爭或全面戰(zhàn)爭取得勝利的重要因素。
炮兵群(團)指揮系統(tǒng)主要是保障指揮員對所屬炮兵部(分)隊實施指揮控制,協(xié)助指揮員全面、實時地掌握戰(zhàn)場態(tài)勢,準確、及時的交互作戰(zhàn)信息,高效、無誤地完成從群(團)、營、連各級指揮所直至武器平臺的戰(zhàn)術(shù)指揮、射擊指揮和作戰(zhàn)保障指揮任務(wù),提高炮兵部(分)隊的快速反應(yīng)能力和作戰(zhàn)指揮效能。
在作戰(zhàn)過程中,為完成各項作戰(zhàn)任務(wù),各作戰(zhàn)單位之間需頻繁交互各種信息,以確保各級指揮員對戰(zhàn)場態(tài)勢和上級指令的準確把握和執(zhí)行,保證任務(wù)的順利完成。指揮系統(tǒng)信息流按性質(zhì)劃分,大致可分為以下4類:
1)指揮控制信息:上級指揮所下達給下級指揮所或武器平臺的各種指揮、控制命令。主要包括:計劃內(nèi)、計劃外射擊口令,運動目標射擊口令和各種戰(zhàn)斗文書。如:命令、指示、通報、計劃、通令、批復、通知、通告和布告等。
2)情報信息:作戰(zhàn)所需的各種情報資料。主要包括:敵情、我情、目標、氣象、地形和戰(zhàn)場態(tài)勢等各種情報信息。
3)狀態(tài)信息:下級向上級報告本站、本分隊及本分隊相應(yīng)的武器裝備的各種狀態(tài)信息。主要包括:人員、裝備的狀況,彈藥、油料情況,位置及戰(zhàn)斗隊形等。
4)協(xié)同信息:與友鄰部隊相關(guān)的協(xié)同信息。主要包括:協(xié)同指揮信號等信息。(野戰(zhàn))炮兵群(團)指揮系統(tǒng)內(nèi)的信息流程見圖1。
圖1 指揮系統(tǒng)內(nèi)的信息流
根據(jù)作戰(zhàn)需求和部隊編配,系統(tǒng)可分為群、營、連三級指揮所,各級指揮所通過無線和有線通信方式實現(xiàn)同上級、下級、友鄰、武器平臺和所屬偵察保障分隊的通信。通信手段以無線為主,有線為輔,支持話音、數(shù)據(jù)、圖形等多種通信業(yè)務(wù)。文中主要分析系統(tǒng)在野戰(zhàn)條件下無線通信的通信情況。
(野戰(zhàn))炮兵群(團)指揮系統(tǒng)無線通信主要通過超短波通訊設(shè)備進行信息傳輸,超短波通訊設(shè)備的傳輸速率通常為2400bit/s和4800bit/s兩種傳輸速率?,F(xiàn)以傳輸速率為4800bit/s例舉一種通信分配方案:其中,通訊設(shè)備的通信周期為50個時隙(時隙也就是劃分的時間片),上級指揮所占用24個時隙,下級(假設(shè)有4個下級指揮所)每個指揮所占用6個時隙,2個時隙用于通訊設(shè)備勤務(wù)同步。在該分配方案下,當通訊速率為4800bit/s,上級指揮所分配速率約為2400bit/s,每個下級指揮所分配速率約為600bit/s。通訊設(shè)備每個時隙約可發(fā)送36個字節(jié)時,按每個時隙間隔約60ms計算,故上級指揮所在一個通信周期內(nèi)最多能發(fā)送(24×36=864)864字節(jié),下級指揮所在一個通信周期內(nèi)最多能發(fā)送(6×36=216)216字節(jié),通信的一個周期大約為(50×60=3000ms)3s。故上級指揮所理論值每秒約可發(fā)送864/3=288字節(jié)。故群指揮所向下級發(fā)送一份行動計劃(約60K文件)大約需(60×1024/288=214s)4min時間,在瞬息萬變的現(xiàn)代化戰(zhàn)場條件下,它大大限制了高技術(shù)武器裝備的作戰(zhàn)性能和指揮的實時性,對指揮員實時掌握戰(zhàn)場態(tài)勢、作戰(zhàn)信息和作出決策具有很大的影響,進而影響戰(zhàn)爭的取勝。因此提高信息傳輸?shù)膶崟r性和可靠性成了急需解決的一項重要問題。
數(shù)據(jù)壓縮技術(shù)在數(shù)據(jù)處理領(lǐng)域已相當成熟。靜態(tài)和動態(tài)的數(shù)據(jù)壓縮均可為通信系統(tǒng)在時間、頻帶、能量上帶來高效率。因此數(shù)據(jù)壓縮技術(shù)在通信傳輸中有著十分重要的現(xiàn)實意義,廣泛應(yīng)用于軍事、民用等領(lǐng)域。
數(shù)據(jù)壓縮技術(shù)就是減少用于存儲和傳輸信息的位的數(shù)目。數(shù)據(jù)壓縮技術(shù)大致經(jīng)歷了兩個發(fā)展階段,基礎(chǔ)理論研究階段和實用化階段。數(shù)據(jù)壓縮技術(shù)按照壓縮前后信息量劃分為無損數(shù)據(jù)壓縮和有損數(shù)據(jù)壓縮。無損數(shù)據(jù)壓縮通常稱為可逆壓縮,無損壓縮沒有信息丟失,可根據(jù)壓縮后的數(shù)據(jù)完全的恢復原來的數(shù)據(jù),它是一個可逆過程。有損數(shù)據(jù)壓縮通常稱為不可逆壓縮,即有失真壓縮的編碼技術(shù),壓縮后的數(shù)據(jù)不能完全的恢復為原來的數(shù)據(jù),有信息丟失,是一個不可逆過程。
數(shù)據(jù)壓縮就是以最小的數(shù)碼(比特數(shù))表示信源所發(fā)出的信號,減少必須分配給指定信息集合或數(shù)據(jù)采樣集合的信號空間的數(shù)值。信號空間是指給定信息集合所占的空域、時域和頻域空間。數(shù)據(jù)壓縮原理從信源和信宿兩個方面進行分析。信源編碼主要解決有效性問題,通過對信源的壓縮、擾亂、加密等一系列處理,爭取用盡可能少的數(shù)碼傳遞盡量多的信息量,并使信息更適宜傳輸;信道編碼主要解決可靠性問題,即使信息在傳送過程中不出錯或少出錯,并利用檢錯碼和糾錯碼技術(shù)使錯誤得以糾正。文中使用的LZW無損壓縮算法涉及的就是信源編碼。
3.1.1 LZW算法介紹
LZW算法是在1984年由TA Welch對LZ編碼中的LZ78算法修改而成的一種實用的字典壓縮算法,字典是在編解碼過程中動態(tài)形成的且不必將字典傳給還原器,這是LZW高效的主要原因。LZW壓縮算法的基本思想是建立一個串表,將輸入字符串映射成定長的碼字輸出,通常碼長設(shè)置為12 bit,也可設(shè)置為其它相應(yīng)的長度。串表具有“前綴性”:假設(shè)任何一個字符串Str和某一個字符C組成一個字符串StrC,若StrC在串表中,則C為Str的擴展,Str為C的前綴。字符串表是動態(tài)生成的,編碼前先將其初始化(通常初始化為ASCII碼的常用字符),使其包含所有可能的單個字符值。在壓縮過程中,串表中不斷產(chǎn)生壓縮信息的新字符串,存儲新字符串時也保存新字符串StrC的前綴Str相對應(yīng)的碼字。在解壓縮過程中,程序可根據(jù)編碼字恢復出同樣的字符串表,解出編碼數(shù)據(jù)流。
3.1.2 LZW算法實現(xiàn)
根據(jù)上面所述LZW算法原理,可得出 LZW 編碼的步驟如下:
1)初始化串表為編碼流集合的各單個字符,并置前綴Str為空;
2)讀取輸入流中的字符為當前字符C;
3)判斷StrC是否在串表中,如在串表中:更新Str=StrC,如不在串表中:①將Str對應(yīng)的串表寫入輸出碼流;②將StrC寫入串表,增加一個表項并更新Str=C;③判斷串表是否到達最大長度,如果達到最大長度則轉(zhuǎn)到1);
4)判斷是否還有數(shù)據(jù)要壓縮,如果有則轉(zhuǎn)到2),否則轉(zhuǎn)到5);
5)將Str對應(yīng)的串表索引寫入輸出碼流,編碼結(jié)束。
3.1.3 算法實例
例舉一算法實例:有一個輸入的字符流“WED WE WEE WEB”。按照上述編碼步驟,先初始化串表,假設(shè)將0到255初始化成256個可能的單個字符值,前綴Str置為空;讀取第一個空格字符C=“”,StrC=“”在串表中可找到,修改Str=“”,讀取第二個字符C=W,StrC=“W”在串表中找不到此字符串,那么添加StrC到串表,同時輸出空格“”的代碼,修改Str=W。由于0到255已初始化為256個可能的單個字符值,所以第一個串定義賦值為256=“W”,接下來的串定義依次賦值。讀下一個字符 C=E,StrC=WE在串表中不能找到,添加257=StrC到串表,輸出W的代碼,修改Str=E。讀下一個字符C=D,StrC=ED在串表中不能找到,添加258=StrC到串表,輸出E的代碼,修改Str=D。讀下一個字符C=“”,StrC=“D”在串表中不能找到,添加259=StrC到串表,輸出D的代碼,修改Str=“”,讀下一個字符C=W,StrC=“W”在串表中可找到,修改Str=“W”,讀下一個字符C=E,StrC=“WE”在串表中不能找到,添加260=StrC到串表,輸出“W”的代碼,修改Str=E。依此類推。當 Str=“B”時沒有數(shù)據(jù)了,輸出Str的值“B”,這樣最后的輸出結(jié)果就是:“WED<256>E<260><261><257>B”。最終可得表1的編碼實例。
表1 LZW編碼實例
炮兵指揮系統(tǒng)的上/下級指揮所依據(jù)指揮系統(tǒng)的應(yīng)用協(xié)議,對要發(fā)送的各種數(shù)據(jù)信息進行封裝,封裝后的數(shù)據(jù)信息應(yīng)用LZW壓縮算法依據(jù)壓縮條件對數(shù)據(jù)進行壓縮,壓縮后的數(shù)據(jù)信息傳送給通訊設(shè)備進行發(fā)送。當從通訊設(shè)備接收到數(shù)據(jù)信息時,對接收到的數(shù)據(jù)信息進行無損解壓,解壓后的數(shù)據(jù)也利用指揮系統(tǒng)的應(yīng)用協(xié)議進行拆封,得到需要的信息。各指揮終端通過指揮信息系統(tǒng)的應(yīng)用協(xié)議來交互。程序的數(shù)據(jù)交互流程如圖2所示。
圖2 數(shù)據(jù)交互流程
本程序采用多線程的編程方案。這種編程方案靈活、準確。因為接收端要實時地進行數(shù)據(jù)的讀取.所以將建立一個輔助線程用于循環(huán)讀取數(shù)據(jù)??梢员WC應(yīng)用程序主線程和數(shù)據(jù)讀取線程使用不同的CPU時間片段,CPU利用率高,保證通訊和人機接口互不干擾。可以較好的防止阻塞。主線程根據(jù)協(xié)議要求發(fā)送數(shù)據(jù)包以及分析處理接收到的數(shù)據(jù),并且把需要的信息在窗口界面或數(shù)據(jù)表格中顯示出來。
在無線傳輸中選取256K字節(jié)的二值數(shù)據(jù)文件信息,采用分段選取若干典型的真實數(shù)據(jù)信息進行試驗,具體情況如表2所示。
平均壓縮比約為20倍左右。如要傳輸60K的數(shù)據(jù)信息(理論傳輸值約為60×1024/20/288≈11s,考慮各級指揮所壓縮/解壓時間和其它時間的開銷約為10s),應(yīng)用通訊壓縮軟件后傳輸時間只有不通過通訊壓縮軟件傳輸時間的1/5左右,亦即傳輸效率大約提高了5倍左右,極大地提高了指揮系統(tǒng)信息交互的實時性和準確性,為指揮員全面、實時地掌握戰(zhàn)場態(tài)勢,準確、及時的交互作戰(zhàn)信息,高效、無誤地完成各級指揮所直至武器平臺的戰(zhàn)術(shù)指揮、射擊指揮和作戰(zhàn)保障指揮提供了重要保證。
表2 使用LZW對二值數(shù)據(jù)文件壓縮效果
(野戰(zhàn))炮兵群(團)指揮系統(tǒng)的交互信息涉及許多數(shù)據(jù)量大的重要情報信息,如:炮兵行動計劃、炮兵火力計劃、態(tài)勢等信息。如果不對其進行壓縮,就會對后期通信的實時性和可靠性(特別是在野戰(zhàn)條件的無線通信情況下)帶來很大的壓力。采用無損數(shù)據(jù)壓縮技術(shù)是解決上述問題的有效辦法。
[1] 郭曉巖,郝永勝.LZW 無損壓縮算法在計算機取證中的應(yīng)用研究[J].測控技術(shù),2006,25(11):64-67.
[2] 崔業(yè)勤,劉玉貴.基于LZW的多模式自適應(yīng)的無損壓縮算法[J].微電子學與計算機,2005,22(3):99-101.
[3] 王平.LZW無損壓縮算法的實現(xiàn)與研究[J].計算機工程,2002,28(7):98-99.
[4] 候陽.數(shù)據(jù)壓縮技術(shù)及 C語言實例[M].北京:學苑出版社,1994.