CN103268214A - 基于查找表的深空通信中准循环矩阵高速乘法器 - Google Patents
基于查找表的深空通信中准循环矩阵高速乘法器 Download PDFInfo
- Publication number
- CN103268214A CN103268214A CN2013101366985A CN201310136698A CN103268214A CN 103268214 A CN103268214 A CN 103268214A CN 2013101366985 A CN2013101366985 A CN 2013101366985A CN 201310136698 A CN201310136698 A CN 201310136698A CN 103268214 A CN103268214 A CN 103268214A
- Authority
- CN
- China
- Prior art keywords
- sign indicating
- indicating number
- bit
- matrix
- 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
- Complex Calculations (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提供了一种基于查找表的深空通信中准循环矩阵高速乘法器,用于实现CCSDS深空通信标准多码类QC-LDPC近似下三角编码中向量m与准循环矩阵F的乘法运算,该乘法器包括4个预先存储所有码类矩阵F块列中所有生成多项式在二元域上可能代数和的乘积查找表、4个对乘积查找表输出和移位寄存器内容进行模2加的2048位二进制加法器、4个存储被循环左移1位的和的2048位移位寄存器。本发明提供的准循环矩阵高速乘法器兼容所有码类,减少了存储器和逻辑资源,具有结构简单、功耗小、成本低等优点。
Description
技术领域
本发明涉及信道编码领域,特别涉及一种CCSDS深空通信标准多码类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存储循环矩阵的生成多项式。
CCSDS深空通信标准采用了码类π=0、1、2、3、4、5、6、7和8九种QC-LDPC码,均有u=4。对于码类π=0、1、2、3、4、5、6、7和8,b分别是2048、512、128、1024、256、64、512、128和32。
为兼容9种码类,CCSDS深空通信标准QC-LDPC近似下三角编码中准循环矩阵高速乘法的现有解决方案是基于16个SRAA-I电路,需要40960个寄存器、32768个二输入与门和32768个二输入异或门,还需要16个4704比特的ROM分别存储9种码类生成多项式矩阵f的16个循环矩阵生成多项式。该方案的缺点是寄存器数量大,需要大量与门完成乘法运算和大量异或门完成加法运算,太多的小ROM会浪费存储器资源,这些都会造成电路的功耗大、成本高。
发明内容
CCSDS深空通信标准多码类QC-LDPC近似下三角编码中准循环矩阵高速乘法的现有实现方案存在功耗大、成本高的缺点,针对这些技术问题,本发明提供了一种基于查找表的准循环矩阵高速乘法器。
如图3所示,CCSDS深空通信标准多码类QC-LDPC近似下三角编码中的准循环矩阵高速乘法器主要由3部分组成:乘积查找表、b位二进制加法器和移位寄存器。乘法过程分3步完成:第1步,清零移位寄存器R0,R1,…,R3;第2步,输入向量m的数据段zk,乘积查找表L0,L1,…,L3根据码类π以zk为索引分别输出zkf0,zkf1,…,zkf3的乘积,乘积查找表L0,L1,…,L3的输出分别通过b位二进制加法器A0,A1,…,A3与移位寄存器R0,R1,…,R3的内容相加,b位二进制加法器A0,A1,…,A3的和被循环左移1位后的结果分别存入移位寄存器R0,R1,…,R3;第3步,以1为步长递增改变k的取值,重复第2步b次,直到整个向量m输入完毕,此时,移位寄存器R0,R1,…,R3存储的分别是校验段p0,p1,…,p3,它们构成了部分校验向量p=(p0,p1,…,p3)。
本发明提供的准循环矩阵高速乘法器结构简单,兼容CCSDS深空通信标准中所有码类的QC-LDPC码,减少了存储器和逻辑资源,降低了功耗,节约了成本。
关于本发明的优势与方法可通过下面的发明详述及附图得到进一步的了解。
附图说明
图1是I型移位寄存器加累加器SRAA-I电路的功能框图;
图2是查找加移位寄存器LASR电路的功能框图;
图3是由4个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给出了由4个LASR电路构成的一种基于查找表的准循环矩阵高速乘法器,由乘积查找表、b位二进制加法器和移位寄存器三种功能模块组成。乘积查找表L0,L1,…,L3分别预存所有码类生成多项式矩阵第0列f0,第1列f1,…,第3列f3的所有生成多项式在二元域上的可能代数和。乘积查找表L0,L1,…,L3的输出分别与移位寄存器R0,R1,…,R3的内容相加,这4个模2加法分别通过b位二进制加法器A0,A1,…,A3完成。b位二进制加法器A0,A1,…,A3的和被循环左移1位后的结果分别存入移位寄存器R0,R1,…,R3。
乘积查找表L0,L1,…,L3存储所有码类准循环矩阵F块列中所有生成多项式在二元域上的可能代数和。乘积查找表L0~L3分别存储九种码类生成多项式矩阵第0~3列f0~f3所有生成多项式在二元域上的可能代数和。
本发明提供了一种基于查找表的准循环矩阵高速乘法,它兼容CCSDS深空通信标准中9种码类QC-LDPC码,其乘法步骤描述如下:
第1步,清零移位寄存器R0,R1,…,R3;
第2步,输入向量m的数据段zk,乘积查找表L0,L1,…,L3根据码类π以zk为索引分别输出zkf0,zkf1,…,zkf3的乘积,乘积查找表L0,L1,…,L3的输出分别通过b位二进制加法器A0,A1,…,A3与移位寄存器R0,R1,…,R3的内容相加,b位二进制加法器A0,A1,…,A3的和被循环左移1位后的结果分别存入移位寄存器R0,R1,…,R3;
第3步,以1为步长递增改变k的取值,重复第2步b次,直到整个向量m输入完毕,此时,移位寄存器R0,R1,…,R3存储的分别是校验段p0,p1,…,p3,它们构成了部分校验向量p=(p0,p1,…,p3)。
从以上步骤不难看出,整个计算过程共需b个时钟周期,与现有的基于16个SRAA-I电路的乘法方案完全相同。
CCSDS深空通信标准中准循环矩阵高速乘法的现有解决方案需要16个4704比特的ROM,而本发明需要4个75264比特的ROM。总之,现有解决方案使用了16个琐碎的小ROM,本发明使用了4个紧凑的较大ROM。众所周知,当用FPGA片内的存储器实现ROM时,不可避免地会造成存储器的浪费,ROM个数越多浪费越严重。因此,本发明实际耗费的存储器通常要少于现有解决方案。
CCSDS深空通信标准中准循环矩阵高速乘法的现有解决方案需要40960个寄存器、32768个二输入与门和32768个二输入异或门,而本发明需要8192个寄存器、0个二输入与门和8192个二输入异或门。可见,本发明无需与门,耗费的寄存器和异或门分别是现有解决方案的20%和25%。
综上可见,对于CCSDS深空通信标准多码类QC-LDPC近似下三角编码中的准循环矩阵高速乘法,与现有解决方案相比,本发明保持了相同的速度,使用了较少的存储器,节约了大量的逻辑资源,具有结构简单、功耗小、成本低等优点。
以上所述,仅为本发明的具体实施方式之一,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明所揭露的技术范围内,可不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。
Claims (3)
1.一种基于查找表的深空通信中准循环矩阵高速乘法器,当采用近似下三角编码方法对CCSDS深空通信标准多码类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,CCSDS深空通信标准采用了9种不同码类π的QC-LDPC码,π分别是0、1、2、3、4、5、6、7、8,对于这9种不同码类QC-LDPC码,均有u=4,9种不同码类对应的参数b分别是2048、512、128、1024、256、64、512、128、32,以连续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,…,L3,分别预存所有码类生成多项式矩阵第0列f0,第1列f1,…,第3列f3的所有生成多项式在二元域上的可能代数和,它们的索引均是向量m数据段zk的u比特随机数据,输出分别是zkf0,zkf1,…,zkf3的b比特乘积;
b位二进制加法器A0,A1,…,A3,分别对乘积查找表L0,L1,…,L3的输出和移位寄存器R0,R1,…,R3的内容进行模2加;
移位寄存器R0,R1,…,R3,分别存储b位二进制加法器A0,A1,…,A3的和被循环左移1位后的结果以及最终的校验段p0,p1,…,p3。
2.根据权利要求1所述的一种基于查找表的深空通信中准循环矩阵高速乘法器,其特征在于,所述乘积查找表L0~L3分别存储九种码类生成多项式矩阵第0~3列f0~f3所有生成多项式在二元域上的可能代数和。
3.一种基于查找表的深空通信中准循环矩阵高速乘法方法,当采用近似下三角编码方法对CCSDS深空通信标准多码类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,CCSDS深空通信标准采用了9种不同码类π的QC-LDPC码,π分别是0、1、2、3、4、5、6、7、8,对于这9种不同码类QC-LDPC码,均有u=4,9种不同码类对应的参数b分别是2048、512、128、1024、256、64、512、128、32,以连续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,…,R3;
第2步,u位并行输入向量m的数据段zk,乘积查找表L0,L1,…,L3根据码类π以zk为索引分别输出zkf0,zkf1,…,zkf3的乘积,乘积查找表L0,L1,…,L3的输出分别通过b位二进制加法器A0,A1,…,A3与移位寄存器R0,R1,…,R3的内容相加,b位二进制加法器A0,A1,…,A3的和被循环左移1位后的结果分别存入移位寄存器R0,R1,…,R3;
第3步,以1为步长递增改变k的取值,重复第2步b次,直到整个向量m输入完毕,此时,移位寄存器R0,R1,…,R3存储的分别是校验段p0,p1,…,p3,它们构成了部分校验向量p=(p0,p1,…,p3)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101366985A CN103268214A (zh) | 2013-04-19 | 2013-04-19 | 基于查找表的深空通信中准循环矩阵高速乘法器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101366985A CN103268214A (zh) | 2013-04-19 | 2013-04-19 | 基于查找表的深空通信中准循环矩阵高速乘法器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103268214A true CN103268214A (zh) | 2013-08-28 |
Family
ID=49011848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101366985A Pending CN103268214A (zh) | 2013-04-19 | 2013-04-19 | 基于查找表的深空通信中准循环矩阵高速乘法器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103268214A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107003839A (zh) * | 2014-12-22 | 2017-08-01 | 英特尔公司 | 用于移位和乘法器的指令和逻辑 |
CN109992242A (zh) * | 2017-12-29 | 2019-07-09 | 航天信息股份有限公司 | 基于乘法器的运算方法及装置 |
CN113918883A (zh) * | 2021-11-03 | 2022-01-11 | 海光信息技术股份有限公司 | 数据处理方法、装置以及设备和计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6057720A (en) * | 1997-05-08 | 2000-05-02 | Hyundai Electronics Industries Co., Ltd. | High speed sticky signal generator |
CN102882533A (zh) * | 2012-09-27 | 2013-01-16 | 苏州威士达信息科技有限公司 | 基于查找表的dtmb中ldpc串行编码器和编码方法 |
CN102932009A (zh) * | 2012-11-21 | 2013-02-13 | 苏州威士达信息科技有限公司 | 基于查找表的dtmb中qc-ldpc并行编码方法 |
CN102932007A (zh) * | 2012-11-21 | 2013-02-13 | 苏州威士达信息科技有限公司 | 高度并行的深空通信中qc-ldpc编码器和编码方法 |
-
2013
- 2013-04-19 CN CN2013101366985A patent/CN103268214A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6057720A (en) * | 1997-05-08 | 2000-05-02 | Hyundai Electronics Industries Co., Ltd. | High speed sticky signal generator |
CN102882533A (zh) * | 2012-09-27 | 2013-01-16 | 苏州威士达信息科技有限公司 | 基于查找表的dtmb中ldpc串行编码器和编码方法 |
CN102932009A (zh) * | 2012-11-21 | 2013-02-13 | 苏州威士达信息科技有限公司 | 基于查找表的dtmb中qc-ldpc并行编码方法 |
CN102932007A (zh) * | 2012-11-21 | 2013-02-13 | 苏州威士达信息科技有限公司 | 高度并行的深空通信中qc-ldpc编码器和编码方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107003839A (zh) * | 2014-12-22 | 2017-08-01 | 英特尔公司 | 用于移位和乘法器的指令和逻辑 |
CN107003839B (zh) * | 2014-12-22 | 2020-12-11 | 英特尔公司 | 用于移位和乘法器的指令执行方法、处理器和系统 |
CN109992242A (zh) * | 2017-12-29 | 2019-07-09 | 航天信息股份有限公司 | 基于乘法器的运算方法及装置 |
CN109992242B (zh) * | 2017-12-29 | 2021-05-28 | 航天信息股份有限公司 | 基于乘法器的运算方法及装置 |
CN113918883A (zh) * | 2021-11-03 | 2022-01-11 | 海光信息技术股份有限公司 | 数据处理方法、装置以及设备和计算机可读存储介质 |
CN113918883B (zh) * | 2021-11-03 | 2022-05-27 | 海光信息技术股份有限公司 | 数据处理方法、装置以及设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103268217A (zh) | 基于循环左移的准循环矩阵串行乘法器 | |
CN103248372A (zh) | 基于循环左移的准循环ldpc串行编码器 | |
CN103236850A (zh) | 基于循环左移的深空通信中准循环矩阵串行乘法器 | |
CN103268215A (zh) | 基于循环左移的cmmb中准循环矩阵串行乘法器 | |
CN103259544A (zh) | 共享存储机制的dtmb中准循环ldpc串行编码器 | |
CN103268214A (zh) | 基于查找表的深空通信中准循环矩阵高速乘法器 | |
CN103902509A (zh) | Wpan中全并行输入的循环左移准循环矩阵乘法器 | |
CN103235713A (zh) | 基于循环左移的dtmb中准循环矩阵串行乘法器 | |
CN103929199A (zh) | Dtmb中全并行输入的循环左移准循环矩阵乘法器 | |
CN103236855A (zh) | 基于循环左移的近地通信中准循环ldpc串行编码器 | |
CN103236851A (zh) | 基于查找表的cmmb中准循环矩阵高速乘法器 | |
CN103269227A (zh) | 基于循环左移的深空通信中准循环ldpc串行编码器 | |
CN103236858A (zh) | 基于循环左移的cmmb中准循环ldpc串行编码器 | |
CN103257843A (zh) | 无乘法运算的准循环矩阵串行乘法器 | |
CN103929191A (zh) | 深空通信中部分并行输入的累加左移准循环矩阵乘法器 | |
CN103236859A (zh) | 共享存储机制的准循环ldpc串行编码器 | |
CN103269228A (zh) | 共享存储机制的cmmb中准循环ldpc串行编码器 | |
CN103236857A (zh) | 无需存储器的准循环矩阵高速乘法器 | |
CN103905060A (zh) | Wpan中部分并行输入的累加左移准循环矩阵乘法器 | |
CN103236849B (zh) | 基于共享存储机制的dtmb中准循环矩阵串行乘法器 | |
CN103268213A (zh) | 无需存储器的dtmb中准循环矩阵高速乘法器 | |
CN103902508A (zh) | 部分并行输入的累加左移准循环矩阵乘法器 | |
CN103268212A (zh) | 无需存储器的深空通信中准循环矩阵高速乘法器 | |
CN103268211A (zh) | 基于共享存储机制的cmmb中准循环矩阵串行乘法器 | |
CN103235712A (zh) | 基于查找表的dtmb中准循环矩阵高速乘法器 |
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: 20130828 |