APP下载

不同压缩算法对雷达数据的压缩效果研究*

2016-10-25陈朝晖宋洪良唐小明

舰船电子工程 2016年9期
关键词:霍夫曼信源字典

陈朝晖 宋洪良 唐小明

(1.东海舰队参谋部信息保障处 宁波 315122)(2.海军航空工程学院 烟台 264000)



不同压缩算法对雷达数据的压缩效果研究*

陈朝晖1宋洪良2唐小明2

(1.东海舰队参谋部信息保障处宁波315122)(2.海军航空工程学院烟台264000)

雷达数据压缩在数据实时传输过程中起着重要的作用,压缩算法的好坏直接影响到传输的效率。论文通过对导航雷达实际数据的分析,在进行预处理的基础上,对游程编码、霍夫曼编码以及LZW字典查询编码算法进行理解与编程实现。利用实际雷达采集到的数据作为处理对象,分别用三种算法进行压缩处理,对比分析三种算法的优缺点,选择压缩效果较好的压缩算法进行数据压缩,达到实时传输的要求。

雷达数据压缩;游程编码;霍夫曼编码;LZW压缩算法

Class NumberTN967.7;V243

1 引言

雷达作为一种战场上的探测设备,具有很高的作战性能和战斗力。目前所使用的各种雷达,包括搜索雷达等军用雷达以及导航雷达等民用雷达,其基本上是雷达发射接收以及显控是一体的,雷达获得的信息无法进行传递,更无法进行分享交流,这在信息化战争中是不具备优势的。为了使雷达变得更加灵活,作用更加明显,信息更加全面,需要对雷达接收到的目标回波信号进行采集,传输并通过远程服务器进行显示控制。通过这一模式,一方面大大减少人力物力的投入,另一方面使雷达获得的信息进行入网共享,形成数据库,适应信息化战争的要求。

为了能实现对信号的实时采集,传输,显示和控制,针对实际雷达数据噪声和杂波多,数据熵值较大,且相邻帧之间相关性较高,本文比较了游程编码、霍夫曼编码以及字典查询编码三种常用的用于数据无损压缩的压缩编码方法,通过对实际雷达采集数据的压缩效果进行对比,选择效果较好的编码方法对数据进行压缩,已达到实时性的要求。

2 导航雷达数据分析

在雷达天线获得的回波信号中,主要是目标信号,也夹杂着一些杂波信号,为了方便对雷达进行远程显示和控制,需要对雷达回波信号进行采集。利用AD芯片,结合FPGA芯片的高速数据处理能力,对视频回波信号以及触发脉冲、船首脉冲、方位脉冲等三路同步信号进行采集[1]。

本文以导航雷达JMA2254为研究对象,对其上述四路信号进行实时采集。通过分析雷达参数,天线扫描周期是2s,每个周期内进行2048个方位扫描,每个扫描线上采集2000个数据点,则导航雷达所产生的数据率是2000*2048*8/2=15.6Mbps,数据量大小为4M字节。由此可见其数据量很庞大,要想对数据进行实时传输,必须先对其进行高效的压缩处理。

在压缩之前,由于原始雷达回波信号掺杂着大量的杂波信号,因此,需要先对其进行简单滤波处理,以减少数据量,并保留目标有用信息。图1是经过简单门限滤波处理后回波信号的对比图。

图1 经过简单处理前后回波对比

从图1分析可知,经过简单预处理后,回波数据量大幅减少,保留大部分有用目标信息,这为下一步的数据压缩提供了很好的基础。

3 常用压缩算法

3.1游程编码原理

传统的游程编码是由两个元素的序对(gk,lk)组成,其中gk表示编码符号,lk表示游程长度,它等于有相同编码符号的相同元素的数目。游程编码(Run Length Encoding,RLE)的原理十分简单:将一行中数值相同的相邻点用一个计数字节和一个表示该数据值的数据字节来代替。例如aaaabbbcccccdee可以表示为4a3b5c1d2e。如果一数据由很多块数值相同的大面积区域组成,那么采用游程编码的压缩效率是惊人的[2]。图2是游程编码的压缩算法流程图。

