CN113162631B - 一种环构ldpc码构造方法 - Google Patents
一种环构ldpc码构造方法 Download PDFInfo
- Publication number
- CN113162631B CN113162631B CN202110459977.XA CN202110459977A CN113162631B CN 113162631 B CN113162631 B CN 113162631B CN 202110459977 A CN202110459977 A CN 202110459977A CN 113162631 B CN113162631 B CN 113162631B
- Authority
- CN
- China
- Prior art keywords
- expansion ring
- check node
- check
- ring
- node
- 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
- 238000010276 construction Methods 0.000 title claims abstract description 67
- 238000000034 method Methods 0.000 claims abstract description 54
- 239000011159 matrix material Substances 0.000 claims abstract description 28
- 238000010845 search algorithm Methods 0.000 claims description 23
- 125000004122 cyclic group Chemical group 0.000 claims description 8
- 230000000750 progressive effect Effects 0.000 description 13
- 230000008901 benefit Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000005094 computer simulation Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种环构LDPC码构造方法包括初始化LDPC码的码长和码率,构造LDPC码的校验矩阵;所述构造LDPC码的校验矩阵采用环构Tanner图的方式,包括步骤1,构造长度为2L的基础环;步骤2,对所述基础环进行扩展,构造长度为2L的第一扩展环、第二扩展环和第三扩展环;步骤3,对所述基础环、第一扩展环、第二扩展环和第三扩展环进行扩展,构造长度为2L的第四扩展环。本发明利用主动构造环的方式构造LDPC码,解决了LDPC码中出现长度较短的环的问题,进而解决了译码性能损失的问题;和传统方法所构造出的LDPC码相比,本发明方法的平均译码迭代次数要更少,即在完成相同程度译码时,本发明方法消耗的能量要远远小于传统方法;本发明方法可以更快的找到最佳输入参数。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种环构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<R<1;L为LDPC码长度参数,为正整数,且2<L<m/2。
在一种实现方式中,所述步骤1包括:
步骤1-1,初始化变量节点集合和校验节点集合:待分配校验节点集合cn初始化为{c0,c1,…,cm-1};待分配变量节点集合vn初始化为{v0,v1,…,vn-1};
步骤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的校验节点Cl,若有多个满足条件的校验节点Cl,选择度为中位数的校验节点Cl,所述l为小于等于L的最大偶数;从待分配变量节点集合vn和待分配校验节点集合cn中分别取出个变量节点和/>个校验节点,依次交错添加至校验节点C和校验节点Cl之间,相邻节点相连形成边,构造一个长度为2L的第一扩展环,所述第一扩展环中校验节点C和校验节点Cl分别与一个新添加的变量节点相连,第一扩展环中任意一边分别连接一个校验节点和一个变量节点,所述基础环和第一扩展环组成更新后的Tanner图;本步骤及下述步骤使用广度优先搜索算法搜索获得与校验节点C距离满足相应长度要求的其他校验节点,相比于使用LDPC码的展开树寻找校验节点的算法相比,广度优先搜索算法能够更快速地找到满足距离条件的校验节点;并且在搜索的过程中无需对于每一个参与构造的校验节点构造展开树,大大节省了存储空间;最后,广度优先搜索算法可以统计所有节点的度,在构造阶段我们可以在所有满足距离条件的节点之间挑选出度数为中位数的节点来构造环,选择中位数既可以提高大度数节点在所有节点中的占比,也不会使整个LDPC码中出现节点间度数差距过大的情况,从而使LDPC码在低SNR区域的性能更好。
步骤2-1-3,以更新后的Tanner图中任意一个校验节点C为起点,循环执行步骤2-1-2中操作构造长度为2L的第一扩展环,直至待分配校验节点集合cn中剩余的校验节点数k满足执行步骤2-2。
步骤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<R<1;L为LDPC码长度参数,为正整数,且2<L<m/2。本实施例中,在长码相关的应用场景下,构造LDPC码的校验矩阵大小n设置为6144,码率R设置为0.5,L根据2<L<1536设置。构造LDPC码的校验矩包括如下步骤:
步骤1,构造长度为2L的基础环;
本实施例中,所述步骤1包括:
步骤1-1,初始化变量节点集合和校验节点集合:待分配校验节点集合cn初始化为{c0,c1,…,cm-1};待分配变量节点集合vn初始化为{v0,v1,…,vn-1};
步骤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的校验节点Cl(若有多个满足条件的校验节点,选择度为中位数的校验节点进行构造),所述l为小于等于L的最大偶数,因为Tanner图是无向图,所以节点的度就是从该节点出发可以直接达到的其他节点的数量;待分配变量节点集合vn和待分配校验节点集合cn中分别取出个变量节点和/>个校验节点,依次交错添加至校验节点C和校验节点Cl之间,相邻节点相连形成边,校验节点C与通过广度优先搜索算法搜索到的校验节点Cl之间的链路和在校验节点C与校验节点Cl之间依次交错添加的变量节点和校验节点之间的链路构造一个长度为2L的第一扩展环,所述第一扩展环中校验节点C和校验节点Cl分别与一个新添加的变量节点相连,第一扩展环中任意一边分别连接一个校验节点和一个变量节点,如图2(a)所示,所述基础环和第一扩展环组成更新后的Tanner图;
步骤2-1-3,以更新后的Tanner图中任意一个校验节点C为起点,循环执行步骤2-1-2中操作构造长度为2L的第一扩展环,直至待分配校验节点集合cn中剩余的校验节点数k满足执行步骤2-2。
步骤2-2,当待分配校验节点集合cnnew中剩余的校验节点数无法构建第一扩展环时,以更新后的Tanner图中任意一个校验节点为起点,构造长度为2L的第二扩展环;所述基础环、第一扩展环和第二扩展环组成更新后的Tanner图;
本实施例中,所述步骤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个校验节点放入已分配校验节点集合cnold中,k+1个变量节点放入已分配变量节点集合vnold中。
步骤2-3,当待分配变量节点集合vnnew不为空时,以更新后的Tanner图中任意一个校验节点为起点,构造长度为2L的第三扩展环,所述基础环、第一扩展环、第二扩展环和第三扩展环组成更新后的Tanner图。
本实施例中,所述步骤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时既可以保证构造时间不会太长,同时也可以保证了译码的成功率。
输入参数L | 构造时间(秒) | BER(Pc=0.6时) |
4 | 48.7272 | 4.81201E-2 |
5 | 21.6284 | 2.08415E-6 |
6 | 12.8493 | 8.36003E-8 |
7 | 9.0718 | 8.81315E-4 |
8 | 6.8956 | 7.77799E-3 |
本发明提供了一种环构LDPC码构造方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (4)
1.一种环构LDPC码构造方法,其特征在于,包括初始化LDPC码的码长和码率,构造LDPC码的校验矩阵;所述构造LDPC码的校验矩阵采用环构Tanner图的方式,包括如下步骤:
步骤1,构造长度为2L的基础环;
步骤2,对所述基础环进行扩展,构造长度为2L的第一扩展环、第二扩展环和第三扩展环;
步骤3,对所述基础环、第一扩展环、第二扩展环和第三扩展环进行扩展,构造长度为2L的第四扩展环;
记LDPC码的码长为n,码率为R,环构后的Tanner图包含m个校验节点和n个变量节点,m=n×R,m和n均为正整数,0<R<1;L为LDPC码长度参数,为正整数,且2<L<m/2;
所述步骤1包括:
步骤1-1,初始化变量节点集合和校验节点集合:待分配校验节点集合cn初始化为{c0,c1,…,cm-1};待分配变量节点集合vn初始化为{v0,v1,…,vn-1};
步骤1-2,构造基础环,从待分配校验节点集合cn和待分配变量节点集合vn中分别取出L个校验节点和L个变量节点,依次交错连接,构造一个长度为2L的基础环,所述基础环中任意一边分别连接一个校验节点和一个变量节点,所述基础环组成初始Tanner图;
所述步骤2包括:
步骤2-1,以初始Tanner图中任意一个校验节点为起点,构造长度为2L的第一扩展环,所述基础环和第一扩展环组成更新后的Tanner图;以更新后的Tanner图中任意一个校验节点为起点,循环构造长度为2L的第一扩展环;
步骤2-2,当待分配校验节点集合cn中剩余的校验节点数无法构建第一扩展环时,以更新后的Tanner图中任意一个校验节点为起点,构造长度为2L的第二扩展环;所述基础环、第一扩展环和第二扩展环组成更新后的Tanner图;
步骤2-3,当待分配变量节点集合vn不为空时,以更新后的Tanner图中任意一个校验节点为起点,构造长度为2L的第三扩展环,所述基础环、第一扩展环、第二扩展环和第三扩展环组成更新后的Tanner图;
所述步骤2-1包括:
步骤2-1-1,以初始Tanner图中任意一个校验节点C为起点,
步骤2-1-2,使用广度优先搜索算法进行搜索,找到距离所述校验节点C为l的校验节点Cl,若有多个满足条件的校验节点Cl,选择度为中位数的校验节点Cl,所述l为小于等于L的最大偶数;从待分配变量节点集合vn和待分配校验节点集合cn中分别取出个变量节点和/>个校验节点,依次交错添加至校验节点C和校验节点Cl之间,相邻节点相连形成边,构造一个长度为2L的第一扩展环,所述第一扩展环中校验节点C和校验节点Cl分别与一个新添加的变量节点相连,第一扩展环中任意一边分别连接一个校验节点和一个变量节点,所述基础环和第一扩展环组成更新后的Tanner图;
步骤2-1-3,以更新后的Tanner图中任意一个校验节点C为起点,循环执行步骤2-1-2中操作构造长度为2L的第一扩展环,直至待分配校验节点集合cn中剩余的校验节点数k满足执行步骤2-2。
2.根据权利要求1所述的一种环构LDPC码构造方法,其特征在于,所述步骤2-2包括:以更新后的Tanner图中任意一个校验节点C为起点,使用广度优先搜索算法进行搜索,找到距离所述校验节点C为2L-2k-2的校验节点C’,从待分配变量节点集合vn和待分配校验节点集合cn中取出k+1个变量节点和k个校验节点,依次交错添加至校验节点C和校验节点C’之间,相邻节点相连形成边,构造一个长度为2L的第二扩展环;所述第二扩展环中校验节点C和校验节点C’分别与一个新添加的变量节点相连,第二扩展环中任意一边分别连接一个校验节点和一个变量节点,所述基础环、第一扩展环和第二扩展环组成更新后的Tanner图。
3.根据权利要求2所述的一种环构LDPC码构造方法,其特征在于,所述步骤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。
4.根据权利要求3所述的一种环构LDPC码构造方法,其特征在于,所述步骤3包括:
步骤3-1,以更新后的Tanner图中任意一个校验节点C为起点,使用广度优先搜索算法进行搜索,找到距离所述校验节点C为2L-1的变量节点,直接将校验节点C和所述变量节点相连构造边,生成一个长度为2L的第四扩展环;若寻找失败则更换校验节点C重复执行上述操作;所述基础环、第一扩展环、第二扩展环、第三扩展环和第四扩展环组成更新后的Tanner图;
步骤3-2,当更新后的Tanner图中构造的边数量超过规定数量或者更新后的Tanner图中无法再执行步骤3-1构造边时,构造完成,所述规定数量根据校验矩阵的稀疏性要求设置;若不满足上述条件时,继续执行步骤3-1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110459977.XA CN113162631B (zh) | 2021-04-27 | 2021-04-27 | 一种环构ldpc码构造方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110459977.XA CN113162631B (zh) | 2021-04-27 | 2021-04-27 | 一种环构ldpc码构造方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113162631A CN113162631A (zh) | 2021-07-23 |
CN113162631B true CN113162631B (zh) | 2024-02-09 |
Family
ID=76871518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110459977.XA Active CN113162631B (zh) | 2021-04-27 | 2021-04-27 | 一种环构ldpc码构造方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113162631B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101159515A (zh) * | 2007-11-22 | 2008-04-09 | 普天信息技术研究院有限公司 | 一种可变长低密度奇偶校验码的编码方法及系统 |
CN101753149A (zh) * | 2008-12-10 | 2010-06-23 | 国家广播电影电视总局广播科学研究院 | 一种准循环低密度奇偶校验码的构造方法 |
CN102394659A (zh) * | 2011-08-04 | 2012-03-28 | 中国科学院上海微系统与信息技术研究所 | Ldpc码校验矩阵构造方法及对应矩阵乘法运算装置 |
CN103152056A (zh) * | 2013-01-30 | 2013-06-12 | 北京大学 | 一种基于原模图的准循环ldpc码构造方法及装置 |
CN103199877A (zh) * | 2013-04-19 | 2013-07-10 | 中山大学 | 一种结构化ldpc卷积码构造编码方法 |
CN110212920A (zh) * | 2019-05-29 | 2019-09-06 | 辽宁工程技术大学 | 一种基于深度学习的ldpc码的译码算法 |
CN110719108A (zh) * | 2019-08-26 | 2020-01-21 | 北京大学 | 基于环的连通性的qc-ldpc码字扩展方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100550655C (zh) * | 2004-11-04 | 2009-10-14 | 中兴通讯股份有限公司 | 一种低密度奇偶校验码的编码器/译码器及其生成方法 |
-
2021
- 2021-04-27 CN CN202110459977.XA patent/CN113162631B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101159515A (zh) * | 2007-11-22 | 2008-04-09 | 普天信息技术研究院有限公司 | 一种可变长低密度奇偶校验码的编码方法及系统 |
CN101753149A (zh) * | 2008-12-10 | 2010-06-23 | 国家广播电影电视总局广播科学研究院 | 一种准循环低密度奇偶校验码的构造方法 |
CN102394659A (zh) * | 2011-08-04 | 2012-03-28 | 中国科学院上海微系统与信息技术研究所 | Ldpc码校验矩阵构造方法及对应矩阵乘法运算装置 |
CN103152056A (zh) * | 2013-01-30 | 2013-06-12 | 北京大学 | 一种基于原模图的准循环ldpc码构造方法及装置 |
CN103199877A (zh) * | 2013-04-19 | 2013-07-10 | 中山大学 | 一种结构化ldpc卷积码构造编码方法 |
CN110212920A (zh) * | 2019-05-29 | 2019-09-06 | 辽宁工程技术大学 | 一种基于深度学习的ldpc码的译码算法 |
CN110719108A (zh) * | 2019-08-26 | 2020-01-21 | 北京大学 | 基于环的连通性的qc-ldpc码字扩展方法及系统 |
Non-Patent Citations (2)
Title |
---|
Constructing LDPC Codes with Any Desired Girth;Gao, C. 等;《Sensors 2021》;第21卷(第6期);1-14 * |
Construction and Encoding of QC-LDPC Codes Using Group Rings;Hassan Khodaiemehr 等;《IEEE Transactions on Information Theory》;第63卷(第4期);2039-2060 * |
Also Published As
Publication number | Publication date |
---|---|
CN113162631A (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bae et al. | An overview of channel coding for 5G NR cellular communications | |
Miloslavskaya | Shortened polar codes | |
US8595589B2 (en) | Quasi-cyclic low-density parity-check codes | |
CN102545913B (zh) | 一种迭代译码方法及系统 | |
CN103152056B (zh) | 一种基于原模图的准循环ldpc码构造方法及装置 | |
US20060206781A1 (en) | Method for puncturing low density parity check code | |
Cho et al. | Construction of protographs for large-girth structured LDPC convolutional codes | |
CN104333390A (zh) | 一种ldpc码的校验矩阵的构造方法与编码方法 | |
JP5714747B2 (ja) | 符号化器 | |
EP3533145A1 (en) | Generation of spatially-coupled quasi-cyclic ldpc codes | |
CN102843145A (zh) | 一种低码率准循环累积重复累积码构造方法 | |
CN109067408A (zh) | 一种原模图ldpc码的设计方法 | |
CN110661533B (zh) | 优化译码器存储极化码译码性能的方法 | |
CN113328756A (zh) | 用于提升分层qc-ldpc译码器硬件处理性能的方法 | |
KR101431268B1 (ko) | 직렬 부호화를 위한 저밀도 패리티 검사 부호의 생성 장치및 방법 | |
CN103944585B (zh) | 一种基于环熵的多进制准循环低密度奇偶校验码构造方法 | |
CN113949390A (zh) | 一种基于斐波那契与gcd的非规则ldpc码构造方法 | |
CN113162631B (zh) | 一种环构ldpc码构造方法 | |
CN109756232A (zh) | 一种基于斐波那契-卢卡斯数列构造大围长规则qc-ldpc码的方法 | |
Johnson | Burst erasure correcting LDPC codes | |
CN111211789A (zh) | 一种围长为8的可快速编码qc-ldpc码构造方法 | |
WO2021073338A1 (zh) | 译码方法和译码器 | |
CN109768801B (zh) | 一种qc-ldpc码的长短环通用查找方法 | |
CN111740747A (zh) | 一种低秩循环矩阵的构造方法及其关联的多元ldpc码 | |
McMillon et al. | Extremal absorbing sets in low-density parity-check codes |
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 |