CN113572482B - 一种仅基于最小值的ldpc码最小和译码方法 - Google Patents

一种仅基于最小值的ldpc码最小和译码方法 Download PDF

Info

Publication number
CN113572482B
CN113572482B CN202110888982.2A CN202110888982A CN113572482B CN 113572482 B CN113572482 B CN 113572482B CN 202110888982 A CN202110888982 A CN 202110888982A CN 113572482 B CN113572482 B CN 113572482B
Authority
CN
China
Prior art keywords
value
decoding
minimum
minimum value
difference
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
Application number
CN202110888982.2A
Other languages
English (en)
Other versions
CN113572482A (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.)
Nanjing University
Original Assignee
Nanjing University
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 Nanjing University filed Critical Nanjing University
Priority to CN202110888982.2A priority Critical patent/CN113572482B/zh
Publication of CN113572482A publication Critical patent/CN113572482A/zh
Application granted granted Critical
Publication of CN113572482B publication Critical patent/CN113572482B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2948Iterative decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

本申请涉及数字信息传输技术领域,提供一种仅基于最小值的LDPC码最小和译码方法。在使用本申请所述译码方法前,需预构造一个码字本征函数f:引入一个易于获得的动态变量α,通过蒙特卡罗法构造和拟合得到次小值与最小值的差值δ和动态变量α之间的固定函数关系δ=f(α);然后运用本申请所述译码方法进行译码:在常规译码流程的校验节点更新阶段中,只求最小值,并利用最小值、本征函数f和实时获得的动态变量α′,动态计算次小值,再进行后续的常规译码流程。本申请中获取次小值的过程不同于常规译码,仅需一次加法,且次小值与最小值的差值是简单动态产生的,能在保证LDPC译码复杂度降低的同时,减少译码性能损失。

Description

