欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

Ldpc碼的快速收斂譯碼算法的制作方法

文檔序號:7525836閱讀:436來源:國知局
專利名稱:Ldpc碼的快速收斂譯碼算法的制作方法
技術領域
LDPC碼的快速收斂譯碼算法屬于通信信道譯碼技術領域,特別涉及采用前向差錯控制(FEC)技術用于數(shù)據(jù)傳輸及存貯時的一種采用低密度奇偶校驗碼(LDPC碼)糾正信道差錯的有效而快速的譯碼方法。

背景技術
數(shù)據(jù)在存貯以及傳輸過程中經常會引發(fā)各種差錯。產生這種差錯的原因有隨機噪聲、解調過程中的同步丟失、無線傳輸中的多徑衰落、磁性存儲器中的磁道缺損等。這種突發(fā)錯誤一般呈非周期性出現(xiàn)并且持續(xù)時間長短不定。由于這些差錯的存在,大大限制了特定帶寬下的信息傳輸速率和特定面積下存儲器的存儲容量。特別是在無線多媒體傳輸系統(tǒng)中,由于大量的數(shù)據(jù)要在帶寬有限且受到各種突發(fā)嚴重干擾的信道中以很高的可靠性傳輸,這一問題變得更加突出。
為了解決數(shù)據(jù)傳輸和存儲中的可靠性問題,通常采用信道編碼的方法。在當前已有的信道編碼方法中,新近提出的LDPC碼具有最為強大的糾錯能力,具有很強的應用前景。
采用LDPC碼進行差錯控制的譯碼方法為 1.LDPC碼的定義和參數(shù) LDPC碼是一種二進制分組碼,這種碼采用超稀疏矩陣作為校驗矩陣。矩陣中每行(每列)中非零元素的個數(shù)非常稀少,且位置呈隨機分布。由于LDPC碼是分組碼,對于任何合法的碼字V,與校驗矩陣H的乘積為零,即H·VT=0。為了描述譯碼算法方便,我們用Tanner圖來描述LDPC碼。Tanner圖由兩類節(jié)點組成,一類是變量節(jié)點,一類是校驗節(jié)點。每個變量節(jié)點對應于碼字里面的一個比特,每個校驗節(jié)點對應于校驗矩陣H里面的一行。變量節(jié)點與校驗節(jié)點的連線對應于校驗矩陣H里面的‘1’,如圖1所示。在迭代譯碼過程中,譯碼器利用校驗節(jié)點和變量節(jié)點的約束關系進行迭代譯碼。在一次迭代過程中,首先利用變量節(jié)點的約束關系進行譯碼,各變量節(jié)點的輸入為接收序列對應的對數(shù)似然值(即各個元符號取“1”的概率除以取“0”的概率再取自然對數(shù)所得的值)以及相關校驗節(jié)點在上一次迭代的輸出;隨后,變量節(jié)點的輸出通過“連線”送到相應的校驗節(jié)點,再利用校驗節(jié)點的約束關系進行譯碼。在這個過程中,一種節(jié)點的輸出成為另外一種節(jié)點的輸入,矩陣中非零元素所對應的“連線”成為了這兩種節(jié)點輸入輸出交換信息的“通道”。
2.LDPC碼的譯碼 LDPC碼的譯碼充分應用了校驗矩陣的超稀疏特性,通過變量節(jié)點和校驗節(jié)點的約束關系計算并輸出外信息,并相互反饋,進行迭代譯碼。(外信息即所有同屬于一個碼字的其它碼元通過碼字的約束關系而得到的關于某一個碼元取值的信息,采用外信息交互是為了避免迭代過程中出現(xiàn)正反饋。)當前,LDPC碼的譯碼方法主要有兩種譯碼流程(Decoding Schedule)。
流程一是泛洪算法(Flooding Schedule)。
設rij為從校驗節(jié)點j輸出到變量節(jié)點i的外信息,qij為從變量節(jié)點i到校驗節(jié)點j的外信息,泛洪算法的迭代過程包括如下步驟 1)譯碼初始化對于接收到的長度為N的實數(shù)序列Ri(1≤i ≤N),對應的LDPC碼第i個碼元的初始接收值被譯碼器解調成對數(shù)似然比的形式 式中LLR表示取值為對數(shù)似然比,σ2為信道噪聲的標準方差。同時,初始條件下校驗節(jié)點沒有任何關于碼字的信息,故設置校驗節(jié)點j輸出到變量節(jié)點i的外信息為 LLR(rij)=0(2) 2)若所得到的序列的硬判決結果不為一個合法的碼字(其中硬判決是指根據(jù)序列各個符號的對數(shù)似然值決定各個碼元符號的比特取值,對數(shù)似然值為正數(shù)則碼元取符號“1”,為負數(shù)則碼元取符號“0”),執(zhí)行一次譯碼的迭代過程為 a)變量節(jié)點的譯碼在這種節(jié)點的約束關系下,輸出與輸入的關系為“和”的關系,即變量節(jié)點i到校驗節(jié)點j的外信息輸出為 式中Col[i]表示校驗矩陣H第i列非零元素的位置集合。
b)校驗節(jié)點的譯碼在校驗節(jié)點的約束關系下,輸出與輸入的關系為某種“最小”的關系,即校驗節(jié)點j輸出到變量節(jié)點i的外信息為 (4) 式中Row[j]表示校驗矩陣H第j行非零元素的位置集合。
根據(jù)校驗節(jié)點的輸出與輸入的關系,譯碼算法可以分為和積譯碼算法和最小和譯碼算法。這里采用的偏移最小和譯碼算法,是最小和算法的一種改進,其中β∈(0,1)。
3)迭代后所得的第i個變量節(jié)點的譯碼結果為該節(jié)點所有輸入的和 對所得到的譯碼結果進行如下的硬判決,然后轉移到第二步。其中第i個碼元符號的硬判決為 (6) 4)如果需要進行下一個碼字的譯碼,跳轉到第一步;否則,結束譯碼。
流程二是分層算法(Layered Schedule)。與泛洪算法不同,分層算法把校驗矩陣看成是一層層的校驗方程。泛紅算法是在所有變量節(jié)點更新之后再更新所有校驗節(jié)點,而分層算法是在更新當前層的校驗節(jié)點之后立即更新與當前層相連的變量節(jié)點。分層算法的迭代過程包括如下步驟 1)譯碼開始,把接收序列作為軟判決的初始值,把校驗節(jié)點傳輸給變量節(jié)點的外信息設為0.,如下所示 及 LLR(rij)=0(8) 2)迭代譯碼。對于第k次迭代,執(zhí)行如下迭代過程 設M是校驗矩陣的行數(shù),對于每一個0<m<M, a)計算當前層變量節(jié)點的外信息 b)校驗節(jié)點的譯碼校驗節(jié)點j輸出到變量節(jié)點i的外信息為 (10) 式中,β∈(0,1)。
c)更新當前層的變量節(jié)點的軟信息 3)判斷迭代次數(shù)是否達到預定值,或者硬判決譯碼序列是否為一個合法碼序列。
若是,輸出硬判決序列,并器輸出相應的變量節(jié)點所對應碼元的硬判決結果為 若否,則回到步驟2,迭代次數(shù)加1。
分層算法相對于泛洪算法有兩個優(yōu)點,一是只需要約一半的迭代時間,二是減少了存儲空間。雖然分層算法已經減少了近一半的迭代次數(shù),但是對于長碼而言,尤其是低碼率的情況,仍然需要很多次的迭代,導致譯碼延時很大。本發(fā)明對分層算法進行了改進,使收斂速度加快,從而減少了譯碼延時。


