基于簡化投影算子的ldpc碼交替方向乘子譯碼方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種基于簡化投影算子的LDPC碼交替方向乘子譯碼方法,屬于通信技 術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 由于基于稀疏校驗矩陣的LDPC碼具有逼近香農(nóng)限的良好性能,因此被802.1 In等 現(xiàn)代通信標(biāo)準(zhǔn)普遍采納,并在光纖通信、衛(wèi)星數(shù)字視頻和深空通信等領(lǐng)域得到了廣泛的應(yīng) 用,已經(jīng)引起學(xué)術(shù)界和IT業(yè)界的高度重視。因此,對LDPC碼譯碼算法的研究是一類非常重要 的問題。
[0003] 隨著LDPC碼的廣泛應(yīng)用,其譯碼方法也日趨成熟?;诮惶娣较虺俗臃?ADMM)的 線性規(guī)劃譯碼方法是一種新穎的LDPC碼譯碼方法,這種方法建立在線性規(guī)劃松弛的基礎(chǔ)之 上,針對增廣拉格朗日函數(shù)引入了輔助變量,設(shè)計了新的適用于LDPC碼線性規(guī)劃問題求解 方法,易于進(jìn)行數(shù)學(xué)分析,且具有最大似然保持特性。但該方法的不足之處是譯碼復(fù)雜度較 高,在更新校驗節(jié)點消息時要執(zhí)行大量耗時的歐幾里德投影運算,導(dǎo)致譯碼速度較慢,尤其 是遇到節(jié)點度數(shù)較大的LDPC碼譯碼時這一問題更加突出。
[0004] 目前已有專利技術(shù)"一種改進(jìn)的LDPC碼的線性規(guī)劃譯碼方法"(授權(quán)公告日:2013 年4月17日,授權(quán)公告號:CN 102130745B)中公開了一種改進(jìn)的LDPC碼的線性規(guī)劃譯碼方 法。該專利申請中的譯碼方法在原始線性規(guī)劃譯碼的基礎(chǔ)上,通過自適應(yīng)添加有效冗余校 驗來提高譯碼模塊的性能,有效改善整個通信系統(tǒng)的通信質(zhì)量。但該譯碼方法仍有不足:仍 然需要利用標(biāo)準(zhǔn)線性規(guī)劃問題求解方法進(jìn)行譯碼,因此該譯碼方法的譯碼速度仍然不高。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的在于對上述已有技術(shù)的不足,提出一種基于簡化投影算子的LDPC碼 交替方向乘子譯碼方法,以降低歐幾里德投影的復(fù)雜度,提高譯碼效率。
[0006] 實現(xiàn)本發(fā)明目的技術(shù)方案是:在現(xiàn)有ADMM譯碼技術(shù)的基礎(chǔ)上,通過引入簡化的投 影算子,降低每次迭代中歐幾里德投影復(fù)雜度,從而提高譯碼效率,其實現(xiàn)步驟包括如下:
[0007] (1)設(shè)置譯碼參數(shù):
[0008] la)設(shè)置最大迭代次數(shù)N=600;
[0009] lb)設(shè)置譯碼容差值ε = 10-5;
[0010] (2)譯碼參數(shù)初始化:
[0011] 2a)將譯碼的迭代次數(shù)初始化為0;
[0012] 2b)將拉格朗日乘子向量初始化為零向量;
[0013] (3)將一個碼長為η的LDPC碼經(jīng)過加性高斯白噪聲信道傳輸,得到消息向量r = {>1,…,ri,···,rn},其中ri表示第i位消息,i = l,2···,n,根據(jù)r計算對數(shù)似然比γ i,將γ i作 為線性規(guī)劃目標(biāo)函數(shù)的系數(shù);
[0014] (4)根據(jù)目標(biāo)函數(shù)的系數(shù)丫卅算譯碼的初始解向量Λ
[0015] (5)根據(jù)第k次迭代的拉格朗日乘子向量 < 和解向量Λ計算第k+1次迭代的第一 輔助向量<+1,通過如下公式計算:
[0016]
[0017] 其中,Tj是由j生成的轉(zhuǎn)換矩陣,j表示LDPC的校驗節(jié)點;W是由維數(shù)為dj且所有 含偶數(shù)個1的0-1向量所構(gòu)成的校驗多胞體,
表示向量+M到校驗多胞 體$&的簡化歐幾里德投影運算,稱為簡化歐幾里德投影算子,是校驗節(jié)點j所校驗 變量節(jié)點的個數(shù);
[0018] (6)根據(jù)第k次迭代拉格朗日乘子向量g和第k+Ι次迭代第一輔助向量Z4/1,計算第 k+Ι次迭代的第二輔助向量tk+1;
[0019] (7)根據(jù)第k+1次迭代第二輔助向量tk+1和變量節(jié)點i的度數(shù)cU,計算第k+1次迭代 解向量xk+1;
[0020] (8)根據(jù)第k+1次迭代解向量xk+1和第一輔助向量zf1,計算第k+1次迭代的拉格朗 日乘子向量yi+1;
[0021] (9)判斷是否達(dá)到譯碼終止條件,若是,則將第k+1次迭代解向量作為譯碼結(jié)果輸 出,否則,返回步驟(5)。
[0022] 本發(fā)明與現(xiàn)有技術(shù)相比具有以下優(yōu)點:
[0023] 本發(fā)明利用基于簡化投影算子的LDPC碼交替方向乘子譯碼方法來求解LDPC碼的 線性規(guī)劃譯碼問題,設(shè)計一種簡化的歐幾里德投影運算替代現(xiàn)有歐幾里德投影運算,與傳 統(tǒng)的基于交替方向乘子法的譯碼方法相比,不僅減少了耗時的歐幾里德投影運算,而且又 不損失糾錯性能和迭代收斂速度,從而提高了通信系統(tǒng)或存儲系統(tǒng)的譯碼效率。
【附圖說明】
[0024] 圖1是本發(fā)明的實現(xiàn)流程圖;
[0025] 圖2是本發(fā)明與現(xiàn)有方法的譯碼仿真性能對比圖;
[0026 ]圖3是本發(fā)明與現(xiàn)有方法的收斂速度對比圖。
【具體實施方式】 [0027] -.技術(shù)原理
[0028]本發(fā)明的實現(xiàn)是基于交替方向乘子法1:懲罰譯碼器求解LDPC碼的線性規(guī)劃譯碼 問題進(jìn)行的。
[0029] 1. LDPC碼的線性規(guī)劃譯碼問題描述如下:
[0030]將一個碼長為η的LDPC碼經(jīng)過加性高斯白噪聲信道傳輸,得到消息向量r = {ri,···,ri,···,rn},其中η表示第i位消息,i = l,2···,n,根據(jù)ri十算對數(shù)似然比γ i,所用公式 為:
[0031 ] γ i = log(Pr(n | Ci = 0)/Pr(ri | Ci = 1)),
[0032] 其中,Cl表示發(fā)送的第i位消息,Pr( ·)表示括號內(nèi)代表的事件發(fā)生的概率。將對 數(shù)似然比丫:作為線性規(guī)劃目標(biāo)函數(shù)的系數(shù),引入懲罰項的LDPC碼線性規(guī)劃譯碼問題模型 為:
[0033]
[0034]
[0035] 其中,γ i為目標(biāo)函數(shù)系數(shù),向量χ={χι,Χ2,···,Xn}表示譯碼的解向量,α為懲罰項 的懲罰因子,J是LDPC碼校驗節(jié)點索引集,山是校驗節(jié)點j所校驗變量節(jié)點的個數(shù),是維數(shù) 為山的第一輔助向量,是由維數(shù)為山且所有含偶數(shù)個1的0-1向量所構(gòu)成的校驗多胞體, 轉(zhuǎn)換矩陣Tj是由校驗節(jié)點j生成的,定義如下:假設(shè)校驗節(jié)點j的鄰居節(jié)點為{ii, i2,…,id},其中ii<i2<…<id,則Tj中對于所有kedj的(k,i k)處的值為1,其余位置的值為 0〇
[0036] 2.根據(jù)上述線性規(guī)劃問題模型,建立的增廣拉格朗日函數(shù)為:
[0037]
[0038]其中,P為增廣拉格朗日函數(shù)懲罰因子,yj為維數(shù)為dj的拉格朗子乘子向量,符號 ? | h表示2-范數(shù)運算。
[0039] 二.實施例
[0040] 以IEEE802.16E標(biāo)準(zhǔn)中碼率為0.5的(2304,1152)非規(guī)則LDPC碼為例進(jìn)行譯碼,結(jié) 合附圖對本發(fā)明進(jìn)行詳細(xì)描述。
[0041 ]參照圖1,本發(fā)明的實現(xiàn)步驟如下:
[0042] 步驟1,設(shè)置譯碼參數(shù)。
[0043] 譯碼參數(shù)包括解向量X,拉格朗日乘子向量yj,第一輔助向量Zj,第二輔助向量t,容 差值ε,迭代次數(shù)k,最大迭代次數(shù)N,懲罰項懲罰因子α和增廣拉格朗日函數(shù)懲罰因子P,j為 校驗節(jié)點。
[0044] 譯碼的最大迭代次數(shù)設(shè)置得越大,譯碼性能會越好,但是譯碼時間也會越長。綜合 考慮譯碼的時間和性能,本發(fā)明的實施例以碼率為0.5的(2304,1152)非規(guī)則LDPC碼為例, 采用h懲罰譯碼器進(jìn)行譯碼,將譯碼的最大迭代次數(shù)N設(shè)置為600,將容差值ε設(shè)置為ΚΓ 5,懲 罰項懲罰因子α設(shè)置為0.6,增廣拉格朗日函數(shù)懲罰因子Ρ設(shè)置為5.5。
[0045]步驟2,譯碼參數(shù)初始化。
[0046] 將譯碼的迭代次數(shù)k初始化為0,將拉格朗日乘子向量yj初始化為零向量。
[0047] 步驟3,計算線性規(guī)劃目標(biāo)函數(shù)的系數(shù)γ 1<3
[0048]在本發(fā)明的實施例中,將一個碼長η為2304的非規(guī)則LDPC碼經(jīng)過加性高斯白噪聲 AWGN信道傳輸,經(jīng)過BPSK調(diào)制后,得到消息向量r = {η,…,ri,…,rn},其中ri表示第i位消 息,i = l,2···,n;
[0049]根據(jù)消息向量r計算對數(shù)似然比γ i:
[0050] γ i = log(Pr(ri I Ci = 0)/Pr(ri I ci = 1)),
[0051] 將^作為線性規(guī)劃目標(biāo)函數(shù)的系數(shù),其中,Cl表示發(fā)送的第i位消息,Pr( ·)表示 括號內(nèi)代表的事件發(fā)生的概率。
[0052] 步驟4,計算譯碼的初始解向量x*3。
[0053] 根據(jù)線性規(guī)劃目標(biāo)函數(shù)的系數(shù)γΗ+算譯碼的初始解向量/,通過如下公式計算:
[0054] 〇 [0,?0之0
[0055] , U r,_<〇
[0056] 其中4為初始解向量#的第i個分量。
[0057] 步驟5,計算第k+Ι次迭代的第一輔助向量zf1 ?
[0058] 根據(jù)第k次迭代的拉格朗日乘子向量^和解向量xk,計算第k+1次迭代的第一輔助 向量i/1,通過如下公式計算:
[0059]
[0060]其中,Tj是由j生成的轉(zhuǎn)換矩陣,j表示LDPC的校驗節(jié)點;2??是由維數(shù)為dj且所有 含偶數(shù)個1的ο-1向量所構(gòu)成的校驗多胞體,
表示向量+ yf到校驗多胞 體的簡化歐幾里德投影運算,稱為簡化歐幾里德投影算子,山是校驗節(jié)點j所校驗 變量節(jié)點的個數(shù);
[0061] 簡化歐幾里德投影算子按如下步驟構(gòu)建:
[0062] 5a)將向量
?各分量重新排序得到一個新的向量?,使得中最大 的m個分量排在?的前m個位置,即
,其中中最大的m個分量組成的 向量,62是11中余下的山-m個分量組成的向量,0<m<^,m稱為簡化歐幾里德投影算子維 數(shù);
[0063] 5b )令艮= (i〇,即艮是u:1在校驗多胞體ppm上的歐幾里德投影;令
的第S個分量ΦΛ按下式計算: '1, (?2χ >1
[0064] (p2)s=<(), (? 2χ<0, 見),,其它
[0065] 其中(fij表示向量?2.的第s個分量,1 < s < dj-m;
[0066] 5c)由色、組成一個維數(shù)為dj的向量β,即盧= (Α,β:);
[0067] 5d)將&中分量順序恢復(fù)成T/.X&+y^_中原有分量順序,所得向量
為 在校驗多胞體M/,上的簡化歐幾里德投影向量,即
〇
[0068] 在本發(fā)明的實施例中,簡化歐幾里德投影算子維數(shù)m依次取1、2、3和4。
[0069] 步驟6,計算第k+1次迭代的第二輔助向量tk+1。
[0070] 根據(jù)第k次迭代拉格朗日乘子向量#和第k+