CN103257843A - 无乘法运算的准循环矩阵串行乘法器 - Google Patents
无乘法运算的准循环矩阵串行乘法器 Download PDFInfo
- Publication number
- CN103257843A CN103257843A CN2013101364388A CN201310136438A CN103257843A CN 103257843 A CN103257843 A CN 103257843A CN 2013101364388 A CN2013101364388 A CN 2013101364388A CN 201310136438 A CN201310136438 A CN 201310136438A CN 103257843 A CN103257843 A CN 103257843A
- Authority
- CN
- China
- Prior art keywords
- generator polynomial
- circular matrix
- matrix
- shift register
- piece
- 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.)
- Pending
Links
Images
Abstract
本发明提供了一种无乘法运算的准循环矩阵串行乘法器,用于实现QC-LDPC近似下三角编码中向量m与准循环矩阵F的乘法运算,该乘法器包括u个预先存储矩阵F中循环矩阵生成多项式及b位零向量的生成多项式查找表、u个对生成多项式查找表输出和移位寄存器内容进行模2加的b位二进制加法器、u个存储被循环左移1位的和的b位移位寄存器。本发明提供的准循环矩阵串行乘法器去除了乘法运算,具有逻辑资源少、结构简单、功耗小、成本低等优点。
Description
技术领域
本发明涉及信道编码领域,特别涉及一种QC-LDPC近似下三角编码中的准循环矩阵串行乘法器。
背景技术
低密度奇偶校验(Low-Density Parity-Check,LDPC)码是高效的信道编码技术之一,而QC-LDPC(Quasic-LDPC,QC-LDPC)码是一种特殊的LDPC码。QC-LDPC码的生成矩阵G和校验矩阵H都是由循环矩阵构成的阵列,具有分段循环的特点,故被称为QC-LDPC码。循环矩阵的首行是末行循环右移1位的结果,其余各行都是其上一行循环右移1位的结果,因此,循环矩阵完全由其首行来表征。通常,循环矩阵的首行被称为它的生成多项式。
当采用近似下三角编码方法对QC-LDPC码进行编码时,通过行列交换,校验矩阵H变换成近似下三角形状HALT,它由6个子矩阵组成如下:
其中,L是下三角矩阵。HALT对应码字vALT=(s,p,q),矩阵A和C对应信息向量s,矩阵B和D对应一部分校验向量p,矩阵L和E则对应余下的校验向量q。计算部分校验向量p的方法如下:
p=s(C+EL-1A)Τ((D+EL-1B)-1)Τ (2)
其中,上标-1和Τ分别表示对矩阵求逆和转置。令
m=s(C+EL-1A)Τ (3)
F=((D+EL-1B)-1)Τ (4)
则向量m和矩阵F满足如下关系:
p=mF (5)
矩阵F是由如下u×u个b×b阶循环矩阵Fi,j(0≤i<u,0≤j<u)构成的准循环矩阵:
F的连续b行和b列分别被称为块行和块列。由式(6)可知,F有u块行和u块列。令fi,j是循环矩阵Fi,j的生成多项式。
令向量m=(e0,e1,…,eu×b-1),部分校验向量p=(d0,d1,…,du×b-1)。以b比特为一段,向量m和部分校验向量p均被等分为u段,即m=(m0,m1,…,mu-1)和p=(p0,p1,…,pu-1)。由式(5)可知,部分校验向量的第j段pj满足
pj=m0F0,j+m1F1,j+...+miFi,j+...+mu-1Fu-1,j (7)
式(5)涉及向量与准循环矩阵的乘法,目前广泛采用的是基于u个I型移位寄存器加累加器(Type-I Shift-Register-Adder-Accumulator,SRAA-I)电路的方案。图1是单个SRAA-I电路的功能框图,向量m逐位串行送入该电路。当用SRAA-I电路计算校验段pj(0≤j<u)时,生成多项式查找表预先存储准循环矩阵F的第j块列的所有生成多项式,累加器被清零初始化。当第0个时钟周期到来时,移位寄存器从生成多项式查找表加载F的第0块行、第j块列的生成多项式比特e0移入电路,并与移位寄存器的内容进行标量乘,乘积与累加器的内容0模2加,和存回累加器。当第1个时钟周期到来时,移位寄存器循环右移1位,内容变为比特e1移入电路,并与移位寄存器的内容进行标量乘,乘积与累加器的内容模2加,和存回累加器。上述右移-乘-加-存储过程继续进行下去。当第b-1个时钟周期结束时,比特eb-1已移入电路,此时累加器存储的是部分和m0F0,j,这是向量段m0对pj的贡献。当第b个时钟周期到来时,移位寄存器从生成多项式查找表加载F的第1块行、第j块列的生成多项式重复上述右移-乘-加-存储过程。当向量段m1完全移入电路时,累加器存储的是部分和m0F0,j+m1F1,j。重复上述过程,直到整个向量m全部串行移入电路。此时,累加器存储的是校验段pj。使用u个SRAA-I电路能构成图2所示的准循环矩阵串行乘法器,它在u×b个时钟周期内同时求出u个校验段。该方案需要2×u×b个寄存器、u×b个二输入与门和u×b个二输入异或门,还需要u个u×b比特ROM存储循环矩阵的生成多项式。
QC-LDPC近似下三角编码中准循环矩阵串行乘法的现有解决方案是基于u个SRAA-I电路,该方案的缺点是寄存器数量大,需要大量与门完成乘法运算,如此多的逻辑资源势必会造成电路的功耗大、成本高。
发明内容
QC-LDPC近似下三角编码中准循环矩阵串行乘法的现有实现方案存在功耗大、成本高的缺点,针对这些技术问题,本发明提供了一种无乘法运算的准循环矩阵串行乘法器。
如图4所示,QC-LDPC近似下三角编码中的准循环矩阵串行乘法器主要由3部分组成:生成多项式查找表、b位二进制加法器和移位寄存器。乘法过程分3步完成:第1步,清零移位寄存器R0,R1,…,Ru-1;第2步,输入比特ek(0≤k<u×b),生成多项式查找表L0,L1,…,Lu-1根据ek=1或0分别输出准循环矩阵F第i=[k/b](符号[k/b]表示不大于k/b的最大整数)块行中第0,1,…,u-1块列的生成多项式或b位零向量,生成多项式查找表L0,L1,…,Lu-1的输出分别通过b位二进制加法器A0,A1,…,Au-1与移位寄存器R0,R1,…,Ru-1的内容相加,b位二进制加法器A0,A1,…,Au-1的和被循环左移1位后的结果分别存入移位寄存器R0,R1,…,Ru-1;第3步,以1为步长递增改变k的取值,重复第2步u×b次,直到整个向量m输入完毕,此时,移位寄存器R0,R1,…,Ru-1存储的分别是校验段p0,p1,…,pu-1,它们构成了部分校验向量p=(p0,p1,…,pu-1)。
本发明提供的准循环矩阵串行乘法器结构简单,去除乘法运算,减少逻辑资源,降低功耗,节约成本。
关于本发明的优势与方法可通过下面的发明详述及附图得到进一步的了解。
附图说明
图1是I型移位寄存器加累加器SRAA-I电路的功能框图;
图2是由u个SRAA-I电路构成的准循环矩阵串行乘法器;
图3是选择加移位寄存器SASR电路的功能框图;
图4是由u个SASR电路构成的一种无乘法运算的准循环矩阵串行乘法器。
具体实施方式
下面结合附图对本发明的较佳实施例作详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围作出更为清楚明确的界定。
与式(8)相比,式(9)的显著优点是生成多项式fi,j无需循环右移。这一特点能极大简化式(9)中的乘积项:以ei×bfi,j为例,如果ei×b=1,那么ei×bfi,j=fi,j;否则,乘积为b位零向量。显然,这是一个典型二选一选择器的工作原理,其输入是fi,j和b位零向量,控制端是ei×b。这样就去除了式(9)中的乘法运算。式(9)简化成一个选择-加-左移-存储的过程,其实现用选择加移位寄存器(Selecter-Adder-Shift-Register,SASR)电路。图3是SASR电路的功能框图,向量m被逐位串行送入该电路。当用SASR电路计算校验段pj(0≤j<u)时,生成多项式查找表预先存储准循环矩阵F的第j块列的所有生成多项式以及1个b位零向量,移位寄存器被清零初始化。当第0个时钟周期到来时,比特e0移入电路,生成多项式查找表根据e0=1或0输出F的第0块行、第j块列的生成多项式f0,j或b位零向量,生成多项式查找表的输出与移位寄存器的内容0模2加,和e0f0,j循环左移1位的结果(0+e0f0,j)l(1)存回移位寄存器。当第1个时钟周期到来时,比特e1移入电路,生成多项式查找表根据e1=1或0输出f0,j或b位零向量,生成多项式查找表的输出与移位寄存器的内容(0+e0f0,j)l(1)模2加,和(0+e0f0,j)l(1)+e1f0,j循环左移1位的结果((0+e0f0,j)l(1)+e1f0,j)l(1)存回移位寄存器。上述选择-加-左移-存储过程继续进行下去。当第b-1个时钟周期结束时,比特eb-1已移入电路,此时移位寄存器存储的是部分和m0F0,j,这是向量段m0对pj的贡献。当第b个时钟周期到来时,生成多项式查找表根据向量m的数据比特输出F的第1块行、第j块列的生成多项式f1,j或b位零向量,重复上述选择-加-左移-存储过程。当向量段m1完全移入电路时,移位寄存器存储的是部分和m0F0,j+m1F1,j。重复上述过程,直到整个向量m全部串行移入电路。此时,移位寄存器存储的是校验段pj。
图4给出了由u个SASR电路构成的一种无乘法运算的准循环矩阵串行乘法器,由生成多项式查找表、b位二进制加法器和移位寄存器三种功能模块组成。生成多项式查找表L0,L1,…,Lu-1分别预存准循环矩阵F第0,1,…,u-1块列中的循环矩阵生成多项式以及b位零向量。生成多项式查找表L0,L1,…,Lu-1的输出分别与移位寄存器R0,R1,…,Ru-1的内容相加,这u个模2加法分别通过b位二进制加法器A0,A1,…,Au-1完成。b位二进制加法器A0,A1,…,Au-1的和被循环左移1位后的结果分别存入移位寄存器R0,R1,…,Ru-1。
生成多项式查找表L0,L1,…,Lu-1存储准循环矩阵F中的循环矩阵生成多项式以及b位零向量。生成多项式查找表L0~Lu-1分别存储F的第0~u-1块列中的所有生成多项式以及b位零向量,对于任一块列,依次存储第0,1,…,u-1块行对应的生成多项式,最后存储1个b位零向量。
本发明提供了一种无乘法运算的准循环矩阵串行乘法,其乘法步骤描述如下:
第1步,清零移位寄存器R0,R1,…,Ru-1;
第2步,输入比特ek(0≤k<u×b),生成多项式查找表L0,L1,…,Lu-1根据ek=1或0分别输出准循环矩阵F第i=[k/b](符号[k/b]表示不大于k/b的最大整数)块行中第0,1,…,u-1块列的生成多项式或b位零向量,生成多项式查找表L0,L1,…,Lu-1的输出分别通过b位二进制加法器A0,A1,…,Au-1与移位寄存器R0,R1,…,Ru-1的内容相加,b位二进制加法器A0,A1,…,Au-1的和被循环左移1位后的结果分别存入移位寄存器R0,R1,…,Ru-1;
第3步,以1为步长递增改变k的取值,重复第2步u×b次,直到整个向量m输入完毕,此时,移位寄存器R0,R1,…,Ru-1存储的分别是校验段p0,p1,…,pu-1,它们构成了部分校验向量p=(p0,p1,…,pu-1)。
从以上步骤不难看出,整个计算过程共需u×b个时钟周期,与现有的基于u个SRAA-I电路的乘法方案完全相同。
准循环矩阵串行乘法的现有解决方案需要u个u×b比特的ROM分别存储准循环矩阵F的第0,1,…,u-1块列的循环矩阵生成多项式;而本发明需要u个(u+1)×b比特的ROM分别存储准循环矩阵F的第0,1,…,u-1块列的循环矩阵生成多项式以及b位零向量。尽管本发明多用了u×b比特的ROM,但如果用FPGA片内的块RAM来实现生成多项式查找表,那么由于不可避免的浪费,本发明在绝大多数情况下实际使用的存储器并未增加。
准循环矩阵串行乘法的现有解决方案需要2×u×b个寄存器、u×b个二输入与门和u×b个二输入异或门,而本发明需要u×b个寄存器、0个二输入与门和u×b个二输入异或门。两种乘法方案耗费相同数量的异或门,本发明无需与门,节约了50%的寄存器。
综上可见,对于QC-LDPC近似下三角编码中的准循环矩阵串行乘法,与现有解决方案相比,本发明保持了相同的速度,去除了乘法运算,无需与门,使用了一半的寄存器,节约了大量的逻辑资源,具有结构简单、功耗小、成本低等优点。
以上所述,仅为本发明的具体实施方式之一,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明所揭露的技术范围内,可不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。
Claims (3)
1.一种无乘法运算的准循环矩阵串行乘法器,当采用近似下三角编码方法对QC-LDPC码进行编码时涉及向量m与准循环矩阵F的乘法运算,矩阵F分为u块行和u块列,是由u×u个b×b阶循环矩阵Fi,j构成的阵列,fi,j是循环矩阵Fi,j的生成多项式,其中,b、i、j和u均为非负整数,0≤i<u,0≤j<u,向量m=(e0,e1,…,eu×b-1),以b比特为一段,部分校验向量p被等分为u段,即p=(p0,p1,…,pu-1),其特征在于,所述乘法器包括以下部件:
生成多项式查找表L0,L1,…,Lu-1,分别预存准循环矩阵F中第0,1,…,u-1块列的循环矩阵生成多项式以及b位零向量;
b位二进制加法器A0,A1,…,Au-1,分别对生成多项式查找表L0,L1,…,Lu-1的输出和移位寄存器R0,R1,…,Ru-1的内容进行模2加;
移位寄存器R0,R1,…,Ru-1,分别存储b位二进制加法器A0,A1,…,Au-1的和被循环左移1位后的结果以及最终的校验段p0,p1,…,pu-1。
2.根据权利要求1所述的一种无乘法运算的准循环矩阵串行乘法器,其特征在于,所述生成多项式查找表L0~Lu-1分别存储F的第0~u-1块列中的所有生成多项式以及b位零向量,对于任一块列,依次存储第0,1,…,u-1块行对应的生成多项式,最后存储1个b位零向量。
3.一种无乘法运算的准循环矩阵串行乘法方法,当采用近似下三角编码方法对QC-LDPC码进行编码时涉及向量m与准循环矩阵F的乘法运算,矩阵F分为u块行和u块列,是由u×u个b×b阶循环矩阵Fi,j构成的阵列,fi,j是循环矩阵Fi,j的生成多项式,其中,b、i、j和u均为非负整数,0≤i<u,0≤j<u,向量m=(e0,e1,…,eu×b-1),以b比特为一段,部分校验向量p被等分为u段,即p=(p0,p1,…,pu-1),其特征在于,所述乘法方法包括以下步骤:
第1步,清零移位寄存器R0,R1,…,Ru-1;
第2步,输入比特ek,生成多项式查找表L0,L1,…,Lu-1根据ek=1或0分别输出准循环矩阵F第i=[k/b]块行中第0,1,…,u-1块列的生成多项式或b位零向量,生成多项式查找表L0,L1,…,Lu-1的输出分别通过b位二进制加法器A0,A1,…,Au-1与移位寄存器R0,R1,…,Ru-1的内容相加,b位二进制加法器A0,A1,…,Au-1的和被循环左移1位后的结果分别存入移位寄存器R0,R1,…,Ru-1,其中,0≤k<u×b,符号[k/b]表示不大于k/b的最大整数;
第3步,以1为步长递增改变k的取值,重复第2步u×b次,直到整个向量m输入完毕,此时,移位寄存器R0,R1,…,Ru-1存储的分别是校验段p0,p1,…,pu-1,它们构成了部分校验向量p=(p0,p1,…,pu-1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101364388A CN103257843A (zh) | 2013-04-19 | 2013-04-19 | 无乘法运算的准循环矩阵串行乘法器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101364388A CN103257843A (zh) | 2013-04-19 | 2013-04-19 | 无乘法运算的准循环矩阵串行乘法器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103257843A true CN103257843A (zh) | 2013-08-21 |
Family
ID=48961784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101364388A Pending CN103257843A (zh) | 2013-04-19 | 2013-04-19 | 无乘法运算的准循环矩阵串行乘法器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103257843A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105117197A (zh) * | 2015-10-03 | 2015-12-02 | 荣成市鼎通电子信息科技有限公司 | 无乘法运算的wpan中准循环矩阵串行乘法器 |
CN108205700A (zh) * | 2016-12-20 | 2018-06-26 | 上海寒武纪信息科技有限公司 | 神经网络运算装置和方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080028274A1 (en) * | 2006-07-25 | 2008-01-31 | Communications Coding Corporation | Universal error control coding scheme for digital communication and data storage systems |
CN102857324A (zh) * | 2012-09-27 | 2013-01-02 | 苏州威士达信息科技有限公司 | 基于查找表的深空通信中ldpc串行编码器和编码方法 |
CN102882533A (zh) * | 2012-09-27 | 2013-01-16 | 苏州威士达信息科技有限公司 | 基于查找表的dtmb中ldpc串行编码器和编码方法 |
CN102882532A (zh) * | 2012-09-27 | 2013-01-16 | 苏州威士达信息科技有限公司 | 循环右移累加基的cmmb中ldpc编码器和编码方法 |
CN102891687A (zh) * | 2012-09-27 | 2013-01-23 | 苏州威士达信息科技有限公司 | 基于求和阵列的qc-ldpc并行编码器和编码方法 |
CN102932009A (zh) * | 2012-11-21 | 2013-02-13 | 苏州威士达信息科技有限公司 | 基于查找表的dtmb中qc-ldpc并行编码方法 |
-
2013
- 2013-04-19 CN CN2013101364388A patent/CN103257843A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080028274A1 (en) * | 2006-07-25 | 2008-01-31 | Communications Coding Corporation | Universal error control coding scheme for digital communication and data storage systems |
CN102857324A (zh) * | 2012-09-27 | 2013-01-02 | 苏州威士达信息科技有限公司 | 基于查找表的深空通信中ldpc串行编码器和编码方法 |
CN102882533A (zh) * | 2012-09-27 | 2013-01-16 | 苏州威士达信息科技有限公司 | 基于查找表的dtmb中ldpc串行编码器和编码方法 |
CN102882532A (zh) * | 2012-09-27 | 2013-01-16 | 苏州威士达信息科技有限公司 | 循环右移累加基的cmmb中ldpc编码器和编码方法 |
CN102891687A (zh) * | 2012-09-27 | 2013-01-23 | 苏州威士达信息科技有限公司 | 基于求和阵列的qc-ldpc并行编码器和编码方法 |
CN102932009A (zh) * | 2012-11-21 | 2013-02-13 | 苏州威士达信息科技有限公司 | 基于查找表的dtmb中qc-ldpc并行编码方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105117197A (zh) * | 2015-10-03 | 2015-12-02 | 荣成市鼎通电子信息科技有限公司 | 无乘法运算的wpan中准循环矩阵串行乘法器 |
CN108205700A (zh) * | 2016-12-20 | 2018-06-26 | 上海寒武纪信息科技有限公司 | 神经网络运算装置和方法 |
CN108205519A (zh) * | 2016-12-20 | 2018-06-26 | 上海寒武纪信息科技有限公司 | 矩阵乘加运算装置和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103268217A (zh) | 基于循环左移的准循环矩阵串行乘法器 | |
CN103236850A (zh) | 基于循环左移的深空通信中准循环矩阵串行乘法器 | |
CN103248372A (zh) | 基于循环左移的准循环ldpc串行编码器 | |
CN103268215A (zh) | 基于循环左移的cmmb中准循环矩阵串行乘法器 | |
CN103259544A (zh) | 共享存储机制的dtmb中准循环ldpc串行编码器 | |
CN103235713A (zh) | 基于循环左移的dtmb中准循环矩阵串行乘法器 | |
CN103902509A (zh) | Wpan中全并行输入的循环左移准循环矩阵乘法器 | |
CN103929199A (zh) | Dtmb中全并行输入的循环左移准循环矩阵乘法器 | |
CN103257843A (zh) | 无乘法运算的准循环矩阵串行乘法器 | |
CN103268214A (zh) | 基于查找表的深空通信中准循环矩阵高速乘法器 | |
CN103236856A (zh) | 基于循环左移的dtmb中准循环ldpc串行编码器 | |
CN103236858A (zh) | 基于循环左移的cmmb中准循环ldpc串行编码器 | |
CN103269227A (zh) | 基于循环左移的深空通信中准循环ldpc串行编码器 | |
CN103236851A (zh) | 基于查找表的cmmb中准循环矩阵高速乘法器 | |
CN103905060A (zh) | Wpan中部分并行输入的累加左移准循环矩阵乘法器 | |
CN103929191A (zh) | 深空通信中部分并行输入的累加左移准循环矩阵乘法器 | |
CN103236852B (zh) | 无乘法运算的dtmb中准循环矩阵串行乘法器 | |
CN103236849B (zh) | 基于共享存储机制的dtmb中准循环矩阵串行乘法器 | |
CN103257844A (zh) | 无乘法运算的深空通信中准循环矩阵串行乘法器 | |
CN103236857B (zh) | 无需存储器的准循环矩阵高速乘法器 | |
CN103902508A (zh) | 部分并行输入的累加左移准循环矩阵乘法器 | |
CN103268211A (zh) | 基于共享存储机制的cmmb中准循环矩阵串行乘法器 | |
CN103268213A (zh) | 无需存储器的dtmb中准循环矩阵高速乘法器 | |
CN103888150A (zh) | 全并行输入的循环左移准循环矩阵乘法器 | |
CN103905056A (zh) | Cmmb中部分并行输入的累加左移准循环矩阵乘法器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130821 |