CN101803204B - 纠正位串错误的方法 - Google Patents
纠正位串错误的方法 Download PDFInfo
- Publication number
- CN101803204B CN101803204B CN200880100849.9A CN200880100849A CN101803204B CN 101803204 B CN101803204 B CN 101803204B CN 200880100849 A CN200880100849 A CN 200880100849A CN 101803204 B CN101803204 B CN 101803204B
- Authority
- CN
- China
- Prior art keywords
- error
- bit string
- symptom
- value
- symptom value
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 208000024891 symptom Diseases 0.000 claims description 218
- 230000007246 mechanism Effects 0.000 claims description 21
- 125000004122 cyclic group Chemical group 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 17
- 230000009897 systematic effect Effects 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 5
- 235000012364 Peperomia pellucida Nutrition 0.000 claims description 4
- 240000007711 Peperomia pellucida Species 0.000 claims description 4
- 230000005055 memory storage Effects 0.000 claims description 4
- 238000012937 correction Methods 0.000 claims description 3
- 208000011580 syndromic disease Diseases 0.000 abstract description 11
- 230000006872 improvement Effects 0.000 abstract description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- 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
-
- 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/1575—Direct 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明是应用于使用症状值译码机制的错误纠正码中的译码方法,而症状值译码机制是指所有症状值集合(Syndrome Set)以一对一方式对应至所有可纠正错误样式(Error Patterns)集合。本发明改进的高速错误纠正能力是以搜寻症状值与错误样式集合间的一对一对应关系来实现。本发明第一实施例与第二实施例是分别使用完整与部分症状值与错误样式的对应关系。本方法包含下列步骤:计算对应于接收到的位串的症状值;确定位串的症状值是否为零位串;当症状值为非零位串时,由症状值与错误样式的对应关系来确定出错误样式;随后使用错误样式纠正所接收到的位串。
Description
技术领域
本发明是关于错误纠正码的译码方法,特别是关于使用症状值译码机制所作的错误纠正译码,其表示症状值是以一对一方式对应于可纠正的错误样式(Error Patterns)。可使用此机制的例子包含线性码(Linear Codes)或循环码(Cyclic Codes)、二进制代码(Binary Codes)或非二进制代码(Non-binary Codes)、系统码(Systematic Codes)或非系统码(Non-systematic Codes)、以及延伸码(Extended Codes)或缩短码(Shorten Codes)等。
背景技术
在信号传递时,会发生如衰减(Fading)、信道噪声(Channel Noise)及信号干扰(Signal Interference)等因素,信道中的数据传输难免会发生错误,因此错误纠正码在通讯系统中扮演了一个重要的角色。错误会发生在任何通讯信道中,因此,接收器将接收到具有错误型态的传输信号,通过使用错误纠正码,可消除可纠正的错误,因此原来的传输信号将在无需要求重新传送信号的前提下被修复。
所有的这些机制的基础原理是在要传输的信息(Message-Word)中加入额外的冗余信息(Redundancy),以使得传输过程中的错误能够被侦测并加以纠正。这个机制把被传输的信息对应到一个码字(Codeword),所对应到的码字包含要传输的信息以及用作错误控制的冗余信息。加入的额外的冗余信息的数量是该机制错误控制能力的函数。在接收器端,若传输时发生错误,则接收器将接收到含有错误样式的码字(Corrupted Codeword)。然而,若含有错误样式的码字中的错误数量小于或等于该机制的错误控制能力(Error CorrectingCapacity),则接收器可根据症状值与错误样式的对应关系来确定出错误样式,并正确复原出原传送的信息。
用来从含有错误样式的码字中移除错误样式的译码程序包含有下列步骤。首先,计算对应于含有错误样式的码字的症状值。由此症状值可得出包含在码字中的错误样式的特征。因此,可通过一译码机制来确定出该症状值,并利用该症状值来识别包含在含有错误样式的码字中的错误样式。一旦确定出错误样式后,便可从含有错误样式的码字中直接移除以得到原来传输时的码字,并从该码字中还原出原信息。
之前,已经有各种执行错误纠正的译码机制被提出。然而,现有的译码方法主要缺点为译码过程非常耗时,使得这些机制很难使用在实时(Real-time)应用中。为何这些译码方法如此耗时?主要有二个理由,第一,确定错误样式所需的代数计算相当复杂,第二,有些译码程序需多次递归执行。
因此,需要更快速且更简单的错误纠正译码机制,以提供高速的性能表现以符合大部分应用的需求。
发明内容
本发明是一种执行错误纠正的译码方法,可应用于症状值译码机制所涵盖的错误纠正码。
本发明的目的在于提供一种有用的译码方法,可应用于症状值译码机制所涵盖的错误纠正码,其中症状值译码机制可使用于大部分主要的与实时的应用。
本发明的另一目的在于提供一种快速且简单的错误纠正译码方法,此方法可应用于症状值译码机制所涵盖的错误纠正码。
为了达到上述目的,并与本说明书中所广泛描述的功效一致,本发明提供一种症状值译码机制所涵盖的错误纠正码的译码方法,其中症状值译码机制包含线性码或非线性码、二进制代码或非二进制代码、系统码或非系统码、以及延伸码或缩短码的症状值译码机制。本发明改进的高速错误纠正能力以搜寻症状值与错误样式的对应关系(The Mapping Relationship between Syndromes andErrors)来实现,而症状值与错误样式的对应关系建立在下列的理论基础上:所有症状值的集合与所有可纠正错误样式的集合间存在有一对一的对应关系。
本发明以两个实施例来说明。第一实施例使用完整症状值与错误样式的对应关系,而第二实施例则使用部分症状值与错误样式的对应关系。本方法包含下列步骤:计算对应于接收到位串的症状值;分别针对所有症状值集合来评估多个逻辑函数,以获得所有可纠正错误样式集合,其中分别地使用所有症状值集合的症状值的症状值位所对应的逻辑函数,来决定每一个可纠正错误样式的每一个错误位置;建构完整或者是部分症状值与错误样式的对应关系,其中完整症状值与错误样式的对应关系是包含该所有症状值集合、及以一对一方式对应至所有症状值集合的所有可纠正错误样式集合,该部分症状值与错误样式的对应关系是包含所有症状值与其一对一对应的可纠正错误样式的集合的一子集合;确定症状值是否为零位串,其中当症状值并非为零位串时,所接收的位串为含有错误样式的码字;当症状值为非零位串时,直接通过根据该症状值来搜寻完整或者是部分症状值与错误样式的对应关系来确定错误样式;以及使用得到的错误样式纠正所接收的位串。
可以理解的是,前面的一般描述以及后续的详细说明均以实施例方式加以说明,以提供对本发明进一步的解释。
本发明的优点为,利用不同的症状值译码机制,可减少译码程序中所需的递归运算的次数,进而降低运算元件所耗损的能量,同时,当症状值译码机制简化后,即可以相对较少的硬件元件来执行译码程序所需的运算,故可降低硬件所需的成本。
附图说明
为了能够对本发明的观点有更好的理解,请参照上述优选实施例的详细说明并结合相应的附图。相关附图的说明如下:
图1A是示出依据本发明第一实施例的线性码或循环码的译码的流程图。
图1B是示出依据本发明第一实施例的利用完整症状值与错误样式的对应关系以确定错误样式的流程图。
图2A是示出依据本发明第二实施例的译码线性码或循环码的流程图。
图2B是示出依据本发明第二实施例的利用部分症状值与错误样式的对应关系以作错误尝试(Error-Trying)的流程图。
具体实施方式
本发明的优选实施例将由以下内容作详细说明,而本发明的实施例将结合相应的附图加以介绍。在可能的情况下,相同的参考图标用来在附图及说明中表示相同或相似的部分。
本发明提供一种有用的错误纠正方法,用作线性码或循环码、二进制代码或非二进制代码、系统码或非系统码、以及延伸码或缩短码的译码。与现有方法比较,本发明所改进的高速错误纠正能力是利用搜寻症状值与错误样式的对应关系来实现的。症状值与错误样式的对应关系建立在下列的理论上:在所有的症状值形成的集合以及所有的可纠正的错误样式形成的集合之间,存在有一对一的对应关系。如果错误样式的权重(Weight)小于或等于错误纠正能力则称错误样式是可纠正的,其中d是编码的最小汉明距离,标记表示不超过的最大整数,而位串的权重表示位串中非零位置的数量。
因为症状值隐藏在含有错误样式的码字之中,而且仅与错误样式相关,即症状值仅由可纠正的错误样式所确定。单个可纠正的错误样式不可能对应于两个不同的症状值。从另一观点来说,假如有两个可纠正的错误样式e与e’,且与该两个错误样式相关的症状值是完全相同的,则该两个错误样式相减的字符串e-e’的症状值等于零。上述状况意味着相减的字符串e-e’实际上是一个码字。因为相减的字符串e-e’的权重并没有大于错误样式e与e’的权重的和,即wt(e-e’)≦wt(e)+wt(e’),所以相减的字符串e-e’的权重最大为t+t=2t,其中t为错误纠正能力。根据上述描述可知相减的字符串e-e’的权重小于d(码字的最小距离),此状况对于线性码或循环码而言是不合理的。
通过使用症状值与可纠正的错误样式之间的对应关系,可以建立一有用的症状值与错误样式的对应表,并将其使用于译码过程,其中症状值与错误样式的对应表也可称为症状值与错误样式的对应关系。症状值作为症状值与错误样式的对应关系的输入部分,而输出部分则为相对应的可纠正错误样式。上述做法可避免从症状值中确定错误样式的复杂计算。
以下将详细描述两个实施例。请先参照图1A,根据本发明第一实施例的应用于译线性码或译循环码的方法将在下面进行说明。在步骤102中,计算对应到所接收位串r的症状值S。在循环码的例子中,一般状况下,计算症状值包含以下两种常见的方法,第一是由接收的多项式除以生成多项式的余式当作症状值,或者将生成多项式的根代入到接收多项式中所得的值当作症状值。在线性码的例子中,一般状况下,症状值包含有利用校验矩阵(Parity CheckMatrix)乘以接收码字(Receive Codeword)所获得的向量。接着在步骤104中,确定在步骤102中所算出的症状值S是否为零位串。当症状值S为非零位串时,在步骤106中使用该症状值S从完整症状值与错误样式的对应关系中找出相对应的错误样式e。相反地,当症状值S等于零时,在步骤110中宣告无错误发生。错误样式的确定可利用查表法(Look-Up Table)或逻辑函数法(LogicFunction Methods)来执行。这些确定错误的方法将在后面结合图1B加以说明。最后,在步骤108中,执行错误样式e与含有错误样式的码字r(CorruptedCodeword)两者的数据部分的模二加法(Modulo-2 Addition)来回复原来的数据信息,其中该含有错误样式的码字即前述步骤102中所接收的位串r。
现在请参照图1B,根据本发明第一实施例的使用完整症状值与错误样式的对应关系的方法将在下面进行说明。在步骤112中,确定症状值S是否属于完整症状值与错误样式的对应关系中的一部分。接着,在步骤114中,当症状值S属于症状值与错误样式的对应关系中的一部分时,确定与其相对应的错误样式e。相反的,当症状值S不属于完整症状值与错误样式的对应关系中的一部分时,在步骤116中宣告为无法纠正的错误。
以下是关于从症状值与错误样式的对应关系中的症状值确定错误样式的一种方式的说明:设e=(e0,e1,…,ek-1)为错误样式发生时的数据部分,每个错误位置ei用逻辑函数ei=fi(S0,S1,…,Sm-1)表示,其中i=0,1,…,k-1,而S0,S1,…,Sm-1是从含有错误样式的码字中所得的症状值S的症状值位(SyndromeBits),且将症状值位S0,S1,…,Sm-1输入各位函数fi计算即可得出错误样式位置ei的值。详细描述如下:
设e=(e0,e1,…,ek-1)为发生在数据部分的错误样式且设症状值S已经被计算出。然后存在逻辑函数f0,f1,…,fk-1使得每个错误位置能够经由代入症状值位到逻辑函数中来确定:
e0=f0(S0,S1,...,Sm-1)
e1=f1(S0,S1,...,Sm-1)
·
·
·
ek-1=fk-1(S0,S1,...,Sm-1)
因此,可执行错误样式与含有错误样式的码字两者数据部分的模二加法来回复原来的数据信息。
第一实施例的一特定实例叙述如下。考虑二进制循环码(17,9)搭配生成多项式g(x)=x8+x7+x6+x4+x2+x+1。表1为二进制循环码(17,9)的完整症状值与错误样式的对应关系,其中包含所有的可纠正的错误样式以及相对应的症状值。设r=(11101111011111111)为接收的位串,而相关的接收多项式(Received Polynomial)为r(x)=x16+x15+x14+x12+x11+x10+x9+x7+x6+x5+x4+x3+x2+x+1。首先,用接收多项式r(x)除以生成多项式g(x)来计算与r相对应的症状值S以取得余式x4+x3+x+1。症状值S=(00011011)是与余式相关的系数向量(CoefficientVector)。因为症状值S是非零的位串,因此接收的位串为含有错误样式的码字。此外,因为症状值S属于表1的一部分,因此可通过查询表1来确定错误样式的信息,或是根据所得的症状值S=(00011011)使用逻辑函数来直接确定错误样式的信息,其方式如下:e0=f0(0,0,0,1,1,0,1,1)=1,e1=f1(0,0,0,1,1,0,1,1)=0,e2=f2(0,0,0,1,1,0,1,1)=0,e3=f3(0,0,0,1,1,0,1,1)=0,e4=f4(0,0,0,1,1,0,1,1)=0,e5=f5(0,0,0,1,1,0,1,1)=1,e6=f6(0,0,0,1,1,0,1,1)=0,e7=f7(0,0,0,1,1,0,1,1)=0与e8=f8(0,0,0,1,1,0,1,1)=0,然后可得到数据部分的错误样式(000100001)。接着,数据部分的错误样式(000100001)与含有错误样式的码字的数据部分(111011110)两者进行模二加法可以还原得到原来的数据信息(111111111)。
表1(17,9)完整症状值与错误样式的对应关系
现在请参照图2A,根据本发明第二实施例的应用于译线性码或译循环码的方法将在下面进行说明。在步骤202中,计算对应到接收到的位串r的症状值S。在循环码的例子中,一般状况下,计算症状值包含以下两种常见的方法,第一是由接收的多项式除以生成多项式的余式当作症状值,或者将生成多项式的根代入到接收多项式中所得的值当作症状值。在线性码的例子中,一般状况下,症状值包含利用校验矩阵乘以接收的位串所获得的向量。接着在步骤204中,确定在步骤202中所得的症状值S是否为零位串。当症状值S为非零位串时,在步骤206中从部分症状值与错误样式的对应关系中找出与症状值S相对应的错误样式e。相反地,当症状值S等于零时,在步骤210中宣告无错误发生。确定错误的方法将在后面参照图2B进行说明。步骤208中执行错误样式e与含有错误样式的码字两者的数据部分的模二加法以回复原来的数据信息,其中该含有错误样式的码字即上述步骤202中所接收的位串r。
现在请参照图2B,根据本发明第二实施例的使用部分症状值与错误样式的对应关系的方法将在下面进行说明。预先建构的部分症状值与错误样式的对应关系包含所有症状值的子集合以及相对应的可纠正的错误样式的子集合。预先计算的症状值[et]对应于可纠正的错误样式但不包含在预先建构的部分症状值与错误样式的对应关系中的症状值中,而此标志符号[et]用来表示对应于错误样式et的症状值。
在步骤212中,将起始症状值(Starting Syndrome)S0指定为根据接收多项式所算出的症状值S,并将尝试错误(Trying Error)的样式et指定为零。接着,在步骤214中,确定症状值S是否属于部分症状值与错误样式的对应关系中的一部分。在步骤216中,当症状值S属于部分症状值与错误样式的对应关系中的一部分时,可确定出与其相对应的错误样式ep。相反地,当症状值S不属于部分症状值与错误样式的对应关系中的一部分时,在步骤220中检查所有的预先计算的症状值[et]是否均已使用完。假设预先计算的症状值[et]尚未使用完,则在步骤222中选择一个预先计算的症状值[et]与起始症状值S0进行模二加法,并将症状值S更新成该两者相加之和。此后,在步骤224中,以对应于该预先计算的症状值[et]的错误样式覆写上述尝试错误的样式et。另一方面,假如预先计算的症状值[et]全部使用完且找不到任何的错误样式,则在步骤226中宣告为无法纠正的错误。
当症状值S不属于部分症状值与错误样式的对应关系且预先计算的症状值[et]尚未使用完时,将起始症状值S0与预先计算的症状值[et]其中之一进行模二加法的过程会一直重复,直到起始症状值S0与预先计算的症状值[et]其中之一的和能够在部分症状值与错误样式的对应关系中找到为止,或是所有预先计算的症状值[et]均使用完为止。假如产生有错误样式ep,则在步骤218中将所获得的错误样式ep与尝试错误的样式et两者的数据部分的模二加法结果指定为错误样式e的数据部分。
第二实施例的一个实例叙述如下。考虑二进制循环码(17,9)由生成多项式所产生。表2是二进制循环码(17,9)的部分症状值与错误样式的对应关系,其中包含有部分的可纠正的错误样式以及相对应的症状值。设r=(11101111011111111)为接收的位串,而相应的接收多项式为r(x)=x16+x15+x14+x12+x11+x10+x9+x7+x6+x5+x4+x3+x2+x+1。首先,用接收多项式r(x)除以生成多项式g(x)来计算与r相对应的症状值S以算得余式x4+x3+x+1。症状值S=(00011011)为此余式的系数向量。因为症状值S为非零位串,因此接收的位串为含有错误样式的码字。为了移除隐藏在接收位串中的错误样式,指定起始症状值S0为症状值S,即S0=S=(00011011)。因为无法在部分症状值与错误样式的对应关系中找到症状值S=(00011011),一些尝试错误样式的预先计算的症状值[et]将与起始症状值S0进行模二加法。经过尝试后,尝试错误的样式et=(00000000100000000)搭配预先计算的症状值[et]=(11010111)即为所需。将该一预先计算的症状值(11010111)与起始症状值(00011011)进行模二加法,并将此数值存储在症状值S中,即S=S0+[et]=(11001100)。在这一实例中,在表2中可找到症状值S=(11001100),且可通过查阅表2来确定错误样式,或是根据所得的症状值S=(11001100)使用逻辑函数来直接确定错误样式的信息,其方式如下:ep0=f0(1,1,0,0,1,1,0,0)=0,ep1=f1(1,1,0,0,1,1,0,0)=0,ep2=f2(1,1,0,0,1,1,0,0)=0,ep3=f3(1,1,0,0,1,1,0,0)=0,ep4=f4(1,1,0,0,1,1,0,0)=0,ep5=f5(1,1,0,0,1,1,0,0)=1,ep6=f6(1,1,0,0,1,1,0,0)=0,ep7=f7(1,1,0,0,1,1,0,0)=0与ep8=f8(1,1,0,0,1,1,0,0)=0,然后可得到数据部分的错误样式ep=(000100000)。接着,所得的错误样式ep=(000100000)与尝试错误的样式(000000001)两者的信息数据部分的模二加法可以得到发生在数据部分的错误样式位串e=(000100001)。最后,计算出的e=(000100001)与错误码字(111011110)的信息部分的模二加法可以得到原来的数据信息(111111111)。
表2(17,9)部分症状值与错误样式的对应关系
本发明的优点在于提供一应用于线性码与循环码译码的方法,此方法可使用于大部分主要的与实时的应用中。本发明为一种快速且简单的方法,用作线性码与循环码、二进制代码或非二进制代码、系统码或非系统码、以及延伸码或缩短码的译码。本发明所改进的高速错误纠正能力是以从适当的症状值与错误样式的对应关系中直接确定错误样式来实现。
本发明可用软件或硬件来进行具体化。本发明一般的软件实施例中包含使用程序内存、数据存储器或者内容可寻址内存(CAM)来存储症状值与错误样式的对应关系,或者根据症状值与错误样式的对应关系以数学函数的方式而应用到软件中。本发明一般的硬件实施例中包含使用记忆装置来存储症状值与错误样式的对应关系,或者使用组合逻辑电路(Combinational Logic Circuit)或逻辑函数(Logic Function)来执行症状值与错误样式之间的对应关系而应用到硬件中。此一请求保护的范围包含上述症状值与错误样式间对应关系的任何改进或简化装置。
虽然本发明已经在上述说明中结合优选实施例进行详细说明,但仍可有其它的实施例。因此,下述的要求保护的范围的精神与范畴应不局限于本说明书所包含的优选实施例的描述。
本领域的普通技术人员将能体会到,在不脱离本发明的范围或精神的情况下,可对本发明的结构作出各种更改与变化。根据前述的内容,可以预期的是,本发明所包含的更改与变化均落在后续要求保护的范围及其等价的范围内。
Claims (18)
1.一种纠正位串错误的方法,可用来纠正所接收的一位串中的错误,其中该纠正位串错误的方法包含:
计算对应于所接收的该位串的一症状值;
分别针对一所有症状值集合来评估多个逻辑函数,以获得一所有可纠正错误样式集合,其中分别地使用该所有症状值集合的症状值的症状值位所对应的逻辑函数,来决定每一个可纠正错误样式的每一个错误位置;
建构一完整症状值与错误样式的对应关系,其中该完整症状值与错误样式的对应关系是包含该所有症状值集合、及以一对一方式对应至该所有症状值集合的该所有可纠正错误样式集合;
确定该症状值是否为零位串,其中当该症状值并非为零位串时,所接收的该位串为一含有错误样式的码字;
当该症状值为非零位串时,直接通过根据该症状值来搜寻该完整症状值与错误样式的对应关系以确定出一错误样式;以及
使用所得的该错误样式来纠正所接收的该位串中的错误,其中该纠正所接收的该位串中的错误的步骤包含执行所接收的该位串与该错误样式的模二加法。
2.根据权利要求1所述的纠正位串错误的方法,还包含当该症状值为零位串时,宣告无错误发生。
3.根据权利要求1所述的纠正位串错误的方法,其中所接收的该位串为一错误纠正码所编成的码字,且该错误纠正码使用一症状值译码机制。
4.根据权利要求3所述的纠正位串错误的方法,其中该症状值译码机制表示该所有症状值的集合以一对一的方式对应于所有可纠正错误样式的集合。
5.根据权利要求3所述的纠正位串错误的方法,其中适用该症状值译码机制的编码方式包含线性码或循环码、二进制代码或非二进制代码、系统码或非系统码、以及延伸码或缩短码。
6.根据权利要求1所述的纠正位串错误的方法,其中该确定一错误样式的步骤包含:
确定该症状值是否属于该完整症状值与错误样式的对应关系;以及
当该症状值属于该完整症状值与错误样式的对应关系时,确定与该症状值相对应的该错误样式。
7.根据权利要求6所述的纠正位串错误的方法,进一步包含当该症状值不属于该完整症状值与错误样式的对应关系时,宣告为无法纠正的错误。
8.根据权利要求1所述的纠正位串错误的方法,其中该确定一错误样式的步骤可通过使用内存存储该完整症状值与错误样式的对应关系而应用到软件中。
9.根据权利要求1所述的纠正位串错误的方法,其中该确定一错误样式的步骤可通过使用记忆装置存储该完整症状值与错误样式的对应关系,或逻辑函数来执行所有所述症状值与所有所述可纠正错误样式之间的对应关系而应用到硬件中。
10.一种纠正位串错误的方法,可用来纠正所接收的一位串中的错误,其中该纠正位串错误的方法包含:
计算对应于所接收的该位串的一症状值;
分别针对一所有症状值集合来评估多个逻辑函数,以获得一所有可纠正错误样式集合,其中分别地使用该所有症状值集合的症状值的症状值位所对应的逻辑函数来决定每一个可纠正错误样式的每一个错误位置;
建构一部分症状值与错误样式的对应关系,其中该部分症状值与错误样式的对应关系是包含所有症状值与其一对一对应的可纠正错误样式的集合的一子集合;
确定该症状值是否为零位串;
当该症状值为非零位串时,直接通过根据该症状值来搜寻该部分症状值与错误样式的对应关系以确定出一错误样式,其中该确定一错误样式的步骤包含:
指定一起始症状值为由所接收的该位串计算所得的该症状值,且先指定一尝试错误的样式为零;
确定该症状值是否属于该部分症状值与错误样式的对应关系;
当该症状值属于该部分症状值与错误样式的对应关系时,确定所得的该错误样式;
执行所得的该错误样式与该尝试错误的样式的模二加法;以及使用所得的该错误样式来纠正所接收的该位串中的错误。
11.根据权利要求10所述的纠正位串错误的方法,还包含当该症状值为零位串时,宣告无错误发生。
12.根据权利要求10所述的纠正位串错误的方法,其中该接收的位串为一错误纠正码所编成的码字,且该错误纠正码使用一症状值译码机制。
13.根据权利要求12所述的纠正位串错误的方法,其中该症状值译码机制表示所有所述症状值的集合以一对一的方式对应于所有所述可纠正错误样式的集合。
14.根据权利要求12所述的纠正位串错误的方法,其中适用该症状值译码机制的编码方式包含线性码或循环码、二进制代码或非二进制代码、系统码或非系统码、以及延伸码或缩短码。
15.根据权利要求10所述的纠正位串错误的方法,进一步包含:
提供多个预先计算的症状值,其中所有所述预先计算的症状值与所述可纠正的错误样式相对应,但不包含在该部分症状值与错误样式的对应关系的症状值中;
当该症状值不属于该部分症状值与错误样式的对应关系时,确定该些预先计算的症状值是否已使用完;以及
当所有所述预先计算的症状值均已使用完时,宣告为无法纠正的错误。
16.根据权利要求15所述的纠正位串错误的方法,进一步包含:
当所有所述预先计算的症状值尚未使用完时,将该起始症状值与所有所述预先计算的症状值其中之一进行模二加法作为该部分症状值与错误样式的对应关系的输入值;以及
以对应于该预先计算的症状值的错误样式尝试错误的样式。
17.根据权利要求10所述的纠正位串错误的方法,其中该确定一错误样式的步骤可通过使用记忆装置存储该部分症状值与错误样式的对应关系而应用到软件中。
18.根据权利要求10所述的纠正位串错误的方法,其中该确定一错误样式的步骤可通过使用记忆装置存储该部分症状值与错误样式的对应关系,或使用逻辑函数来执行所有症状值与所有可纠正错误样式之间的对应关系而应用到硬件中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/829,327 | 2007-07-27 | ||
US11/829,327 US8001449B2 (en) | 2007-07-27 | 2007-07-27 | Syndrome-error mapping method for decoding linear and cyclic codes |
PCT/US2008/071285 WO2009018184A1 (en) | 2007-07-27 | 2008-07-27 | Syndrome-error mapping method for decoding linear and cyclic codes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101803204A CN101803204A (zh) | 2010-08-11 |
CN101803204B true CN101803204B (zh) | 2014-04-09 |
Family
ID=40296429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880100849.9A Active CN101803204B (zh) | 2007-07-27 | 2008-07-27 | 纠正位串错误的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8001449B2 (zh) |
CN (1) | CN101803204B (zh) |
WO (1) | WO2009018184A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI351179B (en) * | 2007-08-20 | 2011-10-21 | Lite On Technology Corp | Data processing method and computer system medium thereof |
TWI387214B (zh) * | 2009-02-03 | 2013-02-21 | Silicon Motion Inc | 糾錯碼的解碼方法及電路 |
US8566684B1 (en) * | 2011-05-26 | 2013-10-22 | Sandia Corporation | Decoding and optimized implementation of SECDED codes over GF(q) |
US11368170B1 (en) | 2021-04-29 | 2022-06-21 | Marvell Asia Pte, Ltd. | Systems and methods for Nyquist error correction |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4599722A (en) * | 1984-04-03 | 1986-07-08 | Canadian Patents And Development Limited-Societe Canadienne Des Brevets Et D'exploitation Limitee | Apparatus for encoding and decoding digital data to permit error correction |
US4897839A (en) * | 1987-03-25 | 1990-01-30 | Mitsubishi Denki Kabushiki Kaisha | Coding and decoding method |
CN1118540A (zh) * | 1994-06-16 | 1996-03-13 | 株式会社东芝 | 纠错设备及其方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7634709B2 (en) * | 2001-10-05 | 2009-12-15 | Unisys Corporation | Familial correction with non-familial double bit error detection |
US7243291B1 (en) * | 2002-04-30 | 2007-07-10 | Silicon Graphics, Inc. | System and method for communicating image data using error correction coding |
-
2007
- 2007-07-27 US US11/829,327 patent/US8001449B2/en not_active Expired - Fee Related
-
2008
- 2008-07-27 WO PCT/US2008/071285 patent/WO2009018184A1/en active Application Filing
- 2008-07-27 CN CN200880100849.9A patent/CN101803204B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4599722A (en) * | 1984-04-03 | 1986-07-08 | Canadian Patents And Development Limited-Societe Canadienne Des Brevets Et D'exploitation Limitee | Apparatus for encoding and decoding digital data to permit error correction |
US4897839A (en) * | 1987-03-25 | 1990-01-30 | Mitsubishi Denki Kabushiki Kaisha | Coding and decoding method |
CN1118540A (zh) * | 1994-06-16 | 1996-03-13 | 株式会社东芝 | 纠错设备及其方法 |
Also Published As
Publication number | Publication date |
---|---|
US8001449B2 (en) | 2011-08-16 |
WO2009018184A1 (en) | 2009-02-05 |
CN101803204A (zh) | 2010-08-11 |
US20090031193A1 (en) | 2009-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101243664B (zh) | 应用于对各类码进行编码和解码的原地变换 | |
CN101814922B (zh) | 基于bch码的多位错纠错方法和装置以及存储系统 | |
US4623999A (en) | Look-up table encoder for linear block codes | |
CN101309086A (zh) | 里德-所罗门码级联反馈系统卷积码的系统的译码方法 | |
CN101288232B (zh) | 对数据进行编码和解码的方法以及设备 | |
CN102938653B (zh) | 一种利用图形处理器gpu实现的并行rs译码方法 | |
CN101477481A (zh) | 一种自动纠错系统及方法 | |
CN101803204B (zh) | 纠正位串错误的方法 | |
CN111858169A (zh) | 一种数据恢复方法、系统及相关组件 | |
US6519736B1 (en) | Generating special uncorrectable error codes for failure isolation | |
US8694850B1 (en) | Fast erasure decoding for product code columns | |
CN101938280B (zh) | 错误修正码的编码及解码方法以及编码解码器 | |
CN101207467B (zh) | 循环冗余校验码的生成和数据序列发送、校验方法及装置 | |
CN101151806A (zh) | 利用映射函数周期性的存储器有效的交织/去交织 | |
US20160049962A1 (en) | Method and apparatus of ldpc encoder in 10gbase-t system | |
CN115632662B (zh) | 一种rs译码中的伴随式计算方法、装置、设备及介质 | |
CN103151078A (zh) | 一种存储器检错纠错码生成方法 | |
CN112688696B (zh) | 有限域编码和译码的方法、装置、设备及存储介质 | |
US8255777B2 (en) | Systems and methods for locating error bits in encoded data | |
CN1102261C (zh) | 群变换方法构成的bch符号编码、解码、多重纠错器件 | |
CN113595560B (zh) | 一种信息纠错方法、装置、设备及存储介质 | |
CN101369242B (zh) | 计算机内存程序代码和数据的自检方法 | |
US20240106462A1 (en) | G-ldpc decoder and g-ldpc decoding method | |
KR20190021159A (ko) | 그뢰브너 기저를 이용한 일반화된 리드-솔로몬 코드의 고속 체이스 디코딩방법 | |
TWI403096B (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 |