LZW数据压缩技术在野战炮兵指挥系统中的应用*
2011-12-07杨鹏飞
杨鹏飞,张 鹏,赵 洁,张 凌
(1中国兵器工业第207研究所,太原 030006;2中国兵器工业第203研究所,西安 710065)
0 引言
随着计算机技术迅猛发展的推动和陆军信息化建设的牵引,对指挥系统内部数据流的交互也提出了更高的要求。尤其在以无线为主,有线为辅的现代战争通信体系下,准确、及时的保证指挥员对所属部(分)队实施指挥控制,掌握战场态势和作战信息,特别是在以高技术武器装备为主体的陆、海、空、天、电全方位展开的诸军兵种的联合作战情况下,信息交互更加突出重要,是保证局部战争或全面战争取得胜利的重要因素。
1 (野战)炮兵群(团)指挥系统
炮兵群(团)指挥系统主要是保障指挥员对所属炮兵部(分)队实施指挥控制,协助指挥员全面、实时地掌握战场态势,准确、及时的交互作战信息,高效、无误地完成从群(团)、营、连各级指挥所直至武器平台的战术指挥、射击指挥和作战保障指挥任务,提高炮兵部(分)队的快速反应能力和作战指挥效能。
1.1 (野战)炮兵群(团)指挥系统信息流分析
在作战过程中,为完成各项作战任务,各作战单位之间需频繁交互各种信息,以确保各级指挥员对战场态势和上级指令的准确把握和执行,保证任务的顺利完成。指挥系统信息流按性质划分,大致可分为以下4类:
1)指挥控制信息:上级指挥所下达给下级指挥所或武器平台的各种指挥、控制命令。主要包括:计划内、计划外射击口令,运动目标射击口令和各种战斗文书。如:命令、指示、通报、计划、通令、批复、通知、通告和布告等。
2)情报信息:作战所需的各种情报资料。主要包括:敌情、我情、目标、气象、地形和战场态势等各种情报信息。
3)状态信息:下级向上级报告本站、本分队及本分队相应的武器装备的各种状态信息。主要包括:人员、装备的状况,弹药、油料情况,位置及战斗队形等。
4)协同信息:与友邻部队相关的协同信息。主要包括:协同指挥信号等信息。(野战)炮兵群(团)指挥系统内的信息流程见图1。
图1 指挥系统内的信息流
1.2 (野战)炮兵群(团)指挥系统通信分析
根据作战需求和部队编配,系统可分为群、营、连三级指挥所,各级指挥所通过无线和有线通信方式实现同上级、下级、友邻、武器平台和所属侦察保障分队的通信。通信手段以无线为主,有线为辅,支持话音、数据、图形等多种通信业务。文中主要分析系统在野战条件下无线通信的通信情况。
(野战)炮兵群(团)指挥系统无线通信主要通过超短波通讯设备进行信息传输,超短波通讯设备的传输速率通常为2400bit/s和4800bit/s两种传输速率。现以传输速率为4800bit/s例举一种通信分配方案:其中,通讯设备的通信周期为50个时隙(时隙也就是划分的时间片),上级指挥所占用24个时隙,下级(假设有4个下级指挥所)每个指挥所占用6个时隙,2个时隙用于通讯设备勤务同步。在该分配方案下,当通讯速率为4800bit/s,上级指挥所分配速率约为2400bit/s,每个下级指挥所分配速率约为600bit/s。通讯设备每个时隙约可发送36个字节时,按每个时隙间隔约60ms计算,故上级指挥所在一个通信周期内最多能发送(24×36=864)864字节,下级指挥所在一个通信周期内最多能发送(6×36=216)216字节,通信的一个周期大约为(50×60=3000ms)3s。故上级指挥所理论值每秒约可发送864/3=288字节。故群指挥所向下级发送一份行动计划(约60K文件)大约需(60×1024/288=214s)4min时间,在瞬息万变的现代化战场条件下,它大大限制了高技术武器装备的作战性能和指挥的实时性,对指挥员实时掌握战场态势、作战信息和作出决策具有很大的影响,进而影响战争的取胜。因此提高信息传输的实时性和可靠性成了急需解决的一项重要问题。
2 数据压缩技术
数据压缩技术在数据处理领域已相当成熟。静态和动态的数据压缩均可为通信系统在时间、频带、能量上带来高效率。因此数据压缩技术在通信传输中有着十分重要的现实意义,广泛应用于军事、民用等领域。
2.1 数据压缩技术介绍
数据压缩技术就是减少用于存储和传输信息的位的数目。数据压缩技术大致经历了两个发展阶段,基础理论研究阶段和实用化阶段。数据压缩技术按照压缩前后信息量划分为无损数据压缩和有损数据压缩。无损数据压缩通常称为可逆压缩,无损压缩没有信息丢失,可根据压缩后的数据完全的恢复原来的数据,它是一个可逆过程。有损数据压缩通常称为不可逆压缩,即有失真压缩的编码技术,压缩后的数据不能完全的恢复为原来的数据,有信息丢失,是一个不可逆过程。
2.2 数据压缩技术的原理
数据压缩就是以最小的数码(比特数)表示信源所发出的信号,减少必须分配给指定信息集合或数据采样集合的信号空间的数值。信号空间是指给定信息集合所占的空域、时域和频域空间。数据压缩原理从信源和信宿两个方面进行分析。信源编码主要解决有效性问题,通过对信源的压缩、扰乱、加密等一系列处理,争取用尽可能少的数码传递尽量多的信息量,并使信息更适宜传输;信道编码主要解决可靠性问题,即使信息在传送过程中不出错或少出错,并利用检错码和纠错码技术使错误得以纠正。文中使用的LZW无损压缩算法涉及的就是信源编码。
3 基于LZW压缩算法的(野战)炮兵指挥系统信息交互程序设计
3.1 LZW算法介绍及实现
3.1.1 LZW算法介绍
LZW算法是在1984年由TA Welch对LZ编码中的LZ78算法修改而成的一种实用的字典压缩算法,字典是在编解码过程中动态形成的且不必将字典传给还原器,这是LZW高效的主要原因。LZW压缩算法的基本思想是建立一个串表,将输入字符串映射成定长的码字输出,通常码长设置为12 bit,也可设置为其它相应的长度。串表具有“前缀性”:假设任何一个字符串Str和某一个字符C组成一个字符串StrC,若StrC在串表中,则C为Str的扩展,Str为C的前缀。字符串表是动态生成的,编码前先将其初始化(通常初始化为ASCII码的常用字符),使其包含所有可能的单个字符值。在压缩过程中,串表中不断产生压缩信息的新字符串,存储新字符串时也保存新字符串StrC的前缀Str相对应的码字。在解压缩过程中,程序可根据编码字恢复出同样的字符串表,解出编码数据流。
3.1.2 LZW算法实现
根据上面所述LZW算法原理,可得出 LZW 编码的步骤如下:
1)初始化串表为编码流集合的各单个字符,并置前缀Str为空;
2)读取输入流中的字符为当前字符C;
3)判断StrC是否在串表中,如在串表中:更新Str=StrC,如不在串表中:①将Str对应的串表写入输出码流;②将StrC写入串表,增加一个表项并更新Str=C;③判断串表是否到达最大长度,如果达到最大长度则转到1);
4)判断是否还有数据要压缩,如果有则转到2),否则转到5);
5)将Str对应的串表索引写入输出码流,编码结束。
3.1.3 算法实例
例举一算法实例:有一个输入的字符流“WED WE WEE WEB”。按照上述编码步骤,先初始化串表,假设将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”时没有数据了,输出Str的值“B”,这样最后的输出结果就是:“WED<256>E<260><261><257>B”。最终可得表1的编码实例。
表1 LZW编码实例
3.2 数据交互流程
炮兵指挥系统的上/下级指挥所依据指挥系统的应用协议,对要发送的各种数据信息进行封装,封装后的数据信息应用LZW压缩算法依据压缩条件对数据进行压缩,压缩后的数据信息传送给通讯设备进行发送。当从通讯设备接收到数据信息时,对接收到的数据信息进行无损解压,解压后的数据也利用指挥系统的应用协议进行拆封,得到需要的信息。各指挥终端通过指挥信息系统的应用协议来交互。程序的数据交互流程如图2所示。
图2 数据交互流程
3.3 设计方案
本程序采用多线程的编程方案。这种编程方案灵活、准确。因为接收端要实时地进行数据的读取.所以将建立一个辅助线程用于循环读取数据。可以保证应用程序主线程和数据读取线程使用不同的CPU时间片段,CPU利用率高,保证通讯和人机接口互不干扰。可以较好的防止阻塞。主线程根据协议要求发送数据包以及分析处理接收到的数据,并且把需要的信息在窗口界面或数据表格中显示出来。
3.4 传输结果分析
在无线传输中选取256K字节的二值数据文件信息,采用分段选取若干典型的真实数据信息进行试验,具体情况如表2所示。
平均压缩比约为20倍左右。如要传输60K的数据信息(理论传输值约为60×1024/20/288≈11s,考虑各级指挥所压缩/解压时间和其它时间的开销约为10s),应用通讯压缩软件后传输时间只有不通过通讯压缩软件传输时间的1/5左右,亦即传输效率大约提高了5倍左右,极大地提高了指挥系统信息交互的实时性和准确性,为指挥员全面、实时地掌握战场态势,准确、及时的交互作战信息,高效、无误地完成各级指挥所直至武器平台的战术指挥、射击指挥和作战保障指挥提供了重要保证。
表2 使用LZW对二值数据文件压缩效果
4 结束语
(野战)炮兵群(团)指挥系统的交互信息涉及许多数据量大的重要情报信息,如:炮兵行动计划、炮兵火力计划、态势等信息。如果不对其进行压缩,就会对后期通信的实时性和可靠性(特别是在野战条件的无线通信情况下)带来很大的压力。采用无损数据压缩技术是解决上述问题的有效办法。
[1] 郭晓岩,郝永胜.LZW 无损压缩算法在计算机取证中的应用研究[J].测控技术,2006,25(11):64-67.
[2] 崔业勤,刘玉贵.基于LZW的多模式自适应的无损压缩算法[J].微电子学与计算机,2005,22(3):99-101.
[3] 王平.LZW无损压缩算法的实现与研究[J].计算机工程,2002,28(7):98-99.
[4] 候阳.数据压缩技术及 C语言实例[M].北京:学苑出版社,1994.