[go: up one dir, main page]

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
Application number
JP55100814A
Other languages
Japanese (ja)
Other versions
JPS5725047A (en
Inventor
Yoichiro Sako
Kentaro Odaka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP10081480A priority Critical patent/JPS5725047A/en
Priority to CA000381664A priority patent/CA1170776A/en
Priority to AT0314981A priority patent/AT393926B/en
Priority to KR1019810002592A priority patent/KR860000500B1/en
Priority to DK321481A priority patent/DK162862C/en
Priority to CH4703/81A priority patent/CH653457A5/en
Priority to BR8104615A priority patent/BR8104615A/en
Priority to IT22998/81A priority patent/IT1138096B/en
Priority to AU73106/81A priority patent/AU541864B2/en
Priority to GB8122062A priority patent/GB2081479B/en
Priority to SE8104418A priority patent/SE462607B/en
Priority to ES504085A priority patent/ES504085A0/en
Priority to DE3128599A priority patent/DE3128599C2/en
Priority to FR818114105A priority patent/FR2491278B1/en
Priority to NL8103426A priority patent/NL191002C/en
Priority to DD81231938A priority patent/DD201957A5/en
Publication of JPS5725047A publication Critical patent/JPS5725047A/en
Priority to US06/536,824 priority patent/US4476562A/en
Publication of JPS6246893B2 publication Critical patent/JPS6246893B2/ja
Priority to NL9400376A priority patent/NL9400376A/en
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1806Pulse code modulation systems for audio signals
    • G11B20/1809Pulse code modulation systems for audio signals by interleaving
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes

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

【発明の詳細な説明】[Detailed description of the invention]

本発明は、1ブロツク内の2ワードエラーまで
訂正できる誤り訂正符号(隣接符号の一種)を用
いたエラー訂正方法に関し、特にエラー訂正を高
速に行なうことができるようにしたものである。 まず、本発明に用いる誤り訂正符号について説
明する。誤り訂正符号を記述する場合、ベクトル
表現或いは巡回群による表現が用いられる。ま
ず、GF(2)上では、既約なm次の多項式F(x)を考
える。 “0”と“1”の元しか存在しない体GF(2)の
上では、既約な多項式F(x)は、根を持たない。
そこで(F(x)=0)を満足する仮想的な根αを
考える。このとき、零元を含むαのべき乗で表わ
される2m個の相異なる元0、α、α、α
…αm-1は、拡大体GF(2m)を構成する。GF
(2m)は、GF(2)の上のm次の既約多項式F(x)
法とする多項式環であるGF(2m)の元は、1,
α={x},α={x2},……,αm-1={xm-1
の線形結合でかきあらわすことができる。即ち a0+a1{x}+a2{x2}+……+an-1{xm-1} =a0+a1α+a2α+………+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
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ワードエラーかどうかを判定
することができる。或いは S/S=S/S=S/S=α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=S+α−j/1+αi−j ej=S
α−i/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=S+(α−j+α−k)S+α−j+k
/(1+αi−j)(1+αi−k) ej=S+(α−k+α−i)S+α−k−i
/(1+αj−i)(1+αj−k) ek=S+(α−i+α−j)S+α−i−j
/(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=S+(α−j+α−k+α−l)S+(α−j−k+α−k−l+α−l−j)S+α−j−k−l
/(1+αi−j)(1+αi−k)(1+αi−l) ej=S+(α−k+α−l+α−i)S+(α−k−l+α−l−i+α−i−k)S+α−k−l−i
/(1+αj−i)(1+αj−k)(1+αj−l) ek=S+(α−l+α−i+α−j)S+(α−l−i+α−i−j+α−j−l)S+α−l−i−j
/(1+αk−i)(1+αk−j)(1+αk−l) el=S+(α−i+α−j+α−k)S+(α−i−j+α−j−k+α−k−i)S+α−i−j−k
/(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+S22 更に変形して下記のエラーロケーシヨン多項式を
求むる。 (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
/S)からエラーロケーシヨン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 と変形される。したがつて D/E=(1+α/α=α-t+αt となる。ROMに(t=1〜(n−1))の夫々に
関する、α-t及びαtの値を予め書込んでおき、
ROMの出力から求められた(α-t+αt)と受信
ワードから演算された(D/E)の値との一致を検 出することでtが求まる。もし、この一致関係が
成立しなければ、3ワード以上のエラーである。
そこで X=1+αt Y=1+α-t=D/E+X とおくことにより αi=D/X,αj=D/Y となり、エラーロケーシヨンi及びjが求められ
る。エラーパターンei,ejは ei=(α+S)/D=S/Y+S/D ej=(α+S)/D=S/X+S/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 2i , 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 = α 2ii + α j )ei Therefore α i (α If j S 0 + S 1 )=α j S 1 +S 2 α ij 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 = α ii + α k ) ei + α jj + α k ) ej α k S 2 + S 3 = α 2ii + α k ) ei + α 2jj + α k ) ej Therefore α jk S 0 + S 1 ) + (α k S 1 + S 2 ) = (α i + α j ) (α i + α k ) ei α jk S 1 + S 2 ) + (α k S 2 + S 3 ) = α ii + α j ) (α i + α k ) ei From the above formula, α ijk S 0 + S 1 ) + (α k S 1 + S 2 )) = α jk 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=α ij 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 ) 2t = α −tt . 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 (α −tt ) 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.

【図面の簡単な説明】[Brief explanation of the drawing]

図は本発明が適用されたエラー訂正装置の一例
のブロツク図である。 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 mビツトをデータの1ワードとし、nワード
で1ブロツクを構成し、パリテイ検査行列Hとし
又は (但し、αは、GF(2)上の既約多項式をF(x)
するときに、(F(x)=0)を満足する根であ
る。) を用い、受信されたnワードからなる1ブロツク
Tと上記パリテイ検査行列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-4k-2+Sk-3 k-3=Sk-3k-2+Sk-4k-1k-3=Sk-3k-1+Sk-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−
),Ck-3=0)が成立するときは、1ワード
エラーと判断し、上記シンドロームの演算によ
つてエラー訂正を行なう。 (c) (A(k)≠0,B(k)≠0,Ck-3≠0)のとき
に (B/A=B/A=……=Bk−3/Ak−
=D) (C/A=C/A=……=Ck−3/Ak−
=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.
JP10081480A 1980-07-18 1980-07-23 Error correcting method Granted JPS5725047A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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