發(fā)明內容
LDPC碼的快速收斂譯碼算法,含有低密度奇偶檢驗碼的分層最小和譯碼方法,它的輸入為接收序列的對數(shù)似然值并在對數(shù)空間下通過利用比特節(jié)點和校驗接點的約束關系進行迭代譯碼,其特征在于,它利用校驗節(jié)點傳輸給變量節(jié)點的信息隨著迭代進行變得更準確的特性,在迭代譯碼中,擴大了當前軟信息中校驗節(jié)點信息的比重,從而加快了迭代過程的收斂速度。本發(fā)明的特征在于,所述方法是在譯碼譯碼器中依次按以下步驟實現(xiàn)的 步驟(1),譯碼初始化 對于接收到的長度為N的實數(shù)序列Ri(1≤i≤N),所述譯碼器的變量節(jié)點的初始值設置成對應的LDPC碼第i個碼元的對數(shù)似然比LLR(Ri), σ2為信道噪聲標準方差, 同時,設置校驗節(jié)點j輸出到變量節(jié)點i的外信息為LLR(rij), LLR(rij)=0;(14) 步驟(2),迭代譯碼當?shù)趉-1次迭代時所得到的所述序列Ri的硬判決結果不為一個合法的碼字時,執(zhí)行第k次迭代,設M是校驗矩陣的行數(shù),對于每一行m,0<m<M,執(zhí)行以下迭代步驟 步驟(2.1),計算所述當前變量節(jié)點i的外信息LLR(qij) 式中LLR′(rij)是第k-1次迭代的LLR(rij)值, 步驟(2.2),更新所述校驗節(jié)點j輸出到所述變量節(jié)點i的外信息LLR(rij),采用最小和譯碼算法時, (16) 式中,β∈(0,1), 步驟(2.3),更新所述當前層的變量節(jié)點i的軟信息為
式中,ω在(0,1)取值; 步驟(3),判斷迭代次數(shù)是否達到預定值K,或者判斷硬判決譯碼序列是否為一個合法碼序列, 若是,輸出硬判決序列并執(zhí)行下一步驟。譯碼器輸出相應的變量節(jié)點所對應碼元的硬判決結果為
并執(zhí)行下一步驟, 若不是,則回到步驟(2),迭代次數(shù)加1,執(zhí)行第k+1次迭代; 步驟(4),若有譯碼矢量需要譯碼,則回到步驟(1),若沒有,則結束譯碼過程。
本發(fā)明的效果是,能夠有效加快LDPC碼譯碼的收斂速度。



