CN100355211C - 基于改进Tanner图的LDPC迭代编码方法 - Google Patents

基于改进Tanner图的LDPC迭代编码方法 Download PDF

Info

Publication number
CN100355211C
CN100355211C CNB031220576A CN03122057A CN100355211C CN 100355211 C CN100355211 C CN 100355211C CN B031220576 A CNB031220576 A CN B031220576A CN 03122057 A CN03122057 A CN 03122057A CN 100355211 C CN100355211 C CN 100355211C
Authority
CN
China
Prior art keywords
node
value
parity check
tanner
bits
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
CNB031220576A
Other languages
English (en)
Other versions
CN1540871A (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.)
Beijing University of Posts and Telecommunications
Beijing Samsung Telecommunications Technology Research Co Ltd
Original Assignee
Beijing University of Posts and Telecommunications
Beijing Samsung Telecommunications Technology Research Co Ltd
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 Beijing University of Posts and Telecommunications, Beijing Samsung Telecommunications Technology Research Co Ltd filed Critical Beijing University of Posts and Telecommunications
Priority to CNB031220576A priority Critical patent/CN100355211C/zh
Publication of CN1540871A publication Critical patent/CN1540871A/zh
Application granted granted Critical
Publication of CN100355211C publication Critical patent/CN100355211C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

本发明公开了基于改进Tanner图的LDPC迭代编码方法。本发明利用改进Tanner图,对约束结点进行预处理,根据特定的校验比特初始化方案以及特定的校验比特更新方案,迭代编码,最终得到满足校验矩阵的奇偶校验比特矢量,编码结束。本发明能够降低编码复杂度,减小存储空间,避免矩阵操作,直接降低LDPC编码器的成本。本发明可用于一切需要用硬件或软件实现LDPC编码器的场合,尤其是未来移动通信系统中,如:基站,移动终端等设备。

Description

