趙大恒,李旭東,李春祎
(1.中國電子科技集團公司第五十四研究所,河北 石家莊 050081;2.河北工業職業技術學院,河北 石家莊 050091)
LT碼在深空通信中的應用研究
趙大恒1,李旭東1,李春祎2
(1.中國電子科技集團公司第五十四研究所,河北 石家莊 050081;2.河北工業職業技術學院,河北 石家莊 050091)
深空通信具有時延長、誤碼率大、鏈路易中斷等特點,鏈路中斷將導致數據不可恢復的丟失。針對深空通信誤碼率大、數據易丟失等特點,對LT(Luby Transform)碼與LDPC/TPC碼的級聯進行了研究,描述了噴泉碼的原理和主要實現方法,給出了LT碼與LDPC/TPC碼的級聯方法及Matlab仿真分析結果,實現了LT碼與LDPC/TPC碼的級聯編解碼,并通過設計閃斷試驗測試了級聯碼的性能,給出了分析結果,以期為深空通信數據的獲得提供更為可靠的解決方案。
深空通信;LT碼;LDPC/TPC碼
在深空通信領域,面臨數據傳輸延遲大,接收信號弱、通信鏈路易中斷、數據易丟失等問題。為了在低信噪比條件下準確恢復出信息,有必要采用信道編碼技術。因此在航天測控和衛星通信領域,信道編碼是關鍵技術之一。
LT(Luby Transform)碼[1]技術是一種專門針對數據散亂時的完整數據恢復技術,LT碼具有不需要反饋信道,只需單向鏈路的特點,使其不需頻繁的重傳和確認過程,能夠提高傳輸效率和可靠性。
文獻[1]詳細論述了LT碼的原理及用于數據恢復的方法;文獻[2-4]介紹了深空通信信道的高斯白噪聲特性,用編解碼技術降低了獲得數據的誤碼率;文獻[5]論證了LT碼與LDPC/TPC級聯用于深空通信的可行性。本文展開對LT碼與LDPC/TPC級聯編解碼技術的研究,對級聯碼進行了仿真及實現,對深空通信數據的更為可靠獲得進行了探索。
1.1 數字噴泉與數字噴泉碼
1998年,Luby等首次提出了用于分布數據的數字噴泉[6](Digital Fountain)技術,一個數字噴泉具有類似于水噴泉的特性:當你在水噴泉下給水杯接水時,你只想接到足夠量的水來解渴,而不必關心是哪一點水流入你的杯中。類似地,借助數字噴泉編碼技術一個接收端從一個或多個發射端接收編碼包,一旦收到足夠的編碼包,那么該接收端就可以重構原文件。而具體接收到編碼包序列中的哪些編碼包卻并沒有關系。一個理想數字噴泉應該具有如下特性[7]:①一個源能夠利用原數據產生無限編碼包序列;②對于被分割為k個數據包的一消息,一旦接收到編碼包流中任意k個編碼包,接收者就能夠重構這一消息,這種重構算法應該非???。
數字噴泉可通過放松如下的一些要求來近似實現:①發送者編碼后的編碼包數可以是有限的;②編譯碼算法可以慢一些;③接收者為了重構原消息而需要接收的編碼包數目可略大于原數據包數目k。
目前提出的噴泉碼主要有3種Random Linear Fountain(隨機線性噴泉碼)、LT Code和Raptor Code。
1.2 LT碼原理
LT碼是第一個將數字噴泉的概念全面實現的碼字,稱為通用刪除碼。LT碼是無碼率傳輸的,完全符合噴泉編碼的概念。只要接收到數據包的數目比信源數目稍多就可將數據恢復出來,這就是說LT碼對任何刪除信道均是逼近最優的。
1.2.1 LT Code度分布
LT碼是噴泉碼中的一種編碼方式,度分布是影響性能的關鍵[8]。一個好的度分布能夠讓接收端用盡可能少的編碼分組恢復出所有的原始數據分組,因此,尋求一個好的度分布對LT碼來講至關重要。
定義:LT碼的度d:每個碼字都是由幾個原數據包按位異或得到的,而生成該碼字所用的原數據包的個數叫做度。
例如圖1(b),編碼節點T1與S1、S2相連,所以T1度為2,同理T2度為3,T3度為2,T4度為1。
1.2.2 LT碼編譯碼
LT編碼[9]流程如圖1所示。

圖1 LT編碼過程示意圖
假定原文件由若干數據包組成,按照一定的概率分布ρ(d)從原文件數據包中得到若干數據包,并將他們逐位異或運算,得到一個新的數據包,依此類推。其步驟是:
①按照概率分布ρ(d)隨機選取一個d值,一個好的階的分布ρ(d)的設計和分析將是LT碼性能的關鍵;
②從原數據包s1,s2,…sK中選取s^1,s^2,…s^d作為“鄰居”;
③將選出的數據包逐位異或運算得到新數據包Ti,d值確定了與Ti連接邊的條數。
圖2是譯碼過程示意圖,各分圖中上面3個結點是數據包節點,下面是4個編碼后的碼字。圖中的碼字T為1011,具體譯碼過程如下:
①尋找接收碼字中度為1的碼字Tn。圖2中的第2個輸出節點,即碼字T2為0。如果沒有這樣度為1的輸出節點,那么接收方繼續接收碼字,直到接收到度為1的碼字為止;
②由編碼原理可知,節點度數為1的碼字與他的“鄰居”Sk是相等的,圖2中S2=T2=0;
③對于其他的與輸入節點Sk相連的輸出節點Ti(i≠n),有Ti=Sk⊕Ti;
④將與Sk相連的所有邊刪除;
⑤重復步驟①至④,如果所有的Si都已恢復出來,則原文件也就能夠成功地恢復了,否則譯碼失敗。

圖2 LT譯碼過程示意圖


圖3 譯碼失敗概率與譯碼開銷關系圖
由圖3可以看出,當k=10 000時,譯碼開銷在0.27(接收端接收到11 430個編碼包)以上時,在1 000次的編譯碼實驗中解碼失敗概率為0,可見LT碼是一種優秀的數據恢復算法。由LT碼的度分布,可知源碼包個數k的大小也是影響譯碼是否成功的關鍵因素。圖3顯示了k與譯碼開銷的關系,當k=1 000時,譯碼開銷為0.4才能夠使譯碼失敗概率是1%,這是非常大的。然而,隨著k值增大,譯碼開銷減小得很快,當k=10 000時,譯碼開銷為0.27就可以成功譯碼了。因此LT碼非常適合大容量數據的可靠傳輸。
2.1 LT碼與TPC/LDPC級聯方法
LT碼是一種以刪除信道為背景的編碼,目前在Internet通信中典型的刪除信道中得到應用,但是在非刪除信道中,這種傳統的LT碼就無法使用了。深空通信過程中有很強的干擾,而LT碼不具有抗干擾、抗誤碼性,假如在深空通信中單獨用LT碼進行數據恢復,由于LT碼解碼特性,將使誤碼率非常高。為了實現了LT碼在深空通信信道中對數據的恢復應用,提出了利用TPC/LDPC[10]碼的LT—TPC/LDPC這種級聯碼的編譯碼方法。
該級聯碼的編譯碼系統框圖如圖4所示。以噴泉碼為外碼,TPC/LDPC碼為內碼,既能解決丟包問題,又能解決誤碼問題。TCP/LDPC編碼器、無線信道、TPC/LDPC譯碼器可以看作是一個虛擬的刪除信道,對于每一個編碼分組,TCP/LDPC譯碼成功,則接收該編碼分組;否則,丟失該編碼分組。通過噴泉譯碼,恢復原始數據分組。

圖4 TPC/LDPC碼與噴泉碼的級聯碼系統
2.2 LT碼與TPC級聯Matlab仿真實驗
實驗條件:發送端每幀數據長度為676,對500幀數據進行幀間LT編碼,經LT編碼后每幀長度不變,幀數變為750幀。然后對這750幀數據進行幀內TPC編碼,經TPC編碼后每幀長度變為1 024,幀數仍為750。通過信噪比分別為2.4、2.8、3、3.2、3.4 dB的信道。接收端先進行幀內TPC解碼,然后進行幀間LT解碼,恢復數據。圖5為誤碼率與信噪比關系圖。

圖5 誤碼率與信噪比關系圖
從圖5可以看出,在Eb/N0為3.2dB和3.4 dB時LT-TPC級聯碼誤碼率為10-4,編碼增益約為5 dB,可見級聯碼具有良好的編碼增益。
這部分是對LT-TPC/LDPC級聯碼進行工程實現,研究該級聯碼的真實性能。在試驗過程中,用2臺工控機,一臺模擬發端,一臺模擬收端,進行2項實驗:①LT碼與糾錯編碼結合性能測試試驗;②模擬信道通斷,測試LT-TPC/LDPC級聯碼對數據的恢復性能。
3.1 LT碼與糾錯編碼結合性能測試試驗
試驗框圖如圖6所示。

