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
Links
- 208000011580 syndromic disease Diseases 0.000 claims description 41
- 239000011159 matrix material Substances 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 25
- 238000001514 detection method Methods 0.000 description 10
- 238000000034 method Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
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)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Description
【発明の詳細な説明】
本発明は2重バイト誤りを訂正する回路に関
し、特に少ない回路量でランダムな2重バイト誤
りを高速に訂正する回路に関する。
し、特に少ない回路量でランダムな2重バイト誤
りを高速に訂正する回路に関する。
磁気フアイル等のフアイル装置のデータ信頼性
を向上するためにしばしば単一バイト誤りを訂正
するリード・ソロモン(Reed−Solomon)符号
やb隣接誤り訂正符号が用いられている。磁気媒
体よりもエラーレートの悪い媒体を用いる場合又
はデータ信頼度をより向上させるためにはランダ
ムな2重バイト誤りを訂正する能力をもつリー
ド・ソロモン符号を用いるのが望ましい。しかし
ながら、2重バイト誤り訂正の欠点のひとつは誤
つたバイトの位置と誤りパターンを解読する回路
の規模が大きくなる点にある。
を向上するためにしばしば単一バイト誤りを訂正
するリード・ソロモン(Reed−Solomon)符号
やb隣接誤り訂正符号が用いられている。磁気媒
体よりもエラーレートの悪い媒体を用いる場合又
はデータ信頼度をより向上させるためにはランダ
ムな2重バイト誤りを訂正する能力をもつリー
ド・ソロモン符号を用いるのが望ましい。しかし
ながら、2重バイト誤り訂正の欠点のひとつは誤
つたバイトの位置と誤りパターンを解読する回路
の規模が大きくなる点にある。
ひとつのバイトは一般にmビツトで表わされ、
このようなバイトの誤りを訂正するには符号内で
の誤り位置と誤りパターンを解読する必要があ
る。解読(復号)に際してはまず、シンドローム
から誤り位置を計算し、ついで得られた誤り位置
を用いて誤りパターンを計算する方法が用いられ
る。2重バイト誤りを訂正するリード・ソロモン
符号の復号は公知であるが、この方法は次の3つ
のステツプを取るので復号過程が複雑となる欠点
をもつ。
このようなバイトの誤りを訂正するには符号内で
の誤り位置と誤りパターンを解読する必要があ
る。解読(復号)に際してはまず、シンドローム
から誤り位置を計算し、ついで得られた誤り位置
を用いて誤りパターンを計算する方法が用いられ
る。2重バイト誤りを訂正するリード・ソロモン
符号の復号は公知であるが、この方法は次の3つ
のステツプを取るので復号過程が複雑となる欠点
をもつ。
(ステツプ1)シンドロームから誤りバイト位
置に関する2次方程式、すなわちエラー・ロケー
シヨン多項式(error location polynomial)の
係数を求める。
置に関する2次方程式、すなわちエラー・ロケー
シヨン多項式(error location polynomial)の
係数を求める。
(ステツプ2)エラー・ロケーシヨン多項式の
2つの根を求める。この根は誤りバイト位置を表
わす。
2つの根を求める。この根は誤りバイト位置を表
わす。
(ステツプ3)求められた2つの誤り位置とシ
ンドロームとから各誤り位置に対応する2つの誤
りパターンを求める。
ンドロームとから各誤り位置に対応する2つの誤
りパターンを求める。
このため従来の2重バイト誤り訂正を含む復号
器は復号遅延時間が大きくしかも回路規模も大き
くなる欠点を有していた。ここで、復号遅延時間
とはデータ・ブロツクの受信の終了時点から訂正
されたデータの転送を開始するまでの時間であ
る。フアイル装置においてはデータはバイト単位
にシリアルに転送される。受信データ・ブロツク
はバツフア・メモリに一度貯えられた後に誤りを
訂正され、ついで上位装置に転送される。
器は復号遅延時間が大きくしかも回路規模も大き
くなる欠点を有していた。ここで、復号遅延時間
とはデータ・ブロツクの受信の終了時点から訂正
されたデータの転送を開始するまでの時間であ
る。フアイル装置においてはデータはバイト単位
にシリアルに転送される。受信データ・ブロツク
はバツフア・メモリに一度貯えられた後に誤りを
訂正され、ついで上位装置に転送される。
従来の2重バイト誤り訂正方法では、データ・
ブロツクの受信終了時間から前記ステツプ1,2
及び3を実行し、バツフア・メモリに貯えられた
データの誤りを訂正してから上位装置に転送する
ので復号遅延時間が大きくなる。特にバースト誤
り訂正のために2重バイト誤り訂正リード・ソロ
モン符号を複数個インタリーブする際には、この
復号遅延時間がかなり大きくなり実用上問題とな
る。
ブロツクの受信終了時間から前記ステツプ1,2
及び3を実行し、バツフア・メモリに貯えられた
データの誤りを訂正してから上位装置に転送する
ので復号遅延時間が大きくなる。特にバースト誤
り訂正のために2重バイト誤り訂正リード・ソロ
モン符号を複数個インタリーブする際には、この
復号遅延時間がかなり大きくなり実用上問題とな
る。
復号遅延時間を小さくするためにはエラー・ロ
ケーシヨン多項式を立てずにシンドロームから直
接的に誤り位置とパターンを求める方法が必要で
あるが、このような方法はこれまで知られていな
かつた。
ケーシヨン多項式を立てずにシンドロームから直
接的に誤り位置とパターンを求める方法が必要で
あるが、このような方法はこれまで知られていな
かつた。
従つて本発明の目的は2重バイト誤り訂正リー
ド・ソロモン符号に対して、エラー・ロケーシヨ
ン多項式を立てずに直接的に誤り位置とパターン
を求める誤り訂正回路を提供することにある。
ド・ソロモン符号に対して、エラー・ロケーシヨ
ン多項式を立てずに直接的に誤り位置とパターン
を求める誤り訂正回路を提供することにある。
本発明の2重バイト誤り訂正回路はデータ・ブ
ロツクの受信終了後、エラー・ロケーシヨン多項
式を立てることなしにバツフアメモリからデー
タ・バイトを読み出し、誤りを訂正しながら上位
装置にデータ・バイトを転送するので復号遅延時
間はゼロである。又、誤り訂正回路の回路量も少
い。さらに、符号を複数個インタリーブするのに
適した構造を持つ。
ロツクの受信終了後、エラー・ロケーシヨン多項
式を立てることなしにバツフアメモリからデー
タ・バイトを読み出し、誤りを訂正しながら上位
装置にデータ・バイトを転送するので復号遅延時
間はゼロである。又、誤り訂正回路の回路量も少
い。さらに、符号を複数個インタリーブするのに
適した構造を持つ。
本発明の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)バイトが情報バ
イトである。
数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)バイトが情報バ
イトである。
本発明の復号回路は前記検査行列Hの第1行,
第2行,第3行及び第4行に対応するシンドロー
ムS1,S1,S2及びS3を生成するシンドローム生成
回路と、前記シンドロームの間の排他的ORS0
S1,S1S2及びS2S3をとる回路と、前記排他的
ORA0=S0S1,A1=S1S2及びA2=S2S3に
関してA0・A2A1 2=0を検出することによつて
誤りパターンを求めめる論理回路とから構成され
る。
第2行,第3行及び第4行に対応するシンドロー
ムS1,S1,S2及びS3を生成するシンドローム生成
回路と、前記シンドロームの間の排他的ORS0
S1,S1S2及びS2S3をとる回路と、前記排他的
ORA0=S0S1,A1=S1S2及びA2=S2S3に
関してA0・A2A1 2=0を検出することによつて
誤りパターンを求めめる論理回路とから構成され
る。
実施例を説明する前に本発明の原理について説
明する。本発明において、シンドローム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をこの順に入力することによつて生
成される。
明する。本発明において、シンドローム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をこの順に入力することによつて生
成される。
本発明においては、シンドローム生成後に誤り
位置を探すためにシンドローム・レジスタをさら
にシフトする。式(2)で表わされる2重シンボル誤
りを仮定すれば、k回シフト後のシンドローム
(シンドローム・レジスタの内容)S0,S1,S2及
びS3は次式で表わされる。
位置を探すためにシンドローム・レジスタをさら
にシフトする。式(2)で表わされる2重シンボル誤
りを仮定すれば、k回シフト後のシンドローム
(シンドローム・レジスタの内容)S0,S1,S2及
びS3は次式で表わされる。
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は下式
で表わされる。
A0=S0S1,A1=S1S2及びA2=S2S3は下式
で表わされる。
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)
で表わされる。
回数kがk=n−i又はk=n−jの時だけL=
0となることが以下のようにして分る。L=
A0A2A1 2に前式(4)を代入すれば、Lは次の式(5)
で表わされる。
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は次のようになる。
+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は次のようになる。
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+k)2・α2(j+k)であるから、L=A0・A2A1 2=
0である。
αj+k)2・α2(j+k)であるから、L=A0・A2A1 2=
0である。
以上より、バイト位置iとjに誤りが生じてい
ればシンドローム・レジスタを(n−i)回及び
(n−j)回シフトした時にL=0となることが
示された。ここで、nバイトのバツフア・メモリ
(シフト・レジスタ)を用意しておき、nバイト
の受信データ・バイトbo,bo-1,……,b2,b1を
シンドローム・レジスタに入力すると同時にバツ
フア・メモリにも入力するものとする。そして、
誤り訂正のためにシンドローム・レジスタをシフ
トすると同時にバツフア・メモリに貯えられてい
るデータをシフト出力するものとする。バツフ
ア・メモリからはデータバイトbo,bo-1,……,
b1がこの順にシフト出力される。従つて、(n−
k)回目のシフトでバツフア・メモリからはデー
タ・バイトbkが出力される。
ればシンドローム・レジスタを(n−i)回及び
(n−j)回シフトした時にL=0となることが
示された。ここで、nバイトのバツフア・メモリ
(シフト・レジスタ)を用意しておき、nバイト
の受信データ・バイトbo,bo-1,……,b2,b1を
シンドローム・レジスタに入力すると同時にバツ
フア・メモリにも入力するものとする。そして、
誤り訂正のためにシンドローム・レジスタをシフ
トすると同時にバツフア・メモリに貯えられてい
るデータをシフト出力するものとする。バツフ
ア・メモリからはデータバイトbo,bo-1,……,
b1がこの順にシフト出力される。従つて、(n−
k)回目のシフトでバツフア・メモリからはデー
タ・バイトbkが出力される。
いま、i番目のデータbiとj番目のデータbjに
誤りがあるとすれば(i>j)、(n−1)回目の
シフトでL=0となり、同時にバツフア・メモリ
からデータバイトbiが出力される。さらに(n−
j)回目のシフトでL=0となり、バツフア・メ
モリからデータバイトbjが出力されることにな
る。すなわち、誤りのあるバイトがバツフア・メ
モリから出力された時点で丁度L=0となる。従
つて、L=0となるバイトに対する誤りパターン
を求めれば誤りを訂正できる。
誤りがあるとすれば(i>j)、(n−1)回目の
シフトでL=0となり、同時にバツフア・メモリ
からデータバイトbiが出力される。さらに(n−
j)回目のシフトでL=0となり、バツフア・メ
モリからデータバイトbjが出力されることにな
る。すなわち、誤りのあるバイトがバツフア・メ
モリから出力された時点で丁度L=0となる。従
つて、L=0となるバイトに対する誤りパターン
を求めれば誤りを訂正できる。
誤りパターンは下式で求められる。
e=S0A0 2(A0A1)-1 (6)
i番目のバイトbiに誤りパターンei,j番目の
バイトbjに誤りパターンejが生じていれば、k回
目のシフト(k=n−i)でL=0となり、この
時A0,A1,A2及びS0は下式で表わされる。
バイトbjに誤りパターンejが生じていれば、k回
目のシフト(k=n−i)でL=0となり、この
時A0,A1,A2及びS0は下式で表わされる。
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に等
しくなる。
しくなる。
e=S0A0 2(A0A1)-1=ei (8)
又、この時バツフア・メモリからはバイトbiが
出力されているから、バイトbiの誤りはbieiで
訂正される。
出力されているから、バイトbiの誤りはbieiで
訂正される。
j番目のバイトbjの誤りパターンejに対しても
前式(7),(8)と同様な式が成立し、バイトbjの誤り
が訂正される。ここで、誤りパターンeを計算す
る式は式(6)以外にも存在し、例えばe=S0A0
(1√2・0 -1)-1,e=S0A0(1A2・
A1 -1)-1等でも計算できるが、式(6)の計算方法が
最も容易と考えられる。
前式(7),(8)と同様な式が成立し、バイトbjの誤り
が訂正される。ここで、誤りパターンeを計算す
る式は式(6)以外にも存在し、例えばe=S0A0
(1√2・0 -1)-1,e=S0A0(1A2・
A1 -1)-1等でも計算できるが、式(6)の計算方法が
最も容易と考えられる。
以上のように2重バイト誤りに対して、誤り位
置はL=A0A2A1 2=0により、誤りパターンは
e=S0A0 2(A0A1)-1によつて求められる。
置はL=A0A2A1 2=0により、誤りパターンは
e=S0A0 2(A0A1)-1によつて求められる。
前記L及びeによつて単一バイト誤りも訂正で
きることを以下で示す。いま、i番目のバイトbi
に誤りパターンeiの誤りが生じたとするとシンド
ロームS0〜S3は下式で表わされる。
きることを以下で示す。いま、i番目のバイトbi
に誤りパターンeiの誤りが生じたとするとシンド
ロームS0〜S3は下式で表わされる。
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となり誤りが
正しく訂正される。
ンドロームは 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となり誤りが
正しく訂正される。
従つて、単一バイト誤りが2重バイト誤りと同
様に正しく訂正されることが示された。
様に正しく訂正されることが示された。
以上のように本発明では受信データ・バイトか
らシンドロームを生成するとともにバツフア・メ
モリに受信データを格納し、誤り訂正時にはシン
ドローム・レジスタをシフトするとともにバツフ
ア・メモリからデータ・バイトをシフト出力しな
がら誤つているバイトを訂正できる。換言すれ
ば、データを転送しながら誤りを訂正する。
らシンドロームを生成するとともにバツフア・メ
モリに受信データを格納し、誤り訂正時にはシン
ドローム・レジスタをシフトするとともにバツフ
ア・メモリからデータ・バイトをシフト出力しな
がら誤つているバイトを訂正できる。換言すれ
ば、データを転送しながら誤りを訂正する。
従つて、データの受信終了後、即時的にデータ
の転送が可能であるから、復号遅延はゼロと考え
られる。これは本発明の一特徴であつて、誤りロ
ケーシヨン多項式を立ててから誤り訂正を行う従
来の方式では復号遅延はゼロとすることはできな
い。
の転送が可能であるから、復号遅延はゼロと考え
られる。これは本発明の一特徴であつて、誤りロ
ケーシヨン多項式を立ててから誤り訂正を行う従
来の方式では復号遅延はゼロとすることはできな
い。
以下図面を用いて本発明を説明する。
第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の生成回路を構成している。
る。図において回路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の生成回路を構成している。
回路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が出力さ
れる。
ア・メモリ(シフト・レジスタ)である。ここで
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が出力さ
れる。
もし、データ・バイトbo-kに誤りがあれば、誤
り位置検出回路14の出力信号gが論理1となる
と同時に、誤りパターン解読回路15の出力信号
eがデータ・バイトbo-kの誤りパターンeo-kに等
しくなり、データバイトbo-kの誤りが排他的OR
12を介して訂正される。
り位置検出回路14の出力信号gが論理1となる
と同時に、誤りパターン解読回路15の出力信号
eがデータ・バイトbo-kの誤りパターンeo-kに等
しくなり、データバイトbo-kの誤りが排他的OR
12を介して訂正される。
以下においてm=4、すなわちガロワ体GF
(24)で定義される。リード・ソロモン符号に対
する本発明の誤り訂正回路の構成を説明する。m
=4よりこの符号の符号長nは15(=24−1)で
ある。ここで1バイトは4ビツトを表わす。n=
15バイトの中の4バイトは検査バイトで残りの11
バイトは情報バイトである。
(24)で定義される。リード・ソロモン符号に対
する本発明の誤り訂正回路の構成を説明する。m
=4よりこの符号の符号長nは15(=24−1)で
ある。ここで1バイトは4ビツトを表わす。n=
15バイトの中の4バイトは検査バイトで残りの11
バイトは情報バイトである。
原始多項式P(x)=X4+X+1を法とするガ
ロワ体GF(24)を考えれば、ガロワ体GF(24)の
16個の要素0,α0(=1),α1α2,………α14(但
し
α15=α0)は第2図のように4ビツトのバイナ
リ・ベクトル(a0a1a2a3)で表わされる。
ロワ体GF(24)を考えれば、ガロワ体GF(24)の
16個の要素0,α0(=1),α1α2,………α14(但
し
α15=α0)は第2図のように4ビツトのバイナ
リ・ベクトル(a0a1a2a3)で表わされる。
例えば、図のようにα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α1)2α1=(α0α2)
α1=α1
α3=(0101)。
図の対応を示す図で以下のように構成される。ガ
ロワ体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α1)2α1=(α0α2)
α1=α1
α3=(0101)。
第1図におけα1乗算回路20は4ビツト入力
(a0a1a2a3)にα1を乗算した結果(b0b1b2b3)を
出力する回路である。
(a0a1a2a3)にα1を乗算した結果(b0b1b2b3)を
出力する回路である。
ここで、
(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となる。
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となる。
第3図は上式に対応す第1図のα1乗算回路20
を具体的に排他的OR回路30を用いて構成した
ブロツク図である。
を具体的に排他的OR回路30を用いて構成した
ブロツク図である。
第4図は第1図におけるα2乗算回路21を具体
的に構成したブロツク図であり、第3図のα1乗算
回路を2段カスケード接続して構成される。
的に構成したブロツク図であり、第3図のα1乗算
回路を2段カスケード接続して構成される。
第5図は同様に第1図のα3乗算回路22を具体
的にしたブロツク図であり、第3図のα1乗算回路
を3段カスケード接続して構成される。
的にしたブロツク図であり、第3図のα1乗算回路
を3段カスケード接続して構成される。
次に第1図における誤り位置検出回路14の構
成について説明する。この回路は既に説明したよ
うに入力A0,A1及びA2の間に条件A0A2A1 2=
0が成立する時だけ出力gを論理1にする回路で
ある。条件A0A2A1 2=0は次の(12a)〜
(12b)の式と等価である。
成について説明する。この回路は既に説明したよ
うに入力A0,A1及びA2の間に条件A0A2A1 2=
0が成立する時だけ出力gを論理1にする回路で
ある。条件A0A2A1 2=0は次の(12a)〜
(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)の条件判定を用いた場合の回路構成に
ついて説明する。
(12d)のいづれを用いても実現できる。以下で
は(12a)の条件判定を用いた場合の回路構成に
ついて説明する。
第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と
する。
回路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と
する。
前記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を格納しておけば良い。
他的OR回路から成るランダム・ロジツク回路又
は既存のプログラム可能なRM(リード・オン
リ・メモリ)等のメモリ素子を用いて実現でき
る。特に本実施例の場合、入力A0とA2それぞれ
4ビツトで、出力A0・A2が4ビツトであるから、
回路40は8ビツト・アドレス入力/4ビツト出
力(256語×8ビツト)のRM1個で実現でき
る。RMを用いる場合にはA0をRMの上位
4ビツト・アドレスに、A2をRMの下位4ビ
ツト・アドレスに入力し、対応するアドレス・ロ
ケーシヨンに積A0・A2を格納しておけば良い。
第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)乗算回路を構成する必要がある。
示す図である。図のように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)乗算回路を構成する必要がある。
第8図はGF(24)乗算回路40をAND回路、
排他的OR回路から成るランダム・ロジツクで構
成した場合のブロツク図を示す。GF(24)乗算回
路40の入力A0とA2をそれぞれ(a0a1a2a3),
(b0b1b2b3)で表わし、積出力A0・A2を
(c0c1c2c3)で表わせば、積(c0c1c2c3)は次のよ
うに表現される。
排他的OR回路から成るランダム・ロジツクで構
成した場合のブロツク図を示す。GF(24)乗算回
路40の入力A0とA2をそれぞれ(a0a1a2a3),
(b0b1b2b3)で表わし、積出力A0・A2を
(c0c1c2c3)で表わせば、積(c0c1c2c3)は次のよ
うに表現される。
(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図
のα乗算回路と同一のものである。
(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図
のα乗算回路と同一のものである。
第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)=(a0a1a2a3)2 =(a0α0a1α1a2α2a2α2a3α3)2 =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
を用いて構成される。
のブロツク図を示す。2乗回路41における4ビ
ツトの入力信号A1と出力信号A1 2を、ベクトルで
表わしA1=(a0a1a2a3),A1 2=(b0b1b2b3)とすれ
ばb0〜b3はb0=a0a2,b1=a2,b2=a1a3,b3
=a3で表わされる。すなわち、 (b0b1b2b3)=(a0a1a2a3)2 =(a0α0a1α1a2α2a2α2a3α3)2 =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
を用いて構成される。
一般にGF(2n)2乗回路も以上のように排他的
OR回路を用いて構成される。
OR回路を用いて構成される。
又、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を
プログラムしておく。
ス入力/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を
プログラムしておく。
以上のように第1図の誤り位置検出回路14は
構成される。次に第1図における誤りパターン解
読回路15の構成を説明する。誤りパターン解読
回路15は式(6)、すなわちe=S0A0 2(A0
A1)-1に則して構成できる。
構成される。次に第1図における誤りパターン解
読回路15の構成を説明する。誤りパターン解読
回路15は式(6)、すなわちe=S0A0 2(A0
A1)-1に則して構成できる。
第10図は誤りパターン解読回路15のブロツ
ク図を示す。第10図において回路60は入力
A0及びA1からGF(24)の上でA0 2(A0A1)-1を
計算する回路であり、回路61は4ビツトの排他
的OR回路である。
ク図を示す。第10図において回路60は入力
A0及びA1からGF(24)の上でA0 2(A0A1)-1を
計算する回路であり、回路61は4ビツトの排他
的OR回路である。
第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を格納しておけば良い。
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を格納しておけば良い。
第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は構成される。
対応を示す図である。図のようにようにアドレス
入力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は構成される。
以上の説明から分るように本発明の2重バイト
誤り訂正回路は、比較的少ない回路量で、かつ誤
りロケーシヨン多項式を立てずに直接的に2重バ
イト誤りを訂正できるので本発明の目的を十分に
達成できる。
誤り訂正回路は、比較的少ない回路量で、かつ誤
りロケーシヨン多項式を立てずに直接的に2重バ
イト誤りを訂正できるので本発明の目的を十分に
達成できる。
第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)の上での乗算回路を
それぞれ示す。
の一実施例を示すブロツク図、第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)の上での乗算回路を
それぞれ示す。
Claims (1)
- 【特許請求の範囲】 1 任意の整数mで定義されるガロワ体GF(2m)
の原始元αを用いて構成される2重バイト誤り訂
正符号のパリテイ検査行列 111………1………1 1α1α2………αi………α2m-2 1α2α4………α2i………α2(2m-2) 1α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
S2)2=0を検出し誤りバイトの位置と誤りパター
ンを求める論理回路とから成る2重バイト誤り訂
正回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57028325A JPS58144952A (ja) | 1982-02-24 | 1982-02-24 | 2重バイト誤り訂正回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57028325A JPS58144952A (ja) | 1982-02-24 | 1982-02-24 | 2重バイト誤り訂正回路 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58144952A JPS58144952A (ja) | 1983-08-29 |
| JPH0361210B2 true JPH0361210B2 (ja) | 1991-09-19 |
Family
ID=12245456
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57028325A Granted JPS58144952A (ja) | 1982-02-24 | 1982-02-24 | 2重バイト誤り訂正回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS58144952A (ja) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0746777B2 (ja) * | 1984-08-27 | 1995-05-17 | キヤノン株式会社 | 符号誤り訂正回路 |
| JPS6269728A (ja) * | 1985-09-20 | 1987-03-31 | Matsushita Graphic Commun Syst Inc | 誤り訂正回路 |
| JPS62137924A (ja) * | 1985-12-12 | 1987-06-20 | Nec Home Electronics Ltd | リ−ドソロモン符号・復号方式の誤り位置決定回路 |
| JPS6386925A (ja) * | 1986-09-30 | 1988-04-18 | Canon Inc | ガロア体乗算回路 |
| JP2532917B2 (ja) * | 1988-04-20 | 1996-09-11 | 三洋電機株式会社 | デ―タ誤り検出回路 |
-
1982
- 1982-02-24 JP JP57028325A patent/JPS58144952A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS58144952A (ja) | 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 (ja) | 誤りバイト数を制限したバイト内複数スポッティバイト誤り訂正・検出方法及び装置 | |
| US7278085B1 (en) | Simple error-correction codes for data buffers | |
| US4402045A (en) | Multi-processor computer system | |
| JP3234130B2 (ja) | 誤り訂正符号復号化方法およびこの方法を用いる回路 | |
| US5856987A (en) | Encoder and decoder for an SEC-DED-S4ED rotational code | |
| US5537429A (en) | Error-correcting method and decoder using the same | |
| US5537427A (en) | Modular multiple error correcting code system | |
| US3728678A (en) | Error-correcting systems utilizing rate {178 {11 diffuse codes | |
| CN110071727B (zh) | 编码方法、译码方法、纠错方法及装置 | |
| JPH0452556B2 (ja) | ||
| JPH0380727A (ja) | データストリームのフレーム同期検出方法及び装置 | |
| 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 (ja) | ||
| US4644543A (en) | Forward error correction hardware for a data adaptor | |
| US5787100A (en) | Apparatus for determining error evaluator polynomial for use in a Reed-Solomon decoder | |
| JPH0691471B2 (ja) | 誤り訂正回路 | |
| 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 (ja) | 許容誤り逐次訂正回路 | |
| JPH0373902B2 (ja) | ||
| JPS60116230A (ja) | 積符号の復号方法 | |
| JP3223513B2 (ja) | 誤り訂正復号装置 | |
| JPS6260319A (ja) | 誤り訂正回路 |