基于改进Tanner图的LDPC迭代编码方法
技术领域
本发明涉及LDPC编码领域,尤其涉及基于改进Tanner图的LDPC迭代编码方法。
背景技术
LDPC码又称为Gallager码,是由Gallager于1960年首先提出并进行研究的。Gallager指出,利用迭代译码算法(或消息传递算法),LDPC码可以较低的复杂度逼近信道容量。这是一项很重大的发现,但是,在随后的三十多年里,除了几位作者,人们一直未能给予这项发现以足够的广泛重视。直至1993年,Berrou等人发现了性能近Shannon限的Turbo码以后,人们才重新发现了具有相似特征和性能的LDPC码。近年来,LDPC码的研究取得了很大的进展,其中MacKay等人拓展了Gallager关于LDPC码的定义,使其包含了″不规则码″,而Gallager当初的定义仅包含了″规则码″。
LDPC码是一类特殊的线性奇偶校验块码,其奇偶校验矩阵是″稀疏″的:只有很小数目的矩阵元素为1,其它元素都为0。规则码的奇偶校验矩阵具有如下特征:每列包含j个元素1,每行包含k个元素1,其中j和k都是较小的正整数(k>j),且对于一类规则LDPC码来说,j和k都是固定的。若码块长度为n个比特,则规则LDPC码可以表示为(n,j,k)码。例1给出了一个(12,3,6)码的校验矩阵(此矩阵仅仅作为一个示例来说明LDPC码的原理,并非实际可用的码)。
例1:一个(12,3,6)规则LDPC码的奇偶校验矩阵H
H = 1 1 1 0 0 1 1 0 0 0 1 0 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 1 1 1 0 0 0 0 0 1 0 1 1 0 0 1 1 1 0 . - - - ( 1 )
在研究LDPC码时,通常不是关注于特定的码,而是着眼于码的全集(ensembles)。码的全集与Tanner图(双向图)的全集是一一对应的。譬如,例1中矩阵构造的LDPC码可以用图1中的Tanner图来等价地表示。左边的圆形点表示变量(variables),而右边的方形点表示约束(constraints)。换句话说,左边结点对应于校验矩阵H的每列,右边结点对应于H的每行,而左边结点和右边结点之间的连线对应于H中的非0元素(即1)。
若Tanner图中一个结点有i根连线,便说该结点的度(degree)为i。规则码的Tanner图中,左边结点(变量结点)的度均为j,右边结点(校验结点)的度均为k。而不规则码的Tanner图中,每个结点(变量结点或校验结点)的度不一定相同。LDPC码(包括规则码和不规则码)的全集可以用一对″度分布函数″
Figure C0312205700142
来表示。其中λ表示变量结点度的分布, 表示校验结点度的分布。度分布函数γ(x)=∑iγixi-1是具有非负实系数的多项式,其系数满足γ(1)=1,并且系数γi的含义是连接到度为i的结点(变量结点或校验结点)的连线数与Tanner图中总的连线数的比值。LDPC码的码率
Figure C0312205700144
定义为
r ( λ , ρ ) = 1 - ∫ 0 1 ρ ( x ) dx ∫ 0 1 λ ( x ) dx - - - ( 2 )
在二进制输入加性白高斯噪声信道下,Chung等人构造了一类码率为1/2的不规则LDPC码,该码的最好性能门限与Shannon限仅差0.0045dB。一般说来,LDPC码相对于Turbo码来说,有以下优点:1)LDPC码的译码复杂度较Turbo码低;并且,由于LDPC码译码算法中一次迭代的计算复杂度远比Turbo码译码算法中一次迭代的计算复杂度低,因此可以通过改变最大迭代次数来获得″复杂度-性能″的最佳折衷;此外,LDPC码译码可以高度并行操作。2)二进制LDPC码(本文仅考虑二进制码)的最小距离随着码块长度依逼近1的概率线性增大。3)可以根据任意码块长度和任意码率很容易地设计性能优越的LDPC码。4)LDPC码无″错误地板″现象,这使其可以应用于短帧业务。5)由于校验矩阵是随机生成的,从而已经对编码比特进行了有效的交织,所以无须额外的交织器。
但是,LDPC码却具有较高的编码复杂度,这是其经常遭受抨击的一个最主要原因。Turbo码具有线性编码复杂度,而直接实现LDPC码编码器的复杂度却与码块长度的平方成正比。除了一些文章,大部分文献都研究LDPC码的译码算法,本发明考虑其编码算法,并首次提出了改进Tanner图及基于改进Tanner图的迭代编码方法的概念。对Tanner图进行适当改进后,根据特定的校验比特初始化方案以及校验比特更新方案,迭代编码。适当选择初始化方案和更新方案可以得到较低的编码复杂度和编码延时。
发明内容
为此,本发明提出了一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
该改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
该方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)根据特定的初始化方案初始化奇偶校验比特值;
3)根据特定的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量。本发明提供了五种校验比特初始化方案和三种校验比特更新方案。通过适当选择初始化方案和更新方案可以得到较低的编码复杂度和编码延时。
根据本发明的一个方面,提供了一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)令奇偶校验比特结点的值等于约束结点的值,并且初始化奇偶校验比特值;
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
按照与校验比特结点连线数目从小到大的顺序,依次处理各个约束结点;
当检测到约束关系满足时,称与当前约束结点相连的其中任意一个校验比特结点值为″临时正确″;
当检测到约束关系不满足时,按照″临时正确″校验比特结点值不反转的原则,反转与当前约束结点相连的其中任意一个校验比特结点的值,并将所述校验比特结点的值记为″临时正确″;
若一个约束关系不满足,且与当前约束结点相连的校验比特结点值都是″临时正确″值,则必须任选一个校验比特结点并反转所述结点值。
根据本发明的另一个方面,提供了一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)令奇偶校验比特结点的值等于约束结点的值,并且初始化奇偶校验比特值;
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
步骤1:定义U(p)为与某个校验结点相连的不满足约束关系的约束点数,计算所有的U(p),并找出U值最大的校验结点;
步骤2:反转步骤1中U值最大的校验结点值;
步骤3:重复步骤1和步骤2,直至所有U值都等于0。
根据本发明的另一个方面,提供了一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)令奇偶校验比特结点的值等于约束结点的值,并且初始化奇偶校验比特值;
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
步骤1:定义U(p)为与某个校验结点相连的不满足约束关系的约束点数,计算所有的U(p),并找出U值最大的校验结点;
步骤2:随机选择一个U值最大的校验结点,并反转所述结点值;
步骤3:重复步骤1和步骤2,直至所有U值都等于0。
根据本发明的另一个方面,提供了一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)根据以下的初始化方案初始化奇偶校验比特值:
寻找与奇偶校验比特结点连线最少的约束结点;
若所述约束结点与校验比特结点仅有一根连线,则直接把所述约束结点的值赋给与其相连的校验比特结点;
然后,或者在最小连线数目不为1时,根据约束关系及已有的校验比特初始值,按与校验比特结点连线数目从小到大的顺序,依次处理各个约束结点,从而得到其它初始值;
若无法确定具体的初始值,则将约束结点的值,按照校验比特结点不重复赋值的原则,任意赋给与其相连的其中一个校验比特结点。
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
按照与校验比特结点连线数目从小到大的顺序,依次处理各个约束结点;
当检测到约束关系满足时,称与当前约束结点相连的其中任意一个校验比特结点值为″临时正确″;
当检测到约束关系不满足时,按照″临时正确″校验比特结点值不反转的原则,反转与当前约束结点相连的其中任意一个校验比特结点的值,并将所述校验比特结点的值记为″临时正确″;
若一个约束关系不满足,且与当前约束结点相连的校验比特结点值都是″临时正确″值,则必须任选一个校验比特结点并反转所述结点值。
根据本发明的另一个方面,提供了一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)根据以下的初始化方案初始化奇偶校验比特值:
寻找与奇偶校验比特结点连线最少的约束结点;
若所述约束结点与校验比特结点仅有一根连线,则直接把所述约束结点的值赋给与其相连的校验比特结点;
然后,或者在最小连线数目不为1时,根据约束关系及已有的校验比特初始值,按与校验比特结点连线数目从小到大的顺序,依次处理各个约束结点,从而得到其它初始值;
若无法确定具体的初始值,则将约束结点的值,按照校验比特结点不重复赋值的原则,任意赋给与其相连的其中一个校验比特结点。
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
步骤1:定义U(p)为与某个校验结点相连的不满足约束关系的约束点数,计算所有的U(p),并找出U值最大的校验结点;
步骤2:反转步骤1中U值最大的校验结点值;
步骤3:重复步骤1和步骤2,直至所有U值都等于0。
根据本发明的另一个方面,提供了一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)根据以下的初始化方案初始化奇偶校验比特值:
寻找与奇偶校验比特结点连线最少的约束结点;
若所述约束结点与校验比特结点仅有一根连线,则直接把所述约束结点的值赋给与其相连的校验比特结点;
然后,或者在最小连线数目不为1时,根据约束关系及已有的校验比特初始值,按与校验比特结点连线数目从小到大的顺序,依次处理各个约束结点,从而得到其它初始值;
若无法确定具体的初始值,则将约束结点的值,按照校验比特结点不重复赋值的原则,任意赋给与其相连的其中一个校验比特结点。
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
步骤1:定义U(p)为与某个校验结点相连的不满足约束关系的约束点数,计算所有的U(p),并找出U值最大的校验结点;
步骤2:随机选择一个U值最大的校验结点,并反转所述结点值;
步骤3:重复步骤1和步骤2,直至所有U值都等于0。
根据本发明的另一个方面,提供了一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)根据以下的初始化方案初始化奇偶校验比特值:
设LDPC码的最小距离与码长的比值为δ,初始化奇偶校验比特矢量中比特0的个数,除了码字为全0时,不超过(1-δ)n,再根据系统比特值和δ,随机生成校验比特初始化矢量。
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
按照与校验比特结点连线数目从小到大的顺序,依次处理各个约束结点;
当检测到约束关系满足时,称与当前约束结点相连的其中任意一个校验比特结点值为″临时正确″;
当检测到约束关系不满足时,按照″临时正确″校验比特结点值不反转的原则,反转与当前约束结点相连的其中任意一个校验比特结点的值,并将所述校验比特结点的值记为″临时正确″;
若一个约束关系不满足,且与当前约束结点相连的校验比特结点值都是″临时正确″值,则必须任选一个校验比特结点并反转所述结点值。
根据本发明的另一个方面,提供了一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)根据以下的初始化方案初始化奇偶校验比特值:
设LDPC码的最小距离与码长的比值为δ,初始化奇偶校验比特矢量中比特0的个数,除了码字为全0时,不超过(1-δ)n,再根据系统比特值和δ,随机生成校验比特初始化矢量。
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
步骤1:定义U(p)为与某个校验结点相连的不满足约束关系的约束点数,计算所有的U(p),并找出U值最大的校验结点;
步骤2:反转步骤1中U值最大的校验结点值;
步骤3:重复步骤1和步骤2,直至所有U值都等于0。
根据本发明的另一个方面,提供了一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)根据以下的初始化方案初始化奇偶校验比特值:
设LDPC码的最小距离与码长的比值为δ,初始化奇偶校验比特矢量中比特0的个数,除了码字为全0时,不超过(1-δ)n,再根据系统比特值和δ,随机生成校验比特初始化矢量。
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
步骤1:定义U(p)为与某个校验结点相连的不满足约束关系的约束点数,计算所有的U(p),并找出U值最大的校验结点;
步骤2:随机选择一个U值最大的校验结点,并反转所述结点值;
步骤3:重复步骤1和步骤2,直至所有U值都等于0。
根据本发明的另一个方面,提供了一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)令奇偶校验比特为全0向量,并且初始化奇偶校验比特值;
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
按照与校验比特结点连线数目从小到大的顺序,依次处理各个约束结点;
当检测到约束关系满足时,称与当前约束结点相连的其中任意一个校验比特结点值为″临时正确″;
当检测到约束关系不满足时,按照″临时正确″校验比特结点值不反转的原则,反转与当前约束结点相连的其中任意一个校验比特结点的值,并将所述校验比特结点的值记为″临时正确″;
若一个约束关系不满足,且与当前约束结点相连的校验比特结点值都是″临时正确″值,则必须任选一个校验比特结点并反转所述结点值。
根据本发明的另一个方面,提供了一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)令奇偶校验比特为全0向量,并且初始化奇偶校验比特值;
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
步骤1:定义U(p)为与某个校验结点相连的不满足约束关系的约束点数,计算所有的U(p),并找出U值最大的校验结点;
步骤2:反转步骤1中U值最大的校验结点值;
步骤3:重复步骤1和步骤2,直至所有U值都等于0。
根据本发明的另一个方面,提供了一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)令奇偶校验比特为全0向量,并且初始化奇偶校验比特值;
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
步骤1:定义U(p)为与某个校验结点相连的不满足约束关系的约束点数,计算所有的U(p),并找出U值最大的校验结点;
步骤2:随机选择一个U值最大的校验结点,并反转所述结点值;
步骤3:重复步骤1和步骤2,直至所有U值都等于0。
根据本发明的另一个方面,提供了一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)令奇偶校验比特为全1向量,并且初始化奇偶校验比特值;
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
按照与校验比特结点连线数目从小到大的顺序,依次处理各个约束结点;
当检测到约束关系满足时,称与当前约束结点相连的其中任意一个校验比特结点值为″临时正确″;
当检测到约束关系不满足时,按照″临时正确″校验比特结点值不反转的原则,反转与当前约束结点相连的其中任意一个校验比特结点的值,并将所述校验比特结点的值记为″临时正确″;
若一个约束关系不满足,且与当前约束结点相连的校验比特结点值都是″临时正确″值,则必须任选一个校验比特结点并反转所述结点值。
根据本发明的另一个方面,提供了一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)令奇偶校验比特为全1向量,,并且初始化奇偶校验比特值;
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
步骤1:定义U(p)为与某个校验结点相连的不满足约束关系的约束点数,计算所有的U(p),并找出U值最大的校验结点;
步骤2:反转步骤1中U值最大的校验结点值;
步骤3:重复步骤1和步骤2,直至所有U值都等于0。
根据本发明的另一个方面,提供了一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)令奇偶校验比特为全1向量,并且初始化奇偶校验比特值;
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
步骤1:定义U(p)为与某个校验结点相连的不满足约束关系的约束点数,计算所有的U(p),并找出U值最大的校验结点;
步骤2:随机选择一个U值最大的校验结点,并反转所述结点值;
步骤3:重复步骤1和步骤2,直至所有U值都等于0。
附图说明
下面参考附图详细描述本发明,其中:
图1是一个(12,3,6)规则LDPC码的Tanner图表示;
图2是具有下三角形式的等价奇偶校验矩阵;
图3是具有近似下三角形式的奇偶校验矩阵;
图4是(12,3,6)码的改进Tanner图。
具体实施方式
下面分四部分介绍本发明,其中第一部分提出了改进Tanner图及迭代编码方案,也附带介绍了通常的编码方案。第二部分提出了一些校验比特初始化方案和校验比特更新方案。第三部分通过(12,3,6)码介绍了其中一对初始化方案和更新方案的编码步骤,并给出了该对方案的编码复杂度和编码延时。最后,第四部分给出了结论。
1、迭代编码
当且仅当x满足Hx T=0T时,x为LDPC码的一个码字,其中T表示″转置″,H是校验矩阵,x为码字矢量,0为全0矢量。可以记x=(s,p),其中s为系统比特矢量(即输入编码器的信息比特矢量),p为编码器生成的奇偶校验比特矢量。
已知校验矩阵H时,人们常常利用的方法是,根据GHT=0,利用高斯消去法,将H表示成H=[-P|Im],从而得到G=[In-m|P],进而利用x=sG得到编码后的码字,其中n-m为输入的信息比特长度,n为码字长度,m是校验比特长度,G为生成矩阵。当校验矩阵维数较大时,这种方法非常复杂。并且,当H″稀疏″时,G非常″稠密″,从而计算复杂度大大增加。此外,在实际系统中,还须存储G。
另一种方法是,通过高斯消去法,将H转化成如图2所示的下三角形式,然后将s作为系统比特直接输出,并且通过″回代法″得到校验比特p,从而得到x。这种方法也具有较大的计算复杂度和处理延时。
有文献提出,不必将H转化成图2的形式,只要能将H转化成图3的形式,再通过一些矩阵运算,就可以得到线性编码复杂度。这些编码方案都必须处理具体的校验矩阵,涉及繁杂的矩阵运算,并且需要太多的存储空间,从而不易被人接受。
1.1改进Tanner图
参考图1所示的Tanner图,变量结点是由系统比特结点s和奇偶校验比特p结点组成的。编码时,s为已知的输入信息比特,p为待求的奇偶校验比特。倘若将Tanner图进行如下改进:将两列结点变成三列结点,最左边结点为s结点,中间结点为原来的约束结点(校验结点),最右边的结点为p结点,结点之间的连线保留。例如,图1中的(12,3,6)码的改进Tanner图可以表示成图4。
如图4所示,左边结点s1~s6即原来的v1~v6(图1左列上6个结点),右边结点p1~p6即原来的v7~v12(图1左列下6个结点),中间结点c1~c6不变,该码的码率为1/2。
1.2迭代编码算法
根据改进Tanner图,可以得到如下编码算法。
0)[预处理]
由s比特的值得到c={c1,c2,...,cm}结点的值。如图4所示,c1=(s1+s2+s3+s6)mod2。
1)[校验比特初始化,具体方案见第二部分]
根据特定的初始化方案给p比特赋初值d∈Fm,F=GF(2)。
2)[校验比特更新方案,具体方案见第二部分]
检验各个约束结点处的约束关系是否满足;如图4所示,若c1+p1+p5=0mod2,则c1结点处的约束关系满足,否则,约束关系不满足;若约束关系不满足,则应根据特定的校验比特更新方案反转某些奇偶校验比特的值,使约束关系得到满足。反复执行这些操作,直至所有约束关系都满足,编码结束。
2、一些特定的奇偶校验比特初始化方案和更新方案
本节提出了一些特定的初始化方案和更新方案。不同的初始化方案和不同的校验比特更新方案将会得到不同的编码复杂度和编码延时。
2.1校验比特初始化方案
校验比特初始化方案的目的是,尽量减小校验比特更新步骤的迭代次数,从而减小编码延时。
方案1)由于约束结点数与校验比特结点数相同,因此,可以令p=c,即pi=ci,1≤i≤m。
方案2)根据改进Tanner图,按以下步骤进行校验比特初始化操作。先寻找与校验比特结点连线最少的约束结点,若该约束结点与校验比特结点仅有一根连线,则直接把该约束结点的值赋给与其相连的校验比特结点,然后(或者最小连线数目不为1时),根据约束关系及已有的校验比特初始值,按与校验比特结点连线数目从小到大的顺序,依次处理各个约束结点,从而得到其它初始值;在此过程中,若无法确定具体的初始值,则可以将约束结点的值,按照校验比特结点不重复赋值的原则,任意赋给与其相连的其中一个校验比特结点。该处理过程,从某种意义上说,与求解方程组有点类似。
方案3)由于LDPC码的最小距离随着码块长度增加而增大,若设最小距离与码长的比值为δ,则初始化校验比特矢量中比特0的个数,一般情况下(除了码字为全0时),不应超过(1-δ)n。因此,可以根据s比特值和δ,随机生成初始化矢量d。
方案4)较为简单的初始化方案是,因为δ值一般较小,如(n,3,6)码的δ=0.023,因此可以令p=0(全0向量)。
方案5)仿真中发现,也可以令p=1(全1向量)。
2.2校验比特更新方案
校验比特更新方案直接影响到编码复杂度和编码延时。并且,应该指出的是,初始化方案影响更新方案的效率;也就是说,应恰当选择初始化方案和更新方案,使前者对后者的贡献最大化。
方案1)按照与校验比特结点连线数目从小到大的顺序,依次处理各个约束结点。当检测到约束关系满足时,称与当前约束结点相连的其中任意一个校验比特结点值为″临时正确″。当检测到约束关系不满足时,按照″临时正确″校验比特结点值不反转的原则,反转与当前约束结点相连的其中任意一个校验比特结点的值,并将该校验比特结点的值记为″临时正确″。若一个约束关系不满足,且与当前约束结点相连的校验比特结点值都是″临时正确″值,则必须任选一个校验比特结点并反转该结点值。
方案2)定义U(p)为与某个p结点相连的不满足约束关系的约束点数,则可以得到一种校验比特更新方案为:a)计算所有的U(pi),1≤i≤m,并找出U值最大的p结点(一个或多个);b)同时反转a)中U值最大的p结点值;c)重复a)和b),直至所有U值都等于0。
方案3)即方案2)的改进,将b)步改为:随机选择一个U值最大的p结点,并反转该结点值。
此外,还可以通过对上述初始化方案或更新方案进行略微改进,以降低计算复杂度和处理延时。如保存约束结点与校验比特结点连线数目的排列次序,等等。
3、编码复杂度和编码延时
由于存在多种初始化方案和更新方案,本节并不打算考虑所有方案,而仅仅分析了初始化方案4)和更新方案2)。首先,以例1中的(12,3,6)码来简单说明迭代编码操作步骤;接着,对该对初始化方案和编码方案进行编码复杂度分析;最后,给出了例1中的(12,3,6)码的编码延时。
3.1迭代编码操作步骤
当例1中的(12,3,6)码的输入信息比特s={s1,s2,s3,s4,s5,s6}={0,0,1,0,0,1}(用十进制记该信息比特序列时,该输入序列记为9)时,迭代编码操作步骤如表1所示(根据图4所示的改进Tanner图)。由s得到c,对p赋初值0,然后计算U(pi),1≤i≤m(注意:每次计算U值之前,都将U值置为0),反转最大的U值对应的奇偶校验比特的值。由表1可知,对该输入比特序列进行编码只需4次迭代。
s  c  p(U) p(U) p(U) p(U)
0  0  0(1) 0(0) 0(1) 0(0)
0  1  0(1) 0(1) 1(2) 1(0)
1  1  0(0) 0(1) 1(1) 1(0)
0  0  0(1) 0(1) 1(2) 1(0)
0  0  0(1) 0(0) 0(1) 0(0)
1  0  0(2) 1(1) 0(3) 1(0)
表1迭代编码操作步骤
3.2编码复杂度分析
根据编码步骤,我们可以得到初始化方案4)和更新方案2)对应的编码复杂度。
0)[预处理]
共需计算m个c结点的值,计算每个结点值时需要(k1-1)个XOR(异或,模2加)操作,因此需要m×(k1-1)次操作(k=k1+k2,这里的操作仅仅包含模2加、加、比较、赋值操作)。
1)[初始化操作]
给每个校验比特赋初值0,共需m次操作。
2)[更新]
每次更新操作中,先将U值置为0(需m次操作),接着计算c结点值是否与连接到该c结点的所有p结点值之模2和相等(需m×k2次操作);设相等的概率为β,则不相等的概率为(1-β);若不相等,对每一个连接到该c结点的p结点的U值加1(需(1-β)×m×k2次操作);然后,寻找最大的U值(最多需2m-1次操作);判断最大U值是否等于0(需1次操作),若等于0,编码结束,否则,反转所有具有最大U值的p结点值(最多需2m次操作),执行下次更新。
由以上分析可知,迭代编码最多需要(5+k)×m+(1-β)×m×k2次操作。对(n,3,6)码来说,取k2=k,β=0,则最多需8.5n次操作,即O(n),所以,迭代编码具有线性复杂度;在编程实现时,也无须多的暂存空间。并且,实际操作要远远少于8.5n次运算。此外,上述更新过程还有可以优化的地方。所以,迭代编码具有线性复杂度,也无须多的暂存空间,且免去了矩阵操作。
3.3编码延时
本小节以例1中的(12,3,6)码来说明编码延时(迭代次数)。需要指出的是,该码并非实际可用的LDPC码,因其对某些输入信息比特序列无法进行编码。该码的输入比特序列共有64个,其中40个序列无法编码,其余可以编码的24个序列所需的迭代次数统计如下(表2)。
迭代次数     1     2     4     5
序列个数     2     10     8     4
表2编码延时
按输入比特序列等概计算,对一个序列进行编码,统计意义上,需要3.08次迭代。可见,延时很小;对其它LDPC码的研究也表明,编码延时存在一个很小的上限(对迭代编码方案的理论分析将另文给出)。况且,也许还存在比上述初始化方案和更新方案更有效的方案。
4、结论
LDPC码性能非常优越,但直接实现其编码器的复杂度较高,本文首次提出了一种基于改进Tanner图的迭代编码方案。根据不同的校验比特初始化方案和不同的校验比特更新方案,可以多种方法得到校验比特序列,然后输出信息比特序列和校验比特序列,编码即完成。由本文第三部分的分析可知,迭代编码具有线性编码复杂度,以及很小的编码延时。

Claims (15)

1、一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)令奇偶校验比特结点的值等于约束结点的值,并且初始化奇偶校验比特值;
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
按照与校验比特结点连线数目从小到大的顺序,依次处理各个约束结点;
当检测到约束关系满足时,称与当前约束结点相连的其中任意一个校验比特结点值为″临时正确″;
当检测到约束关系不满足时,按照″临时正确″校验比特结点值不反转的原则,反转与当前约束结点相连的其中任意一个校验比特结点的值,并将所述校验比特结点的值记为″临时正确″;
若一个约束关系不满足,且与当前约束结点相连的校验比特结点值都是″临时正确″值,则必须任选一个校验比特结点并反转所述结点值。
2.一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)令奇偶校验比特结点的值等于约束结点的值,并且初始化奇偶校验比特值;
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
步骤1:定义U(p)为与某个校验结点相连的不满足约束关系的约束点数,计算所有的U(p),并找出U值最大的校验结点;
步骤2:反转步骤1中U值最大的校验结点值;
步骤3:重复步骤1和步骤2,直至所有U值都等于0。
3、一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)令奇偶校验比特结点的值等于约束结点的值,并且初始化奇偶校验比特值;
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
步骤1:定义U(p)为与某个校验结点相连的不满足约束关系的约束点数,计算所有的U(p),并找出U值最大的校验结点;
步骤2:随机选择一个U值最大的校验结点,并反转所述结点值;
步骤3:重复步骤1和步骤2,直至所有U值都等于0。
4、一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)根据以下的初始化方案初始化奇偶校验比特值:
寻找与奇偶校验比特结点连线最少的约束结点;
若所述约束结点与校验比特结点仅有一根连线,则直接把所述约束结点的值赋给与其相连的校验比特结点;
然后,或者在最小连线数目不为1时,根据约束关系及已有的校验比特初始值,按与校验比特结点连线数目从小到大的顺序,依次处理各个约束结点,从而得到其它初始值;
若无法确定具体的初始值,则将约束结点的值,按照校验比特结点不重复赋值的原则,任意赋给与其相连的其中一个校验比特结点。
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
按照与校验比特结点连线数目从小到大的顺序,依次处理各个约束结点;
当检测到约束关系满足时,称与当前约束结点相连的其中任意一个校验比特结点值为″临时正确″;
当检测到约束关系不满足时,按照″临时正确″校验比特结点值不反转的原则,反转与当前约束结点相连的其中任意一个校验比特结点的值,并将所述校验比特结点的值记为″临时正确″;
若一个约束关系不满足,且与当前约束结点相连的校验比特结点值都是″临时正确″值,则必须任选一个校验比特结点并反转所述结点值。
5、一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)根据以下的初始化方案初始化奇偶校验比特值:
寻找与奇偶校验比特结点连线最少的约束结点;
若所述约束结点与校验比特结点仅有一根连线,则直接把所述约束结点的值赋给与其相连的校验比特结点;
然后,或者在最小连线数目不为1时,根据约束关系及已有的校验比特初始值,按与校验比特结点连线数目从小到大的顺序,依次处理各个约束结点,从而得到其它初始值;
若无法确定具体的初始值,则将约束结点的值,按照校验比特结点不重复赋值的原则,任意赋给与其相连的其中一个校验比特结点。
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
步骤1:定义U(p)为与某个校验结点相连的不满足约束关系的约束点数,计算所有的U(p),并找出U值最大的校验结点;
步骤2:反转步骤1中U值最大的校验结点值;
步骤3:重复步骤1和步骤2,直至所有U值都等于0。
6、一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)根据以下的初始化方案初始化奇偶校验比特值:
寻找与奇偶校验比特结点连线最少的约束结点;
若所述约束结点与校验比特结点仅有一根连线,则直接把所述约束结点的值赋给与其相连的校验比特结点;
然后,或者在最小连线数目不为1时,根据约束关系及已有的校验比特初始值,按与校验比特结点连线数目从小到大的顺序,依次处理各个约束结点,从而得到其它初始值;
若无法确定具体的初始值,则将约束结点的值,按照校验比特结点不重复赋值的原则,任意赋给与其相连的其中一个校验比特结点。
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
步骤1:定义U(p)为与某个校验结点相连的不满足约束关系的约束点数,计算所有的U(p),并找出U值最大的校验结点;
步骤2:随机选择一个U值最大的校验结点,并反转所述结点值;
步骤3:重复步骤1和步骤2,直至所有U值都等于0。
7、一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)根据以下的初始化方案初始化奇偶校验比特值:
设LDPC码的最小距离与码长的比值为δ,初始化奇偶校验比特矢量中比特0的个数,除了码字为全0时,不超过(1-δ)n,再根据系统比特值和δ,随机生成校验比特初始化矢量。
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
按照与校验比特结点连线数目从小到大的顺序,依次处理各个约束结点;
当检测到约束关系满足时,称与当前约束结点相连的其中任意一个校验比特结点值为″临时正确″;
当检测到约束关系不满足时,按照″临时正确″校验比特结点值不反转的原则,反转与当前约束结点相连的其中任意一个校验比特结点的值,并将所述校验比特结点的值记为″临时正确″;
若一个约束关系不满足,且与当前约束结点相连的校验比特结点值都是″临时正确″值,则必须任选一个校验比特结点并反转所述结点值。
8、一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)根据以下的初始化方案初始化奇偶校验比特值:
设LDPC码的最小距离与码长的比值为δ,初始化奇偶校验比特矢量中比特0的个数,除了码字为全0时,不超过(1-δ)n,再根据系统比特值和δ,随机生成校验比特初始化矢量。
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
步骤1:定义U(p)为与某个校验结点相连的不满足约束关系的约束点数,计算所有的U(p),并找出U值最大的校验结点;
步骤2:反转步骤1中U值最大的校验结点值;
步骤3:重复步骤1和步骤2,直至所有U值都等于0。
9、一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)根据以下的初始化方案初始化奇偶校验比特值:
设LDPC码的最小距离与码长的比值为δ,初始化奇偶校验比特矢量中比特0的个数,除了码字为全0时,不超过(1-δ)n,再根据系统比特值和δ,随机生成校验比特初始化矢量。
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
步骤1:定义U(p)为与某个校验结点相连的不满足约束关系的约束点数,计算所有的U(p),并找出U值最大的校验结点;
步骤2:随机选择一个U值最大的校验结点,并反转所述结点值;
步骤3:重复步骤1和步骤2,直至所有U值都等于0。
10、一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)令奇偶校验比特为全0向量,并且初始化奇偶校验比特值;
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
按照与校验比特结点连线数目从小到大的顺序,依次处理各个约束结点;
当检测到约束关系满足时,称与当前约束结点相连的其中任意一个校验比特结点值为″临时正确″;
当检测到约束关系不满足时,按照″临时正确″校验比特结点值不反转的原则,反转与当前约束结点相连的其中任意一个校验比特结点的值,并将所述校验比特结点的值记为″临时正确″;
若一个约束关系不满足,且与当前约束结点相连的校验比特结点值都是″临时正确″值,则必须任选一个校验比特结点并反转所述结点值。
11、一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)令奇偶校验比特为全0向量,并且初始化奇偶校验比特值;
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
步骤1:定义U(p)为与某个校验结点相连的不满足约束关系的约束点数,计算所有的U(p),并找出U值最大的校验结点;
步骤2:反转步骤1中U值最大的校验结点值;
步骤3:重复步骤1和步骤2,直至所有U值都等于0。
12、一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)令奇偶校验比特为全0向量,并且初始化奇偶校验比特值;
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
步骤1:定义U(p)为与某个校验结点相连的不满足约束关系的约束点数,计算所有的U(p),并找出U值最大的校验结点;
步骤2:随机选择一个U值最大的校验结点,并反转所述结点值;
步骤3:重复步骤1和步骤2,直至所有U值都等于0。
13、一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)令奇偶校验比特为全1向量,并且初始化奇偶校验比特值;
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
按照与校验比特结点连线数目从小到大的顺序,依次处理各个约束结点;
当检测到约束关系满足时,称与当前约束结点相连的其中任意一个校验比特结点值为″临时正确″;
当检测到约束关系不满足时,按照″临时正确″校验比特结点值不反转的原则,反转与当前约束结点相连的其中任意一个校验比特结点的值,并将所述校验比特结点的值记为″临时正确″;
若一个约束关系不满足,且与当前约束结点相连的校验比特结点值都是″临时正确″值,则必须任选一个校验比特结点并反转所述结点值。
14、一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)令奇偶校验比特为全1向量,,并且初始化奇偶校验比特值;
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
步骤1:定义U(p)为与某个校验结点相连的不满足约束关系的约束点数,计算所有的U(p),并找出U值最大的校验结点;
步骤2:反转步骤1中U值最大的校验结点值;
步骤3:重复步骤1和步骤2,直至所有U值都等于0。
15、一种基于改进Tanner图的LDPC迭代编码方法,其特征在于,
所述改进Tanner图是将Tanner图中原来的两列结点变形成三列结点,系统比特结点在最左列,中间一列为约束结点,最右列为奇偶校验比特结点,结点之间的连线保持不变;
所述方法包括步骤:
1)利用改进Tanner图,计算出仅存在系统比特结点时约束结点所对应的比特值;
2)令奇偶校验比特为全1向量,并且初始化奇偶校验比特值;
3)根据以下的更新方案更新奇偶校验比特,直至得到满足校验矩阵的奇偶校验比特矢量:
步骤1:定义U(p)为与某个校验结点相连的不满足约束关系的约束点数,计算所有的U(p),并找出U值最大的校验结点;
步骤2:随机选择一个U值最大的校验结点,并反转所述结点值;
步骤3:重复步骤1和步骤2,直至所有U值都等于0。
CNB031220576A 2003-04-24 2003-04-24 基于改进Tanner图的LDPC迭代编码方法 Expired - Fee Related CN100355211C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031220576A CN100355211C (zh) 2003-04-24 2003-04-24 基于改进Tanner图的LDPC迭代编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031220576A CN100355211C (zh) 2003-04-24 2003-04-24 基于改进Tanner图的LDPC迭代编码方法

Publications (2)

Publication Number Publication Date
CN1540871A CN1540871A (zh) 2004-10-27
CN100355211C true CN100355211C (zh) 2007-12-12

Family

ID=34320941

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031220576A Expired - Fee Related CN100355211C (zh) 2003-04-24 2003-04-24 基于改进Tanner图的LDPC迭代编码方法

Country Status (1)

Country Link
CN (1) CN100355211C (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1805291B (zh) * 2005-01-10 2010-04-28 华为技术有限公司 一种低密度奇偶校验码并行编码方法及编码装置
EP1717959A1 (en) * 2005-04-29 2006-11-02 STMicroelectronics N.V. Method and device for controlling the decoding of a LDPC encoded codeword, in particular for DVB-S2 LDPC encoded codewords
CN1959648B (zh) * 2005-10-31 2010-11-03 国际商业机器公司 创建纠错编码方案的方法和减少数据损失的设备
EP1850485A1 (en) * 2006-04-28 2007-10-31 Nokia Siemens Networks Gmbh & Co. Kg Method for encoding a data message K' for transmission from a sending station to a receiving station as well as method for decoding, sending station, receiving station and software
US20070286277A1 (en) * 2006-06-13 2007-12-13 Chen Xuemin Sherman Method and system for video compression using an iterative encoding algorithm
CN101257311B (zh) * 2008-04-03 2010-06-02 浙江大学 一种多进制调制下ldpc码的快速译码方法
CN101299612B (zh) * 2008-06-10 2013-04-24 上海瀚讯无线技术有限公司 一种快速树图分解方法
CN101741396B (zh) 2008-11-19 2013-03-13 华为技术有限公司 可变码长ldpc码编码或译码的方法与装置及编码器和译码器
CN106301388B (zh) * 2015-05-14 2020-10-23 北京航空航天大学 多进制ldpc码译码方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473010B1 (en) * 2000-04-04 2002-10-29 Marvell International, Ltd. Method and apparatus for determining error correction code failure rate for iterative decoding algorithms
CN1405981A (zh) * 2002-11-15 2003-03-26 清华大学 改进的非规则低密度奇偶校验码纠错译码方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473010B1 (en) * 2000-04-04 2002-10-29 Marvell International, Ltd. Method and apparatus for determining error correction code failure rate for iterative decoding algorithms
CN1405981A (zh) * 2002-11-15 2003-03-26 清华大学 改进的非规则低密度奇偶校验码纠错译码方法

Also Published As

Publication number Publication date
CN1540871A (zh) 2004-10-27

Similar Documents

Publication Publication Date Title
CN1983823B (zh) 编码器、解码器、以及编码和解码的方法
US7536623B2 (en) Method and apparatus for generating a low-density parity check code
CN101924565B (zh) Ldpc编码器、解码器、系统及方法
CN101032082B (zh) 编码和解码数据的方法和设备
US8438459B2 (en) Apparatus and method for decoding using channel code
CN100581064C (zh) 低密度奇偶校验码解码装置和方法
JP4320418B2 (ja) 復号装置および受信装置
US20040123230A1 (en) Simplified message-passing decoder for low-density parity-check codes
US20080263425A1 (en) Turbo LDPC Decoding
US9037945B2 (en) Generating partially sparse generator matrix for a quasi-cyclic low-density parity-check encoder
US7934147B2 (en) Turbo LDPC decoding
CN102545913A (zh) 一种迭代译码方法及系统
Montanari et al. The statistical mechanics of turbo codes
US20050149845A1 (en) Method of constructing QC-LDPC codes using qth-order power residue
CN106998208B (zh) 一种可变长Polar码的码字构造方法
Das et al. Distributed matrix-vector multiplication: A convolutional coding approach
RU2438236C2 (ru) Способ для кодирования сообщения k' данных для передачи от передающей станции к принимающей станции и способ для декодирования, передающая станция, принимающая станция и программное обеспечение
US20130283119A1 (en) Method and Apparatus for Elementary Updating a Check Node During Decoding of a Block Encoded with a Non-binary LDPC Code
EP2472725A1 (en) Method and apparatus for encoding and decoding a channel in a communication system using a linear block code
CN100355211C (zh) 基于改进Tanner图的LDPC迭代编码方法
JP4832447B2 (ja) チャネルコードを用いた復号化装置及び方法
KR100918741B1 (ko) 이동 통신 시스템에서 채널 부호화 장치 및 방법
JP2019525638A (ja) 2のべき乗でない長さに拡張されたポーラ符号の符号化および復号化
Yang et al. Universal lossless data compression with side information by using a conditional MPM grammar transform
CN1973440A (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: 20071212

Termination date: 20150424

EXPY Termination of patent right or utility model