CN104348588A - 多位错误的有效错误校正 - Google Patents

多位错误的有效错误校正 Download PDF

Info

Publication number
CN104348588A
CN104348588A CN201410375353.XA CN201410375353A CN104348588A CN 104348588 A CN104348588 A CN 104348588A CN 201410375353 A CN201410375353 A CN 201410375353A CN 104348588 A CN104348588 A CN 104348588A
Authority
CN
China
Prior art keywords
circuit
szw
syndrome
bit
errors
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
CN201410375353.XA
Other languages
English (en)
Other versions
CN104348588B (zh
Inventor
C.巴达克
M.格泽尔
T.柯恩
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of CN104348588A publication Critical patent/CN104348588A/zh
Application granted granted Critical
Publication of CN104348588B publication Critical patent/CN104348588B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • 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/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking 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/1575Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
    • 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/65Purpose and implementation aspects
    • H03M13/6575Implementations based on combinatorial logic, e.g. Boolean circuits

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本发明涉及多位错误的有效错误校正。用于错误校正的电路包括用于确定待用作在错误校正表达式中的系数的中间值Zw0,Zw1,Zw2,Zw3的多个子电路。中间值根据子校验子 s 1, s 3, s 5来确定,使得在1位错误或2位错误或3位错误的情况下,当错误出现在位位置 i 中时,以及当没有错误出现在位位置 i 中时。可以接着基于对估计的错误校正表达式来确定位位置 i 的校正值

Description

多位错误的有效错误校正
技术领域
一些实施例涉及用于错误校正和/或错误检测的电路。一些实施例涉及用于错误校正和/或错误检测的方法。一些实施例涉及任意3位的校正。
背景技术
错误检测和校正或者错误控制是可以使得能够在不可靠的通信信道和/或不可靠的数据存储装置上进行数字数据的可靠递送的技术。错误检测和校正属于信息理论和编码理论的领域,并在计算机科学和电信中得到应用。许多通信信道和/或数据存储器可能遭受信道噪声和干扰,且因此可能在从源到接收器的传输/存储期间引入错误。错误检测技术可以允许检测这样的错误,同时错误校正可以使得能够进行原始数据的重构。可以例如以特定长度的二进制字的形式提供待传输或存储的数据。
已知的是,在特定长度的二进制序列或二进制字中使用BCH代码通过组合错误校正电路来校正n个随机1位错误、2位错误和随机3位错误,如例如在Okano, H.和Imai, H.的“A construction method of high speed decoders using ROM’s for Bose-Chadhuri-Hocquenghem and Reed Solomon Codes”(IEEE Trans. Comp. C36 (10) 1165-1175, 1987)中描述的。
当BCH代码用在Galois域GF(2 m )上时,则n≤2 m -1且错误校验子s可以由3m个分量组成,其中第一m个分量可以形成子校验子s 1,第二m个分量形成子校验子s3 ,且第三m个分量形成子校验子s5 ,如在使用BCH代码时常见的。如果考虑总奇偶性,则错误校验子仍可以包含应由sP 指定的另外的二进制分量。
发明内容
实施例提供用于在n位数二进制字v =v 1 , ,v n 中的位的至少1位、2位和3位错误的错误校正和可能错误检测的电路,所述至少1位、2位和3位错误由来自在Galois域GF(2 m )上的二进制BCH代码Cn位数码字 的位错误产生,其中m ≥ 4。代码C包括至少d ≥ 7的码距离。BCH代码C包括H矩阵H,使得H矩阵的第一m行形成子矩阵H 1,H矩阵的第二m行形成第二子矩阵H 3,以及H矩阵的另外m行形成第三子矩阵H 5,其中:
以及
其中
适用,α是在作为m分量二进制列矢量的其矢量表示中的Galois域GF(2 m )的元素,且α j 的相应指数j将被解释为以2m - 1为模,且n ≤ 2 m - 1适用。电路具有下面的特征并包括:
用于确定错误校验子s的校验子生成器Synd,其中s的第一m个分量形成m分量子校验子s 1s的第二m个分量形成第二m分量子校验子s 3,以及s的另外m个分量形成第三子校验子s 5,其中
s 1 = H 1 ·v , s 3 = H 3 · v 以及s 5 = H 5 · v
适用,
多个子电路,使得对于遭受n位数二进制字v =v 1 ,...,v n 的可能错误校正的每个位vi ,存在子电路SKi ,其被配置成使得它根据下列关系式从中间值形成校正值,所述中间值针对遭受可能错误校正的所有位位置是相等的:
其中
以及中间值根据子校验子s 1, s 3, s 5来确定,使得在1位错误或2位错误或3位错误的情况下,下列情况适用:当错误出现在位位置i中时,以及当没有错误出现在位位置i中时
为了确定中间值,均存在一个子电路,子电路均被配置成使得它从用于遭受字v 的可能错误校正的每个位位置的子校验子s 1, s 3, s 5提供相同的中间值;以及存在组合电路Vkn,其被配置成使得它以分量方式将遭受可能错误校正的位v i 与由子电路SKi 提供的对应校正值组合成可能的校正后的位
实施例提供用于错误校正和错误检测的对应方法。实施例提供对应的非瞬时存储媒介。
附图说明
将使用附图描述本公开的实施例,其中:
图1示出用于错误校正的电路的示意性方框图;
图2示出用于基于公共中间值Zw0, Zw1, Zw2和Zw3为字v’的第i位确定校正信号Δvi 的子电路SKi 的可能实现的示意性方框图;
图3示出配置成组合校正信号Δvi 与字v 以得到错误校正后的字vcor 的组合电路的可能实现的示意性方框图;
图4A到4D示出用于确定中间值Zw 0 ,Zw 1 , Zw 2Zw 3的子电路SZw 0, SZw 1, SZw 2, SZw 3的可能实现的示意性方框图;
图5示出配置成提供中间值Zw 0 ,Zw 1 , Zw 2Zw 3的子电路的示意性方框图;
图6示出由错误检测电路补充的图1的电路的示意性方框图;
图7示出错误检测电路和用于提供中间值Zw 0的子电路SZw 0的联合实现的示意性方框图;以及
图8示出图7的错误检测电路的可能实现的示意性方框图。
具体实施例
常规操作在由组合错误校正电路校正随机3位错误时可以通常与用于确定对应的错误校正信号的相对高的硬件费用和相对长的信号运行时间有关。特别是,校正信号的相对长的信号运行时间可能对时钟速率有界限效应。
将期望的是,促进在二进制数据字中的1位、2位和3位错误的校正,且特别是改进所要求的错误校正电路,使得要求尽可能小的努力和尽可能短的信号运行时间。
理论背景
对于随机分布的多位错误的错误校正,可以使用BCH代码,如对本领域中的技术人员已知的且例如在Lin, S.、Costello, D. 的“Error Control Coding”(Prentice Hall, 1983)中描述的,其中特别参考第143-160页。同样,Okano, H.和Imai, H.的文件“A construction method of high speed decoders using ROM s for Bose-Chadhuri-Hocquenghem and Reed Solomon Codes”(IEEE Trans. Comp. C36 (10) 1165-1175, 1987)将被提到,其中呈现了用于BCH代码的错误校正的组合电路。
BCH代码是专门的线性代码,其(如任何线性代码)可以由奇偶校验矩阵H和可以例如从奇偶校验矩阵导出的生成器矩阵G描述。如果代码具有N的长度并包括k个信息位,则H是具有M行和N列的(M, N)矩阵,其中M = Nk。然后,生成器矩阵G是具有k行和N列的(k, N)矩阵,且代码包括M个校验位。
未缩短的3位错误校正BCH代码可以由H矩阵描述:
其中H矩阵以分开的形式呈现。因此,当代码未缩短时,H 1 , H 3H 5可以被选择为:
以及
在这里,α可以被选择为也被称为Galois域的有限域GF(2 m )的元素。频繁地,α可以被选择为本原元素。于是,用于i = 0, …, 2 m – 2的α i 除了元素0以外可以假设Galois域的任何可能值。N = 2 m - 1于是适用。α j , α3j 和α5j 的指数可以被确定为以2 m – 1为模。
H 1 , H 3H 5通常均可以是包括m行和N = 2 m - 1列的(m,N)矩阵。在专门的应用情况下,可以是下列情况:矩阵H 5的例如m行中的一些行可以是线性相关的。在这样的情况下,矩阵H 5的行可以被省略,直到所有行是线性不相关的。例如,矩阵H 5的行的数量于是也可以小于m
Galois域GF(2 m )的元素α i 在其矢量表示中可以是m位数二进制列矢量。
如果未缩短的BCH代码的H矩阵的L列被检测到,则可以得到长度n = NL 的缩短的BCH代码的H矩阵。对于缩短的代码,下式适用:n = NL < 2 m – 1。
可能的是,由仅由1组成的行补充H矩阵H。在H矩阵中的仅由1组成的附加的行对应于总奇偶性的附加的考虑。
当考虑总奇偶性时,H矩阵可以具有下列形式:
其中P是仅由1组成的行。
也可能的是,在缩短代码时检测H矩阵的所有列,其例如在对应于矩阵H 3的行的分量中包括偶数数量的1。H矩阵的剩余列于是可以仅包括在对应于奇偶矩阵H 3的分量中总是包括奇数数量的1的列。在这样的情况下,总奇偶性可以仅仅被确定为子校验子s 3的分量的异或和,这可能是有利的。对应于奇偶矩阵H 3的行可以接着形成行的子集,使得属于行的这个子集的列的分量包括奇数数量的1。还可能的是,选择行的不同子集,并在缩短H矩阵时删除列,使得属于选择的子集的分量中的剩余列包括奇数数量的1。奇偶性可以接着被形成为属于行的选择的子集的校验子的分量的异或和。
现在考虑长度n的缩短的BCH代码,其中n = NL < 2 m – 1。也被称为代码矢量的这个代码v = v 1, …, vn 的码字由n个分量v 1, v 2, …, vn 组成。在这里,代码矢量可以被描述为行矢量或列矢量。如果矩阵乘以来自右边的矢量,则矢量将被解释为列矢量,且结果是列矢量。如果矩阵乘以来自左边的矢量,则矢量是行矢量,且相乘的结果是也是行矢量。于是不要求的是,将对应的矢量明确地指定为列矢量或行矢量,因为从上下文很清楚它是列矢量还是行矢量。如果 特别注意到矢量w被表示为列矢量,则它被写为w T
如果码字v = v 1, …, vn 错误改变成字v´ = , …, ,则在vv 之间的差异可以由错误矢量e描述,其中:
e = e 1, …, en = v 1, …, vn = vv´
vi 是不同的且时,错误矢量e的分量ei 等于1。当vj 是相同的且vj = 适用时,错误矢量e的分量ej 等于0。
如果错误可以由错误校正电路校正,则由错误校正电路输出的校正值可以等于错误矢量的分量,且校正电路在这种情况下在其n个输出中的第i个输出处输出校正值ei 。校正值ei 可以接着与分量进行异或以被校正成vcor = vi ei 。校正值ei 也可以被组合成校正矢量。如果错误可以由代码校正,则校正矢量等于错误矢量。如果矢量v是可分开的代码的代码矢量(其中在代码矢量v中的数据位和校验位分开),则也可能的是,仅校正数据位或甚至仅校正矢量v´的数据位的部分。在这些情况下,位(针对其期望和/或实现错误校正的可能性)可以被称为“遭受可能错误校正的位”。
v´的错误校验子s = (s 1, s 3, s 5, sP )可以由下式确定:
(1)
其中
(2)
(3)
(4)
sP = Pv´ = (1, …, 1) ∙ v´ = ⊕ … ⊕ (5)
适用。
码字v的错误校验子通常等于0,使得对于码字v,下式适用:
(6)
且对于非码字v´ = ve,下式适用:
   (7)
错误校验子s可以由错误矢量e确定。
为了从错误的非码字v´确定相关联的正确码字,那些分量将被反转,为此,ej = 1适用,使得ej 是由错误校正电路确定的对应校正值。
对于所考虑的缩短的BCH代码,错误矢量e将用H矩阵根据错误校验子s = (s 1, s 3, s 5, sP )来确定:
矩阵H 1, H 3, H 5由它们的列描述:
(8)
(9)
(10)
以及
(11)
如已经提到的,α的指数可以被确定为以2 m – 1为模,且指数i 1, i 2, …, in 都是两两不同的。不是必须ij = jj = 1, …, n
如果1位错误呈现于第j位中,则下式适用:
(12)
(13)
(14)
(15)
以及
如果2位错误存在于位位置jl中,则下式适用:
(16)
(17)
(18)
(19)
以及
如果3位错误存在于位位置jlk中,则下式适用:
(20)
(21)
(22)
(23)
以及
将期望的是,错误校正电路根据错误校验子(即,根据BCH代码的校验子分量s 1, s 3s 5)有效地确定任何1位错误或任何2位错误或任何3位错误的错误位置并执行位的校正,所述位被检测为在数据字的所确定的位位置中是不合适的。
原则上,这通过例如实现为ROM或实现为分配对应的不合适位的组合功能的分配器将是可能的,所述不合适位将被校正到错误校验子s = (s 1, s 3, s 5, sP )的值,即,错误校验子s的所有可能值。
由于成本和复杂性的原因,这可能实际上是不可能的,且因此由于校验子s的大字宽而不在实际系统中实现。
BCH代码可能能够通过对应的定位多项式的零或根来确定不合适的位的位置。定位多项式的系数可以由错误校验子的分量确定。在错误校正中,可以首先确定错误的数量。根据错误的数量,可以计算对应于错误的数量的定位多项式,其零确定待校正的错误的错误位置。
通常,不同次数的不同定位多项式可以用于不同数量的错误,以便确定待校正的错误位置。
因此,对于3位错误,可以存在具有三个零的三次定位多项式,其中那三个零可以确定必须在3位错误的情况下被校正的位位置。对于2位错误,可能有具有两个零的二次定位多项式,其中在两位错误的情况下,那两个零可以确定被校正的位位置。
对于1位错误,可以提供具有一个零的另外的一次定位多项式,其中在1位错误的情况下,零可以确定被校正的位位置。
为了确定出现的错误位置,首先可以确定错误的数量。基于所确定的数量的错误,可以接着确定待使用的定位多项式,且可以确定这个定位多项式的零。这些零对应于待校正的位位置。
在Okano, H.和Imai, H.的“A construction method of high speed decoders using ROM’s for Bose-Chadhuri-Hocquenghem and Reed Solomon Codes”(IEEE Trans. Comp. C36 (10) 1165-1175, 1987)中,描述了三次定位多项式在仅仅两个错误的情况下包括等于0的一个零和对应于待校正的两个不合适的位的位置的两个另外的零。
在仅有一个错误存在的情况下,三次定位多项式不允许从这个三次多项式导出仅有一个现有错误的位置。根据存在1位错误还是2位或3位错误,一次多项式或三次多项式将用于根据那些多项式的零确定校正位置。原则上,可以执行待校正的位的确定,使得可以首先确定所出现的错误的数量。基于所出现的错误的数量,可以选择对应的定位多项式。所选择的定位多项式的零可以确定待校正的位位置。原则上,零和因此待校正的位位置可以根据所选择的对应次数的定位多项式的系数来被制成表并由分配器确定。如所指示的,对应定位多项式的系数可以取决于错误校验子的子校验子s 1, s 3, s 5,每个子校验子可以具有字宽m,使得零可以取决于字宽3 ∙ m的数据。对于实际字宽,实际上不可能由于系数的大字宽而由分配器确定已知定位多项式的零。
在Okano, H.和Imai, H.的“A construction method of high speed decoders using ROM’s for Bose-Chadhuri-Hocquenghem and Reed Solomon Codes”(IEEE Trans. Comp. C36 (10) 1165-1175, 1987)中,对应定位多项式的变量首先被转换,使得所转换的多项式仅包括一个单个系数,其取决于子校验子s 1, s 3, s 5的值。这个系数具有m的字宽。完成该转换,使得所转换的多项式的另外的系数等于1或0,且不再取决于子校验子s 1, s 3, s 5。所转换的多项式的零可以接着经由分配器根据这一个系数来确定,所述这一个系数例如由ROM根据子校验子s 1, s 3, s 5来确定且仅包括字宽m。原始定位多项式的零可以通过向后转换并使用解码器来确定。
对于不同数量的错误,如上所述,使用不同的定位多项式,其在Okano, H.和Imai, H.的“A construction method of high speed decoders using ROM’s for Bose-Chadhuri-Hocquenghem and Reed Solomon Codes”(IEEE Trans. Comp. C36 (10) 1165-1175, 1987)中的表1中被表示出。
在根据Okano, H.和Imai, H.的“A construction method of high speed decoders using ROM’s for Bose-Chadhuri-Hocquenghem and Reed Solomon Codes”(IEEE Trans. Comp. C36 (10) 1165-1175, 1987)的错误校正中,例如不利的是,要求错误校正相对复杂的转换方法、将根据错误的数量估计不同的多项式以及错误校正是相对慢的。
根据本公开,将至少部分地减少这些缺点。
根据本公开的至少一个方面,对于待校正的每个位,提供用于校正第i位的子电路SKi ,实现该子电路,以便可以为n位数二进制字v´ = …., 的待校正的每个位形成并行的校正值Δvi 。错误校正电路SKi 可以被配置成使得它根据下面的关系式从中间值Zw 0, Zw 1, Zw 2, Zw 3形成校正值Δvi
其中
在这里,对于待校正的所有位,使用相同的中间值Zw 0, Zw 1, Zw 2, Zw 3,使得中间值仅须在电路中被提供一次。
可以根据子校验子s 1, s 3, s 5来确定中间值Zw 0, Zw 1, Zw 2, Zw 3,使得在1位错误或2位错误或3位错误的情况下,当错误出现在位位置i上时,,且当没有错误出现在位位置i上时,。通常不必估计在不同的错误情况下的不同方程,即,通常不必针对1位错误、2位错误和3位错误估计不同的方程。
在没有错误存在且s 1 = s 3 = s 5 = 0适用的情况下,对于待校正的所有位,适用且因此Δvi = 0适用,使得切断错误校正电路在无错误情况下不是必要的。
如果zi的所有分量等于0或如果zi等于在GF(2m)中的零值,则校正值Δvi 等于1。如果zi的分量中的至少一个等于1或如果zi不等于在GF(2m)中的零值,则校正值Δvi 等于0。
因此,如果所有中间值Zw0 , Zw1 , Zw2 , Zw3 乘以相同的因子(其对于子校验子s1, s3和s5的所有值不等于0),则得到相同的校正值。由此,乘法是在Galois域GF(2m)中的乘法。
中间值Zw0 , Zw1 , Zw2 Zw3 的确定可以由对应的子电路SZw 0, SZw 1, SZw 2SZw 3执行。可以实现子电路SZw 0, SZw 1, SZw 2SZw 3,使得它们从子校验子s 1, s 3, s 5形成中间值Zw0 , Zw1 , Zw2 Zw3 。此外,组合电路Vkn可以针对分量方式组合待校正的v´的位而存在,组合校正值Δvi 的所述组合电路Vkn由具有待校正的位的子电路SKi 提供。它被配置成使得它从待校正的位和所提供的校正值Δvi 形成校正后的位,其中例如 = ⊕ Δvi 适用。
可能的是,子电路SZw 0, SZw 1, SZw 2SZw 3被配置成使得它们根据子校验子s 1, s 3s 5来提供中间值,
(24)
(25)
(26)
(27)
其中
适用,以及
适用。
运算+指定在Galois域GF(2 m )中的对应元素的加法,其在矢量表示中对应于对应的m分量二进制矢量的分量方式异或组合。运算∙指的是在Galois域GF(2 m )中的乘法的运算。
同样可能的是,子电路SZw 0, SZw 1, SZw 2, SZw 3被配置成使得子电路SZw 0, SZw 1, SZw 2SZw 3根据子校验子s 1, s 3, s 5来提供中间值。
(28)
(29)
(30)
(31)
其中
适用,以及
适用。
运算+指定在Galois域GF(2 m )中的对应元素的加法,其在矢量表示中对应于对应的m分量二进制矢量的分量方式异或组合。运算∙指的是在Galois域GF(2 m )中的乘法的运算。
由方程(28)到(31)确定的中间值通过使由方程(24)到(27)确定的对应中间值与下列因子相乘由方程(24)到(27)确定的中间值产生:
因子总是不等于(0, 0, …, 0) 。如果 + s 3 = (0, 0, …, 0),则N(s 1, s 3) ≠ 0,以及如果 + s 3 ≠ (0, 0, …, 0),则N(s 1, s 3) = 0。
下式适用
其中[( + s 3) + (α0N(s 1, s 3))]描述在矢量表示中的( + s 3)和(α0N(s 1, s 3)) 的分量方式异或运算,而[( + s 3) ∨ (α0N(s 1, s 3))]描述在矢量表示中的( + s 3)和(α0N(s 1, s 3)) 的分量方式或运算。这个等式从下列事实产生:只有当 + s 3 = (0, 0, …, 0)时,则N(s 1, s 3) = 1,且因此α0N(s 1, s 3) = α0 = 1, 0, …, 0 ≠ (0, 0, …, 0),以及总是当 + s 3 ≠ (0, 0, …, 0)时,则N(s 1, s 3) = 0且α0N(s 1, s 3) = (0, 0, …, 0)适用。待组合的矢量的分量的值1和1不出现,为此,异或运算1 ⊕ 1 = 0和或运算的1 ∨ 1 = 1将产生不同的结果。原则上,于是当然也可能用异或运算组合一些分量并用或运算组合剩余分量。为了使描述保持尽可能简单,在另外的描述中,异或运算被使用,虽然当然也可以使用或运算。
与中间值Zw 0, Zw 1, Zw 2, Zw 3是根据方程(24)到(27)还是根据方程(28)到(31)来确定无关,得到待校正的位的相同校正值。由(24)到(27)中的方程确定的和根据方程(28)到(31)确定的中间值因此被称为相等的。从上下文中很清楚使用什么中间值。
现在参考实施例解释本公开。在图1中,示意性图示用于校正1位、2位和3位错误的创造性电路。它包括校验子生成器Synd 11、用于确定中间值Zw 0的子电路SZw 0 120、用于确定中间值Zw 1的子电路SZw 1 121、用于确定中间值Zw 2的子电路SZw 2 122以及用于确定中间值Zw 3的子电路SZw 3 123。电路还包括用于确定校正值Δvi n个子电路SKi 13i,i = 1, …, n。电路还包括用于以分量方式组合待校正的字v´ = , …, 与从子电路SK 1 131, …, SKn 13n确定的校正值Δv 1, …, Δvn 的组合电路Vkn 14。校验子生成器Synd 11根据下列关系式例如通过异或运算从应用于其n分量二进制输入的数据字v´ = , …, 形成错误校验子s = (s 1, s 3, s 5)的分量s 1, s 3, s 5
校验子生成器Synd 11可以在其三个m位宽二进制输出处提供该关系式。
矩阵H 1, H 3, H 5可以是用于1位、2位和3位错误的错误校正和具有3 ∙ m校正位的在Galois域GF(2 m )上的长度n的BCH代码的H矩阵的子矩阵:
携带子校验子s 1的校验子生成器Synd 11的第一输出可以连接到用于形成中间值Zw 0, Zw 1, Zw 2, Zw 3的子电路SZw 0 120, SZw 1 121, SZw 2 122, SZw 3 123中的每个子电路的第一输入。携带子校验子s 3的校验子生成器Synd 11的第二输出可以连接到子电路SZw 0 120, SZw 1 121, SZw 2 122, SZw 3 123中的每个子电路的第二输入。携带子校验子s 5的校验子生成器Synd 11的第三输出可以连接到子电路SZw 0 120, SZw 1 121中的每个子电路的第三输入。
携带中间值Zw 0的子电路SZw 0 120的m位宽输出可以连接到用于形成校正值Δvj 的子电路SKj 13j中的每个子电路的第一输入,j = 1, …, n
携带中间值Zw 1的子电路SZw 1 121的m位宽输出可以连接到用于形成校正值Δvj 的子电路SKj 13j中的每个子电路的第二输入,j = 1, …, n
携带中间值Zw 2的子电路SZw 2 122的m位宽输出可以连接到用于形成校正值Δvj 的子电路SKj 13j中的每个子电路的第三输入,j = 1, …, n
携带中间值Zw 3的子电路SZw 3 123的m位宽输出可以连接到用于形成校正值Δvj 的子电路SKj 13j中的每个子电路的第四输入,j = 1, …, n
对于k = 1, …, n,子电路SKk 13k的1位宽输出可以连接到组合电路Vkn 14的第一n个二进制输入中的每个的1位宽第k个输入,在组合电路Vkn 14的n个另外的二进制输入处,待校正的数据字v´ = , …, 的分量, …, 被应用。组合电路Vkn 14可以在其n个二进制输出处输出例如由分量方式异或运算实现的校正后的值 = ⊕ Δvl l = 1, …, n
换句话说,用于错误校正的电路可以包括用于确定用作在错误校正多项式中的系数的中间值Zw0, Zw1, Zw2, Zw3的多个子电路。中间值Zw0, Zw1, Zw2, Zw3可以根据子校验子s 1, s 3, s 5来确定,使得在1位、2位或3位错误的情况下,当错误出现在位位置i上时,以及当没有错误出现在位位置i上时。可以接着基于对点估计的错误校正多项式来确定位位置i的校正值。中间值Zw0, Zw1, Zw2, Zw3中的至少一个的确定可以包括作为至少两个子校验子的函数的代数项,所述代数项指示1位错误是否存在于可能错误的二进制字v’中。
在实施例中,图2示出子电路SKi 2的一个可能的实现。它可以包括常数乘法器21、22和23、异或电路24和或非电路25。
中间值Zw 0所应用于的第一m位宽输入可以被馈送到异或电路24的第一m位宽输入。携带中间信号Zw 1的第二m位宽输入可以连接到常数乘法器21的输入,常数乘法器21的m位宽输出可以连接到异或电路24的第二m位宽输入。在常数乘法器21中,输入中间值Zw 1可以乘以常数因子。乘法可以是在Galois域GF(2 m )中的乘法。
可以通过使Zw 1以及还有在其相应的多项式表示中彼此相乘以Galois域GF(2 m )的模数多项式为模并通过经由异或运算实现因而产生的线性方程来确定常数乘法器21的具体实现。
携带中间信号Zw 2的子电路SKi 2的第三m位宽输入可以连接到常数乘法器22的输入,常数乘法器22的m位宽输出可以连接到异或电路24的第三m位宽输入。在常数乘法器中,输入中间值Zw 2可以乘以常数因子。乘法可以再次是在Galois域GF(2 m )中的乘法。
可以通过使Zw 2以及还有在其相应的多项式表示中彼此相乘以Galois域GF(2 m )的模数多项式为模并通过经由异或运算实现因而产生的线性方程来确定常数乘法器22的具体实现。
携带中间信号Zw 3的第四m位宽输入可以连接到常数乘法器23的输入,常数乘法器23的m位宽输出可以连接到异或电路24的第四m位宽输入。在常数乘法器中,输入中间值Zw 3可以乘以常数因子。乘法可以再次是在Galois域GF(2 m )中的乘法。
可以通过使Zw 3以及还有在其相应的多项式表示中彼此相乘以Galois域GF(2 m )的模数多项式为模并通过经由异或运算实现因而产生的线性方程来确定常数乘法器23的具体实现。
携带值z(i)的异或电路24的m位宽输出可以连接到或非电路25的m位宽输入,或非电路25在其1位宽输出处输出校正信号Δvi
在中间值Zw 3恒定等于α0的情况下,可以提供对子电路SKi 的特别的实现。
因为α0 = 适用,在函数上在异或电路24的第四m位宽输入处总是应用常数值。通过简单的等值转换,这个常数值可以因此在仅仅通过反转z(i)的分量来形成值z(i)的异或和中被考虑,z(i)的对应分量等于1。这可以通过异或电路24的对应输出行经由反相器连接到或非电路25的对应输入来实现,同时异或电路24(其的对应分量等于0)的输出行直接连接到或非电路25的对应输入。
在1位宽输出处,或非电路25可以输出1位宽校正信号Δvi
在图3中,图示组合电路Vkn 3的一个可能的实现。它包括第一n个二进制输入,在这些输入处,由对应的子电路SK 1, …, SKn 输出的校正值Δv 1, …, Δvn 被输入。待校正的数据字v´的分量, …, 被应用在组合电路Vkn 3的另外第二n个二进制输入处。校正后的数据字vcor = , …, 的校正后的值, …, 在组合电路Vkn 3的n个二进制输出处被输出。对于i = 1, …, n,携带校正信号Δvi 的电路Vkn 3的第一n个输入中的第i个输入可以连接到异或门3i的第一输入,异或门3i的第二输入可以连接到第二n个输入中的第i个输入,其携带值且携带校正后的信号的其输出作为电路Vkn 3的第i个输出被引出。
很清楚,组合电路可以例如等同地改变,而不改变关于本公开的范围的任何事物。因此例如可能使用反转的校正信号并使它们与同门而不是异或门连接。同样例如可能将扰动的数据字v´的分量反转地提供到组合电路Vkn并至少部分地实现同门而不是异或门,如果它们的输入之一当前被反转。
在图4A中,图示用于确定中间值Zw 0的子电路SZw 0的可能实现。图4A的子电路SZw 0被提供以根据下面的关系式形成中间值Zw 0
在子电路SZw 0的第一m位宽输入处应用校验子分量s 1,在第二m位宽输入处应用校验子分量s 3,以及也在第三m位宽输入处应用校验子分量s 5。在m位宽输出处输出中间值Zw 0。携带校验子分量s 1的第一输入连接到平方电路41的m位宽输入和Galois域乘法器48的第一输入。携带校验子分量s 3的第二m位宽输入连接到Galois域乘法器42的第一输入,Galois域乘法器42的第二m位宽输入连接到携带值的平方电路41的输出。携带校验子分量s 5的第三m位宽输入连接到异或电路43的第一输入,异或电路43的第二m位宽输入连接到携带值s 3的Galois域乘法器42的输出。
可以在图1中的校验子生成器Synd 11的输出处提供校验子分量s 1, s 3s 5。异或电路43可以实现分量方式异或运算。连接到Galois域乘法器45的第一输入的异或电路43的m按位输出携带s 3 + s 5。Galois域乘法器45的第二m按位输入也可以连接到SZw 0的第一输入,其携带校验子分量s 1并且也可以连接到平方电路41的输入和Galois域乘法器48的第一输入。携带值s 1(s 3 + s 5)的Galois域乘法器45的输出可以连接到Galois域乘法器46的第一输入。
携带信号的Galois域乘法器48的输出可以连接到异或电路49的第一输入,异或电路49的第二m位宽输入可以连接到携带校验子分量s 3的子电路SZw 0的第二输入,其中这个输入也可以连接到Galois域乘法器42的第一输入。携带值 + s 3的它的输出可以连接到具有二进制输出的或非电路410的m位宽输入并连接到异或电路47的第一m位宽输入。
确切地当 + s 3 = 0时或当 = s 3时且因此也当s 1 = s 3 = 0适用以及因此α0N(s 1, s 3) = (1, 0, …, 0)也适用时,或非电路410的1位宽输出可以携带值1。注意,α0 = (1, 0, 0, ..., 0)具有m位(见图4D)。或非电路410的输出可以连接到具有两个二进制输入和一个二进制输出的异或门412的第一输入。在异或门412的第二输入处,可以应用值 + s 3的最高有效位。确切地当 + s 3 = 0时,这个最高有效位可以反转。在这种情况下,它可以被设置为值1。在任何其它情况下,它可以保持不变。由异或门412输出的值(作为最高有效位MSB)连同异或电路49的输出线的m – 1个最低有效位一起形成应用于反相器413的m位宽输入的值 + s 3 + α0N(s 1, s 3),反相器413用于形成在Galois域中反转的值,且其在可以连接到Galois域乘法器46的第二m位宽输入的其输出处可以输出值[ + s 3 + α0N(s 1, s 3)]-1。在一个实施例中,异或门412也可以由具有两个二进制输入和一个二进制输出的或门代替,因为如上所述,两个输入值1和1的连接不必被实现,且或函数和异或函数对输入值[0, 0], [1, 0], [0, 1]是相等的。在可以连接到异或电路47的第二输入的其输出处,Galois域乘法器46可以输出值
这个值可以应用于异或电路47的第二输入,在异或电路47的第一m位宽输入处应用值 + s 3。在其输出处,它可以输出中间值Zw 0,其中:
可以例如经由可以被实现为ROM或组合函数的具有m个输入和m个输出的表来实现用于反转Galois域中的输入值的子电路13。
实现平方电路、Galois域乘法器和反相器是本领域中的技术人员已知的。此外,平方电路41也可以被实现为具有m个输入和m个输出的表。也可能将这个电路实现为线性电路。所考虑的Galois域的所有元素在其多项式表示中可以被表示为(m – 1)次多项式,且平方的多项式可以再次被确定为以模数多项式为模作为Galois域的(m – 1)次多项式,因此,针对具体实施例仍将描述的线性表示直接跟随。
因此,也可以通过乘操作数的对应多项式以本领域中的技术人员已知的且除了仍然对具体Galois域描述的以外的模数多项式为模来导出Galois域乘法器42、45、46和48的具体实现。
在图4B中,示意性图示用于实现中间值Zw 1的子电路SZw 1的一个可能实现。图4B的子电路SZw 1被提供以根据下列关系式形成中间值Zw 1
在子电路SZw 1的第一m位宽输入处可以应用校验子分量s 1,在第二m位宽输入处可以应用校验子分量s 3,以及也在第三m位宽输入处可以应用校验子分量s 5。在m位宽输出处可以输出中间值Zw 1。携带校验子分量s 1的第一输入可以连接到平方电路414的m位宽输入和Galois域乘法器418的第一输入。携带校验子分量s 3的第二m位宽输入可以连接到Galois域乘法器415的第一输入,Galois域乘法器415的第二m位宽输入可以连接到可以携带值的平方电路414的输出。平方电路414的输出可以附加地连接到Galois域乘法器418的第二输入。
Galois域乘法器415的输出可以连接到异或电路416的第一m位宽输入,异或电路416的第二m位宽输入可以连接到可以携带校验子分量s 5的电路SZw 1的第三m位宽电路输入。可以携带校验子分量s 3的电路SZw 1的第二m位宽输入可以连接到异或电路419的第一输入,异或电路419的第二m位宽输入可以连接到可以携带值的Galois域乘法器418 的输出。
可以在图1中的校验子生成器Synd 11的输出处提供校验子分量s 1, s 3s 5。异或电路416可以实现分量方式异或运算。可以连接到Galois域乘法器417的第一输入的异或电路416的m按位输出可以携带值s 3 + s 5
可以携带值 + s 3的异或电路419的m位宽输出可以连接到具有二进制输出的或非电路420的m位宽输入。
确切地当 + s 3 = 0时,或非电路420的1位宽输出可以携带“1”。这通常是当 = s 3时或当s 1 = s 3 = 0适用时的情况。在这种情况下,α0N(s 1, s 3) = (1, 0, …, 0)适用。或非电路420的输出可以连接到具有两个二进制输入和一个二进制输出的或门421的第一输入。由异或电路419输出的值 + s 3的最高有效位可以应用于或门421的第二输入。作为最高有效位的由或门421输出的值同时与由异或电路419输出的m位的m – 1个最低有效位一起应用于反相器422的m位宽输入。在反相器422的输入处可以应用输入值[ + s 3 + α0N(s 1, s 3)]。反相器422可以形成值[ + s 3 + α0N(s 1, s 3)]-1(其在Galois域中可以是应用于其输入的输入值的倒数),并在其输出处输出所述倒数。反相器411的输出可以连接到Galois域乘法器417的第二m位宽输入。
在其输出处,Galois域乘法器417输出中间值
在图4B中,可以使用或非电路420和或门421从异或电路419所输出的值 + s 3得到应用于反相器422的输入的输入值[ + s 3 + α0N(s 1, s 3)]的最高有效位。
与此相反,在图4A中,可以使用或非电路410和异或门412从异或电路49所输出的值 + s 3得到应用于反相器413的输入的输入值[ + s 3 + α0N(s 1, s 3)]的最高有效位。
在异或门412和或门421两者的输入处,通常从不应用输入值对(1, 1),使得由或门输出的值没有不同于由异或门输出的值。
图4C示出用于实现中间值Zw 2 = s 1的子电路SZw 2的一个可能的实现。它可以仅包括连接到校验子生成器Synd 11的输出的m分量线423,校验子生成器Synd 11输出校验子分量s 1
图4D示出用于实现中间值的子电路SZw 3的一个可能的实现。它可以包括m分量线,其最高有效位恒定地在值“1”处,且其m – 1个最低有效分量恒定地在值“0”处。
在图5中,示意性图示用于生成中间值Zw 0, Zw 1, Zw 2Zw 3的子电路SZw 0, SZw 1, SZw 2SZw 3的联合实现的一个实施例,其根据下面的关系式确定中间值:
子校验子s 1应用于第一m位宽输入,其可以连接到平方电路51的输入以及还有Galois域乘法器56的第一输入两者。平方电路51的输出连接到Galois域乘法器52的第一m位宽输入并且还连接到Galois域乘法器56的第二m位宽输入。子校验子s 3可以应用于Galois域乘法器52的第二m位宽输入。携带值 . s 3的这个Galois域乘法器的输出可以连接到异或电路53的第一m位宽输入,在异或电路53的第二m位宽输入处也可以应用子校验子s 5的值s 5。异或电路53可以执行应用于其两个输入的m位操作数的分量方式异或运算,使得它可以在其输出处输出值 s 3 + s 5。这个输出可以连接到Galois域乘法器54的第一m位宽输入并同时连接到可以携带中间值Zw 1的电路输出。
子校验子s 1的值可以应用于Galois域乘法器54的第二m位宽输入。携带值 s 3 + s 1 s 5的该Galois域乘法器54的输出可以连接到异或电路55的第一m位宽输入。
携带值的Galois域乘法器56的输出可以连接到异或电路57的第一m位宽输入,在异或电路57的第二m位宽输入处可以应用值s 3。携带值 + s 3的这个异或电路57的m位宽输出可以连接到平方电路58并进入或非电路59中。除此之外,异或电路57的输出的最高有效位MSB可以连接到异或门510的第一输入,或非电路59的输出可以连接到异或门510的第二输入。异或电路57的输出的m – 1个最低有效位和在异或门510的输出处输出的位可以应用于Galois域乘法器511的第一m位宽输入,在Galois域乘法器511的第二m位宽输入处,子校验子s 1的值可以被输入,且Galois域乘法器511的输出可以连接到可以输出中间值Zw 2的电路输出。
携带m – 1个最低有效位的异或电路57的输出和异或门510的输出的输出线可以连接到输出中间值Zw 3的电路输出。
携带值( + s 3)2 = + 的平方电路58的输出可以连接到异或电路55的第二m位宽输入,异或电路55的输出可以连接携带中间值Zw 0的电路输出。
意外地,可以基于表达式 + s 3使用或非电路59和异或门510容易确定表达式 + s 3 + α0N(s 1, s 3),如在下文解释的。
对于 + s 3 ≠ 0等于 + s 3且对于 + s 3 = 0等于
如果 + s 3 ≠ 0,则或非电路59在可以应用于异或门510的第二输入的其1位宽输出处输出值“0”。 + s 3的最高有效位MSB可以被输入到异或门510的第一输入中,并在该门的输出处由于应用于第二输入的“0”而不改变地被输出。 + s 3的未改变的最高有效位和m – 1个最低有效位形成值 + s 3,其可以应用于Galois域乘法器的第一输入且也应用于输出值Zw 3的电路输出。
如果 + s 3 = 0适用,则或非电路59输出可以应用于异或门510的第二输入的值1。 + s 3的最高有效位(MSB)等于0,正如另外m – 1个位一样。因此在异或门的输出处可以输出值“1”,使得在Galois域乘法器511的第一输入的m输入线上就像在携带值Zw 3的电路输出处一样输出值
对本领域中的技术人员很明显,电路可以等同地改变。例如可能由或门代替异或门510,而不改变电路的功能。同样例如可能代替Galois域乘法器56和上游平方电路51来使用从s 1直接形成第三幂的子电路。同样可能例如代替给定信号来使用部分地反转的信号并用不同的门库实现电路。
图5中的子电路SZw 0, SZw 1, SZw 2SZw 3可以部分地以联合方式实现,该联合方式以电路部分可以同时由几个子电路使用的事实为特征且其可能相对于电路费用或复杂性是有利的。
子电路SZw 0在这里可以包括电路部分51、52、53、54、55、56、57、58。
子电路SZw 1可以包括也都用于实现子电路SZw 0的电路部分51、52、53。
子电路SZw 2可以包括子电路51、56、57、59、510、511,且子电路SZw 3可以包括也都用于实现子电路SZw 2的电路部分51、56、57、59、510。
为了本公开的更好理解,现在将仍然对一个具体实施例解释可以用于实现本公开的电路部分。
在这个方面,在一个实施例中,选择m = 5,使得基本Galois域是GF(25) = GF(32)。
Galois域GF(25) = GF(32)的元素以其不同的形式在表1中图示。所考虑的Galois域的模数多项式是多项式m(x) = 1 + x 2 + x 5。 
表1:由本原多项式p(x) = 1 + x 2 + x 5生成的GF(25)的元素。
Galois域的31个元素在表1的第一列中的行2到32中以其幂表示α i 被表示出,i = 0, …, 30,幂表示α i 也可以被称为指数表示。在第一列的第一行中的元素0没有幂表示,α在这里是Galois域的本原元素。
在第二列中,Galois域的32个元素以其模数多项式的多项式表示被给出。在第三列中,给出元组或矢量表示。矢量表示的五个分量对应于多项式表示的幂x 0, x 1, x 2, x 3, x 4的五个系数。因此,例如矢量表示00101对应于在表1的第9行中的多项式x 2 + x 4
对应的多项式表示通过确定从幂表示α j 产生。
因此,α5的多项式表示等于1 + x 2,如下式适用:
因此,α6的多项式表示等于
α7的多项式表示等于
以及α8的多项式表示等于
如在表1的行7、8、9和10中给出的。
Galois域的两个元素的相乘可以在指数表示中或在多项式表示中完成。
如果Galois域GF(2 m ) = GF(25)的两个元素在指数表示α i 和α j 中给出,则它们的积为:
α i ∙ α j = α k ,其中:k = i + j modulo(2 m – 1) = i + j modulo(31)。
如果待相乘的Galois域的元素在其矢量表示中或在其多项式表示中存在,则它们的相乘可以由Galois域乘法器执行。虽然Galois域乘法器是本领域中的技术人员已知的,为了本公开的更好理解,将针对一个应用示例描述两个元素在其多项式表示中的相乘。
为了使两个元素彼此相乘,Galois域GF(2 m ) = GF(25)的元素在其多项式表示中被给出,然后多项式将照常直接乘以彼此,且结果将被确定为以模数多项式为模。
如果例如给出多项式1 + x 2 + x 3x + x 3,则它们的直接相乘导致:
且由于x 5 = 1 + x 2 modulo(1 + x 2 + x 5)和x 6 = x + x 3 modulo(1 + x 2 + x 5),于是
适用,使得对于它们在Galois域中的相乘,下式适用:
现在描述第一元素a(x)
与第二元素b(x)
相乘的情况(在Galois域GF(25)中,具有模数多项式m(x) = x 5 + x 2 + 1)。
通过使多项式a(x)和b(x)直接相乘,8次多项式产生,且通过将x 5, x 6, x 7x 8 modulo(1 + x 2 + x 5)分别确定为1 + x 2, x + x 3, x 2 + x 4和1 + x 2 + x 3,可以直接计算出四次多项式结果且下式适用:
=
这个关系由将在下文中描述的具有五个第一二进制输入、五个第二二进制输入和五个二进制输出的Galois域乘法器实现。
二进制值a 0, a 1, a 2, a 3, a 4应用于Galois域乘法器的第一五个输入。二进制值b 0, b 1, b 2, b 3, b 4应用于第二五个输入。因而产生的值c 0, c 1, c 2, c 3, c 4
(32)
(33)
(34)
(35)
(36)
在五个二进制输出处被输出。 
在这里,“+”指定加法以2为模或异或运算。
例如通过与门和异或门实现方程32到36且因此实现Galois域乘法器对于本领域中的技术人员并不难,且因此将不被进一步解释。照惯例,本领域中的技术人员可以使用合成工具。
如果Galois域的元素被求平方,它可以乘以本身。如果在多项式表示中元素作为多项式被给出,则下式适用:
[a 0 + a 1 x 2 + a 2 x 4 + a 3 x 6 + a 4 x 8]
对Galois域GF(25)中的元素求平方可以相应地使用具有五个二进制输入和五个二进制输出的平方电路来实现。在其五个二进制输入处可以输入二进制值a 0, a 1, a 2, a 3, a 4,且在其5个二进制输出处可以输出二进制值d 0, d 1, d 2, d 3, d 4,其中下式适用:
a 0 + a 4 = d 0 (37)
a 3 = d 1 (38)
a 1 + a 4 = d 2 (39)
a 3 + a 4 = d 3 (40)
a 2 = d 4 (41)
以及“+”再次指定加法以2为模或异或运算。
为了在具有模数多项式m(x) = 1 + x 2 + x 5的Galois域GF(25)中实现平方电路,则仅线性方程37到41将被实现,这对于本领域中的技术人员并不难且将不被进一步描述。
将再次参考Galois域GF(25)的示例描述可以如何确定元素的三次幂,这在其多项式表示中被描述。
如果多项式的三次幂(a(x))3被确定为以模数多项式m(x) = 1 + x 2 + x 5为模,则下式适用:
可以相应地用具有五个二进制输入和五个二进制输出的三次幂生成器来实现在Galois域GF(25)中形成元素的三次幂。在其五个二进制输入处输入二进制值a 0, a 1, a 2, a 3, a 4,且在其五个二进制输出处输出五个二进制值f 0, f 1, f 2, f 3, f 4,其中
(42)
(43)
(44)
(45)
(46)
为了实现三次幂生成器,这里在具有模数多项式m(x) = 1 + x 2 + x 5的Galois域GF(25)中,将仅实现方程42到46,这对于本领域中的技术人员并不难且将不被进一步描述。
可替换地,本领域中的技术人员还考虑从平方电路和下游Galois域乘法器实现三次幂生成器。
在本公开的专门实现中,可以使用反相器。参考Galois域GF(25)的示例,表2示意性图示对应的反相器的功能如何可以被表示为值的表。 
表2:用于GF(25)的反相器的值的表。
在表2的第一列中,Galois域GF(25)的所有25 – 1个值α i 以指数表示被录入,i = 0, …, 30。Galois域的0-元素0未被录入。它没有逆元素。
第二列包含以其元组表示的作为二进制5元组的在第一列中图示的元素。这个表示仅从表1读取。表2的第三列包含以其指数表示的在第一列中图示的元素的逆元素,且第四列包含以其元组表示的作为二进制5元组的在第三列中表示的逆元素。这个表示仅在表1的帮助下被读出。
如果在第一列中表示的元素与第三列的对应逆元素相乘,则α0 = 1产生。对于元素和相关联的逆元素的指数的和,它以31为模等于0适用。只须确定逆元素的指数,使得第一列的元素和第三列的元素的指数的和等于31或(在第一行中)等于0。
如果例如表2的第10行被考虑,则逆元素α22与元素α9相关联,且对于对应的指数,22 + 9 = 31适用。如果例如表2的第一行被考虑,则逆元素α0与元素α0相关联,且对于对应的指数,下式0 + 0 = 0适用。如果反相器的输入值就像输出值一样以相应的元组表示作为5元组被给出,则反相器的二进制实现的值的表通过将第四列的对应元组分配到第二列的5元组来得到。在这里,第二列的5元组是输入值,且第四列的元组是反相器的输出值。因此例如,输出元组10101与输入元组01011(在第10行中)相关联。
反相器可以于是仅仅是以这种方式确定的值的表的实现。因为实现作为组合电路的值的表对本领域中的技术人员并不难,这个实现将不被进一步描述。
对于一个实施例,现在将描述常数乘法器的实现,如它可以用在图2的子电路SKi 13i中。举例来说,考虑使中间值Zw 2相乘的常数乘法器22,ji = 20。因为2 ∙ ji = 2 ∙ 20 = 40 = 9 modulo 31适用,所以中间值Zw 2乘以α9
在多项式表示中,中间值Zw 2可以被如下表示:
在多项式表示中,α9根据表1具有下面的表示:
α9(x) = x 4 + x 3 + x
以及Galois域GF(25)的模数多项式m(x)是:
m(x) = x 5 + x 2 + 1。
可能首先使四次多项式Zw 2(x)和α9(x)直接相乘。于是得到八次多项式。如果然后幂x 5 , x6,x7,x8分别由1 + x 2x + x 3x 2 + x 4x 3 + x 5 = x 3 + 1 + x 2代替,同时遵守以m(x) = x 5 + x 2 + 1为模,则在多项式表示g(x) = Zw 2(x) ∙ α9(x)中产生下式:
如可以直接计算的。
对应的常数乘法器于是包括5个二进制输入,且它包括五个二进制输出,在这5个二进制输入处,多项式Zw 2(x)的系数被输入,以及在这五个二进制输出处,多项式g(x)的系数g 0, g 1, g 2, g 3, g 4被输出。可以根据下面的关系式从多项式Zw 2(x)的系数确定这些系数g 0, g 1, g 2, g 3, g 4
本领域中的技术人员将例如通过异或运算或通过其它适当的运算来实现在所描述的常数乘法器的输入和输出之间的关系。
对于一个实施例,现在将解释错误校正的功能。再次考虑Galois域GF(25)。示例性地作为H矩阵,矩阵:
将被使用。
如果还考虑总奇偶性,则矩阵HP
可以被添加。在所考虑的实施例中,考虑仅从子矩阵H 1, H 3H 5合并起来的H矩阵。
通过根据表1使用元素α j 的矢量表示,对于H 1, H 3H 5,下式产生:
因为H矩阵包括23列,所以代码包括长度n = 23。因为H矩阵包括15行,所以它包括15个校验位和因此的8个数据位。
举例来说,将解释对在第12位中的1位错误的错误校正。相关联的错误校验子于是由错误矢量e确定:
校验子生成器Synd 11输出错误校验子的分量s 1, s 3, s 5,其中
适用。错误校验子s = s 1, s 3, s 5等于H矩阵的第12列:
考虑下列情况:根据图5的电路从错误校验子的分量形成中间值。
图5的子电路SZw 0, SZw 1, SZw 2, SZw 3被配置成使得子电路SZw 0, SZw 1, SZw 2SZw 3根据子校验子s 1, s 3, s 5提供中间值:
其中
以及
适用。因此,下式适用:
在图5的子电路的电路输出处输出的中间值Zwi 可以接着针对s 1 = α11, s 3 = α2, s 5 = α24被如下确定:
根据图2的子电路SKi 可以使用常数乘法器21、22、23和异或电路24根据下列关系式提供5位宽值i = 12且因此ji = 11,
=
因为Zw 0 = 0, Zw 1 = 0, Zw 2 = α11, Zw 3 = α0,所以下式产生:
= =
或非电路25可以提供值Δv 12
使得在第12位中的错误被校正。
没有另外的位被校正,因为z(i) ≠ 0针对所有i ≠ 12产生,且因此Δvi = 0。
因此,例如对于i = 7且因此ji = 6,使用已经确定的值Zw 0 = 0, Zw 1 = 0, Zw 2 = α11, Zw 3 = α0通过直接计算,下式产生:
=
=
因此针对第7位的示例说明的是,这个位在1位错误存在于另一位(在这里是第12位)中时未被校正。对于所考虑的实施例,可以类似地示出的是,大部分仅通过直接计算,也没有针对其它位的校正发生。
现在将针对在第5和第17位中的2位错误解释本公开的运行。
相关联的错误校验子接着通过错误矢量e
以及H矩阵:
进入
通过校验子生成器Synd 11来确定。
与1位错误相反,其中 + s 3 = 0以及N(s 1, s 3) = 1,在这里:
以及
从校验子值s 1 = α27, s 3 = α14, s 5 = α23中,中间值Zw 0, Zw 1, Zw 2, Zw 3由图5的电路确定为:
子电路SKi 2在图2中实现,使得异或电路24在这里在其m = 5位宽输出处输出值z(i),
对于i = 5, ji = 4, Zw 0 = 0, Zw 1 = α5, Zw 2 = α12, Zw 3 = α16,异或电路24输出:
且或非电路25在其输出处形成校正值:
对于i = 17, ji = 16, Zw 0 = 0, Zw 1 = α5, Zw 2 = α12, Zw 3 = α16,异或电路24输出:
且或非电路25形成校正值:
没有另外的位被校正。因此例如对于i = 10, ji = 9, Zw 0 = 0, Zw 1 = α5, Zw 2 = α12, Zw 3 = α16,下式产生:
且或非电路25输出校正值:
使得没有第10位的校正被做出。
仍然将注意,当s 1 = s 3 = s 5 = 0适用时,由子电路SKi 13i(i = 1, …, n)输出的所有校正信号Δvi 等于0。有利地,在错误校验子s = (s 1, s 3, s 5)指示没有错误的情况下,不要求切断错误校正电路。在这种情况下中间值Zw 0 = 0, Zw 1 = 0, Zw 2 = 0, Zw 3 = α0适用且因此z(i) = z(i)´ = α0,以及或非电路25在其输出处输出校正值Δvi = 0,使得在校正电路Vkn 3、14中,没有在位中发生校正。
在图6中图示在一个实施例中图1所示的电路如何可以由错误校正电路SFE 62补充。对应于图1所示的子电路的图6中的那些子电路在图6中用与图1中的相同的参考数字标记且将不再次被描述。
与图1所示的校验子生成器Synd 11相反,图6所示的校验子生成器Synd 611包括携带信号sP 的附加的1位宽输出,其中sP = ⊕ … ⊕ 是字v´的分量, …, 的奇偶性。
错误检测电路SFE 62包括用于输入由校验子生成器Synd 611输出的子校验子sP , s 5, s 3s 1的第一1位宽输入、第二m位宽输入、第三m位宽输入和第四m位宽输入。它包括r位宽输出,在该输出处,r位宽错误信号E = E 1, …, Er 被输出,其中r ≥ 1适用。
在实施例中可以提供的是,r = 1和E = E 1适用,且E 1针对第一二进制值指示错误并针对第二二进制值指示没有错误存在。
在一个实施例中,可以提供的是,r = 5和E = E 1, E 2, E 3, E 4, E 5。然后例如,二进制值E 1可以指示可检测的错误是否存在。二进制值E 2可以指示1位错误是否存在。二进制值E 3可以指示2位错误是否存在。二进制值E 4可以指示3位错误是否存在。二进制值E 5可以指示4位错误是否存在。可以假设的是,在所考虑的实施例中仅出现1位、2位、3位和4位错误。
错误检测电路SFE可以被配置成使得它实现下面的关系。 
当(s 1, s 3) ≠ 0时E 1 = 1
当(s 1, s 3) = 0时E 1 = 0
E 1 = 1指示可检测的错误存在,而E 1 = 0指示没有可检测的错误存在。
+ s 3 = 0和sP = 1时E 2 = 1
否则E 2 = 0
E 2 = 1指示1位错误存在,而E 2 = 0指示没有1位错误存在。
E 3 = 1
否则E 3 = 0
E 3 = 1指示2位错误存在,而E 3 = 0指示没有2位错误存在。
+ s 3 ≠ 0和sP = 1时E 4 = 1
否则E 4 = 0
E 4 = 1指示3位错误存在,而E 4 = 0指示没有3位错误存在。
s P = 0和E 5 = 1
否则E 5 = 0
E 5 = 1指示4位错误存在,而E 5 = 0指示没有4位错误存在。
意外地,在图5的实现中,用于区分开2位和4位错误的信号s 3 + s 1s 5 + + 可以已经在异或电路55的输出处且因此在子电路SZw 0的输出处被提供,且不必再次生成。可以在异或电路57的输出处输出信号 + s 3。通过一起实现错误检测电路SFE和用于提供中间值Zw 0的子电路SZw 0,特别有利的实现可以产生。这样的实现在图7中图示。
图7的电路包括如已经关于图5描述的子电路SZw 0和用于错误检测的子电路SFE´ 71。子电路SZw 0的子电路用与图5中的相同的参考数字来标记,且因此将不再次被描述。
与图5中的子电路SZw 0比较,图7中的子电路SZw 0没有改变。
子电路SFE´包括携带子校验子sP 的第一1位宽输入、携带子校验子s1 的第二m位宽输入、携带校验子s3 的第三m位宽输入和连接到异或电路57的m位宽输出并携带值 + s 3的第四m位宽输入以及携带值Zw 0 = s 3 + s 1s 5 + + 的第五m位宽输入。在所述实施例中,子电路SFE´ 71包括五个二进制输出。
用于错误检测的子电路SFE 62和图6中的子电路SZw 0 120在图7中联合地实现。
子电路SZw 0由子电路51、52、53、54、55、56、57、58组成,而子电路SFE由子电路51、52、53、54、55、56、57、58和71组成。
在图8中图示图7的子电路SFE´ 71的一个可能实现。携带1位宽子校验子sP 的第一输入可以连接到具有两个输入和一个输出的与门86的第一输入、求“非”地连接到具有两个输入和一个输出的与门87的第一输入、连接到具有两个输入和一个输出的与门88的第一输入并求“非”地连接到具有两个输入和一个输出的与门89的第一输入。
携带子校验子s 1的第二m位宽输入可以连接到具有m个输入和在其1位宽输出处输出子校验子s 1的分量的或操作的一个输出的或电路81的m个输入。
携带子校验子s 3的第三m位宽输入可以连接到具有m个输入和一个输出的或电路82的m个输入,其中该电路在其1位宽输出处输出子校验子s 3的分量的或操作。
携带由图7中的异或电路57输出的信号 + s 3的第四m位宽输入可以连接到具有m个输入和一个输出的或电路84的m个输入,其中该电路在其1位宽输出处输出信号 + s 3的分量的或操作。
携带由图7中的异或电路55输出的信号Zw 0 = s 3 + s 1s 5 + + 的第五m位宽输入可以连接到具有m个输入和一个输出的或电路85的m个输入,其中电路在其1位宽输出处输出信号s 3 + s 1s 5 + + + s 3的分量的或组合。
或电路81的1位宽输出可以连接到具有两个输入和一个输出的或门83的第一输入且还连接到具有两个输入和一个输出的与门810的第一输入,其中门810的第二输入可以连接到与门87的输出,且其中错误信号E的分量E 3可以在门810的输出处被输出。
或电路82的输出可以连接到或门83的第二输入,或门83的输出可以输出错误信号E的分量E 1
或电路84的输出可以与与门88的第二输入非反相地连接并与与门86的第二输入反相地连接。与门86的输出可以携带错误信号E的分量E2
与门88可以输出错误信号E的分量E4。或电路85的输出可以与与门89的第二输入非反相地连接并与与门810的第二输入反相地连接。与门89可以输出错误信号E的分量E5 。与门810的输出可以携带错误信号E的分量E3
虽然在设备的上下文中已经描述了一些方面,清楚的是,这些方面还表示对应方法的描述,其中块或装置对应于方法步骤或方法步骤的特征。类似地,在方法步骤的上下文中描述的方面还表示对应的块或对应设备的物品或特征的描述。方法步骤中的一些或全部可以由(或使用)硬件设备(像例如微处理器、可编程计算机或电子电路)执行。在一些实施例中,大部分重要的方法步骤中的某一个或多个可以由这样的设备执行。
根据特定实现要求,本公开的实施例可以在硬件中或在软件中实现。可以使用其上存储有电可读控制信号的数字存储媒介(例如软盘、DVD、蓝光盘、CD、ROM、PROM、EPROM、EEPROM或闪存存储器)来执行该实现,所述数字存储媒介与(或能够与)可编程计算机系统协作,使得相应的方法被执行。因此,数字存储媒介可以是计算机可读的。
根据本公开的一些实施例包括具有电可读控制信号的数据载体,其能够与可编程计算机系统协作,使得本文中描述的方法之一被执行。
一般地,本公开的实施例可以被实现为具有程序代码的计算机程序产品,当计算机程序产品在计算机上运行时,程序代码对于执行方法之一是可操作的。程序代码可以例如被存储在非瞬时机器可读载体上。
其它实施例包括用于执行本文中描述的方法之一的计算机程序,其存储在机器可读载体上。
换句话说,创造性方法的实施例因此是计算机程序,其具有用于当计算机程序在计算机上运行时执行本文中描述的方法之一的程序代码。
创造性方法的另外的实施例因此是数据载体(或数字存储媒介或计算机可读媒介),其包括在其上记录的用于执行本文中描述的方法之一的计算机程序。数据载体、数字存储媒介或记录的媒介通常是有形的和/或非瞬时的。
创造性方法的另外的实施例因此是表示用于执行本文中描述的方法之一的计算机程序的数据流或信号序列。数据流或信号序列可以例如被配置成经由数据通信连接例如经由互联网来传递。
另外的实施例包括配置成或适合于执行本文中描述的方法之一的处理装置,例如计算机或可编程逻辑装置。
另外的实施例包括计算机,其具有其上安装的用于执行本文中描述的方法之一的计算机程序。
根据本公开的另外的实施例包括配置成将用于执行本文中描述的方法之一的计算机程序传递(例如电子地或光学地)到接收器的设备或系统。接收器可以例如是计算机、移动装置、存储器装置等。设备或系统可以例如包括用于将计算机程序传递到接收器的文件服务器。
在一些实施例中,可编程逻辑装置(例如现场可编程门阵列)可以用来执行本文中描述的方法的功能中的一些或全部。在一些实施例中,现场可编程门阵列可以与微处理器协作,以便执行本文中描述的方法之一。一般,方法优选地由任何硬件设备执行。
上面描述的实施例对于本公开的原理仅仅是例证性的。理解的是,本文中描述的布置和细节的修改和变化对本领域中的技术人员将是明显的。因此意图是仅由即将来临的专利权利要求的范围而不是由通过本文中的实施例的描述和解释呈现的特定细节限制。
虽然每个权利要求仅仅指回到一个单个权利要求,本公开也覆盖权利要求的任何可设想的组合。

Claims (18)

1.一种用于对在n位数二进制字v =v 1 , ,v n 中的位的至少1位、2位和3位错误进行错误校正的电路SK,所述错误由来自在Galois域GF(2 m ) 上的二进制BCH代码Cn位数码字 的位错误产生,其中m ≥ 4,其中所述代码C包括至少d ≥ 7的码距离,其中所述BCH代码C包括H矩阵H,使得所述H矩阵的第一m行形成子矩阵H 1,所述H矩阵的第二m行形成第二子矩阵H 3,以及所述H矩阵的另外的m行形成第三子矩阵H 5,其中:
以及
其中
适用,α是在其矢量表示中作为m分量二进制列矢量的Galois域GF(2 m )的元素,且α j 的相应指数j将被解释为以2m - 1为摸,且n ≤ 2 m - 1适用,所述电路包括:
校验子生成器Synd,其被配置成确定错误校验子s,其中s的第一m个分量形成m分量子校验子s 1s的第二m个分量形成第二m分量子校验子s 3,以及s的另外m个分量形成第三子校验子s 5,其中
s 1 = H 1 ·v , s 3 = H 3 · v 以及s 5 = H 5 · v
适用,
多个子电路,其中对于遭受n位数二进制字v =v 1 ,...,v n 的可能错误校正的每个位vi ,存在子电路SKi ,所述子电路SKi 被配置成使得它根据下列关系式从中间值形成校正值,所述中间值对于遭受可能错误校正的所有位位置是相等的:
其中
以及所述中间值根据所述子校验子s 1, s 3, s 5来确定,使得在1位错误或2位错误或3位错误的情况下,下列情况适用:当错误出现在所述位位置i中时,以及当没有错误出现在所述位位置i中时
其中,为了确定中间值,均存在一个子电路,所述子电路均被配置成使得它为遭受所述字v 的可能错误校正的每个位位置从所述子校验子s 1, s 3, s 5提供所述相同的中间值;以及
组合电路Vkn,被配置成以分量方式将遭受可能错误校正的位v i 与由所述子电路SKi 提供的对应校正值组合成可能校正后的位
2.根据权利要求1所述的电路,其中所述组合电路Vkn被配置成使得它将遭受可能错误校正的位v i 与由所述子电路SKi 提供的对应校正值组合成可能校正后的位,其中所述组合是异或运算,且 = ⊕ Δvi 适用。
3.根据权利要求1所述的电路,其中所述子电路SZw 0, SZw 1, SZw 2SZw 3被配置成使得所述子电路SZw 0, SZw 1SZw 2根据所述子校验子s 1, s 3s 5来提供所述中间值,
其中
适用,以及
适用,其中运算+是在所述Galois域GF(2 m )中的对应元素的加法,其在矢量表示中对应于所述对应的m分量二进制矢量的所述分量方式异或组合,且运算∙是在所述Galois域GF(2 m )中的所述乘法的所述运算。
4.根据权利要求3所述的电路,其中用于提供中间值的子电路至少部分地被联合地实现。
5. 根据权利要求1所述的电路,其中所述子电路SZw 0, SZw 1, SZw 2SZw 3被配置成使得所述子电路SZw 0, SZw 1, SZw 2SZw 3提供所述中间值
其中
适用,以及
适用,其中F是对于所述子校验子s1, s3, s5 的所有值不等于0的因子,其中所述运算+是在Galois域GF(2 m )中的所述对应元素的所述加法,其在所述矢量表示中对应于所述对应的m分量二进制矢量的所述分量方式异或组合,且所述运算∙是在所述Galois域GF(2 m )中的所述乘法的所述运算。
6.根据权利要求1所述的电路,其中所述子电路SZw 0, SZw 1, SZw 2, SZw 3被配置成使得所述子电路SZw 0, SZw 1, SZw 2SZw 3根据所述子校验子s 1, s 3, s 5来提供所述中间值
其中
适用,以及
适用,且+是在所述Galois域GF(2 m )中的所述对应元素的所述加法,其在所述矢量表示中对应于所述对应的m分量二进制矢量的所述分量方式异或组合,且所述运算∙是在所述Galois域GF(2 m )中的所述乘法的所述运算。
7.根据权利要求6所述的电路,其中用于提供中间值的子电路至少部分地被联合地实现。
8.根据权利要求1所述的电路,其中所述位v 1 , ,v n 的所述奇偶性由所述错误校验子的至少一个分量确定。
9.根据权利要求8所述的电路,其中所述H矩阵包括行的子集,使得属于行的该子集的所述H矩阵的每列的所述相应分量包括奇数数量的1。
10.根据权利要求9所述的电路,其中行的所述子集包括一个单个行。
11.根据权利要求1所述的电路,其中错误检测电路存在。
12.根据权利要求11所述的电路,其中所述错误检测电路指示i位错误是否针对至少一个 {1,2,3,4}出现。
13.根据权利要求11所述的电路,其中所述错误检测电路和用于错误校正的所述电路至少部分地被联合地实现。
14.一种用于对在n位数二进制字v =v 1 , ,v n 中的位的至少1位、2位和3位错误进行错误校正的方法,所述错误由来自在Galois域GF(2 m )上的二进制BCH代码Cn位数码字的位错误产生,其中m ≥ 4,其中所述代码C包括至少d ≥ 7的码距离,其中所述BCH代码C包括H矩阵H,使得所述H矩阵的第一m行形成子矩阵H 1,所述H矩阵的第二m行形成第二子矩阵H 3,以及所述H矩阵的另外m行形成第三子矩阵H 5,其中:
以及
其中
适用,α是在其矢量表示中作为m分量二进制列矢量的所述Galois域GF(2 m )的元素,且α j 的所述相应指数j将被解释为以2m - 1为摸,且n ≤ 2 m - 1适用,其中所述方法包括:
确定错误校验子s,其中s的第一m个分量形成m分量子校验子s 1s的第二m个分量形成第二m分量子校验子s 3,以及s的另外m个分量形成第三子校验子s 5,其中
s 1 = H 1 ·v , s 3 = H 3 · v 以及s 5 = H 5 · v
适用,
从所述子校验子s 1, s 3, s 5确定中间值,所述中间值对遭受所述字v 的可能错误校正的每个位位置是相同的,
根据下列关系式从所述中间值为遭受可能错误校正的每个位v 形成校正值,所述中间值对遭受可能错误校正的所有位位置是相等的:
其中
以及所述中间值根据所述子校验子s 1, s 3, s 5来确定,使得在1位错误或2位错误或3位错误的情况下,下列情况适用:当错误出现在所述位位置i中时,以及当没有错误出现在所述位位置i中时;以及
以分量方式将遭受可能错误校正的位v i 与对应的校正值组合成可能校正后的位
15.根据权利要求14所述的方法,其中将遭受可能错误校正的位v i 与对应的校正值组合包括执行异或运算,使得 = ⊕ Δvi 适用。
16.根据权利要求14所述的方法,其中确定所述中间值基于下列关系式:
其中
适用,以及
适用,其中所述运算+是在所述Galois域GF(2 m )中的所述对应元素的所述加法,其在所述矢量表示中对应于所述对应的m分量二进制矢量的所述分量方式组合,且所述运算∙是在所述Galois域GF(2 m )中的所述乘法的所述运算。
17.根据权利要求14所述的方法,其中确定所述中间值基于下列关系式:
其中
适用,以及
适用,且+是在所述Galois域GF(2 m )中的所述对应元素的所述加法,其在所述矢量表示中对应于所述对应的m分量二进制矢量的所述分量方式组合,且所述运算∙是在所述Galois域GF(2 m )中的所述乘法的所述运算。
18.一种非瞬时存储媒介,具有存储在其上的计算机程序,所述计算机程序具有程序代码,所述程序代码用于在计算机上运行时执行用于对在n位数二进制字v =v 1 , ,v n 中的位的至少1位、2位和3位错误进行错误校正的方法,所述错误由来自在Galois域GF(2 m ) 上的二进制BCH代码Cn位数码字的位错误产生,其中m ≥ 4,其中所述代码C包括至少d ≥ 7的码距离,其中所述BCH代码C包括H矩阵H,使得所述H矩阵的第一m行形成子矩阵H 1,所述H矩阵的第二m行形成第二子矩阵H 3,以及所述H矩阵的另外m行形成第三子矩阵H 5,其中:
以及
其中
适用,α是在其矢量表示中作为m分量二进制列矢量的所述Galois域GF(2 m )的元素,且α j 的相应指数j将被解释为以2m - 1为摸,且n ≤ 2 m - 1适用,其中所述方法包括:
确定错误校验子s,其中s的第一m个分量形成m分量子校验子s 1s的第二m个分量形成第二m分量子校验子s 3,以及s的另外m个分量形成第三子校验子s 5,其中
s 1 = H 1 ·v , s 3 = H 3 · v 以及s 5 = H 5 · v
适用,
从所述子校验子s 1, s 3, s 5确定中间值,所述中间值对遭受所述字v 的可能错误校正的每个位位置是相同的,
根据下列关系式从所述中间值为遭受可能错误校正的每个位v 形成校正值,所述中间值对遭受可能错误校正的所有位位置是相等的:
其中
以及所述中间值根据所述子校验子s 1, s 3, s 5来确定,使得在1位错误或2位错误或3位错误的情况下,下列情况适用:当所述错误出现在所述位位置i中时,以及当没有错误出现在所述位位置i中时;以及
以分量方式将遭受可能错误校正的位v i 与对应的校正值组合成可能校正后的位
CN201410375353.XA 2013-08-02 2014-08-01 多位错误的有效错误校正的电路、方法和非瞬时存储媒介 Active CN104348588B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/958047 2013-08-02
US13/958,047 US9362953B2 (en) 2013-08-02 2013-08-02 Efficient error correction of multi-bit errors

Publications (2)

Publication Number Publication Date
CN104348588A true CN104348588A (zh) 2015-02-11
CN104348588B CN104348588B (zh) 2018-03-02

Family

ID=52342167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410375353.XA Active CN104348588B (zh) 2013-08-02 2014-08-01 多位错误的有效错误校正的电路、方法和非瞬时存储媒介

Country Status (3)

Country Link
US (1) US9362953B2 (zh)
CN (1) CN104348588B (zh)
DE (1) DE102014215252B9 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108733628A (zh) * 2018-05-23 2018-11-02 河海大学常州校区 一种并行矩阵乘算法的加固方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9712460B1 (en) * 2013-08-26 2017-07-18 F5 Networks, Inc. Matching port pick for RSS disaggregation hashing
CA2945171C (en) 2014-04-09 2023-10-03 Capital One Financial Corporation Systems and computer-implemented processes for providing electronic notifications
DE102015118668B4 (de) 2015-10-30 2020-06-04 Infineon Technologies Ag Fehlerkorrektur
US9935653B2 (en) * 2015-12-28 2018-04-03 Intel Corporation Enhanced cyclical redundancy check circuit based on galois-field arithmetic
KR102453437B1 (ko) 2018-01-25 2022-10-12 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050149832A1 (en) * 2003-12-12 2005-07-07 Analog Devices, Inc. Methods and apparatus for coding and decoding data using reed-solomon codes
CN1677874A (zh) * 2004-03-31 2005-10-05 三洋电机株式会社 错误部位检测方法、使用其的检错电路、纠错电路
CN101335529A (zh) * 2007-06-27 2008-12-31 光宝科技股份有限公司 计算校正子的方法及其记录介质和装置
CN101740135A (zh) * 2008-11-18 2010-06-16 富士通株式会社 错误判断电路和共享的存储器系统
US20130139039A1 (en) * 2009-11-05 2013-05-30 Micron Technology, Inc. Error-Correcting Code and Process for Fast Read-Error Correction

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4494234A (en) 1982-12-29 1985-01-15 International Business Machines Corporation On-the-fly multibyte error correcting system
JP3606569B2 (ja) * 2001-03-09 2005-01-05 インターナショナル・ビジネス・マシーンズ・コーポレーション 復号回路、該復号回路を用いる復号装置、復号方法および半導体デバイス
US8539321B2 (en) 2010-11-10 2013-09-17 Infineon Technologies Ag Apparatus and method for correcting at least one bit error within a coded bit sequence
TWI500038B (zh) * 2012-09-28 2015-09-11 Univ Nat Chiao Tung 記憶體系統之全套平行編碼方法與全套平行解碼方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050149832A1 (en) * 2003-12-12 2005-07-07 Analog Devices, Inc. Methods and apparatus for coding and decoding data using reed-solomon codes
CN1677874A (zh) * 2004-03-31 2005-10-05 三洋电机株式会社 错误部位检测方法、使用其的检错电路、纠错电路
CN101335529A (zh) * 2007-06-27 2008-12-31 光宝科技股份有限公司 计算校正子的方法及其记录介质和装置
CN101740135A (zh) * 2008-11-18 2010-06-16 富士通株式会社 错误判断电路和共享的存储器系统
US20130139039A1 (en) * 2009-11-05 2013-05-30 Micron Technology, Inc. Error-Correcting Code and Process for Fast Read-Error Correction

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108733628A (zh) * 2018-05-23 2018-11-02 河海大学常州校区 一种并行矩阵乘算法的加固方法

Also Published As

Publication number Publication date
US9362953B2 (en) 2016-06-07
DE102014215252B9 (de) 2023-03-09
DE102014215252A1 (de) 2015-02-05
US20150039976A1 (en) 2015-02-05
DE102014215252B4 (de) 2022-10-20
CN104348588B (zh) 2018-03-02

Similar Documents

Publication Publication Date Title
CN104348588A (zh) 多位错误的有效错误校正
US4486882A (en) System for transmitting binary data via a plurality of channels by means of a convolutional code
CN103886915B (zh) 用于校正包括邻近2比特错误的3比特错误的电路和方法
Gad et al. Repair-optimal MDS array codes over GF (2)
CN100592639C (zh) 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法
CN110071727B (zh) 编码方法、译码方法、纠错方法及装置
CN102468855A (zh) 用于纠正在编码比特序列中的至少单比特错误的设备和方法
US9471416B2 (en) Partitioned error code computation
CN102820892A (zh) 一种用于并行bch编码的电路、编码器及方法
CN101442313B (zh) 数字通信过程中的编解码方法以及编码器、解码器
CN105099467A (zh) Qc-ldpc码的编码方法及编码装置
CN103793289A (zh) 用于多位修正的电路和方法
CN101834616B (zh) 里德-索罗蒙解码器实现方法
EP2309650B1 (en) A systematic encoder with arbitrary parity positions
US10367529B2 (en) List decode circuits
US6405339B1 (en) Parallelized programmable encoder/syndrome generator
US20170288697A1 (en) Ldpc shuffle decoder with initialization circuit comprising ordered set memory
US9645883B2 (en) Circuit arrangement and method for realizing check bit compacting for cross parity codes
Rohith et al. FPGA Implementation of (15, 7) BCH encoder and decoder for text message
US9236890B1 (en) Decoding a super-code using joint decoding of underlying component codes
KR20140091087A (ko) 병렬 bch 복호기를 위한 고속 소면적의 수정된 스텝-바이-스텝 복호 방법 및 그 연산 회로
Kim et al. New Design of Error Control Codes Resilient to Single Burst Error or Two Random Bit Errors Using Constacyclic Codes
US8656260B1 (en) Methods and circuits for processing a data block by frames
JP6336547B2 (ja) 訂正信号を決定する回路構成及びその方法
CN104917535B (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
GR01 Patent grant
GR01 Patent grant