專(zhuān)利名稱(chēng):基于非正則低密度奇偶校驗(yàn)碼的編譯碼器及其生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)字通信系統(tǒng)用于數(shù)據(jù)傳輸糾錯(cuò)的編譯碼器,特別是涉及數(shù)字通信領(lǐng)域糾錯(cuò)技術(shù)中的基于低密度奇偶校驗(yàn)碼的編譯碼器及其生成方法,以及生成奇偶校驗(yàn)矩陣所用的基礎(chǔ)矩陣。
背景技術(shù):
所有的數(shù)字通信系統(tǒng)如通信、雷達(dá)、遙控遙測(cè)、數(shù)字計(jì)算機(jī)的存儲(chǔ)系統(tǒng)和內(nèi)部運(yùn)算以及計(jì)算機(jī)之間的數(shù)據(jù)傳輸?shù)榷伎梢詺w結(jié)為如圖1所示的模型。其中的信源編碼器是為了提高傳輸?shù)挠行裕诺谰幋a器是為了抗擊傳輸過(guò)程中各種各樣的噪聲和干擾,通過(guò)人為地增加冗余信息,使得系統(tǒng)具有自動(dòng)糾正差錯(cuò)的能力,從而保證數(shù)字傳輸?shù)目煽啃?。隨著無(wú)線數(shù)字通信的發(fā)展及各種高速率、突發(fā)性強(qiáng)的業(yè)務(wù)的出現(xiàn),人們對(duì)糾錯(cuò)編碼技術(shù)提出了愈來(lái)愈高的要求。
最初糾錯(cuò)碼的研究主要集中在以代數(shù)理論為基礎(chǔ)的線性分組碼,隨后出現(xiàn)了漢明碼、循環(huán)碼、BCH碼、RS碼等一系列好碼。五十年代出現(xiàn)的卷積碼在編碼過(guò)程中引入了寄存器,增加了碼元之間的相關(guān)性,從而在相同的復(fù)雜度下獲得比分組碼更高的編碼增益。隨著各種卷積碼譯碼算法(Viterbi算法)的出現(xiàn),卷積碼得到了深入研究和應(yīng)用。1993年,法國(guó)的C.Berrou等人提出了Turbo碼,使人們朝著編碼性能的極限又邁進(jìn)了一大步。在獲得巨大成功的Turbo碼的啟發(fā)下,另一類(lèi)具有相似特征和性能的編碼重新得到人們的重視,這就是低密度奇偶校驗(yàn)碼(Low Density Parity Check Codes,記為L(zhǎng)DPC碼)。LDPC碼是一類(lèi)可以用非常稀疏的奇偶校驗(yàn)矩陣或者二分圖定義的線性分組碼,最初由Gallager發(fā)現(xiàn),所以稱(chēng)為Gallager碼。經(jīng)過(guò)數(shù)十年的沉寂,隨著計(jì)算機(jī)硬件和相關(guān)理論的發(fā)展,MacKay和.Neal重新發(fā)現(xiàn)了它,并證明了它具有逼近香農(nóng)限的性能。最新研究表明,LDPC碼具有以下特點(diǎn)低譯碼復(fù)雜度,可線性時(shí)間編碼,具有逼近香農(nóng)限的性能,可并行譯碼,以及在長(zhǎng)碼長(zhǎng)條件下優(yōu)于Turbo碼。
LDPC碼是一種基于稀疏校驗(yàn)矩陣的線性分組碼,正是利用它的校驗(yàn)矩陣的稀疏性,才能實(shí)現(xiàn)低復(fù)雜度的編譯碼,從而使得LDPC碼走向?qū)嵱没?。前面提到的Gallager碼是一種正則的LDPC碼(regular ldpcc),而Luby和Mitzenmacher等人對(duì)Gallager碼進(jìn)行了推廣,提出非正則的LDPC碼(irregularldpcc)。Gallager最初提出的編碼具有規(guī)則的碼結(jié)構(gòu),其校驗(yàn)矩陣是稀疏矩陣,且每一行具有相同個(gè)數(shù)的1,每一列也具有相同個(gè)數(shù)的1。M.G.Luby認(rèn)為,如果允許校驗(yàn)矩陣的行或者列中非零元的個(gè)數(shù)發(fā)生變化,同時(shí)保證矩陣的稀疏性,那么編碼的譯碼算法仍然適用,而編碼的性能卻能夠得到極大的提高,使之能夠達(dá)到甚至超過(guò)Turbo碼的性能。這是因?yàn)樵谶@種編碼結(jié)構(gòu)中,如果對(duì)應(yīng)二分圖的左節(jié)點(diǎn)和右節(jié)點(diǎn)有合適的次數(shù)分布(degree distribution),那么在譯碼時(shí)將會(huì)存在一種波狀效應(yīng)(waveform effect),將極大地提高譯碼性能。非正則碼就是這種允許同種節(jié)點(diǎn)有不同次數(shù)的低密度的編碼,而Gallager最初提出的編碼相應(yīng)的稱(chēng)為正則碼。
目前,大量文獻(xiàn)提出用單位矩陣以及它的循環(huán)移位矩陣來(lái)構(gòu)造任意可變碼長(zhǎng)的LDPC碼,這種具有分組循環(huán)奇偶校驗(yàn)矩陣的LDPC碼成為當(dāng)前的研究熱點(diǎn)。目前,如何構(gòu)造出具有短圈盡量少的此類(lèi)LDPC碼的碼構(gòu)造方法還很不全面。
基于單位陣及其循環(huán)移位矩陣的LDPC碼由于具有任意可變碼長(zhǎng),編碼實(shí)現(xiàn)簡(jiǎn)單,擴(kuò)展過(guò)程中可以保證次數(shù)分布和girth(指最短圈長(zhǎng))分布不變的特點(diǎn),成為當(dāng)前學(xué)術(shù)界的研究重點(diǎn)。但是,目前構(gòu)造的基于單位陣及其循環(huán)移位LDPC碼都沒(méi)有充分考慮girth的影響以及碼長(zhǎng)和girth的關(guān)系,從而使得誤碼率(BER)曲線在信噪比較高的時(shí)候下降速度急劇變慢,常常出現(xiàn)差錯(cuò)平底(error floor)現(xiàn)象,從而導(dǎo)致性能下降。如何才能消除LDPC碼的差錯(cuò)平底現(xiàn)象,加速BER曲線下降速度,在高信噪比時(shí)提高LDPC碼的性能,成為當(dāng)前亟待解決的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題在于提供一種非正則低密度奇偶校驗(yàn)碼的基礎(chǔ)矩陣及其生成方法,由使生成的奇偶校驗(yàn)矩陣能有效地消除差錯(cuò)平底現(xiàn)象,加速BER曲線的下降速度。
為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種非正則低密度奇偶校驗(yàn)碼的基礎(chǔ)矩陣,該基礎(chǔ)矩陣Hb由對(duì)應(yīng)于信息比特的M×(N-M)的塊A和對(duì)應(yīng)于校驗(yàn)比特的M×M的塊B組成,該基礎(chǔ)矩陣Hb中,對(duì)于所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有不等式mod(i-j+k-l,z)≠0成立,其中,mod為求模運(yùn)算,z為擴(kuò)展因子。
進(jìn)一步,上述基礎(chǔ)矩陣還可具有以下特點(diǎn)所述對(duì)應(yīng)于校驗(yàn)比特塊B采用準(zhǔn)下三角結(jié)構(gòu)。
進(jìn)一步,上述基礎(chǔ)矩陣還可具有以下特點(diǎn)還滿(mǎn)足以下條件設(shè)該基礎(chǔ)矩陣Hb中重量最大的列的數(shù)目為r,刪除其中的r-1列形成的所有新的基礎(chǔ)矩陣中,對(duì)于所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有不等式mod(i-j+k-l,z)≠0成立;且對(duì)于所有構(gòu)成了長(zhǎng)度為6的短圈的任意元素i,j,k,l,m,n,總有不等式mod(i-j+k-l+m-n,z)≠0成立。
進(jìn)一步,上述基礎(chǔ)矩陣還可具有以下特點(diǎn)還滿(mǎn)足以下條件設(shè)該基礎(chǔ)矩陣Hb中重量最大的列的數(shù)目為r,刪除其中的r-1列并刪除所有重量為3的列后形成的新的基礎(chǔ)矩陣中,對(duì)于所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有不等式mod(i-j+k-l,z)≠0成立;且對(duì)于所有構(gòu)成了長(zhǎng)度為6的短圈的任意元素i,j,k,l,m,n,總有不等式mod(i-j+k-l+m-n,z)≠0成立。
為了實(shí)現(xiàn)對(duì)特定碼率多個(gè)碼長(zhǎng)的數(shù)據(jù)可以基于一個(gè)基礎(chǔ)矩陣進(jìn)行編譯碼,上述基礎(chǔ)矩陣還可進(jìn)一步具有以下特點(diǎn)所述基礎(chǔ)矩陣Hb的元素值針對(duì)同一碼率下的每一種碼長(zhǎng)進(jìn)行修正后,均能使修正前所能滿(mǎn)足的所有的不等式成立。
為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種非正則低密度奇偶校驗(yàn)碼的基礎(chǔ)矩陣的生成方法,包括以下步驟
(a)根據(jù)碼率和碼長(zhǎng)的要求,確定需構(gòu)造的基礎(chǔ)矩陣Hb的行數(shù)M和列數(shù)N,并根據(jù)次數(shù)分布要求確定基礎(chǔ)矩陣Hb的行、列的重量向量;(b)構(gòu)建一個(gè)由對(duì)應(yīng)于信息比特的M×(N-M)的塊A和對(duì)應(yīng)于校驗(yàn)比特的M×M的塊B組成的非正則的原始基礎(chǔ)矩陣Hb’;(c)從集合{0,1,2,…,z-1}中選值填充到原始基礎(chǔ)矩陣Hb’中“1”的位置上,得到基礎(chǔ)矩陣Hb,且Hb中所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有不等式mod(i-j+k-l,z)≠0成立,mod為求模運(yùn)算,z為擴(kuò)展因子。
進(jìn)一步地,上述基礎(chǔ)矩陣的生成方法可具有以下特點(diǎn)所述步驟(c)進(jìn)一步分為以下步驟(c1)假設(shè)原始基礎(chǔ)矩陣中有r個(gè)最重列,先將原始基礎(chǔ)矩陣Hb’中所有的r個(gè)最重列去掉,從集合{0,1,2,…,z-1}中選值填充該矩陣中一個(gè)為“1”的位置,每填一個(gè)位置,對(duì)經(jīng)過(guò)該位置的所有短圈進(jìn)行計(jì)算,使其滿(mǎn)足生成的奇偶校驗(yàn)矩陣最短圈圈長(zhǎng)girth≥10所要求滿(mǎn)足的不等式;選不到值時(shí),再以使其生成的奇偶校驗(yàn)矩陣girth≥8所要求滿(mǎn)足的不等式為條件選值;(c2)完成對(duì)去掉最重列的矩陣的填充后,加入第n個(gè)最重列并去掉剩余的r-1個(gè)最重列,n=1,2,……,r,構(gòu)成一個(gè)新基礎(chǔ)矩陣,按步驟(c1)同樣的方法對(duì)該最重列各個(gè)為“1”的位置進(jìn)行選值填充,每選到一個(gè)值后,再將上述r-1個(gè)最重列都加入構(gòu)成又一個(gè)新基礎(chǔ)矩陣,判斷該矩陣是否滿(mǎn)足使其生成的奇偶校驗(yàn)矩陣滿(mǎn)足girth≥6的不等式,如果滿(mǎn)足,再填充下一個(gè)位置,否則對(duì)該位置重新進(jìn)行選值和判斷;(c3)逐一填完所有最重列后,得到所要的基礎(chǔ)矩陣Hb。
進(jìn)一步地,上述基礎(chǔ)矩陣的生成方法可具有以下特點(diǎn)所述步驟(c2)中,如果所有的可選值都不能滿(mǎn)足要求時(shí),再執(zhí)行步驟(c2)’再刪除所有重量為3的列,構(gòu)成一個(gè)新的基礎(chǔ)矩陣,按步驟(c1)同樣的方法對(duì)所述第n個(gè)最重列各個(gè)為“1”的位置進(jìn)行選值填充,每選到一個(gè)值后,再將所述r-1個(gè)最重列都加入構(gòu)成又一個(gè)新基礎(chǔ)矩陣,判斷該矩陣是否滿(mǎn)足使其生成的奇偶校驗(yàn)矩陣滿(mǎn)足girth≥6的不等式,如果滿(mǎn)足,再填充下一個(gè)位置。
為了實(shí)現(xiàn)對(duì)特定碼率多個(gè)碼長(zhǎng)的數(shù)據(jù)可以基于一個(gè)基礎(chǔ)矩陣進(jìn)行編譯碼,進(jìn)一步地,上述基礎(chǔ)矩陣的生成方法可具有以下特點(diǎn)所述步驟(c1)在選到使其生成的奇偶校驗(yàn)矩陣最短圈圈長(zhǎng)girth≥10或girth≥8的值后,還將該基礎(chǔ)矩陣修正為對(duì)應(yīng)于該碼率下其它所有碼長(zhǎng)的基礎(chǔ)矩陣,對(duì)修正后得到的每一個(gè)基礎(chǔ)矩陣,判斷是否滿(mǎn)足使其生成的奇偶校驗(yàn)矩陣girth≥8所要求滿(mǎn)足的不等式,如果滿(mǎn)足再執(zhí)行步驟(c2),否則需重新選值,在所述步驟(c2)、(c2)’中選值時(shí)按同樣方法驗(yàn)證填充后的基礎(chǔ)矩陣是否對(duì)于所有碼長(zhǎng)均滿(mǎn)足girth要求。
進(jìn)一步地,上述基礎(chǔ)矩陣的生成方法可具有以下特點(diǎn)所述碼率為1/2、2/3或3/4,每一碼率下基礎(chǔ)矩陣Hb的行數(shù)M等于規(guī)定的校驗(yàn)位的位數(shù),而列數(shù)N為12、24或48。
進(jìn)一步地,上述基礎(chǔ)矩陣的生成方法可具有以下特點(diǎn)所述塊B采用準(zhǔn)下三角結(jié)構(gòu)。
進(jìn)一步地,上述基礎(chǔ)矩陣的生成方法可具有以下特點(diǎn)所述原始基礎(chǔ)矩陣采用比特填充法構(gòu)建,并且在構(gòu)建的過(guò)程中統(tǒng)計(jì)最短圈的數(shù)目,優(yōu)先選擇使最短短圈的數(shù)量小的填充值。
本發(fā)明所要解決的另一技術(shù)問(wèn)題在于提供一種基于非正則低密度奇偶校驗(yàn)碼的編碼器和譯碼器,能有效地消除LDPC碼的差錯(cuò)平底現(xiàn)象,加速BER曲線的下降速度。
為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種基于非正則低密度奇偶校驗(yàn)碼的編碼器,包括編碼運(yùn)算模塊,其特征在于,還包括基礎(chǔ)矩陣存儲(chǔ)模塊和擴(kuò)展模塊,其中所述基礎(chǔ)矩陣存儲(chǔ)模塊,用于存儲(chǔ)由對(duì)應(yīng)于信息比特的M×(N-M)的塊A和對(duì)應(yīng)于校驗(yàn)比特的M×M的塊B組成的基礎(chǔ)矩陣Hb,該基礎(chǔ)矩陣Hb中,對(duì)于所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有不等式mod(i-j+k-l,z)≠0成立,其中,mod為求模運(yùn)算,z為擴(kuò)展因子。
所述擴(kuò)展模塊,用于根據(jù)擴(kuò)展因子和基本置換矩陣對(duì)基礎(chǔ)矩陣進(jìn)行擴(kuò)展,得到(M×z)×(N×z)低密度奇偶校驗(yàn)碼的奇偶校驗(yàn)矩陣。
所述編碼運(yùn)算模塊,用于基于擴(kuò)展得到的所述奇偶校驗(yàn)矩陣,完成從N-M比特的源數(shù)據(jù)得到N比特碼字的編碼運(yùn)算。
為了解決上述技術(shù)問(wèn)題,本發(fā)明還提供了一種基于非正則低密度奇偶校驗(yàn)碼的譯碼器,包括譯碼運(yùn)算模塊,其特征在于,還包括基礎(chǔ)矩陣存儲(chǔ)模塊和擴(kuò)展模塊,其中所述基礎(chǔ)矩陣存儲(chǔ)模塊,用于存儲(chǔ)由對(duì)應(yīng)于信息比特的M×(N-M)的塊A和對(duì)應(yīng)于校驗(yàn)比特的M×M的塊B組成的基礎(chǔ)矩陣Hb,該基礎(chǔ)矩陣Hb中,對(duì)于所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有不等式mod(i-j+k-l,z)≠0成立,其中,mod為求模運(yùn)算,z為擴(kuò)展因子。
所述擴(kuò)展模塊,用于根據(jù)擴(kuò)展因子和基本置換矩陣對(duì)基礎(chǔ)矩陣進(jìn)行擴(kuò)展,得到(M×z)×(N×z)低密度奇偶校驗(yàn)碼的奇偶校驗(yàn)矩陣。
所述譯碼運(yùn)算模塊,用于基于擴(kuò)展得到的所述奇偶校驗(yàn)矩陣,對(duì)輸入的受干擾后的碼字比特進(jìn)行糾錯(cuò)后輸出。
進(jìn)一步地,上述編碼器和譯碼器中采用的基礎(chǔ)矩陣Hb可具有本發(fā)明上述基礎(chǔ)矩陣具有的任何附加特征。
為了解決上述技術(shù)問(wèn)題,本發(fā)明又提供了一種基于非正則低密度奇偶校驗(yàn)碼的編碼器/譯碼器的生成方法,包括以下步驟(a)根據(jù)碼率和碼長(zhǎng)的要求,確定需構(gòu)造的基礎(chǔ)矩陣Hb的行數(shù)M和列數(shù)N,并根據(jù)次數(shù)分布要求確定基礎(chǔ)矩陣Hb的行、列的重量向量;(b)構(gòu)建一個(gè)由對(duì)應(yīng)于信息比特的M×(N-M)的塊A和對(duì)應(yīng)于校驗(yàn)比特的M×M的塊B組成的非正則的原始基礎(chǔ)矩陣Hb’;(c)從集合{0,1,2,…,z-1}中選值填充到原始基礎(chǔ)矩陣Hb’中“1”的位置上,得到基礎(chǔ)矩陣Hb,且Hb中所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有不等式mod(i-j+k-l,z)≠0成立,mod為求模運(yùn)算,z為擴(kuò)展因子;
(d)存儲(chǔ)得到的基礎(chǔ)矩陣Hb,并配置一個(gè)根據(jù)基本置換矩陣和擴(kuò)展因子將該基礎(chǔ)矩陣擴(kuò)展為奇偶校驗(yàn)矩陣的擴(kuò)展模塊,以及一個(gè)基于擴(kuò)展得到的奇偶校驗(yàn)矩陣完成編碼/譯碼運(yùn)算的編碼/譯碼運(yùn)算模塊,組成編碼器/譯碼器。
進(jìn)一步地,上述編碼器/譯碼器的生成過(guò)程中,基礎(chǔ)矩陣Hb的生成可具有本發(fā)明上述基礎(chǔ)矩陣生成方法所具有的任何附加特征。
本發(fā)明方法著重從LDPC碼的girth角度來(lái)設(shè)計(jì)好的LDPC碼的編碼器和譯碼器。但是,基礎(chǔ)矩陣的可能組合方式的數(shù)量是極其巨大的,現(xiàn)有技術(shù)還沒(méi)有一種使構(gòu)建奇偶校驗(yàn)矩陣girth盡量大,最短短圈數(shù)盡量少的可行方法,也得不到滿(mǎn)足這樣要求的基礎(chǔ)矩陣。本發(fā)明則通過(guò)提出的基礎(chǔ)矩陣的生成方法,得到了滿(mǎn)足這樣要求的基礎(chǔ)矩陣,即由該基礎(chǔ)矩陣生成的LDPC奇偶校驗(yàn)矩陣具有高Girth且在較輕的節(jié)點(diǎn)上的最短短圈盡量少。這就有效地消除了LDPC碼的差錯(cuò)平底現(xiàn)象,加速了BER曲線的下降速度。進(jìn)一步地,本發(fā)明的基礎(chǔ)矩陣對(duì)于特定碼率條件下的可變碼長(zhǎng)均具有以上特性,因而能大大縮小存儲(chǔ)空間,具有很好的普遍適用性。
圖1為數(shù)字通信系統(tǒng)的模塊圖;圖2為二分圖中長(zhǎng)度為4短圈的示意圖;圖3為二分圖中長(zhǎng)度為6短圈的示意圖;圖4為校驗(yàn)矩陣中長(zhǎng)度為4短圈的示意圖;圖5為校驗(yàn)矩陣中長(zhǎng)度為6短圈的示意圖;圖6為本發(fā)明實(shí)施例編譯碼器生成方法的流程圖;圖7為本發(fā)明所定義的基礎(chǔ)矩陣結(jié)構(gòu)示意圖;圖8是本發(fā)明實(shí)施例編譯碼器的結(jié)構(gòu)框圖;圖9為本發(fā)明1/2碼率一個(gè)基礎(chǔ)矩陣實(shí)例生成19種碼長(zhǎng)低密度奇偶校驗(yàn)碼的誤幀率性能;圖10為本發(fā)明3/4碼率一個(gè)基礎(chǔ)矩陣實(shí)例生成19種碼長(zhǎng)低密度奇偶校驗(yàn)碼的誤幀率性能。
具體實(shí)施例方式
LDPC碼是一種特殊的線性分組碼。通信中,每發(fā)送一個(gè)分組長(zhǎng)度為N比特的碼字,為了保證其具有一定的糾錯(cuò)能力,需要有M個(gè)校驗(yàn)比特,每個(gè)碼字都要求滿(mǎn)足HxT=0T,其中H為二元域上M×N維的奇偶校驗(yàn)矩陣。所有的運(yùn)算都是在二元域GF(2)上進(jìn)行的,這里加和減是“異或”運(yùn)算,而乘是“與”運(yùn)算。
系統(tǒng)分組碼的直接編碼方法是把一個(gè)碼字x劃分為N-M個(gè)信息比特s和M個(gè)校驗(yàn)比特c,相應(yīng)地,把M×N的奇偶校驗(yàn)矩陣H劃分為分別對(duì)應(yīng)于信息比特和校驗(yàn)比特的M×(N-M)和M×M的兩塊,即H=[A|B]。根據(jù)H×x=0,可得[A|B]×[sc]=0]]>于是可以得到A×s+B×c=0,進(jìn)一步推出c=B-1As。當(dāng)塊B采用特殊的矩陣結(jié)構(gòu),如嚴(yán)格下三角結(jié)構(gòu)(半隨機(jī)矩陣)、雙下三角結(jié)構(gòu)等,則B-1具有非常簡(jiǎn)單的形式,可以直接按照上面式子直接計(jì)算得到碼字中校驗(yàn)比特部分c,并且可以保證編碼器具有線性復(fù)雜度。
也可以采用Richarson線性時(shí)間編碼算法奇偶校驗(yàn)矩陣H具有準(zhǔn)下三角結(jié)構(gòu),設(shè)H具有如下形式H=ABTCDE]]>設(shè)編碼后碼字是x=(s,p1,p2),這里s為編碼碼字的系統(tǒng)比特部分,p1和p2為碼字的校驗(yàn)比特部分,p1的長(zhǎng)度為g,p2長(zhǎng)度為(m-g)。上式中,A的維數(shù)是(m-g)×(n-m),B是(m-g)×g,T是(m-g)×(m-g),C是g×(n-m),D是g×g,E是g×(m-g)。所有這些矩陣都是稀疏矩陣,而T是下三角矩陣,主對(duì)角線元素全為1。校驗(yàn)比特部分可以由下面式子求得 p2T=-T-1(AsT+Bp1T)]]>其中,=-ET-1B+D
因此,本發(fā)明設(shè)計(jì)的LDPC碼的編碼器可以由LDPC奇偶校驗(yàn)矩陣H唯一生成,實(shí)際上LDPC碼的奇偶校驗(yàn)矩陣不僅僅決定了LDPC碼譯碼器的性能,而且決定了LDPC碼的編碼器和譯碼器的復(fù)雜度、存儲(chǔ)空間和處理延時(shí)。尋找合適的LDPC碼的奇偶校驗(yàn)矩陣結(jié)構(gòu)是至關(guān)重要的。
在具體實(shí)現(xiàn)時(shí),可采上述直接方法或者Richarson方法或者其它方法運(yùn)算,來(lái)完成從N-M比特的源數(shù)據(jù)得到N比特碼字的編碼功能。事實(shí)上,該編碼器就是用軟件或硬件實(shí)現(xiàn)式中稀疏矩陣的乘法和加法運(yùn)算,對(duì)于基于單位陣以及其循環(huán)移位矩陣的LDPC碼,稀疏矩陣的乘法運(yùn)算可以由多個(gè)z位(z為擴(kuò)展因子)的循環(huán)移位寄存器和多個(gè)z位的加法器構(gòu)成,而稀疏矩陣的加法運(yùn)算就是由上述的多個(gè)z位的加法器完成,該多個(gè)z位循環(huán)移位寄存器和多個(gè)z位加法器就構(gòu)造出一個(gè)硬件電路實(shí)現(xiàn)的LDPC編碼器。
LDPC奇偶校驗(yàn)矩陣的圖形表示形式是二分圖。二分圖和校驗(yàn)矩陣之間具有一一對(duì)應(yīng)的關(guān)系,一個(gè)M*N的奇偶校驗(yàn)矩陣H定義了每個(gè)具有N比特的碼字滿(mǎn)足M個(gè)奇偶校驗(yàn)集的約束。一個(gè)二分圖包括N個(gè)變量節(jié)點(diǎn)和M個(gè)奇偶校驗(yàn)節(jié)點(diǎn)。當(dāng)?shù)趍個(gè)校驗(yàn)涉及到第n個(gè)比特位,即H中第m行第n列的元素Hm,n=1時(shí),將有一根連線連接校驗(yàn)節(jié)點(diǎn)m和變量節(jié)點(diǎn)n。二分圖中,任何同一類(lèi)的節(jié)點(diǎn)之間都不會(huì)有連接,并且二分圖中的總邊數(shù)和校驗(yàn)矩陣中非零元素的個(gè)數(shù)相等。
概念girth用來(lái)定量描述二分圖中的短圈。在圖論中,二分圖的girth是指一個(gè)圖中最短圈的圈長(zhǎng),例如某個(gè)二分圖有長(zhǎng)度為6、8、10、12和長(zhǎng)度更長(zhǎng)的圈,則該二分圖的girth為6,節(jié)點(diǎn)的girth則指通過(guò)該節(jié)點(diǎn)的最短圈的圈長(zhǎng)。例如,圖2中黑色加重的實(shí)線表示信息比特x1、x2和校驗(yàn)比特c1、c2構(gòu)成了一個(gè)長(zhǎng)度為4的圈,說(shuō)明x1、x2通過(guò)長(zhǎng)度為4的圈相互聯(lián)系。圖3中黑色加重的實(shí)線表示信息比特x1、x2、x3和校驗(yàn)比特c1、c2、c4構(gòu)成了一個(gè)長(zhǎng)度為6的圈,說(shuō)明了x1、x2、x3通過(guò)長(zhǎng)度為6的圈相互聯(lián)系。圖4、圖5則分別給出了圈長(zhǎng)為4和為6的短圈在LDPC奇偶校驗(yàn)矩陣中出現(xiàn)的一般形式。
LDPC碼的信息傳遞譯碼算法假定變量節(jié)點(diǎn)是相互獨(dú)立的,短圈的存在必然破壞了獨(dú)立性的假設(shè),使得譯碼性能明顯下降。事實(shí)上,LDPC奇偶校驗(yàn)矩陣對(duì)應(yīng)二分圖的最短圈長(zhǎng)度越長(zhǎng),即girth值越大,從變量節(jié)點(diǎn)發(fā)出的信息被傳遞給自身的正反饋信息將越小,則譯碼性能也越好。因此,本發(fā)明構(gòu)造LDPC奇偶校驗(yàn)矩陣的原則如下首先,選擇的校驗(yàn)矩陣的最短圈的長(zhǎng)度girth應(yīng)該盡量大;其次,對(duì)于具有同樣大小girth的校驗(yàn)矩陣,選擇的校驗(yàn)矩陣的最短圈的數(shù)目應(yīng)該盡量少。
LDPC碼的奇偶校驗(yàn)矩陣H設(shè)為(M×z)×(N×z)矩陣,它是由M×N個(gè)分塊矩陣構(gòu)成,每個(gè)分塊矩陣都是z×z的基本置換矩陣的不同冪次,基本置換矩陣為單位陣時(shí),它們都是單位陣的循環(huán)移位矩陣(文中默認(rèn)為右移)。通過(guò)這樣的冪次j就可以唯一標(biāo)識(shí)每一個(gè)分塊矩陣,單位矩陣的冪次可用0表示,矩陣一般用-1來(lái)表示。這樣,如果將H的每個(gè)分塊矩陣都用它的冪次代替,就得到一個(gè)M×N的冪次矩陣Hb。這里,定義Hb是H的基礎(chǔ)矩陣,H稱(chēng)為Hb的擴(kuò)展矩陣。在實(shí)際編碼時(shí),z=碼長(zhǎng)/基礎(chǔ)矩陣的列數(shù)N,稱(chēng)為擴(kuò)展因子。
例如,矩陣 可以用下面的參數(shù)z和一個(gè)2×4的基礎(chǔ)矩陣Hb擴(kuò)展得到z=3和Hb=010-12121]]>因此,也可以說(shuō)本發(fā)明的LDPC碼的編碼器是由基礎(chǔ)矩陣Hb,擴(kuò)展因子z及所選擇的基本置換矩陣唯一生成的。
構(gòu)建基礎(chǔ)矩陣Hb時(shí),是先構(gòu)建一個(gè)原始基礎(chǔ)矩陣Hb’,原始基礎(chǔ)矩陣的元素僅由0和1組成,該矩陣反映出最終需要構(gòu)造的LDPC碼的次數(shù)分布、碼率等重要特征。從集合{0,1,2,…,z-1}中選擇合適的值填充到原始基礎(chǔ)矩陣中所有“1”的位置上,再將“0”用“-1”代替,就得到了對(duì)應(yīng)的基礎(chǔ)矩陣,其中z為對(duì)應(yīng)碼長(zhǎng)的擴(kuò)展因子。
校驗(yàn)矩陣H的girth與其基礎(chǔ)矩陣Hb之間存在關(guān)聯(lián),通過(guò)數(shù)學(xué)推理和計(jì)算機(jī)仿真的驗(yàn)證,可以得到以下結(jié)論(分析過(guò)程可以參照本申請(qǐng)人的中國(guó)專(zhuān)利申請(qǐng)200410009746.5的相關(guān)內(nèi)容)LDPC奇偶校驗(yàn)矩陣girth≥6的充分必要條件為它的基礎(chǔ)矩陣中,對(duì)于所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有mod(i-j+k-l,z)≠0(mod為求模運(yùn)算,z為擴(kuò)展因子,選偶數(shù))。
LDPC奇偶校驗(yàn)矩陣girth≥8的充分必要條件為它的基礎(chǔ)矩陣中,對(duì)于所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有mod(i-j+k-l,z)≠0;且對(duì)于所有構(gòu)成了長(zhǎng)度為6的短圈的任意元素i,j,k,l,m,n,總有mod(i-j+k-l+m-n,z)≠0。
LDPC奇偶校驗(yàn)矩陣girth≥10的充分必要條件為它的基礎(chǔ)矩陣中,對(duì)于所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有mod(i-j+k-l,z/2)≠0;對(duì)于所有構(gòu)成了長(zhǎng)度為6的短圈的任意元素i,j,k,l,m,n,總有mod(i-j+k-l+m-n,z)≠0;且對(duì)于所有構(gòu)成了長(zhǎng)度為8的短圈的任意元素i,j,k,l,m,n,s,t,總有mod(i-j+k-l+m-n+s-t,z)≠0。
當(dāng)girth≥10時(shí),提高girth對(duì)譯碼器的性能改善很少,所以本發(fā)明只需要考慮消除長(zhǎng)度為4、6和8的短圈。
基于以上結(jié)論,在構(gòu)建LDPC奇偶校驗(yàn)矩陣的基礎(chǔ)矩陣時(shí),就可以以上述不等式為約束條件有目的地選擇元素值,使得擴(kuò)展后的奇偶校驗(yàn)矩陣具有所期望的girth值。也可以用于對(duì)已生成的基礎(chǔ)矩陣進(jìn)行檢查,判斷其擴(kuò)展后的奇偶校驗(yàn)矩陣是否具有所期望的girth值。
如果對(duì)于每個(gè)不同的擴(kuò)展因子無(wú)法采用同一基礎(chǔ)矩陣,那么,對(duì)于每個(gè)不同的碼長(zhǎng),所述的LDPC碼編譯碼器都需要存儲(chǔ)一個(gè)基礎(chǔ)矩陣,當(dāng)碼長(zhǎng)很多時(shí),就要存儲(chǔ)很多基礎(chǔ)矩陣,這樣會(huì)占用很大的存儲(chǔ)空間或者使得硬件實(shí)現(xiàn)電路很復(fù)雜。因此,從實(shí)用性考慮,本實(shí)施例對(duì)同一碼率的多種碼長(zhǎng),使用同一個(gè)基礎(chǔ)矩陣,同時(shí)在不同碼長(zhǎng)時(shí)對(duì)該基礎(chǔ)矩陣進(jìn)行修正和擴(kuò)展,使得生成的編譯碼器可適用于碼長(zhǎng)可變的場(chǎng)合。但本發(fā)明不局限于此,也可適用于對(duì)一個(gè)碼長(zhǎng)采用一個(gè)基礎(chǔ)矩陣的方式。
修正是利用其它碼長(zhǎng)的擴(kuò)展因子對(duì)基礎(chǔ)矩陣Hb中的非負(fù)值進(jìn)行修正,修正后元素值應(yīng)小于該碼長(zhǎng)下的擴(kuò)展因子值,修正算法可以采用取模(mod)、取整(scale+floor)或舍入(scale+round)等,設(shè)Pi,j為基礎(chǔ)矩陣第i行第j列的非負(fù)元素,P’i,j為修正以后的元素,有對(duì)于取模(mod)方法Pij′=PijmodnN]]>對(duì)于取整(scale+floor)方法Pij′=[Pij×n2304]]]>對(duì)于舍入(scale+round)方法Pij′=Round(Pij×n2304)]]>其中,N為基礎(chǔ)矩陣列數(shù),n為要生成奇偶校驗(yàn)矩陣的低密度奇偶校驗(yàn)碼的碼長(zhǎng)。mod為取模操作,[]為下取整操作,Round為四舍五入操作。
例如,對(duì)于碼長(zhǎng)1152比特低密度奇偶校驗(yàn)碼,設(shè)其基礎(chǔ)矩陣某個(gè)非負(fù)元素為93,則其修正結(jié)果為對(duì)于取模(mod)方法93mod115224=93mod48=45]]>對(duì)于取整(scale+floor)方法[93×11522304]=[46.5]=46]]>對(duì)于舍入(scale+round)方法Round(93×11522304)=Round(46.5)=47]]>
基于以上分析,如圖6所示,本實(shí)施例提出的碼長(zhǎng)可變低密度奇偶校驗(yàn)碼的編譯碼器的生成方法包括以下步驟步驟110,根據(jù)碼率和碼長(zhǎng)的要求,確定需構(gòu)造的低密度奇偶校驗(yàn)碼的基礎(chǔ)矩陣的行數(shù)M和列數(shù)N;不同碼率下規(guī)定了不同的校驗(yàn)位數(shù),本實(shí)施例將考慮1/2、2/3和3/4三種碼率,采用的校驗(yàn)位數(shù)分別是12、8和6,,相應(yīng)基礎(chǔ)矩陣的行數(shù)M也為12、8和6。在確定列數(shù)時(shí),需考慮碼長(zhǎng)和擴(kuò)展因子為偶數(shù)這個(gè)要求,假定共有19種碼長(zhǎng)(比特),分別是576、672、768、864、960、……、2304,相鄰碼長(zhǎng)之間的間隔為96比特。為了同時(shí)兼顧譯碼性能和存儲(chǔ)空間的要求,本實(shí)施例三種碼率下的基礎(chǔ)矩陣均取24列(也可以取12列、48列等)。這樣,可以計(jì)算得到每一碼長(zhǎng)的擴(kuò)展因子z,分別為24、28、32、36、40、……、96,間隔為4。zmin=24是最小碼長(zhǎng)的擴(kuò)展因子;zmax=96,是最大碼長(zhǎng)的擴(kuò)展因子。
步驟120,確定需構(gòu)造的低密度奇偶校驗(yàn)碼的次數(shù)分布,并由次數(shù)分布得到所述基礎(chǔ)矩陣的行重量向量和列重量向量;從獲得最佳性能考慮,本發(fā)明采用非正則的LDPC碼,次數(shù)分布可以是充分考慮信噪比門(mén)限和迭代收斂速度以及算法的復(fù)雜度,從計(jì)算結(jié)果中最終選擇出來(lái)的。
步驟130,根據(jù)得到的行、列重量向量,構(gòu)建一個(gè)非正則的由對(duì)應(yīng)于信息比特的M×(N-M)的塊A和對(duì)應(yīng)于校驗(yàn)比特的M×M的塊B組成的原始基礎(chǔ)矩陣Hb’,塊B采用準(zhǔn)下三角結(jié)構(gòu),且其第一列的列重為3,其余部分是一個(gè)雙下三角結(jié)構(gòu),也并不局限于此;為了使填充后的基礎(chǔ)矩陣容易滿(mǎn)足上述不等式的要求,最好使該原始基礎(chǔ)矩陣在滿(mǎn)足行、列重量向量的可能的矩陣中g(shù)irth最大。為此,可以采用比特填充法來(lái)構(gòu)建得到。在構(gòu)建的過(guò)程中還可以統(tǒng)計(jì)最短圈的數(shù)目,使最短短圈的數(shù)量盡量小,這對(duì)最終得到高girth的校驗(yàn)矩陣也是有益的。在矩陣不大時(shí),也可以排列出的可能的組合并從中選擇。
塊B采用準(zhǔn)下三角結(jié)構(gòu)是為了能夠使構(gòu)建出的奇偶校驗(yàn)矩陣的結(jié)構(gòu)符合線性時(shí)間編碼,降低編碼的復(fù)雜度。
步驟140,從集合{0,1,2,…,zmax-1}中選擇合適的元素填充到原始基礎(chǔ)矩陣中“1”的位置上,得到非正則的基礎(chǔ)矩陣Hb(其格式如圖7所示),該基礎(chǔ)矩陣應(yīng)滿(mǎn)足條件一,對(duì)所有碼長(zhǎng),該基礎(chǔ)矩陣都能滿(mǎn)足使對(duì)應(yīng)奇偶校驗(yàn)矩陣girth≥6所要求滿(mǎn)足的不等式,以及條件二,設(shè)基礎(chǔ)矩陣Hb中重量最大的列的數(shù)目為r,刪除其中的r-l列形成的所有新的基礎(chǔ)矩陣,對(duì)于任何碼長(zhǎng),這些新的基礎(chǔ)矩陣都能滿(mǎn)足使對(duì)應(yīng)奇偶校驗(yàn)矩陣girth≥8所要求滿(mǎn)足的不等式。
本實(shí)施例采用以下具體的填充方法來(lái)實(shí)現(xiàn)上述限定1)假設(shè)原始基礎(chǔ)矩陣中有r個(gè)最重列,先將原始基礎(chǔ)矩陣中所有的r個(gè)最重列去掉,從集合{0,1,2,…,zmax-1}中選值填充該矩陣中一個(gè)為“1”的位置(未填充的位置為空),本實(shí)施例是一列一列來(lái)填的,每填一個(gè)位置,對(duì)經(jīng)過(guò)該位置的所有短圈進(jìn)行計(jì)算(計(jì)算方法可參照本申請(qǐng)人的中國(guó)專(zhuān)利申請(qǐng)200410009746.5的相關(guān)內(nèi)容),使其滿(mǎn)足生成的奇偶校驗(yàn)矩陣girth≥10所要求滿(mǎn)足的上述不等式;選不到值時(shí),再以使其生成的奇偶校驗(yàn)矩陣girth≥8所要求滿(mǎn)足的上述不等式為約束條件選值。由于矩陣很稀疏,比較容易滿(mǎn)足girth≥8的要求。另外,如果一個(gè)位置有多個(gè)值可以滿(mǎn)足同一約束條件,則從中隨機(jī)選一個(gè)值填充。
2)對(duì)該位置填充后的矩陣,將其修正為對(duì)應(yīng)于該碼率下其它所有碼長(zhǎng)的基礎(chǔ)矩陣,對(duì)修正后得到的每一個(gè)基礎(chǔ)矩陣,判斷其是否滿(mǎn)足奇偶校驗(yàn)矩陣girth≥8所要求滿(mǎn)足的上述不等式,如果滿(mǎn)足(只要有一種修正方法可以使修正后的基礎(chǔ)矩陣滿(mǎn)足要求就可以,但每次填充時(shí)只能采用同一種修正方法),執(zhí)行下一步,否則需重新選值,這樣來(lái)保證所有碼長(zhǎng)下,基于該基礎(chǔ)矩陣生成的奇偶校驗(yàn)矩陣都滿(mǎn)足girth的要求;3)完成對(duì)去掉最重列的矩陣的填充后,加入第n個(gè)最重列并去掉剩余的r-1個(gè)最重列,n=1,2,……,r,構(gòu)成一個(gè)新基礎(chǔ)矩陣,按步驟1)和2)同樣的方法和要求對(duì)該最重列各個(gè)為“1”位置進(jìn)行選值填充,每次選到一個(gè)值后,再將上述r-1個(gè)最重列都加入構(gòu)成又一個(gè)新基礎(chǔ)矩陣,判斷該矩陣對(duì)于所有碼長(zhǎng),生成的奇偶校驗(yàn)矩陣是否滿(mǎn)足girth≥6的要求,如果滿(mǎn)足再執(zhí)行下一步,否則對(duì)該位置重新選值和判斷;4)逐一填完所有最重列r后,就得到了對(duì)于所有碼長(zhǎng),均能滿(mǎn)足生成的奇偶校驗(yàn)矩陣的Girth最少為6和上述條件二的基礎(chǔ)矩陣。
到這一步,已生成了滿(mǎn)足所述條件的基礎(chǔ)矩陣。
設(shè)置上述條件二并將其作為填充時(shí)的約束條件的意義在于,在保證girth值的情況下,進(jìn)一步地減少最短短圈的數(shù)目,特別是能夠減少通過(guò)重量小的節(jié)點(diǎn)的最短短圈數(shù),因?yàn)橹亓啃〉墓?jié)點(diǎn)后收斂,因而可以顯著地提高編譯碼的性能。
有時(shí)基礎(chǔ)矩陣比較小時(shí),可能不能滿(mǎn)足上述的條件二,在這種情況下為了也能盡量提高性能,本實(shí)施例還提出了條件三(條件一必須滿(mǎn)足)設(shè)基礎(chǔ)矩陣Hb中重量最大的列的數(shù)目為r,刪除其中的r-1列并刪除所有重量為3的列后形成的所有新的基礎(chǔ)矩陣,對(duì)于任何碼長(zhǎng),這些新的基礎(chǔ)矩陣都能滿(mǎn)足使對(duì)應(yīng)奇偶校驗(yàn)矩陣girth≥8所要求滿(mǎn)足的不等式。
具體在填充時(shí),如果步驟3)對(duì)加入第n個(gè)最重列并去掉剩余的r-1個(gè)最重列的新基礎(chǔ)矩陣填充時(shí),所有的可選值都不能滿(mǎn)足對(duì)所有碼長(zhǎng),使其生成的奇偶校驗(yàn)矩陣girth≥8的要求時(shí),則再去掉所有重量為3的列形成又一新的基礎(chǔ)矩陣,選擇一個(gè)對(duì)所有碼長(zhǎng),能使填充后的新的基礎(chǔ)矩陣生成的奇偶校驗(yàn)矩陣girth≥8的值,然后再加入其它填好的最重列進(jìn)行驗(yàn)證。這個(gè)條件要比條件二寬松一些。即本實(shí)施例要求構(gòu)造的基礎(chǔ)矩陣必須滿(mǎn)足條件一,在此基礎(chǔ)上較佳滿(mǎn)足條件二,條件二滿(mǎn)足不了時(shí)再采用滿(mǎn)足條件三的矩陣。如果只是構(gòu)建對(duì)于特定碼長(zhǎng)的基礎(chǔ)矩陣,上述步驟中不必再進(jìn)行對(duì)基礎(chǔ)矩陣修正后再驗(yàn)證的操作。
如果選值時(shí)上述要求都沒(méi)法滿(mǎn)足,則需調(diào)整初值或基礎(chǔ)矩陣的大小。
下面針對(duì)碼率為1/2、2/3和3/4的LDPC碼,提出了3個(gè)滿(mǎn)足上述要求的基礎(chǔ)矩陣(mb×nb),其中1/2碼率的基礎(chǔ)矩陣如下,大小為12×24,其中第一行為列標(biāo)號(hào)
可以看出,其右半部分采用了雙對(duì)角的下三角結(jié)構(gòu)。其中的“-1”表示零矩陣,一列元素的列重量指該列元素中非負(fù)元素的個(gè)數(shù)。該基礎(chǔ)矩陣修正、擴(kuò)展后,對(duì)于所有碼長(zhǎng),生成的奇偶校驗(yàn)矩陣的girth至少為6。
該基礎(chǔ)矩陣的列重量分布是(第一行為列標(biāo)號(hào))
其最大列重量是12,最大總量列共有3列,分別是第4、8、12列,刪除其中2列可以得到三種矩陣,如刪除掉其中8、12列而保留第4列的結(jié)果如下
依此類(lèi)推可以得到其它兩種矩陣,可以驗(yàn)證這三個(gè)矩陣作為基礎(chǔ)矩陣生成各個(gè)碼長(zhǎng)的奇偶校驗(yàn)矩陣的Girth為10或者8。
假設(shè)條件二得不到滿(mǎn)足,要驗(yàn)證條件三時(shí),可將該1/2碼率的基礎(chǔ)矩陣任意2個(gè)最大列重量列和重量為3的列刪除,如刪掉最大列重中的第8、12列而保留第4列和刪除列重量為3的第12列的結(jié)果是
再對(duì)該矩陣生成的所有碼長(zhǎng)的奇偶校驗(yàn)矩陣的Girth進(jìn)行驗(yàn)證,同樣是采用不等式的判斷方法。這里得到的girth是10或者8。
2/3碼率的基礎(chǔ)矩陣如下,大小為8×24
3/4碼率的基礎(chǔ)矩陣如下,大小為12×24
其列重量分布是(第一行為列標(biāo)號(hào))
該矩陣的最大列重量為4,最大總量列共有12列,所以保留一個(gè)最重列時(shí),可以得到12種矩陣,其中保留第1列而刪除其他最大重量列的結(jié)果是
依此類(lèi)推可以得到其它11種矩陣,可以驗(yàn)證,用這12矩陣作為基礎(chǔ)矩素鋼與采用不銹鋼進(jìn)行對(duì)比試驗(yàn)。其中,負(fù)載為純阻性燈泡,采用同一動(dòng)力,測(cè)試工具為艾諾2103B電參數(shù)綜合測(cè)試儀和水銀溫度計(jì),試驗(yàn)環(huán)境為室內(nèi)。對(duì)比產(chǎn)品相關(guān)參數(shù)為
各項(xiàng)性能指標(biāo)檢測(cè)結(jié)果對(duì)比如下
從上表可以看出繞組壓板采用不銹鋼后,定子溫升降低5.0%,轉(zhuǎn)子溫升降低5.8%,輸出功率提高8.4%,付繞組電壓下降13.2%,勵(lì)磁電壓下降21.0%,勵(lì)磁電流下降17.0%。
實(shí)施例2結(jié)構(gòu)與實(shí)施例1相同,所不同之處為壓板4的材料為銅。對(duì)比試驗(yàn)方法、試驗(yàn)環(huán)境、所用儀器及產(chǎn)品相關(guān)參數(shù)與實(shí)施例1相同,其各項(xiàng)性能指標(biāo)檢測(cè)結(jié)果對(duì)比如下
步驟160,再配置一個(gè)譯碼運(yùn)算模塊,與基礎(chǔ)矩陣模塊、修正模塊和擴(kuò)展模塊一起組成了要生成的譯碼器,也如圖8所示,其中譯碼運(yùn)算模塊,用于基于擴(kuò)展得到的低密度奇偶校驗(yàn)碼的奇偶校驗(yàn)矩陣,對(duì)輸入的受干擾后的碼字比特進(jìn)行糾錯(cuò)后輸出。具體可采用現(xiàn)有的信息傳遞(message passing)算法作為譯碼算法,但本發(fā)明不局限于此。
圖9給出了依照本發(fā)明1/2碼率的一個(gè)基礎(chǔ)矩陣實(shí)例生成19種碼長(zhǎng)低密度奇偶校驗(yàn)碼在BPSK調(diào)制、加性高斯白噪聲信道、標(biāo)準(zhǔn)信傳譯碼50次迭代下的誤幀率性能。圖10給出了本發(fā)明3/4碼率一個(gè)基礎(chǔ)矩陣實(shí)例生成19種碼長(zhǎng)低密度奇偶校驗(yàn)碼在同等條件下的性能。從圖中可以看出,本發(fā)明可以保證所有碼長(zhǎng)的LDPC碼都可以克服差錯(cuò)平底,并且很好保證了隨著碼長(zhǎng)增加性能連續(xù)變好的特征,即在高信噪比區(qū)間某特定碼率條件下不同碼長(zhǎng)BER曲線基本沒(méi)有交點(diǎn)(“cross”),并且加速迭代收斂的速度,有效消除差錯(cuò)平底(error floor)。
綜上所述,本發(fā)明方法著重從LDPC碼的girth角度來(lái)設(shè)計(jì)好的LDPC碼的編碼器和譯碼器,可以生成具有高Girth特性,并具有特定碼率條件下可變碼長(zhǎng)的特性的LDPC碼奇偶校驗(yàn)矩陣。能夠有效地消除LDPC碼的差錯(cuò)平底現(xiàn)象,減少迭代收斂次數(shù),明顯提高LDPC碼的性能,并且具有很好的普遍適用性。
本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種非正則低密度奇偶校驗(yàn)碼的基礎(chǔ)矩陣,該基礎(chǔ)矩陣Hb由對(duì)應(yīng)于信息比特的M×(N-M)的塊A和對(duì)應(yīng)于校驗(yàn)比特的M×M的塊B組成,其特征在于,還滿(mǎn)足以下條件該基礎(chǔ)矩陣Hb中,對(duì)于所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有不等式mod(i-j+k-l,z)≠0成立,其中,mod為求模運(yùn)算,z為擴(kuò)展因子。
2.如權(quán)利要求1所述的基礎(chǔ)矩陣,其特征在于,所述對(duì)應(yīng)于校驗(yàn)比特塊B采用準(zhǔn)下三角結(jié)構(gòu)。
3.如權(quán)利要求2所述的基礎(chǔ)矩陣,其特征在于,還滿(mǎn)足以下條件設(shè)該基礎(chǔ)矩陣Hb中重量最大的列的數(shù)目為r,刪除其中的r-1列形成的所有新的基礎(chǔ)矩陣中,對(duì)于所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有不等式mod(i-j+k-l,z)≠0成立;且對(duì)于所有構(gòu)成了長(zhǎng)度為6的短圈的任意元素i,j,k,l,m,n,總有不等式mod(i-j+k-l+m-n,z)≠0成立。
4.如權(quán)利要求2所述的基礎(chǔ)矩陣,其特征在于,還滿(mǎn)足以下條件設(shè)該基礎(chǔ)矩陣Hb中重量最大的列的數(shù)目為r,刪除其中的r-1列并刪除所有重量為3的列后形成的新的基礎(chǔ)矩陣中,對(duì)于所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有不等式mod(i-j+k-l,z)≠0成立;且對(duì)于所有構(gòu)成了長(zhǎng)度為6的短圈的任意元素i,j,k,l,m,n,總有不等式mod(i-j+k-l+m-n,z)≠0成立。
5.如權(quán)利要求1、2、4所述的基礎(chǔ)矩陣,其特征在于,所述基礎(chǔ)矩陣Hb的元素值針對(duì)同一碼率下的每一種碼長(zhǎng)進(jìn)行修正后,均能使修正前所能滿(mǎn)足的所有的不等式成立。
6.一種基于非正則低密度奇偶校驗(yàn)碼的編碼器,包括編碼運(yùn)算模塊,其特征在于,還包括基礎(chǔ)矩陣存儲(chǔ)模塊和擴(kuò)展模塊,其中所述基礎(chǔ)矩陣存儲(chǔ)模塊,用于存儲(chǔ)由對(duì)應(yīng)于信息比特的M×(N-M)的塊A和對(duì)應(yīng)于校驗(yàn)比特的M×M的塊B組成的基礎(chǔ)矩陣Hb,該基礎(chǔ)矩陣Hb中,對(duì)于所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有不等式mod(i-j+k-l,z)≠0成立,其中,mod為求模運(yùn)算,z為擴(kuò)展因子。所述擴(kuò)展模塊,用于根據(jù)擴(kuò)展因子和基本置換矩陣對(duì)基礎(chǔ)矩陣進(jìn)行擴(kuò)展,得到(M×z)×(N×z)低密度奇偶校驗(yàn)碼的奇偶校驗(yàn)矩陣。所述編碼運(yùn)算模塊,用于基于擴(kuò)展得到的所述奇偶校驗(yàn)矩陣,完成從N-M比特的源數(shù)據(jù)得到N比特碼字的編碼運(yùn)算。
7.如權(quán)利要求6所述的編碼器,其特征在于,所述基礎(chǔ)矩陣Hb還滿(mǎn)足以下條件所述對(duì)應(yīng)于校驗(yàn)比特塊B采用準(zhǔn)下三角結(jié)構(gòu)。
8.如權(quán)利要求7所述的編碼器,其特征在于,所述基礎(chǔ)矩陣Hb還滿(mǎn)足以下條件設(shè)該基礎(chǔ)矩陣Hb中重量最大的列的數(shù)目為r,刪除其中的r-1列形成的所有新的基礎(chǔ)矩陣中,對(duì)于所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有不等式mod(i-j+k-l,z)≠0成立;且對(duì)于所有構(gòu)成了長(zhǎng)度為6的短圈的任意元素i,j,k,l,m,n,總有不等式mod(i-j+k-l+m-n,z)≠0成立。
9.如權(quán)利要求7所述的編碼器,其特征在于,還滿(mǎn)足以下條件設(shè)該基礎(chǔ)矩陣Hb中重量最大的列的數(shù)目為r,刪除其中的r-1列并刪除所有重量為3的列后形成的新的基礎(chǔ)矩陣中,對(duì)于所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有不等式mod(i-j+k-l,z)≠0成立;且對(duì)于所有構(gòu)成了長(zhǎng)度為6的短圈的任意元素i,j,k,l,m,n,總有不等式mod(i-j+k-l+m-n,z)≠0成立。
10.如權(quán)利要求6、7、9所述的編碼器,其特征在于,所述基礎(chǔ)矩陣Hb的元素值針對(duì)同一碼率下的每一種碼長(zhǎng)進(jìn)行修正后,均能使修正前所能滿(mǎn)足的所有的不等式成立,且該編碼器還包括一個(gè)修正模塊,用于根據(jù)當(dāng)前數(shù)據(jù)流的碼長(zhǎng),讀取基礎(chǔ)矩陣Hb并對(duì)其中的非負(fù)值進(jìn)行修正,再交給擴(kuò)展模塊進(jìn)行擴(kuò)展。
11.一種基于非正則低密度奇偶校驗(yàn)碼的譯碼器,包括譯碼運(yùn)算模塊,其特征在于,還包括基礎(chǔ)矩陣存儲(chǔ)模塊和擴(kuò)展模塊,其中所述基礎(chǔ)矩陣存儲(chǔ)模塊,用于存儲(chǔ)由對(duì)應(yīng)于信息比特的M×(N-M)的塊A和對(duì)應(yīng)于校驗(yàn)比特的M×M的塊B組成的基礎(chǔ)矩陣Hb,該基礎(chǔ)矩陣Hb中,對(duì)于所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有不等式mod(i-j+k-l,z)≠0成立,其中,mod為求模運(yùn)算,z為擴(kuò)展因子。所述擴(kuò)展模塊,用于根據(jù)擴(kuò)展因子和基本置換矩陣對(duì)基礎(chǔ)矩陣進(jìn)行擴(kuò)展,得到(M×z)×(N×z)低密度奇偶校驗(yàn)碼的奇偶校驗(yàn)矩陣。所述譯碼運(yùn)算模塊,用于基于擴(kuò)展得到的所述奇偶校驗(yàn)矩陣,對(duì)輸入的受干擾后的碼字比特進(jìn)行糾錯(cuò)后輸出。
12.如權(quán)利要求11所述的譯碼器,其特征在于,所述基礎(chǔ)矩陣Hb還滿(mǎn)足以下條件所述對(duì)應(yīng)于校驗(yàn)比特塊B采用準(zhǔn)下三角結(jié)構(gòu)。
13.如權(quán)利要求12所述的譯碼器,其特征在于,所述基礎(chǔ)矩陣Hb還滿(mǎn)足以下條件設(shè)該基礎(chǔ)矩陣Hb中重量最大的列的數(shù)目為r,刪除其中的r-1列形成的所有新的基礎(chǔ)矩陣中,對(duì)于所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有不等式mod(i-j+k-l,z)≠0成立;且對(duì)于所有構(gòu)成了長(zhǎng)度為6的短圈的任意元素i,j,k,l,m,n,總有不等式mod(i-j+k-l+m-n,z)≠0成立。
14.如權(quán)利要求12所述的譯碼器,其特征在于,還滿(mǎn)足以下條件設(shè)該基礎(chǔ)矩陣Hb中重量最大的列的數(shù)目為r,刪除其中的r-1列并刪除所有重量為3的列后形成的新的基礎(chǔ)矩陣中,對(duì)于所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有不等式mod(i-j+k-l,z)≠0成立;且對(duì)于所有構(gòu)成了長(zhǎng)度為6的短圈的任意元素i,j,k,l,m,n,總有不等式mod(i-j+k-l+m-n,z)≠0成立。
15.如權(quán)利要求11、12、14所述的譯碼器,其特征在于,所述基礎(chǔ)矩陣Hb的元素值針對(duì)同一碼率下的每一種碼長(zhǎng)進(jìn)行修正后,均能使修正前所能滿(mǎn)足的所有的不等式成立,且該編碼器還包括一個(gè)修正模塊,用于根據(jù)當(dāng)前數(shù)據(jù)流的碼長(zhǎng),讀取基礎(chǔ)矩陣Hb并對(duì)其中的非負(fù)值進(jìn)行修正,再交給擴(kuò)展模塊進(jìn)行擴(kuò)展。
16.一種基于非正則低密度奇偶校驗(yàn)碼的編碼器/譯碼器的生成方法,包括以下步驟(a)根據(jù)碼率和碼長(zhǎng)的要求,確定需構(gòu)造的基礎(chǔ)矩陣Hb的行數(shù)M和列數(shù)N,并根據(jù)次數(shù)分布要求確定基礎(chǔ)矩陣Hb的行、列的重量向量;(b)構(gòu)建一個(gè)由對(duì)應(yīng)于信息比特的M×(N-M)的塊A和對(duì)應(yīng)于校驗(yàn)比特的M×M的塊B組成的非正則的原始基礎(chǔ)矩陣Hb’;(c)從集合{0,1,2,...,z-1}選值填充到原始基礎(chǔ)矩陣Hb’中“1”的位置上,得到基礎(chǔ)矩陣Hb,且Hb中所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有不等式mod(i-j+k-l,z)≠0成立,mod為求模運(yùn)算,z為擴(kuò)展因子;(d)存儲(chǔ)得到的基礎(chǔ)矩陣Hb,并配置一個(gè)根據(jù)基本置換矩陣和擴(kuò)展因子將該基礎(chǔ)矩陣擴(kuò)展為奇偶校驗(yàn)矩陣的擴(kuò)展模塊,以及一個(gè)基于擴(kuò)展得到的奇偶校驗(yàn)矩陣完成編碼/譯碼運(yùn)算的編碼/譯碼運(yùn)算模塊,組成編碼器/譯碼器。
17.如權(quán)利要求16所述的編碼器/譯碼器的生成方法,其特征在于,所述步驟(c)進(jìn)一步分為以下步驟(c1)假設(shè)原始基礎(chǔ)矩陣中有r個(gè)最重列,先將原始基礎(chǔ)矩陣Hb’中所有的r個(gè)最重列去掉,從集合{0,1,2,...,z-1}中選值填充該矩陣中一個(gè)為“1”的位置,每填一個(gè)位置,對(duì)經(jīng)過(guò)該位置的所有短圈進(jìn)行計(jì)算,使其滿(mǎn)足生成的奇偶校驗(yàn)矩陣最短圈圈長(zhǎng)girth≥10所要求滿(mǎn)足的不等式;選不到值時(shí),再以使其生成的奇偶校驗(yàn)矩陣girth≥8所要求滿(mǎn)足的不等式為條件選值;(c2)完成對(duì)去掉最重列的矩陣的填充后,加入第n個(gè)最重列并去掉剩余的r-1個(gè)最重列,n=1,2,......,r,構(gòu)成一個(gè)新基礎(chǔ)矩陣,按步驟(c1)同樣的方法對(duì)該最重列各個(gè)為“1”的位置進(jìn)行選值填充,每選到一個(gè)值后,再將上述r-1個(gè)最重列都加入構(gòu)成又一個(gè)新基礎(chǔ)矩陣,判斷該矩陣是否滿(mǎn)足使其生成的奇偶校驗(yàn)矩陣滿(mǎn)足girth≥6的不等式,如果滿(mǎn)足,再填充下一個(gè)位置,否則對(duì)該位置重新進(jìn)行選值和判斷;(c3)逐一填完所有最重列后,得到所要的基礎(chǔ)矩陣Hb。
18.如權(quán)利要求17所述的編碼器/譯碼器的生成方法,其特征在于,所述步驟(c2)中,如果所有的可選值都不能滿(mǎn)足要求時(shí),再執(zhí)行步驟(c2)’再刪除所有重量為3的列,構(gòu)成一個(gè)新的基礎(chǔ)矩陣,按步驟(c1)同樣的方法對(duì)所述第n個(gè)最重列各個(gè)為“1”的位置進(jìn)行選值填充,每選到一個(gè)值后,再將所述r-1個(gè)最重列都加入構(gòu)成又一個(gè)新基礎(chǔ)矩陣,判斷該矩陣是否滿(mǎn)足使其生成的奇偶校驗(yàn)矩陣滿(mǎn)足girth≥6的不等式,如果滿(mǎn)足,再填充下一個(gè)位置。
19.如權(quán)利要求17或18所述的編碼器/譯碼器的生成方法,其特征在于,所述步驟(c1)在選到使其生成的奇偶校驗(yàn)矩陣最短圈圈長(zhǎng)girth≥10或girth≥8的值后,還將該基礎(chǔ)矩陣修正為對(duì)應(yīng)于該碼率下其它所有碼長(zhǎng)的基礎(chǔ)矩陣,對(duì)修正后得到的每一個(gè)基礎(chǔ)矩陣,判斷是否滿(mǎn)足使其生成的奇偶校驗(yàn)矩陣girth≥8所要求滿(mǎn)足的不等式,如果滿(mǎn)足再執(zhí)行步驟(c2),否則需重新選值,在所述步驟(c2)、(c2)’中選值時(shí)按同樣方法驗(yàn)證填充后的基礎(chǔ)矩陣是否對(duì)于所有碼長(zhǎng)均滿(mǎn)足girth要求。。
20.如權(quán)利要求19所述的編碼器/譯碼器的生成方法,其特征在于,所述步驟(d)中,還配置了一個(gè)根據(jù)當(dāng)前數(shù)據(jù)流的碼長(zhǎng)對(duì)所述基礎(chǔ)矩陣Hb中的非負(fù)值進(jìn)行修正的修正模塊,該模塊將修正后的基礎(chǔ)矩陣再輸出到擴(kuò)展模塊進(jìn)行擴(kuò)展。
21.如權(quán)利要求16所述的編碼器/譯碼器的生成方法,其特征在于,所述碼率為1/2、2/3或3/4,每一碼率下基礎(chǔ)矩陣Hb的行數(shù)M等于規(guī)定的校驗(yàn)位的位數(shù),而列數(shù)N為12、24或48。
22.如權(quán)利要求16、17或18所述的編碼器/譯碼器的生成方法,其特征在于,所述塊B采用準(zhǔn)下三角結(jié)構(gòu)。
23.如權(quán)利要求16所述的編碼器/譯碼器的生成方法,其特征在于,所述原始基礎(chǔ)矩陣采用比特填充法構(gòu)建,并且在構(gòu)建的過(guò)程中統(tǒng)計(jì)最短圈的數(shù)目,優(yōu)先選擇使最短短圈的數(shù)量小的填充值。
24.一種非正則低密度奇偶校驗(yàn)碼的基礎(chǔ)矩陣的生成方法,包括以下步驟(a)根據(jù)碼率和碼長(zhǎng)的要求,確定需構(gòu)造的基礎(chǔ)矩陣Hb的行數(shù)M和列數(shù)N,并根據(jù)次數(shù)分布要求確定基礎(chǔ)矩陣Hb的行、列的重量向量;(b)構(gòu)建一個(gè)由對(duì)應(yīng)于信息比特的M×(N-M)的塊A和對(duì)應(yīng)于校驗(yàn)比特的M×M的塊B組成的非正則的原始基礎(chǔ)矩陣Hb’;(c)從集合{0,1,2,...,z-1}中選值填充到原始基礎(chǔ)矩陣Hb’中“1”的位置上,得到基礎(chǔ)矩陣Hb,且Hb中所有構(gòu)成了長(zhǎng)度為4的短圈的任意元素i,j,k,l,總有不等式mod(i-j+k-l,z)≠0成立,mod為求模運(yùn)算,z為擴(kuò)展因子。
25.如權(quán)利要求24所述的基礎(chǔ)矩陣的生成方法,其特征在于,所述步驟(c)進(jìn)一步分為以下步驟(c1)假設(shè)原始基礎(chǔ)矩陣中有r個(gè)最重列,先將原始基礎(chǔ)矩陣Hb’中所有的r個(gè)最重列去掉,從集合{0,1,2,...,z-1}中選值填充該矩陣中一個(gè)為“1”的位置,每填一個(gè)位置,對(duì)經(jīng)過(guò)該位置的所有短圈進(jìn)行計(jì)算,使其滿(mǎn)足生成的奇偶校驗(yàn)矩陣最短圈圈長(zhǎng)girth≥10所要求滿(mǎn)足的不等式;選不到值時(shí),再以使其生成的奇偶校驗(yàn)矩陣girth≥8所要求滿(mǎn)足的不等式為條件選值;(c2)完成對(duì)去掉最重列的矩陣的填充后,加入第n個(gè)最重列并去掉剩余的r-1個(gè)最重列,n=1,2,......,r,構(gòu)成一個(gè)新基礎(chǔ)矩陣,按步驟(c1)同樣的方法對(duì)該最重列各個(gè)為“1”的位置進(jìn)行選值填充,每選到一個(gè)值后,再將上述r-1個(gè)最重列都加入構(gòu)成又一個(gè)新基礎(chǔ)矩陣,判斷該矩陣是否滿(mǎn)足使其生成的奇偶校驗(yàn)矩陣滿(mǎn)足girth≥6的不等式,如果滿(mǎn)足,再填充下一個(gè)位置,否則對(duì)該位置重新進(jìn)行選值和判斷;(c3)逐一填完所有最重列后,得到所要的基礎(chǔ)矩陣Hb。
26.如權(quán)利要求25所述的基礎(chǔ)矩陣的生成方法,其特征在于,所述步驟(c2)中,如果所有的可選值都不能滿(mǎn)足要求時(shí),再執(zhí)行步驟(c2)’再刪除所有重量為3的列,構(gòu)成一個(gè)新的基礎(chǔ)矩陣,按步驟(c1)同樣的方法對(duì)所述第n個(gè)最重列各個(gè)為“1”的位置進(jìn)行選值填充,每選到一個(gè)值后,再將所述r-1個(gè)最重列都加入構(gòu)成又一個(gè)新基礎(chǔ)矩陣,判斷該矩陣是否滿(mǎn)足使其生成的奇偶校驗(yàn)矩陣滿(mǎn)足girth≥6的不等式,如果滿(mǎn)足,再填充下一個(gè)位置。
27.如權(quán)利要求25或26所述的基礎(chǔ)矩陣的生成方法,其特征在于,所述步驟(c1)在選到使其生成的奇偶校驗(yàn)矩陣最短圈圈長(zhǎng)girth≥10或girth≥8的值后,還將該基礎(chǔ)矩陣修正為對(duì)應(yīng)于該碼率下其它所有碼長(zhǎng)的基礎(chǔ)矩陣,對(duì)修正后得到的每一個(gè)基礎(chǔ)矩陣,判斷是否滿(mǎn)足使其生成的奇偶校驗(yàn)矩陣girth≥8所要求滿(mǎn)足的不等式,如果滿(mǎn)足再執(zhí)行步驟(c2),否則需重新選值,在所述步驟(c2)、(c2)’中選值時(shí)按同樣方法驗(yàn)證填充后的基礎(chǔ)矩陣是否對(duì)于所有碼長(zhǎng)均滿(mǎn)足girth要求。
28.如權(quán)利要求24所述的基礎(chǔ)矩陣的生成方法,其特征在于,所述碼率為1/2、2/3或3/4,每一碼率下基礎(chǔ)矩陣Hb的行數(shù)M等于規(guī)定的校驗(yàn)位的位數(shù),而列數(shù)N為12、24或48。
29.如權(quán)利要求24、25或26所述的基礎(chǔ)矩陣的生成方法,其特征在于,所述塊B采用準(zhǔn)下三角結(jié)構(gòu)。
30.如權(quán)利要求24所述的基礎(chǔ)矩陣的生成方法,其特征在于,所述原始基礎(chǔ)矩陣采用比特填充法構(gòu)建,并且在構(gòu)建的過(guò)程中統(tǒng)計(jì)最短圈的數(shù)目,優(yōu)先選擇使最短短圈的數(shù)量小的填充值。
全文摘要
本發(fā)明公開(kāi)了一種基于非正則低密度奇偶校驗(yàn)碼的編碼/譯碼器及其生成方法,包括編碼/譯碼運(yùn)算模塊、基礎(chǔ)矩陣存儲(chǔ)模塊和擴(kuò)展模塊,所存儲(chǔ)的基礎(chǔ)矩陣H
文檔編號(hào)H03M13/11GK1808955SQ20051000715
公開(kāi)日2006年7月26日 申請(qǐng)日期2005年1月23日 優(yōu)先權(quán)日2005年1月23日
發(fā)明者徐俊, 袁柳清, 胡留軍 申請(qǐng)人:中興通訊股份有限公司