首页> 中国专利> 多位错误的有效错误校正

多位错误的有效错误校正

摘要

本发明涉及多位错误的有效错误校正。用于错误校正的电路包括用于确定待用作在错误校正表达式

著录项

  • 公开/公告号CN104348588A

    专利类型发明专利

  • 公开/公告日2015-02-11

    原文格式PDF

  • 申请/专利权人 英飞凌科技股份有限公司;

    申请/专利号CN201410375353.X

  • 发明设计人 C.巴达克;M.格泽尔;T.柯恩;

    申请日2014-08-01

  • 分类号H04L1/00;H03M13/15;

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人申屠伟进

  • 地址 德国瑙伊比贝尔格市坎芘昂1-12号

  • 入库时间 2023-12-17 04:36:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-03-02

    授权

    授权

  • 2015-03-11

    实质审查的生效 IPC(主分类):H04L1/00 申请日:20140801

    实质审查的生效

  • 2015-02-11

    公开

    公开

说明书

技术领域

一些实施例涉及用于错误校正和/或错误检测的电路。一些实施例涉及用于错误校正和/或错误检测的方法。一些实施例涉及任意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(2m)上时,则n≤2m-1且错误校验子s可以由3m个分量组成,其中第一m个分量可以形成子校验子s1,第二m个分量形成子校验子s3,且第三m个分量形成子校验子s5,如在使用BCH代码时常见的。如果考虑总奇偶性,则错误校验子仍可以包含应由sP指定的另外的二进制分量。

发明内容

实施例提供用于在n位数二进制字v’=v’1,…,v’n中的位的至少1位、2位和3位错误的错误校正和可能错误检测的电路,所述至少1位、2位和3位错误由来自在Galois域GF(2m)上的二进制BCH代码Cn位数码字                                                的位错误产生,其中≥ 4。代码C包括至少d ≥ 7的码距离。BCH代码C包括H矩阵H,使得H矩阵的第一m行形成子矩阵H1,H矩阵的第二m行形成第二子矩阵H3,以及H矩阵的另外m行形成第三子矩阵H5,其中:

以及

其中

适用,α是在作为m分量二进制列矢量的其矢量表示中的Galois域GF(2m)的元素,且αj的相应指数j将被解释为以2m - 1为模,且n ≤ 2m - 1适用。电路具有下面的特征并包括:

用于确定错误校验子s的校验子生成器Synd,其中s的第一m个分量形成m分量子校验子s1s的第二m个分量形成第二m分量子校验子s3,以及s的另外m个分量形成第三子校验子s5,其中

s1 = H1 ·v’s3 = H3 · v’ 以及s5 = H5 · v’

适用,

多个子电路,使得对于遭受n位数二进制字v’=v’1,...,v’n的可能错误校正的每个位vi,存在子电路SKi,其被配置成使得它根据下列关系式从中间值形成校正值,所述中间值针对遭受可能错误校正的所有位位置是相等的:

其中

以及中间值根据子校验子s1s3s5来确定,使得在1位错误或2位错误或3位错误的情况下,下列情况适用:当错误出现在位位置i中时,以及当没有错误出现在位位置i中时;

为了确定中间值和,均存在一个子电路和,子电路均被配置成使得它从用于遭受字v’的可能错误校正的每个位位置的子校验子s1s3s5提供相同的中间值和;以及存在组合电路Vkn,其被配置成使得它以分量方式将遭受可能错误校正的位v’i与由子电路SKi提供的对应校正值组合成可能的校正后的位。

实施例提供用于错误校正和错误检测的对应方法。实施例提供对应的非瞬时存储媒介。

附图说明

将使用附图描述本公开的实施例,其中:

图1示出用于错误校正的电路的示意性方框图;

图2示出用于基于公共中间值Zw0, Zw1, Zw2和Zw3为字v’的第i位确定校正信号Δvi的子电路SKi的可能实现的示意性方框图;

图3示出配置成组合校正信号Δvi与字v’以得到错误校正后的字vcor的组合电路的可能实现的示意性方框图;

图4A到4D示出用于确定中间值Zw0,Zw1, Zw2Zw3的子电路SZw0SZw1SZw2SZw3的可能实现的示意性方框图;

图5示出配置成提供中间值Zw0,Zw1, Zw2Zw3的子电路的示意性方框图;

图6示出由错误检测电路补充的图1的电路的示意性方框图;

图7示出错误检测电路和用于提供中间值Zw0的子电路SZw0的联合实现的示意性方框图;以及

图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 = N – k。然后,生成器矩阵G是具有k行和N列的(k, N)矩阵,且代码包括M个校验位。

未缩短的3位错误校正BCH代码可以由H矩阵描述:

其中H矩阵以分开的形式呈现。因此,当代码未缩短时,H1, H3H5可以被选择为:

以及

在这里,α可以被选择为也被称为Galois域的有限域GF(2m)的元素。频繁地,α可以被选择为本原元素。于是,用于i = 0, …, 2m – 2的αi除了元素0以外可以假设Galois域的任何可能值。N = 2m - 1于是适用。αj, α3j和α5j的指数可以被确定为以2m – 1为模。

H1, H3H5通常均可以是包括m行和N = 2m - 1列的(m,N)矩阵。在专门的应用情况下,可以是下列情况:矩阵H5的例如m行中的一些行可以是线性相关的。在这样的情况下,矩阵H5的行可以被省略,直到所有行是线性不相关的。例如,矩阵H5的行的数量于是也可以小于m

Galois域GF(2m)的元素αi在其矢量表示中可以是m位数二进制列矢量。

如果未缩短的BCH代码的H矩阵的L列被检测到,则可以得到长度n = N – L  的缩短的BCH代码的H矩阵。对于缩短的代码,下式适用:n = N – L < 2m – 1。

可能的是,由仅由1组成的行补充H矩阵H。在H矩阵中的仅由1组成的附加的行对应于总奇偶性的附加的考虑。

当考虑总奇偶性时,H矩阵可以具有下列形式:

其中P是仅由1组成的行。

也可能的是,在缩短代码时检测H矩阵的所有列,其例如在对应于矩阵H3的行的分量中包括偶数数量的1。H矩阵的剩余列于是可以仅包括在对应于奇偶矩阵H3的分量中总是包括奇数数量的1的列。在这样的情况下,总奇偶性可以仅仅被确定为子校验子s3的分量的异或和,这可能是有利的。对应于奇偶矩阵H3的行可以接着形成行的子集,使得属于行的这个子集的列的分量包括奇数数量的1。还可能的是,选择行的不同子集,并在缩短H矩阵时删除列,使得属于选择的子集的分量中的剩余列包括奇数数量的1。奇偶性可以接着被形成为属于行的选择的子集的校验子的分量的异或和。

现在考虑长度n的缩短的BCH代码,其中n = N – L < 2m – 1。也被称为代码矢量的这个代码v = v1, …, vn的码字由n个分量v1v2, …, vn组成。在这里,代码矢量可以被描述为行矢量或列矢量。如果矩阵乘以来自右边的矢量,则矢量将被解释为列矢量,且结果是列矢量。如果矩阵乘以来自左边的矢量,则矢量是行矢量,且相乘的结果是也是行矢量。于是不要求的是,将对应的矢量明确地指定为列矢量或行矢量,因为从上下文很清楚它是列矢量还是行矢量。如果 特别注意到矢量w被表示为列矢量,则它被写为wT

如果码字v = v1, …, vn错误改变成字v′ = , …, ,则在vv’之间的差异可以由错误矢量e描述,其中:

e = e1, …, en = v1 ⊕ , …, vn ⊕  = v ⊕ v

vi和是不同的且时,错误矢量e的分量ei等于1。当vj 和是相同的且vj =  适用时,错误矢量e的分量ej等于0。

如果错误可以由错误校正电路校正,则由错误校正电路输出的校正值可以等于错误矢量的分量,且校正电路在这种情况下在其n个输出中的第i个输出处输出校正值ei。校正值ei可以接着与分量进行异或以被校正成vcor = vi⊕ ei。校正值ei也可以被组合成校正矢量。如果错误可以由代码校正,则校正矢量等于错误矢量。如果矢量v是可分开的代码的代码矢量(其中在代码矢量v中的数据位和校验位分开),则也可能的是,仅校正数据位或甚至仅校正矢量v′的数据位的部分。在这些情况下,位(针对其期望和/或实现错误校正的可能性)可以被称为“遭受可能错误校正的位”。

v′的错误校验子s = (s1s3s5sP)可以由下式确定:

                (1) 

其中

                                   (2)

                                  (3)

                                  (4)

sP = P ? v′ = (1, …, 1) ? v′ =  ⊕  ⊕ … ⊕   (5)

适用。

码字v的错误校验子通常等于0,使得对于码字v,下式适用:

                              (6)

且对于非码字v′ = v ⊕ e,下式适用:

   (7)

错误校验子s可以由错误矢量e确定。

为了从错误的非码字v′确定相关联的正确码字,那些分量将被反转,为此,ej = 1适用,使得ej是由错误校正电路确定的对应校正值。

对于所考虑的缩短的BCH代码,错误矢量e将用H矩阵根据错误校验子s = (s1s3s5sP)来确定:

矩阵H1H3H5由它们的列描述:

                            (8)

                      (9)

                      (10)

以及

                                              (11)

如已经提到的,α的指数可以被确定为以2m – 1为模,且指数i1i2, …, in都是两两不同的。不是必须ij = jj = 1, …, n。 

如果1位错误呈现于第j位中,则下式适用:

                                              (12)

                         (13)

                         (14)

                                           (15)

以及、。

如果2位错误存在于位位置jl中,则下式适用:

                               (16)

                         (17)

                         (18)

                                       (19)

以及。

如果3位错误存在于位位置jlk中,则下式适用:

                           (20)

                 (21)

                 (22)

                                       (23)

以及。

将期望的是,错误校正电路根据错误校验子(即,根据BCH代码的校验子分量s1s3s5)有效地确定任何1位错误或任何2位错误或任何3位错误的错误位置并执行位的校正,所述位被检测为在数据字的所确定的位位置中是不合适的。

原则上,这通过例如实现为ROM或实现为分配对应的不合适位的组合功能的分配器将是可能的,所述不合适位将被校正到错误校验子s = (s1s3s5sP)的值,即,错误校验子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位错误,一次多项式或三次多项式将用于根据那些多项式的零确定校正位置。原则上,可以执行待校正的位的确定,使得可以首先确定所出现的错误的数量。基于所出现的错误的数量,可以选择对应的定位多项式。所选择的定位多项式的零可以确定待校正的位位置。原则上,零和因此待校正的位位置可以根据所选择的对应次数的定位多项式的系数来被制成表并由分配器确定。如所指示的,对应定位多项式的系数可以取决于错误校验子的子校验子s1s3s5,每个子校验子可以具有字宽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)中,对应定位多项式的变量首先被转换,使得所转换的多项式仅包括一个单个系数,其取决于子校验子s1s3s5的值。这个系数具有m的字宽。完成该转换,使得所转换的多项式的另外的系数等于1或0,且不再取决于子校验子s1s3s5。所转换的多项式的零可以接着经由分配器根据这一个系数来确定,所述这一个系数例如由ROM根据子校验子s1s3s5来确定且仅包括字宽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可以被配置成使得它根据下面的关系式从中间值Zw0Zw1Zw2Zw3形成校正值Δvi

其中

在这里,对于待校正的所有位,使用相同的中间值Zw0Zw1Zw2Zw3,使得中间值仅须在电路中被提供一次。

可以根据子校验子s1s3s5来确定中间值Zw0Zw1Zw2Zw3,使得在1位错误或2位错误或3位错误的情况下,当错误出现在位位置i上时,,且当没有错误出现在位位置i上时,。通常不必估计在不同的错误情况下的不同方程,即,通常不必针对1位错误、2位错误和3位错误估计不同的方程。

在没有错误存在且s1 = s3 = s5 = 0适用的情况下,对于待校正的所有位,适用且因此Δvi = 0适用,使得切断错误校正电路在无错误情况下不是必要的。

如果zi的所有分量等于0或如果zi等于在GF(2m)中的零值,则校正值Δvi等于1。如果zi的分量中的至少一个等于1或如果zi不等于在GF(2m)中的零值,则校正值Δvi等于0。

因此,如果所有中间值Zw0Zw1, Zw2, Zw3乘以相同的因子(其对于子校验子s1, s3和s5的所有值不等于0),则得到相同的校正值。由此,乘法是在Galois域GF(2m)中的乘法。

中间值Zw0Zw1, Zw2Zw3的确定可以由对应的子电路SZw0SZw1SZw2SZw3执行。可以实现子电路SZw0SZw1SZw2SZw3,使得它们从子校验子s1s3s5形成中间值Zw0Zw1, Zw2Zw3。此外,组合电路Vkn可以针对分量方式组合待校正的v′的位而存在,组合校正值Δvi的所述组合电路Vkn由具有待校正的位的子电路SKi提供。它被配置成使得它从待校正的位和所提供的校正值Δvi形成校正后的位,其中例如 =  ⊕ Δvi适用。

可能的是,子电路SZw0SZw1SZw2SZw3被配置成使得它们根据子校验子s1s3s5来提供中间值,

                      (24)

                                 (25)

                                              (26)

                                                  (27)

其中

适用,以及

适用。

运算+指定在Galois域GF(2m)中的对应元素的加法,其在矢量表示中对应于对应的m分量二进制矢量的分量方式异或组合。运算?指的是在Galois域GF(2m)中的乘法的运算。

同样可能的是,子电路SZw0SZw1SZw2SZw3被配置成使得子电路SZw0SZw1SZw2SZw3根据子校验子s1s3s5来提供中间值。

                             (28)

                                    (29)

                        (30)

                              (31)

其中

适用,以及

适用。

运算+指定在Galois域GF(2m)中的对应元素的加法,其在矢量表示中对应于对应的m分量二进制矢量的分量方式异或组合。运算?指的是在Galois域GF(2m)中的乘法的运算。

由方程(28)到(31)确定的中间值通过使由方程(24)到(27)确定的对应中间值与下列因子相乘由方程(24)到(27)确定的中间值产生:

因子总是不等于(0, 0, …, 0) 。如果 + s3 = (0, 0, …, 0),则N(s1s3) ≠ 0,以及如果 + s3 ≠ (0, 0, …, 0),则N(s1s3) = 0。

下式适用

其中[( + s3) + (α0 ? N(s1s3))]描述在矢量表示中的( + s3)和(α0 ? N(s1s3)) 的分量方式异或运算,而[( + s3) ∨ (α0 ? N(s1s3))]描述在矢量表示中的( + s3)和(α0 ? N(s1s3)) 的分量方式或运算。这个等式从下列事实产生:只有当 + s3 = (0, 0, …, 0)时,则N(s1s3) = 1,且因此α0 ? N(s1s3) = α0 = 1, 0, …, 0 ≠ (0, 0, …, 0),以及总是当 + s3 ≠ (0, 0, …, 0)时,则N(s1s3) = 0且α0 ? N(s1s3) = (0, 0, …, 0)适用。待组合的矢量的分量的值1和1不出现,为此,异或运算1 ⊕ 1 = 0和或运算的1 ∨ 1 = 1将产生不同的结果。原则上,于是当然也可能用异或运算组合一些分量并用或运算组合剩余分量。为了使描述保持尽可能简单,在另外的描述中,异或运算被使用,虽然当然也可以使用或运算。

与中间值Zw0Zw1Zw2Zw3是根据方程(24)到(27)还是根据方程(28)到(31)来确定无关,得到待校正的位的相同校正值。由(24)到(27)中的方程确定的和根据方程(28)到(31)确定的中间值因此被称为相等的。从上下文中很清楚使用什么中间值。

现在参考实施例解释本公开。在图1中,示意性图示用于校正1位、2位和3位错误的创造性电路。它包括校验子生成器Synd 11、用于确定中间值Zw0的子电路SZw0 120、用于确定中间值Zw1的子电路SZw1 121、用于确定中间值Zw2的子电路SZw2 122以及用于确定中间值Zw3的子电路SZw3 123。电路还包括用于确定校正值Δvin个子电路SKi 13i,i = 1, …, n。电路还包括用于以分量方式组合待校正的字v′ = , …, 与从子电路SK1 131, …, SKn 13n确定的校正值Δv1, …, Δvn的组合电路Vkn 14。校验子生成器Synd 11根据下列关系式例如通过异或运算从应用于其n分量二进制输入的数据字v′ = , …, 形成错误校验子s = (s1s3s5)的分量s1s3s5

校验子生成器Synd 11可以在其三个m位宽二进制输出处提供该关系式。

矩阵H1H3H5可以是用于1位、2位和3位错误的错误校正和具有3 ? m校正位的在Galois域GF(2m)上的长度n的BCH代码的H矩阵的子矩阵:

携带子校验子s1的校验子生成器Synd 11的第一输出可以连接到用于形成中间值Zw0Zw1Zw2Zw3的子电路SZw0 120, SZw1 121, SZw2 122, SZw3 123中的每个子电路的第一输入。携带子校验子s3的校验子生成器Synd 11的第二输出可以连接到子电路SZw0 120, SZw1 121, SZw2 122, SZw3 123中的每个子电路的第二输入。携带子校验子s5的校验子生成器Synd 11的第三输出可以连接到子电路SZw0 120, SZw1 121中的每个子电路的第三输入。

携带中间值Zw0的子电路SZw0 120的m位宽输出可以连接到用于形成校正值Δvj的子电路SKj 13j中的每个子电路的第一输入,j = 1, …, n

携带中间值Zw1的子电路SZw1 121的m位宽输出可以连接到用于形成校正值Δvj的子电路SKj 13j中的每个子电路的第二输入,j = 1, …, n

携带中间值Zw2的子电路SZw2 122的m位宽输出可以连接到用于形成校正值Δvj的子电路SKj 13j中的每个子电路的第三输入,j = 1, …, n

携带中间值Zw3的子电路SZw3 123的m位宽输出可以连接到用于形成校正值Δvj的子电路SKj 13j中的每个子电路的第四输入,j = 1, …, n

对于k = 1, …, n,子电路SK13k的1位宽输出可以连接到组合电路Vkn 14的第一n个二进制输入中的每个的1位宽第k个输入,在组合电路Vkn 14的n个另外的二进制输入处,待校正的数据字v′ = , …, 的分量, …, 被应用。组合电路Vkn 14可以在其n个二进制输出处输出例如由分量方式异或运算实现的校正后的值 =  ⊕ Δvll = 1, …, n

换句话说,用于错误校正的电路可以包括用于确定用作在错误校正多项式中的系数的中间值Zw0, Zw1, Zw2, Zw3的多个子电路。中间值Zw0, Zw1, Zw2, Zw3可以根据子校验子s1s3s5来确定,使得在1位、2位或3位错误的情况下,当错误出现在位位置i上时,以及当没有错误出现在位位置i上时。可以接着基于对点估计的错误校正多项式来确定位位置i的校正值。中间值Zw0, Zw1, Zw2, Zw3中的至少一个的确定可以包括作为至少两个子校验子的函数的代数项,所述代数项指示1位错误是否存在于可能错误的二进制字v’中。

在实施例中,图2示出子电路SKi 2的一个可能的实现。它可以包括常数乘法器21、22和23、异或电路24和或非电路25。

中间值Zw0所应用于的第一m位宽输入可以被馈送到异或电路24的第一m位宽输入。携带中间信号Zw1的第二m位宽输入可以连接到常数乘法器21的输入,常数乘法器21的m位宽输出可以连接到异或电路24的第二m位宽输入。在常数乘法器21中,输入中间值Zw1可以乘以常数因子。乘法可以是在Galois域GF(2m)中的乘法。

可以通过使Zw1以及还有在其相应的多项式表示中彼此相乘以Galois域GF(2m)的模数多项式为模并通过经由异或运算实现因而产生的线性方程来确定常数乘法器21的具体实现。

携带中间信号Zw2的子电路SKi 2的第三m位宽输入可以连接到常数乘法器22的输入,常数乘法器22的m位宽输出可以连接到异或电路24的第三m位宽输入。在常数乘法器中,输入中间值Zw2可以乘以常数因子。乘法可以再次是在Galois域GF(2m)中的乘法。

可以通过使Zw2以及还有在其相应的多项式表示中彼此相乘以Galois域GF(2m)的模数多项式为模并通过经由异或运算实现因而产生的线性方程来确定常数乘法器22的具体实现。

携带中间信号Zw3的第四m位宽输入可以连接到常数乘法器23的输入,常数乘法器23的m位宽输出可以连接到异或电路24的第四m位宽输入。在常数乘法器中,输入中间值Zw3可以乘以常数因子。乘法可以再次是在Galois域GF(2m)中的乘法。

可以通过使Zw3以及还有在其相应的多项式表示中彼此相乘以Galois域GF(2m)的模数多项式为模并通过经由异或运算实现因而产生的线性方程来确定常数乘法器23的具体实现。

携带值z(i)的异或电路24的m位宽输出可以连接到或非电路25的m位宽输入,或非电路25在其1位宽输出处输出校正信号Δvi

在中间值Zw3恒定等于α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个二进制输入,在这些输入处,由对应的子电路SK1, …, SKn输出的校正值Δv1, …, Δ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中,图示用于确定中间值Zw0的子电路SZw0的可能实现。图4A的子电路SZw0被提供以根据下面的关系式形成中间值Zw0

在子电路SZw0的第一m位宽输入处应用校验子分量s1,在第二m位宽输入处应用校验子分量s3,以及也在第三m位宽输入处应用校验子分量s5。在m位宽输出处输出中间值Zw0。携带校验子分量s1的第一输入连接到平方电路41的m位宽输入和Galois域乘法器48的第一输入。携带校验子分量s3的第二m位宽输入连接到Galois域乘法器42的第一输入,Galois域乘法器42的第二m位宽输入连接到携带值的平方电路41的输出。携带校验子分量s5的第三m位宽输入连接到异或电路43的第一输入,异或电路43的第二m位宽输入连接到携带值 ? s3的Galois域乘法器42的输出。

可以在图1中的校验子生成器Synd 11的输出处提供校验子分量s1s3s5。异或电路43可以实现分量方式异或运算。连接到Galois域乘法器45的第一输入的异或电路43的m按位输出携带 ? s3 + s5。Galois域乘法器45的第二m按位输入也可以连接到SZw0的第一输入,其携带校验子分量s1并且也可以连接到平方电路41的输入和Galois域乘法器48的第一输入。携带值s1(? s3 + s5)的Galois域乘法器45的输出可以连接到Galois域乘法器46的第一输入。

携带信号的Galois域乘法器48的输出可以连接到异或电路49的第一输入,异或电路49的第二m位宽输入可以连接到携带校验子分量s3的子电路SZw0的第二输入,其中这个输入也可以连接到Galois域乘法器42的第一输入。携带值 + s3的它的输出可以连接到具有二进制输出的或非电路410的m位宽输入并连接到异或电路47的第一m位宽输入。

确切地当 + s3 = 0时或当 = s3时且因此也当s1 = s3 = 0适用以及因此α0 ? N(s1s3) = (1, 0, …, 0)也适用时,或非电路410的1位宽输出可以携带值1。注意,α0 = (1, 0, 0, ..., 0)具有m位(见图4D)。或非电路410的输出可以连接到具有两个二进制输入和一个二进制输出的异或门412的第一输入。在异或门412的第二输入处,可以应用值 + s3的最高有效位。确切地当 + s3 = 0时,这个最高有效位可以反转。在这种情况下,它可以被设置为值1。在任何其它情况下,它可以保持不变。由异或门412输出的值(作为最高有效位MSB)连同异或电路49的输出线的m – 1个最低有效位一起形成应用于反相器413的m位宽输入的值 + s3 + α0 ? N(s1, s3),反相器413用于形成在Galois域中反转的值,且其在可以连接到Galois域乘法器46的第二m位宽输入的其输出处可以输出值[ + s3 + α0 ? N(s1s3)]-1。在一个实施例中,异或门412也可以由具有两个二进制输入和一个二进制输出的或门代替,因为如上所述,两个输入值1和1的连接不必被实现,且或函数和异或函数对输入值[0, 0], [1, 0], [0, 1]是相等的。在可以连接到异或电路47的第二输入的其输出处,Galois域乘法器46可以输出值

这个值可以应用于异或电路47的第二输入,在异或电路47的第一m位宽输入处应用值 + s3。在其输出处,它可以输出中间值Zw0,其中:

可以例如经由可以被实现为ROM或组合函数的具有m个输入和m个输出的表来实现用于反转Galois域中的输入值的子电路13。

实现平方电路、Galois域乘法器和反相器是本领域中的技术人员已知的。此外,平方电路41也可以被实现为具有m个输入和m个输出的表。也可能将这个电路实现为线性电路。所考虑的Galois域的所有元素在其多项式表示中可以被表示为(m – 1)次多项式,且平方的多项式可以再次被确定为以模数多项式为模作为Galois域的(m – 1)次多项式,因此,针对具体实施例仍将描述的线性表示直接跟随。

因此,也可以通过乘操作数的对应多项式以本领域中的技术人员已知的且除了仍然对具体Galois域描述的以外的模数多项式为模来导出Galois域乘法器42、45、46和48的具体实现。

在图4B中,示意性图示用于实现中间值Zw1的子电路SZw1的一个可能实现。图4B的子电路SZw1被提供以根据下列关系式形成中间值Zw1

在子电路SZw1的第一m位宽输入处可以应用校验子分量s1,在第二m位宽输入处可以应用校验子分量s3,以及也在第三m位宽输入处可以应用校验子分量s5。在m位宽输出处可以输出中间值Zw1。携带校验子分量s1的第一输入可以连接到平方电路414的m位宽输入和Galois域乘法器418的第一输入。携带校验子分量s3的第二m位宽输入可以连接到Galois域乘法器415的第一输入,Galois域乘法器415的第二m位宽输入可以连接到可以携带值的平方电路414的输出。平方电路414的输出可以附加地连接到Galois域乘法器418的第二输入。

Galois域乘法器415的输出可以连接到异或电路416的第一m位宽输入,异或电路416的第二m位宽输入可以连接到可以携带校验子分量s5的电路SZw1的第三m位宽电路输入。可以携带校验子分量s3的电路SZw1的第二m位宽输入可以连接到异或电路419的第一输入,异或电路419的第二m位宽输入可以连接到可以携带值的Galois域乘法器418 的输出。

可以在图1中的校验子生成器Synd 11的输出处提供校验子分量s1s3s5。异或电路416可以实现分量方式异或运算。可以连接到Galois域乘法器417的第一输入的异或电路416的m按位输出可以携带值 ? s3 + s5

可以携带值 + s3的异或电路419的m位宽输出可以连接到具有二进制输出的或非电路420的m位宽输入。

确切地当 + s3 = 0时,或非电路420的1位宽输出可以携带“1”。这通常是当 = s3时或当s1 = s3 = 0适用时的情况。在这种情况下,α0 ? N(s1s3) = (1, 0, …, 0)适用。或非电路420的输出可以连接到具有两个二进制输入和一个二进制输出的或门421的第一输入。由异或电路419输出的值 + s3的最高有效位可以应用于或门421的第二输入。作为最高有效位的由或门421输出的值同时与由异或电路419输出的m位的m – 1个最低有效位一起应用于反相器422的m位宽输入。在反相器422的输入处可以应用输入值[ + s3 + α0 ? N(s1s3)]。反相器422可以形成值[ + s3 + α0 ? N(s1s3)]-1(其在Galois域中可以是应用于其输入的输入值的倒数),并在其输出处输出所述倒数。反相器411的输出可以连接到Galois域乘法器417的第二m位宽输入。

在其输出处,Galois域乘法器417输出中间值

在图4B中,可以使用或非电路420和或门421从异或电路419所输出的值 + s3得到应用于反相器422的输入的输入值[ + s3 + α0 ? N(s1s3)]的最高有效位。

与此相反,在图4A中,可以使用或非电路410和异或门412从异或电路49所输出的值 + s3得到应用于反相器413的输入的输入值[ + s3 + α0 ? N(s1s3)]的最高有效位。

在异或门412和或门421两者的输入处,通常从不应用输入值对(1, 1),使得由或门输出的值没有不同于由异或门输出的值。

图4C示出用于实现中间值Zw2 = s1的子电路SZw2的一个可能的实现。它可以仅包括连接到校验子生成器Synd 11的输出的m分量线423,校验子生成器Synd 11输出校验子分量s1

图4D示出用于实现中间值的子电路SZw3的一个可能的实现。它可以包括m分量线,其最高有效位恒定地在值“1”处,且其m – 1个最低有效分量恒定地在值“0”处。

在图5中,示意性图示用于生成中间值Zw0Zw1Zw2Zw3的子电路SZw0SZw1SZw2SZw3的联合实现的一个实施例,其根据下面的关系式确定中间值:

子校验子s1应用于第一m位宽输入,其可以连接到平方电路51的输入以及还有Galois域乘法器56的第一输入两者。平方电路51的输出连接到Galois域乘法器52的第一m位宽输入并且还连接到Galois域乘法器56的第二m位宽输入。子校验子s3可以应用于Galois域乘法器52的第二m位宽输入。携带值.s3的这个Galois域乘法器的输出可以连接到异或电路53的第一m位宽输入,在异或电路53的第二m位宽输入处也可以应用子校验子s5的值s5。异或电路53可以执行应用于其两个输入的m位操作数的分量方式异或运算,使得它可以在其输出处输出值s3 + s5。这个输出可以连接到Galois域乘法器54的第一m位宽输入并同时连接到可以携带中间值Zw1的电路输出。

子校验子s1的值可以应用于Galois域乘法器54的第二m位宽输入。携带值s3 + s1s5的该Galois域乘法器54的输出可以连接到异或电路55的第一m位宽输入。

携带值的Galois域乘法器56的输出可以连接到异或电路57的第一m位宽输入,在异或电路57的第二m位宽输入处可以应用值s3。携带值 + s3的这个异或电路57的m位宽输出可以连接到平方电路58并进入或非电路59中。除此之外,异或电路57的输出的最高有效位MSB可以连接到异或门510的第一输入,或非电路59的输出可以连接到异或门510的第二输入。异或电路57的输出的m – 1个最低有效位和在异或门510的输出处输出的位可以应用于Galois域乘法器511的第一m位宽输入,在Galois域乘法器511的第二m位宽输入处,子校验子s1的值可以被输入,且Galois域乘法器511的输出可以连接到可以输出中间值Zw2的电路输出。

携带m – 1个最低有效位的异或电路57的输出和异或门510的输出的输出线可以连接到输出中间值Zw3的电路输出。

携带值( + s3)2=  + 的平方电路58的输出可以连接到异或电路55的第二m位宽输入,异或电路55的输出可以连接携带中间值Zw0的电路输出。

意外地,可以基于表达式 + s3使用或非电路59和异或门510容易确定表达式 + s3 + α0 ? N(s1s3),如在下文解释的。

对于 + s3 ≠ 0等于 + s3且对于 + s3 = 0等于。

如果 + s3 ≠ 0,则或非电路59在可以应用于异或门510的第二输入的其1位宽输出处输出值“0”。 + s3的最高有效位MSB可以被输入到异或门510的第一输入中,并在该门的输出处由于应用于第二输入的“0”而不改变地被输出。 + s3的未改变的最高有效位和m – 1个最低有效位形成值 + s3,其可以应用于Galois域乘法器的第一输入且也应用于输出值Zw3的电路输出。

