專利名稱:一種低密度奇偶校驗碼的編碼器/譯碼器及其生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)字通信系統(tǒng)用于數(shù)據(jù)傳輸糾錯的編碼器和譯碼器,特別是涉及數(shù)字通信領(lǐng)域糾錯技術(shù)中的基于單位陣及其循環(huán)移位矩陣的低密度奇偶校驗碼的編碼器和譯碼器。
背景技術(shù):
所有的數(shù)字通信系統(tǒng)如通信、雷達、遙控遙測、數(shù)字計算機的存儲系統(tǒng)和內(nèi)部運算以及計算機之間的數(shù)據(jù)傳輸?shù)榷伎梢詺w結(jié)為如圖1所示的模型。
圖1中的信源編碼器是為了提高傳輸?shù)挠行?,信道編碼器是為了抗擊傳輸過程中各種各樣的噪聲和干擾,通過人為地增加冗余信息,使得系統(tǒng)具有自動糾正差錯的能力,從而保證數(shù)字傳輸?shù)目煽啃?。隨著無線數(shù)字通信的發(fā)展及各種高速率、突發(fā)性強的業(yè)務(wù)的出現(xiàn),人們對糾錯編碼技術(shù)提出了愈來愈高的要求。
最初糾錯碼的研究主要集中在以代數(shù)理論為基礎(chǔ)的線性分組碼,隨后出現(xiàn)了漢明碼、循環(huán)碼、BCH碼、RS碼等一系列好碼。五十年代出現(xiàn)的卷積碼在編碼過程中引入了寄存器,增加了碼元之間的相關(guān)性,從而在相同的復雜度下獲得比分組碼更高的編碼增益。隨著各種卷積碼譯碼算法(Viterbi算法)的出現(xiàn),卷積碼得到了深入研究和應(yīng)用。1993年,法國的C.Berrou等人提出了Turbo碼,使人們朝著編碼性能的極限又邁進了一大步。在獲得巨大成功的Turbo碼的啟發(fā)下,另一類具有相似特征和性能的編碼重新得到人們的重視,這就是低密度奇偶校驗碼(Low Density Parity Check Codes,記為LDPC碼)。LDPC碼是一類可以用非常稀疏的奇偶校驗矩陣或者二分圖定義的線性分組碼,最初由Gallager發(fā)現(xiàn),所以稱為Gallager碼。經(jīng)過數(shù)十年的沉寂,隨著計算機硬件和相關(guān)理論的發(fā)展,MacKay和.Neal重新發(fā)現(xiàn)了它,并證明了它具有逼近香農(nóng)限的性能。最新研究表明,LDPC碼具有以下特點低譯碼復雜度,可線性時間編碼,具有逼近香農(nóng)限的性能,可并行譯碼,以及在長碼長條件下優(yōu)于Turbo碼。
LDPC碼是一種基于稀疏校驗矩陣的線性分組碼,正是利用它的校驗矩陣的稀疏性,才能實現(xiàn)低復雜度的編譯碼,從而使得LDPC碼走向?qū)嵱没?。前面提到的Gallager碼是一種正則的LDPC碼(regular ldpcc),而Luby和Mitzenmacher等人對Gallager碼進行了推廣,提出非正則的LDPC碼(irregularldpcc)。Gallager最初提出的編碼具有規(guī)則的碼結(jié)構(gòu),其校驗矩陣是稀疏矩陣,且每一行具有相同個數(shù)的1,每一列也具有相同個數(shù)的1。M.G.Luby認為,如果允許校驗矩陣的行或者列中非零元的個數(shù)發(fā)生變化,同時保證矩陣的稀疏性,那么編碼的譯碼算法仍然適用,而編碼的性能卻能夠得到極大的提高,使之能夠達到甚至超過Turbo碼的性能。這是因為在這種編碼結(jié)構(gòu)中,如果對應(yīng)二分圖的左節(jié)點和右節(jié)點有合適的次數(shù)分布(degree distribution),那么在譯碼時將會存在一種波狀效應(yīng)(waveform effect),將極大地提高譯碼性能。非正則碼就是這種允許同種節(jié)點有不同次數(shù)的低密度的編碼,而Gallager最初提出的編碼相應(yīng)的稱為正則碼。
對于中短長度的LDPC碼,二分圖中短長度圈將使碼性能嚴重下降,如何構(gòu)造無短長度圈的研究因此變得非常重要。這方面的構(gòu)造方法現(xiàn)在主要有組合構(gòu)造法、有限幾何構(gòu)造法、群論構(gòu)造法以及圖論構(gòu)造法等,但是這些方法主要是面向正則碼,有很大局限性,而且理論性太強,實用性較差。J.Campello等提出了擴展的比特填充(Bit-Filling)算法,可以設(shè)計出girth(指LDPC碼二分圖的最短圈圈長)一定,高碼率的LDPC碼或者碼率一定,高girth的碼,是具有一般性的方法,適當改進將可以用來設(shè)計具有保證girth的非正則的LDPC碼。所以,如何尋找短圈(short cycles)盡量少的LDPC碼變得很重要。
目前,大量文獻提出用單位矩陣以及它的循環(huán)移位矩陣來構(gòu)造任意可變碼長的LDPC碼,這種具有分組循環(huán)奇偶校驗矩陣的LDPC碼成為當前的研究熱點。目前,如何構(gòu)造出具有短圈盡量少的此類LDPC碼的碼構(gòu)造方法還很不全面。
基于單位陣及其循環(huán)移位矩陣的LDPC碼由于具有任意可變碼長,編碼實現(xiàn)簡單,擴展過程中可以保證次數(shù)分布和girth分布不變的特點,成為當前學術(shù)界的研究重點。目前構(gòu)造的基于單位陣及其循環(huán)移位LDPC碼都沒有充分考慮girth的影響以及碼長和girth的關(guān)系,從而使得誤碼率(BER)曲線在信噪比較高的時候下降速度急劇變慢,常常出現(xiàn)差錯平底(error floor)現(xiàn)象,從而導致性能下降。如何才能消除LDPC碼的差錯平底現(xiàn)象,加速BER曲線下降速度,在高信噪比時提高LDPC碼的性能,成為當前亟待解決的問題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種基于單位陣及其循環(huán)移位矩陣的LDPC碼的編碼器和譯碼器的生成方法,使用該方法生成的編碼器和譯碼器能夠有效地消除LDPC碼的差錯平底現(xiàn)象,加速BER曲線下降速度,明顯提高LDPC碼的性能,并且具有很好的普遍適用性。
為了實現(xiàn)上述目的,本發(fā)明提供了一種低密度奇偶校驗碼的編碼器/譯碼器的生成方法,該編碼器/譯碼器由一低密度奇偶校驗碼的奇偶校驗矩陣唯一確定,其中,所述奇偶校驗矩陣由如下步驟構(gòu)造步驟一,確定要構(gòu)造的低密度奇偶校驗碼的基礎(chǔ)矩陣的碼率、碼長及校驗位個數(shù);步驟二,確定所述基礎(chǔ)矩陣的行重量向量和列重量向量;步驟三,根據(jù)行重量向量和列重量向量,采用比特填充法構(gòu)造出girth盡量大、最短圈數(shù)目盡量少的原始基礎(chǔ)矩陣,其中,girth為低密度奇偶校驗碼二分圖的最短圈圈長;步驟四,由所述原始基礎(chǔ)矩陣構(gòu)造盡量高girth的所述基礎(chǔ)矩陣;及步驟五,對所述基礎(chǔ)矩陣進行擴展,得到需要的低密度奇偶校驗碼的奇偶校驗矩陣。
上述的編碼器/譯碼器的生成方法,其中,在步驟二中,還包括確定要構(gòu)造的低密度奇偶校驗碼采用的是非正則碼,還是正則碼的步驟;如果采用正則碼,則需要確定行重量向量和列重量向量;如果采用非正則碼,則需要通過密度演進來確定次數(shù)分布,并由次數(shù)分布得到所述基礎(chǔ)矩陣的行重量向量和列重量向量。
上述的編碼器/譯碼器的生成方法,其中,所述步驟二中的次數(shù)分布是通過充分考慮信噪比門限和迭代收斂速度以及算法的復雜度,從計算結(jié)果中最終選擇出一個合適的次數(shù)分布。
上述的編碼器/譯碼器的生成方法,其中,所述步驟四中構(gòu)造盡量高girth的基礎(chǔ)矩陣的算法為從集合{0,1,2,...,z-1}中選擇合適的元素放到原始基礎(chǔ)矩陣中“1”的位置上,直至將所有“1”的位置放完,得到所述基礎(chǔ)矩陣。
上述的編碼器/譯碼器的生成方法,其中,在所述高girth的低密度奇偶校驗碼在構(gòu)造步驟中選擇的低密度奇偶校驗碼的最短圈的長度應(yīng)盡量大。
上述的編碼器/譯碼器的生成方法,其中,在所述高girth的低密度奇偶校驗碼在構(gòu)造步驟中,對于具有同樣大小girth的低密度奇偶校驗碼,被選擇的低密度奇偶校驗碼的最短圈的數(shù)目應(yīng)該盡量少。
上述的編碼器/譯碼器的生成方法,其中,所述比特填充法構(gòu)造原始基礎(chǔ)矩陣的過程中,采用具有準下三角結(jié)構(gòu)來構(gòu)造出符合線性時間編碼的奇偶校驗矩陣的結(jié)構(gòu)。
上述的編碼器/譯碼器的生成方法,其中,所述低密度奇偶校驗碼在girth不同時,設(shè)擴展因子z為偶數(shù),其奇偶校驗矩陣構(gòu)成不同的結(jié)構(gòu),至少包括若所述低密度奇偶校驗碼的奇偶校驗矩陣的girth為6時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z)≠0;若所述低密度奇偶校驗碼的奇偶校驗矩陣的girth為8時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z)≠0;對于按照逆時針方向構(gòu)成的長度為6的短圈的任意元素i、j、k、l、m、n,總有mod(i-j+k-l+m-n,z)≠0;及若所述低密度奇偶校驗碼的奇偶校驗矩陣的girth為10時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z/2)≠0;對于按照逆時針方向構(gòu)成的長度為6的短圈的任意元素i、j、k、l、m、n,總有mod(i-j+k-l+m-n,z)≠0;對于按照逆時針方向構(gòu)成的長度為8短圈的任意元素i、j、k、l、m、n、s、t,總有mod(i-j+k-l+m-n+s-t,z)≠0。
當girth≥10時,提高girth對譯碼器的性能改善很少,所以本發(fā)明只需要考慮消除長度為4、6和8的短圈。
此外,本發(fā)明所要解決的另一技術(shù)問題在于提供一種碼長可以連續(xù)變化的LDPC碼的編碼器和譯碼器,該種LDPC碼能夠有效消除LDPC碼的差錯平底現(xiàn)象,加速BER曲線下降速度,明顯提高LDPC碼的性能,并且具有很好的普遍適用性。
為了實現(xiàn)上述目的,本發(fā)明提供了一種基于單位陣及其循環(huán)移位矩陣的特定碼率的低密度奇偶校驗碼編碼器/譯碼器,它的碼長是可以連續(xù)變化的,用于數(shù)字通信系統(tǒng)中數(shù)據(jù)傳輸?shù)募m錯,其中,該編碼器/譯碼器是由低密度奇偶校驗碼的奇偶校驗矩陣唯一確定的,所述奇偶校驗矩陣是根據(jù)碼長的增加而適當調(diào)整基于單位陣及其循環(huán)移位矩陣的基礎(chǔ)矩陣的取值,或者由唯一不變的Mb×Nb基礎(chǔ)矩陣和可變擴展因子z通過擴展得到,使得在設(shè)計的范圍內(nèi)任何碼長的擴展碼都是高girth的碼,盡可能地消除了上述低密度奇偶校驗碼的短圈。
上述的編碼器/譯碼器,其中,特定碼率每一個碼長的LDPC碼都有一個基礎(chǔ)矩陣和一個擴展因子z,某一個特定碼長(Nb×z)的LDPC碼的奇偶校驗矩陣可以由一個Nb×Mb基礎(chǔ)矩陣和一個擴展因子z通過擴展得到,不同的碼長具有不同的基礎(chǔ)矩陣。所述碼長連續(xù)可變的低密度奇偶校驗碼在girth不同時,設(shè)擴展因子z為偶數(shù),其奇偶校驗矩陣構(gòu)成不同的結(jié)構(gòu),至少包括若所述特定碼長的低密度奇偶校驗碼的奇偶校驗矩陣的girth為6時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z)≠0;若所述特定碼長的低密度奇偶校驗碼的奇偶校驗矩陣的girth為8時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z)≠0;對于按照逆時針方向構(gòu)成的長度為6的短圈的任意元素i、j、k、l、m、n,總有mod(i-j+k-l+m-n,z)≠0;及若所述特定碼長的低密度奇偶校驗碼的奇偶校驗矩陣的girth為10時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z/2)≠0;對于按照逆時針方向構(gòu)成的長度為6的短圈的任意元素i、j、k、l、m、n,總有mod(i-j+k-l+m-n,z)≠0;對于按照逆時針方向構(gòu)成的長度為8短圈的任意元素i、j、k、l、m、n、s、t,總有mod(i-j+k-l+m-n+s-t,z)≠0。
當girth≥10時,提高girth對譯碼器的性能改善很少,所以本發(fā)明只需要考慮消除長度為4、6和8的短圈。上述z為出現(xiàn)在集合[zmin,...,zmax]中的與特定碼長相對應(yīng)的某一個擴展因子。
上述的編碼器/譯碼器,其中,所述碼長連續(xù)可變的低密度奇偶校驗碼的奇偶校驗矩陣,有且僅有一個Mb×Nb基礎(chǔ)矩陣,設(shè)z為出現(xiàn)在集合[zmin,...,zmax]中的任何一個擴展因子。對于任何z,碼長為(Nb×z)的LDPC碼的奇偶校驗矩陣都可以由唯一的基礎(chǔ)矩陣Hb和一個擴展因子z通過擴展得到。所述的特定碼率任意碼長(從Nb*zmin到Nb*zmax)低密度奇偶校驗碼都具有相同的girth值。
為了保證所有碼長的奇偶校驗矩陣具有盡量大的girth,此基礎(chǔ)矩陣的最大元素總是等于或者大于zmax。其奇偶校驗矩陣構(gòu)成不同的結(jié)構(gòu),至少包括若所述特定碼率任何碼長的低密度奇偶校驗碼的奇偶校驗矩陣的girth值都為6的時候,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于z∈[zmin,L,zmax],和按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z)≠0;若所述特定碼率任何碼長的低密度奇偶校驗碼的奇偶校驗矩陣的girth都為8時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于z∈[zmin,L,zmax],和按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z)≠0;對于按照逆時針方向構(gòu)成的長度為6的短圈的任意元素i、j、k、l、m、n,總有mod(i-j+k-l+m-n,z)≠0;若所述特定碼率任何碼長的低密度奇偶校驗碼的奇偶校驗矩陣的girth都為10時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于z∈[zmin,L,zmax],和按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z/2)≠0;對于按照逆時針方向構(gòu)成的長度為6的短圈的任意元素i、j、k、l、m、n,總有mod(i-j+k-l+m-n,z)≠0;對于按照逆時針方向構(gòu)成的長度為8的短圈的任意元素i、j、k、l、m、n、s、t,總有mod(i-j+k-l+m-n+s-t,z)≠0。
上述的zmin表示設(shè)計的最短碼長低密度奇偶校驗碼的擴展因子,zmax表示設(shè)計的最長碼長低密度奇偶校驗碼的擴展因子,[zmin,...,zmax]表示設(shè)計的所有碼長低密度奇偶校驗碼對應(yīng)的擴展因子構(gòu)成的集合。所有的碼長為Nb×[zmin,...,zmax]。
另外,本發(fā)明所要解決的另一技術(shù)問題在于提供一種數(shù)字通信系統(tǒng),該種LDPC碼能夠有效消除LDPC碼的差錯平底現(xiàn)象,加速BER曲線下降速度,明顯提高LDPC碼的性能,并且具有很好的普遍適用性。
為了實現(xiàn)上述目的,本發(fā)明提供了一種數(shù)字通信系統(tǒng),包括基于單位陣及其循環(huán)移位矩陣的低密度奇偶校驗碼的編碼器/譯碼器,該編碼器/譯碼器是由一低密度奇偶校驗碼的奇偶校驗矩陣唯一確定的,所述奇偶校驗矩陣是根據(jù)碼長的增加而適當調(diào)整基于單位陣及其循環(huán)移位矩陣的基礎(chǔ)矩陣的取值,使得構(gòu)造出擴展碼的girth分布適應(yīng)碼長變化。
上述的數(shù)字通信系統(tǒng),其中,所述低密度奇偶校驗碼在girth不同時,設(shè)擴展因子z為偶數(shù),其奇偶校驗矩陣構(gòu)成不同的結(jié)構(gòu),至少包括若所述低密度奇偶校驗碼的奇偶校驗矩陣的girth為6時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z)≠0;若所述低密度奇偶校驗碼的奇偶校驗矩陣的girth為8時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z)≠0;對于按照逆時針方向構(gòu)成的長度為6的短圈的任意元素i、j、k、l、m、n,總有mod(i-j+k-l+m-n,z)≠0;及若所述低密度奇偶校驗碼的奇偶校驗矩陣的girth為10時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z/2)≠0;對于按照逆時針方向構(gòu)成的長度為6的短圈的任意元素i、j、k、l、m、n,總有mod(i-j+k-l+m-n,z)≠0;對于按照逆時針方向構(gòu)成的長度為8的短圈的任意元素i、j、k、l、m、n、s、t,總有mod(i-j+k-l+m-n+s-t,z)≠0。
本發(fā)明給出了具有特定碼率特定girth(如6、8、10)的碼長可連續(xù)變化的LDPC碼;并且進一步提出隨著碼長的變化可以保持基礎(chǔ)矩陣唯一不變的方法,同傳統(tǒng)方法相比較,在沒有增加編譯碼器的存儲容量和計算復雜度的條件,解決了如何消除特定碼率連續(xù)可變碼長的LDPC碼的短圈問題。本發(fā)明提高此類LDPC碼高信噪比時的性能,加速BER曲線下降速度,消除此類LDPC碼的差錯平底,并且具有普遍適用性,構(gòu)造的基于單位陣及其循環(huán)移位矩陣的LDPC碼充分考慮了girth對碼性能的影響,以及碼長對girth的影響,使得LDPC碼達到了最佳性能,在高信噪比時性能表現(xiàn)非常理想。本發(fā)明還具有廣泛適用性,可以與考慮LDPC碼其它因素(主要有次數(shù)分布和線性時間編碼)的構(gòu)造方法很好的相互兼容。
以下結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述,但不作為對本發(fā)明的限定。
圖1為數(shù)字通信系統(tǒng)的模塊圖;圖2為二分圖中長度為4短圈的示意圖;圖3為二分圖中長度為6短圈的示意圖;圖4為校驗矩陣中長度為4短圈的示意圖;圖5為校驗矩陣中長度為6短圈的示意圖;圖6為四個單位矩陣的循環(huán)移位矩陣在H中構(gòu)成長度為4的短圈的示意圖;圖7為六個單位矩陣的循環(huán)移位矩陣在H中構(gòu)成長度為6的短圈的示意圖;圖8為八個單位矩陣的循環(huán)移位矩陣在H中構(gòu)成長度為8的短圈的示意圖;圖9為z=4,2×2基礎(chǔ)矩陣的長度為4短圈的擴展矩陣(extend matrix)和長度為8短圈的擴展矩陣的示意圖;圖10為從第x0行第y0列元素對應(yīng)邊出發(fā)后展開的二分圖的示意圖;圖11為在圖10的二分圖中從第x0行第y0列元素對應(yīng)邊出發(fā)的任意一條路徑的示意圖;圖12為圖11所示的路徑構(gòu)成長度為4的短圈的示意圖;圖13為圖11所示的路徑構(gòu)成長度為6的短圈的示意圖;圖14為圖11所示的路徑構(gòu)成長度為8的短圈的示意圖;圖15為本發(fā)明實施例1構(gòu)造出的girth=8或10的R=1/2 LDPC碼同16econtribution構(gòu)造出的girth=6的LDPC碼的BER比較圖;圖16為本發(fā)明實施例1構(gòu)造出的girth=8或10的R=1/2 LDPC碼同16econtribution構(gòu)造出的girth=6的LDPC碼的FER比較圖;及圖17為本發(fā)明實施例2構(gòu)造出的girth=6的R=2/3 LDPC碼同16econtribution構(gòu)造出的girth=4的R=2/3 LDPC碼的FER比較圖。
具體實施例方式
下面結(jié)合附圖對技術(shù)方案的實施例作進一步的詳細描述圖2為二分圖中長度為4短圈的示意圖。根據(jù)該圖所示,黑色加重的實線告訴信息比特x1、x2和校驗比特c1、c2構(gòu)成了一個長度為4的圈。
圖3為二分圖中長度為6短圈的示意圖。根據(jù)該圖所示,黑色加重的實線告訴信息比特x1、x2、x3和校驗比特c1、c2、c4構(gòu)成了一個長度為6的圈。
概念girth用來定量描述二分圖中的短圈。在圖論中,二分圖的girth是指一個圖中最短圈的圈長,例如某個二分圖有長度為6、8、10、12和長度更長的圈,則該二分圖的girth為6。二分圖中,某個節(jié)點u的girth(the girth at nodeu)是指經(jīng)過節(jié)點u的最短圈的圈長,例如經(jīng)過節(jié)點u有長度為8、10、12和長度更長的圈,則該節(jié)點u的girth為8。二分圖中,某條邊e的girth(the girthat edge e)是指經(jīng)過此邊e的最短圈的圈長,例如經(jīng)過邊e有長度為8、10、12和長度更長的圈,則此邊e的girth為8。
一個變量節(jié)點的girth是指最短路徑的長度,它等同于從這個節(jié)點出來的信息傳遞回該節(jié)點本身的最小迭代次數(shù)。在實際迭代次數(shù)達到這個最小迭代次數(shù)之前,與這個節(jié)點聯(lián)系的信息可以最優(yōu)地傳遞給二分圖的剩余部分。如果某個變量節(jié)點的girth越大,那么該變量節(jié)點發(fā)出的信息被傳遞給自身的正反饋信息將越小,則譯碼性能也越好。所以,使變量節(jié)點的girth盡量大對碼性能的提高是有利的。
二分圖中短圈破壞了LDPC碼的性能。LDPC碼校驗矩陣的圖形表示形式是二分圖,首先介紹一下什么是二分圖。二分圖和校驗矩陣之間具有一一對應(yīng)的關(guān)系,一個M*N的奇偶校驗矩陣H定義了每個具有N比特的碼字滿足M個奇偶校驗集的約束。一個二分圖包括N個變量節(jié)點,每個節(jié)點對應(yīng)H中一個比特位;還包括M個奇偶校驗節(jié)點,每個節(jié)點對應(yīng)一個H中的奇偶校驗。校驗節(jié)點將連到將要進行校驗的變量節(jié)點上;具體的說,當?shù)趍個校驗涉及到第n個比特位,即Hm,n=1的時候,將有一根連線連接校驗節(jié)點m和比特節(jié)點n。二分圖名稱的由來就是因為它包括兩類節(jié)點,即變量節(jié)點和校驗節(jié)點。其中,任何同一類的節(jié)點之間都不會有連接。并且二分圖中的總邊數(shù)和校驗矩陣中非零元素的個數(shù)相等。
圖2所示說明了x1、x2通過長度為4的圈相互聯(lián)系,圖3所示說明了x1、x2、x3通過長度為6的圈相互聯(lián)系,而LDPC碼的信息傳遞譯碼算法假定變量節(jié)點是相互獨立的,短圈的存在必然破壞了獨立性的假設(shè),使得譯碼性能明顯下降。事實上,圈4、圈6等短圈的存在使得變量節(jié)點在迭代譯碼的過程中頻繁給自身傳遞正反饋信息,這對于迭代譯碼而言是不希望出現(xiàn)的。大家知道,turbo碼也是迭代譯碼的,它正是使用交織器來減少這種正反饋效應(yīng)的。對于沒有圈(cycle free)的Tanner圖,信息傳遞算法會導致最優(yōu)解碼,而短圈的存在使得信息傳遞算法是一種次優(yōu)(sub-optimality)的迭代譯碼算法,事實上最短圈長度越長,信息傳遞算法越接近最優(yōu)算法。
圖4為校驗矩陣中長度為4短圈的示意圖。該圖所示給出了圈長為4的短圈在LDPC碼校驗矩陣中出現(xiàn)的一般形式。
圖5為校驗矩陣中長度為6短圈的示意圖。該圖所示出了圈長為6的短圈在LDPC碼校驗矩陣中出現(xiàn)的一般形式。
可見,LDPC碼二分圖中的短圈將惡化LDPC碼的碼性能,所以無論對于正則碼,還是對于非正則碼,找到消除短圈的算法是至關(guān)重要的。
綜上所述,構(gòu)造短圈盡量少的LDPC碼原則如下首先,被選擇的碼的最短圈的長度girth應(yīng)該盡量大;其次,對于具有同樣大小girth的碼,被選擇的碼的最短圈的數(shù)目應(yīng)該盡量少。
圖6為四個單位矩陣的循環(huán)移位矩陣在H中構(gòu)成長度為4的短圈的示意圖。
LDPC碼的奇偶校驗矩陣H設(shè)為(M×z)×(N×z)矩陣,它是由M×N個分塊矩陣構(gòu)成,每個分塊矩陣都是z×z的基本置換矩陣的不同冪次,它們都是單位陣的循環(huán)矩陣。通過這樣的冪次就可以唯一標識每一個分塊矩陣。對于H,如果每個分塊矩陣都用它的冪次代替,就得到一個M×N的冪次矩陣Hb。這里,定義Hb是H的基礎(chǔ)矩陣(base matrix);由于H可以通過Hb擴展而得到,所以奇偶校驗矩陣H又被稱Hb的擴展矩陣(extend matrix)。需要明確的是,基礎(chǔ)矩陣中一個冪次j唯一標識一個對一個單位陣循環(huán)右移j位后得到z×z矩陣,這里j是任意大于等于0的正整數(shù)。在后面的內(nèi)容,循環(huán)移位默認為右移。
此類LDPC碼的奇偶校驗矩陣可以定義如下
H=P0,0P0,1P0,2...P0,n0-2P0,n0-1P1,0P1,1P1,2...P1,n0-2P1,n0-1P2,0P2,1P2,2...P2,n0-2P2,n0-1..................Pmb-1,0Pmb-1,1Pmb-1,2...Pmb-1,nb-2Pmb-1,nb-1=PHb]]>P是N×N基本循環(huán)置換矩陣P=010···0001···0...............000···1100···0]]>如果已知z,一個M×N的基礎(chǔ)矩陣Hb可以唯一擴展出一個擴展矩陣H。分析可知,調(diào)整基本置換矩陣的維數(shù)z就可以改變擴展矩陣的大小,因此基于基礎(chǔ)矩陣可以構(gòu)造出在相同碼率和相同次數(shù)分布條件下一個連續(xù)可變碼長的LDPC碼碼集。
下面給出一個6×12的碼率為1/2的基于單位矩陣以及其循環(huán)移位矩陣的LDPC碼實例 分析上式可知,上面的LDPC碼的奇偶校驗矩陣H可以分塊為8個分塊矩陣,每個分塊矩陣都可以看成3×3單位矩陣的循環(huán)移位矩陣。只需要知道兩個參數(shù)就可以確定此校驗矩陣,第一個參數(shù)是單位矩陣的維數(shù),第二個參數(shù)是每個分塊矩陣對應(yīng)的循環(huán)移位的位數(shù)。
如果I表示單位陣,則單位校驗矩陣的維數(shù)可以定義為Idims。設(shè)某矩陣是單位陣的循環(huán)移位i位后得到的矩陣,可以用i來表示它;對于單位矩陣,可以看成將單位陣循環(huán)移位0位得到的矩陣,所以用0來表示;而對于0矩陣,一般用-1來表示。所以上述校驗矩陣可以用下面的Idims參數(shù)和一個2×4矩陣Hb來表示
Idims=3和Hb=010-12121]]>如該圖6所示,分析校驗矩陣和二分圖的拓撲結(jié)構(gòu),當基礎(chǔ)矩陣Hb中出現(xiàn)長度為4的短圈時,Hb的擴展矩陣H才可能出現(xiàn)長度為4或者更大的短圈。
經(jīng)過計算機仿真和數(shù)學推理的驗證,結(jié)論歸納如下z為偶數(shù),由四個z×z的分塊矩陣Pi、Pj、Pk、Pl對應(yīng)的冪次元素i、j、k、1在Hb中構(gòu)成了長度為4的短圈,若mod(i-j+k-l,z)=0,則Pi、Pj、Pk、Pl在H中構(gòu)成了長度為4的短圈;若mod(i-j+k-l,z/2)=0,則Pi、Pj、Pk、Pl在H中構(gòu)成了長度為8的短圈。其它情況下,Pi、Pj、Pk、Pl在H中構(gòu)成了長度為12的短圈或者不構(gòu)成短圈。
圖7為六個單位矩陣的循環(huán)移位矩陣在H中構(gòu)成長度為6的短圈的示意圖。如該圖所示,分析校驗矩陣和二分圖的拓撲結(jié)構(gòu),當基礎(chǔ)矩陣Hb中出現(xiàn)長度為6的短圈的時候,Hb的擴展矩陣H才可能出現(xiàn)長度為6或者更大的短圈,如下z為偶數(shù),有六個z×z的分塊矩陣Pi、Pj、Pk、Pl、Pm、Pn對應(yīng)的冪次元素i、j、k、l、m、n在Hb中構(gòu)成了長度為6的短圈,若mod(i-j+k-l+m-n,z)=0,則Pi、Pj、Pk、Pl、Pm、Pn在H中構(gòu)成了長度為6的短圈;若mod(i-j+k-l+m-n,z/2)=0,則Pi、Pj、Pk、Pl、Pm、Pn在H中構(gòu)成了長度為10的短圈。其它情況下,Pi、Pj、Pk、Pl、Pm、Pn在H中構(gòu)成了長度大于等于12的短圈或者不構(gòu)成短圈。
圖8為八個單位矩陣的循環(huán)移位矩陣在H中構(gòu)成長度為8的短圈的示意圖。如該圖所示,分析校驗矩陣和二分圖的拓撲結(jié)構(gòu),當基礎(chǔ)矩陣Hb中出現(xiàn)長度為8的短圈的時候,Hb的擴展矩陣H才可能出現(xiàn)長度為8或者更大的短圈,如下z為偶數(shù),有八個z×z的分塊矩陣Pi、Pj、Pk、Pl、Pm、Pn、Ps、Pt對應(yīng)的冪次元素i、j、k、l、m、n、s、t在Hb中構(gòu)成了長度為8的短圈;若mod(i-j+k-l+m-n+s-t,z)=0,則Pi、Pj、Pk、Pl、Pm、Pn、Ps、Pt在H中構(gòu)成了長度為8的短圈;其它情況下,Pi、Pj、Pk、Pl、Pm、Pn、Ps、Pt在H中構(gòu)成了長度為12的短圈或者不構(gòu)成短圈。
圖9為z=4,2×2基礎(chǔ)矩陣的長度為4短圈的擴展矩陣(extend matrix)和長度為8短圈的擴展矩陣的示意圖。在該圖中
z=4,Hb=0213,]]>mod(0-2+3-1,4)=0,由上述結(jié)論可知有長度為4的短圈。
z=4,Hb=0002,]]>mod(0-0+2-0,4)=2,由上述結(jié)論可知有長度為8的短圈。
在實際應(yīng)用中,擴展矩陣是由基本矩陣擴展得到的,循環(huán)置換矩陣的維數(shù)z一般都是偶數(shù),后序的內(nèi)容都默認z是偶數(shù)。分析校驗矩陣的拓撲可知,擴展矩陣中z×z的分塊矩陣和基礎(chǔ)矩陣的元素是唯一對應(yīng)的,如果基礎(chǔ)矩陣中某些元素不構(gòu)成短圈,那么這些元素對應(yīng)的分塊矩陣在擴展矩陣中也將不構(gòu)成短圈。所以,為了研究擴展矩陣的短圈,僅需要考慮當基礎(chǔ)矩陣中出現(xiàn)短圈的情況。
在本發(fā)明設(shè)計的一個基于單位陣及其循環(huán)移位矩陣的LDPC碼的編碼器譯碼器的又一實施例中,該編碼器/譯碼器總是由某個奇偶校驗矩陣H唯一確定。
首先給出一個LDPC碼的編碼器。LDPC碼是一種特殊的線性分組碼。通信中,每發(fā)送一個分組長度為N比特的碼字,為了保證其具有一定的糾錯能力,需要有M個校驗比特,每個碼字都要求滿足HxT=0T,其中H為二元域上m×n維的奇偶校驗矩陣。所有的運算都是在二元域GF(2)上進行的,這里加和減是異或運算,而乘是與運算。
當H滿秩時,將存在2N-M個碼字,本發(fā)明用一個碼字表示長度為N-M的源數(shù)據(jù)塊(source block)。編碼的問題就是確定一種從N-M比特的源數(shù)據(jù)到N比特碼字的映射。
下面給出系統(tǒng)分組碼的直接編碼方法把M×N的奇偶校驗矩陣H劃分為M×(N-M)和M×M的兩塊,即H=[A|B],本發(fā)明需要找出H矩陣列向量的最大線性無關(guān)組(M個列向量),把它們通過列重排放到B的位置上,這時B是非奇異,即是可逆的。以同樣方式把一個碼字x劃分為N-M個信息比特s和M個校驗比特c,根據(jù)H×x=0,可得[A|B]×[sc]=0]]>
于是可以得到A×s+B×c=0。于是可得c=B-1As。
與碼字劃分對應(yīng),校驗矩陣也分為A和B,分別對應(yīng)系統(tǒng)比特和校驗比特。當B采用特殊的矩陣結(jié)構(gòu),如嚴格下三角結(jié)構(gòu)(半隨機矩陣)、雙下三角結(jié)構(gòu)等,則B-1具有非常簡單的形式,可以直接按照上面式子直接得到碼字中校驗比特部分c,并且可以保證編碼器具有線性復雜度。
下面給出Richarson線性時間編碼方法當奇偶校驗矩陣H具有準下三角結(jié)構(gòu),如圖Richarson提出了一種可以實現(xiàn)線性時編碼的,設(shè)H具有如下形式H=ABTCDE]]>這里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是下三角矩陣,主對角線元素全為1。設(shè)編碼后碼字是x=(s,p1,p2),這里s為編碼碼字的系統(tǒng)比特部分,p1和p2為碼字的校驗比特部分,p1的長度為g,p2長度為(m-g),可以由下面式子求得 p2T=-T-1(AsT+Bp1T)]]>根據(jù)上述的方法,本發(fā)明設(shè)計的LDPC碼的編碼器的功能就是實現(xiàn)稀疏矩陣的乘法和加法運算。對于基于單位陣以及其循環(huán)移位矩陣的LDPC碼,稀疏矩陣的乘法運算可以由多個z位的循環(huán)移位寄存器和多個z位的加法器構(gòu)成,而稀疏矩陣的加法運算就是由上述的多個z位的加法器完成。一旦基礎(chǔ)矩陣和擴展因子確定,根據(jù)上述的直接方法或者Richarson方法,就很容易用多個z位的循環(huán)移位寄存器和多個z位的加法器構(gòu)造出一個LDPC編碼器硬件電路。總之,本發(fā)明設(shè)計的LDPC碼的編碼器可以由其奇偶校驗矩陣唯一確定。
現(xiàn)在給出一個LDPC碼的譯碼器。信息傳遞(message passing)算法是一種在二分圖中信息在節(jié)點間被傳遞的譯碼技術(shù),節(jié)點可以作為獨立的處理器來工作,可以收集輸入信息和產(chǎn)生輸出信息。關(guān)于時間和信息的內(nèi)容沒有全局的控制存在;相反,比特和校驗節(jié)點(check node)服從一個普遍的本地準則(localrule),即一旦所有的輸入信息都得到接收就可以產(chǎn)生一個輸出。當圖是無圈的,信息傳遞算法在經(jīng)過有限次信息傳遞后可以收斂到一個后驗對數(shù)似然比。但是,大部分好碼在它們的二分圖中都存在圈。當存在圈的碼得到使用,信息傳遞算法不再是準確,而只是近似。幸運的是,即使當圖有圈的存在,信息傳遞算法也是工作的非常好,并且它的復雜度非常低。
下面將給出一個對數(shù)域上正則或者非正則的信息傳遞算法。定義下標集合Mn={mHm,n=1}和Nm={nHm,n=1}。定義um,n(1)在第1次迭代中從校驗節(jié)點m傳遞到變量節(jié)點(variable node)n的信息。并且讓λn(1)指經(jīng)過1次迭代過后第n個比特的對數(shù)似然比預測值。
算法如下初始化●對于所有的m∈{1,...,M}和n∈Nm,令um,n(0)=0]]>●對于所有的n∈{1,...,N},令λn(0)=(2/σ2)rn]]>迭代 for迭代次數(shù)1=1,2,...,lmax,●校驗節(jié)點更新for m∈{1...M}并且n∈Nm,um,n(l)=-2tanh-1(Πi∈Nm-ntanh(-λi(l-1)+um,i(l-1)2))]]>●變量節(jié)點更新for n∈{1...N},λn(l)=(2/σ2)rn+Σm∈Mnum,n(l)]]>這個算法可以用二分圖中的信息傳遞過程來解釋。
對于硬件設(shè)計的LDPC碼譯碼器,首先需要一個二維的存儲器網(wǎng)絡(luò),它用于存儲二分圖的每條邊上的邊信息(extrinsic information),還需要保證信息傳遞路由的有效性;然后需要一個對應(yīng)于M個校驗節(jié)點的M個獨立的校驗節(jié)點處理單元(CNPU,Check Node Processing Unit),它用于所有的校驗節(jié)點的計算和相鄰的節(jié)點之間的信息傳遞;還包括計算N個變量節(jié)點可以N個獨立的變量節(jié)點處理單元(VNPU,Variable Node Processing Unit),它用于所有的校驗節(jié)點的求和計算和相鄰的節(jié)點之間的信息傳遞。硬件的并行實現(xiàn)保證了LDPC碼高速迭代譯碼。總之,一旦確定了LDPC碼的奇偶校驗矩陣,就可以設(shè)計出一個LDPC的譯碼器。當采用硬件實現(xiàn)(如現(xiàn)場可編程門陣列FPGA),譯碼器并行度可以很高,并且結(jié)構(gòu)簡單。
綜上所述,奇偶校驗矩陣可以唯一確定一個LDPC碼的編碼器和譯碼器,實際上LDPC碼的奇偶校驗矩陣不僅僅決定了LDPC碼譯碼器的性能,而且決定了LDPC碼的編碼器和譯碼器的復雜度、存儲空間和處理延時。所以,尋找合適的LDPC碼的奇偶校驗矩陣結(jié)構(gòu)是至關(guān)重要的,本發(fā)明將著重從LDPC碼的girth角度來設(shè)計好的LDPC碼的編碼器和譯碼器,努力在特定碼長條件下找到girth盡量大的奇偶校驗矩陣。
下面將給出不同girth條件下上述LDPC的校驗矩陣H的矩陣結(jié)構(gòu),設(shè)擴展因子z為偶數(shù),如下結(jié)論若這個LDPC碼的編碼器和譯碼器的校驗矩陣H的girth=6,則必然有在它的基礎(chǔ)矩陣Hb中,對于按照逆時針方向構(gòu)成了長度為4的短圈的任意元素i,j,k,l,總有mod(i-j+k-l,z)≠0;若這個LDPC碼的編碼器和譯碼器的校驗矩陣H的girth=8,則必然有在它的基礎(chǔ)矩陣Hb中,對于按照逆時針方向構(gòu)成了長度為4的短圈的任意元素i,j,k,l,總有mod(i-j+k-l,z)≠0;對于按照逆時針方向構(gòu)成了長度為6的短圈的任意元素i,j,k,l,m,n,總有mod(i-j+k-l+m-n,z)≠0;若這個LDPC碼的編碼器和譯碼器的校驗矩陣H的girth=10,則必然有在它的基礎(chǔ)矩陣Hb中,對于按照逆時針方向構(gòu)成了長度為4的短圈的任意元素i,j,k,l,總有mod(i-j+k-l,z/2)≠0;對于按照逆時針方向構(gòu)成了長度為6的短圈的任意元素i,j,k,l,m,n,總有mod(i-j+k-l+m-n,z)≠0;對于按照逆時針方向構(gòu)成了長度為8的短圈的任意元素i,j,k,l,m,n,s,t,總有mod(i-j+k-l+m-n+s-t,z)≠0當girth≥10時,提高girth對譯碼器的性能改善很少,所以本發(fā)明只需要考慮消除長度為4、6和8的短圈。
所以,在特定的碼長條件下,本發(fā)明設(shè)計的LDPC碼的編碼器和譯碼器的奇偶校驗矩陣盡量滿足上述不等式。實際上,碼長較短的時候,本發(fā)明可以設(shè)計出girth=6的LDPC碼編譯器;碼長中等的時候,則可以設(shè)計出girth=8的LDPC碼編譯器;碼長較長的時候,則可以設(shè)計出girth=10的LDPC碼編譯器。不同的碼長具有不同的基礎(chǔ)矩陣。
本發(fā)明給出了構(gòu)造高girth的LDPC碼的奇偶校驗矩陣的方法的又一實施例,內(nèi)容包括第一步,確定將要構(gòu)造的LDPC碼基礎(chǔ)矩陣的碼率、碼長、校驗位個數(shù);第二步,確定要構(gòu)造的LDPC碼采用的是非正則碼,還是正則碼;
第三步,如果采用正則碼,則確定行重量和列重量;如果采用非正則碼,則需要通過密度演進來確定次數(shù)分布,需要綜合考慮信噪比門限和迭代收斂速度以及算法的復雜度來設(shè)計次數(shù)分布,最終選擇出一個合適的次數(shù)分布,并由次數(shù)分布得到矩陣的行重量向量和列重量向量。
第四步,根據(jù)行重量向量和列重量向量,采用比特填充法(參見,徐俊,《LDPC碼及其在第四代移動通信系統(tǒng)中應(yīng)用》[碩士論文],南京郵電學院,2003;或者J.Campello et al.,Extented Bit-Filling and LDPC CodesDesign,Proc.IEEE Globecom Conf.San Antonio,TX,Nov.2001)可以構(gòu)造出girth盡量大,最短圈數(shù)目盡量少的原始基礎(chǔ)矩陣OriginalBaseMatrixH,由于原始基礎(chǔ)矩陣一般都很小,所以原始基礎(chǔ)矩陣的girth為4,關(guān)鍵是盡量減小長度為4的短圈的數(shù)目。原始基礎(chǔ)矩陣僅由0,1組成,此基礎(chǔ)矩陣反映出最終需要構(gòu)造的LDPC碼的次數(shù)分布、碼率等重要特征。另外,在比特填充的過程,需要構(gòu)造出符合線性時間編碼的校驗矩陣的結(jié)構(gòu),一般都具有準下三角結(jié)構(gòu)。
第五步,基于構(gòu)造盡量高girth的基礎(chǔ)矩陣的方法,從集合{0,1,2,L,z-1}中選擇合適的元素放到原始基礎(chǔ)矩陣中“1”的位置上,直至將所有“1”的位置放完,最終得到基礎(chǔ)矩陣Hb。需要補充的是,為了實現(xiàn)線性時間編碼,需要對基礎(chǔ)矩陣所對應(yīng)的校驗位部分首先賦值,這一部分往往具有準下三角結(jié)構(gòu)。
第六步,根據(jù)已知的擴展因子z,對基礎(chǔ)矩陣進行擴展,即可以得到需要的LDPC碼的奇偶校驗矩陣,最后驗證此矩陣的次數(shù)分布、girth以及其它碼的參數(shù)和特性是否符合要求,并通過仿真檢驗LDPC碼的性能。
上述第四步中比特填充法具體是首先需要確定原始基礎(chǔ)矩陣的行重量向量和列重量向量,然后將“1”一個一個放到校驗矩陣中,但是要求必須滿足girth的約束條件(girth盡量大并且最短圈的數(shù)目盡量少)和次數(shù)分布(不要超過事先約定好的行重量和列重量)的約束條件。對于比特填充算法,girth限制在整個執(zhí)行過程中都是變化的。擴展算法開始堅持大girth的約束(g),一直進行到為了滿足girth的約束條件而不再能夠在校驗矩陣中放“1”的時候。此時,girth約束可以降低(如g減2),繼續(xù)向校驗矩陣中放“1”,并且要求不違反girth的約束和次數(shù)分布的約束。設(shè)二分圖的總邊數(shù)為1,那么當E個“1”被成功地放到校驗矩陣中,則生成矩陣成功。下面將要介紹在第五步中如何構(gòu)造具有盡量大girth的低密度奇偶校驗碼的基礎(chǔ)矩陣的方法。類似比特填充的過程,基礎(chǔ)矩陣是通過從{0,1,2,...,z-1}中選擇值填充到原始基礎(chǔ)矩陣的“1”位置而得到的。
現(xiàn)在問題的關(guān)鍵是如何從集合{0,1,2,L,z-1}中選擇一個合適的元素放到原始基礎(chǔ)矩陣中“1”的位置上。
假設(shè)已經(jīng)在原始基礎(chǔ)矩陣的某些“1”的位置上填充了{0,1,2,L,z-1}中的元素,得到已經(jīng)構(gòu)造出來的部分基礎(chǔ)矩陣Hc,并且Hc對應(yīng)的擴展矩陣的girth≥10,因而需要選擇一個合適的值添加到Hc的第x0行第y0列。
圖10為從第x0行第y0列元素對應(yīng)邊出發(fā)后展開的二分圖的示意圖。對于基礎(chǔ)矩陣Hc的二分圖,從第x0行第y0列元素對應(yīng)的邊出發(fā),遍歷所有可能的路徑,就可以得到從第x0行第y0列元素對應(yīng)邊出發(fā)的二分圖,如圖10所示,圖中圓圈表示變量節(jié)點,方塊表示校驗節(jié)點。V1表示與y0距離為2的相鄰變量節(jié)點集合,C1表示與y0距離為3的相鄰校驗節(jié)點集合,V2表示與y0距離為4的相鄰變量節(jié)點集合,C2表示與y0距離為5的相鄰校驗節(jié)點集合,V3表示與y0距離為6的相鄰變量節(jié)點集合,C3表示與y0距離為7的相鄰校驗節(jié)點集合,V4表示與y0距離為8的相鄰變量節(jié)點集合,C4表示與y0距離為9的相鄰校驗節(jié)點集合,V5表示與y0距離為10的相鄰變量節(jié)點集合。當y0出現(xiàn)在V2中,則出現(xiàn)了長度為4的短圈;當y0出現(xiàn)在V3中,則出現(xiàn)了長度為6的短圈;當y0出現(xiàn)在V4中,則出現(xiàn)了長度為8的短圈;當y0出現(xiàn)在V5中,則出現(xiàn)了長度為10的短圈。所以,包含第x0行第y0列元素對應(yīng)邊的任何短圈都會在此局部二分圖上表現(xiàn)出來,此圖同樣可以用來確定校驗矩陣的二分圖的girth。
在圖10,設(shè)出現(xiàn)的黑色粗線為從第x0行第y0列元素對應(yīng)邊出發(fā)的任意一條路徑。在校驗矩陣中,從第x0行第y0列出發(fā),沿著水平方向找到某個非零元素,設(shè)它的位置為第x0行第y1列;再沿著垂直方向找到某個非零元素,設(shè)它的位置為第x1行第y1列;再沿著水平方向找到某個非零元素,設(shè)它的位置為第x1行第y2列;再沿著垂直方向找到某個非零元素,設(shè)它的位置為第x2行第y2列;以此類推,得到從第x0行第y0列元素對應(yīng)邊出發(fā)的二分圖的該條路徑,此路徑在上圖是以黑色粗線標識出來。
圖11為在圖10的二分圖中從第x0行第y0列元素對應(yīng)邊出發(fā)的任意一條路徑的示意圖。分析該圖,根據(jù)LDPC碼的譯碼信息傳遞算法,必然有y1≠y0。當y2=y(tǒng)0,可知y0、x0、y1、x1構(gòu)成了一條長度4的短圈;當y2≠y0且y3=y(tǒng)0,可知y0、x0、y1、x1、y2、x2構(gòu)成了一條長度6的短圈;當y2,y3≠y0且y4=y(tǒng)0,可知y0、x0、y1、x1、y2、x2、y3、x3構(gòu)成了一條長度8的短圈;以此類推。總之,從第x0行第y0列元素對應(yīng)邊出發(fā),可以找出所有可能包含它的短圈。
圖12為圖11所示的路徑構(gòu)成長度為4的短圈的示意圖。在部分構(gòu)造的基礎(chǔ)矩陣Hc中,從第x0行第y0列元素對應(yīng)邊出發(fā),存在如圖11的路徑,若滿足y0=y(tǒng)2,可知構(gòu)成了圖12所示的長度為4的短圈。根據(jù)校驗矩陣和二分圖的對應(yīng)關(guān)系,二分圖的每條邊和矩陣中一個非零元素唯一對應(yīng),可知H(x0,y1)與校驗節(jié)點x0到變量節(jié)點y1的邊對應(yīng),H(x1,y1)與校驗節(jié)點x1到變量節(jié)點y1的邊對應(yīng),H(x1,y0)與校驗節(jié)點x1到變量節(jié)點y0的邊對應(yīng),H(x0,y0)與校驗節(jié)點x0到變量節(jié)點y0的邊對應(yīng)。其中,H(x0,y0),H(x0,y1),H(x1,y1),H(x1,y1)屬于集合{0,1,2,...,z-1},H(x0,y1),H(x1,y1);H(x1,y1)是已知,而H(x0,y0)是未知,需要選擇填充的。根據(jù)前面的結(jié)論可知,若mod(H(x0,y0)-H(x0,y1)+H(x1,y1)-H(x1,y0),z)≠0 (1)則基礎(chǔ)矩陣中長度為4的短圈不會導致擴展矩陣的長度為4短圈出現(xiàn);若mod(H(x0,y0)-H(x0,y1)+H(x1,y1)-H(x1,y0),z/2)≠0 (2)則基礎(chǔ)矩陣中長度為4的短圈不會導致擴展矩陣的長度為8短圈出現(xiàn)。
圖13為圖11所示的路徑構(gòu)成長度為6的短圈的示意圖。在部分構(gòu)造的基礎(chǔ)矩陣Hc中,從第x0行第y0列元素對應(yīng)邊出發(fā),存在如圖11的路徑,若滿足y0=y(tǒng)3,可知構(gòu)成了圖13所示的長度為6的短圈。根據(jù)前面的結(jié)論可知,若mod(H(x0,y0)-H(x0,y1)+H(x1,y1)-H(x1,y2)+H(x2,y2)+H(x2,y0),z)≠0 (3)則基礎(chǔ)矩陣中長度為6的短圈不會導致擴展矩陣的長度為6短圈出現(xiàn);若mod(H(x0,y0)-H(x0,y1)+H(x1,y1)-H(x1,y2)+H(x2,y2)+H(x2,y0),z/2)≠0 (4)則基礎(chǔ)矩陣中長度為6的短圈不會導致擴展矩陣的長度為10短圈出現(xiàn)。
圖14為圖11所示的路徑構(gòu)成長度為8的短圈的示意圖。在部分構(gòu)造的基礎(chǔ)矩陣Hc中,從第x0行第y0列元素對應(yīng)邊出發(fā),存在如上圖11的路徑,若滿足y0=y(tǒng)4,可知構(gòu)成了圖14所示的長度為8的短圈。
根據(jù)前面的結(jié)論可知,若mod(H(x0,y0)-H(x0,y1)+H(x1,y1)-H(x1,y2)+H(x2,y2)-H(x2,y3)+H(x3,y3)-H(x3,y4),z)≠0(5)則基礎(chǔ)矩陣中長度為8的短圈不會導致擴展矩陣的長度小于等于10的短圈出現(xiàn)。
需要解決的問題是要從{0,1,2,....,z-1}中選擇一個合適的值添加到部分已經(jīng)構(gòu)造出來的基礎(chǔ)矩陣的第x0行第y0列。解決方法如下以部分已經(jīng)構(gòu)造的基礎(chǔ)矩陣Hc為對象,在二分圖中從第x0行第y0列元素對應(yīng)邊出發(fā),遍歷所有可能路徑,可以找到所有的短圈。若Hc對應(yīng)二分圖的長度為4的短圈出現(xiàn),選值的時候保證(1)式成立,則可以保證擴展矩陣的girth>4。若Hc對應(yīng)二分圖的長度為6的短圈出現(xiàn),選值的時候保證(3)式成立,則可以保證擴展矩陣的girth>6。若Hc對應(yīng)二分圖的長度為4的短圈出現(xiàn),選值的時候保證(2)式成立,并且若Hc對應(yīng)二分圖的長度為8的短圈出現(xiàn),選值的時候保證(5)式成立,則可以保證擴展矩陣的girth>8。這樣,就可以構(gòu)造出girth=10的擴展矩陣,如果找不到值,可以構(gòu)造girth=8的擴展矩陣。
在實際仿真過程中,發(fā)現(xiàn)碼長和girth密切相關(guān),當碼長越長,則{0,1,2,...,z-1}的取值范圍越大,越容易找到合適的填充值,越容易構(gòu)造出高girth的碼;否則相反。
如果對于每個不同的擴展因子,無法保證基礎(chǔ)矩陣唯一,那么,對于每個不同的碼長(或者擴展因子),所述的LDPC碼編譯碼器都需要存儲一個基礎(chǔ)矩陣,當碼長很多時,就要存儲很多基礎(chǔ)矩陣,就對LDPC碼編譯碼器的存儲空間提出了很高要求。
基于上述問題,本發(fā)明提出了具有唯一的基礎(chǔ)矩陣的低密度奇偶校驗碼編碼器/譯碼器的又一實施例。低密度奇偶校驗的碼長是可以連續(xù)變化的,用于數(shù)字通信系統(tǒng)中數(shù)據(jù)傳輸?shù)募m錯,其中,該編碼器/譯碼器是由一低密度奇偶校驗碼的奇偶校驗矩陣唯一確定的,所述的奇偶校驗矩陣可以由唯一不變的Mb×Nb基礎(chǔ)矩陣和可變擴展因子z通過擴展得到,使得在設(shè)計的范圍內(nèi)任何碼長的擴展碼都是高girth的碼(最短圈圈長盡量大),盡可能地消除了所述低密度奇偶校驗碼的短圈。
上述的編碼器/譯碼器,其中,所述碼長連續(xù)可變的低密度奇偶校驗碼在girth不同時,設(shè)z為出現(xiàn)在集合[zmin,...,zmax]中的任何一個擴展因子。其奇偶校驗矩陣構(gòu)成不同的結(jié)構(gòu),至少包括
若所述所有碼長的低密度奇偶校驗碼的奇偶校驗矩陣的girth都為6時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于z∈[zmin,L,zmax],和按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z)≠0;若所述所有碼長的低密度奇偶校驗碼的奇偶校驗矩陣的girth都為8時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于z∈[zmin,L,zmax],和按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z)≠0;對于按照逆時針方向構(gòu)成的長度為6的短圈的任意元素i、j、k、l、m、n,總有mod(i-j+k-l+m-n,z)≠0;及若所述所有碼長的低密度奇偶校驗碼的奇偶校驗矩陣的girth都為10時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于z∈[zmin,L,zmax],和按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z/2)≠0;對于按照逆時針方向構(gòu)成的長度為6的短圈的任意元素i、j、k、l、m、n,總有mod(i-j+k-l+m-n,z)≠0;對于按照逆時針方向構(gòu)成的長度為8短圈的任意元素i、j、k、l、m、n、s、t,總有mod(i-j+k-l+m-n+s-t,z)≠0。
上述的編碼器/譯碼器,其中,所述碼長連續(xù)可變的低密度奇偶校驗碼的奇偶校驗矩陣,有且僅有一個Mb×Nb基礎(chǔ)矩陣,為了保證唯一的基礎(chǔ)矩陣同時滿足所有可能z值的特定girth的不等式,此基礎(chǔ)矩陣的最大元素總是等于或者大于zmax。
在這里,zmin表示設(shè)計的最短碼長低密度奇偶校驗碼的擴展因子,zmax表示設(shè)計的最長碼長低密度奇偶校驗碼的擴展因子,[zmin,...,zmax]表示設(shè)計的所有碼長低密度奇偶校驗碼對應(yīng)的擴展因子構(gòu)成的集合。所有的碼長為Nb×[zmin,...,zmax]。
本發(fā)明給出了具有特定碼率、特定girth(如6、8、10)的和碼長可連續(xù)變化的LDPC碼;并且隨著碼長的變化可以保持基礎(chǔ)矩陣唯一不變,同傳統(tǒng)方法相比較,在沒有增加編譯碼器的存儲容量和計算復雜度的條件,解決了如何消除特定碼率、連續(xù)可變碼長的LDPC碼的短圈問題。事實上,如果基礎(chǔ)矩陣的最大元素足夠大,則基礎(chǔ)矩陣的取值范圍就足夠大,當要求的設(shè)計girth不很高,就可以找到一個唯一的基礎(chǔ)矩陣,使得在z取任何可能值的時候,都能夠滿足上述特定girth的不等式。
目前,人們對通信、雷達、遙控遙測等數(shù)字通信系統(tǒng)要求愈來愈高的糾錯編碼能力,以保證數(shù)字傳輸?shù)目煽啃?,而現(xiàn)有的數(shù)字通信系統(tǒng)往往不具有自動糾正差錯的能力,糾錯編碼能力低,既不能有效保證數(shù)字傳輸?shù)目煽啃裕荒芡瓿筛咚俾?、突發(fā)性強的任務(wù)。
基于上述問題,本發(fā)明提出了一實施例數(shù)字通信系統(tǒng),包括基于單位陣及其循環(huán)移位矩陣的低密度奇偶校驗碼的編碼器/譯碼器,其中,該編碼器/譯碼器是由一低密度奇偶校驗碼的奇偶校驗矩陣唯一確定的,所述奇偶校驗矩陣是根據(jù)碼長的增加而適當調(diào)整基于單位陣及其循環(huán)移位矩陣的基礎(chǔ)矩陣的取值,使得構(gòu)造出擴展碼的girth分布適應(yīng)碼長變化。
上述的數(shù)字通信系統(tǒng),其中,所述低密度奇偶校驗碼在girth不同時,設(shè)擴展因子z為偶數(shù),其奇偶校驗矩陣構(gòu)成不同的結(jié)構(gòu),至少包括如下結(jié)論若所述低密度奇偶校驗碼的奇偶校驗矩陣的girth為6時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z)≠0;若所述低密度奇偶校驗碼的奇偶校驗矩陣的girth為8時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z)≠0;對于按照逆時針方向構(gòu)成的長度為6的短圈的任意元素i、j、k、l、m、n,總有mod(i-j+k-l+m-n,z)≠0;及若所述低密度奇偶校驗碼的奇偶校驗矩陣的girth為10時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z/2)≠0;對于按照逆時針方向構(gòu)成的長度為6的短圈的任意元素i、j、k、l、m、n,總有mod(i-j+k-l+m-n,z)≠0;對于按照逆時針方向構(gòu)成的長度為8的短圈的任意元素i、j、k、l、m、n、s、t,總有mod(i-j+k-l+m-n+s-t,z)≠0。
下面給出本發(fā)明設(shè)計的LDPC碼的編碼器和譯碼器的校驗矩陣的實例1,這種情況下基礎(chǔ)矩陣不唯一,要求設(shè)計出碼率為1/2,碼長從576按照96為間隔連續(xù)變化到2304的LDPC碼。根據(jù)本發(fā)明所述的方法,設(shè)計了一個12×24的原始基礎(chǔ)矩陣,此矩陣反映了將要構(gòu)造的矩陣的碼率及次數(shù)分布,它是一個半正則的校驗矩陣,對應(yīng)信息比特的校驗矩陣部分具有正則的結(jié)構(gòu),并且行重量為4,列重量也為4;對應(yīng)校驗比特的校驗矩陣部分具有雙下三角結(jié)構(gòu),目的是實現(xiàn)直接的線性時間編碼。
OriginalBaseMatrixH=100100010100110000000000100011001000011000000000010010001010001100000000001010010010000110000000000101000101000011000000001000100101000001100000010001110000100000110000001001000011000000011000011100001000000000001100100000101100000000000110110000000011000000000011000110110000100000000001]]>根據(jù)碼設(shè)計的需要,本發(fā)明需要從{0,1,2,...,z-1}中選擇值填充到原始基礎(chǔ)校驗矩陣中,此外矩陣所有0元素用-1來填充。根據(jù)半正則矩陣的設(shè)計要求,此矩陣左邊一半的所有“1”要求用“0”來代替,而右邊的矩陣則按照本發(fā)明提供的方法來填充。
在這里,z的取值是變化的,z的取值取決于需要設(shè)計的碼長N,z=N/Nb,Nb是基礎(chǔ)矩陣的碼長,這里為24。所以,本發(fā)明認為基礎(chǔ)矩陣中元素取值應(yīng)該可以隨著碼長而變化,當碼長增加,z的取值增大,向原始基礎(chǔ)矩陣填充的值的選擇范圍將更大,將更加容易構(gòu)造出高girth的LDPC碼,從而保證構(gòu)造的LDPC碼可以有效地克服短圈對碼性能的影響。例如在IEEE802.16e標準中,碼率取1/2,基礎(chǔ)矩陣是12×24的矩陣,擴展因子z可以從24連續(xù)取值到96,則可以產(chǎn)生碼長從576按照96為間隔連續(xù)變化到2304的LDPC碼。本發(fā)明的基礎(chǔ)矩陣不再唯一,每個碼長都一個不同的基礎(chǔ)矩陣,但是原始基礎(chǔ)都是相同的。
圖15為本發(fā)明實施例1構(gòu)造出的girth=8或10的R=1/2 LDPC碼同16econtribution構(gòu)造出的girth=6的LDPC碼的BER比較圖。
圖16為本發(fā)明實施例1構(gòu)造出的girth=8或10的R=1/2 LDPC碼同16econtribution構(gòu)造出的girth=6的LDPC碼的FER比較圖。
若需要構(gòu)造碼長N=576的LDPC碼,此時z=N/Nb=576/24=24,則構(gòu)造基礎(chǔ)矩陣如下,此時可以保證構(gòu)造出來的矩陣的girth=8BaseMatrixH1=3-1-111-1-1-119-116-1-100-1-1-1-1-1-1-1-1-1-14-1-1-11517-1-114-1-1-1-100-1-1-1-1-1-1-1-1-1-111-1-117-1-1-15-113-1-1-100-1-1-1-1-1-1-1-1-1-116-13-1-112-1-117-1-1-1-100-1-1-1-1-1-1-1-1-1-15-17-1-1-121-111-1-1-1-100-1-1-1-1-1-1-1-16-1-1-121-1-19-19-1-1-1-1-100-1-1-1-1-1-16-1-1-115818-1-1-1-10-1-1-1-1-100-1-1-1-1-1-118-1-10-1-1-1-1716-1-1-1-1-1-1-100-1-1-1-1142023-1-1-15-1-1-1-1-1-1-1-1-1-1-1-100-1-14-1-1-1-1-13-1120-1-1-1-1-1-1-1-1-1-1-100-1619-1-1-1-1-1-1-1-1193-1-1-1-1-1-1-1-1-1-100-1-1-1183-11810-1-1-1-10-1-1-1-1-1-1-1-1-1-10]]>
若需要構(gòu)造碼長N=1152的LDPC碼,此時z=N/Nb=1152/24=48,則構(gòu)造基礎(chǔ)矩陣如下,此時可以保證構(gòu)造出來的矩陣的girth=8BaseMatrixH2=30,-1,-1,39,-1,-1,41,-1,47,-1,-1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-116,-1,-1,-1,20,15,-1,-1,46,-1,-1,-1,-1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1-1,18,-1,-1,2,-1,-1,-1,35,-1,11,-1,-1,-1,0,0,-1,-1,-1,-1,-1,-1,-1,-1-1,-1,7,-1,40,-1,-1,46,-1,-1,28,-1,-1,-1,-1,0,0,-1,-1,-1,-1,-1,-1,-1-1,-1,-1,2,-1,12,-1,-1,-1,9,-1,30,-1,-1,-1,-1,0,0,-1,-1,-1,-1,-1,-1-1,-1,15,-1,-1,-1,5,-1,-1,31,-1,40,-1,-1,-1,-1,-1,0,0,-1,-1,-1,-1,-1-1,5,-1,-1,-1,10,14,37,-1,-1,-1,-1,0,-1,-1,-1,-1,-1,0,0,-1,-1,-1,-1-1,-1,12,-1,-1,16,-1,-1,-1,-1,1,10,-1,-1,-1,-1,-1,-1,-1,0,0,-1,-1,-1-1,27,41,32,-1,-1,-1,-1,45,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,-1,-136,-1,-1,-1,-1,-1,19,-1,6,14,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,-137,14,-1,-1,-1,-1,-1,-1,-1,-1,26,21,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0-1,-1,-1,30,12,-1,27,17,-1,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0]]>若需要構(gòu)造碼長N=2304的LDPC碼,此時z=N/Nb=2304/24=96,則構(gòu)造基礎(chǔ)矩陣如下,此時可以保證構(gòu)造出來的矩陣的girth=10BaseMatrixH3=59-1-139-1-1-172-185-1-100-1-1-1-1-1-1-1-1-1-125-1-1-1817-1-131-1-1-1-100-1-1-1-1-1-1-1-1-1-151-1-111-1-1-13-148-1-1-100-1-1-1-1-1-1-1-1-1-153-117-1-179-1-129-1-1-1-100-1-1-1-1-1-1-1-1-1-192-177-1-1-121-143-1-1-1-100-1-1-1-1-1-1-1-111-1-1-132-1-177-155-1-1-1-1-100-1-1-1-1-1-146-1-1-167916-1-1-1-10-1-1-1-1-100-1-1-1-1-1-187-1-173-1-1-1-11342-1-1-1-1-1-1-100-1-1-1-187638-1-1-1-147-1-1-1-1-1-1-1-1-1-1-100-1-18-1-1-1-1-175-18649-1-1-1-1-1-1-1-1-1-1-100-19313-1-1-1-1-1-1-1-1888-1-1-1-1-1-1-1-1-1-100-1-1-14532-17852-1-1-1-10-1-1-1-1-1-1-1-1-1-10]]>根據(jù)圖15、16所示,在碼長相同(分別取576、1152、2304)、次數(shù)分布相同、奇偶校驗矩陣對應(yīng)校驗矩陣部分相同的條件下,仿真表明BaseMatrxH1、BaseMatrixH2、BaseMatrixH3擴展得到girth=8或者10的LDPC碼性能明顯優(yōu)于802.16e contribution(Motorola IEEEC802.16e-04/373r1“LDPC codingOFDMA PHY”)所給出的由基礎(chǔ)矩陣擴展得到的girth=6的LDPC碼的性能,本發(fā)明構(gòu)造的LDPC碼克服了LDPC碼的差錯平底現(xiàn)象。
此處,不同碼長采用了不同的基礎(chǔ)矩陣,保證了不同碼長條件下產(chǎn)生具有g(shù)irth盡量大的LDPC碼。由于碼長有19種,所以編譯碼器需要存儲19個基礎(chǔ)矩陣,這對編譯碼器存儲容量提出了較高的要求,阻礙了消除短圈技術(shù)的應(yīng)用,但是利用第7節(jié)的編譯碼器的矩陣結(jié)構(gòu),只需要存儲一個基礎(chǔ)矩陣,并且保證對于19種碼長,所有校驗矩陣的girth都為8。
下面給出本發(fā)明設(shè)計的LDPC碼的編碼器和譯碼器的校驗矩陣的實例2,這種情況下基礎(chǔ)矩陣是唯一的,要求設(shè)計出碼率為2/3,碼長從576按照96為間隔連續(xù)變化到2304的LDPC碼。根據(jù)本發(fā)明所述的方法,設(shè)計了一個8×24的原始基礎(chǔ)矩陣,此矩陣反映了將要構(gòu)造的矩陣的碼率及次數(shù)分布,它是一個半正則的校驗矩陣,對應(yīng)信息比特的校驗矩陣部分具有正則的結(jié)構(gòu),并且行重量為4,列重量也為4;對應(yīng)校驗比特的校驗矩陣部分具有雙下三角結(jié)構(gòu),目的是實現(xiàn)直接的線性時間編碼。
圖17為本發(fā)明實施例2構(gòu)造出的girth=6的R=2/3 LDPC碼同16econtribution構(gòu)造出的girth=4的R=2/3 LDPC碼的FER比較圖。
根據(jù)上述矩陣結(jié)構(gòu)和方法,我們得到唯一的基礎(chǔ)矩陣BaseMatrixH4,當碼長從576到2304連續(xù)變化的時候,girth總是為6。
BaseMatrixH4=9055-1-115-11342-1-151-14818-1-100-1-1-1-1-1-1-146874-1-1-1256388-1-123-164-1-100-1-1-1-1-170-1-17360-142-16-1-15-129-192-1-100-1-1-1-1287275-1-192-1-115-191281-1-1-1-1-1-100-1-1-1-1-1-1677089-187-184-1690-1-1430-1-1-100-1-110-141-1-1472765-1-1-167-1-11430-1-1-1-1-100-1-115-147-14440-1-12272-1-19218-1-1-1-1-1-1-100-1-144-193-1-1-135954-1-18447620-1-1-1-1-1-10]]>根據(jù)圖17所示,在碼率相同(都是2/3)、碼長相同(分別取576、1152、2304)、次數(shù)分布相同、奇偶校驗矩陣對應(yīng)校驗矩陣部分相同的條件下,仿真表明由BaseMatrxH4擴展得到girth=6的LDPC碼性能明顯優(yōu)于802.16econtribution(Motorola IEEEC802.16e-04/373r1“LDPC coding OFDMA PHY”)所給出的由基礎(chǔ)矩陣擴展得到的girth=4的LDPC碼的性能,本發(fā)明構(gòu)造的LDPC碼克服了LDPC碼的差錯平底現(xiàn)象。
實際上,在其它碼長情況下,本發(fā)明設(shè)計出的具有更大girth的LDPC碼也優(yōu)于現(xiàn)有技術(shù)。本發(fā)明不僅可以用于正則碼,也可以用于非正則碼。本發(fā)明不依賴于具體的次數(shù)分布,可以應(yīng)用于任何形式的基于單位陣以及其循環(huán)移位的LDPC碼,具有普遍可適用性,可消除此類LDPC碼的差錯平底。
本發(fā)明提出了可以克服差錯平底的基于單位陣及其循環(huán)移位矩陣的LDPC碼的編碼器和譯碼器,該LDPC碼的編碼器和譯碼器以奇偶校驗校驗矩陣為基礎(chǔ),提出高girth的奇偶校驗矩陣的通用結(jié)構(gòu),提高了譯碼器的性能。首次提出根據(jù)碼長改變基礎(chǔ)矩陣,保證了設(shè)計出的奇偶校驗矩陣具有盡量大的girth的方法,并且構(gòu)造基于單位陣及其循環(huán)移位矩陣的LDPC碼的系統(tǒng)算法??梢栽诒WC碼長較長的情況下,構(gòu)造出girth更大的奇偶校驗矩陣,從而提高LDPC碼的性能,加速BER曲線的下降速度,有效了消除LDPC碼的差錯平底現(xiàn)象,使得LDPC碼達到最佳性能,能夠減小編碼器和譯碼器的復雜度和存儲空間,提高編碼和譯碼性能,實現(xiàn)較高的糾錯技術(shù)。
當然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。
權(quán)利要求
1.一種低密度奇偶校驗碼的編碼器/譯碼器的生成方法,該編碼器/譯碼器由一低密度奇偶校驗碼的奇偶校驗矩陣唯一確定,其特征在于,所述奇偶校驗矩陣由如下步驟構(gòu)造步驟一,確定要構(gòu)造的低密度奇偶校驗碼的基礎(chǔ)矩陣的碼率、碼長及校驗位個數(shù);步驟二,確定所述基礎(chǔ)矩陣的行重量向量和列重量向量;步驟三,根據(jù)行重量向量和列重量向量,采用比特填充法構(gòu)造出girth盡量大、最短圈的數(shù)目盡量少的原始基礎(chǔ)矩陣,其中,girth為低密度奇偶校驗碼二分圖的最短圈圈長;步驟四,由所述原始基礎(chǔ)矩陣構(gòu)造盡量高girth的所述基礎(chǔ)矩陣;及步驟五,對所述基礎(chǔ)矩陣進行擴展,得到需要的低密度奇偶校驗碼的奇偶校驗矩陣。
2.根據(jù)權(quán)利要求1所述的編碼器/譯碼器的生成方法,其特征在于,在步驟二中,還包括確定要構(gòu)造的低密度奇偶校驗碼采用的是非正則碼,還是正則碼的步驟;如果采用正則碼,則需要確定行重量向量和列重量向量;如果采用非正則碼,則需要通過密度演進來確定次數(shù)分布,并由次數(shù)分布得到所述基礎(chǔ)矩陣的行重量向量和列重量向量。
3.根據(jù)權(quán)利要求2所述的編碼器/譯碼器的生成方法,其特征在于,所述步驟二中的次數(shù)分布是通過充分考慮信噪比門限和迭代收斂速度以及算法的復雜度,從計算結(jié)果中最終選擇出一個合適的次數(shù)分布。
4.根據(jù)權(quán)利要求1、2或3所述的編碼器/譯碼器的生成方法,其特征在于,所述步驟四中構(gòu)造盡量高girth的基礎(chǔ)矩陣的算法為從集合{0,1,2,…,z-1}中選擇合適的元素放到原始基礎(chǔ)矩陣中“1”的位置上,直至將所有“1”的位置放完,得到所述基礎(chǔ)矩陣。
5.根據(jù)權(quán)利要求1所述的編碼器/譯碼器的生成方法,其特征在于,在所述高girth的低密度奇偶校驗碼在構(gòu)造步驟三中選擇的原始基礎(chǔ)矩陣的最短圈的長度應(yīng)盡量大。
6.根據(jù)權(quán)利要求1所述的編碼器/譯碼器的生成方法,其特征在于,在所述高girth的低密度奇偶校驗碼在構(gòu)造步驟三中,對于具有同樣大小girth的原始基礎(chǔ)矩陣,被選擇的原始基礎(chǔ)矩陣的最短圈的數(shù)目應(yīng)該盡量少。
7.根據(jù)權(quán)利要求1所述的編碼器/譯碼器的生成方法,其特征在于,所述比特填充法構(gòu)造原始基礎(chǔ)矩陣的過程中,采用具有準下三角結(jié)構(gòu)來構(gòu)造出符合線性時間編碼的奇偶校驗矩陣的結(jié)構(gòu)。
8.根據(jù)權(quán)利要求1所述的編碼器/譯碼器的生成方法,其特征在于,所述低密度奇偶校驗碼在girth不同時,設(shè)擴展因子z為偶數(shù),其奇偶校驗矩陣構(gòu)對于特定的girth具有不同的結(jié)構(gòu),包括若所述低密度奇偶校驗碼的奇偶校驗矩陣的girth為6時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z)≠0;若所述低密度奇偶校驗碼的奇偶校驗矩陣的girth為8時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z)≠0;對于按照逆時針方向構(gòu)成的長度為6的短圈的任意元素i、j、k、l、m、n,總有mod(i-j+k-l+m-n,z)≠0;及若所述低密度奇偶校驗碼的奇偶校驗矩陣的girth為10時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z/2)≠0;對于按照逆時針方向構(gòu)成的長度為6的短圈的任意元素i、j、k、l、m、n,總有mod(i-j+k-l+m-n,z)≠0;對于按照逆時針方向構(gòu)成的長度為8的短圈的任意元素i、j、k、l、m、n、s、t,總有mod(i-j+k-l+m-n+s-t,z)≠0。
9.一種基于單位陣及其循環(huán)移位矩陣的低密度奇偶校驗碼編碼器/譯碼器,用于數(shù)字通信系統(tǒng)中數(shù)據(jù)傳輸?shù)募m錯,其特征在于,該編碼器/譯碼器是由一低密度奇偶校驗碼的奇偶校驗矩陣唯一確定的,所述奇偶校驗矩陣是由基礎(chǔ)矩陣和擴展因子z唯一確定的。
10.根據(jù)權(quán)利要求9所述的編碼器/譯碼器,其特征在于,所述奇偶校驗矩陣中的基礎(chǔ)矩陣的元素取值范圍根據(jù)碼長的增加而得到調(diào)整,即,特定碼率每一個碼長的低密度奇偶校驗碼都有一個基礎(chǔ)矩陣和一個擴展因子z,一個特定碼長(Nb×z)的低密度奇偶校驗碼的奇偶校驗矩陣可以由一個Nb×Mb基礎(chǔ)矩陣和一個擴展因子z通過擴展得到,不同的碼長具有不同的基礎(chǔ)矩陣,使得所述的低密度奇偶校驗碼隨著碼長的增加具有盡可能好girth分布,使得所述的低密度奇偶校驗碼的二分圖的短圈數(shù)目盡量少;所述碼長連續(xù)可變低密度奇偶校驗碼在girth不同時,設(shè)擴展因子z為偶數(shù),其奇偶校驗矩陣構(gòu)成不同的結(jié)構(gòu),至少包括若所述特定碼長的低密度奇偶校驗碼的奇偶校驗矩陣的girth為6時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z)≠0;若所述特定碼長的低密度奇偶校驗碼的奇偶校驗矩陣的girth為8時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z)≠0;對于按照逆時針方向構(gòu)成的長度為6的短圈的任意元素i、j、k、l、m、n,總有mod(i-j+k-l+m-n,z)≠0;及若所述特定碼長的低密度奇偶校驗碼的奇偶校驗矩陣的girth為10時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z/2)≠0;對于按照逆時針方向構(gòu)成的長度為6的短圈的任意元素i、j、k、l、m、n,總有mod(i-j+k-l+m-n,z)≠0;對于按照逆時針方向構(gòu)成的長度為8的短圈的任意元素i、j、k、l、m、n、s、t,總有mod(i-j+k-l+m-n+s-t,z)≠0。
11.根據(jù)權(quán)利要求9所述的編碼器/譯碼器,其特征在于,所述的奇偶校驗矩陣可以由唯一不變的Mb×Nb基礎(chǔ)矩陣和可變擴展因子z通過擴展得到;所述碼長連續(xù)可變的低密度奇偶校驗碼在girth不同時,設(shè)擴展因子z為偶數(shù),其奇偶校驗矩陣構(gòu)成不同的結(jié)構(gòu),至少包括若所述特定碼率任何碼長的低密度奇偶校驗碼的奇偶校驗矩陣的girth都為6時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于z∈[zmin,L,zmax],和按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z)≠0;若所述特定碼率任何碼長的低密度奇偶校驗碼的奇偶校驗矩陣的girth都為8時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于z∈[zmin,L,zmax],和按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z)≠0;對于按照逆時針方向構(gòu)成的長度為6的短圈的任意元素i、j、k、l、m、n,總有mod(i-j+k-l+m-n,z)≠0;及若所述特定碼率任何碼長的低密度奇偶校驗碼的奇偶校驗矩陣的girth都為10時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于z∈[zmin,L,zmax],和按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z/2)≠0;對于按照逆時針方向構(gòu)成的長度為6的短圈的任意元素i、j、k、l、m、n,總有mod(i-j+k-l+m-n,z)≠0;對于按照逆時針方向構(gòu)成的長度為8的短圈的任意元素i、j、k、l、m、n、s、t,總有mod(i-j+k-l+m-n+s-t,z)≠0;
12.根據(jù)權(quán)利要求11所述的編碼器/譯碼器,其特征在于,所述的奇偶校驗矩陣的基礎(chǔ)矩陣中的最大元素總是等于或者大于zmax,以保證所有碼長的奇偶校驗矩陣具有盡量大的girth;所述zmin表示設(shè)計的最短碼長低密度奇偶校驗碼的擴展因子,所述zmax表示設(shè)計的最長碼長低密度奇偶校驗碼的擴展因子,所述[zmin,…,zmax]表示設(shè)計的所有碼長低密度奇偶校驗碼對應(yīng)的擴展因子構(gòu)成的集合。所有的碼長為Nb×[zmin,…,zmax]。
13.一種數(shù)字通信系統(tǒng),包括基于單位陣及其循環(huán)移位矩陣的低密度奇偶校驗碼的編碼器/譯碼器,其特征在于,該編碼器/譯碼器是由一低密度奇偶校驗碼的奇偶校驗矩陣唯一確定的,所述奇偶校驗矩陣是根據(jù)碼長的增加而適當調(diào)整基于單位陣及其循環(huán)移位矩陣的基礎(chǔ)矩陣的取值,使得構(gòu)造出擴展碼的girth分布適應(yīng)碼長變化。
14.根據(jù)權(quán)利要求13所述的數(shù)字通信系統(tǒng),其特征在于,所述低密度奇偶校驗碼在girth不同時,設(shè)擴展因子z為偶數(shù),其奇偶校驗矩陣構(gòu)成不同的結(jié)構(gòu),至少包括若所述低密度奇偶校驗碼的奇偶校驗矩陣的girth為6時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z)≠0;若所述低密度奇偶校驗碼的奇偶校驗矩陣的girth為8時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z)≠0;對于按照逆時針方向構(gòu)成的長度為6的短圈的任意元素i、j、k、l、m、n,總有mod(i-j+k-l+m-n,z)≠0;及若所述低密度奇偶校驗碼的奇偶校驗矩陣的girth為10時,則有在奇偶校驗矩陣的基礎(chǔ)矩陣中,對于按照逆時針方向構(gòu)成的長度為4的短圈的任意元素i、j、k、l,總有mod(i-j+k-l,z/2)≠0;對于按照逆時針方向構(gòu)成的長度為6的短圈的任意元素i、j、k、l、m、n,總有mod(i-j+k-l+m-n,z)≠0;對于按照逆時針方向構(gòu)成的長度為8的短圈的任意元素i、j、k、l、m、n、s、t,總有mod(i-j+k-l+m-n+s-t,z)≠0。
全文摘要
本發(fā)明公開了一種碼長可連續(xù)變化的低密度奇偶校驗碼的編碼器/譯碼器及其生成方法,該編碼器/譯碼器用于數(shù)字通信系統(tǒng)中數(shù)據(jù)傳輸?shù)募m錯,是由一低密度奇偶校驗碼的奇偶校驗矩陣唯一確定的,所述的奇偶校驗矩陣可以由基礎(chǔ)矩陣和可變擴展因子通過擴展得到,使得在設(shè)計范圍內(nèi)任何碼長的擴展碼都是高girth的碼,盡可能地消除了上述低密度奇偶校驗碼的短圈。本發(fā)明提高了編碼器/譯碼器的性能,加速了誤碼率曲線的下降,有效消除了低密度奇偶校驗碼的差錯平底現(xiàn)象,使得低密度奇偶校驗碼達到最佳性能。
文檔編號H03M13/00GK1770640SQ20041000974
公開日2006年5月10日 申請日期2004年11月4日 優(yōu)先權(quán)日2004年11月4日
發(fā)明者徐俊, 張友剛, 袁柳清 申請人:中興通訊股份有限公司