陳朝暉 宋洪良 唐小明
(1.東海艦隊參謀部信息保障處 寧波 315122)(2.海軍航空工程學院 煙臺 264000)
?
不同壓縮算法對雷達數據的壓縮效果研究*
陳朝暉1宋洪良2唐小明2
(1.東海艦隊參謀部信息保障處寧波315122)(2.海軍航空工程學院煙臺264000)
雷達數據壓縮在數據實時傳輸過程中起著重要的作用,壓縮算法的好壞直接影響到傳輸的效率。論文通過對導航雷達實際數據的分析,在進行預處理的基礎上,對游程編碼、霍夫曼編碼以及LZW字典查詢編碼算法進行理解與編程實現。利用實際雷達采集到的數據作為處理對象,分別用三種算法進行壓縮處理,對比分析三種算法的優缺點,選擇壓縮效果較好的壓縮算法進行數據壓縮,達到實時傳輸的要求。
雷達數據壓縮;游程編碼;霍夫曼編碼;LZW壓縮算法
Class NumberTN967.7;V243
雷達作為一種戰場上的探測設備,具有很高的作戰性能和戰斗力。目前所使用的各種雷達,包括搜索雷達等軍用雷達以及導航雷達等民用雷達,其基本上是雷達發射接收以及顯控是一體的,雷達獲得的信息無法進行傳遞,更無法進行分享交流,這在信息化戰爭中是不具備優勢的。為了使雷達變得更加靈活,作用更加明顯,信息更加全面,需要對雷達接收到的目標回波信號進行采集,傳輸并通過遠程服務器進行顯示控制。通過這一模式,一方面大大減少人力物力的投入,另一方面使雷達獲得的信息進行入網共享,形成數據庫,適應信息化戰爭的要求。
為了能實現對信號的實時采集,傳輸,顯示和控制,針對實際雷達數據噪聲和雜波多,數據熵值較大,且相鄰幀之間相關性較高,本文比較了游程編碼、霍夫曼編碼以及字典查詢編碼三種常用的用于數據無損壓縮的壓縮編碼方法,通過對實際雷達采集數據的壓縮效果進行對比,選擇效果較好的編碼方法對數據進行壓縮,已達到實時性的要求。
在雷達天線獲得的回波信號中,主要是目標信號,也夾雜著一些雜波信號,為了方便對雷達進行遠程顯示和控制,需要對雷達回波信號進行采集。利用AD芯片,結合FPGA芯片的高速數據處理能力,對視頻回波信號以及觸發脈沖、船首脈沖、方位脈沖等三路同步信號進行采集[1]。
本文以導航雷達JMA2254為研究對象,對其上述四路信號進行實時采集。通過分析雷達參數,天線掃描周期是2s,每個周期內進行2048個方位掃描,每個掃描線上采集2000個數據點,則導航雷達所產生的數據率是2000*2048*8/2=15.6Mbps,數據量大小為4M字節。由此可見其數據量很龐大,要想對數據進行實時傳輸,必須先對其進行高效的壓縮處理。
在壓縮之前,由于原始雷達回波信號摻雜著大量的雜波信號,因此,需要先對其進行簡單濾波處理,以減少數據量,并保留目標有用信息。圖1是經過簡單門限濾波處理后回波信號的對比圖。


圖1 經過簡單處理前后回波對比
從圖1分析可知,經過簡單預處理后,回波數據量大幅減少,保留大部分有用目標信息,這為下一步的數據壓縮提供了很好的基礎。
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 算法流程圖
以實際采集到的雷達數據為壓縮對象,運用游程編碼、霍夫曼編碼以及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中可以看出對應回波有船只,有島嶼,有建筑物等,很好地反映了實際的情況,從而也說明達到了實時的要求。
本文通過對游程編碼、霍夫曼編碼以及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