山西中北大學(xué)計(jì)算機(jī)與控制工程學(xué)院 楊夢茹 楊喜旺 袁麗喬
乘積碼作為一種由短碼構(gòu)造長碼的強(qiáng)有力的工具,具有自交織特性,可以對抗組合錯誤。LDPC碼的性能接近香農(nóng)極限,具有高可靠性和效率,以及良好的糾正短期隨機(jī)誤差的性能。RS碼具有抗突發(fā)錯誤的優(yōu)良性能,作為列編碼能減少行編碼LDPC迭代次數(shù)。LDPC-RS乘積碼以碼字矩陣為單位進(jìn)行譯碼,碼字矩陣尺寸較大時(shí),會產(chǎn)生較大的系統(tǒng)延遲。為了改進(jìn)這個(gè)缺陷,采用基于原模圖的LDPC碼作為乘積碼的列編碼。所述乘積碼應(yīng)用于無線通信系統(tǒng)中,不僅在降低誤碼率方面有著出色表現(xiàn),而且在衰落信道下不需要使用復(fù)雜的交織器用于穩(wěn)定接收,因?yàn)檫@個(gè)二維乘積碼本身提供塊型交織器。
LDPC碼有兩個(gè)主要特點(diǎn)使其從其它分組碼中脫穎而出,即低密度奇偶校驗(yàn)矩陣和置信傳播(BP)解碼算法[1]。一個(gè)m×n的奇偶校驗(yàn)矩陣H可以關(guān)聯(lián)到一個(gè)每一列對應(yīng)一個(gè)位節(jié)點(diǎn)和每一行對應(yīng)一個(gè)校驗(yàn)節(jié)點(diǎn)的二分圖。一條邊連接第i個(gè)比特節(jié)點(diǎn)和第j個(gè)校驗(yàn)節(jié)點(diǎn),如果第i個(gè)碼字參與組成第j個(gè)約束方程,即Hij=1。這種方式,BP解碼過程可以理解為在兩種節(jié)點(diǎn)邊緣間的信息迭代的交換。
通信系統(tǒng)中需要一種功能強(qiáng)大的碼,以滿足對高質(zhì)量通信的要求,乘積碼便是一種產(chǎn)生這種碼的實(shí)用技術(shù)。典型的二維乘積碼編碼方案為排列在矩形陣列中的信息碼的每個(gè)行和列分別由線性分組碼C1和C2進(jìn)行編碼。乘積碼表示為P=C2。若C1和C2分別表示為(n1,k1,δ1)和(n2,k2,δ2),則 乘積碼P的長度n=n1×n2,信息位k=k1×k2,最小漢明距離 δ =δ1×δ2,碼率 R =R1×R2。k1× k2矩陣被稱為信息陣列,而其余的條目形成碼字的奇偶校驗(yàn)部分。LDPC-RS乘積碼選擇GF(2m)上的RS碼作為水平碼C1,二進(jìn)制LDPC碼作為垂直碼C2[1]。編碼由兩個(gè)階段組成:信息陣列由C1逐行編碼,然后由C2逐列編碼得到碼塊,編碼方案如圖1所示。
圖1 LDPC-RS乘積碼編碼方案
此乘積碼的結(jié)構(gòu)提供了許多組件代碼的解碼技術(shù),不同的組合策略產(chǎn)生多種解碼解決方案。選擇合適的組件代碼的解碼技術(shù),并安排它們按照一個(gè)特定的順序所獲得的基于信道條件下的誤碼性能和解碼的復(fù)雜性之間的最佳平衡,就是最合適的解碼方案。
二維乘積碼的碼字結(jié)構(gòu)特性為譯碼方式提供了多種可能性,線性分組碼的譯碼性能決定了乘積碼的譯碼性能。傳統(tǒng)的譯碼算法一般是單獨(dú)運(yùn)用LDPC譯碼方法和RS譯碼方式對成分碼字進(jìn)行分別譯碼。單獨(dú)運(yùn)用LDPC譯碼或者RS譯碼的方案未能運(yùn)用乘積碼結(jié)構(gòu)特性提升譯碼性能,而先對LDPC譯碼再對RS譯碼的串行級聯(lián)譯碼方案也未能運(yùn)用乘積碼的兩個(gè)成分碼字進(jìn)行迭代信息交換的特性。為了進(jìn)一步提高二維乘積碼的譯碼性能,采用一種行列迭代的譯碼算法對LDPC-RS乘積碼進(jìn)行譯碼。
行列迭代的譯碼算法通過輸入線性偏差和堆積引理計(jì)算校驗(yàn)全空間所有組合的校驗(yàn)關(guān)系式的線性偏差,進(jìn)而通過沃爾什逆變換求出每個(gè)比特的輸出線性偏差,通過行、列迭代方法中的混合運(yùn)算方程式對數(shù)據(jù)中的錯誤比特進(jìn)行修正,降低了譯碼錯誤率,提高了譯碼性能[2]。
行列迭代譯碼方法,按照公式(1)來計(jì)算,每個(gè)比特滿足r個(gè)線性校驗(yàn)關(guān)系式 L0=0,L1=0,…,Lr-1=0條件下的線性偏差~p=(ξi|L)。
其 中 p1=p(L0=0,L1=0,...,Lr-1=0,i=0)
L0=0,L1=0,…,Lr-1=0為線性分組碼(n,k)的每個(gè)碼字為n、比特向量ξ=(0,ξ1,...,ξn-1)的 r個(gè)校驗(yàn)方程,共 2r個(gè)校驗(yàn)組合,p(L0=0,L1=0,....,Lr-1=0,ξi=0) 為 ξi=0時(shí) 2r個(gè)線性組合的線性偏差的和。同時(shí)按照方程式(2)作為混合計(jì)算方程式計(jì)算更新的線性偏差。
先計(jì)算列譯碼的輸出線性偏差和更新線性偏差,將列譯碼得到的每個(gè)更新的比特輸出線性偏差作為行譯碼的輸入線性偏差,計(jì)算出每個(gè)比特的輸出線性偏差,然后計(jì)算得到更新的輸出線性偏差,一次迭代結(jié)束。數(shù)次迭代之后,輸出線性偏差收斂到+l或-1時(shí),迭代結(jié)束。
在仿真中,LDPC碼采用(576,288)碼,RS碼使用了定義在GF(28)上的 RS(207,187)縮短碼。無線通信系統(tǒng)采用了滿足IEEE 802.11a標(biāo)準(zhǔn)的OFDM系統(tǒng),調(diào)制方式分別采用了QPSK技術(shù)和64QAM技術(shù)。使用MATLAB軟件進(jìn)行仿真分析。
由圖2可以看出在信噪比較低的情況下,分別經(jīng)過RS碼、LDPC碼 、LDPC-RS級 聯(lián) 碼 ,LDPC-RS乘積碼編碼BPSK調(diào)制的OFDM系統(tǒng)的誤碼率并沒有表現(xiàn)出明顯的優(yōu)勢。隨著信噪比的增大,加入LDPC碼的OFDM系統(tǒng)相對于RS編碼的OFDM系統(tǒng)具有更低的誤碼率,且LDPC-RS碼具有比兩者更低的誤碼率。并且隨著信噪比的增大,誤碼率逐漸穩(wěn)定。如圖3所示,可以得出16QAM調(diào)制比BPSK調(diào)制有更好的性能,RS碼和LDPC碼的誤碼率更加接近了,LDPC-RS乘積碼也有更低的誤碼率,但是誤碼率信噪比曲線趨于穩(wěn)定的點(diǎn)后移。因此在實(shí)際系統(tǒng)中LDPC-RS乘積碼對于提高OFDM系統(tǒng)可靠性還是有非常顯著的效果,相對于RS碼和LDPC碼也有明顯的優(yōu)勢。在兩種調(diào)制方式下LDPC-RS乘積碼相對于LDPC-RS級聯(lián)碼獲得了更低的誤碼率。
圖2 BPSK調(diào)制誤碼率信噪比曲線
圖3 16QAM調(diào)制誤碼率信噪比曲線
為提高無線通信系統(tǒng)的性能,構(gòu)建了LDPC-RS碼,并比較了RS碼、LDPC碼、LDPC-RS級聯(lián)碼和LDPC-RS乘積碼在兩種不同調(diào)制方式下以及在OFDM系統(tǒng)中的誤碼率性能。仿真結(jié)果表明,LDPC-RS乘積碼能有效降低誤碼率,提高通信系統(tǒng)的性能。
[1]魏延清.Turbo乘積碼編譯碼算法研究及ASIC設(shè)計(jì)[D].西安電子科技大學(xué),2011。
[2]張寶東,班榮峰,鄭建云等.乘積碼譯碼方法:中國,104022786A,[P].2014-9-3。