姚如貴,高凡琪,張 昆,徐 娟
(1.西北工業(yè)大學電子信息學院,710072西安;2.長安大學電控學院,710064西安)
新型3D?Turbo碼原理分析與性能研究
姚如貴1,高凡琪1,張 昆1,徐 娟2
(1.西北工業(yè)大學電子信息學院,710072西安;2.長安大學電控學院,710064西安)
為改善中高信噪比下傳統(tǒng)Turbo的錯誤平臺性能,介紹一種改進的Turbo碼(3D?Turbo Codes),通過增加一個碼率為1的后編碼器,對傳統(tǒng)Turbo編碼器得到的部分校驗比特進行后編碼.給出3D?Turbo碼的編碼結(jié)構(gòu),分析了影響性能的主要因素,研究3D?Turbo碼的迭代譯碼過程并詳細推導了Max?Log-Map算法,最后對3GPP2標準下的3D?Turbo碼性能進行仿真.研究結(jié)果表明,與3GPP2 Turbo碼相比,3D?Turbo碼通過增加很小的復雜度,可以有效改善錯誤平臺性能.因此,在中高信噪比且對誤碼率要求嚴格的場景下,3D?Turbo碼有廣闊的應(yīng)用空間.
3D?Turbo碼;3GPP2;錯誤平臺;收斂特性
Turbo碼是最接近香農(nóng)極限的信道編碼方式之一[1].Turbo碼可以達到距離香農(nóng)極限0.7 dB的優(yōu)異性能,因此被應(yīng)用到通信系統(tǒng)的很多領(lǐng)域[2].Turbo碼的誤碼率曲線在瀑布區(qū)有著優(yōu)異的收斂性能,但是由于最小漢明距離(MHD)相對較小,導致在中高信噪比條件下,BER曲線變得平坦,出現(xiàn)錯誤平臺.
改善高信噪比時的誤碼性能,需要增加最小漢明距離.通常用以下3種方式來實現(xiàn):使用具有更多狀態(tài)的成員編碼器,設(shè)計更復雜的內(nèi)交織器,或者增加Turbo碼的維數(shù).文獻[3]提出了一種基于16狀態(tài)子編碼器的Turbo碼,誤幀率(FER)可以到達10-7.但是,在實現(xiàn)時間和存儲復雜度上,幾乎是8狀態(tài)Turbo碼的2倍.文獻[4]提出DRP交織器能夠得到更大的最小漢明距離.但是,復雜交織器一般不具備良好的結(jié)構(gòu)特征,在工程實現(xiàn)時需要耗費大量存儲資源.傳統(tǒng)多維Turbo碼增加并聯(lián)成員編碼器個數(shù)并不能有效改善錯誤平臺特性[5-6].基于此本文介紹一種新型3D?Turbo碼[7],采用混聯(lián)結(jié)構(gòu),在傳統(tǒng)Turbo碼編碼器的輸出端添加一個碼率為1的后編碼器,抽取部分校驗比特進行二次編碼.相比于傳統(tǒng)Turbo碼,3D?Turbo碼通過增加很小的譯碼復雜度和譯碼延遲,有效地改善了錯誤平臺的性能.3D?Turbo碼有廣闊的工程實現(xiàn)前景,適用于一些對譯碼延遲不敏感,但對誤碼比較敏感的應(yīng)用場景.例如,在深空通信中,采集的信息都十分珍貴,希望采集信息損失盡可能的小,在中高信噪比條件下,要求獲得極低的誤碼率.
關(guān)于3D?Turbo碼性能及優(yōu)化研究[7-9],均為ENST Bretagne學院Berrou團隊發(fā)表,但是現(xiàn)有文獻中對于譯碼算法中關(guān)鍵推導(如校驗比特先驗信息的使用、校驗信息外信息的計算等)未給出,同時實現(xiàn)過程中關(guān)鍵模塊(如抽取、譯碼信息傳遞等)也未進行明確說明.本文結(jié)合課題組研究結(jié)論,對上述關(guān)鍵推導和關(guān)鍵模塊進行詳細闡述.
圖1所示為基于3GPP2標準3D?Turbo碼編碼原理框圖.虛線框所示部分為傳統(tǒng)的Turbo碼編碼器,包括1個內(nèi)交織器π和2個并行的分量編碼器.分量編碼器為8狀態(tài)遞歸系統(tǒng)卷積碼(RSC),生成多項式為(15,13)8.長度為K的信息序列U分為3路.第1路直接輸出作為編碼后的系統(tǒng)比特,用X來表示;第2路送到分量編碼器1中進行編碼產(chǎn)生校驗比特,用Y1表示;第3路經(jīng)過交織器π交織后送到分量編碼器2中進行編碼,產(chǎn)生校驗比特Y2.編碼后碼字由系統(tǒng)比特X和校驗比特Y1和Y2組成,碼率R=1/3.
圖1 3D?Turbo碼原理框圖
3D?Turbo碼是在傳統(tǒng)的混聯(lián)方式上發(fā)展而來.通過增加并串轉(zhuǎn)換模塊、后交織器π′和一個碼率為1的后編碼器,來實現(xiàn)對部分校驗比特的后編碼.通過后編碼,可以有效減少碼重較小的碼字,以此提高整體碼字的MHD[8].
從校驗比特Y1和Y2中,按照一定的比例和模式抽取部分比特,經(jīng)過并串轉(zhuǎn)換后,組成新的編碼序列P,經(jīng)π′交織后,送到碼率為1的后編碼器,進行二次編碼.未被抽取的校驗比特不需要進行后編碼,直接送到刪截器.用λ(0≤λ≤1)表示抽取率,即參與后編碼的校驗比特在總校驗比特中所占的比例.為便于實現(xiàn),一般采用規(guī)則的抽取方式.以λ=1/4為例,對校驗比特序列Y1、Y2,每4個比特抽取1個,組成幀送到后編碼器中進行編碼.抽取方式如圖2所示.
圖2 校驗比特抽取示意
可看出,送到后編碼器的校驗比特個數(shù)可用L=2λK來表示.剩余的未被抽取的2(1-λ)K個校驗比特,與后編碼器輸出的校驗比特一起送到刪截器中.一般情況下,后編碼器產(chǎn)生的校驗比特含有更多的信息,盡量不做刪除.
3D?Turbo碼中,除了傳統(tǒng)的碼長、碼率、生成多項式等因素影響性能外,滲透率、后編碼器的生成多項式和交織器同樣對性能的影響很大.
2.1 滲透率λ
滲透率λ的選擇能夠平衡譯碼器的收斂性能和錯誤平臺性能.收斂性表征了譯碼性能從高誤碼率到低誤碼率變化的快慢.抽取校驗比特的譯碼涉及到主譯碼器和預譯碼器之間的外信息傳遞,因此會出現(xiàn)錯誤傳遞現(xiàn)象.在低信噪比下校驗比特出現(xiàn)錯誤的概率更大,所以錯誤傳遞在低信噪比下尤其突出.進一步反映在譯碼性能上時,就是在低信噪比的情況下,3D?Turbo碼的收斂性能降低.因此,選擇較大的λ值,可以獲得更低的錯誤平臺性能,但是譯碼器的收斂性卻會降低.反之,選擇較小的λ值,譯碼的收斂性能有所改善,但是錯誤平臺較高[7].
2.2 后編碼器
后編碼器對3D?Turbo碼的性能有著極大的影響.后編碼器的選取要綜合考慮實現(xiàn)復雜度和性能兩方面.首先,對應(yīng)的預譯碼器結(jié)構(gòu)必須簡單,相比傳統(tǒng)Turbo碼,在軟輸入軟輸出(SISO)譯碼時,不能增加太多的實現(xiàn)復雜度.其次,考慮到第一次迭代譯碼時,沒有可以利用的先驗信息,所以對應(yīng)的預譯碼器不能引入太多錯誤符號,避免降低收斂性能.綜上,后編碼器可以選擇狀態(tài)數(shù)較少的循環(huán)遞歸系統(tǒng)卷積碼(CRSC).文獻[8]推薦了一種帶有兩個寄存器的線性編碼器,后編碼器的生成多項式為(5,4)8.
2.3 交織器π和π′
在設(shè)計Turbo碼交織器時需要綜合考慮兩方面,一方面需要使Turbo碼的距離特性得到最優(yōu)化,提高糾錯性能;另一方面需要考慮譯碼器的實現(xiàn)復雜度.3D?Turbo碼中有兩個交織器,一是傳統(tǒng)Turbo碼中的交織器π,本文中選擇3GPP2標準中的內(nèi)交織方案.另一個是后編碼器部分的后交織器π′.交織器的性能是影響其譯碼性能的關(guān)鍵因素之一.后交織器π′的功能是將編碼序列P進行交織,目的是為了防止預譯碼器譯碼時出現(xiàn)連續(xù)的錯誤,影響總體譯碼的性能.文獻[7]給出一個π′的規(guī)則交織方式,具有簡單的結(jié)構(gòu)和良好的性能.設(shè)交織器π′的交織長度為L,i(1≤i≤L)和j(1≤j≤L)分別是自然順序和交織后順序的地址.π′可以用下列關(guān)系式表示:
式中i0是初始參數(shù),且L0和L互質(zhì).
3.1 譯碼過程
3D?Turbo碼的譯碼原理與傳統(tǒng)Turbo碼相似,都是通過成員譯碼器之間互相傳遞互信息,來進行迭代譯碼.3D?Turbo碼譯碼器由3個成員譯碼器構(gòu)成,分別是4狀態(tài)的SISO預譯碼器和兩個分量譯碼器,譯碼原理框圖如圖3所示.
圖3 3D?Turbo碼譯碼器原理框圖
假設(shè)參與后編碼的輸出比特W經(jīng)過信道傳輸后為Wch.3D?Turbo碼的譯碼迭代過程為:首次迭代時,預譯碼器開始工作.校驗比特的先驗信息初始化為0,此時預譯碼器僅利用接收到的信道信息Wch進行譯碼.將預譯碼器產(chǎn)生的外信息作為校驗比特的先驗信息送到主譯碼器中.主譯碼器利用信道信息和預譯碼器產(chǎn)生的外信息,進行第一次迭代譯碼.主譯碼器的兩個分量譯碼器同傳統(tǒng)的Turbo碼譯碼器相同,產(chǎn)生關(guān)于系統(tǒng)比特的外信息,并作為先驗信息相互交換.同時,主譯碼器還為預譯碼器提供關(guān)于后編碼校驗比特的外信息(可由式(16)計算).之后的迭代過程中,預譯碼器和主譯碼器之間傳遞關(guān)于抽取校驗比特的外信息,主譯碼器內(nèi)部的分量譯碼器之間傳遞關(guān)于系統(tǒng)比特的外信息.當所有的分量譯碼器收斂或者最大的迭代次數(shù)完成時,停止迭代過程.
3.2 Max-Log-Map算法推導
由于后編碼器的引入,3D?Turbo碼主譯碼器的譯碼算法與傳統(tǒng)的Turbo碼相比略有不同.主要區(qū)別如下:在計算分支度量時,引入了關(guān)于校驗比特的先驗信息;計算對數(shù)似然比時,需要考慮關(guān)于校驗比特的先驗信息;需要輸出關(guān)于校驗比特的外信息.
基于BCJR算法[12],本文詳細推導了3D?Turbo碼Max-Log-Map譯碼算法,推導過程也可以推廣到Log-Map算法.下面分別給出主譯碼器和預譯碼器譯碼算法的推導過程.
1)主譯碼器
編碼器的M個不同狀態(tài)記為m(m=0,1,…,M-1).時刻t的狀態(tài)為St,對應(yīng)輸出為,接收符號為.時刻t到t′的狀態(tài)序列為,對應(yīng)的輸出序列為,接收序列為{Y1,…,Yτ}.信道為AWGN,噪聲方差為σ2.
譯碼器通過檢測接收序列Yτ1來預測馬爾可夫過程的狀態(tài)概率(式(2))和狀態(tài)轉(zhuǎn)移概率(式(3)).
依據(jù)傳統(tǒng)Turbo碼算法,α和β可遞歸計算為
其遞推關(guān)系可以進一步如圖4表示.
圖4 前向和后向路徑度量的計算示意
從狀態(tài)St-1→St,代表狀態(tài)轉(zhuǎn)移格圖中的一條邊,在3D?Turbo碼中,主譯碼器既獲得了系統(tǒng)比特的先驗信息,也獲得了校驗比特的先驗信息,所以狀態(tài)轉(zhuǎn)移概率可以同時利用系統(tǒng)比特和校驗比特來表示.
先驗信息Le(ut)=ln(Pr{ut=+1}/Pr{ut=-1}),所以ut的先驗概率計算為
同理可得校驗位χpt的先驗概率為
由于信道的高斯隨機過程特性,可以得到式(11),其中,A是一個取值與ut和取值無關(guān)的值.
定義信道置信因子Lc=4Es/N0=2/σ2,結(jié)合式(8)~(11),同時忽略共同項可得:
令At(m)=ln αt(m),Bt(m)=ln βt(m),Mt(m′,m)=ln γt(m′,m),則可以得到MAP算法的對數(shù)域形式.為簡化指數(shù)運算,Log-Map算法中引入max?(χ,y)=ln(eχ+ey)=max(χ,y)+fc(|χ-y|),其中fc(χ)=ln(1+e-χ)為修正項.令fc(χ)=0,則max?(χ,y)可以進一步簡化為max(χ,y),從而:
根據(jù)對數(shù)似然比定義,以及式(3)、(5),關(guān)于系統(tǒng)比特的對數(shù)似然比計算如下:
結(jié)合式(12)、(14),L(ut)還可以表示為如下形式,表征了對數(shù)似然比、系統(tǒng)信息、先驗信息及外信息之間的關(guān)系.
當上述關(guān)于分支度量、前向路徑度量、后向路徑度量和對數(shù)似然比的計算中采用max?(χ,y)代替max(χ,y),即可獲得Log-Map算法.
2)預譯碼器
因為后編碼器是碼率為1的編碼器,即編碼后碼字只有校驗比特,沒有系統(tǒng)比特,所以對應(yīng)預譯碼器的Max-Log-Map譯碼算法公式也與主譯碼器略有不同.分支度量計算為
式中:wt為進行后編碼的校驗比特,即為后編碼器的輸入;(wt)為主譯碼器經(jīng)過π′交織后傳給預譯碼器的先驗信息.為后編碼器產(chǎn)生的校驗位,為對應(yīng)的信道信息.關(guān)于前向路徑度量和后向路徑度量計算方法同主譯碼器.同理,后編碼器關(guān)于校驗比特外信息的計算公式為
由于后編碼器沒有輸出系統(tǒng)信息,因此,上式中沒有與系統(tǒng)信息對應(yīng)的Lc歸一化的信道輸入.
3.3 復雜度與時延分析
由3.2節(jié)推導可知,與傳統(tǒng)的Turbo碼譯碼器相比,增加的復雜度主要來自預譯碼器和主譯碼器中計算關(guān)于后編碼輸入校驗比特的外信息.表1給出了采用Max-Log-Map算法時,3D?Turbo碼譯碼器對每比特譯碼額外增加的計算量統(tǒng)計.其中v和w分別為主編碼器和后編碼器的移位寄存器長度,主譯碼器中分量編碼器輸出n路.由表1可以看出,由于后編碼器的存儲深度w較小,因此復雜度增加不大.λ越大,預譯碼器需要計算的校驗比特外信息的長度越大,復雜度相應(yīng)的增加.另外,引入交織器π′的也會帶來一定的復雜度,主要體現(xiàn)在交織圖樣的計算上.
表1 譯碼器計算量比較
3D?Turbo碼的譯碼時延增加主要體現(xiàn)在計算校驗比特的外信息上.在主譯碼器中,校驗比特和信息比特的外信息可以并行計算,所以不需要消耗額外的時鐘.在預譯碼器中,計算時延與參與后編碼的校驗比特的長度有關(guān).如果主譯碼器的分量譯碼器譯碼時延為T,則預譯碼器的時延可以表示為2λT,整個時延為2(1+λ)T.當λ=1/4時,相對傳統(tǒng)Turbo碼時延增加25%.基于并行快速Turbo碼譯碼算法的思路,若采用主譯碼器和預譯碼器并行運算,此時,3D?Turbo碼的譯碼時延完全和傳統(tǒng)Turbo譯碼器相同.而且可以預期這種并行算法對性能影響可以忽略不計.將在后續(xù)工作中進一步研究快速譯碼算法及其硬件實現(xiàn)方案.
本節(jié)評估3D?Turbo碼在AWGN信道、BPSK調(diào)制時的性能,RSN為比特信噪比.3GPP2 Turbo碼和3D?Turbo碼的碼長K=570,碼率R=1/3,主編碼器的生成多項式為(15,13)8,內(nèi)交織器π參照3GPP2標準中的規(guī)則交織進行設(shè)計[13]. 3D?Turbo碼的交織器π′按2.3節(jié)所述方案設(shè)計,其中,參數(shù)L0=7,i0=1.
3GPP2 Turbo碼和3D?Turbo碼的性能比較如圖5所示,譯碼算法選擇為Max-Log-Map算法,迭代次數(shù)設(shè)置為10.其中3D?Turbo碼的滲透率λ=1/4,后編碼器的生成多項式為(5,4)8.
圖5 3GPP2 Turbo碼和3D?Turbo碼性能比較
由圖5中關(guān)于BER和FER的比較,在低信噪比的情況下,3GPP2 Turbo碼的性能要好于3D?Turbo碼.但是隨著信噪比的增加(約為2.7 dB時),3GPP2 Turbo碼出現(xiàn)錯誤平臺,而3D?Turbo碼仍然處于瀑布區(qū),可以預計獲得更低的錯誤平臺.
圖6顯示了不同滲透率或者編碼器結(jié)構(gòu)對應(yīng)的3D?Turbo碼的性能.譯碼算法選擇為Max-Log-Map算法,迭代次數(shù)設(shè)置為10.對比圖6中的曲線差異,可以看出,當滲透率λ=1/4時,3D?Turbo碼在低信噪比下性能要略差于λ=1/8對應(yīng)的誤碼性能,但是可以獲得更低的錯誤平臺.這是因為較大的滲透率會得到更高的MHD,會使得錯誤平層更低[7].后編碼器的生成多項式為(5,4)8時,當?shù)谝淮蔚鷷r,產(chǎn)生的錯誤符號要少于后編碼為(7,4)8產(chǎn)生的錯誤符號[8],錯誤傳遞導致后者的誤碼性能較差.
圖6 不同滲透率和后編碼器結(jié)構(gòu)對應(yīng)的3D?Turbo碼性能
圖7 顯示了不同譯碼算法下的3D?Turbo碼的性能對比.迭代次數(shù)設(shè)置為10,滲透率λ=1/4,后編碼器的生成多項式為(5,4)8.對比圖7中性能曲線的差異,在相同仿真條件下,Max-Log-Map算法的譯碼性能比Log-Map算法的譯碼性能要差,大約有0.3 dB的性能損失,這與傳統(tǒng)Turbo碼對應(yīng)的結(jié)論一致.
圖7 3D?Turbo碼不同譯碼算法性能對比
為了獲得比傳統(tǒng)Turbo碼更低錯誤平臺,本文研究了一種改進的Turbo碼—3D?Turbo碼. 3D?Turbo碼是在混合級聯(lián)碼的基礎(chǔ)上發(fā)展的,綜合了并行和串行級聯(lián)碼的優(yōu)點.介紹了3D?Turbo碼的編碼結(jié)構(gòu),并詳細推導了譯碼算法,具體分析了3D?Turbo碼實現(xiàn)時的關(guān)鍵技術(shù).仿真結(jié)果證明了3D?Turbo碼的性能及其可行性,相比于傳統(tǒng)的Turbo碼,3D?Turbo碼在高信噪比下,可以獲得更低的錯誤平臺.但是,由于后編碼器、預譯碼器以及交織器π′的引入,增加了一些復雜度和時延.考慮到深空通信等應(yīng)用場景,以少量的復雜度增加和相對傳播時延較小的譯碼時延,可以獲得極低的誤碼率,具有十分重要的工程應(yīng)用價值.
[1]BERROU C,GLAVIEUX A,THITIMAJSHIMA P.Near shannon limit error?correcting coding and decoding:turbo?codes[C]//ProceedingsofInternational Conference on Communications(ICC’93).Geneva:IEEE,1993:1064-1070.
[2]王視環(huán).LTE中Turbo碼內(nèi)部交織器的研究[J].南京郵電大學學報,2010,30(4):90-94.
[3]DOUILLARD C,BERROU C.Turbo codes with rate-m/(m+1)constituent convolutional codes[J].IEEE Transactions on Communications,2005,53(10):1630-1638.
[4]CROZIER S,GUINAND P.High?performance low?memory interleaver banks for turbo?codes[C]//Proceedings of 54th IEEE Vehicle Technology Conference(VTC’01). Atlantic City:IEEE,2001:2394-2398.
[5]白寶明,馬嘯,劉豐,等.三維Turbo碼的設(shè)計與性能分析[J].西安電子科技大學學報,1998,25(5):570-574.
[6]趙曾珠,張興周,賈紅軼.三維Turbo碼性能的研究[J].應(yīng)用科技,2006,33(5):12-13.
[7]BERROU C,GRAELL I AMAT A,OUID CHEIKH MOUHAMEDOU Y,et al.Adding a rate-1 third dimension to turbo codes[C]//Proceedings of IEEE InformationTheoryWorkshop.TahoeCity:IEEE,2007:156-161.
[8]BERROU C,GRAELL I AMAT A,OUID CHEIKH MOUHAMEDOU Y,et al.Improving the distance properties of turbo codes using a third component code:3Dturbocodes[J].IEEETransactionson Communications,2009,57(9):2505-2509.
[9]ROSNES E,GRAELL I AMAT A.Performance analysis of 3-D turbo codes[J].IEEE Transactions on Information Theory,2011,57(6):3707-3720.
[10]KBAIER BEN ISMAIL D,DOUILLARD C,KEROUEDAN S. Analysis of 3?dimensional turbo codes[J].Annual Telecommunications,2011,65(7):257-268.
[11]KBAIER BEN ISMAIL D,DOUILLARD C,KEROUEDAN S. A survey of three?dimensional turbo codes and recent performance enhancements[J].EURASIP Journal on Wireless Communications and Networking,2013,2013(115):1-13.
[12]BAHL L,COCKE J,JELINEK F,et al.Optimal decoding of linear codes for minimizing symbol error rate[J]. IEEE Transactions on Information Theory,1974,20(2):284-287.
[13]3GPP2,C.S0002?F.Physical layer standard for cdma2000 spread spectrum systems[S].Seattle:Third Generation Partnership Project 2(3GPP2),2012:184-192.
(編輯 苗秀芝)
Theoretical analysis and performance study of 3-dimension Turbo codes
YAO Rugui1,GAO Fanqi1,ZHANG Kun1,XU Juan2
(1.School of Electronics and Information,Northwestern Polytechnical University,710072 Xi′an,China;2.School of Electronic and Control Engineering,Chang'an University,710064 Xi′an,China)
In order to prevent high error floor of classic Turbo at middle and high SNRs,a modified Turbo codes,named as 3D?Turbo codes,is proposed in which some of the parity bits from the classical encoders are further encoded by a rate-1 post encoder.The encoder structure of 3D?Turbo Codes is introduced and analysis of main factors affecting performance is provided,then the iterative decoding process and detailed derivation of the Max-Log-Map algorithm of 3D?Turbo Codes is presented,performance based on 3GPP2 standards is simulated.The theoretical analysis and results show that 3D?Turbo Codes have lower error floor compared to 3GPP2 Turbo Codes,at the expense of a very small increase in complexity.Therefore,under middle or high SNRs and strict BER requirement,3D?Turbo Codes are expected to have extensive application prospects.
3D?Turbo Codes;3GPP2;error floor;convergence performance
TN911.2
:A
:0367-6234(2014)11-0095-06
2014-01-14.
國家高技術(shù)研究發(fā)展計劃(2012AA120604);航天支撐基金(2013-HT-XGD);西北工業(yè)大學基礎(chǔ)研究基金(JCY20130132).
姚如貴(1980—),男,副教授.
姚如貴,yaorg@nwpu.edu.cn.