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