CN1849750A - 里得-所罗门编码和解码方法 - Google Patents
里得-所罗门编码和解码方法 Download PDFInfo
- Publication number
- CN1849750A CN1849750A CNA2004800261612A CN200480026161A CN1849750A CN 1849750 A CN1849750 A CN 1849750A CN A2004800261612 A CNA2004800261612 A CN A2004800261612A CN 200480026161 A CN200480026161 A CN 200480026161A CN 1849750 A CN1849750 A CN 1849750A
- Authority
- CN
- China
- Prior art keywords
- centerdot
- error
- multinomial
- code word
- syndrome
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- 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
- 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/159—Remainder calculation, e.g. for encoding and syndrome calculation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
一种里得-所罗门编码器方法(图1)包括:将N个零追加到数据块;执行其系数是数据块的数据加上零的多项式P(x)的连续Horner约简。将余数α(i)乘以对应多项式系数D (i) (x),并且将所有结果得到的乘积的加和作为奇偶校验码元追加到数据块以形成码字。一种里得-所罗门解码器方法(图2)包括:计算作为码字与校正子向量的点积的校正子。如果校正子等于0,则通过去除奇偶校验码元来对码字解码。如果校正子不等于0,则通过下述操作校正码字:针对错误位置形成并且求解错误定位多项式,针对该位置处的错误量形成并且求解错误量多项式,校正码字中的错误。通过去除奇偶校验码完成解码。以软件执行这些方法。
Description
技术领域
本公开一般涉及生成多项式的纠错编码和解码,更明确地,涉及里得-所罗门编码和错误检测及纠正技术。
背景技术
里得-所罗门编码和解码方案用在诸如人造卫星、调制解调器、音频致密盘、无线电话的许多通信系统中。每个通信系统具有限定里得-所罗门码的参数的不同值集合。里得-所罗门编码器/解码器使用伽罗华域(Galois Field,GF)算术来将通信块映射成较大的块。每个块对应于基于输入块的过分简化的多项式。
当以硬件实现时,里得-所罗门编码器/解码器需要相当大的数目的逻辑门和其它硬件。许多努力针对通过例如并行处理和降低处理的算术表示来降低硬件量。
因为计算复杂度和低功率需求,所以各种通信系统专用的里得-所罗门解码器以专用的硬件块实现。例如,参见,R.E.Blahut的“Theory and practiceof error control codes,”Addison-Wesley,1984;以及S.B.Wicker的“Errorcontrol systems for digital communication and storage,”Prentice Hall,Inc.,1995。本发明的整个编码和解码方法在没有采用伽罗华域多项式除法的情况下以软件实现。同样通过直接求解错误定位和错误量两者所需的系统方程而以软件实现解码方法。
发明内容
本公开的里得-所罗门方法包括:将N个零追加到数据块;进行其系数是数据块的数据加上零的多项式
的连续Horner约简,该约简产生了多个余数β(i),其中i=0到N-1。将余数β(i)乘以存储在存储器中的对应多项式系数D(i)(x),并且对所有结果得到的乘积求和
该乘积的加和代表作为多项式P(x)被生成多项式
除的结果的多项式的余数系数。将该乘积的加和作为奇偶校验码元追加到数据块以形成码字。以软件执行该方法。
用于对包括数据码元和奇偶校验码元的码字解码的本公开的里得-所罗门解码器方法包括:计算作为码字与存储在存储器中的校正子向量的点积的校正子,该校正子向量是多项式
的系数,其中校正子向量的数目i等于码字中奇偶校验码元的数目。如果校正子等于0,则通过仅去除奇偶校验码元来对码字解码。如果校正子不等于0,则通过下述操作校正码字:针对错误位置形成并且求解错误定位多项式,针对该位置处的错误量形成并且求解错误量多项式,校正码字中的错误。通过去除奇偶校验码元对码字解码。以软件执行该方法。
当结合附图考虑时由本发明的下述详细描述,本发明的这些和其它方面将变得清楚。
附图说明
图1是根据本公开原理的里得-所罗门编码器的流程图。
图2是根据本公开原理的里得-所罗门解码器的流程图。
具体实施方式
编码器
一般地,编码器方案通过取出包括数据码元的数据块并且添加奇偶校验码元以产生所谓的码字(codeword)。在里得-所罗门编码系统中,奇偶校验码元是两个多项式除法的余数。
第一多项式
是伽罗华域GF(2n)中长为2n的数据块。第二多项式
是GF(2n)中的生成多项式,αj和αi是GF(2n)中的域元素。
为了通过仅使用GF乘法和加法计算GF(2n)中的多项式除法的余数,将方程简化并且将某些部分预先计算或者预先确定并且存储在存储器中。这提供了软件实现并且是可改变或者可重新配置的。
假设Q(i)是数据P(x)与生成多项式
的除法的商
对于:
i=0
i=1
i=2
一般,对于i=N-1
在简单计算之后上述方程的余数可以写为:
系数β(i)是P(x)的连续Horner约简的余数,如表1所示。
表1:具有αi的多项式P(x)的连续Horner约简。
αn-1 | αn-2 | …α2 | α1 | α0 | α0 |
αn-1 | αn-1α0+αn-2 | (αn-1α0+αn-2)+αn-3 | … | β(0) | α1 |
αn-1 | (αn-1α0+αn-2)α1 | β(1) | α2 | ||
… | |||||
αn-1 | β(N-1) | αN |
预先确定N个多项式
并且将之存储在存储器中。将余数系数β(i)乘以来自存储器的对应多项式系数D(i)(x)。所有作为结果得到的乘积的加和
表示多项式的余数系数,其是数据多项式被生成多项式除的除法。
图1中示出了编码方法为向数据追加N个零。接下来,执行P(x)多项式(其是数据块的数据加上零的系数)的Horner约简。然后,将约简的余数乘以存储在存储器中的对应多项式系数D(x)以便计算余数多项式系数。将余数多项式系数追加到初始数据以形成码字。
具体示例如下:
RS(256,240)是包括240个数据码元和16个奇偶校验码元的长为256的码字。
生成多项式g(x)的给定系数为:
1,59,13,104,189,68,2O9,30,8,163,65,41229,98,50,36,59生成多项式g(x)的给定根{αi}为:
1,2,4,8,16,32,64,128,29,58,116,232,205,135,19,38结果得到的预先计算和存储的D(i)(x)多项式系数为
1
1 1
1 3 2
1 7 14 8
1 15 54 120 64
1 31 198 63 147 116
1 63 1 213 32 227 38
1 127 122 154 164 11 68 117
1 255 11 80 54 239 173 200 24
1 226 207 158 245 235 164 232 197 37
1 216 194 159 111 199 94 95 113 157 193
1 172 130 163 50 123 219 162 248 144 116 160
1 68 119 67 118 220 31 7 84 92 127 213 97
1 137 73 227 17 177 17 52 13 46 43 83 132 120
1 14 54 114 70 174 151 43 138 195 127 166 210 234 163
1 29 196 111 163 112 24 10 106 105 139 132 151 32 134 26
追加了16个零的P(x)的数据为:
131,244,241,21,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
由P(x)的连续Horner约简的余数系数{β(i)}为:
213,60,145,132,17,44,214,94,5,26,13,78,185,165,215,97
在D(i)(x)和{β(i)}的伽罗华乘积和加和之后,奇偶校验码元为:
97,94,173,51,172,26,65,42,149,22,149,229,37,55,117,61
将奇偶校验码元追加到数据块上并且码字为:
131,244,241,21,70,97,94,173,51,172,26,65,42,149,22,149,229,37,55,117,61
解码器
所接收的码字表示为:
不是通过解码所接收的码字的数据部分并且比较奇偶校验位和所接收的奇偶校验位来检查码字的有效性,解码通过计算校正子(syndrome)直接开始,如图2所示。
下述公式描述了校正子的计算:
Si=CT∑i i=(1,2...N-1)
其中C是向量,其项是码字多项式C(x)的系数,以及∑i是校正子向量,其项是下述多项式的系数:
其中,校正子向量的数目N等于码字中奇偶校验码元的数目,以及每个校正子向量的大小(size)等于码字的大小。校正子向量也存储在存储器中。
如果校正子等于0,则仅通过去除奇偶校验码元来解码码字,并且终止解码处理。如果校正子不等于0,则通过对于错误位置形成并且求解错误定位多项式、对于错误位置处的错误量形成并且求解错误量多项式、校正码字中的错误而校正码字。通过从所接收的(被损坏的)码字中减去(与GF中的加相同)错误向量而校正码字错误。通过去除奇偶校验码元而解码码字。图2中示出了该过程。同样,使用Peterson-Gorenstein-Zierler方法以软件执行解码算法。
在校正子不同于零的情况下的该处理的示例包括形成校正子矩阵方程:
在前面的方程中,Λi是错误定位多项式的系数。
在GF中,通过使用高斯约简可以容易地将所扩展的系统矩阵转换成上三角形式,从而通过这种方式避免了矩阵求逆。
系统的秩是欧几里得迹。现在,可以轻易求解系统方程:Λ0=ΞN-1,Λ1=ΞN-1Λ0+ΞN-2,等等。
使用Chien搜索求解错误定位多项式
错误定位多项式的求解的逆表示错误的位置,其中m等于或者小于N/2。
使用错误量系统方程计算m个错误的错误量:
以与错误定位多项式类似的方式求解错误量多项式,结果得到错误量eij,ij=1,2...m-1
具体示例如下:
计算得到的校正子为:
1,33,131,24,136,153,216,49,234,81,233,87,70,166,106,55
所形成的扩展上三角错误定位系统矩阵为:
1 33 131 24 136 153 216 49 234
0 1 30 44 204 95 222 151 44
0 0 1 80 44 105 181 142 18
0 0 0 1 127 71 56 118 17
0 0 0 0 1 226 77 213 139
0 0 0 0 0 1 214 176 28
0 0 0 0 0 0 1 76 21
0 0 0 0 0 0 0 1 246
误差定位多项式的求解为:
246,66,232,128,185,202,17,25
以及错误为:
1,2,3,4,5,6,20,21
尽管详细描述和说明了本公开,但是应清楚理解,这仅是作为说明和示例完成的而不应作为限制。本公开的范围仅由所附权利要求来限定。
Claims (7)
1.一种里得-所罗门编码器方法,包括:
将N个零追加到数据块;
执行其系数是数据块的数据加上零的多项式
的连续Horner约简,该约简产生了多个余数β(i),其中i=0到N-1;
将余数β(i)乘以存储在存储器中的对应多项式系数D(i)(x),并且对所有结果得到的乘积求和
该乘积的加和代表作为多项式P(x)被生成多项式
除的结果的多项式余数系数;
将该乘积的加和作为奇偶校验码元追加到数据块以形成码字。
2.如权利要求1所述的方法,其中,以软件执行该方法。
3.一种包括执行如权利要求1所述的方法的解码器的通信设备。
4.一种用于对包括数据码元和奇偶校验码元的码字解码的里得-所罗门解码器方法,该方法包括:
计算作为码字与存储在存储器中的校正子向量的点积的校正子,该校正子向量是多项式
的系数,其中校正子向量的数目i等于码字中奇偶校验码元的数目;
如果校正子等于0,则通过仅去除奇偶校验码元来对码字解码;以及
如果校正子不等于0,则通过下述操作校正码字:针对错误位置形成并且求解错误定位多项式,针对该位置处的错误量形成并且求解错误量多项式,校正码字中的错误,通过去除奇偶校验码解码。
5.如权利要求4所述的方法,其中以软件执行该方法。
6.如权利要求4所述的方法,其中该校正子向量的大小等于码字的大小。
7.一种包括执行如权利要求4所述方法的解码器的通信设备。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US53650904P | 2004-01-15 | 2004-01-15 | |
US60/536,509 | 2004-01-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1849750A true CN1849750A (zh) | 2006-10-18 |
Family
ID=34807017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004800261612A Pending CN1849750A (zh) | 2004-01-15 | 2004-12-08 | 里得-所罗门编码和解码方法 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1704647B1 (zh) |
JP (1) | JP2007518353A (zh) |
KR (1) | KR101238108B1 (zh) |
CN (1) | CN1849750A (zh) |
WO (1) | WO2005069775A2 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308706B (zh) * | 2007-05-18 | 2012-01-04 | 瑞昱半导体股份有限公司 | 适用于闪存的数据写入方法及错误修正编解码方法 |
CN101695002B (zh) * | 2009-10-13 | 2013-07-10 | 苏州国芯科技有限公司 | 一种基于理德-所罗门码的编码电路 |
CN104247274A (zh) * | 2012-03-26 | 2014-12-24 | 吉林克斯公司 | 非二进制线性块码的并行编码 |
CN106537424A (zh) * | 2014-06-18 | 2017-03-22 | 阿尔卡特朗讯 | 用于纠缠量子态的硬件高效校验子提取 |
CN113610092A (zh) * | 2021-07-31 | 2021-11-05 | 福州视驰科技有限公司 | 一种基于信道编码的人工智能集装箱识别系统 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101279283B1 (ko) | 2006-10-19 | 2013-06-26 | 조지아 테크 리서치 코오포레이션 | 블록 부호를 사용하는 통신 시스템에서 신호 송수신 장치및 방법 |
CN102968356A (zh) * | 2011-12-30 | 2013-03-13 | 中国科学院上海光学精密机械研究所 | 云存储系统的数据处理方法 |
US8929014B2 (en) | 2013-06-04 | 2015-01-06 | International Business Machines Corporation | Tape header protection scheme for use in a tape storage subsystem |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4763332A (en) * | 1987-03-02 | 1988-08-09 | Data Systems Technology Corp. | Shared circuitry for the encoding and syndrome generation functions of a Reed-Solomon code |
US6263470B1 (en) * | 1998-02-03 | 2001-07-17 | Texas Instruments Incorporated | Efficient look-up table methods for Reed-Solomon decoding |
US6327690B1 (en) * | 1999-02-04 | 2001-12-04 | Intel Corporation | Integrated reed-solomon error correction code encoder and syndrome generator |
US6360348B1 (en) * | 1999-08-27 | 2002-03-19 | Motorola, Inc. | Method and apparatus for coding and decoding data |
-
2004
- 2004-12-08 JP JP2006549270A patent/JP2007518353A/ja active Pending
- 2004-12-08 KR KR1020067012712A patent/KR101238108B1/ko not_active IP Right Cessation
- 2004-12-08 WO PCT/US2004/041011 patent/WO2005069775A2/en active Application Filing
- 2004-12-08 EP EP04813340.9A patent/EP1704647B1/en not_active Not-in-force
- 2004-12-08 CN CNA2004800261612A patent/CN1849750A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308706B (zh) * | 2007-05-18 | 2012-01-04 | 瑞昱半导体股份有限公司 | 适用于闪存的数据写入方法及错误修正编解码方法 |
CN101695002B (zh) * | 2009-10-13 | 2013-07-10 | 苏州国芯科技有限公司 | 一种基于理德-所罗门码的编码电路 |
CN104247274A (zh) * | 2012-03-26 | 2014-12-24 | 吉林克斯公司 | 非二进制线性块码的并行编码 |
CN106537424A (zh) * | 2014-06-18 | 2017-03-22 | 阿尔卡特朗讯 | 用于纠缠量子态的硬件高效校验子提取 |
CN106537424B (zh) * | 2014-06-18 | 2019-05-21 | 阿尔卡特朗讯 | 用于纠缠量子态的硬件高效校验子提取 |
CN113610092A (zh) * | 2021-07-31 | 2021-11-05 | 福州视驰科技有限公司 | 一种基于信道编码的人工智能集装箱识别系统 |
CN113610092B (zh) * | 2021-07-31 | 2023-11-10 | 福州视驰科技有限公司 | 一种基于信道编码的人工智能集装箱识别系统 |
Also Published As
Publication number | Publication date |
---|---|
EP1704647A2 (en) | 2006-09-27 |
KR20060125814A (ko) | 2006-12-06 |
WO2005069775A3 (en) | 2005-10-27 |
WO2005069775A2 (en) | 2005-08-04 |
KR101238108B1 (ko) | 2013-02-27 |
EP1704647A4 (en) | 2008-04-02 |
EP1704647B1 (en) | 2019-03-20 |
JP2007518353A (ja) | 2007-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9998148B2 (en) | Techniques for low complexity turbo product code decoding | |
US8700977B2 (en) | High-performance ECC decoder | |
US8176396B2 (en) | System and method for implementing a Reed Solomon multiplication section from exclusive-OR logic | |
CN1739244A (zh) | 使用低密度奇偶校验码的编码器及其编码方法 | |
JP3810766B2 (ja) | エラー訂正のための付加情報生成方法及びその装置 | |
CN101032082A (zh) | 编码和解码数据的方法和设备 | |
US7162679B2 (en) | Methods and apparatus for coding and decoding data using Reed-Solomon codes | |
CN101039119A (zh) | 编码与解码的方法及系统 | |
US20170047948A1 (en) | Data encoding by efficient inversion of a parity-check sub-matrix | |
CN101047391A (zh) | 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法 | |
CN1146116C (zh) | 截短法尔码的差错捕获译码方法和装置 | |
CN1467918A (zh) | 里得-索罗门解码器 | |
CN1176714A (zh) | 用于三错校正和四错校正的改进系统 | |
CN1849750A (zh) | 里得-所罗门编码和解码方法 | |
US8739006B2 (en) | Reduced circuit implementation of encoder and syndrome generator | |
US10193574B1 (en) | Efficient syndrome calculation in processing a GLDPC code | |
US8645807B2 (en) | Apparatus and method of processing polynomials | |
Li et al. | Modified GII-BCH codes for low-complexity and low-latency encoders | |
Mondal et al. | Efficient hardware design architectures for BCH product codes in the frequency domain | |
US9467173B2 (en) | Multi-code Chien's search circuit for BCH codes with various values of m in GF(2m) | |
CN1447528A (zh) | 一种和rs码等效的编码以及其快速编译码的算法 | |
CN1599262A (zh) | 宽带无线接入系统中里德索洛门卷积级联码的实现方法 | |
CN1167373A (zh) | 用在里德-所罗门解码器中的多项式求值器 | |
US7287207B2 (en) | Method and apparatus for computing parity characters for a codeword of a cyclic code | |
US20050216818A1 (en) | Recording/regenerating device, method of encoding error correction, method of recording data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |