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