如果 + s3 = 0适用,则或非电路59输出可以应用于异或门510的第二输入的值1。 + s3的最高有效位(MSB)等于0,正如另外m – 1个位一样。因此在异或门的输出处可以输出值“1”,使得在Galois域乘法器511的第一输入的m输入线上就像在携带值Zw3的电路输出处一样输出值。

对本领域中的技术人员很明显,电路可以等同地改变。例如可能由或门代替异或门510,而不改变电路的功能。同样例如可能代替Galois域乘法器56和上游平方电路51来使用从s1直接形成第三幂的子电路。同样可能例如代替给定信号来使用部分地反转的信号并用不同的门库实现电路。

图5中的子电路SZw0SZw1SZw2SZw3可以部分地以联合方式实现,该联合方式以电路部分可以同时由几个子电路使用的事实为特征且其可能相对于电路费用或复杂性是有利的。

子电路SZw0在这里可以包括电路部分51、52、53、54、55、56、57、58。

子电路SZw1可以包括也都用于实现子电路SZw0的电路部分51、52、53。

子电路SZw2可以包括子电路51、56、57、59、510、511,且子电路SZw3可以包括也都用于实现子电路SZw2的电路部分51、56、57、59、510。

为了本公开的更好理解,现在将仍然对一个具体实施例解释可以用于实现本公开的电路部分。

在这个方面,在一个实施例中,选择m = 5,使得基本Galois域是GF(25) = GF(32)。

Galois域GF(25) = GF(32)的元素以其不同的形式在表1中图示。所考虑的Galois域的模数多项式是多项式m(x) = 1 + x2 + x5。 

表1:由本原多项式p(x) = 1 + x2 + x5生成的GF(25)的元素。

Galois域的31个元素在表1的第一列中的行2到32中以其幂表示αi被表示出,i = 0, …, 30,幂表示αi也可以被称为指数表示。在第一列的第一行中的元素0没有幂表示,α在这里是Galois域的本原元素。

在第二列中,Galois域的32个元素以其模数多项式的多项式表示被给出。在第三列中,给出元组或矢量表示。矢量表示的五个分量对应于多项式表示的幂x0x1x2x3x4的五个系数。因此,例如矢量表示00101对应于在表1的第9行中的多项式x2 + x4

对应的多项式表示通过确定从幂表示αj产生。

因此,α5的多项式表示等于1 + x2,如下式适用:

因此,α6的多项式表示等于

α7的多项式表示等于

以及α8的多项式表示等于

如在表1的行7、8、9和10中给出的。

Galois域的两个元素的相乘可以在指数表示中或在多项式表示中完成。

如果Galois域GF(2m) = GF(25)的两个元素在指数表示αi和αj中给出,则它们的积为:

αi ? αj = αk,其中:k = i + j modulo(2m – 1) = i +  modulo(31)。

如果待相乘的Galois域的元素在其矢量表示中或在其多项式表示中存在,则它们的相乘可以由Galois域乘法器执行。虽然Galois域乘法器是本领域中的技术人员已知的,为了本公开的更好理解,将针对一个应用示例描述两个元素在其多项式表示中的相乘。

为了使两个元素彼此相乘,Galois域GF(2m) = GF(25)的元素在其多项式表示中被给出,然后多项式将照常直接乘以彼此,且结果将被确定为以模数多项式为模。

如果例如给出多项式1 + x2 + x3x + x3,则它们的直接相乘导致:

且由于x5 = 1 + x2  modulo(1 + x2 + x5)和x6 = x + x3 modulo(1 + x2 + x5),于是

适用,使得对于它们在Galois域中的相乘,下式适用:

现在描述第一元素a(x)

与第二元素b(x)

相乘的情况(在Galois域GF(25)中,具有模数多项式m(x) = x5 + x2 + 1)。

通过使多项式a(x)和b(x)直接相乘,8次多项式产生,且通过将x5x6x7x modulo(1 + x2 + x5)分别确定为1 + x2x + x3x2 + x4和1 + x2 + x3,可以直接计算出四次多项式结果且下式适用:

=            

这个关系由将在下文中描述的具有五个第一二进制输入、五个第二二进制输入和五个二进制输出的Galois域乘法器实现。

二进制值a0a1a2a3a4应用于Galois域乘法器的第一五个输入。二进制值b0b1b2b3b4应用于第二五个输入。因而产生的值c0c1c2c3c4

                             (32)

                                    (33)

           (34)

                        (35)

                          (36)

在五个二进制输出处被输出。 

在这里,“+”指定加法以2为模或异或运算。

例如通过与门和异或门实现方程32到36且因此实现Galois域乘法器对于本领域中的技术人员并不难,且因此将不被进一步解释。照惯例,本领域中的技术人员可以使用合成工具。

如果Galois域的元素被求平方,它可以乘以本身。如果在多项式表示中元素作为多项式被给出,则下式适用:

[a0 + a1x2 + a2x4 + a3x a4x8]

对Galois域GF(25)中的元素求平方可以相应地使用具有五个二进制输入和五个二进制输出的平方电路来实现。在其五个二进制输入处可以输入二进制值a0a1a2a3a4,且在其5个二进制输出处可以输出二进制值d0d1d2d3d4,其中下式适用:

a0 + a4 = d0                                (37)

a3 = d1                                 (38)

a1 + a4 = d2                                (39)

a3 + a4 = d3                                (40)

a2 = d4                                 (41)

以及“+”再次指定加法以2为模或异或运算。

为了在具有模数多项式m(x) = 1 + x2 + x5的Galois域GF(25)中实现平方电路,则仅线性方程37到41将被实现,这对于本领域中的技术人员并不难且将不被进一步描述。

将再次参考Galois域GF(25)的示例描述可以如何确定元素的三次幂,这在其多项式表示中被描述。

如果多项式的三次幂(a(x))3被确定为以模数多项式m(x) = 1 + x2 + x5为模,则下式适用:

可以相应地用具有五个二进制输入和五个二进制输出的三次幂生成器来实现在Galois域GF(25)中形成元素的三次幂。在其五个二进制输入处输入二进制值a0a1a2a3a4,且在其五个二进制输出处输出五个二进制值f0f1f2f3f4,其中

                         (42)

                            (43)

            (44)

                 (45)

         (46)