一种仅基于最小值的LDPC码最小和译码方法
技术领域
本申请涉及数字信息传输技术领域,特别涉及一种仅基于最小值的LDPC码最小和译码方法。
背景技术
低密度奇偶校验码(Low Density Parity Check Code,简称LDPC码),是一类具有稀疏校验矩阵的线性分组码。LDPC码在使用置信传播(belief propagation,BP)算法进行迭代译码时,不仅具有逼近香农限的良好性能,而且译码复杂度较低,结构灵活,是近年信道编码领域的研究热点,用以提高通信系统和存储系统的可靠性。但是,BP算法计算繁琐,涉及到复杂的指数、对数和除法运算,进而对实现该算法的软件和硬件配置要求均非常高。
为了降低LDPC码的译码复杂度,现有技术对BP算法进行近似,得到最小和(Min-Sum,MS)算法。MS算法只涉及简单的比较和加减运算,从而大大降低了软硬件实现该算法的复杂度。为了保持MS复杂度低的优势,同时提升性能,归一化最小和译码算法(normalized-MS,nMS)被提出,该算法通过对校验节点更新中变量节点传递给校验节点的消息(V2C)进行加权处理,实现了MS算法的改进。
在常规的MS算法中,校验节点更新是最复杂的部分,而校验节点更新的核心计算是从若干无符号数据中获取输入变量节点V2C消息绝对值的最小值和次小值,由于寻找次小值的计算过程复杂度高,导致硬件开销大,不利于LDPC译码器的高效实现,因此,现有技术进一步优化了MS算法:只求最小值,不求次小值,通过简单的方法估计一个最小值与次小值的差值,并将最小值与差值的和值作为一个近似的次小值。
具体的,现有技术中基于单一最小值的最小和译码(smMS)算法,是将最小值与次小值的差值设为固定值,此固定值由仿真获得,具体方法如下:以一定的步长和范围对差值进行遍历,次小值用最小值与差值的和代替进行仿真,仿真得到当差值设为某个定值时,译码性能最好,则将该定值作为最小值与次小值的差值,再结合实际译码中获得的最小值,求出次小值。但在实际译码过程中,最小值与次小值的差值并非为固定值,因此,该现有技术的计算误差较大,会引起较大的译码性能损失。
另外,现有技术中基于可变权重的最小和译码(variable weight MS,vwMS)算法,是将译码迭代次数分为若干个区间,每个区间对应一个固定的差值,具体方法如下:步骤一,迭代范围被分成两半,权重因子从0到4以0.25为步长进行仿真;步骤二,从测试码字采用归一化最小和译码(nMS)算法时,误帧率为10-2对应的点开始,进行步骤一所述的仿真,保留与nMS算法相比,性能损失低于1分贝的权重因子,并将所有满足的权重因子组成集合,作为幸存集合;步骤三,以步骤二中误帧率为10-2对应的点为起点,将信噪比以0.2分贝为步长进行递增,直至测试码字采用nMS算法时误帧率为10-11对应的点,并获得最终差值的幸存集合;最后根据当前迭代次数,在最终差值的幸存集合中获取对应的差值,再结合实际译码中获得的最小值,求得次小值。该算法需要进行非常充分且大量的仿真,计算量大,并且仍会引起较大的译码性能损失。
综上所述,如何利用最小值来估计次小值,进而保证LDPC译码复杂度降低的同时,减少译码性能损失,是目前最小和译码方法的重点研究方向。
发明内容
为了克服现有技术的不足,本申请旨在提供一种仅基于最小值的LDPC码最小和译码方法,在保证LDPC译码复杂度降低的同时,通过利用单个最小值来估计次小值,减少译码性能损失。
为了实现上述目的,本申请提供一种仅基于最小值的LDPC码最小和译码方法,用于对LDPC码进行译码。所述LDPC码进行译码时,其中的次小值的获取过程为:
在校验节点更新阶段中获得最小值。
获取动态变量,并根据所述动态变量和预构造的码字本征函数,获得动态差值。
根据所述动态差值和所述最小值,获得次小值。
进一步的,构造码字本征函数的具体方法为:
获取每一次迭代完成后的动态变量。
获取每一次迭代时,每一行V2C消息的次小值和最小值之间的差值,作为临时差值,并对所有行的临时差值求平均值,获得基础差值。
根据所有的基础差值与所有的动态变量之间的一一对应关系,获得散点图。
对散点图进行拟合,获得动态变量和基础差值之间的函数关系,所述动态变量和基础差值之间的函数关系即为码字本征函数。
进一步的,使用线性函数或者离散函数对所述散点图进行拟合,获得码字本征函数。
进一步的,获取所述动态变量和所述临时差值的方法采用蒙特卡罗法。
进一步的,所述LDPC码进行译码时,校验节点更新阶段之后还包括以下步骤:
变量节点更新。
计算动态变量的值。
递增迭代次数,继续进行下一次迭代。
进一步的,对所述动态差值进行微调,获得微调值,并将所述微调值与所述动态差值的和值作为微调动态差值,其中获得微调值的具体方法如下:
判断上一次迭代时,校验矩阵中每一行校验方程是否满足校验和值为0,并获得判断结果,所述判断结果为满足和不满足。
获取实际差值和动态差值,所述实际差值为每一次LDPC码进行迭代译码时,每一行V2C消息的次小值与最小值的真实差值。
对于每一行V2C消息,采用实际差值减去动态差值,获得随机差值。
若所述判断结果为满足,则对校验和值为0对应行的随机差值进行累加,并对累加后的随机差值取平均值,获得第一微调值;所述第一微调值为译码时,该行校验和值为0时使用的微调值。
若所述判断结果为不满足,则对校验和值不为0对应行的随机差值进行累加,并对累加后的随机差值取平均值,获得第二微调值;所述第二微调值为译码时,该行校验和值不为0时使用的微调值。
进一步的,所述动态变量为非匹配比特数,所述非匹配比特数为后验概率信息与外消息之间符号位不同的数目,所述外消息为校验节点传递给变量节点的消息之和,所述后验概率信息与所述外消息具有如下函数关系:
APP=∑C2V+LLR_channel
其中,APP为后验概率信息,∑C2V为外消息,LLR_channel为信道中原始的对数似然比信息。
本申请提供一种仅基于最小值的LDPC码最小和译码方法,用于对LDPC码进行迭代译码,只求出最小值,但不将次小值与最小值的差值设为一个或多个固定值,而是引入一个易于得到的动态变量,该变量能够大概率反应算法的收敛程度。在使用本申请所述译码方法前,需预构造一个码字本征函数f:引入一个易于获得的动态变量α,通过蒙特卡罗法构造和拟合得到次小值与最小值的差值δ和动态变量α之间的固定函数关系δ=f(α);然后运用本申请所述译码方法进行译码:在常规译码流程的校验节点更新阶段中,只求最小值m1,并利用最小值m1、本征函数f和实时获得的动态变量α′,动态计算次小值m2=m1+f(α′),再进行后续的常规译码流程。还可在此基础上,对动态变量α′进行微调,假设微调值为β,则次小值为m2=m1+f(α′)+β。本申请中获取次小值的过程不同于常规译码,仅需一次或两次加法,且次小值与最小值的差值是简单动态产生的,能在保证LDPC译码复杂度降低的同时,减少译码性能损失。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种仅基于最小值的LDPC码最小和译码方法中次小值的获取过程示意图;
图2为本申请实施例提供的一种仅基于最小值的LDPC码最小和译码方法中构造码字本征函数的流程示意图;
图3为本申请实施例提供的一种仅基于最小值的LDPC码最小和译码方法的译码流程示意图;
图4为本申请实施例提供的误帧率性能曲线示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行完整、清楚的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于理解本申请实施例的技术方案,以下首先对本申请所涉及到的一些概念进行说明。
先简单说明一下LDPC码采用常规的MS算法进行译码的原理和步骤。为了便于阐述,假设C是一个由M行N列的奇偶校验矩阵H=[Hmn]指定的二进制(N,K)LDPC码,MS译码算法如下:
步骤S11:初始化:当前迭代次数i=0,最大迭代次数Imax,根据来自信道的接收信息l=(l1,l2,L,ln),初始化所有变量节点信息。
其中,m为变量节点,n为校验节点,Mn为所有与n相邻的变量节点集合,NM为所有与m相邻的校验节点集合,为校验节点n传递给变量节点m的边信息,/>为变量节点m传递给校验节点n的边信息,ln为接收到的信道信息。
步骤S12:校验节点更新:
其中,Nm\n表示除校验节点n外,所有与变量节点m相邻的校验节点集合;Mn\m表示除变量节点m外,所有与校验节点n相邻的变量节点集合。
步骤S13:变量节点更新:
步骤S14:硬判决:
当达到最大迭代次数Imax,或所有奇偶校验都满足时,迭代过程停止。
在常规的MS算法中,校验节点更新是其中最复杂的部分。而校验节点更新中的核心计算是求输入的V2C消息绝对值的最小值、次小值,为了进一步降低复杂度,可以利用最小值估计次小值,牺牲一定的译码性能以换取硬件实现复杂度的减小。因此,研究如何利用单个最小值来估计次小值,对降低LDPC硬件实现的复杂度具有重大的意义。
本申请实施例提供一种仅基于最小值的LDPC码最小和译码方法,用于对LDPC码进行译码。参见图1,为本申请实施例提供的一种仅基于最小值的LDPC码最小和译码方法中次小值的获取过程示意图。LDPC码进行译码时,其中的次小值的获取过程为:
步骤S21:在校验节点更新阶段中获得最小值。具体的,所述最小值为输入的V2C消息绝对值的最小值。
步骤S22:获取动态变量,并根据所述动态变量和预构造的码字本征函数,获得动态差值。
进一步的,所述动态变量为非匹配比特数,所述非匹配比特数为后验概率信息与外消息之间符号位不同的数目,所述外消息为校验节点传递给变量节点的消息之和,所述后验概率信息与所述外消息具有如下函数关系:
APP=∑C2V+LLR_channel
其中,APP为后验概率信息,∑C2V为外消息,LLR_channel为信道中原始的对数似然比信息。
具体的,在一次迭代中,每一列都有后验信息和外消息这两个值,这两个值符号位不同就记为一个非匹配比特,最后对所有的非匹配比特计数,就是非匹配比特数。
具体的,本申请实施例采用非匹配比特数作为动态变量,但并不仅限于非匹配比特数,非匹配比特数只是动态变量的其中一种形式,任意能实现本申请所述仅基于最小值的最小和译码方法的动态变量均在本申请的保护范围内。
进一步的,参见图2,为本申请实施例提供的一种仅基于最小值的LDPC码最小和译码方法中构造码字本征函数的流程示意图。本申请实施例中,构造码字本征函数的具体方法为:
步骤S221:获取每一次迭代完成后的动态变量。
步骤S222:获取每一次迭代时,每一行V2C消息的次小值和最小值之间的差值,作为临时差值,并对所有行的临时差值求平均值,获得基础差值。
步骤S223:根据所有的基础差值与所有的非匹配比特数之间的一一对应关系,获得散点图。
步骤S224:对散点图进行拟合,获得非匹配比特数和基础差值之间的函数关系,所述非匹配比特数和基础差值之间的函数关系即为码字本征函数。
进一步的,获取所述动态变量和所述临时差值的方法采用蒙特卡罗法。具体的,蒙特卡罗法也称统计模拟法、统计试验法,适用于对离散系统进行计算仿真试验。蒙特卡洛法的基本思想是:为了求解问题,首先建立一个概率模型或随机过程,使它的参数或数字特征等于问题的解;然后通过对模型或过程的观察或抽样试验来计算这些参数或数字特征,最后给出所求解的近似值。本申请实施例采用蒙特卡罗法进行仿真,是由于蒙特卡罗法对于具有以下特点:统计性质问题可以直接进行解决,对于连续性的问题不必进行离散化处理,且方法的误差与问题的维数无关。
进一步的,使用线性函数或者离散函数对所述散点图进行拟合,获得码字本征函数。具体的,线性函数和离散函数表达出的结果清晰直观,且计算简便,故本申请实施例首选将散点图拟合成这两种函数关系,如遇到特殊情况,也可选择其他更适合的函数关系。更进一步的,还可以使用每一段都取定值的分段函数进行拟合,但由此可能造成额外的性能损失。
本申请实施例中,由于在初次迭代过程中,并没有上一次迭代的非匹配比特数,故无法利用码字本征函数得到初次迭代的动态差值,故初次迭代的动态差值是假定得到的。假定译码的初次迭代时的非匹配比特数极大,此极大值可以认为时趋近于码长的大小,根据散点图,得到在非匹配比特数极大的情况下所对应的差值。并将该差值作为所述码字本征函数中初始迭代的动态差值。
步骤S23:根据所述动态差值和所述最小值,获得次小值。具体的,动态差值与最小值值相加的和值,即为次小值,具体表示为:
min2=min1+y
其中,min1为最小值,min2为次小值,y为动态差值。
具体的,求得次小值的过程中,码字本征函数是提前通过蒙特卡罗法构造得到的,此构造的过程是一劳永逸的。在译码的过程中,该码字本征函数可以直接调用。
进一步的,在本申请的部分实施例中,还对所述动态差值进行微调,获得微调值,并将所述微调值与所述动态差值的和值作为微调动态差值,其中获得微调值的具体方法如下:
步骤S231:判断上一次迭代时,校验矩阵中每一行校验方程是否满足校验和值为0,并获得判断结果,所述判断结果为满足和不满足。
步骤S232:获取实际差值和动态差值,所述实际差值为每一次LDPC码进行迭代译码时,每一行V2C消息的次小值与最小值的真实差值。
步骤S233:对于每一行V2C消息,采用实际差值减去动态差值,获得随机差值。
步骤S234:若所述判断结果为满足,则对校验和值为0对应行的随机差值进行累加,并对累加后的随机差值取平均值,获得第一微调值;所述第一微调值为译码时,该行校验和值为0时使用的微调值。
步骤S235:若所述判断结果为不满足,则对校验和值不为0对应行的随机差值进行累加,并对累加后的随机差值取平均值,获得第二微调值;所述第二微调值为译码时,该行校验和值不为0时使用的微调值。
更进一步的,本申请实施例中,校验和值的计算方法具体为:
s=cHT
其中,s为校验和值,c为当前LDPC码,H为校验矩阵,T为矩阵的转置运算。
具体的,本申请实施例通过利用校验和值对动态差值进行微调,进而使估计得到的次小值更接近实际的次小值。但本申请并不限定仅能用此种方式来获得微调值,所有在本申请所述技术方案基础上能构思到的微调值获取方式,都在本申请的保护范围内。
更进一步的,将动态差值与微调值相加,获得微调动态差值,具体表示为:
delta=y+z
式中,delta为微调动态差值,y为动态差值,z为微调值。
具体的,此处微调动态差值是对前述动态差值的进一步优化,使得最终计算得到的次小值尽可能地接近实际次小值,进一步减少对译码性能的影响。
进一步的,所述LDPC码进行译码时,校验节点更新阶段之后还包括以下步骤:
步骤S31:变量节点更新。具体的,本申请实施例中,所述变量节点更新,即对于每一个变量节点,利用C2V消息和LLR_channel信息更新V2C消息。
步骤S32:计算动态变量的值。具体的,常规译码流程中,没有计算动态变量的值这一步骤,而是在变量节点更新后,直接进行下一次迭代。而本申请需要利用动态变量与基础差值来构造码字本征函数,所以这一步骤也是本申请优化常规算法的关键步骤。
步骤S33:递增迭代次数,继续进行下一次迭代。具体的,本申请实施例中,直至当前迭代次数达到预设的最大迭代次数时,迭代结束,完成LDPC码的译码工作。
综上所述,本申请实施例提供一种仅基于最小值的最小和译码算法。在使用本申请所述译码方法前,需预构造一个码字本征函数:引入易于获得的非匹配比特数作为动态变量,通过蒙特卡罗法构造和拟合得到动态差值和非匹配比特数之间的固定函数关系;然后运用本申请实施例所述译码方法进行译码:在常规译码流程的校验节点更新阶段中,只求最小值,并利用最小值、本征函数和实时获得的非匹配比特数,动态计算次小值,再进行后续的常规译码流程。本申请中获取次小值的过程不同于常规译码,仅需一次加法,且次小值与最小值的差值是简单动态产生的,能在保证LDPC译码复杂度降低的同时,减少译码性能损失。
具体的,参见图3,为本申请实施例提供的一种仅基于最小值的LDPC码最小和译码方法的译码流程示意图。本申请实施例中,正式译码阶段的完整步骤为:
步骤S41:接收LDPC码,设定最大迭代次数,初始化当前迭代次数和当前LDPC码。
步骤S42:根据当前LDPC码和校验矩阵,获得校验和值。
步骤S43:判断校验和值是否为0,若校验和值为0,则退出译码,并宣告译码成功,同时输出当前LDPC码;若校验和值不为0,则进行迭代次数判断。
步骤S44:若当前迭代次数等于最大迭代次数,则退出译码,并宣告译码失败,同时输出当前LDPC码;若当前迭代次数小于最大迭代次数,则进行校验节点更新,获得最小值。
步骤S45:获取非匹配比特数,并根据非匹配比特数和预构造的码字本征函数,获得动态差值。
步骤S46:根据动态差值和最小值,获得次小值。
步骤S47:变量节点更新。
步骤S48:统计本次迭代的非匹配比特数。
步骤S49:递增迭代次数,继续进行下一次迭代。
由此可见,本申请实施例所提供的一种仅基于最小值的LDPC码最小和译码方法,其关键点在于引入非匹配比特数来估计最小值和次小值的差值,进而探讨了LDPC码的基于最小值的最小和译码方法的优化算法。其中,引入的非匹配比特数能够大概率地反应算法收敛的程度,该非匹配比特数与次小值和最小值的差值之间,具有较强的关联性。利用非匹配比特数估计差值的方法通用于LDPC码,并且在实现后对于常规基于最小值的最小和译码方法具有明显的性能增益。
以下将通过具体实施例,对本申请实施例所提供的一种仅基于最小值的LDPC码最小和译码方法进行详细阐述。
以IEEE 802.3an标准中的LDPC码为例进行说明,根据本申请所述一种仅基于最小值的LDPC码最小和译码方法,最终得到的微调动态差值为:
其中,delta为微调动态差值,y为动态差值,z为微调值,nonmatch为非匹配比特数。
假设IEEE 802.3an标准中LDPC码的码长为2048,码率为1723/2048。采用洪泛策略的nMS算法,其中缩放因子取0.75,最大迭代次数取30,采用不同的方法对LDPC码进行译码迭代,得到误帧率性能仿真结果。
参见图4,为本申请实施例提供的误帧率性能曲线示意图。具体的,本申请实施例中,该性能示意图是以信噪比为横坐标,误帧率为纵坐标的一个曲线图,当误帧率取一个固定值时,对于该LDPC码,就确定了一个点。由图上可以看出,在图上所述译码方法中,采用本申请实施例所提出的利用非匹配比特数的基于单一最小值的nMS算法(图中用星形符号线表示,简称NMb_vwMS),具有最接近原始nMS算法的性能,只有0.09dB的性能损失,明显优于smMS算法和变体的smMS算法——可变权重的最小和译码算法(variable weight MS,简称vwMS)。由上述结果可以得出,本申请实施例根据非匹配比特数来调节差值,基于单一最小值的最小和算法,与nMS算法相比,在性能损失较小的同时,极大地降低了复杂度,这一结果是具有突破性意义的。
本申请实施例通过后验信息和外消息之间的非匹配比特数来确定次小值和最小值之间的差值,用得到的差值加上最小值来估计次小值,不同于常规译码过程中寻找次小值的过程。与传统的LDPC码nMS相比,在误帧率取10-5的情况下,在我们所使用的三个码字中,分别仅具有0.09dB、0.1dB、0.19dB的性能损失,但极大降低了运算复杂度;与smMS算法相比,具有较大的性能增益;与传统的低密度奇偶校验码解码器的硬件架构相比,具有更快的运算速度,更低的能量消耗,更少的面积开销。因此,本申请在低密度奇偶校验码解码器中有着极为广泛的应用前景。
本申请提供一种仅基于最小值的LDPC码最小和译码方法,用于对LDPC码进行译码。
所述LDPC码进行译码时,其中的次小值的获取过程为:
在校验节点更新阶段中获得最小值。
获取动态变量,并根据所述动态变量和预构造的码字本征函数,获得动态差值。
根据所述动态差值和所述最小值,获得次小值。
由上述技术方案可知,本申请提供一种仅基于最小值的LDPC码最小和译码方法,用于对LDPC码进行迭代译码,只求出最小值,但不将次小值与最小值的差值设为一个或多个固定值,而是引入一个易于得到的动态变量,该变量能够大概率反应算法的收敛程度。在使用本申请所述译码方法前,需预构造一个码字本征函数f:引入一个易于获得的动态变量α,通过蒙特卡罗法构造和拟合得到次小值与最小值的差值δ和动态变量α之间的固定函数关系δ=f(α);然后运用本申请所述译码方法进行译码:在常规译码流程的校验节点更新阶段中,只求最小值m1,并利用最小值m1、所述本征函数f和实时获得的动态变量α′,动态计算次小值m2=m1+f(α′),再进行后续的常规译码流程。还可在此基础上,对动态变量α′进行微调,假设微调值为β,则次小值为m2=m1+f(α′)+β。本申请中获取次小值的过程不同于常规译码,仅需一次或两次简单的加法,并且引入动态变量这一设置是本申请的巧妙之处,加之该动态变量的获取方法又十分简单,从而大幅度降低了计算和存储复杂度;同时,次小值与最小值的差值是动态调整的,能尽可能地接近实际次小值,因此,对译码性能的影响是微小的。本申请在保证LDPC译码复杂度降低的同时,减少了译码性能损失。
以上结合具体实施方式和范例性实例对本申请进行了详细说明,不过这些说明并不能理解为对本申请的限制。本领域技术人员理解,在不偏离本申请精神和范围的情况下,可以对本申请技术方案及其实施方式进行多种等价替换、修饰或改进,这些均落入本申请的范围内。本申请的保护范围以所附权利要求为准。

