陳朝暉 宋洪良 唐小明
(1.東海艦隊(duì)參謀部信息保障處 寧波 315122)(2.海軍航空工程學(xué)院 煙臺(tái) 264000)
?
不同壓縮算法對(duì)雷達(dá)數(shù)據(jù)的壓縮效果研究*
陳朝暉1宋洪良2唐小明2
(1.東海艦隊(duì)參謀部信息保障處寧波315122)(2.海軍航空工程學(xué)院煙臺(tái)264000)
雷達(dá)數(shù)據(jù)壓縮在數(shù)據(jù)實(shí)時(shí)傳輸過(guò)程中起著重要的作用,壓縮算法的好壞直接影響到傳輸?shù)男?。論文通過(guò)對(duì)導(dǎo)航雷達(dá)實(shí)際數(shù)據(jù)的分析,在進(jìn)行預(yù)處理的基礎(chǔ)上,對(duì)游程編碼、霍夫曼編碼以及LZW字典查詢編碼算法進(jìn)行理解與編程實(shí)現(xiàn)。利用實(shí)際雷達(dá)采集到的數(shù)據(jù)作為處理對(duì)象,分別用三種算法進(jìn)行壓縮處理,對(duì)比分析三種算法的優(yōu)缺點(diǎn),選擇壓縮效果較好的壓縮算法進(jìn)行數(shù)據(jù)壓縮,達(dá)到實(shí)時(shí)傳輸?shù)囊蟆?/p>
雷達(dá)數(shù)據(jù)壓縮;游程編碼;霍夫曼編碼;LZW壓縮算法
Class NumberTN967.7;V243
雷達(dá)作為一種戰(zhàn)場(chǎng)上的探測(cè)設(shè)備,具有很高的作戰(zhàn)性能和戰(zhàn)斗力。目前所使用的各種雷達(dá),包括搜索雷達(dá)等軍用雷達(dá)以及導(dǎo)航雷達(dá)等民用雷達(dá),其基本上是雷達(dá)發(fā)射接收以及顯控是一體的,雷達(dá)獲得的信息無(wú)法進(jìn)行傳遞,更無(wú)法進(jìn)行分享交流,這在信息化戰(zhàn)爭(zhēng)中是不具備優(yōu)勢(shì)的。為了使雷達(dá)變得更加靈活,作用更加明顯,信息更加全面,需要對(duì)雷達(dá)接收到的目標(biāo)回波信號(hào)進(jìn)行采集,傳輸并通過(guò)遠(yuǎn)程服務(wù)器進(jìn)行顯示控制。通過(guò)這一模式,一方面大大減少人力物力的投入,另一方面使雷達(dá)獲得的信息進(jìn)行入網(wǎng)共享,形成數(shù)據(jù)庫(kù),適應(yīng)信息化戰(zhàn)爭(zhēng)的要求。
為了能實(shí)現(xiàn)對(duì)信號(hào)的實(shí)時(shí)采集,傳輸,顯示和控制,針對(duì)實(shí)際雷達(dá)數(shù)據(jù)噪聲和雜波多,數(shù)據(jù)熵值較大,且相鄰幀之間相關(guān)性較高,本文比較了游程編碼、霍夫曼編碼以及字典查詢編碼三種常用的用于數(shù)據(jù)無(wú)損壓縮的壓縮編碼方法,通過(guò)對(duì)實(shí)際雷達(dá)采集數(shù)據(jù)的壓縮效果進(jìn)行對(duì)比,選擇效果較好的編碼方法對(duì)數(shù)據(jù)進(jìn)行壓縮,已達(dá)到實(shí)時(shí)性的要求。
在雷達(dá)天線獲得的回波信號(hào)中,主要是目標(biāo)信號(hào),也夾雜著一些雜波信號(hào),為了方便對(duì)雷達(dá)進(jìn)行遠(yuǎn)程顯示和控制,需要對(duì)雷達(dá)回波信號(hào)進(jìn)行采集。利用AD芯片,結(jié)合FPGA芯片的高速數(shù)據(jù)處理能力,對(duì)視頻回波信號(hào)以及觸發(fā)脈沖、船首脈沖、方位脈沖等三路同步信號(hào)進(jìn)行采集[1]。
本文以導(dǎo)航雷達(dá)JMA2254為研究對(duì)象,對(duì)其上述四路信號(hào)進(jìn)行實(shí)時(shí)采集。通過(guò)分析雷達(dá)參數(shù),天線掃描周期是2s,每個(gè)周期內(nèi)進(jìn)行2048個(gè)方位掃描,每個(gè)掃描線上采集2000個(gè)數(shù)據(jù)點(diǎn),則導(dǎo)航雷達(dá)所產(chǎn)生的數(shù)據(jù)率是2000*2048*8/2=15.6Mbps,數(shù)據(jù)量大小為4M字節(jié)。由此可見(jiàn)其數(shù)據(jù)量很龐大,要想對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)傳輸,必須先對(duì)其進(jìn)行高效的壓縮處理。
在壓縮之前,由于原始雷達(dá)回波信號(hào)摻雜著大量的雜波信號(hào),因此,需要先對(duì)其進(jìn)行簡(jiǎn)單濾波處理,以減少數(shù)據(jù)量,并保留目標(biāo)有用信息。圖1是經(jīng)過(guò)簡(jiǎn)單門(mén)限濾波處理后回波信號(hào)的對(duì)比圖。
圖1 經(jīng)過(guò)簡(jiǎn)單處理前后回波對(duì)比
從圖1分析可知,經(jīng)過(guò)簡(jiǎn)單預(yù)處理后,回波數(shù)據(jù)量大幅減少,保留大部分有用目標(biāo)信息,這為下一步的數(shù)據(jù)壓縮提供了很好的基礎(chǔ)。
3.1游程編碼原理
傳統(tǒng)的游程編碼是由兩個(gè)元素的序?qū)?gk,lk)組成,其中g(shù)k表示編碼符號(hào),lk表示游程長(zhǎng)度,它等于有相同編碼符號(hào)的相同元素的數(shù)目。游程編碼(Run Length Encoding,RLE)的原理十分簡(jiǎn)單:將一行中數(shù)值相同的相鄰點(diǎn)用一個(gè)計(jì)數(shù)字節(jié)和一個(gè)表示該數(shù)據(jù)值的數(shù)據(jù)字節(jié)來(lái)代替。例如aaaabbbcccccdee可以表示為4a3b5c1d2e。如果一數(shù)據(jù)由很多塊數(shù)值相同的大面積區(qū)域組成,那么采用游程編碼的壓縮效率是驚人的[2]。圖2是游程編碼的壓縮算法流程圖。
圖2 游程編碼壓縮流程圖
游程編碼的特點(diǎn):壓縮算法比較簡(jiǎn)單,硬件實(shí)現(xiàn)容易,壓縮和解壓縮的速度都很快,只需對(duì)數(shù)據(jù)進(jìn)行一遍掃描即可。但游程編碼編碼適應(yīng)性較差,對(duì)不同類型的文件的壓縮率波動(dòng)很大,平均壓縮效率低下。同時(shí)游程編碼對(duì)錯(cuò)誤比較敏感,如果在數(shù)據(jù)傳輸過(guò)程中,丟失一個(gè)或幾個(gè)壓縮數(shù)據(jù),可能會(huì)造成整個(gè)文件的解碼紊亂,所以對(duì)傳輸信道要求較高[3]。
3.2霍夫曼編碼原理
將文件或圖像中出現(xiàn)的所有信源符號(hào)的概率進(jìn)行統(tǒng)計(jì),并按信源符號(hào)出現(xiàn)的概率大小進(jìn)行排序,假設(shè)信源符號(hào)的個(gè)數(shù)為N個(gè),將具有最低概率的兩個(gè)信源符號(hào)作為一個(gè)新的符號(hào),此符號(hào)的概率為N個(gè)信源符號(hào)中最低的兩個(gè)概率之和,此時(shí)只剩下N-1個(gè)符號(hào),再將N-1個(gè)符號(hào)的概率進(jìn)行排序,按以上步驟將最低的兩個(gè)概率相加,其和作為與之對(duì)應(yīng)的兩個(gè)信源符號(hào)組成的新的符號(hào)的概率,此時(shí)符號(hào)個(gè)數(shù)為N-2,每次操作符號(hào)的個(gè)數(shù)減1,新的符號(hào)由前組的兩個(gè)符號(hào)組成,作為前組兩個(gè)符號(hào)的節(jié)點(diǎn),這種操作一直持續(xù)到只剩下兩個(gè)符號(hào),這兩個(gè)符號(hào)概率相加必定為1。再將每組化簡(jiǎn)后的符號(hào)進(jìn)行編碼,從符號(hào)最少的一組一直持續(xù)到最初的原始信源符號(hào),符號(hào)最少的組的編碼最短,分別為0和1(一般將概率大的設(shè)為l)[4]。
雷達(dá)數(shù)據(jù)進(jìn)行霍夫曼編碼的步驟如下:
1)將雷達(dá)視頻信源符號(hào)出現(xiàn)概率按減小的順序排列;
2)將兩個(gè)最小的概率組合相加,并繼續(xù)這一步驟,始終將較高的概率分支放在上部,直到概率達(dá)到1.0時(shí)為止;
3)對(duì)每對(duì)組合中的上邊一個(gè)指定為1,下邊一個(gè)指定為0(或相反:對(duì)上邊一個(gè)指定為0,下邊一個(gè)指定為1);
4)畫(huà)出由每個(gè)信源符號(hào)概率到1.0,記下沿路徑的1和0;
5)對(duì)于每個(gè)信源符號(hào)都寫(xiě)出1、0序列,則從右到左就得到霍夫曼碼。
霍夫曼編碼存在的不足主要有[5]:
1)在進(jìn)行實(shí)際的數(shù)據(jù)壓縮過(guò)程中,霍夫曼編碼需要對(duì)各個(gè)信源符號(hào)的出現(xiàn)頻率進(jìn)行統(tǒng)計(jì),以建立霍夫曼樹(shù),即需要進(jìn)行預(yù)處理。
2)霍夫曼編碼沒(méi)有錯(cuò)誤保護(hù)機(jī)制,如果壓縮后的數(shù)據(jù)在傳輸?shù)倪^(guò)程中出現(xiàn)丟失的情況,則在譯碼時(shí)可能出現(xiàn)錯(cuò)誤傳播的現(xiàn)象,導(dǎo)致之后的所有的譯碼失敗,造成巨大的損失。所以還需考慮增加編碼以提高其可靠性。
3)霍夫曼算法的編碼和譯碼的過(guò)程都很復(fù)雜,硬件實(shí)現(xiàn)的難度較大。
3.3LZW壓縮算法原理
算法屬于字典編碼,根據(jù)數(shù)據(jù)本身包含重復(fù)代碼的特性,用前面已經(jīng)出現(xiàn)的字符串的代碼來(lái)代替后面相同字符串的內(nèi)容,從而實(shí)現(xiàn)數(shù)據(jù)壓縮?;谠撍惴ǖ膲嚎s器不輸出單個(gè)字符,只輸出詞典字符串中的代碼,因此字典在開(kāi)始時(shí)不能是空的,應(yīng)該包含可能在字符流中出現(xiàn)的所有單個(gè)字符[6]。
算法的基本思想是用簡(jiǎn)單的代碼來(lái)代替復(fù)雜的字符串以實(shí)現(xiàn)數(shù)據(jù)的壓縮,在壓縮的過(guò)程中自適應(yīng)建立一個(gè)字典,反應(yīng)字符串與代碼之間的對(duì)照關(guān)系,通過(guò)查詢字典來(lái)確定字符串壓縮代碼的輸出。
LZW編碼能夠有效地利用字符出現(xiàn)的頻率冗余度,字符重復(fù)性和高使用率模式冗余度,不需要提前預(yù)測(cè)字符的概率分布,只要掃描一次字符,無(wú)需有關(guān)輸入數(shù)據(jù)統(tǒng)計(jì)量的先驗(yàn)信息,并且運(yùn)算時(shí)間和文件的長(zhǎng)度成正比。
LZW壓縮算法有三個(gè)重要的對(duì)象:數(shù)據(jù)流、編碼流和編譯表。在編碼時(shí),數(shù)據(jù)流是輸入對(duì)象,編碼流就是輸出對(duì)象;在解碼時(shí),編碼流則是輸入對(duì)象,數(shù)據(jù)流是輸出對(duì)象;而編譯表是在編碼和解碼時(shí)都要借助的對(duì)象。當(dāng)編碼的信源序列較短時(shí),LZW編碼性能將會(huì)有所下降,但當(dāng)序列增長(zhǎng)時(shí),編碼效率會(huì)提高,平均碼長(zhǎng)也會(huì)逼近信源熵[7]。LZW解碼也比較簡(jiǎn)單,可以一邊解碼一邊建立字典,只需要傳輸字典的大小,無(wú)需傳輸字典本身。
LZW是一種基于字典的算法。所謂字典算法,即認(rèn)為信源輸出的信息序列是由一本“字典”中的各種"詞條”構(gòu)成的。顯然,該字典的詞條應(yīng)由信源符號(hào)的不同排列組合產(chǎn)生。但是該字典不是固定不變的,而是根據(jù)信源發(fā)出的編碼動(dòng)態(tài)地建立的。編碼過(guò)程也就是建立字典的過(guò)程[8]。如果接收端建立的字典與發(fā)送端一樣,就達(dá)到了正確的信息傳送目的。LZW算法是圍繞字典的建立起來(lái)的一種壓縮算法。通過(guò)字典,把輸入的字符串映射成等長(zhǎng)碼字輸出。LZW算法的字典具有前綴特性,這樣就使得任何一個(gè)字典中的字符串的前綴也一定在字典中。
LZW算法對(duì)每個(gè)輸入字符串進(jìn)行逐個(gè)字符檢查,試圖找到最長(zhǎng)的和字典已有字符串匹配的字符串并進(jìn)行解析,這樣字典內(nèi)的編碼項(xiàng)會(huì)越來(lái)越多,匹配幾率也會(huì)隨之增大,從而達(dá)到壓縮目的。每個(gè)被解析了的字符串通過(guò)下一個(gè)輸入字符擴(kuò)展,這樣形成的新的字符串會(huì)被存入字典,新的字符串會(huì)有一個(gè)新的標(biāo)示符,稱為編碼值,并且同時(shí)輸出前綴碼的編碼值。雖然LZW編碼方式能夠不依賴于數(shù)據(jù)的概率統(tǒng)計(jì)特征,但卻會(huì)涉及到字典查找問(wèn)題[9]。算法流程圖如圖3所示。
由于傳統(tǒng)查找方式的查找效率太慢,故引入了哈希函數(shù)[10],把哈希函數(shù)和傳統(tǒng)LZW算法結(jié)合起來(lái)就形成了哈希和LZW的結(jié)合算法。此算法使得字典查找效率大大提高,由此增加了數(shù)據(jù)的壓縮效率。
在編程實(shí)現(xiàn)過(guò)程中,用于壓縮的哈希函數(shù)采用移位和基本算數(shù)運(yùn)算來(lái)構(gòu)造[11],這樣哈希函數(shù)不僅運(yùn)算速度快,易于硬件實(shí)現(xiàn),而且比特之間的異或運(yùn)算和位移運(yùn)算能夠提高哈希值的隨機(jī)特性[12]。
將前綴W和后綴K加在一起形成新的字符串value,其中前綴W為字典中的編碼,后綴K為新進(jìn)的字符,將value通過(guò)上述位移運(yùn)算生成一個(gè)key值,通過(guò)二叉樹(shù)法對(duì)產(chǎn)生的key值進(jìn)行查找對(duì)比,若已經(jīng)存在,則原查找表中的key值對(duì)應(yīng)的value中的前綴W即為新字符的字典編碼;若不存在,則用新的編碼來(lái)代替value中的前綴,繼續(xù)進(jìn)行上述查找過(guò)程[13]。
圖3 算法流程圖
以實(shí)際采集到的雷達(dá)數(shù)據(jù)為壓縮對(duì)象,運(yùn)用游程編碼、霍夫曼編碼以及LZW字典查詢編碼對(duì)同一數(shù)據(jù)進(jìn)行壓縮,通過(guò)對(duì)比,展現(xiàn)各種壓縮編碼的效果。表1是三種方法對(duì)30M雷達(dá)數(shù)據(jù)進(jìn)行壓縮的效率對(duì)比。
表1 不同編碼算法壓縮效率對(duì)比
通過(guò)對(duì)表1壓縮效率對(duì)比分析可看出,游程編碼的壓縮效率是30/18.365=1.63M/s,霍夫曼編碼的壓縮效率是30/10.544=2.84M/s,LZW字典查詢編碼的壓縮效率是30/3.898=7.69M/s。對(duì)于同一數(shù)據(jù),壓縮效率差距很大,而本文在第2節(jié)中就對(duì)實(shí)際雷達(dá)數(shù)據(jù)進(jìn)行分析,雷達(dá)一幀的數(shù)據(jù)是4M,掃描周期是2s,也就是說(shuō)每秒要壓縮至少2M才能滿足實(shí)時(shí)傳輸?shù)囊?。通過(guò)對(duì)表1 分析可知,三種編碼算法中游程編碼不能達(dá)到這個(gè)要求,這就會(huì)引起數(shù)據(jù)堆積,占用大量的緩存,不適合實(shí)時(shí)傳輸;霍夫曼編碼和LZW字典查詢編碼算法都能很好的達(dá)到2M/s的速率要求,實(shí)現(xiàn)傳輸?shù)膶?shí)時(shí)性。
表2是三種方法的壓縮比對(duì)比,以及其實(shí)時(shí)傳輸所需的傳輸帶寬。
表2 不同算法壓縮比結(jié)果對(duì)比
通過(guò)對(duì)表2的壓縮比對(duì)比分析可知,三種編碼方法的壓縮比相差較大,對(duì)于第2節(jié)提供的實(shí)際雷達(dá)數(shù)據(jù),數(shù)據(jù)率是15.6Mbps,LZW字典查詢算法所需傳輸帶寬最小,更容易實(shí)現(xiàn)無(wú)線網(wǎng)絡(luò)的實(shí)時(shí)傳輸從而進(jìn)一步提高了壓縮效率,使其更加符合實(shí)時(shí)性傳輸?shù)囊蟆?/p>
由于這三種算法都是無(wú)損壓縮算法,通過(guò)反向解壓,可以將數(shù)據(jù)完整的解壓出來(lái),與原始數(shù)據(jù)保持一致,對(duì)于后續(xù)的分析處理沒(méi)有影響。
通過(guò)雷達(dá)圖像顯示,驗(yàn)證三種壓縮編碼數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性效果,顯示效果如圖4所示。
圖4 雷達(dá)圖像實(shí)時(shí)顯示圖
這是在煙臺(tái)市海邊的一部導(dǎo)航雷達(dá)所收到的回波信號(hào),將數(shù)據(jù)采集、壓縮、傳輸以及顯示實(shí)時(shí)同步,并與實(shí)際地圖結(jié)合。從圖4中可以看出對(duì)應(yīng)回波有船只,有島嶼,有建筑物等,很好地反映了實(shí)際的情況,從而也說(shuō)明達(dá)到了實(shí)時(shí)的要求。
本文通過(guò)對(duì)游程編碼、霍夫曼編碼以及LZW字典查詢編碼的理解和編程實(shí)現(xiàn),用實(shí)際雷達(dá)數(shù)據(jù)進(jìn)行壓縮效果的驗(yàn)證,分析比較了三種編碼算法的特點(diǎn)及壓縮效果。
游程編碼原理比較簡(jiǎn)單,算法實(shí)現(xiàn)也較容易,主要針對(duì)重復(fù)性高的數(shù)據(jù)。對(duì)于實(shí)際雷達(dá)數(shù)據(jù),在為經(jīng)過(guò)處理前壓縮效果很差,壓縮時(shí)間也很長(zhǎng),經(jīng)過(guò)簡(jiǎn)單預(yù)處理之后壓縮時(shí)間縮短,壓縮比提高,壓縮效果有改善,但還是不能達(dá)到很好的效果。
霍夫曼編碼利用統(tǒng)計(jì)編碼原理,原理也較簡(jiǎn)單,但算法實(shí)現(xiàn)比較麻煩,需要先作字符統(tǒng)計(jì),再進(jìn)行重新編碼,工作量較大,壓縮時(shí)間也較長(zhǎng),但壓縮比有所提高,總體的壓縮效果相對(duì)于游程編碼來(lái)講有所改善。
LZW字典查詢編碼是不同于游程編碼和霍夫曼編碼的一種編碼方式,算法原理較復(fù)雜,算法實(shí)現(xiàn)也較難,通過(guò)改變字典查詢方式,引入哈希函數(shù)進(jìn)行查找,進(jìn)一步提高壓縮比和壓縮效率。
三種算法各有各的優(yōu)點(diǎn)和不足,在實(shí)際應(yīng)用中,考慮到硬件電路設(shè)計(jì)和軟件編程實(shí)現(xiàn),選擇合適的算法進(jìn)行壓縮,達(dá)到數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性要求。
[1]龔少軍.雷達(dá)視頻采集處理卡應(yīng)用[J].上海海事大學(xué)學(xué)報(bào),2007,28(2):33-38.
[2]劉冰.游程長(zhǎng)度編碼算法的研究[J].天津理工學(xué)院學(xué)報(bào),2001,17(4):77-81.
[3]蔡春梅.關(guān)于游程編碼的編碼方法探究[J].科技傳播,2013(4):175.
[4]韓菲.基于雷達(dá)視頻的Huffman編碼研究[J].艦船電子工程,2004,24(1):68-71.
[5]陳世海.基于FPGA的數(shù)據(jù)采集及壓縮系統(tǒng)設(shè)計(jì)[D].太原:中北大學(xué),2010.
[6]崔業(yè)勤,劉玉貴.基于LZW的多模式自適應(yīng)的無(wú)損壓縮算法[J].微電子學(xué)與計(jì)算機(jī),2005,22(3):99-101.
[7]王育民,李暉.信息論與編碼理論[M].北京:高等教育出版社,2005.
[8]王智.LZW字典壓縮改進(jìn)算法研究及FPGA硬件實(shí)現(xiàn)[D].南京:南京師范大學(xué),2012.
[9]王志剛,常傳文,茅文深.LZW算法優(yōu)化及在雷達(dá)數(shù)據(jù)壓縮中的應(yīng)用[J].計(jì)算機(jī)與數(shù)字工程,2009,37(1):32-34.
[10]常傳文,茅文深.雷達(dá)數(shù)據(jù)無(wú)損壓縮研究[J].艦船電子工程,2008(4):103-106.
[11]劉林.基于LZW優(yōu)化算法的雷達(dá)數(shù)據(jù)壓縮技術(shù)[J].艦船科學(xué)技術(shù),2015,37(11):120-123.
[12]Trappe W,Washington L C.Introduction to cryptography with coding theory[M].Pearson Education India,2006.
[13]馮振.基于LZW的數(shù)據(jù)壓縮硬件系統(tǒng)設(shè)計(jì)[D].荊州:長(zhǎng)江大學(xué),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日
陳朝暉,男,工程師,研究方向:電子對(duì)抗和預(yù)警探測(cè)。宋洪良,男,碩士,研究方向:雷達(dá)探測(cè)技術(shù)。唐小明,男,博士,副教授,研究方向:信號(hào)檢測(cè)、估計(jì)和目標(biāo)識(shí)別。
TN967.7;V243DOI:10.3969/j.issn.1672-9730.2016.09.015