《電子技術(shù)應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 一種改進的LLR-SPA譯碼新算法
一種改進的LLR-SPA譯碼新算法
2014年電子技術(shù)應用第10期
王 巖,王中訓,唐田田,劉為云,高興龍
煙臺大學 光電信息科學技術(shù)學院,山東 煙臺264005
摘要: 針對LDPC碼目前廣泛使用的譯碼算法精度低的問題,在LLR-SPA譯碼算法的基礎上提出了一種提高譯碼精度的新算法。
中圖分類號: TN919
文獻標識碼: A
文章編號: 0258-7998(2014)10-0063-03
Modified decoding algorithm of LLR-SPA
Wang Yan,Wang Zhongxun,Tang Tiantian,Liu Weiyun,GAO Xinglong
Institute of Science and Technology for Opto-Electronics Information,Yantai University,Yantai 264005,China
Abstract: To improve the accuracy of LDPC codes decoding algorithm, an efficient algorithm is proposed. By using a piecewise linear function based on Taylor series to approximate the corrected term of the Jacobian logarithm in LLR-SPA decoding algorithm. The simulation results show that, the proposed algorithm can improve the decoding accuracy greatly when the computational complexity almost unchanged.
Key words : LDPC codes;LLR-SPA;Taylor series;piecewise linear approximation;decoding algorithm

0 引言

    低密度奇偶校驗碼(Low Density Parity-Check,LDPC)是一種誤碼性能逼近香農(nóng)極限的實用碼,并且能夠做到完全的并行譯碼,一直以來備受研究者的關(guān)注。近年來隨著其編碼和譯碼算法的不斷改進與完善,該碼在深空、水下、移動通信等領(lǐng)域得到了較為廣泛的應用[1-4]。

    LDPC碼的譯碼算法是建立在無環(huán)Tanner圖上的置信傳播(Belief Propagation,BP)算法?;诟怕视虻腂P譯碼算法涉及大量的加法和乘法運算,其又被稱作和積(Sum-Product Algorithm,SPA)算法。該算法中的乘法運算不僅會消耗大量運算時間,而且不利于量化實現(xiàn)[5-6]。針對此問題,研究者提出使用似然比表示概率消息,用加法運算代替大量乘法運算,基于此方法提出的譯碼算法被稱為LLR-SPA(Sum-Product Algorithm in Log-Likelihood-domain)算法,LLR-SPA算法的提出為LDPC碼的實際應用打下了堅實的基礎。

    LLR-SPA算法雖然極大地降低了BP算法的復雜度,但是其譯碼復雜度仍然較高,限制了LDPC碼的進一步應用。目前,專家學者為LDPC碼的實際應用做了諸多貢獻。參考文獻[7]提出了一種基于LLR-SPA算法的改進的MS(min-sum)譯碼算法,該算法雖然降低了LLR-SPA譯碼算法的復雜度,但其譯碼性能相對較差,難以滿足對譯碼性能要求較高的應用。參考文獻[8-9]提出了一種基于LLR-SPA算法的改進的OMS(offset min-sum)譯碼算法和NMS(normalized min-sum)譯碼算法,這兩種算法雖然能夠提供較高的譯碼精度,但是要根據(jù)實際情況設置相關(guān)的偏移參數(shù)和校正因子,增加了譯碼復雜度,而且也不利于硬件實現(xiàn)。參考文獻[10-11]分別提出了一種基于一階邁克勞林級數(shù)和一階泰勒級數(shù)簡化的譯碼算法,這兩種算法雖然能有效地降低譯碼復雜度,但是犧牲了譯碼精度?;诖?,本文提出一種基于泰勒級數(shù)分段線性近似的簡化算法,該算法是將LLR-SPA譯碼算法中復雜度較高的雅克比修正項采用泰勒級數(shù)進行分段線性近似,在譯碼復雜度相當?shù)那闆r下,大大提高了譯碼精度。

1 LDPC碼的譯碼算法