Claims (6)

1.一种仅基于最小值的LDPC码最小和译码方法,用于对LDPC码进行译码,其特征在于,所述LDPC码进行译码时,其中的次小值的获取过程为:
在校验节点更新阶段中获得最小值;
获取动态变量,并根据所述动态变量和预构造的码字本征函数,获得动态差值;
根据所述动态差值和所述最小值,获得次小值;
构造码字本征函数的具体方法为:
获取每一次迭代完成后的动态变量;
获取每一次迭代时,每一行V2C消息的次小值和最小值之间的差值,作为临时差值,并对所有行的临时差值求平均值,获得基础差值;
根据所有的基础差值与所有的动态变量之间的一一对应关系,获得散点图;
对散点图进行拟合,获得动态变量和基础差值之间的函数关系,所述动态变量和基础差值之间的函数关系即为码字本征函数。
2.根据权利要求1所述的一种仅基于最小值的LDPC码最小和译码方法,其特征在于,使用线性函数或者离散函数对所述散点图进行拟合,获得码字本征函数。
3.根据权利要求1所述的一种仅基于最小值的LDPC码最小和译码方法,其特征在于,获取所述动态变量和所述临时差值的方法采用蒙特卡罗法。
4.根据权利要求1所述的一种仅基于最小值的LDPC码最小和译码方法,其特征在于,所述LDPC码进行译码时,校验节点更新阶段之后还包括以下步骤:
变量节点更新;
计算动态变量的值;
递增迭代次数,继续进行下一次迭代。
5.根据权利要求1所述的一种仅基于最小值的LDPC码最小和译码方法,其特征在于,对所述动态差值进行微调,获得微调值,并将所述微调值与所述动态差值的和值作为微调动态差值,其中获得微调值的具体方法如下:
判断上一次迭代时,校验矩阵中每一行校验方程是否满足校验和值为0,并获得判断结果,所述判断结果为满足和不满足;
获取实际差值和动态差值,所述实际差值为每一次LDPC码进行迭代译码时,每一行V2C消息的次小值与最小值的真实差值;
对于每一行V2C消息,采用实际差值减去动态差值,获得随机差值;
若所述判断结果为满足,则对校验和值为0对应行的随机差值进行累加,并对累加后的随机差值取平均值,获得第一微调值;所述第一微调值为译码时,该行校验和值为0时使用的微调值;
若所述判断结果为不满足,则对校验和值不为0对应行的随机差值进行累加,并对累加后的随机差值取平均值,获得第二微调值;所述第二微调值为译码时,该行校验和值不为0时使用的微调值。
6.根据权利要求1-4任一项所述的一种仅基于最小值的LDPC码最小和译码方法,其特征在于,所述动态变量为非匹配比特数,所述非匹配比特数为后验概率信息与外消息之间符号位不同的数目,所述外消息为校验节点传递给变量节点的消息之和,所述后验概率信息与所述外消息具有如下函数关系:
APP=∑C2V+LLR_channel
其中,APP为后验概率信息,∑C2V为外消息,LLR_channel为信道中原始的对数似然比信息。
CN202110888982.2A 2021-08-03 2021-08-03 一种仅基于最小值的ldpc码最小和译码方法 Active CN113572482B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110888982.2A CN113572482B (zh) 2021-08-03 2021-08-03 一种仅基于最小值的ldpc码最小和译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110888982.2A CN113572482B (zh) 2021-08-03 2021-08-03 一种仅基于最小值的ldpc码最小和译码方法

Publications (2)

Publication Number Publication Date
CN113572482A CN113572482A (zh) 2021-10-29
CN113572482B true CN113572482B (zh) 2024-04-09

Family

ID=78170285

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110888982.2A Active CN113572482B (zh) 2021-08-03 2021-08-03 一种仅基于最小值的ldpc码最小和译码方法

Country Status (1)

Country Link
CN (1) CN113572482B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1770641A (zh) * 2005-11-21 2006-05-10 东南大学 一种基于分段偏移修正的最小和译码方法
WO2013117076A1 (zh) * 2012-02-07 2013-08-15 中兴通讯股份有限公司 一种迭代译码方法及系统
US9813080B1 (en) * 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
CN108574492A (zh) * 2018-05-03 2018-09-25 重庆邮电大学 一种改进的ldpc码和积译码方案
CN110690906A (zh) * 2019-09-29 2020-01-14 中国科学院微电子研究所 一种动态自修正最小和译码方法及基于其的译码器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1770641A (zh) * 2005-11-21 2006-05-10 东南大学 一种基于分段偏移修正的最小和译码方法
WO2013117076A1 (zh) * 2012-02-07 2013-08-15 中兴通讯股份有限公司 一种迭代译码方法及系统
US9813080B1 (en) * 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
CN108574492A (zh) * 2018-05-03 2018-09-25 重庆邮电大学 一种改进的ldpc码和积译码方案
CN110690906A (zh) * 2019-09-29 2020-01-14 中国科学院微电子研究所 一种动态自修正最小和译码方法及基于其的译码器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Low-Complexity Dynamic Single-Minimum Min-Sum Algorithm and Hardware Implementation for LDPC Codes;Qinyuan Zhang;《2022 IEEE Asia Pacific Conferenci on Circuits and Systems》;389-393 *
采用动态量化的LDPC译码方法和译码器设计;梁伟;《中国优秀硕士学位论文全文数据库 信息科技辑》;I136-54 *

Also Published As

Publication number Publication date
CN113572482A (zh) 2021-10-29

Similar Documents

Publication Publication Date Title
US20090172493A1 (en) Method and device for decoding low density parity check code
KR100804793B1 (ko) 저밀도 패러티 검사 복호기에서의 검사 노드 갱신 방법
CN103208995B (zh) 一种低密度奇偶校验码译码的提前终止方法
CN101345532B (zh) Ldpc信道编码的译码方法
CN107565978B (zh) 基于Tanner图边调度策略的BP译码方法
CN110830050B (zh) 一种ldpc译码方法、系统、电子设备及存储介质
CN110336567B (zh) 一种应用于g-ldpc编码协作的联合迭代译码方法
CN110830049A (zh) 一种基于密度进化改进偏移最小和的ldpc译码方法
CN110417512B (zh) 一种用于cpm通信系统的联合迭代译码方法
CN112702070A (zh) 一种分布式联合信源信道编码系统的译码优化方法
CN110784232A (zh) 一种空间耦合ldpc码滑窗译码方法
CN104009763A (zh) 一种低复杂度ldpc码加权比特翻转译码算法提前停止方法
CN101577607B (zh) 可提前结束迭代的归一化最小和译码方法
CN111726202B (zh) 一种极化码置信传播译码的提前终止迭代方法
CN102811065A (zh) 基于线性最小均方误差估计的修正最小和解码方法
Feng et al. A novel high-rate polar-staircase coding scheme
CN113572482B (zh) 一种仅基于最小值的ldpc码最小和译码方法
KR20090012189A (ko) Ldpc 부호의 성능 개선을 위한 스케일링 기반의 개선된min-sum 반복복호알고리즘을 이용한 복호 장치 및그 방법
CN101964665B (zh) turbo解码中基于Log-MAP的译码方法及其译码装置
CN113228520A (zh) 用于对由至少两个约束节点组成的代码进行解码的迭代解码器
CN110212924B (zh) 一种lt码编解码方法及系统
KR20090064268A (ko) 가변 보정값을 이용한 복호화 장치 및 그 방법
CN104753542B (zh) 用于ldpc码的比特翻转和线性规划组合译码方法
CN111628786B (zh) Ldpc码的自适应最小和译码方法
Qianchun et al. Simulation of Dynamic Weighted MS Decoding Algorithm on LDPC for 5G

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