CN1531211A - 里德索洛蒙码或扩展里德索洛蒙码的译码方法和译码器 - Google Patents
里德索洛蒙码或扩展里德索洛蒙码的译码方法和译码器 Download PDFInfo
- Publication number
- CN1531211A CN1531211A CNA2003101201940A CN200310120194A CN1531211A CN 1531211 A CN1531211 A CN 1531211A CN A2003101201940 A CNA2003101201940 A CN A2003101201940A CN 200310120194 A CN200310120194 A CN 200310120194A CN 1531211 A CN1531211 A CN 1531211A
- Authority
- CN
- China
- Prior art keywords
- errors
- data
- syndrome
- error correction
- input data
- 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
-
- 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/155—Shortening or extension 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
- 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
- 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
-
- 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/1585—Determination of error values
-
- 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/1525—Determination and particular use of error location polynomials
- H03M13/1535—Determination and particular use of error location polynomials using the Euclid algorithm
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
本发明提供一种里德索洛蒙码或扩展里德索洛蒙码的译码方法和译码器。比较由错误个数推测部(60)从输入数据校正子(SI)推测的错误个数(EN1)和在译码过程中由错误个数计算部(70)计算出的错误个数(EN2),根据该比较结果和输入数据校正子(SI),由纠错部(40)进行纠错处理后,对于被纠错的数据(C1),由校正子计算部(10)再度进行校正子计算,求出订正数据校正子,当进行了误订正时或推测的错误个数(EN1)和计算的错误个数(EN2)不同时,把输入数据(DI)作为第二订正数据(C2)输出。当对扩展里德索洛蒙码进行译码时,有时对于非扩展成分和扩展成分进行了误订正,此外,当错误个数的推测错误时,有时进行多次的欧几里德算法运算处理和多次钱搜索处理。
Description
技术领域
本发明涉及进行里德索洛蒙(Reed-Solomon)码或扩展里德索洛蒙码的多重纠错的译码技术。
背景技术
在数字广播、数字磁记录中使用里德索洛蒙码,例如美国数字有线电视系统中采用扩展里德索洛蒙码。
在欧洲专利申请公开第1280281号中描述的背景技术1中,当对扩展里德索洛蒙码译码时,对接收语即输入数据进行纠错处理后,对于进行了纠错的数据再度进行校正子计算,求出订正数据校正子,进行纠错时,输出纠错前的输入数据。
在美国专利第6131178号中公开的背景技术2中,当对扩展里德索洛蒙码译码时,从接收语生成校正子,从该校正子推测接收语中产生的错误的个数,按照推测的错误个数变更欧几里德算法运算操作的初始值和结束条件,进行纠错。
发明内容
在所述背景技术1中,不仅对扩展成分,有时对于非扩展成分也进行误订正。
此外,在所述背景技术2中,当错误个数的推测错误时,有时进行多次欧几里德算法的运算处理和多次钱搜索处理,有时会再进行误订正。
本发明的目的在于:防止对里德索洛蒙码或扩展里德索洛蒙码进行译码时产生的误订正。
为了实现所述目的,本发明是在对由某纠错数的里德索洛蒙码或扩展里德索洛蒙码构成的接收语作为输入数据进行译码的方法中,使用根据输入数据和所述纠错数的校正子导出的错误位置多项式和错误评价多项式,对于输入数据进行纠错处理,把该处理结果作为第一订正数据,计算该第一订正数据的校正子的扩展成分和非扩展成分,根据该计算出的校正子对第一订正数据进行纠错处理,把该处理结果作为第二订正数据。
根据输入数据的校正子推测该输入数据中发生的错误个数,并且使用根据输入数据的校正子和所述纠错数导出的错误位置多项式和错误评价多项式计算错误的个数,使用推测的错误的个数和计算出的错误的个数求出所述第一订正数据。
(发明的效果)
根据本发明,比较从输入数据校正子推测的错误个数和在译码过程中计算出的错误个数,根据该比较结果和输入数据校正子进行纠错处理后,对纠错的数据再度进行校正子计算,求出纠错校正子,当进行误订正时或推测的错误个数和计算出的错误个数不同时,把输入数据作为最终的订正数据输出,所以能对于非扩展成分和扩展成分防止误订正,不用进行多次欧几里德算法的运算处理和多次钱搜索处理。据此,能提供小面积、低功率并且可靠性高的译码器结构。不仅扩展里德索洛蒙码,对于通常的里德索洛蒙码也能防止误订正。
附图说明
图1是表示本发明扩展里德索洛蒙码的译码方法步骤的一个例子的程序流程图。
图2是接着图1的程序流程图。
图3是图1中的错误个数推测步骤的详细程序流程图。
图4是表示本发明的扩展里德索洛蒙码的译码器结构例的框图。
图5是图4中的校正子计算部的主要部分框图。
图6是图4中的纠错部的主要部分框图。
图7是图6中的第一纠错部的主要部分框图。
图8是表示图5中的校正子运算器的一个构成例的主要部分框图。
符号的说明:
S10—第一校正子计算步骤;S20—错误位置多项式和错误评价多项式的计算步骤;S30—错误位置的计算步骤;S40—错误大小的计算步骤;S50—第一纠错步骤;S60—错误个数的推测步骤;S80—错误个数的计算步骤;S90—第二校正子计算步骤;S100—第二纠错步骤;10—校正子计算部;11—选择器;12—校正子运算器;12A—非扩展成分校正子处理器;12B—扩展成分校正子处理器;12C—总线驱动器;13—输入数据校正子保持器;14—订正数据校正子保持器;15—第一校正子零检测器;16—第二校正子零检测器;20—评价多项式和位置多项式导出部;30—钱搜索部;40—纠错部;41—第一纠错器;41A—纠错处理器; 41B—扩展成分纠错处理器;41C—总线驱动器;42—错误位置数据保持器;43—错误大小数据保持器;44—第二纠错器;45—比较器;50—数据存储部;60—错误个数推测部;70—错误个数计算部;C1、XC1—第一订正数据;C2—第二订正数据;DI、XDI—输入数据(接收语);EN1—推测的错误个数;EN2—计算的错误个数;eu—错误的大小;e-—对于扩展成分的错误大小;F1—第一标志信号;F2—第二标志信号;F3—第三标志信号;j-—对于扩展成分的错误位置;MOD—模式信号;NA—错误个数;NB—扩展成分的错误个数;SI、XSI—输入数据校正子;SC—订正数据校正子;α-ju—错误位置多项式的根;σ(z)—错误位置多项式;σ’(α-ju)—错误位置多项式的微分值;ω(z)—错误评价多项式;ω(α-ju)—错误评价值。
具体实施方式
下面,参照附图说明本发明的实施例。
这里处理的里德索洛蒙码是在伽罗瓦域GF(27)上,使用
原始多项式P(x)=x7+x3+1、
生成多项式G(x)=(x+α)(x+α2)(x+α3)(x+α4)(x+α5)的代码长度n=128、纠错数t=3、1符号的位数m=7、信息符号数i0=122、校验符号数p0=6、
扩展前的代码多项式W0=c126x126+c125x125+…+c1x+c0、
扩展校验符号c_=W0(α6)
=c126(α6)126+c125(α6)125+…+c1α6+c0、
扩展后的代码多项式W(x)=xW0(x)+c-
=c126x127+c125x126+…+c1x2+c0x+c-的1次扩展里德索洛蒙码。须指出的是,把扩展前的代码即非扩展成分的代码(c126,c125,…,c1,c0)称作非扩展成分。此外,把扩展校验符号c-称作扩展成分。
图1和图2是说明本发明的扩展里德索洛蒙码的译码方法的程序流程图。这里,在接收语即输入数据DI中,假设在输入数据DI中的位置ju的符号中产生大小eu的错误。这里假设
只有非扩展成分的接收多项式Y0(x)=y126x126+y125x125+…+y1x+y0
非扩展成分和扩展成分的接收多项式y(x)=y126x127+y125x126+…+y1x2+y0x+y-把这样的输入数据DI中的错误符号的位置ju称作错误的位置。
首先,图1中的步骤S10是第一校正子计算步骤。在该步骤S10中,为了进行校正子计算,进行以下的步骤S11和步骤S12。
在步骤S11中,把输入数据DI=(y126、y125、…、y1、y0、y-)的校正子作为输入数据校正子SI算出。即在步骤S11A中,计算非扩展成分的输入数据校正子
SIi=Y0(αi)
=y126(αi)126+y125(αi)125+…+y1αi+y0(i=1,2,3,4,5),在步骤S11B中,计算扩展成分的输入数据校正子SI6=Y0(α6)+y-
=y126(α6)126+y125(α6)125+…+y1α6+y0+y-。
在步骤S12中,判断输入数据校正子SI的成分是否都为0,当输入数据校正子SI的成分都为0时,判定为输入数据DI中没有错误,转移到步骤S50内的步骤S52的处理。当输入数据校正子SI的成分的任意一个不是0时,判定为输入数据DI中有错误,转移到步骤S20的处理。
在步骤S20中,通过欧几里德算法运算,从输入数据校正子SI求出错误位置多项式σ(z)和错误评价多项式ω(z)的各次数的系数。在欧几里德算法运算结束时,即使错误位置多项式σ(z)的次数为错误评价多项式ω(z)的次数以下时,也输出这些多项式的系数。
在步骤S30中,进行钱搜索,求出错误位置多项式σ(z)的根α-ju。即在错误位置多项式σ(z)中依次代入伽罗瓦域GF(27)的元,把错误位置多项式σ(z)的值变为0的元作为该错误位置多项式σ(z)的根α-ju求出。这时,错误位置多项式σ(z)当伽罗瓦域GF(27)中具有的彼此不同的根的数低于该错误位置多项式σ(z)的次数时,不判断能否纠错,输出根α-ju。错误位置ju分别与错误位置多项式σ(z)的根α-ju对应。在错误评价多项式ω(z)中代入错误位置多项式σ(z)的各根α-ju,求出错误评价值ω(α-ju),并且在错误位置多项式σ(z)的导函数中代入错误位置多项式σ(z)的各根α-ju,求出错误位置多项式的微分值σ’(α-ju)。
在步骤S40中,把错误评价值ω(α-ju)除以对应的错误位置多项式微分值σ’(α-ju),求出表示错误位置ju的各符号中的错误位的错误大小eu。
在步骤S50中,进行第一纠错。具体而言,进行以下的步骤S51、步骤S52、步骤S53和步骤S54。
在步骤S51中,为了进行纠错处理,对非扩展成分和扩展成分进行步骤S51A,对扩展成分进行步骤S51B。
在步骤S51A中,根据与错误位置多项式σ(z)的各根α-ju对应的错误位置ju、错误大小eu,对输入数据DI进行纠错处理,作为纠错处理数据,取只有非扩展成分的纠错处理数据的多项式F0(x)=f126x126+f125x125+…+f1x+f0
非扩展成分和扩展成分的纠错处理数据的多项式F(x)=xF0(x)+f-=f126x127+f125x126+…+f1x2+f0x+f-(f-为扩展成分(暂定值))。即从输入数据DI的错误位置ju的符号减去与它对应的错误大小eu。因为是在伽罗瓦域GF(2)的扩展域上的运算,所以也可以进行相加,以取代减去错误大小eu的运算。
在步骤S51B中,对于扩展成分,把在只有非扩展成分的纠错处理数据的多项式F0(x)中代入x=α6而取得的值加上纠错处理数据的扩展成分f-(暂定值)。即计算F0(α6)+f-=f126(α6)126+f125(α6)125+…+f1(α6)+f0+f-考虑到F0(α6)+f-为0时,在纠错处理数据的扩展成分f-(暂定值)中没有错误,所以把扩展成分f-(暂定值)原封不动地作为扩展成分的纠错处理数据,扩展成分的错误个数NB为0。当F0(α6)+f-不是0时,判断为纠错处理数据的扩展成分f-(暂定值)中有错误,纠错处理数据的扩展成分f-(暂定值)的错误大小e-变为F0(α6)+f-。因此,对纠错处理数据的扩展成分f-(暂定值)进行纠错处理,即在纠错处理数据的扩展成分f-(暂定值)中加上错误大小e-=f0(α6)+f-,把f-+e-=f-+F0(α6)+f-=F0(α6)+2f-=F0α6作为扩展成分的纠错处理数据,扩展成分的错误个数NB=1。
而在步骤S60中,从由步骤S10内的步骤S11计算的输入数据校正子SI推测输入数据DI中发生的错误个数EN1(将在后面详细描述)。
在步骤S80中,从在步骤S30中计算的错误位置多项式σ(z)的根α-ju求出错误个数NA加上来自步骤S51内的步骤S51B的扩展成分的错误个数NB。即错误个数EN2=NA+NB。可是,不重复加上扩展成分的错误个数。
在步骤S50内的步骤S53中,判断由步骤S60推测的错误个数EN1和由步骤S80算出的错误个数EN2是否相等,并且在步骤S60中推测的错误个数EN1和在步骤S80中算出的错误个数EN2都为3(纠错数t)以下,即判断是否“EN1=EN2≤3”,当“EN1=EN2≤3”时,转移到步骤S54的处理,当不是时(“EN1≠EN2或EN1>3或EN2>3”),转移到步骤S52。
在步骤S54中,当输入数据校正子SI的成分都不为0,并且“EN1=EN2≤3”时,把纠错处理数据作为第一订正数据C1。
在步骤S52中,当输入数据校正子SI的成分都为0,或“EN1≠EN2或EN1>3或EN2>3”时,把输入数据DI原封不动作为第一订正数据C1。
在图2中的步骤S90中,为了进行第一订正数据C1的校正子计算,进行以下的步骤S91和步骤S92。
在步骤S91中,
假设只有非扩展成分的第一订正数据C1的多项式D0(x)=d126x126+d125x125+…+d1x+d0
非扩展成分和扩展成分的第一订正数据C1的多项式D(x)=d126x127+d125x126+…+d1x2+d0x+d-,把第一订正数据C1=(d126、d125、…、d1、d0、d-)的校正子作为订正数据校正子SC算出。即在步骤S91A中,计算非扩展成分的订正数据校正子
SCi=D0(αi)
=d126(αi)126+d125(αi)125+…+d1αi+d0(i=1,2,3,4,5),在步骤S91B中,计算扩展成分的订正数据校正子
SC6=D0(α6)+d-
=d126(α6)126+d125(α6)125+…+d1α6+d0+d-
在步骤S92中,判断“订正数据校正子SC的成分全部为0或EN1≠EN2或EN1>3或EN2>3”的判定条件的真伪,当该判定条件为真时,判定在第一订正数据C1中没有错误,转移到步骤S100内的步骤S101内的步骤S101的处理。当不是时(订正数据校正子SC的成分中的任一个不是0,并且“EN1=EN2≤3”时),判定在第一订正数据C1中有错误,转移到步骤S100内的步骤S102的处理。
步骤S100是第二纠错步骤。具体而言,进行步骤S101和步骤S102。
在步骤S101中,考虑在第一订正数据C1中没有错误,因此,把第一订正数据C1原封不动地作为第二订正数据C2输出。
在步骤S102中,考虑在第一订正数据C1中有错误,所以根据与错误位置多项式σ(z)的各根α-ju对应的错误位置ju和错误的大小eu、对于扩展成分的错误大小e-,进行把第一订正数据C1复原为输入数据DI的处理。即对于第一订正数据C1的错误位置ju的符号,加上或减去与它对应的错误的大小eu,对于第一订正数据C1的扩展成分的符号,再加上或减去错误的大小e-(即对于第一订正数据C1的扩展成分的符号加上或减去错误的大小eu和错误的大小e-)。把复原取得的输入数据DI作为第二订正数据C2输出。
图3是图1中的个数推测步骤S60的详细程序流程图。下面,参照图3说明错误个数的推测方法。
在步骤S61中,判断由第一校正子计算步骤S10内的输入数据校正子计算步骤S11计算的输入数据校正子SI的成分是否都为0,当输入数据校正子SI的成分都为0时,转移到步骤S62的处理,当输入数据校正子SI的成分的任意一个不是0时,转移到步骤S63的处理。
在步骤S62中,输入数据校正子SI的成分都为0,推测错误个数为0个。
在步骤S63中,输入数据校正子SI的成分的任一个不是0时,计算:
第一错误个数推测式N1=S2 2+S1S3
第二错误个数推测式N2=S3 2+S1S5
第三错误个数推测式N3=S4 2+S3S5
第四错误个数推测式N4=S5N1+S3N2+S1N3。
在步骤S64中,判断第一、第二、第三错误个数推测式(N1、N2和N3)的值是否都为0。当N1、N2和N3的值都为0时,转移到步骤S65的处理,当N1或N2或N3的值的任一个不是0时,转移到步骤S68的处理。
在步骤S65中,是在步骤S64中N1、N2和N3的值都为0时,判断由步骤S11计算的输入数据校正子的扩展成分SI6是否为0。当SI6为0时,转移到步骤S66的处理,当SI6不是0时转移到步骤S67的处理。
在步骤S66中,当在步骤S65中SI6为0时,推测错误个数为1个。
在步骤S67中,当在步骤S65中SI6不是0时,推测错误个数为2个。
在步骤S68中,当在步骤S64中N1或N2或N3的值的任意一个不是0时,判断第四错误个数推测式N4的值是否为0。当N4的值为0时,转移到步骤S69的处理,当N4的值不是0时,转移到步骤S72的处理。
在步骤S69中,当在步骤S68中N4的值为0时,判断输入数据校正子的扩展成分SI6是否为0。当SI6为0时,转移到步骤S70的处理,当SI6不是0时转移到步骤S71的处理。
在步骤S70,当在步骤S69中SI6为0时,推测错误个数为2个。
在步骤S71,当在步骤S69中SI6不是0时,推测错误个数为3个。
在步骤S72,当在步骤S68中N4的值不是0时,判断SI6是否为0。当SI6为0时,转移到步骤S73的处理,当SI6不是0时转移到步骤S74的处理。
在步骤S73中,当在步骤S72中SI6为0时,推测错误个数为3个。
在步骤S74中,当在步骤S72中SI6不是0时,推测错误个数为4个。
如上所述,根据本译码方法,比较从输入数据校正子SI推测的错误个数EN1和由译码过程计算的错误个数EN2,根据该比较结果和输入数据校正子SI进行纠错处理后,对纠错了的数据C1再度进行校正子计算,求出订正数据校正子SC,当进行误订正时或推测的错误个数EN1和计算的错误个数EN2不同时,把输入数据DI作为第二订正数据C2输出,所以对于非扩展成分和扩展成分能防止误订正,不用进行多次欧几里德算法运算处理和多次钱搜索处理。
须指出的是,在图1中,在步骤S51B中,求出扩展成分的错误个数NB,但是如图1中用单点划线所示,在步骤S40中,根据与输入数据DI以及对应于错误位置多项式σ(z)的各根α-ju的错误位置ju和错误大小eu计算F0(α6)+f-,按照F0(α6)+f-是否为0,求出扩展成分的错误个数NB,把该结果反映到步骤S80的处理中。
此外,如从图1中的步骤S52向图2中的步骤S100中延长的单点划线所示,当输入数据校正子SI的成分都为0,或“EN1≠E2或EN1>3或EN2>3”时,可以把输入数据DI原封不动作为第二订正数据C2。
此外,在图1中的步骤S80中,从根α-ju求出错误个数NA,但是也可以在步骤S30中求出错误个数NA。也能代替图3中的步骤S61,使用图1中的步骤S12的判定结果,进行图3中的步骤S62和步骤S63的处理。
此外,可以通过省略图1中的步骤S60、步骤S80和步骤S53的处理,不推测错误个数,也不计算错误个数,只计算订正数据校正子SC校正子,在防止误订正时使用该结果。
下面对用于实现上述本发明的译码方法的装置构成进行说明。
图4是表示本发明的扩展里德索洛蒙码的译码器的结构例的框图。在图4中,10是校正子计算部,20是评价多项式和位置多项式导出部,30是钱(Chien)搜索部,40是纠错部,50是数据存储部,60是错误个数推测部,70是错误个数计算部。
把输入数据DI向校正子计算部10和数据存储部50输入。数据存储部50存储输入数据DI,把与该输入数据DI相同的数据XDI向纠错部40输出。
校正子计算部10把输入数据DI=(y126、y125、…、y1、y0、y-)的校正子作为输入数据校正子SI算出。即计算非扩展成分的输入数据校正子SIi=Y0(αi)
=y126(αi)126+y125(αi)125+…+y1αi+y0(i=1,2,3,4,5),计算扩展成分的输入数据校正子SI6=Y0(α6)+y-
=y126(α6)126+y125(α6)125+…+y1α6+y0+y-。检测输入数据校正子SI的成分是否都为0。当输入数据校正子SI的成分都为0时,判定在输入数据DI中没有错误,使第一标志信号F1有效,向纠错部40输出。当输入数据校正子SI的成分的任意一个不是0时,判定在输入数据DI中有错误,使第一标志信号F1为无效,向纠错部40输出。任何时候,把输入数据校正子SI向评价多项式和位置多项式导出部20和错误个数推测部60输出。可是,把向评价多项式和位置多项式导出部20输出的输入数据校正子表示为XSI,与向错误个数推测部60输出的输入数据校正子SI区分开。
在错误个数推测部60中,从由校正子计算部10计算的输入数据校正子SI推测输入数据DI中发生的错误个数EN1。
评价多项式和位置多项式导出部20根据欧几里德算法运算,从输入数据校正子XSI求出错误位置多项式σ(z)和错误评价多项式ω(z)的各次数的系数,把这些多项式的系数向钱搜索部30输出。此外,评价多项式和位置多项式导出部20具有数据保持器和伽罗瓦运算器,数据保持器保持输入数据校正子XSI和欧几里德算法运算的中间结果,最终输出错误位置多项式σ(z)和错误评价多项式ω(z)的各次数的系数。伽罗瓦运算器从数据保持器的输出进行欧几里德算法运算,求出中间结果,向数据保持器输出。须指出的是,在欧几里德算法运算结束时,即使当错误位置多项式σ(z)的次数为错误评价多项式ω(z)的次数以下时,也输出这些多项式的系数。
钱搜索部30进行钱搜索,求出错误位置多项式σ(z)的根α-ju。即在错误位置多项式σ(z)中依次代入伽罗瓦域GF(27)的元,把错误位置多项式σ(z)的值变为0的元作为该错误位置多项式σ(z)的根α-ju求出,向纠错部40和错误个数计算部70输出。这时,错误位置多项式σ(z)当伽罗瓦域GF(27)中具有的彼此不同的根的数低于该错误位置多项式σ(z)的次数时,不判断能否纠错,把根α-ju向纠错部40和错误个数计算部70输出。错误位置ju分别与错误位置多项式σ(z)的各根α-ju对应。在错误评价多项式ω(z)中代入错误位置多项式σ(z)的各根α-ju,求出错误评价值ω(α-ju),并且在错误位置多项式σ(z)的导函数中代入错误位置多项式σ(z)的各根α-ju,求出错误位置多项式的微分值σ’(α-ju),把错误评价值ω(α-ju)和错误位置多项式的微分值σ’(α-ju)向评价多项式和位置多项式导出部20输出。此外,评价多项式和位置多项式导出部20中的伽罗瓦运算器把错误评价值ω(α-ju)除以对应的错误位置多项式微分值σ’(α-ju),求出表示错误位置ju的各符号中的错误位的错误大小eu,把它向纠错部40输出。
在错误个数计算部70中,把从钱搜索部30计算出的错误位置多项式σ(z)的根α-ju求出的错误个数NA和来自纠错部40的扩展成分的错误个数NB相加。即计算错误个数EN2=NA+NB,把计算出的错误个数EN2提供给纠错部40。可是,不重复加上扩展成分的错误个数。
纠错部40根据与钱搜索部30输出的错误位置多项式σ(z)的根α-ju分别对应的错误位置ju、评价多项式和位置多项式导出部20输出的错误大小eu,对于数据存储部50输出的输入数据XDI进行纠错处理,作为纠错处理数据,假设只有非扩展成分的纠错处理数据的多项式F0(x)=f126x126+f125x125+…+f1x+f0
非扩展成分和扩展成分的纠错处理数据的多项式F(x)=xF0(x)+f-=f126x127+f125x126+…+f1x2+f0x+f-(f-为扩展成分(暂定值))。即从输入数据XDI的错误位置ju的符号减去与它对应的错误大小eu。因为是在伽罗瓦域GF(2)的扩展域上的运算,所以也可以进行相加,以取代减去错误大小eu。对于扩展成分,把在只有非扩展成分的纠错处理数据的多项式F0(x)中代入x=α6而取得的值加上纠错处理数据的扩展成分f-(暂定值),即计算F0(α6)+f-=f126(α6)126+f125(α6)125+…+f1α6+f0+f-,在F0(α6)+f-为0时,认为在纠错处理数据的扩展成分f-(暂定值)中没有错误,所以把纠错处理数据的扩展成分f-(暂定值)原封不动地作为扩展成分的纠错处理数据,扩展成分的错误个数NB为0。当F0(α6)+f-不是0时,判断为纠错处理数据的扩展成分f-(暂定值)中有错误,纠错处理数据的扩展成分f-(暂定值)的错误大小e-变为F0(α6)+f-。因此,对纠错处理数据的扩展成分f-(暂定值)进行纠错处理,即在纠错处理数据的扩展成分f-(暂定值)中加上错误大小e-=f0(α6)+f-,把f-+e-=f-+F0(α6)+f-=F0(α6)+2f-=F0(α6)作为扩展成分的纠错处理数据,扩展成分的错误个数NB=1。然后,检测由错误个数推测部60推测的错误个数EN1和由错误个数计算部70推测的错误个数EN2是否相等,并且在错误个数推测部60中推测的错误个数EN1和在错误个数计算部70中推测的错误个数EN2都为3(纠错数t)以下,即检测是否“EN1=EN2≤3”,当“EN1=EN2≤3”时,使后面描述的第三标志信号F3有效。当“EN1=EN2≤3”(第三标志信号F3有效),并且输入数据校正子SI的成分的任意一个不是0时(第一标志信号F1是无效,需要纠错时),把纠错处理数据作为第一订正数据C1向校正子计算部10和数据存储部50输出。当不是这样时,即“EN1≠EN2或EN1>3或EN2>3(第三标志信号F3无效),或输入数据校正子SI的成分都为0(第一标志信号F1有效,没必要纠错)时,把数据存储部50输出的输入数据XDI原封不动作为第一订正数据C1向校正子计算部10和数据存储部50输出。
数据存储部50存储第一订正数据C1,把与它相同的订正数据XC1提供给纠错部40。
校正子计算部10使只有非扩展成分的第一订正数据C1的多项式D0(x)=d126x126+d125x125+…+d1x+d0
并且,第一订正数据C1的多项式D(x)=d126x127+d125x126+…+d1x2+d0x+d-,把第一订正数据C1=(d126、d125、…、d1、d0、d-)的校正子作为订正数据校正子SC算出。即计算非扩展成分的订正数据校正子
SCi=D0(αi)
=d126(αi)126+d125(αi)125+…+d1αi+d0(i=1,2,3,4,5),计算扩展成分的订正数据校正子
SC6=D0(α6)+d-
=d126(α6)126+d125(α6)125+…+d1α6+d0+d-。再判断“订正数据校正子SC的成分全部为0或“EN1≠EN2或EN1>3或EN2>3”(第三标志信号F3无效)”的判定条件的真伪,当该判定条件为真时,判定在第一订正数据C1中没有错误,使第二标志信号F2有效,向纠错部40输出。当不是这样时,即订正数据校正子SC的成分的任意一个不是0,并且“EN1=EN2≤3”时(第三标志信号F3有效),判定在第一订正数据C1中有错误,使第二标志信号F2无效,向纠错部40输出。
当第二标志信号F2有效时,纠错部40认为在第一订正数据C1中没有错误,所以把数据存储部50输出的第一订正数据XC1原封不动作为第二订正数据C2输出。可是,当第二标志信号F2无效时,认为第一订正数据C1中有错误,所以根据与钱搜索部30输出的错误位置多项式σ(z)的根α-ju分别对应的错误位置ju、评价多项式和位置多项式导出部20输出的错误的大小eu、对于扩展成分的错误大小e-,进行把数据存储部50输出的第一订正数据XC1复原为输入数据DI的处理。即对于第一订正数据XC1的错误位置ju的符号加上或减去错误的大小eu,对于第一订正数据XC1的扩展成分的符号再加上或减去错误的大小e-(即对于第一订正数据XC1的扩展成分的符号加上或减去错误的大小eu和错误的大小e-)。把复原取得的输入数据DI作为第二订正数据C2输出。
图5是表示图4中的校正子计算部10的主要部分的框图。在图5中,11是选择器,12是校正子运算器,13是输入数据校正子保持器,14是订正数据校正子保持器,15是第一校正子零检测器,16是第二校正子零检测器。
选择器11根据模式信号MOD选择输入数据DI或第一订正数据C1,向校正子运算器12输出。
校正子运算器12根据模式信号MOD与选择器11同步工作,进行求出输入数据校正子SI的计算、求出订正数据校正子SC的计算,把求取了输入数据校正子SI的计算结果向输入数据校正子保持器13和错误个数推测部60输出,把求取了订正数据校正子SC的计算结果向订正数据校正子保持器14输出。为了缩小电路规模,也可以构成校正子运算器12,以便用相同处理器进行非扩展成分校正子的处理和扩展成分校正子的处理。
输入数据校正子保持器13根据模式信号MOD只取入校正子运算器12的输出中的输入数据校正子SI,保持后,把它作为输入数据校正子XSI向第一校正子零检测器15输出。
第一校正子零检测器15当输入数据校正子XSI的成分都为0时,判定输入数据DI中没有错误,使第一标志信号F1有效,当输入数据校正子XSI的成分的任意一个不是0时,判定输入数据DI中有错误,使第一标志信号F1无效,把该第一标志信号F1向纠错部40输出。
此外,输入数据校正子保持器13与第一校正子零检测器15输出第一标志信号F1的定时同步,向评价多项式和位置多项式导出部20输出输入数据校正子XSI。
同样,订正数据校正子保持器14根据模式信号MOD只取入校正子运算器12的输出中的订正数据校正子SC,保持后,把该订正数据校正子SC向第二校正子零检测器16输出。
第二校正子零检测器16当订正数据校正子SC的成分都为0时,判定第一订正数据C1中没有错误,使第二标志信号F2有效,当订正数据校正子SC的成分的任意一个不是0时,判定第一订正数据C1中有错误,使第二标志信号F2无效,把该第二标志信号F2向纠错部40输出。
图6是表示图4中的纠错部40的主要部分的框图。在图6中,41是第一纠错器,42是错误位置数据保持器,43是错误大小数据保持器,44是第二纠错器,45是比较器。
比较器45比较由错误个数推测部60推测的错误个数EN1和由错误个数计算部70计算的错误个数EN2,再把这些错误个数EN1以及EN2与3(纠错数t)比较,当“EN1=EN2≤3”时,使第三标志信号F3为有效,当不是这样时(“EN1≠EN2或EN1>3或EN2>3”),使第三标志信号F3无效,把该第三标志信号F3向第一纠错器41和第二纠错器44输出。
第一纠错器41当第一标志信号F1有效(没必要对输入数据DI纠错),或第三标志信号F3无效(“EN1≠EN2或EN1>3或EN2>3”)时,把输入数据DI原封不动作为第一订正数据C1输出,扩展成分的错误个数NB=0。此外,当第一标志信号F1无效(输入数据DI包含错误,需要纠错),并且第三标志信号F3有效(“EN1=EN2≤3”)时,在输入数据XDI中,对于与根α-ju对应的各错误位置ju表示的符号,进行加上或减去对于该错误位置ju的错误大小eu的纠错,把纠错处理后的数据作为纠错处理数据。对于扩展成分,把在只有非扩展成分的纠错处理数据的多项式F0(x)中代入x=α6而取得的值加上纠错处理数据的扩展成分f-(暂定值),即计算F0(α6)+f-=f126(α6)126+f125(α6)125+…+f1α6+f0+f-,考虑到F0(α6)+f-为0时,在纠错处理数据的扩展成分f-(暂定值)中没有错误,所以把纠错处理数据的扩展成分f-(暂定值)原封不动地作为扩展成分的纠错处理数据,扩展成分的错误个数NB为0。当F0(α6)+f-不是0时,判断为纠错处理数据的扩展成分f-(暂定值)中有错误,纠错处理数据的扩展成分f-(暂定值)的错误大小e-变为F0(α6)+f-。因此,对纠错处理数据的扩展成分f-(暂定值)进行纠错处理,即在纠错处理数据的扩展成分f-(暂定值)中加上错误大小e-=f0(α6)+f-,把f-+e-=f-+F0(α6)+f-=F0(α6)+2f-=F0(α6)作为扩展成分的纠错处理数据,扩展成分的错误个数NB=1。然后,把纠错处理数据作为第一订正数据C1输出。按所述而求出的第一订正数据C1向校正子计算部10和数据存储部50输出。
错误位置数据保持器42存储根α-ju、对于扩展成分的错误位置j-,把它们向第二纠错器44输出。
错误大小数据保持器43存储错误的大小eu和对于扩展成分的错误大小e-,把它们向第二纠错器44输出。
第二纠错器44当第二标志信号F2有效(对第一订正数据C1没必要纠错),或第三标志信号F3无效(“EN1≠EN2或EN1>3或EN2>3”)时,把第一订正数据XC1原封不动作为第二订正数据C2输出。此外,当第二标志信号F2无效(第一订正数据C1包含错误,有必要纠错),并且第三标志信号F3有效(“EN1=EN2≤3”)时,根据与根α-ju对应的错误位置ju和错误大小eu,对扩展成分,再根据错误位置j-和错误大小e-,进行把第一订正数据XC1复原为输入数据DI的复原处理。通过对于第一订正数据XC1的各错误位置ju表示的符号,加上或减去与该错误位置ju对应的错误大小eu,进行该复原处理,对于扩展成分,通过再加上或减去与错误位置j-(扩展成分)对应的错误大小e-(即对于第一订正数据XC1的扩展成分的符号加上或减去错误大小eu以及错误大小e-),能进行改复原处理。把这样复原取得的输入数据DI作为第二订正数据C2输出。如上所述,第二纠错器44当在第一纠错器41无法正确进行纠错处理,第一订正数据C1包含错误时,不输出该第一订正数据C1,而输出复原了的输入数据DI。
图7是表示图6中的第一纠错器41的主要部分的框图。在图7中,41A是纠错处理器,41B是扩展成分纠错处理器,41C是总线驱动器。
纠错处理器41A当第一标志信号F1有效(没必要对输入数据DI纠错时),或第三标志信号F3为无效时(“EN1≠EN2或EN1>3或EN2>3”),把输入数据XDI原封不动作为第一订正数据输出。此外,当第一标志信号F1无效(输入数据DI包含错误,有必要纠错),并且第三标志信号F3有效(EN1=EN2≤3)时,在输入数据XDI中对与根α-ju对应的各错误位置ju所示的符号进行加上或减去对于该错误位置ju的错误的大小eu的纠错,把纠错处理后的数据作为第一订正数据输出。
扩展成分纠错处理器41B当第一标志信号F1有效(没必要对输入数据DI纠错时),或第三标志信号F3为无效时(“EN1≠EN2或EN1>3或EN2>3”),把纠错处理的扩展成分(暂定值)即扩展成分的输入数据XDI原封不动地作为第一订正数据输出,扩展成分的错误个数NB=0。此外,当第一标志信号F1无效(输入数据DI包含错误,有必要纠错),并且第三标志信号F3有效(EN1=EN2≤3)时,对于扩展成分,把在只有非扩展成分的纠错处理数据的多项式F0(x)中代入x=α6而取得的值加上纠错处理数据的扩展成分f-(暂定值),即计算F0(α6)+f-=f126(α6)126+f125(α6)125+…+f1α6+f0+f-,考虑到F0(α6)+f-为0时,在纠错处理数据的扩展成分f-(暂定值)中没有错误,所以把扩展成分f-(暂定值)原封不动地作为扩展成分的纠错处理数据,扩展成分的错误个数NB为0。当F0(α6)+f-不是0时,判断为纠错处理数据的扩展成分f-(暂定值)中有错误,纠错处理数据的扩展成分f-(暂定值)的错误大小e-变为F0(α6)+f-。因此,对纠错处理数据的扩展成分f-(暂定值)进行纠错处理,即在纠错处理数据的扩展成分f-(暂定值)中加上错误大小e-=f0(α6)+f-,把f-+e-=f-+F0(α6)+f-=F0(α6)+2f-=F0(α6)作为扩展成分的纠错处理数据,扩展成分的错误个数NB=1。然后,扩展成分纠错处理器41B把这些扩展成分的纠错处理数据作为扩展成分的第一订正数据输出。
总线驱动器41C把来自纠错处理器41A的第一订正数据和来自扩展成分纠错处理器41B的第一订正数据统一作为由非扩展成分和扩展成分构成的第一订正数据C1输出。
如上所述,在图4~图7所示的译码器中,用纠错部40比较由错误个数推测部60从输入数据校正子SI推测的错误个数EN1和在译码过程中由错误个数计算部70计算出的错误个数EN2,根据该比较结果和输入数据校正子SI,由纠错部40进行纠错处理后,对于纠错的数据C1,由校正子计算部10再度进行校正子计算,求出订正数据校正子SC,当进行误订正时或推测的错误个数EN1和计算的错误个数EN2不同时,把输入数据DI作为第二订正数据C2输出。
须指出的是,可以把图4的错误个数推测部60的功能移动到校正子计算部10的内部,把错误个数计算部70的功能移动到纠错部40的内部。
此外,在图4中,由错误个数计算部70从根α-ju求出错误个数NA,但是也可以由钱搜索部30求出错误个数NA。
此外,也可以采用由相同的处理器进行图7中的两个处理器41A、41B的处理的结构。
也可以用分别不同的处理器进行图5中的校正子运算器12的非扩展成分的处理和扩展成分的处理。图8是表示这时的校正子运算器12的主要部分的框图。在图8中,12A是非扩展成分校正子处理器,12B是扩展成分校正子处理器,12C是总线驱动器。
非扩展成分校正子处理器12A分别计算输入数据DI的非扩展成分和第一订正数据C1的非扩展成分的校正子,向总线驱动器12C输出。
扩展成分校正子处理器12B分别计算输入数据DI的扩展成分和第一订正数据C1的扩展成分的校正子,向总线驱动器12C输出。
总线驱动器12C把来自非扩展成分校正子处理器12A的输入数据非扩展成分的校正子、来自扩展成分校正子处理器12B的输入数据扩展成分的校正子统一作为输入数据校正子SI输出,把来自非扩展成分校正子处理器12A的订正数据非扩展成分的校正子、来自扩展成分校正子处理器12B的订正数据扩展成分的校正子统一作为订正数据校正子SC输出。
希望采用把基于校正子计算部10的输入数据校正子SI的计算等处理作为第一阶段,把评价多项式和位置多项式导出部20以及钱搜索部30的处理作为第二阶段,基于纠错部40的第一订正数据C1的输出和基于校正子计算部10的订正数据校正子SC的计算等处理作为第三阶段,并且把基于纠错部40的第二订正数据C2的输出处理作为第四阶段的流水线结构。校正子计算部10以成为基准的时钟信号的2倍频率工作,在一系列的译码过程中,使用2次(第一和第三阶段中)。
如上所述,本发明的译码方法和译码器能防止译码时的误订正,在数字广播、数字磁记录等中里德索洛蒙码或扩展里德索洛蒙码的多重纠错中是有用的。
Claims (14)
1.一种译码方法,把由某纠错数的里德索洛蒙码或扩展里德索洛蒙码构成的接收语作为输入数据进行译码,其特征在于:
包括:
使用根据所述输入数据和所述纠错数的校正子导出的错误位置多项式和错误评价多项式,对于所述输入数据进行纠错处理,把该处理结果作为第一订正数据的第一纠错步骤;
计算所述第一订正数据的校正子的校正子计算步骤;
根据由所述校正子计算步骤计算的校正子,对所述第一订正数据进行纠错处理,把该处理结果作为第二订正数据的第二纠错步骤。
2.根据权利要求1所述的译码方法,其特征在于:
还包括:根据所述输入数据的校正子推测所述输入数据中发生的错误个数的错误个数推测步骤;
使用根据所述输入数据的校正子和所述纠错数导出的错误位置多项式和错误评价多项式计算错误的个数的错误个数计算步骤;
在所述第一纠错步骤中,使用由所述错误个数推测步骤推测的错误的个数和由所述错误个数计算步骤计算出的错误的个数,对所述输入数据进行纠错处理。
3.根据权利要求2所述的译码方法,其特征在于:
所述第一纠错步骤包括:
判定所述推测的错误个数和所述计算出的错误个数相等,并且所述推测的错误个数和所述计算出的错误个数都在所述纠错数以下的第一判定条件的真伪的错误个数判定步骤;
进行所述输入数据的纠错处理,求出纠错处理数据,并且根据所述纠错处理数据,求出扩展成分的纠错处理数据的纠错处理步骤;
在所述错误个数判定步骤中,所述第一判定条件判定为真,并且判定所述输入数据校正子的成分的任意一个不是0时,把由所述纠错处理步骤中求出的纠错处理数据作为所述第一订正数据的步骤;
在所述错误个数判定步骤中,所述第一判定条件判定为伪,或判定为所述输入数据校正子的成分都为0时,把所述输入数据作为所述第一订正数据的步骤。
4.根据权利要求2所述的译码方法,其特征在于:
在所述第二纠错步骤中,根据所述第一订正数据的校正子和所述推测的错误个数以及所述计算出的错误个数,对所述第一订正数据进行纠错处理。
5.根据权利要求3所述的译码方法,其特征在于:
还具有:判定所述第一订正数据的校正子是否都为0,或在所述错误个数判定步骤中所述第一判定条件为伪的第二判定条件的真伪的步骤;
在所述第二纠错步骤中,当所述第二判定条件为真时,把所述第一订正数据作为所述第二订正数据,当所述第二判定条件为伪时,复原所述输入数据,作为所述第二订正数据。
6.根据权利要求2所述的译码方法,其特征在于:
所述错误个数推测步骤包括:
判断所述输入数据的校正子成分是否都为0的第一步骤;
当所述输入数据的校正子成分都为0时,推测为没有错误的第二步骤;
当所述输入数据的校正子成分的任意一个不是0时,为了推测所述输入数据的非扩展成分的错误个数,计算第一、第二、第三、第四错误个数推测式的第三步骤;
判断所述第一、第二、第三错误个数推测式的值是否都为0的第四步骤;
在所述第四步骤中,当所述所述第一、第二、第三错误个数推测式的值都为0时,判断所述输入数据的校正子的扩展成分是否都为0的第五步骤;
在所述第五步骤中,当所述输入数据的校正子的扩展成分为0时,推测错误个数等于从所述纠错数减去2的数的第六步骤;
在所述第五步骤中,当所述输入数据的校正子的扩展成分不是0时,推测错误个数等于从所述纠错数减去1的数的第七步骤;
在所述第四步骤中,当所述所述第一、第二、第三错误个数推测式的值的任意一个不是0时,判断所述第四错误个数推测式的值是否为0的第八步骤;
在所述第八步骤中,当所述第四错误个数推测式的值为0时,判断所述输入数据的校正子的扩展成分是否为0的第九步骤;
在所述第九步骤中,当所述输入数据的校正子的扩展成分为0时,推测错误个数等于从所述纠错数减去1的数的第十步骤;
在所述第九步骤中,当所述输入数据的校正子的扩展成分不是0时,推测错误个数等于所述纠错数的第十一步骤;
在所述第八步骤中,当所述第四错误个数推测式的值不是0时,判断所述输入数据的校正子的扩展成分是否为0的第十二步骤;
在所述第十二步骤中,当所述输入数据的校正子的扩展成分为0时,推测错误个数等于所述纠错数的第十三步骤;
在所述第十二步骤中,当所述输入数据的校正子的扩展成分不是0时,推测错误个数等于把所述纠错数加1的数的第十四步骤。
7.根据权利要求1~6中的任意一项所述的译码方法,其特征在于:
所述纠错数是3。
8.一种译码器,用于把由某纠错数的里德索洛蒙码或扩展里德索洛蒙码构成的接收语作为输入数据进行译码,其特征在于:
包括:
把所述输入数据的校正子作为输入数据校正子求出,根据所述输入数据校正子输出表示所述输入数据中是否存在错误的第一标志信号,并且把根据所述输入数据和所述输入数据校正子求出的第一订正数据的校正子作为订正数据校正子求出,根据所述订正数据校正子输出表示所述第一订正数据中是否存在错误的第二标志信号的校正子计算部;
用于根据由所述校正子计算部计算的输入数据校正子,推测所述输入数据中发生的错误个数的错误个数推测部;
用于根据所述输入数据校正子求出评价多项式和位置多项式的各次数的系数,并且根据从所述系数求出的错误评价值和对应的错误位置多项式微分值,求出错误的大小的评价多项式和位置多项式导出部;
用于根据所述系数求出所述错误位置多项式的根,并且求出把所述根分别代入所述错误评价多项式中而取得的错误评价值和把所述根分别代入所述错误位置多项式的导函数中而取得的错误位置多项式微分值的钱搜索部;
用于根据所述输入数据和所述根以及所述错误的大小,计算错误个数的错误个数计算部;
用于根据所述输入数据和所述根以及对应的所述错误的大小,对所述输入数据进行纠错处理,求出纠错处理数据的纠错部;
所述纠错部当由所述错误个数推测部推测的个数和由所述错误个数计算部计算的错误个数相等,并且由所述错误个数推测部推测的个数和由所述错误个数计算部计算的错误个数都在所述纠错数以下,并且所述第一标志信号表示所述输入数据中存在错误时,把所述纠错处理数据作为所述第一订正数据输出;
当由所述错误个数推测部推测的个数和由所述错误个数计算部计算的错误个数不等,或由所述错误个数推测部推测的个数或由所述错误个数计算部计算的错误个数的任意一个比所述纠错数大,或所述第一标志信号表示所述输入数据中不存在错误时,把所述输入数据作为所述第一订正数据输出;
当所述第二标志信号表示在所述第一订正数据中存在错误,并且由所述错误个数推测部推测的个数和由所述错误个数计算部计算的错误个数相等,并且由所述错误个数推测部推测的个数和由所述错误个数计算部计算的错误个数都在所述纠错数以下时,把对所述第一订正数据进行复原为所述输入数据的复原处理而取得的数据作为第二订正数据输出;
当所述第二标志信号表示在所述第一订正数据中不存在错误,或由所述错误个数推测部推测的个数和由所述错误个数计算部计算的错误个数不相等,或由所述错误个数推测部推测的个数或由所述错误个数计算部计算的错误个数的任意一个比所述纠错数大时,把所述第一订正数据作为第二订正数据输出。
9.根据权利要求8所述的译码器,其特征在于:
所述校正子计算部包括:
用于把所述输入数据和所述纠错部输出的所述第一订正数据作为输入,依次选择输入的所述输入数据和输入的所述第一订正数据输出的选择器;
用于根据所述选择器输出的所述输入数据求出所述输入数据校正子,根据所述第一订正数据求出所述订正数据校正子的校正子运算器;
用于保持并输出所述输入数据校正子的输入数据校正子保持器;
用于保持并输出所述订正数据校正子的订正数据校正子保持器;
用于当所述输入数据校正子保持器输出的所述输入数据校正子的成分都为0时,为了表示所述输入数据中不存在错误而输出所述第一标志信号,当所述输入数据校正子保持器输出的所述输入数据校正子的成分的任意一个不是0时,为了表示所述输入数据中存在错误而输出所述第一标志信号的第一校正子零检测器;
用于当所述订正数据校正子保持器输出的所述订正数据校正子的成分都为0时,为了表示所述第一订正数据中不存在错误而输出所述第二标志信号,当所述订正数据校正子保持器输出的所述订正数据校正子的成分的任意一个不是0时,为了表示所述第一订正数据中存在错误而输出所述第二标志信号的第二校正子零检测器。
10.根据权利要求9所述的译码器,其特征在于:
所述校正子运算器包括:
用于根据所述选择器依次输出的所述输入数据和所述第一订正数据,分别求出非扩展成分的所述输入数据校正子和所述订正数据校正子的非扩展成分校正子处理器;
用于根据所述选择器依次输出的所述输入数据和所述第一订正数据,分别求出扩展成分的所述输入数据校正子和所述订正数据校正子的扩展成分校正子处理器;
用于把从所述非扩展成分校正子处理器输出的非扩展成分的所述输入数据校正子和从所述扩展成分校正子处理器输出的扩展成分的所述输入数据校正子统一输出,并且把从所述非扩展成分校正子处理器输出的非扩展成分的所述订正数据校正子和从所述扩展成分校正子处理器输出的扩展成分的所述订正数据校正子统一输出的总线驱动器。
11.根据权利要求8所述的译码器,其特征在于:
所述纠错部包括:
用于比较由所述错误个数推测部推测的个数和由所述错误个数计算部计算的错误个数的比较部;
用于输出所述第一订正数据、错误位置、错误大小以及错误个数的第一纠错器;
用于保持并输出所述错误位置的错误位置数据保持器;
用于保持并输出所述错误大小的错误大小数据保持器;
用于输出所述第二订正数据的第二纠错器;
所述比较部输出表示由所述错误个数推测部推测的错误个数和由所述错误个数计算部计算的错误个数是否相等,并且由所述错误个数推测部推测的错误个数和由所述错误个数计算部计算的错误个数是否都在所述纠错数以下的第三标志信号;
所述第一纠错器对所述输入数据进行从与所述根分别对应的错误位置表示的符号减去或加上对应的所述错误的大小的纠错处理,求出纠错处理数据,并且根据所述纠错处理数据求出扩展成分的纠错处理数据,把它们作为纠错处理数据;
当所述第三标志信号表示由所述错误个数推测部推测的错误个数和由所述错误个数计算部计算的错误个数相等,并且由所述错误个数推测部推测的错误个数和由所述错误个数计算部计算的错误个数都在所述纠错数以下,并且所述第一标志信号表示所述输入数据中存储错误时,把所述纠错处理数据作为第一订正数据输出;
当所述第三标志信号表示由所述错误个数推测部推测的错误个数和由所述错误个数计算部计算的错误个数不等,或由所述错误个数推测部推测的错误个数或由所述错误个数计算部计算的错误个数的任意一个大于所述纠错数,或所述第一标志信号表示所述输入数据中不存在错误时,把所述输入数据作为所述第一订正数据输出;
所述第二纠错器当所述第二标志信号表示所述第一订正数据中存在错误,并且所述第三标志信号表示由所述错误个数推测部推测的错误个数和由所述错误个数计算部计算的错误个数相等,并且由所述错误个数推测部推测的错误个数和由所述错误个数计算部计算的错误个数都在所述纠错数以下时,进行把对所述第一订正数据加上或减去与所述错误位置表示的符号对应的所述错误大小值,复原为所述输入数据的复原处理而取得的数据作为所述第二订正数据输出;
所述第二纠错器当所述第二标志信号表示所述第一订正数据中不存在错误,或所述第三标志信号表示由所述错误个数推测部推测的错误个数和由所述错误个数计算部计算的错误个数不等,或由所述错误个数推测部推测的错误个数或由所述错误个数计算部计算的错误个数的任意一个大于所述纠错数时,把所述第一订正数据作为所述第二订正数据输出。
12.根据权利要求11所述的译码器,其特征在于:
所述第一纠错器包括:
用于输出所述第一订正数据的纠错处理器;
用于输出扩展成分的所述第一订正数据、对于所述扩展成分的错误位置、错误大小和错误个数的扩展成分纠错处理器;
把所述第一订正数据和扩展成分的所述第一订正数据统一作为所述第一订正数据输出的总线驱动器;
所述纠错处理器对所述输入数据进行从与所述根分别对应的错误位置表示的符号减去或加上对应的所述错误大小的纠错处理,求出纠错处理数据;
当所述第三标志信号表示由所述错误个数推测部推测的错误个数和由所述错误个数计算部计算的错误个数相等,并且由所述错误个数推测部推测的错误个数和由所述错误个数计算部计算的错误个数都在所述纠错数以下,并且所述第一标志信号表示所述输入数据中存储错误时,把所述纠错处理数据作为第一订正数据输出;
当所述第三标志信号表示由所述错误个数推测部推测的错误个数和由所述错误个数计算部计算的错误个数不等,或由所述错误个数推测部推测的错误个数或由所述错误个数计算部计算的错误个数的任意一个大于所述纠错数,或所述第一标志信号表示所述输入数据中不存在错误时,把所述输入数据作为所述第一订正数据输出;
所述扩展成分纠错处理器根据所述纠错处理数据求出扩展成分的纠错处理数据,并且求出扩展成分的错误个数;
当所述第三标志信号表示由所述错误个数推测部推测的错误个数和由所述错误个数计算部计算的错误个数相等,并且由所述错误个数推测部推测的错误个数和由所述错误个数计算部计算的错误个数都在所述纠错数以下,并且所述第一标志信号表示所述输入数据中存储错误时,把扩展成分的所述纠错处理数据作为扩展成分的所述第一订正数据输出;
当所述第三标志信号表示由所述错误个数推测部推测的错误个数和由所述错误个数计算部计算的错误个数不等,或由所述错误个数推测部推测的错误个数或由所述错误个数计算部计算的错误个数的任意一个大于所述纠错数,或所述第一标志信号表示所述输入数据中不存在错误时,把扩展成分的所述输入数据作为扩展成分的所述第一订正数据输出。
13.根据权利要求8所述的译码器,其特征在于:
还包括:用于在所述纠错部开始求出所述第一订正数据之前,保持并输出所述输入数据,并且在所述纠错部开始求出所述第二订正数据之前,保持并输出所述第一订正数据的数据存储部。
14.根据权利要求8~13中的任意一项所述的译码器,其特征在于:所述纠错数是3。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003066149 | 2003-03-12 | ||
JP2003066149 | 2003-03-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1531211A true CN1531211A (zh) | 2004-09-22 |
CN1317828C CN1317828C (zh) | 2007-05-23 |
Family
ID=32767930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101201940A Expired - Fee Related CN1317828C (zh) | 2003-03-12 | 2003-12-10 | 里德索洛蒙码或扩展里德索洛蒙码的译码方法和译码器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7206993B2 (zh) |
EP (1) | EP1458105B1 (zh) |
KR (1) | KR20040081366A (zh) |
CN (1) | CN1317828C (zh) |
DE (1) | DE60311764T2 (zh) |
TW (1) | TW200419921A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1773864B (zh) * | 2004-11-12 | 2010-05-05 | 中国科学院空间科学与应用研究中心 | 一种纠错能力为2的扩展里德—所罗门码的译码方法 |
CN1773863B (zh) * | 2004-11-12 | 2010-06-02 | 中国科学院空间科学与应用研究中心 | 一种可用于大容量存储器的rs(256,252)码纠错译码芯片 |
CN102567134A (zh) * | 2012-01-06 | 2012-07-11 | 威盛电子股份有限公司 | 存储器模块的错误检查与校正系统以及方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3352659B2 (ja) * | 2000-03-27 | 2002-12-03 | 松下電器産業株式会社 | 復号装置及び復号方法 |
US20070150798A1 (en) * | 2005-12-12 | 2007-06-28 | Jia-Horng Shieh | Method for decoding an ecc block and related apparatus |
US8433985B2 (en) * | 2010-03-29 | 2013-04-30 | Intel Corporation | Error correction mechanisms for flash memories |
JP5525498B2 (ja) * | 2011-09-13 | 2014-06-18 | 株式会社東芝 | 誤り検出装置 |
JP6036089B2 (ja) * | 2012-09-25 | 2016-11-30 | 日本電気株式会社 | データ遷移トレース装置、データ遷移トレース方法、及び、データ遷移トレースプログラム |
RU2677372C1 (ru) * | 2017-08-07 | 2019-01-16 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет "(ЮЗГУ) | Устройство декодирования произведений кодов Рида-Соломона |
US11651830B2 (en) * | 2020-07-09 | 2023-05-16 | Synopsys, Inc. | Low latency decoder for error correcting codes |
TWI817616B (zh) * | 2022-07-19 | 2023-10-01 | 旺宏電子股份有限公司 | 記憶體裝置、錯誤糾正裝置及其錯誤糾正方法 |
US11949429B2 (en) | 2022-07-19 | 2024-04-02 | Macronix International Co., Ltd. | Memory device, error correction device and error correction method thereof |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5373511A (en) * | 1992-05-04 | 1994-12-13 | Motorola, Inc. | Method for decoding a reed solomon encoded signal with inner code and apparatus for doing same |
FR2721775B1 (fr) * | 1994-06-27 | 1996-09-06 | Sgs Thomson Microelectronics | Circuit de localisation d'erreurs d'un décodeur Reed-Solomon. |
JP3233860B2 (ja) * | 1996-10-25 | 2001-12-04 | 松下電器産業株式会社 | リードソロモン復号器 |
US5905740A (en) * | 1997-04-08 | 1999-05-18 | Seagate Technology, Inc. | Apparatus and method for error correction |
JPH113573A (ja) | 1997-04-15 | 1999-01-06 | Mitsubishi Electric Corp | 拡大リードソロモン符号の誤り訂正復号方法と誤り訂正復号装置、1次伸長拡大リードソロモン符号の誤り訂正方法と誤り訂正装置、および2次伸長拡大リードソロモン符号の誤り訂正方法と誤り訂正装置 |
JPH1117557A (ja) | 1997-05-01 | 1999-01-22 | Mitsubishi Electric Corp | 誤り訂正方法及び誤り訂正装置 |
US5978956A (en) * | 1997-12-03 | 1999-11-02 | Quantum Corporation | Five-error correction system |
US6081920A (en) | 1998-01-08 | 2000-06-27 | Lsi Logic Corporation | Method and apparatus for fast decoding of a Reed-Solomon code |
JP3272307B2 (ja) * | 1998-09-22 | 2002-04-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | リード・ソロモン符号の復号回路 |
CN1097882C (zh) * | 1998-10-14 | 2003-01-01 | 三星电子株式会社 | 里德-索罗门解码器和解码方法 |
JP3549788B2 (ja) * | 1999-11-05 | 2004-08-04 | 三菱電機株式会社 | 多段符号化方法、多段復号方法、多段符号化装置、多段復号装置およびこれらを用いた情報伝送システム |
CN1286275C (zh) * | 1999-11-24 | 2006-11-22 | 三洋电机株式会社 | 纠错装置 |
JP3352659B2 (ja) | 2000-03-27 | 2002-12-03 | 松下電器産業株式会社 | 復号装置及び復号方法 |
US7020826B2 (en) * | 2002-01-23 | 2006-03-28 | Thomson Licensing | Intra-decoder component block messaging |
-
2003
- 2003-11-17 US US10/714,363 patent/US7206993B2/en not_active Expired - Fee Related
- 2003-11-19 TW TW092132446A patent/TW200419921A/zh unknown
- 2003-12-10 EP EP03028506A patent/EP1458105B1/en not_active Expired - Lifetime
- 2003-12-10 DE DE60311764T patent/DE60311764T2/de not_active Expired - Lifetime
- 2003-12-10 CN CNB2003101201940A patent/CN1317828C/zh not_active Expired - Fee Related
-
2004
- 2004-03-12 KR KR1020040016751A patent/KR20040081366A/ko not_active Application Discontinuation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1773864B (zh) * | 2004-11-12 | 2010-05-05 | 中国科学院空间科学与应用研究中心 | 一种纠错能力为2的扩展里德—所罗门码的译码方法 |
CN1773863B (zh) * | 2004-11-12 | 2010-06-02 | 中国科学院空间科学与应用研究中心 | 一种可用于大容量存储器的rs(256,252)码纠错译码芯片 |
CN102567134A (zh) * | 2012-01-06 | 2012-07-11 | 威盛电子股份有限公司 | 存储器模块的错误检查与校正系统以及方法 |
CN102567134B (zh) * | 2012-01-06 | 2015-01-07 | 威盛电子股份有限公司 | 存储器模块的错误检查与校正系统以及方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20040081366A (ko) | 2004-09-21 |
DE60311764T2 (de) | 2007-06-14 |
CN1317828C (zh) | 2007-05-23 |
EP1458105A2 (en) | 2004-09-15 |
US20040199857A1 (en) | 2004-10-07 |
US7206993B2 (en) | 2007-04-17 |
EP1458105B1 (en) | 2007-02-14 |
DE60311764D1 (de) | 2007-03-29 |
EP1458105A3 (en) | 2004-12-08 |
TW200419921A (en) | 2004-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1317828C (zh) | 里德索洛蒙码或扩展里德索洛蒙码的译码方法和译码器 | |
US6487692B1 (en) | Reed-Solomon decoder | |
CN1055586C (zh) | 纠错译码器和纠错译码方法 | |
US8397116B2 (en) | Decoding method and memory system device using the same | |
CN1674446A (zh) | 根据低密度奇偶校验码系统实现的解码单元和预处理单元 | |
CN1593012A (zh) | 用于低密度奇偶校验码的幅度相位偏移群集的比特标记 | |
CN1080494C (zh) | 纠错设备及其方法 | |
CN1823474A (zh) | 解码装置及解码方法 | |
CN1894857A (zh) | 使用Galois域乘法查询表的Reed-Solomon码的编码和解码 | |
CN1623280A (zh) | 纠错译码器中的双chien搜索块 | |
CN1757165A (zh) | 译码器内的部件块消息传送 | |
CN1146116C (zh) | 截短法尔码的差错捕获译码方法和装置 | |
CN1254921C (zh) | 改进的哈夫曼译码方法和装置 | |
CN1467918A (zh) | 里得-索罗门解码器 | |
TWI401910B (zh) | 在包含多層級與可適性消除資料的移動式無線應用中用來校正錯誤的裝置與方法 | |
CN1176714A (zh) | 用于三错校正和四错校正的改进系统 | |
CN1252937C (zh) | 解码装置以及解码方法 | |
CN1286275C (zh) | 纠错装置 | |
WO2020001638A1 (zh) | 一种提高Turbo译码性能的方法、装置及计算机设备 | |
CN1822530A (zh) | 一种检测和纠正数据误码的方法及系统 | |
CN1302624C (zh) | 基于格子的信道编码所用的解码器 | |
CN1957533A (zh) | 维特比译码装置以及维特比译码方法 | |
JPH07202720A (ja) | 通信方法とその装置 | |
CN1369984A (zh) | 处理(m)或(2m)比特数据的里德-索罗门解码器及其解码方法 | |
CN1155161C (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070523 Termination date: 20111210 |