一种信道纠错码rs码迭代译码解关键方程方法

文档序号:8264977阅读:866来源:国知局
一种信道纠错码rs码迭代译码解关键方程方法
【技术领域】
[0001]本发明涉及一种信道纠错码RS码迭代译码解关键方程方法,属于数字通信领域的RS迭代译码方法。
【背景技术】
[0002]RS码是由1.S.Reed和G.Solomon于1960年构造出来的,是一类具有很强纠错能力的多元BCH码,它不仅能纠正随机错误,又能纠正突发错误,特别适用于信道干扰非常复杂的通信系统,在实际工程应用中非常广泛。
[0003]图1所示为传统的RS码译码原理框图,包括计算伴随式101、求解关键方程102、搜索错误图案103、数据缓存104、纠错输出105五个部分,译码步骤如下:
[0004](I)对接收到的码字RU)进行计算,得到伴随多项式S(X);
[0005](2)对伴随多项式S(X)求解关键方程,得到错误位置多项式Λ (χ)和错误值多项式 ω (X);
[0006](3)采用Chien搜索和Forney算法从错误位置多项式Λ (χ)和错误值多项式ω (χ)中计算错误位置和对应的错误值,达到搜索错误图案的目的;
[0007](4)根据得到的错误位置和错误值对经过数据缓存104的接收码字进行纠错并输出码字C。
[0008]RS码在求解关键方程时的译码方法主要有BM(Berlekamp-Massey)法、Euclid法等,实际使用中以BM法为主。目前最先进的BM译码方法是D.V.Sarwate等人于2001年提出的RiBM迭代译码方法,并通过简洁的伪码形成了一种高速高效的RS码迭代译码方法。
[0009]图2所示为D.V.Sarwate等人提出的利用RiBM迭代译码方法求解关键方程,包括:
[0010](I)步骤201:设RS码的纠错能力为t比特,接收2t个伴随多项式系数:Sl, s2,...J S2t ?
[0011](2)步骤202:对位宽为3t+l的数据流SJr)赋初值:δ i (O) = Si, (i =1,2,...,2t),δ i (O) = O, (i = 2t+l, 2t+2,...,3t),δ 3t+1 (0) = I ;对中间变量赋初值:θ ! (O) = Si, (i = I, 2,…,2t),γ (O) = I, k(0) = O ;
[0012](3)步骤203:首轮迭代次数r初值为0,累加I后转入步骤204 ;从下一轮迭代开始,将从步骤208返回的r累加I,并转入步骤204 ;
[0013](4)步骤 204:更新 δ j(r+l)的值,δ j(r+l) = γ (r) δ i+1 (r) - δ j (r) θ j (r), (i =I, 2,…,3t+l);
[0014](5)步骤 205:令 iter = ( δ 丨(r) ? 0&&k (r) ^ O),若 iter = I 则转入步骤 206,若iter = O则转入步骤207 ;
[0015](6)步骤 206:更新中间变量,γ (r+1) = δ j (r), k(r+l) =-k(r)-l,Θ j (r+1)=δ i+1 (r),(i = 1,2,…,3t+l),更新完成之后转入步骤208 ;
[0016](7)步骤 207:更新中间变量,γ (r+1) = γ (r), k(r+l) = k(r)+l, Qi (r+1)=Θ i (r), (i = I, 2,…,3t+l),更新完成之后转入步骤208 ;
[0017](8)步骤208:比较r与2t,若r小于2t则返回步骤203,同时将步骤206或207得到的中间变量数据流ejr+l)、中间变量γ (r+1)和k(r+l)用于下一轮迭代运算;若r等于2t,则迭代结束,转入步骤209 ;
[0018](9)步骤209:输出错误位置多项式Λ (χ)系数:λ i (2t) = δ i+t (2t),(i =I, 2,…,t+1),错误值多项式 ω (χ)系数:ω ^ (2t) = δ ^ (2t), (i = I, 2,…,t)。
[0019]RiBM迭代译码方法求解关键方程的不足之处是:对于纠错能力为t比特的RS码来说,随着迭代的进行,数据流S10尾部的t比特初值O形成了一定程度的冗余运算,增加了运算量,降低了运算效率。

【发明内容】

[0020]本发明的技术解决问题是:克服现有技术的不足之处,提出一种改进的RiBM迭代译码解关键方程方法,删除了数据流\(Γ)尾部的t比特初值O在迭代过程中形成的冗余运算,将RiBM迭代过程中的数据流S1*)位宽由3t+l压缩为2t+4,从而大大降低了运算量,提高了运算效率,实现了 RS码的高效译码。
[0021]本发明的技术解决方案是:一种信道纠错码RS码迭代译码解关键方程方法,步骤如下:
[0022](I)设RS码的纠错能力为t比特,从计算伴随式处接收2t个伴随多项式系数:S1, s2,…,s2t;其中,t为大于O的正整数;
[0023](2)定义迭代次数r,r为整数,初值为O ;定义位宽为2t+4的数据流SJr)以及中间变量数据流9i(r),对位宽为2t+4的数据流S10赋初值:Si(O) = Si, (i =I, 2,…,2t) ; δ j (O) = O, (i = 2t+l, 2t+3, 2t+4) ; δ 2t+2 (0) = I ;对中间变量数据流 Θ t(r)赋初值:Θ i (0) = Si,(i = 1,2,…,2t),Θ i (0) = 0,(i = 2t+l, 2t+3, 2t+4) ; Θ 2t+2 (0) = I ;定义中间变量γ Cr)和k(r),并赋初值:γ (O) = I, k(0) = O ;定义迭代变量iter,则在第r次迭代运算过程中,令iter = ( δ: (r) ^ 0&&k (r)彡O),式中,“&&”为逻辑与运算;
[0024](3)将步骤⑵的迭代变量iter = (S^r) Φ 0&&k(r)彡O)的计算结果分为CaseO、Casel 和 Case2 三种情形;
[0025]所述CaseO是:迭代变量iter在r = O时初值为1,随着迭代次数r的累加,迭代变量iter在I和O之间交替切换,直至迭代变量iter恒为O ;
[0026]所述Casel是:当r为偶数时,迭代变量iter等于0,随着迭代次数r的累加,当r为奇数时,出现迭代变量iter等于I的情形;设首次出现Casel情形且迭代变量iter等于I时对应的迭代次数为r1;
[0027]所述Case2是:当r为偶数时,迭代变量iter等于0,随着迭代次数r的累加,当r再次为偶数时,出现迭代变量iter等于I的情形;设首次出现Case2情形且迭代变量iter等于I时对应的迭代次数为r2;
[0028](4)首轮迭代次数r初值为0,累加I后转入步骤(5);从下一轮迭代开始,将从步骤(9)返回的r累加1,并转入步骤(5);
[0029](5)在步骤(3)所述的CaseO情形下:
[0030]当r 为奇数或 r 等于 2t 时,Si (r+Ι) = γ (r) δ i+1 (r) - δ j (r) Θ j (r), (i =I, 2,…,2t+4);
[0031]当r为偶数且r不等于2t时,若2t+2-r/2 < i < 2t+4,Si (r+1)更新但不传递,即 δ j (r+1) = γ (r) δ j (r) - δ j (r) θ (r);若 i = 2t+l_r/2,贝丨J δ “r+1)需要进行补
O操作,即 δ j (r+1) = γ (r).0- δ j (r) θ j (r);若 I < i < 2t_r/2,贝丨J δ j (r+1) = γ (r)δ i+1 (r) - δ j (r) Θ j (r);
[0032]在步骤(3)所述的Casel情形下:
[0033]当r = a+I 时,若 21+(5-1^)/2 < i < 2t+4,δ Jr+l)更新但不传递,即 δ j (r+1)=Y (r) δ j (r) - δ j (r) θ (r);若 i = 2t+(3-1^)/2,贝丨J δ j(r+l)接收中间变量 Θ t(r)的更新值但不传递,即 δ i(r+l) = γ (r) δ j (r) - δ j (r) θ j (r);若 i = 2t+(1-1T1)/2,则 Si (r+1)需要进行补 O 操作,即 δ j (r+1) = γ (r).0- δ j (r) θ j (r);若 I 彡 i 彡 2t-(l+r1)/2,贝丨Jδ j (r+1) = γ (r) δ i+1 (r) - δ 丨(r) θ ^r);当 r 乒 r^l 时仍然按照 CaseO 情形更新 δ j (r+1)的值;
[0034]在步骤(3)所述的Case2情形下:
[0035]当r = r2时,若 2t+3~r 2/2 ^ i ^ 2t+4,δ j (r+1)更新但不传递,即 δ j (r+1)=
Y(r) δ j (r) - δ j (r) θ (r);若 i = 2t+l_r2/2 或 2t+2~r2/2,贝丨J δ “r+1)接收中间变量θ i (r)的更新值但不传递,即 δ j (r+1) = γ (r) δ j (r) - δ j (r) θ ^r);若 I 彡 i 彡 2t~r2/2,δ j (r+1) = γ (r) δ i+1 (r) - δ j (r) θ ^r);
[0036]若r〈r2,仍然按照CaseO情形更新δ ^ (r+1)的值;
[0037]若r>r2,且 r 为奇数或者 r 等于 2t 时,Si (r+Ι) = γ (r) δ i+1 (r) - δ j (r) Θ j (r),(i = 1,2,…,2t+4);
[0038]若r>r2,且r为偶数但r不等于2t时,若2t+l_r/2 ^ i ^ 2t+4,δ ^ (r+1)更新但不传递,即 δ j (r+1) = γ (r) δ j (r) - δ j (r) θ (r);若 i = 2t_r/2,贝丨J δ j(r+l)需要进行补 O 操作,即 δ j (r+1) = γ (r).0_ δ j (r) θ j (r);若 I < i < 2t-l_r/2,δ j (r+1) = γ (r)δ i+1 (r) - δ j (r) Θ j (r);
[0039](6)根据步骤(2)中的迭代变量iter决定中间变量数据流Qjr+l)、中间变量γ (r+1)和k(r+l)的更新方式,若iter = I则转入步骤(7),若iter = O则转入步骤(8);
[0040](7)更新中间变
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1