韓婷婷,李建廣
(中國傳媒大學 信息工程學院,北京100024)
BICM-ID[1]內嵌Turbo碼[2],作為一種改進的結構,被利用在很多系統中,以實現更好的性能。BICM-ID具有較低的復雜度、強大的敏捷性、高頻譜效率和優秀的誤碼率性能。而Turbo碼是一種接近香農限性能的碼。Turbo碼已被證明具有接近極限的性能,但這通常是以大量的譯碼迭代為代價。許多停止準則[3]被設計來停止迭代過程,減少迭代的平均數量,從而避免不必要的計算和譯碼延時。
針對Turbo譯碼的迭代停止準則已發展出兩個分支。第一個分支是基于軟判決的停止準則,如CE準則[4],對數似然比(LLR)絕對值測量準則[5]和均值估計準則(ME)[6]。另一個是基于硬判決的停止準則,如符號變化比準則(SCR)[7],硬判決輔助準則(HDA)[7]和符號差異比率準則(SDR)[8]。
上面提到的大多數的停止準則是基于整幀的,它在每次迭代中檢查整幀的收斂狀態[9]。解碼過程中要么完全停止,要么繼續另一個完整的迭代,這取決于迭代是否達到停止門限。早期收斂的比特仍然會在后期的迭代中被計算,這是一種浪費。而對一些較不易收斂的比特,整幀的收斂性不能體現該比特是否真的收斂,在準確性上有缺失。
在本文中,我們通過一系列針對不同類別的收斂測試準則,包括CE準則,實現分級選擇停止迭代,在后期的迭代中省略了早期收斂類不必要的計算。該分級選擇停止準則相對于典型的基于整幀CE停止準則,在減少平均迭代數量的同時,簡化了后期迭代的計算量。
在分級環節,我們把接收到的信息序列比特按照其LLR絕對值分為具有不同可靠性等級的四個類別。作為分級用的門限與整幀的后驗LLR絕對值平均值相關。
在整個分級停止準則實現過程中,較可靠的類別通常更早停止迭代,以節省計算量,而可靠性較低的類別則進行更多次的迭代以獲得更高的譯碼精準。為了節省計算量,對更低可靠級類別的收斂測試在更高可靠級類別收斂之后才開始。對于較早收斂的類別,除了對前向度量和后向度量構成的馬爾科夫鏈的更新,關于這些信息比特的計算幾乎停止。由于省略了對早期收斂類別的不必要的計算,本分級選擇停止準則節省了后期迭代的計算量。
本文展開如下:在第2部分,具體介紹本文提出的分級選擇停止準則,包括為節省不必要迭代稍作修改的LOG-MAP譯碼算法,信息比特可靠性級別的分類,還有針對不同類別的停止準則。第3部分為仿真結果,包括復雜度比較和性能比較,作為對比的參照物分別是基于幀的CE停止準則和固定次數迭代方案。最后,在第4部分給出了本文的結論。
本分級選擇停止準則采用Log-MAP譯碼算法,為了節省后期迭代中對已收斂比特不必要的計算而作出了修改。

(1)


圖1 后驗LLR與估計可靠性
經典的Log-Map譯碼算法[10]如下。

(2)
其中La(ul)是先驗的LLR信息,Lc是信道置信度,rl是接收向量,vl是網格圖的路徑分支向量,K是編碼(含校驗比特)長度。


=0,1,……,K-1
(3)
其中
max*(x,y)=max(x,y)+log[1+e-|x-y|]
(4)
其初始邊緣值
(5)


=K-1,K-2,……,0
(6)
其初始邊緣值
(7)
后驗LLR:

(8)
外部LLR:
Le(ul)=L(ul)-La(ul)-Lcrul
(9)
其中rul是接收的系統信息位值。




