CN117459076B - 基于mp译码ldpc纠删码译码方法、系统、设备及可存储介质 - Google Patents
基于mp译码ldpc纠删码译码方法、系统、设备及可存储介质 Download PDFInfo
- Publication number
- CN117459076B CN117459076B CN202311774420.0A CN202311774420A CN117459076B CN 117459076 B CN117459076 B CN 117459076B CN 202311774420 A CN202311774420 A CN 202311774420A CN 117459076 B CN117459076 B CN 117459076B
- Authority
- CN
- China
- Prior art keywords
- nodes
- check
- variable
- node
- degree
- 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
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000010276 construction Methods 0.000 claims abstract description 12
- 230000008569 process Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 17
- 238000005065 mining Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 4
- 230000000052 comparative effect Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000007476 Maximum Likelihood Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Error Detection And Correction (AREA)
Abstract
一种基于MP译码LDPC纠删码译码方法、系统、设备及可存储介质,包括S1:标准MP译码,如译码成功,则停止译码并输出;否则,输出停止集,转到S2;S2:可恢复校验节点集合译码:在译码后的残余Tanner图中寻找可恢复校验节点集合,求解二进制方程组计算出其中的可恢复变量节点,转到S1;否则,转到S3;S3:新校验节点构造译码:在残余Tanner图中寻找可构造出度数为2的校验节点集合,针对不同的子图结构利用对应的方式进行求解,从而在残余Tanner图中增加相应新的度数为2的校验节点,转到S2;否则译码失败。本设计能够有效改善解码性能,在MP译码遇到停止集时,从停止集中挖掘可恢复的变量节点后使MP译码继续进行,从而提高译码的成功率。
Description
技术领域
本发明涉及信道编码在通信领域,尤其涉及基于MP译码LDPC纠删码译码方法、系统、设备及可存储介质。
背景技术
信道编码在通信中的作用是通过在发送端引入冗余信息,以增强对噪声和信道干扰的容错能力,从而提高通信系统的可靠性和性能。通过编码,原始数据被转换为编码字,其中包含了冗余信息,这使得接收端能够检测和纠正由信道导致的错误。
LDPC码是由Gallager在20世纪60年代初发明的,然而在接下来的几十年里被忽视,直到1999年Mackay重新发现。LDPC码是由稀疏检验矩阵定义的,在通过置信传播(BP)算法迭代解码时能够展现出接近香农极限的卓越误码率(BER)性能。
在消息传递(Message Passing, MP)译码下,LDPC码同样可以在删除通道上用于可靠通信,传输速率可以任意接近信道容量。然而,迭代译码的删除概率阈值与最优最大似然(maximum-likelihood, ML)译码之间仍存在差距。只有当删除集合不包含停止集时,迭代译码算法才能成功。否则,最大似然可译码的接收字可能无法进行MP译码。MP算法变得次优且劣于ML算法。
为了改进了MP译码算法,当解码器无法解任何被删除的变量节点(也就是所有的校验节点都至少连接两个变量节点)时,对位置的变量节点信息进行猜测,改进的译码算法结合了比特猜测和消息传递,在码的性能方面有了很大的改善。
然而,在许多实际情况下,传输的基本单位可能不是单个比特,而是以数据块或分组形式组织的比特。例如,在互联网上进行数据传输的单位。从应用层的角度来看,这种情况下的信道类型被描述为分组删除通道(PEC)。基于分组的LDPC码已被应用于许多情况下,移动无线广播/组播通信标准推荐使用基于分组的LDPC码作为对策。在深空通信中,研究将基于分组的LDPC码作为一种有效的替代方案,用于恢复丢失数据包的自动重传请求协议。当用于PEC的LDPC码的解码过程陷入困境时,因为一个数据包可能包含数千个比特,无法猜测数据包中每个比特的值,因此上述的改进算法也就失效了。
发明内容
本发明的目的是克服现有技术中存在的无法针对丢失的数据包解码的问题,提供了一种基于MP译码LDPC纠删码译码方法、系统、设备及可存储介质。
为实现以上目的,本发明的技术解决方案是:
一种从停止集中深度挖掘度数为2的校验节点的方法,
所述深度挖掘方法针对:LDPC纠删码经过MP译码,未成功译码形成的停止集进行;
定义:节点的度数为与校验节点或者变量节点连接的边的数量;由度数为2的校验节点构成,相邻的校验节点有一个公共的变量节点的结构为链;
在停止集中寻找可构造出度数为2的校验节点集合,进行如下操作;
a.当2个度数为3校验节点分别与2个链各有1个公共变量节点时,这2个度数为3的变量节点和链中的部分节点构成1个环状结构,环中仅有2个度数为3的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点;
b.当2个度数为3的校验节点均与同一个链有1个公共变量节点,并且这2个验节点有1个不在这条链上的公共变量节点时,这2个度数为3的变量节点和链中的部分节点构成1个环状结构,环中仅有2个度数为3的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点;
c.当1个度数为4的校验节点和1个链有2个公共的变量节点时,这个度数为4的变量节点和链中的部分节点构成1个环状结构,环中仅有1个度数为4的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点;
d.当1个度数为4的校验节点和1个链有3个公共的变量节点时,这个度数为4的变量节点和链中的部分节点构成3个环状结构,每个环中仅有1个度数为4的校验节点,其它的校验节点的度数都为2,显然在由每个环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点,3个环就可以得到3个新的度数为2的校验节点;
e.当以上条件都不满足时,则判定无法生成新的校验节点。
一种基于MP译码LDPC纠删码译码方法,所述纠删码译码方法包括如下步骤:
S1:标准MP译码:对接收到的码字进行标准MP译码,如MP译码成功恢复所有的变量节点时,则停止译码并输出解码后的码字;如MP译码无法成功恢复所有的变量节点时,则剩余的未知变量节点将形成一个停止集,即残余Tanner图,转到S2;
S2:可恢复校验节点集合译码:在译码后的残余Tanner图中寻找简单的可恢复校验节点集合,如果有,利用可恢复校验节点集合特点,求解二进制方程组计算出其中的可恢复变量节点,转到S1继续进行MP译码;否则,转到S3;
残余Tanner图中的若干校验节点通过对应的边连接相应的未知变量节点构成子图,如果子图中仅一个度数为3的校验节点,其余校验节点的度数均为2,同时子图中的变量节点中仅仅有1个变量节点度数是1即可恢复变量节点,其它变量节点的度数都是2,那么这个子图对应的结构就是简单的可恢复校验节点集合;
S3:新校验节点构造译码:基于从停止集中深度挖掘度数为2的校验节点的方法,在残余Tanner图中寻找可构造出度数为2的校验节点集合,对其子图的结构进行分析,针对不同的子图结构利用对应的方式进行求解,从而在残余Tanner图中增加相应新的度数为2的校验节点,转到S2;否则译码失败。
S1.1:从Tanner图中移除所有已知变量节点和与这些变量节点相连的边,当1个变量节点被移除时,将该变量节点值加到移除的变量节点所连接的校验节点的奇偶校验值中;
S1.2:寻找仅与1个未知变量节点相连的所有校验节点,如果有这样的校验节点,转到S1.3;否则转到S2,此时剩余的未知变量节点将形成1个停止集,即残余Tanner图;
S1.3:将度数为1校验节点的奇偶校验值复制到与之相连的未知变量节点,以此来确定这些未知变量节点的值;
S1.4:当未知变量节点的值已确定时,此变量节点就成为已知变量节点,如果所有的变量节点都是已知变量节点,此时译码结束,得到1个成功解码的码字;否则转到S1.5;
S1.5:将新得到已知变量节点的值加到与其相连的校验节点的奇偶校验值中,然后移除此已知变量节点以及与其相连的边,转到S1.2。
所述S2包括:
可恢复校验节点集合中通过子图可得到对应的校验方程组中,只有1个变量节点出现了奇数次,其余的变量出现了偶数次,则该变量节点为可恢复的变量节点,如果一个可恢复校验节点集合中的变量节点和校验节点形成1个单环,且集合只有1个度数为1变量节点,那么这个集合进一步成为简单的可恢复校验节点集合;由于校验方程组是二进制方程组,采用加运算,求出对应出现1次的变量节点的值,转到S1继续进行MP译码。
S2.1:残余Tanner图中寻找出所有的链;
S2.2:检测每个度数为3的校验节点,进行如下操作:
S2.2.1:如果本校验节点和其中1条链有2个公共的变量节点,此时这个度数为3的变量节点和链中的部分节点构成1个环状结构,该环状结构中仅有1个度数为3的校验节点,其它的校验节点的度数都为2,很显然只有没有连接到这个环上的变量节点度数为1,其它的变量节点度数都是2,即构成1个简单的可恢复校验节点集合,该集合中有1个可恢复的变量节点,计算出此变量节点的值,此时该可恢复的变量节点就成为已知变量节点,转到S1继续进行MP译码;
S2.2.2:如果本校验节点和其中1条链有3个公共的变量节点,此时这个度数为3的变量节点和链中的部分节点构成3个环状结构,每个环中仅有1个度数为3的校验节点,其它的校验节点的度数都为2,很显然只有没有连接到这个环上的变量节点度数为1,其它的变量节点度数都是2,即构成3个简单的可恢复校验节点集合,有3个可恢复的变量节点,计算出此3个变量节点的值,此时这3个可恢复的变量节点就成为3个已知变量节点,转到S1继续进行MP译码;
S2.2.3:如无法检测到上述两种简单的可恢复校验节点集合,转到S3。
所述S3包括:
S3.1:一旦残余Tanner图中没有简单的可恢复校验节点集合,则寻找可构造出度数为2的校验节点集合,转到S3.2;否则纠删码译码失败,则译码结束;
S3.2:检测可构造出度数为2的校验节点集合,进行如下操作:
S3.2.1:当2个度数为3校验节点分别与2个链各有1个公共变量节点时,这2个度数为3的变量节点和链中的部分节点构成1个环状结构,环中仅有2个度数为3的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点,将新的度数为2的校验节点添加到残余Tanner图,转到S2;
S3.2.2:当2个度数为3的校验节点均与同一个链有1个公共变量节点,并且这2个校验节点有1个不在这条链上的公共变量节点时,这2个度数为3的变量节点和链中的部分节点构成1个环状结构,环中仅有2个度数为3的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点,将新的度数为2的校验节点添加到残余Tanner图,转到S2;
S3.2.3:当1个度数为4的校验节点和1个链有2个公共的变量节点时,这个度数为4的变量节点和链中的部分节点构成1个环状结构,环中仅有1个度数为4的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点,将新的度数为2的校验节点添加到残余Tanner图,转到S2;
S3.2.4:当1个度数为4的校验节点和1个链有3个公共的变量节点时,这个度数为4的变量节点和链中的部分节点构成3个环状结构,每个环中仅有1个度数为4的校验节点,其它的校验节点的度数都为2,显然在由每个环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点,3个环就可以得到3个新的度数为2的校验节点,将3个新的度数为2的校验节点添加到残余Tanner图,转到S2。
一种基于MP译码LDPC纠删码的译码系统,所述系统用于执行基于MP译码LDPC纠删码译码方法,具体包括:
标准MP译码模块:用于执行MP译码运算恢复变量节点,输出解码后的码字或停止集;
所述标准MP译码模块用于实现如下方法:
S1:标准MP译码:对接收到的码字进行标准MP译码,如MP译码成功恢复所有的变量节点时,则停止译码并输出解码后的码字;如MP译码无法成功恢复所有的变量节点时,则剩余的未知变量节点将形成一个停止集,即残余Tanner图,转到S2;
S1.1:从Tanner图中移除所有已知变量节点和与这些变量节点相连的边,当1个变量节点被移除时,将该变量节点值加到移除的变量节点所连接的校验节点的奇偶校验值中;
S1.2:寻找仅与1个未知变量节点相连的所有校验节点,如果有这样的校验节点,转到S1.3;否则转到S2,此时剩余的未知变量节点将形成1个停止集,即残余Tanner图;
S1.3:将度数为1校验节点的奇偶校验值复制到与之相连的未知变量节点,以此来确定这些未知变量节点的值;
S1.4:当未知变量节点的值已确定时,此变量节点就成为已知变量节点,如果所有的变量节点都是已知变量节点,此时译码结束,得到1个成功解码的码字;否则转到S1.5;
S1.5:将新得到已知变量节点的值加到与其相连的校验节点的奇偶校验值中,然后移除此已知变量节点以及与其相连的边,转到S1.2。
可恢复校验节点集合模块:用于寻找简单的可恢复校验节点集合,输出可恢复变量节点变量的值;
所述可恢复校验节点集合模块用于实现如下方法:
S2:可恢复校验节点集合译码:在译码后的残余Tanner图中寻找简单的可恢复校验节点集合,如果有,利用可恢复校验节点集合特点,求解二进制方程组计算出其中的可恢复变量节点,转到S1继续进行MP译码;否则,转到S3;
残余Tanner图中的若干校验节点通过对应的边连接相应的未知变量节点构成子图,如果子图中仅一个度数为3的校验节点,其余校验节点的度数均为2,同时子图中的变量节点中仅仅有1个变量节点度数是1即可恢复变量节点,其它变量节点的度数都是2,那么这个子图对应的结构就是简单的可恢复校验节点集合;
可恢复校验节点集合中通过子图可得到对应的校验方程组中,只有1个变量节点出现了奇数次,其余的变量出现了偶数次,则该变量节点为可恢复的变量节点,如果一个可恢复校验节点集合中的变量节点和校验节点形成1个单环,且集合只有1个度数为1变量节点,那么这个集合进一步成为简单的可恢复校验节点集合;由于校验方程组是二进制方程组,采用加运算,求出对应出现1次的变量节点的值,转到S1继续进行MP译码。
S2.1:残余Tanner图中寻找出所有的链;
S2.2:检测每个度数为3的校验节点,进行如下操作:
S2.2.1:如果本校验节点和其中1条链有2个公共的变量节点,此时这个度数为3的变量节点和链中的部分节点构成1个环状结构,该环状结构中仅有1个度数为3的校验节点,其它的校验节点的度数都为2,很显然只有没有连接到这个环上的变量节点度数为1,其它的变量节点度数都是2,即构成1个简单的可恢复校验节点集合,该集合中有1个可恢复的变量节点,计算出此变量节点的值,此时该可恢复的变量节点就成为已知变量节点,转到S1继续进行MP译码;
S2.2.2:如果本校验节点和其中1条链有3个公共的变量节点,此时这个度数为3的变量节点和链中的部分节点构成3个环状结构,每个环中仅有1个度数为3的校验节点,其它的校验节点的度数都为2,很显然只有没有连接到这个环上的变量节点度数为1,其它的变量节点度数都是2,即构成3个简单的可恢复校验节点集合,有3个可恢复的变量节点,计算出此3个变量节点的值,此时这3个可恢复的变量节点就成为3个已知变量节点,转到S1继续进行MP译码;
S2.2.3:如无法检测到如无法检测到上述两种简单的可恢复校验节点集合,转到S3。
新校验节点构造模块:用于寻找可构造出度数为2的校验节点的集合,输出新的度数为2的校验节点。
所述新校验节点构造模块用于实现如下方法:
S3:新校验节点构造译码:基于从停止集中深度挖掘度数为2的校验节点的方法,在残余Tanner图中寻找可构造出度数为2的校验节点集合,对其子图的结构进行分析,针对不同的子图结构利用对应的方式进行求解,从而在残余Tanner图中增加相应新的度数为2的校验节点,转到S2;否则译码失败。
S3.1:一旦残余Tanner图中没有简单的可恢复校验节点集合,则寻找可构造出度数为2的校验节点集合,转到S3.2;否则纠删码译码失败,则译码结束;
S3.2:检测可构造出度数为2的校验节点集合,进行如下操作:
S3.2.1:当2个度数为3校验节点分别与2个链各有1个公共变量节点时,这2个度数为3的变量节点和链中的部分节点构成1个环状结构,环中仅有2个度数为3的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点,将新的度数为2的校验节点添加到残余Tanner图,转到S2;
S3.2.2:当2个度数为3的校验节点均与同一个链有1个公共变量节点,并且这2个校验节点有1个不在这条链上的公共变量节点时,这2个度数为3的变量节点和链中的部分节点构成1个环状结构,环中仅有2个度数为3的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点,将新的度数为2的校验节点添加到残余Tanner图,转到S2;
S3.2.3:当1个度数为4的校验节点和1个链有2个公共的变量节点时,这个度数为4的变量节点和链中的部分节点构成1个环状结构,环中仅有1个度数为4的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点,将新的度数为2的校验节点添加到残余Tanner图,转到S2;
S3.2.4:当1个度数为4的校验节点和1个链有3个公共的变量节点时,这个度数为4的变量节点和链中的部分节点构成3个环状结构,每个环中仅有1个度数为4的校验节点,其它的校验节点的度数都为2,显然在由每个环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点,3个环就可以得到3个新的度数为2的校验节点,将3个新的度数为2的校验节点添加到残余Tanner图,转到S2。
一种基于MP译码LDPC纠删码的译码的计算设备,包括存储器和处理器,所述存储器,用于存储计算机程序代码,并将所述计算机程序代码传输给所述处理器;
所述处理器,用于根据所述计算机程序代码中的指令执行基于MP译码LDPC纠删码译码方法。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现基于MP译码LDPC纠删码译码方法。
与现有技术相比,本发明的有益效果为:
1、本发明一种MP译码停止集LDPC纠删码的新校验节点的构造方法中通过寻找可构造出的度数为2的校验节点集合针对四种不同的环结构,将环中的校验节点所对应的方程相加,得到新的度数为2的校验节点,更新残余Tanner图,帮助执行译码。
2、本发明一种基于MP译码LDPC纠删码译码方法中的采用三重循环的方式,首先进行S1基础MP译码,然后进行S2可恢复校验节点集合的译码求出可恢复变量节点反馈给S1,直到译码完成或没有简单的可恢复校验节点集合时进入S3进行新校验节点构造,将新校验节点反馈给S2;直接针对未知变量的残余Tanner图进行,利用了线性方程组与潜在可恢复变量之间的明确联系,传统的MP译码算法在遇到停止集后就译码失败,本发明在停止集中发掘能恢复出未知变量节点的校验节点集合,从而使得译码能继续执行,在单向通信时,能尽可能多的恢复变量节点,提高译码效率,在有回传的信道中,可以减少回传的数量,提高通信效率。
3、本发明一种基于MP译码LDPC纠删码译码系统包括标准MP译码模块:用于执行MP译码运算恢复变量节点,输出解码后的码字或停止集;可恢复校验节点集合模块:用于寻找简单的可恢复校验节点集合,输出可恢复变量节点变量的值;新校验节点构造模块:用于寻找可构造出度数为2的校验节点的集合,输出新的度数为2的校验节点。该系统用于实现如上述任一技术方案中提供的基于MP译码LDPC纠删码译码方法的步骤。因此,该译码系统同时包括如上述任一技术方案中提供的基于MP译码LDPC纠删码译码方法的全部有益效果,在此不再赘述。
4、本发明一种基于MP译码LDPC纠删码译码的设备包括处理器以及存储器,存储器用于存储计算机程序代码,并将计算机程序代码传输给所述处理器,处理器用于根据计算机程序代码中的指令执行上述任一技术方案中提供的基于MP译码LDPC纠删码译码方法。因此,该设备同时包括如上述任一技术方案中提供的基于MP译码LDPC纠删码译码方法的全部有益效果,在此不再赘述。
5、本发明一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一技术方案中提供的基于MP译码LDPC纠删码译码方法的步骤。因此,该计算机可读存储介质同时包括如上述任一技术方案中提供的基于MP译码LDPC纠删码译码方法的全部有益效果,在此不再赘述。
附图说明
图1是本发明的计算系统的结构图。
图2是本发明的计算设备的结构图。
图3是对比例1中LDPC码Tanner图。
图4是对比例1中经过S1.1处理的LDPC码残余Tanner图。
图5是对比例1中经过S1.3处理的LDPC码残余Tanner图。
图6是对比例1中输出的残余Tanner图。
图7是本发明实施例中的不同子图集合。
图8是本发明实施例中度数为3和4的校验节点和链的关系图。
图9是本发明(155,3,5)的Tanner码仿真结果的译码性能对比图。
图10是本发明(1000,3,6)的PEG码仿真结果的译码性能对比图。
具体实施方式
以下结合附图说明和具体实施方式对本发明作进一步详细的说明。
对比例1:
S1:标准MP译码:对接收到的码字进行标准MP译码,如MP译码成功恢复所有的变量节点时,则停止译码并输出解码后的码字;如MP译码无法成功恢复所有的变量节点时,则剩余的未知变量节点将形成一个停止集,即残余Tanner图,译码失败。
S1.1:从Tanner图中移除所有已知变量节点和与这些变量节点相连的边,当1个变量节点被移除时,将该变量节点值加到移除的变量节点所连接的校验节点的奇偶校验值中;
参见图3,所示的LDPC码Tanner图,码长为16,列重为3,行重为4,它对应的校验矩阵如下,对应校验矩阵H的行,节点上连接的边的数量成为节点的度数,由图3和H可知,本例中的校验节点和变量节点的度数分别为4和3。
一个合法的码字为[1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0],经过信道传输后,有8位数据没有收到,接收到的码字为x=[? ? 1 ? ? ? 1 ? 1 0 1 1 ? ? 1 0],把x带入方程H∙x=0,通过高斯消去法进行求解,如果无解,则译码失败。高斯消去法复杂度较高,采用前面提到的MP算法进行译码。得到的残余Tanner图如图4。
S1.2:寻找仅与1个未知变量节点相连的所有校验节点,如果有这样的校验节点,转到S1.3;否则译码失败,此时剩余的未知变量节点将形成1个停止集,即残余Tanner图;
S1.3:将度数为1校验节点的奇偶校验值复制到与之相连的未知变量节点,以此来确定这些未知变量节点的值;
从图4可以看出,校验节点11上仅仅连接一条边,因此可以恢复与之相连的变量节点6的值,为0,因此可以继续MP算法的后续步骤。
S1.4:当未知变量节点的值已确定时,此变量节点就成为已知变量节点,如果所有的变量节点都是已知变量节点,此时译码结束,得到1个成功解码的码字;否则转到S1.5;
S1.5:将新得到已知变量节点的值加到与其相连的校验节点的奇偶校验值中,然后移除此已知变量节点以及与其相连的边,转到S1.2。
重复步骤S1.2~步骤S1.5之后,得到图5所示的残余Tanner图,可以发现,没有任何一个校验节点仅有一个变量节点与之相连,此时MP译码失败,图5所示的Tanner图就是一个停止集。
实施例1:
实施例1与对比例1基本相同,其不同之处在于:
S1:标准MP译码:对接收到的码字进行标准MP译码,如MP译码成功恢复所有的变量节点时,则停止译码并输出解码后的码字;如MP译码无法成功恢复所有的变量节点时,则剩余的未知变量节点将形成一个停止集,即残余Tanner图,转到S2。
S1.2:寻找仅与1个未知变量节点相连的所有校验节点,如果有这样的校验节点,转到S1.3;否则转到S2,此时剩余的未知变量节点将形成1个停止集,即残余Tanner图;
S2:可恢复校验节点集合译码:在译码后的残余Tanner图中寻找简单的可恢复校验节点集合,如果有,利用简单的可恢复校验节点集合特点,求解二进制方程组计算出其中的可恢复变量节点,转到S1继续进行MP译码;否则,译码失败。
残余Tanner图中的若干校验节点通过对应的边连接相应的未知变量节点构成子图,如果子图中仅一个度数为3的校验节点,其余校验节点的度数均为2,同时子图中的变量节点中仅仅有1个变量节点度数是1即可恢复变量节点,其它变量节点的度数都是2,那么这个子图对应的结构就是简单的可恢复校验节点集合;
简单的可恢复校验节点集合中通过子图可得到对应的校验方程组中,只有1个变量节点出现了1次,该变量节点为可恢复的变量节点,由于校验方程组是二进制方程组,采用加运算,求出对应仅出现1次的变量节点的值,转到S1继续进行MP译码。
S2.1:残余Tanner图中寻找出所有的链,参见图7中的(a);将图7中的(a)用“回”链符号进行替换得到图7中的(b);
S2.2:检测每个度数为3的校验节点,进行如下操作:
S2.2.1:参见图8中的Case 1,如果本校验节点和其中1条链有2个公共的变量节点,此时这个度数为3的变量节点和链中的部分节点构成1个环状结构,该环状结构中仅有1个度数为3的校验节点,其它的校验节点的度数都为2,很显然只有没有连接到这个环上的变量节点度数为1,其它的变量节点度数都是2,即构成1个简单的可恢复校验节点集合,该集合中有1个可恢复的变量节点,计算出此变量节点的值,此时该可恢复的变量节点就成为已知变量节点,转到S1继续进行MP译码;
S2.2.2:参见图8中的Case 2,如果本校验节点和其中1条链有3个公共的变量节点,此时这个度数为3的变量节点和链中的部分节点构成3个环状结构,每个环中仅有1个度数为3的校验节点,其它的校验节点的度数都为2,很显然只有没有连接到这个环上的变量节点度数为1,其它的变量节点度数都是2,即构成3个简单的可恢复校验节点集合,有3个可恢复的变量节点,计算出此3个变量节点的值,此时这3个可恢复的变量节点就成为3个已知变量节点,转到S1继续进行MP译码;
S2.2.3:如无法检测到Case 1和Case 2两种情况,则译码失败。
如果MP译码无法成功恢复所有的变量节点,那么剩余的变量节点将形成一个停止集。参见图6,实线部分的Tanner图构成了一个停止集,此时MP译码停止,但是这种结构的Tanner图是一种变量节点可恢复的结构,在该结构中,标记为“◎”的变量节点是个可以直接恢复的未知变量节点。图6显示了一个具有单环结构的典型情况,与图6对应的奇偶校验方程如下:
显然,通过将这四个方程相加,可以得到v7的值。
v7 = c1 + c2 + c3 + c4
令E(S)表示与停止集S相对应的方程的子集。如果在E(S)中只有一个未知变量v出现奇数次,而其他未知变量出现偶数次,则变量v可以被恢复。令G(S)为LDPC码的一个停止集S的Tanner图,一个可恢复集被定义为G(S)中诱导出一个子图的校验节点集,该子图具有特定数量的度为偶数的变量节点和一个度为奇数的变量节点。例如,图6就是一个可恢复集。
表1 残余Tanner图中校验节点的分布
当MP译码失败时,残余Tanner图不存在度为1的校验节点,最小度数为2,构造一个长度为1000的(3, 6) PEG LDPC码,并在删除信道下使用MP算法进行译码,删除概率从0.38到0.35不等。当解码过程失败时,残余Tanner图中的校验节点分布如表1所示。
从表1可以看出,度数为2的校验节点在残余Tanner图中占据了较大的比例,从而容易形成大量的“链”。本发明利用“链”来寻找可恢复集,一旦找到了一个可恢复集,就可以译码出一个未知的变量节点,从而继续解码过程。
图7中的(a)是一个“链”的例子,为了清晰起见,可以将一个“链”简化为图7中的(b)。如图7中的(c)所示,如果一个度数为3的校验节点和一个“链”相连接,也就是说,这个“链”和此度数为3的校验节点有2个共同的变量节点,那么显然,图7中的(c)所示的结构就构成了一个简单的可恢复集类型,被标记为vx的变量节点可以被恢复。
MP译码停止时形成的残余Tanner图,其校验节点的度数绝大多数小于5,因此本发明仅仅考虑度数小于5的校验节点。经过行列重排,如图8所示,虚线框内的均为度数为2的校验节点,并经过重排,组成了多个“链”,可恢复集由两部分组成,一个由度为2的校验节点构成的“链”和一个度数为3的校验节点。
参见图8,其中Case 1和Case 2展示了两种可恢复集的形式。Case 1有两个变量节点连接到链上,而Case 2有三个,图7中的(c)所示的结构就是图8中的Case1这种情形。显然Case 1中的第三个变量节点以及Case 2中的三个变量节点可以被成功译码。
实施例1的关键步骤是在标准MP译码失败后找到由度为2的校验节点组成的所有“链”。显然,度为2的校验节点越多,形成更长以及更多“链”的可能性就越高,因此存在可恢复集的可能性也就越高。
实施例2:
实施例2与实施例1基本相同,其不同之处在于:
S1:标准MP译码:对接收到的码字进行标准MP译码,如MP译码成功恢复所有的变量节点时,则停止译码并输出解码后的码字;如MP译码无法成功恢复所有的变量节点时,则剩余的未知变量节点将形成一个停止集,即残余Tanner图,转到S2。
S2:可恢复校验节点集合译码:在译码后的残余Tanner图中寻找简单的可恢复校验节点集合,如果有,利用简单的可恢复校验节点集合特点,求解二进制方程组计算出其中的可恢复变量节点,转到S1继续进行MP译码;否则,转到S3。
S2.2.3:如无法检测到Case 1和Case 2两种情况,转到S3。
S3:新校验节点构造译码:在残余Tanner图中寻找可构造出度数为2的校验节点的集合,对其子图的结构进行分析,针对不同的子图结构利用对应的方式进行求解,从而在残余Tanner图中增加相应新的度数为2的校验节点,转到S2;否则译码失败。
S3.1:一旦残余Tanner图中没有简单的可恢复校验节点集合,则寻找可构造出度数为2的校验节点集合,转到S3.2;否则纠删码译码失败,则译码结束;
S3.2:检测可构造出度数为2的校验节点集合,进行如下操作:
S3.2.1:当2个度数为3校验节点分别与2个链各有1个公共变量节点时,这2个度数为3的变量节点和链中的部分节点构成1个环状结构,环中仅有2个度数为3的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点,将新的度数为2的校验节点添加到残余Tanner图,转到S2;参见图8中Case3,如图7中的(d)所示,通过将这两个校验节点及其对应链的校验节点相加,可以得到一个新的度数为2的校验节点,如图7中的(e)所示。
S3.2.2:当2个度数为3的校验节点均与同一个链有1个公共变量节点,并且这2个校验节点有1个不在这条链上的公共变量节点时,这2个度数为3的变量节点和链中的部分节点构成1个环状结构,环中仅有2个度数为3的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点,将新的度数为2的校验节点添加到残余Tanner图,转到S2;参见图8中Case4。
S3.2.3:当1个度数为4的校验节点和1个链有2个公共的变量节点时,这个度数为4的变量节点和链中的部分节点构成1个环状结构,环中仅有1个度数为4的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点,将新的度数为2的校验节点添加到残余Tanner图,转到S2;参见图8中Case5。
S3.2.4:当1个度数为4的校验节点和1个链有3个公共的变量节点时,这个度数为4的变量节点和链中的部分节点构成3个环状结构,每个环中仅有1个度数为4的校验节点,其它的校验节点的度数都为2,显然在由每个环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点,3个环就可以得到3个新的度数为2的校验节点,将3个新的度数为2的校验节点添加到残余Tanner图,转到S2。参见图8中Case6。
参见图7中的(f),通过上述方法得到一个新的度数为2的校验节点,新的度数为2的校验节点连接两个不同的链之后,形成一个新的链,这个链和一个度数为3的校验节点构成一个可恢复校验节点集合,返回S2进行求解。
一旦找到一个可恢复集,至少一个变量节点将被恢复,标准的MP译码可以继续,下一次寻找可恢复集会更容易进行。如果没有找到可恢复集,则译码过程将转向寻找新的可以用来形成新链的度为2的校验节点。需要注意的是,下一次迭代中只需要遍历新链以寻找可恢复集。
通过仿真实验来测试改进的算法在删除信道上的译码性能。采用两个规则码进行测试,一个是(155,3,5)的Tanner码(参见图9),另一个是通过PEG方法构造的(1000,3,6)的LDPC码(参见图10)。使用三种算法对这些正则码进行解码以进行比较。
图9和图10展示了(155,3,5)的Tanner码和(1000,3,6)的PEG方法LDPC码在三种算法下的仿真结果。可以看到,与对比例1标准MP算法相比,实施例2表现出优秀的译码性能,随着擦除概率的减小,两种算法之间的误帧率差距增大。对于(155,3,5)的Tanner码,在擦除概率ϵ = 0.32时,差距约为两个数量级。实施例1在译码性能和计算复杂性之间取得了折衷。实施例1的误帧率介于对比例1和实施例2之间,计算复杂性也是如此。需要注意的是,对比例1和实施例1之间的误帧率差距大于实施例1和实施例2之间的误帧率差距。对于需要非常小的误帧率情况,实施例2非常有用,而实施例1则适用于其他情况。
实施例3:
一种从停止集中深度挖掘度数为2的校验节点的方法,所述深度挖掘方法针对:LDPC纠删码中MP译码只有度数为2和4的校验节点的停止集进行;
定义:节点的度数为与校验节点或者变量节点连接的边的数量;由度数为2的校验节点构成,相邻的校验节点有一个公共的变量节点的结构为链;
在只有度数为2和4的校验节点的停止集中寻找可构造出度数为2的校验节点集合,进行如下操作;
a.当2个度数为3校验节点分别与2个链各有1个公共变量节点时,这2个度数为3的变量节点和链中的部分节点构成1个环状结构,环中仅有2个度数为3的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点;
b.当2个度数为3的校验节点均与同一个链有1个公共变量节点,并且这2个校验节点有1个不在这条链上的公共变量节点时,这2个度数为3的变量节点和链中的部分节点构成1个环状结构,环中仅有2个度数为3的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点;
c.当1个度数为4的校验节点和1个链有2个公共的变量节点时,这个度数为4的变量节点和链中的部分节点构成1个环状结构,环中仅有1个度数为4的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点;
d.当1个度数为4的校验节点和1个链有3个公共的变量节点时,这个度数为4的变量节点和链中的部分节点构成3个环状结构,每个环中仅有1个度数为4的校验节点,其它的校验节点的度数都为2,显然在由每个环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点,3个环就可以得到3个新的度数为2的校验节点;
e.当以上条件都不满足时,则判定无法生成新的校验节点。
实施例4:
参见图1,一种基于MP译码LDPC纠删码的译码系统,所述系统用于执行基于MP译码LDPC纠删码译码方法,具体包括:
标准MP译码模块:用于执行MP译码运算恢复变量节点,输出解码后的码字或停止集;
可恢复校验节点集合模块:用于寻找简单的可恢复校验节点集合,输出可恢复变量节点变量的值;
新校验节点构造模块:用于寻找可构造出度数为2的校验节点的集合,输出新的度数为2的校验节点。
实施例5:
参见图2,一种基于MP译码LDPC纠删码的译码的计算设备,包括存储器和处理器,所述存储器,用于存储计算机程序代码,并将所述计算机程序代码传输给所述处理器;所述处理器,用于根据所述计算机程序代码中的指令执行基于MP译码LDPC纠删码的译码方法。
实施例6:
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现基于MP译码LDPC纠删码的译码方法。
一般来说,用以实现本发明方法的计算机指令的可以采用一个或多个计算机可读的存储介质的任意组合来承载。非临时性计算机可读存储介质可以包括任何计算机可读介质,除了临时性地传播中的信号本身。
计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线或半导体的系统、装置或器件,或者以上任意组合。计算机可读存储介质的更具体例子(非穷举列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件,或者上述任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行的系统、装置或器件使用或与其结合使用。
可以使用一个或多个程序设计语言或其组合来编写用以执行本发明操作的计算机程序代码。这些程序设计语言包括面向对象的程序设计语言,如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,如C语言或类似的程序设计语言。特别是可以使用适于神经网络计算的Python语言和基于TensorFlow、PyTorch等平台框架。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在涉及到远程计算机的情况下,远程计算机可以通过各种类型的网络连接到用户计算机,包括局域网(LAN)或广域网(WAN),或者通过互联网服务提供商进行互联网连接。
尽管上面已经示出和描述了本发明的实施例,应当理解的是,上述实施例是示例性的,不能解释为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (9)
1.一种从停止集中深度挖掘度数为2的校验节点的方法,其特征在于:
所述方法针对:LDPC纠删码经过MP译码,未成功译码形成的停止集进行;
定义:节点的度数为与校验节点或者变量节点连接的边的数量;由度数为2的校验节点构成,相邻的校验节点有一个公共的变量节点的结构为链;
在停止集中寻找可构造出度数为2的校验节点集合,进行如下操作;
a.当2个度数为3校验节点分别与2个链各有1个公共变量节点时,这2个度数为3的变量节点和链中的部分节点构成1个环状结构,环中仅有2个度数为3的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点;
b.当2个度数为3的校验节点均与同一个链有1个公共变量节点,并且这2个校验节点有1个不在这条链上的公共变量节点时,这2个度数为3的变量节点和链中的部分节点构成1个环状结构,环中仅有2个度数为3的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点;
c.当1个度数为4的校验节点和1个链有2个公共的变量节点时,这个度数为4的变量节点和链中的部分节点构成1个环状结构,环中仅有1个度数为4的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点;
d.当1个度数为4的校验节点和1个链有3个公共的变量节点时,这个度数为4的变量节点和链中的部分节点构成3个环状结构,每个环中仅有1个度数为4的校验节点,其它的校验节点的度数都为2,显然在由每个环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点,3个环就可以得到3个新的度数为2的校验节点;
f.当以上条件都不满足时,则判定无法生成新的校验节点。
2.一种基于MP译码LDPC纠删码译码方法,其特征在于:所述纠删码译码方法包括如下步骤:
S1:标准MP译码:对接收到的码字进行标准MP译码,如MP译码成功恢复所有的变量节点时,则停止译码并输出解码后的码字;如MP译码无法成功恢复所有的变量节点时,则剩余的未知变量节点将形成一个停止集,即残余Tanner图,转到S2;
S2:可恢复校验节点集合译码:在译码后的残余Tanner图中寻找简单的可恢复校验节点集合,如果有,利用可恢复校验节点集合特点,求解二进制方程组计算出其中的可恢复变量节点,转到S1继续进行MP译码;否则,转到S3;
残余Tanner图中的若干校验节点通过对应的边连接相应的未知变量节点构成子图,如果子图中仅一个度数为3的校验节点,其余校验节点的度数均为2,同时子图中的变量节点中仅仅有1个变量节点度数是1即可恢复变量节点,其它变量节点的度数都是2,那么这个子图对应的结构就是简单的可恢复校验节点集合;
S3:新校验节点构造译码:基于权利要求1所述的从停止集中深度挖掘度数为2的校验节点的方法,在残余Tanner图中寻找可构造出度数为2的校验节点集合,对其子图的结构进行分析,针对不同的子图结构利用对应的方式进行求解,从而在残余Tanner图中增加相应新的度数为2的校验节点,转到S2;否则译码失败。
3.根据权利要求2所述的一种基于MP译码LDPC纠删码译码方法,其特征在于:所述S1包括:
S1.1:从Tanner图中移除所有已知变量节点和与这些变量节点相连的边,当1个变量节点被移除时,将该变量节点值加到移除的变量节点所连接的校验节点的奇偶校验值中;
S1.2:寻找仅与1个未知变量节点相连的所有校验节点,如果有这样的校验节点,转到S1.3;否则转到S2,此时剩余的未知变量节点将形成1个停止集,即残余Tanner图;
S1.3:将度数为1校验节点的奇偶校验值复制到与之相连的未知变量节点,以此来确定这些未知变量节点的值;
S1.4:当未知变量节点的值已确定时,此变量节点就成为已知变量节点,如果所有的变量节点都是已知变量节点,此时译码结束,得到1个成功解码的码字;否则转到S1.5;
S1.5:将新得到已知变量节点的值加到与其相连的校验节点的奇偶校验值中,然后移除此已知变量节点以及与其相连的边,转到S1.2。
4.根据权利要求2所述的一种基于MP译码LDPC纠删码译码方法,其特征在于:所述S2包括:
可恢复校验节点集合中通过子图可得到对应的校验方程组中,只有1个变量节点出现了奇数次,其余的变量出现了偶数次,则该变量节点为可恢复的变量节点,如果一个可恢复校验节点集合中的变量节点和校验节点形成1个单环,且集合只有1个度数为1变量节点,那么这个集合进一步成为简单的可恢复校验节点集合;由于校验方程组是二进制方程组,采用加运算,求出对应出现1次的变量节点的值,转到S1继续进行MP译码。
5.根据权利要求2、3或4所述的一种基于MP译码LDPC纠删码译码方法,其特征在于:所述S2包括:
S2.1:残余Tanner图中寻找出所有的链;
S2.2:检测每个度数为3的校验节点,进行如下操作:
S2.2.1:如果本校验节点和其中1条链有2个公共的变量节点,此时这个度数为3的变量节点和链中的部分节点构成1个环状结构,该环状结构中仅有1个度数为3的校验节点,其它的校验节点的度数都为2,很显然只有没有连接到这个环上的变量节点度数为1,其它的变量节点度数都是2,即构成1个简单的可恢复校验节点集合,该集合中有1个可恢复的变量节点,计算出此变量节点的值,此时该可恢复的变量节点就成为已知变量节点,转到S1继续进行MP译码;
S2.2.2:如果本校验节点和其中1条链有3个公共的变量节点,此时这个度数为3的变量节点和链中的部分节点构成3个环状结构,每个环中仅有1个度数为3的校验节点,其它的校验节点的度数都为2,很显然只有没有连接到这个环上的变量节点度数为1,其它的变量节点度数都是2,即构成3个简单的可恢复校验节点集合,有3个可恢复的变量节点,计算出此3个变量节点的值,此时这3个可恢复的变量节点就成为3个已知变量节点,转到S1继续进行MP译码;
S2.2.3:如无法检测到上述两种简单的可恢复校验节点集合,转到S3。
6.根据权利要求5所述的一种基于MP译码LDPC纠删码译码方法,其特征在于:所述S3包括:
S3.1:一旦残余Tanner图中没有简单的可恢复校验节点集合,则寻找可构造出度数为2的校验节点集合,转到S3.2;否则纠删码译码失败,则译码结束;
S3.2:检测可构造出度数为2的校验节点集合,进行如下操作:
S3.2.1:当2个度数为3校验节点分别与2个链各有1个公共变量节点时,这2个度数为3的变量节点和链中的部分节点构成1个环状结构,环中仅有2个度数为3的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点,将新的度数为2的校验节点添加到残余Tanner图,转到S2;
S3.2.2:当2个度数为3的校验节点均与同一个链有1个公共变量节点,并且这2个校验节点有1个不在这条链上的公共变量节点时,这2个度数为3的变量节点和链中的部分节点构成1个环状结构,环中仅有2个度数为3的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点,将新的度数为2的校验节点添加到残余Tanner图,转到S2;
S3.2.3:当1个度数为4的校验节点和1个链有2个公共的变量节点时,这个度数为4的变量节点和链中的部分节点构成1个环状结构,环中仅有1个度数为4的校验节点,其它的校验节点的度数都为2,显然在由环中的校验节点构成的子图中,2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点,将新的度数为2的校验节点添加到残余Tanner图,转到S2;
S3.2.4:当1个度数为4的校验节点和1个链有3个公共的变量节点时,这个度数为4的变量节点和链中的部分节点构成3个环状结构,每个环中仅有1个度数为4的校验节点,其它的校验节点的度数都为2,显然在由每个环中的校验节点构成的子图中,只有2个变量节点度数为1,其它的变量节点度数都是2,将环中的校验节点所对应的方程相加,可以得到一个新的度数为2的校验节点,3个环就可以得到3个新的度数为2的校验节点,将3个新的度数为2的校验节点添加到残余Tanner图,转到S2。
7.一种基于MP译码LDPC纠删码的译码系统,其特征在于:
所述系统用于执行如权利要求2至6任一项所述的基于MP译码LDPC纠删码译码方法,具体包括:
标准MP译码模块:用于执行MP译码运算恢复变量节点,输出解码后的码字或停止集;
可恢复校验节点集合模块:用于寻找简单的可恢复校验节点集合,输出可恢复变量节点变量的值;
新校验节点构造模块:用于寻找可构造出度数为2的校验节点的集合,输出新的度数为2的校验节点。
8.一种基于MP译码LDPC纠删码的译码的计算设备,其特征在于:包括存储器和处理器,所述存储器,用于存储计算机程序代码,并将所述计算机程序代码传输给所述处理器;
所述处理器,用于根据所述计算机程序代码中的指令执行如权利要求2至6任一项所述的基于MP译码LDPC纠删码译码方法。
9.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述权利要求2至6任一项中所述的基于MP译码LDPC纠删码译码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311774420.0A CN117459076B (zh) | 2023-12-22 | 2023-12-22 | 基于mp译码ldpc纠删码译码方法、系统、设备及可存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311774420.0A CN117459076B (zh) | 2023-12-22 | 2023-12-22 | 基于mp译码ldpc纠删码译码方法、系统、设备及可存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117459076A CN117459076A (zh) | 2024-01-26 |
CN117459076B true CN117459076B (zh) | 2024-03-08 |
Family
ID=89584001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311774420.0A Active CN117459076B (zh) | 2023-12-22 | 2023-12-22 | 基于mp译码ldpc纠删码译码方法、系统、设备及可存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117459076B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0428042D0 (en) * | 2004-12-22 | 2005-01-26 | Tomlinson Martin | A system for the correction of missing or deleted symbols |
CN101179279A (zh) * | 2007-11-27 | 2008-05-14 | 浙江大学 | 适合于加性白高斯噪声信道的无速率码编译码方法 |
CN104052499A (zh) * | 2014-06-04 | 2014-09-17 | 华中科技大学 | 一种ldpc码的纠删译码方法及系统 |
DE102014208996B3 (de) * | 2014-05-13 | 2015-11-05 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050193320A1 (en) * | 2004-02-09 | 2005-09-01 | President And Fellows Of Harvard College | Methods and apparatus for improving performance of information coding schemes |
EP2134018A1 (en) * | 2008-05-23 | 2009-12-16 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Method for recovery of lost and/ or corrupted data |
-
2023
- 2023-12-22 CN CN202311774420.0A patent/CN117459076B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0428042D0 (en) * | 2004-12-22 | 2005-01-26 | Tomlinson Martin | A system for the correction of missing or deleted symbols |
CN101179279A (zh) * | 2007-11-27 | 2008-05-14 | 浙江大学 | 适合于加性白高斯噪声信道的无速率码编译码方法 |
DE102014208996B3 (de) * | 2014-05-13 | 2015-11-05 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten |
CN104052499A (zh) * | 2014-06-04 | 2014-09-17 | 华中科技大学 | 一种ldpc码的纠删译码方法及系统 |
Non-Patent Citations (2)
Title |
---|
Design of High-Rate Irregular Non-binary LDPC Codes Using Algorithmic Stopping-Set Cancellation;Sudarsan V. S. Ranganathan;2014 IEEE International Symposium on Information Theory;20141231;全文 * |
改善LT码性能的预译码集优化方法研究;刘峰;研究与开发;20091215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117459076A (zh) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2372919B1 (en) | Rate compatible low-density parity-check (LDPC) codes for H-ARQ systems | |
US7633413B2 (en) | Systems and processes for decoding a chain reaction code through inactivation | |
US8413008B2 (en) | Method for recovery of lost and/or corrupted data | |
CN102077173B (zh) | 利用写入验证减轻代码的误码平层 | |
KR101216735B1 (ko) | 프로덕트 부호의 복호 방법 및 장치 | |
CN107528597B (zh) | 一种基于crc校验码的ldpc码后处理译码方法 | |
Abdel-Ghaffar et al. | On Helberg's generalization of the Levenshtein code for multiple deletion/insertion error correction | |
US10892848B2 (en) | Devices and methods implementing polar codes | |
US8468438B2 (en) | Method and apparatus for elementary updating a check node during decoding of a block encoded with a non-binary LDPC code | |
US7945845B2 (en) | Maximum likelihood decoding via mixed-integer adaptive linear programming | |
Yeo et al. | Improved hard-reliability based majority-logic decoding for non-binary LDPC codes | |
WO2018021926A1 (en) | Decoding of polar codes and polar subcodes | |
Grinchenko et al. | Improving performance of multithreshold decoder over binary erasure channel | |
Upadhyaya et al. | On LDPC decoding with natural redundancy | |
Khajehnejad et al. | Explicit matrices for sparse approximation | |
CN117459076B (zh) | 基于mp译码ldpc纠删码译码方法、系统、设备及可存储介质 | |
CN110798312A (zh) | 连续变量量子密钥分发系统的秘密协商方法 | |
Koremura et al. | Successive cancellation decoding of polar codes for insertion/deletion error correction | |
He et al. | Disjoint-set data structure-aided structured Gaussian elimination for solving sparse linear systems | |
Khuat et al. | New binary code design to correct one deletion and one insertion error | |
Nouh et al. | Efficient serial concatenation of symbol by symbol and word by word decoders | |
WO2020139234A1 (en) | Performance enhancement of polar codes for short frame lengths considering error propagation effects | |
CN115348010B (zh) | 一种适用于连续变量量子密钥分发残余误码消除的方法与系统 | |
CN115378582B (zh) | 一种连续变量量子密钥分发残余误码消除的方法与系统 | |
Mazumdar | Combinatorial methods in coding theory |
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 |