專(zhuān)利名稱(chēng):低密度奇偶校驗(yàn)編碼方法、裝置及奇偶校驗(yàn)矩陣生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到通信系統(tǒng)中的信道編碼技術(shù),特別涉及到一種低密度奇偶校驗(yàn)(LDPC,Low-Density Parity Check)碼的編碼方法以及裝置,以及一種LDPC碼奇偶校驗(yàn)矩陣的生成方法。
背景技術(shù):
通信系統(tǒng)的作用是通過(guò)通信信道將信息從一個(gè)地方傳送到另一個(gè)地方。由于通信信道中存在噪聲、干擾等影響,信息在傳輸過(guò)程中可能會(huì)發(fā)生錯(cuò)誤,從而導(dǎo)致接收端無(wú)法正確接收。為了提高通信系統(tǒng)的傳輸性能,通過(guò)在傳輸?shù)男畔⒅刑砑右恍┤哂嘈畔?,可以發(fā)現(xiàn)或糾正傳輸過(guò)程中發(fā)生的信息錯(cuò)誤,以恢復(fù)出正確的信息。上述在傳輸?shù)男畔⒅刑砑尤哂嘈畔⒌倪^(guò)程又稱(chēng)為糾錯(cuò)編碼,糾錯(cuò)編碼有很多種編碼方式,其中,LDPC碼是近幾年發(fā)現(xiàn)的一種性能非常優(yōu)異的糾錯(cuò)編碼方式。
LDPC碼是一種線(xiàn)性分組碼,通常使用該LDPC碼對(duì)應(yīng)的奇偶校驗(yàn)矩陣H進(jìn)行描述。LDPC碼的基本特征就是其奇偶校驗(yàn)矩陣H的稀疏性,即該LDPC碼的奇偶校驗(yàn)矩陣H中非零元素的個(gè)數(shù)遠(yuǎn)遠(yuǎn)小于矩陣的大小。下面公式(1)所示的矩陣即為一個(gè)LDPC碼的奇偶校驗(yàn)矩陣H。
H=10100100100010001000010100100100010001000001100100100010001000100100100100010001010001100100100010001000100100100100010000100010100100100010000100010100100100011000100010100100100001000100010100100100---(1)]]>
從上述公式(1)所示的奇偶校驗(yàn)矩陣H可以看出,對(duì)應(yīng)于該奇偶校驗(yàn)矩陣H的LDPC碼的碼長(zhǎng),即該奇偶校驗(yàn)矩陣H列的個(gè)數(shù),為n=20,對(duì)應(yīng)于該奇偶校驗(yàn)矩陣H的LDPC碼所包含的奇偶校驗(yàn)方程的個(gè)數(shù),即該奇偶校驗(yàn)矩陣H行的個(gè)數(shù),為k=10,因此,得到該LDPC碼的編碼效率為(n-k)/n=0.5。與所有的線(xiàn)性分組碼一樣,從該奇偶校驗(yàn)矩陣H可以推導(dǎo)出對(duì)應(yīng)于該奇偶校驗(yàn)矩陣H的LDPC碼的生成矩陣G,即滿(mǎn)足條件HGT=0的矩陣G,其中,GT為所述生成矩陣G的轉(zhuǎn)置。在推導(dǎo)出所述生成矩陣G后,即可以通過(guò)所述生成矩陣G進(jìn)行LDPC編碼。
在通信系統(tǒng)中,若要發(fā)送一個(gè)長(zhǎng)度為n-k的信息比特序列x,則通信系統(tǒng)的發(fā)射端需要首先對(duì)該信息比特序列進(jìn)行LDPC編碼。其中,LDPC編碼的過(guò)程可以抽象為L(zhǎng)DPC碼生成矩陣G和該信息比特序列x的矩陣相乘運(yùn)算,即y=GTx,運(yùn)算之后將產(chǎn)生在通信信道中傳輸?shù)拈L(zhǎng)度為n的比特序列y。經(jīng)過(guò)LDPC編碼之后的比特序列y在信道中傳輸時(shí),可能受到噪聲和干擾等因素的影響而發(fā)生變化并出現(xiàn)錯(cuò)誤,因此,接收端需要對(duì)接收到的比特序列y進(jìn)行LDPC譯碼,即利用冗余信息恢復(fù)出正確的信息比特。如果冗余信息不足以恢復(fù)出正確信息,即譯碼后信息比特仍然可能包含有錯(cuò)誤,這將導(dǎo)致一定的誤碼率。目前,LDPC碼的譯碼可以使用置信傳播迭代譯碼算法及其各種簡(jiǎn)化算法。正是由于LDPC碼奇偶校驗(yàn)矩陣的稀疏性,迭代譯碼算法才能夠高速完成。
LDPC碼的優(yōu)異性能引起了人們的廣泛注意,并從理論分析、構(gòu)造方法、編譯碼方法、實(shí)際應(yīng)用等方面作了大量的研究。但是,這些研究主要集中在LDPC碼在移動(dòng)通信、衛(wèi)星通信和磁存儲(chǔ)等系統(tǒng)中的應(yīng)用。由于光纖通信系統(tǒng)與這些系統(tǒng)有很大的不同,尤其是光纖通信系統(tǒng)的高速率、高效率和低編、譯碼復(fù)雜度的特殊要求,使得這些研究及其結(jié)果很難應(yīng)用于光纖通信系統(tǒng)。
發(fā)明內(nèi)容
為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種LDPC的編碼方法,適用于具有高速率、高效率以及低復(fù)雜度LDPC編碼要求的通信系統(tǒng)。
本發(fā)明還提供了一種低復(fù)雜度LDCP碼的編碼裝置,可以高速、高效地實(shí)現(xiàn)LDPC編碼。
除此之外,本發(fā)明還提供了一種LDPC碼奇偶校驗(yàn)矩陣的生成方法,使得所生成的奇偶校驗(yàn)矩陣的最小圈長(zhǎng)大于4,即避免了圈4循環(huán),同時(shí)可以具有最大的最小漢明距離,保證根據(jù)該奇偶校驗(yàn)矩陣所生成的LPDC碼具有良好的編碼性能。
根據(jù)本發(fā)明的其中一個(gè)方面,本發(fā)明所述低密度奇偶校驗(yàn)LDPC編碼方法,包括A、根據(jù)通信系統(tǒng)預(yù)先給定的編碼效率確定所生成奇偶校驗(yàn)矩陣需要的循環(huán)子矩陣的個(gè)數(shù)L,其中,L為自然數(shù);B、根據(jù)所述LDPC碼的碼長(zhǎng)以及所述循環(huán)子矩陣的個(gè)數(shù)L,生成L個(gè)循環(huán)子矩陣,并保證其中至少一個(gè)是可逆循環(huán)子矩陣;C、根據(jù)所生成的L個(gè)循環(huán)子矩陣推導(dǎo)出LDPC碼的生成矩陣,并根據(jù)所述生成矩陣對(duì)待發(fā)送的信息比特進(jìn)行LDPC編碼得到待發(fā)送的比特序列。
步驟A所述確定所生成奇偶校驗(yàn)矩陣需要的循環(huán)子矩陣的個(gè)數(shù)L為設(shè)ε為L(zhǎng)DPC碼的冗余度,根據(jù)公式 計(jì)算需要的循環(huán)子矩陣的個(gè)數(shù)L,其中,運(yùn)算符 表示向上取整運(yùn)算。
步驟B所述生成L個(gè)循環(huán)子矩陣的步驟包括B1、根據(jù)LDPC碼的碼長(zhǎng)及所確定的循環(huán)子矩陣的個(gè)數(shù)確定每個(gè)循環(huán)子矩陣的循環(huán)長(zhǎng)度;B2、設(shè)定其中一個(gè)循環(huán)子矩陣為可逆循環(huán)子矩陣,并根據(jù)LDPC碼的碼長(zhǎng)及所確定的循環(huán)子矩陣的個(gè)數(shù)確定表示該可逆循環(huán)子矩陣的多項(xiàng)式中的非零元素個(gè)數(shù);B3、根據(jù)每個(gè)循環(huán)子矩陣的循環(huán)長(zhǎng)度以及所確定的非零元素個(gè)數(shù)構(gòu)造滿(mǎn)足距離約束條件的可逆子多項(xiàng)式,并根據(jù)所述可逆子多項(xiàng)式生成可逆子循環(huán)矩陣;B4、依次產(chǎn)生滿(mǎn)足距離約束條件的其他L-1個(gè)子多項(xiàng)式,并根據(jù)所述L-1個(gè)子多項(xiàng)式得到L-1個(gè)子循環(huán)矩陣。
上述步驟B1所述確定每個(gè)循環(huán)子矩陣的循環(huán)長(zhǎng)度的步驟包括設(shè)LDPC碼的碼長(zhǎng)為n,采用公式m=n/L計(jì)算所述每個(gè)循環(huán)子矩陣的循環(huán)長(zhǎng)度m。
上述步驟B2所述確定表示該可逆循環(huán)子矩陣的多項(xiàng)式中的非零元素個(gè)數(shù)w0的步驟包括設(shè)LDPC碼的碼長(zhǎng)為n,根據(jù)公式LCw2≤n/2L]]>計(jì)算滿(mǎn)足該公式要求的最大整數(shù)w,如果計(jì)算得到的w是偶數(shù),則令w0=w+1;否則,令w0=w。
上述步驟B3所述構(gòu)造滿(mǎn)足距離約束條件的可逆子多項(xiàng)式的步驟包括B31、根據(jù)非零元素個(gè)數(shù)w0的要求,從1至m-1的m-1個(gè)整數(shù)中隨機(jī)選擇w0-1個(gè)不同的整數(shù)a1,a22,...,aw0-1作為非零元素的位置,再加上位置0,構(gòu)成多項(xiàng)式1+xa1+xa2+...+xaw0-1;B32、計(jì)算所構(gòu)成多項(xiàng)式1+xa1+xa2+...+xaw0-1-任意兩個(gè)非零元素間的距離,并判斷計(jì)算得到的距離是否被重復(fù)使用,如果是,則返回步驟B31,重新產(chǎn)生所述多項(xiàng)式;否則,執(zhí)行步驟B33。
B33、判斷由所述多項(xiàng)式循環(huán)移位得到的子循環(huán)矩陣是否滿(mǎn)秩,如果是,則更新位置記錄并結(jié)束;否則,返回步驟B31,重新產(chǎn)生所述多項(xiàng)式。
所述方法在所述步驟B31之前進(jìn)一步包括設(shè)置一個(gè)嘗試次數(shù)計(jì)數(shù)器;在首次執(zhí)行步驟B31時(shí),設(shè)置所述嘗試次數(shù)計(jì)數(shù)器為1;在首次之后每執(zhí)行步驟B31之前,將所述嘗試次數(shù)計(jì)數(shù)器加1,并判斷所述嘗試次數(shù)計(jì)數(shù)器值是否超過(guò)預(yù)先設(shè)定的上限值,如果是,則表示所述非零元素個(gè)數(shù)w0的要求過(guò)高,則在降低所述非零元素個(gè)數(shù)w0的值之后,再執(zhí)行所述步驟B31;否則,直接執(zhí)行步驟B31。
上述步驟B4所述產(chǎn)生滿(mǎn)足距離約束條件的其他L-1個(gè)子多項(xiàng)式的步驟包括
B41、根據(jù)非零元素個(gè)數(shù)w0的要求,根據(jù)可用的位置記錄隨機(jī)選擇w0-1個(gè)不同的整數(shù)a1,a22,...,aw0-1作為非零元素的位置,再加上位置0,構(gòu)成多項(xiàng)式1+xa1+xa2+...+xaw0-1;B42、計(jì)算多項(xiàng)式1+xa1+xa2+...+xaw0-1任意兩個(gè)非零元素間的距離,并判斷計(jì)算得到的距離是否被重復(fù)使用,如果是,則返回步驟B41,重新產(chǎn)生所述多項(xiàng)式;否則,更新位置記錄并結(jié)束。
所述方法在所述步驟B41之前進(jìn)一步包括設(shè)置一個(gè)嘗試次數(shù)計(jì)數(shù)器;在首次執(zhí)行步驟B41時(shí),設(shè)置所述嘗試次數(shù)計(jì)數(shù)器為1;在首次之后每執(zhí)行步驟B41之前,將所述嘗試次數(shù)計(jì)數(shù)器加1,并判斷所述嘗試次數(shù)計(jì)數(shù)器值是否超過(guò)預(yù)先設(shè)定的上限值,如果是,則表示所述非零元素個(gè)數(shù)w0的要求過(guò)高,則在降低所述非零元素個(gè)數(shù)w0的值之后,再執(zhí)行所述步驟B41;否則,直接執(zhí)行步驟B41。
上述更新位置記錄具體為從可用的位置記錄中去除所生成多項(xiàng)式所占有的位置。所述的位置為所述多項(xiàng)式中任意兩個(gè)非零元素間的距離。
上述步驟C所述根據(jù)所生成的L個(gè)循環(huán)子矩陣推導(dǎo)出LDPC碼的生成矩陣的步驟包括根據(jù)公式g=G1G2I···GL-1]]>計(jì)算所述生成矩陣G,其中,Gk=(AL-1Ak)T,k=1..L-1,]]>I表示單位矩陣,AL為所生成的一個(gè)可逆子循環(huán)矩陣,Ak為除所述可逆子循環(huán)矩陣AL之外的其他L-1個(gè)子循環(huán)矩陣,運(yùn)算符()T表示矩陣的轉(zhuǎn)置運(yùn)算。
根據(jù)本發(fā)明的另一方面,所述低密度奇偶校驗(yàn)LDPC編碼裝置包括L-1個(gè)長(zhǎng)度為m的循環(huán)移位寄存器,其中L與m均為自然數(shù);L-1個(gè)與所述循環(huán)移位寄存器一一對(duì)應(yīng)并連接的m輸入二進(jìn)制加法器;以及一個(gè)連接到所述L-1個(gè)m輸入二進(jìn)制加法器的將所述L-1個(gè)m輸入二進(jìn)制加法器的輸出作為輸入的L-1輸入二進(jìn)制加法器。
其中,所述L-1個(gè)m輸入二進(jìn)制加法器的m個(gè)輸入端與其對(duì)應(yīng)循環(huán)移位寄存器的m位輸出端之間的連接關(guān)系由LDPC碼的生成矩陣確定。
其中,所述L-1個(gè)m輸入二進(jìn)制加法器及所述L-1輸入二進(jìn)制加法器由異或邏輯門(mén)電路實(shí)現(xiàn)。
根據(jù)本發(fā)明的又一個(gè)方面,本發(fā)明還提供了一種低密度奇偶校驗(yàn)LDPC碼奇偶校驗(yàn)矩陣的生成方法,其中,所述奇偶校驗(yàn)矩陣由L個(gè)循環(huán)子矩陣,L為自然數(shù),其特征在于,所述方法包括根據(jù)所述LDPC碼的碼長(zhǎng)以及所述循環(huán)子矩陣的個(gè)數(shù)L,依次生成L個(gè)循環(huán)子矩陣,并根據(jù)所生成的L個(gè)循環(huán)子矩陣推導(dǎo)出LDPC碼的奇偶校驗(yàn)矩陣,使所述奇偶校驗(yàn)矩陣的最小圈長(zhǎng)大于4并且具有最大的最小漢明距離。
其中,所述依次生成L個(gè)循環(huán)子矩陣的方法包括a、根據(jù)LDPC碼的碼長(zhǎng)及所確定的循環(huán)子矩陣的個(gè)數(shù)L確定表示該可逆循環(huán)子矩陣的多項(xiàng)式中的非零元素個(gè)數(shù)w0;b、根據(jù)非零元素個(gè)數(shù)w0的要求,根據(jù)可用的非零元素位置記錄隨機(jī)選擇w0-1個(gè)不同的整數(shù)a1,a22,...,aw0-1作為非零元素的位置,再加上位置0,構(gòu)成多項(xiàng)式1+xa1+xa2+...+xaw0-1;c、計(jì)算多項(xiàng)式1+xa1+xa2+...+xaw0-1任意兩個(gè)非零元素間的距離,并判斷計(jì)算得到的距離是否被重復(fù)使用,如果是,則說(shuō)明所述奇偶校驗(yàn)矩陣的最小圈長(zhǎng)小于或等于4,接下來(lái)返回步驟b,重新產(chǎn)生所述多項(xiàng)式;否則,根據(jù)本步驟所生成的多項(xiàng)式經(jīng)過(guò)循環(huán)移位得到一個(gè)循環(huán)子矩陣,然后根據(jù)所述多項(xiàng)式中非零元素的位置更新所述位置記錄,并返回步驟b繼續(xù)生成下一個(gè)循環(huán)子矩陣,直至生成全部L個(gè)循環(huán)子矩陣。
在生成一個(gè)子多項(xiàng)式的過(guò)程中,進(jìn)一步包括設(shè)置一個(gè)嘗試次數(shù)計(jì)數(shù)器,并將所述嘗試次數(shù)計(jì)數(shù)器的初值設(shè)置為1;在次每執(zhí)行步驟b之前,將所述嘗試次數(shù)計(jì)數(shù)器加1,并判斷所述嘗試次數(shù)計(jì)數(shù)器值是否超過(guò)預(yù)先設(shè)定的上限值,如果是,則表示所述非零元素個(gè)數(shù)w0的要求過(guò)高,并將所述非零元素個(gè)數(shù)w0減1之后,再執(zhí)行所述步驟b;否則,直接執(zhí)行步驟b。
上述步驟a所述確定表示該可逆循環(huán)子矩陣的多項(xiàng)式中的非零元素個(gè)數(shù)w0的方法為根據(jù)公式LCw2≤n/2L]]>計(jì)算滿(mǎn)足該公式要求的最大整數(shù)w,如果計(jì)算得到的w是偶數(shù),則令w0=w+1;否則,令w0=w。
所述的位置為所述多項(xiàng)式中任意兩個(gè)非零元素間的距離;步驟c所述更新位置記錄具體為從可用的任意兩個(gè)非零元素間的距離記錄中去除所生成多項(xiàng)式中任意兩個(gè)非零元素間的距離。
所生成的L個(gè)循環(huán)子矩陣中包括至少一個(gè)可逆循環(huán)子矩陣;在生成所述可逆循環(huán)子矩陣的過(guò)程中,所述步驟c在判斷出非零元素之間的距離沒(méi)有重復(fù)使用后,進(jìn)一步包括判斷由所述多項(xiàng)式循環(huán)移位得到的子循環(huán)矩陣是否滿(mǎn)秩,如果是,則根根據(jù)本步驟所生成的多項(xiàng)式經(jīng)過(guò)循環(huán)移位得到一個(gè)循環(huán)子矩陣,然后根據(jù)所述多項(xiàng)式中非零元素的位置更新所述非零元素位置記錄;否則,返回步驟b,重新產(chǎn)生所述可逆循環(huán)子矩陣。
由此可以看出,通過(guò)本發(fā)明所述的LDPC編碼方法以及編碼裝置可以獲得以下有益效果1、所生成的LDPC碼生成矩陣具有偽循環(huán)移位結(jié)構(gòu),因此,LDPC編碼可以通過(guò)移位寄存器實(shí)現(xiàn),而無(wú)需使用復(fù)雜的相乘操作電路,從而滿(mǎn)足高速率、高效率以及低編碼復(fù)雜度的要求;2、通過(guò)本發(fā)明所述方法及裝置構(gòu)造的LDPC碼的奇偶校驗(yàn)矩陣兼顧了最小圈長(zhǎng)和最小漢明距離的要求,在避免出現(xiàn)圈4循環(huán)的同時(shí),能夠獲得較大的最小漢明距離,從而可以提高碼的誤碼率性能。
圖1為本發(fā)明優(yōu)選實(shí)施例所述LDPC碼編碼流程圖;圖2為本發(fā)明優(yōu)選實(shí)施例所述隨機(jī)生成可逆子多項(xiàng)式的方法流程圖;圖3為本發(fā)明優(yōu)選實(shí)施例所述隨機(jī)生成子多項(xiàng)式的方法流程圖;圖4為本發(fā)明優(yōu)選實(shí)施例所述LDPC碼編碼裝置的內(nèi)部結(jié)構(gòu)示意圖;圖5顯示了在光纖信道模型下計(jì)算得到的該LDPC碼在置信傳播譯碼算法和Min-Sum譯碼算法下的誤碼率性能以及常用的RS(255,239)碼的誤碼率性能示意圖。
具體實(shí)施例方式
為使發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。
對(duì)待傳輸?shù)男畔⒈忍剡M(jìn)行LDPC編碼的基本要求是滿(mǎn)足應(yīng)用系統(tǒng),例如通信系統(tǒng)、磁存儲(chǔ)系統(tǒng)等系統(tǒng)的誤碼率性能要求,同時(shí)還要兼顧編譯碼復(fù)雜度、成本等要求。通常影響LDPC碼誤碼率性能的因素比較多,其中,比較重要的兩個(gè)因素是LDPC碼所對(duì)應(yīng)的奇偶校驗(yàn)矩陣的最小圈長(zhǎng)和最小漢明距離。因此,設(shè)計(jì)LDPC碼的一個(gè)重要內(nèi)容就是構(gòu)造一個(gè)合適的奇偶校驗(yàn)矩陣H使其最小圈長(zhǎng)和最小漢明距離滿(mǎn)足一定的要求。已知為實(shí)現(xiàn)正確LDPC譯碼,通常要求LDPC碼的奇偶校驗(yàn)矩陣的最小圈長(zhǎng)大于4,同時(shí)要求其最小漢明距離越大越好。
在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,給出了一種生成奇偶校驗(yàn)矩陣的方法,保證在生成奇偶校驗(yàn)矩陣的時(shí)候,可以同時(shí)兼顧最小圈長(zhǎng)和最小漢明距離的要求,以獲得性能非常好的LDPC碼。
首先規(guī)定,通過(guò)本實(shí)施例方法構(gòu)造的LDPC碼的奇偶校驗(yàn)矩陣H具有如下公式(2)所示的結(jié)構(gòu)H=[A1A2...AL](2)該奇偶校驗(yàn)矩陣H的特點(diǎn)在于它是由L個(gè)大小相同的循環(huán)子矩陣Ai組成的,其中,i=1...L,且L為自然數(shù)。由這樣的奇偶校驗(yàn)矩陣H所表示的LDPC碼是一種偽循環(huán)LDPC(QC-LDPC,Quasi-Cyclic Low Density ParityCheck Code)碼。其中,每個(gè)循環(huán)子矩陣Ai都具有循環(huán)移位的特點(diǎn),即它的任何一行或任何一列都可以由前一行或前一列循環(huán)移位得到。例如,下面公式(3)的矩陣A就是一個(gè)循環(huán)矩陣,該矩陣的每行和每列都有且只有兩個(gè)非零元素,并且其任何一行均可由前一行循環(huán)移位得到,而其任何一列均可由其前一列循環(huán)移位得到。很顯然,只要已知一個(gè)循環(huán)矩陣的第一行或第一列,就可以通過(guò)循環(huán)移位完全確定該循環(huán)矩陣。
A=101000010100001010000101100010010001---(3)]]>基于上述原因,循環(huán)矩陣還可以用多項(xiàng)式的方法進(jìn)行描述,例如公式(3)所示的循環(huán)矩陣A,其第一行用多項(xiàng)式的方法可以表示為x0+x2=1+x2,其中,x的指數(shù)系數(shù)表示了非零元素的位置,這里的非零元素分別在第零位和第二位。根據(jù)循環(huán)矩陣的特性,所述循環(huán)矩陣A的第D行可以通過(guò)對(duì)多項(xiàng)式1+x2進(jìn)行循環(huán)移位得到,由于其循環(huán)長(zhǎng)度為6,因此,所述循環(huán)矩陣A的第D行可以表示為xD(1+x2)=xD+xD+2mod(x6-1)。
從上述描述可以看出,由于每個(gè)循環(huán)矩陣均可以用多項(xiàng)式的方法進(jìn)行描述,因此,如公式(2)所示的QC-LDPC碼的奇偶校驗(yàn)矩陣H可以用L個(gè)多項(xiàng)式表示,其中,每個(gè)多項(xiàng)式代表了該奇偶校驗(yàn)矩陣H所包含的一個(gè)循環(huán)子矩陣的第一行。
如前所述,為了保證所設(shè)計(jì)的LDPC碼的誤碼率性能,需要保證LDPC碼的奇偶校驗(yàn)矩陣H的最小圈長(zhǎng)和最小漢明距離達(dá)到一定的要求。
其中,LDPC碼對(duì)于其奇偶校驗(yàn)矩陣H最小圈長(zhǎng)的基本要求是要求其最小圈長(zhǎng)大于4,即避免圈4循環(huán)的出現(xiàn)。為了描述的方便,首先定義一個(gè)多項(xiàng)式中任意兩個(gè)非零元素間的距離為Dist(a,b)=min(|a-b|,m-|a-b|),其中a、b分別為多項(xiàng)式中任意兩個(gè)非零元素的位置,m是多項(xiàng)式的循環(huán)長(zhǎng)度。例如,公式(3)所示的循環(huán)矩陣A對(duì)應(yīng)的循環(huán)多項(xiàng)式為1+x2,它有兩個(gè)非零元素,分別在位置0和2,多項(xiàng)式的循環(huán)長(zhǎng)度m=6,因此,通過(guò)計(jì)算可以得到這兩個(gè)非零元素間的距離為2。本領(lǐng)域的技術(shù)人員可以證明,對(duì)于組成QC-LDPC碼的所有多項(xiàng)式來(lái)說(shuō),如果這些多項(xiàng)式非零元素間的距離不出現(xiàn)重復(fù),那么由這些多項(xiàng)式循環(huán)移位得到的QC-LDPC碼可以避免圈4循環(huán)的存在,從而保證所生成的奇偶校驗(yàn)矩陣的最小圈長(zhǎng)大于4。在這里將組成QC-LDPC碼的所有多項(xiàng)式的非零元素間的距離不出現(xiàn)重復(fù)這一約束條件稱(chēng)為距離約束條件。從上述分析可以看出,本發(fā)明優(yōu)選實(shí)施例中所生成的LDPC碼的奇偶校驗(yàn)矩陣H必須滿(mǎn)足上述距離約束條件。
另外,對(duì)應(yīng)于最小漢明距離的要求,為了保證LDPC碼的誤碼率性能,要求LDPC碼的奇偶校驗(yàn)矩陣H最小漢明距離越大越好。若假設(shè)組成QC-LDPC碼所對(duì)應(yīng)奇偶校驗(yàn)矩陣H的L個(gè)多項(xiàng)式中的非零元素的個(gè)數(shù)分別為wi,其中i=1...L,則本領(lǐng)域的技術(shù)人員可以證明,如果該奇偶校驗(yàn)矩陣H所包含的L個(gè)多項(xiàng)式中有兩個(gè)或兩個(gè)以上非零元素個(gè)數(shù)為w的多項(xiàng)式,那么這個(gè)奇偶校驗(yàn)矩陣H的最小漢明距離小于或等于2w。
由此可見(jiàn),可以通過(guò)提高奇偶校驗(yàn)矩陣H所包含的多項(xiàng)式中非零元素的個(gè)數(shù)來(lái)提高奇偶校驗(yàn)矩陣H的最小漢明距離。然而,當(dāng)組成奇偶校驗(yàn)矩陣H的多項(xiàng)式中非零元素的個(gè)數(shù)增加后,將需要更多的不重復(fù)的非零元素間的距離,從而將更難滿(mǎn)足前面提到的距離約束條件。因此,在增加非零元素的個(gè)數(shù)的同時(shí),還必須保證滿(mǎn)足上述距離約束條件。本領(lǐng)域的技術(shù)人員可以證明,對(duì)于一個(gè)非零元素個(gè)數(shù)為w的多項(xiàng)式,其非零元素間的距離共需要Cw2個(gè)。這樣,如果要求如公式(2)所示的奇偶校驗(yàn)矩陣H非零元素間的距離不出現(xiàn)重復(fù),則必有滿(mǎn)足以下公式(4),在這里,將公式(4)的約束條件稱(chēng)為最小漢明距離約束條件LCw2≤n/2L---(4)]]>其中,n/2L表示的是每個(gè)循環(huán)子矩陣的長(zhǎng)度的一半。
從上述最小漢明距離約束條件可以得到在QC-LDPC碼構(gòu)造時(shí)所能夠使用的多項(xiàng)式非零元素個(gè)數(shù)的一個(gè)上限,因此可以將該上限作為搜索滿(mǎn)足距離約束條件的子多項(xiàng)式的非零元素個(gè)數(shù)的起始值。
通過(guò)以上描述可以看出,為了保證LDPC碼的誤碼率性能,在生成該LDPC碼所對(duì)應(yīng)奇偶校驗(yàn)矩陣H的時(shí)候需要同時(shí)考慮上述距離約束條件以及最小漢明距離約束條件。也就是說(shuō),如果所生成的奇偶校驗(yàn)矩陣H滿(mǎn)足上述距離約束條件,并具有盡可能大的最小漢明距離時(shí),即可保證所設(shè)計(jì)的LDPC碼具有良好的誤碼率性能。
由前面的描述可知,在生成LDPC碼的奇偶校驗(yàn)矩陣H后,通過(guò)所生成的奇偶校驗(yàn)矩陣H可以推導(dǎo)出對(duì)應(yīng)于該奇偶校驗(yàn)矩陣H的LDPC碼的生成矩陣G,從而通過(guò)所述生成矩陣G進(jìn)行LDPC編碼。然而,通常情況下雖然所生成的奇偶校驗(yàn)矩陣H是稀疏的,但是從奇偶校驗(yàn)矩陣H推導(dǎo)得到的生成矩陣G一般是非稀疏的,因此進(jìn)行LDPC編碼時(shí)的矩陣相乘運(yùn)算通常是計(jì)算量很大的操作。為此,本發(fā)明的優(yōu)選實(shí)施例特給出了一種根據(jù)奇偶校驗(yàn)矩陣H推導(dǎo)出生成矩陣G的方法,可以大大降低利用生成矩陣G進(jìn)行LDPC編碼的復(fù)雜度。
假設(shè)式(2)定義的奇偶校驗(yàn)矩陣H所包含的循環(huán)子矩陣中有一個(gè)是可逆的,這里設(shè)AL可逆,并且其逆矩陣為AL-1,則由該奇偶校驗(yàn)矩陣H所表示的QC-LDPC碼的生成矩陣G可以通過(guò)下面的公式(5)計(jì)算得到G=G1G2I···GL-1---(5)]]>其中,Gk=(AL-1Ak)T,k=1..L-1,]]>I表示單位矩陣。通過(guò)上述方法,雖然從稀疏矩陣Ak得到的矩陣Gk不一定是稀疏矩陣,但每個(gè)Gk仍然都是循環(huán)矩陣,因此,通過(guò)公式(5)所得到的生成矩陣G與待發(fā)送信息序列的相乘運(yùn)算可以直接通過(guò)循環(huán)移位寄存器實(shí)現(xiàn),而無(wú)需大量的乘法操作,從而可以大大減少LDPC編碼的計(jì)算量,降低LDPC編碼的復(fù)雜度。
通過(guò)上面給出的生成奇偶校驗(yàn)矩陣的方法以及通過(guò)奇偶校驗(yàn)矩陣推導(dǎo)出生成矩陣的方法,本發(fā)明的一個(gè)優(yōu)選實(shí)施例給出了一種LDPC編碼方法。該方法如圖1所示,主要包括以下步驟A、根據(jù)通信系統(tǒng)預(yù)先給定的編碼效率確定所生成奇偶校驗(yàn)矩陣需要的循環(huán)子矩陣的個(gè)數(shù)L;
在本步驟中,所述確定循環(huán)子矩陣的個(gè)數(shù)所采用的具體方法為根據(jù)碼效率1-ε的要求,其中,ε為L(zhǎng)DPC碼的冗余度,計(jì)算需要的循環(huán)子矩陣的個(gè)數(shù)L,以滿(mǎn)足條件 其中,運(yùn)算符 表示向上取整運(yùn)算。由此可以看出,循環(huán)子矩陣的個(gè)數(shù)越多,碼效率越高,但同時(shí)也將導(dǎo)致所生成奇偶校驗(yàn)矩陣的最小漢明距離越小。
B、根據(jù)LDPC碼的碼長(zhǎng)及所確定的循環(huán)子矩陣的個(gè)數(shù)確定每個(gè)循環(huán)子矩陣的循環(huán)長(zhǎng)度m。
本步驟所述確定每個(gè)循環(huán)子矩陣的循環(huán)長(zhǎng)度m所采用的具體方法為設(shè)LDPC碼的碼長(zhǎng)為n,所述循環(huán)子矩陣的個(gè)數(shù)為L(zhǎng),采用公式m=n/L計(jì)算所述每個(gè)循環(huán)子矩陣的循環(huán)長(zhǎng)度m。
C、設(shè)定其中一個(gè)循環(huán)子矩陣為可逆循環(huán)子矩陣,并根據(jù)LDPC碼的碼長(zhǎng)及所確定的循環(huán)子矩陣的個(gè)數(shù)確定表示該可逆循環(huán)子矩陣的多項(xiàng)式中的非零元素個(gè)數(shù)w0。
在該步驟中,所述確定非零元素個(gè)數(shù)w0的具體方法為根據(jù)上述公式(4)計(jì)算滿(mǎn)足該式要求的最大整數(shù)w,如果計(jì)算得到的w是偶數(shù),則令w0=w+1;否則,令w0=w。其中,在計(jì)算得到的w是偶數(shù)時(shí)令w0=w+1的原因是,可以證明在表示一個(gè)循環(huán)矩陣的多項(xiàng)式的非零元素的個(gè)數(shù)為偶數(shù)時(shí),通過(guò)循環(huán)移位產(chǎn)生的循環(huán)矩陣不可能是可逆的。
D、根據(jù)每個(gè)循環(huán)子矩陣的循環(huán)長(zhǎng)度m以及所確定的非零元素個(gè)數(shù)w0構(gòu)造滿(mǎn)足距離約束條件的可逆子多項(xiàng)式,并根據(jù)所述可逆子多項(xiàng)式生成可逆子循環(huán)矩陣。
本步驟所述構(gòu)造滿(mǎn)足距離約束條件的可逆子多項(xiàng)式可以采用代數(shù)方法或者隨機(jī)方法實(shí)現(xiàn),經(jīng)分析表明,當(dāng)所生成的子循環(huán)矩陣的最小圈長(zhǎng)為6以及最小漢明距離相同時(shí),不同方法產(chǎn)生的QC-LDPC碼的性能差別不大。
在本實(shí)施例中具體介紹一種隨機(jī)產(chǎn)生可逆子多項(xiàng)式的方法,具體方法請(qǐng)參見(jiàn)圖2,主要包括
D1、根據(jù)非零元素個(gè)數(shù)w0的要求,從1至m-1的m-1個(gè)整數(shù)中隨機(jī)選擇w0-1個(gè)不同的整數(shù)a1,a22,...,aw0-1作為非零元素的位置,再加上位置0,構(gòu)成多項(xiàng)式1+xa1+xa2+...+xaw0-1。
在該步驟中,還要設(shè)置一個(gè)嘗試次數(shù)計(jì)數(shù)器,在首次執(zhí)行步驟D1時(shí),設(shè)置所述嘗試次數(shù)計(jì)數(shù)器為1,此后,在每執(zhí)行步驟D1之前,首先將所述嘗試次數(shù)計(jì)數(shù)器加1,并判斷所述嘗試次數(shù)計(jì)數(shù)器值是否超過(guò)預(yù)先設(shè)定的上限值,如果是,則表示所述非零元素個(gè)數(shù)w0的要求過(guò)高,則在降低所述非零元素個(gè)數(shù)w0的值之后,即將所述非零元素個(gè)數(shù)w0減1之后,再重新構(gòu)成所述多項(xiàng)式。需要注意的是,由于在步驟D中所生成的子循環(huán)矩陣需要是可逆的循環(huán)矩陣,因此,所述非零元素個(gè)數(shù)w0的值不能為偶數(shù)。
D2、計(jì)算多項(xiàng)式1+xa1+xa2+...+xaw0-1任意兩個(gè)非零元素間的距離,并判斷計(jì)算得到的距離是否被重復(fù)使用,如果是,則返回步驟D1,重新產(chǎn)生所述多項(xiàng)式;否則,執(zhí)行步驟D3。
D3、判斷由所述多項(xiàng)式循環(huán)移位得到的子循環(huán)矩陣是否滿(mǎn)秩,如果是,則更新位置記錄并結(jié)束;否則,返回步驟D1,重新產(chǎn)生所述多項(xiàng)式。
本步驟所述更新位置記錄具體包括從可用的位置記錄中去除所生成多項(xiàng)式所占有的位置。所述的位置具體可以表示為多項(xiàng)式中任意兩個(gè)非零元素間的距離。更新位置記錄的主要目的在于,保證所生成的所有多項(xiàng)式中任意兩個(gè)非零元素之間的距離不重復(fù),以滿(mǎn)足所述距離約束條件。
在本步驟中,判斷由所述多項(xiàng)式循環(huán)移位得到的子循環(huán)矩陣是否滿(mǎn)秩的目的在于判斷該子循環(huán)矩陣是否可逆,如果滿(mǎn)軼,則說(shuō)明該子循環(huán)矩陣可逆。
E、依次產(chǎn)生滿(mǎn)足距離約束條件的其他L-1個(gè)子多項(xiàng)式,并根據(jù)所述L-1個(gè)子多項(xiàng)式得到L-1個(gè)子循環(huán)矩陣。
本步驟所述的生成子多項(xiàng)式的方法與上述步驟D1~D3所述的方法相類(lèi)似,具體方法請(qǐng)參見(jiàn)圖3,主要包括E1、根據(jù)非零元素個(gè)數(shù)w0的要求,根據(jù)可用的位置記錄隨機(jī)選擇w0-1個(gè)不同的整數(shù)a1,a22,...,aw0-1作為非零元素的位置,再加上位置0,構(gòu)成多項(xiàng)式1+xa1+xa2+...+xaw0-1。
在該步驟中,還要設(shè)置一個(gè)嘗試次數(shù)計(jì)數(shù)器,在首次執(zhí)行步驟E1時(shí),設(shè)置所述嘗試次數(shù)計(jì)數(shù)器為1,此后,在每執(zhí)行步驟E1之前,首先將所述嘗試次數(shù)計(jì)數(shù)器加1,并判斷所述嘗試次數(shù)計(jì)數(shù)器值是否超過(guò)預(yù)先設(shè)定的上限值,如果是,則表示所述非零元素個(gè)數(shù)w0的要求過(guò)高,則在降低所述非零元素個(gè)數(shù)w0的值之后,即將所述非零元素個(gè)數(shù)w0減1之后,再重新構(gòu)成所述多項(xiàng)式。
E2、計(jì)算多項(xiàng)式1+xa1+xa2+...+xaw0-1任意兩個(gè)非零元素間的距離,并判斷計(jì)算得到的距離是否被重復(fù)使用,如果是,則返回步驟E1,重新產(chǎn)生所述多項(xiàng)式;否則,更新位置記錄并結(jié)束。
F、根據(jù)步驟D及步驟E所得到的L個(gè)子循環(huán)矩陣,通過(guò)公式(5)推導(dǎo)出LDPC碼的生成矩陣G。
其中,根據(jù)所述L個(gè)子循環(huán)矩陣以及公式(2)可以直接得到表征LDPC碼的奇偶校驗(yàn)矩陣H。
H、根據(jù)所述生成矩陣G對(duì)待發(fā)送的信息比特x進(jìn)行LDPC編碼得到待發(fā)送的比特序列y,并通過(guò)通信信道發(fā)送到通信系統(tǒng)的接收端。
所述通信系統(tǒng)的接收端對(duì)于比特序列y的譯碼可以采用現(xiàn)有的譯碼方法來(lái)實(shí)現(xiàn)。
為了實(shí)現(xiàn)上述LDPC編碼方法,本發(fā)明還給出了一種LDPC編碼裝置,其內(nèi)部結(jié)構(gòu)如圖4所示。
本實(shí)施例所述的LDPC編碼裝置主要包括L-1個(gè)長(zhǎng)度為m的循環(huán)移位寄存器,L-1個(gè)與所述循環(huán)移位寄存器一一對(duì)應(yīng)并連接的m輸入二進(jìn)制加法器,另外還包括一個(gè)連接到所述L-1個(gè)m輸入二進(jìn)制加法器的將所述L-1個(gè)m輸入二進(jìn)制加法器的輸出作為輸入的L-1輸入二進(jìn)制加法器。其中,每個(gè)一一對(duì)應(yīng)并連接的循環(huán)移位寄存器及m輸入二進(jìn)制加法器與一個(gè)子循環(huán)矩陣Gk,k=1...L-1,一一對(duì)應(yīng)。另外,所述L-1個(gè)m輸入二進(jìn)制加法器的輸入端與其對(duì)應(yīng)循環(huán)移位寄存器的m位輸出端之間的連接關(guān)系由其對(duì)應(yīng)的子循環(huán)矩陣Gk來(lái)確定。具體而言,由表征所述循環(huán)子矩陣Gk的多項(xiàng)式的非零元素的位置來(lái)確定,即在對(duì)應(yīng)非零元素的位置,將所述循環(huán)移位寄存器的輸出端連接到所述m輸入二進(jìn)制加法器的對(duì)應(yīng)輸入端;而在對(duì)應(yīng)零元素的位置,則不需要建立所述循環(huán)移位寄存器的輸出端到所述m輸入二進(jìn)制加法器對(duì)應(yīng)輸入端之間的連接。例如,若表征所述循環(huán)子矩陣Gk的多項(xiàng)式為1+x2,則僅需要將所述循環(huán)移位寄存器的第0個(gè)和第2個(gè)輸出端到其對(duì)應(yīng)m輸入二進(jìn)制加法器的第0個(gè)和第2個(gè)輸入端,而不需要進(jìn)行其他連接。
通過(guò)上述結(jié)構(gòu)的LDPC編碼裝置即可進(jìn)行LDPC編碼,其具體的編碼過(guò)程如下假設(shè)待編碼的信息序列為XS,其長(zhǎng)度為m×(L-1)。該信息序列將作為所述LDPC編碼裝置的輸入序列,經(jīng)過(guò)LDPC編碼,所述LDPC編碼裝置輸出的比特序列為(XS,XP),其中,XP為編碼生成的冗余比特,其長(zhǎng)度為m。
首先,將所述信息序列XS分成L-1段,分別同時(shí)輸入到所述L-1個(gè)循環(huán)移位寄存器,進(jìn)行分段循環(huán)移位;每循環(huán)移位一個(gè)比特,每個(gè)循環(huán)移位寄存器對(duì)應(yīng)的m輸入二進(jìn)制加法器將輸出一個(gè)二進(jìn)制和,并將其輸出直接輸入到所述L-1輸入二進(jìn)制加法器,由該L-1輸入二進(jìn)制加法器輸出一位冗余比特。當(dāng)循環(huán)移位m個(gè)比特,也即循環(huán)一周時(shí),所述L-1輸入二進(jìn)制加法器將共輸出m個(gè)冗余比特,這m個(gè)冗余比特即為XP。
由此可以看出,在利用上述LDPC編碼裝置進(jìn)行LDPC編碼時(shí),可以?xún)H僅通過(guò)循環(huán)移位以及二進(jìn)制的加法運(yùn)算即可實(shí)現(xiàn)LDPC編碼,并且二進(jìn)制加法器的實(shí)現(xiàn)可以非常簡(jiǎn)單,例如可以用異或邏輯門(mén)實(shí)現(xiàn)。因而,該LDPC編碼裝置可以充分體現(xiàn)本發(fā)明所述LDPC編碼的低編碼復(fù)雜度優(yōu)勢(shì),從而滿(mǎn)足高速率、高效率以及低編碼復(fù)雜度的編碼要求。
為了更好的說(shuō)明本發(fā)明優(yōu)選實(shí)施例所述LDPC編碼的性能,下面對(duì)比光纖通信系統(tǒng)中常用的前向糾錯(cuò)編碼——里德-所羅門(mén)(RS,Reed-Solomon)碼進(jìn)行說(shuō)明。在光纖通信系統(tǒng)中經(jīng)常使用的RS碼為RS(255,239),其碼長(zhǎng)為2040,編碼效率為93.7%。現(xiàn)根據(jù)本發(fā)明優(yōu)選實(shí)施例所述的LDPC編碼方法,構(gòu)造具有相同編碼效率的QC-LDPC碼,其碼長(zhǎng)為4080,其奇偶校驗(yàn)矩陣具有16個(gè)循環(huán)子矩陣。通過(guò)本發(fā)明優(yōu)選實(shí)施例所述方法的設(shè)計(jì),可以得到上述奇偶校驗(yàn)矩陣所包含16個(gè)循環(huán)子矩陣的子多項(xiàng)式中可逆多項(xiàng)式的非零元素個(gè)數(shù)為5,其他多項(xiàng)式的非零元素個(gè)數(shù)是5或4,因此,該LDPC碼的最小漢明距離為8。圖5顯示了在光纖信道模型下計(jì)算得到的該LDPC碼在置信傳播譯碼算法下以及Min-Sum譯碼算法下的誤碼率性能,分別如圖5中帶×號(hào)和帶+號(hào)的曲線(xiàn)所示;另外,圖5中也包含了常用的RS(255,239)碼的誤碼率性能,如圖5中帶圓圈的曲線(xiàn)所示。其中,圖5的橫軸為光纖通信系統(tǒng)中用于表征接收信號(hào)質(zhì)量好壞的通用參數(shù)——Q值,其中,Q值越大,表明接收信號(hào)質(zhì)量越好,誤碼率也越低,Q值越小,表明接收信號(hào)質(zhì)量越差,誤碼率越高;圖5的縱軸表示誤碼率。從圖5可以看出,利用本發(fā)明優(yōu)選實(shí)施例所述LDPC的編碼方法,在編碼效率基本相同的前提下,與所述RS(255,239)碼相比,可以提供約2dB的編碼增益。雖然,置信傳播譯碼算法具有更好的性能,然而Min-Sum譯碼算法通過(guò)犧牲約0.2dB的編碼增益,可以大大降低譯碼復(fù)雜度,同時(shí)更易于電路實(shí)現(xiàn)。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種低密度奇偶校驗(yàn)LDPC編碼方法,其特征在于,包括A、根據(jù)通信系統(tǒng)預(yù)先給定的編碼效率確定所生成奇偶校驗(yàn)矩陣需要的循環(huán)子矩陣的個(gè)數(shù)L,其中,L為自然數(shù);B、根據(jù)所述LDPC碼的碼長(zhǎng)以及所述循環(huán)子矩陣的個(gè)數(shù)L,生成L個(gè)循環(huán)子矩陣,并保證其中至少一個(gè)是可逆循環(huán)子矩陣;C、根據(jù)所生成的L個(gè)循環(huán)子矩陣推導(dǎo)出LDPC碼的生成矩陣,并根據(jù)所述生成矩陣對(duì)待發(fā)送的信息比特進(jìn)行LDPC編碼得到待發(fā)送的比特序列。
2.根據(jù)權(quán)利要求1所述的LDPC編碼方法,其特征在于,步驟A所述確定所生成奇偶校驗(yàn)矩陣需要的循環(huán)子矩陣的個(gè)數(shù)L為設(shè)ε為L(zhǎng)DPC碼的冗余度,根據(jù)公式 計(jì)算需要的循環(huán)子矩陣的個(gè)數(shù)L,其中,運(yùn)算符 表示向上取整運(yùn)算。
3.根據(jù)權(quán)利要求1所述的LDPC編碼方法,其特征在于,步驟B所述生成L個(gè)循環(huán)子矩陣的步驟包括B1、根據(jù)LDPC碼的碼長(zhǎng)及所確定的循環(huán)子矩陣的個(gè)數(shù)確定每個(gè)循環(huán)子矩陣的循環(huán)長(zhǎng)度;B2、設(shè)定其中一個(gè)循環(huán)子矩陣為可逆循環(huán)子矩陣,并根據(jù)LDPC碼的碼長(zhǎng)及所確定的循環(huán)子矩陣的個(gè)數(shù)L確定表示該可逆循環(huán)子矩陣的多項(xiàng)式中的非零元素個(gè)數(shù)w0;B3、根據(jù)每個(gè)循環(huán)子矩陣的循環(huán)長(zhǎng)度以及所確定的非零元素個(gè)數(shù)w0構(gòu)造滿(mǎn)足距離約束條件的可逆子多項(xiàng)式,并根據(jù)所述可逆子多項(xiàng)式生成可逆子循環(huán)矩陣;B4、依次產(chǎn)生滿(mǎn)足距離約束條件的其他L-1個(gè)子多項(xiàng)式,并根據(jù)所述L-1個(gè)子多項(xiàng)式得到L-1個(gè)子循環(huán)矩陣。
4.根據(jù)權(quán)利要求3所述的LDPC編碼方法,其特征在于,步驟B1所述確定每個(gè)循環(huán)子矩陣的循環(huán)長(zhǎng)度的步驟包括設(shè)LDPC碼的碼長(zhǎng)為n,采用公式m=n/L計(jì)算所述每個(gè)循環(huán)子矩陣的循環(huán)長(zhǎng)度m。
5.根據(jù)權(quán)利要求3所述的LDPC編碼方法,其特征在于,步驟B2所述確定表示該可逆循環(huán)子矩陣的多項(xiàng)式中的非零元素個(gè)數(shù)w0的步驟包括設(shè)LDPC碼的碼長(zhǎng)為n,根據(jù)公式LCw2≤n/2L]]>計(jì)算滿(mǎn)足該公式要求的最大整數(shù)w,如果計(jì)算得到的w是偶數(shù),則令w0=w+1;否則,令w0=w。
6.根據(jù)權(quán)利要求3所述的LDPC編碼方法,其特征在于,步驟B3所述構(gòu)造滿(mǎn)足距離約束條件的可逆子多項(xiàng)式的步驟包括B31、根據(jù)非零元素個(gè)數(shù)w0的要求,從1至m-1的m-1個(gè)整數(shù)中隨機(jī)選擇w0-1個(gè)不同的整數(shù)a1,a2,...,aw0-1作為非零元素的位置,再加上位置0,構(gòu)成多項(xiàng)式1+xa1+xa2+...+xaw0-1;B32、計(jì)算所構(gòu)成多項(xiàng)式1+xa1+xa2+...+xaw0-1任意兩個(gè)非零元素間的距離,并判斷計(jì)算得到的距離是否被重復(fù)使用,如果是,則返回步驟B31,重新產(chǎn)生所述多項(xiàng)式;否則,執(zhí)行步驟B33;B33、判斷由所述多項(xiàng)式循環(huán)移位得到的子循環(huán)矩陣是否滿(mǎn)秩,如果是,則根據(jù)本步驟所生成的多項(xiàng)式中非零元素的位置更新位置記錄并結(jié)束;否則,返回步驟B31,重新產(chǎn)生所述多項(xiàng)式。
7.根據(jù)權(quán)利要求6所述的LDPC編碼方法,其特征在于,在所述步驟B31之前進(jìn)一步包括設(shè)置一個(gè)嘗試次數(shù)計(jì)數(shù)器;在首次執(zhí)行步驟B31時(shí),設(shè)置所述嘗試次數(shù)計(jì)數(shù)器為1;在首次之后每執(zhí)行步驟B31之前,將所述嘗試次數(shù)計(jì)數(shù)器加1,并判斷所述嘗試次數(shù)計(jì)數(shù)器值是否超過(guò)預(yù)先設(shè)定的上限值,如果是,則表示所述非零元素個(gè)數(shù)w0的要求過(guò)高,并在將所述非零元素個(gè)數(shù)w0減1之后,再執(zhí)行所述步驟B31;否則,直接執(zhí)行步驟B31。
8.根據(jù)權(quán)利要求3所述的LDPC編碼方法,其特征在于,步驟B4所述產(chǎn)生滿(mǎn)足距離約束條件的其他子多項(xiàng)式的步驟包括B41、根據(jù)非零元素個(gè)數(shù)w0的要求,根據(jù)可用的位置記錄隨機(jī)選擇w0-1個(gè)不同的整數(shù)a1,a22,...,aw0-1作為非零元素的位置,再加上位置0,構(gòu)成多項(xiàng)式1+xa1+xa2+...+xaw0-1;B42、計(jì)算多項(xiàng)式1+xa1+xa2+...+xaw0-1任意兩個(gè)非零元素間的距離,并判斷計(jì)算得到的距離是否被重復(fù)使用,如果是,則返回步驟B41,重新產(chǎn)生所述多項(xiàng)式;否則,根據(jù)本步驟所生成的多項(xiàng)式中非零元素的位置更新位置記錄。
9.根據(jù)權(quán)利要求8所述的LDPC編碼方法,其特征在于,在所述步驟B41之前進(jìn)一步包括設(shè)置一個(gè)嘗試次數(shù)計(jì)數(shù)器;在首次執(zhí)行步驟B41時(shí),設(shè)置所述嘗試次數(shù)計(jì)數(shù)器為1;在首次之后每執(zhí)行步驟B41之前,將所述嘗試次數(shù)計(jì)數(shù)器加1,并判斷所述嘗試次數(shù)計(jì)數(shù)器值是否超過(guò)預(yù)先設(shè)定的上限值,如果是,則表示所述非零元素個(gè)數(shù)w0的要求過(guò)高,并在將所述非零元素個(gè)數(shù)w0減1之后,再執(zhí)行所述步驟B41;否則,直接執(zhí)行步驟B41。
10.根據(jù)權(quán)利要求6或8所述的LDPC編碼方法,其特征在于,所述更新位置記錄具體為從可用的位置記錄中去除所生成多項(xiàng)式所占有的位置。
11.根據(jù)權(quán)利要求10所述的LDPC編碼方法,其特征在于,所述的位置為所述多項(xiàng)式中任意兩個(gè)非零元素間的距離。
12.根據(jù)權(quán)利要求1所述的LDPC編碼方法,其特征在于,步驟C所述根據(jù)所生成的L個(gè)循環(huán)子矩陣推導(dǎo)出LDPC碼的生成矩陣的步驟包括根據(jù)公式G=G1G2I...GL-1]]>計(jì)算所述生成矩陣G,其中,Gk=AL-1AkT,k=1..L-1,]]>I表示單位矩陣,AL為所生成的一個(gè)可逆子循環(huán)矩陣,Ak為除所述可逆子循環(huán)矩陣AL之外的其他L-1個(gè)子循環(huán)矩陣,運(yùn)算符()T表示矩陣的轉(zhuǎn)置運(yùn)算。
13.一種低密度奇偶校驗(yàn)LDPC編碼裝置,其特征在于,包括L-1個(gè)長(zhǎng)度為m的循環(huán)移位寄存器,其中L與m均為自然數(shù);L-1個(gè)與所述循環(huán)移位寄存器一一對(duì)應(yīng)并連接的m輸入二進(jìn)制加法器;以及一個(gè)連接到所述L-1個(gè)m輸入二進(jìn)制加法器的將所述L-1個(gè)m輸入二進(jìn)制加法器的輸出作為輸入的L-1輸入二進(jìn)制加法器。
14.根據(jù)權(quán)利要求13所述的LDPC編碼裝置,其特征在于,所述L-1個(gè)m輸入二進(jìn)制加法器的m個(gè)輸入端與其對(duì)應(yīng)循環(huán)移位寄存器的m位輸出端之間的連接關(guān)系由LDPC碼的生成矩陣確定。
15.根據(jù)權(quán)利要求13或14所述的LDPC編碼裝置,其特征在于,所述L-1個(gè)m輸入二進(jìn)制加法器及所述L-1輸入二進(jìn)制加法器由異或邏輯門(mén)電路實(shí)現(xiàn)。
16.一種低密度奇偶校驗(yàn)LDPC碼奇偶校驗(yàn)矩陣的生成方法,所述奇偶校驗(yàn)矩陣由L個(gè)循環(huán)子矩陣,L為自然數(shù),其特征在于,所述方法包括根據(jù)所述LDPC碼的碼長(zhǎng)以及所述循環(huán)子矩陣的個(gè)數(shù)L,依次生成L個(gè)循環(huán)子矩陣,并根據(jù)所生成的L個(gè)循環(huán)子矩陣推導(dǎo)出LDPC碼的奇偶校驗(yàn)矩陣,使所述奇偶校驗(yàn)矩陣的最小圈長(zhǎng)大于4并且具有最大的最小漢明距離。
17.根據(jù)權(quán)利要求16所述的LDPC碼奇偶校驗(yàn)矩陣生成方法,其特征在于,所述依次生成L個(gè)循環(huán)子矩陣的方法包括a、根據(jù)LDPC碼的碼長(zhǎng)及所確定的循環(huán)子矩陣的個(gè)數(shù)L確定表示該可逆循環(huán)子矩陣的多項(xiàng)式中的非零元素個(gè)數(shù)w0;b、根據(jù)非零元素個(gè)數(shù)w0的要求,根據(jù)可用的非零元素位置記錄隨機(jī)選擇w0-1個(gè)不同的整數(shù)a1,a22,...,aw0-1作為非零元素的位置,再加上位置0,構(gòu)成多項(xiàng)式1+xa1+xa2+...+xaw0-1;c、計(jì)算多項(xiàng)式1+xa1+xa2+...+xaw0-1任意兩個(gè)非零元素間的距離,并判斷計(jì)算得到的距離是否被重復(fù)使用,如果是,則說(shuō)明所述奇偶校驗(yàn)矩陣的最小圈長(zhǎng)小于或等于4,接下來(lái)返回步驟b,重新產(chǎn)生所述多項(xiàng)式;否則,根據(jù)本步驟所生成的多項(xiàng)式經(jīng)過(guò)循環(huán)移位得到一個(gè)循環(huán)子矩陣,然后根據(jù)所述多項(xiàng)式中非零元素的位置更新所述位置記錄,并返回步驟b繼續(xù)生成下一個(gè)循環(huán)子矩陣,直至生成全部L個(gè)循環(huán)子矩陣。
18.根據(jù)權(quán)利要求17所述的LDPC碼奇偶校驗(yàn)矩陣生成方法,其特征在于,在生成一個(gè)子多項(xiàng)式的過(guò)程中,進(jìn)一步包括設(shè)置一個(gè)嘗試次數(shù)計(jì)數(shù)器,并將所述嘗試次數(shù)計(jì)數(shù)器的初值設(shè)置為1;在次每執(zhí)行步驟b之前,將所述嘗試次數(shù)計(jì)數(shù)器加1,并判斷所述嘗試次數(shù)計(jì)數(shù)器值是否超過(guò)預(yù)先設(shè)定的上限值,如果是,則表示所述非零元素個(gè)數(shù)w0的要求過(guò)高,并將所述非零元素個(gè)數(shù)w0減1之后,再執(zhí)行所述步驟b;否則,直接執(zhí)行步驟b。
19.根據(jù)權(quán)利要求17所述的LDPC碼奇偶校驗(yàn)矩陣生成方法,其特征在于,步驟a所述確定表示該可逆循環(huán)子矩陣的多項(xiàng)式中的非零元素個(gè)數(shù)w0的方法為根據(jù)公式LCw2≤n/2L]]>計(jì)算滿(mǎn)足該公式要求的最大整數(shù)w,如果計(jì)算得到的w是偶數(shù),則令w0=w+1;否則,令w0=w。
20.根據(jù)權(quán)利要求17所述的LDPC碼奇偶校驗(yàn)矩陣生成方法,其特征在于,所述的位置為所述多項(xiàng)式中任意兩個(gè)非零元素間的距離;步驟c所述更新位置記錄具體為從可用的任意兩個(gè)非零元素間的距離記錄中去除所生成多項(xiàng)式中任意兩個(gè)非零元素間的距離。
21.根據(jù)權(quán)利要求17所述的LDPC碼奇偶校驗(yàn)矩陣生成方法,其特征在于,所生成的L個(gè)循環(huán)子矩陣中包括至少一個(gè)可逆循環(huán)子矩陣;在生成所述可逆循環(huán)子矩陣的過(guò)程中,所述步驟c在判斷出非零元素之間的距離沒(méi)有重復(fù)使用后,進(jìn)一步包括判斷由所述多項(xiàng)式循環(huán)移位得到的子循環(huán)矩陣是否滿(mǎn)秩,如果是,則根根據(jù)本步驟所生成的多項(xiàng)式經(jīng)過(guò)循環(huán)移位得到一個(gè)循環(huán)子矩陣,然后根據(jù)所述多項(xiàng)式中非零元素的位置更新所述非零元素位置記錄;否則,返回步驟b,重新產(chǎn)生所述可逆循環(huán)子矩陣。
全文摘要
本發(fā)明公開(kāi)了一種LDPC編碼方法包括根據(jù)通信系統(tǒng)預(yù)先給定的編碼效率確定所生成奇偶校驗(yàn)矩陣需要的循環(huán)子矩陣的個(gè)數(shù)L;根據(jù)所述LDPC碼的碼長(zhǎng)以及所述循環(huán)子矩陣的個(gè)數(shù)L,生成L個(gè)循環(huán)子矩陣,并保證其中至少一個(gè)是可逆循環(huán)子矩陣;根據(jù)所生成的L個(gè)循環(huán)子矩陣推導(dǎo)出LDPC碼的生成矩陣,并根據(jù)所述生成矩陣對(duì)待發(fā)送的信息比特進(jìn)行LDPC編碼得到待發(fā)送的比特序列。本發(fā)明還公開(kāi)了一種LDPC編碼的裝置,以及一種LDPC碼奇偶校驗(yàn)矩陣的生成方法,通過(guò)本發(fā)明的方法及裝置可以實(shí)現(xiàn)高速率、高效率以及低編碼復(fù)雜度的LDPC編碼,同時(shí)可以充分保證LDPC碼的性能。
文檔編號(hào)H04L1/00GK101047391SQ20061007608
公開(kāi)日2007年10月3日 申請(qǐng)日期2006年4月27日 優(yōu)先權(quán)日2006年4月27日
發(fā)明者許渤, 陳銘 申請(qǐng)人:華為技術(shù)有限公司, 電子科技大學(xué)