为了实现三次幂生成器,这里在具有模数多项式m(x) = 1 + x2 + x5的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中。举例来说,考虑使中间值Zw2与相乘的常数乘法器22,ji = 20。因为2 ? ji = 2 ? 20 = 40 = 9 modulo 31适用,所以中间值Zw2乘以α9

在多项式表示中,中间值Zw2可以被如下表示:

在多项式表示中,α9根据表1具有下面的表示:

α9(x) = x4 + x3 + x

以及Galois域GF(25)的模数多项式m(x)是:

m(x) = x5 + x2 + 1。

可能首先使四次多项式Zw2(x)和α9(x)直接相乘。于是得到八次多项式。如果然后幂x5x6,x7,x8分别由1 + x2x + x3x2 + x4x3 + x5 = x3 + 1 + x2代替,同时遵守以m(x) = x5 + x2 + 1为模,则在多项式表示g(x) = Zw2(x) ? α9(x)中产生下式:

如可以直接计算的。

对应的常数乘法器于是包括5个二进制输入,且它包括五个二进制输出,在这5个二进制输入处,多项式Zw2(x)的系数被输入,以及在这五个二进制输出处,多项式g(x)的系数g0g1g2g3g4被输出。可以根据下面的关系式从多项式Zw2(x)的系数确定这些系数g0g1g2g3g4

本领域中的技术人员将例如通过异或运算或通过其它适当的运算来实现在所描述的常数乘法器的输入和输出之间的关系。

对于一个实施例,现在将解释错误校正的功能。再次考虑Galois域GF(25)。示例性地作为H矩阵,矩阵:

将被使用。

如果还考虑总奇偶性,则矩阵HP

可以被添加。在所考虑的实施例中,考虑仅从子矩阵H1H3H5合并起来的H矩阵。

通过根据表1使用元素αj的矢量表示,对于H1H3H5,下式产生:

因为H矩阵包括23列,所以代码包括长度n = 23。因为H矩阵包括15行,所以它包括15个校验位和因此的8个数据位。

举例来说,将解释对在第12位中的1位错误的错误校正。相关联的错误校验子于是由错误矢量e确定:

校验子生成器Synd 11输出错误校验子的分量s1s3s5,其中

适用。错误校验子s = s1s3s5等于H矩阵的第12列:

考虑下列情况:根据图5的电路从错误校验子的分量形成中间值。

图5的子电路SZw0SZw1SZw2SZw3被配置成使得子电路SZw0SZw1SZw2SZw3根据子校验子s1s3s5提供中间值:

其中

以及

适用。因此,下式适用:

在图5的子电路的电路输出处输出的中间值Zwi可以接着针对s1 = α11s3 = α2s5 = α24被如下确定:

根据图2的子电路SKi 可以使用常数乘法器21、22、23和异或电路24根据下列关系式提供5位宽值,i = 12且因此ji = 11,

因为Zw0 = 0, Zw1 = 0, Zw2 = α11Zw3 = α0,所以下式产生:

=                                   =

或非电路25可以提供值Δv12

使得在第12位中的错误被校正。

没有另外的位被校正,因为z(i) ≠ 0针对所有i ≠ 12产生,且因此Δvi = 0。

因此,例如对于i = 7且因此ji = 6,使用已经确定的值Zw0 = 0, Zw1 = 0, Zw2 = α11Zw3 = α0通过直接计算,下式产生:

因此针对第7位的示例说明的是,这个位在1位错误存在于另一位(在这里是第12位)中时未被校正。对于所考虑的实施例,可以类似地示出的是,大部分仅通过直接计算,也没有针对其它位的校正发生。

现在将针对在第5和第17位中的2位错误解释本公开的运行。

相关联的错误校验子接着通过错误矢量e

以及H矩阵:

进入

通过校验子生成器Synd 11来确定。

与1位错误相反,其中 + s3 = 0以及N(s1s3) = 1,在这里:

以及

从校验子值s1 = α27s3 = α14s5 = α23中,中间值Zw0Zw1Zw2Zw3由图5的电路确定为:

子电路SKi 2在图2中实现,使得异或电路24在这里在其m = 5位宽输出处输出值z(i),

对于i = 5, ji = 4, Zw0 = 0, Zw1 = α5Zw2 = α12Zw3 = α16,异或电路24输出:

且或非电路25在其输出处形成校正值:

 

对于i = 17, ji = 16, Zw0 = 0, Zw1 = α5Zw2 = α12Zw3 = α16,异或电路24输出:

且或非电路25形成校正值:

 

没有另外的位被校正。因此例如对于i = 10, ji = 9, Zw0 = 0, Zw1 = α5Zw2 = α12Zw3 = α16,下式产生:

且或非电路25输出校正值:

使得没有第10位的校正被做出。

仍然将注意,当s1 = s3 = s5 = 0适用时,由子电路SKi 13i(i = 1, …, n)输出的所有校正信号Δvi等于0。有利地,在错误校验子s = (s1s3s5)指示没有错误的情况下,不要求切断错误校正电路。在这种情况下中间值Zw0 = 0, Zw1 = 0, Zw2 = 0, Zw3 = α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输出的子校验子sPs5s3s1的第一1位宽输入、第二m位宽输入、第三m位宽输入和第四m位宽输入。它包括r位宽输出,在该输出处,r位宽错误信号E = E1, …, Er被输出,其中r ≥ 1适用。

在实施例中可以提供的是,r = 1和E = E1适用,且E1针对第一二进制值指示错误并针对第二二进制值指示没有错误存在。

在一个实施例中,可以提供的是,r = 5和E = E1E2E3E4E5。然后例如,二进制值E1可以指示可检测的错误是否存在。二进制值E2可以指示1位错误是否存在。二进制值E3可以指示2位错误是否存在。二进制值E4可以指示3位错误是否存在。二进制值E5可以指示4位错误是否存在。可以假设的是,在所考虑的实施例中仅出现1位、2位、3位和4位错误。

错误检测电路SFE可以被配置成使得它实现下面的关系。 

当(s1s3) ≠ 0时E1 = 1

当(s1s3) = 0时E1 = 0

E1 = 1指示可检测的错误存在,而E1 = 0指示没有可检测的错误存在。

当 + s3 = 0和sP = 1时E2 = 1

否则E2 = 0

E2 = 1指示1位错误存在,而E2 = 0指示没有1位错误存在。

当、和时E3 = 1

否则E3 = 0

E3 = 1指示2位错误存在,而E3 = 0指示没有2位错误存在。

当 + s3 ≠ 0和sP = 1时E4 = 1

