JPS6217256B2 - - Google Patents

Info

Publication number
JPS6217256B2
JPS6217256B2 JP57006441A JP644182A JPS6217256B2 JP S6217256 B2 JPS6217256 B2 JP S6217256B2 JP 57006441 A JP57006441 A JP 57006441A JP 644182 A JP644182 A JP 644182A JP S6217256 B2 JPS6217256 B2 JP S6217256B2
Authority
JP
Japan
Prior art keywords
error
intermediate information
symbol
circuit
information
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
JP57006441A
Other languages
English (en)
Other versions
JPS58123144A (ja
Inventor
Yukihiro Okada
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 Home Electronics Ltd
Original Assignee
NEC Home Electronics 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 NEC Home Electronics Ltd filed Critical NEC Home Electronics Ltd
Priority to JP57006441A priority Critical patent/JPS58123144A/ja
Publication of JPS58123144A publication Critical patent/JPS58123144A/ja
Publication of JPS6217256B2 publication Critical patent/JPS6217256B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's

Description

【発明の詳細な説明】
本発明はリード・ソロモン符号を用いた誤り訂
正復号方式に関する。 リード・ソロモン符号はランダム誤りを訂正す
るための現在知られている最も強力な誤り訂正符
号の1つである。 リード・ソロモン符号に関しては米国のノー
ス・ホーランド・パブリツシング カンパニイ
(NORTH−HOLLAND PUBLISHING
COMPANY)から1978年に発行されたエフ・ジ
エー・マツクウイリアム(F.J.MACWILIAM)
エヌ・ジエー・エイ・スローン(N.J.A.
SLOAN)著ザセオリイ オブ エラーコレクテ
イング コーズ(THE THEORY OF ERROR
CORRECTING CODES)に詳述されている。 この符号は、巡回符号の一種であるためにその
符号化に関しては、よく知られた巡回符号の符号
器を用いて比較的簡単に実現できるが、その復号
に関しては一般的な従来の方法を用いると装置が
非常に複雑になるという欠点を有している。 本発明の目的は従来のこのような欠点を除去す
るにある。 本発明の方式は、 M個(但しMは正の整数)の1次多項式の積で
できる生成多項式から生成される符号長N(但し
NはMよりも大きい正の整数)のリード・ソロモ
ン符号を受信して該受信符号に対するM個のシン
ドロームS0,S1,……,SM-1を演算し該シンド
ロームをもとに該受信符号内に1シンボルの誤り
を検出したらその誤りを訂正するとともに、2シ
ンボルの誤りを検出したらその誤りを訂正して該
受信符号を出力し、3シンボル以上の誤りを検出
したら受信符号とともに、誤りを検出情報を出力
する方式において、 前記シンドロームS0,S1,……,SM-1より予
め設定された演算によつて定まるM−1個の中間
情報を演算する中間情報演算手段と、前記中間情
報各各全てが“0”か否かを判定する中間情報オ
ールゼロ判定手段と、 前記中間情報のうち少なくとも1個の“0”の
中間情報が含まれるか否かを判定する中間情報ゼ
ロ検出手段と、前記中間情報よりM−2個の中間
情報比を演算する中間情報比演算手段とこれらの
情報がすべて等しいか否かを判定する中間情報比
比較手段と、 前記中間情報演算手段より生成可能なシンボル
位置と前記中間情報オールゼロ判定手段の出力と
に応答して予め定めたアルゴリズムに従つて1シ
ンボルの誤り訂正を実行すべきか否かを決定し、
訂正を行なう場合には前記シンボル位置が誤りシ
ンボル位置に対応するため、そのシンボルに対
し、前記シンドロームS0を誤り情報として誤り訂
正を実行する1シンボル誤り訂正手段と、 前記中間情報演算手段より生成可能なシンボル
位置と、前記中間情報ゼロ検出手段の出力と前記
中間情報比比較手段の出力とに応答して予め定め
たアルゴリズムに従つて2シンボルの誤り訂正を
実行すべきか否かを決定し、訂正を行なう場合に
は前記シンボル位置が2シンボルの誤り位置の1
個iに対応し、前記中間情報比演算手段の出力が
他の1個のシンボル誤り位置jに対応することに
より前記誤りシンボル位置i,jを利用して前記
指定された各シンボル位置i,jに対する誤り訂
正に使用すべき情報を演算する2シンボル誤り訂
正手段とを含む。 第1図は本発明の一実施例を示すブロツク図で
ありこの実施例では、 1……シンドローム演算回路、2……シンドロ
ーム演算制御回路、3……シンドローム記憶回
路、4……中間情報M0演算回路、5……中間情
報M1演算回路、6……中間情報M2演算回路、7
……中間情報比演算回路、8……中間情報比比較
回路、9……中間情報オールゼロ判定回路、10
……中間情報ゼロ検出回路、11……誤り訂正情
報Ei、Ej演算回路、12……シンドロームオー
ルゼロ判定回路、13……訂正実行制御論理回
路、14……誤り訂正実行回路 により構成される。 さて、このブロツク図に従つて本実施例の動作
の詳細を説明する前にまずその動作原理を先に説
明する。 一般に、リード・ソロモン符号においては、N
個のシンボルが1符号ブロツクを構成し、この1
符号のブロツク中にM個の検査用シンボルと、N
−M個の情報伝達用シンボルとが含まれる。ここ
で用いられる各シンボルには種種あるが、本実施
例では、一般に広く用いられている8ビツトの符
号ベクトルと仮定する。また、説明を具体的にす
るために、1符号ブロツク中のシンボルの数(符
号長)N−32とし、また1符号ブロツク中の検査
用シンボルの数M=4と仮定する。従つて1符号
ブロツク中の情報伝達データ用シンボルの数は、
N−M=28となる。 さて、1符号ブロツク中の32個の各シンボルを
B0,B1,B2,B3,B4,……,B31 で表わすことにする。任意のBjは1バイトの符
号であり、従つて、28=256個の元の中の1つの
元を表わしている。また、この中のシンボルB4
〜B31の28個が情報伝達データ用シンボルで、残
りのB0〜B3がこのB4〜B31をもとにして作られた
検査用シンボルであると仮定する。 さて、リード・ソロモン符号においては、符号
化の過程において、検査用シンボルB0〜B3は情
報伝達データ用シンボルB4〜B31との間で次の拘
束関係を満足するように作られる。すなわち、
【表】 この(1)式においては、各シンボルの記号Bj
ほかに、記号αが用いられ、また+で結ばれた和
の演算と、α同志間の積(αの冪)およびαの冪
とBjとの積の演算が用いられている。このαは
特定のシンボルを代表し、また上述の和および積
も一般の2進数の和および積とは異なる特別の演
算を意味する。以下これについて説明する。 上述のように、本実施例ではBjもαもともに
8ビツトの“1”、“0”符号でできている符号ベ
クトルとする。従つて、いずれも28=256個の元
の中の1つの元を表わしている。 さて、この256個の中から任意の2つの元Aと
Bとを選び、この2つの元の和で指定される元A
+Bおよび2つの元の積で指定される元ABのい
ずれも、もとの256個中の1つの元になると仮定
してその各各を次のように定義する。 和:第2図に示すように元Aおよび元Bを符号
ベクトルの形で表示し、各桁(各次元)ごとの排
他的論理和をとつた結果生ずる符号ベクトルをA
+Bと定義する。和の演算がこのように定義され
るために2個の同じ元の和は常に“0”(各次元
の成分がすべて“0”の符号ベクトル)となり、
また、和の逆算としての差の演算は和の演算と同
じになるという著るしい結果を生ずる。 積:例えば第3図1に示すような元Aおよび元
Bがあると、これをxの多項式表現 A=1+x2+x3+x5 B=x2+x4 とし、この多項式の積ABを AB=(1+x2+x3+x5)(x2+x4)=x2+( x4+x4)+x5+x6+(x7+x7)+x9 のように作る。この中でxの同じ冪乗の項は、符
号ベクトルの同じ桁(次元)に対応するので、上
述の排他的論理和の規制を適用して整理すると上
式は、 AB=x9+x6+x5+x2 となる。この多項式はxの7乗以上の項(すなわ
ちx9の項)を含むので、このままではこれに対応
する8ビツトの符号ベクトルを指定することがで
きない。 そこで、積を定義する場合には、それに伴つて
8次のある既約多項式(x)を予め定めてお
き、これを用いて以下のように定義する。 この(x)を (x)=x8+x5+x3+x+1 と仮定すると、この(x)を用いて前記AB多
項式を割算し、その結果生ずる剰余を作る。こう
すると、剰余は必らずxの7次またはそれ以下の
次数の多項式となるので、これに対応する8ビツ
トの符号ベクトルが存在する。これを積ABcと定
義する。今の場合、上述のABの多項式を
(x)で除した商は、xとなり、剰余は x5+x4+x となる(この演算においても前述の排多的論理和
の規則が適用されて、引き算と足し算は同じであ
る)。これより AB=x5+x4+x となり、これを符号ベクトルで表示すると第3図
2に示すようになる。 以上のように、8次の既約多項式(x)を指
定すると、それに応じて256個の各元の間で、和
および積が定義され、またその逆算としての差お
よび商も定義され、256個の元の中で4則演算が
矛盾なく行なわれる。 さて、前記既約多項式(x)を適当に選ぶこ
とにより、前記256個の元の中の“0”(すべての
桁の成分が“0”の元)を除く256個のすべての
元を、ある元αの冪乗の形で表わすことができ
る。すなわち、1を単位元とし、これにつぎにα
を乗ずることによつて生ずる元、α、α、α
、……、α255は前記“0”を除くすべての元
を一巡してα255で再び単位元1に戻るようにす
ることができる。 実際に、前記既約多項式(x)として、 (x)=x8+x5+x3+x+1 を用い、αとして多項式表現のxを用いると、
255のすべての元はαj(但しj=0、1、2、
……、255)として表わすことができる。但しα
=α255=1である。このαを原始元と呼び、
またこのような性質を有する多項式(x)を原
始多項式と呼ぶ。このような性質をもつ8次の原
始多項式は、上述のものを含んで16個あることが
知られている。本実施例においては、この16個の
中の特定の一つの原始多項式によつて元の間の演
算が定義されていると仮定し、またこれによつて
定義される前記原始元αを用いることにする。こ
の結果0を除く任意の元は、αj(但しj=0、
1、2、……、254)で表現され、従つて、任意
の元は、指数jだけでも指定することができる。
これを元の指数表現と呼ぶことにする。この指数
表現を用いると、“0”を除く任意の2つの元の
積は、各各の元の指数表現をとり、この両者を
255を法として加えることにより両者の積の指数
表現として簡単に演算することができる。もし一
方の元に“0”が含まれる場合には結果の元を
“0”とすればよい。また、商を作る場合には、
分母になる元の指数表現の2進数を、その各桁の
“1”“0”を反転してから前述と同様に255を法
として加えればよい。 勿論、2つの元の和を演算する場合には、符号
ベクトルの表現を用いると簡単に行なうことがで
きる。 このように、各元は、αの冪乗でも、αの指数
表現でも、符号ベクトル表現としても、また多項
式表現としても指定することができる。これらの
中のいずれの表現を用いるほかは、その使用目的
によつて最も適当なものを選ぶことができる。 さて、こうして(1)式の演算は定義されたが、実
際に、任意の情報伝達データ用シンボルB4〜B31
から(1)式の拘束条件を満足する検査用シンボル
B0〜B3を生成するには次のようにする。 今、生成多項式g(X)として、 g(X)=(X−1)(X−α)(X −α)(X−α) を定義し、一方符号多項式C(X)として C(X)=B31X31+B30X30+……+B4X4 を定義する。このC(X)をg(X)で除した剰
余の多項式をR(X)とし、R(X)はXに関す
る3次またはそれ以下の多項式となるので、 R(X)=b3X3+b2X2+b1X+b0 と表わせる。こうして定まるb3,b2,b1およびb0
をそれぞれ検査用シンボルB3,B2,B1およびB0
として用いると、これらは次のような理由で(1)式
の拘束条件を満す検査用シンボルとなつている。 今、C(X)をg(X)で除した商をQ(X)
と書くと、C(X)=g(X)Q(X)+R(X)
となり、これら、C(X)+R(X)=g(X)Q
(X)が導かれる(この場合もR(X)を引くこ
とはR(X)を加えることと同じである)。従つ
てC(X)+R(X)はg(X)で割り切れて、 B31X31+B30X30+……+B4X4+B3X3+B2X2+B1X+B0=(X−1)(X−α)(X −α)(X−α)Q(X) が成立する。上式の両辺のXに、それぞれ1、
α、αおよびαをつぎつぎに代入することに
よつて、(1)式の関係が導かれる。 なお、生成多項式g(X)が与えられると、上
述の割算を実行して、B4〜B31のシンボルからB0
〜B3のシンボルを生成する巡回符号の符号器の
構成を決定することも容易であるがここでは省略
する。 さて、上述のようにして送信側で作られた(1)式
の拘束条件を満す符号ブロツクB0,B1,B2,…
…,B31を受信し、それらがB0,B1,B2,……,
B31として受信されたとする。そしてこれらの中
の2つのシンボルBi,Bjにだけ誤りが生じたと
仮定する。すなわちi,j以外のKに対しては Bk=Bk ……(2) が成立し、Bi,Bjに対しては Bi=Bi+Ei ……(3) Bj=Bj+Ej ……(4) とする。但し、Ei、Ejはそれぞれi、j番目の
シンボルに起つた誤り情報とする。 さて、受信側において、受信シンボルB0
B1,……B2,……,B31を用いて(1)式の各式の左
辺に相当する演算を行ない、その結果をそれぞれ
S0S1S2S3とする。すなわち、
【表】 とする。もし、受信に全く誤りがなければ、(5)式
の左辺は(1)式の左辺と全く同じになり、従つて、
S1〜S3はすべて“0”になる。受信に誤りがある
と(5)式の各左辺に相当する演算結果は一般に0で
ないそれぞれの値S0,S1,S2、およびS3をとるこ
とになる。これをシンドロームという。本実施例
は、このシンドロームS0〜S3を用い、送信側で一
ブロツク内のシンボル間に加えた(1)式の拘束演算
関係から誤り分を求めてこれを訂正する方式であ
る。 さて、(2)式、(3)式、(4)式の関係を(5)式に代入
し、(1)の関係を用いると、結果は次のようにな
る。
【表】 この(6)式を変形すると、次の3個の式が導かれ
る。
【表】 ここで αiS0+S1=M0 αiS1+S2=M1 αiS2+S3=M2 とおくと(7)式の関係より次の式が導かれる。 M/M=M/M(=αj) ……(8) したがつて、2シンボルの誤りを仮定した場合
には(8)式を満足するような、前記誤りシンボル位
置i値が必ず存在する。その結果、M1/M0もし
くはM2/M1の演算結果より前記誤りシンボル位
置jが求められる。 また、前記誤りシンボル位置i,jに対する誤
り情報Ei、Ejは(6)式より求めることができ次の
2個の式で表わされる。
【表】 α+α
求められた誤り情報Ei、Ejおよび誤りシンボ
ル位置i,jより(3)式、(4)式を用いて2シンボル
の誤り訂正を実行することができる。 さて、1シンボルの誤りの場合であるが、その
誤りシンボル位置をiとすると、(7)式においてE
j=0とおくことにより次の3つの式を得る
【表】 すなわち前記2シンボルの誤りを訂正する過程
において(10)式の関係を満足した場合、それは1シ
ンボルの誤りであることに他ならない。 その時、誤りシンボル位置iに対する誤り情報
iは次の式で表わすことができる。 Ei=S0 ……(11) したがつて(3)式より1シンボルの誤り訂正を実
行することができる。 次に第1図を用いて本実施例の動作の詳細を説
明する。 受信された入力信号の符号ブロツクは、データ
入力ライン100より、各シンボルがB31,B30
……,B0の順序で、シンドローム演算回路1に
供給される。それと共にまた誤り訂正実行回路1
4に供給される。 回路1においてまず前記(5)式に対応する演算が
実行されて、シンドロームS0,S1,S2およびS3
求められる。上記シンドロームS0〜S3を求める回
路例を第4図に示す。 第4図においてスイツチSW1およびSW2はAの
位置に接続しておく。(Bの位置に接続された場
合は後述する。)この回路は、1段のシフトレジ
スタ30,31,32,33、読み出し専用メモ
リ(ROM)25,26,27,28,29、お
よび排他的論理和回路21,22,23,24、
から成り立つている。シフトレジスタ30,3
1,32,33および回路21,22,23,2
4はそれぞれ8ビツト分を並列に処理する。ま
た、ROM25,26,28は同一のROMであり
ROM25は、シフトレジスタ30の出力(8ビ
ツト)でアドレス指定され、ROM26はシフト
レジスタ31の出力(8bit)でアドレス指定され
る。同様にROM27,28とROM29はそれぞ
れシフトレジスタ32,33でアドレス指定され
る。各々のROMは256のメモリアドレスを有し、
各メモリアドレス当り8ビツトのデータを格納で
きる容量を有する。S1を求める回路を例にとると
シフトレジスタ31の出力により指定される
ROM26のメモリアドレスからデータが読み出
され、回路22により入力データとの排他的論理
和がとられ、これがシフトレジスタ31に読み込
まれる。任意の8ビツトの2進数A′で指定され
るROM26のメモリアドレスにαA′(但しα
A′はこの2進数A′に対応する符号ベクトルと原
始元αとの積とする)を書き込んでおくと、
ROM26はα倍の乗算器として動作する。かく
て、最初にシフトレジスタ31をリセツトし、入
力データを前述のよいうにB31,B30,……,B0
順序で次次に回路22を介して入力すると、B0
が入力された時点で、シフトレジスタ31の内容
は、 (……((B31α+B30)α+B29)α+…… +B1 α+B0=α31B31+α30B30+……+αB1 +B0=S1 となり、求めるシンドロームS1となる。ROM2
6の内容を、上述のαのかわりにαおよびα
に相当するものとすることにより、同様な回路を
用いてそれぞれシンドロームS2およびS3を演算す
る回路が得られ、またROM26を除きシフトレ
ジスタ31の内容をそのまま回路22にフイード
バツクするような構成にすれば、シンドロームS0
を演算する回路が得られる。 かくして得られたシンドロームS0〜S3は、シン
ドローム記憶回路3、シンドロームオールゼロ判
定回路12に供給され、回路3により記憶された
S0は前記(11)式のEiとして訂正実行制御論理回路
13に供給され、また前記(9)式をに対応する演算
を行なうために誤り情報Ei、Ej演算回路11に
供給される。 また回路3により記憶されたシンドロームS1
S2,S3は、それぞれ中間情報M0演算回路4、中
間情報M1演算回路5、中間情報M2演算回路6に
供給される。さて回路4,5,6における中間情
報M0,M1,M2の演算であるが、シンドローム演
算回路1においてシンドロームS0〜S3演算後、こ
れに含まれる第4図のスイツチSW1,SW2をBの
位置に接続することによつて行なわれる。また、
データ入力ライン100は“0”とし、再びシン
ドロームS0〜S3の演算と同様にしてシンドローム
演算制御回路2により与えられるシフトクロツク
によりシフトレジスタSR0〜SR3をシフトして演
算させる。回路2はシンドロームS0〜S3演算後の
シフトクロツク数iを出力ライン106に出力す
るものとする。ROM25,26,28は全てα
倍の乗算器として動作するためシフトクロツク数
iの時のシフトレジスタ30,31,32はそれ
ぞれαiS0、αiS1、αiS2で表わされる演算結果を
出力することになる。ここでシフトレジスタ3
0,31,32の出力はそれぞれライン101,
102,103を介して回路4、回路5、回路6
に供給される。 回路4,5,6は排他的論理和回路であり回路
4において αiS0+S1(=M0) が演算され回路5において αiS1+S2(=M1) が演算され回路6において αiS2+S3(=M2) が演算され中間情報M0、M1、M2を求めることが
できる。 次に前記中間情報M0、M1、M2は(8)式に対応す
る演算を行なうために中間情報比演算回路7に供
給される。回路7における(8)式のM1/M0、M2
M1を演算するための回路例を第5図に示す。供
給された中間情報M0は、読み出し専用メモリ
ROM40によりM0 -1をαkを満足するk(0、
1、2………255の自然数に変換される。ROM4
0は256のメモリアドレスを有し、各メモリアド
レスごとに1バイトの容量を有するが、任意の2
進数A″で指定されるメモリアドレスにはA″=αb
の関係をもつbの補数を格納しておくことにより
上述のM0→kへの変換が実行される。一方供給
された中間情報M1は、読み出し専用メモリROM
41により、M1=αlなる関係を満足する指数値
lに変換される。ROM41はROM40と同様な
容量を有し、任意の8Bitの2進数A″で指定され
るメモリアドレスにA″=αbなる関係を有するb
を格納しておくことによつて、M1→lの変換を
実行することができる。 こうして、M0 -1が指数表現に変換されたk
と、同じくM1が指数表現に変換されたlとを
MOD255加算器44に供給することにより(8)式の
中のM1/M0の指数表現j′を得ることができる。
なお、MOD255は255を法とする加算器である。
また(8)式の中のM2/M1の指数表現j″も同様にし
て演算することができる。例えばj″を演算する場
合にM1 -1の指数表現が必要になるが、これは
ROM41で求めたM1の指数表現lの各ビツトを
インバータ43を用いて反転すれば容易に得られ
る。そしてROM41、インバータ43、ROM4
2、およびMOD255加算器45を用いてM2/M1
の指数表現j″が得られる。 かくして、回路7のクロツクを全く用いない静
的演算回路によつてM0、M1、M2からM1/M0
M2/M1の指数表現j′,j″を迅速確実に得ること
ができる。これらの中間情報比j′,j″は第1図に
おける中間情報比比較回路8に供給される。それ
と共にj′(j″でもよい)が訂正実行制御回路13
にライン107を介して供給される。 回路8は供給されたj′およびj″の値が一致する
か否かを検出する回路である。 前記(7)、(8)、(9)式から明らかなように、誤りシ
ンボルが2個の場合には上述のようにして求めら
れた誤りシンボル位置に相当するjの値つまり
j′とj″は一致する。 従つてこの場合には回路8は一致出力をライン
110を介して訂正実行制御回路13に供給する
ことになる。この時2個の誤り情報Ei、Ejを回
路13に供給する回路が誤り情報Ei、Ej演算回
路11であり前記(9)式に対応する演算を行なう回
路である。すなわち中間情報比演算回路7より、
指数表現に変換されたαiS0+S1(=M0)の演算結
果が供給され、シンドローム記憶回路3よりライ
ン105を介してS0が供給され、また中間情報比
演算回路7より中間情報比M1/M0(これはM2
M1でもよい)の指数表現j′がライン107を介し
て供給され、シンドローム演算制御回路2より回
路1においてシンドロームS0〜S3演算後に入力さ
れたシフトクロツク数iがライン106を介して
供給され演算が実行される。 誤り情報Ei、Ej演算回路11の回路例を第6
図に示す。 供給されたシフトクロツク数iは読み出し専用
メモリROM51により指数表現から符号ベクト
ルαiの変換が行なわれるすなわちROM51に任
意の8bitのデータA″に対しメモリアドレスA″に
αA″=B″で指定される符号ベクトルB″を格納す
ることにより上述の変換を行なうことができる。
ROM52もROM51と同様のROMであり、供
給された指数表現j′より符号ベクトルαj′に変換
するものである。符号ベクトルαi,αj′は排他
的論理和回路55によりαi+αj′の演算が実行
される。 ROM53は前述の第5図におけるROM41,
42と同一のROMであり供給されたαi+αj′の
符号ベクトルを指数表現に変換する。 回路7より指数表現されたM0=(αiS0+S1
と、同じく指数表現されたαi+αj′とをMOD255
加算器57に供給しMOD255加算を行なうと(9)式
におけるEjの指数表現を得ることができる。 これを誤り情報Ejとして出力するためには、
ROM54により指数表現→符号ベクトルの変換
を行なうことにより可能である。ROM54は
ROM51,52と同一のものである。誤り情報
iは(9)式より供給されたシンドロームS0とEj
を排他的論理和回路56に供給し演算することが
できる。このように誤り情報Ei、Ejは回路2が
出力するiに対して即時に演算されていく。 さて、前述の中間情報M0、M1、M2は、中間情
報オールゼロ判定回路9に供給される。この回路
9はM0、M1、M2の全ての中間情報が“0”の場
合オールゼロ信号をライン108を介して訂正実
行制御論理回路13に供給する。 また、中間情報M0、M1、M2は、中間情報ゼロ
検出回路10に供給される。この回路10は、
M0、M1、M2の中に1個でも“0”の中間情報が
含まれると、これを検出し、そのゼロ検出信号を
ライン109を介して回路13に供給する。 一方前述のようにシンドロームS0〜S3はシンド
ロームオールゼロ判定回路12に供給される。こ
の回路12はS0〜S3の全てのシンドロームが
“0”の場合シンドロームオールゼロ信号をライ
ン117を介して回路13に供給する。 さて、訂正実行制御回路13は、以上のように
して供給された諸入力信号を用い、下記のような
制御動作により誤り訂正の実行を制御する。 まず、回路12の出力117にシンドロームオ
ールゼロ信号が出力された場合、すなわちシンド
ロームS0〜S3が全て“0”の場合には、他の諸入
力信号の如加にかかわらず誤りが無いものとして
誤り訂正を実行しない。また後段の回路に供給す
るためのエラーフラグ出力200にこの符号ブロ
ツクに誤りが無いという信号を出力する。 次に、シンドローム演算制御回路2においてシ
ンドロームS0〜S3演算後に発生するシフトクロツ
ク数iの時点で中間情報オールゼロ判定回路9の
出力108に中間情報M0、M1、M2が全て“0”
であるという信号が発生し回路13に供給された
場合、回路13は前記(10)式の関係より1シンボル
の誤りであることを判定しまた、その時のシフト
クロツク数iが誤りシンボルの位置であるから上
記iをライン115を介して誤り訂正実行回路1
4に供給する。また、誤り情報Eiは前記(11)式の
関係から明らかなようにシンドロームS0に他なら
ない。このS0は回路13に供給されているため、
これを情報Eiとしてライン113を介して1シ
ンボルの誤り訂正を実行するように回路14を制
御する。また、この場合には、エラーフラグ出力
200に1シンボルの誤りの訂正の結果、この符
号ブロツクには誤りが無いという信号を出力す
る。 次に前述の回路2が出力するシフトクロツク数
iが符号ブロツクを構成するシンボル数(ここで
シンボルB0〜B31の32としている)以下の全て
の正の値において、中間情報オールゼロ判定回路
9より中間情報M0、M1、M2が全て“0”である
という信号が出力されない場合には、この符号ブ
ロツクには2シンボル以上の誤りがあることを判
定し、次の操作を行なう。 回路2から出力されるシフトクロツク数iが前
述のiの範囲、すなわち1≦i≦32の任意の1つ
の値において中間情報比比較回路8より中間情報
比j′,j″が一致したという出力がライン110を
介して供給され、かつ、中間情報ゼロ検出回路1
0より上記の時点で中間情報M0、M1、M2には
“0”を含まないという信号がライン109を介
して、回路13に供給された場合、前記(8)式の関
係より2シンボルの誤りであることを判定する。
そして2個の誤りシンボル位置として前記iと
j′(これはj″でもよい)をそれぞれライン11
5、ライン116を介して誤り訂正実行回路14
に供給する。 また、誤り情報Ei、Ejは誤り情報Ei、Ej
算回路11により演算されているためそれぞれラ
イン113、ライン114を介して回路14に供
給する。 また、この場合エラーフラグ出力200に2シ
ンボルの誤りの訂正の結果、この符号ブロツクに
は誤りが無いという信号を出力する。 次に、前記シフトクロツク数i′において、回路
8よりj,j″の一致信号がライン110を介して
供給され、回路10より中間情報M0、M1、M2
少なくとも1個の“0”が含まれているという信
号が供給された場合、回路7において演算された
中間情報比j′,j″は全く意味が無いものである。 すなわち、回路7において前記(8)式の演算を行
なうために、第5図に示したように符号ベクトル
→指数表現への変換をROM40,41,42に
より実行しているが、符号ベクトルが“0”の場
合、指数表現が不可能であり、ROM40,4
1,42のメモリアドレス“0”にはそれぞれ無
意味な指数表現C′,C″,Cが格納されている
ため、それらのC′,C″,Cを使用して演算さ
れた中間情報比j′,j″も全く意味が無いものとな
る。 したがつてこの場合のシフトクロツク数i′、お
よびj′は誤りシンボル位置を示していないことは
明らかであり、誤り訂正を実行しないように制御
する。 前述の、1シンボル誤りに対する諸入力の条件
と2シンボル誤りに対する諸入力の条件、および
誤りが無い場合の諸入力の条件のいずれも満足さ
れない場合には、(1)、(5)、(6)、(7)、(8)、および(10
)
式の関係より誤りの数が2個以下(0を含む)で
あるという条件が成立しないことは明らかであり
る。従つてこの場合には誤りの訂正を行なわず、
またこの符号ブロツク中に誤りが含まれることを
エラーフラグ出力200に出力する。 さて、誤り訂正実行回路14は、データ入力1
00より入力する1符号ブロツク分のシンボル
B31,B30,……,B0をつぎつぎのシンボル位置に
格納するバツフアを有する。1シンボルの誤り訂
正の場合は、このように格納されたシンボルの中
の前記誤りシンボル位置指定数情報iにより指定
される位置のシンボルBiに対し、供給された前
記誤り情報Ei(S0)を排他的論理和を用いて加算
することにより誤り訂正を実行する。同様に、2
シンボルの誤り訂正の場合には前述のように格納
されたシンボルの中の前記誤りシンボル位置指定
情報iおよびj′により指定される位置のシンボル
iおよびBj′に対し、供給された前記誤り情報
iおよびEjを排他的論理和を用いて加算するこ
とにより誤り訂正を実行する。かくして誤り訂正
された後各シンボルは出力300として前記エラ
ーフラグ出力200と共に後段の回路に供給され
る。 以上の実施例においては、説明を具体的にする
ために、符号長Nとして32、1符号ブロツク中
の検査用シンボルの数Mとして4、さらに各シン
ボルのビツト数Kとして8で構成されるようなリ
ード・ソロモン符号を用いる場合について詳述し
たが、本発明の方式はN、MおよびKの値がこれ
らに限られるものでないことは明らかである。ま
た、使用した諸回路についての回路例も実現する
ための例を示したもので、何もこれに限られるも
のではない。 以上のように、本発明を用いると、Nシンボル
で1個のブロツクをなすリード・ソロモン符号内
に生じた1個あるいは2個の誤りを訂正し3シン
ボル以上の誤りを検出したらエラーフラグを出す
方式において、検査用シンボル数M個までのすべ
てのシンドロームの情報を有効に利用し、かつ、
簡潔な回路構成により目的を達成する信頼性の高
い復号方式を提供することができる。これにより
信頼性、経済性の向上を達成できる。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロツク図、
第2図は本実施例で用いる和の演算を説明するた
めの図、第3図1は本実施例で用いる演算の符号
多項式を説明するための図、第3図2は本実施例
で用いる積の演算を説明するための図、第4図は
本実施例のシンドローム演算回路の内部回路例を
示す図、第5図は本実施例の中間情報比演算回路
の内部回路例を示す図、第6図は誤り情報Ei
j演算回路の内部回路例を示す図である。 図において、1……シンドローム演算回路、2
……シンドローム演算制御回路、3……シンドロ
ーム記憶回路、4……中間情報M0演算回路、5
……中間情報M1演算回路、6……中間情報M2
算回路、7……中間情報比演算回路、8……中間
情報比比較回路、9……中間情報オールゼロ判定
回路、10……中間情報ゼロ検出回路、11……
誤り情報Ei、Ej演算回路、12……シンドロー
ムオールゼロ判定回路、13……訂正実行制御論
理回路、14……誤り訂正実行回路、30,3
1,32,33……シフトレジスタ、21,2
2,23,24,55,56……排他的論理和回
路、25,26,27,28,29,40,4
1,42,51,52,53,54……読み出し
専用メモリ(ROM)、44,45,57……255
を法とする加算器(MOD255加算器)、43,4
6……インバータ。

Claims (1)

  1. 【特許請求の範囲】 1 M個(但しMは正の整数)の1次多項式の積
    でできる生成多項式から生成される符号長N(但
    しNはMよりも大きい正の整数)のリード・ソロ
    モン符号を受信して該受信符号に対するM個のシ
    ンドロームS0,S1,……,SM-1を演算し該シン
    ドロームをもとに該受信符号内に1シンボルの誤
    りを検出したらその誤りを訂正するとともに、2
    シンボルの誤りを検出したらその誤りを訂正して
    該受信符号を出力し、3シンボル以上の誤りを検
    出したら、受信符号とともに誤り検出情報を出力
    する方式において、 前記シンドロームS0,S1,……,SM-1より予
    め設定された演算によつて定まるM−1個の中間
    情報を演算する中間情報演算手段と、前記中間情
    報各各全てが“0”か否かを判定する中間情報オ
    ールゼロ判定手段と、 前記中間情報のうち少なくとも1個の“0”の
    中間情報が含まれるか否かを判定する中間情報ゼ
    ロ検出手段と、前記中間情報よりM−2個の中間
    情報比を演算する中間情報比演算手段と、これら
    の情報比がすべて等しいか否かを判定する中間情
    報比比較手段と、 前記中間情報演算手段より生成可能なシンボル
    位置と前記中間情報オールゼロ判定手段の出力と
    に応答して予め定めたアルゴリズムに従つて1シ
    ンボルの誤り訂正を実行すべきか否かを決定し、
    訂正を行なう場合には前記シンボル位置が誤りシ
    ンボル位置に対応することによつて、そのシンボ
    ルに対し、前記シンドロームS0を誤り情報として
    誤り訂正を実行する1シンボル誤り訂正手段と、 前記中間情報演算手段より生成可能なシンボル
    位置と前記中間情報ゼロ検出手段の出力と前記中
    間情報比比較手段の出力とに応答して予め定めた
    アルゴリズムに従つて2シンボルの誤り訂正を実
    行すべきか否かを決定し、訂正を行なう場合には
    前記シンボル位置が2シンボルの誤り位置の1個
    iに対応し、かつ前記中間情報比演算手段の出力
    が他の1個のシンボル誤り位置jに対応すること
    により前記誤りシンボル位置i,jを利用して前
    記指定された各シンボル位置i,jに対する誤り
    訂正に使用すべき誤り情報を演算する2シンボル
    誤り訂正手段とを含むことを特徴とするリード・
    ソロモン符号復号方式。
JP57006441A 1982-01-18 1982-01-18 リ−ド・ソロモン符号復号方式 Granted JPS58123144A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57006441A JPS58123144A (ja) 1982-01-18 1982-01-18 リ−ド・ソロモン符号復号方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57006441A JPS58123144A (ja) 1982-01-18 1982-01-18 リ−ド・ソロモン符号復号方式

Publications (2)

Publication Number Publication Date
JPS58123144A JPS58123144A (ja) 1983-07-22
JPS6217256B2 true JPS6217256B2 (ja) 1987-04-16

Family

ID=11638484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57006441A Granted JPS58123144A (ja) 1982-01-18 1982-01-18 リ−ド・ソロモン符号復号方式

Country Status (1)

Country Link
JP (1) JPS58123144A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6077529A (ja) * 1983-10-05 1985-05-02 Nippon Gakki Seizo Kk デ−タ誤り検出・訂正回路
JPS60217735A (ja) * 1984-04-13 1985-10-31 Nec Home Electronics Ltd リ−ドソロモン符号・復号方式の誤り位置決定回路
JP2545823B2 (ja) * 1987-02-12 1996-10-23 株式会社日立製作所 エラ−検出装置
EP0329789B1 (en) * 1987-06-30 1995-02-08 Matsushita Electric Industrial Co., Ltd. Galois field arithmetic unit
JPS63317837A (ja) * 1987-10-09 1988-12-26 Sanyo Electric Co Ltd データ処理装置

Also Published As

Publication number Publication date
JPS58123144A (ja) 1983-07-22

Similar Documents

Publication Publication Date Title
EP0114938B1 (en) On-the-fly multibyte error correction
EP0249982B1 (en) Decoder
JPH10112659A (ja) 誤り訂正復号装置
KR19980027920A (ko) 에러 정정 방법 및 장치
JPS6217256B2 (ja)
JPH10112660A (ja) リード・ソロモン符号を利用した誤り復号方法および装置
JP3343857B2 (ja) 復号装置、演算装置およびこれらの方法
US5666369A (en) Method and arrangement of determining error locations and the corresponding error patterns of received code words
JP3614978B2 (ja) ガロア体の除算方法および除算装置
JPH08265173A (ja) 誤り訂正符号の符号器及び復号器
JPH10322226A (ja) リードソロモン復号方法
JP3850512B2 (ja) リードソロモン復号装置
JPH06230991A (ja) 有限体での任意元素の逆数算出方法及び装置
JPH0133055B2 (ja)
JPH0969836A (ja) Crc符号生成回路およびcrc符号生成回路設計方法
JPS6150416B2 (ja)
JP3223513B2 (ja) 誤り訂正復号装置
JPS6034136B2 (ja) リ−ド・ソロモン符号復号方式
JP2008112522A (ja) 誤り検出装置および誤り検出方法
JPS6221137B2 (ja)
JPH0778748B2 (ja) ガロア体演算ユニット
EP0458285A1 (en) Error location and error pattern calculation circuit
JPH08139612A (ja) リード・ソロモン誤り訂正符号復号化回路
KR950008485B1 (ko) 단일에러정정용 리드-솔로몬 복호기
JP2752510B2 (ja) 誤り訂正復号器