專(zhuān)利名稱(chēng):動(dòng)態(tài)調(diào)整最大迭代次數(shù)的奇偶校驗(yàn)碼迭代譯碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域中信道編解碼技術(shù)領(lǐng)域,尤其涉及一種動(dòng)態(tài)調(diào)整
最大迭代次數(shù)的低密度奇偶校驗(yàn)碼(LDPC)迭代譯碼方法。
背景技術(shù):
在通信系統(tǒng)中,由于傳輸信道存在噪聲、衰落、多徑,必然會(huì)對(duì)傳輸 數(shù)據(jù)引入失真和信號(hào)判決錯(cuò)誤。信道編碼技術(shù)通過(guò)在信息序列中加入冗余 碼元,來(lái)發(fā)現(xiàn)、糾正傳輸中發(fā)生的信號(hào)錯(cuò)誤,從而提高系統(tǒng)的可靠性。
奇偶校驗(yàn)碼是一種能夠逼近香農(nóng)(Sharmon)限的性能優(yōu)異的信道編 解碼方法。LDPC碼于1960年被發(fā)現(xiàn),但是直到35年后才得到廣泛的關(guān) 注。目前的研究表明,非規(guī)則的LDPC長(zhǎng)碼的性能可以?xún)?yōu)于Turbo碼丄DPC 碼具有良好的距離特性,小的誤碼錯(cuò)誤,碼率容易調(diào)整,而且當(dāng)碼長(zhǎng)適當(dāng) 時(shí)不存在誤碼平臺(tái)。
從1960年到現(xiàn)在,許多獨(dú)立的研究提出了各種LDPC的解碼算法。 例如,和積算法(SPA)、置信傳播算法(BPA)、消息傳遞算法(MPA) 等基礎(chǔ)算法,以及它們引伸出的其他算法。這些解碼算法都可以歸結(jié)為消 息傳遞算法,實(shí)質(zhì)是一種迭代算法。消息在變量節(jié)點(diǎn)和校驗(yàn)節(jié)點(diǎn)之間來(lái)回 傳遞,從而不斷更新。迭代停止條件為當(dāng)?shù)螖?shù)達(dá)到最大迭代次數(shù), 或者通過(guò)判斷知道譯碼已經(jīng)正確時(shí),結(jié)束迭代譯碼,并輸出譯碼結(jié)果。
在通信系統(tǒng)中的LDPC解碼器,兩個(gè)重要的要求是高性能和高效率。 前者要求誤碼率越低越好。后者要求解碼器在一定的時(shí)間內(nèi)完成一定數(shù)量 的數(shù)據(jù)解碼,從而達(dá)到一定的數(shù)據(jù)吞吐率。而且總是希望在同樣的系統(tǒng)實(shí) 現(xiàn)復(fù)雜度下,數(shù)據(jù)吞吐率越高越好。
LDPC譯碼算法中,最大迭代次數(shù)直接影響譯碼性能。在同樣的信道 條件下,選擇最大迭代次數(shù)的數(shù)值越大,LDPC譯碼算法的譯碼誤碼率越 低,性能越高。但是,選擇最大迭代次數(shù)的數(shù)值越大,在硬件實(shí)現(xiàn)上為每次譯碼所分配的時(shí)間就越多,降低了數(shù)據(jù)吞吐率,效率越低。
目前的LDPC譯碼算法中迭代停止條件為當(dāng)?shù)螖?shù)達(dá)到最大迭代 次數(shù),或者通過(guò)判斷知道譯碼已經(jīng)正確時(shí),結(jié)束迭代譯碼,并輸出譯碼結(jié) 果。而且在目前LDPC譯碼算法中,最大迭代次數(shù)在譯碼過(guò)程中都選擇為 一個(gè)固定值。
在一定信道信噪比條件下, 一部分LDPC譯碼的實(shí)際迭代次數(shù)往往要
小于這個(gè)固定的最大迭代次數(shù),為本次迭代分配的時(shí)間仍有剩余,造成時(shí)
間的浪費(fèi)。而另一部分LDPC譯碼的實(shí)際迭代次數(shù)達(dá)到這個(gè)固定的最大迭 代次數(shù)時(shí)仍然沒(méi)有正確譯碼,卻被強(qiáng)行停止迭代譯碼,造成譯碼性能的損 失。
發(fā)明內(nèi)容
(一) 要解決的技術(shù)問(wèn)題
有鑒于此,本發(fā)明的主要目的在于提供一種動(dòng)態(tài)調(diào)整最大迭代次數(shù)的 奇偶校驗(yàn)碼迭代譯碼方法,以在同樣的數(shù)據(jù)吞吐率下,有效降低各種LDPC 解碼算法的誤碼率。
(二) 技術(shù)方案
為達(dá)到上述目的,本發(fā)明提供了一種動(dòng)態(tài)調(diào)整最大迭代次數(shù)的奇偶校
驗(yàn)碼迭代譯碼方法,該方法包括
預(yù)先將每次奇偶校驗(yàn)碼LDPC譯碼時(shí)實(shí)際使用的迭代次數(shù)與最大迭代 次數(shù)的差值累加,將該累加結(jié)果作為剩余可用迭代次數(shù)R;
根據(jù)當(dāng)前剩余可用迭代次數(shù)R與最大迭代次數(shù)的初始值,動(dòng)態(tài)調(diào)整本 次的最大迭代次數(shù);
啟動(dòng)LDPC迭代譯碼,當(dāng)?shù)螖?shù)達(dá)到動(dòng)態(tài)調(diào)整后的最大迭代次數(shù), 或者通過(guò)判斷知道譯碼已經(jīng)正確時(shí),結(jié)束迭代譯碼。
上述方案中,所述根據(jù)當(dāng)前剩余可用迭代次數(shù)R與最大迭代次數(shù)的初 始值,動(dòng)態(tài)調(diào)整本次的最大迭代次數(shù)的步驟包括
Al、先設(shè)定LDPC譯碼算法最大迭代次數(shù)為一個(gè)初始值N,并初始化
剩余可用迭代次數(shù)R為零;A2、在每次譯碼幵始前,根據(jù)譯碼器當(dāng)前剩余可用迭代次數(shù)R與初 始值N,調(diào)整本次最大迭代次數(shù)的數(shù)值。
上述方案中,步驟A2中所述調(diào)整本次最大迭代次數(shù)的數(shù)值包括在
每次譯碼時(shí),把譯碼器當(dāng)前剩余可用迭代次數(shù)R與初始值N相加,作為 本次最大迭代次數(shù);或者設(shè)定一個(gè)迭代上限值L,在每次譯碼時(shí),把譯碼 器當(dāng)前剩余可用迭代次數(shù)R與初始值N相加,當(dāng)該相加結(jié)果小于L時(shí), 把該相加結(jié)果作為本次最大迭代次數(shù);當(dāng)該相加結(jié)果大于L時(shí),把L作為 本次最大迭代次數(shù)。
上述方案中,該方法在執(zhí)行啟動(dòng)LDPC迭代譯碼,當(dāng)?shù)螖?shù)達(dá)到動(dòng) 態(tài)調(diào)整后的最大迭代次數(shù),或者通過(guò)判斷知道譯碼已經(jīng)正確時(shí),結(jié)束迭代 譯碼的步驟的同時(shí),進(jìn)一步包括在一個(gè)設(shè)定時(shí)間段內(nèi),累加每次LDPC
譯碼操作實(shí)際使用的迭代次數(shù)與最大迭代次數(shù)的差值,并將累加結(jié)果賦給 剩余可用迭代次數(shù)R;每當(dāng)時(shí)間超過(guò)設(shè)定時(shí)間段時(shí),把累加值賦零。
上述方案中,該方法在結(jié)束迭代譯碼后進(jìn)一步包括輸出譯碼結(jié)果,
然后計(jì)算并更新剩余可用迭代次數(shù)。
上述方案中,所述計(jì)算并更新剩余可用迭代次數(shù)的步驟包括計(jì)算每
次LDPC譯碼操作實(shí)際使用的迭代次數(shù)與最大迭代次數(shù)的差值,將計(jì)算的
該差值進(jìn)行累加得到一個(gè)累加結(jié)果,然后將該累加結(jié)果作為剩余可用迭代次數(shù)。
(三)有益效果
從上述技術(shù)方案可以看出,本發(fā)明具有以下有益效果
1、 本發(fā)明提供的這種動(dòng)態(tài)調(diào)整最大迭代次數(shù)的奇偶校驗(yàn)碼迭代譯碼
方法,改進(jìn)了目前各種LDPC迭代譯碼方法中迭代停止條件,將迭代停止
條件改進(jìn)為當(dāng)?shù)螖?shù)達(dá)到動(dòng)態(tài)調(diào)整后的最大迭代次數(shù),或者通過(guò)判斷 知道譯碼己經(jīng)正確時(shí),結(jié)束迭代譯碼,并輸出譯碼結(jié)果。
2、 本發(fā)明提供的這種動(dòng)態(tài)調(diào)整最大迭代次數(shù)的奇偶校驗(yàn)碼迭代譯碼 方法,在同樣的數(shù)據(jù)吞吐率下,有效降低了各種LDPC解碼算法的誤碼率。
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說(shuō)明
圖1是本發(fā)明提供的動(dòng)態(tài)調(diào)整最大迭代次數(shù)的LDPC迭代譯碼方法實(shí) 現(xiàn)的流程圖2是本發(fā)明提供的實(shí)施例中動(dòng)態(tài)調(diào)整最大迭代次數(shù)的LDPC迭代譯 碼方法的流程圖3是依照本發(fā)明第一個(gè)實(shí)施例(9216, 4608)規(guī)則LDPC碼的誤碼 率曲線,其中調(diào)整本次最大迭代次數(shù)采用方法Bl;圖中同時(shí)給出了未改 進(jìn)的標(biāo)準(zhǔn)BP算法誤碼率曲線;
圖4是依照本發(fā)明第二個(gè)實(shí)施例(9216, 4608)規(guī)則LDPC碼的誤碼 率曲線,其中調(diào)整本次最大迭代次數(shù)采用方法Cl;圖中同時(shí)給出了未改 進(jìn)的標(biāo)準(zhǔn)BP算法誤碼率曲線。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí) 施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
本發(fā)明的目的是改進(jìn)目前各種LDPC迭代譯碼方法中迭代停止條件, 提出動(dòng)態(tài)調(diào)整最大迭代次數(shù)的LDPC迭代譯碼方法。在同樣的數(shù)據(jù)吞吐率 下,有效降低各種LDPC解碼算法的誤碼率。
如圖1所示,圖1是本發(fā)明提供的動(dòng)態(tài)調(diào)整最大迭代次數(shù)的LDPC迭 代譯碼方法實(shí)現(xiàn)的流程圖,該方法包括
步驟101:預(yù)先將每次奇偶校驗(yàn)碼LDPC譯碼時(shí)實(shí)際使用的迭代次數(shù) 與最大迭代次數(shù)的差值累加,將該累加結(jié)果作為剩余可用迭代次數(shù)R;
步驟102:根據(jù)當(dāng)前剩余可用迭代次數(shù)R與最大迭代次數(shù)的初始值, 動(dòng)態(tài)調(diào)整本次的最大迭代次數(shù);
步驟103:啟動(dòng)LDPC迭代譯碼,當(dāng)?shù)螖?shù)達(dá)到動(dòng)態(tài)調(diào)整后的最大 迭代次數(shù),或者通過(guò)判斷知道譯碼己經(jīng)正確時(shí),結(jié)束迭代譯碼。
上述步驟102包括
Al、先設(shè)定LDPC譯碼算法最大迭代次數(shù)為一個(gè)初始值N,并初始化 剩余可用迭代次數(shù)R為零;A2、在每次譯碼開(kāi)始前,根據(jù)譯碼器當(dāng)前剩余可用迭代次數(shù)R與初 始值N,調(diào)整本次最大迭代次數(shù)的數(shù)值。
在上述步驟A2中,調(diào)整本次最大迭代次數(shù)的方法可以有多種不同實(shí)
現(xiàn)方法,其中一種方法Bl包括在每次譯碼時(shí),把譯碼器當(dāng)前剩余可用
迭代次數(shù)R與初始值N相加,作為本次最大迭代次數(shù)。
在上述步驟A2中,調(diào)整本次最大迭代次數(shù)的方法可以有多種不同實(shí)
現(xiàn)方法,其中另一種方法C1包括設(shè)定一個(gè)迭代上限值L,在每次譯碼
時(shí),把譯碼器當(dāng)前剩余可用迭代次數(shù)R與初始值N相加,當(dāng)該相加結(jié)果
小于L時(shí),把該相加結(jié)果作為本次最大迭代次數(shù);當(dāng)該相加結(jié)果大于L時(shí),
把L作為本次最大迭代次數(shù)。
在本發(fā)明中,調(diào)整本次最大迭代次數(shù)的方法并不限于以上Bi和Cl 兩種方法。
本發(fā)明提供的這種動(dòng)態(tài)調(diào)整最大迭代次數(shù)的LDPC迭代譯碼方法,在 執(zhí)行上述步驟103的同時(shí),進(jìn)一步包括
步驟104:在一個(gè)設(shè)定時(shí)間段內(nèi),累加每次LDPC譯碼操作實(shí)際使用 的迭代次數(shù)與最大迭代次數(shù)的差值,并將累加結(jié)果賦給剩余可用迭代次數(shù) R;每當(dāng)時(shí)間超過(guò)設(shè)定時(shí)間段時(shí),把累加值賦零。
本發(fā)明提供的這種動(dòng)態(tài)調(diào)整最大迭代次數(shù)的LDPC迭代譯碼方法,在 執(zhí)行上述步驟103后進(jìn)一步包括輸出譯碼結(jié)果,然后計(jì)算并更新剩余可 用迭代次數(shù)。所述計(jì)算并更新剩余可用迭代次數(shù)的步驟包括計(jì)算每次 LDPC譯碼操作實(shí)際使用的迭代次數(shù)與最大迭代次數(shù)的差值,將計(jì)算的該 差值進(jìn)行累加得到一個(gè)累加結(jié)果,然后將該累加結(jié)果作為剩余可用迭代次 數(shù)。
基于圖1所示的動(dòng)態(tài)調(diào)整最大迭代次數(shù)的LDPC迭代譯碼方法實(shí)現(xiàn)的 流程圖,圖2示出了本發(fā)明提供的實(shí)施例中動(dòng)態(tài)調(diào)整最大迭代次數(shù)的 LDPC迭代譯碼方法的流程圖。
圖3是依照本發(fā)明第一個(gè)實(shí)施例(9216, 4608)規(guī)則LDPC碼的誤碼 率曲線,其中調(diào)整本次最大迭代次數(shù)采用方法Bl,被改進(jìn)的算法為標(biāo)準(zhǔn) BP算法;圖中同時(shí)給出了未改進(jìn)的標(biāo)準(zhǔn)BP算法誤碼率曲線;在圖3被改進(jìn)的標(biāo)準(zhǔn)BP算法中,設(shè)定初始最大迭代次數(shù)N=30次。
未改進(jìn)的標(biāo)準(zhǔn)BP算法中,固定最大迭代次數(shù)是30次。在上述步驟104中,
設(shè)定時(shí)間段大小為未改進(jìn)的標(biāo)準(zhǔn)BP算法15次完整譯碼所占用的時(shí)間。
圖4是依照本發(fā)明第二個(gè)實(shí)施例(9216, 4608)規(guī)則LDPC碼的誤碼 率曲線,其中調(diào)整本次最大迭代次數(shù)采用方法Cl,被改進(jìn)的算法為標(biāo)準(zhǔn) BP算法;圖中同時(shí)給出了未改進(jìn)的標(biāo)準(zhǔn)BP算法誤碼率曲線。
在圖4被改進(jìn)的標(biāo)準(zhǔn)BP算法中,設(shè)定初始最大迭代次數(shù)N=30次。 調(diào)整本次最大迭代次數(shù)采用方法Cl時(shí),迭代上限值L=90。未改進(jìn)的標(biāo) 準(zhǔn)BP算法中,最大迭代次數(shù)固定為30次。在上述步驟104中,設(shè)定時(shí)間 段值為未改進(jìn)的標(biāo)準(zhǔn)BP算法15次完整譯碼所占用的時(shí)間。
以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行 了進(jìn)一步詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而 已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修 改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種動(dòng)態(tài)調(diào)整最大迭代次數(shù)的奇偶校驗(yàn)碼迭代譯碼方法,其特征在于,該方法包括預(yù)先將每次奇偶校驗(yàn)碼LDPC譯碼時(shí)實(shí)際使用的迭代次數(shù)與最大迭代次數(shù)的差值累加,將該累加結(jié)果作為剩余可用迭代次數(shù)R;根據(jù)當(dāng)前剩余可用迭代次數(shù)R與最大迭代次數(shù)的初始值,動(dòng)態(tài)調(diào)整本次的最大迭代次數(shù);啟動(dòng)LDPC迭代譯碼,當(dāng)?shù)螖?shù)達(dá)到動(dòng)態(tài)調(diào)整后的最大迭代次數(shù),或者通過(guò)判斷知道譯碼已經(jīng)正確時(shí),結(jié)束迭代譯碼。
2、 根據(jù)權(quán)利要求1所述的動(dòng)態(tài)調(diào)整最大迭代次數(shù)的奇偶校驗(yàn)碼迭代 譯碼方法,其特征在于,所述根據(jù)當(dāng)前剩余可用迭代次數(shù)R與最大迭代次 數(shù)的初始值,動(dòng)態(tài)調(diào)整本次的最大迭代次數(shù)的步驟包括Al、先設(shè)定LDPC譯碼算法最大迭代次數(shù)為一個(gè)初始值N,并初始化 剩余可用迭代次數(shù)R為零;A2、在每次譯碼開(kāi)始前,根據(jù)譯碼器當(dāng)前剩余可用迭代次數(shù)R與初 始值N,調(diào)整本次最大迭代次數(shù)的數(shù)值。
3、 根據(jù)權(quán)利要求2所述的動(dòng)態(tài)調(diào)整最大迭代次數(shù)的奇偶校驗(yàn)碼迭代 譯碼方法,其特征在于,步驟A2中所述調(diào)整本次最大迭代次數(shù)的數(shù)值包 括在每次譯碼時(shí),把譯碼器當(dāng)前剩余可用迭代次數(shù)R與初始值N相加, 作為本次最大迭代次數(shù);或者設(shè)定一個(gè)迭代上限值L,在每次譯碼時(shí),把譯碼器當(dāng)前剩余可用迭代 次數(shù)R與初始值N相加,當(dāng)該相加結(jié)果小于L時(shí),把該相加結(jié)果作為本 次最大迭代次數(shù);當(dāng)該相加結(jié)果大于L時(shí),把L作為本次最大迭代次數(shù)。
4、 根據(jù)權(quán)利要求1所述的動(dòng)態(tài)調(diào)整最大迭代次數(shù)的奇偶校驗(yàn)碼迭代 譯碼方法,其特征在于,該方法在執(zhí)行啟動(dòng)LDPC迭代譯碼,當(dāng)?shù)螖?shù) 達(dá)到動(dòng)態(tài)調(diào)整后的最大迭代次數(shù),或者通過(guò)判斷知道譯碼已經(jīng)正確時(shí),結(jié) 束迭代譯碼的步驟的同時(shí),進(jìn)一步包括在一個(gè)設(shè)定時(shí)間段內(nèi),累加每次LDPC譯碼操作實(shí)際使用的迭代次數(shù)與最大迭代次數(shù)的差值,并將累加結(jié)果賦給剩余可用迭代次數(shù)R;每當(dāng)時(shí) 間超過(guò)設(shè)定時(shí)間段時(shí),把累加值賦零。
5、 根據(jù)權(quán)利要求1所述的動(dòng)態(tài)調(diào)整最大迭代次數(shù)的奇偶校驗(yàn)碼迭代 譯碼方法,其特征在于,該方法在結(jié)束迭代譯碼后進(jìn)一步包括輸出譯碼 結(jié)果,然后計(jì)算并更新剩余可用迭代次數(shù)。
6、 根據(jù)權(quán)利要求5所述的動(dòng)態(tài)調(diào)整最大迭代次數(shù)的奇偶校驗(yàn)碼迭代 譯碼方法,其特征在于,所述計(jì)算并更新剩余可用迭代次數(shù)的步驟包括計(jì)算每次LDPC譯碼操作實(shí)際使用的迭代次數(shù)與最大迭代次數(shù)的差 值,將計(jì)算的該差值進(jìn)行累加得到一個(gè)累加結(jié)果,然后將該累加結(jié)果作為 剩余可用迭代次數(shù)。
全文摘要
本發(fā)明公開(kāi)了一種動(dòng)態(tài)調(diào)整最大迭代次數(shù)的奇偶校驗(yàn)碼迭代譯碼方法,該方法包括預(yù)先將每次奇偶校驗(yàn)碼(LDPC)譯碼時(shí)實(shí)際使用的迭代次數(shù)與最大迭代次數(shù)的差值累加,將該累加結(jié)果作為剩余可用迭代次數(shù)R;根據(jù)當(dāng)前剩余可用迭代次數(shù)R與最大迭代次數(shù)的初始值,動(dòng)態(tài)調(diào)整本次的最大迭代次數(shù);啟動(dòng)LDPC迭代譯碼,當(dāng)?shù)螖?shù)達(dá)到動(dòng)態(tài)調(diào)整后的最大迭代次數(shù),或者通過(guò)判斷知道譯碼已經(jīng)正確時(shí),結(jié)束迭代譯碼。利用本發(fā)明,在同樣的數(shù)據(jù)吞吐率下,有效降低了各種LDPC解碼算法的誤碼率。
文檔編號(hào)H03M13/11GK101442316SQ20071017779
公開(kāi)日2009年5月27日 申請(qǐng)日期2007年11月21日 優(yōu)先權(quán)日2007年11月21日
發(fā)明者仇玉林, 周玉梅, 剛 李, 勇 黑 申請(qǐng)人:中國(guó)科學(xué)院微電子研究所