JPS6246893B2 - - Google Patents
Info
- Publication number
- JPS6246893B2 JPS6246893B2 JP55100814A JP10081480A JPS6246893B2 JP S6246893 B2 JPS6246893 B2 JP S6246893B2 JP 55100814 A JP55100814 A JP 55100814A JP 10081480 A JP10081480 A JP 10081480A JP S6246893 B2 JPS6246893 B2 JP S6246893B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- word
- error correction
- syndrome
- location
- 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.)
- Expired
Links
- 208000011580 syndromic disease Diseases 0.000 claims description 17
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000000034 method Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1806—Pulse code modulation systems for audio signals
- G11B20/1809—Pulse code modulation systems for audio signals by interleaving
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Description
本発明は、1ブロツク内の2ワードエラーまで
訂正できる誤り訂正符号(隣接符号の一種)を用
いたエラー訂正方法に関し、特にエラー訂正を高
速に行なうことができるようにしたものである。
まず、本発明に用いる誤り訂正符号について説
明する。誤り訂正符号を記述する場合、ベクトル
表現或いは巡回群による表現が用いられる。ま
ず、GF(2)上では、既約なm次の多項式F(x)を考
える。
“0”と“1”の元しか存在しない体GF(2)の
上では、既約な多項式F(x)は、根を持たない。
そこで(F(x)=0)を満足する仮想的な根αを
考える。このとき、零元を含むαのべき乗で表わ
される2m個の相異なる元0、α、α2、α3…
…αm-1は、拡大体GF(2m)を構成する。GF
(2m)は、GF(2)の上のm次の既約多項式F(x)を
法とする多項式環であるGF(2m)の元は、1,
α={x},α2={x2},……,αm-1={xm-1}
の線形結合でかきあらわすことができる。即ち
a0+a1{x}+a2{x2}+……+an-1{xm-1}
=a0+a1α+a2α2+………+an-1αm-1
あるいは(an-1,an-2,……,a2,a1,a0)ここ
で、a0,a1,……,an-1∈GF(P)となる。
一例として、GF(28)を考えると、(mod.F(x)
=x8+x4+x3+x2+1)で全ての8ビツトのデー
タは
a7x7+a6x6+a5x5+a4x4+a3x3+a2x2+a1x+a0
又は(a7,a6,a5,a3,a2,a1,a0)で書きあらわ
せるので、例えばa7をMSB側、a0をLSB側に割り
当てる。aoは、GF(2)に属するので、0又は1で
ある。
また、多項式F(x)から(m×m)の下記の行
列Tが導かれる。
他の表現としては、巡回群を用いたものがあ
る。
これは、GF(2m)から0元を除く、残りの元
が位数2m−1の乗法群をなすことを利用するも
のである。GF(2m)の元を巡回群を用いて表現
すると
0,1(=α2m-1),α,α2,α3,……α2
m−2
となる。
さて、本発明の一例では、mビツトを1ワード
とし、nワードで1ブロツクを構成するとき、下
記のパリテイ検査行列Hにもとずいてk個のチエ
ツクワードを発生するようにしている。
また、行列Tによつても同様にパリテイ検査行
列Hを表現することができる。
但し、Iは、(m×m)の単位行列である。
上述のように、根αを用いた表現と生成行列T
を用いた表現との両者は本質的に同一である。
更に、4個(k=4)のチエツクワードを用い
る場合を例にとると、パリテイ検査行列Hは
となる。受信データの1ブロツクを列ベクトルV
=(Wo-1,Wo-2,……,W1,W0)(但しWi=Wi
+eiei:エラーパターン)とすると受信側で発生
する4個のシンドロームS0,S1,S2,S3は
となる。この誤り訂正符号は、ひとつのエラー訂
正ブロツク内の2ワードエラーまでのエラー訂正
が可能であり、エラーロケーシヨンがわかつてい
るときには、3ワードエラー又は4ワードエラー
の訂正が可能である。
1ブロツク中に4個のチエツクワード(p=
W3,q=W2,r=W1,s=W0)が含まれる。こ
のチエツクワードは、下記のようにして求められ
る。但し、Σは、
The present invention relates to an error correction method using an error correction code (a type of adjacent code) capable of correcting up to two-word errors in one block, and is particularly designed to enable high-speed error correction. First, the error correction code used in the present invention will be explained. When describing an error correction code, a vector representation or a cyclic group representation is used. First, consider an irreducible m-th degree polynomial F (x) on GF(2). On the field GF(2) where only elements "0" and "1" exist, the irreducible polynomial F (x) has no roots.
Therefore, consider a virtual root α that satisfies (F (x) = 0). At this time, there are 2 m different elements 0, α, α 2 , α 3 , etc. expressed as powers of α including zero elements.
...α m-1 constitutes an extended field GF(2 m ). GF
(2 m ) is a polynomial ring modulo the m-th order irreducible polynomial F (x) over GF(2). The elements of GF(2 m ) are 1,
α={x}, α 2 = {x 2 }, ..., α m-1 = {x m-1 }
It can be expressed as a linear combination of . That is, a 0 +a 1 {x}+a 2 {x 2 }+...+a n-1 {x m-1 } = a 0 +a 1 α+a 2 α 2 +......+a n-1 α m-1 or ( a n-1 , a n-2 , ..., a 2 , a 1 , a 0 ) Here, a 0 , a 1 , ..., a n-1 ∈GF (P) . As an example, considering GF(2 8 ), (mod.F (x)
= x 8 + x 4 + x 3 + x 2 + 1), and all 8-bit data is a 7 x 7 + a 6 x 6 + a 5 x 5 + a 4 x 4 + a 3 x 3 + a 2 x 2 + a 1 x + a 0
Alternatively, it can be written as (a 7 , a 6 , a 5 , a 3 , a 2 , a 1 , a 0 ), so for example, a 7 is assigned to the MSB side and a 0 to the LSB side. Since a o belongs to GF(2), it is 0 or 1. Further, the following (m×m) matrix T is derived from the polynomial F (x) . Another representation uses cyclic groups. This uses the fact that the 0 element is removed from GF(2 m ) and the remaining elements form a multiplicative group of order 2 m −1. Expressing the elements of GF (2 m ) using a cyclic group is 0, 1 (=α 2m-1 ), α, α 2 , α 3 , ... α 2
It becomes m-2 . Now, in one example of the present invention, when m bits are one word and n words constitute one block, k check words are generated based on the parity check matrix H below. Furthermore, the parity check matrix H can be similarly expressed by the matrix T. However, I is a (m×m) unit matrix. As mentioned above, the expression using the root α and the generation matrix T
Both expressions are essentially the same. Furthermore, taking the case of using four (k=4) check words as an example, the parity check matrix H is becomes. One block of received data is expressed as a column vector V
= (W o-1 , W o-2 , ..., W 1 , W 0 ) (where Wi = Wi
+eiei: error pattern), the four syndromes S 0 , S 1 , S 2 , S 3 that occur on the receiving side are becomes. This error correction code is capable of correcting up to 2 word errors within one error correction block, and is capable of correcting 3 word errors or 4 word errors when the error location is known. 4 check words in 1 block (p=
W 3 , q=W 2 , r=W 1 , s=W 0 ). This check word is obtained as follows. However, Σ is
【式】を意味する。
p+q+r+s=ΣWi=a
α3p+α2q+αr+s=ΣαiWi=b
α6p+α4q+α2r+s=Σα2iWi=c
α9p+α6q+α3r+s=Σα3iWi=d
計算過程を省略し、結果のみを示すと
となる。このようにしてチエツクワードp,q,
r,sを形成するのが送信側に設けられた符号器
の役目である。
次に、上述のように形成されたチエツクワード
を含むデータが伝送され、受信された場合のエラ
ー訂正の基本的アルゴリズムについて説明する。
〔1〕 エラーがない場合:S0=S1=S2=S3=0
〔2〕 1ワードエラー(エラーパターンをeiと
する)の場合:S0=ei S1=αiei S2=α2iei S3
=α3iei
したがつて
αiS0=S1
αiS1=S2
αiS2=S3
となり、iを順次変えたときに、上記の関係が成
立するかどうかで1ワードエラーかどうかを判定
することができる。或いは
S0/S1=S2/S1=S3/S2=αi
となり、αiのパターンを予めROMに記憶されて
いるものと比較してエラーロケーシヨンiが分か
る。そのときのシンドロームS0がエラーパターン
eiそのものとなる。
〔3〕 2ワードエラー(ei,ej)の場合
S0=ei+ej
S1=αiei+αjej
S2=α2iei+α2jej
S3=α3iei+α3jej
上式を変形すると
αjS0+S1=(αi+αj)ei
αjS1+S2=αi+(αi+αj)ei
αjS2+S3=α2i(αi+αj)ei
したがつて
αi(αjS0+S1)=αjS1+S2
αi(αjS1+S2)=αjS2+S3
が成立すれば、2ワードエラーと判定され、エラ
ーロケーシヨンi,jが分かる。つまり、i及び
jの組合せを変えて上式の関係が成立するかどう
かを調べる。そのときのエラーパターンは
ei=S0+α−jS1/1+αi−j ej=S0+
α−iS1/1+αj−i
〔4〕 3ワードエラー(ei,ej,ek)の場合
S0=ei+ej+ek
S1=αiei+αjei+αkek
S2=α2iei+α2jej+α2kek
S3=α3iei+α3jej+α3kek
上式を変形すると
αkS0+S1=(αi+αk)ei+(αj+αk)ej
αkS1+S2=αi(αi+αk)ei+αj(αj+αk)ej
αkS2+S3=α2i(αi+αk)ei+α2j(αj+αk)ej
したがつて
αj(αkS0+S1)+(αkS1+S2)=(αi+αj)(αi+αk)ei
αj(αkS1+S2)+(αkS2+S3)=αi(αi+αj)(αi+αk)ei
上式から
αi(αj(αkS0+S1)+(αkS1+S2))=αj(αkS1+S2)+(αkS2+S3)
が成立すれば、3ワードエラーと判定できる。但
し、(S0≠0,S1≠0,S2≠0)であることを条
件としている。そのときの各エラーパターンは
ei=S0+(α−j+α−k)S1+α−j+kS
2/(1+αi−j)(1+αi−k)
ej=S0+(α−k+α−i)S1+α−k−iS
2/(1+αj−i)(1+αj−k)
ek=S0+(α−i+α−j)S1+α−i−jS
2/(1+αk−i)(1+αk−j)
で求められる。実際には、3ワードエラーの訂正
のための構成が複雑となり、訂正動作に要する時
間も長くなる。そこでポインタによつてi,j・
kのエラーロケーシヨンが分かつている場合と組
合せ、そのときのチエツク用に上式を用い、エラ
ー訂正動作を行なうことが実用的である。
〔5〕 4ワードエラー(ei,ej,ek,el)の場
合:
S0=ei+ej+ek+el
S1=αiei+αjej+αkek+αlel
S2=α2iei+α2jej+α2kek+α2lel
S3=α3iei+α3jej+α3kek+α3lel
上式を変形すると
ei=S0+(α−j+α−k+α−l)S1+(α−j−k+α−k−l+α−l−j)S2+α−j−k−l
S3/(1+αi−j)(1+αi−k)(1+αi−l)
ej=S0+(α−k+α−l+α−i)S1+(α−k−l+α−l−i+α−i−k)S2+α−k−l−i
S3/(1+αj−i)(1+αj−k)(1+αj−l)
ek=S0+(α−l+α−i+α−j)S1+(α−l−i+α−i−j+α−j−l)S2+α−l−i−j
S3/(1+αk−i)(1+αk−j)(1+αk−l)
el=S0+(α−i+α−j+α−k)S1+(α−i−j+α−j−k+α−k−i)S2+α−i−j−k
S3/(1+αl−i)(1+αl−j)(1+αl−k)
ポインタによつてエラーロケーシヨン(i,
j,k,l)が分かつている場合には、上述の演
算によつてエラー訂正を行なうことができる。
上述のエラー訂正の基本的アルゴリズムは、シ
ンドロームS0〜S3を用いて第1ステツプでエラー
の有無をチエツクし、第2ステツプで1ワードエ
ラーかどうかをチエツクし、第3ステツプで2ワ
ードエラーかどうかをチエツクするもので、2ワ
ードエラーまでも訂正しようとするときには、全
てのステツプを終了するまでに要する時間が長く
なり、特に2ワードエラーのエラーロケーシヨン
を求めるときにこのような問題が生じる。
本発明は、かかる問題点が解決され、高速のエ
ラー訂正動作が可能なエラー訂正方法を提案せん
とするものである。
以下、本発明について説明すると、2ワードエ
ラー(ei+ej)の場合のシンドロームS0,S1,
S2,S3に関する式は、前述と同様に
S0=ei+ej
S1=αiei+αjej
S2=α2iei+α2jej
S3=α3iei+α3jej
この式を変形すると
(αiS0+S1)(αiS2+S3)
=(αiS1+S2)2
更に変形して下記のエラーロケーシヨン多項式を
求むる。
(S0S2+S1 2)α2i+(S1S2+S0S3)αi
+(S1S3+S2 2)=0
ここで、各式の係数を
S0S2+S1 2=A
S1S2+S0S3=B
S1S3+S2 2=C
とおく。上式の各係数A,B,Cを用いることに
より2ワードエラーの場合のエラーロケーシヨン
を求めることができる。
〔1〕 エラーがない場合:
A=B=C=0,S0=0,S3=0
〔2〕 1ワードエラーの場合:
A=B=C=0,S0≠0,S3≠0
のときに1ワードエラーと判定される。(αi=
S1/S0)からエラーロケーシヨンiが分かり、(ei
=
S0)を用いてエラー訂正がなされる。
〔3〕 2ワードエラーの場合:
2ワード以上のエラーの場合には、(A≠0,
B≠0,C≠0)が成立し、その判定が頗る簡単
となる。
また、このとき
Aα2i+Bαi+C=0
(但し、i=0〜(n−1))
が成立している。ここで(B/A=D,C/A=E)と
お
くと
D=αi+αj,E=αi・αj
であり
α2i+Dαi+E=0
となる。ここで、2つのエラーロケーシヨンの差
がtであるつまり(j=i+t)とすると
D=αi(1+αt),E=α2i+t
と変形される。したがつて
D2/E=(1+αt)2/αt=α-t+αt
となる。ROMに(t=1〜(n−1))の夫々に
関する、α-t及びαtの値を予め書込んでおき、
ROMの出力から求められた(α-t+αt)と受信
ワードから演算された(D2/E)の値との一致を検
出することでtが求まる。もし、この一致関係が
成立しなければ、3ワード以上のエラーである。
そこで
X=1+αt
Y=1+α-t=D2/E+X
とおくことにより
αi=D/X,αj=D/Y
となり、エラーロケーシヨンi及びjが求められ
る。エラーパターンei,ejは
ei=(αjS0+S1)/D=S0/Y+S1/D
ej=(αiS0+S1)/D=S0/X+S1/D
と求められ、エラー訂正を行なうことができる。
図は、本発明が適用されたエラー訂正装置の一
例を示しており、1で示す入力端子に受信された
データが供給され、バツフアメモリ2及びシンド
ローム発生回路3に供給される。バツフアメモリ
2は、エラー検出及びエラーパターンの発生のた
めに必要とする時間、受信データを遅延させるも
ので、バツフアメモリ2の出力がエラー訂正回路
(mod.2の加算器)4に供給される。このエラー
訂正回路4の出力が出力端子5に取り出される。
シンドローム発生回路3にて(H・VT)の演
算が行なわれ、シンドロームS0〜S3が形成され、
このシンドロームがGF(2m)の演算回路6に与
えられる。この演算回路6は、係数A,B,C,
D,Eを発生する演算とエラーパターンを発生す
る演算とを行なう。演算回路6からの係数がバツ
フアレジスタ7に貯えられ、エラーパターンがバ
ツフアレジスタ8に貯えられる。このバツフアレ
ジスタ8からのエラーパターンがエラー訂正回路
4に供給されることで、エラー訂正がなされる。
また、エラーロケーシヨンデコーダ9及びROM
10が設けられており、バツフアレジスタ7から
の係数D,EとROM10からの出力αt,α-tと
を用いることによつてエラーロケーシヨンiと新
たな係数X,Yとがエラーロケーシヨンデコーダ
9において形成される。この新たな係数X,Yと
バツフアレジスタ7からの係数Dとシンドローム
とが演算回路6に供給されることによつてエラー
パターンei,ejが形成され、このエラーパターン
がバツフアレジスタ8に貯えられる。
また、シンドローム発生回路3からのシンドロ
ームS0,S3とバツフアレジスタ7からの係数A,
B,Cがエラー判定回路11に供給され、エラー
の有無、1ワードエラーかどうか、2ワードエラ
ーかどうか、又はそれ以上のエラーかどうかが判
別される。この判定結果がコントローラ12に与
えられる。コントローラ12は、各回路に対して
クロツクパルス或いは所定のタイミング関係に規
定された制御信号を供給するものである。
上述の説明から理解されるように、本発明によ
れば、ROMにα-t,αt(t=1〜(n−1))の
値を記憶しておき、このROMの出力とシンドロ
ームの演算で形成された係数との両者を比較する
ことにより、2ワードエラーの検出及びエラーロ
ケーシヨンの検出をなしうるので、エラー検出及
びエラー訂正を高速で行なうことができる。これ
と共に、エラー訂正装置における演算回路その他
のハードウエアの構成を簡単化することができ
る。It means [formula]. p+q+r+s=ΣWi=a α 3 p+α 2 q+αr+s=Σα i Wi=b α 6 p+α 4 q+α 2 r+s=Σα 2i Wi=c α 9 p+α 6 q+α 3 r+s=Σα 3i Wi=d Omit the calculation process and only the result If you show becomes. In this way, check words p, q,
The role of the encoder provided on the transmitting side is to form r and s. Next, a basic algorithm for error correction when data containing check words formed as described above is transmitted and received will be described. [1] When there is no error: S 0 = S 1 = S 2 = S 3 = 0 [2] When there is a 1-word error (error pattern is ei): S 0 = ei S 1 = α i ei S 2 =α 2i ei S 3
= α 3i ei Therefore, α i S 0 = S 1 α i S 1 = S 2 α i S 2 = S 3 , and when i is changed sequentially, a one-word error will occur depending on whether the above relationship holds. It can be determined whether Alternatively, S 0 /S 1 =S 2 /S 1 =S 3 /S 2 =α i , and the error location i can be found by comparing the pattern of α i with that previously stored in the ROM. At that time, syndrome S 0 is the error pattern
It becomes ei itself. [3] In the case of 2-word error (ei, ej) S 0 = ei + ej S 1 = α i ei + α j ej S 2 = α 2i ei + α 2j ej S 3 = α 3i ei + α 3j ej Transforming the above equation, α j S 0 +S 1 = (α i + α j )ei α j S 1 +S 2 = α i + (α i + α j )ei α j S 2 +S 3 = α 2i (α i + α j )ei Therefore α i (α If j S 0 + S 1 )=α j S 1 +S 2 α i (α j S 1 +S 2 )=α j S 2 +S 3 holds, it is determined that there is a 2-word error, and the error locations i and j can be found. . That is, by changing the combination of i and j, it is examined whether the relationship in the above equation holds true. The error pattern at that time is ei=S 0 +α −j S 1 /1+α i−j ej=S 0 +
α −i S 1 /1 + α j−i [4] In the case of 3-word error (ei, ej, ek) S 0 = ei + ej + ek S 1 = α i ei + α j ei + α k ek S 2 = α 2i ei + α 2j ej + α 2k ek S 3 = α 3i ei + α 3j ej + α 3k ek Transforming the above equation, α k S 0 + S 1 = (α i + α k ) ei + (α j + α k ) ej α k S 1 + S 2 = α i (α i + α k ) ei + α j (α j + α k ) ej α k S 2 + S 3 = α 2i (α i + α k ) ei + α 2j (α j + α k ) ej Therefore α j (α k S 0 + S 1 ) + (α k S 1 + S 2 ) = (α i + α j ) (α i + α k ) ei α j (α k S 1 + S 2 ) + (α k S 2 + S 3 ) = α i (α i + α j ) (α i + α k ) ei From the above formula, α i (α j (α k S 0 + S 1 ) + (α k S 1 + S 2 )) = α j (α k S 1 + S 2 ) + (α k S 2 + S 3 ) If this holds true, it can be determined that there is a 3-word error. However, the condition is that (S 0 ≠0, S 1 ≠0, S 2 ≠0). Each error pattern at that time is ei=S 0 + (α −j +α −k )S 1 +α −j+k S
2 /(1+α i-j )(1+α i-k ) ej=S 0 +(α -k +α -i )S 1 +α -k-i S
2 /(1+α j−i )(1+α j−k ) ek=S 0 +(α −i +α −j )S 1 +α −i−j S
2 /(1+αk -i )(1+αk -j ). In reality, the configuration for correcting a 3-word error becomes complicated, and the time required for the correction operation also increases. Therefore, by using the pointer, i, j・
In combination with the case where the error location of k is known, it is practical to use the above equation for checking at that time and perform the error correction operation. [5] In case of 4-word error (ei, ej, ek, el): S 0 = ei + ej + ek + el S 1 = α i ei + α j ej + α k ek + α l el S 2 = α 2i ei + α 2j ej + α 2k ek + α 2l el S 3 = α 3i ei+α 3j ej+α 3k ek+α 3l el Transforming the above equation, ei=S 0 + (α −j +α −k +α −l )S 1 +(α −j−k +α −k−l +α −l−j )S 2 +α −j−k−l
S 3 /(1+α i-j )(1+α i-k )(1+α i-l ) ej=S 0 +(α −k +α −l +α −i )S 1 +(α −k−l +α −l− i +α −i−k )S 2 +α −k−l−i
S 3 /(1+α j−i )(1+α j−k )(1+α j−l ) ek=S 0 +(α −l +α −i +α −j )S 1 +(α −l−i +α −i− j +α −j−l )S 2 +α −l−i−j
S 3 /(1+α k−i )(1+α k−j )(1+α k−l ) el=S 0 +(α −i +α −j +α −k )S 1 +(α −i−j +α −j− k +α −k−i )S 2 +α −i−j−k
S 3 /(1+α l-i )(1+α l-j )(1+α l-k ) The error location (i,
j, k, l) is known, error correction can be performed by the above-mentioned calculation. The basic error correction algorithm described above uses syndromes S 0 to S 3 to check for errors in the first step, check to see if there is a 1-word error in the second step, and check to see if there is a 2-word error in the third step. When trying to correct even a 2-word error, it takes a long time to complete all the steps, and this problem especially occurs when determining the error location of a 2-word error. arise. The present invention aims to solve these problems and propose an error correction method that can perform high-speed error correction operations. The present invention will be explained below. Syndromes S 0 , S 1 ,
The equations related to S 2 and S 3 are similar to the above, S 0 = ei + ej S 1 = α i ei + α j ej S 2 = α 2i ei + α 2j ej S 3 = α 3i ei + α 3j ej Transforming this formula, (α i S 0 + S 1 ) (α i S 2 + S 3 ) = (α i S 1 + S 2 ) 2Further transformation is performed to find the error location polynomial below. (S 0 S 2 + S 1 2 ) α 2i + (S 1 S 2 + S 0 S 3 ) α i + (S 1 S 3 + S 2 2 )=0 Here, the coefficient of each equation is S 0 S 2 + S 1 2 = A S 1 S 2 + S 0 S 3 = B S 1 S 3 + S 2 2 = C. By using the coefficients A, B, and C in the above equation, the error location in the case of a two-word error can be determined. [1] When there is no error: A=B=C=0, S 0 =0, S 3 =0 [2] When there is a 1-word error: A=B=C=0, S 0 ≠0, S 3 ≠ When it is 0, it is determined that there is a 1 word error. (α i =
The error location i can be found from (S 1 /S 0 ), and (ei
= S 0 ) for error correction. [3] In the case of a 2-word error: In the case of an error of 2 or more words, (A≠0,
B≠0, C≠0) holds, and the determination becomes extremely simple. Also, at this time Aα 2i +Bα i +C=0
(However, i=0 to (n-1)) holds true. Here, if we set (B/A=D, C/A=E), then D=α i +α j and E=α i ·α j and α 2i +Dα i +E=0. Here, if the difference between the two error locations is t, that is, (j=i+t), then it is transformed as D=α i (1+α t ) and E=α 2i+t . Therefore, D 2 /E=(1+α t ) 2 /α t = α −t +α t . The values of α -t and α t for each of (t=1 to (n-1)) are written in advance in the ROM,
t is determined by detecting a match between (α −t +α t ) determined from the output of the ROM and the value of (D 2 /E) calculated from the received word. If this matching relationship does not hold, there is an error of three or more words.
Therefore, by setting X=1+α t Y=1+α −t =D 2 /E+X, α i =D/X, α j =D/Y, and error locations i and j can be found. The error patterns ei and ej are calculated as ei=(α j S 0 +S 1 )/D=S 0 /Y+S 1 /D ej=(α i S 0 +S 1 )/D=S 0 /X+S 1 /D, Error correction can be performed. The figure shows an example of an error correction device to which the present invention is applied, in which received data is supplied to an input terminal indicated by 1, and is supplied to a buffer memory 2 and a syndrome generation circuit 3. The buffer memory 2 delays received data by the time required for error detection and error pattern generation, and the output of the buffer memory 2 is supplied to an error correction circuit (mod. 2 adder) 4. The output of this error correction circuit 4 is taken out to an output terminal 5. The syndrome generation circuit 3 calculates (H・V T ), and syndromes S 0 to S 3 are formed.
This syndrome is applied to the arithmetic circuit 6 of GF (2 m ). This arithmetic circuit 6 has coefficients A, B, C,
Operations that generate D and E and operations that generate error patterns are performed. Coefficients from the arithmetic circuit 6 are stored in a buffer register 7, and error patterns are stored in a buffer register 8. Error correction is performed by supplying the error pattern from the buffer register 8 to the error correction circuit 4.
In addition, error location decoder 9 and ROM
10 are provided, and by using the coefficients D and E from the buffer register 7 and the outputs α t and α -t from the ROM 10, the error location i and the new coefficients X and Y are set to the error location. yon decoder 9. These new coefficients X, Y, the coefficient D from the buffer register 7, and the syndrome are supplied to the arithmetic circuit 6 to form error patterns ei, ej, and these error patterns are stored in the buffer register 8. It will be done. Furthermore, the syndromes S 0 and S 3 from the syndrome generation circuit 3 and the coefficient A from the buffer register 7,
B and C are supplied to the error determination circuit 11, which determines whether there is an error, whether it is a one-word error, whether it is a two-word error, or whether there are more errors. This determination result is given to the controller 12. The controller 12 supplies clock pulses or control signals defined in a predetermined timing relationship to each circuit. As understood from the above explanation, according to the present invention, the values of α -t and α t (t=1 to (n-1)) are stored in the ROM, and the output of this ROM and the syndrome By comparing both with the coefficients formed by calculation, two-word errors and error locations can be detected, so that error detection and error correction can be performed at high speed. At the same time, the configuration of the arithmetic circuit and other hardware in the error correction device can be simplified.
図は本発明が適用されたエラー訂正装置の一例
のブロツク図である。
1は入力端子、4はエラー訂正回路、5は出力
端子、6は演算回路、10はROMである。
The figure is a block diagram of an example of an error correction device to which the present invention is applied. 1 is an input terminal, 4 is an error correction circuit, 5 is an output terminal, 6 is an arithmetic circuit, and 10 is a ROM.
Claims (1)
で1ブロツクを構成し、パリテイ検査行列Hとし
て 又は (但し、αは、GF(2)上の既約多項式をF(x)と
するときに、(F(x)=0)を満足する根であ
る。) を用い、受信されたnワードからなる1ブロツク
VTと上記パリテイ検査行列Hとから の演算によつて、k個のシンドロームS0〜Sk-1
を求め、このシンドロームを用いるエラー訂正方
法において、上記のシンドロームS0〜Sk-1から A1=S0S2+S1 2 B1=S1S2+S0S3 C1=S1S3+S2 2 A2=S1S3+S2 2 B2=S2S3+S1S4 C2=S2S4+S3 2 〓 Ak-3=Sk-4Sk-2+Sk-3 2 Bk-3=Sk-3Sk-2+Sk-4Sk-1 Ck-3=Sk-3Sk-1+Sk-2 2 の演算によつて、係数A,B,Cを求める第1の
ステツプと、下記の(a)(b)(c)で示すエラー検出及び
エラー訂正を上記シンドローム及び係数によつて
行なう第2のステツプとからなることを特徴とす
るエラー訂正方法。 (a) (S0=S3=S4……=Sk-1=0,A1=A2=…
…=Ak-3=0,B1=B2=……=Bk-3=0,Ck
−3=0)が成立するときは、エラーワードが無
いと検出する。 (b) (S0≠0,S3≠0,S4≠0,……,Sk-1≠
0)(A(k)=0,B(k)=0,(但し(k)=1〜k−
3),Ck-3=0)が成立するときは、1ワード
エラーと判断し、上記シンドロームの演算によ
つてエラー訂正を行なう。 (c) (A(k)≠0,B(k)≠0,Ck-3≠0)のとき
に (B1/A1=B2/A2=……=Bk−3/Ak−
3=D) (C1/A1=C2/A2=……=Ck−3/Ak−
3=E) とおき、(α2i+Dαi+E=0)のエラーロケ
ーシヨン方程式を解いて、エラーロケーシヨン
(i,j)を検出して2ワードエラーの訂正を
行なう。[Claims] 1 m bits constitutes one word of data, n words constitute one block, and parity check matrix H is used. or (However, α is a root that satisfies (F (x) = 0) when F ( x) is an irreducible polynomial on GF(2).) Using From one block V T and the above parity check matrix H, By calculating k syndromes S 0 to S k-1
In the error correction method using this syndrome, from the above syndrome S 0 to S k-1 , A 1 = S 0 S 2 + S 1 2 B 1 = S 1 S 2 + S 0 S 3 C 1 = S 1 S 3 +S 2 2 A 2 =S 1 S 3 +S 2 2 B 2 =S 2 S 3 +S 1 S 4 C 2 =S 2 S 4 +S 3 2 〓 A k-3 =S k-4 S k-2 +S k-3 2 B k-3 = S k-3 S k-2 + S k-4 S k-1 C k-3 = S k-3 S k-1 + S k-2 By the calculation of 2, the coefficient It is characterized by consisting of a first step of calculating A, B, and C, and a second step of performing error detection and error correction shown in (a), (b), and (c) below using the syndrome and coefficients. error correction method. (a) (S 0 = S 3 = S 4 ... = S k-1 = 0, A 1 = A 2 =...
…=A k-3 =0, B 1 =B 2 =…=B k-3 =0, C k
-3 = 0), it is detected that there is no error word. (b) (S 0 ≠0, S 3 ≠0, S 4 ≠0, ..., S k-1 ≠
0) (A(k)=0, B(k)=0, (however, (k)=1~k-
3 ), C k-3 =0), it is determined that a one-word error has occurred, and the error is corrected by calculating the syndrome described above. (c) When (A(k)≠0, B(k)≠0, C k-3 ≠0), (B 1 /A 1 =B 2 /A 2 =...=B k-3 /A k-
3 =D) ( C1 / A1 = C2 / A2 =...=Ck -3 / Ak-
3 = E), the error location equation of (α 2i +Dα i +E=0) is solved, the error location (i, j) is detected, and the two-word error is corrected.
Priority Applications (18)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10081480A JPS5725047A (en) | 1980-07-23 | 1980-07-23 | Error correcting method |
CA000381664A CA1170776A (en) | 1980-07-18 | 1981-07-14 | Method of error correction of blocks of data |
AT0314981A AT393926B (en) | 1980-07-18 | 1981-07-16 | DEVICE FOR DETECTING AND CORRECTING ERRORS IN RECEIVED DIGITAL DATA SIGNALS |
KR1019810002592A KR860000500B1 (en) | 1980-07-18 | 1981-07-16 | Error correction method |
GB8122062A GB2081479B (en) | 1980-07-18 | 1981-07-17 | Methods of digital data error correction |
CH4703/81A CH653457A5 (en) | 1980-07-18 | 1981-07-17 | METHOD FOR CORRECTING ERRORS IN DIGITAL DATA SIGNALS. |
BR8104615A BR8104615A (en) | 1980-07-18 | 1981-07-17 | DATA ERROR CORRECTION PROCESS |
IT22998/81A IT1138096B (en) | 1980-07-18 | 1981-07-17 | METHOD FOR CORRECTING ERRORS |
AU73106/81A AU541864B2 (en) | 1980-07-18 | 1981-07-17 | Digital coding error correction |
DK321481A DK162862C (en) | 1980-07-18 | 1981-07-17 | PROCEDURE FOR ERROR CORRECTION IN DIGITAL DATA TRANSMISSION SYSTEMS |
SE8104418A SE462607B (en) | 1980-07-18 | 1981-07-17 | SET FOR DETECTING AND CORRECTING ERRORS IN RECEIVED DIGITAL DATA SIGNALS AND APPLIANCE BEFORE PERFORMING THE SET |
ES504085A ES504085A0 (en) | 1980-07-18 | 1981-07-17 | METHOD FOR CORRECTING DATA ERRORS INCLUDING WORD IN A BLOCK |
FR818114105A FR2491278B1 (en) | 1980-07-18 | 1981-07-20 | METHOD FOR CORRECTING ERRORS IN A DATA TRANSMISSION, IN WHICH A BLOCK INCLUDES N COMPOUND WORDS EACH OF M BITS |
DE3128599A DE3128599C2 (en) | 1980-07-18 | 1981-07-20 | Method and device for error detection and error correction |
NL8103426A NL191002C (en) | 1980-07-18 | 1981-07-20 | Device for detecting and correcting errors in received digital data signals. |
DD81231938A DD201957A5 (en) | 1980-07-18 | 1981-07-20 | PROCEDURE FOR ERROR CORRECTION |
US06/536,824 US4476562A (en) | 1980-07-18 | 1983-09-28 | Method of error correction |
NL9400376A NL9400376A (en) | 1980-07-18 | 1994-03-10 | Method and device for error correction |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10081480A JPS5725047A (en) | 1980-07-23 | 1980-07-23 | Error correcting method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5725047A JPS5725047A (en) | 1982-02-09 |
JPS6246893B2 true JPS6246893B2 (en) | 1987-10-05 |
Family
ID=14283813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10081480A Granted JPS5725047A (en) | 1980-07-18 | 1980-07-23 | Error correcting method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS5725047A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6418697U (en) * | 1987-07-24 | 1989-01-30 | ||
JP2007220260A (en) * | 2006-02-20 | 2007-08-30 | Toshiba Corp | Semiconductor memory device |
JP2007234086A (en) * | 2006-02-27 | 2007-09-13 | Toshiba Corp | Semiconductor memory device |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6094538A (en) * | 1983-11-25 | 1985-05-27 | Nippon Gakki Seizo Kk | Method for detecting data double error |
US4597083A (en) * | 1984-04-06 | 1986-06-24 | Ampex Corporation | Error detection and correction in digital communication systems |
KR930007928B1 (en) * | 1991-01-31 | 1993-08-21 | 삼성전자 주식회사 | Error correction method and device |
IE20050277A1 (en) * | 2005-05-04 | 2006-11-29 | Nat Univ Ireland | Method and apparatus for generating error-correcting and error-detecting codes using zero-divisors and units in group rings |
-
1980
- 1980-07-23 JP JP10081480A patent/JPS5725047A/en active Granted
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6418697U (en) * | 1987-07-24 | 1989-01-30 | ||
JP2007220260A (en) * | 2006-02-20 | 2007-08-30 | Toshiba Corp | Semiconductor memory device |
JP2007234086A (en) * | 2006-02-27 | 2007-09-13 | Toshiba Corp | Semiconductor memory device |
Also Published As
Publication number | Publication date |
---|---|
JPS5725047A (en) | 1982-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR930003997B1 (en) | Method and apparatus for decoding error correction code | |
US5297153A (en) | Method and apparatus for decoding code words protected wordwise by a non-binary BCH code from one or more symbol errors | |
EP0092960A2 (en) | Apparatus for checking and correcting digital data | |
JPS645334B2 (en) | ||
JPH0452556B2 (en) | ||
JPH0680491B2 (en) | Finite field arithmetic circuit | |
KR970004515B1 (en) | Error Position Polynomial Calculation Method and Apparatus of Reed-Solomon Decoder | |
EP0836285B1 (en) | Reed-Solomon decoder with general-purpose processing unit and dedicated circuits | |
JPS6246893B2 (en) | ||
JPS5846741A (en) | Decoder | |
US5541937A (en) | Apparatus for uniformly correcting erasure and error of received word by using a common polynomial | |
JP2810397B2 (en) | Error correction device | |
JP2718481B2 (en) | Error correction device for long distance codes | |
JPS6217256B2 (en) | ||
JP3280470B2 (en) | Error correction circuit | |
JPS63167527A (en) | Greatest common measure polynomial calculation circuit on expanded galois field and polynomial mutual division arithmetic circuit | |
JP2710176B2 (en) | Error position and error pattern derivation circuit | |
KR100246342B1 (en) | Reed solomon error correction apparatus | |
JPS638984Y2 (en) | ||
EP0458285A1 (en) | Error location and error pattern calculation circuit | |
JPH03190327A (en) | Error correction circuit | |
JPH05344006A (en) | Cyclic code generation device and cyclic code generation method | |
KR930002853B1 (en) | Error correction method and device | |
JP2774513B2 (en) | Error correction device | |
JP2914813B2 (en) | Error correction decoding device |