CN103235712A - 基于查找表的dtmb中准循环矩阵高速乘法器 - Google Patents
基于查找表的dtmb中准循环矩阵高速乘法器 Download PDFInfo
- Publication number
- CN103235712A CN103235712A CN2013101388382A CN201310138838A CN103235712A CN 103235712 A CN103235712 A CN 103235712A CN 2013101388382 A CN2013101388382 A CN 2013101388382A CN 201310138838 A CN201310138838 A CN 201310138838A CN 103235712 A CN103235712 A CN 103235712A
- Authority
- CN
- China
- Prior art keywords
- matrix
- bit
- row
- dtmb
- circular matrix
- 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
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明提供了一种基于查找表的DTMB中准循环矩阵高速乘法器,用于实现DTMB标准多码率QC-LDPC近似下三角编码中向量m与准循环矩阵F的乘法运算,该乘法器包括3个预先存储所有码率矩阵F块列中所有生成多项式在二元域上可能代数和的乘积查找表、3个对乘积查找表输出和移位寄存器内容进行模2加的127位二进制加法器、3个存储被循环左移1位的和的127位移位寄存器。本发明提供的准循环矩阵高速乘法器兼容所有码率,减少了存储器和逻辑资源,具有结构简单、功耗小、成本低等优点。
Description
技术领域
本发明涉及信道编码领域,特别涉及一种DTMB标准多码率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的生成多项式,它们构成了如下生成多项式矩阵f
令fj是由式(7)中生成多项式矩阵f第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 (8)
对于快速实现式(5)中向量与准循环矩阵的乘法,目前广泛采用的是基于u2个I型移位寄存器加累加器(Type-I Shift-Register-Adder-Accumulator,SRAA-I)电路的方案。图1是单个SRAA-I电路的功能框图。当用SRAA-I电路计算miFi,j(0≤i<u,0≤j<u)时,向量段mi逐位串行送入该电路,生成多项式查找表预先存储生成多项式矩阵第i行、第j列的生成多项式fi,j,累加器被清零初始化。当第0个时钟周期到来时,移位寄存器从生成多项式查找表加载生成多项式比特ei×b移入电路,并与移位寄存器的内容进行标量乘,乘积与累加器的内容0模2加,和存回累加器。当第1个时钟周期到来时,移位寄存器循环右移1位,内容变为比特ei×b+1移入电路,并与移位寄存器的内容进行标量乘,乘积与累加器的内容模2加,和存回累加器。上述右移-乘-加-存储过程继续进行下去。当第b-1个时钟周期结束时,比特ei×b+b-1已移入电路,此时累加器存储的是部分和miFi,j,这是向量段mi对pj的贡献。
使用u2个SRAA-I电路能构成一种准循环矩阵高速乘法器,它在b个时钟周期内同时求出u个校验段。u个SRAA-I电路共享1个累加器,故u2个SRAA-I电路共需u个累加器。该方案需要u×(u+1)×b个寄存器、u2×b个二输入与门和u2×b个二输入异或门,还需要u2个b比特ROM存储循环矩阵的生成多项式。
DTMB标准采用了码率η=0.4、0.6和0.8三种QC-LDPC码,均有b=127。对于码率η=0.4、0.6和0.8,u分别是3、2和2。
为兼容3种码率,DTMB标准QC-LDPC近似下三角编码中准循环矩阵高速乘法的现有解决方案是基于9个SRAA-I电路,需要1524个寄存器、1143个二输入与门和1143个二输入异或门,还需要4个381比特的ROM分别存储3种码率生成多项式矩阵f的前2行、前2列的4个循环矩阵生成多项式,5个127比特的ROM存储η=0.4码率f中的其余5个循环矩阵生成多项式。该方案的缺点是寄存器数量大,需要大量与门完成乘法运算和大量异或门完成加法运算,太多的小ROM会浪费存储器资源,这些都会造成电路的功耗大、成本高。
发明内容
DTMB标准多码率QC-LDPC近似下三角编码中准循环矩阵高速乘法的现有实现方案存在功耗大、成本高的缺点,针对这些技术问题,本发明提供了一种基于查找表的准循环矩阵高速乘法器。
如图3所示,DTMB标准多码率QC-LDPC近似下三角编码中的准循环矩阵高速乘法器主要由3部分组成:乘积查找表、b位二进制加法器和移位寄存器。乘法过程分3步完成:第1步,清零移位寄存器R0,R1,R2;第2步,输入向量m的数据段zk,乘积查找表L0,L1,L2根据码率η以zk为索引分别输出zkf0,zkf1,zkf2的乘积,乘积查找表L0,L1,L2的输出分别通过b位二进制加法器A0,A1,A2与移位寄存器R0,R1,R2的内容相加,b位二进制加法器A0,A1,A2的和被循环左移1位后的结果分别存入移位寄存器R0,R1,R2;第3步,以1为步长递增改变k的取值,重复第2步b次,直到整个向量m输入完毕,此时,移位寄存器R0,R1,…,Ru-1存储的分别是校验段p0,p1,…,pu-1,它们构成了部分校验向量p=(p0,p1,…,pu-1)。
本发明提供的准循环矩阵高速乘法器结构简单,兼容DTMB标准中所有码率的QC-LDPC码,减少了存储器和逻辑资源,降低了功耗,节约了成本。
关于本发明的优势与方法可通过下面的发明详述及附图得到进一步的了解。
附图说明
图1是I型移位寄存器加累加器SRAA-I电路的功能框图;
图2是查找加移位寄存器LASR电路的功能框图;
图3是由3个LASR电路构成的一种基于查找表的准循环矩阵高速乘法器。
具体实施方式
下面结合附图对本发明的较佳实施例作详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围作出更为清楚明确的界定。
将式(10)代入式(8),可得
令向量m的数据段zk=(ek,eb+k,…,e(u-1)×b+k),其中,0≤k<b,而fj是由式(7)中生成多项式矩阵f第j列的所有循环矩阵生成多项式构成,则式(11)能改写为
pj=(...((0+z0fj)l(1)+z1fj)l(1)+...+zb-1fj)l(1) (12)
在上式中,zk是随机的,fj是常量,zkfj的乘积完全取决于zk的u比特随机数据,故有2u种可能。zkfj可用一个预先存储所有可能乘积的2u×b比特查找表完成,其索引是u比特的zk,其输出是b比特的zkfj。
式(12)是一个乘-加-左移-存储的过程,其实现用查找加移位寄存器(Lookup-Adder-Shift-Register,LASR)电路。图2是LASR电路的功能框图,向量m被u位并行送入该电路。当用LASR电路计算校验段pj(0≤j<u)时,乘积查找表预先存储生成多项式矩阵第j列fj的所有生成多项式在二元域上的可能代数和,移位寄存器被清零初始化。当第0个时钟周期到来时,向量m的数据段z0移入电路,乘积查找表以z0为索引输出z0fj的乘积,乘积查找表的输出与移位寄存器的内容0模2加,和z0fj循环左移1位的结果(0+z0fj)l(1)存回移位寄存器。当第1个时钟周期到来时,向量m的数据段z1移入电路,乘积查找表以z1为索引输出z1fj的乘积,乘积查找表的输出与移位寄存器的内容(0+z0fj)l(1)模2加,和(0+z0fj)l(1)+z1fj循环左移1位的结果((0+z0fj)l(1)+z1fj)l(1)存回移位寄存器。上述乘-加-左移-存储过程继续进行下去。当第b-1个时钟周期结束时,向量m的最后数据段zb-1已移入电路,此时移位寄存器存储的是校验段pj。一个LASR电路在b个时钟周期内求出校验段pj,需要b个二输入异或门、b个寄存器和2u×b比特ROM。
图3给出了由3个LASR电路构成的一种基于查找表的准循环矩阵高速乘法器,由乘积查找表、b位二进制加法器和移位寄存器三种功能模块组成。乘积查找表L0,L1,L2分别预存所有码率生成多项式矩阵第0列f0,第1列f1,第2列f2的所有生成多项式在二元域上的可能代数和。乘积查找表L0,L1,L2的输出分别与移位寄存器R0,R1,R2的内容相加,这3个模2加法分别通过b位二进制加法器A0,A1,A2完成。b位二进制加法器A0,A1,A2的和被循环左移1位后的结果分别存入移位寄存器R0,R1,R2。
乘积查找表L0,L1,L2存储所有码率准循环矩阵F块列中所有生成多项式在二元域上的可能代数和。乘积查找表L0、L1分别存储三种码率生成多项式矩阵第0列f0、第1列f1所有生成多项式在二元域上的可能代数和。乘积查找表L2存储η=0.4码率生成多项式矩阵第2列f2所有生成多项式在二元域上的可能代数和。
本发明提供了一种基于查找表的准循环矩阵高速乘法,它兼容DTMB标准中3种码率QC-LDPC码,其乘法步骤描述如下:
第1步,清零移位寄存器R0,R1,R2;
第2步,输入向量m的数据段zk,乘积查找表L0,L1,L2根据码率η以zk为索引分别输出zkf0,zkf1,zkf2的乘积,乘积查找表L0,L1,L2的输出分别通过b位二进制加法器A0,A1,A2与移位寄存器R0,R1,R2的内容相加,b位二进制加法器A0,A1,A2的和被循环左移1位后的结果分别存入移位寄存器R0,R1,R2;
第3步,以1为步长递增改变k的取值,重复第2步b次,直到整个向量m输入完毕,此时,移位寄存器R0,R1,…,Ru-1存储的分别是校验段p0,p1,…,pu-1,它们构成了部分校验向量p=(p0,p1,…,pu-1)。
从以上步骤不难看出,整个计算过程共需b个时钟周期,与现有的基于9个SRAA-I电路的乘法方案完全相同。
DTMB标准中准循环矩阵高速乘法的现有解决方案需要4个381比特的ROM和5个127比特的ROM,而本发明需要2个2032比特的ROM和1个1016比特的ROM。总之,现有解决方案使用了9个琐碎的小ROM,本发明使用了3个紧凑的较大ROM。众所周知,当用FPGA片内的存储器实现ROM时,不可避免地会造成存储器的浪费,ROM个数越多浪费越严重。因此,本发明实际耗费的存储器通常要少于现有解决方案。
DTMB标准中准循环矩阵高速乘法的现有解决方案需要1524个寄存器、1143个二输入与门和1143个二输入异或门,而本发明需要381个寄存器、0个二输入与门和381个二输入异或门。可见,本发明无需与门,耗费的寄存器和异或门分别是现有解决方案的25%和33.3%。
综上可见,对于DTMB标准多码率QC-LDPC近似下三角编码中的准循环矩阵高速乘法,与现有解决方案相比,本发明保持了相同的速度,使用了较少的存储器,节约了大量的逻辑资源,具有结构简单、功耗小、成本低等优点。
以上所述,仅为本发明的具体实施方式之一,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明所揭露的技术范围内,可不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。
Claims (4)
1.一种基于查找表的DTMB中准循环矩阵高速乘法器,当采用近似下三角编码方法对DTMB标准多码率QC-LDPC码进行编码时涉及向量m与准循环矩阵F的乘法运算,矩阵F分为u块行和u块列,是由u×u个b×b阶循环矩阵Fi,j构成的阵列,fi,j是循环矩阵Fi,j的生成多项式,u×u个fi,j构成了生成多项式矩阵f,f第j列的所有循环矩阵生成多项式构成了fj,其中,b、i、j和u均为非负整数,0≤i<u,0≤j<u,DTMB标准采用了3种不同码率η的QC-LDPC码,η分别是0.4、0.6、0.8,对于这3种不同码率QC-LDPC码,均有b=127,3种不同码率对应的参数u分别是3、2、2,以连续b比特为一段,部分校验向量p被等分为u段,即p=(p0,p1,…,pu-1),向量m=(e0,e1,…,eu×b-1),以b比特为步长,向量m的等间隔比特构成了数据段zk=(ek,eb+k,…,e(u-1)×b+k),其中,0≤k<b,其特征在于,所述乘法器包括以下部件:
乘积查找表L0,L1,L2,分别预存所有码率生成多项式矩阵第0列f0,第1列f1,第2列f2的所有生成多项式在二元域上的可能代数和,它们的索引均是向量m数据段zk的u比特随机数据,输出分别是zkf0,zkf1,zkf2的b比特乘积;
b位二进制加法器A0,A1,A2,分别对乘积查找表L0,L1,L2的输出和移位寄存器R0,R1,R2的内容进行模2加;
移位寄存器R0,R1,R2,分别存储b位二进制加法器A0,A1,A2的和被循环左移1位后的结果以及最终的校验段p0,p1,p2。
2.根据权利要求1所述的一种基于查找表的DTMB中准循环矩阵高速乘法器,其特征在于,所述乘积查找表L0、L1分别存储三种码率生成多项式矩阵第0列f0、第1列f1所有生成多项式在二元域上的可能代数和。
3.根据权利要求1所述的一种基于查找表的DTMB中准循环矩阵高速乘法器,其特征在于,所述乘积查找表L2存储η=0.4码率生成多项式矩阵第2列f2所有生成多项式在二元域上的可能代数和。
4.一种基于查找表的DTMB中准循环矩阵高速乘法方法,当采用近似下三角编码方法对DTMB标准多码率QC-LDPC码进行编码时涉及向量m与准循环矩阵F的乘法运算,矩阵F分为u块行和u块列,是由u×u个b×b阶循环矩阵Fi,j构成的阵列,fi,j是循环矩阵Fi,j的生成多项式,u×u个fi,j构成了生成多项式矩阵f,f第j列的所有循环矩阵生成多项式构成了fj,其中,b、i、j和u均为非负整数,0≤i<u,0≤j<u,DTMB标准采用了3种不同码率η的QC-LDPC码,η分别是0.4、0.6、0.8,对于这3种不同码率QC-LDPC码,均有b=127,3种不同码率对应的参数u分别是3、2、2,以连续b比特为一段,部分校验向量p被等分为u段,即p=(p0,p1,…,pu-1),向量m=(e0,e1,…,eu×b-1),以b比特为步长,向量m的等间隔比特构成了数据段zk=(ek,eb+k,…,e(u-1)×b+k),其中,0≤k<b,其特征在于,所述乘法方法包括以下步骤:
第1步,清零移位寄存器R0,R1,R2;
第2步,u位并行输入向量m的数据段zk,乘积查找表L0,L1,L2根据码率η以zk为索引分别输出zkf0,zkf1,zkf2的乘积,乘积查找表L0,L1,L2的输出分别通过b位二进制加法器A0,A1,A2与移位寄存器R0,R1,R2的内容相加,b位二进制加法器A0,A1,A2的和被循环左移1位后的结果分别存入移位寄存器R0,R1,R2;
第3步,以1为步长递增改变k的取值,重复第2步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 |
---|---|---|---|
CN2013101388382A CN103235712A (zh) | 2013-04-19 | 2013-04-19 | 基于查找表的dtmb中准循环矩阵高速乘法器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101388382A CN103235712A (zh) | 2013-04-19 | 2013-04-19 | 基于查找表的dtmb中准循环矩阵高速乘法器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103235712A true CN103235712A (zh) | 2013-08-07 |
Family
ID=48883757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101388382A Pending CN103235712A (zh) | 2013-04-19 | 2013-04-19 | 基于查找表的dtmb中准循环矩阵高速乘法器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103235712A (zh) |
Citations (3)
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 |
CN102882533A (zh) * | 2012-09-27 | 2013-01-16 | 苏州威士达信息科技有限公司 | 基于查找表的dtmb中ldpc串行编码器和编码方法 |
CN102932009A (zh) * | 2012-11-21 | 2013-02-13 | 苏州威士达信息科技有限公司 | 基于查找表的dtmb中qc-ldpc并行编码方法 |
-
2013
- 2013-04-19 CN CN2013101388382A patent/CN103235712A/zh active Pending
Patent Citations (3)
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 |
CN102882533A (zh) * | 2012-09-27 | 2013-01-16 | 苏州威士达信息科技有限公司 | 基于查找表的dtmb中ldpc串行编码器和编码方法 |
CN102932009A (zh) * | 2012-11-21 | 2013-02-13 | 苏州威士达信息科技有限公司 | 基于查找表的dtmb中qc-ldpc并行编码方法 |
Non-Patent Citations (1)
Title |
---|
张虎星: "基于DMB-TH的LDPC码编译码器的研究与设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》, vol. 2009, no. 11, 15 November 2009 (2009-11-15), pages 135 - 395 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103268217A (zh) | 基于循环左移的准循环矩阵串行乘法器 | |
CN103248372A (zh) | 基于循环左移的准循环ldpc串行编码器 | |
CN103236850A (zh) | 基于循环左移的深空通信中准循环矩阵串行乘法器 | |
CN103268215A (zh) | 基于循环左移的cmmb中准循环矩阵串行乘法器 | |
CN103259544A (zh) | 共享存储机制的dtmb中准循环ldpc串行编码器 | |
CN103235713A (zh) | 基于循环左移的dtmb中准循环矩阵串行乘法器 | |
CN103902509A (zh) | Wpan中全并行输入的循环左移准循环矩阵乘法器 | |
CN103268214A (zh) | 基于查找表的深空通信中准循环矩阵高速乘法器 | |
CN103929199A (zh) | Dtmb中全并行输入的循环左移准循环矩阵乘法器 | |
CN103236855A (zh) | 基于循环左移的近地通信中准循环ldpc串行编码器 | |
CN103236851A (zh) | 基于查找表的cmmb中准循环矩阵高速乘法器 | |
CN103236856A (zh) | 基于循环左移的dtmb中准循环ldpc串行编码器 | |
CN103236858A (zh) | 基于循环左移的cmmb中准循环ldpc串行编码器 | |
CN103257843A (zh) | 无乘法运算的准循环矩阵串行乘法器 | |
CN103268213A (zh) | 无需存储器的dtmb中准循环矩阵高速乘法器 | |
CN103235712A (zh) | 基于查找表的dtmb中准循环矩阵高速乘法器 | |
CN103236849B (zh) | 基于共享存储机制的dtmb中准循环矩阵串行乘法器 | |
CN103236859A (zh) | 共享存储机制的准循环ldpc串行编码器 | |
CN103236852A (zh) | 无乘法运算的dtmb中准循环矩阵串行乘法器 | |
CN103268211A (zh) | 基于共享存储机制的cmmb中准循环矩阵串行乘法器 | |
CN103269228A (zh) | 共享存储机制的cmmb中准循环ldpc串行编码器 | |
CN103236857A (zh) | 无需存储器的准循环矩阵高速乘法器 | |
CN103929191A (zh) | 深空通信中部分并行输入的累加左移准循环矩阵乘法器 | |
CN103902508A (zh) | 部分并行输入的累加左移准循环矩阵乘法器 | |
CN103268212A (zh) | 无需存储器的深空通信中准循环矩阵高速乘法器 |
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: 20130807 |