本文涉及通信译码技术领域,尤指一种LDPC译码方法和装置。
背景技术
空间激光通信技术以更高频的激光光波取代传统微波为载体,因其大带宽、抗干扰等优点,成为在空间(包括近地空间、星际空间、深空等)信道进行高速通信的有效手段,是未来空间通信技术的发展趋势。和传统空间微波通信相比,空间激光通信具有以下显著优点:通信速率高,可达数十至上百Gbps;载波频率高,可用带宽大;波长较短,星上器件尺寸小、功耗低;远离电磁波谱,激光发散角小,抗干扰能力强;保密性好,不易被截获等。但另一方面,空间激光通信的通信质量也会受到传输距离远、信道复杂多变等因素限制。为了提高空间高速激光通信的通信可靠性,采用高增益的信道编码技术是一种有效的解决方案,比如采用前向纠错码中的LDPC码。
现有技术中,对于接收机中的信道译码器,主要存在速度和资源两方面的难题:一方面,空间激光通信系统不断提高的通信速率对译码速度提出了更高的要求,比如迭代译码次数会受到限制;另一方面,受限于空间飞行设备的存储资源和计算资源,译码器的算法复杂度、数据精度会受到更多约束。基于这两方面,在高速和器件资源约束下,由于模数转换器(ADC)的性能无法在与通信系统匹配的速率下进行多比特的判决,译码输入变为只包括符号信息的硬判决信息,此时一般的软判决译码器就不再适用或性能受损,而适用于硬判决输入的硬判决译码算法的性能一般都不太理想,这极大地影响了空间激光通信系统的可靠性。因此,考虑高速和器件资源约束,实现一种更有效的适用于硬判决输入的译码方法,用以提高空间激光通信系统的通信可靠性并降低复杂度,是亟待解决的问题。
技术实现要素:
本申请提供了一种LDPC译码方法和装置,该方法在空间激光通信系统的超高速率和受限器件资源的约束下,基于硬判决输入、采用软判决算法进行译码的方法,有效提升了译码性能。
本申请提供了一种LDPC译码方法,应用于译码输入为硬判决的空间激光通信系统,所述方法包括:
把硬判决输入信息映射为初始似然比信息;
根据硬判决输入信息计算校验方程的校验结果,并根据该校验结果调整所述初始似然比信息;
利用调整后的初始似然比信息和软判决译码算法进行迭代译码,得到译码结果。
一种示例性的实施例中,所述把硬判决输入信息映射为初始似然比信息,包括:
将接收端接收到的原始序列的符号信息作为硬判决输入信息;
把硬判决输入信息的序列映射成幅度相同、符号不同的初始似然比信息。
一种示例性的实施例中,所述根据硬判决输入信息计算校验方程的校验结果,并根据该校验结果调整初始似然比信息,包括:
根据硬判决输入信息计算校验方程的校验结果,并计算每个变量节点的校验方程正确比例;
根据变量节点的校验方程正确比例将每个变量节点所对应的初始似然比信息进行对应的调整,得到调整后的初始似然比信息。
一种示例性的实施例中,所述根据硬判决输入信息计算校验方程的校验结果,并计算每个变量节点的校验方程正确比例,包括:
根据硬判决输入信息计算m个校验方程的校验结果,并根据该校验结果分别计算每个变量节点对应的校验方程的错误个数;m为大于1的正整数;
确定每个变量节点对应的校验方程总个数;
根据校验方程的错误个数、校验方程总个数计算每个变量节点的对应的校验方程正确比例。
一种示例性的实施例中,所述根据变量节点的校验方程正确比例将每个变量节点所对应的初始似然比信息进行对应的调整,得到调整后的初始似然比信息,包括:
根据变量节点的校验方程正确比例,按照调整公式将每个变量节点所对应的初始似然比信息进行对应的调整,得到调整后的初始似然比信息;
其中,调整公式为:
Li(m)=sign(Li(b))·θ(ti)
上式中,Li(b)为调整前的原始的初始似然比信息,Li(m)为调整后的初始似然比信息,θ(ti)定义为预先定义的单调递增的非负的函数。
一种示例性的实施例中,方法还包括:
将调整后的初始似然比信息赋值给相应的初始变量节点信息;
预先设置软判决译码算法最大迭代次数;
一种示例性的实施例中,所述利用调整后的初始似然比信息和软判决译码算法进行迭代译码,包括:
每次迭代时,判断迭代次数是否小于所述最大迭代次数;
当迭代次数小于或等于最大迭代次数利用软判决译码算法进行译码计算,并更新变量节点信息,迭代次数加1后进行下一次迭代或输出译码结果并结束迭代;
当迭代次数大于最大迭代次数输出译码结果,结束迭代。
一种示例性的实施例中,所述利用软判决译码算法进行译码计算,并更新变量节点信息,迭代次数加1后进行下一次迭代或输出译码结果并结束迭代,包括:
将上一次迭代得到的变量节点信息作为本次迭代的初始变量节点信息;
根据本次迭代的初始变量节点信息和调整后的初始似然比信息计算本次迭代的校验节点信息,根据该校验节点信息计算本次迭代的变量节点信息;
根据本次迭代的变量节点信息和调整后的初始似然比信息计算译码判决的硬判决信息进行译码判决结果后,进行译码校验;
当译码校验结果为0时,输出译码结果并结束迭代;
当译码校验结果不为0时,更新变量节点信息,迭代次数加1后进行下一次迭代。
一种示例性的实施例中,所述当译码校验结果不为0时,更新变量节点信息,包括:
当译码校验结果不为0时,针对每个变量节点分别判断译码判决的硬判决信息是否大于预设阈值;
当译码判决的硬判决信息大于或等于预设提前终止的更新阈值时,不更新该变量节点信息和硬判决信息;
当译码判决的硬判决信息小于预设更新阈值时,更新该变量节点信息和硬判决信息。
本申请还提供了一种LDPC译码装置,装置包括:存储器和处理器;其特征在于,所述存储器用于保存LDPC译码的程序,所述处理器用于读取执行所述用于LDPC译码的程序,执行上述实施例中任一项所述的LDPC译码方法。
本申请还提供了一种LDPC译码装置,应用于译码输入为硬判决的空间激光通信系统,所述装置包括输入模块,调整模块和译码模块;
所述输入模块用于把硬判决输入信息映射为初始似然比信息;
所述调整模块用于根据硬判决输入信息计算校验方程的校验结果,并根据该校验结果调整所述初始似然比信息;
所述译码模块用于利用调整后的初始似然比信息和软判决译码算法进行迭代译码,得到译码结果。
一种示例性的实施例中,所述输入模块具体用于将接收端接收到的原始序列的符号信息作为硬判决输入信息;
把硬判决输入信息的序列映射成幅度相同、符号不同的初始似然比信息。
一种示例性的实施例中,所述调整模块具体用于根据硬判决输入信息计算校验方程的校验结果,并计算每个变量节点的校验方程正确比例;
根据变量节点的校验方程正确比例将每个变量节点所对应的初始似然比信息进行对应的调整,得到调整后的初始似然比信息。
一种示例性的实施例中,所述调整模块根据硬判决输入信息计算校验方程的校验结果,并计算每个变量节点的校验方程正确比例,包括:
所述调整模块根据硬判决输入信息计算m个校验方程的校验结果,并根据该校验结果分别计算每个变量节点对应的校验方程的错误个数;m为大于1的正整数;
所述调整模块确定每个变量节点对应的校验方程总个数;
所述调整模块根据校验方程的错误个数、校验方程总个数计算每个变量节点的对应的校验方程正确比例。
一种示例性的实施例中,所述调整模块根据变量节点的校验方程正确比例将每个变量节点所对应的初始似然比信息进行对应的调整,得到调整后的初始似然比信息,包括:
所述调整模块根据变量节点的校验方程正确比例,按照调整公式将每个变量节点所对应的初始似然比信息进行对应的调整,得到调整后的初始似然比信息;
其中,调整公式为:
Li(m)=sign(Li(b))·θ(ti)
上式中,Li(b)为调整前的原始的初始似然比信息,Li(m)为调整后的初始似然比信息,θ(ti)定义为预先定义的单调递增的非负的函数。
一种示例性的实施例中,所述调整模块还用于将调整后的初始似然比信息赋值给相应的初始变量节点信息;
所述输入模块还用于预先设置软判决译码算法最大迭代次数。
一种示例性的实施例中,所述译码模块具体用于每次迭代时,判断迭代次数是否小于所述最大迭代次数;
当迭代次数小于或等于最大迭代次数利用软判决译码算法进行译码计算,并更新变量节点信息,迭代次数加1后进行下一次迭代或输出译码结果并结束迭代;
当迭代次数大于最大迭代次数输出译码结果,结束迭代。
一种示例性的实施例中,所述译码模块利用软判决译码算法进行译码计算,并更新变量节点信息,迭代次数加1后进行下一次迭代或输出译码结果并结束迭代,包括:
所述译码模块将上一次迭代得到的变量节点信息作为本次迭代的初始变量节点信息;
所述译码模块根据本次迭代的初始变量节点信息和调整后的初始似然比信息计算本次迭代的校验节点信息,根据该校验节点信息计算本次迭代的变量节点信息;
所述译码模块根据本次迭代的变量节点信息和调整后的初始似然比信息计算译码判决的硬判决信息进行译码判决结果后,进行译码校验;
当译码校验结果为0时,输出译码结果并结束迭代;
当译码校验结果不为0时,更新变量节点信息,迭代次数加1后进行下一次迭代。
一种示例性的实施例中,所述译码模块当译码校验结果不为0时,更新变量节点信息,包括:
所述译码模块当译码校验结果不为0时,针对每个变量节点分别判断译码判决的硬判决信息是否大于预设阈值;
所述译码模块当译码判决的硬判决信息大于或等于预设提前终止的更新阈值时,不更新该变量节点信息和硬判决信息;
所述译码模块当译码判决的硬判决信息小于预设更新阈值时,更新该变量节点信息和硬判决信息。
与相关技术相比,本申请提供一种LDPC译码方法和装置,应用于译码输入为硬判决的空间激光通信系统,方法包括:把硬判决输入信息映射为初始似然比信息;根据硬判决输入信息计算校验方程的校验结果,并根据该校验结果调整所述初始似然比信息;利用调整后的初始似然比信息和软判决译码算法进行迭代译码,得到译码结果。通过本发明的技术方案,基于硬判决输入,采用软判决算法进行译码,有效提升了译码性能。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实施例的LDPC译码方法流程图;
图2为本申请实施例的LDPC译码装置示意图;
图3为本申请实施例的LDPC译码装置示意图;
图4为一示例性实施例中LDPC译码方法流程图;
图5为一示例性实施例中LDPC译码方法与其他方法随Eb/N0的误比特率比较示意图;
图6为一示例性实施例中LDPC译码方法的调整初值方法对误比特率的影响示意图;
图7为一示例性实施例中LDPC译码方法提前终止迭代方法节省的变量节点计算量示意图。
具体实施方式
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
对下述实施例中所应用到的符号进行定义和说明如下:硬判决译码输入为z=(z1,z2,...,zn),其中:
译码输出为y=(y1,y2,...,yn)为接收端接收到的包含幅度信息和符号信息的原始序列;
(m,n)LDPC码可由维度为m×n的奇偶校验矩阵H定义,对应的变量节点为i∈{1,2,...,n},校验节点为j∈{1,2,...,m};
N(j)表示与校验节点j相连的所有变量节点的集合,即N(j)={i|Hji=1};
N(i)表示与变量节点i相连的所有校验节点的集合,即N(i)={j|Hji=1}。
N(j)\\i表示去掉变量节点i的N(j)集合,N(i)\\j表示去掉校验节点j的N(i)集合。
本公开实施例提供了一种LDPC译码方法,如图1所示,方法包括步骤S100-S130,具体如下:
S100.把硬判决输入信息映射为初始似然比信息;
S120.根据硬判决输入信息计算校验方程的校验结果,并根据该校验结果调整所述初始似然比信息;
S130.利用调整后的初始似然比信息和软判决译码算法进行迭代译码,得到译码结果。
在本实施例中,该方法可以应用于高速空间激光通信系统或者是超高速空间激光通信系统。对于通信速率高、器件资源有限的空间激光通信系统中译码器,由于空间飞行设备搭载的ADC器件难以实现高速(数十至上百Gbps)多比特判决,译码输入变为硬判决,并且,对该译码方法的迭代次数、复杂度等提出了更高要求。
一种示例性的实施例中,把硬判决输入信息映射为初始似然比信息,包括:将包含符号信息的原始序列作为硬判决输入信息;把硬判决输入信息的序列映射成幅度相同、符号不同的初始似然比信息。在本实施例中,该硬判决输入信息是接收端原始序列的符号信息,可为0、1序列;把硬判决输入信息z=(z1,z2,...,zn),映射成幅度相同、符号不同的初始似然比信息,即:
其中,Li(b)为初始似然比信息;ζ是预先设定幅度值,是正数;
y=(y1,y2,...,yn)为接收端接收到的包含幅度信息和符号信息的原始序列。
一种示例性的实施例中,根据硬判决输入信息计算校验方程的校验结果,并根据该校验结果调整初始似然比信息,包括:根据硬判决输入信息计算校验方程的校验结果,并计算每个变量节点的校验方程正确比例;根据变量节点的校验方程正确比例将每个变量节点所对应的初始似然比信息进行对应的调整,得到调整后的初始似然比信息。
一种示例性的实施例中,根据硬判决输入信息计算校验方程的校验结果,并计算每个变量节点的校验方程正确比例,包括:根据硬判决输入信息计算m个校验方程的校验结果,并根据该校验结果分别计算每个变量节点对应的校验方程的错误个数;m为大于1的正整数;确定每个变量节点对应的校验方程总个数;根据校验方程的错误个数、校验方程总个数计算每个变量节点的对应的校验方程正确比例。在本实施例中,计算每个变量节点的对应的校验方程正确比例包括四个步骤:
第一步,根据硬判决输入信息z计算m个校验方程的校验结果即:
s=(s1,...,sj,...sm)=zHT,sj=0,1,
其中,sj=0表示该校验节点对应的校验方程正确,sj=1表示该校验节点对应的校验方程错误。
第二步,计算每个变量节点对应的校验方程的错误个数,即:
ai=∑j∈N(i)sj,i∈{1,2,...,n}。
第三步,计算每个变量节点对应的校验方程总个数(也是校验矩阵H的列重)wc,即:
wc=(wc1,...,wci,...,wcn)=1·H,
其中,wci为校验矩阵H的列重,1为m维的全1列向量。
第四步,计算每个变量节点的校验方程正确比例,即:
一种示例性的实施例中,根据变量节点的校验方程正确比例将每个变量节点所对应的初始似然比信息进行对应的调整,得到调整后的初始似然比信息,包括:根据变量节点的校验方程正确比例,按照调整公式将每个变量节点所对应的初始似然比信息进行对应的调整,得到调整后的初始似然比信息;其中,调整公式为:
Li(m)=sign(Li(b))·θ(ti)
上式中,Li(b)为调整前的原始的初始似然比信息,Li(m)为调整后的初始似然比信息,θ(ti)为预先定义的单调递增的非负的函数。在本实施例中,调整前、后的初始似然比信息符号不变,θ(ti)定义为非负的单调递增的函数,该函数的含义为:ti越大,θ(ti)越大,ti越小,θ(ti)越小。在本实施例中,需要确定具体的从ti到调整后幅度的映射θ(ti)函数,该θ(ti)函数的确定可以采用以下步骤:第一步、获取在该条件下软判决输入对应的初始似然比信息的离散概率分布Ps;第二步、确定该条件下软判决输入对应的初始似然比信息的离散概率分布Ps和调整后的初始似然比信息的离散概率分布Pm二者的相似程度,例如:可以用JS散度确定二者的相似程度;第三步、在确定二者的相似程度后,选取JS散度最小所对应的θ(ti)函数。
一种示例性的实施例中,根据变量节点的校验方程正确比例,调整初始似然比信息的方法还可以为:
第一步、预先设置区间分界点Γ={T1,T2,...,TT-1}(0≤T1<T2<…<TT-1);
第二步、将ti∈[0,1]按照上述预先设置的区间分界点划分为若干区间,即:
I1=[0,T1],I2=(T1,T2],…,IT=[IT-1,1](I1∪I2∪...∪IT=[0,1]);
第三步、通过上述的区间划分可以将变量节点根据ti划分为具有不同可靠度集合的集合,对不同集合内的变量节点的初始似然比信息赋以不同的幅度也就是说同一集合内的变量节点幅度调整相同。在本实施例中,根据变量节点的校验方程正确比例ti,对变量节点划分为不同可靠度的集合,分别为可靠Φt、不可靠Φt、次可靠Φt′、次不可靠Φw′及其它{1,2,...,n}-(Φt∪Φw∪Φt′∪Φw′)共五个集合,即
其中,0<tw<tt<1,且参与调整初值的前四个集合中的变量节点的可靠度不低于D是为了保证有足够的校验方程个数为可靠度的判断提供依据。
第四步、对不同可靠度集合中变量节点对应的初始似然比信息进行不同的调整,把可靠度更高(校验方程正确比例更大)的变量节点的初值幅度对应调大,把可靠度更低(校验方程正确比例更小)的变量节点的初值幅度对应调小,即
其中,0≤Lw≤Lw′≤ζ≤Lt′≤Lt≤VNUmax;VNUmax为量化位宽b限制下的最大值。
一种示例性的实施例中,利用调整后的初始似然比信息赋值给初始变量节点信息,即:
其中,Li(m)为调整后的初始似然比信息,为初始变量节点信息。本实施例通过调整初始值,可有效提升误码性能。
一种示例性的实施例中,预先设置软判决译码算法最大迭代次数。该最大迭代次数可以根据实际情况进行设置,对此并不进行具体限定。
一种示例性的实施例中,所述利用调整后的初始似然比信息和软判决译码算法进行迭代译码,包括:
每次迭代时,判断迭代次数是否小于所述最大迭代次数;
当迭代次数小于或等于最大迭代次数利用软判决译码算法进行译码计算,并更新变量节点信息,迭代次数加1后进行下一次迭代或输出译码结果并结束迭代;
当迭代次数大于最大迭代次数输出译码结果,结束迭代。
一种示例性的实施例中,所述利用软判决译码算法进行译码计算,并更新变量节点信息,迭代次数加1后进行下一次迭代或输出译码结果并结束迭代,包括:
将上一次迭代得到的变量节点信息作为本次迭代的初始变量节点信息;
根据本次迭代的初始变量节点信息和调整后的初始似然比信息计算本次迭代的校验节点信息,根据该校验节点信息计算本次迭代的变量节点信息;
根据本次迭代的变量节点信息和调整后的初始似然比信息计算译码判决的硬判决信息进行译码判决结果后,进行译码校验;
当译码校验结果为0时,输出译码结果并结束迭代;
当译码校验结果不为0时,更新变量节点信息,迭代次数加1后进行下一次迭代。
下面用一示例说明利用调整后的初始似然比信息和软判决译码算法进行迭代译码的过程:
71、判断迭代次数是否小于所述最大迭代次数;
当迭代次数小于或等于最大迭代次数进行72;当迭代次数大于最大迭代次数进行73;
72、利用软判决译码算法进行译码计算,并更新变量节点信息,迭代次数加1后返回71或输出译码结果;
73、输出译码结果。
在本实施例中,软判决迭代译码算法可以采用归一化最小和(Normalized Min-Sum,NMS)算法。
在本示例步骤72中,利用软判决译码算法进行译码计算,并更新变量节点信息,迭代次数加1后返回71或输出译码结果,包括:
将上一次迭代得到的变量节点信息作为本次迭代的初始变量节点信息;
根据本次迭代的初始变量节点信息和调整后的初始似然比信息计算本次迭代的校验节点信息,根据该校验节点信息计算本次迭代的变量节点信息;
根据本次迭代的变量节点信息和调整后的初始似然比信息计算译码判决的硬判决信息判断译码判决结果后,进行译码校验;
当译码校验结果为0时,输出译码结果;
当译码校验结果不为0时,更新变量节点信息,迭代次数加1后返回71。
一种示例性的实施例中,当译码校验结果不为0时,更新变量节点信息,包括:当译码校验结果不为0时,针对每个变量节点分别判断译码判决的硬判决信息是否大于预设阈值;当译码判决的硬判决信息大于或等于预设提前终止的更新阈值时,不更新该变量节点信息和硬判决信息;当译码判决的硬判决信息小于预设更新阈值时,更新该变量节点信息和硬判决信息。在本实施例中,对该更新后的变量节点信息作为下一次迭代的初始变量节点信息。该更新后的变量节点信息可以包括全部更新的变量节点信息,也可以包括更新一部分的变量节点信息。
下面用一个示例说明在利用调整后的初始似然比信息和软判决译码算法进行第t(t∈{1,...,Imax})次迭代译码的流程为:
步骤1.校验节点处理:
校验节点计算校验节点信息并传递给变量节点,即
其中,为校验节点信息,表示t-1次迭代后的变量节点信息;N(j)\\i表示去掉变量节点i的N(j)集合。
步骤2.变量节点处理,在该变量节点处理中,更新的变量节点范围不同,在Ψ(t-1)集合内的变量节点无需更新,因此,变量节点计算变量节点信息并传递给校验节点,即:
计算对i∈Ψ(t-1),j∈N(i),无需进行更新,即
变量节点计算变量节点信息并传递给校验节点,即
其中,Ψ(t-1)集合中的变量节点无需更新计算。
步骤3.译码判决(硬判决信息的计算方法和一般的软判决迭代译码算法相同,但更新的变量节点范围不同,在Ψ(t-1)集合内的变量节点无需更新):变量节点计算译码判决的硬判决信息,即:
变量节点计算译码判决的硬判决信息即
其中,Ψ(t-1)集合中的变量节点无需更新计算。
根据硬判决信息进行译码判决,即
判断译码判决结果后,进行译码校验;
当译码校验结果为0时,即终止迭代,输出译码结果;
当译码校验结果不为0时,更新变量节点信息。
步骤4.计算更新提前终止更新的变量集合:更新提前终止更新的变量集合Ψ(t):
其中,M为设置的阈值。
也就是将每次迭代中译码判决的硬判决信息幅度不低于阈值M的变量节点记入集合Ψ,将其视为可靠度足够高,Ψ中的变量节点在下一次迭代中不再更新计算变量节点信息qij以及硬判决信息Zi,即其中,表示第t次迭代中变量节点i传递给校验节点j的信息,N(j)表示第t次迭代中与校验节点j相连的所有变量节点的集合,即N(j)={i|Hji=1},表示第t次迭代中校验节点j传递给变量节点i的信息,N(i)表示与变量节点i相连的所有校验节点的集合,即N(i)={j|Hji=1},表示第t次迭代中用于译码判决的硬判决信息,H为LDPC码对应的m×n的奇偶校验矩阵,为译码输出。
本示例中,通过增加更新提前终止更新的变量集合,可以根据可靠度使部分节点提前终止迭代,在保证一定译码性能的前提下节省计算复杂度。
本申请还提供了一种LDPC译码装置,如图2所示,装置包括:存储器210和处理器220;所述存储器用于保存LDPC译码的程序,所述处理器用于读取执行所述用于LDPC译码的程序,执行上述实施例中任一项所述的LDPC译码方法。
本申请还提供了一种LDPC译码装置,如图3所示,装置包括应用于译码输入为硬判决的空间激光通信系统,所述装置包括输入模块301,调整模块302和译码模块303;
所述输入模块301用于把硬判决输入信息映射为初始似然比信息;
所述调整模块302用于根据硬判决输入信息计算校验方程的校验结果,并根据该校验结果调整所述初始似然比信息;
所述译码模块303用于利用调整后的初始似然比信息和软判决译码算法进行迭代译码,得到译码结果。
一种示例性的实施例中,输入模块把硬判决输入信息映射为初始似然比信息,包括:将接收端接收到的原始序列的符号信息作为硬判决输入信息;把硬判决输入信息的序列映射成幅度相同、符号不同的初始似然比信息。
一种示例性的实施例中,调整模块根据硬判决输入信息计算校验方程的校验结果,并根据该校验结果调整初始似然比信息,包括:根据硬判决输入信息计算校验方程的校验结果,并计算每个变量节点的校验方程正确比例;
根据变量节点的校验方程正确比例将每个变量节点所对应的初始似然比信息进行对应的调整,得到调整后的初始似然比信息。
一种示例性的实施例中,调整模块根据硬判决输入信息计算校验方程的校验结果,并计算每个变量节点的校验方程正确比例,包括:根据硬判决输入信息计算m个校验方程的校验结果,并根据该校验结果分别计算每个变量节点对应的校验方程的错误个数;m为大于1的正整数;确定每个变量节点对应的校验方程总个数;根据校验方程的错误个数、校验方程总个数计算每个变量节点的对应的校验方程正确比例。
一种示例性的实施例中,调整模块根据变量节点的校验方程正确比例将每个变量节点所对应的初始似然比信息进行对应的调整,得到调整后的初始似然比信息,包括:根据变量节点的校验方程正确比例,按照调整公式将每个变量节点所对应的初始似然比信息进行对应的调整,得到调整后的初始似然比信息;其中,调整公式为:
Li(m)=sign(Li(b))·θ(ti)
上式中,Li(b)为调整前的原始的初始似然比信息,Li(m)为调整后的初始似然比信息,θ(ti)定义为预先定义的单调递增的非负的函数。
一种示例性的实施例中,调整模块还用于将调整后的初始似然比信息赋值给相应的初始变量节点信息;输入模块还用于预先设置软判决译码算法最大迭代次数。
一种示例性的实施例中,译码模块利用调整后的初始似然比信息和软判决译码算法进行迭代译码,包括:每次迭代时,判断迭代次数是否小于所述最大迭代次数;当迭代次数小于或等于最大迭代次数利用软判决译码算法进行译码计算,并更新变量节点信息,迭代次数加1后进行下一次迭代或输出译码结果并结束迭代;当迭代次数大于最大迭代次数输出译码结果,结束迭代。
一种示例性的实施例中,译码模块利用软判决译码算法进行译码计算,并更新变量节点信息,迭代次数加1后进行下一次迭代或输出译码结果并结束迭代,包括:将上一次迭代得到的变量节点信息作为本次迭代的初始变量节点信息;根据本次迭代的初始变量节点信息和调整后的初始似然比信息计算本次迭代的校验节点信息,根据该校验节点信息计算本次迭代的变量节点信息;根据本次迭代的变量节点信息和调整后的初始似然比信息计算译码判决的硬判决信息进行译码判决结果后,进行译码校验;当译码校验结果为0时,输出译码结果并结束迭代;当译码校验结果不为0时,更新变量节点信息,迭代次数加1后进行下一次迭代。
一种示例性的实施例中,译码模块当译码校验结果不为0时,更新变量节点信息,包括:当译码校验结果不为0时,针对每个变量节点分别判断译码判决的硬判决信息是否大于预设阈值;
当译码判决的硬判决信息大于或等于预设提前终止的更新阈值时,不更新该变量节点信息和硬判决信息;
当译码判决的硬判决信息小于预设更新阈值时,更新该变量节点信息和硬判决信息。
一示例性实施例
本申请提出的用于高速空间激光通信的高性能低计算复杂度的LDPC译码方法,适用于译码输入为硬判决和器件资源受限的空间激光通信系统,基于置信传播(BP)算法及其改进算法如归一化最小和算法(NMS)算法等软判决迭代译码算法,下述实施例中采用NMS算法进行迭代译码,该具体实施步骤如下,如图4所示。
1)初始化;
根据硬判决输入z=(z1,z2,...,zn),给初始似然比信息Li赋值,即
定义提前终止更新的变量节点集合Ψ并初始化为空集,即
Ψ(0)=φ。
2)初始校验;
根据硬判决输入z计算m个校验方程的校验结果s,即
s=(s1,...,sj,...sm)=zHT,sj=0,1,
其中,sj=0表示该校验节点对应的校验方程正确,sj=1表示该校验节点对应的校验方程错误;
计算每个变量节点对应的校验方程的错误个数ai,即
ai=∑j∈N(i)sj,i∈{1,2,...,n};
计算每个变量节点对应的校验方程总个数(也是校验矩阵H的列重)wc,即
wc=(wc1,...,wci,...,wcn)=1·H,
其中,1表示m维的全1列向量;
计算每个变量节点的校验方程正确比例ti,即
根据变量节点的校验方程正确比例ti,对变量节点划分为不同可靠度的集合,分别为可靠Φt、不可靠Φt、次可靠Φt′、次不可靠Φw′及其它{1,2,...,n}-(Φt∪Φw∪Φt′∪Φw′)五个集合,即
其中,0<tw<tt<1,且要求参与调整初值的前四个集合中的变量节点的度不低于D。
3)调整初值;
对不同可靠度集合中变量节点对应的初始似然比信息进行不同的调整,把可靠度更高(校验方程正确比例更大)的变量节点的初值幅度对应调大,把可靠度更低(校验方程正确比例更小)的变量节点的初值幅度对应调小,即
其中,0≤Lw≤Lw′≤ζ≤Lt′≤Lt≤VNUmax;VNYmax为量化位宽b限制下的最大值。一种示例中,取Lt=7,Lw=1,Lt′=6,Lw′=2。
并用调整后的初始似然比信息给初始变量节点信息赋值,即
4)第t(t∈{1,...,Imax})次迭代:
4.1)校验节点处理:
校验节点计算校验节点信息并传递给变量节点,即
4.2)变量节点处理:
变量节点计算变量节点信息并传递给校验节点,即
4.3)译码判决:
变量节点计算译码判决的硬判决信息即
其中,Ψ(t-1)集合中的变量节点无需更新计算。
根据硬判决信息进行译码判决,即
进行译码判决后,进行译码校验;
当译码校验结果为0时,即终止迭代,输出译码结果;
当译码校验结果不为0时,更新变量节点信息。
4.4)更新提前终止更新的变量集合Ψ(t):
其中,M为设置的阈值。
本示例性实施例,通过在空间激光通信系统的超高速率和受限器件资源的约束下,针对硬判决输入,提出了高性能低计算复杂度的LDPC译码方法。此译码方法基于软判决算法在硬判决输入中的简单应用,增加了区分节点可靠度的两个优化方法,分别是调整初值和提前终止更新,前者对可靠度更高的节点赋以更大幅度的初值,可有效提升译码性能,后者让高可靠节点提前终止更新迭代,可在保证一定译码性能的前提下节省计算复杂度。
本申请LDPC译码方法的技术效果对比分析,采用的LDPC码字为列重为6的(4096,2048)规则码,NMS算法的归一化因子为α=0.75,最大迭代次数Imax=10,校验节点信息及变量节点信息的量化位宽b=4,ζ=4。本实例的效果:由图5所示,本发明提出的译码方法明显优于硬判决算法BF(比特翻转)算法,且也优于软判决算法NMS算法,可取得约0.32dB的增益,合理的阈值M选择几乎不导致性能损失;由图6所示,本发明译码方法中的调整初值方法在迭代全过程都取得了误码性能的提升;由图7所示,本发明译码方法中的提前终止更新方法在几乎不损失译码性能的前提下可节省部分变量节点的计算量,在Eb/N0=5.036dB处,M=19的提前终止更新方法在几乎没有误比特率性能损失的前提下平均节省了约35%的变量节点计算量。通过上述对比分析可得到,本发明提出的高性能低计算复杂度的LDPC译码方法,可改善译码器的译码性能并降低部分计算复杂度,适用于高速空间激光通信场景。
具体而言,在空间激光通信系统中,由于速度和资源两方面的难题,译码输入会变为硬判决信息,此时一般的软判决译码器就不再适用或性能受损,而硬判决译码器往往性能较差。但在本发明设计的译码方法中,基于软判决迭代译码算法,用硬判决输入给软判决迭代算法赋初值,并增加了两个通过区分节点可靠度从而实现性能提升的优化方法:一是调整初值,即在初始化之后,根据硬判决输入的初始奇偶校验结果得到的各变量节点的校验方程正确比例,将校验方程正确比例更高的变量节点记入可靠度更高的集合,再将可靠度更高的变量节点的初值幅度调整至更大,反之亦然,这样就得到调整后的初值,这一方法可以有效提升译码性能;二是提前终止更新,即将每次迭代中译码判决的硬判决信息大于某一阈值的变量节点视为高可靠并记入集合,这一集合中的变量节点可提前终止迭代更新,这一方法可在几乎不损失译码性能的前提下降低计算复杂度。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本文用于企业家、创业者技术爱好者查询,结果仅供参考。