專利名稱:低密度校驗(yàn)碼的并行加權(quán)比特翻轉(zhuǎn)解碼方法
技術(shù)領(lǐng)域:
本發(fā)明是低密度奇偶校驗(yàn)碼的一種迭代譯碼方法,屬于信道糾錯編碼的譯碼技術(shù)領(lǐng)域。
背景技術(shù):
各種通信系統(tǒng)中,傳輸比特受信道隨機(jī)噪聲的影響而產(chǎn)生隨機(jī)錯誤。理論和實(shí)踐證明,通過引入冗余度來提供傳輸可靠性的糾錯編碼方法是一類行之有效的手段。而近年來引入的Turbo碼和低密度校驗(yàn)(Low-Density Parity-Check,簡稱LDPC)碼是至今發(fā)現(xiàn)的糾錯能力最強(qiáng)的編碼方案之一。
相比于Turbo碼而言,LDPC碼的設(shè)計(jì)更為靈活(不同碼率/碼長),LDPC碼解碼算法的全并行結(jié)構(gòu)使得設(shè)計(jì)高吞吐率的LDPC解碼器更容易。因此,未來通信系統(tǒng)中有關(guān)信道編碼的標(biāo)準(zhǔn)化大都選用LDPC碼。
根據(jù)校驗(yàn)矩陣中1的分布特性,可將LDPC碼分為規(guī)則LDPC碼和非規(guī)則LDPC碼。一個規(guī)則的(dv,dc)-LDPC碼意味著校驗(yàn)矩陣具有如下特性每一行含1的個數(shù)恒定,其數(shù)目為dc;每一列含1的個數(shù)也恒定,其數(shù)目為dv。否則,則為非規(guī)則LDPC碼。
LDPC碼的標(biāo)準(zhǔn)迭代解碼算法主要包括三種和積算法(Sum-Product Algorithm,SPA)、最小和算法(Min-Sum Algorithm,MSA)、比特翻轉(zhuǎn)解碼算法(Bit-Flipping,BF)。在這三種算法中,SPA算法性能最好,但實(shí)現(xiàn)也最復(fù)雜;BF算法性能最差,但實(shí)現(xiàn)最簡單。BF算法本質(zhì)上是基于接收信號的硬判信息,進(jìn)一步引入信道的軟信息來輔助BF解碼算法可以導(dǎo)出性能更強(qiáng)的加權(quán)比特翻轉(zhuǎn)算法(WeightedBit-Flipping,WBF)。對于某些特殊結(jié)構(gòu)的LDPC碼,例如有限幾何LDPC碼,WBF算法性能可以非常接近SPA算法(如僅差1dB左右)。由于WBF算法的簡單性,它是高吞吐率LDPC解碼器的優(yōu)選算法。
比特翻轉(zhuǎn)解碼(Bit-Flipping,BF)最早由Gallager提出。相比于SPA算法,BF算法計(jì)算復(fù)雜度很低,只需模二運(yùn)算,但其譯碼性能不理想。為進(jìn)一步提高BF算法性能,Y.Kou提出了一種加權(quán)比特翻轉(zhuǎn)算法(Weighted BF),采用信道的軟信息對比特翻轉(zhuǎn)的判據(jù)進(jìn)行加權(quán),可以在譯碼復(fù)雜度增加不大的情況下,提高譯碼性能。為了進(jìn)一步縮小與軟判決算法的差距,在WBF算法的基礎(chǔ)上,又出現(xiàn)一類算法-IMWBF算法(見文獻(xiàn)M.Jiang,C.Zhao,Z.Shi,and Y.Chen,“Animprovement on the modified weighted bit flipping decoding algorithm for LDPCcodes,”IEEE Commun.Lett.,vol.9,pp.814-816,Sept.2005.),其在基本不增加譯碼復(fù)雜度的情況下,使WBF算法的譯碼性能有了較大的提高。目前,在各種串行WBF算法中,IMWBF算法被認(rèn)為具有最好的性能。
目前,各種WBF算法存在的最大問題是收斂速度慢,這大大限制了高速硬件解碼器的設(shè)計(jì),特別是基于FPGA的硬件解碼設(shè)計(jì)。各種WBF算法收斂慢的主要問題在于每次只翻轉(zhuǎn)一個比特。例如,如果接收到的一個碼字內(nèi)發(fā)生100個誤比特錯誤,則WBF算法至少需要迭代100次。
發(fā)明內(nèi)容
技術(shù)問題本發(fā)明的目的是提供一種能低密度校驗(yàn)碼的并行加權(quán)比特翻轉(zhuǎn)解碼方法,該方法用于LDPC碼解碼的并行加權(quán)比特翻轉(zhuǎn)迭代解碼。解決現(xiàn)有的各種加權(quán)比特翻轉(zhuǎn)算法每次迭代只能翻轉(zhuǎn)一個比特因而解碼收斂慢的缺點(diǎn);同時該方法的并行翻轉(zhuǎn)機(jī)制使得硬件設(shè)計(jì)高吞吐量迭代譯碼器更容易。
技術(shù)方案本發(fā)明適合于低密度奇偶校驗(yàn)碼的并行加權(quán)比特翻轉(zhuǎn)譯碼方法,一次迭代可并行翻轉(zhuǎn)多個比特,待翻轉(zhuǎn)的任意一個比特在翻轉(zhuǎn)前都至少存在一個不滿足的校驗(yàn)關(guān)系(稱該校驗(yàn)關(guān)系為失效校驗(yàn)),并且不存在兩個待翻轉(zhuǎn)的比特在翻轉(zhuǎn)前屬于同一個失效校驗(yàn)關(guān)系。其方法是將信道接收信息進(jìn)行硬判得到一硬判碼字,試探判決序列是否滿足所有的校驗(yàn)關(guān)系,如果滿足,則譯碼停止;否則,對任一失效校驗(yàn)節(jié)點(diǎn),找出參加該校驗(yàn)的所有變量節(jié)點(diǎn)中具有最大加權(quán)翻轉(zhuǎn)判據(jù)的變量節(jié)點(diǎn),并向該變量節(jié)點(diǎn)發(fā)送唯一的翻轉(zhuǎn)單元信號;然后,各變量節(jié)點(diǎn)累加翻轉(zhuǎn)單元信號量,并選取其中累積信號量大于給定翻轉(zhuǎn)門限的所有變量節(jié)點(diǎn),對硬判碼字的相應(yīng)位置進(jìn)行并行比特翻轉(zhuǎn),同時更新硬判碼字,算法轉(zhuǎn)入下次迭代。并行加權(quán)比特翻轉(zhuǎn)譯碼方法可以表述為按照如下順序執(zhí)行的步驟(1)對接收到的一幀信號做硬判,得判決矢量z,初始化迭代次數(shù)k=1,開始迭代;(2)計(jì)算判決矢量z是否滿足所有校驗(yàn)關(guān)系,如果滿足所有校驗(yàn),則譯碼停止,輸出譯碼成功信息;否則,將所有不滿足校驗(yàn)關(guān)系的校驗(yàn)節(jié)點(diǎn)列出形成集合EM,繼續(xù)下一步譯碼;(3)對每一個變量節(jié)點(diǎn)n,計(jì)算它的加權(quán)翻轉(zhuǎn)判據(jù)En;(4)對每一個校驗(yàn)節(jié)點(diǎn)m∈EM,找出參加校驗(yàn)節(jié)點(diǎn)m的所有變量節(jié)點(diǎn)中具有最大加權(quán)翻轉(zhuǎn)判據(jù)的變量節(jié)點(diǎn)n*,然后,校驗(yàn)節(jié)點(diǎn)m僅向最大加權(quán)翻轉(zhuǎn)判據(jù)的變量節(jié)點(diǎn)n*發(fā)送翻轉(zhuǎn)單元信號;(5)對每一個變量節(jié)點(diǎn)n,累加所有可能校驗(yàn)節(jié)點(diǎn)發(fā)送過來的翻轉(zhuǎn)單元信號,形成整數(shù)翻轉(zhuǎn)信號量Fn;(6)并行翻轉(zhuǎn)整數(shù)翻轉(zhuǎn)信號量大于事先設(shè)定的一個翻轉(zhuǎn)門限Fth的所有比特,更新判決矢量z;(7)迭代次數(shù)k加1,如果迭代次數(shù)到達(dá)事先設(shè)定的最大迭代次數(shù),則停止譯碼,輸出譯碼失敗信息;否則跳轉(zhuǎn)到步驟(2)。
本發(fā)明的主要創(chuàng)新點(diǎn)在于解決了一般加權(quán)比特翻轉(zhuǎn)方法中一次迭代只能翻轉(zhuǎn)一個比特的缺陷,提出在翻轉(zhuǎn)多個比特時應(yīng)限制任意兩個待翻轉(zhuǎn)的比特在翻轉(zhuǎn)前不屬于同一個失效校驗(yàn)關(guān)系,并進(jìn)而通過信號量累加技術(shù)最終實(shí)現(xiàn)了多比特的可靠翻轉(zhuǎn)。
有益效果本發(fā)明的有益效果主要體現(xiàn)在以下幾個方面1)每次迭代能并行翻轉(zhuǎn)多個比特,相比于現(xiàn)有加權(quán)比特翻轉(zhuǎn)譯碼方法每次迭代只翻轉(zhuǎn)一個比特,譯碼收斂速度顯著提高。
2)和現(xiàn)有的加權(quán)比特翻轉(zhuǎn)譯碼方法相比,總計(jì)算復(fù)雜度降低。
3)和現(xiàn)有的加權(quán)比特翻轉(zhuǎn)譯碼方法相比,性能有所上升。
4)特別適合于有限幾何LDPC碼,在10次迭代內(nèi),性能與標(biāo)準(zhǔn)的和積算法相當(dāng),但實(shí)現(xiàn)復(fù)雜度要遠(yuǎn)低于和積算法。
圖1是一個LDPC碼二分圖的結(jié)構(gòu)圖。
圖2是對任一變量節(jié)點(diǎn)vn如何計(jì)算加權(quán)翻轉(zhuǎn)判據(jù)En(α)的原理圖。其中,圖2(a)給出了已知wn,m下的計(jì)算原則;圖2(b)則給出了wn,m的計(jì)算流程。
圖3是失效校驗(yàn)節(jié)點(diǎn)向其下屬的變量節(jié)點(diǎn)如何發(fā)送翻轉(zhuǎn)單元信號的原理圖。
圖4是變量節(jié)點(diǎn)形成最終的翻轉(zhuǎn)判據(jù)的示意圖。
圖5是(273,191)的有限幾何LDPC碼在各譯碼方法下的誤幀率曲線。
圖6是(1023,781)的有限幾何LDPC碼在各譯碼方法下的誤幀率曲線。
所有的符號注解L=(L1,L2,...,LN)T經(jīng)過AWGN信道后接收到的碼字采樣樣本;z硬判碼字矢量;s=Hz□(s1,s2,...,SM)T根據(jù)硬判碼字矢量計(jì)算出的校正子;EM={m|sm=1,m∈[1,M]}失效校驗(yàn)節(jié)點(diǎn)集合;En(α)變量節(jié)點(diǎn)vn的可靠翻轉(zhuǎn)判據(jù),α是一待定參數(shù);wn,m=mini∈N(m)\n|L1|:]]>校驗(yàn)節(jié)點(diǎn)cm向變量節(jié)點(diǎn)vn發(fā)送的可靠度;vn第n個變量節(jié)點(diǎn);cm第m個校驗(yàn)節(jié)點(diǎn);M(n)變量節(jié)點(diǎn)vn參與的校驗(yàn)節(jié)點(diǎn)集合;N(m)變量節(jié)點(diǎn)cm包含的變量節(jié)點(diǎn)集合;f(cm→vn)或f(m→n)變量節(jié)點(diǎn)cm向校驗(yàn)節(jié)點(diǎn)vn傳遞的翻轉(zhuǎn)單元信息;Fn變量節(jié)點(diǎn)vn的整數(shù)翻轉(zhuǎn)判據(jù);Fth整數(shù)翻轉(zhuǎn)門限;LDPC低密度校驗(yàn)碼;SPA和積算法;MSA最小和算法;
IMWBF一種改進(jìn)的加權(quán)比特翻轉(zhuǎn)算法(串行比特翻轉(zhuǎn)算法中性能最好);PWBF本發(fā)明的并行加權(quán)比特翻轉(zhuǎn)算法;具體實(shí)施方式
本發(fā)明的低密度校驗(yàn)碼的并行加權(quán)比特翻轉(zhuǎn)解碼方法先將信道接收信息進(jìn)行硬判得到一硬判碼字,試探判決序列是否滿足所有的校驗(yàn)節(jié)點(diǎn)校驗(yàn)關(guān)系,如果滿足,則譯碼停止;否則,對任一失效校驗(yàn)節(jié)點(diǎn),找出參加該校驗(yàn)的所有變量節(jié)點(diǎn)中具有最大加權(quán)翻轉(zhuǎn)判據(jù)的變量節(jié)點(diǎn),并向該變量節(jié)點(diǎn)發(fā)送唯一的翻轉(zhuǎn)單元信號;然后,各變量節(jié)點(diǎn)累加翻轉(zhuǎn)單元信號量,并選取其中累積信號量大于給定翻轉(zhuǎn)門限的所有變量節(jié)點(diǎn),對硬判碼字的相應(yīng)位置進(jìn)行并行比特翻轉(zhuǎn),同時更新硬判碼字,算法轉(zhuǎn)入下次迭代。
其具體步驟如下(1)對接收到的一幀信號L=(L1,L2,...,LN)T做硬判,得判決矢量z,初始化迭代次數(shù)k=1;(2)根據(jù)判決矢量z計(jì)算校驗(yàn)矢量s=Hz□(s1,s2,...,sM)T,并將所有不滿足校驗(yàn)關(guān)系的校驗(yàn)節(jié)點(diǎn)列出形成失效校驗(yàn)節(jié)點(diǎn)集合EM={m|sm=1,m∈[1,M]};(3)對每一個變量節(jié)點(diǎn)n∈[1,N],計(jì)算它的翻轉(zhuǎn)判據(jù)En(α)=Σm∈M(n)(2sm-1)|wn,m|-α|Ln|,]]>其中,wn,m=mini∈N(m)\n|Li|;]]>(4)對每一個校驗(yàn)節(jié)點(diǎn)m∈EM,找出具有最大翻轉(zhuǎn)判據(jù)的變量節(jié)點(diǎn)n*=argmaxn∈N(m)En(α),]]>也即最大加權(quán)翻轉(zhuǎn)判據(jù)的變量節(jié)點(diǎn),n*是所有變量節(jié)點(diǎn)中翻轉(zhuǎn)判決最大的變量節(jié)點(diǎn)。然后,校驗(yàn)節(jié)點(diǎn)m僅向最大加權(quán)翻轉(zhuǎn)判據(jù)的變量節(jié)點(diǎn)n*發(fā)送翻轉(zhuǎn)單元信號,也即f(m→n*)=1,f(m→n)=0,n≠n*;(5)對每一個變量節(jié)點(diǎn)n∈[1,N],累加各個可能校驗(yàn)節(jié)點(diǎn)發(fā)送過來的翻轉(zhuǎn)單元信號,計(jì)算它的翻轉(zhuǎn)判據(jù)Fn=Σm∈EMf(m→n);]]>(6)并行翻轉(zhuǎn)滿足條件{n|Fn≥Fth,n∈[1,N]}的所有比特,更新矢量z;(7)迭代次數(shù)k加1,重復(fù)步驟(2)~(6),直到所有的校驗(yàn)式都滿足或到達(dá)事先設(shè)定的
(8)最大迭代次數(shù)為止。
圖1是一個LDPC碼二分圖的結(jié)構(gòu)圖,即校驗(yàn)節(jié)點(diǎn)和變量節(jié)點(diǎn)的連接示意圖,變量節(jié)點(diǎn)和校驗(yàn)節(jié)點(diǎn)分別記為v和c。
圖2是對任一變量節(jié)點(diǎn)vn如何計(jì)算加權(quán)翻轉(zhuǎn)判據(jù)En(α)的原理圖。其中,圖(a)表示該變量節(jié)點(diǎn)參加的校驗(yàn)節(jié)點(diǎn)向其發(fā)送可靠信息wn,m,以及校驗(yàn)是否滿足的信息sm,由此變量節(jié)點(diǎn)vn可計(jì)算翻轉(zhuǎn)判據(jù)En(α)=Σm∈M(n)(2sm-1)|wn,m|-α|Ln|;]]>圖(b)給出了wn,m的計(jì)算流程,對一給定的校驗(yàn)節(jié)點(diǎn)m,可以計(jì)算出所有參加該校驗(yàn)節(jié)點(diǎn)的變量節(jié)點(diǎn)n1,n2,...,nd對應(yīng)的可靠信息wn1,m,wn2,m,…wnd,m。
圖3描述了失效校驗(yàn)節(jié)點(diǎn)向其下屬的變量節(jié)點(diǎn)如何發(fā)送翻轉(zhuǎn)單元信號的原理每一個失效校驗(yàn)節(jié)點(diǎn)只向具有最大翻轉(zhuǎn)判據(jù)En(α)的變量節(jié)點(diǎn)發(fā)送單元翻轉(zhuǎn)信息(為1),也即圖中的灰色節(jié)點(diǎn),其他節(jié)點(diǎn)則不發(fā)送(或者發(fā)送0)。
圖4描述了變量節(jié)點(diǎn)形成最終的翻轉(zhuǎn)判據(jù)的示意圖。變量節(jié)點(diǎn)累積來自各校驗(yàn)節(jié)點(diǎn)的可能翻轉(zhuǎn)單元信號,形成最終的整數(shù)翻轉(zhuǎn)判據(jù)。
圖5是二相移位鍵控(BPSK)調(diào)制的加性高斯白噪聲(AWGN)信道下,總長273,信息長度191,0.7碼率的有限幾何LDPC碼,在SPA算法,IMWBF方法,PWBF方法的誤幀率性能比較。本專利提出的PWBF算法在5到10次迭代下譯碼性能逼近SPA算法。在10次迭代下性能接近IMWBF算法50次迭代的性能。
圖6是BPSK調(diào)制AWGN信道下,總長1023,信息長度781,0.76碼率的有限幾何LDPC碼,在SPA算法,IMWBF方法,PWBF方法下的誤幀率性能比較。本發(fā)明提出的PWBF算法在5到10次迭代下譯碼性能逼近SPA算法。在10次迭代下性能好于IMWBF算法100次迭代的性能。
權(quán)利要求
1.一種低密度校驗(yàn)碼的并行加權(quán)比特翻轉(zhuǎn)解碼方法,其特征在于待翻轉(zhuǎn)的任意一個比特在翻轉(zhuǎn)前都至少存在一個校驗(yàn)關(guān)系不滿足,并且不存在兩個待翻轉(zhuǎn)的比特在翻轉(zhuǎn)前屬于同一個失效校驗(yàn)關(guān)系,一次迭代可并行翻轉(zhuǎn)多個比特,該方法表述為按照如下順序執(zhí)行的步驟1.)對接收到的一幀信號做硬判,得判決矢量z,初始化迭代次數(shù)k=1,開始迭代;2.)計(jì)算判決矢量z是否滿足所有校驗(yàn)關(guān)系,如果滿足所有校驗(yàn),則譯碼停止,輸出譯碼成功信息;否則,將所有不滿足校驗(yàn)關(guān)系的校驗(yàn)節(jié)點(diǎn)列出形成集合EM,繼續(xù)下一步譯碼;3.)對每一個變量節(jié)點(diǎn)n,計(jì)算它的加權(quán)翻轉(zhuǎn)判據(jù)En;4.)對每一個校驗(yàn)節(jié)點(diǎn)m∈EM,找出參加校驗(yàn)節(jié)點(diǎn)m的所有變量節(jié)點(diǎn)中具有最大加權(quán)翻轉(zhuǎn)判據(jù)的變量節(jié)點(diǎn)n*,然后,校驗(yàn)節(jié)點(diǎn)m僅向最大加權(quán)翻轉(zhuǎn)判據(jù)的變量節(jié)點(diǎn)n*發(fā)送翻轉(zhuǎn)單元信號;5.)對每一個變量節(jié)點(diǎn)n,累加所有可能的校驗(yàn)節(jié)點(diǎn)發(fā)送過來的翻轉(zhuǎn)單元信號,形成整數(shù)翻轉(zhuǎn)信號量Fn;6.)并行翻轉(zhuǎn)整數(shù)翻轉(zhuǎn)信號量大于事先設(shè)定的一個翻轉(zhuǎn)門限Fth的所有比特,更新判決矢量z;7.)迭代次數(shù)k加1,如果迭代次數(shù)到達(dá)事先設(shè)定的最大迭代次數(shù),則停止譯碼,輸出譯碼失敗信息;否則跳轉(zhuǎn)到步驟2)。
全文摘要
低密度校驗(yàn)碼的并行加權(quán)比特翻轉(zhuǎn)解碼方法,適用于低密度校驗(yàn)(LDPC)碼的軟判決譯碼,相比于現(xiàn)有的各種加權(quán)比特翻轉(zhuǎn)(WBF)譯碼方法,并行加權(quán)比特翻轉(zhuǎn)譯碼能實(shí)現(xiàn)多個比特的并行翻轉(zhuǎn),收斂速度得到顯著提高。本發(fā)明的實(shí)施包括如下步驟將信道接收信息進(jìn)行硬判得到一硬判碼字,試探判決序列是否滿足所有的校驗(yàn)關(guān)系,如果滿足,則譯碼停止;否則,對任一失效校驗(yàn)節(jié)點(diǎn),找出參加該校驗(yàn)的所有變量節(jié)點(diǎn)中具有最大加權(quán)翻轉(zhuǎn)判據(jù)的變量節(jié)點(diǎn),并向該變量節(jié)點(diǎn)發(fā)送唯一的翻轉(zhuǎn)單元信號;然后,各變量節(jié)點(diǎn)累加翻轉(zhuǎn)單元信號量,并選取其中累積信號量大于給定翻轉(zhuǎn)門限的所有變量節(jié)點(diǎn),對硬判碼字的相應(yīng)位置進(jìn)行并行比特翻轉(zhuǎn),同時更新硬判碼字,算法轉(zhuǎn)入下次迭代。
文檔編號H03M13/00GK101018060SQ20071001923
公開日2007年8月15日 申請日期2007年1月5日 優(yōu)先權(quán)日2007年1月5日
發(fā)明者吳曉富, 趙春明, 尤肖虎 申請人:東南大學(xué)