CN106452459A - 二级全并行输入循环左移的ldpc编码器 - Google Patents
二级全并行输入循环左移的ldpc编码器 Download PDFInfo
- Publication number
- CN106452459A CN106452459A CN201610961277.XA CN201610961277A CN106452459A CN 106452459 A CN106452459 A CN 106452459A CN 201610961277 A CN201610961277 A CN 201610961277A CN 106452459 A CN106452459 A CN 106452459A
- Authority
- CN
- China
- Prior art keywords
- matrix
- vector
- multiplier
- section
- position binary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明提供了一种基于二级流水线的QC‑LDPC编码器,该编码器包括1个稀疏矩阵与向量的乘法器和1个向量与高密度矩阵的乘法器。稀疏矩阵与向量的乘法器实现稀疏矩阵与向量的乘法运算,向量与高密度矩阵的乘法器采用全并行输入循环左移机制,实现向量与高密度矩阵的乘法运算。整个编码过程划分为2级流水线。本发明提供的QC‑LDPC编码器具有工作频率高、吞吐量大等优点。
Description
技术领域
本发明涉及信道编码领域,特别涉及一种通信系统中二级全并行输入循环左移的QC-LDPC编码器。
背景技术
低密度奇偶校验(Low-Density Parity-Check,LDPC)码是高效的信道编码技术之一,而准循环LDPC(Quasi-Cyclic LDPC,QC-LDPC)码是一种特殊的LDPC码。QC-LDPC码的生成矩阵G和校验矩阵H都是由循环矩阵构成的阵列,具有分段循环的特点,故被称为QC-LDPC码。循环矩阵的首行是末行循环右移1位的结果,其余各行都是其上一行循环右移1位的结果,因此,循环矩阵完全由其首行来表征。通常,循环矩阵的首行被称为它的生成多项式。
通信系统通常采用系统形式的QC-LDPC码,其生成矩阵G的左半部分是一个单位矩阵,右半部分是由e×c个b×b阶循环矩阵Gi,j(1≤i≤e,e<j≤t,t=e+c)构成的阵列,如下所示:
其中,I是b×b阶单位矩阵,0是b×b阶全零矩阵。G的连续b行和b列分别被称为块行和块列。由式(1)可知,G有e块行和t块列。信息向量a=(a1,a2,…,ae×b)。
通信系统中全并行输入的QC-LDPC编码器的现有解决方案如图1所示,该方案的主要缺点是模2加法器有e×b个输入端,加法运算的延时长,会造成编码器的工作频率低、吞吐量小。
发明内容
通信系统中QC-LDPC编码器的现有实现方案存在工作频率低、吞吐量小的缺点,针对这些技术问题,本发明提供了一种基于二级流水线的QC-LDPC编码器。
如图2所示,通信系统中基于二级流水线的QC-LDPC编码器主要由2部分组成:稀疏矩阵与向量的乘法器和向量与高密度矩阵的乘法器。编码过程分2步完成:第1步,使用稀疏矩阵与向量的乘法器计算向量s;第2步,使用向量与高密度矩阵的乘法器计算校验向量p。
关于本发明的优势与方法可通过下面的发明详述及附图得到进一步的了解。
附图说明
图1是现有的全并行输入QC-LDPC编码器;
图2是基于二级流水线的QC-LDPC编码过程;
图3是稀疏矩阵与向量的乘法器;
图4是一种基于全并行输入循环左移的向量与高密度矩阵乘法器。
具体实施方式
下面结合附图对本发明的较佳实施例作详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围作出更为清楚明确的界定。
循环矩阵的行重和列重相同,记作w。如果w=0,那么该循环矩阵是全零矩阵。如果w=1,那么该循环矩阵是可置换的,称为置换矩阵,它可通过对单位矩阵I循环右移若干位得到。QC-LDPC码的校验矩阵H是由c×t个b×b阶循环矩阵Hj,k(1≤j≤c,1≤k≤t,t=e+c)构成的如下阵列:
通常情况下,校验矩阵H中的任一循环矩阵要么是全零矩阵(w=0)要么是置换矩阵(w=1)。令循环矩阵Hj,k的首行hj,k=(hj,k,1,hj,k,2,…,hj,k,b)是其生成多项式,其中hj,k,m=0或1(1≤m≤b)。因为H是稀疏的,所以hj,k只有1个‘1’,甚至没有‘1’。
H的前e块列对应的是信息向量a,后c块列对应的是校验向量p,码字v=(a,p)。以b比特为一段,信息向量a被等分为e段,即a=(a1,a2,…,ae);校验向量p被等分为c段,即p=(p1,p2,…,pc)。将H的前e块列和后c块列构成的矩阵分别记作C和D,则
H=[C D] (3)
C是由c×e个b×b阶循环矩阵构成,D是由c×c个b×b阶循环矩阵构成。将式(3)和码字v=(a,p)代入HvT=0,整理可得
pT=ΦTCaT (4)
其中,ΦT=D–1,上标T和–1分别表示转置和矩阵的逆,D必须满秩。众所周知,循环矩阵的逆、乘积、和仍然是循环矩阵。因此,Φ也是由循环矩阵构成的阵列。然而,虽然矩阵D是稀疏的,但Φ通常不再稀疏而是高密度的。
令sT=CaT和pT=ΦTsT,则p=sΦ。使用C计算s涉及稀疏矩阵与向量的乘法,使用Φ计算p涉及向量与高密度矩阵的乘法。根据以上讨论,可给出一种基于二级流水线的QC-LDPC编码过程,如图2所示。
令s=(s1,s2,…,sc),则sj T是矩阵C的第j块行与aT的乘积,即
其中,1≤i≤e,1≤j≤c。sj的第n比特sj,n(1≤n≤b)为
其中,上标rs(n–1)和ls(n–1)分别表示循环右移n–1位和循环左移n–1位。既然任一循环矩阵生成多项式hj,i只有少量的‘1’甚至是全零,那么式(6)中的内积可通过对循环左移寄存器的抽头求和来实现,如图3所示的稀疏矩阵与向量的乘法器。稀疏矩阵与向量的乘法器由t个b比特寄存器R1,1,R1,2,…,R1,t和c个多输入异或门X1,1,X1,2,…,X1,c组成。寄存器R1,1,R1,2,…,R1,e用于加载和循环左移信息段a1,a2,…,ae,寄存器R1,e+1,R1,e+2,…,R1,t用于存储s的向量段s1,s2,…,sc。图3中的稀疏连接取决于矩阵C中的所有循环矩阵生成多项式。如果hj,i,m=1(1≤m≤b),那么信息段ai的第m比特连接到异或门X1,j。因此,寄存器R1,i的所有抽头取决于矩阵C第i块列中所有循环矩阵生成多项式的非零元素所在位置,而多输入异或门X1,j的输入取决于矩阵C第j块行中所有循环矩阵生成多项式的非零元素所在位置。如果C中的所有循环矩阵生成多项式共有α个‘1’,那么稀疏矩阵与向量的乘法器需要使用(α–c)个二输入异或门同时计算s1,n,s2,n,…,sc,n。s可在b个时钟周期内计算完毕。使用稀疏矩阵与向量的乘法器计算向量s的步骤如下:
第1步,输入信息段a1,a2,…,ae,将它们分别存入寄存器R1,1,R1,2,…,R1,e中;
第2步,寄存器R1,1,R1,2,…,R1,e同时循环左移1次,异或门X1,1,X1,2,…,X1,c分别将异或结果左移入寄存器R1,e+1,R1,e+2,…,R1,t中;
第3步,重复第2步b-1次,完成后,寄存器R1,e+1,R1,e+2,…,R1,t存储的内容分别是向量段s1,s2,…,sc,它们构成了向量s。
pT=ΦTsT等价于p=sΦ。Φ是由c×c个b×b阶循环矩阵Φj,u(1≤j≤c,1≤u≤c)构成的阵列。令循环矩阵Φj,u的首行gj,u是其生成多项式。由p=sΦ可知,第u段校验向量满足
pu=s1Φ1,u+s2Φ2,u+…+sjΦj,u+…+scΦc,u (7)
令生成多项式gj,u=(gj,u,1,gj,u,2,…,gj,u,b),则Φj,u可视为单位矩阵循环右移版本的加权和,即
Φj,u=gj,u,1Ir(0)+gj,u,2Ir(1)+…+gj,u,bIr(b-1) (8)
其中,上标r()表示循环右移。那么,式(7)等号右边的第j项可展开为
既然将sj循环右移n位等价于将它循环左移b-n位,即其中,上标l()表示循环左移,那么式(9)可改写为
将式(10)代入式(7),整理可得
式(11)是一个乘-加-左移-存储的过程,可推导出一种基于全并行输入循环左移的向量与高密度矩阵乘法器。图4是其功能框图,由生成多项式查找表、b位二进制乘法器、(c+1)位二进制加法器和移位寄存器四种功能模块组成。生成多项式查找表L1,L2,…,Lc分别预存矩阵Φ第1,2,…,c块行中的所有循环矩阵生成多项式。生成多项式查找表L1,L2,…,Lc输出的生成多项式比特分别与向量段s1,s2,…,sc进行标量乘,这c个标量乘法分别通过b位二进制乘法器M1,M2,…,Mc完成。b位二进制乘法器M1,M2,…,Mc的乘积与移位寄存器R的内容相加,该加法通过b个(c+1)位二进制加法器A1,A2,…,Ab完成。(c+1)位二进制加法器A1,A2,…,Ab的和被循环左移1位后的结果存入移位寄存器R。
生成多项式查找表L1,L2,…,Lc预存矩阵Φ的循环矩阵生成多项式。生成多项式查找表L1~Lc分别存储Φ的第1~c块行中的所有生成多项式,对于任一块行,依次存储第1,2,…,c块列对应的生成多项式。生成多项式查找表L1~Lc串行输出生成多项式的比特。
使用向量与高密度矩阵的乘法器计算校验向量p的步骤如下:
第1步,全并行输入向量s;
第2步,清零移位寄存器R;
第3步,生成多项式查找表L1,L2,…,Lc分别输出矩阵Φ第u(1≤u≤c)块列中第1,2,…,c块行的生成多项式比特,这些生成多项式比特分别通过b位二进制乘法器M1,M2,…,Mc与信息段s1,s2,…,sc进行标量乘,b位二进制乘法器M1,M2,…,Mc的乘积通过b个(c+1)位二进制加法器A1,A2,…,Ab与移位寄存器R的内容相加,(c+1)位二进制加法器A1,A2,…,Ab的和被循环左移1位后的结果存入移位寄存器R;
第4步,重复第3步b-1次,此时,移位寄存器R存储的是校验段pu;
第5步,以1为步长递增改变u的取值,重复第2~4步c-1次,移位寄存器R依次得到的是校验段p1,p2,…,pc,它们构成了校验向量p=(p1,p2,…,pc)。
本发明提供了一种基于二级流水线的QC-LDPC编码方法,适用于通信系统中的QC-LDPC码,其编码步骤描述如下:
第1步,使用稀疏矩阵与向量的乘法器计算向量s;
第2步,使用向量与高密度矩阵的乘法器计算校验向量p。
现有解决方案需要1个e×b位模2加法器,而本发明的第二级电路将模2加法平均分配给了b个(c+1)位模2加法器。通常,(c+1)远远小于e×b。可见,本发明的加法器延时远小于现有解决方案。
综上可见,与现有解决方案相比,本发明极大地缩短了逻辑电路的延时,具有工作频率高、吞吐量大等优点。
以上所述,仅为本发明的具体实施方式之一,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明所揭露的技术范围内,可不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。
Claims (4)
1.一种基于二级流水线的QC-LDPC编码器,QC-LDPC码的校验矩阵H是由c×t个b×b阶循环矩阵构成的阵列,其中,c、t和b皆为正整数,t=e+c,校验矩阵H可划分为2个子矩阵,H=[C D],C是由c×e个b×b阶循环矩阵构成,D是由c×c个b×b阶循环矩阵构成,ΦT=D–1,其中,上标T和-1分别表示转置和逆,矩阵C对应信息向量a,矩阵D对应校验向量p,以b比特为一段,信息向量a被等分为e段,即a=(a1,a2,…,ae),校验向量p被等分为c段,即p=(p1,p2,…,pc),sT=CaT,p=sΦ,向量s被等分为c段,即s=(s1,s2,…,sc),其特征在于,所述编码器包括以下部件:
稀疏矩阵与向量的乘法器,由t个b比特寄存器R1,1,R1,2,…,R1,t和c个多输入异或门X1,1,X1,2,…,X1,c组成,用于计算向量s;
向量与高密度矩阵的乘法器,基于全并行输入循环左移机制,由生成多项式查找表、b位二进制乘法器、(c+1)位二进制加法器和移位寄存器组成,用于计算校验向量p,生成多项式查找表L1,L2,…,Lc分别预存矩阵Φ第1,2,…,c块行中的所有循环矩阵生成多项式,生成多项式查找表L1,L2,…,Lc输出的生成多项式比特分别与向量段s1,s2,…,sc进行标量乘,这c个标量乘法分别通过b位二进制乘法器M1,M2,…,Mc完成,b位二进制乘法器M1,M2,…,Mc的乘积与移位寄存器R的内容相加,该加法通过b个(c+1)位二进制加法器A1,A2,…,Ab完成,(c+1)位二进制加法器A1,A2,…,Ab的和被循环左移1位后的结果存入移位寄存器R。
2.根据权利要求1所述的一种基于二级流水线的QC-LDPC编码器,其特征在于,所述稀疏矩阵与向量的乘法器计算向量s的步骤如下:
第1步,输入信息段a1,a2,…,ae,将它们分别存入寄存器R1,1,R1,2,…,R1,e中;
第2步,寄存器R1,1,R1,2,…,R1,e同时循环左移1次,异或门X1,1,X1,2,…,X1,c分别将异或结果左移入寄存器R1,e+1,R1,e+2,…,R1,t中;
第3步,重复第2步b-1次,完成后,寄存器R1,e+1,R1,e+2,…,R1,t存储的内容分别是向量段s1,s2,…,sc,它们构成了向量s。
3.根据权利要求1所述的一种基于二级流水线的QC-LDPC编码器,其特征在于,所述向量与高密度矩阵的乘法器计算校验向量p的步骤如下:
第1步,全并行输入向量s;
第2步,清零移位寄存器R;
第3步,生成多项式查找表L1,L2,…,Lc分别输出矩阵Φ第u(1≤u≤c)块列中第1,2,…,c块行的生成多项式比特,这些生成多项式比特分别通过b位二进制乘法器M1,M2,…,Mc与信息段s1,s2,…,sc进行标量乘,b位二进制乘法器M1,M2,…,Mc的乘积通过b个(c+1)位二进制加法器A1,A2,…,Ab与移位寄存器R的内容相加,(c+1)位二进制加法器A1,A2,…,Ab的和被循环左移1位后的结果存入移位寄存器R;
第4步,重复第3步b-1次,此时,移位寄存器R存储的是校验段pu;
第5步,以1为步长递增改变u的取值,重复第2~4步c-1次,移位寄存器R依次得到的是校验段p1,p2,…,pc,它们构成了校验向量p=(p1,p2,…,pc)。
4.一种基于二级流水线的QC-LDPC编码方法,QC-LDPC码的校验矩阵H是由c×t个b×b阶循环矩阵构成的阵列,其中,c、t和b皆为正整数,t=e+c,校验矩阵H可划分为2个子矩阵,H=[C D],C是由c×e个b×b阶循环矩阵构成,D是由c×c个b×b阶循环矩阵构成,ΦT=D–1,其中,上标T和-1分别表示转置和逆,矩阵C对应信息向量a,矩阵D对应校验向量p,以b比特为一段,信息向量a被等分为e段,即a=(a1,a2,…,ae),校验向量p被等分为c段,即p=(p1,p2,…,pc),sT=CaT,p=sΦ,向量s被等分为c段,即s=(s1,s2,…,sc),其特征在于,所述编码方法包括以下步骤:
第1步,使用稀疏矩阵与向量的乘法器计算向量s;
第2步,使用向量与高密度矩阵的乘法器计算校验向量p。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610961277.XA CN106452459A (zh) | 2016-11-04 | 2016-11-04 | 二级全并行输入循环左移的ldpc编码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610961277.XA CN106452459A (zh) | 2016-11-04 | 2016-11-04 | 二级全并行输入循环左移的ldpc编码器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106452459A true CN106452459A (zh) | 2017-02-22 |
Family
ID=58179654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610961277.XA Withdrawn CN106452459A (zh) | 2016-11-04 | 2016-11-04 | 二级全并行输入循环左移的ldpc编码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106452459A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733348A (zh) * | 2017-04-21 | 2018-11-02 | 上海寒武纪信息科技有限公司 | 融合向量乘法器和使用其进行运算的方法 |
-
2016
- 2016-11-04 CN CN201610961277.XA patent/CN106452459A/zh not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733348A (zh) * | 2017-04-21 | 2018-11-02 | 上海寒武纪信息科技有限公司 | 融合向量乘法器和使用其进行运算的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103248372A (zh) | 基于循环左移的准循环ldpc串行编码器 | |
CN101924565A (zh) | Ldpc编码器、解码器、系统及方法 | |
CN103268217A (zh) | 基于循环左移的准循环矩阵串行乘法器 | |
CN102882532B (zh) | 循环右移累加基的cmmb中ldpc编码器和编码方法 | |
CN103268215A (zh) | 基于循环左移的cmmb中准循环矩阵串行乘法器 | |
CN106452459A (zh) | 二级全并行输入循环左移的ldpc编码器 | |
CN102684707B (zh) | 一种ldpc编码器 | |
CN106571830A (zh) | 深空通信中二级全并行输入循环左移的ldpc编码器 | |
CN103902509A (zh) | Wpan中全并行输入的循环左移准循环矩阵乘法器 | |
CN106656206A (zh) | Cdr中二级全并行输入循环左移的ldpc编码器 | |
CN103235713A (zh) | 基于循环左移的dtmb中准循环矩阵串行乘法器 | |
CN106452457A (zh) | Wpan中二级全并行输入循环左移的ldpc编码器 | |
CN103268214A (zh) | 基于查找表的深空通信中准循环矩阵高速乘法器 | |
CN106385264A (zh) | 二级部分并行输入累加左移的ldpc编码器 | |
CN106411326A (zh) | Dtmb中二级全并行输入循环左移的ldpc编码器 | |
CN106385261A (zh) | Cmmb中二级全并行输入循环左移的ldpc编码器 | |
CN103269227A (zh) | 基于循环左移的深空通信中准循环ldpc串行编码器 | |
CN106487390A (zh) | Dtmb中二级部分并行输入右移累加的ldpc编码器 | |
CN106452458A (zh) | Cdr中二级部分并行输入右移累加的ldpc编码器 | |
CN106385262A (zh) | Cmmb中二级部分并行输入右移累加的ldpc编码器 | |
CN106374938A (zh) | 深空通信中二级部分并行输入右移累加的ldpc编码器 | |
CN106374939A (zh) | 二级部分并行输入右移累加的ldpc编码器 | |
CN106656207A (zh) | Wpan中二级部分并行输入右移累加的ldpc编码器 | |
CN106788457A (zh) | Dtmb中二级部分并行输入累加左移的ldpc编码器 | |
CN106385263A (zh) | Cmmb中二级部分并行输入累加左移的ldpc编码器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20170222 |