图2 游程编码压缩流程图

游程编码的特点:压缩算法比较简单,硬件实现容易,压缩和解压缩的速度都很快,只需对数据进行一遍扫描即可。但游程编码编码适应性较差,对不同类型的文件的压缩率波动很大,平均压缩效率低下。同时游程编码对错误比较敏感,如果在数据传输过程中,丢失一个或几个压缩数据,可能会造成整个文件的解码紊乱,所以对传输信道要求较高[3]。

3.2霍夫曼编码原理

将文件或图像中出现的所有信源符号的概率进行统计,并按信源符号出现的概率大小进行排序,假设信源符号的个数为N个,将具有最低概率的两个信源符号作为一个新的符号,此符号的概率为N个信源符号中最低的两个概率之和,此时只剩下N-1个符号,再将N-1个符号的概率进行排序,按以上步骤将最低的两个概率相加,其和作为与之对应的两个信源符号组成的新的符号的概率,此时符号个数为N-2,每次操作符号的个数减1,新的符号由前组的两个符号组成,作为前组两个符号的节点,这种操作一直持续到只剩下两个符号,这两个符号概率相加必定为1。再将每组化简后的符号进行编码,从符号最少的一组一直持续到最初的原始信源符号,符号最少的组的编码最短,分别为0和1(一般将概率大的设为l)[4]。

雷达数据进行霍夫曼编码的步骤如下:

1)将雷达视频信源符号出现概率按减小的顺序排列;

2)将两个最小的概率组合相加,并继续这一步骤,始终将较高的概率分支放在上部,直到概率达到1.0时为止;

3)对每对组合中的上边一个指定为1,下边一个指定为0(或相反:对上边一个指定为0,下边一个指定为1);

4)画出由每个信源符号概率到1.0,记下沿路径的1和0;

5)对于每个信源符号都写出1、0序列,则从右到左就得到霍夫曼码。

霍夫曼编码存在的不足主要有[5]:

1)在进行实际的数据压缩过程中,霍夫曼编码需要对各个信源符号的出现频率进行统计,以建立霍夫曼树,即需要进行预处理。

2)霍夫曼编码没有错误保护机制,如果压缩后的数据在传输的过程中出现丢失的情况,则在译码时可能出现错误传播的现象,导致之后的所有的译码失败,造成巨大的损失。所以还需考虑增加编码以提高其可靠性。

3)霍夫曼算法的编码和译码的过程都很复杂,硬件实现的难度较大。

3.3LZW压缩算法原理

算法属于字典编码,根据数据本身包含重复代码的特性,用前面已经出现的字符串的代码来代替后面相同字符串的内容,从而实现数据压缩。基于该算法的压缩器不输出单个字符,只输出词典字符串中的代码,因此字典在开始时不能是空的,应该包含可能在字符流中出现的所有单个字符[6]。

算法的基本思想是用简单的代码来代替复杂的字符串以实现数据的压缩,在压缩的过程中自适应建立一个字典,反应字符串与代码之间的对照关系,通过查询字典来确定字符串压缩代码的输出。

LZW编码能够有效地利用字符出现的频率冗余度,字符重复性和高使用率模式冗余度,不需要提前预测字符的概率分布,只要扫描一次字符,无需有关输入数据统计量的先验信息,并且运算时间和文件的长度成正比。

LZW压缩算法有三个重要的对象:数据流、编码流和编译表。在编码时,数据流是输入对象,编码流就是输出对象;在解码时,编码流则是输入对象,数据流是输出对象;而编译表是在编码和解码时都要借助的对象。当编码的信源序列较短时,LZW编码性能将会有所下降,但当序列增长时,编码效率会提高,平均码长也会逼近信源熵[7]。LZW解码也比较简单,可以一边解码一边建立字典,只需要传输字典的大小,无需传输字典本身。

LZW是一种基于字典的算法。所谓字典算法,即认为信源输出的信息序列是由一本“字典”中的各种"词条”构成的。显然,该字典的词条应由信源符号的不同排列组合产生。但是该字典不是固定不变的,而是根据信源发出的编码动态地建立的。编码过程也就是建立字典的过程[8]。如果接收端建立的字典与发送端一样,就达到了正确的信息传送目的。LZW算法是围绕字典的建立起来的一种压缩算法。通过字典,把输入的字符串映射成等长码字输出。LZW算法的字典具有前缀特性,这样就使得任何一个字典中的字符串的前缀也一定在字典中。

LZW算法对每个输入字符串进行逐个字符检查,试图找到最长的和字典已有字符串匹配的字符串并进行解析,这样字典内的编码项会越来越多,匹配几率也会随之增大,从而达到压缩目的。每个被解析了的字符串通过下一个输入字符扩展,这样形成的新的字符串会被存入字典,新的字符串会有一个新的标示符,称为编码值,并且同时输出前缀码的编码值。虽然LZW编码方式能够不依赖于数据的概率统计特征,但却会涉及到字典查找问题[9]。算法流程图如图3所示。

由于传统查找方式的查找效率太慢,故引入了哈希函数[10],把哈希函数和传统LZW算法结合起来就形成了哈希和LZW的结合算法。此算法使得字典查找效率大大提高,由此增加了数据的压缩效率。

在编程实现过程中,用于压缩的哈希函数采用移位和基本算数运算来构造[11],这样哈希函数不仅运算速度快,易于硬件实现,而且比特之间的异或运算和位移运算能够提高哈希值的随机特性[12]。

将前缀W和后缀K加在一起形成新的字符串value,其中前缀W为字典中的编码,后缀K为新进的字符,将value通过上述位移运算生成一个key值,通过二叉树法对产生的key值进行查找对比,若已经存在,则原查找表中的key值对应的value中的前缀W即为新字符的字典编码;若不存在,则用新的编码来代替value中的前缀,继续进行上述查找过程[13]。

图3 算法流程图

4 压缩结果分析

以实际采集到的雷达数据为压缩对象,运用游程编码、霍夫曼编码以及LZW字典查询编码对同一数据进行压缩,通过对比,展现各种压缩编码的效果。表1是三种方法对30M雷达数据进行压缩的效率对比。

表1 不同编码算法压缩效率对比

通过对表1压缩效率对比分析可看出,游程编码的压缩效率是30/18.365=1.63M/s,霍夫曼编码的压缩效率是30/10.544=2.84M/s,LZW字典查询编码的压缩效率是30/3.898=7.69M/s。对于同一数据,压缩效率差距很大,而本文在第2节中就对实际雷达数据进行分析,雷达一帧的数据是4M,扫描周期是2s,也就是说每秒要压缩至少2M才能满足实时传输的要求。通过对表1 分析可知,三种编码算法中游程编码不能达到这个要求,这就会引起数据堆积,占用大量的缓存,不适合实时传输;霍夫曼编码和LZW字典查询编码算法都能很好的达到2M/s的速率要求,实现传输的实时性。

表2是三种方法的压缩比对比,以及其实时传输所需的传输带宽。

表2 不同算法压缩比结果对比

通过对表2的压缩比对比分析可知,三种编码方法的压缩比相差较大,对于第2节提供的实际雷达数据,数据率是15.6Mbps,LZW字典查询算法所需传输带宽最小,更容易实现无线网络的实时传输从而进一步提高了压缩效率,使其更加符合实时性传输的要求。

由于这三种算法都是无损压缩算法,通过反向解压,可以将数据完整的解压出来,与原始数据保持一致,对于后续的分析处理没有影响。

通过雷达图像显示,验证三种压缩编码数据传输的实时性效果,显示效果如图4所示。

图4 雷达图像实时显示图

这是在烟台市海边的一部导航雷达所收到的回波信号,将数据采集、压缩、传输以及显示实时同步,并与实际地图结合。从图4中可以看出对应回波有船只,有岛屿,有建筑物等,很好地反映了实际的情况,从而也说明达到了实时的要求。

5 结语

本文通过对游程编码、霍夫曼编码以及LZW字典查询编码的理解和编程实现,用实际雷达数据进行压缩效果的验证,分析比较了三种编码算法的特点及压缩效果。

