CN1653699A - 软判定解码里德-索洛蒙码的方法 - Google Patents
软判定解码里德-索洛蒙码的方法 Download PDFInfo
- Publication number
- CN1653699A CN1653699A CNA038104032A CN03810403A CN1653699A CN 1653699 A CN1653699 A CN 1653699A CN A038104032 A CNA038104032 A CN A038104032A CN 03810403 A CN03810403 A CN 03810403A CN 1653699 A CN1653699 A CN 1653699A
- Authority
- CN
- China
- Prior art keywords
- alpha
- gamma
- multinomial
- erasure
- syndrome
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/158—Finite field arithmetic processing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明涉及里德-索洛蒙解码器和软判定解码里德-索洛蒙码的方法,其中,通过叠代更新这些多项式的系数,并行地计算校正子多项式、疑符多项式和修正校正子多项式。
Description
技术领域
本发明一般涉及错误检测/纠正,尤其涉及用在里德-索洛蒙解码器中的系统和方法。
背景技术
通常使用的纠错技术是里德-索洛蒙(Reed-Solomon)纠错码。有关里德-索洛蒙码的综述和应用请参考“里德-索洛蒙码及其应用”(Reed-SolomonCodes and Their Applications,Stephen B.Wicker,Vijay K.Bhargava,IEEE Press,1994)和“数字通信、基本原理和应用”(Digital Communication,Fundamentals and Applications,Second Edition,Bernard Sklar,Prentice Hall PTR,2001)。
美国专利第5,517,509号示出了以欧几里得(Euclid)算法运算电路形式的里德-索洛蒙解码器,其中,将除数多项式重复地除以从被除数多项式和除数多项式的相除过程中得到的余式,直到相除过程的余式等级满足规定条件为止。
欧几里得算法运算电路包括分别存储被除数多项式和除数多项式的寄存器组、存储从被除数多项式除以除数多项式的相除过程中得出的余式、移位寄存器的内容的移位器、和交换被除数多项式的系数和除数多项式的系数的交换器。
该解码器包括从接收码字中计算校正子(syndrome)的校正子运算器、从与接收码字同步的疑符定位子标志中生成疑符定位子数据的疑符定位子发生器、生成修正校正子的修正校正子发生器、从疑符定位子数据中生成疑符定位子多项式的疑符定位子多项式发生器、获取错误定位子多项式和错误值多项式的欧几里得算法运算电路、获取错误位置和错误值的Chien搜索器、和纠正接收码字的错误的纠正处理器。修正校正子发生器和疑符定位子多项式发生器与欧几里得算法运算电路一起使用。
实现里德-索洛蒙解码器的其它手段可从美国专利第5,991,911、6,032,283、6,304,994 B1、5,537,426、EP 0 821 493 A1和EP 0 942 421 A1号中了解到。
通常,通过计算校正子多项式和疑符多项式的乘积进行修正校正子多项式的计算。这种计算需要附加循环和计算时间来获取修正校正子多项式。
因此,本发明的目的是提供修正校正子多项式的计算不需要附加循环的软判定解码里德-索洛蒙码的方法。
发明内容
本发明的目的主要通过应用在独立权利要求中阐述的特征来解决。在从属权利要求中给出了本发明的优选实施例。
本发明通过并行动态计算(on-the-fly computation)校正子多项式和疑符多项式,以及修正校正子多项式,能够使软判定解码里德-索洛蒙码的计算时间达到最小。换句话说,本发明能够在校正子多项式和疑符多项式的计算完成之前,进行修正校正子多项式的计算。
本发明的特别有利之处在于,它能够利用输入码元动态地计算修正校正子多项式。因此,可以省略通常称为多项式展开的分离计算步骤。
本发明的进一步有利之处在于,在纠正之后,无需计算校正子多项式和疑符多项式的乘积就可以直接更新修正校正子。这导致了总计算时间和硬件要求的降低。
本发明的一般构思是减少计算修正校正子所需的循环次数。为了获得修正校正子多项式,必须进行疑符多项式和校正子多项式的乘积。用于这种计算的传统串行算法的复杂度是
c=r(l+1)-l(l+1)/2,
其中,r是RS码字中奇偶校验码元的个数,和l是码字中疑符的个数。
传统串行-并行算法的复杂度是
c=l+1
本发明的一般构思是动态地计算修正校正子。因此,本方法不需要任何附加循环来计算修正校正子,从而节省了计算能力和时间。
附图说明
图1示出了已知动态校正子计算的硬件实现的方块图;
图2示出了疑符多项式的已知动态计算的硬件实现的方块图;
图3例示了动态计算修正校正子多项式的实施例的流程图;
图4是动态计算修正校正子多项式的硬件实现的方块图;
图5是与图3的流程图有关的时序图;
图6例示了动态计算修正校正子多项式的可替代方法;
图7是图6的方法的硬件实现的方块图;和
图8是与图6的方法有关的时序图。
详细描述
在软判定解码中,已知只要如下条件成立,接收器就可以纠正:
2e+f<dmin. (1)
其中,e是错误个数,f是疑符个数,和dmin是汉明(Hamming)距离。为了计算错误,必须完成如下步骤:
1.计算校正子多项式:
2.计算疑符多项式,其中,αji是疑符的位置j0,j1,...,jp-1的幂:
3.通过如下方程构造修正校正子多项式:
T(x)=Г(x)S(x)modxM (4)
4.利用伯利坎普-马赛(Berlekamp-Massey)或欧几里得算法求解关键方程:
Λ(x)T(x)=Ω(x)modxM (5)
5.计算Forney多项式:
ψ(x)=Λ(x)Гx) (6)
6.利用Forney方程计算错误和疑符的幅度。
从方程(2)和(3)可明显看出,可以利用输入数据码元νN-1,...,ν1,ν0动态地计算它们。
在下文中,给出上面步骤1,即,方程(2)的实施的更详细说明。
设错误矢量是具有如下多项式表示的
e(x)=e0+e1x+...+eN-1xN-1以及e1∈GF(28). (7)
那么,在解码器输入端上的接收多项式是:
ν(x)=c(x)+e(x)=ν0+ν1x+...+νN-1xN-1以及νi∈GF(28), (8)
其中,多项式系数是接收矢量
的分量。由于码字多项式c(x)可除以生成多项式g(x),和对于,i=0,1,...,M-1,g(αi)=0,在生成多项式的根α0,α1,...,αM-1上估计多项式ν(x)生成:
它表明,最后方程组只牵涉到不是码字的那些成分的错误模式的成分。称它们为校正子Sj,j=0,1,...,M-1,其中:
这些校正子用于以如下的形式形成校正子多项式:
方程(11)的动态计算可以通过叠代更新系数Sj,j=0,1,...,M-1来实现。在新码元νn正在到达的每个码元时钟j上,计算位置n的幂αn和以如下方式更新系数:
Si,j=Si,j-1+νnαin,i=0,1,...,M-1其中Si,-1=0. (12)
动态校正子计算的硬件实现显示在图1中。在新代码序列的开头,用第1码元的位置的幂来初始化第1寄存器。用零初始化第2寄存器。每当新码元到达时,使第1寄存器和第2寄存器同步,根据方程(12)更新校正子,和将第1寄存器中根项的幂降低1阶。
在下文中,给出上面步骤2,即,方程(3)的更详细说明。
假设p个疑符在位置j0,j1,...,jp-1上,以如下方式计算疑符多项式:
那个方程的动态计算可以通过叠代更新多项式来实现。在每个时刻j,当出现新疑符νn时,计算疑符位置n的幂αn和以如下方式更新多项式:
Гj(x)=Гj-1(x)·(1-αnx)=(Г0,j-1+Г1,j-1x+...+Гp,j-1xp)(1-αnx) (14)
检查方程(14)的最后多项式,可以将系数写成:
通过方程(15)取得的动态疑符多项式计算的硬件实现描绘在图2中。如果输入码元是疑符,切换所描绘的切换器和该电路实现按照方程(15)的计算。
如果码元不是疑符,该切换器保持在它们所描绘的位置。切换器被做成组合逻辑块,因此,它们不会引起任何额外时钟延迟。它们直接与配有码元信息的疑符信号相连接。在新代码序列的开头,用第1码元的位置的幂,例如,对于DVD的内码用α181初始化第1寄存器。
用零初始化第2寄存器。每当新码元到达时,使第1寄存器和第2寄存器同步,然后,根据方程(15)更新校正子,和将第1寄存器中根项的幂降低1阶。
根据如下方程,将方程(2)的校正子多项式与方程(3)的疑符多项式相乘获得修正校正子多项式:
T(x)=S(x)Г(x)modxM
=(S0+S1x+S2x2+...+SM-1xM-1)(Г0+Г1x+Г2x2+...+Гpxp)modxM (16)
结果是两个多项式之间的循环卷积
根据本发明,我们从将方程(2)代入方程(17)开始,这得出:
或更好的
现在,可以以指示如何把以前的疑符考虑进来更新多项式系数的方式解释这个方程。假设在时间步j-1,寄存器Ti,i=0,1,...,M-1保存正确的修正校正子和在时间步j接收到进一步的数据码元,简单地根据方程(19)更新修正校正子多项式。
借助于那种信息,可以写出动态计算修正校正子的算法A。取决于输入码元是否被信号化成疑符,算法A分别需要两次或一次连续计算。但是,也可以写出动态计算修正校正子的可替代算法B。算法B由两个可替代分支组成,取决于输入码元是否被信号化成疑符,选择和执行其中之一,和为了进行所考虑的情况所需的所有计算,每个分支仅仅需要一个系统时钟。
算法A
借助于方程(19),不用计算校正子,可以直接计算修正校正子。图3中的流程图示出了动态计算的第1实施例。该流程图包括计算两个辅助项T*(X)和Γ*(X)的方程(20)和在输入码元νn是疑符的情况下,从辅助项中计算叠代结果Tj(X)和Гj(X)的方程(21)。在每个码元时钟上,当获得新码元时,根据方程(20)更新修正校正子。在每步计算中,将所得修正校正子纠正成最新接收码元。对于这种算法,系统时钟频率必须至少是码元时钟频率的两倍。在为最后一个码元计算之后,该算法即告结束,然后,获得正确的修正校正子。
在疑符的情况下,需要两个系统时钟,一个用于按照方程(20)的更新,另一个用于如方程(21)所示,将多项式与根相乘。在疑符的情况下,计算方程(20)和(21)的顺序是可以交换的。如果这样做的话,必须小心,如果流的第1码元是疑符,必须用1预置寄存器T0,否则,方程(21)的第一部分将得出零。
方程(20)的计算直接来源于在方程(19)中所描述的循环卷积。因此,我们在下文中描述获得疑符码元的算法。假设直到时间步n-1,我们让存储器含有作为方程(19)的线性卷积的如下修正校正子:
和疑符多项式:
Гn-1(x)=1+Г1,n-1x+Г2,n-1x2+...+Гp,n-1xp. (23)
接着,我们假设在时间步n,疑符码元νn正在到来,因此,方程(20)的计算得出:
现在,计算方程(21)
再次利用循环卷积得出:
可以将它写成:
事实上,这也是校正子和疑符多项式按照方程(19)的卷积。
用于动态计算修正校正子的算法A的实施例可以在图4中看到。如果切换器处在它们所示的位置中,该结构实现基于方程(20)的计算。如果切换器被切换,该结构实现基于方程(21)的计算。
切换器被做成组合逻辑块,因此,它们不会引起任何额外时钟延迟。比较图1和图2的实施例,容易看出,每个单元或寄存器只需要一个附加加法器。这意味着,由于不需要附加多项式乘法器,硬件减少了。
在新代码序列的开头,用第1码元的位置的幂,例如,对于DVD的内码的例子用α181初始化第1寄存器。用零初始化第2和第3寄存器。在系统时钟的每个上升沿上,新码元到达和使第1寄存器同步,将根幂降低1阶。此后,使第2寄存器与码元时钟的下一个下降沿同步,从而,根据方程(20)更新校正子。
如果到达码元被信号化成疑符,切换器被切换和再次使寄存器2和3同步,计算方程(21)。在该序列中最后一个码元的末端上,在最后计算之后,寄存器2保存整个代码序列的修正校正子,和寄存器3保存疑符多项式。
在下文中,参考示出图3的方法的定时行为的例子的图5。
假设M=10和顺序是向下的,就像DVD的内码的情况那样。码元顺序从181开始,一直下降到0。用T(x)=0和Г-1(x)=1预置寄存器。让我们假设我们接收到如下数据流:
ν181=α6,
ν179=α10,
ν177=α15,ν176=...,...,ν0=α…,
其中,νi *将表示被信号化成疑符的那些码元。如图5所示,在码元时钟的每个上升沿上,我们获得新码元νn,以及它的疑符信息,并且,使图4中的电路的寄存器1同步,和它包含那个码元的适当幂项αn。在图5中被表示成1的码元时钟的上升沿之后的第1个系统时钟上,在它们所示的位置中使图4中的电路的寄存器2同步和计算方程(20)。
如果疑符信号是真的,切换图4中的切换器和在图5中被表示成2的系统时钟的下一个上升沿上再次使电路的寄存器2和3同步,这导致方程(21)得到计算。在最后计算了第182码元之后,获得整个码字的正确修正校正子。对于本例,现在将详细说明直到第5输入码元之后的中间结果。
传统方式:
首先以传统方式计算中间修正校正子,作为能够核实如下说明的本发明算法的结果的参考。方程(2)给出像如下那样的数据流的校正子:
S(x)=(α6+α9+α10+α12+α15)+(α6α181+α9α180+α10α179+α12α178+α15α177)x+...
+(α6α9·181+α9α9·180+α10α9·179+α12α9·178+α15α9·177)X9 (28)
=α169+α79x+α113x2+α37x3+α194x4+α112x5+α239x6+α168x7+α174x8+α240x9.
Г(x)=(1-α180x)(1-α178x)=1+α228x+α103x2. (29)
通过将两个多项式相乘,获得像如下那样的直到那个码元的修正校正子多项式:
T(x)=S(x)Г(x)modxM=α69+(α79+α169α228)x+
+(α113+α79α228+α169α103)x2+...
...+(α240+α174α228+α168α103)x9 (30)
=α169+α134x+α119x2+α68x3+α128x4+α172x5+
+α21x6+α40x7+α217x8+α152x9
动态算法
按输入码元的顺序进行计算;在每一步之后,将所得修正校正子纠正成最新接收码元。
1.获取数据码元ν181=α6;第1系统时钟1;计算方程(20):
T0(x)=α6(1+α181x+α2·180x2+...+α9·180x9)
=α6+α187x+α113x2+α39x3+α220x4+ (31)
+α146x5+α72x6+α253x7+α179x8+α105x9
Г0=1 (32)
2.获取疑符码元ν* 181=α9;第1系统时钟1;计算方程(20):
T*(x)=(α6+α9)+(α187+α9α180)x+(α113+α9α2·180)x2+...
...+(α105+α9α9·180)x9 (33)
=α229+α237x+α138x2+0·x3+α244x4+α194x5+
+α37x6+α94x7+α57x8+α35x9
第2系统时钟2,计算方程(21):
T1(x)=α229+(α237+α180α229)x+(α138+α180α237)x2+...
...+(α35+α180α57)x9 (34)
=α229+α211x+α137x2+α63x3+α244x4+α170x5+
+α96x6+α22x7+α203x8+α129x9和
Г1(x)=1+α180x (35)
3.获取数据码元ν179=α10;第1系统时钟1;计算方程(20):
T2(x)=(α229+α10)+(α211+α10(α179+α180))x+
+(α137+α10(α2·179+α179α180))x2+...
...+(α129+α10(α9·179+α8·179α180))x9 (36)
=α199+α179x+α162x2+α87x3+α209x4+α48x5+
+α201x6+α133x7+α182x8+α215x9
Г2(x)=1+α180x (37)
4.获取疑符码元ν* 178=α12;第1系统时钟1;计算方程(20):
T*(x)=(α199+α12)+(α179+α12(α178+α180))x+
+(β162+α12(α2·178+α178α180))x2+...
...+(α215+α12(α9·178+α8·178α180))x9 (38)
=α216+α110x+α187x2+α111x3+α17x4+α146x5+
+α64x6+α37x7+α108x8+α39x9
第2系统时钟2,计算方程(21):
T3(x)=α216+(α110+α178α216)x+(α187+α178α110)x2+...
...+(α39+α178α108)x9 (39)
=α216+α36x+α234x2+α135x3+α85x4+α88x5+α202x6+
+α244x7+α166x8+α231x9
和
Г3(x)=1+(α180+α178)x+α180α178x2 (40)
=1+α228x+α103x2
5.获取数据码元ν177=α15;第1系统时钟1;计算方程(20):
T4(x)=(α216+α15)+(α36+α15(α177+α228))x+
+(α234+α15(α2·177+α177α228+α103))x2+...
...+(α231+α15(α9·177+α8·177α228+α7·177α103))x9 (41)
=α169+α134x+α119x2+α68x3+α128x4+α172x5+
+α21x6+α40x7+α217x8+α152x9Г4(x)=1+(α180+α178)x+α180α178x2 (42)
=1+α228x+α103x2
方程(42)与(29)和(41)与(30)的比较核实该算法。这个结果是中间结果,不是最后修正校正子,而仅仅是直到第5接收码元的修正校正子。整个代码序列的修正校正子是在第182次计算之后获得的。
算法B
在下文中,将更详细地说明计算修正校正子多项式的可替代算法B:
计算疑符码元的第2系统时钟可以通过将方程(20)插入(21)中来避免,这将得出:
或更好的
因此,可以将方程写成:
Tn(x)=Tn-1(x)(1-αnx)+νnГn-1(x),whereГ-1(x)=1 (45)
现在,可以写出对于每种输入码元类型只需要一个系统时钟的第2种算法B。
图6中的流程图示出了动态计算的第2实施例。为了计算一次叠代结果Tj(X)和Гj(X),该流程图包括在输入码元νn是疑符的情况下使用的方程(46)和否则使用的方程(47)。
在每个码元时钟上,当获得新码元时,更新修正校正子。在每步计算中,将所得修正校正子纠正成最新接收码元。对于这种算法B,系统时钟频率可以与码元时钟频率相同,这导致非常快的计算。在最后码元之后,该算法即告结束,然后,获得正确的修正校正子。
动态计算修正校正子的第2实施例描绘在图7中。如果切换器处在它们所示的位置中,该结构实现基于方程(47)的计算。如果切换器被切换,该结构实现基于方程(46)的计算。
切换器作为组合逻辑块实现,因此,它们不会引起任何额外时钟延迟。将所描绘的结构与图4中的结构相比较,每个单元或寄存器需要附加的乘法器和加法器。增加硬件结构和因此增加等待时间可以使计算时间缩短。
在新代码序列的开头,用第1码元的位置的幂,例如,对于DVD的内码的例子用α181初始化寄存器1。用零初始化寄存器2和3。切换器直接与疑符信号相连接。使所有寄存器1、2和3与码元时钟的上升沿同步,从而,取决于疑符信号,根据方程(46)或(47)更新校正子。
寄存器1的同步使根项的幂下降1阶,为下一个码元作好准备。在该序列中最后一个码元的末端上,在最后计算之后,寄存器2保存整个代码序列的修正校正子,和寄存器3保存疑符多项式。
现在举例说明定时行为和算法。假设M=10和顺序是向下的,就像DVD的内码的情况那样。码元顺序从181开始,一直下降到0。用T(x)=0和Γ-1(x)=1预置寄存器。让我们假设我们接收到如下数据流:
ν181=α6,
ν179=α10,
ν177=α15,ν176=...,...,ν0=α…,
其中,νi *将表示被信号化成疑符的那些码元。如图8所示,在系统时钟的每个上升沿上,获得新码元νn和疑符信息。
疑符信号馈送到图7中的电路的切换器。如果疑符信号是假的,切换器保持在它们所示的位置,如果疑符信号是真的,切换器被切换。在图8中被表示成1的系统时钟的上升沿上使图7中的电路同步和计算方程(46)或(47)。在最后一个码元时钟,即第182码元时钟之后,获得整个码字的正确修正校正子。对于本例,现在将详细说明直到第5输入码元之后的中间结果。
按输入码元的顺序进行计算;在每一步之后,将所得修正校正子纠正成最新接收码元。
1.获取数据码元ν181=α6;计算方程(46):
T0(x)=α6(1+α181x+α2·180x2+...+α9·180x9)
=α6+α187x+α113x2+α39x3+α220x4+ (48)
+α146x5+α72x6+α253x7+α179x8+α105x9
Г0=1 (49)
2.获取疑符码元ν* 181=α9;计算方程(47):
T1(x)=α6(1+α181x+α2·180x2+...+α9·180x9)
=α6+(α187+α180α6)x+(α113+α180α187)x2+...
...+(α105+α180α179)x9+α9 (50)
=α229+α211x+α137x2+α63x3+α244x4+α170x5+
+α96x6+α22x7+α203x8+α129x9
和
Г1(x)=1+α180x (51)
3.获取数据码元ν179=α10;计算方程(46):
T2(x)=(α229+α10)+(α211+α10(α179+α180))x+
+(α137+α10(α2·179+α179α180))x2+...
...+(α129+α10(α9·179+α8·179α180))x9 (52)
=α199+α179x+α162x2+α87x3+α209x4+
+α48x5+α201x6+α133x7+α182x8+α215x9
Г2(x)=1+α180x (53)
4.获取疑符码元ν* 178=α12;计算方程(47):
T3(x)=α199+(α179+α178α199)x+(α162+α178α179)x2+...
...+(α215+α178α182)x9
+α12+α12α180x (54)
=α216+α36x+α234x2+α135x3+α85x4+α88x5+α202x6+
+α244x7+α166x8+α231x9
和
Г3(x)=1+(α180+α178)x+α180α178x2 (55)
=1+α228x+α103x2
5.获取数据码元ν177=α15;计算方程(46):
T4(x)=(α216+α15)+(α36+α15(α177+α228))x+
+(α234+α15(α2·177+α177α228+α103))x2+
+(α231+α15(α9·177+α8·177α228+α7·177α103))x9 (56)
=α169+α134x+α119x2+α68x3+α128x4+α172x5+
+α21x6+α40x7+α217x8+α152x9
Г4(x)=1+(α180+α178)x+α180α178x2 (57)
=1+α228x+α103x2
方程(56)与(29)和(57)与(30)的比较校验该算法。这个结果是中间结果,它不是最后修正校正子,而是直到那个码元的修正校正子。整个代码序列的修正校正子是在第182次计算之后获得的。
Claims (11)
1.一种软判定解码里德-索洛蒙码的方法,其特征在于,动态计算校正子多项式、疑符多项式和修正的校正子多项式。
2.根据权利要求1所述的方法,包括如下步骤:
-计算校正子多项式:
-计算像疑符多项式:
其中,αji是疑符的位置j0,j1,...,jp-1的幂,
-通过如下方程构造修正的校正子多项式:
T(x)=Γ(x)S(x)modxM
-通过利用伯利坎普-马赛或欧几里得算法求解关键方程:
Λ(x)T(x)=Ω(x)modxM
-计算Forney多项式:
Ψ(x)=Λ(x)Γ(x)
-利用Forney方程计算错误和疑符的大小。
3.根据权利要求2所述的方法,其中,利用输入数据码元νN-1,...,ν1,ν0动态地进行疑符多项式和修正校正子多项式的计算。
4.根据前面权利要求1、2或3的任何一项所述的方法,其中,通过叠代更新系数Si,i=0,1,...,M-1以如下的形式计算校正子多项式,
从而,在新码元νn正在到达的每个码元时钟j上,计算位置n的幂αn和以如下方式更新系数:
Si,j=Si,j-1+νnαin,i=0,1,...,M-1 where Si,-1=0.
5.根据前面权利要求1到4的任何一项所述的方法,其中,通过叠代更新如下多项式,动态计算疑符多项式:
从而,每当新疑符νn出现的时候j进行更新,计算疑符位置n的幂αn,和以如下方式更新多项式:
Гj(x)=Гj-1(x)·(1-αnx)=(Г0,j-1+Гl,j-1x+...+Гp,j-1xp)(1-αnx)。
6.根据前面权利要求1到5的任何一项所述的方法,其中通过更新
计算修正的校正子多项式。
7.根据前面权利要求1到6的任何一项所述的方法,修正的校正子多项式的动态计算是通过如下步骤进行:
-预置多项式Γ-1(x)=1;T-1(x)=0;
-在每个码元时钟上获取一个码元νn;
-在第一系统时钟上计算:
Г*(x)=Гj-1(x)
-确定νn是否是疑符;
-如果是:在码元时钟内的第二系统时钟上计算:
Tj(x)=T*(x)(1-αnx)
Гj(x)=Гj-1(x)(1-αnx)
-如果不是:利用
Tj(x)=T*(x)
Γj(x)=Γ*(x)。
8.根据前面权利要求1到7的任何一项所述的方法,以下列形式计算修正的校正子多项式:
Tn(x)=Tn-1(x)(1-αnx)+νnΓn-1(x),其中Γ-1(x)=1
9.根据前面权利要求1到8的任何一项所述的方法,修正的校正子多项式是通过如下步骤动态计算的:
-预置多项式Γ-1(x)=1;T-1(x)=0;
-在每个码元时钟上获取一个码元νn;
-确定νn是否是疑符;
-如果是:计算:
Tj(x)=Tj-1(x)(1-αnx)+νnΓj-1(x)
Γj(x)=Γj-1(x)(1-αnx);
-如果不是:计算
Γj(x)=Γj-1(x)。
10.一种诸如数字存储媒体之类的计算机程序产品,包含软判定解码里德-索洛蒙码的程序模块,所述程序模块适合于动态计算校正子多项式、疑符多项式和修正的校正子多项式。
11.一种里德-索洛蒙码字解码器,包括动态计算校正子多项式、疑符多项式和修正的校正子多项式的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02010430 | 2002-05-08 | ||
EP02010430.3 | 2002-05-08 | ||
PCT/EP2003/004689 WO2003096546A2 (en) | 2002-05-08 | 2003-05-06 | A method of soft-decision decoding of reed-solomon codes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1653699A true CN1653699A (zh) | 2005-08-10 |
CN1653699B CN1653699B (zh) | 2011-06-15 |
Family
ID=29414677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN038104032A Expired - Fee Related CN1653699B (zh) | 2002-05-08 | 2003-05-06 | 软判定解码里德-索洛蒙码的方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7353449B2 (zh) |
EP (1) | EP1502356B1 (zh) |
JP (1) | JP4134029B2 (zh) |
KR (1) | KR100970223B1 (zh) |
CN (1) | CN1653699B (zh) |
AU (1) | AU2003239834A1 (zh) |
DE (1) | DE60309857T2 (zh) |
WO (1) | WO2003096546A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834617A (zh) * | 2010-06-01 | 2010-09-15 | 福建新大陆电脑股份有限公司 | 一种rs纠错码解码器 |
CN103986475A (zh) * | 2013-02-08 | 2014-08-13 | 阿尔特拉公司 | 里德-所罗门伞型代码的并行分解 |
CN115906898A (zh) * | 2023-02-23 | 2023-04-04 | 青岛创新奇智科技集团股份有限公司 | DataMatrix码的解码方法及装置 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7328395B1 (en) * | 2004-04-13 | 2008-02-05 | Marvell International Ltd. | Iterative Reed-Solomon error-correction decoding |
US7793195B1 (en) * | 2006-05-11 | 2010-09-07 | Link—A—Media Devices Corporation | Incremental generation of polynomials for decoding reed-solomon codes |
US8171368B1 (en) * | 2007-02-16 | 2012-05-01 | Link—A—Media Devices Corporation | Probabilistic transition rule for two-level decoding of reed-solomon codes |
US8286060B2 (en) * | 2008-07-30 | 2012-10-09 | Lsi Corporation | Scheme for erasure locator polynomial calculation in error-and-erasure decoder |
US8418041B2 (en) | 2008-12-03 | 2013-04-09 | Electronics And Telecommunications Research Institute | MPE-FEC RS decoder and decoding method thereof |
RU2009116361A (ru) * | 2009-04-30 | 2010-11-10 | ЭлЭсАй Корпорейшн (US) | Декодер кодов рида-соломона с мягким решением на основе декодера кодов рида-соломона с исправлением ошибок и стираний |
US8365053B2 (en) * | 2009-05-27 | 2013-01-29 | International Business Machines Corporation | Encoding and decoding data using store and exclusive or operations |
US8473826B1 (en) | 2009-08-12 | 2013-06-25 | The United States Of America As Represented By The Secretary Of The Navy | Hybrid soft decision hard decision reed solomon decoding |
US8296634B2 (en) * | 2010-02-27 | 2012-10-23 | I Shou University | Error correction decoder, error correction value generator, and error correction system |
CN102655443B (zh) * | 2011-03-04 | 2016-11-02 | 上海华虹集成电路有限责任公司 | 修正欧几里德算法的部分并行实现装置 |
US10608676B2 (en) * | 2017-06-27 | 2020-03-31 | Intel Corporation | Bit-alignment testing for obtaining FEC code lock |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4868828A (en) * | 1987-10-05 | 1989-09-19 | California Institute Of Technology | Architecture for time or transform domain decoding of reed-solomon codes |
US5280488A (en) * | 1990-11-08 | 1994-01-18 | Neal Glover | Reed-Solomon code system employing k-bit serial techniques for encoding and burst error trapping |
US5537426A (en) | 1992-05-29 | 1996-07-16 | Goldstar Co., Ltd. | Operation apparatus for deriving erasure position Γ(x) and Forney syndrome T(x) polynomials of a Galois field employing a single multiplier |
US5379305A (en) * | 1992-07-20 | 1995-01-03 | Digital Equipment Corporation | Error correction system with selectable error correction capabilities |
EP0620654B1 (en) | 1993-03-31 | 1998-11-18 | Kabushiki Kaisha Toshiba | Circuit for performing the Euclidian algorithm in decoding of arithmetical codes |
KR960032208A (ko) * | 1995-02-07 | 1996-09-17 | 구자홍 | 리드-솔로몬 디코더 |
US5715262A (en) * | 1995-07-12 | 1998-02-03 | Lsi Logic Corporation | Errors and erasures correcting reed-solomon decoder |
US6511280B1 (en) * | 1996-05-21 | 2003-01-28 | Motorola, Inc. | Adaptive Reed-Solomon decoder and methods thereof |
FR2751810B1 (fr) | 1996-07-23 | 1998-10-23 | Sgs Thomson Microelectronics | Systeme de correction d'erreurs dans des trames de donnees ayant des codes de parite horizontaux et verticaux |
KR100258951B1 (ko) | 1997-09-25 | 2000-06-15 | 윤종용 | 리드-솔로몬(rs) 복호기와 그 복호방법 |
US5991911A (en) | 1997-11-14 | 1999-11-23 | Cirrus Logic, Inc. | Concurrent generation of ECC error syndromes and CRC validation syndromes in a DVD storage device |
FR2776115B1 (fr) | 1998-03-13 | 2000-07-21 | Thomson Multimedia Sa | Dispositif de correction d'erreurs et lecteur de disque optique comportant un tel dispositif |
US6449746B1 (en) * | 1998-08-17 | 2002-09-10 | T. K. Truong | Decoding method for correcting both erasures and errors of reed-solomon codes |
US6347389B1 (en) * | 1999-03-23 | 2002-02-12 | Storage Technology Corporation | Pipelined high speed reed-solomon error/erasure decoder |
KR100611956B1 (ko) * | 1999-08-19 | 2006-08-11 | 삼성전자주식회사 | 에러 정정 방법과 장치 |
EP1370003A1 (en) * | 2002-06-07 | 2003-12-10 | Deutsche Thomson-Brandt Gmbh | Reed-Solomon Decoder |
-
2003
- 2003-05-06 KR KR1020047017704A patent/KR100970223B1/ko not_active IP Right Cessation
- 2003-05-06 WO PCT/EP2003/004689 patent/WO2003096546A2/en active IP Right Grant
- 2003-05-06 JP JP2004504393A patent/JP4134029B2/ja not_active Expired - Fee Related
- 2003-05-06 EP EP03732314A patent/EP1502356B1/en not_active Expired - Lifetime
- 2003-05-06 US US10/513,215 patent/US7353449B2/en not_active Expired - Fee Related
- 2003-05-06 AU AU2003239834A patent/AU2003239834A1/en not_active Abandoned
- 2003-05-06 DE DE60309857T patent/DE60309857T2/de not_active Expired - Lifetime
- 2003-05-06 CN CN038104032A patent/CN1653699B/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834617A (zh) * | 2010-06-01 | 2010-09-15 | 福建新大陆电脑股份有限公司 | 一种rs纠错码解码器 |
CN101834617B (zh) * | 2010-06-01 | 2013-03-27 | 福建新大陆电脑股份有限公司 | 一种rs纠错码解码器 |
CN103986475A (zh) * | 2013-02-08 | 2014-08-13 | 阿尔特拉公司 | 里德-所罗门伞型代码的并行分解 |
CN103986475B (zh) * | 2013-02-08 | 2018-12-28 | 阿尔特拉公司 | 里德-所罗门伞型代码的并行分解 |
CN115906898A (zh) * | 2023-02-23 | 2023-04-04 | 青岛创新奇智科技集团股份有限公司 | DataMatrix码的解码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2003096546A2 (en) | 2003-11-20 |
DE60309857D1 (de) | 2007-01-04 |
KR20040104702A (ko) | 2004-12-10 |
EP1502356B1 (en) | 2006-11-22 |
US7353449B2 (en) | 2008-04-01 |
AU2003239834A1 (en) | 2003-11-11 |
CN1653699B (zh) | 2011-06-15 |
JP2005525040A (ja) | 2005-08-18 |
DE60309857T2 (de) | 2007-04-19 |
US20050166126A1 (en) | 2005-07-28 |
KR100970223B1 (ko) | 2010-07-16 |
AU2003239834A8 (en) | 2003-11-11 |
WO2003096546A3 (en) | 2004-02-05 |
JP4134029B2 (ja) | 2008-08-13 |
EP1502356A2 (en) | 2005-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1653699A (zh) | 软判定解码里德-索洛蒙码的方法 | |
CN1153354C (zh) | 纠错编码器、纠错解码器和具有纠错码的数据传输系统 | |
CN1164039C (zh) | 里德-所罗门编码装置 | |
CN1838542A (zh) | 解码设备和方法以及程序 | |
CN1630204A (zh) | 具有矩阵转换技术的循环冗余码计算方法及系统 | |
CN1055586C (zh) | 纠错译码器和纠错译码方法 | |
CN1639985A (zh) | Ldpc码用检查矩阵生成方法及检查矩阵生成装置 | |
CN1836394A (zh) | 在移动通信系统中编码/解码块低密度奇偶校验码的装置和方法 | |
CN1411630A (zh) | 用于生成循环余数核对代码以及生成其他基于余数的编码的方法、设备和产品 | |
CN101047388A (zh) | 纠错装置 | |
CN1305221C (zh) | 迭代链接码解码电路以及使用该电路的编码/解码系统 | |
CN1608347A (zh) | 低密度奇偶校验码用检查矩阵生成方法 | |
CN1692557A (zh) | 编码设备、编码方法、编码程序、解码设备、解码方法、和解码程序 | |
CN1608244A (zh) | 伽罗瓦域乘法/乘法一加法乘法累加 | |
CN1685369A (zh) | 视频编码的低复杂性和统一标准的变换 | |
CN1848097A (zh) | 存储器地址生成装置以及具有它的处理器、存储器地址生成方法 | |
CN1659782A (zh) | 自适应多级维纳滤波器 | |
CN101064591A (zh) | 低密度奇偶校验码的译码方法及其校验节点更新电路 | |
CN1286275C (zh) | 纠错装置 | |
CN1390391A (zh) | 并行涡轮编码器实施方案 | |
CN1160726C (zh) | 纠错装置和包含该装置的光盘阅读器 | |
CN1318905A (zh) | 测链搜索装置 | |
CN1968024A (zh) | 一种卷积码译码方法 | |
CN1841982A (zh) | 一种高速译码芯片 | |
CN1154238C (zh) | 交织地址生成装置及交织地址生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110615 Termination date: 20170506 |
|
CF01 | Termination of patent right due to non-payment of annual fee |