專利名稱:一種結(jié)構(gòu)化的ldpc編碼方法
技術(shù)領(lǐng)域:
本發(fā)明屬于通信技術(shù)領(lǐng)域,涉及一種結(jié)構(gòu)化的LDPC編碼方法,該方法是電子、通信和計(jì)算機(jī)技術(shù)結(jié)合的產(chǎn)物。
背景技術(shù):
自香農(nóng)信息論建立以來(lái),信道編碼理論主要在以下六個(gè)領(lǐng)域得到實(shí)際應(yīng)用深空通信與衛(wèi)星通信,數(shù)據(jù)傳輸,數(shù)據(jù)存儲(chǔ),移動(dòng)通信,文件傳輸以及數(shù)字音頻視頻傳輸。由此產(chǎn)生了五類標(biāo)準(zhǔn)用于深空和衛(wèi)星通信的空間數(shù)據(jù)系統(tǒng)編碼標(biāo)準(zhǔn),用于高速數(shù)據(jù)調(diào)制解調(diào)的格柵編碼標(biāo)準(zhǔn),用于磁盤壓縮存儲(chǔ)系統(tǒng)的RS編碼標(biāo)準(zhǔn),移動(dòng)蜂窩通信系統(tǒng)的卷積碼編碼標(biāo)準(zhǔn),用于HDLC協(xié)議的CRC編碼標(biāo)準(zhǔn)。這些應(yīng)用清楚地解釋了差錯(cuò)控制編碼方法在現(xiàn)代數(shù)字技術(shù)應(yīng)用中的豐富性,多樣性和重要性。目前,正在研究的下一代網(wǎng)絡(luò)(NGN)是軟交換系統(tǒng)網(wǎng)、IPv6數(shù)據(jù)互聯(lián)網(wǎng)、第三代移動(dòng)通信網(wǎng)、各種寬帶接入網(wǎng)、以及智能光纖傳輸網(wǎng)等所有新一代網(wǎng)絡(luò)技術(shù)的有機(jī)融合,要求網(wǎng)絡(luò)具有更高數(shù)據(jù)傳輸率,更大系統(tǒng)容量,更高頻譜利用率,更適合各種信道條件和更高QoS,可以實(shí)現(xiàn)集話音、圖像、視頻和數(shù)據(jù)為一體的多媒體綜合業(yè)務(wù)的傳輸。面對(duì)下一代網(wǎng)絡(luò)應(yīng)用的挑戰(zhàn),現(xiàn)有糾錯(cuò)編碼技術(shù)很難滿足其傳輸要求,于是一批新型高效的糾錯(cuò)編碼技術(shù)應(yīng)運(yùn)而生,其中性能最好、計(jì)算復(fù)雜度最低的糾錯(cuò)碼之一就是低密度奇偶校驗(yàn)(LDPC)碼。
自LDPC碼重新發(fā)現(xiàn)以來(lái),通信工程師和編碼理論家進(jìn)行了大量的研究工作,這些工作包括1、LDPC碼的極限性能分析,如密度進(jìn)化理論、容量限、最小距離限等;2、高效迭代解碼算法研究,如BP算法、MP算法、和積算法、最小和算法和位翻轉(zhuǎn)算法,包括它們的性能分析與改進(jìn),有效實(shí)現(xiàn)設(shè)計(jì)與收斂性分析;3、結(jié)構(gòu)分析與構(gòu)造方法的設(shè)計(jì),如基于稀疏圖、因子圖或Tanner圖的規(guī)則和不規(guī)則碼的構(gòu)造,有限群多元碼的構(gòu)造,以及隨機(jī)結(jié)構(gòu)碼和代數(shù)結(jié)構(gòu)碼的設(shè)計(jì)等;4、編碼算法設(shè)計(jì),主要是線性復(fù)雜度編碼算法的研究;5、LDPC碼在不同領(lǐng)域的應(yīng)用,如LDPC碼在磁記錄信道,高速光纖通信,深空與衛(wèi)星通信,數(shù)字用戶線,與CDMA和OFDM技術(shù)的結(jié)合,與調(diào)制技術(shù)的結(jié)合等。這種對(duì)LDPC碼多方位、不同層面、大力度的研究表明,LDPC碼在新一代通信領(lǐng)域具有廣泛的應(yīng)用前景。
隨著對(duì)LDPC碼編碼算法研究的深入,出現(xiàn)了一些好的隨機(jī)編碼構(gòu)造方法,這些方法雖然具有好的糾錯(cuò)性能,但不適合實(shí)際應(yīng)用?,F(xiàn)在也出現(xiàn)了一些確定性的代數(shù)編碼方法,這些方法可以快速生成校驗(yàn)矩陣,但往往需要較高的編碼復(fù)雜度。因此,設(shè)計(jì)出確定性的具有線性編碼復(fù)雜度的編碼器,是LDPC編碼技術(shù)走向?qū)嵱玫年P(guān)鍵。本專利聚焦于LDPC碼的具有線性編碼復(fù)雜度的代數(shù)結(jié)構(gòu)編碼器的研究,提出一種實(shí)用的代數(shù)構(gòu)造方法,編碼簡(jiǎn)單,只需要線性復(fù)雜度,在譯碼端只需幾個(gè)參數(shù)即可生成校驗(yàn)矩陣,大大節(jié)省了存儲(chǔ)空間。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有一些構(gòu)造方法的不足,提供一種結(jié)構(gòu)化的LDPC編碼方法,該方法減少了編碼復(fù)雜度,節(jié)省了存儲(chǔ)空間。
本發(fā)明提供了一種結(jié)構(gòu)化的LDPC編碼方法,其步驟為(1)分別構(gòu)造雙對(duì)角矩陣Hp和矩陣Hd;根據(jù)輸入?yún)?shù)N和K,其中K為信息位長(zhǎng)度,N為碼字長(zhǎng)度,采用雙對(duì)角矩陣形式生成N-K階的方陣,作為矩陣Hp;選取參數(shù)a,b,a,b為整數(shù),且滿足條件(C1)-(C11),根據(jù)式(I)生成線性同余序列A0,A1,K Ap,K AM-1,再根據(jù)式(II)生成矩陣Hd;(C1)a<M,b<M,其中M=3K;(C2)b與M互為質(zhì)數(shù);(C3)對(duì)于任意可以整除M的質(zhì)數(shù)p,a-1為其倍數(shù);(C4)a與M互為質(zhì)數(shù);(C5)a-1整除M;
(C6)b>2(ρ-1);(C7)(a-1)>4b+2(ρ-1);(C8)X≥ρ或(a-1)≤(M/ρ);(C9)不存在滿足((a+1)×i)modX=0的i(1≤i≤ρ-1);(C10)2ρ-1<b;(C11)2ρ-1<2b;An+1=(aAn+b)modM,0≤n≤M-2式(I) 式(II)其中λ=3,ρ=3KN-K]]>(2)根據(jù)H=[Hp|Hd]構(gòu)造校驗(yàn)矩陣H;(3)輸入信息比特序列cd={di},i=1,L,K,通過(guò)式(III)求取校驗(yàn)比特p1p1=Σj=1Kh1jddj]]>式(III)其中,h1jd=Hd(1,j),]]>dj∈cd為輸入的信息比特;(4)利用迭代算法,式(IV),求取其余校驗(yàn)比特,組成校驗(yàn)矢量cp={pi},i=1,L,N-K;pi=pi-1+Σj=1Khijddji=2,L,N-K]]>式(IV)其中,hijd=Hd(i,j),]]>dj∈cd為輸入的信息比特;(5)根據(jù)上述步驟所獲得的校驗(yàn)矢量cp={pi},以及信息矢量cd={di},得到編碼碼字c=[cd|cp]。
本發(fā)明以無(wú)線通信網(wǎng)絡(luò)為依托平臺(tái),有效地結(jié)合電子技術(shù)和計(jì)算機(jī)技術(shù),可以實(shí)現(xiàn)線性編碼復(fù)雜度的LDPC碼設(shè)計(jì)。本發(fā)明根據(jù)輸入的參數(shù)分別生成雙對(duì)角矩陣Hp以及規(guī)則矩陣Hd。由于校驗(yàn)矩陣采用了雙對(duì)角矩陣,編碼器根據(jù)輸入的信息矢量通過(guò)迭代方法生成校驗(yàn)矢量。具體而言,本發(fā)明具有以下優(yōu)點(diǎn)(1)編碼具有線性復(fù)雜度。由于采用了雙對(duì)角矩陣,可以通過(guò)迭代生成校驗(yàn)比特,而不需要進(jìn)行高斯消元,減少了編碼復(fù)雜度。
(2)節(jié)省存儲(chǔ)空間。由于是代數(shù)編碼方法,在接收端不需要存儲(chǔ)校驗(yàn)矩陣,只需要存儲(chǔ)幾個(gè)參數(shù)就可以即時(shí)生成校驗(yàn)矩陣,極大地節(jié)省了存儲(chǔ)空間。
(3)所獲得的編碼具有較好的性能。該編碼方式為準(zhǔn)規(guī)則的編碼方法,有效消除了二線循環(huán)以及四線循環(huán),具有優(yōu)異的性能。
圖1是LDPC碼在無(wú)線通信系統(tǒng)中應(yīng)用流程圖。
圖2是本發(fā)明方法的流程示意圖。
圖3是LDPC碼譯碼流程示意圖。
圖4是規(guī)則校驗(yàn)矩陣的Tanner示意圖(二分圖)。
具體實(shí)施例方式
下面結(jié)合附圖和實(shí)例對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
如圖1所示,LDPC碼在通信系統(tǒng)中的仿真流程為信號(hào)源經(jīng)過(guò)LDPC碼編碼器進(jìn)行編碼,得到的編碼碼字經(jīng)過(guò)調(diào)制器進(jìn)行調(diào)制,經(jīng)無(wú)線信道傳輸,在接收端解調(diào)得到軟解調(diào)信息,通過(guò)LDPC譯碼器進(jìn)行譯碼,恢復(fù)出信息比特。該仿真主要包括LDPC編碼器、調(diào)制器、信道仿真器、解調(diào)器、LDPC譯碼器等等。
首先給出LDPC碼的校驗(yàn)矩陣的設(shè)計(jì)方法,然后給出其迭代編碼方法。下面結(jié)合圖2對(duì)本發(fā)明作進(jìn)一步的說(shuō)明1校驗(yàn)矩陣H校驗(yàn)矩陣由兩個(gè)子矩陣構(gòu)成,H=[Hp|Hd],下面分別介紹這兩個(gè)子矩陣的構(gòu)造方法。
1.1雙對(duì)角矩陣Hp輸入?yún)?shù)N,K,其中K為信息位長(zhǎng)度,N為碼字長(zhǎng)度,生成矩陣Hp,Hp為N-K階的方陣,采用雙對(duì)角矩陣形式,如下例所示Hp=10L00011L000011L00MMLL0000L11000L011---(1)]]>1.2規(guī)則矩陣Hd輸入?yún)?shù)N,K,a,b以及A0,其中K為信息位長(zhǎng)度,N為碼字長(zhǎng)度,A0為式(2)的初值,可以取0Kλ之間的任意值,a,b為整數(shù)。
矩陣Hd可以看成一個(gè)正則的LDPC碼的校驗(yàn)矩陣,為了兼顧校驗(yàn)矩陣的稀疏性以及編碼器的性能,選取每列的重量為λ=3,則每行的重量為ρ=3KN-K.]]>將每列看成為信息節(jié)點(diǎn),每行看成為校驗(yàn)節(jié)點(diǎn),每個(gè)信息節(jié)點(diǎn)與3個(gè)校驗(yàn)節(jié)點(diǎn)相連,每個(gè)校驗(yàn)節(jié)點(diǎn)與ρ個(gè)信息節(jié)點(diǎn)相連,則校驗(yàn)矩陣可以通過(guò)圖4來(lái)描述。如圖4所示,λ=3,ρ=6。信息節(jié)點(diǎn)與校驗(yàn)節(jié)點(diǎn)共有M=3K條連接路徑,矩陣Hd可以通過(guò)一個(gè)長(zhǎng)度為M的一一映射來(lái)生成。
Hd矩陣通過(guò)線性同余序列來(lái)構(gòu)造,首先采用迭代的方法生成線性同余序列A0,A1,K Ap,K AM-1。
An+1=(aAn+b)modM,0≤n≤M-2(2)然后,根據(jù)序列A0,A1,K Ap,K AM-1通過(guò)下式生成矩陣Hd 1.3構(gòu)造Hd的約束條件信息節(jié)點(diǎn)的連接節(jié)點(diǎn)與校驗(yàn)節(jié)點(diǎn)的連接節(jié)點(diǎn)之間是一一映射的,其映射必須滿足以下條件
1、一個(gè)信息節(jié)點(diǎn)不能通過(guò)兩條路徑連接到同一個(gè)校驗(yàn)節(jié)點(diǎn)(避免二線循環(huán))。當(dāng)Aλi/ρ=Aλi+1/ρ、Aλi/ρ=Aλi+2/ρ或Aλi+1/ρ=Aλi+2/ρ時(shí),存在二線循環(huán)。
2、沒(méi)有短的循環(huán)存在,要避免四線循環(huán)(兩個(gè)信息節(jié)點(diǎn)與相同的一對(duì)校驗(yàn)節(jié)點(diǎn)相連)的存在。
對(duì)于(2)式,為了得到一一映射,A0可以取0M-1之間的任意整數(shù),a和b必需滿足以下條件C1.a<M,b<M;C2.b與M互為質(zhì)數(shù);C3.對(duì)于任意可以整除M的質(zhì)數(shù)p,a-1為其倍數(shù)。此外,如果M為4的倍數(shù),則a-1必需為4的倍數(shù);C4.a與M互為質(zhì)數(shù)。
當(dāng)滿足上面4個(gè)條件,式(2)能迭代生成0M-1之間的任一整數(shù)。
如果增加以下幾個(gè)對(duì)a,b的約束條件,可以使得Hd所對(duì)應(yīng)的二分圖無(wú)二線循環(huán)以及四線循環(huán)。
λ=3,Hd通過(guò)迭代公式An+1=(aAn+b)modM產(chǎn)生,a,b滿足條件C1C4,并且X=(M/(a-1)),如果增加條件C5.a-1整除M;C6.b>2(ρ-1);C7.(a-1)>4b+2(ρ-1);C8.X≥ρ或(a-1)≤(M/ρ);C9.不存在滿足((a+1)×i)modX=0的i(1≤i≤ρ-1);則Hd對(duì)應(yīng)的二分圖無(wú)二線循環(huán)以及四線循環(huán)。
為了在校驗(yàn)矩陣H所對(duì)應(yīng)的二分圖上無(wú)四線循環(huán),必須增加以下條件C10.2ρ-1<b;C11.2ρ-1<2b。
2迭代編碼由于雙對(duì)角矩陣的應(yīng)用,在編碼過(guò)程中不需要生成矩陣G就可以通過(guò)迭代生成校驗(yàn)比特。將H矩陣所對(duì)應(yīng)的碼矢量c分解為對(duì)應(yīng)的校驗(yàn)矢量cp和信息矢量cd,即有c=[cpcd],校驗(yàn)矩陣H與碼矢量c之間有如下關(guān)系HcT=[HpHd]cpcd=Hpcp+Hdcd=0T---(3)]]>2.1求取校驗(yàn)比特p1設(shè)輸入信息矢量cd={di},i=1,L,K,根據(jù)(3)式可以求取校驗(yàn)矢量cp={pi},i=1,L,N-K,根據(jù)方程(4)很容易求得校驗(yàn)比特p1的值p1=Σj=1Kh1jddj---(4)]]>其中h1jd=Hd(1,j),dj∈cd.]]>2.2求取其余校驗(yàn)比特利用迭代算法,根據(jù)校驗(yàn)矩陣確立的約束關(guān)系生成其余校驗(yàn)比特,從而得到編碼碼字,其余可以通過(guò)遞推可得pi=pi-1+Σj=1Khijddji=2,L,N-K---(5)]]>其中hijd=Hd(i,j),dj∈cd.]]>校驗(yàn)矢量cp和已知的信息矢量cd合并,得到編碼碼字c=[cp|cd]。
由此可知給定任意一個(gè)信息矢量cd,不必對(duì)校驗(yàn)矩陣H求逆,根據(jù)上面的方法可以迭代求得cp,編碼具有線性復(fù)雜度。
如圖3所示,在譯碼端,解調(diào)得到的軟信息與根據(jù)輸入?yún)?shù)生成的校驗(yàn)矩陣H作為已知信息送入譯碼器,經(jīng)迭代譯碼,得到傳送的信息比特。
圖4是規(guī)則LDPC碼的Tanner圖,即二分圖。通過(guò)該圖,可以直觀地介紹規(guī)則矩陣Hd的構(gòu)造方法。
為了進(jìn)一步說(shuō)明,提供本發(fā)明的一個(gè)簡(jiǎn)單實(shí)例如下。
輸入?yún)?shù)N=64,K=32,由于λ=3,則ρ=3,M=3×32=25×3,根據(jù)上面的限制條件,a-1可以分解為素因子相乘的形式,只有兩個(gè)因子2、3。
根據(jù)條件C3,a-1只能取12、24、48、96。
條件C8要求(a-1)≤32,C6要求b>4,C7要求(a-1)>4b+2(ρ-1)>20,因此(a-1)=24,所以a=25,同時(shí)取b=5,A0=0。
因此,在具體實(shí)現(xiàn)過(guò)程中,輸入?yún)?shù)為N=64,K=32,a=25,b=5,A0=0,即可得到下面的矩陣。
Hp100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000000000000000000000000001100000000
0000000000000000000000011000000000000000000000000000000011000000000000000000000000000000011000000000000000000000000000000011000000000000000000000000000000011000000000000000000000000000000011000000000000000000000000000000011000000000000000000000000000000011Hd為1000000001010000000000000000000010000100000000000000001000000000001000000000010000000000000100000000000000000000001000011000000000001000000001010000000000000000000010000100000000000000001000000000001000000000010000000000000100000000000000000000001000011000000000001000000001010000000000000000000010000100000000000000001000010000001000000000010000000000100000000000000000000000001000010000000000001000000001010000000000100000000010000100000000000000000000010000001000000000010000000001100000000000000000000000001000000000000000001000000001010000000000100000000010000100000000000000000000010000001000000000010000100001100000000000000000000000
000000000000000000001000000001010000000000100000000010000100000001000000000000010000001000000000000000100001100000000000000000000101000000000000000000001000000000000000000000100000000010000100000001000000000000010000001000000000000000100001100000000000000000000101000000000000000000001000010000000000000000100000000010000000000001000000000000010000001000000000000000100001100000000000編碼實(shí)現(xiàn)過(guò)程如下假設(shè)輸入信息比特序列為01010101010101010101010101010101,根據(jù)(4)式,可求得p1=Σj=1Kh1jddj=0,]]>剩下的校驗(yàn)比特可以通過(guò)(5)式遞推可得1100110011001100110011001100110,因此編碼得到的校驗(yàn)序列為01100110011001100110011001100110,編碼碼字為0101010101010101010101010101010101100110011001100110011001100110。
編碼碼字經(jīng)調(diào)制后通過(guò)信道進(jìn)行傳輸,在譯碼端,根據(jù)輸入?yún)?shù)N,K,a,b以及A0,可以還原上面的校驗(yàn)矩陣H。將矩陣H以及解調(diào)得到的軟信息傳輸給譯碼器,經(jīng)過(guò)迭代譯碼可以得到信息序列。
采用本發(fā)明方法設(shè)計(jì)的編碼器具有確定的編碼結(jié)構(gòu),在譯碼端只需要幾個(gè)參數(shù)就可以恢復(fù)出校驗(yàn)矩陣,極大地節(jié)省了存儲(chǔ)空間,為L(zhǎng)DPC碼的實(shí)用邁出了堅(jiān)實(shí)的一步。
權(quán)利要求
1.一種結(jié)構(gòu)化的LDPC編碼方法,其步驟為(1)分別構(gòu)造雙對(duì)角矩陣Hp和矩陣Hd;根據(jù)輸入?yún)?shù)N和K,其中K為信息位長(zhǎng)度,N為碼字長(zhǎng)度,采用雙對(duì)角矩陣形式生成N-K階的方陣,作為矩陣Hp;選取參數(shù)a,b,a,b為整數(shù),且滿足條件(C1)-(C11),根據(jù)式(I)生成線性同余序列A0,A1,K Ap,K AM-1,再根據(jù)式(II)生成矩陣Hd;(C1)a<M,b<M,其中M=3K;(C2)b與M互為質(zhì)數(shù);(C3)對(duì)于任意可以整除M的質(zhì)數(shù)p,a-1為其倍數(shù);(C4)a與M互為質(zhì)數(shù);(C5)a-1整除M;(C6)b>2(ρ-1);(C7)(a-1)>4b+2(ρ-1);(C8)X≥ρ或(a-1)≤(M/ρ);(C9)不存在滿足((a+1)×i)modX=0的i,其中1≤i≤ρ-1;(C10)2ρ-1<b;(C11)2ρ-1<2b;An+1=(aAn+b)mod M,0≤n≤M-2式(I) 式(II)其中λ=3,ρ=3KN-K]]>(2)根據(jù)H=[Hp|Hd]構(gòu)造校驗(yàn)矩陣H;(3)輸入信息比特序列cd={di},i=1,L,K,通過(guò)式(III)求取校驗(yàn)比特p1p1=Σj=1Kh1jddj]]>式(III)其中,h1jd=Hd(1,j),]]>dj∈cd為輸入的信息比特;(4)利用迭代算法式(IV),求取其余校驗(yàn)比特,組成校驗(yàn)矢量cp={pi},i=1,L,N-K;pi=pi-1+Σj=1Khijddj,i=2,L,N-K]]>式(IV)其中,hijd=Hd(i,j),]]>dj∈cd為輸入的信息比特;(5)根據(jù)上述步驟所獲得的校驗(yàn)矢量cp={pi},以及信息矢量cd={di},得到編碼碼字c=[cd|cp]。
全文摘要
本發(fā)明公開(kāi)了一種結(jié)構(gòu)化的LDPC編碼方法,其步驟為輸入?yún)?shù)N,K,生成矩陣H
文檔編號(hào)H03M13/19GK1859012SQ20061001916
公開(kāi)日2006年11月8日 申請(qǐng)日期2006年5月26日 優(yōu)先權(quán)日2006年5月26日
發(fā)明者劉文明, 朱光喜, 鄧勇強(qiáng), 王玲 申請(qǐng)人:華中科技大學(xué)