JPH0373902B2 - - Google Patents

Info

Publication number
JPH0373902B2
JPH0373902B2 JP57135312A JP13531282A JPH0373902B2 JP H0373902 B2 JPH0373902 B2 JP H0373902B2 JP 57135312 A JP57135312 A JP 57135312A JP 13531282 A JP13531282 A JP 13531282A JP H0373902 B2 JPH0373902 B2 JP H0373902B2
Authority
JP
Japan
Prior art keywords
circuit
byte
output
error
outputs
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
JP57135312A
Other languages
English (en)
Other versions
JPS5927354A (ja
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 filed Critical
Priority to JP57135312A priority Critical patent/JPS5927354A/ja
Publication of JPS5927354A publication Critical patent/JPS5927354A/ja
Publication of JPH0373902B2 publication Critical patent/JPH0373902B2/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

Landscapes

  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Correction Of Errors (AREA)

Description

【発明の詳細な説明】
本発明は2重バイト誤りを訂正する回路に関
し、特に少ない回路量でランダムな2重バイト誤
りを高速に訂正する回路に関する。 磁気フアイル等のフアイル装置のデータ信頼性
を向上するために、しばしば単一バイト誤りを訂
正するリード・ソロモン(Reed−Solomon)符
号やb隣接誤り訂正符号が用いられている。磁気
媒体よりもエラーレートの悪い媒体を用いる場
合、又はデータ信頼度をより向上させるために
は、ランダムな2重バイト誤りを訂正する能力を
もつリード・ソロモン符号を用いるのが望まし
い。 しかしながら、2重バイト誤り訂正の欠点のひ
とつは誤つたバイトの位置と誤りパターンを解読
する回路の規模が大きくなる点にある。 ひとつのバイトは一般にmビツトで表わされ、
このようなバイトの誤りを訂正するには、符号内
での誤り位置と誤りパターンを解読する必要があ
る。解読(復号)に際しては、まず、シンドロー
ムから誤り位置を計算し、ついで得られた誤り位
置を用いて誤りパターンを計算する方法が用いら
れる。2重バイト誤りを訂正するリード・ソロモ
ン符号の復号は、公知であるが、この方法は次の
3つのステツプを取るので、復号過程が複雑とな
る欠点をもつ。 (ステツプ1) シンドロームから誤りバイト位置に関する2次
方程式、すなわち、エラー・ロケーシヨン多項式
(error location polynomial)の係数を求める。 (ステツプ2) エラー・ロケーシヨン多項式の2つの根を求め
る。根は誤りバイト位置を表わす。 (ステツプ3) 求められた2つの誤り位置とシンドロームとか
ら各誤り位置に対応する2つの誤りパターンを求
める。 このため、従来の2重バイド誤り復号器は復号
遅延時間が大きく、しかも回路規模も大きくなる
欠点を有していた。ここで、復号遅延時間とはデ
ータ・ブロツクの受信の終了時点から訂正された
データの転送を開始するまでの時間である。フア
イル装置においては、データはバイト単位にシリ
アルに転送される。受信データ・ブロツクはバツ
フア・メモリに一度貯えられた後に、誤りを訂正
され、ついで、上位装置に転送される。 従来の2重バイト誤り訂正方法では、データ・
ブロツクの受付終了時間から前記ステツプ1、2
及び3を実行し、バツフア・メモリに貯えられた
データの誤りを訂正してから上位装置に転送する
ので復号遅延時間が大きくなる。特に、バースト
誤り訂正のために2重バイト誤り訂正リード・ソ
ロモン符号を複数個インタリーブする際には、こ
の復号遅延時間が、かなり大きくなり実用上問題
となる。復号遅延時間を小さくするためには、エ
ラー・ロケーシヨン多項式を立てずに、シンドロ
ームから直接的に誤り位置とパターンを求める方
法が必要であるが、このような方法はこれまで知
られていなかつた。 従つて、本発明の目的は2重バイト誤り訂正リ
ード・ソロモン符号に対して、エラー・ロケーシ
ヨン多項式を立てずに直接的に誤り位置とパター
ンを求める復号回路を提供するにある。 本発明の2重バイト誤り訂正回路はデータ・ブ
ロツクの受信終了後、エラー・ロケーシヨン多項
式を立てることなしにバツフア・メモリからデー
タ・バイトを読み出し、誤りを訂正しながら上位
装置にデータ・バイトを転送するので、復号遅延
時間はゼロである。又、誤り訂正回路の回路量も
少い。さらに、復号を複数個インタリーブするの
に適した構造を持つ。 又、従来のリードソロモン符号の符号化システ
ムにおいては、エンコーダ回路とデイコーダ回路
は異なる回路構成を取る必要があつたが、本発明
においては、デイコーダとしてエンコーダ回路を
使用できる利点がある。 本発明の2重バイト誤り訂正回路は整数mで定
義されるガロワ体GF(2m)の原始根αを用いて構
成される2重バイト誤り訂正リードソロモン符号
の生成多項式G(X)=(X+1)(X+α)(X+
α2)(X+α3)を用いる。ここで(X+1)(X+
α)(X+α2)(X+α3)を展開した時のXiの係数
をβiとすれば、G(X)=X4+β3X3+β2X2+β1X1
+β0と表わされ、符号化回路(エンコーダ)には
G(X)による割り算回路を用いる。割り算回路
はβ0、β1、β2、β3をフイードバツク係数に持つ4
バイトすなわち4段のシフト・レジスタで構成さ
れる。 本発明では復号回路に前記エンコーダをそのま
ま用いる。すなわち、エンコーダを用いてシンド
ロームを生成する。シンドロームの生成が終了す
るとエンコーダをシフトすることにより誤りの存
在する位置(誤り位置)を検出し、同時に誤りの
パターン(誤りパターン)を解読することにより
1個また2個の誤りを訂正する。誤り位置と誤り
パターンの解読はエンコーダ(4バイト・シフト
レジスタ)の中の下位3バイトの状態を検査する
誤り判定回路によつて行う。誤り判定回路はシフ
トされているエンコーダの下位3バイトの状態を
シフトの度に実時間的に検査し誤りのパターンと
位置を解読する。 以上のように本発明の2重バイト誤り訂正回路
はエンコーダ回路と誤り判定回路から構成され
る。 以下において本発明を詳細に説明する。αをガ
ロワ体GF(2m)の原始根とすると、 G(X)=(X+1)(X+α)(X+α2)(X+α3

=X4+β3X3+β2X2+β1X+β0で生成される2重
バイト誤り訂正リード・ソロモン符号長nは、n
=2m−1バイトである。ここで、バイトはmビツ
トで、βi(i=0〜3)はガロワ体GF(2m)の要
素である。nバイトの符号語をdo-1、do-2、…
…、d1、d0(diはmビツトのバイトを示す)とす
ると、最初のn−4バイト(do-1〜d4)は情報バ
イトで、最後の4バイト(d3〜d0)は、チエツ
ク・バイトである。チエツクバイトd3〜d0は情報
バイトdo-1〜d4から、第1図に示す割り算回路す
なわちエンコーダ(符号化回路)によつて生成さ
れる。 第1図において、回路1〜4はそれぞれバイト
(mビツト)・レジスタ、回路5〜8はそれぞれm
ビツトの排他的OR回路、回路9〜12は、それぞ
れβ0、β1、β2およびβ3を乗算する回路である。 第1図のエンコーダに情報バイトdo-1、do-2
……、d5、d4をこの順に入力すると、チエツク・
バイトd3、d2、d1およびd0が、それぞれレジスタ
4,3,2および1内に生成される。 本発明では、第1図のエンコーダをチエツク・
バイトの生成、シンドローム・バイトの生成、さ
らに誤り訂正のいづれのサイクルにおいても使用
する。第2図は第1図のエンコーダを使用した誤
り訂正回路を示すブロツク図である。第2図にお
いて回路1〜12は第1図と同一のエンコーダを構
成する。 第2図において、nバイトの受信データro-1
ro-2、……、r1、r0を、この順にエンコーダとn
バイトのバツフアメモリ18に同時に入力する。n
バイトの受信データの入力が終了すると、エンコ
ーダのレジスタ4,3,2および1内には、シン
ドローム・バイトA3、A2、A1およびA0がそれぞ
れ生成されている。 エンコーダで生成されたシンドロームをベクト
ルS=(A3A2A1A0T・受信バイトをR=(ro-1
ro-2……r0Tとすると、S=HRと表わされる。
ここでTはベクトルの転置記号である。又、Hは
4×n検査行列で、 H=〔Vo-1Vo-2……V0〕である。 但し、ViはGF(2m)の要素から成る4次元列ベ
クトルで、 Vi=〔Ui3Ui2Ui1Ui0Tと表わせばUij(0j3)
は、次のように導びかれる。 Xi+4moduloG(X) =Ui3X3+Ui2X2+Ui1X+Ui0 −(1) ここでUij∈GF(2m)。 XnmoduloG(X)=1より特にVo-1=〔1000〕T
Vo-2=〔0100〕T、Vo-3=〔0010〕T、Va-4=〔0001〕T
。 例えば、原子多項式p(X)=X4+X+1を法
とするGF(24)では、生成多項式は下式となる。 G(X)=(X+1)(X+α)(X+α2)(X+α3
) =X4+α12X3+α4X2+α0X+α6 −(2) このG(X)に対するバリテイ検査行列は、
〔証明〕
1 は2重バイト訂正RS符号であることから明
らか。 2 は、 0≠det|Vo-1ViVjVk| =det1 0 0 0Ui3 Li Uj3 Lj Uk3 Lk =det|LiLjLk| より導びかれる。 受信バイトriに生じた誤りパターンをeiとする
とシンドロームSは、ベクトルVの線形和で表わ
される。 S=o-1i=0 eiVi バイトriとrjに誤りが生じたとすればSは、 S=eiVi+ejVj 誤り訂正のためにエンコーダをシフトすると、l
(0lo-1)回目のシフトでシンドローム(レ
ジスタ1〜4の内容)は、S=eiVi+l=ejVj
lとなる。従つてl=(o-1)−i回のシフトでS
は、 S=A3 A2 A1 A0=eiVo-1+ejVp=ei1 0 0 0+ejUp3 Up2 Up1 Up0、(P=j−i+o-1)、 よつて A3=eiejUp3 −(4) A2 A1 A0=ejUp2 Up1 Up0=ejLp −(5) ここで、A3、A2、A1およびA0は、それぞれl
回目のシフトにおけるレジスタ4,3,2および
1の内容である。同様に、l=n−1−j回のシ
フトでシンドロームは、 A3=ej+eiUg3、(g=i−j+n−1)−(6) A2 A1 A0=eiUg2 Ug1 Ug0=eiLi −(7) となる。従つて、ロケーシヨンiとjに誤りが生
じていれば、n−1−iおよびn−1−j回のシ
フトでシンドロームのサブ・ベクトル
(A2A1A0Tは、サブ・ベクトルL0、L1、……、
Lo-2のいづれかひとつのスカラー倍に等しくな
る。すなわち(A2A1A0T=a・Lの形になる。
ここで、L∈{L0L1、……、Lo-2}で、aはガ
ロワ体GF(2m)の任意の要素である。 n−1−iおよびn−1−j回以外のシフトで
は、シンドローム(A2A1A0Tは、2つのサブ・
ベクトルLの線形和に等しく、前記定理より2つ
のサブ・ベクトルLの線形和は、ひとつのサブ・
ベクトルに一致することはない。 従つて、(A2A1A0Tが単一のサブ・ベクトルL
のスカラー倍に等しい事、すなわち(A2A1A0T
=a・Lであることを検出することより誤りロケ
ーシヨンを決定できる。 ロケーシヨンiとjに誤りが生じていれば、n
−1−iおよびn−1−j回目のシフトで、
(A2A1A0T=a・Lとなり、この時丁度バツフ
ア・メモリ18から誤りのある受信バイトriおよび
rjが出力されるので、riとrjの誤りを訂正できる。 (A2A1A0T=a・Lの検出は、次のように行
うことができる。LがひつとのベクトルLi=(Ui2
Ui1Ui0Tのスカラー倍に等しいとすれば、
(A2A1A0T=a・Li=a(Ui2Ui1Ui0Tであるから、
A0、A1、およびA2はA0=a・Ui0、A1=a・Ui1
およびA2=a・ui2の関係にある。 従つて、A0=a・Ui0およびA1=a・Ui1の時
にA2=a・Ui2であるかどうかをチエツクすれば
良い。 すなわち、入力A0=a・Ui0とA1=a・Ui1
出力A2′=a・Ui2に変換し、A2とA2′が一致すれ
ば、(A2A1A0Tは単一サブ・ベクトルから成ると
判定する。 また、A2とA2′が一致しなければ(A2A1A0T
は複数のサブ・ベクトルの線形和であると判定す
る。 第2図において、回路14は入力A0およびA1
を出力A2′に変換する回路である。出力A2′はレジ
スタ3の出力A2と比較器15によつて比較され
る。 変換回路14はROM(Reed Only Memory)
などの適切な回路手段によつて実施される。 ROMを用いる場合、入力A0、A1および出力
A2は、それぞれmビツトであるから、22m語×m
ビツトの容量のROMが必要である。 比較器15は入力A2′とA2が一致した時に限り
出力信号(一致信号)を論理1にする。回路15
の出力信号は、ゲート回路17にゲート信号を供
給する。誤りパターンeiは、次のように求められ
る。n−1−i回のシフトでシンドロームA3
A0は式(4)および(5)すなわちA3=ei+ejUp3、A2
ejUp2A1=ejUp1およびA0=ejUp0となる。 従つて、A0=ejUp0およびA1=ejUp1からA3′=
ejUp3を求め、ej=A3+A3′により誤りパターンを
求めることができる。同様な方法で誤りパターン
ejを求めることができる。 第2図において、回路13は入力A0=aUi0
A1=aUi1を出力A3′=aUi3に変換する。 回路13はROMなどの適切な回路手段によつ
て実施でき、ROMを用いる場合には、22n語×m
ビツトの容量のROMが必要である。 排他的OR回路16は回路13の出力A3′と、レ
ジスタ4の出力A3の排他的ORをとることによつ
て誤りパターンe=A3+A3′を出力する。誤りパ
ターンe=A3+A3′は、前記比較回路15の出力
信号(一致信号)によりゲート回路17を介して
ゲートされる。回路17でゲートされた誤りパタ
ーンe=A3+A3′は、排他的OR回路19を介し
てバツフア・メモリ18の出力バイトに含まれる
誤りを訂正する。 以下においてROMを用いる場合の回路13お
よび14の構成方法について説明する。 第3図は原始多項式P(X)=X4+X+1を法
とするガロワ体GF(2m)の要素0およびαi(i=
0〜14)とバイナリ・パターンの対応を示す図で
ある。 第3図のように、例えば、α12はα12=(1111)
である。第4図は前式(2)の生成多項式G(X)=
X4+α12X3+α4X2+X+α6により構成されるバリ
テイ検査行列の要素Uijを示す図である。(第4図
は前式(3)のバリテイ検査行列を単に縦に並べかえ
たものである。)第5図は第2図の回路14を
ROMで実施する場合のROMのアドレス入力と
出力の関係を示す図である。図のようにアドレス
入力A0=a・Ui0、A1=a・Ui1は出力A2′=a・
Ui2に変換される。 例えば、i=5とすると、第4図よりU50
α4、U51=α1、U52=α7であるから、A0=a・α4
およびA1=a・α1は、A2′=a・α7に変換され
る。ここで例えばa=α9とすると、A0=α9・α4
=α13=(1011)、A1=α9・α1=α10=(1100)は
A2′=α9・α7=α16=α1=(0100)に変換される。 すなわち、ROMのアドレス・ロケーシヨンA0
=(1011)およびA1=(1110)に出力データA2′=
(0100)を格納しておけば良い。他のアドレス・
ロケーシヨンに格納する出力データも同様に求め
ることができる。 第6図は第2図の回路13をROMで実施する
場合のROMのアドレス入力と出力な関係を示す
図であり、具体的なアドレスと出力の対応は、前
記の方法で求めることができ、これ以上の説明は
要しない。 以上のように本発明は比較的少ない回路でもつ
て高速に2重バイト誤りを訂正できるので、本発
明の目的を十分に達成できる。
【図面の簡単な説明】
第1図は符号化回路のブロツク図、第2図は本
発明による2重誤り訂正回路の一実施例を示すブ
ロツク図、第3図はガロワ体GF(2m)の要素αi
バイナリ・パターンの対応表を示す図、第4図は
第3図のガロワ体要素で構成されるバリテイ検査
行列を示す図、第5図はシンドロームA0とA1を、
A2′に変換するための図、第6図はシンドローム
A0とA1をA3′に変換するための図である。 図において、1,2,3,4はレジスタ、5,
6,7,8,16,19は排他的OR回路、9,
10,11,12はβ0,β1,β2,β3乗算回路をそ
れぞれ示す。13,14は変換回路、15は比較
回路、17はゲート回路、18はバツフア・メモ
リをそれぞれ示す。

Claims (1)

  1. 【特許請求の範囲】 1 任意の正整数mで定義されるガロワ体GF
    (2m)の要素βi(0≦i≦3)を係数に有する2重
    バイト誤り訂正符号の生成多項式 G(X)=X4+β3X3+β2X2+β1X+β0 (ここでG(X)は2重バイト誤り訂正符号の生
    成多項式G(X)=(X+1)(X+α)(X+α2
    (X+α3)を展開して得られた多項式で、 (X+1)(X+α)(X+α2)(X+α3) =X4+β3X3+β2X2+β1X+β0である。 αはGF(2m)の原始根で、バイトはmビツトを
    表す。)に従つて、データを符号化して得られた
    符号の誤り訂正回路において、β0、β1、β2および
    β3をフイードバツク係数に有する長さ4バイトの
    シフト・レジスタで構成される多項式割り算回路
    を用いたシンドローム生成回路と、 Xi+4moduloG(X)=Ui3X3+Ui2X2+Ui1X+Ui0
    (ここでi=0、1、……、2m−2でUijはGF
    (2m)の要素)とし、前記シフト・レジスタの4
    バイトの出力を下位から順にそれぞれA0、A1
    A2、A3と表したときに、A0とA1を入力としてA0
    とA1がそれぞれA0=aUi0及びA1=aUi1のときに
    aUi2を出力する第1の変換回路と(ここで、aは
    GF(2m)の任意の要素)、A0とA1を入力として
    A0とA1がそれぞれA0=aUi0及びA1=aUi1のとき
    にaUi3を出力する第2の変換回路と、前記第1の
    変換回路の出力と前記シフト・レジスタの出力
    A2とを比較して一致したときに所定値を出力す
    る比較回路と、前記第2の変換回路の出力と前記
    シフト・レジスタの出力A3との排他的OR結果を
    出力する排他的OR回路と、前記比較回路の出力
    が所定値のときに前記排他的OR回路の出力を出
    力するゲート回路とから構成されることを特徴と
    する2重バイト誤り訂正回路。
JP57135312A 1982-08-03 1982-08-03 2重バイト誤り訂正回路 Granted JPS5927354A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57135312A JPS5927354A (ja) 1982-08-03 1982-08-03 2重バイト誤り訂正回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57135312A JPS5927354A (ja) 1982-08-03 1982-08-03 2重バイト誤り訂正回路

Publications (2)

Publication Number Publication Date
JPS5927354A JPS5927354A (ja) 1984-02-13
JPH0373902B2 true JPH0373902B2 (ja) 1991-11-25

Family

ID=15148785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57135312A Granted JPS5927354A (ja) 1982-08-03 1982-08-03 2重バイト誤り訂正回路

Country Status (1)

Country Link
JP (1) JPS5927354A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3837293A1 (de) * 1988-11-03 1990-05-17 Emitec Emissionstechnologie Verbundhohlkoerper

Also Published As

Publication number Publication date
JPS5927354A (ja) 1984-02-13

Similar Documents

Publication Publication Date Title
US4525838A (en) Multibyte error correcting system involving a two-level code structure
US4099160A (en) Error location apparatus and methods
US4494234A (en) On-the-fly multibyte error correcting system
US4856003A (en) Error correction code encoder
US5715262A (en) Errors and erasures correcting reed-solomon decoder
US5537429A (en) Error-correcting method and decoder using the same
US4958349A (en) High data rate BCH decoder
US7278085B1 (en) Simple error-correction codes for data buffers
US4504948A (en) Syndrome processing unit for multibyte error correcting systems
US5872799A (en) Global parity symbol for interleaved reed-solomon coded data
US5856987A (en) Encoder and decoder for an SEC-DED-S4ED rotational code
EP0233075B1 (en) Method and apparatus for generating error detection check bytes for a data record
US5778009A (en) Dedicated ALU architecture for 10-bit Reed-Solomon error correction module
WO2000057561A1 (en) Pipelined high speed reed-solomon error/erasure decoder
JPS61500097A (ja) 代数ブロックコ−ドのためのエラ−訂正
JPS63244935A (ja) 誤り検出訂正方法とシステム
JPS6273336A (ja) マルチバイト・エラ−訂正方法及びシステム
WO1989004091A1 (en) Soft decision reed-solomon decoder
JPH0380727A (ja) データストリームのフレーム同期検出方法及び装置
US4841300A (en) Error correction encoder/decoder
WO2000010256A1 (en) Decoding method for correcting both erasures and errors of reed-solomon codes
JP3989558B2 (ja) GF(2▲上w+i▼)のシンボルの(w+i+1)ビット表現を用いる変形リードソロモンエラー訂正システム
EP0753942A2 (en) Word-wise processing for reed-solomon codes
JPH0661872A (ja) 通信システム
US7461329B2 (en) Channel encoding adapted to error bursts