圖1.LDPC碼的Tanner圖。
圖2.本發(fā)明所述譯碼方法的程序流程圖。
圖3.應用本發(fā)明糾正傳輸差錯的通信系統(tǒng)框圖。

具體實施例方式 本發(fā)明提出的一種改進的分層最小和譯碼方法,如圖2所示,則本發(fā)明提出的譯碼方法包括以下步驟 譯碼開始時,接收序列輸入到變量節(jié)點,譯碼器進行初始化,譯碼迭代次數(shù)置為0。然后,譯碼器計算各階變量節(jié)點的硬判決輸出,送到節(jié)點碼字檢測節(jié)點,檢測硬判決序列是否為一個合法碼字。如果所得的硬判決系列為一個合法的碼序列,則譯碼結束,輸出相應的硬判決結果;否則,執(zhí)行一次迭代過程對于每一層校驗節(jié)點,利用標準的分層最小和算法來更新變量節(jié)點的LLR,然后對當前層的軟判決,適當放大LDPC碼當前層迭代的外信息,得到新的當前層的軟判決。完成這些運算后,迭代次數(shù)加1。在下一次迭代開始時,各階變量節(jié)點再次計算硬判決輸出,隨后由碼字檢測節(jié)點判決是否為一個合法碼序列。如果是一個合法碼字,則結束譯碼迭代,輸出相應的硬判決序列;否則,執(zhí)行一次迭代過程。完成這些運算以后,迭代次數(shù)加1,轉入下一輪迭代。
本發(fā)明所述方法的原理及算法描述如下 1)初始化軟判決值為 及 LLR(rij)=0(20) 2)迭代譯碼。對于第k次迭代,執(zhí)行如下迭代過程 設M是校驗矩陣的行數(shù),對于每一個0<m<M, a)計算當前層變量節(jié)點的外信息 b)校驗節(jié)點的譯碼校驗節(jié)點j輸出到變量節(jié)點i的外信息為 (22) c)更新當前層的變量節(jié)點的軟信息 式中LLR′(rij)是第k-1次迭代的LLR(rij)值,ω是一個0到1之間的數(shù)。
3)檢驗停止準則。如果迭代次數(shù)達到預定值,或者硬判決譯碼序列是一個合法碼序列,結束譯碼并輸出硬判決序列。
此時,譯碼器輸出相應的變量節(jié)點所對應碼元的硬判決結果為 實施例本實施例為在清華同方PC機上用軟件實現(xiàn)本發(fā)明提出的糾錯譯碼方法,如圖2所示,包括以下步驟 譯碼開始時,譯碼迭代次數(shù)置為0,并按照(13)(14)式進行初始化。然后,譯碼器轉移到2c,執(zhí)行一次迭代過程每層的變量節(jié)點根據(jù)(15)式計算各節(jié)點的輸出,通過節(jié)點間連線送到相應的校驗節(jié)點作為輸入;校驗節(jié)點再按照(16)式計算反饋給各變量節(jié)點的外信息,當前層的變量節(jié)點再按照(17)式更新軟信息值。完成這些運算后,轉移到步驟2f。如果所有層都被更新完,則迭代次數(shù)加1,否則繼續(xù)下一層的更新。隨后在步驟2h,判斷是否為合法碼字。如果不是,則跳轉到2c,轉入下一輪迭代;否則,轉移到步驟2i,判斷是否小于迭代最大允許值如果是,則下一步跳回到步驟2c;否則下一步轉移到步驟2j。步驟2j輸出譯碼結果。然后跳到步驟2k,判斷是否結束譯碼過程如果是,則譯碼結束,否則,重新開始下一個碼矢量的譯碼。
作為一個例子,表1列出了DVB-S2標準中的LDPC碼在BIAWGN信道下采用標準分層最小和算法以及本發(fā)明的算法所得到的譯碼迭代次數(shù)。由表1可見,本發(fā)明的算法所得的迭代次數(shù)要比標準算法少一些。在高信噪比情況下,平均迭代次數(shù)減少8.4%-19.7%,在低信噪比情況下,平均迭代次數(shù)要減少30%-62.6%。
表1.兩種譯碼算法在BIAWGN信道下的性能

