馬克祥,金 晶
(1.中國電子科學(xué)研究院,北京 100041;2.北京宇航系統(tǒng)工程研究所,北京 100076)
由于LDPC碼優(yōu)良的譯碼特性,已經(jīng)被選為5G數(shù)據(jù)傳輸?shù)男诺谰幋a方案。比較常見的LDPC碼譯碼算法有BP類算法和BF類算法兩大類。BF類譯碼算法計(jì)算復(fù)雜較低,資源開銷較小,硬件實(shí)現(xiàn)時(shí)可以構(gòu)造快速譯碼器,因此得到廣泛的研究。對(duì)于校驗(yàn)失敗的方程,其包含的變量節(jié)點(diǎn)對(duì)這種偏離造成的影響是不同的。當(dāng)比特節(jié)點(diǎn)的信道接收值相對(duì)比較小時(shí),造成與其相關(guān)校驗(yàn)方程錯(cuò)誤的概率反而更高。由此,文獻(xiàn)[1]提出加權(quán)比特翻轉(zhuǎn)算法(Weighted Bit Flipping,WBF)。在此基礎(chǔ)上,文獻(xiàn)[2]-[3]提出一系列的改進(jìn)算法提升WBF類算法性能。WBF類算法一般僅限于大列重LDPC碼譯碼。文獻(xiàn)[4]中的RRWBF及其改進(jìn)算法IRRWBF[5]可用于小列重LDPC碼譯碼。這兩個(gè)算法相較于與其它比特翻轉(zhuǎn)算法具有良好的譯碼性能,但是其單比特翻轉(zhuǎn)特性使其譯碼收斂速度較慢。
RRWBF算法作為單比特翻轉(zhuǎn)譯碼算法收斂速度較慢,但是具有良好的譯碼性能。增加RRWBF算法譯碼過程翻轉(zhuǎn)比特的個(gè)數(shù),可以有效的提高譯碼收斂的速度,但是同時(shí)多比特翻轉(zhuǎn)過程容易引入更多的錯(cuò)誤翻轉(zhuǎn)比特,從而影響譯碼性能。因此,本文算法所提多比特翻轉(zhuǎn)算法重點(diǎn)結(jié)合一種單多比特切換機(jī)制,檢測(cè)到多比特翻轉(zhuǎn)引入過多的翻轉(zhuǎn)錯(cuò)誤時(shí)切換到單比特算法,在有效提升傳統(tǒng)算法譯碼速度的同時(shí)有效降低多比特對(duì)譯碼性能的影響。本提出給出一種多比特選擇的機(jī)制,利用該機(jī)制可以在每次迭代譯碼過程中選擇合理數(shù)量的比特進(jìn)行翻轉(zhuǎn),使得每次迭代過程選擇的翻轉(zhuǎn)比特既可以在不明顯衰減譯碼的前提下,獲得譯碼速度的極大提升。
校驗(yàn)節(jié)點(diǎn)和比特節(jié)點(diǎn)分別記為Θ和Γ。衡量Θm和Γn可靠性的值分別叫做度量值Tm和品質(zhì)因素En。M(n)={m:hmn=1}和N(m)={n:hmn=1}分別為連接Γn和Θm的校驗(yàn)節(jié)點(diǎn)和比特節(jié)點(diǎn)集合。第k次譯碼時(shí),nf,k和M(nf,k)分別為該譯碼時(shí)刻翻轉(zhuǎn)的Γ以及與其相連的Θ節(jié)點(diǎn)集合,校驗(yàn)結(jié)果發(fā)生變化的Θ節(jié)點(diǎn)稱為翻轉(zhuǎn)校驗(yàn)集,記做M(nf,k)。與M(nf,k)包含的元素mf,k相連的Γ節(jié)點(diǎn)記為nmf,k。消除冗余計(jì)算的RRWBF(IRRWBF)算法詳述如下:
計(jì)算每個(gè)比特節(jié)點(diǎn)n的品質(zhì)因素。
(1)
步驟1:sk=0,輸出zk。
步驟3:k=k+1,當(dāng)k>Kmax,輸出zk,否則計(jì)算sk,公式如下:
(2)
然后轉(zhuǎn)到Step1進(jìn)行下一次迭代譯碼嘗試。
本文算法流程描述如下:
步驟1:翻轉(zhuǎn)比特?cái)?shù)nk=α·?gk/dc」;若nk>Un則nk=Un,否則為nk。
步驟2:找到具有最大nk個(gè)品質(zhì)因素的比特位置,將這些比特的譯碼結(jié)果翻轉(zhuǎn)完成本次譯碼迭代,計(jì)算校驗(yàn)節(jié)點(diǎn)在第k步迭代的伴隨式sk;
步驟4:對(duì)每次迭代的nk數(shù)目num情況進(jìn)行統(tǒng)計(jì),當(dāng)nk減少時(shí),num重新計(jì)數(shù),若不減少則num加1,當(dāng)計(jì)數(shù)累加到stop次迭代后,nk=1。k=k+1。如果nk=1且num=stop時(shí),返回Step2;否則返回Step1。
利用隨機(jī)LDPC碼Mackay (504, 252)(簡記為Mackay 504)實(shí)例化算法,構(gòu)造相應(yīng)地修正比特翻轉(zhuǎn)LDPC譯碼器。各個(gè)算法的最大迭代次數(shù)為50。測(cè)試數(shù)據(jù)經(jīng)過BPSK調(diào)制后經(jīng)由AWGN信道傳輸,噪聲的均值為0、方差為N0/2。
圖1 Mackay 504碼譯碼性能比較
圖1給出本文算法在α=1.6,Un=8,stop=15時(shí)的譯碼性能。從仿真圖可以看出,當(dāng)SNR=4.4 dB的時(shí)候,本文算法的性能相較于IRRWBF算法有0.1 dB的損失。此時(shí),IRRWBF算法的平均迭代次數(shù)為42.7,而本文算法僅為7.9,下降了將近5倍。在錯(cuò)誤比特較多的情況下,多比特翻轉(zhuǎn)引起更多錯(cuò)誤翻轉(zhuǎn)的概率大于單比特翻轉(zhuǎn),從而使得單純的多比特翻轉(zhuǎn)算法譯碼性能劣于多比特翻轉(zhuǎn)算法。進(jìn)而使得本文算法在低信噪比譯碼性能下降較多。但是,在高信噪比區(qū)域本文算法綜合單比特譯碼算法和多比特譯碼算法兩者的優(yōu)勢(shì),進(jìn)而使得譯碼性能比單純的單比特譯碼算法性能還要有所提升,表現(xiàn)出良好的應(yīng)用前景。
表1 Mackay 504碼譯碼迭代次數(shù)比較
為了提高LDPC碼的譯碼速度,本文提出一種包含迭代提前停止機(jī)制的多比特翻轉(zhuǎn)RRWBF算法。與IRRWBF算法相比,本文算法在各個(gè)信噪比場(chǎng)景下都具有較快的譯碼收斂速度,多數(shù)情況下比原有算法收斂速度提升約5倍以上,可以更好的滿足高速數(shù)據(jù)傳輸場(chǎng)景下的快速高效譯碼需求。