否则E4 = 0

E4 = 1指示3位错误存在,而E4 = 0指示没有3位错误存在。

sP = 0和时E5 = 1

否则E5 = 0

E5 = 1指示4位错误存在,而E5 = 0指示没有4位错误存在。

意外地,在图5的实现中,用于区分开2位和4位错误的信号 ? s3 + s1 ? s5 +  + 可以已经在异或电路55的输出处且因此在子电路SZw0的输出处被提供,且不必再次生成。可以在异或电路57的输出处输出信号 + s3。通过一起实现错误检测电路SFE和用于提供中间值Zw0的子电路SZw0,特别有利的实现可以产生。这样的实现在图7中图示。

图7的电路包括如已经关于图5描述的子电路SZw0和用于错误检测的子电路SFE′ 71。子电路SZw0的子电路用与图5中的相同的参考数字来标记,且因此将不再次被描述。

与图5中的子电路SZw0比较,图7中的子电路SZw0没有改变。

子电路SFE′包括携带子校验子sP的第一1位宽输入、携带子校验子s1的第二m位宽输入、携带校验子s3的第三m位宽输入和连接到异或电路57的m位宽输出并携带值 + s3的第四m位宽输入以及携带值Zw0 =  ? s3 + s1 ? s5 +  + 的第五m位宽输入。在所述实施例中,子电路SFE′ 71包括五个二进制输出。

用于错误检测的子电路SFE 62和图6中的子电路SZw0 120在图7中联合地实现。

子电路SZw0由子电路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的第一输入。

携带子校验子s1的第二m位宽输入可以连接到具有m个输入和在其1位宽输出处输出子校验子s1的分量的或操作的一个输出的或电路81的m个输入。

携带子校验子s3的第三m位宽输入可以连接到具有m个输入和一个输出的或电路82的m个输入,其中该电路在其1位宽输出处输出子校验子s3的分量的或操作。

携带由图7中的异或电路57输出的信号 + s3的第四m位宽输入可以连接到具有m个输入和一个输出的或电路84的m个输入,其中该电路在其1位宽输出处输出信号 + s3的分量的或操作。

携带由图7中的异或电路55输出的信号Zw0 =  ? s3 + s1 ? s5 +  + 的第五m位宽输入可以连接到具有m个输入和一个输出的或电路85的m个输入,其中电路在其1位宽输出处输出信号 ? s3 + s1 ? s5 +  +   + s3的分量的或组合。

或电路81的1位宽输出可以连接到具有两个输入和一个输出的或门83的第一输入且还连接到具有两个输入和一个输出的与门810的第一输入,其中门810的第二输入可以连接到与门87的输出,且其中错误信号E的分量E3可以在门810的输出处被输出。

或电路82的输出可以连接到或门83的第二输入,或门83的输出可以输出错误信号E的分量E1

或电路84的输出可以与与门88的第二输入非反相地连接并与与门86的第二输入反相地连接。与门86的输出可以携带错误信号E的分量E2

与门88可以输出错误信号E的分量E4。或电路85的输出可以与与门89的第二输入非反相地连接并与与门810的第二输入反相地连接。与门89可以输出错误信号E的分量E5。与门810的输出可以携带错误信号E的分量E3

虽然在设备的上下文中已经描述了一些方面,清楚的是,这些方面还表示对应方法的描述,其中块或装置对应于方法步骤或方法步骤的特征。类似地,在方法步骤的上下文中描述的方面还表示对应的块或对应设备的物品或特征的描述。方法步骤中的一些或全部可以由(或使用)硬件设备(像例如微处理器、可编程计算机或电子电路)执行。在一些实施例中,大部分重要的方法步骤中的某一个或多个可以由这样的设备执行。

根据特定实现要求,本公开的实施例可以在硬件中或在软件中实现。可以使用其上存储有电可读控制信号的数字存储媒介(例如软盘、DVD、蓝光盘、CD、ROM、PROM、EPROM、EEPROM或闪存存储器)来执行该实现,所述数字存储媒介与(或能够与)可编程计算机系统协作,使得相应的方法被执行。因此,数字存储媒介可以是计算机可读的。

根据本公开的一些实施例包括具有电可读控制信号的数据载体,其能够与可编程计算机系统协作,使得本文中描述的方法之一被执行。

一般地,本公开的实施例可以被实现为具有程序代码的计算机程序产品,当计算机程序产品在计算机上运行时,程序代码对于执行方法之一是可操作的。程序代码可以例如被存储在非瞬时机器可读载体上。

其它实施例包括用于执行本文中描述的方法之一的计算机程序,其存储在机器可读载体上。

换句话说,创造性方法的实施例因此是计算机程序,其具有用于当计算机程序在计算机上运行时执行本文中描述的方法之一的程序代码。

创造性方法的另外的实施例因此是数据载体(或数字存储媒介或计算机可读媒介),其包括在其上记录的用于执行本文中描述的方法之一的计算机程序。数据载体、数字存储媒介或记录的媒介通常是有形的和/或非瞬时的。

创造性方法的另外的实施例因此是表示用于执行本文中描述的方法之一的计算机程序的数据流或信号序列。数据流或信号序列可以例如被配置成经由数据通信连接例如经由互联网来传递。

另外的实施例包括配置成或适合于执行本文中描述的方法之一的处理装置,例如计算机或可编程逻辑装置。

另外的实施例包括计算机,其具有其上安装的用于执行本文中描述的方法之一的计算机程序。

根据本公开的另外的实施例包括配置成将用于执行本文中描述的方法之一的计算机程序传递(例如电子地或光学地)到接收器的设备或系统。接收器可以例如是计算机、移动装置、存储器装置等。设备或系统可以例如包括用于将计算机程序传递到接收器的文件服务器。

在一些实施例中,可编程逻辑装置(例如现场可编程门阵列)可以用来执行本文中描述的方法的功能中的一些或全部。在一些实施例中,现场可编程门阵列可以与微处理器协作,以便执行本文中描述的方法之一。一般,方法优选地由任何硬件设备执行。

上面描述的实施例对于本公开的原理仅仅是例证性的。理解的是,本文中描述的布置和细节的修改和变化对本领域中的技术人员将是明显的。因此意图是仅由即将来临的专利权利要求的范围而不是由通过本文中的实施例的描述和解释呈现的特定细节限制。

虽然每个权利要求仅仅指回到一个单个权利要求,本公开也覆盖权利要求的任何可设想的组合。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号