專利名稱:多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)編譯碼系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)字信號(hào)處理技術(shù)領(lǐng)域的編譯碼系統(tǒng),具體是一種多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)編譯碼系統(tǒng)及方法。
背景技術(shù):
低密度校驗(yàn)碼(LowDensity Parity Check Codes, LDPC Codes)是 1963 年 Gallager首先提出的一種編碼技術(shù),具有接近香農(nóng)極限的性能,已經(jīng)成為編碼領(lǐng)域的一個(gè)研究熱點(diǎn),被廣泛地應(yīng)用到各種無(wú)線通信領(lǐng)域標(biāo)準(zhǔn)中,包括我國(guó)的數(shù)字電視地面?zhèn)鬏敇?biāo)準(zhǔn)、 歐洲第二代衛(wèi)星數(shù)字視頻廣播標(biāo)準(zhǔn)、IEEE 802. lln、IEEE 802. 16e等。目前的無(wú)線通信標(biāo)準(zhǔn)中所使用的LDPC碼基本都是二進(jìn)制的,但David J. C. Mackay的研究發(fā)現(xiàn),多進(jìn)制LDPC 的糾錯(cuò)能力在有些情況下要優(yōu)于二進(jìn)制LDPC碼,尤其是在中短碼長(zhǎng)及存在突發(fā)錯(cuò)誤的情形下(M. C. Davey, D. J. C. Mackay. Q 元域上的低密度奇偶校驗(yàn)碼[J]. IEEE Commun. Lett, 1998,2 (6) 165-167.)。雖然多進(jìn)制LDPC碼的糾錯(cuò)能力比二進(jìn)制LDPC碼更強(qiáng),但它與二進(jìn)制LDPC碼一樣,也存在誤碼平層的概念,而誤碼平層的存在是阻礙LDPC碼更廣泛地應(yīng)用于實(shí)際通信系統(tǒng)中的一大原因,比如存儲(chǔ)系統(tǒng)、高速數(shù)據(jù)通信系統(tǒng)、光纖通信系統(tǒng)等,因?yàn)檫@些系統(tǒng)往往要求所使用的糾錯(cuò)碼具有極低的誤碼率。經(jīng)對(duì)現(xiàn)有技術(shù)的文獻(xiàn)檢索發(fā)現(xiàn),專利申請(qǐng)?zhí)枮?00510057105. I的中國(guó)專利,專利名稱為“逐條添加邊算法的多進(jìn)制低密度奇偶校驗(yàn)碼編譯碼方法”,提出了一種基于逐條添加邊算法的多進(jìn)制低密度奇偶校驗(yàn)碼編譯碼方法,包括編碼部分和對(duì)應(yīng)的譯碼部分,它采用PEG設(shè)計(jì)方式完成對(duì)多進(jìn)制LDPC碼的編碼設(shè)計(jì),采用等效變換,并與傅里葉變換相結(jié)合實(shí)現(xiàn)多進(jìn)制LDPC碼的譯碼。由于該譯碼方法沒(méi)有考慮高性噪比情況下多進(jìn)制LDPC碼的誤碼平層及其形成原因,從而導(dǎo)致譯碼結(jié)果往往會(huì)具有較高的誤碼平層。
發(fā)明內(nèi)容
本發(fā)明針對(duì)現(xiàn)有技術(shù)的不足,提供了一種多進(jìn)制LDPC碼的級(jí)聯(lián)編譯碼系統(tǒng),通過(guò)分析導(dǎo)致多進(jìn)制LDPC碼出現(xiàn)誤碼平層的原因,采用有效的級(jí)聯(lián)方案,改進(jìn)了多進(jìn)制LDPC碼的譯碼性能,顯著地降低了多進(jìn)制LDPC碼的誤碼平層。根據(jù)本發(fā)明的一個(gè)方面,提供一種多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)編譯碼系統(tǒng), 包括依次連接的最易出錯(cuò)信息統(tǒng)計(jì)模塊、多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)編碼模塊、調(diào)制模塊、解調(diào)模塊、多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)譯碼模塊,所述多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)編碼模塊包括多進(jìn)制LDPC碼編碼器,具體地最易出錯(cuò)信息統(tǒng)計(jì)模塊,其用于通過(guò)多進(jìn)制低密度校驗(yàn)碼的蒙特卡洛仿真,統(tǒng)計(jì)在較高信噪比情況下對(duì)應(yīng)碼字中不同位置的信息節(jié)點(diǎn)的錯(cuò)誤次數(shù),從而確定其中錯(cuò)誤次數(shù)最大的前X個(gè)符號(hào)在碼字中的對(duì)應(yīng)位置信息S ;多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)編碼模塊,其用于將輸入的信息流分成兩部分Ml 和M2,對(duì)Ml進(jìn)行RS編碼,產(chǎn)生對(duì)應(yīng)的碼字Cl,再將Cl與M2組成新的輸入信息流M_NEW進(jìn)入多進(jìn)制LDPC碼編碼器,組合過(guò)程中根據(jù)所述位置信息S,使經(jīng)過(guò)多進(jìn)制LDPC碼編碼后輸出的碼字中由S對(duì)應(yīng)的最易出錯(cuò)部分的信息都來(lái)自于RS生成的碼字Cl ;多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)譯碼模塊,其用于根據(jù)所接收到的碼字先驗(yàn)概率信息及對(duì)應(yīng)的多進(jìn)制低密度奇偶校驗(yàn)碼的校驗(yàn)矩陣H進(jìn)行譯碼。根據(jù)本發(fā)明的另一個(gè)方面,還提供一種多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)編譯碼方法,其特征在于,包括如下步驟步驟A :通過(guò)多進(jìn)制低密度校驗(yàn)碼的蒙特卡洛仿真,統(tǒng)計(jì)在較高信噪比情況下對(duì)應(yīng)碼字中不同位置的信息節(jié)點(diǎn)的錯(cuò)誤次數(shù),從而確定其中錯(cuò)誤次數(shù)最大的前X個(gè)符號(hào)在碼字中的對(duì)應(yīng)位置信息S ;步驟B :將輸入的信息流分成兩部分Ml和M2,對(duì)Ml進(jìn)行RS編碼,產(chǎn)生對(duì)應(yīng)的碼字 Cl,再將Cl與M2組成新的輸入信息流M_NEW進(jìn)入多進(jìn)制LDPC碼編碼器,組合過(guò)程中根據(jù)所述位置信息S,使經(jīng)過(guò)多進(jìn)制LDPC碼編碼后輸出的碼字中由S對(duì)應(yīng)的最易出錯(cuò)部分的信息都來(lái)自于RS生成的碼字Cl ;步驟C :根據(jù)所接收到的碼字先驗(yàn)概率信息及對(duì)應(yīng)的多進(jìn)制低密度奇偶校驗(yàn)碼的校驗(yàn)矩陣H進(jìn)行譯碼。更為具體地,在本發(fā)明的一個(gè)優(yōu)選例中,本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的,本發(fā)明包括以下步驟第一步、運(yùn)用蒙特卡洛仿真統(tǒng)計(jì)在高性噪比情況下多進(jìn)制LDPC碼的譯碼錯(cuò)誤概率并統(tǒng)計(jì)對(duì)應(yīng)的每個(gè)符號(hào)信息錯(cuò)誤的次數(shù),標(biāo)記出錯(cuò)次數(shù)最多的前X個(gè)符號(hào)信息,將它們?cè)诖a字中的對(duì)應(yīng)位置信息存入集合S。第二步、對(duì)輸入多進(jìn)制LDPC碼編碼器的信息比特流M進(jìn)行預(yù)處理得到新的信息比特流M_NEW。所述的預(yù)處理,包括以下步驟I)將輸入多進(jìn)制LDPC碼編碼器的信息比特流分為兩部分,分別為Ml和M2,使Ml 先經(jīng)過(guò)一個(gè)RS碼編碼器,得到編碼后的碼字Cl,此處RS碼的碼長(zhǎng)N_RS由第一步中X的大小決定,N_RS必須大于等于X且小于所用多進(jìn)制LDPC碼的碼長(zhǎng)N_LDPC ;2)將RS編碼后的碼字Cl與輸入信息比特M2組合成新的信息流(M_NEW)輸入多進(jìn)制LDPC碼編碼器,得到輸出碼字C_LDPC,Cl與M2的組合必須滿足一定的條件,就是使碼字(_0^(中由集合S所標(biāo)記的位置的信息必須是來(lái)自Cl的,其他位置則可以隨機(jī)填入,最后再將碼字Cl在C_LDPC中所處的位置信息存入集合S_NEW。第三步、多進(jìn)制LDPC級(jí)聯(lián)碼的譯碼,包括初始信息統(tǒng)計(jì)單元、多進(jìn)制LDPC碼譯碼單元、判決單元、RS碼譯碼單元、第一譯碼結(jié)果統(tǒng)計(jì)單元、變量節(jié)點(diǎn)概率信息重置單元、第二譯碼結(jié)果統(tǒng)計(jì)單元及輸出判決單元。所述的初始信息統(tǒng)計(jì)單元根據(jù)信道輸出的結(jié)果記錄輸入多進(jìn)制LDPC碼譯碼器的信息節(jié)點(diǎn)先驗(yàn)概率信息的絕對(duì)值中的最大值MAX和最小值MIN ;所述的多進(jìn)制LDPC碼譯碼單元根據(jù)多進(jìn)制LDPC碼的概率域的和積譯碼算法 (L0G_SPA)對(duì)LDPC碼進(jìn)行譯碼;所述的判決單元根據(jù)多進(jìn)制LDPC碼譯碼器的譯碼結(jié)果統(tǒng)計(jì)當(dāng)前的迭代次數(shù) Iter_num,如果Iter_num小于某一設(shè)定的閾值NUM,則測(cè)試譯碼結(jié)果是否滿足校驗(yàn)方程,如果有不滿足的校驗(yàn)方程則進(jìn)入下一次迭代譯碼,否則如果所有校驗(yàn)方程都滿足則進(jìn)入RS 碼譯碼單元;如果Iter_num等于NUM,并且有不滿足的校驗(yàn)方程,則進(jìn)入第一譯碼結(jié)果統(tǒng)計(jì)單元并進(jìn)入RS碼譯碼單元;如果Iter_num大于NUM,并且有不滿足的校驗(yàn)方程,則進(jìn)入RS 碼譯碼單元;如果Iter_num達(dá)到了所設(shè)置的最大迭代次數(shù)Iterjnax,則停止譯碼,進(jìn)入第二譯碼結(jié)果統(tǒng)計(jì)單元并進(jìn)入RS碼譯碼單元;所述的RS碼譯碼單元根據(jù)判決單元的結(jié)果,取出多進(jìn)制LDPC碼譯碼單元的譯碼結(jié)果dec_codeword_l中對(duì)應(yīng)于第二步中集合S_NEW中相應(yīng)位置的變量節(jié)點(diǎn)信息組成對(duì)應(yīng)的RS碼碼字,進(jìn)行相應(yīng)的RS碼譯碼,得到對(duì)應(yīng)的RS譯碼結(jié)果RS_codeword并進(jìn)入變量節(jié)點(diǎn)概率信息重置單元,如果RS譯碼單元在當(dāng)前這幀內(nèi)是第一次運(yùn)行則將RS_C0deW0rd 輸入第一譯碼結(jié)果統(tǒng)計(jì)單元,如果當(dāng)前的迭代次數(shù)達(dá)到最大迭代次數(shù)Iterjnax,則將RS_ codeword輸入第二譯碼結(jié)果統(tǒng)計(jì)單元;所述的變量節(jié)點(diǎn)概率信息重置單元將RS碼譯碼單元的譯碼結(jié)果RS_codeword轉(zhuǎn)換成對(duì)應(yīng)的多進(jìn)制LDPC碼的碼字LDPC_codeword,根據(jù)LDPC_codeword及集合S_NEW表示的位置信息,重置輸入多進(jìn)制LDPC碼譯碼單元的相應(yīng)位置的信息節(jié)點(diǎn)的概率值,具體方法如下I)如果LDPC_codeword對(duì)應(yīng)位的值為0,則將其對(duì)應(yīng)的S_NEW中相應(yīng)位置的信息節(jié)點(diǎn)的概率向量中每一位的大小都設(shè)置為_(kāi)(MAX+MIN)/2 ;2)如果LDPC_codeword對(duì)應(yīng)位的值為一個(gè)非零數(shù)K,則將其對(duì)應(yīng)的S_NEW中相應(yīng)位置的信息節(jié)點(diǎn)的概率向量中與K相對(duì)應(yīng)位置的概率值設(shè)為(MAX+MIN)/2,概率向量中其他位置的值都設(shè)置為零;所述的第一譯碼結(jié)果統(tǒng)計(jì)單元根據(jù)上述判決單元的結(jié)果,記錄當(dāng)前多進(jìn)制LDPC 碼譯碼器的輸出碼字deC_C0deW0rd_l,及對(duì)應(yīng)的不滿足校驗(yàn)方程的校驗(yàn)節(jié)點(diǎn)個(gè)數(shù)NI,并將 dec_codeword_l中由集合S_NEW所對(duì)應(yīng)的位置用LDPC_codeword_l所代替,此處的LDPC_ codeword_l是由當(dāng)前輸入的RS碼譯碼結(jié)果RS_codeword_l轉(zhuǎn)換成對(duì)應(yīng)的多進(jìn)制LDPC碼字而來(lái),從而得到最終的譯碼信息Message」;所述的第二譯碼結(jié)果統(tǒng)計(jì)單元?jiǎng)t是根據(jù)判決單元的結(jié)果,記錄當(dāng)前多進(jìn)制LDPC 碼譯碼器的輸出碼字deC_C0deW0rd_2,及對(duì)應(yīng)的不滿足校驗(yàn)方程的校驗(yàn)節(jié)點(diǎn)個(gè)數(shù)N2,并將 dec_codeword_2中由集合S_NEW所對(duì)應(yīng)的位置用LDPC_codeword_2所代替,此處的LDPC_ codeword_2是由當(dāng)前輸入的RS碼譯碼結(jié)果RS_codeword_2轉(zhuǎn)換成對(duì)應(yīng)的多進(jìn)制LDPC碼字而來(lái),從而得到最終的譯碼信息MeSSage_2并進(jìn)入輸出判決單元;所述的輸出判決單元根據(jù)第一譯碼結(jié)果統(tǒng)計(jì)單元和第二譯碼結(jié)果統(tǒng)計(jì)單元的信息比較NI與N2的大小,如果NI > N2,則說(shuō)明級(jí)聯(lián)的RS碼譯碼器改善了譯碼性能,輸出 Message_2作為最后譯碼所得的信息比特輸出,否則,說(shuō)明級(jí)聯(lián)的RS碼譯碼器引入了額外的錯(cuò)誤,此時(shí)將Message」作為最后譯碼所得的信息比特輸出。本發(fā)明具有如下有益效果通過(guò)大量的計(jì)算機(jī)仿真實(shí)驗(yàn)證實(shí),本發(fā)明中通過(guò)把原先多進(jìn)制LDPC碼中最易出錯(cuò)的信息替換為一個(gè)高碼率的RS碼,利用RS碼的糾錯(cuò)能力,有效地提高了多進(jìn)制LDPC碼的譯碼性能,尤其是在高信噪比的情況下,明顯地降低了多進(jìn)制LDPC碼的誤碼平層。
圖I是本發(fā)明中加入錯(cuò)誤統(tǒng)計(jì)功能的傳統(tǒng)多進(jìn)制LDPC碼的編譯碼系統(tǒng)框圖;圖2是本發(fā)明中原始碼字與級(jí)聯(lián)了 RS碼字后的映射關(guān)系圖;圖3是本發(fā)明中多進(jìn)制LDPC碼的級(jí)聯(lián)編譯碼的系統(tǒng)結(jié)構(gòu)框圖;圖4是本發(fā)明中8進(jìn)制LDPC碼的級(jí)聯(lián)編譯碼系統(tǒng)與傳統(tǒng)8進(jìn)制LDPC碼的誤碼率、 誤幀率曲線,碼率為O. 5,碼長(zhǎng)為204個(gè)符號(hào),即204*3 = 612比特。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明的實(shí)施例作詳細(xì)說(shuō)明本實(shí)施例在以本發(fā)明技術(shù)方案為前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過(guò)程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。我們以GF(8)上的LDPC碼為例,碼長(zhǎng)為204,碼率為O. 5,如圖I所示,是常規(guī)的多進(jìn)制LDPC碼的編譯碼系統(tǒng)框圖,我們?cè)谧g碼器的輸出端設(shè)置了一個(gè)信息比特錯(cuò)誤概率統(tǒng)計(jì)模塊,用以統(tǒng)計(jì)譯碼結(jié)果中每個(gè)符號(hào)信息的錯(cuò)誤次數(shù),根據(jù)統(tǒng)計(jì)結(jié)果我們選取出錯(cuò)次數(shù)最多的前X個(gè)符號(hào)信息并用集合S記錄他們?cè)诖a字中的對(duì)應(yīng)位置S = {Pl, p2, p3,…,Px+ PX},本實(shí)例中我們?nèi) = 32,由于每一個(gè)符號(hào)都是GF (8)上的,所以總共有32X3 = 96個(gè)比特。如圖2所示,是經(jīng)過(guò)我們處理后的碼字與原碼字的對(duì)應(yīng)映射關(guān)系,我們將集合S中相應(yīng)位置的符號(hào)信息用RS碼字來(lái)替代,這樣就使得這部分最易出錯(cuò)的符號(hào)信息自身具有一定的糾錯(cuò)能力。我們還可以從圖中發(fā)現(xiàn),經(jīng)過(guò)我們的多進(jìn)制LDPC碼編碼器后其輸出的碼字中前面部分是校驗(yàn)信息后面部分是輸入編碼器的原始信息,對(duì)于本實(shí)例來(lái)說(shuō)前102個(gè)符號(hào)是校驗(yàn)信息,后面102個(gè)符號(hào)則是輸入的原始信息,所以可以得出集合S中記錄的X個(gè)最易出錯(cuò)的符號(hào)信息它們?cè)谠嫉妮斎胄畔⒅械奈恢脼镾I = {Pl-102, p2-102, p3-102,…, px_「102,px_102}。如圖3所示,是本發(fā)明的總體架構(gòu)圖,主要是編碼部分和譯碼部分做了相應(yīng)的改進(jìn),從圖中可以清楚地看見(jiàn),輸入的信息流先被分為兩路,分別是Ml和M2,其中Ml經(jīng)過(guò) RS編碼器得到編碼后的碼字Cl,本實(shí)例中Cl的碼長(zhǎng)為96比特,所用的RS(12,8,5)碼是 GF (256)上的縮短碼字,其糾錯(cuò)能力為2個(gè)符號(hào),即16個(gè)比特。最后將M2與Cl結(jié)合組成輸入多進(jìn)制LDPC碼編碼器的信息流M_NEW,組合過(guò)程中Cl在M_NEW中的位置按照集合SI來(lái)確定。圖3中譯碼部分主要包括以下幾個(gè)模塊,它們是初始信息統(tǒng)計(jì)單元、多進(jìn)制LDPC碼譯碼單元、判決單元、RS碼譯碼單元、第一譯碼結(jié)果統(tǒng)計(jì)單元、變量節(jié)點(diǎn)概率信息重置單元、 第二譯碼結(jié)果統(tǒng)計(jì)單元及輸出判決單元。所述譯碼處理模塊,其執(zhí)行流程如下(I)記錄輸入譯碼器的先驗(yàn)概率信息初始信息統(tǒng)計(jì)單元對(duì)輸入多進(jìn)制LDPC碼譯碼器的先驗(yàn)概率信息進(jìn)行記錄,分別求出其中絕對(duì)值的最大值MAX及最小值MIN,以便用于變量節(jié)點(diǎn)概率信息的重置。(2)多進(jìn)制LDPC譯碼多進(jìn)制LDPC碼譯碼單元采用概率域的和積譯碼算法,本實(shí)例中所設(shè)置的最大迭代次數(shù)Itre_MAX = 40。判決單元實(shí)時(shí)監(jiān)控著多進(jìn)制LDPC碼譯碼單元的的狀態(tài)信息,如果當(dāng)前的迭代次數(shù)Iter_numm小于某一設(shè)定的閾值NUM(本實(shí)例中NUM設(shè)置為30),則測(cè)試譯碼結(jié)果是否滿足校驗(yàn)方程,如果有不滿足的校驗(yàn)方程則進(jìn)入下一次迭代譯碼,否則如果所有校驗(yàn)方程都滿足則進(jìn)入RS碼譯碼單元;如果Iter_num等于NUM,并且有不滿足的校驗(yàn)方程,則進(jìn)入第一譯碼結(jié)果統(tǒng)計(jì)單元并進(jìn)入RS碼譯碼單元;如果Iter_num大于NUM,并且有不滿足的校驗(yàn)方程,則進(jìn)入RS碼譯碼單元;如果Iter_num達(dá)到了所設(shè)置的最大迭代次數(shù) Iter_MAX,則停止譯碼,進(jìn)入第二譯碼結(jié)果統(tǒng)計(jì)單元并進(jìn)入RS碼譯碼單元;(3)進(jìn)行RS譯碼并重置多進(jìn)制LDPC碼譯碼器中的概率信息RS碼譯碼單元根據(jù)判決單元的處理結(jié)果,得到當(dāng)前多進(jìn)制LDPC碼譯碼單元的譯碼結(jié)果dec_codewordl,取出dec_codewordl中對(duì)應(yīng)于集合S中相應(yīng)位置的變量節(jié)點(diǎn)信息組成對(duì)應(yīng)的RS碼碼字,進(jìn)行相應(yīng)的RS碼譯碼,假設(shè)RS譯碼器的譯碼結(jié)果為RS_COdeWOrd,此時(shí)進(jìn)入變量節(jié)點(diǎn)概率信息重置單元,它將RS_COdeWOrd轉(zhuǎn)換成對(duì)應(yīng)的多進(jìn)制LDPC碼的碼字 LDPC_codeword,根據(jù)LDPC_codeword及集合S表不的位置信息,重置輸入多進(jìn)制LDPC碼譯碼單元的相應(yīng)位置的信息節(jié)點(diǎn)的概率值,具體方法如下I)如果LDPC_codeword對(duì)應(yīng)位的值為0,則將其對(duì)應(yīng)的S中相應(yīng)位置的信息節(jié)點(diǎn)的概率向量中每一位的大小都設(shè)置為_(kāi)(MAX+MIN)/2 ;2)如果LDPC_codeword對(duì)應(yīng)位的值為一個(gè)非零數(shù)K,則將其對(duì)應(yīng)的S中相應(yīng)位置的信息節(jié)點(diǎn)的概率向量中與K相對(duì)應(yīng)的概率值設(shè)為(MAX+MIN)/2,其他位置的值都設(shè)置為零,對(duì)于本實(shí)例可以舉如下例子,假設(shè)我們得到K = 6,根據(jù)GF(S)上的映射關(guān)系logq[8] ={0,0,1,3,2,6,4,5},則K = 6對(duì)應(yīng)的值為Iogq[6] = 4,于是我們便設(shè)置對(duì)應(yīng)位置的信息節(jié)點(diǎn)的概率向量LLR中的LLR[4] = (MAX+MIN) /2,而其他位置的LLR為零,于是乎我們的到的新概率向量為{0,0,0,0,(MAX+MIN)/2,0,0},按照同樣的方法我們可以重置S所對(duì)應(yīng)的其他信息節(jié)點(diǎn)的概率向量,并進(jìn)入新一輪的迭代譯碼。如果RS譯碼單元在當(dāng)前一幀內(nèi)是第一次運(yùn)行則將RS_C0dew0rd輸入第一譯碼結(jié)果統(tǒng)計(jì)單元,如果當(dāng)前的迭代次數(shù)達(dá)到最大迭代次數(shù)40,則將RS_C0deW0rd輸入第二譯碼結(jié)果統(tǒng)計(jì)單元。(4)記錄進(jìn)行RS譯碼并重置多進(jìn)制LDPC碼譯碼器中的概率信息前的譯碼結(jié)果第一譯碼結(jié)果統(tǒng)計(jì)單元根據(jù)判決單元的信息,記錄當(dāng)前多進(jìn)制LDPC碼的譯碼結(jié)果dec_codewordl及其對(duì)應(yīng)的不滿足校驗(yàn)方程的校驗(yàn)節(jié)點(diǎn)個(gè)數(shù)NI,并將dec_codewordl中由集合S所對(duì)應(yīng)的位置用LDPC_codeword_l所代替,此處的LDPC_codeword_l是由當(dāng)前輸入的RS碼譯碼結(jié)果RS-codeword_l轉(zhuǎn)換成對(duì)應(yīng)的多進(jìn)制LDPC碼字而來(lái),從而得到最終的譯碼信息Message_l ;(5)記錄進(jìn)行RS譯碼且達(dá)到最大迭代次數(shù)后的譯碼結(jié)果第二譯碼結(jié)果統(tǒng)計(jì)單元根據(jù)判決單元的結(jié)果,記錄當(dāng)前多進(jìn)制LDPC碼譯碼器的輸出碼字dec_codeword2,及對(duì)應(yīng)的不滿足校驗(yàn)方程的校驗(yàn)節(jié)點(diǎn)個(gè)數(shù)N2,并將dec_ codeword2中由集合S所對(duì)應(yīng)的位置用LDPC_codeword_2所代替,此處的LDPC_codeword_2 是由當(dāng)前輸入的RS碼譯碼結(jié)果RS_codeword_2轉(zhuǎn)換成對(duì)應(yīng)的多進(jìn)制LDPC碼字而來(lái),從而得到最終的譯碼信息MeSSage_2并進(jìn)入輸出判決單元;(6)輸出譯碼結(jié)果輸出判決單元決定譯碼器的最終輸出結(jié)果,它根據(jù)第一譯碼結(jié)果統(tǒng)計(jì)單元和第二譯碼結(jié)果統(tǒng)計(jì)單元的信息比較NI與N2的大小,如果NI > N2,則說(shuō)明級(jí)聯(lián)的RS碼譯碼器改善的譯碼性能,輸出MeSSage_2作為最后譯碼所得的信息比特輸出,否則,說(shuō)明級(jí)聯(lián)的RS碼譯碼器引入了額外的錯(cuò)誤,此時(shí)將Message」作為最后譯碼所得的信息比特輸出。如圖4所示,是本實(shí)例的譯碼性能與傳統(tǒng)多進(jìn)制LDPC碼譯碼性能的比較結(jié)果, 圖中BERRS+GF (8) LDPC是本實(shí)例中的級(jí)聯(lián)多進(jìn)制LDPC編譯碼器的誤比特率曲線,圖中 FERRS+GF(8)LDPC是本實(shí)例中的級(jí)聯(lián)多進(jìn)制LDPC編譯碼器的誤幀率曲線,圖中BER GF (8) LDPC是本實(shí)例中的多進(jìn)制LDPC碼的傳統(tǒng)概率域和積譯碼的誤碼率曲線,圖中FER GF(8) LDPC是本實(shí)例中的多進(jìn)制LDPC碼的傳統(tǒng)概率域和積譯碼的誤幀率曲線,從圖中的仿真結(jié)果可以看出,本發(fā)明中的多進(jìn)制LDPC碼級(jí)聯(lián)編譯碼方法無(wú)論是在誤碼率還是誤幀率性能方面都好于傳統(tǒng)的多進(jìn)制LDPC碼的概率域和積譯碼器,就本實(shí)例而言,其在誤碼率和誤幀率方面都有將近O. 3dB的增益。
權(quán)利要求
1.一種多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)編譯碼系統(tǒng),其特征在于,包括依次連接的最易出錯(cuò)信息統(tǒng)計(jì)模塊、多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)編碼模塊、調(diào)制模塊、解調(diào)模塊、多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)譯碼模塊,所述多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)編碼模塊包括多進(jìn)制LDPC碼編碼器,具體地最易出錯(cuò)信息統(tǒng)計(jì)模塊,其用于通過(guò)多進(jìn)制低密度校驗(yàn)碼的蒙特卡洛仿真,統(tǒng)計(jì)在較高信噪比情況下對(duì)應(yīng)碼字中不同位置的信息節(jié)點(diǎn)的錯(cuò)誤次數(shù),從而確定其中錯(cuò)誤次數(shù)最大的前X個(gè)符號(hào)在碼字中的對(duì)應(yīng)位置信息S ;多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)編碼模塊,其用于將輸入的信息流分成兩部分Ml和 M2,對(duì)Ml進(jìn)行RS編碼,產(chǎn)生對(duì)應(yīng)的碼字Cl,再將Cl與M2組成新的輸入信息流M_NEW進(jìn)入多進(jìn)制LDPC碼編碼器,組合過(guò)程中根據(jù)所述位置信息S,使經(jīng)過(guò)多進(jìn)制LDPC碼編碼后輸出的碼字中由S對(duì)應(yīng)的最易出錯(cuò)部分的信息都來(lái)自于RS生成的碼字Cl ;多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)譯碼模塊,其用于根據(jù)所接收到的碼字先驗(yàn)概率信息及對(duì)應(yīng)的多進(jìn)制低密度奇偶校驗(yàn)碼的校驗(yàn)矩陣H進(jìn)行譯碼。
2.根據(jù)權(quán)利要求I所述的多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)編譯碼系統(tǒng),其特征在于, 所述多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)譯碼模塊包括初始信息統(tǒng)計(jì)單元、多進(jìn)制LDPC碼譯碼單元、判決單元、RS碼譯碼單元、第一譯碼結(jié)果統(tǒng)計(jì)單元、變量節(jié)點(diǎn)概率信息重置單元、第二譯碼結(jié)果統(tǒng)計(jì)單元及輸出判決單元,其中初始信息統(tǒng)計(jì)單元用于根據(jù)信道輸出的結(jié)果記錄輸入多進(jìn)制LDPC碼譯碼器的信息節(jié)點(diǎn)先驗(yàn)概率信息的絕對(duì)值中的最大值MAX和最小值MIN ;多進(jìn)制LDPC碼譯碼單元用于根據(jù)多進(jìn)制LDPC碼的概率域的和積譯碼算法(L0G_SPA) 對(duì)LDPC碼進(jìn)行譯碼;判決單元用于根據(jù)多進(jìn)制LDPC碼譯碼器的譯碼結(jié)果,根據(jù)相應(yīng)的條件判斷何時(shí)進(jìn)入 RS碼譯碼單元、第一譯碼結(jié)果統(tǒng)計(jì)單元及第二譯碼結(jié)果統(tǒng)計(jì)單元;RS碼譯碼單元用于根據(jù)判決單元的結(jié)果,對(duì)當(dāng)前多進(jìn)制LDPC碼譯碼結(jié)果中相應(yīng)的屬于RS碼字的部分進(jìn)行RS譯碼,并進(jìn)入變量節(jié)點(diǎn)概率信息重置單元,而且如果RS譯碼單元在當(dāng)前一幀內(nèi)是第一次運(yùn)行則將RS譯碼結(jié)果輸入第一譯碼結(jié)果統(tǒng)計(jì)單元,如果當(dāng)前的迭代次數(shù)達(dá)到最大迭代次數(shù)Iter_MAX,則將RS譯碼結(jié)果輸入第二譯碼結(jié)果統(tǒng)計(jì)單元;變量節(jié)點(diǎn)概率信息重置單元用于將RS碼譯碼單元的譯碼結(jié)果RS_C0deW0rd轉(zhuǎn)換成對(duì)應(yīng)的多進(jìn)制LDPC碼的碼字LDPC_codeword,根據(jù)LDPC_codeword及所述位置信息S,重置輸入多進(jìn)制LDPC碼譯碼單元的相應(yīng)位置的信息節(jié)點(diǎn)的概率值;第一譯碼結(jié)果統(tǒng)計(jì)單元用于根據(jù)判決單元的結(jié)果,記錄當(dāng)前多進(jìn)制LDPC碼譯碼器的輸出碼字dec_codeword_l,及對(duì)應(yīng)的不滿足校驗(yàn)方程的校驗(yàn)節(jié)點(diǎn)個(gè)數(shù)NI,并將dec_ codeword_l中所述位置信息S所對(duì)應(yīng)的位置用LDPC_codeword_l所代替,此處的LDPC_ codeword_l是由當(dāng)前輸入的RS碼譯碼結(jié)果RS_codeword_l轉(zhuǎn)換成對(duì)應(yīng)的多進(jìn)制LDPC碼字而來(lái),從而得到最終的譯碼信息Message」;第二譯碼結(jié)果統(tǒng)計(jì)單元用于根據(jù)判決單元的結(jié)果,記錄當(dāng)前多進(jìn)制LDPC碼譯碼器的輸出碼字dec_codeword_2,及對(duì)應(yīng)的不滿足校驗(yàn)方程的校驗(yàn)節(jié)點(diǎn)個(gè)數(shù)N2,并將dec_ codeword_2中所述位置信息S所對(duì)應(yīng)的位置用LDPC_codeword_2所代替,此處的LDPC_ codeword_2是由當(dāng)前輸入的RS碼譯碼結(jié)果RS_codeword_2轉(zhuǎn)換成對(duì)應(yīng)的多進(jìn)制LDPC碼字而來(lái),從而得到最終的譯碼信息MeSSage_2并進(jìn)入輸出判決單元;輸出判決單元用于根據(jù)第一譯碼結(jié)果統(tǒng)計(jì)單元和第二譯碼結(jié)果統(tǒng)計(jì)單元的信息比較 NI與N2的大小,如果NI > N2,輸出MeSSage_2作為最后譯碼所得的信息比特輸出;否則, 將Message_l作為最后譯碼所得的信息比特輸出。
3.根據(jù)權(quán)利要求2所述的多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)編譯碼系統(tǒng),其特征在于, 所述判決單元根據(jù)多進(jìn)制LDPC碼譯碼器的譯碼結(jié)果統(tǒng)計(jì)當(dāng)前的迭代次數(shù)Iter_num,如果 Iter_num小于某一設(shè)定的閾值NUM,則測(cè)試譯碼結(jié)果是否滿足校驗(yàn)方程,如果有不滿足的校驗(yàn)方程則進(jìn)入下一次迭代譯碼,否則如果所有校驗(yàn)方程都滿足則進(jìn)入RS碼譯碼單元;如果Iter_num等于NUM,并且有不滿足的校驗(yàn)方程,則進(jìn)入第一譯碼結(jié)果統(tǒng)計(jì)單元并進(jìn)入RS 碼譯碼單元;如果Iter_num大于NUM,并且有不滿足的校驗(yàn)方程,則進(jìn)入RS碼譯碼單元;如果Iter_num達(dá)到了所設(shè)置的最大迭代次數(shù)Iterjnax,則停止譯碼,進(jìn)入第二譯碼結(jié)果統(tǒng)計(jì)單元并進(jìn)入RS碼譯碼單元。
4.一種多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)編譯碼方法,其特征在于,包括如下步驟步驟A :通過(guò)多進(jìn)制低密度校驗(yàn)碼的蒙特卡洛仿真,統(tǒng)計(jì)在較高信噪比情況下對(duì)應(yīng)碼字中不同位置的信息節(jié)點(diǎn)的錯(cuò)誤次數(shù),從而確定其中錯(cuò)誤次數(shù)最大的前X個(gè)符號(hào)在碼字中的對(duì)應(yīng)位置信息S ;步驟B :將輸入的信息流分成兩部分Ml和M2,對(duì)Ml進(jìn)行RS編碼,產(chǎn)生對(duì)應(yīng)的碼字Cl, 再將Cl與M2組成新的輸入信息流M_NEW進(jìn)入多進(jìn)制LDPC碼編碼器,組合過(guò)程中根據(jù)所述位置信息S,使經(jīng)過(guò)多進(jìn)制LDPC碼編碼后輸出的碼字中由S對(duì)應(yīng)的最易出錯(cuò)部分的信息都來(lái)自于RS生成的碼字Cl ;步驟C :根據(jù)所接收到的碼字先驗(yàn)概率信息及對(duì)應(yīng)的多進(jìn)制低密度奇偶校驗(yàn)碼的校驗(yàn)矩陣H進(jìn)行譯碼。
5.根據(jù)權(quán)利要求4所述的多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)編譯碼方法,其特征在于, 所述步驟C包括如下步驟-根據(jù)信道輸出的結(jié)果記錄輸入多進(jìn)制LDPC碼譯碼器的信息節(jié)點(diǎn)先驗(yàn)概率信息的絕對(duì)值中的最大值MAX和最小值MIN ;-根據(jù)多進(jìn)制LDPC碼的概率域的和積譯碼算法(L0G_SPA)對(duì)LDPC碼進(jìn)行譯碼;-根據(jù)多進(jìn)制LDPC碼譯碼器的譯碼結(jié)果,根據(jù)相應(yīng)的條件判斷何時(shí)進(jìn)入RS碼譯碼單元、第一譯碼結(jié)果統(tǒng)計(jì)單元及第二譯碼結(jié)果統(tǒng)計(jì)單元;-根據(jù)判決單元的結(jié)果,對(duì)當(dāng)前多進(jìn)制LDPC碼譯碼結(jié)果中相應(yīng)的屬于RS碼字的部分進(jìn)行RS譯碼,并進(jìn)入變量節(jié)點(diǎn)概率信息重置單元,而且如果RS譯碼單元在當(dāng)前一幀內(nèi)是第一次運(yùn)行則將RS譯碼結(jié)果輸入第一譯碼結(jié)果統(tǒng)計(jì)單元,如果當(dāng)前的迭代次數(shù)達(dá)到最大迭代次數(shù)Iter_MAX,則將RS譯碼結(jié)果輸入第二譯碼結(jié)果統(tǒng)計(jì)單元;-將RS碼譯碼單元的譯碼結(jié)果RS_codeword轉(zhuǎn)換成對(duì)應(yīng)的多進(jìn)制LDPC碼的碼字LDPC_ codeword,根據(jù)LDPC_codeword及所述位置信息S,重置輸入多進(jìn)制LDPC碼譯碼單兀的相應(yīng)位置的信息節(jié)點(diǎn)的概率值;-根據(jù)判決單元的結(jié)果,記錄當(dāng)前多進(jìn)制LDPC碼譯碼器的輸出碼字deC_C0deW0rd_l, 及對(duì)應(yīng)的不滿足校驗(yàn)方程的校驗(yàn)節(jié)點(diǎn)個(gè)數(shù)NI,并將deC_C0deW0rd_l中所述位置信息S所對(duì)應(yīng)的位置用LDPC_codeword_l所代替,此處的LDPC_codeword_l是由當(dāng)前輸入的RS碼譯碼結(jié)果RS_C0deW0rd_l轉(zhuǎn)換成對(duì)應(yīng)的多進(jìn)制LDPC碼字而來(lái),從而得到最終的譯碼信息 Message_l ;-根據(jù)判決單元的結(jié)果,記錄當(dāng)前多進(jìn)制LDPC碼譯碼器的輸出碼字deC_C0deW0rd_2, 及對(duì)應(yīng)的不滿足校驗(yàn)方程的校驗(yàn)節(jié)點(diǎn)個(gè)數(shù)N2,并將deC_C0deW0rd_2中所述位置信息S所對(duì)應(yīng)的位置用LDPC_codeword_2所代替,此處的LDPC_codeword_2是由當(dāng)前輸入的RS碼譯碼結(jié)果RS_C0deW0rd_2轉(zhuǎn)換成對(duì)應(yīng)的多進(jìn)制LDPC碼字而來(lái),從而得到最終的譯碼信息 Message_2并進(jìn)入輸出判決單兀;-根據(jù)第一譯碼結(jié)果統(tǒng)計(jì)單元和第二譯碼結(jié)果統(tǒng)計(jì)單元的信息比較NI與N2的大小,如果NI > N2,輸出MeSSage_2作為最后譯碼所得的信息比特輸出;否則,將Message」作為最后譯碼所得的信息比特輸出。
6.根據(jù)權(quán)利要求5所述的多進(jìn)制低密度奇偶校驗(yàn)碼的級(jí)聯(lián)編譯碼方法,其特征在于, 在所述根據(jù)多進(jìn)制LDPC碼譯碼器的譯碼結(jié)果,根據(jù)相應(yīng)的條件判斷何時(shí)進(jìn)入RS碼譯碼單元、第一譯碼結(jié)果統(tǒng)計(jì)單元及第二譯碼結(jié)果統(tǒng)計(jì)單元的步驟中,根據(jù)多進(jìn)制LDPC碼譯碼器的譯碼結(jié)果統(tǒng)計(jì)當(dāng)前的迭代次數(shù)Iter_num,如果Iter_num小于某一設(shè)定的閾值NUM,則測(cè)試譯碼結(jié)果是否滿足校驗(yàn)方程,如果有不滿足的校驗(yàn)方程則進(jìn)入下一次迭代譯碼,否則如果所有校驗(yàn)方程都滿足則進(jìn)入RS碼譯碼單元;如果Iter_num等于NUM,并且有不滿足的校驗(yàn)方程,則進(jìn)入第一譯碼結(jié)果統(tǒng)計(jì)單元并進(jìn)入RS碼譯碼單元;如果Iter_num大于NUM,并且有不滿足的校驗(yàn)方程,則進(jìn)入RS碼譯碼單元;如果Iter_num達(dá)到了所設(shè)置的最大迭代次數(shù)Iter_max,則停止譯碼,進(jìn)入第二譯碼結(jié)果統(tǒng)計(jì)單元并進(jìn)入RS碼譯碼單元。
全文摘要
本發(fā)明提供一種多進(jìn)制低密度校驗(yàn)碼的級(jí)聯(lián)編譯碼方法,首先通過(guò)蒙特卡洛仿真統(tǒng)計(jì)對(duì)應(yīng)多進(jìn)制LDPC碼的碼字中最易出錯(cuò)的部分符號(hào)信息的對(duì)應(yīng)位置;接著在編碼的時(shí)候?qū)斎胄畔⑦M(jìn)行預(yù)處理,將其分成兩部分,其中一部分信息進(jìn)行RS編碼,RS編碼后的結(jié)果再與剩下的那部分信息結(jié)合組成新的信息流輸入多進(jìn)制LDPC碼編碼器,原先最易出錯(cuò)的符號(hào)信息位置的值由RS編碼后的碼字占據(jù);最后進(jìn)行級(jí)聯(lián)譯碼器的譯碼。還提供相應(yīng)的系統(tǒng)。本發(fā)明適用與所有多進(jìn)制LDPC碼,通過(guò)將原先多進(jìn)制LDPC碼字中最易出錯(cuò)的部分用RS編碼后的碼字替換,利用了RS碼的糾錯(cuò)能力顯著的提升了系統(tǒng)的整體糾錯(cuò)能力。
文檔編號(hào)H03M13/11GK102611463SQ201210102298
公開(kāi)日2012年7月25日 申請(qǐng)日期2012年4月9日 優(yōu)先權(quán)日2012年4月9日
發(fā)明者俞暉, 李金濤, 楊藝賓 申請(qǐng)人:上海交通大學(xué)