CN101094000B - 一种基于peg算法的时不变ldpcc码的构造方法及其编译码器 - Google Patents

一种基于peg算法的时不变ldpcc码的构造方法及其编译码器 Download PDF

Info

Publication number
CN101094000B
CN101094000B CN2007101176218A CN200710117621A CN101094000B CN 101094000 B CN101094000 B CN 101094000B CN 2007101176218 A CN2007101176218 A CN 2007101176218A CN 200710117621 A CN200710117621 A CN 200710117621A CN 101094000 B CN101094000 B CN 101094000B
Authority
CN
China
Prior art keywords
centerdot
matrix
substep
code
ldpcc
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.)
Expired - Fee Related
Application number
CN2007101176218A
Other languages
English (en)
Other versions
CN101094000A (zh
Inventor
管武
乔华
董明科
金野
梁庆林
项海格
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Original Assignee
Peking University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Peking University filed Critical Peking University
Priority to CN2007101176218A priority Critical patent/CN101094000B/zh
Publication of CN101094000A publication Critical patent/CN101094000A/zh
Application granted granted Critical
Publication of CN101094000B publication Critical patent/CN101094000B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

一种LDPCC码的构造方法及其编译码器,基于逐条添加边算法PEG的时不变低密度奇偶校验卷积码LDPCC的构造方法及其编译码器。一种新的构造时不变LDPCC码的方法及其编译该种LDPCC码的编译码器。一种LDPCC码的构造方法,包括编、译码器,运行的步骤包括:初始化的步骤;确定一个置换单位矩阵LDPC分组码的校验阵HQ T的参数的步骤;构造置换单位矩阵LDPC码校验阵HQ T的步骤;构造LDPCC码的校验多项式矩阵HT(D)的步骤;导出LDPCC码的生成矩阵G(D)的步骤。所述的方法得到的时不变LDPCC码,保证优良的环路特性和码间距特性、性能优越,实现了对其的简单时不变卷积码编码和流水线迭代译码。

Description

一种基于PEG算法的时不变LDPCC码的构造方法及其编译码器
技术领域
本发明涉及一种LDPCC码的构造方法及其编译码器,是一种应用于电通讯技术中的编码译码技术,是一种强调纠错能力的编码译码技术,特别涉及一种基于逐条添加边算法PEG的时不变低密度奇偶校验卷积码LDPCC的构造方法及其编译码器。 
背景技术
信道编码技术作为保证通信***可靠传输的关键技术,在近十年来得到了飞速发展,别强调编译码技术得纠错能力,保证通讯质量为前提,以Turbo码、LDPC码(低密度奇校验码)、LDPCC码(LDPC卷积码)为代表的一大批性能能够逼近理论极限的信道编码继被发现并得到深入研究,其中LDPCC码在近几年得到了广泛的关注,它以速率和码长可变的特性、以及卷积的编码结构和流水线的译码结构,受到了流式通信***的广泛青睐 
LDPCC码既具有卷积码的特征,又具有低密度奇偶校验码的特征。LDPCC码可用其验矩阵的转置矩阵HT来描述,其HT矩阵必须满足下列四个条件: 
1.H矩阵具有半无限的平移结果,是一个卷积码的校验阵; 
2.H矩阵足够稀疏,即非零元素的数目远远小于矩阵中的零元素; 
3.H矩阵的任意两行在相同的位置上的元素‘1’至多只有一个; 
4.H矩阵的任意两列在相同位置上的‘1’至多只有一个。 
其中后两个条件通常被称为行列约束(RC-constraint)。一般HT的结构如下: 
Figure DEST_PATH_S071B7621820070913D000011
该矩阵是LDPCC码半无限校验矩阵,其中每个小矩阵H(i)的维度为n×(n-k),H(i)的上标i满足0≤i<M,这种LDPCC码每输入k个信息比特,可输出n个码字比特,其码率为R=k/n,记为(n,k,M)LDPCC码。半无限平移结构的HT矩阵还可以用多项式来描述,其多项式定义为HT(D)=H(0)+DH(1)+L+DM-1H(M-1),HT的多项市矩阵: 
H T ( D ) = H 0,0 ( D ) H 0,0 ( D ) L H 0 , n - k - 1 ( D ) H 1,0 ( D ) H 1,1 ( D ) L H 1 , n - k - 1 ( D ) M M O M H n - 1,0 ( D ) H n - 1,1 ( D ) L ; H n - 1 , n - k - 1 ( D )
除了可以用HT矩阵来描述LDPCC码外,还可将LDPCC码的HT视为一个LDPC码得校验阵,用二分图(Bipartite Graph)的方式来表示一个LDPCC码的构成。如图1所示,(图1及以后各图中的□代表校验节点,○代表变量节点)为一LDPCC码的二分图,图中的节点分为两种类型:圆形节点称为变量节点(Variable Node),每个变量节点与LDPCC码的一个码元相对应,对应校验矩阵HT的一行,其个数和码的校验矩阵HT的行数相同;格形节点称为校验节点(Check Node),与校验方程对应,对应校验矩阵HT的一列,其个数和码的校验矩阵HT的列数相同。变量节点vi和校验节点uj之间的连线表示与uj对应的第j校验方程中含有与vi对应的第i个码元,即HT矩阵的第i行第j列为‘1’。 
从图论的角度来看,相互之间有连接线的节点互为邻点(Neighbor),一个节点的邻点数量称为这个节点的维度(Degree),由各个不同维度的百分比构成的函数为维度分布函数。如果从一个节点出发,经过不重复的边,可以回到起始节点,则经过路径上的所有的边和节点构成一个环(cycle),环的长度定义为环中包含的边数。整个图中的最短的环的长度称为图的周长(Girth)。根据LDPCC码定义中提到的行列约束,LDPCC码的二分图中不可能出现长度为4的环(cycle 4 free),即LDPCC码的二分图的周长大于或等于6。 
对于规则LDPCC码来说,相同类型的节点的维度都是相同的。但在非规则LDPCC码对应的二分图中,两种类型的节点的维度分别服从各自的维度分布函数,这个分布函数从总体上约束每个节点的维度。我们可以把规则LDPCC码看作是非规则码的一种特殊情况。 
LDPCC码的结构特性是决定其性能的主要因素,这些结构特性主要包括:二分图周长的大小和环的分布等。其中周长的大小起到主要作用,因此它成为LDPCC码构造过程中的一个主要衡量指标。 
LDPCC码的译码类似于LDPC分组码的译码,都是基于Belief Propagation(BP)算法译 码,即和积算法译码。在二分图中,LDPCC码的译码算法可以得到直观的理解。如图2、3、4所示。首先,每个变量节点以各个比特从信道中获得的软信息作为初始置信度,启动迭代译码算法。随后,每个变量节点根据上一次迭代校验节点传递来的外信息,执行和算法,并将相应的软信息传递给对应的校验节点,如果是第一次迭代,则外信息设置为0;校验节点根据接收到的软信息计算各个有连接的变量节点的外信息,并分别传递出去。最后,变量节点将所有的外信息与信道初始信息相加,得到判决信息,如果判决结果符合H矩阵校验,则停止译码,否则执行和算法,继续迭代,直至达到最大迭代次数。图2为变量节点接收信道信息的示意图,图3为变量节点传递置信度给校验节点的示意图,图4为校验节点计算置信度传递给变量节点的示意图。 
常用的LDPCC码译码器采用和二分图类似的结构。如图5所示,其译码器由多个子译码单元串行级联组成,每个子译码单元由一个变量节点单元VNU和一个紧跟的校验节点单元CNU组成,子译码单元的数量等于置信度传播算法BP的迭代次数;每个子译码单元完成一次BP算法的迭代;多个译码单元串行级联,数据以流水线的方式通过多个子译码单元,完成迭代译码。变量节点和校验节点在译码器中被实现为VNU与CNU,边线则被实现为VNU和CNU之间的连接数据线。和算法在VNU中完成,积算法在CNU中完成,外信息通过VNU和CNU之间的数据线传递。子译码单元每完成一次信息节点运算和一次校验节点运算,输出第一行数据,作为子译码的软信息传给上一级;输入下一级传入的软信息,与其余的数据构成一个新的数据段,再次进行子译码运算。第i个子译码单元的输出为第i+1个子译码单元的输入;除第一个子译码单元的输入为信道信息的似然比外,其他各个子单元的输出和输入均为译码似然比的外信息;最后一个子译码单元输出的软信息的硬判决输出为译码码字。数据流逐个通过各个子译码单元,逐行输出译码码字,完成迭代译码。在迭代次数有限的情况下,译码性能随着子译码单元级联次数的增多而趋近香浓限。这种LDPCC译码器的复杂度仅于迭代次数和校验阵约束长度有关,与码长无关。同时,子译码器级联方式,使得随着节点数目的增加,VNU和CNU之间的数据线构成的网络不变,其复杂度随着节点数目的增加保持不变,可适应不同码长的解码。 
LDPCC码的构造方法源自LDPC码的构造方法,具体方法有两种:随机构造和结构化构造。随机构造方法一般首先构造一个随机的矩阵:
Figure S071B7621820070723D000041
再将矩阵的左下角阴影部分移到矩阵的右方,放在最后一列的后面: 
Figure S071B7621820070723D000042
这种方法只能构造出的LDPCC码,每一行与其紧靠的行的校验元素并不满足平移的结构,每一行只会在一个比较大的周期之后才会重复出现,即它仅具有准平移结构的校验矩阵,这一类码称之为时变LDPCC码。时变LDPCC的优点是构造方法简单,但其时变的特性使得LDPCC码的卷积编码和流水线译码结构变得复杂,不利于实现应用。结构化的方法一般是直接构造LDPCC码的校验多项式矩阵,如定义其校验多项式矩阵为: 
H T ( D ) = D a 0 b 0 D a 0 b 1 L D a 0 b n - k - 1 D a 1 b 0 D a 1 b 1 L D a 1 b n - k - 1 M M O M D a n - 1 b 0 D a n - 1 b 0 L D a n - 1 b n - k - 1
的格式,其半无限校验矩阵与前述的HT矩阵相同为:
Figure S071B7621820070723D000051
这种方法可以构造出严格平移结构的LDPCC码,每一行与其紧靠的行的校验元素满足严格的平移关系,这一类码称之为时不变LDPCC码。时不变LDPCC码是最为实用的一种LDPCC码。但这种方法构造的LDPCC码,由于没有在环路性能上进行优化,性能随机性较大;一般来说,这种方法无法构造(n,k)较小的时不变LDPCC码,不利于LDPCC码的硬件实现。如何结合随机构造和结构化构造的优点,利用随机的方法优化环路特性,构造出结构化的性能优异且参数(n,k)较小的时不变LDPCC码,是构造LDPCC码亟待解决的问题。 
联合随机构造和结构化构造的方法构造LDPC码,典型的成功范例是准循环(Quasi-cyclic)LDPC码的构造。准循环(Quasi-Cyclic)LDPC码的形式有许多种。最常用的准循环LDPC码也被称为置换单位矩阵LDPC码,它的HQ T矩阵为:
Figure S071B7621820070723D000061
其与码字v的关系为,vHQ T=0,即HQ T的每行对应一个变量节点(一个码字比特),每列对应一个校验节点(一个校验方程)。整个HQ T矩阵被划分为多个相同大小的子块,每个子块用经过循环移位的单位矩阵进行填充,通常称填充过程为矩阵置换,循环移位的单位矩阵则被称为置换矩阵。设子块的大小为p×p,矩阵中共有m个块列和n个块行,则该置换单位矩阵LDPC码的码长为np,码率小于或等于m/n。 
如果用符号I表示单位矩阵,I(p)表示循环移位p次的单位矩阵,则置换单位矩阵LDPC码可以等效地表示为如下所示的形式: 
H Q T = I ( p 0,0 ) I ( p 0,1 ) L I ( p 0 , m - 1 ) I ( p 1,0 ) I ( p 1,1 ) L I ( p 1 , m - 1 ) M M O M I ( p n - 1,0 ) I ( p n - 1,1 ) L I ( p n - 1 , m - 1 )
其中px,y表示第x行第y列的置换矩阵的循环移位偏移量,因此,图7所示的矩阵可以表示如下所示的形式: 
0 0 0 1 0 2 0 3
置换单位矩阵LDPC码还具有以下几个重要性质: 
性质1:置换单位矩阵LDPC码中任意一个长度为2l的环可以表示为 
Figure S071B7621820070723D000072
Figure S071B7621820070723D000073
Figure S071B7621820070723D000074
Figure S071B7621820070723D000075
L,
Figure S071B7621820070723D000076
Figure S071B7621820070723D000078
说明:因为H矩阵中的所有‘1’都只存在于每一个置换矩阵中,因此环经过的每一条边都对应到一个唯一确定的置换矩阵,故而环路经过的路径可以用该环路经过的置换矩阵来标识。 
性质2:性质1中标识的长度为2l的环可以简写为
Figure S071B7621820070723D000079
Figure S071B7621820070723D0000710
L,
Figure S071B7621820070723D0000711
Figure S071B7621820070723D0000712
说明:每一个环在矩阵中经过任意两个相邻的‘1’一定是处于同一行或同一列,因此性质1的表示方法可以被简化。 
性质3:置换单位矩阵LDPC码出现长度为2l的环路的充要条件是:  &Sigma; k = 0 l ( - 1 ) k p i k , j k = 0 mod p , 其中p表示置换矩阵大小。 
目前,构造置换单位矩阵LDPC码的方法可以分为规则码和非规则码两种。对于规则码,H矩阵的每一个子块都被非零的置换矩阵取代,置换矩阵的偏移量可以通过随机搜索的方法得到,也可以通过代数的方法确定,例如令pi,j=i×j;对于非规则码而言,H矩阵的子块除了被置换单位矩阵填充之外,还可以被全零矩阵填充,因此在确定每一个置换单位矩阵的偏移量之前,需要首先确定每一个置换单位矩阵的位置。所以对于非规则置换单位矩阵LDPC码,其构造步骤通常被分为两个,首先确定每一个非零置换矩阵的位置,然后再确定其偏移量。例如Block-PEG算法,首先利用PEG算法的思路,最大化环路,确定每一个非零置换矩阵的位置,然后再根据性质3的条件剔除不能被选择的偏移量,并在剩余的偏移量中进行随机挑选,完成整个置换单位矩阵LDPC码的构造过程。 
准循环LDPC码的构造方法综合了随机构造和结构化构造的特点,构造出了性能优异且易于实现的LDPC码。如何结合准循环LDPC码的构造,联合LDPCC的平移特征,有效地将二者综合在一起,构造性能优异的LDPCC码,是急需考虑的问题。
发明内容
针对目前LDPCC码构造方法的现状,为了实现参数可控的时不变LDPCC码的构造,本发明提出了一种新的构造时不变LDPCC码的方法及其编译该种LDPCC码编译码器。该方法的最大特点在于利用最大环路优化准则,构造出规则的和非规则的时不变LDPCC码。 
本发明的目的是这样实现的:一种LDPCC码的构造方法,包括编、译码器,运行的步骤包括: 
初始化的步骤; 
确定一个置换单位矩阵LDPC分组码的校验阵HQ T的参数的步骤; 
构造置换单位矩阵LDPC码校验阵HQ T的步骤; 
构造LDPCC码的校验多项式矩阵HT(D)的步骤; 
导出LDPCC码的生成矩阵G(D)的步骤; 
一种LDPCC码的编码器,包括:至少一个输入端、至少一个***序列输出端、至少一个检验序列输出端,其特征在于,恒定长度实现对输入信源的延迟和输出比特的反馈延迟的延迟线、时不变的复接器、异或门模2加;信源比特经过延迟线构成***序列输出;时不变的复接器将延迟线上的输入比特和输出反馈比特进行复接,经过异或门模2加构成校验序列输出。 
一种LDPCC码的译码器,包括:存储信道信息和译码外信息的先入先出存储器,其特征在于,时不变信息节点运算单元、时不变校验节点运算单元;由一个时不变信息节点运算单元和一个时不变校验节点运算单元时不变地连接到先入先出存储器中构成一个子译码器;多个子译码器串行级联,子译码器的数量等于和积算法的迭代次数;每个子译码单元的输出为其后一个子译码单元的输入;译码器的复杂度仅于迭代次数和校验阵约束长度有关,与码长无关,随着子译码器级联数目的增加,时不变信息节点运算单元和时不变校验节点运算单元之间的数据线构成的网络不变。 
本发明产生的有益效果是:所述的方法得到的是不变LDPCC码,既保证了优良的环路特性和码间距特性、性能优越,又实现了对其的简单卷积码编码和流水线译码。本发明构造的LDPCC码,是通过置换单位矩阵LDPC分组码转换而来,其继承甚至超越了对应的置换单位矩阵LDPC码的环路特性和码间距特性,保证了构造的LDPCC码的优良性能。本发明构造的LDPCC码与其对应的置换单位矩阵LDPC码相比,性能优于对应的置换单位矩阵LDPC码,浮点仿真结果如图11所示。同时,生成的生成多项式矩阵,可实现卷积结构的简单编码,仅由延迟线、复接器和异或门完成LDPCC码的编码工作。最后,根据其平移结构 的校验矩阵,可实现流水线式的迭代译码,译码结构不会随着码长的增加而变得复杂,可适应不同码长的数据的高速译码。 
附图说明
下面结合附图和实施例对本发明作进一步说明。 
图1是LDPCC码半无限校验矩阵示意图; 
图2是变量节点接收信道信息的示意图; 
图3是变量节点传递置信度给校验节点的示意图; 
图4是校验节点计算置信度传递给变量节点的示意图; 
图5是LDPCC码译码示意图; 
图6是实施例一的主流程示意图; 
图7是基于块的有权重二分图; 
图8是以当前变量节点为根节点做树状展开的示意图; 
图9是LDPCC码编码器结构示意图; 
图10是LDPCC码译码器结构示意图; 
图11是LDPCC码与准循环LDPC码性能比较示意图; 
图12是LDPCC码编码实例示意图; 
图13是LDPCC码译码实例示意图; 
图14是LDPCC码子译码单元实例示意图; 
图15是LDPCC码子译码单元结构实例示意图; 
图16是LDPCC码子译码单元译码流程演示示意图; 
图17是VNU结构实例示意图; 
图18是CNU结构实例示意图。 
具体实施方式
实施例一: 
针对目前LDPCC码构造方法的现状,为了实现参数可控的时不变LDPCC码的构造,本实施例描述了一种新的构造时不变LDPCC码的方法。该方法与目前其它LDPCC码的构造方法不同,它的最大特点在于利用最大环路优化准则,构造出规则的和非规则的时不变LDPCC码。该方法包括如下五个主要步骤,主要步骤流程如图6所示: 
步骤1: 
初始化时不变LDPCC码的参数:确定为k输入n输出LDPCC码,其校验矩阵HT约束 长度为M;确定LDPCC码的变量节点的维度分布函数,且维度分布函数满足约束条件:变量节点的不同维度值的个数不大于n; 
步骤2: 
根据LDPCC码的参数确定一个置换单位矩阵LDPC分组码的校验阵HQ T的参数:n-k个块列、n个块行,每个子块的大小p为不大于M的最大质数,其变量节点的维度分布函数和LDPCC码的初始化维度分布函数相同; 
步骤3: 
采用Block-PEG算法构造出置换单位矩阵LDPC码的校验阵HQ T,记为如下格式: 
H Q T = I ( p 0,0 ) I ( p 0,1 ) L I ( p 0 , n - k - 1 ) I ( p 1,0 ) I ( p 1,1 ) L I ( p 1 , n - k - 1 ) M M O M I ( p n - 1,0 ) I ( p n - 1,1 ) L I ( p n - 1 , n - k - 1 ) ,
其中全0方阵记为I(-1); 
步骤4: 
以HQ T的偏移量为基础,构造出LDPCC码的校验多项式矩阵HT(D),使得HT(D)中每一项的指数为HQ T的偏移量,即HT(D)的参数,记为基于置换单位矩阵的LDPCC码校验多项式矩阵: 
H T ( D ) = D p 0,0 D p 0,1 L D p 0 , n - k - 1 D p 1,0 D p 1,1 L D p 1 , n - k - 1 M M O M D p n - 1,0 D p n - 1,1 L D p n - 1 , n - k - 1 n &times; ( n - k )
步骤5: 
根据校验多项式矩阵HT(D),导出LDPCC码的生成矩阵G(D),使得G(D)HT(D)=0,G(D)的参数, 
G ( D ) = g 0 ( 0 ) ( D ) / g 0 ( D ) g 0 ( 1 ) ( D ) / g 0 ( D ) L g 0 ( n - k - 1 ) ( D ) / g 0 ( D ) 1 0 L 0 g 1 ( 0 ) ( D ) / g 0 ( D ) g 1 ( 1 ) ( D ) / g 0 ( D ) L g 1 ( n - k - 1 ) ( D ) / g 0 ( D ) 0 1 L 0 M M M M M M g k - 1 ( 0 ) ( D ) / g 0 ( D ) g k - 1 ( 1 ) ( D ) / g 0 ( D ) L g k - 1 ( n - k - 1 ) ( D ) / g 0 ( D ) 0 0 L 1
是一个***卷积码生成多项式矩阵。 
其中,在步骤1中,首先需要初始化LDPCC码的输入输出数和校验阵的约束长度,然后确定变量节点的维度分布参数。步骤1可由以下两个分步骤完成: 
1-1,根据通信***的需要,初始化LDPCC码的输入数k、输出数n和校验阵约束长度M; 
1-2,根据维度分布约束条件通过密度推演或者高斯近似等传统方法分别确定LDPCC码校验矩阵HT的变量节点维度分布函数。 
在步骤2中,首先需要确定置换单位矩阵LDPC分组码的是块行数、块列数,然后再确定HQ T矩阵的每一个子块的大小p,最后确定的是变量节点的维度分布参数。步骤2可由以下三个分步骤完成: 
2-1,根据LDPCC码的初始化参数,确定置换单位矩阵LDPC分组码HQ T的块行数为n、块列数为n-k; 
2-2,根据LDPCC码的校验阵的初始化约束长度M,确定HQ T矩阵的子块大小p,使得p为不大于M的最大质数; 
2-3,根据LDPCC码的初始化变量节点维度分布,确定HQ T矩阵的维度分布函数,使得HQ T和HT的维度分布函数相同。 
步骤3是本发明的必需步骤,它负责根据初始化参数、利用Block-PEG算法构造出置换单位矩阵LDPC码的校验阵HQ T。步骤3可以以最大环路准则为指导,首先确定HQ T矩阵非零子块的位置,再确定各个非零子块的循环移位偏移量。其中确定非零子块的位置时等价于逐个地向二分图中添加变量节点,并为每一个变量节点寻找到与之距离最远的校验节点。 
步骤3可由以下几个分步骤组成: 
3-1,根据维度分布确定矩阵HQ T各块行的重量,使得各行块的重量从上到下依次递增排列,记录下各行零元素的位置; 
3-2,构造矩阵HQ T对应的二分图,每一个块行对应一个变量节点,每一个块列对应一个校验节点,每条边线的权重的绝对值大小等于HQ T矩阵相应置换单位矩阵的偏移量大小,当边线起始于校验节点时则权重取为负值,起始于变量节点时,权重取为正值;其中,所述的权重的定义为:如果权重绝对值为u,则权重: 
Figure S071B7621820070723D000111
由于边线本身是没有方向的,因此这里的起点指的是二分图中某一条路径经过这条边线 时的起点。例如,依据上述定义,就可以将置换单位矩阵LDPC码HQ T矩阵: 
表示为图7所示的二分图形式; 
3-3,初始化二分图,添加n-k个不具有任何连接的校验节点,并按照HQ T矩阵中的块的列序号将其排序为c1,c2,……,cn-k,其中每个校验节点表示矩阵HQ T的一个块列; 
3-4,向二分图中逐个添加变量节点,每一个变量节点代表矩阵HQ T的一个块行,并为每一个变量节点挑选与根节点距离最远的校验节点进行连接;所述的距离最远的校验节点是指当将二分图树状展开到恰好包含所有的校验节点时,在该图中最后出现的的校验节点;如果有多个校验节点符合要求,则随机选择其中一个。具体步骤如下: 
A.以当前变量节点为根节点对二分图做树状展开,如图8所示;需要说明的是,这里的树状图并不是严格意义上的树,每一个节点出现且仅出现在距离根节点最近的一个位置上,因此二分图中的环在树状展开图中依然存在。 
B.判断是否所有n-k个校验节点都在树中:如果是则进入步骤C;如果有校验节点在树外,则进入步骤D;
其中,如果所有n-k个校验节点都出现在树状图中,则说明二分图中所有的校验节点与根节点都是连通的,此时与任何一个校验节点建立连接,都将导致二分图中新出现一个环。为了使该环的周长最大,就要选取与根节点距离最远的校验节点建立连接。而有校验节点在树状图之外指的是,树状图展开到第L层时,该层所有校验节点相邻的变量节点都已经出现在了树状图中,此时树状图包含的校验节点数目小于n-k个,则说明有校验节点与当前的根节点处于非连通的状态。 
C.寻找与根节点距离最远的校验节点,组成集合C,优先选择C中的当前维度最低的校验节点,与根节点之间建立连接,进入步骤E。 
所谓距离最远,指的是如果树状图展开到第L-1层时尚未遍历所有校验节点,而到第L层时所有的校验节点都被包含在树状图中了,那么第L层新出现的校验节点就是需要寻找的距离最远的校验节点。 
D.将二分图再次展开一层,返回B。 
E.遍历从根节点到步骤C挑选出的校验节点之间的路径,计算这些路径经过的边线的权重累加值s; 
其中,如果路径长度为2l,则累加权重  S = &Sigma; k = 0 l - 1 u k = &Sigma; k = 0 l - 1 ( - 1 ) l u .
F.求取权重绝对值候选集合X={x|(s-x)modp≠0,0≤x<p}。上述步骤C挑选出的校验节点如果已经出现在树状图中,那么根节点与之建立连接之后,二分图中将新出现一条环路,该环路经过的最后一条边线起点就是步骤C挑选出的校验节点。如果设该边线的权重绝对值为x,那么环路的累加权重就等于s-x。根据置换单位矩阵LDPC码的性质,二分图出现一条相等长度环路的充要条件是(s-x)mod p=0,因此只要能够保证权重绝对值x符合条件(s-x)mod p≠0就能够避免在H矩阵中出现与二分图中新环路长度相等的环。所以权重绝对值的候选集合定义为X={x|(s-x)modp≠0,0≤x<p}。 
G.从候选权重集合中挑选出合适的权重绝对值赋予新建立的边线。确定合适权重绝对值的方法有两种,一是从候选权重绝对值集合中随机挑选,这样能够在一定程度上保证HQ T矩阵的随机性,并且足够简单;二是首先从候选权重绝对值集合X中挑选出绝对值集合Y,Y中的所有数值y满足(s-y)mod p与p互素,再从Y中随机选择一个数值作为边线的权重绝对值。如果集合Y为空,那么就从X选取出一个数值z,使得(s-z)mod p与p的公因数最小,这一种方法能够确保每次新出现的环路周长最大。 
H.根节点和步骤C挑选出的校验节点的当前维度加1;
3-5,判断是否已经为当前变量节点建立符合维度分布需要的所有连接,如果没有则返回步骤3-4,否则进入步骤3-6; 
3-6,检查是否已经添加完所有n个变量节点,如果没有则返回步骤3-4,否则进入步骤3-7。 
3-7,根据3-4构造的二分图,写出置换单位矩阵LDPC码HQ T的权重矩阵: 
H Q T = I ( p 0,0 ) I ( p 0,1 ) L I ( p 0 , n - k - 1 ) I ( p 1,0 ) I ( p 1,1 ) L I ( p 1 , n - k - 1 ) M M O M I ( p n - 1,0 ) I ( p n - 1,1 ) L I ( p n - 1 , n - k - 1 )
的HQ T,其中pi,j为第i个变量节点和第j个校验节点的连接线的权重;如果第i个变量节点和第j个校验节点没有连接线,则pi,j置为-1。构造结束。 
步骤4是核心步骤,它根据步骤3构造的置换单位矩阵LDPC码的校验阵HQ T的偏移量,导出LDPCC码的校验多项式矩阵HT(D),具体步骤由两步完成: 
4-1,构造一个多项式矩阵HT(D),其有n行、n-k列; 
4-2,填充HT(D)中的所有元素,如果HQ T的第i行第j列的元素为-1,则HT(D)的第i行第j列的元素为0,否则HT(D)的第i行第j列的元素为HQ T的pi,j,形成基于置换单位矩阵的LDPCC码校验多项式矩阵: 
H T ( D ) = D p 0,0 D p 0,1 L D p 0 , n - k - 1 D p 1,0 D p 1,1 L D p 1 , n - k - 1 M M O M D p n - 1,0 D p n - 1,1 L D p n - 1 , n - k - 1 n &times; ( n - k )
步骤5是实现编码的必要步骤,它根据步骤4构造的LDPCC码的校验多项式矩阵HT(D)导出其***卷积码形式的生成多项式矩阵G(D),具体步骤由两步完成: 
5-1,第一逐列消元分步骤,将HT(D)转换成左三角矩阵形式:
1 0 L 0 a 1,0 1 L 0 M M O M a n - k - 1,0 a n - k - 1,1 L 1 a n - k , 0 a n - k , 1 L a n - k , n - k - 1 M M O M a n - 1,0 a n - 1,1 L a n - 1 , n - k - 1
具体步骤如下: 
A.令i表示HT(D)的当前列序号,0≤i<n-k,初始化i=0; 
B.对列序号j满足i≤j<n-k的列进行化简,每列除以其最大公因式; 
C.从i到n-k-1列中选择第i个元素次数大于‘0’的最小列,将该列与第i列位置互换; 
D.第i列所有元素除以该列的第i个元素,使得该列第i个元素为‘1’; 
E.从i+1到n-k-1列的每一列模2减去该列第i个元素与第i列的乘积,使得i+1到n-k-1列的每一列第i个元素为‘0’; 
F.检查i是否等于n-k-1,如果不是,令i=i+1,返回步骤B,否则转换完成。 
5-2,第二逐列消元分步骤,将HT(D)从第一消元分步骤中的形式转换成***校验结构矩阵: 
1 0 L 0 0 1 L 0 M M O M 0 0 L 1 b n - k , 0 b n - k , 1 L b n - k , n - k - 1 M M O M b n - 1,0 b n - 1,1 L b n - 1 , n - k - 1
使得其上部为一个单位矩阵,具体步骤如下: 
A.令i表示当前列序号,0≤i<n-k,初始化i=n-k-1; 
B.从i-1到0列的每一列模2减去该列第i个元素与第i列的乘积,使得i-1到0列的每一列第i个元素为‘0’; 
C.检查i是否等于0,如果不是,令i=i-1,返回步骤B,否则转换完成。 
5-3,将***校验结构矩阵转换成LDPCC码生成多项式矩阵的形式,具体步骤如下: 
A.令PT为***校验结构矩阵中单位矩阵以外的部分:
P T = b n - k , 0 b n - k , 1 b n - k , n - k - 1 b n - k + 1,0 b n - k + 1,1 b n - k + 1 , n - k - 1 b n - 1,0 b n - 1,1 b n - 1 , n - k - 1 ;
B.寻找PT的所有元素的分母在模2域的最大公倍式,令其为g0(D); 
C.在模2域执行生成多项式矩阵的生成因子的运算: 
g 0 ( 0 ) ( D ) g 0 ( 1 ) ( D ) g 0 ( n - k - 1 ) D g 1 ( 0 ) ( D ) g 0 ( 1 ) ( D ) g 0 ( n - k - 1 ) ( D ) g k - 1 ( 0 ) ( D ) g k - 1 ( 1 ) ( D ) g k - 1 ( n - k - 1 ) ( D ) P T &CenterDot; g 0 ( D )
求得G((D)的各项分子; 
D.将上述矩阵中的各项分子和g0(D)代入LDPCC码生成多项式矩阵 
G ( D ) = g 0 ( 0 ) ( D ) / g 0 ( D ) g 0 ( 1 ) ( D ) / g 0 ( D ) L g 0 ( n - k - 1 ) ( D ) / g 0 ( D ) 1 0 L 0 g 1 ( 0 ) ( D ) / g 0 ( D ) g 1 ( 1 ) ( D ) / g 0 ( D ) L g 1 ( n - k - 1 ) ( D ) / g 0 ( D ) 0 1 L 0 M M M M M M g k - 1 ( 0 ) ( D ) / g 0 ( D ) g k - 1 ( 1 ) ( D ) / g 0 ( D ) L g k - 1 ( n - k - 1 ) ( D ) / g 0 ( D ) 0 0 L 1
的各项,完成G((D)的生成。 
本实施例提供的时不变LDPCC码的构造方法,与传统的LDPCC码构造方法相比,能够造出环路和码间距特性都比较优越的时不变LDPCC码。传统的两种LDPCC码构造方法,随机构造法虽然能从环路性能优化的原则出发选择变量节点和校验节点之间的连线,但只能构造出周期较大的时变LDPCC码,不利于实际应用;传统的结构化构造方法虽然能构造出时不变LDPCC码,但构造时并没有从环路特性或码间距特性等方面做出优化,码的性能的随机性较大。 
本实施例提供的LDPCC码的构造方法,实际上是将准循环校验矩阵:
Figure S071B7621820070723D000171
的一个准循环LDPC分组码,转换成平移结构的校验矩阵: 
Figure S071B7621820070723D000172
的卷积码矩阵;同时,将准循环LDPC分组码的准循环结构,转换成平移结构,从而构造出时不变的LDPCC码。从准循环校验矩阵到平移结构的校验矩阵的转换,在环路性能上,相当于将准循环校验矩阵中阴影部分三角矩阵与其上部的三角矩阵的一部分环路掐断,而其它地方的环路性能不变,进而得到平移结构的LDPCC码校验阵,因此这种方法构造的LDPCC码,其环路性能由于其对应的置换单位矩阵LDPC码,继承甚至超越了原有置换单位矩阵LDPC码的环路特性。同时,本发明构造置换单位矩阵LDPC码时,使用了环路特性优化准则,因此,构造的LDPCC码继承了这一优化准则,保证了优良的环路特性。 
同时,这种由准循环向平移结构的转换,也是一种由准循环向循环结构的转换,因此准循环校验矩阵和平移结构的校验矩阵对应的码字,也满足这种关系,即准循环校验矩阵对应的码字和平移结构的校验矩阵对应的码字,也是一种由准循环到循环结构的转换;而一个码字由循环结构转为准循环结构,其码间距性能不会变好,也就是平移结构的校验矩阵对应的码间距不会差于平移结构的校验矩阵对应的码间距;因此,本发明构造的LDPCC码,其码间距性能优于对应的置换单位矩阵LDPC码。综上所述,本发明构造的LDPCC码,其环路特性和码间距特性均优于对应的置换单位矩阵LDPC码,从而保证了本发明构造的时不变LDPCC码优良的环路特性和码间距特性。 
以下以代入参数的方式具体描述利用本实施例所述构造LDPCC码的方法,构造一个规则的3输入6输出、校验阵约束长度为150的LDPCC***码的过程: 
步骤一,确定HT矩阵的参数。已知k=3,n=6,M=150。用密度推演法确定HT的维度分布λ(x)=x2,即所有变量节点都参与3个校验方程;
步骤二,确定HQ T矩阵的参数。已知k=3,n=6,确定p=149,即每一个子块的大小为149×149,HQ T矩阵可以被分为3×6个子块; 
步骤三:利用Block-PEG算法构造码出HQ T准循环校验矩阵: 
H Q T = I ( 0 ) I ( 59 ) I ( 137 ) I ( 95 ) I ( 26 ) I ( 99 ) I ( 25 ) I ( 139 ) I ( 32 ) I ( 55 ) I ( 109 ) I ( 144 ) I ( 148 ) I ( 144 ) I ( 142 ) I ( 106 ) I ( 111 ) I ( 128 ) ;
步骤四:以HQ T的偏移量为基础,构造出LDPCC码的校验多项式矩阵HT(D): 
H T ( D ) = D 0 D 59 D 137 D 95 D 26 D 99 D 25 D 139 D 32 D 55 D 109 D 144 D 148 D 144 D 42 D 106 D 111 D 128 ;
步骤五:根据校验多项式矩阵HT(D),导出LDPCC码的生成矩阵G(D: 
G ( D ) = g 0 ( 0 ) ( D ) / g 0 ( D ) g 0 ( 1 ) ( D ) / g 0 ( D ) L g 0 ( n - k - 1 ) ( D ) / g 0 ( D ) 1 0 L 0 g 1 ( 0 ) ( D ) / g 0 ( D ) g 1 ( 1 ) ( D ) / g 0 ( D ) L g 1 ( n - k - 1 ) ( D ) / g 0 ( D ) 0 1 L 0 M M M M M M g k - 1 ( 0 ) ( D ) / g 0 ( D ) g k - 1 ( 1 ) ( D ) / g 0 ( D ) L g k - 1 ( n - k - 1 ) ( D ) / g 0 ( D ) 0 0 L 1
=D55(1+D82+D120+D123+D180+D265
=D83(1+D5+D87+D130+D142+D190
=D112(1+D38+D43+D48+D128+D171
=D35(1+D113+D175+D178+D183+D293
=D68(1+D50+D55+D113+D180+D298
=D10(1+D128+D175+D238+D243+D308
=D106(1+D15+D71+D74+D180+D198)
=D85(1+D54+D69+D124+D130+D239
=D96(1+D56+D110+D115+D128+D189
=(1+D125+D128+D130+D180+D313); 
构造结束。 
实施例二: 
本实施例是实现LDPCC码的简单卷积码编码。图9展示了一个码率为1/3的LDPCC码的编码器的结构包括:输入端(u(D))、***序列输出端(v1(D))、检验序列输出端(v2(D),v3(D))、延迟线(D寄存器)、复接器(MULTIPLEXER)、异或门(XOR),恒定长度的延迟线实现对输入信源的延迟和输出比特的反馈延迟;信源比特经过延迟线构成***序列输出;时不变的复接器将延迟线上的输入比特和输出反馈比特进行复接,然后经过异或门模2加构成校验序列输出。典型LDPCC编码器的延迟线长度、复接器连接关系和异或门连接关系是周期变化的,本发明以恒定不变的延迟线长度、复接器连接关系和异或门连接关系,以时不变的卷积编码的结构完成LDPCC码的编码。实施例一中主要流程的步骤5,导出了其生成多项式矩阵G(D),根据G(D)即可确定其编码序列。对于一个约束长度为M的LDPCC码,其编码码字由最新的M+1个信息和M个校验信息经异或门确定。因此,LDPCC码的编码器可简单的由延迟线、复接器和异或门实现。延迟线实现对输入信源的延迟和输出比特的反馈延迟。信源比特经过延迟线构成***输出比特;复接器将延迟线上的输入比特和输出反馈比特进行复接,然后经过异或门模2加构成校验输出比特。这里,延迟线、复接器和异或门的连接关系随时间恒定不变,即构成时不变的LDPCC码的编码器。 
图12所展示的编码器其实现了实施例一的3输入6输出的举例所生成多项式矩阵G(D)的编码。其有三路输入(u0(D),u1(D),u2(D))和六路输出(v0(D),v1(D),...,v5(D)),其中(v3(D),v4(D),v5(D))是***序列输出,(v0(D),v1(D),v2(D))是校验序列输出。每一个校验序列的产生,都是三路输入(u0(D),u1(D),u2(D))和该序列的反馈在生成多项式的组合复接下实现的。生成多项式的每一项,提供了一个组合复接关系,如g0(D)=(1+D125+D128+D130+D180+D313)提供了反馈的组合复接关系,它将反馈序列的第0、125、128、130、180、313个抽头的值提取出了,经过异或的组合后传送给四输入异或门,进行校验序列的生成。其中,图12中的抽头从前到后由0开始依次递增编号。该编码器是一个典型的卷积码编码器,与传统的LDPCC编码器相比,传统LDPCC码的编码器的延迟线长度、复接器连接关系和异或门连接关系都是随时间周期性变化的,本发明的编码器则以恒定不变的延迟线长度、复接器连接关系和异 或门连接关系完成任意长的序列的编码,结构简单,易于硬件应用。 
实施例三: 
本实施例是实现LDPCC码的流水线译码。流水线式的LDPCC码译码器采用和校验阵HT类似的结构,包括VNU运算单元、CNU运算单元、道信息和译码外信息存储在FIFO;由一个时不变的VNU运算单元和一个时不变的CNU运算单元时不变地连接到信道信息和译码外信息存储在FIFO中构成一个子译码器;多个子译码器串行级联,子译码器的数量等于和积算法的迭代次数;信道信息和译码外信息以流水线的方式通过各个子译码器,完成译码;每个子译码单元的输出为其后一个子译码单元的输入;除第一个子译码单元的输入为信道信息的似然比外,其他各个子单元的输出和输入均为信道信息和译码似然比的外信息;最后一个子译码单元输出的软信息的硬判决输出为译码码字;译码器的复杂度仅于迭代次数和校验阵约束长度有关,与码长无关,随着子译码器级联数目的增加,VNU和CNU之间的数据线构成的网络不变;以时不变的译码器实现不同码长的高速解码。如图10所示,横方向矩形区和纵方向矩形区在译码器中被实现为变量节点单元(VNU)与校验节点单元(CNU),延迟线v和校验阵HT中的‘1’则分别被实现为信道信息存储FIFO(先入先出存储器)和外信息存储FIFO。和算法在VNU中完成,积算法在CNU中完成,外信息通过外信息存储FIFO在VNU和CNU之间传递。每一个迭代区的VNU、CNU和FIFO构成一个子译码器,其译码器由多个子译码单元串行级联组成,子译码单元的数量等于和积算法的迭代次数;每个子译码单元完成一次BP算法的迭代;多个译码单元串行级联,数据以流水线的方式通过多个子译码单元,完成迭代译码。每个子译码器将信道信息v和HT阵中的外信息每隔M+1组分为一段,每一段数据分配给一个子译码单元(即图10中的一个迭代区);每一个子译码单元对该段数据的第一行数据进行一次VNU的信息节点运算(如图10中横方向矩形区),对剩余的M行数据进行一次CNU的校验节点运算(如图10中纵方向矩形区)。子译码单元每完成一次信息节点运算和一次校验节点运算,输出M+1行数据的第一行数据,作为子译码的软信息传给上一级;输入下一级传入的软信息,与其余的M行数据构成一个新的数据段,再次进行子译码运算。第i个子译码单元的输出为第i+1个子译码单元的输入;除第一个子译码单元的输入为信道信息的似然比外,其他各个子单元的输出和输入均为译码似然比的外信息;最后一个子译码单元输出的软信息的硬判决输出为译码码字。数据流逐个通过各个子译码单元,逐行输出译码码字,完成迭代译码。因此,译码器中,级联的子译码器的数目等于译码时迭代的次数,每个子译码器中FIFO的深度为LDPCC码校验阵HT的约束长度M+1。因此,LDPCC译码器的复杂度仅于迭代次数和校验阵约束长度有关,与码长无关。同时,子译码器级联方式,使 得随着节点数目的增加,VNU和CNU之间的数据线构成的网络不变,即其复杂度随着节点数目的增加保持不变,可适应不同码长的高速解码。 
图13所示译码器是一个具体的例子,它由I个相同的如图14所示的子译码单元串行级联构成,其中I等于译码器实现和积算法时的迭代次数。 
如图14所示,子译码单元输入信道信息和当前译码的外信息,经过子译码单元的运算后,输出信道信息和更新的外信息,传给下一级使用。子译码单元的内部结构如图15所示,延迟线v存储信道信息,矩阵HT中元素为“1”的位置存储迭代译码的外信息,由HT(D)给出。根据vHT=0,f行执行子译码单元的信息节点运算(VNU),q列执行子译码单元的校验节点运算(CNU),实斜线为数据v的延迟线;每完成一次校验节点运算和一次信息节点运算,信道信息v和HT中的外信同时向上移动一位(虚斜线),同时输出f行数据,作为子译码单元的译码软信息输出;输入下一级的软信息至a行,与子译码单元剩余的数据一起,作为子译码单元的新数据。子译码单元可以在一个时钟周期内完成输入一行数据、输出一行数据、完成一次VNU运算和完成一次CNU运算,以流水线的方式将输入输出和内部运算统一在一起,实现一次和积算法的迭代运算。图16用一个简单的例子来演示了图15的子译码流程,演示图中采用Min-Sum算法进行译码。图16中(a)所示为数据延迟线v和校验阵HT,其中横方向的矩形区表示信息节点运算(VNU),纵方向的矩形区表示校验节点运算(CNU);(b)中所示为初始化操作,斜线v存储信道信息,矩阵HT中元素为“1”的位置存储迭代译码的外信息,初始时均为∞;(c)中所示为首次输入操作,所有数据斜向上递推2行,实现信道信息和外信息的输入;(d)中所示为译码运算操作,对横方向的矩形区执行求和运算,对纵方向的矩形区执行求最小值运算,运算结果保存在原位置;(e)中所示为数据流动操作,所有数据斜向上平移2行,最上端的两行数据作为软信息输出给下一级,最下端的两行用外部输入填充。实际上,在译码器初始化后,译码过程中仅需执行图15中(d)、(e)两个操作即可;而且,(d)和(e)中的操作可以放在一步内完成,即完成运算后,直接将数据向上平移进行存储,此即为图15的译码流程。图16中演示了LDPCC码子译码器的译码流程。该流程仅对流过子译码器的两个阴影区所在的行或列的数据进行运算,因此,当所有数据流过该子译码器时,子译码器仅完成对所有数据的一次迭代译码。以与迭代次数等量的子译码器串行级联进行译码,即完成迭代译码。同时,实际***中,延迟线v和矩阵HT中元素为“1”的位置中存储的信道信息和迭代译码的外信息都用FIFO来实现,以完成数据的流水线式推进。 
在每次子译码单元中,一个变量节点计算单元(VNU)每次最多能接收1个信道信息和3个译码外信息,进行和运算后归一化(3/4)限幅输出,输出同时将本次译码硬判决结果作为外 信息前缀加在输出信息首位,另给一个1位宽端口输出译码硬判决结果。主要的运算分两级完成:第一级以4个数相加求和;第二级首根据第一级的和值sum,在分别减去3个外信息软值,并进行限幅完成和运算,最后以sum的首位(译码结果)作为前缀输出3个和运算后的外信息。具体的实现模块如图17所示。进行CNU运算时,校验节点计算单元一次最多能接收6个译码外信息,进行最小和运算找到最小及次最小值后对应输出。主要运算分六级完成:第一级分别以2个、2个数求最小和、次最小和运算;第二级完成第一级的3个值的求最小和min、次最小和hypomin运算;第三级完成第一级的2个值的求求最小和min、次最小和hypomin运算;第四级分别用6个软信息的绝对值与min比较,如果相等,择取hypomin,否则取min,得到6个值添加上符号输出。具体的实现模块如图18所示。 
由I个相同的图14所示的子译码单元级联构成如图13所示的子译码器。第一个子译码单元是译码器的输入,外部没有外信息,所以第一级的外信息即为信道信息。中间各级不输出译码判决值,各个子译码单元仅将信道信息和更新的外信息以流水线的方式传递给下一级。最后一级子译码单元输出译码的硬判决结果。该译码器以流水线的方式执行,完成LDPCC码的时不变译码。

Claims (2)

1.一种LDPC卷积码的构造方法,其特征在于步骤如下:
初始化的步骤;
确定一个置换单位矩阵LDPC分组码的校验阵HQ T的参数的步骤;
构造置换单位矩阵LDPC码校验阵HQ T的步骤;
构造LDPC卷积码的校验多项式矩阵HT(D)的步骤;
导出LDPC卷积码的生成矩阵G(D)的步骤;其中,
所述的初始化的步骤中包括的子步骤:
根据通信***的需要,初始化LDPC卷积码的输入端口数k、输出端口数n和校验阵约束长度M的子步骤;
根据维度分布约束条件通过密度推演或者高斯近似的方法分别确定LDPC卷积码的校验矩阵HT的变量节点维度分布函数的子步骤;
所述的确定一个置换单位矩阵LDPC分组码的校验阵HQ T的参数的步骤中包括的子步骤:
根据LDPC卷积码的初始化参数,确定置换单位矩阵LDPC分组码HQ T的块行数为n、块列数为n-k的子步骤;
根据LDPC卷积码的校验阵的初始化约束长度M,确定HQ T矩阵的置换块边长p,使得p为不大于M的最大质数的子步骤;
根据LDPC卷积码的初始化变量节点维度分布,确定HQ T矩阵的维度分布函数,使得HQ T和HT的维度分布函数相同的子步骤;
所述的构造置换单位矩阵LDPC码校验阵HQ T的步骤中包括的子步骤:
根据维度分布确定矩阵HQ T各块行的重量的子步骤;
构造矩阵HQ T对应的二分图的子步骤;
初始化二分图的子步骤;
向二分图中逐个添加变量节点的子步骤;
判断是否已经为当前变量节点建立符合维度分布需要的所有连接的子步骤;
检查是否已经添加完所有n个变量节点的子步骤;
根据逐个添加变量节点而构造的二分图,构成HQ T
Figure FFW00000052724300021
的子步骤;其中I表示单位矩阵,I(px,y)表示循环移位px,y次的p×p大小的单位矩阵,其中px,y表示第x行第y列的置换矩阵的循环移位偏移量;
所述的构造置换单位矩阵LDPC码校验阵HQ T的步骤中的向二分图中逐个添加变量节点的子步骤所包括的分步骤:
以当前变量节点为根节点对二分图做树状展开的分步骤;
判断是否所有n-k个校验节点都在树中的分步骤;
寻找与根节点距离最远的校验节点的分步骤;
将二分图再次展开一层的分步骤;
遍历从根节点到与根节点距离最远的校验节点之间的路径,计算这些路径经过的边线的权重累加值s的分步骤;
求取权重绝对值候选集合X={x|(s-x)mod p≠0,0≤x<p}的分步骤;其中p为置换块边长;
所述的构造LDPC卷积码的校验多项式矩阵HT(D)的步骤的子步骤:
构造一个具有n行、n-k列的多项式空矩阵HT(D)的子步骤;
填充HT(D)中的所有元素形成;
Figure FFW00000052724300022
的子步骤;
所述的导出LDPC卷积码的生成矩阵G(D)的步骤的子步骤:
第一逐列消元子步骤,将HT(D)转换成为:
Figure FFW00000052724300031
的左三角形式;
第二逐列消元子步骤,将HT(D)从第一逐列消元子步骤中的形式转换成为:
的形式;
代入元素子步骤,将HT(D)从第二逐列消元子步骤的多项式矩阵转换成为
G ( D ) = g 0 ( 0 ) ( D ) / g 0 ( D ) g 0 ( 1 ) ( D ) / g 0 ( D ) &CenterDot; &CenterDot; &CenterDot; g 0 ( n - k - 1 ) ( D ) / g 0 ( D ) 1 0 &CenterDot; &CenterDot; &CenterDot; 0 g 1 ( 0 ) ( D ) / g 0 ( D ) g 1 ( 1 ) ( D ) / g 0 ( D ) &CenterDot; &CenterDot; &CenterDot; g 1 ( n - k - 1 ) ( D ) / g 0 ( D ) 0 1 &CenterDot; &CenterDot; &CenterDot; 0 &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; g k - 1 ( 0 ) ( D ) / g 0 ( D ) g k - 1 ( 1 ) ( D ) / g 0 ( D ) &CenterDot; &CenterDot; &CenterDot; g k - 1 ( n - k - 1 ) ( D ) / g 0 ( D ) 0 0 &CenterDot; &CenterDot; &CenterDot; 1
的形式;
所述的导出LDPC卷积码的生成矩阵G(D)的步骤的第一逐列消元子步骤中的分步骤:
令i表示HT(D)的当前列序号的分步骤,初始化为0,每完成下面的分步骤,i=i+1,直到i=n-k;
对列序号j满足i≤j<n-k的列进行化简的分步骤,每列除以其最大公因式;
从i到n-k-1列中选择第i个元素次数大于‘0’的最小列,将该列与第i列位置互换的分步骤;
第i列所有元素除以该列的第i个元素,使得该列第i个元素为‘1’的分步骤;
从i+1到n-k-1列的每一列模2减去该列第i个元素与第i列的乘积,使得i+1到n-k-1列的每一列第i个元素为‘0’的分步骤;
所述的导出LDPC卷积码的生成矩阵G(D)的步骤的第二逐列消元子步骤中的分步骤:
令i表示当前列序号,0≤i<n-k,初始化i=n-k-1的分步骤;
从i-1到0列的每一列模2减去该列第i个元素与第i列的乘积,使得i-1到0列的每一列第i个元素为‘0’的分步骤;
检查i是否等于0的分步骤,如果i不等于0,i=i-1;
所述的导出LDPC卷积码的生成矩阵G(D)的步骤的代入元素子步骤中的分步骤:
令PT为第二逐列消元子步骤中所生成的矩阵的单位矩阵以外的部分的分步骤;
寻找PT的所有元素的分母在模2域的最大公倍式,令其为g0(D)的分步骤;
gx y(D)为满足下式的因子:
g 0 ( 0 ) ( D ) g 0 ( 1 ) ( D ) g 0 ( n - k - 1 ) ( D ) g 1 ( 0 ) ( D ) g 1 ( 1 ) ( D ) g 1 ( n - k - 1 ) ( D ) g k - 1 ( 0 ) ( D ) g k - 1 ( 1 ) ( D ) g k - 1 ( n - k - 1 ) ( D ) = P T &CenterDot; g 0 ( D )
的运算,求得G(D)的各项分子的分步骤;
将的执行生成多项式矩阵的生成因子中各项分子和g0(D)代入
G ( D ) = g 0 ( 0 ) ( D ) / g 0 ( D ) g 0 ( 1 ) ( D ) / g 0 ( D ) &CenterDot; &CenterDot; &CenterDot; g 0 ( n - k - 1 ) ( D ) / g 0 ( D ) 1 0 &CenterDot; &CenterDot; &CenterDot; 0 g 1 ( 0 ) ( D ) / g 0 ( D ) g 1 ( 1 ) ( D ) / g 0 ( D ) &CenterDot; &CenterDot; &CenterDot; g 1 ( n - k - 1 ) ( D ) / g 0 ( D ) 0 1 &CenterDot; &CenterDot; &CenterDot; 0 &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; g k - 1 ( 0 ) ( D ) / g 0 ( D ) g k - 1 ( 1 ) ( D ) / g 0 ( D ) &CenterDot; &CenterDot; &CenterDot; g k - 1 ( n - k - 1 ) ( D ) / g 0 ( D ) 0 0 &CenterDot; &CenterDot; &CenterDot; 1
的各项,完成G(D)的生成的分步骤。
2.一种LDPC卷积码的译码器,其特征在于,所述LDPC卷积码依据如权利要求1的方法确定,所述译码器包括多个串行级联的子译码器,所述每一子译码器包括:时不变VNU运算单元、时不变CNU运算单元和用于存储信道信息和译码外信息的FIFO存储器,所述时不变VNU运算单元和所述时不变CNU运算单元分别时不变的连接至所述FIFO存储器;并且,
所述子译码器的数量等于和积算法的迭代次数,所述信道信息和译码外信息以流水线的方式通过各个子译码器,完成译码;每个子译码器的输出为其后一个子译码器的输入,除第一个子译码器的输入为信道信息的似然比外,其他各个子译码器的输出和输入均为信道信息和译码似然比的外信息,最后一个子译码器输出的软信息的硬判决输出为译码码字;译码器的复杂度仅仅与迭代次数和校验阵约束长度有关,与码长无关,随着子译码器级联数目的增加,VNU和CNU之间的数据线构成的网络不变;以时不变的流水线迭代译码器实现不同码长的高速解码。
CN2007101176218A 2007-06-20 2007-06-20 一种基于peg算法的时不变ldpcc码的构造方法及其编译码器 Expired - Fee Related CN101094000B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101176218A CN101094000B (zh) 2007-06-20 2007-06-20 一种基于peg算法的时不变ldpcc码的构造方法及其编译码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101176218A CN101094000B (zh) 2007-06-20 2007-06-20 一种基于peg算法的时不变ldpcc码的构造方法及其编译码器

Publications (2)

Publication Number Publication Date
CN101094000A CN101094000A (zh) 2007-12-26
CN101094000B true CN101094000B (zh) 2011-11-30

Family

ID=38992070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101176218A Expired - Fee Related CN101094000B (zh) 2007-06-20 2007-06-20 一种基于peg算法的时不变ldpcc码的构造方法及其编译码器

Country Status (1)

Country Link
CN (1) CN101094000B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101809872B (zh) 2007-09-28 2013-06-05 松下电器产业株式会社 编码方法、编码器以及解码器
CN101272223B (zh) * 2008-04-30 2011-04-20 中兴通讯股份有限公司 一种低密度生成矩阵码的译码方法及装置
KR101660554B1 (ko) * 2009-11-13 2016-09-27 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 방법, 복호 방법, 부호화기 및 복호기
CN102723957B (zh) * 2012-05-28 2015-03-04 北京大学 一种适用于层间并行译码器的qc-ldpc码译码方法
CN103973315B (zh) * 2013-01-25 2019-01-18 中兴通讯股份有限公司 一种低密度奇偶校验码译码装置及其译码方法
CN104468043B (zh) * 2014-12-04 2019-02-12 福建京奥通信技术有限公司 一种应用于lte的pbch卷积码快速译码装置及方法
CN107872231B (zh) * 2016-09-28 2023-04-28 北京忆芯科技有限公司 Ldpc译码方法与装置
CN110719141B (zh) * 2017-02-03 2020-08-21 华为技术有限公司 一种信息的传输方法、译码方法和装置
CN110324048B (zh) * 2019-06-24 2020-12-08 华中科技大学 一种通信调制***中ra-ldpc-cc的编码方法及编码器
CN112051983B (zh) * 2020-09-03 2023-08-11 深圳职业技术学院 一种基于流水线的有限域高斯约当消元装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001097387A1 (en) * 2000-06-16 2001-12-20 Aware, Inc. Systems and methods for ldpc coded modulation
CN1777082A (zh) * 2005-12-08 2006-05-24 西安电子科技大学 基于预编码的并行卷积ldpc码的编码器及其快速编码方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001097387A1 (en) * 2000-06-16 2001-12-20 Aware, Inc. Systems and methods for ldpc coded modulation
CN1777082A (zh) * 2005-12-08 2006-05-24 西安电子科技大学 基于预编码的并行卷积ldpc码的编码器及其快速编码方法

Also Published As

Publication number Publication date
CN101094000A (zh) 2007-12-26

Similar Documents

Publication Publication Date Title
CN101094000B (zh) 一种基于peg算法的时不变ldpcc码的构造方法及其编译码器
CN101047387B (zh) 一种多码率兼容ldpc码的构造方法及其译码器
CN101106381B (zh) 分层的低密度校验码译码器及译码处理方法
CN100438394C (zh) 非规则置换矩阵ldpc码的构造方法及装置
JP5752317B2 (ja) 準巡回低密度パリティ検査符号を求める方法、及び準巡回低密度パリティ検査符号に基づいてデータを符号化するシステム
CN103152056B (zh) 一种基于原模图的准循环ldpc码构造方法及装置
CN104868925B (zh) 结构化ldpc码的编码方法、译码方法、编码装置和译码装置
CN101032082B (zh) 编码和解码数据的方法和设备
CN103281091B (zh) 编码方法、编码器、解码器、发送装置和接收装置
CN107370490A (zh) 结构化ldpc的编码、译码方法及装置
CN100425000C (zh) 双涡轮结构低密度奇偶校验码解码器及解码方法
CN101904101A (zh) 编码器、解码器、编码方法和解码方法
CN106936446A (zh) 一种基于多进制ldpc码的高速译码器及其译码方法
CN109981112A (zh) 一种部分循环冗余校验辅助的排序统计译码方法
CN104967455B (zh) 空间耦合低密度奇偶校验码的递归编码方法
US20070220395A1 (en) Method and apparatus for encoding and decoding data
CN101207386B (zh) 一种二进制低密度奇偶校验码的构造方法
CN102185616B (zh) 基于行列联合迭代译码的ldpc码构造方法
CN103199877B (zh) 一种结构化ldpc卷积码构造编码方法
CN102088294A (zh) 一种qc-ldpc编码器及编码方法
CN104579362B (zh) 一种空间通信***中部分并行结构ldpc码译码***及其方法
CN102420616B (zh) 基于拉丁方阵的准循环ldpc码纠错方法
CN102185615B (zh) 适于并行译码实现的ldpc码构造方法
CN105515588B (zh) 一种ldpc‑cc高速译码器
CN102723956B (zh) 一种ldpc码的生成方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111130

Termination date: 20140620

EXPY Termination of patent right or utility model