JPH0361210B2 - - Google Patents

Info

Publication number
JPH0361210B2
JPH0361210B2 JP57028325A JP2832582A JPH0361210B2 JP H0361210 B2 JPH0361210 B2 JP H0361210B2 JP 57028325 A JP57028325 A JP 57028325A JP 2832582 A JP2832582 A JP 2832582A JP H0361210 B2 JPH0361210 B2 JP H0361210B2
Authority
JP
Japan
Prior art keywords
circuit
byte
error
output
exclusive
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 - Lifetime
Application number
JP57028325A
Other languages
Japanese (ja)
Other versions
JPS58144952A (en
Inventor
Toshio Horiguchi
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.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP57028325A priority Critical patent/JPS58144952A/en
Publication of JPS58144952A publication Critical patent/JPS58144952A/en
Publication of JPH0361210B2 publication Critical patent/JPH0361210B2/ja
Granted legal-status Critical Current

Links

Classifications

    • 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
    • H03M13/151Cyclic 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

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)

Description

【発明の詳細な説明】 本発明は2重バイト誤りを訂正する回路に関
し、特に少ない回路量でランダムな2重バイト誤
りを高速に訂正する回路に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a circuit for correcting double byte errors, and particularly to a circuit for correcting random double byte errors at high speed with a small amount of circuitry.

磁気フアイル等のフアイル装置のデータ信頼性
を向上するためにしばしば単一バイト誤りを訂正
するリード・ソロモン(Reed−Solomon)符号
やb隣接誤り訂正符号が用いられている。磁気媒
体よりもエラーレートの悪い媒体を用いる場合又
はデータ信頼度をより向上させるためにはランダ
ムな2重バイト誤りを訂正する能力をもつリー
ド・ソロモン符号を用いるのが望ましい。しかし
ながら、2重バイト誤り訂正の欠点のひとつは誤
つたバイトの位置と誤りパターンを解読する回路
の規模が大きくなる点にある。
In order to improve the data reliability of file devices such as magnetic files, Reed-Solomon codes and b-adjacent error correction codes are often used to correct single byte errors. When using a medium with a lower error rate than a magnetic medium, or in order to further improve data reliability, it is desirable to use a Reed-Solomon code that has the ability to correct random double-byte errors. However, one of the drawbacks of double-byte error correction is that it requires a large circuit to decode the location of the erroneous byte and the error pattern.

ひとつのバイトは一般にmビツトで表わされ、
このようなバイトの誤りを訂正するには符号内で
の誤り位置と誤りパターンを解読する必要があ
る。解読(復号)に際してはまず、シンドローム
から誤り位置を計算し、ついで得られた誤り位置
を用いて誤りパターンを計算する方法が用いられ
る。2重バイト誤りを訂正するリード・ソロモン
符号の復号は公知であるが、この方法は次の3つ
のステツプを取るので復号過程が複雑となる欠点
をもつ。
One byte is generally represented by m bits,
To correct such byte errors, it is necessary to decipher the error position and error pattern within the code. For deciphering (decoding), a method is used in which an error position is first calculated from the syndrome, and then an error pattern is calculated using the obtained error position. Decoding Reed-Solomon codes to correct double-byte errors is known, but this method has the disadvantage that the decoding process is complicated because it takes the following three steps.

(ステツプ1)シンドロームから誤りバイト位
置に関する2次方程式、すなわちエラー・ロケー
シヨン多項式(error location polynomial)の
係数を求める。
(Step 1) Find the coefficients of a quadratic equation regarding the error byte position, ie, an error location polynomial, from the syndrome.

(ステツプ2)エラー・ロケーシヨン多項式の
2つの根を求める。この根は誤りバイト位置を表
わす。
(Step 2) Find two roots of the error location polynomial. This root represents the erroneous byte position.

(ステツプ3)求められた2つの誤り位置とシ
ンドロームとから各誤り位置に対応する2つの誤
りパターンを求める。
(Step 3) Two error patterns corresponding to each error position are determined from the two determined error positions and the syndrome.

このため従来の2重バイト誤り訂正を含む復号
器は復号遅延時間が大きくしかも回路規模も大き
くなる欠点を有していた。ここで、復号遅延時間
とはデータ・ブロツクの受信の終了時点から訂正
されたデータの転送を開始するまでの時間であ
る。フアイル装置においてはデータはバイト単位
にシリアルに転送される。受信データ・ブロツク
はバツフア・メモリに一度貯えられた後に誤りを
訂正され、ついで上位装置に転送される。
For this reason, conventional decoders including double-byte error correction have the drawbacks of large decoding delay time and large circuit scale. Here, the decoding delay time is the time from the end of reception of a data block to the start of transfer of corrected data. In a file device, data is transferred serially in byte units. Once the received data block is stored in the buffer memory, errors are corrected and then transferred to the host device.

従来の2重バイト誤り訂正方法では、データ・
ブロツクの受信終了時間から前記ステツプ1,2
及び3を実行し、バツフア・メモリに貯えられた
データの誤りを訂正してから上位装置に転送する
ので復号遅延時間が大きくなる。特にバースト誤
り訂正のために2重バイト誤り訂正リード・ソロ
モン符号を複数個インタリーブする際には、この
復号遅延時間がかなり大きくなり実用上問題とな
る。
Traditional double-byte error correction methods
Steps 1 and 2 start from the block reception end time.
and 3 are executed, errors in the data stored in the buffer memory are corrected, and then transferred to the host device, resulting in a long decoding delay time. Particularly when interleaving a plurality of double-byte error correcting Reed-Solomon codes for burst error correction, this decoding delay time becomes considerably large, which poses a practical problem.

復号遅延時間を小さくするためにはエラー・ロ
ケーシヨン多項式を立てずにシンドロームから直
接的に誤り位置とパターンを求める方法が必要で
あるが、このような方法はこれまで知られていな
かつた。
In order to reduce the decoding delay time, a method is needed to directly determine the error location and pattern from the syndrome without establishing an error location polynomial, but such a method has not been known so far.

従つて本発明の目的は2重バイト誤り訂正リー
ド・ソロモン符号に対して、エラー・ロケーシヨ
ン多項式を立てずに直接的に誤り位置とパターン
を求める誤り訂正回路を提供することにある。
SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to provide an error correction circuit that directly determines error positions and patterns for double-byte error correction Reed-Solomon codes without establishing an error location polynomial.

本発明の2重バイト誤り訂正回路はデータ・ブ
ロツクの受信終了後、エラー・ロケーシヨン多項
式を立てることなしにバツフアメモリからデー
タ・バイトを読み出し、誤りを訂正しながら上位
装置にデータ・バイトを転送するので復号遅延時
間はゼロである。又、誤り訂正回路の回路量も少
い。さらに、符号を複数個インタリーブするのに
適した構造を持つ。
The double byte error correction circuit of the present invention reads the data byte from the buffer memory without setting an error location polynomial after receiving the data block, and transfers the data byte to the host device while correcting the error. The decoding delay time is zero. Furthermore, the amount of circuitry for the error correction circuit is small. Furthermore, it has a structure suitable for interleaving multiple codes.

本発明の2重バイト誤り訂正回路は、任意の整
数mで定義されるガロワGF(2m)の原始元αを用
いて構成される2重バイト誤り訂正リード・ソロ
モン符号のパリテイ検査行列H、 1 1………1………1 α1α2………αi………αn H= α2α4………α2i………α2n α3α6………α3i………α3n に従つてデータを符号化するシステムにおいて、
nバイトの受信符号ブロツクにランダムに生起し
た2重バイト誤りを訂正する復号回路を提供す
る。ここでn=2m−1で、バイトはmビツトで表
わされる。ここでnバイトのブロツクの中の4バ
イトが検査バイトで、(n−4)バイトが情報バ
イトである。
The double byte error correction circuit of the present invention includes a parity check matrix H of a double byte error correction Reed-Solomon code constructed using a primitive element α of Galois GF (2 m ) defined by an arbitrary integer m, 1 1……1……1 α 1 α 2 ………α i ………α n H= α 2 α 4 ………α 2i ………α 2n α 3 α 6 ………α 3i … ...In a system that encodes data according to α 3n ,
A decoding circuit for correcting double byte errors randomly occurring in an n-byte received code block is provided. Here n=2 m -1 and a byte is represented by m bits. Here, 4 bytes in the n-byte block are check bytes, and (n-4) bytes are information bytes.

本発明の復号回路は前記検査行列Hの第1行,
第2行,第3行及び第4行に対応するシンドロー
ムS1,S1,S2及びS3を生成するシンドローム生成
回路と、前記シンドロームの間の排他的ORS0
S1,S1S2及びS2S3をとる回路と、前記排他的
ORA0=S0S1,A1=S1S2及びA2=S2S3
関してA0・A2A1 2=0を検出することによつて
誤りパターンを求めめる論理回路とから構成され
る。
The decoding circuit of the present invention includes the first row of the parity check matrix H,
A syndrome generation circuit that generates syndromes S 1 , S 1 , S 2 and S 3 corresponding to the second, third and fourth rows, and an exclusive ORS 0 between the syndromes;
A circuit that takes S 1 , S 1 S 2 and S 2 S 3 and the exclusive
A logic circuit that can determine an error pattern by detecting A 0 · A 2 A 1 2 = 0 with respect to ORA 0 = S 0 S 1 , A 1 = S 1 S 2 and A 2 = S 2 S 3 . It consists of

実施例を説明する前に本発明の原理について説
明する。本発明において、シンドロームS0,S1
S2及びS3は前記パリテイ検査行列Hに従つて生成
される。すなわち、b1,b2,………,boを受信さ
れたnバイトの符号語(バイトb1はmビツト)と
すると、シンドロームは下式に従つて生成される S0=b1 ……bi ……bo S1=b1α1……biαi……boαn S2=b1α2……biα2i……boα2n S3=b1α3…biα3i……boα3n} (1) ここで、は排他的ORを示す。i番目のバイ
トbiに誤りパターンei、j番目のバイトbjに誤り
パターンejの誤りが生じたとするとシンドローム
は下式のように表わされる。但しei≠0,ej≠0,
i=j0 S0=ei ej S1=eiαiejαj S2=eiα2iejα2j S3=eiα3iejα3j} (2) 上記シンドロームS0,S1,S2及びS3はそれぞれ
α0(=1),α1,α2及びα3をフイードバツク係数に
持つシンドローム・レジスタにバイトbo,bo-1
……,b2,b1をこの順に入力することによつて生
成される。
Before explaining embodiments, the principle of the present invention will be explained. In the present invention, syndromes S 0 , S 1 ,
S 2 and S 3 are generated according to the parity check matrix H. That is, if b 1 , b 2 , ......, bo are received code words of n bytes (byte b 1 is m bits), the syndrome is generated according to the following formula S 0 = b 1 ... …b i …b o S 1 =b 1 α 1 …b i α i …b o α n S 2 =b 1 α 2 …b i α 2i …b o α 2n S 3 =b 1 α 3 ...b i α 3i ...b o α 3n } (1) Here, indicates exclusive OR. Assuming that an error of error pattern e i occurs in the i-th byte b i and an error pattern e j occurs in the j-th byte b j , the syndrome is expressed as shown below. However, e i ≠0, e j ≠0,
i=j 0 S 0 =e i e j S 1 =e i α i e j α j S 2 =e i α 2i e j α 2j S 3 =e i α 3i e j α 3j } (2) The above syndrome S 0 , S 1 , S 2 and S 3 have bytes b o , b o-1 ,
It is generated by inputting ..., b 2 and b 1 in this order.

本発明においては、シンドローム生成後に誤り
位置を探すためにシンドローム・レジスタをさら
にシフトする。式(2)で表わされる2重シンボル誤
りを仮定すれば、k回シフト後のシンドローム
(シンドローム・レジスタの内容)S0,S1,S2
びS3は次式で表わされる。
In the present invention, after the syndrome is generated, the syndrome register is further shifted to search for error locations. Assuming a double symbol error expressed by equation (2), the syndromes (contents of the syndrome register) S 0 , S 1 , S 2 , and S 3 after being shifted k times are expressed by the following equations.

S0=ei ej S1=eiαi+k ejαj+k S2=eiα2(i+k)ejα2(j+k) S3=eiα3(i+k)ejα3(j+k)} (3) 上記シンドロームの間の排他的OR、すなわち
A0=S0S1,A1=S1S2及びA2=S2S3は下式
で表わされる。
S 0 =e i e j S 1 =e i α i+k e j α j+k S 2 =e i α 2(i+k) e j α 2(j+k) S 3 =e i α 3 (i+k) e j α 3(j+k) } (3) Exclusive OR between the above syndromes, i.e.
A 0 =S 0 S 1 , A 1 =S 1 S 2 and A 2 =S 2 S 3 are expressed by the following formulas.

A0=S0S1=ei(1αi+k)ej(1αj+k) A1=S1S2=ei(1αi+k ej(1αj+k A2=S2S3=ei(1αi+k)α2(i+k) ej(1αj+k)α2(j+k)} (4) ここで、L=A0A2A1 2と定義すれば、シフト
回数kがk=n−i又はk=n−jの時だけL=
0となることが以下のようにして分る。L=
A0A2A1 2に前式(4)を代入すれば、Lは次の式(5)
で表わされる。
A 0 =S 0 S 1 =e i (1α i+k )e j (1α j+k ) A 1 =S 1 S 2 =e i (1α i+k e j (1α j+k A 2 =S 2 S 3 = e i (1α i+k ) α 2(i+k) e j (1α j+k ) α 2(j+k) } (4) Here, L=A 0 A 2 A 1 2 Then, L= only when the number of shifts k is k=ni or k=nj
It can be determined that the value is 0 as follows. L=
By substituting the previous equation (4) into A 0 A 2 A 1 2 , L is expressed as the following equation (5)
It is expressed as

L=eiej(1αi+k)(1αj+k)(α2(i+k)α2(j
+k)
)(5) ここで、i≠jであるからα2(i+k)α2(j+k)≠0
である。L=0となるのは1αi+k=0又は1
αj+k=0の時だけである。換言すればαi+k=1又
はαj+k=1の時に限つてL=0となる。ここでαn
=α0=1であるから、i+k=n又はj+k=n
の時、すなわちk=n−i及びk=n−jの時に
限りL=0となる。i+k=n(又はj+k=n)
の時にL=0となることは次のようにも理解でき
る。i+k=nの時は前式(4)において1+αi+k
=0であるからA0,A1,A2は次のようになる。
L=e i e j (1α i+k ) (1α j+k)2(i+k) α 2(j
+k)
)(5) Here, since i≠j, α 2(i+k) α 2(j+k) ≠0
It is. L=0 is 1α i+k =0 or 1
Only when α j+k =0. In other words, L=0 only when α i+k =1 or α j+k =1. Here α n
0 =1, so i+k=n or j+k=n
, that is, L=0 only when k=n−i and k=n−j. i+k=n (or j+k=n)
The fact that L=0 when , can be understood as follows. When i+k=n, 1+α i+k in the previous equation (4)
= 0, so A 0 , A 1 , and A 2 are as follows.

A0=ej(1αj+k A1=ej(1αj+k A2=ej(1αj+k)α2(j+k) この時から、明らかにA0・A2=A1 2=ej 2(1
αj+k2・α2(j+k)であるから、L=A0・A2A1 2
0である。
A 0 = e j (1α j+k A 1 = e j (1α j+k A 2 = e j (1α j+k ) α 2(j+k) From this point on, it is clear that A 0・A 2 = A 1 2 = e j 2 (1
α j+k ) 2・α 2(j+k) , so L=A 0・A 2 A 1 2 =
It is 0.

以上より、バイト位置iとjに誤りが生じてい
ればシンドローム・レジスタを(n−i)回及び
(n−j)回シフトした時にL=0となることが
示された。ここで、nバイトのバツフア・メモリ
(シフト・レジスタ)を用意しておき、nバイト
の受信データ・バイトbo,bo-1,……,b2,b1
シンドローム・レジスタに入力すると同時にバツ
フア・メモリにも入力するものとする。そして、
誤り訂正のためにシンドローム・レジスタをシフ
トすると同時にバツフア・メモリに貯えられてい
るデータをシフト出力するものとする。バツフ
ア・メモリからはデータバイトbo,bo-1,……,
b1がこの順にシフト出力される。従つて、(n−
k)回目のシフトでバツフア・メモリからはデー
タ・バイトbkが出力される。
From the above, it has been shown that if an error occurs in byte positions i and j, L=0 when the syndrome register is shifted (n-i) times and (n-j) times. Here, if we prepare an n-byte buffer memory (shift register) and input the n-byte received data bytes b o , b o-1 , ..., b 2 , b 1 to the syndrome register, At the same time, it is assumed that the buffer memory is also input. and,
Assume that the data stored in the buffer memory is shifted out at the same time as the syndrome register is shifted for error correction. From buffer memory, data bytes b o , b o-1 , ...,
b 1 is shifted out in this order. Therefore, (n-
At the k)th shift, data bytes b k are output from the buffer memory.

いま、i番目のデータbiとj番目のデータbj
誤りがあるとすれば(i>j)、(n−1)回目の
シフトでL=0となり、同時にバツフア・メモリ
からデータバイトbiが出力される。さらに(n−
j)回目のシフトでL=0となり、バツフア・メ
モリからデータバイトbjが出力されることにな
る。すなわち、誤りのあるバイトがバツフア・メ
モリから出力された時点で丁度L=0となる。従
つて、L=0となるバイトに対する誤りパターン
を求めれば誤りを訂正できる。
Now, if there is an error in the i-th data b i and the j-th data b j (i > j), L = 0 at the (n-1)th shift, and at the same time data byte b is transferred from the buffer memory. i is output. Furthermore (n-
At the j)th shift, L=0, and data byte b j is output from the buffer memory. That is, L=0 exactly when the erroneous byte is output from the buffer memory. Therefore, the error can be corrected by finding the error pattern for the byte where L=0.

誤りパターンは下式で求められる。 The error pattern is calculated using the following formula.

e=S0A0 2(A0A1-1 (6) i番目のバイトbiに誤りパターンei,j番目の
バイトbjに誤りパターンejが生じていれば、k回
目のシフト(k=n−i)でL=0となり、この
時A0,A1,A2及びS0は下式で表わされる。
e=S 0 A 0 2 (A 0 A 1 ) -1 (6) If error pattern e i occurs in the i-th byte b i and error pattern e j occurs in the j-th byte b j , then the k-th With the shift (k=ni), L=0, and at this time A 0 , A 1 , A 2 and S 0 are expressed by the following formula.

S0=ei ej A0=ej(1αj+k A1=ej(1αj+k)αj+k A2=ej(1αj+k)α2(j+k)} (7) この時、誤りパターンeは下式のようにeiに等
しくなる。
S 0 = e i e j A 0 = e j (1α j+k A 1 = e j (1α j+k ) α j+k A 2 = e j (1α j+k ) α 2(j+k) } (7) At this time, the error pattern e becomes equal to e i as shown in the following equation.

e=S0A0 2(A0A1-1=ei (8) 又、この時バツフア・メモリからはバイトbi
出力されているから、バイトbiの誤りはbiei
訂正される。
e=S 0 A 0 2 (A 0 A 1 ) -1 = e i (8) Also, since byte b i is output from the buffer memory at this time, the error in byte b i is b i e i will be corrected.

j番目のバイトbjの誤りパターンejに対しても
前式(7),(8)と同様な式が成立し、バイトbjの誤り
が訂正される。ここで、誤りパターンeを計算す
る式は式(6)以外にも存在し、例えばe=S0A0
(1√20 -1-1,e=S0A0(1A2
A1 -1-1等でも計算できるが、式(6)の計算方法が
最も容易と考えられる。
Equations similar to the previous equations (7) and (8) also hold true for the error pattern e j of the j-th byte b j , and the error in the byte b j is corrected. Here, there is a formula for calculating the error pattern e other than formula (6), for example, e=S 0 A 0
(1√ 20 -1 ) -1 , e=S 0 A 0 (1A 2
Although it can be calculated using A 1 -1 ) -1, etc., the calculation method using equation (6) is considered to be the easiest.

以上のように2重バイト誤りに対して、誤り位
置はL=A0A2A1 2=0により、誤りパターンは
e=S0A0 2(A0A1-1によつて求められる。
As mentioned above, for double byte errors, the error position is determined by L = A 0 A 2 A 1 2 = 0, and the error pattern is determined by e = S 0 A 0 2 (A 0 A 1 ) -1. It will be done.

前記L及びeによつて単一バイト誤りも訂正で
きることを以下で示す。いま、i番目のバイトbi
に誤りパターンeiの誤りが生じたとするとシンド
ロームS0〜S3は下式で表わされる。
It will be shown below that even single byte errors can be corrected by said L and e. Now, the i-th byte b i
If an error of error pattern e i occurs in , syndromes S 0 to S 3 are expressed by the following formulas.

S0=ei S1=eiαi S2=eiα2i S3=eiα3i} (9) シンドローム・レジスタをk回シフトするとシ
ンドロームは S0=ei S1=eiαj+k S2=eiα2(j+k) S3=eiα3(j+k)} (10) となる。A0,A1,A2は A0=S0S1=ei(1αi+k) A1=S1S2=ei(1αi+k)αi+k A2=S2S3=ei(1αi+k)α2(i+k)} (11) であるから、任意のシフト回数kに対してL=
A0A2A1 2=0である。又、誤りパターンe=S0
A0 2(A0A1-1はi+k≠nに対してe=0、
i+k=nに対してはe=e1となる。すなわち、
任意のシフト回数kに対してL=0であるが、k
≠n−iの時はe=0であるから訂正ミスは生じ
ない。又、k=n−iの時はe=eiとなり誤りが
正しく訂正される。
S 0 = e i S 1 = e i α i S 2 = e i α 2i S 3 = e i α 3i } (9) When the syndrome register is shifted k times, the syndrome becomes S 0 = e i S 1 = e i α j+k S 2 = e i α 2(j+k) S 3 = e i α 3(j+k) } (10). A 0 , A 1 , A 2 are A 0 = S 0 S 1 = e i (1α i+k ) A 1 = S 1 S 2 = e i (1α i+k ) α i+k A 2 = S 2 S 3 = e i (1α i+k ) α 2(i+k) } (11) Therefore, for any number of shifts k, L=
A 0 A 2 A 1 2 =0. Also, error pattern e=S 0
A 0 2 (A 0 A 1 ) -1 is e=0 for i+k≠n,
For i+k=n, e=e 1 . That is,
L=0 for any number of shifts k, but k
Since e=0 when ≠ni, no correction error occurs. Also, when k=n-i, e=e i and the error is correctly corrected.

従つて、単一バイト誤りが2重バイト誤りと同
様に正しく訂正されることが示された。
It has therefore been shown that single byte errors are corrected just as well as double byte errors.

以上のように本発明では受信データ・バイトか
らシンドロームを生成するとともにバツフア・メ
モリに受信データを格納し、誤り訂正時にはシン
ドローム・レジスタをシフトするとともにバツフ
ア・メモリからデータ・バイトをシフト出力しな
がら誤つているバイトを訂正できる。換言すれ
ば、データを転送しながら誤りを訂正する。
As described above, in the present invention, a syndrome is generated from received data bytes, the received data is stored in a buffer memory, and when an error is corrected, the syndrome register is shifted and the data bytes are shifted out from the buffer memory while error correction is performed. You can correct the incorrect byte. In other words, errors are corrected while data is being transferred.

従つて、データの受信終了後、即時的にデータ
の転送が可能であるから、復号遅延はゼロと考え
られる。これは本発明の一特徴であつて、誤りロ
ケーシヨン多項式を立ててから誤り訂正を行う従
来の方式では復号遅延はゼロとすることはできな
い。
Therefore, since data can be transferred immediately after data reception is completed, the decoding delay is considered to be zero. This is one of the features of the present invention, and the decoding delay cannot be made zero in the conventional method in which error correction is performed after setting the error location polynomial.

以下図面を用いて本発明を説明する。 The present invention will be explained below using the drawings.

第1図は本発明の実施例を示すブロツク図であ
る。図において回路1〜4はそれぞれmビツトの
レジスタ(シンドローム・レジスタ)で、回路2
0〜22はそれぞれガロワ体GF(2m)の要素α1
α2,及びα3を乗算する回路である。但し、αは
GF(2m)の原始元である。回路5〜12はそれぞ
れmビツトの排他的OR回路である。図において
排他的OR回路5とレジスタ1はシンドロームS0
の生成回路を、排他的OR回路とレジスタ2及び
α1乗算回路20はシンドロームS1の生成回路を構
成する。又、排他的OR回路7とレジスタ3及び
α2乗算回路21はシンドロームS2の生成回路を、
排他的OR回路とレジスタ4及びα3乗算回路22
はシンドロームS3の生成回路を構成している。
FIG. 1 is a block diagram showing an embodiment of the present invention. In the figure, circuits 1 to 4 are m-bit registers (syndrome registers), and circuit 2
0 to 22 are elements α 1 of Galois field GF (2 m ),
This is a circuit that multiplies α 2 and α 3 . However, α is
It is the primordial element of GF (2 m ). Circuits 5-12 are each m-bit exclusive OR circuits. In the figure, exclusive OR circuit 5 and register 1 are connected to syndrome S 0
The exclusive OR circuit, the register 2, and the α 1 multiplication circuit 20 constitute the generation circuit for the syndrome S 1 . In addition, the exclusive OR circuit 7, the register 3, and the α 2 multiplication circuit 21 function as a generation circuit for syndrome S 2 .
Exclusive OR circuit, register 4 and α 3 multiplier circuit 22
constitutes the generation circuit of syndrome S3 .

回路13はnバイトのデータを貯えるバツフ
ア・メモリ(シフト・レジスタ)である。ここで
n=2m−1であり、バイトはmビツトである。n
バイトのデータは第1図入力線dを介して前記各
シンドローム生成回路とバツフア・メモリ13に
入力する。シンドローム・レジスタ1〜4及びバ
ツフア・メモリ13のシフト・クロツクは第1図
における信号線によつて供給される。データ・バ
イトbi(mビツト)を信号線に入力するととも、
信号線cにシフト・クロツクを加えることによつ
て、データ・バイトbiがシンドローム・レジスタ
とバツフア・メモリに取り込まれる前記式(1)に則
して云えば、最初にデータバイトboを入力すると
ともにシフト・クロツクを入力する。次にデー
タ・バイトbn-1について同様のオペレーシヨンを
行う。以下同様にしてデータ・バイトb1までオペ
レーシヨンを行うとレジスタ1〜4の内容は式(1)
又は(2)で表わされるシンドロームS0〜S3となる。
第1図における排他的OR回路9の出力信号A0
S0S1、排他的OR回路10の出力信号A1=S1
S2及び排他的OR回路11の出力信号A2=S2S3
は誤り位置検出回路14に入力する。誤り位置検
出回路14は信号A0,A1及びA2が条件L=A0A2
A1 2=0を満たす時に出力信号gを論理1、す
なわちg=1とする。出力信号gは第1図のゲー
ト回路16のゲート信号として働く。第1図の誤
りパターン解読回路15は信号A0,A1及びS0
ら誤りパターンeをe=S0A0 2(A0A1-1に則
して生成し出力する。前記ゲート信号gと誤りパ
ターン信号eはゲート回路16に入力する。ゲー
ト回路16はゲート信号gが論理1の時その出力
fをf=eとし、ゲート信号gが論理0の時は出
力fをf=0とする通常のAND回路で構成され
る。排他的OR回路12はバツフア・メモリ13
の出力信号bとゲート回路16の出力信号fの排
他的OR回路をとり信号h=bfを出力する。
排他的OR12の前記出力hは誤りが訂正された
データ・バイトを供給する。第1図において、シ
ンドロームS0〜S3の生成が終了した後、誤り訂正
を行うにはシフト・クロツクを信号線cに入力す
れば良い。k番目のシフト・クロツクでシンドロ
ーム・レジスタ1,2,3及び4の内容は式(3)で
表わされるシンドロームとなり、バツフア・メモ
リ13の出力bにはデータ・バイトbo-kが出力さ
れる。
The circuit 13 is a buffer memory (shift register) that stores n bytes of data. Here n=2 m -1 and a byte is m bits. n
Byte data is input to each of the syndrome generation circuits and the buffer memory 13 via the input line d in FIG. Shift clocks for syndrome registers 1-4 and buffer memory 13 are provided by signal lines in FIG. When data byte b i (m bits) is input to the signal line,
By applying a shift clock to signal line c, data byte b i is taken into the syndrome register and buffer memory. According to equation (1) above, data byte b o is input first. and input the shift clock. A similar operation is then performed on data byte b n-1 . After performing the same operation up to data byte b 1 , the contents of registers 1 to 4 are expressed by formula (1).
Or syndromes S 0 to S 3 expressed by (2) occur.
Output signal A 0 = of exclusive OR circuit 9 in FIG.
S 0 S 1 , output signal A 1 of exclusive OR circuit 10 = S 1
S 2 and the output signal A 2 of the exclusive OR circuit 11 = S 2 S 3
is input to the error position detection circuit 14. The error position detection circuit 14 uses the signals A 0 , A 1 and A 2 under the condition L=A 0 A 2
When A 1 2 =0 is satisfied, the output signal g is set to logic 1, that is, g=1. The output signal g serves as a gate signal for the gate circuit 16 in FIG. The error pattern decoding circuit 15 in FIG. 1 generates and outputs an error pattern e from the signals A 0 , A 1 and S 0 according to e=S 0 A 0 2 (A 0 A 1 ) -1 . The gate signal g and error pattern signal e are input to a gate circuit 16. The gate circuit 16 is constituted by a normal AND circuit which sets its output f to f=e when the gate signal g is logic 1, and sets its output f to f=0 when the gate signal g is logic 0. Exclusive OR circuit 12 is buffer memory 13
The output signal b of the gate circuit 16 and the output signal f of the gate circuit 16 are subjected to an exclusive OR circuit and a signal h=bf is output.
Said output h of exclusive OR 12 provides an error corrected data byte. In FIG. 1, after the generation of syndromes S 0 to S 3 is completed, a shift clock can be input to signal line c to perform error correction. At the kth shift clock, the contents of syndrome registers 1, 2, 3, and 4 become the syndrome expressed by equation (3), and data byte b ok is output to output b of buffer memory 13.

もし、データ・バイトbo-kに誤りがあれば、誤
り位置検出回路14の出力信号gが論理1となる
と同時に、誤りパターン解読回路15の出力信号
eがデータ・バイトbo-kの誤りパターンeo-kに等
しくなり、データバイトbo-kの誤りが排他的OR
12を介して訂正される。
If there is an error in the data byte b ok , the output signal g of the error position detection circuit 14 becomes logic 1, and at the same time, the output signal e of the error pattern decoding circuit 15 becomes the error pattern e ok of the data byte b ok . equal and error in data byte b ok is exclusive OR
Corrected via 12.

以下においてm=4、すなわちガロワ体GF
(24)で定義される。リード・ソロモン符号に対
する本発明の誤り訂正回路の構成を説明する。m
=4よりこの符号の符号長nは15(=24−1)で
ある。ここで1バイトは4ビツトを表わす。n=
15バイトの中の4バイトは検査バイトで残りの11
バイトは情報バイトである。
In the following, m=4, that is, Galois field GF
(2 4 ). The configuration of the error correction circuit of the present invention for Reed-Solomon codes will be explained. m
=4, the code length n of this code is 15 (= 24-1 ). Here, 1 byte represents 4 bits. n=
4 bytes out of 15 bytes are inspection bytes and the remaining 11 bytes
A byte is an information byte.

原始多項式P(x)=X4+X+1を法とするガ
ロワ体GF(24)を考えれば、ガロワ体GF(24)の
16個の要素0,α0(=1),α1α2,………α14(但

α15=α0)は第2図のように4ビツトのバイナ
リ・ベクトル(a0a1a2a3)で表わされる。
Considering the Galois field GF(2 4 ) modulo the primitive polynomial P(x)=X 4 +X+1, the Galois field GF(2 4 )
The 16 elements 0, α 0 (=1), α 1 α 2 , α 14 (however, α 15 = α 0 ) are a 4-bit binary vector (a 0 a 1 a ) as shown in Figure 2. 2 a 3 ).

例えば、図のようにα9=(0101)である。第2
図の対応を示す図で以下のように構成される。ガ
ロワ体GF(24)の任意の要素αiはα0=(1000),α1
=(0100),α2=(0010)及びα3=(0001)の線形結
合、すなわちαi=a0α0a1α1a2α2a3α3
(a0a1a2a3)で表わされる。ここで、原始元αが
多項式P(x)の根であることからP(α)=1
αα4=0である。よつてα4α0α1=(1100)。
又、例えば、α9は α9=α4・α4・α1=(α0α12α1=(α0α2
α1=α1
α3=(0101)。
For example, as shown in the figure, α 9 =(0101). Second
This diagram shows the correspondence between the figures and is structured as follows. Any element α i of Galois field GF(2 4 ) is α 0 = (1000), α 1
= (0100), α 2 = (0010) and α 3 = (0001), i.e. α i = a 0 α 0 a 1 α 1 a 2 α 2 a 3 α 3 =
It is expressed as (a 0 a 1 a 2 a 3 ). Here, since the primitive element α is the root of the polynomial P(x), P(α)=1
αα 4 =0. Therefore α 4 α 0 α 1 = (1100).
Also, for example, α 9 is α 9 = α 4・α 4・α 1 = (α 0 α 1 ) 2 α 1 = (α 0 α 2 )
α 1 = α 1
α 3 = (0101).

第1図におけα1乗算回路20は4ビツト入力
(a0a1a2a3)にα1を乗算した結果(b0b1b2b3)を
出力する回路である。
In FIG. 1, the α 1 multiplication circuit 20 is a circuit that multiplies a 4-bit input (a 0 a 1 a 2 a 3 ) by α 1 and outputs the result (b 0 b 1 b 2 b 3 ).

ここで、 (b0b1b2b3)=α1(a0a1a2a3)=α1(a0α0a1α1
a2α2a3α3) =a0α1a1α2a2α3a3α4 =a0α1a1α2a2α3a3(α0α1) =a3α0(a0a3)α1a1α2a2α3 =(a3(a0a3)a1a2) であるから、b0=a3,b1=a0a3,b2=a1,b3
a2となる。
Here, (b 0 b 1 b 2 b 3 )=α 1 (a 0 a 1 a 2 a 3 )=α 1 (a 0 α 0 a 1 α 1
a 2 α 2 a 3 α 3 ) = a 0 α 1 a 1 α 2 a 2 α 3 a 3 α 4 = a 0 α 1 a 1 α 2 a 2 α 3 a 30 α 1 ) = a 3 α 0 (a 0 a 3 ) α 1 a 1 α 2 a 2 α 3 = (a 3 (a 0 a 3 ) a 1 a 2 ), so b 0 = a 3 , b 1 = a 0 a 3 , b 2 = a 1 , b 3 =
a 2 .

第3図は上式に対応す第1図のα1乗算回路20
を具体的に排他的OR回路30を用いて構成した
ブロツク図である。
Figure 3 shows the α 1 multiplier circuit 20 of Figure 1 which corresponds to the above equation.
3 is a block diagram specifically constructed using an exclusive OR circuit 30. FIG.

第4図は第1図におけるα2乗算回路21を具体
的に構成したブロツク図であり、第3図のα1乗算
回路を2段カスケード接続して構成される。
FIG. 4 is a block diagram specifically configuring the α 2 multiplication circuit 21 in FIG. 1, which is constructed by cascading the α 1 multiplication circuits shown in FIG. 3 in two stages.

第5図は同様に第1図のα3乗算回路22を具体
的にしたブロツク図であり、第3図のα1乗算回路
を3段カスケード接続して構成される。
Similarly, FIG. 5 is a concrete block diagram of the α 3 multiplication circuit 22 shown in FIG. 1, which is constructed by cascading three stages of the α 1 multiplication circuits shown in FIG. 3.

次に第1図における誤り位置検出回路14の構
成について説明する。この回路は既に説明したよ
うに入力A0,A1及びA2の間に条件A0A2A1 2
0が成立する時だけ出力gを論理1にする回路で
ある。条件A0A2A1 2=0は次の(12a)〜
(12b)の式と等価である。
Next, the configuration of the error position detection circuit 14 shown in FIG. 1 will be explained. As already explained, this circuit has the condition A 0 A 2 A 1 2 =
This circuit makes the output g logic 1 only when 0 is established. Condition A 0 A 2 A 1 2 = 0 is the following (12a) ~
This is equivalent to equation (12b).

A0A2A1 2=0 (12a) A1 2/A0A2=0 (12b) A1 2/A2A0=0 (12c) A0/A1 A 1A2=0 (12d) 従つて、誤り位置検出回路14は上式(12a)〜
(12d)のいづれを用いても実現できる。以下で
は(12a)の条件判定を用いた場合の回路構成に
ついて説明する。
A 0 A 2 A 1 2 = 0 (12a) A 1 2 /A 0 A 2 = 0 (12b) A 1 2 /A 2 A 0 = 0 (12c) A 0 /A 1 A 1A2 = 0 (12d) Therefore, the error position detection circuit 14 has the above equation (12a) ~
(12d) can be used. Below, a circuit configuration when using conditional determination (12a) will be described.

第6図は条件A0A2=A1 2を用いた誤り位置検出
回路14のブロツク図を示す。第6図において回
路40は入力信号A0とA2とをガロワ体GF(24
の上で乗算してA0・A2を出力する回路であり、
回路41は入力信号A1をGF(24)の上で2乗し
てA1 2を出力する回路である。ここで、入力A0
A1,A2及び出力A0・A2,A1 2はそれぞれ4ビツ
トである。回路42は回路40の出力信号A0
A2と回路41の出力信号A1 2との排他的ORをと
り、A0・A2A1 2を出力する4ビツトの排他的
OR回路である。回路43は回路42の出力信号
A0・A2A1 2の全てのビツトがゼロであることを
検出するNR回路である。NR回路43は
A0・A2A1 2=0の時だけ出力信号gを論理1と
する。
FIG. 6 shows a block diagram of the error position detection circuit 14 using the condition A 0 A 2 =A 1 2 . In FIG. 6, a circuit 40 converts input signals A 0 and A 2 into a Galois field GF(2 4 ).
This is a circuit that multiplies on A 0 and A 2 and outputs A 0 and A 2.
The circuit 41 is a circuit that squares the input signal A 1 on GF(2 4 ) and outputs A 1 2 . Here, input A 0 ,
A 1 , A 2 and outputs A 0 , A 2 , A 1 2 are each 4 bits. The circuit 42 receives the output signal A 0 of the circuit 40.
A 4-bit exclusive OR that takes the exclusive OR of A 2 and the output signal A 1 2 of the circuit 41 and outputs A 0・A 2 A 1 2
It is an OR circuit. Circuit 43 is the output signal of circuit 42
This is an NR circuit that detects that all bits of A 0 and A 2 A 1 2 are zero. The NR circuit 43
The output signal g is set to logic 1 only when A 0 ·A 2 A 1 2 =0.

前記GF(24)上の乗算回路40はAND及び排
他的OR回路から成るランダム・ロジツク回路又
は既存のプログラム可能なRM(リード・オン
リ・メモリ)等のメモリ素子を用いて実現でき
る。特に本実施例の場合、入力A0とA2それぞれ
4ビツトで、出力A0・A2が4ビツトであるから、
回路40は8ビツト・アドレス入力/4ビツト出
力(256語×8ビツト)のRM1個で実現でき
る。RMを用いる場合にはA0をRMの上位
4ビツト・アドレスに、A2をRMの下位4ビ
ツト・アドレスに入力し、対応するアドレス・ロ
ケーシヨンに積A0・A2を格納しておけば良い。
The multiplication circuit 40 on the GF(2 4 ) can be realized using a random logic circuit consisting of an AND and an exclusive OR circuit or an existing memory element such as a programmable RM (read only memory). In particular, in the case of this embodiment, since the inputs A0 and A2 are each 4 bits, and the outputs A0 and A2 are 4 bits,
The circuit 40 can be realized with one RM with 8-bit address input/4-bit output (256 words x 8 bits). When using RM, input A 0 to the upper 4-bit address of RM, input A 2 to the lower 4-bit address of RM, and store the product A 0 · A 2 in the corresponding address location. good.

第7図は前記ROMのアドレスと出力の対応を
示す図である。図のようにROMのアドレス入力
がA0=αp,A2=αqならばA0・A2=αp+qが出力さ
れ、A0又はA2が0ならばA0・A2=0が出力され
る。以上のようなアドレスと出力の対応は第2図
に示すαiとベクトル(a0a1a2a3)の対応を用いて
構成できる。例えばA0=α8=(1010),A2=α11
(0111)ならばA0・A2=α8+11=α15+4=α4
(1100)であるから、ROMのアドレス入力A0
(1010),A2=(0111)に対応する出力はA0・A2
=(1100)である。以上のようにm=4の場合、
乗算回路40は8ビツト・アドレス入力/4ビツ
ト・データ出力(256語×4ビツト)のRMで
1個で実現できる。一般にGF(2m)上の乗算回路
40は2mビツト・アドレス入力/mビツト出力
(22m語×mビツト)のROM1個で実現できる。市
販のプログラム可能なROMとしては256語×8
ビツト,1024語×8ビツト,4096語×8ビツトが
入手可能であから、これらのROMを1個用いて
それぞれGF(24),GF(25)及びGF(26)の乗算回
路を実現できる。m≧7であるGF(2m)乗算回路
は、22m語×mビツトROMが入手できないので、
ROM1個は実現できない。この場合、複数個の
ROMを用いるか又はランダム・ロジツクでGF
(2m)乗算回路を構成する必要がある。
FIG. 7 is a diagram showing the correspondence between addresses and outputs of the ROM. As shown in the figure, if the ROM address input is A 0 = α p , A 2 = α q , A 0・A 2 = α p+q is output, and if A 0 or A 2 is 0, A 0・A 2 =0 is output. The correspondence between addresses and outputs as described above can be constructed using the correspondence between α i and vector (a 0 a 1 a 2 a 3 ) shown in FIG. For example, A 0 = α 8 = (1010), A 2 = α 11 =
(0111) then A 0・A 2 = α 8+11 = α 15+4 = α 4 =
(1100), so ROM address input A 0 =
The output corresponding to (1010), A 2 = (0111) is A 0・A 2
= (1100). As above, when m=4,
The multiplier circuit 40 can be realized by one RM with 8-bit address input/4-bit data output (256 words x 4 bits). Generally, the multiplication circuit 40 on GF (2 m ) can be realized with one ROM having 2 m bit address input/m bit output (22 m words x m bits). 256 words x 8 for a commercially available programmable ROM
Since 1024 words x 8 bits and 4096 words x 8 bits are available, we can use one of these ROMs to create multiplication circuits for GF(2 4 ), GF(2 5 ), and GF(2 6 ), respectively. realizable. The GF(2 m ) multiplier circuit where m≧7 is constructed as follows, since 22 m words x m bits ROM is not available.
One ROM is not possible. In this case, multiple
GF using ROM or random logic
(2 m ) It is necessary to construct a multiplication circuit.

第8図はGF(24)乗算回路40をAND回路、
排他的OR回路から成るランダム・ロジツクで構
成した場合のブロツク図を示す。GF(24)乗算回
路40の入力A0とA2をそれぞれ(a0a1a2a3),
(b0b1b2b3)で表わし、積出力A0・A2
(c0c1c2c3)で表わせば、積(c0c1c2c3)は次のよ
うに表現される。
FIG. 8 shows the GF(2 4 ) multiplication circuit 40 as an AND circuit,
A block diagram is shown in which the circuit is constructed using random logic consisting of an exclusive OR circuit. The inputs A 0 and A 2 of the GF (2 4 ) multiplier circuit 40 are respectively (a 0 a 1 a 2 a 3 ),
(b 0 b 1 b 2 b 3 ), and the product output A 0 · A 2 is expressed as (c 0 c 1 c 2 c 3 ), then the product (c 0 c 1 c 2 c 3 ) is as follows. is expressed in

(c0c1c2c3)=(a0a1a2a3)・(b0b1b2b3) =(a0α0a1α1a2α2a3α3)・ (b0b1b2b3) =a0・α0(b0b1b2b3) a1・α1(b0b1b2b3) a2・α2(b0b1b2b3) a3・α3(b0b1b2b3) 上式は入力(b0b1b2b3)からα0(b0b1b2b3),α1
(b0b1b2b3),α2(b0b1b2b3)及びα3(b0b1b2b3)を
生成し、それぞれa0,a1,a2及びa3とのANDを
取り、さらに排他的ORを取れば積(c0c1c2c3
が生成されることを示している。従つて、GF
(24)乗算回路40は第8図のようにα1乗算回路
52,53及び54、ANDゲート55,56,
57及び58と排他的OR回路59を用いて構成
される。α乗算回路52,53及び54は第3図
のα乗算回路と同一のものである。
(c 0 c 1 c 2 c 3 ) = (a 0 a 1 a 2 a 3 )・(b 0 b 1 b 2 b 3 ) = (a 0 α 0 a 1 α 1 a 2 α 2 a 3 α 3 )・(b 0 b 1 b 2 b 3 ) =a 0・α 0 (b 0 b 1 b 2 b 3 ) a 1・α 1 (b 0 b 1 b 2 b 3 ) a 2・α 2 (b 0 b 1 b 2 b 3 ) a 3・α 3 (b 0 b 1 b 2 b 3 ) The above formula is input (b 0 b 1 b 2 b 3 ) to α 0 (b 0 b 1 b 2 b 3 ) , α 1
(b 0 b 1 b 2 b 3 ), α 2 (b 0 b 1 b 2 b 3 ) and α 3 (b 0 b 1 b 2 b 3 ), respectively. If we take AND with a 3 and then take exclusive OR, we get the product (c 0 c 1 c 2 c 3 )
is generated. Therefore, G.F.
(2 4 ) The multiplication circuit 40 includes α1 multiplication circuits 52, 53 and 54, AND gates 55, 56,
57 and 58 and an exclusive OR circuit 59. α multiplication circuits 52, 53 and 54 are the same as the α multiplication circuit of FIG.

第9図は第6図におけるGF(24)2乗回路41
のブロツク図を示す。2乗回路41における4ビ
ツトの入力信号A1と出力信号A1 2を、ベクトルで
表わしA1=(a0a1a2a3),A1 2=(b0b1b2b3)とすれ
ばb0〜b3はb0=a0a2,b1=a2,b2=a1a3,b3
=a3で表わされる。すなわち、 (b0b1b2b3)=(a0a1a2a32 =(a0α0a1α1a2α2a2α2a3α32 =a0α0a1α2a2α4a3α6 であり、α4=α0α1及びα6=α2α3であるから、 (b0b1b2b3)=a0α0a1α2a2(α0α1)a3(α
2
α3) =(a0a2)α0a2α1(a1a3)α2
a3α3 =((a0a2)a2(a1a3)a3) である。よつてb0=a0a2,b1=a2,b2=a1a3
及びb3=a3が成り立つ。従つてGF(24)2乗回路
41は第9図のように排他的OR回路50,51
を用いて構成される。
FIG. 9 shows the GF(2 4 ) square circuit 41 in FIG.
The block diagram is shown below. The 4-bit input signal A 1 and output signal A 1 2 in the square circuit 41 are expressed as vectors, A 1 = (a 0 a 1 a 2 a 3 ), A 1 2 = (b 0 b 1 b 2 b 3 ), then b 0 to b 3 are b 0 = a 0 a 2 , b 1 = a 2 , b 2 = a 1 a 3 , b 3
It is expressed as = a 3 . That is, (b 0 b 1 b 2 b 3 ) = (a 0 a 1 a 2 a 3 ) 2 = (a 0 α 0 a 1 α 1 a 2 α 2 a 2 α 2 a 3 α 3 ) 2 = a 0 α 0 a 1 α 2 a 2 α 4 a 3 α 6 , and since α 4 = α 0 α 1 and α 6 = α 2 α 3 , (b 0 b 1 b 2 b 3 ) = a 0 α 0 a 1 α 2 a 20 α 1 )a 3
2
α 3 ) = (a 0 a 2 ) α 0 a 2 α 1 (a 1 a 3 ) α 2
a 3 α 3 = ((a 0 a 2 ) a 2 (a 1 a 3 ) a 3 ). Therefore b 0 = a 0 a 2 , b 1 = a 2 , b 2 = a 1 a 3
and b 3 = a 3 holds true. Therefore, the GF(2 4 ) square circuit 41 is configured as an exclusive OR circuit 50, 51 as shown in FIG.
It is configured using

一般にGF(2n)2乗回路も以上のように排他的
OR回路を用いて構成される。
In general, GF(2 n ) squared circuits are also exclusive as shown above.
Constructed using an OR circuit.

又、GF(24)2乗回路41は4ビツト・アドレ
ス入力/4ビツト出力(16語×4ビツト)の
ROMを用いても構成できる。すなわち、アドレ
ス入力がA1=αpの時はA1 2=α2pを出力し、アド
レス入力がA1=0の時はA1 2=0を出力するよう
にROMをプログラムしておけば良い。例えばア
ドレス入力がA1=α11=(0111)の時はA1 2=α22
=α15+7=α7=(1101)を出力するようにROMを
プログラムしておく。
Also, the GF(2 4 ) square circuit 41 has a 4-bit address input/4-bit output (16 words x 4 bits).
It can also be configured using ROM. In other words, if the ROM is programmed to output A 1 2 = α 2p when the address input is A 1 = α p , and output A 1 2 = 0 when the address input is A 1 = 0. good. For example, when the address input is A 1 = α 11 = (0111), A 1 2 = α 22
Program the ROM to output = α 15 + 7 = α 7 = (1101).

以上のように第1図の誤り位置検出回路14は
構成される。次に第1図における誤りパターン解
読回路15の構成を説明する。誤りパターン解読
回路15は式(6)、すなわちe=S0A0 2(A0
A1-1に則して構成できる。
The error position detection circuit 14 shown in FIG. 1 is configured as described above. Next, the configuration of the error pattern decoding circuit 15 shown in FIG. 1 will be explained. The error pattern decoding circuit 15 uses equation (6), that is, e=S 0 A 0 2 (A 0
A1 ) Can be configured according to -1 .

第10図は誤りパターン解読回路15のブロツ
ク図を示す。第10図において回路60は入力
A0及びA1からGF(24)の上でA0 2(A0A1-1
計算する回路であり、回路61は4ビツトの排他
的OR回路である。
FIG. 10 shows a block diagram of the error pattern decoding circuit 15. In FIG. 10, the circuit 60 has an input
This circuit calculates A 0 2 (A 0 A 1 ) -1 from A 0 and A 1 on GF(2 4 ), and the circuit 61 is a 4-bit exclusive OR circuit.

第11図は前記回路60の構成を示す。回路6
0は入力A0とA1から出力A0 2(A0A1-1を計算
する回路であるから、第11図のように入力A0
とA1の排他的ORA0A1をとる回路71、前記
排他的ORA0A1のGF(24)における逆元(A0
A1-1を求める回路72、A0の2乗A0 2を求める
回路70及び前記A0 2と(A0A1-1とをGF(24
において乗算する乗算回路73とから構成され
る。ここで、2乗回路70は第9図のGF(24)の
2乗回路と同一構成であり、乗算回路73は第8
図の乗算回路と同一構成である。A0A1の逆元
(A0A1-1を求める回路72はランダム・ロジ
ツク又は24語×4ビツトのROMで構成されるが、
ランダム・ロジツクを用いると回路量が多くなる
のでROMを用いるのが望ましい。RMを用い
る場合にはアドレス入力がA0A1=αpの時は
(A0A1-1=α-p=α15-Pを出力するようにROM
をプログラムしておく。例えばアドレス入力が
A0A1=α6=(0011)の時は(A0A1-1=α15-6
=α9=(0101)が出力される。又、アドレス入力
がA0A1=0=(0000)の時は(A0A1-1=0
=(0000)を出力するようにROMをプログラム
しておく。A0 2(A0A1-1を求める回路60は以
上のように構成されるが、他の方法でも構成でき
る。回路60の入力A0とA1はいづれも4ビツト
であり、また出力A0 2(A0A1-1も4ビツトであ
るから、回路60は8ビツト・アドレス入力/4
ビツト出力(28語×4ビツト)のRM1個で実
現できる。すなわち、A0をROMアドレスの上位
4ビツトに入力し、A1を下位4ビツトに入力し、
対応するアドレス・ロケーシヨンにA0 2(A0
A1-1を格納しておけば良い。
FIG. 11 shows the configuration of the circuit 60. circuit 6
0 is a circuit that calculates the output A 0 2 (A 0 A 1 ) -1 from the inputs A 0 and A 1 , so as shown in Figure 11, the input A 0
A circuit 71 takes the exclusive ORA 0 A 1 of A 1 and the inverse element (A 0
A circuit 72 for calculating A 1 ) -1 , a circuit 70 for calculating A 0 squared A 0 2 , and the above A 0 2 and (A 0 A 1 ) -1 as GF(2 4 )
and a multiplication circuit 73 that performs multiplication at. Here, the squaring circuit 70 has the same configuration as the GF(2 4 ) squaring circuit shown in FIG.
It has the same configuration as the multiplication circuit shown in the figure. The circuit 72 for calculating the inverse element (A 0 A 1 ) -1 of A 0 A 1 is composed of random logic or a ROM of 24 words x 4 bits.
Using random logic requires a large amount of circuitry, so it is preferable to use ROM. When using RM, when the address input is A 0 A 1 = α p , the ROM is designed to output (A 0 A 1 ) -1 = α -p = α 15-P.
Program it. For example, address input
When A 0 A 1 = α 6 = (0011), (A 0 A 1 ) -1 = α 15-6
9 =(0101) is output. Also, when the address input is A 0 A 1 = 0 = (0000), (A 0 A 1 ) -1 = 0
Program the ROM to output = (0000). The circuit 60 for calculating A 0 2 (A 0 A 1 ) -1 is configured as described above, but it can also be configured in other ways. Since the inputs A 0 and A 1 of circuit 60 are both 4 bits, and the output A 0 2 (A 0 A 1 ) -1 is also 4 bits, circuit 60 has an 8-bit address input/4 bits.
This can be achieved with one RM with bit output ( 28 words x 4 bits). That is, input A 0 to the upper 4 bits of the ROM address, input A 1 to the lower 4 bits,
A 0 2 (A 0
A 1 ) -1 should be stored.

第12図はこのROMのアドレス入力と出力の
対応を示す図である。図のようにようにアドレス
入力A0又はA1が0の時、又はA0=A1の時は0を
出力するようにROMをプログラムしておく。こ
れ以外の場合、すなわちA0≠0からA1≠0かつ
A0≠A1の時は、アドレス入力A0=αp,A1=αq
(p≠q)に対応してA0 2(A0A1-1=α2p(αp
αq-1を出力するようにROMをプログラムしてお
く。例えば、アドレス入力がA0=α8=(1010),
A1=α11=(0111)の時はA0 2(A0A1-1=α16(α8
α11)=α-6=α9であるからA0 2(A0A1-1=α9
=(0101)を出力する。以上のように第1図の誤
りパターン検出回路15は構成される。
FIG. 12 is a diagram showing the correspondence between address input and output of this ROM. As shown in the figure, the ROM is programmed to output 0 when address input A 0 or A 1 is 0, or when A 0 =A 1 . In other cases, i.e. A 0 ≠ 0 to A 1 ≠ 0 and
When A 0 ≠ A 1 , address input A 0 = α p , A 1 = α q
(p≠q), A 0 2 (A 0 A 1 ) -1 = α 2pp
α q ) Program the ROM to output -1 . For example, the address input is A 0 = α 8 = (1010),
When A 1 = α 11 = (0111), A 0 2 (A 0 A 1 ) -1 = α 168
Since α 11 ) = α -6 = α 9 , A 0 2 (A 0 A 1 ) -1 = α 9
= (0101) is output. The error pattern detection circuit 15 shown in FIG. 1 is configured as described above.

以上の説明から分るように本発明の2重バイト
誤り訂正回路は、比較的少ない回路量で、かつ誤
りロケーシヨン多項式を立てずに直接的に2重バ
イト誤りを訂正できるので本発明の目的を十分に
達成できる。
As can be seen from the above description, the double byte error correction circuit of the present invention can directly correct double byte errors with a relatively small amount of circuitry and without setting an error location polynomial. Fully achievable.

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

第1図は本発明による2重バイト誤り訂正回路
の一実施例を示すブロツク図、第2図はガロワ体
GF(24)の要素αiとバイナリ・ベクトルとの対応
を示す図、第3図はα1乗算回路のブロツク図、第
4図はα2乗算回路のブロツク図、第5図はα3乗算
回路のブロツク図、第6図は誤り位置検出回路の
ブロツク図、第7図は前記誤り位置検出回路に使
用されるGF(24)の上での乗算回路を読出し専用
メモリを用いて実施する場合のメモリのアドレス
と出力の対応を示す図、第8図はGF(24)の上で
の乗算回路の構成を示すブロツク図、第9図は
GF(24)の上での2乗回路の構成を示すブロツク
図、第10図は誤りパターン解読回路のブロツク
図、第11図は入力A0とA1からGF(24)の上で
A0 2(A0A1-1を計算する回路の構成を示すブロ
ツク図、第12図は入力A0とA1からGF(24)の
上でA0 2(A0A1-1を計算する回路を読出し専用
メモリを用いて実施する場合のメモリのアドレス
と出力の対応を出す図である。 図において1,2,3,4はシンドローム・レ
ジスタ、5,6,7,8,9,10,11,1
2,30,42,50,51,59,61,71
は排他的OR回路、20,21,22はα1,α2
α3乗算回路をそれぞれ示す。13はバツフア・メ
モリ、14は誤り位置検出回路、15は誤りパタ
ーン解読回路、16はANDゲート回路、40は
GF(24)の上での乗算回路、41はGF(24)の上
での2乗回路、43はNOR回路をそれぞれ示す。
52,53,54はα1乗算回路、55,56,5
7,58はANDゲート回路、60はGF(24)の
上でA0 2(A0A1-1を計算する回路、70はGF
(24)の上での2乗回路、72はGF(24)の上で
の逆元回路、73はGF(24)の上での乗算回路を
それぞれ示す。
FIG. 1 is a block diagram showing an embodiment of a double byte error correction circuit according to the present invention, and FIG. 2 is a Galois field diagram.
Diagrams showing the correspondence between elements α i of GF(2 4 ) and binary vectors. Figure 3 is a block diagram of the α 1 multiplication circuit, Figure 4 is a block diagram of the α 2 multiplication circuit, and Figure 5 is the α 3 multiplication circuit. A block diagram of the multiplication circuit; FIG. 6 is a block diagram of the error position detection circuit; and FIG . Figure 8 is a block diagram showing the configuration of a multiplication circuit on GF (2 4 ), Figure 9 is a diagram showing the correspondence between memory addresses and outputs when
A block diagram showing the configuration of a squaring circuit on GF(2 4 ), FIG. 10 is a block diagram of an error pattern decoding circuit, and FIG .
A block diagram showing the configuration of a circuit that calculates A 0 2 (A 0 A 1 ) -1 , Figure 12 is a block diagram showing the configuration of a circuit that calculates A 0 2 (A 0 A 1 ) from inputs A 0 and A 1 on GF (2 4 ). FIG. 7 is a diagram showing the correspondence between memory addresses and outputs when a circuit for calculating -1 is implemented using a read-only memory. In the figure, 1, 2, 3, 4 are syndrome registers, 5, 6, 7, 8, 9, 10, 11, 1
2, 30, 42, 50, 51, 59, 61, 71
is an exclusive OR circuit, 20, 21, 22 are α 1 , α 2 ,
α 3 multiplication circuits are shown respectively. 13 is a buffer memory, 14 is an error position detection circuit, 15 is an error pattern decoding circuit, 16 is an AND gate circuit, and 40 is a
A multiplication circuit on GF(2 4 ), 41 a squaring circuit on GF(2 4 ), and 43 a NOR circuit, respectively.
52, 53, 54 are α 1 multiplication circuits, 55, 56, 5
7 and 58 are AND gate circuits, 60 is a circuit that calculates A 0 2 (A 0 A 1 ) -1 on GF (2 4 ), and 70 is GF
72 shows an inverse element circuit on GF(2 4 ) , and 73 shows a multiplication circuit on GF(2 4 ).

Claims (1)

【特許請求の範囲】 1 任意の整数mで定義されるガロワ体GF(2m
の原始元αを用いて構成される2重バイト誤り訂
正符号のパリテイ検査行列 111………1………1 1α1α2………αi………α2m-22α4………α2i………α2(2m-2)3α6………α3i………α3(2m-2) に従つてデータを符号化復号化するシステムにお
ける2重バイト誤り訂正回路において、前記符号
化データを受信し、受信データ・バイトから前記
検査行列の第1行,2行,3行及び4行に対応し
てシンドロームS0,S1,S2及びS3を生成するシン
ドローム生成回路と、前記シンドロームの間の排
他的ORであるS0○+S1,S1S2及びS2S3をとる
回路と、前記排他的ORであるS0S1,S1S2
S2S3に関して(S0S1)・(S2S3)(S1
S22=0を検出し誤りバイトの位置と誤りパター
ンを求める論理回路とから成る2重バイト誤り訂
正回路。
[Claims] 1. Galois field GF (2 m ) defined by an arbitrary integer m
Parity check matrix of double-byte error correction code constructed using primitive element α 111……1……1 1α 1 α 2 ……α i ……α 2m-22 α 4 … Double byte error correction in a system that encodes and decodes data according to α 2i ………α 2(2m-2)3 α 6 ………α 3i ………α 3(2m-2) A circuit receives the encoded data and generates syndromes S 0 , S 1 , S 2 and S 3 corresponding to rows 1, 2 , 3 and 4 of the parity check matrix from the received data bytes. a syndrome generating circuit that takes the exclusive ORs of the syndromes, S 0 ○ + S 1 , S 1 S 2 and S 2 S 3 , and the exclusive ORs of the syndromes S 0 S 1 , S 1 S 2 ,
Regarding S 2 S 3 (S 0 S 1 )・(S 2 S 3 )(S 1
S 2 ) A double byte error correction circuit consisting of a logic circuit that detects 2 = 0 and determines the location and error pattern of the erroneous byte.
JP57028325A 1982-02-24 1982-02-24 Correcting circuit of double byte error Granted JPS58144952A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57028325A JPS58144952A (en) 1982-02-24 1982-02-24 Correcting circuit of double byte error

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57028325A JPS58144952A (en) 1982-02-24 1982-02-24 Correcting circuit of double byte error

Publications (2)

Publication Number Publication Date
JPS58144952A JPS58144952A (en) 1983-08-29
JPH0361210B2 true JPH0361210B2 (en) 1991-09-19

Family

ID=12245456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57028325A Granted JPS58144952A (en) 1982-02-24 1982-02-24 Correcting circuit of double byte error

Country Status (1)

Country Link
JP (1) JPS58144952A (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0746777B2 (en) * 1984-08-27 1995-05-17 キヤノン株式会社 Code error correction circuit
JPS6269728A (en) * 1985-09-20 1987-03-31 Matsushita Graphic Commun Syst Inc Error correction circuit
JPS62137924A (en) * 1985-12-12 1987-06-20 Nec Home Electronics Ltd Error position decision circuit of reed solomon coding and decoding system
JPS6386925A (en) * 1986-09-30 1988-04-18 Canon Inc Galois body multiplying circuit
JP2532917B2 (en) * 1988-04-20 1996-09-11 三洋電機株式会社 Data error detection circuit

Also Published As

Publication number Publication date
JPS58144952A (en) 1983-08-29

Similar Documents

Publication Publication Date Title
US4494234A (en) On-the-fly multibyte error correcting system
US4099160A (en) Error location apparatus and methods
JP4036338B2 (en) Method and apparatus for correcting and detecting multiple spotty byte errors in a byte with a limited number of error bytes
US4402045A (en) Multi-processor computer system
US7278085B1 (en) Simple error-correction codes for data buffers
JP3234130B2 (en) Error correction code decoding method and circuit using this method
US5537429A (en) Error-correcting method and decoder using the same
US5856987A (en) Encoder and decoder for an SEC-DED-S4ED rotational code
US3728678A (en) Error-correcting systems utilizing rate {178 {11 diffuse codes
JPH0452556B2 (en)
CN110071727B (en) Encoding method, decoding method, error correction method and device
US5537427A (en) Modular multiple error correcting code system
JPH0380727A (en) Detection method and device for frame synchronization of data stream
EP0753942A2 (en) Word-wise processing for reed-solomon codes
US20020188909A1 (en) Symbol level error correction codes which protect against memory chip and bus line failures
JPH0361210B2 (en)
US4644543A (en) Forward error correction hardware for a data adaptor
US4519079A (en) Error correction method and apparatus
US5787100A (en) Apparatus for determining error evaluator polynomial for use in a Reed-Solomon decoder
Shahariar Parvez et al. Design and implementation of hamming encoder and decoder over FPGA
JPH0691471B2 (en) Error correction circuit
US6301307B1 (en) Methods and apparatuses for the transmission and receipt of digital data modulated using quadrature amplitude modulation, and communication devices utilizing such apparatuses and methods
JP2534563B2 (en) Tolerable error successive correction circuit
JPH0373902B2 (en)
JPS60116230A (en) Decoding method of product code