掌桥专利:专业的专利平台
掌桥专利
首页

一种环构LDPC码构造方法

文献发布时间:2023-06-19 11:57:35


一种环构LDPC码构造方法

技术领域

本发明涉及通信技术领域,具体涉及一种环构LDPC码构造方法。

背景技术

低密度奇偶校验码也叫做LDPC(Low Density Parity Check Code)码,可以在信息传输速率小于香农极限时使误码率为零。目前LDPC码已经被广泛应用于无线通信、光通信等多个领域,随着LDPC编译码技术的不断发展,LDPC码将会在各个领域中发挥更加重要的作用。

LDPC的构造方法主要分为随机构造法和结构化构造法,随机构造法包括Gallager法、Mackay法和渐进边缘增长法。1999年,Mackay首先提出了通过删除围场为四的环的方式来构造LDPC码。Xiao-Yu Hu等人在2005年提出了一种通过以一种逐边方式在变量节点和校验节点之间建立边或连接来建立大围长的图的方法,也被称为渐进边增长(渐进边缘增长)法。这种构造方法是一种贪心方法,可以在给定的限制下最大化校验矩阵的围长,但是编码实现的复杂度较高。

随机构造法虽然构造简单,但是因为构造的随机性所以编码复杂度很高。与之相比,结构化构造法构造出的矩阵结构固定,编码复杂度较低,可以在硬件上实现。结构化构造法一般主要是利用几何构造法和代数构造法来构造校验矩阵,常见的构造法包括有限几何法和准循环方法。2008年,Wang提出了一种Hill-Climbing方法,与之前的“猜测和测试”方法相比,该方法能够在更短的时间内找到块长度较短的准循环-LDPC码。2012年,Lau在Wang的基础上提出了Improved Hill-Climbing方法,解决了构建基础矩阵和选择移位值复杂度高的问题。

研究表明,当LDPC码中存在长度很短的环时,LDPC码的译码性能会受到很大的影响。渐进边缘增长法和准循环构造法是两种常用的LDPC码构造方法。在渐进边缘增长的方法中,算法贪婪地向变量节点添加新的边来最大化LDPC码中环的长度。在准循环构造法中,LDPC码分为几个部分并且每个部分可以表示为零矩阵或循环置换矩阵,我们可以通过更改每个循环置换矩阵的偏移值来消除短环。在实现本发明过程中,发明人发现基于渐进边缘增长和基于准循环的方法至少存在如下问题:首先,他们不能保证LDPC码中不存在短环,因此通过这些构造方法构造的LDPC码仍然会有性能损失的问题;其次,它们需要完全纠错所需要的迭代次数上限也非常高;最后,很难快速地找到适合他们的最佳输入参数。

发明内容

发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种环构LDPC码构造方法。

为了解决上述技术问题,本发明公开了一种环构LDPC码构造方法,包括初始化LDPC码的码长和码率,构造LDPC码的校验矩阵;所述构造LDPC码的校验矩阵采用环构Tanner图的方式,包括如下步骤:

步骤1,构造长度为2L的基础环;

步骤2,对所述基础环进行扩展,构造长度为2L的第一扩展环、第二扩展环和第三扩展环;

步骤3,对所述基础环、第一扩展环、第二扩展环和第三扩展环进行扩展,构造长度为2L的第四扩展环。

在一种实现方式中,记LDPC码的码长为n,码率为R,环构后的Tanner图包含m个校验节点和n个变量节点,m=n×R,m和n均为正整数,0

在一种实现方式中,所述步骤1包括:

步骤1-1,初始化变量节点集合和校验节点集合:待分配校验节点集合cn初始化为{c

步骤1-2,构造基础环,从待分配校验节点集合cn和待分配变量节点集合vn中分别取出L个校验节点和L个变量节点,依次交错连接,构造一个长度为2L的基础环,所述基础环中任意一边分别连接一个校验节点和一个变量节点,所述基础环组成初始Tanner图;

选择构造一个基础环来作为环构算法的第一步是因为这样做可以保证整个算法在第一步构造时就能满足我们预先设定的目标,即LDPC码中不出现长度小于2L的环;其次基于第一步构造的基础环,我们可以在后面的构造过程中构造出更多满足要求的环;相较于其他传统的构造算法,我们的输入参数非常简单,需要的储存空间很少,并且可以严格地控制环的长度。

在一种实现方式中,所述步骤2包括:

步骤2-1,以初始Tanner图中任意一个校验节点为起点,构造长度为2L的第一扩展环,所述基础环和第一扩展环组成更新后的Tanner图;以更新后的Tanner图中任意一个校验节点为起点,循环构造长度为2L的第一扩展环;

步骤2-2,当待分配校验节点集合cn中剩余的校验节点数无法构建第一扩展环时,以更新后的Tanner图中任意一个校验节点为起点,构造长度为2L的第二扩展环;所述基础环、第一扩展环和第二扩展环组成更新后的Tanner图;

步骤2-3,当待分配变量节点集合vn不为空时,以更新后的Tanner图中任意一个校验节点为起点,构造长度为2L的第三扩展环,所述基础环、第一扩展环、第二扩展环和第三扩展环组成更新后的Tanner图。

通过步骤2的构造,我们构造出第一扩展环、第二扩展环和第三扩展环来使LDPC码Tanner图中所有的节点都连通起来,这样做首先可以构造出更多满足长度不小于2L的环;其次步骤2结束后,Tanner图中所有的节点间都是连通的,这保证了LDPC码在译码时不会忽视掉信息,保证译码的准确度。

在一种实现方式中,所述步骤2-1包括:

步骤2-1-1,以初始Tanner图中任意一个校验节点C为起点,

步骤2-1-2,使用广度优先搜索算法进行搜索,找到距离所述校验节点C为l的校验节点C

步骤2-1-3,以更新后的Tanner图中任意一个校验节点C为起点,循环执行步骤2-1-2中操作构造长度为2L的第一扩展环,直至待分配校验节点集合cn中剩余的校验节点数k满足

步骤2-1起到了添加第一扩展环的作用。我们通过LDPC码同类型节点不相邻的特性来帮助我们选取节点数量,这样做保证了我们所添加的第一扩展环长度均不小于2L。在步骤2-1结束后,大量的校验节点和变量节点间通过直接或间接的方式连通,保证了译码时不会丢失信息。在本步骤及下述步骤使用广度优先搜索算法选取起始校验节点时,我们不按照节点的度大小顺序来选取,为的是通过提高部分校验节点的度数来增加外部路径,从而保证LDPC码在低SNR区域的译码性能。

在一种实现方式中,所述步骤2-2包括:以更新后的Tanner图中任意一个校验节点C为起点,使用广度优先搜索算法进行搜索,找到距离所述校验节点C为2L-2k-2的校验节点C’,从待分配变量节点集合vn和待分配校验节点集合cn中取出k+1个变量节点和k个校验节点,依次交错添加至校验节点C和校验节点C’之间,相邻节点相连形成边,构造一个长度为2L的第二扩展环;所述第二扩展环中校验节点C和校验节点C’分别与一个新添加的变量节点相连,第二扩展环中任意一边分别连接一个校验节点和一个变量节点,所述基础环、第一扩展环和第二扩展环组成更新后的Tanner图。

步骤2-2起到了添加第二扩展环的作用。我们通过LDPC码中校验节点数小于变量节点数的特性来帮助我们选取节点数量,这样做保证了我们所添加的第二扩展环长度均不小于2L。在步骤2-2结束后,所有的校验节点与更新后的Tanner图中剩余的所有校验节点间接连通,与更新后的Tanner图中所有的变量节点直接或间接连通,保证了译码时不会丢失信息。

在一种实现方式中,所述步骤2-3包括:以更新后的Tanner图中任意一个校验节点C为起点,使用广度优先搜索算法进行搜索,找到距离所述校验节点C为2L-2的校验节点C”,从待分配校验节点集合vn中随机选出一个变量节点添加至校验节点C和校验节点C”之间,构造一个长度为2L的第三扩展环,所述基础环、第一扩展环、第二扩展环和第三扩展环组成更新后的Tanner图;以更新后的Tanner图中任意一个校验节点C为起点,重复上述操作直至待分配校验节点集合vn为空,执行步骤3,若更新后的Tanner图中所有校验节点C使用广度优先搜索算法进行搜索无法找到距离所述校验节点C为2L-2的校验节点C”,则构造LDPC码失败,执行步骤1。

步骤2-3起到了添加第三扩展环的作用。我们通过LDPC码同类型节点不相邻的特性来帮助我们选取节点数量,这样做保证了我们所添加的第三扩展环长度均不小于2L。在步骤2-3结束后,所有的变量节点与更新后的Tanner图中剩余的变量节点间接连通,与更新后的Tanner图中所有的校验节点直接或间接连通,保证了译码时不会丢失信息。

在一种实现方式中,所述步骤3包括:

步骤3-1,以更新后的Tanner图中任意一个校验节点C为起点,使用广度优先搜索算法进行搜索,找到距离所述校验节点C为2L-1的变量节点,直接将校验节点C和所述变量节点相连构造边,生成一个长度为2L的第四扩展环;若寻找失败则更换校验节点C重复执行上述操作;所述基础环、第一扩展环、第二扩展环、第三扩展环和第四扩展环组成更新后的Tanner图

步骤3-2,当更新后的Tanner图中构造的边数量超过规定数量或者更新后的Tanner图中无法再执行步骤3-1构造边时,构造完成,所述规定数量根据校验矩阵的稀疏性要求设置;若不满足上述条件时,继续执行步骤3-1。步骤3-2中使用LDPC码校验矩阵的稀疏性作为LDPC码构造完成的条件,与完全随机构造直至构造失败的条件相比,停止条件更为苛刻,其构造出的LDPC码在高SNR区域具有更好的表现。

步骤3在整个算法中起到了很关键的作用,步骤1和步骤2在构造基础环、第一扩展环、第二扩展环和第三扩展环后,LDPC码中已经消除了不满足要求的短环,并且所有节点都是直接或间接连通的。除了短环的数量,环的连通性也是影响LDPC码性能的关键因素。随着信噪比的减少,具有高连通度的LDPC码在译码时会逐渐具有优势,所以步骤3的目的就是提高LDPC码中节点的连通度,让LDPC码在低信噪比区域的性能更好。

有益效果:

1、本发明利用主动构造环的方式来构造LDPC码,解决了LDPC码中出现长度较短的环的问题,进而解决了译码性能损失的问题;

2、本发明所设计的构造方法所构造出的LDPC码和传统方法所构造出的LDPC码相比,前者的平均译码迭代次数要更少,这意味着前者在完成相同程度译码的时候,它所消耗的能量要远远小于其他方法。

3、相比于传统算法寻找最佳输入参数L,本发明可以更快的找到它的最佳输入参数;

4、本发明通过在广度优先搜索算法中随机选择起始校验节点,而不是选择度较小的校验节点,来提高部分校验节点的度数,从而保证LDPC码在低SNR区域的译码性能。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。

图1是本申请实施例提供的方法流程图;

图2是本申请实施例提供的方法生成LDPC码的示意图;

图3是本申请实施例提供的方法和现有技术在BIAWGN信道上译码纠错性能对比;

图4是本申请实施例提供的方法和现有技术在BSC信道上的平均迭代次数对比。

具体实施方式

下面将结合附图,对本发明的实施例进行描述。

环构构造法表示为本申请实施例提供的方法的简称。

根据图1所示的环构构造法的方法流程图,并结合图2所示环构构造法生成LDPC码的示意图,环构构造法构造一个LDPC码的具体步骤包括初始化LDPC码的码长和码率,构造LDPC码的校验矩阵;所述构造LDPC码的校验矩阵采用环构Tanner图的方式,记LDPC码的码长为n,码率为R,环构后的Tanner图包含m个校验节点和n个变量节点,m=n×R,m和n均为正整数,0

步骤1,构造长度为2L的基础环;

本实施例中,所述步骤1包括:

步骤1-1,初始化变量节点集合和校验节点集合:待分配校验节点集合cn初始化为{c

步骤1-2,构造基础环,从待分配校验节点集合cn和待分配变量节点集合vn中分别取出L个校验节点和L个变量节点,依次交错连接,构造一个长度为2L的基础环,所述基础环中任意一边分别连接一个校验节点和一个变量节点,所述基础环组成初始Tanner图。

步骤2,对所述基础环进行扩展,构造长度为2L的第一扩展环、第二扩展环和第三扩展环;

本实施例中,所述步骤2包括:

步骤2-1,以初始Tanner图中任意一个校验节点为起点,构造长度为2L的第一扩展环,所述基础环和第一扩展环组成更新后的Tanner图;以更新后的Tanner图中任意一个校验节点为起点,循环构造长度为2L的第一扩展环;

本实施例中,所述步骤2-1包括:

步骤2-1-1,以初始Tanner图中任意一个校验节点C为起点,

步骤2-1-2,使用广度优先搜索算法进行搜索,找到距离所述校验节点C为l的校验节点C

步骤2-1-3,以更新后的Tanner图中任意一个校验节点C为起点,循环执行步骤2-1-2中操作构造长度为2L的第一扩展环,直至待分配校验节点集合cn中剩余的校验节点数k满足

步骤2-2,当待分配校验节点集合cn

本实施例中,所述步骤2-2包括:以更新后的Tanner图中任意一个校验节点C为起点,使用广度优先搜索算法进行搜索,找到距离所述校验节点C为2L-2k-2的校验节点C’,从待分配变量节点集合vn和待分配校验节点集合cn中取出k+1个变量节点和k个校验节点,依次交错添加至校验节点C和校验节点C’之间,相邻节点相连形成边,校验节点C与通过广度优先搜索算法搜索到的校验节点C’之间的链路和在校验节点C与校验节点C’之间依次交错添加的变量节点和校验节点之间的链路构造一个长度为2L的第二扩展环;所述第二扩展环中校验节点C和校验节点C’分别与一个新添加的变量节点相连,第二扩展环中任意一边分别连接一个校验节点和一个变量节点,如图2(b)所示,所述基础环、第一扩展环和第二扩展环组成更新后的Tanner图;取出的k个校验节点放入已分配校验节点集合cn

步骤2-3,当待分配变量节点集合vn

本实施例中,所述步骤2-3包括:以更新后的Tanner图中任意一个校验节点C为起点,使用广度优先搜索算法进行搜索,找到距离所述校验节点C为2L-2的校验节点C”,从待分配校验节点集合vn中随机选出一个变量节点添加至校验节点C和校验节点C”之间,校验节点C与通过广度优先搜索算法搜索到的校验节点C”之间的链路和在校验节点C与校验节点C”之间添加的变量节点之间的链路构造一个长度为2L的第三扩展环,如图2(c)所示,所述基础环、第一扩展环、第二扩展环和第三扩展环组成更新后的Tanner图;以更新后的Tanner图中任意一个校验节点C为起点,重复上述操作直至待分配校验节点集合vn为空,执行步骤3,若更新后的Tanner图中所有校验节点C使用广度优先搜索算法进行搜索无法找到距离所述校验节点C为2L-2的校验节点C”,则构造LDPC码失败,执行步骤1。

步骤3,对所述基础环、第一扩展环、第二扩展环和第三扩展环进行扩展,构造长度为2L的第四扩展环。

本实施例中,所述步骤3包括:

步骤3-1,以更新后的Tanner图中任意一个校验节点C为起点,使用广度优先搜索算法进行搜索,找到距离所述校验节点C为2L-1的变量节点,直接将校验节点C和所述变量节点相连构造边,生成一个长度为2L的第四扩展环,如图2(d)所示;若寻找失败则更换校验节点C重复执行上述操作;所述基础环、第一扩展环、第二扩展环、第三扩展环和第四扩展环组成更新后的Tanner图;

步骤3-2,当更新后的Tanner图中构造的边数量超过规定数量或者更新后的Tanner图中无法再执行步骤3-1构造边时,构造完成;若不满足上述条件时,继续执行步骤3-1。所述规定数量根据具体的稀疏性要求设置,如校验矩阵中1的数量小于校验矩阵中元素的1/3。

构造完成后,即可生成LDPC码的校验矩阵,更新后的Tanner图中的变量节点对应校验矩阵的行,校验节点对应校验矩阵的列,变量节点和校验节点之间存在连线则校验矩阵中对应元素为1,变量节点和校验节点之间无连线则校验矩阵中对应元素为0。

为了比较本发明提出的环构LDPC码构造方法和传统构造方法的译码性能,本实施例进行了计算机仿真。具体操作为,采用渐进边缘增长法和准循环构造法的两类常见LDPC码构造方法和环构构造法生成的不同LDPC码在BIAWGN(Binary Input Additive WhiteGaussian Noise Channel,二进制输入高斯加性白噪声)信道上模拟仿真,并利用BP(Belief Propagation,置信度传播)译码算法进行译码,其中SNR(Signal Noise Ratio)为信噪比。

如图3所示是环构构造法、渐进边缘增长法和准循环构造法在BIAWGN信道上译码纠错性能对比,在BIAWGN信道上,随着信噪比SNR的增加,每种矩阵的BER(Bit ErrorRatio,比特出错概率)都在减小。当SNR为3.5时,环构构造法的性能超过了渐进边缘增长法的性能,且当SNR为3.9时,环构构造法已经可以把所有错误纠正,而此时渐进边缘增长法和准循环法的BER仍处于1E-4的量级,这足以证明环构构造法在高SNR区域的译码优势。虽然当SNR小于3.4时,即在低SNR区域,环构构造法的性能要比渐进边缘增长法的性能差,但是仍强于准循环构造法,这证明了在一定情况下环构构造法在低SNR区域和准循环构造法相比仍有一定的优势。

为了比较本发明提出的环构LDPC码构造方法和传统构造方法的平均迭代次数,本实例进行了计算机仿真。具体操作为,采用渐进边缘增长法和准循环构造法的两类常见LDPC码构造方法和环构构造法生成的不同LDPC码在BSC(Binary Symmetric Channel,二进制对称信道)信道上模拟仿真,并利用BP译码算法进行译码,Pc为交叉概率。

如图4所示是环构构造法、渐进边缘增长法和准循环构造法在BSC信道上的平均迭代次数对比,以环构构造法的平均迭代次数为标准线,我们可以清晰地看出环构构造法算法构造出的LDPC码在不同的交叉概率Pc下都有着最少的平均迭代次数。因为每次迭代消耗的能量相等,那么与其他算法相比,环构构造法可以平均节省15%的能量。这证明了环构构造法在译码能耗上的优势。

下表是环构构造法构造的LDPC码输入参数L、构造时间和比特出错概率BER的关系,从表格中我们可以看出,输入L的值越大环构构造法的平均构造时间越低,并且结合第三列中BER的值,我们可以知道,针对码长为6144码率为0.5的LDPC码来说,选择输入为6时既可以保证构造时间不会太长,同时也可以保证了译码的成功率。

本发明提供了一种环构LDPC码构造方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

相关技术
  • 一种环构LDPC码构造方法
  • 一种可消除短环的LDPC码的构造方法
技术分类

06120113112348