1.1 LLR-SPA譯碼算法

    LDPC碼根據(jù)檢驗矩陣Hm×n傳送的碼字x={x1,x2,…,xn}和接收的碼字y={y1,y2,…,yn}進行譯碼。

    信息經(jīng)過編碼,采用BPSK調(diào)制,通過AWGN信道傳輸,其信道的噪聲方差為σ2,每個變量節(jié)點的先驗似然比是L(xn)=log{P(xn=0|yn)/P(xn=1|yn)},則LLR-SPA算法的譯碼過程如下:

    (1)初始化,變量節(jié)點傳向校驗節(jié)點的初始信息和校驗節(jié)點傳向變量節(jié)點的初始信息,其計算公式分別如式(1)、式(2)所示:

xxaq3-gs1-6.gif

1.2 基于泰勒級數(shù)的簡化譯碼算法

    本文提出的算法是針對LLR-SPA算法中復雜度較高的雅克比修正項采用泰勒級數(shù)進行分段線性近似,主要是對其校驗節(jié)點進行更新,對于式(3)中的tanh運算采用參考文獻[12]中的核心操作對式(3)重新處理得到式(7)。其中式(7)中的兩個非線性的對數(shù)函數(shù)是雅可比修正項。

xxaq3-gs7-8.gif

其中,U、V表示統(tǒng)計獨立的二進制隨機變量,L(U)、L(V)是U、V的似然比值,fi、bi分別表示一組輔助的二進制隨機變量,i=1,2,…,dc,dc表示LDPC碼的校驗度,xxaq3-t3-.gif表示模二操作。


    利用式(7)和傳送的碼字x={x1,x2,…,xn}對輔助的二進制隨機變量fi、bi分別作遞歸處理,得到L(fi)和L(bi)。利用公式xxaq3-t3-1.gif其中i∈{2,3,…,dc-1}。通過這種前向后向遞歸運算完成校驗節(jié)點的更新。

    參考文獻[11]使用一階泰勒級數(shù)對式(7)中的修正項進行處理。本文提出的算法與該算法與原曲線的最大誤差對比結(jié)果如表1所示,本文提出的算法與參考文獻[11]提出的算法近似曲線的對比結(jié)果如圖1所示。本文采用泰勒級數(shù)對式(7)中的修正項進行分段線性近似。使用函數(shù)g(x)=log(1+e-|x|)表示式(7)中的修正項,在一階泰勒級數(shù)近似的基礎上對曲線g(x)進行分段線性近似,并以g(x)函數(shù)切點x0為分段節(jié)點進行分段,分段步長為0.75,分段函數(shù)如表2所示。

xxaq3-b1.gif

xxaq3-t1.gif

xxaq3-b2.gif

    從圖1可以看出本文提出的算法有效地解決了參考文獻[11]提出的使用一階泰勒級數(shù)近似時在x=0和g(x)=0處造成誤差的問題。

    該算法與LLR-SPA算法相比,在譯碼性能基本沒有變化的情況下,避免了查表操作和非線性的對數(shù)運算,降低了算法的復雜度。與兩種修正的MS譯碼算法相比無需設置偏移參數(shù)和校正因子,更利于實際應用。

2 仿真結(jié)果

    實驗使用MATLAB從以下幾個方面進行驗證:與原曲線的最大誤差;信噪比和誤比特率。實驗環(huán)境如下:信道采用AWGN信道,調(diào)制方式為BPSK,規(guī)則的LDPC碼(504,3,6)和(6 000,3,6),迭代次數(shù)分別設為40和80。

    從表1數(shù)據(jù)可以看出,本文提出的算法相比于文獻[11]提出的算法與原曲線的最大誤差小,更接近原曲線。

    在迭代次數(shù)為40,使用規(guī)則LDPC碼(504,3,6)的情況下,本文提出的算法與LLR-SPA算法、最小和譯碼算法、一階泰勒級數(shù)近似算法在信噪比和誤比特率方面對比結(jié)果如圖2所示。

