CN110324048B - 一种通信调制系统中ra-ldpc-cc的编码方法及编码器 - Google Patents
一种通信调制系统中ra-ldpc-cc的编码方法及编码器 Download PDFInfo
- Publication number
- CN110324048B CN110324048B CN201910546156.2A CN201910546156A CN110324048B CN 110324048 B CN110324048 B CN 110324048B CN 201910546156 A CN201910546156 A CN 201910546156A CN 110324048 B CN110324048 B CN 110324048B
- Authority
- CN
- China
- Prior art keywords
- matrix
- long
- bit
- right shift
- information
- 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.)
- Active
Links
Images
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/1154—Low-density parity-check convolutional codes [LDPC-CC]
Abstract
本发明公开一种通信调制系统中RA‑LDPC‑CC的编码方法及编码器,包括:将分解得到Ts个记忆矩阵Ft,规定的记忆矩阵Ft与Hd矩阵的抽取矩阵Ey相同,将抽取矩阵Ey按行分块分为L个的抽取子矩阵Ey(l),在每个抽取子矩阵的第一个子矩阵右侧添加m×m的双对角线矩阵Hp,在每个抽取子矩阵除第一个子矩阵以外的每个子矩阵右侧添加m×m的全零矩阵,得到新构造的抽取子矩阵为令抽取子矩阵与Hs(t)矩阵的行数和列数相等,得到具有线性编码结构的一个周期的奇偶校验矩阵对进行Ts的周期重复得到半无限长的奇偶校验矩阵HRA‑c。HRA‑c矩阵占用存储容量较低和解码复杂度低,并且保证RA‑LDPC‑CC具备线形编码的特征。
Description
技术领域
本发明涉及通信调制系统中信道编码技术领域,更具体地,涉及一种通信调制系统中时变重复累积低密度奇偶校验卷积码RA-LDPC-CC的编码方法及编码器。
背景技术
低密度奇偶校验卷积码(LDPC-CC)定义为半无限长稀疏奇偶校验矩阵Hconv的零空间,即HconvcT=0,其中Hconv表示LDPC-CC的奇偶校验矩阵,c表示它的码字序列,T表示矩阵或矢量的转置。它是一种特殊的LDPC码。1962年,Gallager首次提出了LDPC码及其迭代解码算法,但没有给出H矩阵的构造方法和编码算法。三十多年后的1995年,Mackay重新发掘LDPC码是一种逼近香农限的好码。3年后的1999年,Jiménez和Zigangirov提出了LDPC-CC的概念,是LDPC码经卷积后的结果,并给出一种TV-LDPC-CC的构造方法。仿真实验表明,在同样的码率和码长情况下,LDPC-CC的性能优于相应LDPC码的性能。2001年,HuiJin在其博士论文中提出了规则重复积累(RA)码和不规则重复积累(IRA)码,研究人员对其奇偶校验矩阵进行分析,发现RA和IRA码是一种具有天然的线性串行编码器的类随机结构的LDPC码,它们的信息位对应的稀疏奇偶校验矩阵分别是规则和不规则的类随机结构,而校验位对应奇偶校验矩阵是双对角线结构;此外,在理论上已经证明RA码在高斯白噪声信道上达到了香农限,IRA码在删余信道上达到了香农限。
目前,在通信工业标准中,具有线性可编码的、系统结构的实用LDPC码主要分为两类,其对应的奇偶校验矩阵H=[Hd Hp]也具有两种典型结构。一种是准循环低密度奇偶校验(QC-LDPC)码,它的主要特点是奇偶校验矩阵由分块子矩阵构成,其信息位对应的矩阵Hd的分块子矩阵由循环移位置换矩阵和的全零方矩阵共同构成,校验位对应的矩阵Hp的分块子矩阵主要由单位矩阵、全零矩阵和置换矩阵共同构成,Hp的典型结构是近似的下三角阵列结构,能够提供线性编码算法。由于QC-LDPC的基于循环置换矩阵的分块结构有利于编码器和解码器的并行硬件电路的执行,因此,已被多个IEEE 802系列的工业标准所采纳。另一种是IRA-LDPC码,其主要特点是信息位对应的矩阵Hd具有不规则的类随机结构的,因此需要存储大量具有定位特征的1元素,其校验位对应的矩阵Hp是双对角线结构的,能提供串行线性编码算法,因此,也在多个工业标准中得到应用,主要包括:欧洲第二代数字广播电视标准DVB-S2,以及中华人民共和国国家军用标准(GJB 7296-2011)等。
由于LDPC-CC具有优于LDPC的性能、半无限长的矩阵结构和周期时间特征,近年来在深空通信和光纤通信等需要长距离传输信号的场景中得到应用。定义LDPC-CC的奇偶校验矩阵Hconv是一半无限长的矩阵,其构造方法分为剪切法和多项式法两大类。前者用于构造周期性的时变LDPC-CC(TV-LDPC-CC),后者用于构造时不变的LDPC-CC(TI-LDPC-CC)。对于奇偶校验矩阵Hconv的结构设计,除了考虑性能良好的因素外,还需要考虑降低Hconv矩阵存储需求和降低计算复杂度的问题。
但是,目前LDPC-CC的Hconv矩阵具有占用较高的存储容量和较高解码复杂度的缺陷。
发明内容
针对现有技术的缺陷,本发明的目的在于解决目前LDPC-CC的Hconv矩阵占用较高的存储容量和较高解码复杂度的技术问题。
为实现上述目的,第一方面,本发明提供一种通信调制系统中RA-LDPC-CC的编码方法,包括以下步骤:
将RA-LDPC的奇偶校验矩阵HRA中的Hd矩阵按列分块,分解成k个分块子矩阵,每个子矩阵的维数是M×L,分别从k个M×L的分块子矩阵中抽取k个M长的列矢量wi,y,i=0,1,...,k-1,y=0,1,...,L-1,构成M×k的二进制矩阵作为抽取矩阵,记为Ey,共有L个抽取矩阵,每一个抽取矩阵Ey通过第一个抽取矩阵E0内每一列循环下移y-1次,每次下移m位得到,其中,m=M/L;
将TV-LDPC-CC一个周期内的奇偶校验矩阵分解为ms+1个(c-b)×c非零子矩阵和ms个(c-b)×c的全零子矩阵,是(2ms+1)(c-b)×Tsc的二进制矩阵;将奇偶校验矩阵Hconv每列中ms+1个非零子矩阵构成的(ms+1)(c-b)×c的二进制矩阵作为记忆矩阵,记为Ft,t=0,1,...,Ts-1,奇偶校验矩阵由Ts个记忆矩阵构成;
规定的记忆矩阵Ft与Hd矩阵的抽取矩阵Ey相同,令抽取矩阵Ey和记忆矩阵Ft的行数相等:mL=M=(ms+1)(c-b),令Hd矩阵和矩阵的列数相等:kL=K=cTs,Ts=ms+1;令的矩阵周期等于Hd矩阵的抽取矩阵的个数:L=Ts=ms+1;
将抽取矩阵Ey按行分块分为L个m×k的抽取子矩阵Ey(l),l=0,1,...,L-1,在每个抽取子矩阵的第一个m×k的子矩阵右侧添加一m×m的双对角线矩阵Hp,在每个抽取子矩阵除第一个m×k的子矩阵以外的每个子矩阵右侧添加m×m的全零矩阵,得到新构造的抽取子矩阵为
令抽取子矩阵与Hs(t)矩阵的行数相等:m=c-b,令抽取子矩阵与Hs(t)矩阵的列数相等:m+k=c,得到具有线性编码结构的一个周期内的奇偶校验矩阵Hs(t)为记忆矩阵Ft按行分块的ms+1个(c-b)×c的非零子矩阵中的一个子矩阵;
可选地,设ut表示时刻t传输的k长的二进制信息序列,ut={ut p|ut p∈GF(2),p=0,1,2,...,k-1},ut p表示在第t时刻信息序列的第p位信息比特;设vt表示时刻t通过RA-LDPC-CC编码后输出的m+k长的二进制编码序列,vt={vt q|vt q∈GF(2),q=0,1,2,...,m+k-1},vt q表示在第t时刻编码序列的第q位编码信息比特;任意时刻的编码序列可以分为k比特的信息位矢量和m比特的校验位矢量即信息位矢量与信息序列ut相同;
其中,RA-LDPC-CC的编码方法如下:
q=k+1,k+2,...,k+m-1时,
其中,Hs(t),Hs(t+1),…,Hs(t+ms)为记忆矩阵Ft按行分块得到的ms+1个(c-b)×c的非零子矩阵。
其中,Hp为m×m的双对角线矩阵。
可选地,所述半无限长的奇偶校验矩阵HRA-c为:
第二方面,本发明提供一种基于上述第一方面所述的编码方法的编码器,包括:ROM、k长输入缓存器、L个k长信息位右移寄存器、m个L·k长循环右移寄存器阵列、L个k+1长运算单元以及双求和单元和m长输出缓存器;
ROM,用于存储奇偶校验矩阵HRA-c的抽取矩阵E0中的L个抽取子矩阵E0(l);
编码器初始化,m个L·k长的循环右移寄存器阵列依次存入ROM中E0矩阵的L个抽取子矩阵E0(0),E0(1),...,E0(L-1),存储方式是E0(0)存入m个L·k长的循环右移寄存器阵列的第1列m个k长寄存器,E0(1)存入第2列的m个k长寄存器,…,E0(L-1)存入第L列的m个k长寄存器;
k长输入缓存器,用于接收输入信息序列,在使能信号εa的控制下向L个k长信息位右移寄存器串行输入数据,每次输入k位;
在初始阶段,第一个k长信息位右移寄存器输入k位信息,用于完成m个校验位的计算;在εa的控制输入第二个k长信息位右移寄存器,用于完成下一个m个校验位的计算;继续下去直到L个k长信息位右移寄存器的每一个都存满k位信息;
L个k长信息位右移寄存器存满k位信息序列之后,在使能信号εb控制下,将L个k长信息位右移寄存器中的信息序列并行输入到L个k+1长运算单元中;在使能信号εa控制下,L个k长信息位右移寄存器进行右移k位操作,输入新的k位信息,更新L个k长信息位右移寄存器的每一个;
m个L·k长的循环右移寄存器阵列分别在各自的使能信号ε0,ε1,...,εm-1的控制下,将所存储的奇偶校验矩阵的对应k位元素并行传输给对应的L个k+1长运算单元;在使能信号的控制下,m个L·k长的循环右移寄存器同时进行循环右移k位操作一次,完成对m个L·k长的循环右移寄存器阵列的存储内容的更新;
L个k+1长运算单元中每个运算单元的数据由信息位寄存器并行输入k位和循环右移寄存器阵列对应的k长寄存器并行输入k位,完成k位乘法运算将前k位乘积依次送到累加器中,完成累加计算计算后的校验位信息计算中间值输出到双求和单元;
双求和单元接收L个k+1长运算单元的校验位计算中间值分别输入双求和单元,在双求和单元的加法器中完成累加计算将累加计算结果送入双求和单元的进行反馈自加,使当前校验位结果与前一个校验位结果进行递归求和,即完成的运算。
可选地,每一个L·k长循环右移寄存器由L个k长的右移寄存器构成;
对m个L·k长的循环右移寄存器阵列进行初始化,将奇偶校验矩阵HRA-c中抽取矩阵E0的L个m×k的抽取子矩阵E0(l)按照下标索引降序依次存入m个L·k长的循环右移寄存器阵列;每一个L·k长的循环右移寄存器分别由各自的使能信号ε0,ε1,...,εm-1控制,当使能信号ε0有效时,循环右移寄存器阵列第0行的L个k长的右移寄存器分别向L个k+1长运算单元输入各自E0(l)矩阵中的k位元素,用于完成当前时刻内第一个校验位的计算,当其它使能信号ε1,...,εm-1分别有效时,从第1到第m-1组的L个k长的元素与第0组的L个k长的元素进行同样的处理,分别用于完成当前时刻内第二到第m个校验位的计算,每输入k个信息位,就能执行m个校验位的计算;当使能信号ε有效,m个L·k长的循环右移寄存器阵列的每一行向右循环移位k次,完成m·L个k长寄存器的更新,准备输入下一个k长的信息位和执行下一个m个校验位的计算。
可选地,每个k+1长运算单元由k长的运算寄存器和一位累加器构成;
L个k长的运算寄存器的每一个有2k根数据输入线,L个一位累加器的每一个有1根数据输出线;k根数据输入线传输来自k长信息位右移寄存器的信息序列,另外k根数据输入线传输来自m个L·k长循环右移寄存器阵列中一个k长寄存器的矩阵数据,连接一位累加器的1根数据输出线输出计算得到的校验位计算的中间值到双求和单元;
L个k长的运算寄存器的每一个分别向右移位到一位累加器中,每移位到一位累加器中一位数据,就进行累加一次,每个k长的运算寄存器右移k次,一位累加器执行k-1次累加运算,完成求和运算计算结果输出到双求和单元。
可选地,双求和单元由一个L长移位寄存器,一个一位累加器和一个反馈自加器构成;
在双求和处理单元中,接收来自L个k+1长运算寄存器的L个校验位计算中间值存入L长的移位寄存器中,然后在一位累加器中执行L个校验位计算中间值的累加,完成的求和计算,并将计算结果送入反馈自加器;反馈自加器在一个编码周期内,将L个校验位计算中间值的求和结果与前一个校验位相加,完成一个新的校验位的计算。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
本发明提出一种基于RA-LDPC码的TV-LDPC-CC的编码方法,即设计RA-LDPC-CC的Hconv矩阵和相应的编码器。本发明主要是根据RA-LDPC的奇偶校验矩阵HRA=[Hd Hp]来设计LDPC-CC的Hconv矩阵,产生Hconv矩阵所对应的编码算法和相应的编码器体系结构,RA-LDPC-CC的Hconv矩阵占用存储容量较低和解码复杂度低,并且可以保证RA-LDPC-CC具备线形编码的特征。
本发明针对列重为3的规则准循环QC-LDPC码在码长超过10万而不能消除10围线的情况,并由此导致基于这种QC-LDPC码所构造LDPC-CC码在10-12时出现误码平层的问题,利用RA-LDPC码的奇偶校验矩阵HRA中能消除6/8/10围线的列重为3的规则Hd矩阵的循环下移特性,设计一种RA-LDPC-CC的奇偶校验矩阵Hconv,要求Hconv具有代数结构框架、能用循环移位寄存器操作的循环下移结构特征、可保证消除6/8/10围线的技术方案支持和线性可编码的能力。
附图说明
图1是本发明提供的RA-LDPC-CC的编码器结构的原理电路总体框图;
图2是本发明提供的k长输入缓存器示意图;
图3是本发明提供的L个k长信息位右移寄存器示意图;
图4是本发明提供的m个L·k长的循环右移寄存器阵列示意图;
图5是本发明提供的L个k+1长的运算单元示意图;
图6是本发明提供的双求和单元示意图;
图7是本发明提供的m长输出缓存器示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在进行RA-LDPC-CC奇偶校验矩阵Hconv的结构设计中需要用到RA-LDPC码和LDPC-CC的基本原理。
RA-LDPC码
RA-LDPC码作为一种特别的LDPC码,定义如(1)式所示:
cRA={v|vHRA T=0} (1)
在(1)式中,定义RA-LDPC码的奇偶校验矩阵HRA具有系统结构,即HRA=[Hd Hp],其中Hp矩阵是M×M的校验位矩阵,具有双对角线结构,如(2)式所示;
Hd矩阵是M×K的信息位矩阵。Hd矩阵可分解为k个M×L的分块矩阵形式,如(3)式所示:
Hd=[H0 ... Hi ... Hk-1] (3)
在每一个子矩阵Hi(i=0,1,...,k-1)中,第2列由第1列循环下移m位得到,第i列由第i-1列循环下移m位得到。或者说对第1列进行L-1次循环下移m位操作后,能够得到子矩阵Hi,其中,m=M/L。记任意子矩阵Hi如(4)式所示,Hi的第y列的列矢量记为wi,y,如(5)式所示,式中 表示第i个子矩阵中第x行第y列的元素。
综上所述,RA-LDPC码的奇偶校验矩阵在设计时只需要构造Hd矩阵。如果得到每个子矩阵Hi的第一列矢量wi,0,那么矢量wi,y均可通过矢量wi,0循环下移y-1次每次下移m位得到,所有的子矩阵Hi可完全得到,进而得到整个Hd矩阵。
LDPC-CC码
LDPC-CC是一种由一个半无限长稀疏奇偶校验矩阵Hconv定义的特殊的LDPC码,其码集合cconv表示如(6)式所示,其中矩阵Hconv的结构如(7)式所示:
在(7)中,奇偶校验矩阵Hconv是一半无限长的二进制矩阵,由非零子矩阵Hs(t)和全零子矩阵0构成(s=0,1,...,ms,t=0,1,2,...,∞)。Hconv矩阵的性质和参数描述如下:
1)奇偶校验矩阵Hconv中的任意非零子矩阵Hs(t)是(c-b)×c的二进制矩阵,如(8)式所示。由奇偶校验矩阵Hconv定义的码集合cconv的码率为R=b/c。
2)奇偶校验矩阵Hconv中的参数ms称为编码记忆,每列中非零子矩阵Hs(t)个数的上限为ms+1,每行中的非零子矩阵个数的上限是ms+1。
3)vs=(ms+1)c称为码cconv的约束长度,表示奇偶校验矩阵Hconv中每行非零区域宽度的上限。
4)如果对于任意的s=0,1,...,ms,子矩阵Hs(t)(t=0,1,2,...,∞)与时间t独立(不同的t,有不同“1”元素分布的Hs(t),注意:对不同的s,Hs(t)也有不同的“1”元素分布),那么由该奇偶校验矩阵Hconv定义的LDPC-CC称为TV-LDPC-CC。
5)如果存在一个正整数Ts对于任意s=0,1,...,ms满足Hs(t)=Hs(t+Ts),那么由该奇偶校验矩阵Hconv定义的LDPC-CC称为周期性的TV-LDPC-CC,Ts为该TV-LDPC-CC的周期。
本发明的具体内容包括三部分:第一部分为一类周期性的RA-LDPC-CC的奇偶校验矩阵Hconv的设计方法;第二部分是RA-LDPC-CC的编码方法;第三部分是RA-LDPC-CC编码器的硬件体系结构设计。
第一部分RA-LDPC-CC的奇偶校验矩阵Hconv的设计
RA-LDPC码信息位矩阵Hd的结构分解
本发明规定:RA-LDPC的Hd矩阵至少不包含4围线,要求对Hd矩阵进行消除小围线的结构设计,Hd矩阵应不包含6和8围线,尽可能消除10围线。将Hd矩阵按列分块,分解成k个子矩阵,每个子矩阵的维数是M×L。分别从k个M×L的分块子矩阵Hi中抽取k个M长的列矢量wi,y(i=0,1,...,k-1,y=0,1,...,L-1)构成M×k的二进制矩阵,称之为抽取矩阵,记为Ey,如(9)式所示:
对于Hd矩阵而言,它有L个抽取矩阵,每一个抽取矩阵Ey可以通过第一个抽取矩阵E0内每一列循环下移y-1次,每次下移m位得到。
对L个M×k维抽取矩阵中的任意一个Ey(y=0,1,...,L-1),根据循环下移结构特征,对矩阵Ey按行分块分为L个m×k的矩阵Ey(l)(l=0,1,...,L-1),称之为抽取子矩阵,任意抽取矩阵Ey分解为(10)式所示:
(10)式中L个m×k维抽取子矩阵Ey(l)的结构如(11)式所示:
TV-LDPC-CC的Hconv矩阵结构分解
在一般TV-LDPC-CC的构造方法中,利用剪切法构造的TV-LDPC-CC的半无限长奇偶校验矩阵Hconv具有周期性,并且周期Ts和编码记忆ms存在约束关系,Ts=ms+1。通常在TV-LDPC-CC一个周期内的奇偶校验矩阵是(2ms+1)(c-b)×Tsc的二进制矩阵,如(12)式所示:
在(12)式中,每个子矩阵的维数是一样的,为(c-b)×c,每个子矩阵是稀疏的,码率为R=b/c。在(12)式中,一个周期内的奇偶校验矩阵有Ts列,每列的尺寸为(2ms+1)(c-b)×c,其中包含ms+1个(c-b)×c非零子矩阵和ms个(c-b)×c的全零子矩阵。假设将奇偶校验矩阵Hconv每列中ms+1个非零子矩阵构成的(ms+1)(c-b)×c的二进制矩阵称为记忆矩阵,记为Ft,t=0,1,...,Ts-1。
RA-LDPC码的Hd矩阵可以按列分块为L个如(9)式所示的M×k抽取矩阵Ey,每个抽取矩阵可以按行分块为L个如(11)式所示的m×k抽取子矩阵Ey(l)。TV-LDPC-CC一个周期内的奇偶校验矩阵按列分解为Ts个(ms+1)(c-b)×c记忆矩阵Ft,而每个记忆矩阵可以按行分解为ms+1个(c-b)×c的非零子矩阵Hs(t),且Ts=ms+1。观察表明,抽取矩阵Ey的结构参数和记忆矩阵Ft的结构参数可以很好地匹配,因此,可以规定如下:
Ft=Ey (15)
满足(15)式的参数匹配等式如(16)式所示:
由(16)的匹配条件,得到抽取矩阵Ey的子矩阵如(11)式的Ey(l)和记忆矩阵Ft的子矩阵如(8)和(14)式的Hs(t)的结构参数的如下对应关系:
依据(17)式的结构参数匹配不难看出,在TV-LDPC-CC的构造过程中,可以用RA-LDPC码Hd矩阵的每个抽取子矩阵Ey(l)依次取代在TV-LDPC-CC奇偶校验矩阵一个周期内的记忆矩阵的子矩阵Hs(t),即可得到一个周期内RC-LDPC-CC的奇偶校验矩阵如(18)式所示:
由上述(18)式的矩阵按照Ts周期重复得到半无限长矩阵HRA-c所定义的RA-LDPC-CC不能进行线性编码。为了解决线性编码问题,在Hd的每一个m×k维的抽取子矩阵Ey(l)中考虑矩阵的双对角线结构。观察表明:如果直接在各个抽取矩阵Ey的右侧放置M×M的双对角线矩阵,那么Ey矩阵和双对角线矩阵之间可能出现4围线。为了避免这种情况,考虑对抽取子矩阵Ey(0)加双对角线矩阵的方案。具体方案描述如下:对l=0,修改(18)式中每一列的第一个抽取子矩阵Ey(0)(y=0,1,...,L-1),即在Ey矩阵每列的第一个m×k的子矩阵Ey(0)的右侧添加一m×m的双对角线矩阵Hp(如(2)式),Ey矩阵中的其它抽取子矩阵Ey(l)(l=1,2,...,L-1)的右侧添加m×m的全零矩阵。记新构造的抽取子矩阵为定义如(19)式所示:
上述构造的矩阵仅仅是一个周期内的奇偶校验矩阵。根据Hconv的周期性,通过对矩阵进行Ts的周期重复可以得到半无限长的奇偶校验矩阵HRA-c,如(22)式所示,由矩阵HRA-c定义的LDPC-CC称之为RA-LDPC-CC,周期为L,编码记忆为L-1,码率为R=1-m/(m+k)=k/(m+k)。在矩阵HRA-c中,对于任意时刻t,若满足t=y+n·L,其中y=0,1,...,L-1表示抽取矩阵的索引,n=0,1,2,...,∞表示当前时刻t所处的周期,那么l=0,1,2,...,L-1。
第二部分 线性编码算法:
假设在通信信道上传输码率为R=k/(m+k)的RA-LDPC-CC的码字cconv,式(22)矩阵结构提供了线性编码方案。对于任意时刻t,t=0,1,2...∞,设ut表示时刻t输入编码器传输的k长的二进制信息序列,ut={ut p|ut p∈GF(2),p=0,1,2,...,k-1},ut p表示在第t时刻信息序列的第p位信息比特;设vt表示时刻t通过(22)式的编码后输出的m+k长的二进制编码序列,vt={vt q|vt q∈GF(2),q=0,1,2,...,m+k-1},vt q表示在第t时刻编码序列的第q位编码信息比特。任意时刻的编码序列可以分为k比特的信息位矢量和m比特的校验位矢量即信息位矢量与信息序列ut相同。
设一个码序列v=[v0,v1,...,vt...,v∞],根据码定义,vHT RA-c=0,其中奇偶校验矩阵HRA-c如(22)所示。vHT RA-c=0可写成下式所示:
由上式计算得到,当t=0时,
当t=1时,
vHT RA-c=[v0,v1]HT RA-c=0
同理,在一个周期内,当t=L-1时,
vHT RA-c=[v0,v1,...,vL-1]HT RA-c=0
当t超过一个周期时,如当t=L时,
vHT RA-c=[v0,v1,...,vL-1,vL]HT RA-c=0
由上述推导过程,对于任意时刻t,t=0,1,2...∞,将vHT RA-c=0的左边按照m+k长分段矢量和m×(m+k)尺寸的抽取子矩阵相乘的形式展开可以写成(23)式的通式:
联合(24)和(25)式可得:
综上所述,RA-LDPC-CC的编码计算方式如(27)式所示:
(27)式中第一个表达式计算编码序列的k位信息位;第二个表达式计算编码序列的第一个校验位,表示抽取子矩阵Ey(l)中的一行与k长信息序列乘积的求和计算,得到的校验位计算的中间值,表示L个时刻(当前时刻和L-1个编码记忆时刻)校验位计算中间值的累加,得到第一个校验位的计算结果;第三个表达式计算编码序列的后m-1个校验位,其中双求和表达式与第二个表达式的计算方式相同,表示递归求和,即从第二个校验位开始,双求和表达式均要与前一次得到的校验位通过递归求和,才能得到当前的校验位。所有校验位的计算过程则形成串联线性编码算法。
第三部分 线性编码器执行电路:
RA-LDPC-CC的编码器可分为两部分:直接输出信息位和计算校验位。校验位主要由4部分的计算构成:首先完成的乘法运算,即两个k长二进制序列的异或运算;二是对乘法运算的积进行从0到k-1的累加求和,即这两个运算是完成矩阵与矢量的乘法运算,即元素两两相乘,然后累加求和;三是进行L个时刻校验位计算中间值的累加计算,即完成表达式的计算;最后是从第二个校验位开始的递归求和,当计算第q(q=k+1,k+2,...,k+m-1)个校验位时,必要与第q-1个校验位的结果求和。
编码器电路总体框图
线性串行编码器的原理电路包括6个部分:k长输入缓存器、L个k长信息位右移寄存器、m个L·k长循环右移寄存器阵列、L个k+1长运算单元、双求和单元和m长输出缓存器,如图1所示。
工作原理:将奇偶校验矩阵HRA-c的抽取矩阵E0中的L个抽取子矩阵E0(l)事先存储在ROM中。编码器初始化,从ROM中将E0矩阵L个抽取子矩阵E0(0),E0(1),...,E0(L-1)依次存入m个L·k长的循环右移寄存器阵列中,存储方式是E0(0)存入阵列的第1列m个寄存器,E0(1)存入第2列的m个寄存器,...,E0(L-1)存入第L列的m个寄存器。
输入信息序列启动编码器,输入信息序列到k长输入缓存器中,在使能信号εa的控制下向L个k长信息位右移寄存器串行输入数据,每次输入k位。在初始阶段,第一个k长信息位右移寄存器输入k位信息,完成m个校验位的计算;在εa的控制输入第二个k长信息位右移寄存器,完成下一个m个校验位的计算;继续下去直到L个k长信息位右移寄存器的每一个都存满k位信息,下面的描述是针对L个k长信息位右移寄存器均存储了k位信息的情况。
L个k长信息位右移寄存器存满k位信息序列之后,执行如下两种操作:在使能信号εb控制下,将L个k长信息位右移寄存器中的信息序列并行输入到L个k+1长运算单元中;在使能信号εa控制下,L个k长信息位右移寄存器进行右移k位操作,输入新的k位信息,更新L个k长信息位右移寄存器的每一个。
m个L·k长的循环右移寄存器阵列执行如下两种操作:m个L·k长的循环右移寄存器分别在各自的使能信号ε0,ε1,...,εm-1的控制下,将所存储的奇偶校验矩阵的对应k位元素并行传输给对应的L个k+1长运算单元;在使能信号ε的控制下,m个L·k长的循环右移寄存器同时进行循环右移k位操作一次,完成对m个L·k长的循环右移寄存器阵列的存储内容的更新。
L个k+1长运算单元完成两种运算:每个运算单元的数据由信息位寄存器并行输入k位和循环右移寄存器阵列对应的k长寄存器并行输入k位,完成k位乘法运算将前k位乘积依次送到累加器中,完成累加计算计算后的校验位信息计算中间值输出到双求和单元。
双求和单元执行两种求和运算:L个k+1长运算单元的校验位计算中间值分别输入双求和单元,在双求和单元的加法器中完成累加计算将累加计算结果送入双求和单元的进行反馈自加,使当前校验位结果与前一个校验位结果进行递归求和,即完成的运算。
k长输入缓存器:输入缓存器由k长的寄存器构成,如图2所示,其功能是对k位的信息序列进行缓存,等待L个k长信息位右移寄存器的使能信号εa有效时,将k位的信息序列输出到L个k长信息位右移寄存器中,然后在输入缓存器中输入新的k位信息序列。
L个k长信息位右移寄存器:信息位右移寄存器的结构是由k长的右移寄存器构成,一共有L个k长右移寄存器,如图3所示。在使能信号εa控制下,通过一根数据线将输入缓存器的k位信息序列串行输入到第一个k长信息位右移寄存器中,并依次更新后续L-1个k长信息位右移寄存器的数据。当k长信息位寄存器存满时,在使能信号εb控制下,L个k长信息位右移寄存器的数据分别并行输入L个k+1长运算单元中参与校验位的中间值计算。
m个L·k长的循环右移寄存器阵列:循环右移寄存器阵列由m个L·k长的循环右移寄存器构成,每一个L·k长循环右移寄存器又由L个k长的右移寄存器构成,如图4所示。首先对m个L·k长的循环右移寄存器阵列进行初始化,将奇偶校验矩阵HRA-c中抽取矩阵E0的L个m×k的抽取子矩阵E0(l)按照下标索引降序依次存入m个L·k长的循环右移寄存器阵列。每一个L·k长的循环右移寄存器都分别由各自的使能信号ε0,ε1,...,εm-1控制,当使能信号ε0有效时,循环右移寄存器阵列第0行的L个k长的右移寄存器分别向L个k+1长运算单元输入各自E0(l)矩阵中的k位元素,用于完成一个周期内第一个校验位的计算,当其它使能信号ε1,...,εm-1分别有效时,从第1到第m-1组的L个k长的元素与第0组的L个k长的元素进行同样的处理,分别用于完成一个周期内第二到第m个校验位的计算,每输入k个信息位,就能执行m个校验位的计算;当使能信号ε有效,m个L·k长的循环右移寄存器阵列的每一行向右循环移位k次,完成m·L个k长寄存器的更新,准备输入下一个k长的信息位和执行下一个m个校验位的计算。
L个k+1长运算单元:运算单元有L个,每一个由两部分构成,即k长的运算寄存器和一位累加器构成,如图5所示。L个k长的运算寄存器的每一个有2k根数据输入线,L个一位累加器的每一个有1根数据输出线。k根数据输入线传输来自k长信息位右移寄存器的信息序列,另外k根数据输入线传输来自m个L·k长循环右移寄存器阵列中一个k长寄存器的矩阵数据,连接一位累加器的1根数据输出线输出计算得到的校验位计算的中间值到双求和单元。L个k+1长的运算单元执行两种运算:首先,L个k长的运算寄存器接收来自L个k长信息位右移寄存器的信息数据和L个k长循环右移寄存器的矩阵数据在k长的运算寄存器内执行异或运算,完成表达式(27)中的乘法运算;然后,L个k长的运算寄存器的每一个分别向右移位到一位累加器中,每移位到一位累加器中一位数据,就进行累加一次,每个k长的运算寄存器右移k次,一位累加器执行k-1次累加运算,完成表达式(27)中的求和运算计算结果输出到双求和单元中。
双求和单元:由一个L长移位寄存器,一个一位累加器和一个反馈自加器构成,如图6所示。在双求和处理单元中,接收来自L个k+1长运算寄存器的L个校验位计算中间值存入L长的移位寄存器中,然后在一位累加器中执行L个校验位计算中间值的累加,完成的求和计算,并将计算结果送入反馈自加器;反馈自加器在一个编码周期内,将L个校验位计算中间值的求和结果与前一个校验位相加,完成一个新的校验位的计算。除了第一个校验位不需要做反馈自加以外,每得到一个校验位,将校验位保存在反馈自加器中,同时输出这个校验位到输出缓冲器中。
m长输出缓存器:输出缓存器由m长的移位寄存器构成,如图7所示,接收来自双求和处理单元的m个校验位,先进先出,m个计算出的校验位串行输入输出缓存器,向右移位,串行输出;在输出端连接一个双掷开关,先将双掷开关接通信息位数据线,将k长的信息位输出,然后将双掷开关掷向输出缓存器的输出端,依次输出编码得到的m个校验位,完成一个编码序列vt的输出。
当一个周期内L·m个校验位计算完成时,开始下一个周期校验位的计算,重复上述步骤。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种通信调制系统中RA-LDPC-CC的编码方法,其特征在于,包括以下步骤:
将RA-LDPC的奇偶校验矩阵HRA中的Hd矩阵按列分块,分解成k个分块子矩阵,每个子矩阵的维数是M×L,分别从k个M×L的分块子矩阵中抽取k个M长的列矢量wi,y,i=0,1,...,k-1,y=0,1,...,L-1,构成M×k的二进制矩阵作为抽取矩阵,记为Ey,共有L个抽取矩阵,每一个抽取矩阵Ey通过第一个抽取矩阵E0内每一列循环下移y-1次,每次下移m位得到,其中,m=M/L;
TV-LDPC-CC一个周期内的奇偶校验矩阵每一列分为ms+1个(c-b)×c非零子矩阵和ms个(c-b)×c的全零子矩阵,是(2ms+1)(c-b)×Tsc的二进制矩阵;将奇偶校验矩阵Hconv每列中ms+1个非零子矩阵构成的(ms+1)(c-b)×c的二进制矩阵作为记忆矩阵,记为Ft,t=0,1,...,Ts-1,奇偶校验矩阵由Ts个记忆矩阵构成;
规定的记忆矩阵Ft与Hd矩阵的抽取矩阵Ey相同,令抽取矩阵Ey和记忆矩阵Ft的行数相等:mL=M=(ms+1)(c-b),令Hd矩阵和矩阵的列数相等:kL=K=cTs,Ts=ms+1;令的矩阵周期等于Hd矩阵的抽取矩阵的个数:L=Ts=ms+1;
将抽取矩阵Ey按行分块分为L个m×k的抽取子矩阵Ey(l),l=0,1,...,L-1,在每个抽取子矩阵的第一个m×k的子矩阵右侧添加一m×m的双对角线矩阵Hp,在每个抽取子矩阵除第一个m×k的子矩阵以外的每个子矩阵右侧添加m×m的全零矩阵,得到新构造的抽取子矩阵为
令抽取子矩阵与Hs(t)矩阵的行数相等:m=c-b,令抽取子矩阵与Hs(t)矩阵的列数相等:m+k=c,得到具有线性编码结构的一个周期内的奇偶校验矩阵Hs(t)为记忆矩阵Ft按行分块的ms+1个(c-b)×c的非零子矩阵中的一个子矩阵;
所述定义RA-LDPC-CC的半无限长的奇偶校验矩阵HRA-c为:
2.根据权利要求1所述的通信调制系统中RA-LDPC-CC的编码方法,其特征在于,设ut表示时刻t传输的k长的二进制信息序列,ut={ut p|ut p∈GF(2),p=0,1,2,...,k-1},utp表示在第t时刻信息序列的第p位信息比特;设vt表示时刻t通过RA-LDPC-CC编码后输出的m+k长的二进制编码序列,vt={vt q|vt q∈GF(2),q=0,1,2,...,m+k-1},vt q表示在第t时刻编码序列的第q位编码信息比特;任意时刻的编码序列可以分为k比特的信息位矢量和m比特的校验位矢量即信息位矢量与信息序列ut相同;
其中,RA-LDPC-CC的编码方法如下:
q=k时, 表示第t-l时刻第l个抽取子矩阵的第q-k行第g列,表示第t-l时刻的第g位编码信息比特;表示抽取子矩阵Ey(l)中的一行与k长信息序列乘积的求和计算,表示L个时刻校验位计算中间值的累加;
q=k+1,k+2,...,k+m-1时,
6.一种基于权利要求1至5任一项所述的编码方法的编码器,其特征在于,包括:ROM、k长输入缓存器、L个k长信息位右移寄存器、m个L·k长循环右移寄存器阵列、L个k+1长运算单元以及双求和单元和m长输出缓存器;
ROM,用于存储奇偶校验矩阵HRA-c的抽取矩阵E0中的L个抽取子矩阵E0(l);
编码器初始化,m个L·k长的循环右移寄存器阵列依次存入ROM中E0矩阵的L个抽取子矩阵E0(0),E0(1),...,E0(L-1),存储方式是E0(0)存入m个L·k长的循环右移寄存器阵列的第1列m个k长寄存器,E0(1)存入第2列的m个k长寄存器,…,E0(L-1)存入第L列的m个k长寄存器;
k长输入缓存器,用于接收输入信息序列,在使能信号εa的控制下向L个k长信息位右移寄存器串行输入数据,每次输入k位;
在初始阶段,第一个k长信息位右移寄存器输入k位信息,用于完成m个校验位的计算;在εa的控制输入第二个k长信息位右移寄存器,用于完成下一个m个校验位的计算;继续下去直到L个k长信息位右移寄存器的每一个都存满k位信息;
L个k长信息位右移寄存器每存入k位信息序列之后,在使能信号εb控制下,将L个k长信息位右移寄存器中的信息序列并行输入到L个k+1长运算单元中;在使能信号εa控制下,L个k长信息位右移寄存器进行右移k位操作,输入新的k位信息,更新L个k长信息位右移寄存器的每一个;
m个L·k长的循环右移寄存器阵列分别在各自的使能信号ε0,ε1,...,εm-1的控制下,将所存储的奇偶校验矩阵的对应k位元素并行传输给对应的L个k+1长运算单元;在使能信号ε的控制下,m个L·k长的循环右移寄存器同时进行循环右移k位操作一次,完成对m个L·k长的循环右移寄存器阵列的存储内容的更新;
L个k+1长运算单元中每个运算单元的数据由信息位寄存器并行输入k位和循环右移寄存器阵列对应的k长寄存器并行输入k位,完成k位乘法运算将前k位乘积依次送到累加器中,完成累加计算计算后的校验位信息计算中间值输出到双求和单元;
7.根据权利要求6所述的编码器,其特征在于,每一个L·k长循环右移寄存器由L个k长的右移寄存器构成;
对m个L·k长的循环右移寄存器阵列进行初始化,将奇偶校验矩阵HRA-c中抽取矩阵E0的L个m×k的抽取子矩阵E0(l)按照下标索引降序依次存入m个L·k长的循环右移寄存器阵列;每一个L·k长的循环右移寄存器分别由各自的使能信号ε0,ε1,...,εm-1控制,当使能信号ε0有效时,循环右移寄存器阵列第0行的L个k长的右移寄存器分别向L个k+1长运算单元输入各自E0(l)矩阵中的k位元素,用于完成一个周期内第一个校验位的计算,当其它使能信号ε1,...,εm-1分别有效时,从第1到第m-1组的L个k长的元素与第0组的L个k长的元素进行同样的处理,分别用于完成该时刻内第二到第m个校验位的计算,每输入k个信息位,就能执行m个校验位的计算;当使能信号ε有效,m个L·k长的循环右移寄存器阵列的每一行向右循环移位k次,完成m·L个k长寄存器的更新,准备输入下一个k长的信息位和执行下一个m个校验位的计算。
8.根据权利要求6所述的编码器,其特征在于,每个k+1长运算单元由k长的运算寄存器和一位累加器构成;
L个k长的运算寄存器的每一个有2k根数据输入线,L个一位累加器的每一个有1根数据输出线;k根数据输入线传输来自k长信息位右移寄存器的信息序列,另外k根数据输入线传输来自m个L·k长循环右移寄存器阵列中一个k长寄存器的矩阵数据,连接一位累加器的1根数据输出线输出计算得到的校验位计算的中间值到双求和单元;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910546156.2A CN110324048B (zh) | 2019-06-24 | 2019-06-24 | 一种通信调制系统中ra-ldpc-cc的编码方法及编码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910546156.2A CN110324048B (zh) | 2019-06-24 | 2019-06-24 | 一种通信调制系统中ra-ldpc-cc的编码方法及编码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110324048A CN110324048A (zh) | 2019-10-11 |
CN110324048B true CN110324048B (zh) | 2020-12-08 |
Family
ID=68120134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910546156.2A Active CN110324048B (zh) | 2019-06-24 | 2019-06-24 | 一种通信调制系统中ra-ldpc-cc的编码方法及编码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110324048B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113114273B (zh) * | 2021-04-14 | 2022-11-18 | 深圳市统先科技股份有限公司 | Ldpc码的校验矩阵提取方法及系统、设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094000A (zh) * | 2007-06-20 | 2007-12-26 | 北京大学 | 一种基于peg算法的时不变ldpcc码的构造方法及其编译码器 |
CN104506200A (zh) * | 2009-11-13 | 2015-04-08 | 松下电器(美国)知识产权公司 | 编码装置、解码装置、编码方法以及解码方法 |
CN105515588A (zh) * | 2015-07-15 | 2016-04-20 | 北京理工大学 | 一种ldpc-cc高速译码器 |
CN107786211A (zh) * | 2017-09-26 | 2018-03-09 | 华中科技大学 | 一种ira‑qc‑ldpc码的代数结构获取方法、编码方法和编码器 |
EP3416295A1 (en) * | 2011-05-18 | 2018-12-19 | Panasonic Corporation | Bit interleaver for a bicm system with qc ldpc codes |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7925965B2 (en) * | 2006-02-02 | 2011-04-12 | Samsung Electronics Co., Ltd | Method for transmitting/receiving signals in a communications system and an apparatus therefor |
CN101729209A (zh) * | 2008-11-04 | 2010-06-09 | 电子科技大学 | 多元ldpc码与编码ssd的联合设计方法 |
CN102118231B (zh) * | 2011-04-13 | 2013-04-17 | 厦门大学 | 多边类型低密度奇偶校验码的码率自适应编码方法 |
CN105915231B (zh) * | 2016-04-07 | 2019-03-26 | 西安电子科技大学 | 基于乘性重复叠加的长约束卷积码构造方法 |
-
2019
- 2019-06-24 CN CN201910546156.2A patent/CN110324048B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094000A (zh) * | 2007-06-20 | 2007-12-26 | 北京大学 | 一种基于peg算法的时不变ldpcc码的构造方法及其编译码器 |
CN104506200A (zh) * | 2009-11-13 | 2015-04-08 | 松下电器(美国)知识产权公司 | 编码装置、解码装置、编码方法以及解码方法 |
EP3416295A1 (en) * | 2011-05-18 | 2018-12-19 | Panasonic Corporation | Bit interleaver for a bicm system with qc ldpc codes |
CN105515588A (zh) * | 2015-07-15 | 2016-04-20 | 北京理工大学 | 一种ldpc-cc高速译码器 |
CN107786211A (zh) * | 2017-09-26 | 2018-03-09 | 华中科技大学 | 一种ira‑qc‑ldpc码的代数结构获取方法、编码方法和编码器 |
Also Published As
Publication number | Publication date |
---|---|
CN110324048A (zh) | 2019-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10693497B2 (en) | Decoding apparatus, reception apparatus, encoding method and reception method | |
EP1829223B1 (en) | Parallel, layered decoding for Low-Density Parity-Check (LDPC) codes | |
US8347170B2 (en) | Method and apparatus for performing decoding using LDPC code | |
EP2387157B1 (en) | Efficient encoding of LDPC codes using structured parity-check matrices | |
US7395494B2 (en) | Apparatus for encoding and decoding of low-density parity-check codes, and method thereof | |
KR101208546B1 (ko) | 저밀도 패리티 체크 행렬을 이용한 부호화 및 복호화 방법 | |
KR101211433B1 (ko) | 낮은 복잡도를 가지는 고속의 qc-ldpc 부호의 부호화 장치 및 방법 | |
WO2018128560A1 (en) | Efficiently decodable qc-ldpc code | |
US7934147B2 (en) | Turbo LDPC decoding | |
EP2405583A1 (en) | Encoder, decoder, and encoding method | |
CN105075128A (zh) | 具有高并行性、低差错本底和简单编码原理的经提升ldpc码的设计 | |
WO2018084735A1 (en) | Efficiently decodable qc-ldpc code | |
CN109586732B (zh) | 中短码ldpc编解码系统和方法 | |
CN101904101A (zh) | 编码器、解码器、编码方法和解码方法 | |
KR20050044963A (ko) | q차 제곱 잉여류를 이용한 준순환 저밀도 패러티 검사부호 생성 방법 | |
US7493548B2 (en) | Method and apparatus for encoding and decoding data | |
EP2951925B1 (en) | Ldpc code design and encoding apparatus enabling the adjustment of code rate and codelength | |
JP4832447B2 (ja) | チャネルコードを用いた復号化装置及び方法 | |
KR101147768B1 (ko) | 채널 코드를 이용한 복호화 방법 및 장치 | |
CN110324048B (zh) | 一种通信调制系统中ra-ldpc-cc的编码方法及编码器 | |
Bajpai et al. | A new construction method for large girth quasi-cyclic ldpc codes with optimized lower bound using chinese remainder theorem | |
CN110730003B (zh) | 一种ldpc编码方法及ldpc编码器 | |
EP2951926B1 (en) | Ldpc code design and encoding apparatus for their application | |
Zhdanov | Convolutional encoding of 60, 64, 68, 72-bit self-dual codes | |
CN112583420A (zh) | 一种数据处理方法和译码器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |