CN1344439A - 加速的Reed-Solomon纠错 - Google Patents

加速的Reed-Solomon纠错 Download PDF

Info

Publication number
CN1344439A
CN1344439A CN00805305A CN00805305A CN1344439A CN 1344439 A CN1344439 A CN 1344439A CN 00805305 A CN00805305 A CN 00805305A CN 00805305 A CN00805305 A CN 00805305A CN 1344439 A CN1344439 A CN 1344439A
Authority
CN
China
Prior art keywords
mistake
error
multinomial
amplitude
single monolithic
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
Application number
CN00805305A
Other languages
English (en)
Other versions
CN1227817C (zh
Inventor
龚健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1344439A publication Critical patent/CN1344439A/zh
Application granted granted Critical
Publication of CN1227817C publication Critical patent/CN1227817C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/1545Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/158Finite field arithmetic processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/1585Determination of error values

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)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

提出一种同时搜索差错定位器多项式和差错幅值多项式中m个根的Reed-Solomon(R-S)解码器。多项式估值器包括对应于多项式中每一项的多个单片部件。每个单片部件包括多个系数乘法器,配置成对不同值的项估值,从而在这些不同值的每一个上实现对多项式的同时估值。在一种最佳实施方案中,每个单片部件只需要一个寄存器,用于接收多项式的系数和便于对于其他值进行多项式的迭代估值。在一种最佳实施方案中,为了对一个Reed-Solomon码字解码采用两个多项式估值器,一个估值器被用于提供Chien差错定位器算法的修改形式,另一个被用于提供Forney差错确定算法的修改形式。

Description

加速的Reed-Solomon纠错
1.发明领域
本发明涉及通信和数据存储系统的领域,特别是,涉及基于包含块的纠错码的通信的解码。
2.相关技术描述
用于规定数字通信系统质量的参数之一是“位差错率”,或BER。BER说明在接收系统的输出上产生的差错位的概率。对于存储设备(带,盘,CD,DVD,条码),移动通信(蜂窝电话,微波链路),卫星通信,数字电视,等的技术规格通常要求BER为10-9或更低的数量级。用于提供低差错概率的一种技术是利用高功率发射机发送信息,以达到高的信号噪声比(SNR)。这通常是不实际的或者是费钱的,尤其对于使用电池供给发射功率的移动系统,和必须遵守诸如由FCC颁布的干扰标准的广播系统。
一种不依靠高的SNR达到高的BER的可选的方法是利用纠错码对信息编码,所以在传输期间出现差错时,可被接收机校正,因而将不再是一个“差错”。纠错技术通常可达到自动校正传输中的多个差错。
一种通常使用的纠错技术是Reed-Solomon纠错码。利用Reed-Solomon(R-S)技术,发送固定长度(n)的码字,每个码字包括K个信息符号和n-K个所附的纠错奇偶性符号。每个符号包括S位。一个R-S解码器可以校正最多(n-K)/2个在一个码字中包含差错的符号。因为这些可校正的符号中每一个可以包含多位差错,R-S编码技术特别适合于影响多个相邻位的脉冲串差错。通常的R-S编码方案使用一个255个8位符号的码字,其中的223个是信息符号,其余的32个符号是纠错奇偶性符号。这种编码方案在每个255符号的码字中将校正最多16个差错符号,从而在位差错率方面提供相当大的改善。
R-S编码方案也将检测“擦除(erasures)”,这是在已知位置上的差错,需要较少的校正信息。加上R-S解码器可以校正的两倍擦除数目的差错数目是(n-K)/2。为了参照容易,将术语“差错”在此以后用于指明或者是未知位置的差错,或者是已知位置的擦除。
图1示出一种现有技术R-S解码器100的一个例子的方框图。解码器100接收每个码字γ(X)101,并产生校正的码字C(X)151。出错计算器110处理码字101,产生相应的出错多项式Si(X)111。每个码字有n-K个出错,它们只取决于差错,而与所发送的码字无关。从这些出错111,产生一个差错定位器多项式Λ(X)121。示出欧几里德算法120用于提供差错定位器多项式121,和差错幅值多项式Ω(X)122,虽然其他的技术,如Berlekamp-Massey算法同样可以被使用。每个R-S码有一个参数α,这是为R-S码选取的Galois码域的本原元素。差错定位器多项式被这样构成,使得如果差错出现在位置p,α-p将是差错多项式的一个根(p是指数,从0到n-1)。
一种迭代方法通常被应用来为码字中每个位置p测试每个值α-p,确定是否α-p是差错定位器多项式121的一个根,Xk -1。一种用于这迭代试验的通常使用的算法是Chien差错定位器130。Chien定位器130也提供一个相关的差错微分项,Xk -1Λ’(Xk -1)132,便于该差错幅度141的确定,典型的做法是通过Forney差错确定算法,如方框140所示。差错确定器140对与被定位的差错符号相应的差错幅值多项式122估值。对于差错定位器130定位的每个差错,差错校正器150根据这个差错的位置131和幅值141,确定被校正的码字C(X)151。如果对于一个给定的符号未检测到差错,在这个被估计的位置上在被校正的码字C(X)151中的符号等于接收到的码字γ(X)101中的该符号。
图2示出一种现有技术Chien差错定位器130的一个例子的方框图。差错定位器130包括多个多项式项的估值器220。每个估值器220包括一个寄存器221和一个系数乘法器225。寄存器组221接收差错定位器多项式Λ(X)121的系数λ,系数乘法器组225将系数λ用相应的α222的幂数相乘,并将得到的乘积项存入寄存器221。关于输出多项式的值231,相加器230a,230b,和230c组成一个单一的相加器,将每个系数乘法器225的乘积项组合。也就是,起初,这些相加器提供在α0上对应于差错定位器多项式Λ(X)121的估值的系数λ之和(即,值=λn-10)n-1n-20)n-2+…+λ20)210)1+(α0)0λ0)。如果这个值231是0,α0是一个根,表明一个差错出现在位置0。用同样的方式,在将α222的幂数与差错定位器多项式Λ(X)121的相应的系数λ相乘以后,多项式的值231是在α-1上差错定位器多项式Λ(X)121的估值(即,值=λn-1-1)n-1n-2-1)n-2+…+λ2-1)21-1)1+(α-1)0λ0)。如果这个值231是0,α-1是一个根,表明一个差错出现在位置1。在下一个循环,将寄存器221的内容再次用α222的幂数相乘。这导致将α222的每个幂数平方,多项式的值231对应于在α-2上差错定位器多项式的估值(即,值=λn-1-2)n-1n-2-2)n-2+…+λ2-2)21-2)10-2)0)。如果这个值231是0,α-2是一个根,表明一个差错出现在位置2。以下的循环对应于在α-3上该多项式的估值,然后是α-4,α-5,等等。迭代过程继续进行直到所有几个符号位置(0到n-1)被估值为止。正如以上所指出的那样,通常的Chien定位器130也提供一个导数项Xk -1Λ’(Xk -1)132,便于确定在差错确定器140中与定位器多项式Λ(X)的定位根Xk -1对应的差错幅值141。将导数项132作为偶数多项式项的部分和被示于图2中;另一种方案,可以使用奇数项。
为了减少估计一个纠错码字中所有几个符号所需的时间,可以考虑迭代部分的冗余平行实施方案。也就是,原则上,如果提供两个差错定位器130和差错确定器140的复制品,可以用一组定位器/确定器估计α的奇数幂,在另一组中估计α的偶数幂。另一种方案是,可将一组定位器/确定器用于处理符号的第一半,而将另一组定位器/确定器用于处理另一半,从而便于象在通常的现有技术设备中那样,每个循环对α222的幂数作单一的乘法。然而,用于符号的“第二”一半的该组定位器/确定器需要被初始化为α222的适当的幂数乘λ项,这将需要附加的部件。然而,每个冗余组需要在面积上相应的直接线性增加(两组=两倍的该面积;三组=3×该面积;等),再加上为实现过程的划分所需的附加的电路。
本发明的一个目的是减少评估纠错码字中所有几个符号所需的时间。本发明的另一个目的是与现有技术部件的冗余实施方案相比较,减少为评估纠错码字中所有几个符号所需的部件数目。
通过提供一种多项式估值器实现这些目的和其他的要求,该估值器包括与该多项式每项对应的多个单片部件。每个单片部件包括多个系数乘法器,配置成对不同值的项进行估值,从而实现在这些不同值的每一个上同时对该多项式估值。在一种最佳实施方案中,在每个单片部件中只需要一个寄存器,用于接收该多项式的系数,和便于对其他值进行多项式的迭代估值。在一种最佳实施方案中,为了对Reed-Solomon码字解码采用两个多项式估值器。一种估值器实施Chien差错定位器算法的修改形式,另一种实施Forney差错确定算法的一种修改形式。
现在通过举例的方法,参考附图更详细地解释本发明,其中:
图1示出一种现有技术纠错解码器的一个例子的方框图。
图2示出一种现有技术差错定位器的一个例子的方框图。
图3示出一种依据本发明的多值多项式估值器的一个例子的方框图。
图4示出一种依据本发明的Chien差错定位器修改形式的一个例子的方框图。
图5示出一种依据本发明的纠错解码器的一个例子的方框图。
整个附图中,相同的标号表明类似的或对应的特征或功能。
Reed Solomon(R-S)解码器在此作为一种纠错解码器的范例提出的,这种解码器利用迭代的多项式估值来确定是否特定的值是所给的多项式的根。对于本领域的技术人员将是明显的,在此所提出的技术同样适用于采用类似的多项式估值过程的其它解码技术。
图3示出一种依据本发明的多值多项式估值器300的一个例子的方框图。估值器300包括一个与被估值的多项式中每个非常数项对应的单片部件320。每个单片部件320包括多个系数乘法器325。图3示出四个乘法器325a-d,虽然任何数目的乘法器可被提供。每个单片部件320包括一个寄存器321,最初接收与单片部件320有关的多项式项的系数ω。每个乘法器325a-d将寄存器321的内容与有关的α322a-d的幂数相乘,同时产生对于多个α的幂数的多项式有关项的估值。也就是,例如,被简要示出的单片部件320对于对应于宗量值α-1,α-2,α-3,和α0的值,提供多项式一次项的估值。注意,在系数乘法器325d以前,对相加器360的输入是来自相应的寄存器部件321,而对其他相加器330,340和350的输入是来自系数乘法器325a-c,因此,代替α-4考虑α0项。相邻的单片部件对于这些相同宗量值α-1,α-2,α-3,和α0提供它们有关的多项式的较高阶项的估值。这是通过对每个相继的单片部件提供α的幂数实现的,这些单片部件对应于在一次的单片部件320中使用的α幂数的平方,立方,等。也就是,例如,被简要描述的单片部件320’对应于多项式的立方项,系数乘法器提供对应于ω3-1)3,ω3-2)3,ω3-3)3,和ω30)3的输出。相加器330将由每个单片部件320中的第一系数乘法器325a产生的乘积项相加,提供对于宗量值α-1的多项式的合成值331。相加器340提供对于宗量值α-2的多项式的合成值341;相加器350提供对应于α-3的值351;相加器360提供对应于α0的值361。注意,来自乘法器325d的乘积项组成对寄存器321的输入,所以在下一次循环上对应于α-4的多项式值被提供给相加器360。
因而,如图3中所示,多项式估值器300同时对于四个不同的α的幂数提供一个给定的多项式的估值,从而与通常的单值多项式估值器相比,在速度上实现了四倍的改进。与复制四个单值的多项式估值器相比,只需要一套系数寄存器321,从而节省与多余的寄存器和它们有联系的传送路径有关的成本和面积。
依据本发明的另一方面,每个单片部件的寄存器321接收α的最高阶幂数(在这种情况下是,α-4)和寄存器321以前的内容的乘积。在图3的例子中,寄存器321接收它以前的内容(ω1)和α-4的乘积。用这种方法,乘法的下个循环将是对于值α-5,α-6,α-7和α-4的多项式估值(在所描述的单片部件320中,分别为α-11α-4,α-21α-4α-31α-4,和ω1α-4。)用同样的方式,所描述的单片部件320’的寄存器321’将含有值ω3α-12,乘法将是对于宗量值α-5,α-6,α-7,和α-4的多项式立方项的估值(分别提供乘积项:α-33α-12,α-63α-12,α-93α-12,和ω3α-12,等于ω3-5)3,ω3-6)3,ω3-7)3,和ω3-4)3)。用这种方式,多项式估值器300将对于α相继的幂数,一次四个迭代地估计所给的多项式。
图3中所示的是一个可选的选择器380,如果需要的话,允许选择多项式估值331,341,351,361中每一个。这种选择器380通过为了处理顺序地提供估值331,341,351,361使多值多项式估值器300能够与单值处理系统接合。如果顺序处理设备包含同时接收四个估值器的能力,就不需要选择器380。
图4示出一种多值多项式估值器的一个例子的方框图,提供依据本发明的一种Chien差错定位器400的修改形式。差错定位器400的操作原理是基于以上提出的关于图2的Chien差错定位器200和图3的多值多项式估值器300的原理。定位器400包括多个单片部件420,与图3的单片部件320类似地操作。然而,与单片部件320相比,由单一相加器330提供的相加操作被分到子相加器430a,430b,和430c中。这种划分使子相加器430b能够提供导数项432,便于确定对应于每个差错位置的差错幅值。最后的子相加器430c的输出对应于一个给定的α幂数的宗量的多项式估值。在图4的例子中,子相加器430c提供对于宗量α-1,α-5,α-9,等的多项式估值431,用同样的方法,和值441对应于对α-2,α-6,α-10,等的多项式估值;和值451对应于对α-3,α-7,α-11,等的估值;和值461对应于对α0,α-4,α-8,α-12,等的估值。如在先前技术的Chien定位器200中那样,如果差错定位器多项式Λ(α-p)的估值是0,在位置p上的一个差错被检测到。因此,依据本发明的这个方面,定位器400将同时识别在接收到的码字中最多四个差错的位置,并将同时提供相应的导数项Xk -1Λ’(Xk -1)432a-d,便于确定在每个被定位的根Xk -1上差错的幅值。
如多项式估值器300中那样,定位器400可以包括一个可选的选择器460,使得能够用一个单值处理器顺序地处理选择单独的项432。一种根识别器块450被配置,以提供一个对应于每个被定位的差错的选择信号451(每个多项式估值等于0)。
图5示出一种纠错解码器500的一个例子的方框图,包括一个依据本发明的定位器400。多根定位器400接收一个差错定位器Λ(X)121的系数,例如组成一个如图1所示的欧几里德算法处理器120。多根定位器400包括多个单片部件,每个有m个乘法器,因此允许同时检测在接收到的对应于差错定位器多项式121的码字γ(X)中最多m个符号差错。m个同时估值的值431作为差错指示,或标志用,其中0标记差错的位置。根识别器450识别每个0,Xk -1,并将每个对应的差错位置131提供给一个差错校正器,如图1中的差错校正器150。
在本发明的这个实施方案中,如果m个标志431中每一个是非0,定位器400被循环,同时提供下一组m个估值和相应的m个标志431,如以上关于图4讨论过的那样。用同样的方式,与图1和2的先前技术单一差错定位器相比,处理接收到的包含无差错的码字γ(X)所需的时间被减少一个1/m的因数。
一种解码器500的最佳实施方案还包括多差错确定器300,对应于图3的多值多项式估值器300。这种差错确定器300接收差错幅值多项式Ω(X)122并同时通过每个包含m个系数乘法器的多个单片部件提供m个差错项的估值(对应于图3中的项331,341,等)。确定器300被与定位器400同步操作,使得差错项Ω(Xk -1)531对应于由定位器标志431所识别的相同的符号和相应的导数项Xk -1Λ’(Xk -1)432。因此,在每个循环,多根定位器400和多差错确定器300提供最多m个符号差错的识别,和相应的差错项,以便校正这些符号差错中每一个。
多根定位器400和多差错确定器300可以提供它们的m个多输出到一个系统,在其中同时校正接收到的码字中m个差错。在一种当前的优选实施方案中,主要由于电路复杂性和电路面积的考虑,每个被识别的差错Xk -1被顺序地处理。根识别器450识别每个零值的标志431,并提供差错位置131和对应于每个所定位的差错的选择信号451。差错定位器400和确定器300被循环,只在所有的零值标志431被识别和处理以后才提供下一组估值。
与现有技术的方法一致,差错幅值141取决于由差错确定器300所提供的差错项Ω(Xk -1)531和由差错定位器400所提供的导数项Xk -1Λ’(Xk -1)432的倒数。一种倒置部件520提供所选的导数项461的倒数,GF(Galois Field)乘法器540根据选取的导数项461的倒数和选取的差错项381提供差错幅值141。差错幅值141被提供给一个差错校正器,如图1的差错校正器150,以校正由相应的差错位置131识别的符号。然后每个被识别的差错被类似地校正,差错定位器400和差错确定器300被进位到下一个循环,以处理下一组m个潜在的差错。
应该指出,选择使用多值多项式估值器300基本上与选择使用多根定位器400无关。也就是,多根定位器400可被采用来识别每个差错,然后每个被识别的差错可被提供给一个单值差错确定器,如图1中的差错确定器140。用这种方式,可以避免为一个多值估值器300需要额外的面积,尤其当低差错出现时,可以实现多根定位器400所增加的速度。
以上只是用作说明本发明的原理,并不一定限于所提供的例子。例如,另一种技术上通常的算法,采用α的正指数,使得如果在位置p上是一个差错,αn-p将是差错定位器多项式的一个根。其它的应用通常也利用顺序地搜索多项式的根,并可采用在此提出的技术。因此将认识到,本领域的技术人员将能够想出各种方案,虽然未在此被明显地描述或展示,然而它们实施了本发明的原理并在以下的权利要求的精神和范围内。

Claims (14)

1.一种解码器(500)包括:
至少一个多项式估值器(300,400),包括多个单片部件(320,320’),
每个单片部件(320)对应于多项式的一个项,
将每个单片部件(320)配置成提供对应于多个宗量值的多个项值,和
每个单片部件(320)包括一个单一寄存器(321),配置成接收对应于多项式的项的系数值;
多个相加器(330,340,350,360),配置成将对应于多个宗量值的多个项值相加,以提供相应的多个估值项(331,341,351,361);和
一个差错校正器(150),配置成根据对应于多个宗量的多个估值项(331,341,351,361)提供一个对应于一个接收到的码字(101)的校正码字(151)。
2.如权利要求1的解码器(500),其中
将至少一个多项式估值器(300,400)的第一估值器(400)配置成提供多个根指示器(431,441,451,461),和其中
该多项式对应于基于被接收到的码字(101)的一个根定位器多项式(121),
多个根指示器(431,441,451,461)中的每个指示器用于识别差错定位器多项式(121)的根的存在,和
还将差错校正器(150)配置成根据该多个根指示器(431,441,451,461)提供被校正的码字(151)。
3.如权利要求2的解码器(500),其中
还将第一估值器(400)配置成同时提供对应于该多个根指示器(431,441,451,461)的多个差错位置(131),和
还将差错校正器(150)配置成根据该多个差错位置(131)提供被校正的码字(151)。
4.如权利要求4的解码器(500),其中该多个根指示器(431,441,451,461)中的每个指示器是基于来自多个单片部件(320,320’)的每个单片部件(320)中的一个对应的系数乘法器(325a-d)的乘积项的和值。
5.如权利要求1的解码器(500),其中该多个单片部件(320,320’)的每个单片部件(320)还包括多个系数乘法器(325a-d),将它们每个配置成将单个寄存器(321)的内容值用相应的因数(322a-d)相乘,以提供该多个项值的每个项值。
6.如权利要求5的解码器(500),其中将该单个寄存器(321)配置成接收多个项值的一个所选的项值作为单个寄存器(321)的内容值,并在下一个钟周期上将这个所选的项值提供给该多个系数乘法器(325a-d)的每一个。
7.如权利要求1的解码器(500),还包括:
至少一个多项式估值器(300,400)中第二估值器(300),配置成同时提供对应于该多个根指示器(431,441,451,461)的多个差错幅值(331,341,351,361),其中
还将差错校正器(150)配置成根据该多个差错幅值(331,341,351,361)提供被校正的码字(151)。
8.如权利要求7的解码器(500),其中该多个差错幅值(331,341,351,361)的每个差错幅值是基于来自第二估值器(300)中多个单片部件(320,320’)的每个单片部件(320)中对应的系数乘法器(325a-d)的乘积项的和值。
9.一种解码器(500)包括:
一个出错计算器(110),提供对应于一个接收到的码字(101)的多个出错(111),
一个出错处理器(120),提供对应于多个出错(111)的一个差错定位器多项式(121)和一个差错幅值多项式(122),
一个多差错定位器(400),同时提供对应于差错定位器多项式(121)的根的多个差错位置(131),
一个多差错确定器(300),根据对应于该多个差错位置(131)的差错幅值多项式(122),同时提供多个差错项(531),
一个差错幅值确定器(540),提供对应于该多个差错项(531)的每个差错项和该多个差错位置(131)的每个差错位置的差错幅值(141),和
一个差错校正器(150),它接收对应于每个差错项的差错幅值(141),对应于多个差错位置(131)的每个差错位置,并由此提供对应于接收到的码字(101)的一个被校正的码字(151)。
10.如权利要求9的解码器(500),其中该多差错定位器(400)包括:
多个单片部件(320,320’),配置成同时操作以提供多个差错位置(131),
该多个单片部件(320,320’)的每个单片部件(320)包括:
多个系数乘法器(325a-d),和
一个寄存器(321),配置成接收差错定位器多项式(121)的系数并在第一时钟循环周期上存储来自该多个系数乘法器(325a-d)的第一乘法器(325d)的乘积,在下一个时钟周期上将这个乘积提供给该多个系数乘法器(325a-d)的每一个,和
多个相加器(330,340,350,360),每个被配置成将来自多个单片部件(320,320’)中的对应的系数乘法器(325a-d)的乘积项相加,由此提供是否相应的差错位置是该差错定位器多项式(121)的一个根的相应的指示器(431,441,451,461)。
11.如权利要求9的解码器(500),其中该多差错确定器(300)包括:
多个单片部件(320,320’),配置成同时操作以提供该多个差错项(531),
该多个单片部件(320,320’)的每个单片部件(320)包括:
多个系数乘法器(325a-d),和
一个寄存器(321),配置成接收该差错幅值多项式的系数并在第一时钟循环周期上存储来自该多个系数乘法器(325a-d)的第一乘法器(325d)的乘积,在下一个时钟周期上将这个乘积提供给该多个系数乘法器(325a-d)的每一个,和
多个相加器(330,340,350,360),每个被配置成将来自该多个单片部件(320,320’)中对应的系数乘法器(325a-d)的乘积项相加,由此提供该多个差错项(331,341,351,361)的每个差错项。
12.一种用于将接收到的码字(101)解码的方法包括:
根据接收到的码字(101)提供差错定位器多项式(121),
对于多个宗量同时估算该差错定位器多项式(121),从而提供对应于该差错定位器多项式(121)的一个或多个被确定根的差错位置指示器(431),和
校正对应于该一个或多个被确定的根的每个被确定根的接收码字(101)中的差错;
其中:
对差错定位器多项式(121)的同时估值包括:
对于多个宗量对差错定位器多项式(121)的每项同时估值,以便对于该多个宗量的每个宗量形成对应于每项的一个乘积项,和
将每个宗量的每个乘积项相加,以形成对应于每个宗量的差错位置指示器(431,441,451,461);和
对每项的同时估算包括:
将对应于该多个宗量的每一个的因数(322a-d)用一个公共的系数(321)相乘(325a-d),以提供多个乘积项。
13.如权利要求12的方法,还包括对于该多个宗量,同时估算差错幅值多项式(122),从而提供对应于该差错定位器多项式(121)的一个或多个被确定的根的差错项(531),其中
对差错幅值多项式(122)同时估算包括:
对于该多个宗量,同时估算该差错幅值多项式(122)的每个幅值项,以便对于多个宗量的每个宗量,形成对应于每个幅值项的幅值乘积项,和
将每个宗量的每个幅值乘积项相加,形成对应于每个宗量的差错项(531);其中
对每个幅值项的同时估算包括:
将对应于多个宗量的每一个的一个指数因子(322a-d)用一个公共的幅值系数(321)相乘(325a-d),以提供多个幅值乘积项。
14.一种用于对多宗量的多项式(121,122)同时估值的方法包括:
对于该多宗量的多项式(121,122)的每项同时估值,以便对于该多个宗量的每个宗量形成对应于每项的乘积项,和
将每个宗量的每个乘积项相加,以形成与对应于每个宗量的多项式估值对应的和值(431,441,451,461);和其中
对每项同时估算包括:
将对应于该多个宗量的每一个的一个因数(322a-d)用一个公共系数(321)相乘以提供多个乘积项。
CNB008053057A 1999-11-24 2000-11-23 加速Reed Solomon解码器,解码接收码字的方法和同时估算多个变元的多项式的方法 Expired - Fee Related CN1227817C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/449,230 US6539515B1 (en) 1999-11-24 1999-11-24 Accelerated Reed-Solomon error correction
US09/449,230 1999-11-24