xxaq3-t2.gif

    從圖2可以看出,當誤碼比特率為10-4時,本文提出的算法在譯碼性能上優(yōu)于一階泰勒級數(shù)算法和最小和算法分別約為0.15 dB,0.35 dB。相比于最優(yōu)的LLR-SPA算法,僅有0.05 dB的性能損失。

    在迭代次數(shù)為80,使用規(guī)則LDPC碼(6 000,3,6)的情況下,本文提出的算法與LLR-SPA算法、最小和譯碼算法、一階泰勒級數(shù)近似算法在信噪比和誤比特率方面對比結(jié)果如圖3所示。

xxaq3-t3.gif

    從圖3可以看出,當誤碼比特率為10-4時,本文提出的算法分別優(yōu)于一階泰勒級數(shù)算法和最小和算法分別約為0.2 dB,0.55 dB;當誤碼比特率為10-5時,本文提出的算法分別優(yōu)于一階泰勒級數(shù)算法和最小和算法分別約為0.22 dB,0.6 dB。從圖中還可以看出本文提出的算法與最優(yōu)的LLR-SPA算法相比,幾乎沒有性能損失。

3 結(jié)論

    本文旨在提出一種提高譯碼精度的新算法,該算法將LLR-SPA譯碼算法中復雜度較高的雅克比修正項采用泰勒級數(shù)進行分段線性近似。該算法與一階泰勒級數(shù)近似相比在譯碼復雜度基本不變的情況下,極大地提高了譯碼算法的性能;與LLR-SPA譯碼算法相比,不僅避免了查表操作和復雜的非線性對數(shù)函數(shù)的計算,而且在性能上逼近最優(yōu)的LLR-SPA譯碼算法,具有有效性和實用性。

參考文獻

[1] 沈雪梅.下一代無線局域網(wǎng)中LDPC譯碼算法研究[J].科技通報,2013,29(2):127-129.

[2] Wang Kaiyao,Xiao Yang,KIM K.Construction of timefrequency codes based on protograph LDPC codes in OFDMcommunication systems[J].Journal of Systems Engineering and Electronics,2012,3(23):335-341.

[3] 喬曉峰,劉躍敏,寧永海.RS碼與QC-LDPC碼的級聯(lián)碼在淺海信道中的性能研究[J].電子技術(shù)應用,2012,38(5):122-124.

[4] 李成福,盧選民,楊杰,等.基于LDPC碼和物理層網(wǎng)絡編碼的聯(lián)合信道編碼技術(shù)[J].微型機與應用,2013,32(17):41-43.

[5] 吳斌,楊波,葉明.LDPC硬件實現(xiàn)中的數(shù)據(jù)量化位數(shù)選擇及其性能仿真[J].信息通信,2012,118(2):26-28.

[6] 梁偉,劉亮,沈旭,等.采用動態(tài)量化的低存儲空間LDPC譯碼研究[J].計算機工程與應用,2011,47(10):106-109.

[7] 吳瓊,梅進杰.改進Min-sum的LDPC譯碼研究[J].無線電通信技術(shù),2012,38(2):27-29.

[8] 陳旭燦,劉冬培.改進的LPDC譯碼算法研究[J].電子科技大學學報,2010,39(2):219-222.

[9] Hu Xiaoyu,ELEFTHERIOU E,ARNOLD D M,et al.Efficient implementations of the sum-product algorithm for decoding LDPC codes[C].Global Telecommunications Conference,IEEE GLOBECOM(2),2001:1036-1036E.

[10] PAPAHARALABOS P,MATHIOPOULOS P T.Simplified sum-product algorithm for decoding LDPC codes with optimal performance[J].Electronics Letters,2009,45(2):116-117.

[11] 胡樹楷,王新梅.一種簡化的GF(q)-LDPC碼譯碼算法[J].西安電子科技大學學報,2011,38(2):8-12.

[12] Chen Jinghu,DHOLAKIA A,ELEFTHERIOU E,et al.Reduced-complexity decoding of LDPC codes[J].IEEE Transactions on Communications,2005,53(8):1288-1299.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。