,如果s(i2,j2)乒O且S(Lj1)乒0,則跳至步驟4;否貝IJ,繼續(xù)步驟3,直到i2>m時跳至步驟2 ;
[0042]步驟4:如果滿足 s(i2,j2)_s(i2,D+sd jj-sd D = 0 (mod P),則長度為 4的環(huán)個數(shù)增I ;否則跳至步驟3。
[0043](3)選擇一個含長度為4最少的實體矩陣直接遺傳至下一代,并復(fù)制該實體一次。將長度為4的含環(huán)數(shù)最多的實體直接淘汰,保持種群規(guī)模不變。
[0044](4)對其余實體,隨機選取一對實體\和s b,進行單點交叉,產(chǎn)生兩個新的實體Sx和sy。所用的交叉方式主要分為行向量單點交叉和列向量單點交叉兩種。
[0045]I)行向量單點交叉
[0046]將基礎(chǔ)矩陣sa和Sb表示為
[0047]Sa= [r a(0)ra(l)--Ta (m-l)]T,
[0048]Sb= [r b(0)rb(l)--Tb (m-l)]T
[0049]式中,匕⑴和rb(i)是長度為η的行向量。矩陣M5P s b的行向量表示形式為
[0050]A = (ra(0),…,ra(m_l)) = (a0,…,ak !,ak,..., amn ^ ,
[0051]B = (rb (0),…,rb(m_l)) = (b0,...,bkl,bk,...,bmnl)0
[0052]矩陣A和B單點交叉后產(chǎn)生的新實體為X = a。,^bk,…,bmn = b。,…,
bk I,ak,…,amn I。
[0053]式中,X、Y即為矩陣sx、Sy的行向量表示形式。
[0054]2)列向量單點交叉
[0055]將基礎(chǔ)矩陣sa和sb表不為
[0056]Sa= [c a(0)— ca(k_l)ca(k)— ca(n_l)],
[0057]Sb= [c b(0)…cb(k_l)cb(k)…cb(n_l)]。
[0058]式中,ca (i)和cji)是長度為m的列向量。矩陣M5Ps ,列向量單點交叉后產(chǎn)生的新實體為
[0059]Sx= [c a (O)…ca (k-1) cb (k)…cb (η-1) ],Sy= [c b (O)…cb (k_l) ca (k)…ca (η-1)]。
[0060]行向量交叉會產(chǎn)生重量為O或I的列向量,導(dǎo)致誤碼率的增加。因此,本發(fā)明優(yōu)選地采用列向量單點交叉方式,交叉概率設(shè)為0.9。
[0061](5)對種群中的所有候選實體,隨機變異矩陣中某一長度為4的環(huán)上的任意元素,即將該元素變?yōu)殡S機生成的某個數(shù),變異概率設(shè)為0.1。
[0062]對于消除長度為6的環(huán)的方法,將最終產(chǎn)生的種群作為當(dāng)前候選的初始種群。消除長度為6的環(huán)的方法與消除長度為4的環(huán)的方法基本相同,不同點在于:一是交叉操作可能會產(chǎn)生新的長度為4的環(huán),所以交叉操作被禁止;二是變異操作更改為:對所有候選實體,隨機刪除矩陣中某一長度為6的環(huán)上的元素,即將非零元素變?yōu)椤癘”。為了減小低重量碼字對性能的影響,選擇重量較大列的非零元素進行刪除操作。
[0063]綜上所述,本發(fā)明提出了一種LDPC碼編碼方法,構(gòu)造出具有類循環(huán)結(jié)構(gòu)的LDPC碼,并且易于編譯碼復(fù)雜度更低,小容量存儲和硬件實現(xiàn)。
[0064]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該理解,上述的本發(fā)明的各模塊或各步驟可以用通用的計算系統(tǒng)來實現(xiàn),它們可以集中在單個的計算系統(tǒng)上,或者分布在多個計算系統(tǒng)所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算系統(tǒng)可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲系統(tǒng)中由計算系統(tǒng)來執(zhí)行。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0065]應(yīng)當(dāng)理解的是,本發(fā)明的上述【具體實施方式】僅僅用于示例性說明或解釋本發(fā)明的原理,而不構(gòu)成對本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。
【主權(quán)項】
1.一種低復(fù)雜度LDPC碼編碼方法,其特征在于,包括: 首先迭代消除基礎(chǔ)矩陣中的長度小于閾值的環(huán),得到所需要的基礎(chǔ)矩陣;然后使用循環(huán)置換矩陣對基礎(chǔ)矩陣擴展,得到具有類循環(huán)結(jié)構(gòu)的LDPC碼。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述消除基礎(chǔ)矩陣中的長度小于閾值的環(huán)之前,該方法還包括: 可以用以下方法檢測基礎(chǔ)矩陣是否存在短環(huán): 對于一個mXn的基礎(chǔ)矩陣,若Xs2k-S2kl=O mod P則存在短環(huán)其中,s 2k和s 2k:為基礎(chǔ)矩陣中的短環(huán)上兩個相鄰位置元素,P為循環(huán)置換矩陣的階數(shù)。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述消除基礎(chǔ)矩陣中的長度小于閾值的環(huán),進一步包括消除基礎(chǔ)矩陣中的長度為4的環(huán),得到長度為6的基礎(chǔ)矩陣: (1)候選實體初始化,隨機產(chǎn)生N個實體,每個實體為一個mXη的候選實體矩陣,表示為S1,組成初始種群; (2)計算候選實體矩陣中長度為4的環(huán)的數(shù)目,如果種群中實體不存在長度為4的環(huán),則結(jié)束迭代;否則,繼續(xù)下一步操作; 對于某一個候選實體s,即mXn的矩陣,其長度為4的環(huán)搜索算法如下: 步驟1:在矩陣s中的第h行,1:= 1,2,…,m,對于第j:列,j:= 1,2,…,n,如果s(ii,J1) ^ 0,則跳至步驟2 ;否則,繼續(xù)步驟1,直到j(luò)An時跳到第iAm時結(jié)束; 步驟2:對于第j2列,j Aj1如果s (i i,J1) #0,則跳至步驟3;否則,繼續(xù)步驟2,直到j(luò)2>n時跳至步驟I ; 步驟3:對于第i2行,i Ai1,如果s(i2,j2)乒O且s(i2,J1)幸0,則跳至步驟4 ;否則,繼續(xù)步驟3,直到i2>m時跳至步驟2 ; 步驟 4:如果滿足 s(i2,j2)_s(i2,jD+sQp j2)-s(i1, ji) = 0(mod P),則長度為 4 的環(huán)個數(shù)增I ;否則跳至步驟3 ; (3)選擇一個含長度為4最少的實體矩陣直接遺傳至下一代,并復(fù)制該實體一次,將長度為4的含環(huán)數(shù)最多的實體直接淘汰,保持種群規(guī)模不變; (4)對其余實體,隨機選取一對實體\和sb,進行列向量單點交叉,產(chǎn)生兩個新的實體Sx和s y即, 將基礎(chǔ)矩陣\和S b表示為Sa= [c a (O)…ca (k-1) ca (k)…ca (η-1)], Sb= [c b (O)...cb (k-1) cb (k)...cb (n-1)]; 式中,ca⑴和cb⑴是長度為m的列向量,矩陣M5Ps ,列向量單點交叉后產(chǎn)生的新實體為Sx= [c a (O)…ca (k-1) cb (k)…cb (n-1)],Sy= [c b (O)…cb (k_l) ca(k)…ca (n_l)]; (5)對種群中的所有候選實體,隨機變異矩陣中某一長度為4的環(huán)上的任意元素,即將該元素變?yōu)殡S機生成的某個數(shù),變異概率設(shè)為0.104.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述消除基礎(chǔ)矩陣中的長度為4的環(huán),得到長度為6的基礎(chǔ)矩陣之后,該方法還包括: 消除基礎(chǔ)矩陣中的長度為6的環(huán),得到長度為8的基礎(chǔ)矩陣。
【專利摘要】本發(fā)明提供了一種低復(fù)雜度LDPC碼編碼方法,該方法包括:首先迭代消除基礎(chǔ)矩陣中的長度小于閾值的環(huán),得到所需要的基礎(chǔ)矩陣;然后使用循環(huán)置換矩陣對基礎(chǔ)矩陣擴展,得到具有類循環(huán)結(jié)構(gòu)的LDPC碼。本發(fā)明提出了一種LDPC碼編碼方法,構(gòu)造出具有類循環(huán)結(jié)構(gòu)的LDPC碼,并且易于編譯碼復(fù)雜度更低,小容量存儲和硬件實現(xiàn)。
【IPC分類】H03M13/11
【公開號】CN105071818
【申請?zhí)枴緾N201510546506
【發(fā)明人】陳元春, 江德智, 王紅艷
【申請人】四川特倫特科技股份有限公司
【公開日】2015年11月18日
【申請日】2015年8月31日