可見,采用本方法能夠以較少的迭代次數(shù)得到很好的糾錯性能,大大提高了LDPC碼的實用性。
參照圖3,采用本發(fā)明的方法糾正傳輸差錯的通信系統(tǒng)包括一個產生數(shù)字信息流的信源31,LDPC編碼器33,傳輸信道35,以及如圖3所示的糾正傳輸錯誤譯碼器37。在本例中,信源31產生的攜帶信息的數(shù)據(jù)符號流32被送往LDPC碼編碼器33,LDPC碼編碼器33對信息進行信道編碼。編碼后的LDPC碼流34在傳輸信道35傳輸過程中受到干擾而產生差錯,包含傳輸差錯的碼流36被糾正傳輸錯誤的LDPC碼譯碼器37所接收。經過LDPC碼譯碼器37采用本發(fā)明的方法完成糾錯譯碼,輸出的碼流38為正確的數(shù)字信息流。
應當指出,本發(fā)明方法的應用還可以推廣到磁存儲系統(tǒng)中去。
本發(fā)明的效果是,通過利用LDPC碼迭代過程中外信息變得越來越可靠的特點,即LDPC碼相鄰兩次迭代的外信息代表了變量節(jié)點的LLR值改變的方向,適當增加當前迭代中的外信息能夠有效地加快迭代的收斂速度,從而有效地減少了迭代次數(shù)。因此,對于LDPC碼的譯碼,本方法明顯優(yōu)于其它的方法。
權利要求
1、LDPC碼的快速收斂譯碼算法,其特征在于,所述方法是在譯碼譯碼器中依次按以下步驟實現(xiàn)的
步驟(1),譯碼初始化
對于接收到的長度為N的實數(shù)序列Ri,1≤i≤N,所述譯碼器的變量節(jié)點的初始值設置成對應的LDPC碼第i個碼元的對數(shù)似然比LLR(Ri),
σ2為信道噪聲標準方差,
同時,設置校驗節(jié)點j輸出到變量節(jié)點i的外信息為LLR(rij),
LLR(rij)=0;
步驟(2),迭代譯碼當?shù)趉-1次迭代時所得到的所述序列Ri的硬判決結果不為一個合法的碼字時,執(zhí)行第k次迭代,設M是校驗矩陣的行數(shù),對于每一行m,0<m<M,執(zhí)行以下迭代步驟
步驟(2.1),計算所述當前變量節(jié)點i的外信息LLR(qij)
式中LLR′(rij)是第k-1次迭代的LLR(rij)值,
步驟(2.2),更新所述校驗節(jié)點j輸出到所述變量節(jié)點i的外信息LLR(rij),采用最小和譯碼算法時,
式中,β∈(0,1),
步驟(2.3),更新所述當前層的變量節(jié)點i的軟信息為
式中,ω在(0,1)取值;
步驟(3),判斷迭代次數(shù)是否達到預定值K,或者判斷硬判決譯碼序列是否為一個合法碼序列,
若是,輸出硬判決序列并執(zhí)行下一步驟,譯碼器輸出相應的變量節(jié)點所對應碼元的硬判決結果為
并執(zhí)行下一步驟,
若不是,則回到步驟(2),迭代次數(shù)加1,執(zhí)行第k+1次迭代;
步驟(4),若有譯碼矢量需要譯碼,則回到步驟(1),若沒有,則結束譯碼過程。
全文摘要
LDPC碼的快速收斂譯碼算法屬于通信技術領域,其特征在于,迭代過程中外信息變得越來越可靠的特點,即LDPC碼相鄰兩次迭代的外信息代表了變量節(jié)點的LLR值改變的方向,適當增加當前迭代中的外信息能夠有效地加快迭代的收斂速度。從而,本方法可以獲得比標準分層最小和譯碼方法更快的譯碼速度。同時,本方法還可推廣到磁盤存儲系統(tǒng)中去。
文檔編號H03M13/00GK101615913SQ200910088989
公開日2009年12月30日 申請日期2009年7月17日 優(yōu)先權日2009年7月17日
發(fā)明者殷柳國, 進 解, 寧 葛, 陸建華 申請人:清華大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
乳山市| 山东省| 吕梁市| 永善县| 昌吉市| 县级市| 文安县| 固安县| 阳春市| 泸定县| 定结县| 黄梅县| 甘孜| 华宁县| 巫山县| 张家口市| 封丘县| 巨鹿县| 临沭县| 驻马店市| 铁岭市| 沂南县| 赤峰市| 富裕县| 嵊泗县| 嘉定区| 呼和浩特市| 和平县| 马公市| 耿马| 会理县| 鄢陵县| 措美县| 泰顺县| 沾益县| 郧西县| 肥城市| 和硕县| 承德市| 建水县| 宁安市|