CN1167373A - 用在里德-所罗门解码器中的多项式求值器 - Google Patents
用在里德-所罗门解码器中的多项式求值器 Download PDFInfo
- Publication number
- CN1167373A CN1167373A CN96120989A CN96120989A CN1167373A CN 1167373 A CN1167373 A CN 1167373A CN 96120989 A CN96120989 A CN 96120989A CN 96120989 A CN96120989 A CN 96120989A CN 1167373 A CN1167373 A CN 1167373A
- Authority
- CN
- China
- Prior art keywords
- group
- evaluation
- adder
- evaluation item
- sequentially
- 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
- 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/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
-
- 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/1545—Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
一种在里德-所罗门解码器中使用的装置,通过在第j次迭代中将α-(N-j)代入X中来迭代地计算多项式P(X)的值,以由此提供第j个求值结果P(α-(N-j))。该装置包括:具有T个寄存器的一个FIFO缓冲器;一个根输入块;一个乘法器;一个多路复用器;一个加法块;以及一个输出块。
Description
本发明涉及用于校正出现在存储或传输数据中的差错的装置;更具体地,涉及用于计算在使用里德-所罗门(Reed-Solomon)码编码的数据中校正差错所使用的差错求值器多项式、差错定位多项式及微分多项式的值的装置。
在传输、存储或恢复数据过程中出现的噪声能进一步导致传输、存储或恢复的数据中的差错。相应地,已研究出具有纠正这种差错的能力的用于编码待传输或存储的数据的各种编码技术。
在这些编码技术中,在一组报文或信息位上附加一组校验位来构成一个码字。由编码器确定的这些校验位是用来检测与校正差错的。在这方面,编码器主要将包含报文位的位作为二进制报文多项式的系数对待并通过将报文多项式i(x)乘以一个码生成多项式g(x)或用g(x)去除i(x)而导出校验位,以由此提供码字多项式c(x)。选择码生成多项式以便将所需特性赋予它赖以操作的码字,使该码字属于纠错二进制组码的一个特定类别(见诸如S.Lin等人的“差错控制编码:基础与应用”,Prentice-Hall,1983)。
一类纠错码便是著名的BCH(Bose-Chaudhuri-Hocquenghen)码,它们包含里德-所罗门(“RS”)码。RS码的数学基础在诸如上述Lin等人的参考文献及Berlekamp的“代数编码原理”(Mc Graw-Hill,1968)中说明,后者在授予Berlekamp的美国专利4,162,480中进一步提及。
在接收或恢复一个传输或存储的码字的过程中,可能已经将某些伴随的噪声转换成了字中的错误模式。为了对付施加在RS码上的错误模式,通常采用一个四步过程。在讨论该纠错过程中,应参考由包含N个M位符号的码字构成的一个RS码,N与M为正整数(其中K个符号为信息符号而(N-K)个符号为校验符号,K为小于N的正整数)。在该情况中,c(X)成为一个(N-1)次多项式且2T等于(N-K)。作为第一纠错步骤,从接收的码字多项式r(x)(即表示接收的码字的一个(N-1)次多项式)计算校正子S0、S1…,S2T-1。将接收的码字多项式r(x)表示为rN-1XN-1+rN-2XN-2+…r1X1+r0,其中rj为码字的第(N-j)个符号。作为第二步骤,利用这些校正子计算差错定位多项式σ(X)的系数。在第三步骤中,解该差错定位多项式σ(X)以得出其根,这些根表示所接收的码字中的差错位置。具体地,如果在差错定位多项式σ(X)中的变量(X)中代入本原元素的幂α-j得出0(即α-j成为σ(X)中的一个根),便表示rj(即码字的第(N-j)个符号)中出现了差错。
作为第四步骤,利用差错位置与校正子计算差错值。校正子及差错定位多项式的系数的数学表达式在授予Berlekamp的上面引用的美国专利4,162,480中示出。
下面更详细地说明第四步骤。
首先,差错求值多项式Ω(X)可得出如下
Ω(X)=σ(X)S(X) 公式(2)其中S(X)为其系数为校正子的一个校正子多项式。
导出差错求值多项式Ω(X)之后,便可将差错值ej计算为其中σ’(X)为差错定位多项式σ(X)的一次导数;α-j为第三步骤中得出的差错定位多项式的根;而差错值ej则对应于第(N-j)个符号,它是在第三步骤中得出的差错位置。
找出差错值之后,便能通过将差错值加到对应的符号上而恢复原来的码字。
如上所述,将多项式求值用在纠错过程的各阶段中,其中对于α-j的多项式求值是指在一个给定的多项式p(x)中的变量X中代入有限域的元素α-j而言。首先在第三步骤中计算差错定位多项式σ(X)的值来找到差错位置。第四步骤中,计算差错求值多项式Ω(X)及微分多项式σ’(X)的值来确定差错值。
参见图1,其中示出了名为“里德-所罗门解码器中使用的多项式求值器”的共同拥有的共同未决中国专利申请No.__中公开的传统多项式求值器10的示范性方框图。图1中所示的求值器10在T=8时通过执行式(5B)来计算差错求值多项式Ω(X)的值。
多项式求值器10包括一个在有限域GF(2m)上运算的乘法器11、一个根输入块12、一个多路复用器(“MUX”)16、一个寄存器块18、一个加法块13及一个输出块14。
在该多项式求值器10上,式(5B)的计算是从j=0至N-1迭代进行的。一次迭代最好能在一个系统时钟周期中完成。
在开始为确定Ω(α0)进行计算过程的第0次迭代之前,用Ωi初始化包含在寄存器块18中的寄存器。为了做到这一点,通过MUX16将差错求值多项式的各系数(Ω1至Ω8)顺序地馈入寄存器块18,每一个位时钟周期一个。选择信号SEL1控制MUX16在输入端口0上提供Ωi给寄存器18供初始化。首先将第一系数Ω1馈入R1并存储在其中一个位时钟周期。将R1的内容移位至R2并存储在其中下一个位时钟周期,然后到R3,等等。最后,将R8的输出馈送到乘法器11。总之,在将一个系数馈送给乘法器11之前,在它通过寄存器移位时,将其顺序地存储在各寄存器中一个位时钟周期。
在各寄存器中填充了对应的Ωi(例如,Ω1在R8中,Ω2在R7中,等等)之后,便开始用于确定Ω(α0)的第0次迭代。
在第0次迭代的第一位时钟期间,乘法器11将1与R8提供来的Ω1相乘。为了做到这一点,从根输入块12将1馈送到乘法器11(应当指出,在第2至第N次迭代中,将α-i(i为1至8)馈送给乘法器11,以与寄存器块18提供的对应求值项相乘)。乘法器11的输出,即Ω1(或者换言之,第0组的第一求值项,第0组求值项指Ωiα0而言)被馈入到加法块13,每一位时钟周期一个。
加法块13包括一个两输入端加法器13a及一寄存器13b,其中在有限域GF(2m)上运算的加法器13a顺序地将从乘法器11提供的各求值项加到寄存器13b的内容上,而寄存器13b则存储加法器13a提供的求值项的第一至第七部分和并将部分和馈送给两输人端加法器13a,第L部分和指在式(5B)的顺序加法过程中L个求值项之和而言,L为1至7。
具体地,在接收到来自乘法器11的Ω1时,加法器13a将其加在寄存器13b的初始内容即0上。然后将第一部分和,Ω1,反馈给寄存器13b以便例如在下一位时钟的上升沿存储在其中。还将从乘法器11提供的Ω1馈送给寄存器块18,以由此例如在第一次迭代的第二位时钟的上升沿将各寄存器的内容向右移位。第二位时钟周期中寄存器的内容给出在表1中。
表1
R1 | R2 | R3 | R4 | R5 | R6 | R7 | R8 |
Ω1 | Ω8 | Ω7 | Ω6 | Ω5 | Ω4 | Ω3 | Ω2 |
在第0次迭代的第二位时钟中,乘法器11将1与与从R8提供给它的Ω2相乘。将此时乘法器11的输出即Ω2馈送给加法器13a,其中将其加到寄存器13b的内容(即Ω1)上。然后将第二部分和Ω1+Ω2反馈给寄存器13b以存储在其中。将来自乘法器11的Ω2馈送给寄存器块18,以由此在下一位时钟周期的上升沿向右移位各寄存器的内容。此时,寄存器的内容改变成如表2中所给出的。
表2
R1 | R2 | R3 | R4 | R5 | R6 | R7 | R8 |
Ω2 | Ω1 | Ω8 | Ω7 | Ω6 | Ω5 | Ω4 | Ω3 |
通过在第0次迭代的其余位时钟周期中重复上述过程便在加法块13中求出Ω1至Ω8之和。加法块13最终提供第八个部分和,即8个求值项之和(Ω1α-j+Ω2α-2j+…Ω8α-8j,此时j=0)给输出块14。在外部提供的信号RST_SUM的控制下将和,即Ω1+Ω2+…+Ω8馈送给并存储在R10中,然后馈送给加法器14b,在其中将其加在Ω0上,由此提供第0次迭代的最终求值结果,即第0次求值结果Ω(α0)。RST_SUM为通知从加法器13a提供求值结果的时间的信号。RST_SUM可以是在每次迭代结束时(相当于下一迭代开始时)变成“1”的一个信号。RST-SUM同时起为下一迭代用0来初始化寄存器13b的作用。(注意在每次迭代开始时寄存器13b的内容应为0。)
第一次迭代类似于第0次迭代,只不过在乘法器11上是用α-1而不是用1逐个地去乘来自寄存器块18的输出Ωi,以提供第一组求值项Ωiα-i给加法块13及反馈给寄存器块18。具体地,在第一位时钟周期中用α-1去乘Ω1,在第二位时钟周期中用α-2去乘Ω2,及以此类推。通过求出第一组求值项Ωiα-i之和,在第一次迭代结束时得出第一求值结果Ω(α-1)。通过重复上述过程,在N次迭代中得出j=0至N-1的Ω(α-j)。
第0次至第2次迭代的各位时钟周期的寄存器R1至R8及R9的内容示出在表3中,其中各行对应于各位时钟周期。
表3
itera-tion | R1 | R2 | … | R7 | R8 | R9 |
0th | Ω8Ω1Ω7 | Ω7Ω8Ω6 | … | Ω2Ω3Ω1 | Ω1Ω2Ω8 | 0Ω1Ω1+…+Ω7 |
1st | Ω8Ω1α-1Ω2α-2Ω7α-7 | Ω7Ω8Ω1α-1Ω6α-6 | … | Ω2Ω3Ω4Ω1α-1 | Ω1Ω2Ω3Ω8 | 0Ω1α-1Ω1α-1+Ω2α-2Ω1α-1+…+Ω7α-7 |
2nd | Ω8α-8Ω1α-2Ω2α-4Ω7α-14 | Ω7α-7Ω8α-8Ω1α-2Ω6α-12 | … | Ω2α-2Ω3α-3Ω4α-4Ω1α-2 | Ω1α-1Ω2α-2Ω3α-3Ω8α-8 | 0Ω1α-2Ω1α-2+Ω2α-4Ω1α-2+…+Ω7α-14 |
按照上述传统多项式求值器,以Ω(α0),Ω(α-1),…,Ω(α-(N-1))的次序顺序地提供求值结果,这使得首先提供具有较小的j的差错值ej。然而,接收的符号是按rN-1至r0的次序提供的。因此,为了纠正码字中的差错,首先必须将接收的符号rj存储在一个LIFO(后进先出)缓冲器中并在将其加到对应的差错值ej上之前以逆次序提供。
因此,本发明的主要目的为提供一种以首先提供用于确定第一接收符号的差错值的求值结果的次序提供求值结果的多项式求值器。
按照本发明,提供了一种用于在里德-所罗门解码器中通过在第j次迭代中以α-(N-j)代入X中来迭代地计算多项式P(x)的值,以由此提供第j个求值结果P(α-(N-j))的装置,其中j为从1至N范围内的整数,N为一个预定的正整数,而α则为有限域GF(2m)中的一个本原元素,该装置包括:
具有T个寄存器的一个FIFO缓冲器,T为一预定义的正整数;
更新装置,用于顺序地将FIFO缓冲器的内容与该有限域中的第一组T个元素相乘,由此在第j次迭代中提供第j组T个求值项;
一个多路复用器,用于在初始化期间提供T个初始计求值项给FIFO缓冲器及在第j次迭代期间提供第j组T个求值项给该FIFO缓冲器,以存储在其中;
一个加法块,用于确定第j组T个求值项之和,由此提供第j个和;以及
一个输出块,用于将多项式的0次系数加到第j个和上,由此在第j次迭代中提供第j个求值结果。
从下面结合附图给出的较佳实施例的描述中,本发明的上述及其它目的与特征将是显而易见的,附图中:
图1示出传统多项式求值器的方框图;
图2示出按照本发明的用于计算差错求值多项式的多项式求值器的第一实施例的方框图;
图3示出按照本发明的用于计算差错定位多项式的多项式求值器的第二实施例的方框图;以及
图4是供按照本发明的用于计算微分多项式的多项式求值器的第三实施例的方框图。
参见图2,其中提供了按照本发明的多项式求值器的第一实施例的方框图,该求值器对j=N-1至0按照计算差错求值多项式Ω(X),其中为了示例的目的将T设定为8。
在多项式求值器20上,按j=N-1至0的次序迭代地进行式(5B)的计算,这一次序是与图1中所示的传统求值器的主要差别之一。一次迭代最好在一个系统时钟周期中完成。
图2中所示的多项式求值器20包括一个在有限域GF(2m)上运算的乘法器21、一个根输入块22、一个多路复用器(“MUX”)26、一个加法块23、一个输出块24及一个寄存器块28,它们直接与图1中所示的传统求值器的块对应。它还包括一个在有限域GF(2m)上运算的乘法器25及用于初始化寄存器块28的根输入块27。
虽然图1中所示的寄存器块18是用求值多项式的系数Ωi初始化的,但图2中所示的寄存器块28是在乘法器25与根输入块27的协助下用初始计算值(Ωiα-iN)初始化的。
在启动用于确定Ω(α-(N-1))的计算过程的第一次迭代之前,用(Ωiα-iN初始化包含在寄存器块28中的寄存器。为了完成这一点,以差错求值多项式的各系数Ωi去乘α-iN,以便顺序地提供一组8个初始求值项Ωiα-iN给MUX26的输入端口0。选择信号SEL1控制MUX26以将Ωiα-iN提供给寄存器块28用于初始化。首先将第一初始求值项Ω1α-N馈送给R1并存储在其中一个位时钟周期。将R1的内容移位到R2中并存储在其中下一个位时钟周期,然后到R3,以此类推。最终,将R8的输出端口连接到乘法器21上。
在用对应的Ωiα-iN填充了各寄存器之后(诸如Ω1α-N在R8中,Ω2α-2N在R7中,及以此类推),便开始用于确定Ω(α-(N-1))的第一次迭代。
在第一次迭代的第一位时钟期间,乘法器21用α1去乘从R8提供给它的Ω1α-N。为了做到这一点,将α1从根输入块22馈送给乘法器21。将乘法器的输出,即Ω1α-(N-1)(或换言之,第一组的第一求值项,第K组求值项是指Ωiα-i(N-K)而言,K为1至N)每一个位时钟周期一个地馈送给加法块23。注意,是用αi(而不是传统求值器中的α-i)去乘从寄存器块28提供的求值项,以更新求值项。
加法块23包含一个两输入端加法器23a及一个寄存器23b,其中在式(5B)的顺序相加过程中,在有限域GF(2m)上运算的加法器23a顺序地将来自乘法器21的各求值项加在寄存器23b的内容上,而寄存器23b则存储从加法器23a提供的求值项的第1至第7部分和并将该部分和馈送给两输入端加法器23a,第L个部分和是指包含在同一组中的L个求值项之和而言,L为1至7。它还包括一个多路复用器(“MUX”)23C,用于在基本上与图1所示的相同的RST-SUM的控制下有选择地提供0或加法器23a的输出给寄存器23b。RST-SUM也在每一迭代开始时通过使MUX提供0给寄存器23b而起初始化寄存器23b的作用。
具体地,当从乘法器21接收到Ω1α-(N-1)时,加法器23a将其加在寄存器23b的初始内容,即0上。然后通过MUX23C将第一部分和Ω1α-(N-1)反馈给寄存器23b,以便例如在下一位时钟的上升沿上存储在其中。为了做到这一点,MUX23响应RST_SUM将加法器23a的输出提供给寄存器23b。还将从乘法器21提供的Ω1α-(N-1)馈送给寄存器块28,由此例如在第一次迭代的第二位时钟的上升沿上向右移位各寄存器的内容,。第二位时钟周期期间的寄存器内容给出在表4中。
表4
R1 | R2 | R3 | … | R7 | R8 |
Ω1α-(N-1) | Ω8α-8N | Ω7α-7N | … | Ω3α-3N | Ω2α-2N |
在第一次迭代的第二位时钟期间,乘法器21用α2去乘从R8提供给它的Ω2α-2N。将此时乘法器21的输出,即Ω2α-2(N-1)馈送给加法器23a,在其中将其加在寄存器23b的内容即Ω1α-(N-1)上。然后通过MUX23c将第二部分和Ω1α-(N-1)+Ω2α-2(N-1)馈送给寄存器23b,以存储在其中。还将来自乘法器21的Ω2α-2(N-1)馈送给寄存器块28,由此在下一位时钟周期的上升沿上向右移位各寄存器的内容。此时,寄存器的内容改变成如表5中所给出的。
表5
通过对第一次迭代的其余位时钟周期重复上述过程,在加法块23上求出Ω1α-(N-1)至Ω8α-8(N-1)之和。加法器23a最终提供第八个部分和,即第一组的8个求值项之和(Ω1α-(N-1)+Ω2α-2(N-1)+…+Ω8α-8(N-1))给输出块24。响应RST_SUM将和馈送给并存储在R10中,然后馈送给加法器24b,在其中将其加到Ω0上,由此提供第一次迭代的最终结果,即第一求值结果Ω(α-(N-1))。同时,为下一次迭代响应RST_SUM将寄存器23b初始化成从MUX23c提供的0。
R1 | R2 | R3 | … | R7 | R8 |
Ω2α-2(N-1) | Ω1α-(N-1) | Ω8α-8N | … | Ω4α-4N | Ω3α-3N |
第二次迭代类似于第一次迭代,只不过从乘法器21提供给加法块23及返回给寄存器块28的为第二组求值项Ωiα-i(N-2)。具体地,在第一位时钟周期中将α1乘以Ω1α-(N-1),在第二位时钟周期中将α2乘以Ω2α-2(N-1),及以此类推,以提供第二组求值项。通过求和第二组求值项Ωiα-i(N-2),在第二次迭代结束时得出第二求值结果Ω(α-(N-2))。通过重复上述过程,在N次迭代中得出对j=N-1至0的Ω(α-j)。
第一至第三次迭代的各位时钟周期的寄存器R1至R8及R9的内容示出在表6中,其中各行对应于各位时钟周期。
表6
itera-tion | R1 | R2 | … | R8 | R9 |
1st | Ω8α-8NΩ1α-(N-1)Ω7α-7(N-1) | Ω7α-7NΩ8α-8NΩ6α-6(N-1) | … | Ω1α-NΩ2α-2NΩ8α-8N | 0Ω1α-(N-1)Ω1α-(N-1)+…+Ω7α-7(N-1) |
2nd | Ω8α-8(N-1)Ω1α-(N-2)Ω2α-2(N-2)Ω7α-7(N-2) | Ω7α-7(N-1)Ω8α-8(N-1)Ω1α-(N-2)Ω6α-6(N-2) | … | Ω1α-(N-1)Ω2α-2(N-1)Ω3α-3(N-1)Ω8α-8(N-1) | 0Ω1α-(N-2)Ω1α-(N-2)+Ω2α-2(N-2)Ω1α-(N-2)+…+Ω7α-7(N-2) |
3rd | Ω8α-8(N-2)Ω1α-(N-3)Ω2α-2(N-3)Ω7α-7(N-3) | Ω7α-7(N-2)Ω8α-8(N-2)Ω1α-(N-3)Ω6α-6(N-3) | … | Ω1α-(N-2)Ω2α-2(N-2)Ω3α-3(N-2)Ω8α-8(N-2) | 0Ω1α-(N-3)Ω1α-(N-3)+Ω2α-2(N-3)Ω1α-(N-3)+…+Ω-7α-7(N-3) |
现在参见图3,其中提供了按照本发明的计算差错定位多项式σ(X)的多项式求值器的另一实施例的方框图。图3中所示的求值器30的结构与功能基本上与求值器20的相同,但除外一个附加差错判定块39。由于求值器30的目的为计算差错定位多项式之值,馈送给乘法器35的为差错定位多项式的系数σi。用参照图2说明的相同过程,输出块34为各次迭代以j=N-1至0的次序提供求值结果σ(α-j)。
在差错判定块39上,如果σ(α-j)为0,便生成通报已在码字的对应符号rj上出现差错的一个差错信号。应当指出由于首先确定的是对于较大的j的求值结果,首先检验其差错的是具有较大的j的rj。
参见图4,其中提供了按照本发明的计算微分多项式σ’(X),即差错定位多项式σ(X)的一次导数的值的多项式求值器的第三实施例的方框图。
当差错定位多项式为表示为
σ(X)=σ0+σ1x+σ2x2+σ3x3+σ4x4+σ5x5+σ6x6+σ7x7+σ8x8, 公式(6)的8次多项式时,微分多项式给出为
σ′(X)=σ1+2σ2x1+3σ3x2+4σ4x3+5σ5x4+6σ6x5+7σ7x6+8σ8x7. 公式(7A)由于有限域中两个相同的数得出0,式(7A)可进一步化简成
σ′(X)=σ1+σ3x2+σ5x4+σ7x6 公式(7B)相应地,为α-j计算σ’(X)给出修改了求值器的结构来处理式(7C),而使得求值器40与求值器20不同。具体地,由于微分多项式的求值结果中只包含α的偶次幂,根输入块42与47只提供α的偶次幂,即(α0,α2,α4,α6)及(α0,α-2N,α-4N,α-6N);寄存器块48中包含图2与3中所示的其它求值器一半数量的寄存器;只将奇数次幂项的系数σ1,σ3,σ5,σ7即提供给有限域GF(2m)中的乘法器45;并且由于0次系数(σ0)并不包括在求值结果中而输出块44不包含加法器。除了以上这些,该求值器的总体操作类似于图2中所示的求值器20。第一至第三次迭代的各位时钟周期的寄存器R1至R5的内容示出在表7中,其中各行对应于各位时钟周期。
表7
iter-ation | R1 | R2 | R4 | R5 |
1st | Ω7α-6NΩ1Ω3α-2(N-1)Ω5α-4(N-1) | Ω5α-4NΩ7α-6NΩ1Ω3α-2(N-1) | Ω1Ω3α-2NΩ5α-4NΩ7α-6N | 0Ω1Ω1+Ω3α-2(N-1)Ω1+Ω3α-2(N-1)+Ω5α-4(N-1) |
2nd | Ω7α-6(N-1)Ω1Ω3α-2(N-2)Ω5α-4(N-2) | Ω5α-4(N-1)Ω7α-6(N-1)Ω1Ω3α-2(N-2) | Ω1Ω3α-2(N-1)Ω5α-4(N-1)Ω7α-6(N-1) | 0Ω1Ω1+Ω3α-2(N-2)Ω1+Ω3α-2(N-2)+Ω5α-4(N-2) |
3rd | Ω7α-6(N-2)Ω1Ω3α-2(N-3)Ω5α-4(N-3) | Ω5α-4(N-2)Ω7α-6(N-2)Ω1Ω3α-2(N-3) | Ω1Ω3α-2(N-2)Ω5α-4(N-2)Ω7α-6(N-2) | 0Ω1Ω1+Ω3α-2(N-3)Ω1+Ω3α-2(N-3)+Ω5α-4(N-3) |
如上所述,与传统的求值器相比较,按照本发明的求值器以逆序提供计算结果。
虽然已经相对于具体实施例描述了本发明,但熟悉本技术的人员显而易见可以作出各种改变与修正而不脱离以下权利要求书中所定义的发明的精神与范围。
Claims (20)
1、一种用在里德-所罗门解码器中的装置,用于通过在第j次迭代中将α-(N-j)代入X中来迭代地计算多项式P(X)的值,以由此提供第j个求值结果P(α-(N-j)),其中j为从1至N范围内的整数,N为一个预定的正整数,而α则为有限域GF(2m)中的一个本原元素,所述装置包括:
具有T个存储装置的一个FIFO缓冲器,T为一个预定义的正整数;
更新装置,用于顺序地将FIFO缓冲器的内容与有限域中的第一组T个元素相乘,由此在第j次迭代中提供第j组T个求值项;
用于生成T个初始求值项的装置;
用于有选择地将该T个初始求值项或从该更新装置提供的第j组T个求值项提供给该FIFO缓冲器,以存储在其中的装置;
第一加法装置,用于确定第j组的T个求值项之和,由此提供第j个和;以及
第二加法装置,用于在第j次迭代期间,将多项式的0次系数加在第j个和上,以由此提供第j个求值结果。
2、如权利要求1的装置,其中该第一加法装置包括:
一个加法器,用于将从乘法装置提供的求值项与一个反馈值相加,以由此提供一个部分和或第j个和;
选择装置,用于有选择地提供从该加法器提供的部分和或者0;以及
存储装置,用于存储从该选择装置提供的部分和或者0并将部分和或者0作为反馈值提供给该加法器。
3、如权利要求1的装置,其中该生成装置包括:
第二输入装置,用于顺序地提供有限域中的第二组T个元素;以及
用于顺序地将从第二输入装置提供的有限域中的第二组T个元素与多项式的第一至第T个系数相乘,由此提供T个初始求值项的装置。
4、如权利要求1的装置,其中该更新装置包括:
第一输入装置,用于在第j次迭代期间顺序地提供有限域中的第一组T个元素;以及
用于顺序地将FIFO缓冲器的内容与从该第一输入装置提供的有限域中的第一组T个元素相乘,以由此在第j次迭代期间提供第j组T个求值项的装置。
5、如权利要求3的装置,其中该第一组T个元素为αi而第二组T个元素为α-1N,i为从1至T范围内的一个整数。
6、如权利要求1的装置,其中该多项式P(x)为一个T次差错求值多项式。
7、如权利要求1的装置,其中该多项式P(x)为一个T次差错定位多项式。
8、如权利要求1的装置,还包括用于判定求值结果是否等于0以由此提供一个差错信号的装置。
9、一种用在里德-所罗门解码器中的装置,用于通过在第j次迭代中用α-(N-1)代入X来迭代地计算多项式P(x)的值,以由此提供第j个求值结果P(α-(N-j)),其中j为从1至N范围内的一个整数,N为一个预定的正整数,而α则为有限域GF(2m)中的一个本原元素,所述装置包括:
具有T个存储装置的一个FIFO缓冲器,T为一个预定义的正整数;
用于通过顺序地提供T个初始求值项给FIFO缓冲器而用该T个初始求值项初始化该FIFO缓冲器的装置;
更新装置,用于在第j次迭代期间顺序地将FIFO缓冲器的内容与有限域中的第一组T个元素相乘以由此提供第j组T个求值项;
用于在第j次迭代期间顺序地将第j组T个求值项提供给FIFO缓冲器以存储在其中的装置;
第一加法装置,用于确定第j组的T个求值项之和以由此提供第j个和;以及
第二加法装置,用于在第j次迭代期间将多项式的第0次系数加在第j个和上,以由此提供第j个求值结果。
10、如权利要求9的装置,其中该第一加法装置包括:
一个加法器,用于将从乘法装置提供的一个求值项与一个反馈值相加,以由此提供一个部分和或第j个和;
选择装置,用于有选择地提供从该加法器提供的部分和或者0;以及
存储装置,用于存储从该选择装置提供的部分和或者0,并将部分和或者0作为反馈值提供给该加法器。
11、如权利要求9的装置,其中该更新装置包括:
第一输入装置,用于在第j次迭代期间顺序地提供有限域中的第一组T个元素;以及
用于在第j次迭代期间顺序地将FIFO缓冲器的内容与从第一输入装置提供的有限域中的第一组T个元素相乘,以由此提供第j组T个求值项的装置。
12、如权利要求10的装置,其中第一组T个元素为αi,i为从1至T的范围内的一个整数。
13、如权利要求9的装置,其中该多项式P(x)为一个T次差错求值多项式。
14、如权利要求9的装置,其中该多项式P(x)为一个T次差错定位多项式。
15、如权利要求9的装置,还包括用于判定求值结果是否等于0以由此提供一个差错信号的装置。
16、一种在里德-所罗门解码器中使用的装置,用于通过在第j次迭代中用α-(N-j)代入X来迭代地计算一个多项式P(x)的值,以由此提供第j个求值结果P(α-(N-j)),其中j为从1至N范围内的一个整数,N为一个预定的正整数,而α则为有限域GF(2m)中的一个本原元素,所述装置包括:
具有T个存储装置的一个FIFO缓冲器,T为一个预定义的正整数;
更新装置,用于在第j次迭代期间顺序地将该FIFO缓冲器的内容与该有限域中的第一组T个元素相乘,以由此提供第j组T个求值项;
用于生成T个初始求值项的装置;
用于有选择地提供该T个初始求值项或者第j组T个求值项给该FIFO缓冲器以存储在其中的装置;以及
加法装置,用于确定该第j组的T个求值项之和,以由此提供第j个计算结果。
17、如权利要求16的装置,其中该更新装置包括:
第一输入装置,用于在第j次迭代期间顺序地提供该有限域中的第一组T个元素;以及
用于在第j次迭代期间顺序地将该FIFO缓冲器的内容与从第一输入装置提供的有限域中的第一组T个元素相乘,以由此提供第j组T个求值项的装置。
18、如权利要求16的装置,其中该加法装置包括:
一个加法器,用于将从该乘法装置提供的一个求值项与一个反馈值相加,以由此提供一个部分和或第j个求值结果;
选择装置,用于有选择地提供从该加法器提供的部分和或者0;以及
存储装置,用于存储从该选择装置提供的部分和或者0,并将该部分和或者0作为反馈值提供给该加法器。
19、如权利要求16的装置,其中该生成装置包括:
第二输入装置,用于顺序地提供该有限域中的第二组T个元素;以及
用于顺序地将从第二输入装置提供的该有限域中的第二组T个元素与多项式的第一至第T个系数相乘,以由此提供T个初始求值项的装置。
20、如权利要求16的装置,其中该多项式P(x)为一个2T次差错定位多项式的一次导数;第一至第T个系数为该差错定位多项式的奇次幂项的系数;第一组T个元素为α0,α2,…,α2T-2;而第二组T个元素为α0,α-2N,…,α-(2T-2)N。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR15344/96 | 1996-05-10 | ||
KR19960015344 | 1996-05-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1167373A true CN1167373A (zh) | 1997-12-10 |
Family
ID=19458229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN96120989A Pending CN1167373A (zh) | 1996-05-10 | 1996-12-03 | 用在里德-所罗门解码器中的多项式求值器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5971607A (zh) |
EP (1) | EP0806838A1 (zh) |
JP (1) | JPH09307458A (zh) |
KR (1) | KR100192804B1 (zh) |
CN (1) | CN1167373A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100459438C (zh) * | 2006-10-20 | 2009-02-04 | 东南大学 | 里德所罗门解码器的关键方程与错误值求解优化电路 |
CN103729162A (zh) * | 2012-10-15 | 2014-04-16 | 北京兆易创新科技股份有限公司 | 伽罗瓦域运算系统和方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU1615100A (en) | 1998-11-09 | 2000-05-29 | Broadcom Corporation | Forward error corrector |
CA2265389C (en) | 1999-03-12 | 2011-07-12 | Certicom Corp. | System and method for efficient basis conversion |
EP1260023A2 (en) | 2000-02-17 | 2002-11-27 | Analog Devices, Inc. | Method, apparatus, and product for use in generating crc and other remainder based codes |
US20030140302A1 (en) * | 2002-01-23 | 2003-07-24 | Litwin, Louis Robert | Chien search cell for an error-correcting decoder |
CN102098292A (zh) * | 2010-12-24 | 2011-06-15 | 成都天奥信息科技有限公司 | 船载自动识别系统传输含中文信息的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4162480A (en) * | 1977-01-28 | 1979-07-24 | Cyclotomics, Inc. | Galois field computer |
US4649541A (en) * | 1984-11-21 | 1987-03-10 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Reed-Solomon decoder |
US4958348A (en) * | 1988-02-12 | 1990-09-18 | Eastman Kodak Company | Hypersystolic Reed-Solomon decoder |
US5323402A (en) * | 1991-02-14 | 1994-06-21 | The Mitre Corporation | Programmable systolic BCH decoder |
US5644695A (en) * | 1994-01-03 | 1997-07-01 | International Business Machines Corporation | Array combinatorial decoding with multiple error and erasure detection and location using cyclic equivalence testing |
-
1996
- 1996-11-25 US US08/755,579 patent/US5971607A/en not_active Expired - Fee Related
- 1996-11-26 EP EP96308524A patent/EP0806838A1/en not_active Withdrawn
- 1996-11-29 KR KR1019960060091A patent/KR100192804B1/ko not_active IP Right Cessation
- 1996-12-03 CN CN96120989A patent/CN1167373A/zh active Pending
- 1996-12-03 JP JP8322951A patent/JPH09307458A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100459438C (zh) * | 2006-10-20 | 2009-02-04 | 东南大学 | 里德所罗门解码器的关键方程与错误值求解优化电路 |
CN103729162A (zh) * | 2012-10-15 | 2014-04-16 | 北京兆易创新科技股份有限公司 | 伽罗瓦域运算系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
US5971607A (en) | 1999-10-26 |
KR100192804B1 (ko) | 1999-06-15 |
JPH09307458A (ja) | 1997-11-28 |
EP0806838A1 (en) | 1997-11-12 |
KR970078047A (ko) | 1997-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3046988B2 (ja) | データストリームのフレーム同期検出方法及び装置 | |
US5343481A (en) | BCH error-location polynomial decoder | |
EP0340139A2 (en) | Fast processor for multi-bit error correction codes | |
US5805617A (en) | Apparatus for computing error correction syndromes | |
CN1181664A (zh) | 用于里德-索罗门译码器的有限域乘法器 | |
KR20060125837A (ko) | 데이터를 인코딩하기 위한 방법 및 장치 | |
Phalakarn et al. | Alternative redundant residue number system construction with redundant residue representations | |
JP3354025B2 (ja) | エラー位置多項式の計算方法およびその装置 | |
JP3834122B2 (ja) | 誤り位置検出多項式計算装置 | |
CN1636324A (zh) | 纠错解码器的钱搜索单元 | |
US7458007B2 (en) | Error correction structures and methods | |
CN1167373A (zh) | 用在里德-所罗门解码器中的多项式求值器 | |
CN1164941A (zh) | Crc/edc校验器系统 | |
JP3245290B2 (ja) | 復号方法とその装置 | |
US6735737B2 (en) | Error correction structures and methods | |
CN1101022C (zh) | 出错位组计算装置 | |
CN1123980C (zh) | 在里德-索洛蒙解码器中用于确定误差计算多项式的装置 | |
US6598201B1 (en) | Error coding structure and method | |
EP0341851A2 (en) | Method and apparatus for interleaved encoding | |
US5978950A (en) | Polynomial evaluator for use in a reed-solomon decoder | |
CN1169623A (zh) | 用在里德-所罗门解码器中的多项式求值器 | |
JP2710176B2 (ja) | 誤り位置及び誤りパターン導出回路 | |
KR100192802B1 (ko) | 리드 솔로몬 디코더의 에러값 계산 및 정정 장치 | |
US7287207B2 (en) | Method and apparatus for computing parity characters for a codeword of a cyclic code | |
CN1158518A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |