陶玥琛, 宋春林, 柏 亮, 宋超凡
(①同濟大學(xué) 電子與信息工程學(xué)院,上海 201804;②中國航天科工四院紅峰控制公司,湖北 孝感 432000)
Turbo碼[1]因其優(yōu)異的譯碼性能,被3GPP寫入LTE/LTE-A標準信道編碼[2]。但在實際應(yīng)用中,由于MAP算法復(fù)雜度高,須在接收整個序列后才開始譯碼;其譯碼使用迭代譯碼,故Turbo碼在誤碼率和譯碼延遲性能兩方面上存在矛盾,傳統(tǒng)譯碼算法在實時業(yè)務(wù)中應(yīng)用受限。
為解決上述問題,學(xué)者們進行了大量研究改進。在算法方面,Log-MAP算法對MAP算法進行對數(shù)變換,較 MAP算法更易實現(xiàn)。在結(jié)構(gòu)方面,SW-Log-MAP算法引入滑動窗,后向度量建立和前向度量遞推同時進行,減小延遲;由此發(fā)展出基于前后子譯碼器狀態(tài)度量估計的overlap算法和NII算法[3];Radix-4算法[4]將兩步狀態(tài)轉(zhuǎn)移合并,一時刻完成兩比特的譯碼??梢钥吹?,簡化算法和減小延遲是研究Turbo碼的一個重要課題。
基于此,為實現(xiàn)譯碼性能和延遲的均衡,在譯碼結(jié)構(gòu)方面,文中提出了一種并行分量譯碼器譯碼結(jié)構(gòu),可減小每次迭代譯碼的時間。在譯碼算法方面,文中提出了一種分段線性擬合Log-MAP算法,用加法、乘法及查表等運算取代指數(shù)和對數(shù)運算,可降低運算復(fù)雜度。最終,新方案在Visual C++環(huán)境下仿真實現(xiàn),獲得了較好的效果,與傳統(tǒng)的串行DEC結(jié)合Log-MAP譯碼算法相比誤碼率性能相當,且節(jié)省了一半的迭代譯碼時間,更適合Turbo碼在實時場景中的應(yīng)用。
Turbo碼采用基于最大后驗概率的譯碼器迭代譯碼的方法,通過兩個分量譯碼器之間軟信息的交換來提高譯碼性能。譯碼時,子譯碼器間的軟信息相互傳遞,循環(huán)迭代完成譯碼[5-7]。Turbo碼的常見譯碼結(jié)構(gòu)如圖1所示。
圖1 Turbo碼譯碼結(jié)構(gòu)
Turbo碼譯碼過程為:第一次迭代,系統(tǒng)信息、校驗信息1進入DEC1,令先驗信息1初始為0,DEC1根據(jù)某個譯碼算法完成譯碼,生成外信息1。外信息1經(jīng)交織后,作為DEC2的先驗信息2。而接收的信息序列經(jīng)交織,作為DEC2的系統(tǒng)信息。DEC2利用先驗信息2、系統(tǒng)信息及校驗信息2完成譯碼,得到外信息 2。此時,第一次迭代完成。外信息2經(jīng)解交織后得到DEC1的先驗信息進入下一迭代運算,繼續(xù)上述譯碼過程。當達到最大迭代次數(shù)時,經(jīng)解交織、硬判決得到譯碼輸出序列。
譯碼器間交換的軟信息稱為外信息 Le(xk),定義外信息的絕對值均值為:
如圖2和圖3所示,觀察在不同迭代次數(shù)后,Le1(xk)和 Le2(xk)的絕對值均值的變化趨勢。
圖2 L e1 ( xk)變化趨勢
圖3 L e2 ( xk)變化趨勢
可看到,在前期迭代中, Le1(xk)和 Le2(xk)的絕對值均值的增長趨勢明顯;而在到達一定迭代次數(shù)后,增長逐漸放緩,并趨于收斂到一個極限值。在迭代過程中, Le1(xk)和 Le2(xk)的變化趨勢和幅值基本保持一致。
在上節(jié)迭代譯碼過程中,兩譯碼器是串行關(guān)系,當DEC1譯碼時,DEC2是空閑的,反之亦然。這里存在著硬件資源閑置的問題。根據(jù)上述分析,在迭代過程中, Le1(xk)和 Le2(xk)的變化趨勢和幅值基本一致。故文中嘗試將DEC1與DEC2改為并行,其結(jié)構(gòu)如圖4所示。
圖4 并行DEC譯碼結(jié)構(gòu)
并行DEC譯碼過程為:第一次迭代,系統(tǒng)信息、校驗信息1和交織的系統(tǒng)信息、校驗信息2分別進入DEC1、DEC2,分別令先驗信息1和先驗信息2為0,DEC1和DEC2同時譯碼,得到外信息1和外信息2。然后對外信息1和外信息2分別交織和解交織,得到帶入下次迭代的先驗信息2和先驗信息1。此時,第一次迭代。如上述過程迭代譯碼,當達到最大迭代次數(shù)時,經(jīng)解交織、硬判決得到譯碼輸出序列。
對于一次迭代時間,相對傳統(tǒng)譯碼結(jié)構(gòu),并行DEC譯碼結(jié)構(gòu)節(jié)約了一半的時間,兩譯碼器同時工作,避免了硬件資源閑置的問題;兩次迭代譯碼之間,交叉?zhèn)鬟f外信息,充分利用了Turbo編碼提供的校驗信息。
Log-MAP算法將MAP算法中的變量作對數(shù)變換,把變量的乘法轉(zhuǎn)成加法,從而簡化運算[8-10]。
首先,對前向、后向狀態(tài)度量和分支度量進行對數(shù)變換:
定義算子 m ax*(?):
對于兩個變量的情況,算子變形為:
因此,得到:
最終
在Log-MAP算法中,用大量 m ax* ( )計算前后向度量和對數(shù)似然比,簡化了運算。但由公式(6),max* ( )運算依然復(fù)雜。
在下文中,定義ln(1 + e-x-y)為相關(guān)函數(shù)。觀察其曲線特性,以(x - y)為橫坐標,如圖5所示。
圖5 相關(guān)函數(shù)的曲線特性
可看到,在[5, +∞ )區(qū)間,相關(guān)函數(shù)值近似為0。假如使用分段線性函數(shù)對相關(guān)函數(shù)的其他部分做近似,在不同區(qū)間用不同斜率進行逼近,則能提高對相關(guān)函數(shù)描述的精確性,且線性函數(shù)的復(fù)雜度大大降低。
擬合的流程如下。
Step1:選擇擬合區(qū)間。這里對[0,1 ),[1,2 ),[2,3),[3, 4),[4, 5)區(qū)間分別擬合,對[5, + ∞ )區(qū)間作0處理。
Step2:對各區(qū)間取點,步長0.25,采用最小二乘法作線性擬合,得到線性方程。
Step3:將分段擬合函數(shù)代入 Log-MAP算法,max* ( )算子括號內(nèi)有8個變量(根據(jù)3GPP標準,編碼器有8種狀態(tài)),應(yīng)用公式(6)需采用迭代方式。
表1 基于分區(qū)間的擬合函數(shù)
分段擬合函數(shù)的逼近程度如圖6所示,分段線性函數(shù)可很好地描摹相關(guān)函數(shù)的曲線特性。
圖6 分段擬合函數(shù)對相關(guān)函數(shù)的逼近
基于 3GPP標準,比較各算法的誤碼率性能差異。算法仿真在Visual C++ 2005環(huán)境中進行,并調(diào)用Matlab繪圖功能實現(xiàn)。算法仿真鏈路結(jié)構(gòu)如圖7所示。譯碼性能仿真參數(shù)如表2所示。
如圖8所示,在不同迭代次數(shù)下,采用Log-MAP算法,比較傳統(tǒng)譯碼結(jié)構(gòu)和并行DEC譯碼結(jié)構(gòu)的性能??煽吹?,在不同迭代次數(shù)下,二者誤碼率性能相當,一致性好。在譯碼時間上,并行DEC譯碼結(jié)構(gòu)節(jié)省一半的時間,大大降低譯碼延遲。
圖7 算法仿真鏈路結(jié)構(gòu)
表2 仿真環(huán)境參數(shù)
圖8 譯碼性能仿真(幀長440 bit)
如圖 9所示,在不同幀長下,比較傳統(tǒng)結(jié)構(gòu)Log-MAP算法和并行DEC分段擬合算法的性能。
圖9 譯碼性能仿真(迭代3次)
從圖9可看到,在不同幀長下,二者誤碼率一致性較好,新方案保證了低誤碼率,同時降低了運算復(fù)雜度和譯碼延遲。
仿真表明,文中提出的并行分量譯碼并結(jié)合分段擬合算法可在誤碼率性能上達到與 Log-MAP算法相當?shù)乃?,且在迭代時間上縮短一半,在譯碼性能、運算復(fù)雜度和譯碼延遲方面均獲得較好效果。這可為適應(yīng)LTE-A等大吞吐量、實時的高速譯碼器的設(shè)計及硬件實現(xiàn)提供一種選擇,為Turbo碼在深空通信、數(shù)字水印[11]等方面的應(yīng)用提供參考。
[1] BERROU C, GLAVIUX A, THITIMAJSHIMA P. Near Shannon Limit Error-correcting Coding and Decoding: Turbocodes(1)[C]//Proc. ICC’93. Geneva: IEEE,1993:1064-1074.
[2] 3GPP TS 36.212 V8.8.0, Multiplexing and Channel Coding[S].Geneva:3GPP,2009.
[3] WU D,ASGHAR R,HUANG Y L,et al.Implementation of Ahigh-speed Parallel Turbo Decoder for 3GPP LTE Terminals[C]//ASICON ’09. Changsha: IEEE,2009:481-484.
[4] CHUANG H T,TSENG K H,FANG W C.Ahigh-throughput Radix-4 Log-MAP Decoder with Lowcomplexity LLR Architecture[C]//VLSI Design, Automation and Test.Hsinchu:IEEE,2009:231-234.
[5] LI Xiangling,WANG Ke,XU Zhao.LPM-Turbo Decoding Structure based on Simulink[C]//WiCOM. Chengdu:IEEE,2010:1-4.
[6] YOO I, KIM B,PARK I C.Immediate Exchange of Extrinsic Information for High-throughput Turbo Decoding[J].IEEE Communication Letters, 2012,16(12):2048-2051.
[7] 趙運杰,宋春林,劉曉林,等.基于外信息收斂的Turbo碼譯碼優(yōu)化算法[J].通信技術(shù),2012,45(05):4-7.
[8] 邱寧,李強,程建,等.基于常數(shù)的混合Log-MAP Turbo譯碼算法[J].西安郵電學(xué)院學(xué)報,2012,17(06):52-55.
[9] 王萍,宋榮方.一種 Turbo迭代譯碼的聯(lián)合自適應(yīng)方案[J].南京郵電大學(xué)學(xué)報,2012,32(04):14-18.
[10] 黃盛剛,李揮,安輝耀,等.WCDMA/HSDPA系統(tǒng)中的Turbo譯碼器設(shè)計與優(yōu)化[J].通信技術(shù),2010,43(02):119-121.
[11] 瞿偉,蔣興浩,孫錟鋒.基于 Q-DCT 域?qū)崟r視頻水印的版權(quán)保護方案[J].信息安全與通信保密,2010(02):70-72.