一种软信息辅助硬判决的阶梯码译码方法、设备及介质

    技术2025-07-17  11

    本发明属于阶梯码译码领域,具体的说是一种软信息辅助硬判决的阶梯码译码方法、设备及介质。


    背景技术:

    1、受快速增长的数据中心互连市场需求的推动,光互联论坛发起了800g zr实施协议的开发,其中前向纠错技术是关键。前向纠错作为一种差错控制技术,通过在信息中加入一定的冗余来构建一定的保护机制,常用来保证数据传输的可靠性。根据对信号的接收和处理方式,前向纠错技术分为基于硬判决译码和基于软判决译码两大类。相比于硬判决前向纠错技术,软判决前向纠错技术有 2~3 db 的额外编码增益,但是其代价是复杂的译码过程、过高的功耗及译码时延等问题。但光纤传输系统通常会对系统的功耗和时延有着严苛的要求,并且随着光纤传输速率增加,前向纠错技术的功耗问题越来越严重。因此考虑到高译码复杂度,光纤通信系统并不能简单地采用传统的软判决译码机制来获取性能大幅度提升。在此背景下,适时地开展一种兼顾复杂度和性能的先进前向纠错技术的研究尤为重要。

    2、阶梯码作为一种新型的基于硬判决的前向纠错技术,由于其高增益、低译码复杂度,现备受光通信领域的关注。尽管阶梯码已经带来了相对较高的增益,但相比于硬判决前向纠错技术以及软判决前向纠错技术的的理论可达信息速率,由于有限的码长和有限的译码复杂度,其仍存在一定的性能损失。因此,持续改进阶梯码译码方法是近年来的一个热门研究话题。传统阶梯码的硬判决译码复杂度虽然低,但带来的增益有限;而直接对阶梯码进行软判决译码虽然能带来很高的增益,但是大大增加了译码的复杂度。因此,增加一定的复杂度来提升硬判决译码的性能或者牺牲一定的性能来降低软判决译码的复杂度是目前业界的两个主流研究方向。但由于软判决译码的译码方式问题,使得目前业界并不能很好的控制其功耗,因此降低软判决译码的复杂度这一技术还并不成熟,并不适用于高速光纤通信系统的很多场景。而对于提升硬判决译码的性能这一方向虽然已经存在很多研究,但还都不能很好的兼顾性能和复杂度。


    技术实现思路

    1、本发明是为了解决上述现有技术存在的不足之处,提出一种软信息辅助硬判决的阶梯码译码方法、设备及介质,以期译码器能识别纠正译码错误并扩展纠错能力,在给定信道条件下,能使得系统误码率更低,从而保障数据传输的可靠性,使其能够更好地满足现代高速光纤通信系统的需要。

    2、本发明为达到上述发明目的,采用如下技术方案:

    3、本发明一种软信息辅助硬判决的阶梯码译码方法的特点在于,是应用于由发送端、信道、接收端所组成的传输场景中,其中,所述发送端包括:阶梯码编码器和pam调制器;所述信道包含有噪声;所述接收端包括:pam硬判决解调器、pam软判决解调器、软信息辅助的阶梯码译码器,所述阶梯码译码方法是按如下步骤进行:

    4、步骤1、定义每个阶梯码矩阵为w×w维的比特矩阵,每行w个比特中包括p个校验位,其中,p和w均为正整数,且p < w;

    5、初始化b0为w×w维全零矩阵;

    6、步骤2、将长度为c比特的信息序列按每w×(w-p)个比特的信息分成一组,得到o组待编码信息,其中,,是向上取整函数;

    7、步骤3、阶梯码编码器利用bch码作为分量码,并对o组待编码信息进行编码,得到o个包含信息位和校验位的w×w维的阶梯码矩阵{b1, b2, …, bi, …, bo},i = 1, 2, …,o;其中,bi 表示待发送的第i个阶梯码矩阵,且bi的前w - p 列是信息位,后 p列是校验位;

    8、步骤4、所述pam调制器将{bi |1 ≤ i ≤ o}中的每m个比特映射为o×w×w/m个pam符号{xl | l = 1, 2, …, o×w×w/m},其中,xl表示任意第l个pam符号;

    9、步骤5、o×w×w/m个pam符号{xl | l = 1, 2, …, o×w×w/m}经过信道传输后,得到o×w×w/m个有噪的pam符号{zl | l = 1, 2, …, o×w×w/m};其中,zl表示任意第l个有噪的pam符号;

    10、步骤6、所述pam硬判决解调器对o×w×w/m个有噪的pam符号{zl | l = 1, 2, …,o×w×w/m}进行硬判决,得到o×w×w个的比特序列{bl,k | l = 1, 2, …,o×w×w/m,k =1, 2, ..., m};将o×w×w个比特序列按照每w×w个为一组转换为o个w×w维的阶梯码矩阵{y0,1, y0,2, …, y0,i, …, y0,o},其中,y0,i表示第i个阶梯码矩阵,且y0,i对应第i个阶梯码矩阵bi;

    11、同时,所述pam软判决解调器对o×w×w/m个有噪的pam符号{zl | l = 1, 2, …,o×w×w/m}进行软判决,得到o×w×w个对数似然比{λl,k | l = 1, 2, …,o×w×w/m,k =1, 2, ..., m};将o×w×w个对数似然比按照每w×w个为一组转换为o个w×w维的软信息矩阵{r1, r2, …, ri, …, ro},其中,ri表示第i个软信息矩阵,且ri对应第i个阶梯码矩阵y0,i;

    12、步骤7、所述软信息辅助的阶梯码译码器利用{ri |1 ≤ i ≤ o}对接收的阶梯码矩阵{y0,i|1 ≤ i ≤ o}中的元素进行可信度标记,得到阶梯码矩阵{y0,1, y0,2, …,y0,i, …, y0,o}对应的标记信息;所述标记信息包括:hrb比特、rb比特、ub比特和hub比特;

    13、步骤8、所述软信息辅助的阶梯码译码器根据标记信息,对o个阶梯码矩阵{y0,1,y0,2, ..., y0,o}进行迭代译码,得到o个译码后的阶梯码矩阵{yn,1, yn,2, ..., yn,i, …,yn,o},其中,yn,i表示第i个译码后的阶梯码矩阵,n为迭代次数。

    14、本发明所述的一种软信息辅助硬判决的阶梯码译码方法的特点也在于,所述步骤7中的可信度标记是按如下过程执行:

    15、定义第i个软信息矩阵ri中第w行第q列的元素为ri,wq;

    16、定义第i个阶梯码矩阵y0,i中第w行第q列的元素为yi,wq,w=1,2,…, w, q=1,2,…,w, 且i =1, 2, …, o;

    17、定义δ1为第一个可信度阈值,δ2为第二个可信度阈值,δ3为第三个可信度阈值,且δ1>δ2>δ3≥0;

    18、当│ri,wq│≥ δ1时,则yi,wq对应的标记信息为hrb比特;

    19、当 δ2 ≤│ri,wq│< δ1时,则yi,wq对应的标记信息为rb比特;

    20、当 δ3 ≤│ri,wq│< δ2时,则yi,wq 对应的标记信息为ub比特;

    21、当│ri,wq│< δ3时,则yi,wq 对应的标记信息为hub比特;其中,||表示取绝对值。

    22、所述步骤8包括:

    23、步骤8.1、定义译码滑窗的窗口大小为l;定义最大迭代次数为n;

    24、定义(l+1)×w维的译码状态矩阵为s,s中的每个元素的取值范围为{0,1,2,3},其中,0表示译码成功,1表示译码成功但存疑,2表示译码错误,3表示译码失败;

    25、初始化译码状态矩阵s中的所有元素为“3”;

    26、初始化第0个阶梯码矩阵y0,0为一个w×w维的全零矩阵;

    27、定义{z0,1, z0,2, ..., z0,i..., z0,o}为阶梯码矩阵{y0,1, y0,2, ..., y0,i, ...,y0,o}在迭代译码过程中行列译码结果冲突的次数矩阵;其中,z0,i表示y0,i在迭代译码过程中行列译码结果冲突的次数,初始化{z0,i |1 ≤ i ≤ o}为w×w维的全0矩阵;

    28、定义当前滑窗次数为g,初始化g = 0;

    29、定义当前迭代次数为n;

    30、步骤8.2、利用l个阶梯码矩阵{y0,g,y0,g+1,...,y0,j,...,y0,g+l-1}构成第g次滑动的译码滑窗;其中,y0,j表示第g次滑动的译码滑窗的第j-g+1个阶梯码矩阵,g ≤ j ≤ g+l-1;

    31、步骤8.3、初始化n = 1;

    32、步骤8.4、基于译码状态矩阵s,利用软信息辅助硬判决译码器依次对第g次滑动的译码滑窗在第n次迭代下每相邻的两个阶梯码矩阵[yn-1,g+l-2t yn-1,g+l-1], …, [yn-1,a-1t yn-1,a]…, [yn-1,g+1t yn-1,g+2], [yn-1,gt yn-1,g+1]中的每一行进行译码,包括:

    33、在第n次迭代下第a-1个、第a个行列译码结果冲突的次数[zn-1,a-1tzn-1,a]的辅助下,利用软信息辅助硬判决译码器对[yn-1,a-1t yn-1,a]的第w行进行译码,得到第w行译码结果、第w行译码状态和第w行冲突次数结果,其中,[yn-1,a-1t yn-1,a]表示第n次迭代下第a-1个、第a个阶梯码矩阵,yn-1,a表示第n次迭代下的第a个阶梯码矩阵,zn-1,a表示yn-1,a在迭代译码过程中行列译码结果冲突的次数,w = 1, 2, ..., w,且a = g+1, g+2,…, g+l-1,t表示转置操作;

    34、若第w行译码状态为“0”或“1”,则更新[yn-1,a-1t yn-1,a]的第w行为第w行译码结果;否则,保持[yn-1,a-1t yn-1,a]的第w行不变,从而完成[yn-1,a-1t yn-1,a]的w行译码,进而完成第g次滑动的译码滑窗在第n次迭代下的译码,并得到第g次滑动的译码滑窗在第n次迭代的译码结果{yn,g,yn,g+1,..., yn,j,..., yn,g+l-1};其中,yn,j表示y0,j第n次迭代后的译码结果;

    35、若第w行译码状态为“1”或“2”,则更新[zn-1,a-1tzn-1,a]的第w行为第w行冲突次数结果,否则,保持[zn-1,a-1tzn-1,a]的第w行不变,从而完成[zn-1,a-1tzn-1,a]的w行冲突次数的更新,进而完成第g次滑动的译码滑窗在第n次迭代下冲突次数矩阵的更新,并得到第g次滑动的译码滑窗在第n次迭代的行列冲突次数矩阵{zn,g, zn,g+1, ..., zn,j, ..., zn,g+l-1};其中,zn,j表示y0,j经过n次迭代后的行列译码结果冲突的次数矩阵;

    36、同时,将第w行译码状态赋值给译码状态矩阵s的第a-g+1行第w列,从而得到译码状态矩阵s的第a-g+1行w列,进而得到完整的译码状态矩阵s;

    37、步骤8.5、将n+1赋值给n,若n > n,则表示第g次滑动的译码滑窗译码完成,得到第g次滑动的译码滑窗内的第g个矩阵yn,g,并将yn,g+1 , ..., yn,g+l-1赋值给y0,g+1 ,...,y0,g+l-1,将将zn,g+1 , ..., zn,g+l-1赋值给z0,g+1 ,..., z0,g+l-1,执行步骤8.6;否则,返回步骤8.4顺序执行;

    38、步骤8.6、将g+1赋值给g,若g ≤ o-l+1,将译码状态矩阵s中第2至l+1行赋值给译码状态矩阵s的第1至l行,并初始化译码状态矩阵s的第l+1行的元素全为“3”,然后返回步骤8.4顺序执行;否则,则表示软信息辅助的阶梯码译码器的译码停止,得到所有阶梯码矩阵yn,1,yn,2,...,yn,o。

    39、所述步骤8.4中的软信息辅助硬判决译码器,包括:限定距离译码器bdd、比特翻转模块、译码错误检测模块以及标记信息更新模块;

    40、步骤8.4.1、定义第g次滑动的译码滑窗中位于[yn-1,a-1t yn-1,a]中第w行的接收序列记为ra, w,其中,g +1 ≤ a ≤ g+l-1, 1 ≤ w≤ w;

    41、定义第g次滑动的译码滑窗中位于[zn-1,a-1t zn-1,a]中第w行行列译码冲突次数结果为za,w =[z1, z2,…, zq,…, z2w] ,其中,zq对应ra, w中的第q个比特位置,q = 1,2,…,2w;

    42、定义t为所述限定距离译码器bdd的纠错能力;

    43、定义sa-g+1,w表示译码状态矩阵s的第a-g+1行第w列的元素,并用于存储ra, w所对应的译码状态;

    44、定义k为位置阈值,且0 < k ≤ l;

    45、步骤8.4.2、接收序列ra, w经过限定距离译码器bdd的译码后,输出bdd译码状态为“成功”或者“失败”以及第一次错误向量ea, w;

    46、若bdd译码状态为“失败”,则将“3”赋值给sa-g+1,并执行步骤8.4.4;

    47、若bdd译码状态为“成功”,则执行步骤8.4.3;

    48、步骤8.4.3、若a-g < k,则将“0”赋值给sa-g+1,w;否则,将第一次错误向量ea, w和行列译码冲突次数结果za,w传递至译码错误检测模块进行第w行译码错误检测:

    49、若第w行检测结果为译码错误,则将“2”赋值给sa-g+1,w,更新第w行行列译码冲突次数结果;

    50、若第w行检测结果为非译码错误但存疑,将“1”赋值给sa-g+1,w,更新第w行行列译码冲突次数结果;

    51、若第w行检测结果为非译码错误且不存疑,将“0”赋值给sa-g+1,w;

    52、步骤8.4.4、若sa-g+1,w为“0或“1”,则软信息辅助硬判决译码器输出第w行译码结果ca, w=ra, w⊕ea, w,其中,⊕表示二进制加法;同时标记信息更新模块更新ra, w的标记信息后,结束流程;

    53、若sa-g+1,w为“2”或“3”,则将ra, w传递至比特翻转模块进行比特翻转,得到翻转后的信息序列r´a, w,执行步骤8.4.5;

    54、步骤8.4.5、所述限定距离译码器bdd对翻转后的信息序列r´a, w进行译码,输出bdd译码状态为“成功”或者“失败”,以及第二次错误向量e´a, w;

    55、若bdd译码状态为“失败”,则软信息辅助硬判决译码器输出第w行译码结果ca, w=ra, w,并将“3” 赋值给sa-g+1,w,同时标记信息更新模块更新ra, w的标记信息;

    56、若bdd译码状态为“成功”,则将第二次错误向量e´a,w和行列译码冲突次数结果za,w递至译码错误检测模块中进行译码错误检测:

    57、若检测结果为译码错误,则软信息辅助硬判决译码器输出第w行译码结果ca, w=ra, w,并将“2”赋值给sa-g+1,w,更新第w行冲突次数结果;

    58、反之,则软信息辅助硬判决译码器输出第w行译码结果ca, w=ra, w⊕e´a, w,同时,若检测结果为非译码错误但存疑,则将“1”赋值给s a-g+1,w,更新第w行冲突次数结果;若检测结果为译码成功,则将“0”赋值给s a-g+1,w。

    59、所述步骤8.4.3和8.4.5中的译码错误检测模块是按如下步骤分别根据第一次错误向量ea, w和第二次错误向量e´a, w 进行译码错误检测:

    60、步骤a0、定义δ为第一次错误向量ea, w或第二次错误向量e´a, w 中元素为1的位置总数,d表示量ea, w或e´a, w 中元素为1的位置集合;

    61、若δ = 0,则令d为空集;反之,则d={d1, d2, …, db…, dδ},其中,db 表示第b个错误的位置,0 < δ ≤ 2w;

    62、定义thrb为存疑阈值,且thrb为正整数;

    63、定义译码错误标志位为f1、存疑标志位为f2;并初始化f1 = 0,初始化f2= 0;

    64、定义z´=[z´1, z´2,…, z´q,…, z´2w]为临时行列译码冲突次数矢量,z´q对应ra, w或r´a, w中的第q个比特位置,q = 1, 2, …, 2w,初始化z´为全0矢量;

    65、初始化b =1;

    66、步骤a1、判断ra, w或r´a, w 中的第db个元素对应的比特是否为hrb比特,若是,则将1赋值给f1,将db赋值给q,将z´q + 1赋值给z´q,并执行步骤a2;否则,直接执行步骤a2;

    67、步骤a2、若z´q > thrb,则将1赋值给f2,并将zq初始化为0,并执行步骤a3;否则,直接执行步骤a3;

    68、步骤a3、将b+1赋值给b;若j ≤ δ,则返回步骤a1顺序执行;否则,执行步骤a4;

    69、步骤a4、若f1 = 0且f2 = 0,则表示检测结果为译码成功;

    70、若f1 > 0且f2 > 0,则表示检测结果为非译码错误但存疑;

    71、否则,表示检测结果为译码错误。

    72、所述步骤8.4.4中的比特翻转模块是按如下过程对ra, w进行比特翻转,并得到翻转后的信息序列r´a, w:

    73、定义翻转比特数为f,且f为正整数;定义iub和ihub分别表示信息序列ra, w中ub比特和hub比特的位置集合,令集合e=ihub∪iub,∪表示并集运算;

    74、定义a是由译码状态矩阵s的第a行和第a+2行串接而成的向量;

    75、定义向量a中元素值为2或3的位置存储在集合a23中,向量a中元素值为0或1的位置存储在集合a01中;

    76、定义三种比特翻转优先级:

    77、高优先级翻转集合hh = ihuba23;

    78、中优先级翻转集合hm=e  a23;

    79、低优先级翻转集合hl=e;其中,表示交集运算;

    80、若len(hh) ≥ f,则比特翻转模块将从高优先级翻转集合hh中随机翻转f个比特,从而得到r´a, w,其中,len返回集合中元素个数的函数;

    81、若len(hm) ≥ f,则比特翻转模块将从高优先级翻转集合hm中随机翻转f个比特,从而得到r´a, w;

    82、若len(hl) ≥ f,则比特翻转模块将从高优先级翻转集合hl中随机翻转f个比特,从而得到r´a, w;

    83、反之,不翻转任何元素,比特翻转模块直接输出ra, w。

    84、所述标记信息更新模块将按如下过程更新信息序列ra, w中比特的标记信息:

    85、定义为错误向量ea, w或e´a, w 中元素为1的位置集合;

    86、若sa-g+1,w= 0,则标记信息更新模块判断位置集合是否是集合a23的子集,若是,则将中元素对应的比特位置全部更新为rb比特;否则,判断集合是否是集合a01的子集,若是,则将中元素对应的比特位置全部更新为hub比特;否则,不更新任何比特标记信息;

    87、若sa-g+1,w= 1,则标记信息更新模块将中元素对应的比特位置全部更新为rb比特;

    88、若sa-g+1,w= 3,则标记信息更新模块将中元素对应的比特位置全部更新为ub比特;

    89、否则,不更新任何比特标记信息。

    90、本发明一种电子设备,包括存储器以及处理器,其特征在于,所述存储器用于存储支持处理器执行所述阶梯码译码方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。

    91、本发明一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行所述阶梯码译码方法的步骤。

    92、与现有技术相比,本发明的有益效果在于:

    93、1、本发明根据信道软信息使用三个阈值,将硬判决估计的比特标记为四个级别,该方法避免存储信道软信息占用过多资源,并且四级别的标记信息提升了对比特标记准确度;

    94、2、本发明通过检查与hrb比特的冲突来识别并防止限定距离译码错误,该方法能够有效的识别译码错误的出现,避免了在迭代过程中译码错误带来的性能恶化;

    95、3、本发明通过制定了翻转优先级翻转不同的hub比特和ub比特对超出限定距离译码纠错能力的情况进行解码,该方法是所提算法主要的性能来源,略微增加复杂度提升了限定距离译码的复杂度;

    96、4、本发明根据译码结果帮助解码器确定翻转比特的优先级并及时更新标记位,该方法使得算法能够更加高效的对比特翻转,根据译码结果对标记信息更新使得标记的正确率能随着迭代不断提高,使得算法更加稳定高效。


    技术特征:

    1.一种软信息辅助硬判决的阶梯码译码方法,其特征在于,是应用于由发送端、信道、接收端所组成的传输场景中,其中,所述发送端包括:阶梯码编码器和pam调制器;所述信道包含有噪声;所述接收端包括:pam硬判决解调器、pam软判决解调器、软信息辅助的阶梯码译码器,所述阶梯码译码方法是按如下步骤进行:

    2.根据权利要求1所述的一种软信息辅助硬判决的阶梯码译码方法,其特征在于,所述步骤7中的可信度标记是按如下过程执行:

    3.根据权利要求1所述的一种软辅助硬判决的阶梯码译码方法,其特征在于,所述步骤8包括:

    4.根据权利要求3所述的一种软信息辅助硬判决的阶梯码译码方法,其特征在于,所述步骤8.4中的软信息辅助硬判决译码器,包括:限定距离译码器bdd、比特翻转模块、译码错误检测模块以及标记信息更新模块;

    5.根据权利要求4所述的一种软辅助硬判决的阶梯码译码方法,其特征在于,所述步骤8.4.3和8.4.5中的译码错误检测模块是按如下步骤分别根据第一次错误向量ea, w和第二次错误向量e´a, w 进行译码错误检测:

    6.根据权利要求4所述的一种软信息辅助硬判决的阶梯码译码方法,其特征在于,所述步骤8.4.4中的比特翻转模块是按如下过程对ra, w进行比特翻转,并得到翻转后的信息序列r´a, w:

    7.根据权利要求4所述的一种软信息辅助硬判决的阶梯码译码方法,其特征在于,所述标记信息更新模块将按如下过程更新信息序列ra, w中比特的标记信息:

    8.一种电子设备,包括存储器以及处理器,其特征在于,所述存储器用于存储支持处理器执行权利要求1-7中任一所述阶梯码译码方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。

    9.一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1-7中任一所述阶梯码译码方法的步骤。


    技术总结
    本发明公开了一种软信息辅助硬判决的阶梯码译码方法、设备及介质,是由阶梯码编码器将需要传输信息序列编码,经过PAM调制器调制后,通过含有噪声的信道传输到接收端同时进行PAM硬判决解调器硬判决和PAM硬判决解调器软判决得到存在错误的信息比特和信道软信息,最后软信息辅助的阶梯码译码器利用信道软信息对存在错误的信息序列纠错得到信息序列。本发明充分利用了信道软信息所提供的额外信息辅助阶梯码的硬判决译码,基于软信息辅助硬判决的阶梯码译码方法,实现了识别并纠正译码错误并扩展硬判决译码纠错能力的功能,在给定信道条件下,能使得系统误码率更低,从而保障数据传输的可靠性,使其能够更好地满足现代高速光纤通信系统的需要。

    技术研发人员:雷艺,王翔,陈斌,陈舒婷,郭忠义
    受保护的技术使用者:合肥工业大学
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-33990.html

    最新回复(0)