CN1176714A - 用于三错校正和四错校正的改进系统 - Google Patents
用于三错校正和四错校正的改进系统 Download PDFInfo
- Publication number
- CN1176714A CN1176714A CN96192220A CN96192220A CN1176714A CN 1176714 A CN1176714 A CN 1176714A CN 96192220 A CN96192220 A CN 96192220A CN 96192220 A CN96192220 A CN 96192220A CN 1176714 A CN1176714 A CN 1176714A
- Authority
- CN
- China
- Prior art keywords
- sigma
- equation
- root
- theta
- error
- 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.)
- Pending
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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Error Detection And Correction (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
通过将四次错误定位多项式最终变换为两个二次方程,查找这些方程的解,从这些解中确定错误定位多项式的根,系统确定GF(22m)中四错的错误位置。系统首先将如下形式的错误定位多项式:σ(x)=σ4x4+σ3x3σ2x2+σ1x+σ0 [1],变换为:θ(y)=y4+θ2y2+θiy+θ0 [2],其中θi为错误定位多项式的各项系数的组合。因此,系统得到y3项的系数为零的方程。然后系统将θ(y)因式分解为θ(y)=(y2+t*y+u)*(y2+v*y+w) [3]其中“*”表示乘法。通过使θ(y)的两个表达式的系数相等,并首先求出变量t(等于v),然后再求出变量w和u,系统确定值t、u、v和w。一旦确定了这些变量,系统就求解两个二次方程,每个二次方程对应方程3的一个因子。根据这些解,系统确定与四次错误定位多项式有关的四个错误位置。
Description
本发明一般涉及数据处理系统,具体涉及采用错误校正码进行译码并且校正数据中错误的系统。
通常,存储在诸如磁盘等磁性介质上的数据是以编码形式存储的,从而能够校正所存储数据中的错误。例如,可能由于内部符号干扰、磁盘缺陷、噪声等引起错误。随着磁盘上存储数据密度的增加,可能会出现更多的错误,并且要求系统校正更多的错误。对于系统处理数据的总体速度而言,系统校正错误的速度是很重要的。
在记录之前,采用错误校正码(ECC)编码多位数据符号。当从磁盘检索数据符号并进行解调时,采用ECC(正如其名字所示)校正错误数据。
具体而言,在将k个数据符号串写到磁盘之前,采用一个(n,k)ECC进行数学编码构成一个n-k ECC符号。然后将该ECC符号添加到数据串尾构成一个n-符号错误校正码字,随后将该码字写到,即存储到磁盘。当从该磁盘读取数据时,检索包含数据符号和ECC符号的编码字,并进行数学译码。在译码期间,检测数据中的错误,若可能,则经过ECC符号处理校正[关于译码的详细说明请参见,Peterson和Weldon著,错误校正码,第二版,MIT出版社,1972]。
通常为了校正数据符号串中的多个错误,系统采用具有以下性质的ECC,该ECC能够有效利用称为有限域的符号集的各种数学特性。有限域表示为“GF(Pm)”,其中,“P”为一个素数,“m”为该域上每个元素或符号中的数字数(以“P”为基)。通常在数字计算机和磁盘驱动器应用中,P的值为2,因此,m为每个符号中的位数。通常与有限域一起使用的ECC为Reed Solomon码或BCH码。
在译码Reed-Solomon码或BCH码的错误码字中,必须有四个主要步骤。第一,根据ECC符号的处理结果,确定错误症状。第二,采用该错误症状,系统确定一错误定位多项式,该多项式的次数为错误数。第三,系统查找该错误定位多项式的根,并且从每个根中确定码字中相关错误的位置。最后,系统查找错误位置的错误值。在诸如计算机等的二进制系统中,对于每个错误位置而言,只可能有一个错误值,因此,确定错误值的步骤是非常明显的。
在错误校正处理中,确定错误症状和查找错误位置是最费时的。本发明减少了错误校正系统查找三错位置或四错位置所需的时间。其中包括查找三次和四次错误定位多项式的根。
在现有系统中,通过试探或者矩阵运算或查找表确定四次多项式的根。将每个可能值(即,与码字位置有关的合适的GF(P2m)上的每个元素)代入到该多项式,并计算该多项式的值来运用试探法。对某一给定值而言,如果该多项式等于零,则该值便是一个根。通过将下一个可能值代入到该多项式,并决定该值是否是一个根,系统继续进行试探处理;依此类推,直至试探了所有可能值,或者确定了四个根。试探处理(其优化形式称为Chien搜索)是很费时的。另外,由于码字中的错误位置不同,所以不能预测所需时间。
矩阵运算和查找表方法包括将具有如下形式的一般四次多项式:
σ4x4+σ3x3+σ2x2+σ1x+σ0变换为如下形式:
x4+x2+ax+b.
如果使用查找表,则对每组可能的a和b值,该表均包含一组解。现今使用的ECC通常超过GF(28),所以,该表具有216个入口,每个入口为32位,即4个8-比特元素。因此,该表占据大量存储空间,并且需要相对复杂的寻址模式。
采用矩阵运算方法的系统,通过确定f(α),f(α1),f(α2) f(αm-1)生成一个m×m的矩阵,其中f(x)=x4+x2+ax+b。然后,系统处理该矩阵以确定矩阵扩张空间的零空间。随后从零空间的扩张向量中获得多项式的根。[其详细说明请参见,E.R.Berlekamp著,代数编码理论,McGraw Hill图书公司,1968]。以上方法需要逐位处理一个m×m矩阵,并且通常需要大量处理操作以变换该矩阵。因此,该方法是费时的和计算密集的。
这里所述的发明系统减少了系统查找四个错误位置所需的时间,其中包括确定四次多项式的根。该系统利用了众所周知的确定二次多项式的根的方法,如Berlekamp的代数编码理论所述。另外,该系统利用了确定三次多项式的根的方法,如Van der Horst和Berger在三错校正二进制BCH编码的完全译码中所述,IEEE信息论论文集,Vol.IT-22,pp.138-147,1976。
根据Van der Horst和Berger的学说,查找三次多项式的根需要确定GF(22m)上有限域元素的立方根。如后面所述,我已经开发了用于快速和简便查找立方根的、具有创造性的电路。
本发明是一个确定四错错误位置的系统,通过将四次错误定位多项式最终变换为两个二次方程,查找这些方程的解,从这些解中确定错误定位多项式的根。
具体而言,系统首先将如下四次多项式:
σ(x)=σ4x4+σ3x3σ2x2+σ1x+σ0 [1]变换为:
θ(y)=y4+θ2y2+θ1y+θ0 [2]其中θi为错误定位多项式的各项系数的组合。请注意y3项的系数为零。然后系统将θ(y)因式分解为:
θ(y)=(y2+t*y+u)*(y2+v*y+w), [3]其中“*”表示乘法,将以上表达式展开为:
θ(y)=y4+(t+v)y3+(t*v+u+w)y2+(t*w+v*u)y+u*w,[4]其中t、u、v和w为未知数。通过使表达式2和表达式3的系数相等,系统确定:
t+v=0
t*v+u*w=t2+u*w=θ2 [5]
t*w+u*v=t+w+t*u=t*(w+u)=θ1
u*w=θ0然后,系统生成以下方程,其中t为唯一未知数:
t3+θ2t+θ1=0 [6]采用Van der Horst和Berger的所述方法,能够解以上三次方程,以下详细说明。
一旦确定了方程6的一个根t0,就将该根代入到θ1的表达式,使用该表达式和θ0表达式构成一个二次方程,其中u和w为其根:
p2+(θ2+t0 2)p+θ0=0 [7]
然后,系统利用求解二次多项式的Berlekamp方法,查找方程7的根p0和p1。将根p0和p1(即u和w)分别代入到多项式3,并且将每项设置为零,生成两个二次方程:
y2+t0*y+p0=0
[8]
y2+t0*y+p1=0利用Berlekamp方法确定的方程8的根,也是θ(y)的根,因此,可以直接利用它们得出错误定位多项式的根。
以上直接解法要比查找四个根的现有试探法或者矩阵运算法快。另外,该方法并不需要大型查找表的存储和入口,而其他现有系统却需要大型查找表的存储和入口。
为了全面理解本发明的本质和目的,应与附图一起考虑详细说明,附图为:
图1是根据本发明构造的译码器的功能框图;
图2是用于确定GF(22m)元素立方根的发明电路的功能框图;
图3是图2中电路操作的流程图;
图4是用于GF(28)的图2所示的电路;
图5是图1所示的译码器在确定四个错误位置时,译码器执行操作的流程图。
这里所述的数学运算加、减、乘、除均为GF(22m)上的有限域运算。
现在参照图1,译码器10包括症状生成器12,该症状生成器以常规方式操作以生成有关症状集。若所有症状均为零,则症状生成器12认定该码字正确。反之,症状生成器就将该症状发送到错误定位多项式生成器14,后者从该症状中以常规方式生成一次数为“e”的错误定位多项式,其中e为码字中的错误数。然后,错误定位多项式生成器14将错误定位多项式发送到错误定位处理器16,后者选择并且实现适宜的处理,以便确定错误定位多项式的根,亦即错误位置。图1用不同的方框(处理器)说明了以上处理,换句话说,处理器18用于确定一个错误位置,处理器20用于确定二个错误位置,处理器22用于确定三个错误位置,处理器24用于确定四个错误位置,处理器26用于确定四个以上错误位置。
两错、三错和四错处理器20、22和24是互连的。如下所述,通过将相应的错误定位多项式最终变换为相关二次方程组,错误定位处理器16减少了系统确定三个和四个错误位置所需的时间。为此,四错处理器26同时利用三错处理器24和两错处理器22。同样,三错处理器24利用两错处理器22。尽管以上所述处理发生在独立的、专用处理器中,也可以用一个或多个多能处理器实现以上处理。
错误定位处理器16以常规方式确定一个错误和两个错误位置。该错误定位处理器以所述Van der Horst和Berger方法确定三个错误位置。然而,该处理器利用发明电路完成所需的、确定有限域元素立方根的步骤。以下参照图2和图3说明本电路和确定三个错误位置的方法。
参照图4,错误定位处理器16采用下述特定处理确定四个错误位置。在说明该处理之前,首先在分别在A节和B节说明两个错误和三个错误位置处理。A.确定两个错误位置
如果码字包含两个错误,则错误定位多项式具有如下形式:
σ(x)=σ2x2+σ1x+σ0x [1]为了查找以上多项式的根,系统设置以上多项式等于零:
σ(x)=σ2x2+σ1x+σ0x=0 [2]求解以上方程,其解为x0和x1。
为了解方程2,错误定位处理器16将以上方程变换为:
y2+y+C=0 [3]这是通过作以下变换实现的: 从而方程2变为 然后,除以
,系统得到方程: 因此,方程3中的C为
要使方程5在GF(22m)内有解,则等式两边的“迹”(trace)必须相等。迹定义为: Trace(0)等于零,因此,要在有限域内存在解,则必须
Trace[y2+y+C]=0 [7]各项之和的迹等于各项迹之和。在GF(22m)内,Trace(y2)=Trace(y)并且其和(采用有限域加法)为零。因此,如果Trace(C)等于零,则方程5在GF(22m)内有解。
方程5的通解是2m-1个“基解”的线性组合。当方程3中的C为有限域的“基元”C1、C2...C2m-1之一时,其解为一基解。如果域上的某些元素能够线性组合得到该域上所有其他元素,则这些元素为基元。例如,该元素可为以下2m-1个元素,每个元素包括2m-1个0和唯一一个1,即,αi=000...1至αj=10000。在该域上,C=00110...0是基元00100...0和00010...0的线性组合。方程5的通解是对应基元(其和为
)基解的线性组合。
在由生成多项式x4+x+1定义的GF(24)内,对每个元素αi,如果其迹为零,则0为其最高有效位。因此,在该域内,有意义的C为基元α0=0001、α1=0010和α2=0100的组合。相应的基解为:(α5)2+α5=α0 对于y0=α5(α9)2+α9=α1 对于y0=α9(α3)2+α3=α2 对于y0=α3另一组基解为:(α10)2+α10=α0 对于y1=α10(α7)2+α7=α1 对于y1=α7(α14)2+α14=α2 对于y1=α14例如,在该有限域内,对于C等于α8=0101,按以下形式分解C以确定方程3的解:
C=α0+α2=0001+0100并累加相应的基解组,如:
y0=α5+α3=α11得到第一个根,并按如下方式确定第二个根:
y1=y0+α0然后,以如下方式确定二次错误定位多项式的根: B.确定三个错误位置
与三错有关的错误定位多项式具有如下形式:
σ(x)=σ3x3+σ2x2+σ1x+σ0 [8]为了查找其根,系统设置以上多项式等于零:
σ(x)=σ3x3+σ2x2+σ1x+σ0=0 [9]并将以上方程变换为:
y3+ay+b=0为此,系统作如下变量替换: 方程9变为 系统然后展开方程10的各项: 合并同类项得: 在GF(P2m)内,相同项之和为零,因此,以上方程变为: 系统将方程12除以σ3,得到如下方程:y3+ay+b=0 [13]其中,
。如果a≠0,系统作变量替换: 方程13变为: 随后展开方程15,合并同类项得: 系统将方程16乘以z3得:(z3)2+bz3+a=0, [17]该方程是一个以z3为变量的二次方程。采用A节讨论的确定二个错误位置的方法能够求解方程17。
z2=z1+z0然后,系统将以上解代入到y的表达式,并将所得的代入结果分别加上
从而得到三次错误定位多项式的根x0、x1和x2。
如果a=0,则方程13的解为y=b1/3。为了求解该立方根,系统采用了图2所示的电路。一旦确定了该立方根,系统就按如下方式确定y1和y2:
y2=y1+y0。并从以上值确定根x0、x1和x2。
电路200利用了等式x2-1=(x-1)*(x+1)。x等于2m,则该等式变为22m-1=(2m-1)*(2m+1)。因式2m-1或2m+1两者之一能被3整除,但两者不能同时被3整除。例如,对于m=4,因式2m-1能被3整除,而2m+1却不能。同时,电路200还利用了事实
。
采用电路200,在乘法器202中,将有限域元素α3k自乘到以下次幂,即与等式中不能整除3的因式具有相同的次幂(步骤300)。对于m=4而言,自乘到2m+1次幂。然后,利用查找表查找乘积
的立方根
(步骤302)。由于该查找表只有可能乘积
的立方根入口,所以该表比较小。例如,对于GF(28),该表仅有5个入口。
同时,乘法器202还将元素α3k自乘到
次幂(步骤304),并在GF乘法器206中将该结果乘以从查找表204中得到的立方根(步骤306): 在步骤308,系统将该积自乘到
次幂,从而得到立方根αk。
图4说明了用于GF(28)(即m=4)的电路200。为了将α3k自乘到2m+1次幂,在GF乘法器201中,电路首先将该元素自乘到2m(即24=16)次幂。然后,在GF乘法器203中,将乘积α3k(16)=α48k乘以元素α3k,得到乘积 。利用该乘积进入5元素查找表204:α0 →α0
α51→α17
α102 →α34
α153 →α51
α204→α68得到α17k。
采用GF乘法器207和209,将α3k自乘到
即
次幂。GF乘法器207首先将该元素自乘到22(即4)次幂,然后,GF乘法器209将乘积α3k(4)=α12k乘以α3k得到α15k。
随后,GF乘法器206将两个乘积相乘得α17*α15=α32k。最后,在乘法器210中,将以上结果自乘到
即
得到立方根αk。
对每个作用到电路200的元素,电路均得到一个结果。但是,对有限域上的每个元素,不一定都有立方根。因此,系统必须测试该结果(步骤310),以决定该结果是否为实际立方根。系统将该结果自乘两次,并确定乘积是否等于作用到该电路上的元素值(步骤312)。若相等,则该立方根是精确的,并能够确定错误位置(步骤314)。但是,若该乘积不等于该元素值,则系统确定不能找到错误位置(步骤316)。随后,系统结束错误位置的查找处理。C.确定四个错误位置
与四错有关的错误定位多项式具有如下形式:
σ(x)=σ4x4+σ3x3+σ2x2+σ1x+σ0 [18]为了查找其根,系统设置以上多项式等于零:
σ(x)=σ4x4+σ3x3+σ2x2+σ1x+σ0=0 [19]并将以上方程变为如下形式:
y4+dy2+ey+h=0具体而言,参照图5,系统在步骤500作以下变量替换:
x=y+r,其中
方程19变为:
γ(y)=σ4(y+r)4+σ3(y+r)3+σ2(y+r)2+σ1(y+r)+σ0=0 [20]在步骤502,系统将以上各项展开得:
γ(y)=σ4(y4+r4)+σ3(y3+y2r+yr2+r3)+σ2(y2+r2)+σ1(y+r)+σ0=0合并同类项得:γ(y)=σ4y4+σ3y3+(σ3r+σ2)y2+(σ3r2+σ1)y+σ4r4+σ3r3+σ2r2+σ1r+σ0=0 [21]然后,在步骤504,系统代入
取代r,并且一次项的系数为0,这是由于 因此,方程21变为σ4y4+σ3y3+[(σ3*σ1)1/2+σ2]y2+s, [22]其中,“s”为方程21的常数项。
系统并不直接求解以上方程,而是在步骤506查找以下方程的根 因此,系统求解 即θθ(y)=y4+θ2y2+θ1y+θ0=0 [25]其中 在步骤508,系统首先将方程25因式分解为:
θ(y)=(y2+t*y+u)*(y2+v*y+w)=0. [26]以上假设方程25能够分解,若错误定位多项式在GF(22m)内有解,则以上假设是正确的。
系统将方程26的各项展开得:
θ(y)=y4+(t+v)y3+(t*v+u+w)y2+(t*w+v*u)y+u*w=0 [27]并且使以上方程的系数等于方程25的系数(步骤510):
t+v=0
t*v+u+w=θ2
t*w+v*u=θ1
u*w=θ0因此,
t=v
t2+(u+w)=θ2
t*(w+u)=θ1
u*w=θ0
然后,在步骤512,系统确定一个以“t”为唯一未知数的方程。请回忆θ2、θ1和θ0是已知的,这是因为它们是错误定位多项式系数的组合。因此,令 代入到的表达式θ2并乘以t,系统生成方程:
t3+θ2t+θ1=0 [28]
利用B节所述的操作能够求解以上三次多项式(步骤514)。具体而言,系统作变量替换: 其中a=θ2方程28变为 展开并合并同类项 乘以z3,系统得到方程(z3)2+θ1z3+a3=0,该方程是一个以z3为变量的二次方程。
系统利用A节的方法查找方程29的根。
为此,系统作变量替换:
z3=θ1g [30]二次方程变为:
θ1 2g2+θ1 2g+a3=0 [31]即 如果
则方程31在GF(22m)内有解。假设该解存在,则通过将 分解为基元的线性组合,并使基元与相应的基解关联,可以确定方程的解。
一旦确定了方程的解,系统就将某一解(如g0)代入到z3的表达式30,并使用图2的电路确定z3的立方根z0。然后,系统从以下表达式中,用z0取代z以便确定t0:
为了确定w和u,在步骤516,系统利用值t0和表达式:
t2+(u+w)=θ2以及
u*w=θ0得到二次方程33,其中u和w为其根:
(p+u)*(p+w)=
p2+(u+w)*p+(u*w)=
p2+(θ2+t0 2)*p+θ0=0, [33]然后,系统采用A节的方法确定方程33的解。在步骤518,系统将解p0和p1代入到方程26的因式中,得到二次方程组:
y2+t0*y+p0=0和 [34]
y2+t0*y+p1=0在步骤520,系统采用A节的方法求解根y0、y1以及y2、y3。方程33的根y0、y1、y2和y3为θ(y)的根,而1/y0、1/y1、1/y2和1/y3为γ(y)的根。然后,在步骤522,系统将1/y0、1/y1、1/y2和1/y3代入到表达式x=y+r,以便确定四次错误定位多项式的根。最后,在步骤524,系统使错误定位多项式的根与码字中的位置相关联。
直接确定错误定位多项式的根的方法比进行Chien搜索或者进行m×m矩阵运算都要快。另外,与其他现有系统不同,本系统也不需要大型查找表。
Claims (7)
1.一种确定Reed-Solomon或BCH编码码字中四个错误位置的方法,该方法包括以下步骤:
a.计算四次错误定位多项式
σ(x)=σ4x4+σ3x3+σ2x2+σ1x+σ0
得到多项式:
θθ(y)=y4+θ2y2+θ1y+θ2,
b.将以上多项式因式分解为θ(y)=(y2+t*y+u)*(y2+v*y+w);
c.使步骤a和步骤b中多项式的系数相等
t+v=0
t*v+u+w=θ2
t*w+v*u=θ1
u*w=θ0;
d.以t为唯一未知数确定方程:
t3+θ2t+θ1=0
e.求出其根t0;
f.以u和w为根,构造二次方程:
p2+(θ2+t0 2)p+θ0=0
g.求出其根p0和p1;
h.将该根代入到θ(y)并确定二次方程对的根:
y2+t0*y+p1=0
y2+t0*y+p1=0;
i.使二次方程对的根y0、y1以及y2、y3与四次错误定位多项式的根关联;
j.使四次错误定位多项式的根与码字中的位置关联。
2.权利要求1的方法,其中求解方程t3+θ2t+θ1=0的根的步骤包括:
i.作变量替换:
其中a=θ2,得到方程
ii.将步骤i的方程乘以z3,得到以z3为变量的二次方程:
(z3)2+θ1z3+a3=0;
iii.解出步骤ii的二次方程中的z3;
iv.确定z3的立方根z0;
v.将值z0代入到表达式
。
3.权利要求1的方法,其中将错误定位多项式变换为θ(y)包括:
i.作以下变量替换,x=y+r,其中
展开并合并同类项得到以下方程:γ(y)=σ4y4+σ3y3+(σ3r+σ2)y2+(σ3r2+σ1)y+σ4r4+σ3r3+σ2r2+σ1r+σ0=0;
ii.将
代入到步骤i的方程中,得到方程:
γ(y)=σ4y4+σ3y3+[(σ3*σ1)1/2+σ2]y2+s
其中,s为步骤i的方程中的常数项;
iii.求解以下方程的根 展开为
θθ(y)=y4+θ2y2+θ1y+θ2=0其中
4.一种确定Reed-Solomon或BCH编码码字中四个错误位置的方法,该方法包括以下步骤:
a.计算四次错误定位多项式
σ(x)=σ4x4+σ3x3+σ2x2+σ1x1+σ0
得到多项式:
θθ(y)=y4+θ2y2+θ1y+θ2;
b.将以上多项式因式分解为θ(y)=(y2+t*y+u)*(y2+v*y+w);
c.确定值t、u、v和w;
d.将值t、u、v和w代入到θ(y)中,并确定二次方程对的根:
y2+t*y+u=0
y2+v*y+w=0;
e.使二次方程对的根y0、y1以及y2、y3与四次错误定位多项式的根关联;
f.使四次错误定位多项式的根与码字中的位置关联。
5.权利要求4的方法,其中确定值t、u、v和w的步骤包括以下步骤:
i.使步骤a和步骤b中多项式的系数相等
t+v=0
t*v+u+w=θ2
t*w+v*u=θ1
u*w=θ0;
ii.以t为唯一未知数确定方程:
t3+θ2t+θ1=0
iii.求出其根t0;
iv.以u和w为根,构造二次方程:
p2+(θ2+t0 2)p+θ0=0
v.求出其根p0和p1,即为u和w。
6.权利要求5的方法,其中求解方程t3+θ2t+θ1=0的根的步骤包括:
a.作变量替换:
其中a=θ2,得到方程
b.将步骤a的方程乘以z3,得到以z3为变量的二次方程:
(z3)2+θ1z3+a3=0;
c.解步骤b的二次方程,求出z3;
d.确定z3的立方根z0;
e.将值z0代入到表达式
。
7.权利要求4的方法,其中将错误定位多项式变换为θ(y)包括:
i.作以下变量替换x=y+r,其中
展开并合并同类项得到以下方程:γ(y)=σ4y4+σ3y3+(σ3r+σ2)y2+(σ3r2+σ1)y+σ4r4+σ3r3+σ2r2+σ1r+σ0=0;
ii.将
代入到步骤i的方程中,得到方程:
γ(y)=σ4y4+σ3y3+[(σ3*σ1)1/2+σ2]y2+s,其中,s为步骤i的方程中的常数项;
iiii.求解以下方程的根: 展开为θθ(y)=y4+θ2y2+θ1y+θ2=0其中
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/580,351 | 1995-12-28 | ||
US08/580,351 US5710782A (en) | 1995-12-28 | 1995-12-28 | System for correction of three and four errors |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1176714A true CN1176714A (zh) | 1998-03-18 |
Family
ID=24320729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN96192220A Pending CN1176714A (zh) | 1995-12-28 | 1996-12-18 | 用于三错校正和四错校正的改进系统 |
Country Status (8)
Country | Link |
---|---|
US (1) | US5710782A (zh) |
EP (1) | EP0830742A4 (zh) |
JP (1) | JP3830527B2 (zh) |
KR (1) | KR19980702551A (zh) |
CN (1) | CN1176714A (zh) |
AU (2) | AU7681696A (zh) |
CA (1) | CA2213293A1 (zh) |
WO (2) | WO1997024812A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1561005B (zh) * | 2004-02-20 | 2010-12-08 | 汇智系统股份有限公司 | 快速纠双错bch码译码器 |
CN112468290A (zh) * | 2020-10-30 | 2021-03-09 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6199188B1 (en) * | 1997-10-07 | 2001-03-06 | Quantum Corporation | System for finding roots of degree three and degree four error locator polynomials over GF(2M) |
US5978956A (en) * | 1997-12-03 | 1999-11-02 | Quantum Corporation | Five-error correction system |
US6343367B1 (en) * | 1999-03-29 | 2002-01-29 | Maxtor Corporation | Error correction system for five or more errors |
US7006530B2 (en) * | 2000-12-22 | 2006-02-28 | Wi-Lan, Inc. | Method and system for adaptively obtaining bandwidth allocation requests |
US7962836B1 (en) * | 2000-01-06 | 2011-06-14 | Supertalent Electronics, Inc. | Electronic data flash card with bose, ray-chaudhuri, hocquenghem (BCH) error detection/correction |
US6671850B1 (en) | 2000-05-01 | 2003-12-30 | International Business Machines Corporation | On-the-fly algebraic error correction system and method for reducing error location search |
US7003715B1 (en) * | 2001-03-30 | 2006-02-21 | Cisco Technology, Inc. | Galois field multiply accumulator |
US7124064B1 (en) | 2001-03-30 | 2006-10-17 | Cisco Technology, Inc. | Automatic generation of hardware description language code for complex polynomial functions |
US7447982B1 (en) | 2001-03-30 | 2008-11-04 | Cisco Technology, Inc. | BCH forward error correction decoder |
US6983414B1 (en) | 2001-03-30 | 2006-01-03 | Cisco Technology, Inc. | Error insertion circuit for SONET forward error correction |
US6792569B2 (en) | 2001-04-24 | 2004-09-14 | International Business Machines Corporation | Root solver and associated method for solving finite field polynomial equations |
JP4891704B2 (ja) * | 2006-08-28 | 2012-03-07 | 株式会社東芝 | 半導体記憶装置 |
JP5259343B2 (ja) * | 2008-10-31 | 2013-08-07 | 株式会社東芝 | メモリ装置 |
US8453038B2 (en) * | 2009-06-30 | 2013-05-28 | Apple Inc. | Chien search using multiple basis representation |
US9804828B2 (en) | 2014-11-24 | 2017-10-31 | Apple Inc. | Cubic root of a galois field element |
US9473176B2 (en) | 2014-11-27 | 2016-10-18 | Apple Inc. | Implementation of log and inverse operation in a Galois Field |
DE102015118668B4 (de) | 2015-10-30 | 2020-06-04 | Infineon Technologies Ag | Fehlerkorrektur |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4099160A (en) * | 1976-07-15 | 1978-07-04 | International Business Machines Corporation | Error location apparatus and methods |
US4567594A (en) * | 1983-06-07 | 1986-01-28 | Burroughs Corporation | Reed-Solomon error detecting and correcting system employing pipelined processors |
US4839896A (en) * | 1987-02-10 | 1989-06-13 | Data Systems Technology Corp. | Fast remainder decoding for a Reed-Solomon code |
-
1995
- 1995-12-28 US US08/580,351 patent/US5710782A/en not_active Expired - Lifetime
-
1996
- 1996-11-15 AU AU76816/96A patent/AU7681696A/en not_active Abandoned
- 1996-11-15 WO PCT/US1996/018424 patent/WO1997024812A1/en active Application Filing
- 1996-12-18 CA CA002213293A patent/CA2213293A1/en not_active Abandoned
- 1996-12-18 CN CN96192220A patent/CN1176714A/zh active Pending
- 1996-12-18 EP EP96945001A patent/EP0830742A4/en not_active Withdrawn
- 1996-12-18 KR KR1019970705957A patent/KR19980702551A/ko not_active Application Discontinuation
- 1996-12-18 WO PCT/US1996/020547 patent/WO1997024813A1/en not_active Application Discontinuation
- 1996-12-18 JP JP52450797A patent/JP3830527B2/ja not_active Expired - Fee Related
- 1996-12-18 AU AU13468/97A patent/AU1346897A/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1561005B (zh) * | 2004-02-20 | 2010-12-08 | 汇智系统股份有限公司 | 快速纠双错bch码译码器 |
CN112468290A (zh) * | 2020-10-30 | 2021-03-09 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
Also Published As
Publication number | Publication date |
---|---|
AU7681696A (en) | 1997-07-28 |
EP0830742A1 (en) | 1998-03-25 |
EP0830742A4 (en) | 2003-02-05 |
AU1346897A (en) | 1997-07-28 |
JPH11501795A (ja) | 1999-02-09 |
KR19980702551A (ko) | 1998-07-15 |
WO1997024813A1 (en) | 1997-07-10 |
WO1997024812A1 (en) | 1997-07-10 |
CA2213293A1 (en) | 1997-07-10 |
US5710782A (en) | 1998-01-20 |
JP3830527B2 (ja) | 2006-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1176714A (zh) | 用于三错校正和四错校正的改进系统 | |
KR930005427B1 (ko) | 실시간 bch 에러 정정 코드 디코딩 메카니즘 | |
US6199188B1 (en) | System for finding roots of degree three and degree four error locator polynomials over GF(2M) | |
US20050138533A1 (en) | Encoding/decoding device using a reed-solomon encoder/decoder | |
CN1288542A (zh) | 用于循环纠错码的物理块地址恢复设备、系统和方法 | |
CN1467918A (zh) | 里得-索罗门解码器 | |
CN103986475A (zh) | 里德-所罗门伞型代码的并行分解 | |
CN1636324A (zh) | 纠错解码器的钱搜索单元 | |
US8739006B2 (en) | Reduced circuit implementation of encoder and syndrome generator | |
CN1176534A (zh) | 测定用在里德-索洛蒙译码器中的误差定位子多项式的装置 | |
US20040078747A1 (en) | Generalized forney algorithm circuit | |
CN1308414A (zh) | 纠错装置 | |
CN1303763C (zh) | 用于降低rs码编译码复杂度的方法 | |
Sakata et al. | Fast erasure-and-error decoding of algebraic geometry codes up to the Feng-Rao bound | |
JP2662472B2 (ja) | 誤り訂正処理用シンドローム演算回路 | |
JP3614978B2 (ja) | ガロア体の除算方法および除算装置 | |
CN1849750A (zh) | 里得-所罗门编码和解码方法 | |
US6598201B1 (en) | Error coding structure and method | |
Kurz | The ${[46, 9, 20] _2} $ code is unique | |
CN108847851B (zh) | 一种二元bch码伴随式矩阵的实现方法 | |
JPH07226687A (ja) | 誤り訂正処理装置 | |
KR20000037517A (ko) | 리드-솔로몬 디코더 회로 | |
CN1144376C (zh) | 简化的里德-索罗门译码电路及其译码方法 | |
JP2940386B2 (ja) | 誤り訂正復号装置 | |
JPH09185518A (ja) | 原始元αのべき乗生成方式及びその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C01 | Deemed withdrawal of patent application (patent law 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |