CN110086568A - 基于消息更新范围可变的动态选择策略的ldpc码译码方法 - Google Patents
基于消息更新范围可变的动态选择策略的ldpc码译码方法 Download PDFInfo
- Publication number
- CN110086568A CN110086568A CN201910259263.7A CN201910259263A CN110086568A CN 110086568 A CN110086568 A CN 110086568A CN 201910259263 A CN201910259263 A CN 201910259263A CN 110086568 A CN110086568 A CN 110086568A
- Authority
- CN
- China
- Prior art keywords
- node
- check
- new
- range
- new range
- 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.)
- Granted
Links
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
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
- H04L1/0051—Stopping criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明具体涉及一种基于消息更新范围可变的动态选择策略的LDPC码译码方法。该译码方法通过统计译码更新过程中不满足校验方程的校验节点数,判断当前译码状态,从而动态调整为合适的更新范围。当译码状态良好时,该译码更新方法选择较大的更新范围进行译码,从而传递更多更新的信息,提高译码收敛速度。当译码状态恶化时,该译码更新方法通过缩小更新的范围,减少该范围内形成的环的数目,从而抑制贪婪趋势在环上的传播,提高译码纠错性能。本发明能根据译码状态,合理调整更新范围,有效抑制动态译码更新方法的贪婪性,大幅提升译码性能、收敛性能及吞吐量性能。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种基于消息更新范围可变的动态选择策略的LDPC码译码方法。
背景技术
1962年,Gallager首次提出了LDPC(低密度奇偶校验码,Low Density ParityCheck Codes)码,然而受制于当时的硬件条件,这种性能优异的线性分组码并没有引起足够的关注。1981年,得益于Tanner图的提出和应用,LDPC码的研究有了很大的进步。1995年,MacKey等人重新对LDPC码的性能、构造方法、编码方法,译码方法等做了充分的理论和实验证明。自此,这种能够逼近香农极限的LDPC码引起了学界浓厚的研究兴趣。LDPC码的稀疏性是指该码的校验矩阵H中非0的元素非常少,这极大降低了消息与消息之间的相关性,使得消息传递的可靠性得到提高。目前,LDPC码在无线通信、海洋探测、光通信、数字视频广播等领域都有着广泛的应用。2016年10月,LDPC码被3GPP采用为5G通信标准中数据信道的编码方案。随着理论研究的不断推进,编译码技术的不断提高,LDPC码必将在未来通信领域发挥更加重要的作用。
LDPC码的主要采用硬判决译码或软判决译码。硬判决译码算法实现简单,译码复杂度低,适用于信道条件良好的应用场合。软判决译码算法则充分利用了消息传递间的概率信息,纠错性能远高于硬判决译码算法。根据消息更新策略,软判决译码算法主要分为三类:并行调度、串行调度和动态调度。不同于固定更新次序的并行调度和串行调度,动态调度能根据当前译码状态,动态选择合适的更新次序。因此,相比于并行调度和串行调度,动态调度的收敛速度更快,纠错性能更好,非常适用于高可靠低时延的译码场景。2007年,A.I.Casado等人提出了首个动态调度译码算法,即基于边残差的动态调度译码算法。该算法也被称为RBP算法。在RBP算法中,具有最大边残差的边消息会被选定进行更新,其中边残差等于预更新的边消息和当前的边消息的差值的绝对值。虽然RBP算法获得了良好的纠错性能,但受制于动态调度策略所存在的贪婪性,RBP算法的收敛性能一般。为了降低算法的贪婪性,A.I.Casado在RBP算法的基础上提出了NWRBP算法。2013年,H.C.Lee等人提出了基于更新配额的动态调度译码算法即Q-RBP算法。Q-RBP算法通过合理控制边消息的更新次数,抑制了动态策略的贪婪性,提升了纠错性能和收敛性能。2015年,X.C.Liu等人提出了基于震荡变量节点消息残差的OV-RBP算法。OV-RBP算法通过优先对不可靠变量节点的更新,提高了消息传递的可靠性,获得了良好的纠错性能和收敛性能。尽管如此,如何抑制动态策略的贪婪性,进一步提高译码性能,依然是值得继续研究的问题。
在LDPC码动态调度译码算法中,具有最大边残差的边被更新后,会使得与其相邻的边产生很大的边残差,导致这些相邻的边有很大概率会在后续的译码过程中被选中更新,从而形成一种更新传递趋势。如果这种更新传递趋势沿着环上的边循环传播,最终将使得少量的边多次重复被更新,从而占据过多的译码资源,形成动态调度策略的贪婪性问题。
发明内容
为了克服现有技术的缺陷,本发明提供一种基于消息更新范围可变的动态选择策略的LDPC码译码方法。该译码更新方法能根据当前译码状态,合理设置更新范围。该译码算法还优先对不满足校验节点中的变量节点进行更新,提升了消息传递的可靠性,大幅减少了搜索最大边残差的搜索复杂度,从而取得了优异的纠错性能和吞吐量性能。
针对上述技术问题,本发明是这样加以解决的:
一种基于消息更新范围可变的动态选择策略的LDPC码译码方法,包括如下步骤:
S1.将满足校验节点存入集合S中,将不满足校验节点存入集合U中,并用变量unold记录不满足校验节点的个数|U|;设更新次数计数器ct=0,更新范围的大小na=M,其中M表示总的校验节点的个数;设定更新范围的下限值nl;
S2.用集合C表示更新范围,清空当前更新范围C,随机选择na个校验节点加入更新范围C中;
S3.若更新范围内有不满足校验节点,即则先从集合C中的所有不满足校验节里找具有最大边残差的边进行消息更新,更新次数计数器ct加1,更新集合S和U中的元素;再从集合C中的所有满足校验节点里找具有最大边残差的边进行消息更新,更新次数计数器ct加1,更新集合S和U中的元素;若更新范围内没有不满足校验节点,即此时更新范围内只有满足校验节点,则从所有满足校验节点中找具有最大边残差的边进行消息更新,更新次数计数器ct加1,更新集合S和U中的元素;
S4.若满足停止准则,则退出译码,否则判断是否需要调整更新范围,若需要则调整更新范围,否则保持当前更新范围不变;
S5.跳转执行S2继续进行译码,直到满足停止准则。
进一步地,设定更新范围的下限值nl的具体步骤如下:
S11.设定测试更新范围的大小nl=1,新平均迭代次数Inew=0,旧平均迭代次数Iold=Imax,其中Imax为译码更新方法预设的最大迭代次数;
S12.清空当前更新范围C,随机选择nl个校验节点加入更新范围C中,并对更新范围内具有最大边残差的边进行消息更新,重复步骤S12直到满足停止准则,记录译码迭代次数;
S13.在大小为nl的更新范围内译码n帧测试帧后,计算新平均迭代次数Inew;
S14.比较新平均迭代次数Inew和旧平均迭代次数Iold的大小,若Inew>Iold,则更新范围nl的值减1,输出nl作为更新范围的下限值;否则,更新范围大小nl的值加1,令Iold=Inew,跳转执行S12。
本发明将满足校验节点和不满足校验节点划分为两个集合,因不满足校验节点必然连接着错误变量节点,所以当更新范围内有不满足校验节点时,优先对不满足校验节点中的最大边残差边进行更新,提升消息更新的可靠性。
进一步的,假设用Ii表示译码第i帧所使用的迭代次数,则新平均迭代次数Inew用式子(1)计算;
经蒙特卡洛仿真测试,n=2000时计算得出的平均迭代次数与n=10000时计算得出的平均迭代次数相差小于等于0.01,因此可以设定n=2000。
进一步地,消息更新的具体步骤如下:
S31.若更新范围内有不满足校验节点,则先从范围内所有不满足校验节点中找具有最大边残差的边;若更新范围内只有满足校验节点,则从范围内所有满足校验节点中找具有最大边残差的边;假设校验节点ci到变量节点vj的边残差为最大边残差,则边残差为预计算C2V边信息值和当前C2V边信息值的差值的绝对值,按式子(2)进行计算;
S32.更新校验节点ci到变量节点vj的C2V边信息按式子(3)进行计算,其中N(ci)\vj表示除了变量节点vj以外所有与校验节点ci相连的变量节点,表示变量节点vb到校验节点ci的V2C边信息;
S33.更新变量节点vj的LLR(Log-Likelihood Ratio,对数似然比)值L(vj),变量节点vj的LLR值L(vj)按式子(4)计算,其中表示变量节点vj的信道原始信息,M(vj)表示所有与变量节点vj相连的校验节点;
S34.变量节点vj的LLR值L(vj)更新完毕后,更新变量节点vj到校验节点ca的V2C边信息其中M(vj)\ca表示除了校验节点ca以外,所有与变量节点vj相连的校验节点;
S35.对所有校验节点ca∈M(vj)\ci使用式子(3)预计算C2V边信息,再使用式子(2)计算边残差,用于下一轮更新迭代过程。
本发明通过统计译码更新过程中不满足的校验节点数,判断当前译码状态,从而动态调整为合适的更新范围大小。若当前不满足校验节点数比前一次检测时少,表示译码状态良好,目前更新范围的大小合适无需调整。若当前不满足校验节点数比前一次检测时多,表示译码状态恶化,需要缩小更新范围,以抑制算法的贪婪性。
进一步的,判断是否需要调整更新范围的具体步骤如下:
判断更新次数ct是否达到检测次数若更新次数此时更新次数未达到检测次数,不需要调整更新范围,保持当前更新范围的大小na不变;
若更新次数此时更新次数达到检测次数,记录当前的不满足校验节点的个数unnew=|U|,令更新次数ct=0;
判断当前不满足校验节点数是否增多,若unnew<unold,表示与前一次检测相比,当前不满足校验节点数减少,译码状况良好,此时保持当前更新范围的大小na不变;令unold=unnew,用于下一次检测对比;若unnew≥unold,表示与前一次检测相比,当前不满足检验节点数不变或增多,译码状况恶化,此时缩小更新范围若更新范围na缩小后小于下限值nl,则设定更新范围na=nl。
本发明能根据当前译码状态,动态调整成合适的更新范围大小。当译码状态良好时,本发明选择较大的更新范围内进行译码,以传递更多更新的信息,加快收敛速度。当译码状态恶化时,本发明通过缩小更新范围,以抑制动态译码的贪婪性,提升译码性能。但更新范围不是无限缩小的,当更新范围小于下限值时,将更新范围的大小设定为下限值。
相比于现有技术,本发明的有益效果为:
以往的动态调度译码算法以所有校验节点作为更新范围,并从所有校验节点中寻找具有最大边残差的边进行更新。然而,所有校验节点也构成了所有的环,而这些环也被包含在更新范围内。以往的动态调度译码算法很容易导致更新传递趋势在少部分环上循环传播,造成少部分环占据了过多的更新资源,形成了贪婪性问题。区别于以往固定以所有校验节点作为更新范围的动态调度译码算法,本发明根据当前译码状态,动态选择适量的校验节点作为更新范围。当发现不满足校验节点不变或者增多,译码陷入停滞或者恶化时,译码器缩小更新范围,减少了更新范围内形成的环的数量,从而有效抑了动态译码算法的贪婪性。因更新范围缩小,本发明减少了寻找最大边残差所需要的搜索操作,大幅降低了译码复杂度。另外,本发明还优先对更新范围内不满足的校验节点进行更新,提升消息更新的可靠性。本发明通过上述步骤,合理调整更新范围,有效解决了动态调度译码算法的贪婪性问题,提升消息更新的可靠性,取得了优异的纠错性能、吞吐量性能和收敛性能。
附图说明
图1为本发明的算法流程图;
图2为本发明中译码更新的具体流程图;
图3为1/2-(576,288)LDPC码的纠错性能对比;
图4为1/2-(576,288)LDPC码的吞吐量性能对比;
图5为1/2-(576,288)LDPC码在信噪比为3.0dB时的收敛性能对比。
具体实施方式
下面结合附图和实施例对本发明做进一步详细说明。
实施例1
RCA(Decoding algorithm based on random select of check nodes with anadjustable update range,也即基于消息更新范围可变的置信传播译码方法)表示本发明方法的简称。
根据图1所示的RCA译码算法的总体流程图,并结合图2所表示的译码更新流程图,本发明RCA译码算法的具体步骤如下:
S101.将满足校验节点存入集合S中,将不满足校验节点存入集合U中,并用变量unold记录不满足校验节点的个数|U|;设更新次数计数器ct=0,更新范围的大小na=M,其中M表示总的校验节点的个数。设定更新范围的下限值nl;其中,设定更新范围的下限值nl,具体步骤如下:
S1011.初始化测试更新范围的下限值nl=1,新平均迭代次数Inew=0,旧平均迭代次数Iold=Imax,其中Imax为译码更新方法预设的最大迭代次数;
S1012.用集合C表示更新范围,先清空当前更新范围C,再随机选择nl个校验节点加入更新范围C中,并对更新范围内具有最大边残差的边进行消息更新,重复步骤S1012直到满足停止准则;
S1013.在大小为nl的更新范围内译码n帧测试帧,记录译码每帧的迭代次数,然后计算新平均迭代次数Inew;假设用Ii表示译码第i帧所使用的迭代次数,则新平均迭代次数Inew用式子(1)进行计算:
其中,经蒙特卡洛仿真测试,n=2000时计算得出的平均迭代次数与n=10000时计算得出的平均迭代次数相差小于等于0.01,因此可以设定n=2000。
S1014.比较新平均迭代次数Inew和旧平均迭代次数Iold的大小,若Inew>Iold,则nl的值减1,输出nl作为更新范围的下限值;否则,nl的值加1,令Iold=Inew,跳转执行S1012。
S102.清空当前更新范围C,随机选择na个校验节点加入更新范围C中;
S103.若更新范围内有不满足校验节点,即则先从集合C中的所有不满足校验节里找具有最大边残差的边进行消息更新,更新次数计数器ct加1,更新集合S和U中的元素;再从集合C中的所有满足校验节点里找具有最大边残差的边进行消息更新,更新次数计数器ct加1,更新集合S和U中的元素;若更新范围内没有不满足校验节点,即此时更新范围内只有满足校验节点,则从所有满足校验节点中找具有最大边残差的边进行消息更新,更新次数计数器ct加1,更新集合S和U中的元素;其中,消息更新过程的具体步骤如下:
S1031.若更新范围内有不满足校验节点,则先从范围内所有不满足校验节点中找具有最大边残差的边;若更新范围内只有满足校验节点,则从范围内所有满足校验节点中找具有最大边残差的边;假设校验节点ci到变量节点vj的边残差为最大边残差,则边残差为预计算C2V边信息值和当前C2V边信息值的差值的绝对值,按式子(2)进行计算:
S1032.更新校验节点ci到变量节点vj的C2V边信息,按式子(3)进行更新:
S1033.更新变量节点vj的LLR值L(vj),其中变量节点vj的LLR值L(vj)按式子(4)进行更新:
S1034.变量节点vj的LLR值L(vj)更新完毕后,按式子(5)更新变量节点vj到校验节点ca的V2C边信息,其中ca∈M(vj)\ci:
S1035.对所有校验节点ca∈M(vj)\ci使用式子(3)预计算C2V边信息再使用式子(2)计算边残差用于下一次更新迭代过程,其中vb∈N(ca)\vi。
S104.进行译码判决,若译码判决成功或达到最大迭代次数,则表示满足停止准则,退出译码;若译码判决不成功且未达到最大迭代次数,则表示不满足停止准则,则判断是否需要调整更新范围,若需要则调整更新范围,否则保持当前更新范围不变。
S105.跳转执行S102继续进行译码,直到满足停止准则。
其中,判断是否需要调整更新范围的具体步骤如下:
S1041.判断更新次数ct是否达到检测次数若更新次数此时更新次数未达到检测次数,不需要调整更新范围;保持当前更新范围大小nl不变,跳转执行S2,继续译码;
S1042.若更新次数此时更新次数达到检测次数,记录当前的不满足校验节点的个数unnew=|U|,令更新次数ct=0;
S1043.判断当前不满足校验节点数与前一次检测相比是否增多,若unnew<unold,表示与前一次检测相比,当前不满足校验节点数减少,译码状况良好,此时保持当前更新范围大小nl不变;令unold=unnew,用于下一次检测对比,跳转执行S102,继续译码;若unnew≥unold,表示与前一次检测相比,当前不满足检验节点数不变或增多,译码状况恶化,此时缩小更新范围若更新范围na缩小后小于下限值nl,则设定更新范围na=nl,调整范围后,跳转执行S102,继续译码。
为了比较本发明提出的基于消息更新范围可变的置信传播译码方法的性能,本实施例进行了计算机仿真。具体操作为,采用随机产生LDPC码在AWGN信道上传输,并利用包含本算法在内的多种不同的译码算法进行译码,设置最大迭代次数为5,最大错误帧数为100帧,调制方式为BPSK,Eb/N0表示归一化信噪比,单位为分贝(dB)。
图3显示了(576,288)二进制LDPC码在AWGN信道上,采用各种不同的译码算法后的纠错性能对比图。从图中可以看出,在较低信噪比下,如1.0dB-2.0dB,各动态调度译码算法的纠错性能曲线几乎重合,这表示在很低信噪比下各算法的纠错性能差别很小。但是,在2.0dB以后各算法的纠错性能发生了明显的变化。在2.0dB前,Q-RBP算法、OV-RBP算法和RCA算法的性能曲线几乎重合,但是三者的下降速度明显快于其它的算法。从2.5dB开始,随着信噪比的增加,Q-RBP算法和OV-RBP算法的性能曲线依然十分接近,而RCA算法已经显现出明显优势,成为译码性能最佳的算法。在误帧率FER=1.0×10-5时,与OVRBP算法相比,RCA算法有0.27dB左右的性能提升。
图4显示了(576,288)二进制LDPC码在AWGN信道上,采用各种不同的动态调度译码算法后的吞吐量性能对比图。吞吐量(Throughput)是指译码算法每秒成功译码的帧数(frames/s)。从图中可以看出,在较低信噪比下,如1.0dB-1.5dB,以往的各动态调度译码算法的性能曲线几乎重合,而RCA算法已经展现出明显的吞吐量优势。在2.0dB以后以往各算法的吞吐量性能增长缓慢,而RCA算法的吞吐量性能还在快速提升,成为吞吐量性能最佳的算法。在2.0dB时,RCA算法的吞吐量接近是RBP算法的两倍。以往的动态调度译码算法以所有校验节点作为更新范围,从中寻找最大边残差,因此搜索复杂度较高。OV-RBP和Q-RBP算法为了提升纠错性能,增加了许多译码操作,使得复杂度进一步提高。因此,OV-RBP等改进算法的吞吐量不如RBP算法。而RCA根据译码状态,缩小更新范围,因此搜索复杂度大幅下降,提升了吞吐量性能。随着信噪比的提升,这种吞吐量性能的优势进一步显示出来。在信噪比为3.5dB时,RCA算法的吞吐量性能扩大为RBP算法的三倍,展现出十分优异的吞吐量性能。
图5显示了(576,288)规则二进制LDPC码在设定信噪比3.0dB下各译码算法随迭代次数(The Number of Iterations)增加的收敛性能对比图。从图5中可以看出,本发明的RCA算法表现出了很好的收敛性能,与其他译码算法相比,在第一次迭代后即达到了较低的BER(Bit Error Ratio,比特出错概率)值,以后一直保持着相对较好的收敛趋势。在10次迭代以后,各译码算法的BER性能趋于稳定,而RCA算法的BER性能还在持续提升。在50次迭代时,RCA算法的BER性能显著优于其他算法的BER性能,这说明了RCA算法与其他算法相比,有着更加优异的收敛性能。
上述实例仿真中,Q-RBP算法可以参考如下文献:H.C.Lee,Y.L.Ueng,S.M.Yeh,andW.Y.Weng.Two informed dynamic scheduling strategies for iterative LDPCdecoders[J].IEEE Transactions on Communications,Mar.2013,61(3):886–896.
OV-RBP算法可以参考如下文献:X.Liu,Y.Zhang,and R.Cui.Variable-node-based dynamic scheduling strategy for belief-propagation decoding of LDPCcodes[J].IEEE Communications.Letters,Feb.2015,19(2):147–150。
Claims (5)
1.一种基于消息更新范围可变的动态选择策略的LDPC码译码方法,其特征在于,包括如下步骤:
S1.将满足校验节点存入集合S中,将不满足校验节点存入集合U中,并用变量unold记录不满足校验节点的个数|U|;设更新次数计数器ct=0,更新范围的大小na=M,其中M表示总的校验节点的个数;设定更新范围的下限值nl;
S2.用集合C表示更新范围,清空当前更新范围C,随机选择na个校验节点加入更新范围C中;
S3.若更新范围内有不满足校验节点,即则先从集合C中的所有不满足校验节点里找具有最大边残差的边进行消息更新,更新次数计数器ct加1,更新集合S和U中的元素;再从集合C中的所有满足校验节点里找具有最大边残差的边进行消息更新,更新次数计数器ct加1,更新集合S和U中的元素;若更新范围内没有不满足校验节点,即此时更新范围内只有满足校验节点,则从集合C中所有满足校验节点中找具有最大边残差的边进行消息更新,更新次数计数器ct加1,更新集合S和U中的元素;
S4.若满足停止准则,则退出译码,否则判断是否需要调整更新范围,若需要则调整更新范围,否则保持当前更新范围不变;
S5.跳转执行S2继续进行译码,直到满足停止准则。
2.根据权利要求1所述的基于消息更新范围可变的动态选择策略的LDPC码译码方法,其特征在于,设定更新范围的下限值nl的具体步骤如下:
S11.设定更新范围的大小nl=1,新平均迭代次数Inew=0,旧平均迭代次数Iold=Imax,其中Imax为译码更新方法预设的最大迭代次数;
S12.清空当前更新范围C,随机选择nl个校验节点加入更新范围C中,并对更新范围内具有最大边残差的边进行消息更新,重复S12直到满足停止准则,记录译码迭代次数;
S13.在大小为nl的更新范围内译码n帧测试帧后,计算当前消息更新范围内译码的新平均迭代次数Inew;
S14.比较新平均迭代次数Inew和旧平均迭代次数Iold的大小,若Inew>Iold,则更新范围nl的值减1,输出nl作为更新范围的下限值;否则,更新范围大小nl的值加1,令Iold=Inew,跳转执行S12。
3.根据权利要求2所述的基于消息更新范围可变的动态选择策略的LDPC码译码方法,其特征在于,假设用Ii表示译码第i帧所使用的迭代次数,新平均迭代次数Inew用式子(1)计算;
4.根据权利要求1-3任一项所述的基于消息更新范围可变的动态选择策略的LDPC码译码方法,其特征在于,消息更新的具体步骤包括:
S31.若更新范围内有不满足校验节点,则先从范围内所有不满足校验节点中找具有最大边残差的边;若更新范围内只有满足校验节点,则从范围内所有满足校验节点中找具有最大边残差的边;假设校验节点ci到变量节点vj的边残差为最大边残差,则边残差为预计算C2V边信息值和当前C2V边信息值的差值的绝对值,按式子(2)进行计算;
S32.更新校验节点ci到变量节点vj的C2V边信息按式子(3)进行更新,其中N(ci)\vj表示除了变量节点vj以外所有与校验节点ci相连的变量节点,表示变量节点vb到校验节点ci的V2C边信息;
S33.按式子(4)更新变量节点vj的对数似然比LLR值L(vj),变量节点vj的LLR值L(vj)按式子(4)计算,其中表示变量节点vj的信道原始信息,M(vj)表示所有与变量节点vj相连的校验节点;
S34.变量节点vj的LLR值L(vj)更新完毕后,更新变量节点vj到校验节点ca的V2C边信息按式子(5)进行计算,其中M(vj)\ca表示除了校验节点ca以外,所有与变量节点vj相连的校验节点;
S35.对所有校验节点ca∈M(vj)\ci使用式子(3)预计算C2V边信息,再使用式子(2)计算边残差,用于下一轮更新迭代过程。
5.根据权利要求1-3任一项所述的一种基于可变更新范围大小的动态选择策略的LDPC码译码更新方法,其特征在于,判断是否需要调整更新范围的具体步骤如下:
判断更新次数ct是否达到检测次数┌M/na┐,若更新次数ct<┌M/na┐,此时更新次数未达到检测次数,不需要调整更新范围,保持当前更新范围na不变;
若更新次数ct≥┌M/na┐,此时更新次数达到检测次数,记录当前的不满足校验节点的个数unnew=|U|,令更新次数ct=0;
判断当前不满足校验节点数是否增多,若unnew<unold,表示与前一次检测相比,当前不满足校验节点数减少,译码状况良好,此时保持当前更新范围na不变;令unold=unnew,用于下一次检测对比;若unnew≥unold,表示与前一次检测相比,当前不满足检验节点数不变或增多,译码状况恶化,此时缩小更新范围na=┌na/2┐,若更新范围na缩小后小于下限值nl,则令更新范围na=nl。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910259263.7A CN110086568B (zh) | 2019-04-02 | 2019-04-02 | 基于消息更新范围可变的动态选择策略的ldpc码译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910259263.7A CN110086568B (zh) | 2019-04-02 | 2019-04-02 | 基于消息更新范围可变的动态选择策略的ldpc码译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110086568A true CN110086568A (zh) | 2019-08-02 |
CN110086568B CN110086568B (zh) | 2020-09-22 |
Family
ID=67414041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910259263.7A Active CN110086568B (zh) | 2019-04-02 | 2019-04-02 | 基于消息更新范围可变的动态选择策略的ldpc码译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110086568B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594365A (zh) * | 2012-02-29 | 2012-07-18 | 中山大学 | 一种动态异步bp译码方法 |
CN104639178A (zh) * | 2015-03-06 | 2015-05-20 | 中山大学 | 一种基于ldpc码的动态列更新译码方法 |
CN105680880A (zh) * | 2016-01-04 | 2016-06-15 | 中山大学 | 基于c2v动态选择策略的ldpc码动态异步更新方法 |
CN105680876A (zh) * | 2016-01-04 | 2016-06-15 | 中山大学 | 基于v2c动态选择策略的ldpc码动态异步更新方法 |
US20170012647A1 (en) * | 2014-08-14 | 2017-01-12 | Electronics And Telecommunications Research Institute | Low density parity check encoder having length of 16200 and code rate of 3/15, and low density parity check encoding method using the same |
CN106936446A (zh) * | 2017-03-10 | 2017-07-07 | 南京大学 | 一种基于多进制ldpc码的高速译码器及其译码方法 |
CN106992026A (zh) * | 2017-03-20 | 2017-07-28 | 中山大学 | 一种针对NAND‑Flash存储介质的LDPC码快速信息恢复的译码方法 |
CN107682117A (zh) * | 2017-09-11 | 2018-02-09 | 天津工业大学 | 一种基于改进鸡群优化算法的短码长lt码度分布的设计方法 |
CN107863972A (zh) * | 2017-11-06 | 2018-03-30 | 山东大学 | 一种低译码复杂度的快速多元ldpc码译码方法 |
CN108988872A (zh) * | 2018-08-23 | 2018-12-11 | 中国科学院计算技术研究所 | 基于分层最小和算法的ldpc译码方法 |
-
2019
- 2019-04-02 CN CN201910259263.7A patent/CN110086568B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594365A (zh) * | 2012-02-29 | 2012-07-18 | 中山大学 | 一种动态异步bp译码方法 |
US20170012647A1 (en) * | 2014-08-14 | 2017-01-12 | Electronics And Telecommunications Research Institute | Low density parity check encoder having length of 16200 and code rate of 3/15, and low density parity check encoding method using the same |
CN104639178A (zh) * | 2015-03-06 | 2015-05-20 | 中山大学 | 一种基于ldpc码的动态列更新译码方法 |
CN105680880A (zh) * | 2016-01-04 | 2016-06-15 | 中山大学 | 基于c2v动态选择策略的ldpc码动态异步更新方法 |
CN105680876A (zh) * | 2016-01-04 | 2016-06-15 | 中山大学 | 基于v2c动态选择策略的ldpc码动态异步更新方法 |
CN106936446A (zh) * | 2017-03-10 | 2017-07-07 | 南京大学 | 一种基于多进制ldpc码的高速译码器及其译码方法 |
CN106992026A (zh) * | 2017-03-20 | 2017-07-28 | 中山大学 | 一种针对NAND‑Flash存储介质的LDPC码快速信息恢复的译码方法 |
CN107682117A (zh) * | 2017-09-11 | 2018-02-09 | 天津工业大学 | 一种基于改进鸡群优化算法的短码长lt码度分布的设计方法 |
CN107863972A (zh) * | 2017-11-06 | 2018-03-30 | 山东大学 | 一种低译码复杂度的快速多元ldpc码译码方法 |
CN108988872A (zh) * | 2018-08-23 | 2018-12-11 | 中国科学院计算技术研究所 | 基于分层最小和算法的ldpc译码方法 |
Non-Patent Citations (1)
Title |
---|
XINGCHENG LIU,ETC.: "Informed Decoding Algorithms of LDPC Codes Based on Dynamic Selection Strategy", 《IEEE TRANSACTIONS ON COMMUNICATIONS》 * |
Also Published As
Publication number | Publication date |
---|---|
CN110086568B (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5177767B2 (ja) | ガロア体gf(q)におけるldpc符号を復号する方法および機器 | |
KR101431162B1 (ko) | 주변 신뢰도에 따른 서열화를 이용한 메시지 전달 디코딩 방법 | |
US8689084B1 (en) | Method and apparatus for breaking trapping sets in decoding of information | |
US20090282319A1 (en) | Hierarchical decoding apparatus | |
US8689074B1 (en) | Method and apparatus for detecting trapping sets in decoding of information | |
KR101718543B1 (ko) | 개선된 비트 반전 알고리즘 기반의 저밀도 패리티 검사 부호를 위한 복호 방법, 장치 및 이를 위한 기록 매체 | |
CN106899309B (zh) | 基于变量节点可靠性的低复杂度ldpc动态调度译码更新方法 | |
CN107565978B (zh) | 基于Tanner图边调度策略的BP译码方法 | |
CN104467874B (zh) | 一种基于振荡变量节点的ldpc码动态调度译码方法 | |
US11601138B2 (en) | Decoding method of LDPC codes based on partial average residual belief propagation | |
US9219501B2 (en) | LDPC encoding/decoding method and device using same | |
CN110830050A (zh) | 一种ldpc译码方法、系统、电子设备及存储介质 | |
US9667273B2 (en) | Apparatus and method for correcting error in mobile communication system using non-binary low-density parity-check codes | |
TWI676371B (zh) | 解碼猛禽碼的裝置及方法 | |
KR102080069B1 (ko) | 비이진 ldpc 부호를 사용하는 수신기에서 데이터를 복호하는 방법 및 장치 | |
CN108370253B (zh) | 用于低密度奇偶校验解码的混合式调度和基于锁存器的流水线 | |
WO2016015288A1 (zh) | 译码方法和译码器 | |
US8429509B2 (en) | Apparatus and method for determining reliability of decoded data in communication system | |
CN110086568A (zh) | 基于消息更新范围可变的动态选择策略的ldpc码译码方法 | |
KR20210099388A (ko) | Ldpc 복호 방법 및 ldpc 복호 장치 | |
CN110086476A (zh) | 基于消息更新范围固定的动态选择策略的ldpc码译码方法 | |
KR101630114B1 (ko) | 최소합 알고리즘을 이용한 ldpc 복호화 장치 및 방법 | |
Chen et al. | Flooding-assisted informed dynamic scheduling for rateless codes | |
Wang et al. | Variable-length coding with shared incremental redundancy: Design methods and examples | |
Sun et al. | Piggybacking belief propagation decoding for rateless codes based on RA structure |
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 |