針對早期收斂比特的簡化計算操作,使后期迭代內部的計算復雜度被降低。
更大的后驗LLR絕對值意味著更可靠的估計。在收斂測試之前,把接收到的信息比特的L(ul)絕對值與三個門限作比較,由此將接收信息序列中的比特劃分為具有不同可靠性級別的四個類別。所設立的門限值與L(u)絕對值的均值和方差有關,L(u)即整個接收信息序列的后驗LLR向量。
這個劃分操作被設置在第二次迭代之后,其實L(u)將較之第一次迭代之后更加可靠。另一方面,為了獲得最小的迭代次數,這個操作不被設置在更多的迭代之后,盡管那時L(u)將更加可靠。
具體的門限定義如下,它們與第二次迭代之后的后驗LLR相關。
第一個門限如此定義
(10)
其中E[|L2(u)|]是第二次迭代之后L(u)絕對值的均值,而D[|L2(u)|]是方差。
第二個門限如此定義
(11)
第三個門限如此定義
(12)
由此,四個類別劃分如下:
1) 如果|L(ul)|>Tclass1,則ul屬于類1,最可靠的一類;
2) 如果Tclass1≥|L(ul)|>Tclass2,則ul屬于類2,次可靠的一類;
3) 如果Tclass2≥|L(ul)|>Tclass3,則ul屬于類3,次不可靠的一類;
4) 并沒有定義第四個門限。那么當|L(ul)|>Tclass2,則ul則屬于類4,這是最不可靠的一類。
在接下來的收斂測試中,更可靠的類在滿足停止門限之后先停止迭代,而較不可靠的類將需要更多迭代次數。
收斂測試將在第2次迭代之后,類別劃分之后上演。具有更高可靠性級別的類將更早進行收斂測試。為了節省計算,針對較低可靠性級別的類的收斂測試,將在更高可靠類收斂之后進行。
一系列停止準則定義如下:
硬件電路設計則選用TPS43000作為PWM控制器;采用同步BOOST電路為電源轉換電路。為了降低開關管的損耗,開關管的導通電阻應盡量小,NMOS 開關管選擇 Si4866DY,其RDS(ON)為 10 mΩ;PMOS開關管選擇 Si4403DY,其RDS(ON)為 17 mΩ。參數設計同仿真設計相同,如表1所示。電路原理圖如圖9所示。
1) 針對類1的收斂測試
類1是最可靠的一類,針對它的收斂測試準則有點類似HDA,并被設定在第2次迭代之后。
對一個類1的信息比特,若它的硬判決在兩個內部譯碼器之間沒有改變,也就是其LLR的符號沒有發生改變,即
(13)
我們視其為收斂比特。關于收斂比特的計算停止,除了前向度量和后向度量構成的馬爾科夫鏈。不過正常情況下,更多次迭代之后,LLR絕對值會增長。為了彌補這個增長量,同時減少本算法對尚未收斂比特的影響,我們將該收斂比特的LLR值乘2。
如果該比特不滿足式(13),也即在兩個內部譯碼器之間LLR發生了符號變化,這是一個不穩定的位,那么我們把它重新分配到類4。
2) 針對類2的收斂測試
對一個類2的信息比特,如果它滿足式(13)的同時兼有LLR絕對值的增長,即
|L2(ul)|>|L1(ul)|
(14)
我們視它為收斂比特,并且仍然將LLR值乘2。
如果它不滿足式(13),那么又將它重新分配到類4。
3)針對類3和類4的收斂測試
針對類3和類4的收斂測試是基于CE準則的。CE是關于兩個概率向量間差異的度量[11]。 對于有限域χ的兩個概率向量p與q,它們的CE定義為
(15)
在CE準則里,p和q可以是兩個連續迭代結果的后驗LLR[12],或者是同一個迭代的兩個內部譯碼器結果的后驗LLR[13]。
我們在這里采用兩個內部譯碼器結果的CE
(16)
其中i代指迭代次數。
此處的CE停止準則定義為
CE(i)<10-3CE(1)
(17)
本文中針對類3和類4的收斂測試采用兩個內部譯碼器結果的CE作為依據。根據式(16)和(17),每一類的交叉熵如此定義
(18)
且定義類3和類4的CE準則為
CEclassM(i)<10-3CEclassM(1)
(19)
更可靠的類在滿足停止準則所設之門限后,停止迭代,而較為不可靠的類將需要更多迭代。
表1列出仿真的參數。
Turbo碼編碼器包含兩個碼率1/3的遞歸系統卷積分量碼,約束長度為3,生成矩陣為(7,5)8。序列幀長500比特,其中488位信息比特和2 位收尾比特。結果針對本文提出的分級選擇停止準則,經典的整幀CE停止準則和固定迭代次數方案之間做出比較。其中兩種停止準則設定最大迭代次數為 15,固定次數方案設定固定迭代次數為12。仿真環境的信噪比(SNR) 為 [0.4,0.8,1.2,1.6]。

