一种平方剩余码的硬判决译码方法_2

文档序号:9914158阅读:来源:国知局
个4 X 4的矩阵来进一步提升译码效率。解5个错时运用re liability-research 算法对5个错进行译码,在这里该算法是一种重复利用4个错的译码算法以实现对5个错进 行译码的算法。本发明提出的4个错译码算法高效,且reliability-research算法是一种随 着信噪比增加其译码效率快速提高的算法,因此使得5个错的译码效率得到较大提升。
【附图说明】
[0018] 图1为本发明提出的硬判决译码算法的流程图;
[0019] 图2为本发明提出的新译码算法与现有译码算法在AWGN信道下的性能对比。
【具体实施方式】
[0020] 以下针对附图和具体实例,对本发明的实施作进一步具体说明。
[0021] 对于4个错和5个错而言,现有的译码算法均涉及到未知校正子的计算,它们具有 较大的运算量。本发明基于牛顿恒等式得出4个错的代数式子作为错误位置多项式,直接用 已知校正子对其进行译码,该方法在一定程度减小了运算量,提升了译码效率。同时把现有 的4个错判断条件减小到8个4 X 4的矩阵来进一步提升译码效率。
[0022]给定一个接收矢量r(长度可为47比特),对r进行取模运算,得到余数si = r%g,其 中g是生成函数;对余数81进行判断,如果该值为0,则认为接收矢量r是一个合法码字,输出 r即可;如果S1不为0,则说明接收矢量r中发生错误,需要进一步的计算以实现译码。
[0023]根据平方剩余码的构造规则利用有限域GF中元素获得已知校正子,根据已知校正 子构建矩阵,计算不含未知校正子的系数;根据已知校正子和矩阵判断接收矢量发生错误 数,根据系数建立错误位置多项式,求解错误位置多项式,根据错误位置多项式的根与有限 域中元素获得接收矢量的错误位置。(可根据公式:w = Z/A得到错误位置,其中,w为接收矢 量中发生错误的位置数值,A为有限域中元素对应的幂)
[0024]通过牛顿恒等式组推导得出4个错的错误位置多项式的不含未知校正子的系数。 建立4个错错误位置多项式,
[0025]根据已知校正子S^S2, S3计算4个错的错误位置多项式的不含未知校正子的系数 分别为。!^^^,根据如下公式获得:
[0026]
[0027] (2)
[0028] (3)
[0029]
(4)
[0030] 其中kl一1?,匕2,匕9,1311为中间变量,31-S3为已知校正子,〇1-〇4分别为含有1 一4个 错的不含未知校正子的系数,取有限域GF(223)中的元素 β,通过公式:
[0031] sFr^heW1)计算得到已知校正子S1。根据平方剩余码的构造规则,α为有限 域元素 ,β = α178481。参考该码的构造规贝1】,如果译码正确必然有az = aw*A= (αΑΓ=Γ。这样,β 是有限域GF(223)中的元素,β1表示邱勺i次方,r(x)为码字的代数形式,e(x)是错误模式的代 数形式。假设一个码的码长是5,如其码字的二进制形式是10110,相应的代数形式r(x)和e (X)为x4+x2+x计算已知校正子时,将代数式中的X替换为已知校正子S1即可。
[0032]其中中间变量与已知校正子的关系如下:
[0042] 根据未知校正子的系数建立4个错误的错误位置多项式为:
[0043] L4(Z) 其系数都不含未知校正子。
[0044] 从低错误形态依次解到高错误形态的译码过程,即依次根据发生错误的条件判断 错误的次数,根据错误次数建立相应多项式,解出多项式的根得到错误位置,依次类推,直 到解完5个错的错误位置多项式为止。根据错误位置多项式的根及有限域中元素,确定错误 位置。再将接收矢量r对应的该错误位置翻转即可(如该位置是1,则翻转为0;如果该位置是 O,则翻转为1)。
[0045] (如L1(Z)=O解出的Z为a16Q6329 ,因有限域GF(223)元素 β = α178481,那么α16()6329 = β9, 此时接收矢量的第9位就是错误位置。如:LKZ)=0解出的Z^a16t36329,办为# 12658,其中有限 域GF(223)元素 β = α178481,那么α16()6329 = β9,α3212658 = β18,此时9,18就是错误位置,错在第9位 和第18位。
[0046] 以下具体根据发生错误个数说明多项式的建立。
[0047] 1)发生0个错误
[0048] 如果S1 = O,判断为接收矢量没有发生错误,相应的〇1 = 〇2 = 〇3 = 〇4 = 〇5 = 0。错误位 置多项式为Lo(Z)=0。
[0049] 2)发生1个错误
[0050] 如果S147 = 1,判断为接收矢量发生1个错误,相应的02 = 03 = 04=05 = (^:^1^ = S1,错误位置多项式为L1 (Z) = Z+S!。
[0051 ] 3)发生2个错误
[0052] 如果STXs+SiXg =。,判断为接收矢量发生2个错误,其中X^Ss+SAX^SgSi9。相应 的 O3 = 〇4 = 〇5 = 0。得到O1 = Si,〇2 = (S3+S13) /Si,错误位置多项式为L2 ( Z ) = Z2+SlZ。
[0053] 4)发生3个错误
[0054] 根据已知校正子构建矩阵
,如果行列式Cl = 〇,判断为接 收矢量发生3个错误,相应的系数〇4= O5 = 〇。得到O1 = Si,〇2 = ( S6X3+S9) /( S1S6+S7 ),O3 = ( S7X3 +S1X9) / (SiX6+S7),建立错误位置多项式L3⑵为:L3⑵=。
[0055] 5)发生4个错误
[0056]根据已知校正子构建矩阵:
[0057]
[0058]
[0059]
[0061 ]如果等式 M(Si8m+S27n2+S42n3)+N(Simi+S9m2+S2im3) =0,判断为接收矢量发生 4 个错 误。相应的〇5 = 0。
[0062] t艮据公式〇i = Sl,〇2= (klk2+k3k4)/(k5k2+k3k6),〇3 = X3+Sl〇2,〇4=〇22+〇2b2+SlS3+Sl4+ b2S3/Sd#到发生4个错误的不含未知校正子的系数,由此,建立错误位置多项式为:L 4(Z) = Z4+〇iZ3+〇2Z2+〇3Z+〇4。
[0063] 6)发生5个错误
[0064] 如果M(Si8m+S27n2+S42n3)+N(Simi+S9m2+S2im3)矣0,判断为接收矢量至少发生5个错 误。首先计算接收矢量对应的比特可靠性值,并按可靠性值从小到大排序,接着翻转可靠性 最低的比特,然后按照4个错误的译码方式译码,如果译码失败,则将被翻转的比特翻转回 去,并翻转可靠性第二低的比特,不断重复直到解出4个错误位置,或者达到预设的最大翻 转次数γ。如果译码成功,解出的4个错误位置加上前面翻转的一个错误比特位置,即得到5 个错误位置。
[0065] 在译码过程中,需从第0个错误判断条件到第4个错误判断条件依次判断。如果满 足第3个错误条件就认为此时接收矢量发生3个错误,如果不满足再计算第4个错误判断条 件,如果满足就认为此时接收矢量发生4个错误,否则接收矢量发生5个错误。一般错误位置 多项式的求解方式具有相当运算复杂度。在求解错误位置多项式之前,我们计算一种运算 复杂度较低的判断条件,若果条件结果满足要求,则再求解相应错误位置多项式,如果不满 足则计算下一错误判断条件并对其进行判断。平方剩余码是一种错误位置多项式的复杂度 会随着错误个数的增加而增加的循环码,所以通过使用判断条件在一定程度上可减小运算 复杂度。
[0066]以下举例说明采用reliability-research的方法解5个错误的方法,该算法是一 种重复利用4个错的译码算法以实现对5个错进行译码的算法,且是一种随着信噪比增加其 译码效率快速提高的算法。
[0067] 为了解5个错误,译码器必须计算两个11阶的多项式f (S5)和g(S5)。在有限域GF (223)下,计算这两个多项式的系数具有较高的运算复杂度。因此,为了降低译码复杂度,本 发明采用reliability-search algorithm的方法求解5个错误。这种译码方式运用接收矢 量中每个比特的可靠性值。该可靠性值越大,说明这个比特发生错误的可能性越小;反之, 则错误可能性越大。
[0068]假设在接收矢量中有5个错。首先计算
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1