Qc-ldpc碼的編碼方法及編碼裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信技術(shù)領(lǐng)域,更具體地說,涉及QC-LDPC碼的編碼方法及編碼裝置。
【背景技術(shù)】
[0002] 準(zhǔn)循環(huán)低密度奇偶校驗(yàn)碼(QC-LDPC)碼的生成矩陣G(矩陣G的大小為kl Xnl) 可表不為:
[0004] 其中,I和0分別是1階的單位矩陣和零矩陣(1為正整數(shù)),W11,是1階循環(huán)子矩 陣(1彡i彡k,1彡j彡m),k = n-m。Wiij中的元素取值可為1或0。
[0005] 在對(duì)信息向量進(jìn)行QC-LDPC編碼后,得到的碼字向量c可表示為c = [m|p]。其 中,m為信息向量,p為校驗(yàn)向量。m可等分為k個(gè)信息段,每個(gè)信息段長Ibit (比特),即m =[111(1)111(2)"*11100]。?可等分為1]1個(gè)校驗(yàn)段,每個(gè)校驗(yàn)段長113;[1:,即?=|^(1)口(2) …p(m)]〇
[0006] 碼字向量c可由下式得到:
[0008] 也即,得到的碼字向量中,前kXl比特是信息向量,后mXl比特是校驗(yàn)向量。并 且,由上述公式可知,校驗(yàn)向量P可表示為:
[0011] 在上述編碼過程中包含了大量的信息段與循環(huán)子矩陣的相乘運(yùn)算,計(jì)算量很大。
【發(fā)明內(nèi)容】
[0012] 有鑒于此,本發(fā)明實(shí)施例的目的在于提供循環(huán)右移和相加運(yùn)算來實(shí)現(xiàn)相乘的 QC-LDPC碼的編碼方法及編碼裝置,以有效減少計(jì)算量。
[0013] 為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供如下技術(shù)方案:
[0014] 根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種QC-LDPC碼的編碼方法,用于對(duì)信息向 量進(jìn)行編碼,得到碼字向量,所述碼字向量包含所述信息向量和校驗(yàn)向量;所述信息向量等 分為k個(gè)信息段;所述信息向量中的第i個(gè)信息段表示為m(i) ;1 < i < k ;所述校驗(yàn)向量 等分為m個(gè)校驗(yàn)段;所述校驗(yàn)向量中的第j個(gè)校驗(yàn)段表示為p (j),l < j ;所述p (j)中 m (DWiij的編碼過程包括:
[0015] 接收輸入的所述m(i),所述Wli j為與所述m(i)對(duì)應(yīng)的循環(huán)子矩陣;
[0016] 依據(jù)所述W1, ,對(duì)應(yīng)的行移位向量,對(duì)所述m(i)分別進(jìn)行X1,,次循環(huán)右移,每一次循 環(huán)右移對(duì)應(yīng)一個(gè)循環(huán)右移結(jié)果;所述W li,對(duì)應(yīng)的行移位向量表示為Kli 所述Kli,包含所述 Wu的第一行行向量中、取值為1的元素的位置索引;所述Xu為所述Ki^包含的位置索引 的數(shù)目;
[0017] 對(duì)所述Xli,個(gè)循環(huán)右移結(jié)果的進(jìn)行累加,所述Xli,個(gè)循環(huán)右移結(jié)果的累加結(jié)果為 所述mQ)^ ;
[0018] 其中,所述Xli j次循環(huán)右移中的第a次循環(huán)右移包括:
[0019] 將所述m(i)循環(huán)右移M立,所述1C'1為所述Ku中第a個(gè)位置索引; I =? a ^ Xij j〇
[0020] 結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,所述Wli j對(duì)應(yīng)的行移位向量記錄在移 位表中,或者,所述Wi^對(duì)應(yīng)的行移位向量由記錄在移位表中的、所述W i^對(duì)應(yīng)的行零位向 量計(jì)算得到;所述W1^對(duì)應(yīng)的行零位向量包含所述Wu的第一行行向量中、取值為0的元素 的位置索引,或者,所述W li,對(duì)應(yīng)的行移位向量由記錄在移位表中的、所述Wli,對(duì)應(yīng)的列移 位向量計(jì)算得到,所述W li,對(duì)應(yīng)的列移位向量包含所述Wli,的第一列列向量中、取值為1的 元素的位置索引,或者,所述Wu對(duì)應(yīng)的行移位向量可由所述移位表中的、所述Wu對(duì)應(yīng)的 列零位向量計(jì)算得到,所述W 11,對(duì)應(yīng)的列零位向量包含所述W11,的第一列列向量中、取值為 0的元素的位置索引。
[0021] 結(jié)合第一方面第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述Wli j對(duì)應(yīng) 的列移位向量表示為Jii所述Ki^可通過如下公式計(jì)算得出:Ki^ = (I-Umodl,所述1為 Wli j行向量或列向量的長度。
[0022] 根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種QC-LDPC碼的編碼器,用于對(duì)信息向量 進(jìn)行編碼,得到碼字向量,所述碼字向量包含所述信息向量和校驗(yàn)向量;所述信息向量等分 為k個(gè)信息段;所述信息向量中的第i個(gè)信息段表示為m(i) ;1 < i < k ;所述校驗(yàn)向量等 分為m個(gè)校驗(yàn)段;所述校驗(yàn)向量中的第j個(gè)校驗(yàn)段表示為p(j),I < j < m ;
[0023] 所述編碼器包括:
[0024] m個(gè)校驗(yàn)段編碼單元,其中,第j個(gè)校驗(yàn)段編碼單元用于對(duì)信息向量進(jìn)行編碼,得 到所述P(j);
[0025] 所述第j個(gè)校驗(yàn)段編碼單元包括輸入模塊、循環(huán)右移模塊和累加模塊,在對(duì)所述 P(j)中πια)%」的編碼過程中:
[0026] 所述輸入模塊用于,接收輸入的所述m(i),所述為與所述m(i)對(duì)應(yīng)的循環(huán)子 矩陣;
[0027] 所述循環(huán)右移模塊用于,依據(jù)所述W1,,對(duì)應(yīng)的行移位向量,對(duì)所述m(i)分別進(jìn)行 X^j次循環(huán)右移,每一次循環(huán)右移對(duì)應(yīng)一個(gè)循環(huán)右移結(jié)果;所述Wu對(duì)應(yīng)的行移位向量表TK 為Ki^ ;所述Ki^包含所述Wu的第一行行向量中、取值為1的元素的位置索弓丨;所述Xu為 所述ku包含的位置索引的數(shù)目;
[0028] 所述累加模塊用于,對(duì)所述 ' ,個(gè)循環(huán)右移結(jié)果的進(jìn)行累加,所述Xli,個(gè)循環(huán)右移 結(jié)果的累加結(jié)果為所述m(i)Wli ];
[0029] 其中,所述Xli j次循環(huán)右移中的第a次循環(huán)右移包括:
[0030] 將所述m(i)循環(huán)右移1〇 M立,所述1C'1為所述Kli,中第a個(gè)位置索引; I =? a ^ Xij j〇
[0031] 結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,還包括:移位表存儲(chǔ)單兀,用于存儲(chǔ) 移位表;所述W i^對(duì)應(yīng)的行移位向量記錄在所述移位表中,或者,所述Wi^對(duì)應(yīng)的行移位向 量由所述移位表中的、所述I,對(duì)應(yīng)的行零位向量計(jì)算得到;所述W 1^對(duì)應(yīng)的行零位向量包 含所述Wli,的第一行行向量中、取值為0的元素的位置索引,或者,所述W li,對(duì)應(yīng)的行移位向 量由所述移位表中的、所述W1^對(duì)應(yīng)的列移位向量計(jì)算得到,所述W 1^對(duì)應(yīng)的列移位向量包 含所述Wu的第一列列向量中、取值為1的元素的位置索引,或者,所述Wu對(duì)應(yīng)的行移位向 量可由所述移位表中的、所述W ii 對(duì)應(yīng)的列零位向量計(jì)算得到,所述Wii 對(duì)應(yīng)的列零位向量 包含所述Wu的第一列列向量中、取值為0的元素的位置索引。
[0032] 根據(jù)本發(fā)明實(shí)施例的第三方面,提供一種QC-LDPC碼的編碼器,用于對(duì)信息向量 進(jìn)行編碼,得到碼字向量,所述碼字向量包含所述信息向量和校驗(yàn)向量;所述信息向量等分 為k個(gè)信息段;所述信息向量中的第i個(gè)信息段表示為m(i) ;1 < i < k ;所述校驗(yàn)向量等 分為m個(gè)校驗(yàn)段;所述校驗(yàn)向量中的第j個(gè)校驗(yàn)段表示為p(j),I < j < m ;
[0033] 所述編碼器包括:
[0034] k個(gè)串行連接的信息向量寄存器;
[0035] m個(gè)校驗(yàn)段編碼電路,所述m個(gè)校驗(yàn)段編碼電路中的第j個(gè)校驗(yàn)段編碼電路用于對(duì) 信息向量進(jìn)行編碼,得到所述P(j);
[0036] 任一校驗(yàn)段編碼電路包括依次連接的循環(huán)右移寄存器、加法器和校驗(yàn)段寄存器; 所述循環(huán)右移寄存器還與所述k個(gè)信息向量寄存器中的第1個(gè)信息向量寄存器相連接;
[0037] 至少分別與所述k個(gè)信息向量寄存器和循環(huán)右移寄存器相連接的控制器;
[0038] 所述第j個(gè)校驗(yàn)段編碼電路中的第1個(gè)信息向量寄存器用于,響應(yīng)于所述控制器 的控制,向第2個(gè)信息向量寄存器輸出所存儲(chǔ)的數(shù)據(jù),以及存儲(chǔ)輸入的m(i);所述m(i)為 信息向量中的第i個(gè)信息段,所述信息向量等分為k個(gè)信息段;所述i初始為1,并在所述 控制器的控制下逐1累加,直至i = k ;
[0039] 所述第j個(gè)校驗(yàn)段編碼電路中的第Q個(gè)信息向量寄存器用于,響應(yīng)于所述控制器 的控制,向第Q+1個(gè)信息向量寄存器輸出所存儲(chǔ)的數(shù)據(jù),以及存儲(chǔ)第Q-I個(gè)信息向量寄存器 輸入的數(shù)據(jù);2彡Q彡k-Ι ;
[0040] 所述第j個(gè)校驗(yàn)段編碼電路中的循環(huán)右移寄存器用于,響應(yīng)于所述控制器的控 制,將所述m(i)循環(huán)右移IC'M立,并輸出所述m(i)循環(huán)右移IC'M立得到的循環(huán)右移結(jié)果; 所述1C' ]為Kli,中的第a個(gè)位置索引;所述Kli,為Wli,對(duì)應(yīng)的行移位向量,所述K li,包含所 述W1^的第一行行向量中、取值為1的元素的位置索引;所述Wu為在生成p(j)的編碼過 程中與所述m(i)對(duì)應(yīng)的循環(huán)子矩陣;所述ku包含的位置索引的數(shù)目為\ 所述a初始 為1,并在所述控制器的控制下逐1累加,直至a = ' 所述m(i)循環(huán)右移IO M立得到的 循環(huán)右移結(jié)果表示為mi,上標(biāo)r表示循環(huán)右移;
[0041] 所述第j個(gè)校驗(yàn)段編碼電路中的加法器用于,將所述循環(huán)右移寄存器輸出的 與所述j個(gè)校驗(yàn)段編碼電路中的校驗(yàn)段寄存器中存儲(chǔ)的數(shù)據(jù)相加,并將相加結(jié) 果存回所述校驗(yàn)段寄存器;在將相加結(jié)果存回所述校驗(yàn)段寄存器后,所述校驗(yàn)段寄存器中 存儲(chǔ)的數(shù)據(jù)為
[0042] 根據(jù)本發(fā)明實(shí)施例的第四方面,提供一種QC-LDPC碼的編碼器,用于對(duì)信息向量 進(jìn)行編碼,得到碼字向量,所述碼字向量包含所述信息向量和校驗(yàn)向量;所述信息向量等分 為k個(gè)信息段;所述信息向量中的第i個(gè)信息段表示為m(i) ;1 < i < k ;所述校驗(yàn)向量等 分為m個(gè)校驗(yàn)段;所述校驗(yàn)向量中的第j個(gè)校驗(yàn)段表示為p(j),I < j < m ;
[0043] 所述編碼器包括:
[0044] k個(gè)串行連接的信息向量寄存器;
[0045] m個(gè)校驗(yàn)段編碼電路,所述m個(gè)校驗(yàn)段編碼電路中的第j個(gè)校驗(yàn)段編碼電路用于對(duì) 信息向量進(jìn)行編碼,得到所述P(j);
[0046] 任一校驗(yàn)段編碼電路包括依次連接的循環(huán)右移寄存器、加法器和校驗(yàn)段寄存器; 所述循環(huán)右移寄存器還與所述k個(gè)信息向量寄存器中的第1個(gè)信息向量寄存器相連接;
[0047] 至少分別與所述k個(gè)信息向量寄存器和校驗(yàn)段編碼電路中各器件相連接的控制 器;
[0048] 所述控制器配合協(xié)調(diào)所述k個(gè)信息向量寄存器和校驗(yàn)段編碼電路中各器件完成 如下操作:
[0049] 接收輸入的所述m(i),所述Wli j為與所述m(i)對(duì)應(yīng)的循環(huán)子矩陣;
[0050] 依據(jù)所述W1,,對(duì)應(yīng)的行移位向量,對(duì)所述m (i)分別進(jìn)行X1,,次循環(huán)右移,每一次循 環(huán)右移對(duì)應(yīng)一個(gè)循環(huán)右移結(jié)果;所述W11,對(duì)應(yīng)的行移位向量表示為K 11 所述K11,包含所述 Wu的第一行行向量中、取值為1的元素的位置索引;所述Xu為所述Ki^包含的位置索引 的數(shù)目;
[0051] 對(duì)所述 ' ,個(gè)循環(huán)右移結(jié)果的進(jìn)行累加,所述\ ,個(gè)循環(huán)右移結(jié)果的累加結(jié)果為 所述mQ)^ ;
[0052] 其中,所述Xli j次循環(huán)右移中的第a次循環(huán)右移包括:
[0053] 將所述m(i)循環(huán)右移M立,所述V'1為所述Ku中第a個(gè)位置索引; I =? a ^ Xij j〇
[0054] 根據(jù)本發(fā)明實(shí)施例的第五方面,提供一種QC-LDPC碼的編碼方法,用于對(duì)信息向 量進(jìn)行編碼,得到碼字向量,所述碼字向量包含所述信息向量和校驗(yàn)向量;所述信息向量等 分為k個(gè)信息段,每一信息段長度為I ;所述信息向量中的第i個(gè)信息段表示為m(i);所述 信息向量中的第i-Ι個(gè)信息段表示為m(i-l) ;1 < i < k ;所述校驗(yàn)向量等分為m個(gè)校驗(yàn)段; 所述校驗(yàn)向量中的第j個(gè)校驗(yàn)段表示為P (j),I < j < m ;所述p (j)的編碼過程包括:
[0055] 接收輸入的所述m(i),所述m(i)對(duì)應(yīng)的循環(huán)子矩陣表示為Wli j ;
[0056] 依據(jù)差分移位向量中所述W1, ,對(duì)應(yīng)的差分移位子向量,對(duì)所述m(i)進(jìn)行X1,,次累 加循環(huán)右移操作;
[0057] 所述差分移位向量包含循環(huán)子矩陣Wu ]至\ ,對(duì)應(yīng)的差分移位子向量,其中的Wu 對(duì)應(yīng)的差分移位子向量表示為fu,所述Xu為所述所包含的差分移位元素的總數(shù);所 述4 i中的第b個(gè)差分移位元素表示為; I < b < Xli j ;
[0058] 所述Xli j次累加循環(huán)右移操作中的第b次累加循環(huán)右移操作包括:
[0059] 將所述m(i)與上一次累加循環(huán)右移操作的操作結(jié)果相加,得到相加結(jié)果;
[0060] 對(duì)所述相加結(jié)果循環(huán)右移/;,位,得到循環(huán)右移結(jié)果,所述循環(huán)右移結(jié)果為本次累 加循環(huán)右移操作的操作結(jié)果;
[0061] 其中,當(dāng)b = 1并且i = 1時(shí),所述上一次累加循環(huán)右移操作的操作結(jié)果為0 ;當(dāng) b = 1并且i古1時(shí),所述上一次累加循環(huán)右移操作的操作結(jié)果為對(duì)所述m(i-l)進(jìn)行的最 后一次累加循環(huán)右移操作的操作結(jié)果。
[0062] 結(jié)合第五方面,在第一種可能的實(shí)現(xiàn)方式中,所述差分移位向量表示為& ;所述& 包含的差分移位元素的數(shù)目為y ;所述f,由行移位總向量計(jì)算得到;所述行移位總向量包 含循環(huán)子矩陣Wli j至\,對(duì)應(yīng)的行移位向量,其中,Wli j對(duì)應(yīng)的行移位向量包含所述Wlij的 第一行行向量中、取值為1的元素的位置索引;所述I,對(duì)應(yīng)的行移位向量包含的位置索引 的數(shù)目為X iij。
[0063] 結(jié)合第五方面第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述 f,的第e個(gè)差分移位元素表示為廣;1彡e彡y ;所述行移位總向量中的第e個(gè)移 位元素表示為,第e+Ι個(gè)移位元素表示為所述f,通過如下公式計(jì)算得到:
所述fI中的、/;丨;至/;》'分別對(duì)應(yīng)所述f,中的/y
[0064] 根據(jù)本發(fā)明實(shí)施例的第六方面,提供一種QC-LDPC碼的編碼器,用于對(duì)信息向量 進(jìn)行編碼,得到碼字向量,所述碼字向量包含所述信息向量和校驗(yàn)向量;所述信息向量等分 為k個(gè)信息段;所述信息向量中的第i個(gè)信息段表示為m(i);所述信息向量中的第i-Ι個(gè) 信息段表示為m(i-l) ;1 < i < k ;所述校驗(yàn)向量等分為m個(gè)校驗(yàn)段;所述校驗(yàn)向量中的第 j個(gè)校驗(yàn)段表示為P (j),1 < j < m ;
[0065] 所述編碼器包括:
[0066] m個(gè)校驗(yàn)段編碼單元,其中,第j個(gè)校驗(yàn)段編碼單元用于對(duì)信息向量進(jìn)行編碼,得 到所述P(j);
[0067] 所述第j個(gè)校驗(yàn)段編碼單元包括輸入子單元和累加右移子單元;
[0068] 所述輸入子單元用于,接收輸入的所述m(i),所述m(i)對(duì)應(yīng)的循環(huán)子矩陣表示為 W,.,;
[0069] 所述累加右移子單元用于,依據(jù)差分移位向量中所述W1, ,對(duì)應(yīng)的差分移位子向 量,對(duì)所述m(i)進(jìn)行\(zhòng) ,次累加循環(huán)右移操作;所述差分移位向量包含循環(huán)子矩陣W1^ 至Wkij對(duì)應(yīng)的差分移位子向量,其中的Wii」對(duì)應(yīng)的差分移位子向量表TK為4」,所述X ii」為 所述所包含的差分移位元素的總數(shù);所述中的第b個(gè)差分移位元素表示為.$ ; I :? b ^ Xi j ;
[0070] 其中,所述Xli j次累加循環(huán)右移操作中的第b次累加循環(huán)右移操作包括:
[0071] 將所述m(i)與上一次累加循環(huán)右移操作的操作結(jié)果相加,得到相加結(jié)果;
[0072] 對(duì)所述相加結(jié)果循環(huán)右移位,得到循環(huán)右移結(jié)果,所述循環(huán)右移結(jié)果為本次累 加循環(huán)右移操作的操作結(jié)果;
[0073] 其中,當(dāng)b = 1并且i = 1時(shí),所述上一次累加循環(huán)右移操作的操作結(jié)果為0 ;當(dāng) b = 1并且i古1時(shí),所述上一次累加循環(huán)右移操作的操作結(jié)果為對(duì)所述m(i-l)進(jìn)行的最 后一次累加循環(huán)右移操作的操作結(jié)果。
[0074] 根據(jù)本發(fā)明實(shí)施例的第七方面,提供一種QC-LDPC碼的編碼器,用于對(duì)信息向量 進(jìn)行編碼,得到碼字向量,所述碼字向量包含所述信息向量和校驗(yàn)向量;所述信息向量等分 為k個(gè)信息段;所述信息向量中的第i個(gè)信息段表示為m(i) ;1 < i < k ;所述校驗(yàn)向量等 分為m個(gè)校驗(yàn)段;所述校驗(yàn)向量中的第j個(gè)校驗(yàn)段表示為p (j);
[0075] 所述編碼器包括:
[0076] k個(gè)串行連接的信息向量寄存器;
[0077] m個(gè)校驗(yàn)段編碼電路,所述m個(gè)校驗(yàn)段編碼電路中的第j個(gè)校驗(yàn)段編碼電路用于對(duì) 信息向量進(jìn)行編碼,得到所述P(j);
[0078] 任一校驗(yàn)段編碼電路包括依次連接的加法器和循環(huán)右移校驗(yàn)段寄存器;所述加法 器還與所述k個(gè)信息向量寄存器中的第1個(gè)信息向量寄存器相連接;
[0079] 分