表1 仿真參數
早期收斂比特的停止計算處理減少了迭代內部的復雜度,從而減少了整個迭代過程的計算復雜度。時間比較和迭代次數的比較可以展現復雜度的比較結果。
圖2顯示平均每幀譯碼的時間比較。本文的分級停止準則與經典的CE停止準則,其平均每幀譯碼的時間都隨著SNR的增大而減少,而固定次數方案則幾乎不變。本文準則比經典整幀CE停止準則節省約10%的時間。
圖3顯示平均迭代次數的比較。事實上本文準則中有一些比特在整體迭代停止之前已經先停止迭代,而這并不能展示在圖中,因此本準則實際的迭代次數應該更少。
圖4顯示平均每次迭代的時間比較,可以揭示迭代內部復雜度的比較結果。從圖中可以看出早期收斂比特的停止計算處理減少了迭代內部的復雜度。
圖5顯示BER性能的比較。本停止準則與整幀的CE停止準則BER性能相近。

圖2 平均每幀譯碼時間比較

圖3 平均迭代次數比較

圖4 平均每次迭代時間比較

圖5 BER性能比較
本文提出一種BICM-ID內嵌的Turbo碼譯碼分級選擇停止準則,通過一系列針對不同可靠性等級的類的收斂準則來實現分級停止迭代。省略掉早期收斂比特的不必要計算,后期迭代的計算復雜度被減少。與針對整幀的經典CE停止準則相比,該停止準則節省了后期迭代的計算量。結果顯示,本停止準則比整幀的CE停止準則節省將近10% 的迭代處理時間,而BER性能則接近。
[1]Li X,J A Ritcey.Bit-interleaved coded modulation with iterative decoding[J]. IEEE Commun Lett,vol 1,Nov,1997,169-171.
[2]C Berrou,A Glavie,P Thitimajshima.Near Shannon limit error-correcting coding and decoding:Turbo codes[J].Proc IEEE Int Conf Commun,1064-1070,1993.
[3]Zhang S,Li J P,Chen J L.Three Simple Iterative Decoding Schemes for BICM-ID[J].Proc IEEE Int Conf ICBECS,1-4,2010.
[4]J Hagenauer,E Offer,L Papke.Iterative decoding of binary block and convolutional codes[J].IEEE Trans Inf Theory,vol 42,no 2,429-445,1996.
[5]Z Wang,H Suzuki,K K Parhi.VLSI implementation issues of turbo decoder design for wireless applications[J]. Proc IEEE Workshop Signal Process Syst,503-512,1999.
[6]F Zhai,I Fair.New error detection techniques and stopping criteria for turbo decoding[J]. Proc 2000 Can Conf Electr Comput Eng,58-62,2000.
[7]R Y Shao,S Lin,M P C Fossorier.Two simple stopping criteria for turbo decoding[J]. IEEE Trans Commun,vol 47,1117-1120,1999.
[8]Y Wu,D Woerner,J Ebel.A simple stopping criteria for turbo decoding[J]. IEEE Commun Lett,vol 4,no 8,258-260,2000.
[9]Jinhong W,Zhengdao W,Branimir R Vojcic.Partial Iterative Decoding for Binary Turbo Codes via Cross-Entropy Based Bit Selection[J]. IEEE Trans Commun,57(11):3298-3306,2009.
[10]L Bahl,J Cocke,J Jelinek,J Raviv,F Raviv.Optimal decoding of linear codes for minimizing symbol error rate[J]. IEEE Trans Inform Theory,vol 20,284-287,1974.
[11]M Mother.Decoding via cross entropy minimization[J].Proc IEEE Globecom Conf,Houston,TX,809-813,1993.
[12]B Scanavino,G M Maggio,Z Tasev,L Kocarev.A novel stopping criterion for turbo codes based on the average a posteriori entropy[J].GLOBECOM,IEEE,vol 4,2051-2055,2003.
[13]N Y Yu,M G Kim,Y S Kim,S U Chung.Efficient stopping criterion for iterative decoding of turbo codes[J].Electron Lett,vol 39,73-75,2003.