圖6 LT-TPC/LDPC碼性能測試試驗框圖
試驗條件:
①2臺工控機,分別模擬發端、收端;
②源碼與分包:計算機隨機產生;
③噴泉碼形式:LT編碼;
④糾錯編碼:TPC(采用(64,57)線性分組子碼編碼)或LDPC碼(1 024信息位1/2碼率編碼);
⑤碼速率:2 Mbps(編碼后);
⑥調制方式:FM(調頻體制);
⑦調制中頻:70 MHz;
⑧解調方式:FM+多符號檢測。
試驗數據共有3組:
①源碼長度為488 000 bit(500?976),通過LT編碼,分成900包的數據,每包數據長度為976;
②源碼長度為324 900 bit(100?3 249),通過LT編碼,分成300包數據(300?3 249),再經過TPC編碼(300?4 128),每包數據長度為4 128;
③源碼長度為102 400 bit(100?1 024),通過LT編碼,分成300包數據(300?1 024),通過LDPC編碼(100?2 080),每包數據長度為2 080;
測試結果如表1所示。

表1 誤碼率測試結果
由表1可以看出,噴泉碼能夠解決數據幀丟失問題,但是其本身不具備糾錯能力,相反還可能將誤碼擴散。最佳的使用噴泉碼的方法是對每幀數據進行無誤效驗,然后使用無差錯幀進行噴泉譯碼。
3.2 信道通斷性能測試
該試驗模擬深空通信中的通信鏈路閃斷情況,試驗框圖如圖7所示。

圖7 信道通斷性能測試試驗框圖
在信道上加上通斷開關設計,采用周期為0.5 s,通的時間0.2~0.5 s,每0.01 s可變。
與3.1節數據1相同,發送端發送一組LT碼,以900幀為循環。試驗結果如表2所示。

表2 信道通斷性能測試
由表2可以看出,當信號通過時間為400 800 μs,意味著由于斷續而實際丟棄了100包左右的數據,此時可以完全譯碼。丟棄包數再多,就會造成譯碼不完全。與理論值丟棄150包有一定的差距。這個差距來自信號斷續重捕所帶來的影響。
在深空通信信道中,采用內碼為TPC/LDPC碼,外碼為LT碼的級聯碼編譯碼方式,有效地解決了信號閃斷導致數據丟失后的數據恢復問題,但由于使用了LT碼,降低了碼傳輸效率碼率,增大了誤碼率。如何提高碼的傳輸效率,進一步減小誤碼率是LT-TPC/LDPC級聯碼有待解決的問題。
[1]Luby M.LT Codes[C]∥Proceedings of the 43rd Annual IEEE Symposium Foundations of Computer Science,2002:271-282.
[2]高自新,吳新華.無線衰落信道的空時編碼技術研究[J].無線電通信技術,2011,37(1):30-33.
[3]翟政安,羅 倫,時信華.深空通信信道編譯碼技術研究[J].飛行器測控學報,2005,24(3):1-5.
[4]雷 婷,張建志.LDPC編譯碼算法分析[J].無線電工程,2012,42(10):8-9,26.
[5]李 暉,姚文頂,陳立甲,等.深空通信中噴泉碼技術研究[J].系統工程與電子技術,2009,31(1):40-44.
[6]慕建君,焦曉鵬,曹訓志.數字噴泉碼及其應用的研究進展與展望[J].電子學報,2009,37(7):1571-1577.
[7]Mackay D J C.Fountain Codes[R].Cavendish Laboratory,University of Cambridge,1998:1-2.
[8]雷維嘉,謝顯中,李廣軍.釆用數字噴泉碼的無線協作中繼方案及其性能分析[J].電子學報,2010,38(1):228-233.
[9]朱宏鵬,張更新,謝智東.噴泉碼中LT碼的次優度分布[J].應用科學學報,2009,27(1):36-41.
[10]石玉景,李素珍.一種新的LDPC譯碼終止條件技術分析[J].無線電通信技術,2011,37(1):24-26.
Research on Application of LT Code in Deep Space Communications
ZHAO Da-heng1,LI Xu-dong1,LI Chun-yi2
(1.The 54th Research Institute of CETC,Shijiazhuang Hebei 050081,China;2.Hebei College of Industry and Technology,Shijiazhuang Hebei 050091,China)
Considering the issues such as long delay,high code error rate and easily broken links in deep space communications,the concatenation of LT code and LDPC/TPC code is studied and implemented,the principle of LT code and the main implementation method are introduced.The method of LT code concatenating with LDPC/TPC code and the Matlab simulation results are given,which is expected to provide more reliable solution for the acquisition of deep space communications data.
deep space communications;LT code;LDPC/TPC code
TP391.4
A
1003-3114(2015)06-92-5
10.3969/j.issn.1003-3114.2015.06.24
趙大恒,李旭東,李春祎.LT碼在深空通信中的應用研究[J].無線電通信技術,2015,41(6):92-96.
2015-06-22
國家部委基金資助項目
趙大恒(1984—),男,工程師,主要研究方向:糾錯編碼、擴頻通信。