文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)08-0105-04
廣義LDPC碼是一類由LDPC碼擴(kuò)展而來(lái)的差錯(cuò)控制編碼[1-2],。廣義LDPC碼保留了LDPC碼稀疏圖的表達(dá),但將碼圖中的單奇偶校驗(yàn)約束節(jié)點(diǎn)替換為線性分組碼,。由于引入了線性分組碼約束節(jié)點(diǎn),,廣義LDPC具有構(gòu)造靈活、在約束節(jié)點(diǎn)可以采用更強(qiáng)有力的譯碼器的優(yōu)勢(shì),,并具有錯(cuò)誤平層較低,、在低碼率條件下可逼近信道容量的性能。近年來(lái),,廣義LDPC碼由于其優(yōu)于LDPC碼的特性而引起了學(xué)者們的廣泛研究[3-5],。
傳統(tǒng)廣義LDPC譯碼算法基于奇偶校驗(yàn)矩陣的分層結(jié)構(gòu),采用超碼串行譯碼而子碼并行譯碼的迭代譯碼機(jī)制,。然而,,以非規(guī)則LDPC等構(gòu)造的廣義LDPC碼的校驗(yàn)矩陣不具有分層結(jié)構(gòu),無(wú)法按照傳統(tǒng)廣義LDPC碼譯碼算法進(jìn)行譯碼,。本文提出一種廣義LDPC碼的自適應(yīng)全并行MAP-BP譯碼算法,。該算法具有通用性,且引入自適應(yīng)修正因子,,能保證迭代譯碼過(guò)程中子碼MAP算法和本地碼BP算法的良好銜接,,并可提高譯碼準(zhǔn)確性。
1 廣義LDPC碼結(jié)構(gòu)
廣義LDPC碼是將LDPC碼中的單奇偶校驗(yàn)約束節(jié)點(diǎn)用簡(jiǎn)單的線性分組碼替換得到的,,其中稱LDPC碼為本地碼,,線性分組碼為子碼,。
如圖1所示,廣義LDPC碼奇偶校驗(yàn)矩陣的構(gòu)造步驟為:構(gòu)造本地LDPC碼的奇偶校驗(yàn)矩陣Hb,,稱之為基矩陣,;選取子碼C0(n,k),并將基矩陣Hb每一行中的“1”隨機(jī)用子碼的校驗(yàn)矩陣Ho的某一列替換,,“0”用全零列矢量替換,。
Gallager規(guī)則LDPC碼(N,j,n)采用分層方法構(gòu)造,如圖1(a)所示,,其校驗(yàn)矩陣可按行劃分為j層(每一層包含相同的行數(shù)),,第一層H1的構(gòu)造很有規(guī)律,“1”在行中按降冪排列,,其余j-1層是對(duì)第一部分進(jìn)行的隨機(jī)重排,,即Hi=πi(H1),i=2,3,…j,其中π表示隨機(jī)列位移,。按照分層結(jié)構(gòu),,將每一層的N/n個(gè)分量碼的值合稱為一個(gè)超碼。相應(yīng)地,,以Gallager規(guī)則LDPC碼為本地碼的廣義LDPC碼保留了這一分層結(jié)構(gòu),,如圖1(b)所示。然而,,廣義LDPC碼發(fā)展至今,,其構(gòu)造已不再限于傳統(tǒng)方法,即除了選取Gallager規(guī)則LDPC碼作本地碼外,,QC-LDPC碼,、非規(guī)則LDPC碼等作本地碼的廣義LDPC先后被構(gòu)造并進(jìn)行研究。若低密度校驗(yàn)矩陣采用其他的方法構(gòu)造,,廣義LDPC碼未必可以分解為若干超碼,。
2 傳統(tǒng)廣義LDPC譯碼
傳統(tǒng)的廣義LDPC譯碼算法是基于子碼譯碼基礎(chǔ)上的迭代譯碼,因此譯碼性能和譯碼復(fù)雜度嚴(yán)重依賴于子碼使用的譯碼算法,。通常廣義LDPC碼選用的子碼為短碼且具有較高的碼率,,而廣義LDPC碼迭代譯碼過(guò)程中使用的是軟信息,因此子碼一般采用軟輸入軟輸出SISO(Soft-in Soft-out)譯碼算法[6],,所以傳統(tǒng)廣義LDPC碼的譯碼機(jī)制為基于子碼SISO的迭代譯碼,。
根據(jù)分層結(jié)構(gòu),譯碼信息在不同層級(jí)的超碼之間進(jìn)行傳遞:根據(jù)接收樣本計(jì)算每個(gè)比特的初始概率信息,,并假定它屬于超碼C1,。超碼C1中的N/n個(gè)子碼SISO譯碼器獨(dú)立并行工作,產(chǎn)生每個(gè)編碼比特的后驗(yàn)概率和外概率。后者經(jīng)過(guò)交織后作為超碼C2中子碼SISO譯碼的先驗(yàn)信息,。上述過(guò)程在每對(duì)相鄰超碼之間依次進(jìn)行,,將C1→C2→…→Cj→C1的信息傳遞過(guò)程看作一次完整的迭代,整體上講超碼串行工作,。當(dāng)j=2時(shí),,廣義LDPC碼的譯碼可以看做Turbo碼譯碼器的擴(kuò)展[7],子碼的譯碼器結(jié)構(gòu)如圖2所示,。綜上所述,,傳統(tǒng)廣義LDPC迭代譯碼過(guò)程可概括為“超碼串行工作,子碼并行處理”,。
3 MAP-BP譯碼算法
BP譯碼算法是LDPC碼的通用譯碼算法,,適用于任意方法構(gòu)造的LDPC。而傳統(tǒng)廣義LDPC譯碼算法并不具備通用性,,不具有分層結(jié)構(gòu)的廣義LDPC碼將無(wú)法按照傳統(tǒng)廣義LDPC碼譯碼算法進(jìn)行譯碼,。為此,本文設(shè)計(jì)了自適應(yīng)全并行MAP-BP譯碼算法,。廣義LDPC碼的MAP-BP譯碼算法的流程為:
與傳統(tǒng)廣義LDPC譯碼算法相比,,MAP-BP譯碼算法具有以下優(yōu)點(diǎn):(1)譯碼信息全并行計(jì)算與傳輸,一方面減少了處理時(shí)間,,另一方面可作為廣義LDPC碼的通用譯碼算法,;(2)算法中引入了自適應(yīng)修正因子,既避免了迭代過(guò)程中在MAP算法和BP算法中流動(dòng)的LLR值發(fā)生溢出,,又提高了譯碼準(zhǔn)確性,。
4 仿真分析
在AWGN信道條件下,根據(jù)MAP-BP譯碼算法對(duì)兩組廣義LDPC碼的性能進(jìn)行仿真,,并與傳統(tǒng)譯碼算法的性能進(jìn)行比較。圖3中碼字的碼長(zhǎng)為420,,圖4中的碼長(zhǎng)為960,,兩組碼字碼率都為0.467,本地碼列重為2,,子碼選用(15,11)漢明碼,。
仿真結(jié)果表明,采用MAP-BP算法得到的譯碼性能較好,。實(shí)質(zhì)上,,對(duì)廣義LDPC碼而言,傳統(tǒng)譯碼算法可以看作無(wú)修正因子下MAP-BP譯碼的串行變換方案,,因此MAP-BP性能的提高得益于修正因子的引入,,且在高信噪比處譯碼性能改善更明顯。
圖5比較了(960, 2, 15)廣義LDPC碼在兩種譯碼算法下,誤碼率隨迭代次數(shù)的變化情況,??梢钥闯觯^之于傳統(tǒng)譯碼算法,,MAP-BP譯碼算法收斂速度較快,。
圖6給出了(420,2,,15)廣義LDPC碼的誤碼率隨修正因子大小的變化情況,。最佳修正因子?茲的取值受信噪比大小、碼長(zhǎng)長(zhǎng)度的影響,。修正因子的取值是值得深入探討的問(wèn)題,,在實(shí)際應(yīng)用中,需根據(jù)碼長(zhǎng)和信道條件選取恰當(dāng)?shù)?茲值,,即進(jìn)行自適應(yīng)調(diào)整,。
本文提出了一種廣義LDPC碼的自適應(yīng)全并行MAP-BP譯碼算法,該譯碼算法具有通用性,。仿真表明在高信噪比條件下可提高譯碼準(zhǔn)確性,。廣義LDPC碼的MAP-BP譯碼算法思想來(lái)源于LDPC碼的BP譯碼算法,傳統(tǒng)的廣義LDPC譯碼算法可以看作MAP-BP算法分層串行的特例,。MAP-BP譯碼算法對(duì)迭代譯碼過(guò)程中子碼MAP算法和本地碼BP算法輸出LLR的銜接進(jìn)行了分析,,并采用自適應(yīng)除性修正因子解決溢出現(xiàn)象,提高了譯碼性能,。
參考文獻(xiàn)
[1] LENTMAIER M, ZIGANGIROV K S. On generalized lowdensity parity check codes based on Hamming component codes[J].IEEE Communications Letter,1999,3(8):248-250.
[2] BOUTROS J, POTHIER O. Generalized low-density(Tanner) codes[C]. In Proceeding IEEE ICC, Houston, USA, July 1999:11-16.
[3] SHADI A S, DIVSALAR D. Enumerators for protographbased ensembles of LDPC and generalized LDPC codes[J]. IEEE Transactions on Information Theory, 2011,2(57):858-885.
[4] SHADI A S, DIVSALAR D, RYAN W E. On the typical minimum distance of protograph-based generalized LDPC codes[C]. ISIT 2010, Austin, Texas, U.S.A., June 13-18, 2010:719-723
[5] Wang Yige, FOSSORIER M. Doubly generalized LDPC codes over the AWGN channel[J]. IEEE Transactions on Communications, 2009,57(5):1312-1319.
[6] LIN S, COSTELLO D J. Error control coding 2nd edition[M]. Landon: Prentice Hall Press, 2007.
[7] MAO Y,BANIHASHEMI A H. Decoding low-density paritycheck codes with probabilistic schedule[J].IEEE Communications Letters, 2001,5(10):414-416.
[8] YAZDANI M R, HEMATI S, BANIHASHEMI A H. Improving belief propagation on graphs with cycles[J]. IEEE Communications Letters, 2004,8(1):57-59.