摘 要:在分析Turbo 乘積碼的基本編譯碼原理的基礎(chǔ)上,比較了未編碼與編碼后系統(tǒng)的差錯(cuò)性能,研究了選取不同分量碼、不同迭代次數(shù)對(duì)TPC譯碼性能的影響。在不同迭代次數(shù)與分量碼情況下,進(jìn)行了仿真實(shí)驗(yàn)。仿真實(shí)驗(yàn)表明,在相同的差錯(cuò)性能條件下,采用TPC碼能帶來(lái)5~6 dB的編碼增益。TPC譯碼算法簡(jiǎn)單,沒(méi)有錯(cuò)誤平層,硬件實(shí)現(xiàn)復(fù)雜度較小,是一種非常實(shí)用的信道編碼方式。
關(guān)鍵詞:糾錯(cuò)碼;香農(nóng)極限;Turbo乘積碼;迭代譯碼
中圖分類號(hào):TN911 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1004373X(2008)1502103
Turbo Product Code Technology and Its Performance Analysis
XU Jianwu,WANG Hongxing,HU Hao
(Naval Aeronautical Engineering Institute,Yantai,264001,China)
Abstract:This paper analyses the basic principle of TPC,compares the error performance in the system which has been applied with TPC with the uncoded system,studies the influences which different block codes and iterative numbers to TPC decode performance.under the circumstances of different iteration numbers and block codes,experiment simulation is carried on.The simulation results indicate that introduction of TPC can get the code gain of 5~6 dB.TPC decoding algorithm is simple,and doesn′t have the error floor,the complexity of its hardware implementation is smaller,it is a kind of practical channel coding method.
Keywords:error correcting code;Shannon limit;Turbo product code;iterative decode
1 引 言
通信信道中采用前向糾錯(cuò)碼(FEC)提高系統(tǒng)性能的能力取決于所選的碼字和信道的特征。所有的前向糾錯(cuò)碼其糾錯(cuò)能力都有一個(gè)理論上的極限值,如香農(nóng)極限值一樣[1]。對(duì)于給定碼率的情況下,香農(nóng)極限定義了最適宜的理論界線。任何糾錯(cuò)碼的性能不可能優(yōu)于香農(nóng)極限,而且隨著編碼性能接近香農(nóng)極限,系統(tǒng)實(shí)現(xiàn)的復(fù)雜度呈指數(shù)量級(jí)增長(zhǎng)。
1993年Berrou等人提出的Turbo碼在接近香農(nóng)極限的低信噪比下,仍然能夠獲得較低的誤碼率,從而使Turbo碼成為了編碼界的一個(gè)研究熱點(diǎn)。通常我們所說(shuō)的Turbo碼基本上都是講Turbo卷積碼[2](TCC)。它以卷積碼作為其分量碼,譯碼算法比較復(fù)雜,而且TCC存在錯(cuò)誤平層(error floor)。雖然通過(guò)增加系統(tǒng)復(fù)雜度,例如增大交織深度或者增大分組數(shù)據(jù)塊大小能減小錯(cuò)誤平層,但是這將極大地增加系統(tǒng)成本,增大延遲和功率消耗。1994年P(guān)yndiah提出了Turbo乘積碼(TPC)概念,并設(shè)計(jì)了可實(shí)現(xiàn)軟輸入軟輸出(SISO)迭代運(yùn)算的Chase譯碼算法。1998年他又在Chase譯碼算法的基礎(chǔ)上提出了一種線性分組碼的軟輸入軟輸出譯碼算法[3],并將之應(yīng)用于乘積碼子碼的譯碼,形成了Turbo乘積碼。TPC不存在錯(cuò)誤平層,譯碼相對(duì)簡(jiǎn)單且性能較好,在同樣的誤比特率下,與香農(nóng)極限之差只有1.1 dB。因此TPC是一種非常實(shí)用的信道編碼方式[4],并已開(kāi)始在各種通信系統(tǒng)中實(shí)現(xiàn)應(yīng)用。
2 基于TPC編譯碼的通信系統(tǒng)模型
在發(fā)送端,輸入數(shù)據(jù)經(jīng)過(guò)CRC編碼后送入TPC編碼器,編碼輸出經(jīng)過(guò)交織,調(diào)制后發(fā)射到信道,本文中交織方式采用螺旋交織,調(diào)制方式采用BPSK調(diào)制。接收端接收到來(lái)自信道的數(shù)據(jù),經(jīng)過(guò)解調(diào)、解交織后輸入到TPC譯碼器,再經(jīng)CRC驗(yàn)證后輸出。其中插入CRC比特的作用是,在迭代譯碼過(guò)程中,CRC比特能檢測(cè)驗(yàn)證當(dāng)前正在譯碼的數(shù)據(jù)是否已有效,如果數(shù)據(jù)正確,則停止迭代譯碼,從而減小譯碼時(shí)間。
3 TPC的編譯碼原理
乘積碼是一種多維陣列分組碼。其結(jié)構(gòu)可以用k1行和k2列的數(shù)據(jù)矩陣描述。k1行含有由k2信息比特和n2-k2校驗(yàn)比特組成的碼字,每k1行表示一個(gè)(n2,k2)碼的碼字。同樣,k2列含有由k1信息比特和n1-k1校驗(yàn)比特組成的碼字,每k2行表示一個(gè)(n1,k1)碼的碼字。用d表示數(shù)據(jù),ph(huán)表示平行校驗(yàn)位,pv表示垂直校驗(yàn)位。數(shù)據(jù)位與校驗(yàn)位之間的關(guān)系為:di⊕dj=pij,⊕表示模2加運(yùn)算??梢?jiàn),乘積碼的編碼過(guò)程包括兩個(gè)獨(dú)立的編碼步驟,即平行編碼和垂直編碼。此外,用Leh和Lev分別表示含有平行和和垂直譯碼所得到的非本征LLR。非本征LLR可以用來(lái)表示譯碼性能提高的改善量。
圖1 系統(tǒng)模型圖圖2 乘積碼結(jié)構(gòu)圖(二維)例如,圖3表示一個(gè)(8,4)×(8,4)的擴(kuò)展?jié)h明乘積碼。其中“D”代表數(shù)據(jù),“E”代表校驗(yàn)比特。
圖3 二維擴(kuò)展?jié)h明乘積碼TPC譯碼運(yùn)算法則采用迭代譯碼。對(duì)于乘積碼陣列,最理想的Turbo譯碼方法是利用軟判決相關(guān)譯碼方法對(duì)每一行進(jìn)行譯碼。行譯碼的輸出結(jié)果和原始數(shù)據(jù)一起作為另一個(gè)譯碼器的輸入對(duì)列進(jìn)行譯碼,譯碼過(guò)程也采用軟判決相關(guān)譯碼方法。列譯碼的輸出結(jié)果作為輸入反饋給行譯碼。這個(gè)迭代譯碼的過(guò)程一直這樣進(jìn)行,直到譯碼器得到了一個(gè)有效的發(fā)射碼字陣列,或者譯碼器達(dá)到了最大的迭代譯碼次數(shù)。具體過(guò)程如下:
每比特的最終譯碼判決及其可靠性取決于L(d∧)的值,利用方程:L(d∧)=Lc(x)+L(d)+Le(d∧)(1) 可以求解L(d∧),對(duì)于乘積碼,迭代譯碼算法的具體步驟如下:
(1) 設(shè)置先驗(yàn)LLRL(d)=0(假設(shè)0,1等概率出現(xiàn));
(2) 平行譯碼,由方程(1)求得水平外信息:Leh(d∧)=L(d∧)-Lc(x)-L(d) (3) 設(shè)置L(d∧)=Leh(d∧);
(4) 垂直譯碼,由方程(1)求得垂直外信息:Lev(d∧)=L(d∧)-Lc(x)-L(d) (5) 在步驟(2)的平行譯碼中設(shè)置L(d∧)=Lev(d∧),重復(fù)步驟(2)~(5);
(6) 多次迭代,直到得到可靠的判決;
(7) 最終軟輸出為:L(d∧)=Lc(x)+Leh(d∧)+Lev(d∧);
(8) 硬判決輸出:L(d∧)>0,判決為1;L(d∧)<0,判決為0。
在以上譯碼過(guò)程中,如果對(duì)碼字陣列的行和列采用全相關(guān)譯碼方式進(jìn)行譯碼的話,需要對(duì)接收到的軟判決數(shù)據(jù)與全部可能的發(fā)射碼字進(jìn)行比較,而可能的發(fā)射碼字有2k組。對(duì)于(8,4)碼,僅僅需要與16組發(fā)射碼字進(jìn)行比較。但是對(duì)于(64,57)碼,存在1.4×1017組發(fā)射碼字,這使得全相關(guān)譯碼難以實(shí)現(xiàn)。正是這些復(fù)雜問(wèn)題使得Turbo碼在以前的低成本硬件中難以實(shí)現(xiàn)。
AHA公司發(fā)明了一種能有效計(jì)算碼字之間的距離和產(chǎn)生軟輸出信息的方法。這個(gè)突破使得AHA公司在1997年成功開(kāi)發(fā)了第一塊用于商業(yè)的TPC編譯碼芯片AHA4501[5]。
4 Turbo乘積碼的性能分析
4.1 不同分量碼對(duì)TPC性能的影響
表1列舉了在AWGN環(huán)境下,未編碼數(shù)據(jù)速率為155 Mb/s,誤碼率為10-6時(shí),幾種常用的TPC分量碼及其編碼增益。并選取其中三種不同的分組碼作為TPC的分量碼,運(yùn)用Matlab軟件進(jìn)行了仿真實(shí)驗(yàn),并與未編碼系統(tǒng)的誤碼率進(jìn)行了比較。系統(tǒng)采用BPSK調(diào)制方式,具體仿真參數(shù)如表2,仿真結(jié)果如圖4所示。
表1 TPC分量碼及其編碼增益(迭代4次)
分量碼分組大小數(shù)據(jù)大小碼率編碼增益(128,127)×(64,62)8 1927 8740.9614.4(128,120)×(64,62)8 19274400.9085.5(64,57)×(64,57)4 0963 2490.7936.9(64,57)×(32,26)2 0481 4820.7247.2(32,26)×(32,26)1 0246760.6607.6
表2 系統(tǒng)仿真基本參數(shù)
系統(tǒng)參數(shù)系統(tǒng)取值分量碼(64,57)×(64,57)
(64,57)×(32,26)
(32,26)×(32,26)碼率0.793,0.724,0.660交織方式螺旋交織迭代次數(shù)8信道環(huán)境AWGN
圖4 不同分量碼的誤比特性能圖4中,紅、綠和藍(lán)線依次代表碼率為0.793、0.724和0.660碼字的譯碼性能曲線。仿真結(jié)果表明,采用TPC碼編碼,系統(tǒng)的誤碼率性能明顯優(yōu)于未編碼條件下的誤碼率性能。在相同誤碼率下,碼率低的碼字其誤碼率性能相對(duì)要好。在誤碼率為10-4 條件下,與未編碼相比,TPC碼的平均編碼增益為6 dB。碼率為0.724的碼字其編碼增益比碼率為0.793的碼字高0.2 dB,但是比碼率為0.660的碼字低0.3 dB。
4.2 不同迭代次數(shù)對(duì)TPC譯碼性能的影響
通過(guò)控制碼字陣列的迭代次數(shù)可以對(duì)數(shù)據(jù)傳輸速率和譯碼器的譯碼性能產(chǎn)生影響。本文在選取迭代次數(shù)分別為1,3,8,10次的情況下,運(yùn)用Matlab軟件進(jìn)行了仿真實(shí)驗(yàn),并與未編碼系統(tǒng)的誤碼率進(jìn)行了比較。系統(tǒng)采用BPSK調(diào)制方式,具體仿真參數(shù)見(jiàn)表3,仿真結(jié)果如圖5所示。
表3 系統(tǒng)仿真基本參數(shù)
系統(tǒng)參數(shù)系統(tǒng)取值分量碼(64,57)×(32,26)碼率0.724交織方式螺旋交織迭代次數(shù)1,3,8,10信道環(huán)境AWGN
圖5中紅,藍(lán),綠,粉紅線依次分別代表迭代次數(shù)為1,3,8,10時(shí)的性能曲線。仿真表明,在迭代次數(shù)比較小的情況下,增大迭代次數(shù)能極大地提高系統(tǒng)的譯碼性能,但是當(dāng)?shù)_(dá)到一定次數(shù)后(小信噪比下4~6次,大信噪比下10次),誤比特性能曲線趨于收斂重合,譯碼性能將不再改善。比如在誤碼率為10-4 條件下,迭代3次比迭代1次信噪比提高了1.5 dB,而比迭代8次低0.8 dB。迭代10次與迭代8次的誤碼率性能基本一樣。
圖5 不同迭代次數(shù)的誤比特性能在工程實(shí)現(xiàn)中,對(duì)于噪聲比較大的應(yīng)用場(chǎng)合,可以通過(guò)提高譯碼次數(shù)來(lái)達(dá)到好的誤比特性能[6]。而對(duì)于在給定譯碼次數(shù)的條件下,可以通過(guò)調(diào)整迭代譯碼之間的反饋量來(lái)改善系統(tǒng)譯碼性能。此外,在譯碼進(jìn)行過(guò)程中,譯碼算法還允許譯碼器對(duì)正在譯碼的數(shù)據(jù)進(jìn)行檢測(cè),適時(shí)調(diào)整迭代次數(shù)。這一特征對(duì)噪聲變化的信道很有實(shí)際意義。通過(guò)對(duì)信噪比低的數(shù)據(jù)花費(fèi)更多的譯碼時(shí)間,信噪比高的數(shù)據(jù)花費(fèi)較少的譯碼時(shí)間,這樣在不影響譯碼性能的情況下,能極大地提高系統(tǒng)的譯碼速率。
5 結(jié) 語(yǔ)
本文分析了Turbo乘積碼編譯碼原理。在選取不同分量碼和不同迭代次數(shù)的情況下,分別進(jìn)行了Matlab仿真實(shí)驗(yàn)。與未編碼相比,TPC能帶來(lái)平均5~6 dB的編碼增益;而且在信噪比低于10-5下,Turbo乘積碼沒(méi)有Turbo卷積碼所具有的錯(cuò)誤平層。TPC能有效改善系統(tǒng)的差錯(cuò)性能,且其譯碼算法簡(jiǎn)單,硬件實(shí)現(xiàn)復(fù)雜度相對(duì)較小,是一種非常實(shí)用的信道編碼方式。TPC能在性能,復(fù)雜度和碼率之間進(jìn)行靈活選擇,可以肯定TPC將會(huì)在數(shù)字通信系統(tǒng)中有著更加廣泛的應(yīng)用。
參 考 文 獻(xiàn)
[1]Peterson W,Weldon E.Error Correcting Codes\\.The MIT Press,Cambridge,Mass,1972.
[2]Berrou C,Glavieux A.Near Shannon Limit Error Correct Coding and Decoding: Turbo codes[C].IEEE ICC93,1993,10:1 064-1 070.
[3]Pyndiah R.Near Optimum Decoding of Product Codes: Block Turbo Codes\\.IEEE Trans.on Communications,1998,46(8).
[4]王琳,徐位凱.高效信道編譯碼技術(shù)及其應(yīng)用\\.北京:人民郵電出版社,2006.
[5]Comtech AHA Corporation.Product Specification
AHA4501,1998.
[6]Efficient Channel Coding.Comparison of Various Iterative and Turbo Coding Techniques,1998.
[7]鄒麗,雷菁,王新梅.寬帶移動(dòng)通信中Turbo乘積碼的仿真研究\\.現(xiàn)代電子技術(shù),2006,29(3):51-53,56.
作者簡(jiǎn)介 徐建武 男,1982年出生,湖南益陽(yáng)人,碩士研究生。主要研究方向?yàn)闊o(wú)線光通信的信道編碼技術(shù)。
王紅星 男,1962年出生,河南商丘人,博士生導(dǎo)師。主要研究方向?yàn)楣馔ㄐ偶夹g(shù)、現(xiàn)代通信新技術(shù)等。
胡 昊 男,1978年出生,江西高安人,博士研究生。主要研究方向?yàn)闊o(wú)線光通信的信道編碼技術(shù)。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文