董 俊, 蒲秀英, 劉東平, 姬厚濤
(1.電子信息系統(tǒng)復(fù)雜電磁環(huán)境效應(yīng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,河南洛陽(yáng) 471003;2.中國(guó)人民解放軍63898部隊(duì),河南 濟(jì)源 454650)
數(shù)據(jù)鏈?zhǔn)堑乜胀ㄐ畔到y(tǒng)的重要組成部分,主要完成空中偵察信息的下行傳輸分發(fā)、地面信息上行傳輸、中繼信息的轉(zhuǎn)發(fā)等信息無(wú)線傳輸任務(wù)。其主要特點(diǎn)如下。
1)通信速率高、帶寬大,要求能夠?qū)崟r(shí)傳輸可見(jiàn)光、紅外和SAR雷達(dá)偵察圖像信息,能夠近實(shí)時(shí)傳輸大幅面、高清晰度的圖片信息,一般要求傳輸速率大于10 M(在信息不壓縮情況下)。
2)通信信道質(zhì)量差,通信可靠性要求高??罩衅脚_(tái)飛行距離遠(yuǎn),無(wú)線信道變化大,既有平原,又有丘陵高山,還有城市,不同的地形對(duì)于數(shù)據(jù)鏈無(wú)線信道都具有較大影響,同時(shí)為了完成作戰(zhàn)任務(wù),要求數(shù)據(jù)鏈不能中斷,具有10-5以下的誤碼率。
3)信息傳輸種類多,既有點(diǎn)對(duì)點(diǎn)通信,也有一點(diǎn)對(duì)多點(diǎn)廣播式通信,還有網(wǎng)絡(luò)模式通信。為了在保證傳輸可靠性的條件下提高傳輸效率,要求信道質(zhì)量好時(shí),可以采取簡(jiǎn)單編碼或不編碼;而信道質(zhì)量較差時(shí),就需要采取較為復(fù)雜的編碼方式,以提高檢錯(cuò)、糾錯(cuò)能力。顯然,前向糾錯(cuò)的信道編碼方法,很難同時(shí)滿足不同信道質(zhì)量的傳輸要求,同時(shí)也不適應(yīng)地空數(shù)據(jù)鏈廣播式和網(wǎng)絡(luò)化傳輸?shù)囊蟆?/p>
計(jì)算機(jī)網(wǎng)絡(luò)是一種典型的BEC(Binary Erasure Channel),該模式能夠保證不同信道質(zhì)量條件下都能夠?qū)崿F(xiàn)可靠、高效的傳輸,特別適合廣播式和網(wǎng)絡(luò)化傳輸,但這種模式降低了數(shù)據(jù)傳輸效率、通信實(shí)時(shí)性差,難于滿足地空數(shù)據(jù)鏈數(shù)據(jù)傳輸實(shí)時(shí)性要求。為了提高該類信道大宗量數(shù)據(jù)傳輸?shù)男屎蛯?shí)時(shí)性,本文提出了將重復(fù)累加碼與噴泉碼級(jí)聯(lián)的方法。
噴泉碼適合在BEC信道條件下廣播式傳輸大宗量數(shù)據(jù),具有效率高、可靠性好、編解算法簡(jiǎn)捷且容易用硬件實(shí)現(xiàn)等特點(diǎn)。Michael Luby在2002年[1]提出了數(shù)字噴泉碼-LT碼,實(shí)現(xiàn)服務(wù)器與多個(gè)用戶端之間高效、可靠的數(shù)據(jù)傳輸,在實(shí)際應(yīng)用中取得了良好效果,數(shù)據(jù)傳輸效率提高了90%[2]。噴泉碼是一種低密度產(chǎn)生矩陣(Low Density Generator Matrix,LDGM)碼,其解碼過(guò)程也是基于置信傳播的算法[3],這些與LDPC碼具有很多相似之處,同樣也面臨著“差錯(cuò)底線”問(wèn)題。
噴泉碼的編解碼過(guò)程可以比喻為噴泉噴射出無(wú)盡的水滴一樣,每一個(gè)水滴可以看作為已編碼的二進(jìn)制數(shù)據(jù)包,長(zhǎng)度為L(zhǎng),數(shù)據(jù)傳輸?shù)倪^(guò)程如同噴泉噴發(fā)的過(guò)程,每一個(gè)接收者如同拿著一個(gè)桶在噴泉下面接水,只要接到的水滴足夠多(大于K),就可以恢復(fù)原有的噴泉。
LT碼是一種隨機(jī)線性的低密度數(shù)字噴泉碼,具有編解碼算法簡(jiǎn)單、性能優(yōu)越的特點(diǎn)。其編碼過(guò)程分為3步[4]:1)從度分布函數(shù)ρ(d)中隨機(jī)選擇度dn,ρ(d)分布函數(shù)與源數(shù)據(jù)包的數(shù)目K有關(guān);2)隨機(jī)選取(不重復(fù))dn個(gè)源數(shù)據(jù)包;3)對(duì)這些數(shù)據(jù)包按位進(jìn)行模2加,形成編碼數(shù)據(jù)包tn。如果平均度d-遠(yuǎn)遠(yuǎn)小于源數(shù)據(jù)包個(gè)數(shù)K,那么LT編碼過(guò)程就構(gòu)成了稀疏的產(chǎn)生矩陣。圖1所示為編碼過(guò)程的Tanner圖。
圖1 LT碼的編碼Tanner圖Fig.1 The encoding Tanner graph of LT code
假設(shè)接收到的數(shù)據(jù)包是{tn},并已知產(chǎn)生矩陣G,LT解碼過(guò)程主要有3步:1)找出這些數(shù)據(jù)包,要求這些數(shù)據(jù)包只與一個(gè)源數(shù)據(jù)包相連接,即sk=tn,如圖1中的s1;2)將sk與所有與之相連的編碼數(shù)據(jù)包tm進(jìn)行模2加,即當(dāng) Gmk=1時(shí),tm=tm+sk;3)除去所有編碼數(shù)據(jù)包中與源數(shù)據(jù)包sk連接的邊,即,使Gmk=0。重復(fù)以上3步,迭代直至解碼出所有的tn。
從LT碼的解碼過(guò)程可以看出,為了保證解碼過(guò)程的順利進(jìn)行,解碼過(guò)程中的每一階段,必須保證存在度為1的接收數(shù)據(jù)包,否則,解碼過(guò)程將終止,此時(shí)不能實(shí)現(xiàn)正確解碼。為此,需要精心設(shè)計(jì)度分布函數(shù)ρ(d),以保證解碼的順利進(jìn)行。
從減小復(fù)雜性上考慮,希望平均度越小越好,但是為了保證解碼的順利完成,又要求每個(gè)接收數(shù)據(jù)包度在不斷減小的同時(shí),保證度為1的數(shù)據(jù)包的出現(xiàn)。為了滿足這種要求,本文采用改進(jìn)了的健壯孤波分布函數(shù)[1]
式中,ρ(d)為理想孤波分布函數(shù),其表達(dá)式為
式(1)中,ψ(d)為修正因子,用以保證在解碼的每次迭代過(guò)程中,存在度為1的編碼數(shù)據(jù)包,其表達(dá)式為
式中,S是度為1的編碼數(shù)據(jù)包期望的數(shù)目,其表達(dá)式為
c為0~1之間的常數(shù);δ為在接收到K'=KZ數(shù)據(jù)包后,解碼失敗的概率上界;Z為歸一化因子,其表達(dá)式為
重復(fù)累加(RA)碼也是一種低密度產(chǎn)生矩陣碼,編解碼實(shí)現(xiàn)簡(jiǎn)單,碼率控制方便,具有線性時(shí)間編碼復(fù)雜性,其性能不遜色于Turbo碼、LDPC碼。其編碼過(guò)程如圖2所示。
圖2 重復(fù)累加碼編碼圖Fig.2 The encoding graph of RA code
重復(fù)累加碼是在重復(fù)編碼的基礎(chǔ)上,級(jí)聯(lián)了一個(gè)模2累加器。假設(shè)輸入序列A是長(zhǎng)度為AL的二進(jìn)制序列,經(jīng)過(guò)P次重復(fù)編碼和交織后,得到序列B,其長(zhǎng)度為P·AL。序列B通過(guò)累加器,得到重復(fù)累加碼的校驗(yàn)碼序列D,其長(zhǎng)度為DL。序列D與序列B之間的關(guān)系可表示為
式中:DL=P·AL/Q,Q是累加器中參與累加的個(gè)數(shù),通過(guò)調(diào)節(jié)Q值,就可改變編碼率。碼率R=Q/(Q+P)。
重復(fù)累加碼的解碼采用置信傳播算法,在置信傳播解碼算法中,一個(gè)信息節(jié)點(diǎn)從與其相鄰信息節(jié)點(diǎn)中獲得額外信息,計(jì)算出新信息,并通過(guò)編碼約束方程將其傳播給與其相鄰的信息節(jié)點(diǎn)。通過(guò)多次迭代后,計(jì)算出后驗(yàn)概率,依據(jù)后驗(yàn)概率做出判決,完成解碼[5-6]。通過(guò)不斷迭代,明顯改善解碼效果。
噴泉碼能夠高效率地傳輸大宗量數(shù)據(jù),但只適用于BEC信道設(shè)計(jì),而地空通信的無(wú)線數(shù)據(jù)鏈信道可以等效為高斯白噪聲信道,難以將噴泉碼直接應(yīng)用其中。重復(fù)累加碼可以直接應(yīng)用于無(wú)線數(shù)據(jù)鏈信道編碼當(dāng)中,但影響傳輸效率,存在著傳輸可靠性與傳輸效率之間的矛盾。為此,本文將噴泉碼與重復(fù)累加碼進(jìn)行級(jí)聯(lián),其原理如圖3所示。
圖3 噴泉碼與重復(fù)累加碼級(jí)聯(lián)圖Fig.3 The concatenation graph of fountain code and RA code
在發(fā)送端,首先,將發(fā)送的信息經(jīng)過(guò)分包處理,構(gòu)成 K個(gè)數(shù)據(jù)包,分別是 s1,s2,…,sK,每個(gè)數(shù)據(jù)包長(zhǎng)度為L(zhǎng)。在每個(gè)時(shí)刻n,編碼器利用產(chǎn)生矩陣Gkn,隨機(jī)地從K個(gè)數(shù)據(jù)包中選擇若干數(shù)據(jù)包,按位進(jìn)行模2加,產(chǎn)生已編碼包tn,為
然后,對(duì)編碼后的數(shù)據(jù)包每包以重復(fù)累加碼進(jìn)行編碼,再逐包傳送到數(shù)據(jù)鏈等效信道上。
在接收端,首先,對(duì)接收的每個(gè)數(shù)據(jù)包按重復(fù)累加碼進(jìn)行解碼,如果數(shù)據(jù)包的解碼序列滿足重復(fù)累加碼的約束方程(6),可視為該數(shù)據(jù)包已正常接收,否則,認(rèn)為不能正常接收,該數(shù)據(jù)包完全丟失。
然后,對(duì)數(shù)據(jù)包通過(guò)噴泉碼解碼器進(jìn)行解碼。假設(shè)噴泉碼解碼器接收端接收到N個(gè)數(shù)據(jù)包,若N<K,就不可能恢復(fù)出原有發(fā)送的K個(gè)數(shù)據(jù)包;若N=K,假設(shè)接收端已知編碼矩陣,利用式(8)就有可能恢復(fù)出發(fā)送的K個(gè)數(shù)據(jù)包,條件是產(chǎn)生矩陣G的逆存在
由于G是隨機(jī)產(chǎn)生的,當(dāng)K>10時(shí),G-1存在的概率僅為0.289,所以,接收N=K個(gè)數(shù)據(jù)包時(shí),基本上難于保證恢復(fù)原有信息。當(dāng)N稍微大于K時(shí),N=K+E,此時(shí)不能正確解碼概率的上界為
當(dāng)K=10000時(shí),取 E=100,δ(E)非常小,為了保證發(fā)送的K個(gè)數(shù)據(jù)包都能夠準(zhǔn)確接收的概率為1-δ,要求接收的數(shù)據(jù)包的個(gè)數(shù)N應(yīng)當(dāng)滿足
從圖3中可以看出,按此編解碼規(guī)則,重復(fù)累加碼編碼器、數(shù)據(jù)鏈等效信道、重復(fù)累加碼解碼器的級(jí)聯(lián)可以等效為BEC信道。
由于LT碼編解碼的運(yùn)算量與Kln K成正比,為了減小運(yùn)算量,需要降低平均度。但是降低平均度后,在編碼的過(guò)程中,源數(shù)據(jù)包之間的聯(lián)系減少,沒(méi)有參與編碼的數(shù)據(jù)包將增加,影響解碼的正確率。為了解決這個(gè)矛盾,本文運(yùn)用了猛禽(Raptor)碼。猛禽碼是對(duì)LT碼的改進(jìn),它是將K個(gè)源數(shù)據(jù)首先進(jìn)行預(yù)編碼,產(chǎn)生K~個(gè)數(shù)據(jù)包,然后再對(duì)K~個(gè)數(shù)據(jù)包進(jìn)行LT編碼,此時(shí),平均度可以選擇的很小,一般取為3。與LT碼不同,猛禽碼編解碼運(yùn)算量與源數(shù)據(jù)包的個(gè)數(shù)成正比[7-8]。
本文將數(shù)字噴泉碼-猛禽碼與重復(fù)累加碼的級(jí)聯(lián)方法應(yīng)用到地空數(shù)據(jù)鏈當(dāng)中,數(shù)據(jù)鏈信制方式為BPSK,等效信道為高斯白噪聲[9-10]。
首先對(duì)空中拍攝的數(shù)字視頻圖像壓縮,然后對(duì)圖像數(shù)據(jù)流按幀進(jìn)行編碼,在接收端對(duì)數(shù)據(jù)流進(jìn)行解碼、解壓縮。編碼時(shí),每10000幀進(jìn)行猛禽編碼,其中預(yù)編碼的方式為:每20個(gè)幀進(jìn)行模2加,得到額外的500個(gè)校驗(yàn)幀,此時(shí)進(jìn)入LT編碼的幀個(gè)數(shù)為10500個(gè)。經(jīng)過(guò)LT編碼后,產(chǎn)生12000個(gè)數(shù)據(jù)幀,LT編碼的重疊率為14%,編碼率為0.875,最大度為103,平均度為10.2??梢运愠觯颓荽a的編碼率為0.83,重復(fù)累加碼編碼率分別為9/10和2/3。重復(fù)累加碼與猛禽碼級(jí)聯(lián)后的編碼率分別為0.75 和 0.55。
解碼時(shí),首先進(jìn)行RA解碼,考慮解碼性能和運(yùn)算量的折中,RA碼解碼時(shí)的迭代次數(shù)選為5,然后進(jìn)行猛禽碼的解碼,猛禽碼的解碼過(guò)程為先進(jìn)行LT解碼,再進(jìn)行LT預(yù)編碼的解碼。
圖4所示猛禽碼和LT碼分別與RA碼級(jí)聯(lián)以及單獨(dú)使用RA碼進(jìn)行信道編碼后,數(shù)據(jù)鏈信道的誤幀率(每一幀看作一個(gè)字)隨信噪比的變化情況。
圖4 級(jí)聯(lián)碼率為0.75,不同幀長(zhǎng)度誤幀率隨信噪比變化圖Fig.4 Change of error rate of different length frames with SNR at concatenated rate of 0.75
其中,圖4a~圖4c分別表示數(shù)據(jù)幀長(zhǎng)度為900、1800、3600字節(jié)的情況。圖中:RA碼曲線表示地空數(shù)據(jù)鏈信道單獨(dú)使用重復(fù)累加碼進(jìn)行信道編碼時(shí),信道誤幀率隨信噪比的變化,其中RA碼率為9/10;LT碼曲線表示利用LT碼與重復(fù)累加碼級(jí)聯(lián)進(jìn)行信道編碼時(shí),數(shù)據(jù)鏈信道誤幀率隨信噪比的變化;猛禽碼曲線表示利用猛禽碼與重復(fù)累加碼級(jí)聯(lián)進(jìn)行信道編碼時(shí),數(shù)據(jù)鏈信道誤幀率隨信噪比的變化。
圖5所示內(nèi)容與圖4基本相同,只是重復(fù)累加碼的碼率與圖4中的不同,從9/10改為2/3。從圖5中可以看出:通過(guò)將噴泉碼與重復(fù)累加碼級(jí)聯(lián),比單純使用RA碼的通信效果有明顯改善。從圖4中看出,在RA碼的碼率為9/10,LT碼與RA碼級(jí)聯(lián)的編碼率為0.79,猛禽碼與RA碼級(jí)聯(lián)的編碼率為0.75的條件下,為達(dá)到誤幀率為10-4時(shí),LT碼和猛禽碼與RA碼的級(jí)聯(lián)編碼需要的數(shù)據(jù)鏈信道信噪比為5 dB,而RA碼則要求信噪比大于7 dB,也就是說(shuō)通過(guò)級(jí)聯(lián)改善了2 dB。為達(dá)到誤幀率為10-6時(shí),猛禽碼與RA碼的級(jí)聯(lián)編碼需要的信道信噪比為5dB,而RA碼則要求信噪比大于8 dB,也就是說(shuō)改善了3 dB。LT碼和猛禽碼與RA碼的級(jí)聯(lián)編碼不能達(dá)10-6的誤幀率,這是因?yàn)樵贚T碼的編碼過(guò)程中,為了減少運(yùn)算量,選擇的平均度較小,造成數(shù)據(jù)幀之間關(guān)聯(lián)性減小,限制了誤幀率的進(jìn)一步降低。相反,猛禽碼由于在LT碼的基礎(chǔ)上增加了預(yù)編碼,保證每個(gè)數(shù)據(jù)幀都至少與其他19個(gè)數(shù)據(jù)幀的關(guān)聯(lián),在解碼時(shí),幀之間可進(jìn)行解碼信息的相互輔助,實(shí)現(xiàn)較低的誤幀率。為了降低LT碼與RA碼的級(jí)聯(lián)編碼的誤幀率,需要增大平均度,但同時(shí)也增加了編解碼的復(fù)雜性。
圖5 級(jí)聯(lián)碼率為0.55,不同幀長(zhǎng)度誤幀率隨信噪比變化圖Fig.5 Change of error rate of different length frames with SNR at concatenated rate of 0.55
圖5中,RA碼的碼率為2/3,LT碼與RA碼級(jí)聯(lián)的編碼率為0.58,猛禽碼與RA碼級(jí)聯(lián)的編碼率為0.55。為達(dá)到誤幀率為10-4時(shí),LT碼和猛禽碼與RA碼的級(jí)聯(lián)編碼需要的信道信噪比小于4.2 dB,而RA碼則要求信噪比為5.5 dB,也就是說(shuō)通過(guò)級(jí)聯(lián)改善了1.3 dB。為達(dá)到誤幀率為10-6時(shí),猛禽碼與RA碼的級(jí)聯(lián)編碼需要的信道信噪比為4.5 dB,而RA碼則要求信噪比大于6 dB,也就是說(shuō)改善了1.5 dB。同樣,LT碼和猛禽碼與RA碼的級(jí)聯(lián)編碼不能達(dá)10-6的誤幀率。同時(shí)看出,隨著RA碼編碼率的降低,級(jí)聯(lián)編碼的改善效果降低了,這是因?yàn)?,RA碼編碼率的降低使得RA碼糾錯(cuò)能力加強(qiáng),級(jí)聯(lián)編碼的改善效果也就降低了。
將圖4中的猛禽碼和RA碼級(jí)聯(lián)的編碼與圖5的單純的RA編碼進(jìn)行比較,此時(shí)級(jí)聯(lián)編碼的碼率為0.75,而RA碼的碼率為2/3。為達(dá)到誤幀率為10-6時(shí),級(jí)聯(lián)編碼需要的信噪比為4.7 dB,而RA碼需要5.6 dB,改善約0.9 dB。為達(dá)到誤幀率為10-6時(shí),級(jí)聯(lián)編碼需要的信噪比為5 dB,而RA碼需要大于6 dB,最少改善約1 dB。而且隨著幀長(zhǎng)度的增加,改善效果愈明顯。此外,從圖4、圖5看出,幀長(zhǎng)度的變化對(duì)誤幀率的影響不大。
從研究結(jié)果中可看出,利用猛禽碼與RA碼的級(jí)聯(lián)編碼,可明顯提高地空數(shù)據(jù)鏈數(shù)據(jù)傳輸?shù)目煽啃?,而且適合地空通信數(shù)據(jù)鏈網(wǎng)絡(luò)化、廣播式信息傳輸?shù)男枰?/p>
[1] LUBY M .LT code[C]//The 43rd Annual IEEE Symposiumon Foundations of Computer Science,2002:271-280.
[2] MACKAY D J C.Fountain codes[C]//Proceeding of Conference on Modern Coding ,Cambridge University,2005:368-371.
[3] PALANKI R,YEDIDIA J S.Rateless codes on noisy channels[C]//Proceeding of the 38th Annual Conference on Information Science and Systems,Peinceton NJ,March 2004:85-91.
[4] 楊軍,茹樂(lè),杜興民,等.RS-LT級(jí)聯(lián)碼在無(wú)線圖像傳輸中的應(yīng)用[J].無(wú)線電工程,2007,37(10):47-49.
[5] GUEMGHAR S.Advanced coding techniques and applications to CDMA[D].Telecom Paris(ENST)Institute Eurecom,2004.
[6] 陳自力,孫錦濤,江濤,等.RA碼在無(wú)人機(jī)遙測(cè)遙控信道中的應(yīng)用[J].軍械工程學(xué)院學(xué)報(bào),2006,18(1):58-67.
[7] SHOKROLLAHI A.Raptor codes[R/OL][2011-11-16].http://www.inference.phy.cam.ac.uk/mackay/DFountain.html.
[8] 王衛(wèi)民,馬林華,畢篤彥,等.基于猛禽碼的級(jí)聯(lián)型不等錯(cuò)誤保護(hù)方法[J].系統(tǒng)工程與電子技術(shù),2011,33(7):1638-1642.
[9] 和欣,張曉林.機(jī)間數(shù)據(jù)鏈中級(jí)聯(lián)碼OFDM系統(tǒng)的抗干擾研究[J].電光與控制,2010,17(7):1-5.
[10] 林永照,吳成柯,劉薇.LT碼-LDPC碼級(jí)聯(lián)方案在深空通信中的應(yīng)用[J].電子與信息學(xué)報(bào),2010,32(8):1898-1903.