一種動(dòng)態(tài)閾值比特翻轉(zhuǎn)的ldpc碼硬判決譯碼方法
【專利摘要】本發(fā)明公開了一種動(dòng)態(tài)閾值比特翻轉(zhuǎn)的LDPC碼硬判決譯碼方法,確定一個(gè)初始的翻轉(zhuǎn)閾值T,采用動(dòng)態(tài)閾值,也就是動(dòng)態(tài)的翻轉(zhuǎn)閾值,將翻轉(zhuǎn)閾值變?yōu)閯?dòng)態(tài)閾值可以減少誤翻轉(zhuǎn)的概率,也減少了解碼的迭代次數(shù),使LDPC碼的比特翻轉(zhuǎn)譯碼更高效;同時(shí)也提高了LDPC碼的糾錯(cuò)能力,本發(fā)明比標(biāo)準(zhǔn)的比特翻轉(zhuǎn)法的糾錯(cuò)能力有所增強(qiáng)。
【專利說明】—種動(dòng)態(tài)閾值比特翻轉(zhuǎn)的LDPC碼硬判決譯碼方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種LDPC(Low Density Parity Check,低密度奇偶校驗(yàn)碼)硬判決譯碼器的比特翻轉(zhuǎn)構(gòu)造方法。
【背景技術(shù)】
[0002]在各種需要進(jìn)行信號(hào)傳輸?shù)膽?yīng)用中,常會(huì)采用糾錯(cuò)碼(ECC,Error CorrectingCode),能使信號(hào)傳輸錯(cuò)誤時(shí),在接收端得以更正錯(cuò)誤而獲得正確的信號(hào)。
[0003]糾錯(cuò)碼可以應(yīng)用于許多系統(tǒng)中,在通信系統(tǒng)中,信號(hào)傳輸時(shí)可能會(huì)受到信道效應(yīng)及信道噪聲的干擾,從而造成閃存存儲(chǔ)裝置中所存儲(chǔ)的數(shù)據(jù)已經(jīng)不正確。閃存存儲(chǔ)裝置中所存儲(chǔ)的數(shù)據(jù)是經(jīng)過糾錯(cuò)碼裝置編碼后的數(shù)據(jù),對(duì)于閃存存儲(chǔ)控制裝置來說,糾錯(cuò)碼是必需的一個(gè)功能單元。
[0004]隨著存儲(chǔ)器的工藝越來越先進(jìn),存儲(chǔ)器單元體積越來越小,并且存儲(chǔ)單元所存儲(chǔ)的數(shù)據(jù)也逐漸在增加,造成閃存存儲(chǔ)器在讀取過程中產(chǎn)生的錯(cuò)誤概率不斷升高。因此,閃存存儲(chǔ)器控制裝置的糾錯(cuò)碼糾錯(cuò)能力是決定存儲(chǔ)控制器裝置是否合格的重要因素。然而,在閃存存儲(chǔ)控制裝置中采用較強(qiáng)的糾錯(cuò)碼需要較高的運(yùn)算量及較長(zhǎng)運(yùn)算時(shí)間,從而增加閃存存儲(chǔ)器控制裝置的應(yīng)用受到很大的限制。
[0005]LDPC碼是Robert Gallager于1962年在博士論文中提出的一種具有稀疏校驗(yàn)矩陣的分組糾錯(cuò)碼。幾乎適用于所有的信道,它的性能逼近香農(nóng)限,且描述和實(shí)現(xiàn)簡(jiǎn)單,譯碼簡(jiǎn)單且可實(shí)行并行操作,適合硬件實(shí)現(xiàn)。
[0006]LDPC碼具有巨大的應(yīng)用潛力,在深空通信、光纖通信、衛(wèi)星通信、衛(wèi)星數(shù)字視頻、數(shù)字水印、磁/光/全息存儲(chǔ)、移動(dòng)和固定無線通信、電纜調(diào)制/解調(diào)和數(shù)字用戶中得到廣泛應(yīng)用。
[0007]根據(jù)閃存存儲(chǔ)裝置的工藝越來越先進(jìn),閃存存儲(chǔ)器控制裝置中的糾錯(cuò)碼的糾錯(cuò)能力也需要增強(qiáng)。在目前閃存存儲(chǔ)器控制裝置中,主要的糾錯(cuò)碼是BCH碼,隨著錯(cuò)誤概率的增高,BCH碼的對(duì)空間要求及運(yùn)算能力也逐漸增高;隨著閃存存儲(chǔ)工藝的提高,BCH碼的糾錯(cuò)能力已經(jīng)逐漸不適合閃存工藝的發(fā)展,所以需要糾錯(cuò)能力更強(qiáng)的糾錯(cuò)碼。選擇LDPC碼來代替BCH碼是比較恰當(dāng)?shù)摹?br>
[0008]LDPC碼的硬判決譯碼器中比特翻轉(zhuǎn)門限閾值T的設(shè)定,對(duì)LDPC碼的硬判決譯碼起著至關(guān)重要的作用,它影響著LDPC碼的糾錯(cuò)能力、以及它的譯碼速率。
[0009]如果比特翻轉(zhuǎn)門限閾值T設(shè)定的過大會(huì)增加譯碼的迭代次數(shù),從而影響譯碼速率。
[0010]如果比特翻轉(zhuǎn)門限閾值T設(shè)定的過小會(huì)造成誤翻轉(zhuǎn)這樣就增加譯碼的迭代次數(shù),從而影響譯碼速率。
[0011]對(duì)于非規(guī)則的校驗(yàn)矩陣來說,選取固定的比特翻轉(zhuǎn)門限閾值T,那樣會(huì)造成很大誤翻轉(zhuǎn)概率從而大大增加了譯碼的迭代次數(shù),在嚴(yán)重的情況下導(dǎo)致譯碼失敗。
[0012]當(dāng)序列Z中碼元的錯(cuò)誤率達(dá)到一定值,使用固定的比特翻轉(zhuǎn)門限閾值T進(jìn)行譯碼,無論譯碼器迭代次數(shù)多大都不會(huì)成功進(jìn)行譯碼。
【發(fā)明內(nèi)容】
[0013]基于動(dòng)態(tài)閾值,本發(fā)明的目的在于提供一種動(dòng)態(tài)閾值比特翻轉(zhuǎn)的LDPC碼硬判決譯碼方法,提高譯碼速率和糾錯(cuò)能力。
[0014]本發(fā)明采用以下技術(shù)方案:
[0015]一種動(dòng)態(tài)閾值比特翻轉(zhuǎn)的LDPC碼硬判決譯碼方法,確定一個(gè)初始的翻轉(zhuǎn)閾值T,包括以下步驟:
[0016]1)讀取碼字序列,根據(jù)碼字序列計(jì)算校正子;
[0017]2)判斷校正子是否為零,若為零,則停止迭代,輸出碼字序列;否則進(jìn)入步驟3)
[0018]3)對(duì)碼字序列中每一碼字的每一個(gè)碼元比特,計(jì)算該碼元比特參與的不滿足校驗(yàn)方程的個(gè)數(shù);
[0019]4)計(jì)算翻轉(zhuǎn)閾值:隨著迭代次數(shù)的增多,翻轉(zhuǎn)閾值T遞減,得到當(dāng)前的翻轉(zhuǎn)閾值;
[0020]5)如果不滿足的校驗(yàn)方程的個(gè)數(shù)大于當(dāng)前翻轉(zhuǎn)閾值,相應(yīng)的碼元比特進(jìn)行翻轉(zhuǎn),并計(jì)算翻轉(zhuǎn)后對(duì)應(yīng)的碼字序列的校正子;
[0021]6)重復(fù)步驟2)、3)、4)和5),直至譯碼成功,或者達(dá)到最大迭代次數(shù)時(shí),輸出譯碼失敗。
[0022]上述動(dòng)態(tài)閾值比特翻轉(zhuǎn)的LDPC碼硬判決譯碼方法,當(dāng)前的翻轉(zhuǎn)閾值T:
[0023]T = j (b-c.m) /a ;
[0024]式中:m表示當(dāng)前為第幾次迭代,j為碼元比特所對(duì)應(yīng)的當(dāng)前列列重,a、b、c為經(jīng)
驗(yàn)正常數(shù)。
[0025]上述動(dòng)態(tài)閾值比特翻轉(zhuǎn)的LDPC碼硬判決譯碼方法,確定一個(gè)初始的翻轉(zhuǎn)閾值T,迭代中翻轉(zhuǎn)的步驟如下:
[0026]a)根據(jù)硬判決序列 Z = [z0, Z1,..., zN_J 計(jì)算校正子 S = [sQ, S1,..., sM_J:
【權(quán)利要求】
1.一種動(dòng)態(tài)閾值比特翻轉(zhuǎn)的LDPC碼硬判決譯碼方法,確定一個(gè)初始的翻轉(zhuǎn)閾值T,其特征在于,包括以下步驟: 1)讀取碼字序列,根據(jù)碼字序列計(jì)算校正子; 2)判斷校正子是否為零,若為零,則停止迭代,輸出碼字序列;否則進(jìn)入步驟3) 3)對(duì)碼字序列中每一碼字的每一個(gè)碼元比特,計(jì)算該碼元比特參與的不滿足校驗(yàn)方程的個(gè)數(shù); 4)計(jì)算翻轉(zhuǎn)閾值:隨著迭代次數(shù)的增多,翻轉(zhuǎn)閾值T遞減,得到當(dāng)前的翻轉(zhuǎn)閾值;; 5)如果不滿足的校驗(yàn)方程的個(gè)數(shù)大于當(dāng)前翻轉(zhuǎn)閾值,相應(yīng)的碼元比特進(jìn)行翻轉(zhuǎn),并計(jì)算翻轉(zhuǎn)后對(duì)應(yīng)的碼字序列的校正子; 6)重復(fù)步驟2)、3)、4)和5),直至譯碼成功,或者達(dá)到最大迭代次數(shù)時(shí),輸出譯碼失敗。
2.根據(jù)權(quán)利要求1所述的動(dòng)態(tài)閾值比特翻轉(zhuǎn)的LDPC碼硬判決譯碼方法,其特征在于,當(dāng)前的翻轉(zhuǎn)閾值T:
T = j (b-c.m) /a ; 式中:m表示當(dāng)前為第幾次迭代,j為碼元比特所對(duì)應(yīng)的當(dāng)前列列重,a、b、c為經(jīng)驗(yàn)正常數(shù)。
3.根據(jù)權(quán)利要求1或2所述的動(dòng)態(tài)閾值比特翻轉(zhuǎn)的LDPC碼硬判決譯碼方法,確定一個(gè)初始的翻轉(zhuǎn)閾值T,其特征在于,迭代中翻轉(zhuǎn)的步驟如下:
a)根據(jù)硬判決序列Z = [z0, Z1,..., zN_J 計(jì)算校正子 S = [sQ, S1,..., sN-1]:
【文檔編號(hào)】H03M13/11GK103888148SQ201410105530
【公開日】2014年6月25日 申請(qǐng)日期:2014年3月20日 優(yōu)先權(quán)日:2014年3月20日
【發(fā)明者】高美洲, 李峰, 張洪柳, 劉大銪 申請(qǐng)人:山東華芯半導(dǎo)體有限公司