Publications (2)

Publication Number Publication Date
CN1344439A true CN1344439A (zh) 2002-04-10
CN1227817C CN1227817C (zh) 2005-11-16

Family

ID=23783408

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB008053057A Expired - Fee Related CN1227817C (zh) 1999-11-24 2000-11-23 加速Reed Solomon解码器,解码接收码字的方法和同时估算多个变元的多项式的方法

Country Status (6)

Country Link
US (1) US6539515B1 (zh)
EP (1) EP1151542A1 (zh)
JP (1) JP2003516018A (zh)
KR (1) KR100683624B1 (zh)
CN (1) CN1227817C (zh)
WO (1) WO2001039378A1 (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101777922A (zh) * 2010-01-12 2010-07-14 殷雪冰 用于BCH译码器的高速低延时Berlekamp-Massey迭代译码电路
CN101964664A (zh) * 2010-09-16 2011-02-02 复旦大学 一种适用于CMMB的多模式Reed-Solomon译码器结构
CN102006086A (zh) * 2010-10-19 2011-04-06 凌阳科技股份有限公司 (n,k)方块码的软输入软输出解码装置
CN102122964A (zh) * 2011-03-31 2011-07-13 西安电子科技大学 一种基于fpga的高速rs编译码器实现方法
CN102158234A (zh) * 2011-04-29 2011-08-17 重庆金美通信有限责任公司 基于域元素校验方式的rs译码性能限检测方法
CN102571106A (zh) * 2012-01-04 2012-07-11 记忆科技(深圳)有限公司 具有双层纠错能力的bch编码器和解码器
CN102684709A (zh) * 2012-05-10 2012-09-19 天津大学 一种译码方法及其译码装置
CN102780496A (zh) * 2012-08-17 2012-11-14 上海高清数字科技产业有限公司 Rs码译码方法及装置
CN102811066A (zh) * 2012-07-17 2012-12-05 记忆科技(深圳)有限公司 伴随式计算装置及解码器
CN102832952A (zh) * 2012-09-25 2012-12-19 钜泉光电科技(上海)股份有限公司 低成本的多模式Reed-Solomon译码器
CN102882534A (zh) * 2012-10-12 2013-01-16 烽火通信科技股份有限公司 Rs编码的并行实现方法及装置
CN102891689A (zh) * 2012-09-26 2013-01-23 成都国微电子有限公司 一种错误位置多项式求解方法及装置
CN102904585A (zh) * 2012-11-08 2013-01-30 杭州士兰微电子股份有限公司 动态纠错编、解码方法及装置
CN102025379B (zh) * 2009-09-17 2013-03-13 义守大学 错误更正码的解码器及其错误更正值计算装置
CN102171936B (zh) * 2008-10-08 2014-02-26 索尼公司 循环移位设备、循环移位方法、ldpc解码设备、电视接收机和接收系统
CN103762991A (zh) * 2013-12-20 2014-04-30 记忆科技(深圳)有限公司 一种bch码译码方法及系统

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020116679A1 (en) * 2000-12-15 2002-08-22 Mike Lei In-band FEC decoder for sonet
DE10137457B4 (de) * 2001-08-02 2004-09-23 Systemonic Ag Verfahren zur Polynomberechnung mit 1-Bit Koeffizienten
EP1370005A3 (en) * 2002-06-07 2003-12-17 Thomson Licensing S.A. Reed-Solomon decoder
EP1370003A1 (en) * 2002-06-07 2003-12-10 Deutsche Thomson-Brandt Gmbh Reed-Solomon Decoder
US7661057B2 (en) * 2006-02-01 2010-02-09 Broadcom Corporation Clocking Chien searching at different frequency than other Reed-Solomon (RS) ECC decoding functions
US7774688B1 (en) * 2006-10-11 2010-08-10 Marvell International Ltd. Hardware efficient decoding system for Bose, Ray-Chaudhuri, Hocquenghem (BCH) product codes
RU2009119260A (ru) * 2009-05-22 2010-11-27 ЭлЭсАй Корпорейшн (US) Декодер кодов бчх или кодов рида-соломона с модификацией синдромов
US8397144B1 (en) * 2010-08-16 2013-03-12 Integrated Device Technology, Inc. BCH data correction system and method
US8707122B1 (en) 2011-02-08 2014-04-22 Pmc-Sierra Us, Inc. Nonvolatile memory controller with two-stage error correction technique for enhanced reliability
US8875001B1 (en) * 2011-09-08 2014-10-28 Xilinx, Inc. Circuitry for parallel decoding of data blocks
US8694855B1 (en) 2011-11-02 2014-04-08 Pmc-Sierra Us, Inc. Error correction code technique for improving read stress endurance
US8869013B1 (en) * 2011-12-01 2014-10-21 Xilinx, Inc. Circuit enabling and a method of generating a product in a decoder circuit
US8694849B1 (en) 2011-12-19 2014-04-08 Pmc-Sierra Us, Inc. Shuffler error correction code system and method
US8995302B1 (en) 2013-01-16 2015-03-31 Pmc-Sierra Us, Inc. Method and apparatus for translated routing in an interconnect switch
US9128858B1 (en) 2013-01-29 2015-09-08 Pmc-Sierra Us, Inc. Apparatus and method for adjusting a correctable raw bit error rate limit in a memory system using strong log-likelihood (LLR) values
US9092353B1 (en) 2013-01-29 2015-07-28 Pmc-Sierra Us, Inc. Apparatus and method based on LDPC codes for adjusting a correctable raw bit error rate limit in a memory system
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US8990661B1 (en) 2013-03-05 2015-03-24 Pmc-Sierra Us, Inc. Layer specific attenuation factor LDPC decoder
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US9397701B1 (en) 2013-03-11 2016-07-19 Microsemi Storage Solutions (Us), Inc. System and method for lifetime specific LDPC decoding
US8935598B1 (en) 2013-03-12 2015-01-13 Pmc-Sierra Us, Inc. System and method for adaptive check node approximation in LDPC decoding
US8984376B1 (en) 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for avoiding error mechanisms in layered iterative decoding
US8984365B1 (en) 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for reduced memory storage in LDPC decoding
US9454414B2 (en) 2013-03-15 2016-09-27 Microsemi Storage Solutions (Us), Inc. System and method for accumulating soft information in LDPC decoding
US9450610B1 (en) 2013-03-15 2016-09-20 Microsemi Storage Solutions (Us), Inc. High quality log likelihood ratios determined using two-index look-up table
US9590656B2 (en) 2013-03-15 2017-03-07 Microsemi Storage Solutions (Us), Inc. System and method for higher quality log likelihood ratios in LDPC decoding
US9235467B2 (en) 2013-03-15 2016-01-12 Pmc-Sierra Us, Inc. System and method with reference voltage partitioning for low density parity check decoding
US9417804B2 (en) 2014-07-07 2016-08-16 Microsemi Storage Solutions (Us), Inc. System and method for memory block pool wear leveling
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US9954553B1 (en) 2015-06-05 2018-04-24 Altera Corporation Circuitry and methods for continuous parallel decoder operation
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US10157677B2 (en) 2016-07-28 2018-12-18 Ip Gem Group, Llc Background reference positioning and local reference positioning using threshold voltage shift read
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
TWI620947B (zh) * 2017-02-14 2018-04-11 財團法人國家實驗研究院 用於高速衛星資料軟體平行前端解碼器的平行處理方法及其軟體架構
US10756763B2 (en) * 2018-09-28 2020-08-25 Innogrit Technologies Co., Ltd. Systems and methods for decoding bose-chaudhuri-hocquenghem encoded codewords
US11750222B1 (en) * 2022-06-29 2023-09-05 Synopsys, Inc. Throughput efficient Reed-Solomon forward error correction decoding

Family Cites Families (5)

* Cited by examiner, † Cited by third party
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
US4873688A (en) * 1987-10-05 1989-10-10 Idaho Research Foundation High-speed real-time Reed-Solomon decoder
US5099482A (en) * 1989-08-30 1992-03-24 Idaho Research Foundation, Inc. Apparatus for detecting uncorrectable error patterns when using Euclid's algorithm to decode Reed-Solomon (BCH) codes
US5912905A (en) * 1994-03-25 1999-06-15 Mitsubishi Denki Kabushiki Kaisha Error-correcting encoder, error-correcting decoder and data transmitting system with error-correcting codes
US6449746B1 (en) * 1998-08-17 2002-09-10 T. K. Truong Decoding method for correcting both erasures and errors of reed-solomon codes

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102171936B (zh) * 2008-10-08 2014-02-26 索尼公司 循环移位设备、循环移位方法、ldpc解码设备、电视接收机和接收系统
CN102025379B (zh) * 2009-09-17 2013-03-13 义守大学 错误更正码的解码器及其错误更正值计算装置
CN101777922A (zh) * 2010-01-12 2010-07-14 殷雪冰 用于BCH译码器的高速低延时Berlekamp-Massey迭代译码电路
CN101777922B (zh) * 2010-01-12 2013-02-13 北京忆恒创源科技有限公司 用于BCH译码器的高速低延时Berlekamp-Massey迭代译码电路
CN101964664A (zh) * 2010-09-16 2011-02-02 复旦大学 一种适用于CMMB的多模式Reed-Solomon译码器结构
CN101964664B (zh) * 2010-09-16 2014-07-09 复旦大学 一种适用于CMMB的多模式Reed-Solomon译码器结构
CN102006086B (zh) * 2010-10-19 2012-12-05 凌阳科技股份有限公司 (n,k)方块码的软输入软输出解码装置
CN102006086A (zh) * 2010-10-19 2011-04-06 凌阳科技股份有限公司 (n,k)方块码的软输入软输出解码装置
CN102122964B (zh) * 2011-03-31 2014-07-02 西安电子科技大学 一种基于fpga的高速rs编译码器实现方法
CN102122964A (zh) * 2011-03-31 2011-07-13 西安电子科技大学 一种基于fpga的高速rs编译码器实现方法
CN102158234A (zh) * 2011-04-29 2011-08-17 重庆金美通信有限责任公司 基于域元素校验方式的rs译码性能限检测方法
CN102571106A (zh) * 2012-01-04 2012-07-11 记忆科技(深圳)有限公司 具有双层纠错能力的bch编码器和解码器
CN102684709A (zh) * 2012-05-10 2012-09-19 天津大学 一种译码方法及其译码装置
CN102684709B (zh) * 2012-05-10 2014-10-15 天津大学 一种译码方法及其译码装置
CN102811066A (zh) * 2012-07-17 2012-12-05 记忆科技(深圳)有限公司 伴随式计算装置及解码器
CN102811066B (zh) * 2012-07-17 2015-06-10 记忆科技(深圳)有限公司 伴随式计算装置及解码器
CN102780496A (zh) * 2012-08-17 2012-11-14 上海高清数字科技产业有限公司 Rs码译码方法及装置
CN102780496B (zh) * 2012-08-17 2015-03-04 上海高清数字科技产业有限公司 Rs码译码方法及装置
CN102832952A (zh) * 2012-09-25 2012-12-19 钜泉光电科技(上海)股份有限公司 低成本的多模式Reed-Solomon译码器
CN102832952B (zh) * 2012-09-25 2015-07-29 钜泉光电科技(上海)股份有限公司 低成本的多模式Reed-Solomon译码器
CN102891689A (zh) * 2012-09-26 2013-01-23 成都国微电子有限公司 一种错误位置多项式求解方法及装置
CN102891689B (zh) * 2012-09-26 2015-12-09 深圳市国微电子有限公司 一种错误位置多项式求解方法及装置
CN102882534A (zh) * 2012-10-12 2013-01-16 烽火通信科技股份有限公司 Rs编码的并行实现方法及装置
CN102882534B (zh) * 2012-10-12 2015-08-19 烽火通信科技股份有限公司 Rs编码的并行实现方法及装置
CN102904585A (zh) * 2012-11-08 2013-01-30 杭州士兰微电子股份有限公司 动态纠错编、解码方法及装置
CN102904585B (zh) * 2012-11-08 2015-10-28 杭州士兰微电子股份有限公司 动态纠错编、解码方法及装置
CN103762991A (zh) * 2013-12-20 2014-04-30 记忆科技(深圳)有限公司 一种bch码译码方法及系统
CN103762991B (zh) * 2013-12-20 2017-05-17 记忆科技(深圳)有限公司 一种bch码译码方法及系统

Also Published As

Publication number Publication date
KR20010101638A (ko) 2001-11-14
KR100683624B1 (ko) 2007-02-20
WO2001039378A1 (en) 2001-05-31
EP1151542A1 (en) 2001-11-07
JP2003516018A (ja) 2003-05-07
CN1227817C (zh) 2005-11-16
US6539515B1 (en) 2003-03-25

Similar Documents

Publication Publication Date Title
CN1227817C (zh) 加速Reed Solomon解码器,解码接收码字的方法和同时估算多个变元的多项式的方法
US5136592A (en) Error detection and correction system for long burst errors
US7404134B2 (en) Encoding/decoding device using a reed-solomon encoder/decoder
US5099482A (en) Apparatus for detecting uncorrectable error patterns when using Euclid's algorithm to decode Reed-Solomon (BCH) codes
CN100438346C (zh) 用于线性分组码的擦除和单错纠正的方法和设备
AU650399B1 (en) Improved error correcting decoder and decoding method for receivers in digital cellular communication
US6026420A (en) High-speed evaluation of polynomials
US5642366A (en) Global parity symbol for interleaved reed-solomon coded data
US4504948A (en) Syndrome processing unit for multibyte error correcting systems
US20040194006A1 (en) Algebraic geometric code adapted to error bursts
KR20030095249A (ko) 리드-솔로몬 디코더
US20050210357A1 (en) Channel encoding adapted to error bursts
US7458007B2 (en) Error correction structures and methods
US20140013181A1 (en) Error Correction Coding Using Large Fields
US6581180B1 (en) System and method for performing a Chien search using multiple Galois field elements
US7392454B2 (en) Error locating methods and devices for algebraic geometric codes
EP1102406A2 (en) Apparatus and method for decoding digital data
KR19990087035A (ko) 향상된다중버스트정정시스템
Tang et al. Coding for error control
EP1037148B1 (en) Error coding method
CN1123980C (zh) 在里德-索洛蒙解码器中用于确定误差计算多项式的装置
US6421806B1 (en) Information transfer method and device, information receiving method and device and network stations using them
JP2575506B2 (ja) チエンサーチ回路
Shankar Error correcting codes: 3. Reed Solomon codes
KR960005049B1 (ko) 골레이부호의 테이블룩업 복호화회로

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
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee