杜立嬋,韋冬雪,黎相成,陳海強(qiáng),覃團(tuán)發(fā)*
(1.南寧職業(yè)技術(shù)學(xué)院 人工智能學(xué)院, 廣西 南寧 530008;2.廣西大學(xué) 計(jì)算機(jī)與電子信息學(xué)院, 廣西 南寧 530004;3.廣西多媒體通信與網(wǎng)絡(luò)技術(shù)重點(diǎn)實(shí)驗(yàn)室, 廣西 南寧 530004)
多元低密度奇偶校驗(yàn)碼(low-density parity-check, LDPC)具有比二進(jìn)制LDPC碼更優(yōu)的譯碼性能,特別對(duì)于中短碼長,其優(yōu)勢更明顯[1-5]。此外,由于多元LDPC碼的天然屬性,非常適合與高階調(diào)制技術(shù)相結(jié)合,以及具有較強(qiáng)的糾正突發(fā)錯(cuò)誤能力。多元LDPC碼的這些技術(shù)特點(diǎn)正好迎合了未來無線通信技術(shù)對(duì)低能耗、高頻譜效率及高可靠性等方面的要求。然而,相比二進(jìn)制LDPC碼譯碼算法,多元LDPC碼的譯碼復(fù)雜度和對(duì)存儲(chǔ)空間的需求是非常高的,特別是置信傳播譯碼算法[1],其應(yīng)用場景受到較大限制。例如,研究人員針對(duì)多元LDPC碼提出了多元和積譯碼算法(Q-ary sum-product algorithm, QSPA)[6-7],該算法基于置信傳播的思想,獲得了優(yōu)異的譯碼性能。然而,由于QSPA譯碼算法是基于概率域譯碼,需反復(fù)進(jìn)行復(fù)雜的浮點(diǎn)數(shù)運(yùn)算,其復(fù)雜度是非常高的。為使QSPA算法獲得實(shí)際應(yīng)用,文獻(xiàn)[1]把快速傅立葉變換(fast fourier transform, FFT)引入到譯碼算法中,提出了一種FFT-QSPA譯碼算法,相比基于可靠度的譯碼算法,此類譯碼算法復(fù)雜度仍然是比較高的。為了進(jìn)一步降低上述BP類譯碼算法的復(fù)雜度,文獻(xiàn)[8-10]提出了一種低復(fù)雜度擴(kuò)展最小和(extend min-sum, EMS)多元LDPC譯碼算法,該算法是基于二元LDPC碼的最小和(Min-Sum)算法提出的。其后,基于EMS多元LDPC譯碼算法,研究者提出了基于Trellis的EMS(T-EMS)[11-12]以及Min-Max譯碼算法[13-14]。當(dāng)然,隨著復(fù)雜度的降低,其譯碼性能也下降了。由LIN等首先提出的一類基于可靠度的迭代大數(shù)邏輯譯碼算法[15-18],該類算法復(fù)雜度低,但對(duì)于列重較小的多元LDPC碼存在明顯地錯(cuò)誤平層。因此,許多研究者一直致力于研究譯碼性能較好且復(fù)雜度較低的譯碼算法。近年來,研究者提出的基于可靠度的譯碼方案因其把信道信息量化為整數(shù)進(jìn)行譯碼運(yùn)算,復(fù)雜度大為降低。特別是針對(duì)多元LDPC碼提出的基于比特可靠度的算法,因其在譯碼復(fù)雜度較低的情況下,仍能獲得不錯(cuò)的譯碼性能,是最近幾年的一個(gè)熱點(diǎn)研究方向。
最近,HUANG等[19]在多元LDPC譯碼算法中,引入了按比特可靠度進(jìn)行譯碼信息更新的大數(shù)邏輯多元LDPC譯碼算法(BRB-MLGD,bit-reliability based-majority logic decoding,簡稱BRB,其中,wBRB是其加權(quán)版本),有別于其他多元LDPC譯碼算法在信息處理時(shí)按符號(hào)進(jìn)行處理,wBRB算法的信息處理和更新是按比特進(jìn)行的。wBRB譯碼算法在校驗(yàn)點(diǎn)采用Min-Sum原理按比特獲取軟信息,在變量節(jié)點(diǎn)對(duì)外信息采用基于漢明距離的系數(shù)進(jìn)行修正。相比其他基于符號(hào)可靠度的譯碼算法,wBRB算法在保持較好譯碼性能的同時(shí),其計(jì)算復(fù)雜度更低,存儲(chǔ)負(fù)荷更小。該算法在校驗(yàn)節(jié)點(diǎn)的計(jì)算復(fù)雜度可以降為O(logq),其譯碼性能與BP類譯碼算法可以縮小至1 dB以內(nèi)。然而,wBRB算法在信息更新過程中還是存在明顯的性能損失。首先wBRB算法只采用最小比特可靠度作為整個(gè)符號(hào)的可靠度,會(huì)存在域q越大,譯碼信息損失越嚴(yán)重;此外,在變量節(jié)點(diǎn),只傳遞1維最大可靠度的符號(hào)信息,也會(huì)存在明顯的譯碼性能損失,因?yàn)樵谛r?yàn)不通過時(shí),次大可靠度符號(hào)也極有可能是正確的譯碼符號(hào)。因此,wBRB算法在高階域的或低列重的情況下,會(huì)存在明顯的譯碼性能下降。
在上述基于BRB類多元LDPC譯碼算法基礎(chǔ)上,為獲得更優(yōu)的糾錯(cuò)性能,本文提出了一種基于符號(hào)可靠度距離的2維信息傳遞wBRB多元LDPC譯碼算法。該算法通過引入MP類算法的思想,針對(duì)變量節(jié)點(diǎn)與校驗(yàn)節(jié)點(diǎn)之間的信息更新機(jī)制,在變量節(jié)點(diǎn),采用2維信息進(jìn)行譯碼信息傳遞,該信息由兩個(gè)最有可能的有限域符號(hào)及對(duì)應(yīng)的可靠度值構(gòu)成。此外,在校驗(yàn)節(jié)點(diǎn),通過計(jì)算2個(gè)最有價(jià)值的外信息符號(hào)及其可靠度,實(shí)現(xiàn)高效可靠的譯碼信息傳遞。通過仿真實(shí)驗(yàn)表明,本文提出的算法相比文獻(xiàn)[19]提出的原版wBRB算法,大約能獲得0.2~0.3 dB的譯碼性能增益。
經(jīng)典的多元LDPC譯碼算法在譯碼迭代時(shí),基本都是對(duì)有限域符號(hào)進(jìn)行相關(guān)迭代信息處理,而文獻(xiàn)[19]提出的基于比特可靠度的多元LDPC譯碼算法(BRB),則是采用對(duì)符號(hào)相應(yīng)的二進(jìn)制比特信息進(jìn)行迭代更新處理,取代原來基于有限域元素符號(hào)信息的更新方法。為便于對(duì)本文算法的描述,首先對(duì)wBRB算法進(jìn)行簡要描述。
① 相關(guān)信息初始化
② 校驗(yàn)節(jié)點(diǎn)信息處理
(2)
③ 變量節(jié)點(diǎn)信息處理
上述式(3)已計(jì)算獲得來自校驗(yàn)節(jié)點(diǎn)的外信息符號(hào)對(duì)應(yīng)的比特可靠度軟信息,在變量節(jié)點(diǎn)對(duì)來自與其相連接的校驗(yàn)節(jié)點(diǎn)外可靠度軟信息進(jìn)行加權(quán)處理,具體實(shí)現(xiàn)方法如式(4)所示:
(4)
式中,0≤j≤n-1和0≤t≤l-1,θ為修正系數(shù)向量,其長度為
同時(shí),對(duì)第j個(gè)變量節(jié)點(diǎn)符號(hào)按比特可靠度方式進(jìn)行信息的更新,其方法如式(5)所示:
(5)
(6)
式中,0≤j≤n-1和0≤t≤l-1。
特別說明,在上述式(4)中,如果向量θ中的每個(gè)元素均設(shè)置為1,即等價(jià)于沒有引入加權(quán)系數(shù),則該譯碼算法就為原始的BRB算法;如根據(jù)漢明距離設(shè)置不同的權(quán)重,則為加權(quán)的wBRB譯碼算法,wBRB算法的譯碼性能明顯優(yōu)于BRB算法。
其對(duì)應(yīng)的可靠度信息計(jì)算方法如式(9)所示:
相應(yīng)的,其符號(hào)可靠度信息計(jì)算方法如式(11)所示:
第二組外信息集合由兩個(gè)下標(biāo)子集J1和J2構(gòu)成,基于兩個(gè)外信息符號(hào)可靠度值之間的距離特征,對(duì)與之相鄰的變量節(jié)點(diǎn)進(jìn)行分類,下標(biāo)子集J1和J2的定義如式(12)和(13)所示:
相應(yīng)的,其符號(hào)可靠度信息可采用Min-Sum算法原理計(jì)算,具體計(jì)算方法如式(15)所示。
式中,
接下來的實(shí)現(xiàn)步驟與wBRB譯碼算法相同。為完整、清晰的描述所提算法的實(shí)現(xiàn)過程,詳細(xì)步驟描述如下:
Step 1:輸入
初始信道信息向量y=(y0,y1,…,yn-1),量化處理比特位數(shù)b,量化間隔Δ以及設(shè)置最大迭代次數(shù)Imax。
Step 2:初始化
① 對(duì)向量yj按比特進(jìn)行均勻量化處理,獲得整數(shù)向量qj;
② 設(shè)置循環(huán)迭代次數(shù)控制變量k=0,加權(quán)系數(shù)向量θw,這里w=1,2;
Step 3:譯碼迭代過程
② 當(dāng)k>=Imax時(shí),退出迭代過程,返回譯碼失??;
③ 對(duì)0≤i≤m-1,0≤t≤l-1和j∈Ni,在校驗(yàn)節(jié)點(diǎn),基于變量節(jié)點(diǎn)傳遞來的2維信息,按式(10)、(11)、(14)和(15)計(jì)算外信息符號(hào)及其相應(yīng)的可靠度信息;
④ 對(duì)0≤j≤n-1和0≤t≤l-1,在變量節(jié)點(diǎn),對(duì)外信息采用基于漢明距離的修正系數(shù)按式(16)和(5)進(jìn)行加權(quán)處理;
⑥ 設(shè)置k=k+1。
Step 4:輸出
表1 單次譯碼迭代計(jì)算復(fù)雜度比較表Tab.1 Number of operations per iteration
圖1 F32上(1 000,900)多元LDPC碼單次譯碼迭代計(jì)算復(fù)雜度Fig.1 Number of operations per iteration for the (1000,900) nonbinary LDPC code over F32
實(shí)驗(yàn)1:為對(duì)本文提出的譯碼算法性能進(jìn)行驗(yàn)證和比較,仿真實(shí)驗(yàn)選擇對(duì)F8(6 000,5 700)多元規(guī)則QC-LDPC碼,其碼率為0.95,列重為3,行重為60。本文及wBRB算法均采用12-bit均勻量化方案,量化間隔為0.003 9。最大譯碼迭代次數(shù)設(shè)置為Imax=50次;對(duì)wBRB算法,按文獻(xiàn)[19],設(shè)置θ=(1.60,1.20,0.20);對(duì)本文算法設(shè)置為:d=75,θ1=(0.15,0.10,0.01,0.01)和θ2=(0.08,0.06,0.002,0.002)。由上述設(shè)置的系數(shù)向量可以看出,本文算法由于采用了2維譯碼信息的傳遞,且傳遞的是符號(hào)可靠度信息,而wBRB算法采用數(shù)值較小的比特可靠度,因此,其修正系數(shù)的數(shù)值明顯比wBRB算法中的向量數(shù)值小。其譯碼性能如圖2所示。
從圖2可以看出:①本文提出的基于2維信息傳遞的wBRB譯碼算法,其性能與wBRB譯碼算法相比,在BER為10-4時(shí),本文算法大約能獲得0.2 dB性能增益;②與性能最優(yōu)復(fù)雜度最高的FFT-QSPA譯碼算法相比,在BER為10-4時(shí),本文算法與其存在0.28 dB左右的性能差距。
實(shí)驗(yàn)2:選擇對(duì)F32(1 000,900)多元LDPC規(guī)則碼進(jìn)行仿真實(shí)驗(yàn),該多元LDPC碼的碼率為0.90,列重為4,行重為40。本文及wBRB算法均采用12-bit均勻量化方案,量化間隔為0.003 9。最大譯碼迭代次數(shù)設(shè)置為Imax=50次;對(duì)wBRB算法,按文獻(xiàn)[19],設(shè)置θ=(2.50,2.00,0.25);對(duì)本文算法設(shè)置為:d=200,θ1=(0.1,0.08,0.015,0.005,0.002)和θ2=(0.045,0.035,0.006,0.003,0.001)。其譯碼性能如圖3所示。
圖2 F8上(6 000,5 700)多元LDPC碼譯碼性能比較Fig.2 Error performances of the(6 000,5 700) nonbinary LDPC code over F8
圖3 F32上(1 000,900)多元LDPC碼譯碼性能比較Fig.3 Error performances of the (1 000,900) nonbinary LDPC code over F32
從圖3可以看出:①本文提出的基于2維信息傳遞的wBRB譯碼算法,其性能與wBRB譯碼算法相比,在BER為10-4時(shí),本文算法大約能獲得0.3 dB性能增益;②與性能最優(yōu)復(fù)雜度最高的FFT-QSPA譯碼算法相比,在BER為10-4時(shí),本文算法與其存在0.37 dB左右的性能差距。
本文提出了一種基于2維譯碼信息傳遞的wBRB多元LDPC譯碼算法,該算法基于MP類算法思想,在變量和校驗(yàn)節(jié)點(diǎn)采用2維信息處理策略,利用符號(hào)可靠度進(jìn)行信息傳遞,實(shí)現(xiàn)了更全面更有效的譯碼信息處理方法。本算法利用符號(hào)可靠度之間的距離信息作為度量,合理地把2維信息劃分為最可靠和次可靠的兩組譯碼信息集合,基于該信息集合,在校驗(yàn)節(jié)點(diǎn)僅計(jì)算兩個(gè)最有價(jià)值的外信息符號(hào)及其可靠度。相比其他同類算法,本文算法設(shè)計(jì)了更優(yōu)的譯碼信息獲取和更新策略,實(shí)現(xiàn)譯碼性能的提升。最后,通過算法復(fù)雜度分析和仿真實(shí)驗(yàn)結(jié)果表明,與原版wBRB算法相比,本文提出的譯碼算法大約能獲得0.2~0.3 dB的譯碼性能增益,在譯碼性能和復(fù)雜度之間取得較好的平衡。