游程编码原理比较简单,算法实现也较容易,主要针对重复性高的数据。对于实际雷达数据,在为经过处理前压缩效果很差,压缩时间也很长,经过简单预处理之后压缩时间缩短,压缩比提高,压缩效果有改善,但还是不能达到很好的效果。

霍夫曼编码利用统计编码原理,原理也较简单,但算法实现比较麻烦,需要先作字符统计,再进行重新编码,工作量较大,压缩时间也较长,但压缩比有所提高,总体的压缩效果相对于游程编码来讲有所改善。

LZW字典查询编码是不同于游程编码和霍夫曼编码的一种编码方式,算法原理较复杂,算法实现也较难,通过改变字典查询方式,引入哈希函数进行查找,进一步提高压缩比和压缩效率。

三种算法各有各的优点和不足,在实际应用中,考虑到硬件电路设计和软件编程实现,选择合适的算法进行压缩,达到数据传输的实时性要求。

[1]龚少军.雷达视频采集处理卡应用[J].上海海事大学学报,2007,28(2):33-38.

[2]刘冰.游程长度编码算法的研究[J].天津理工学院学报,2001,17(4):77-81.

[3]蔡春梅.关于游程编码的编码方法探究[J].科技传播,2013(4):175.

[4]韩菲.基于雷达视频的Huffman编码研究[J].舰船电子工程,2004,24(1):68-71.

[5]陈世海.基于FPGA的数据采集及压缩系统设计[D].太原:中北大学,2010.

[6]崔业勤,刘玉贵.基于LZW的多模式自适应的无损压缩算法[J].微电子学与计算机,2005,22(3):99-101.

[7]王育民,李晖.信息论与编码理论[M].北京:高等教育出版社,2005.

[8]王智.LZW字典压缩改进算法研究及FPGA硬件实现[D].南京:南京师范大学,2012.

[9]王志刚,常传文,茅文深.LZW算法优化及在雷达数据压缩中的应用[J].计算机与数字工程,2009,37(1):32-34.

[10]常传文,茅文深.雷达数据无损压缩研究[J].舰船电子工程,2008(4):103-106.

[11]刘林.基于LZW优化算法的雷达数据压缩技术[J].舰船科学技术,2015,37(11):120-123.

[12]Trappe W,Washington L C.Introduction to cryptography with coding theory[M].Pearson Education India,2006.

[13]冯振.基于LZW的数据压缩硬件系统设计[D].荆州:长江大学,2013.

Different Compression Algorithms for Data Compression Radar

CHEN Zhaohui1SONG Hongliang2TANG Xiaoming2

(1.East China Sea Fleet Staff Information Assurance Department,Ningbo315122)(2.Naval Aeronautical and Astronautical University,Yantai264000)

Radar data compression plays an important role in the real-time data transmission,compression algorithm directly affects the efficiency of the transmission.By analyzing the actual navigation radar data,on the basis of carrying out pretreatment,run-length coding,Huffman coding and dictionary lookup LZW coding algorithm are understood and programmed.The actual radar data collected is used as processing object,three algorithms are used to compress,the advantages and disadvantages of the three algorithms are analyzed comparatively,the compression better compression algorithm is seleted for data compression,real-time transmission is achieved.

radar data compression,run-length encoding,Huffman coding,LZW compression algorithm

2016年3月15日,

2016年4月21日

陈朝晖,男,工程师,研究方向:电子对抗和预警探测。宋洪良,男,硕士,研究方向:雷达探测技术。唐小明,男,博士,副教授,研究方向:信号检测、估计和目标识别。

TN967.7;V243DOI:10.3969/j.issn.1672-9730.2016.09.015

猜你喜欢

霍夫曼信源字典
基于极化码的分布式多信源信道联合编码
广播无线发射台信源系统改造升级与实现
基于稀疏对称阵列的混合信源定位
字典的由来
基于空间差分平滑的非相关与相干信源数估计*
2067年的一场官司
大头熊的字典
正版字典
天使多快乐