明 細 書
淇り訂正符号化装置及び方法、 並びに誤り訂正復号化装 fiS及び方法 術分野
本発明は、 誤り訂正符号化装 及び方法、 並びに誤り IT正復号化装置及 び方法に関する。 特に、 ディジタル記録装置やディジタル通信装置等によつ て、 ディ ジタルデータの記録又は再生、 もしくは、 送信又は受信を行う際 に、 ディジタルデータにおける誤りを訂正する誤り盯正符号を符号化する ための誤り訂正符号化装置及び方法、 並びに、 誤り訂正符号を復号化する ための誤り訂正復号化装置及び方法に関するものである。
背景技術
近年、 ディジタル記録装置やディジタル通信装置の発達に伴い、 ディジ タルデータを記録又は再生する塌合、 もしくは、 送信又は受信する場合に おいて、 ディジタルデータの誤りを如何に少なくするかは、 重要な課題と なっている。 そこで、 ディジタルデータの誤りを訂正するために、 誤り訂 正符号がディジタルデータを取り扱う各種の装 で用いられている。 リ一 ド · ソロモン符号も、 そのような誤り訂正符号の一種であって、 主として、 例えば、 相変化を利用する PDドライブュニッ 卜などのディジタル記録装 置に用いられている。
リード · ソロモン符号は、 符号語が、 元の数が 2 Nであるガロア体 GF (2N) の元から構成され、 なを GF (2N) の原始元としたとき、 生成多 項式が次式で表される多元の巡回ハミング苻号である。
G (X) = (X一な0) (Χ- 1) - CX- 6-2 - (1) ただし、 式 (1) を含めて、 以後、 演算は全てガロア体 GF (2N) 上 で行う。 また、 dは最小符号間距離を表す。
リード · ソロモン苻号の符号語は以下のように生成する。
情報語べク トル Iを次式で表すと、
情報多項式 I (X) は
I (X) = " · X 1 + i , - Xk- 2十… + i 2 ' X+ i - (3) と表すことができる。 ただし、 i 0, i ,, ···, i k-,はそれぞれ惰報シン ボルであり、 情報の元となるビッ トデータについて、 Nビッ トを 1かたま りとして、 ガロア体 GF (2つ 上の元をベク トル表現したものと対応づ ける。
そして、 符号多項式 A (X) は、 情報多項式 I (X) と生成多項式 G (X ) から次式を用いて求めることができる。
A (X) =1 (X) · G (X) … (4) しかしながら、 得られる符号は組織符号にならない。 そこで、 次のよう に符号語を作成する。
まず、 情報多項式 I (X) に Xn_kをかけ、 それを G (X) で割り、 そ の商を Q (X) 、 剰余を R (X) とすると、
I (X) - Xn"k=Q (X) - G (X) +R (X) … (5) と表わすことができる。 ここで、
A (X) =R (X) + I (X) · Χη→ … (6) とおくと、 式 (5) より
A (X) =Q (X) · G (X) … (7) が成立する。 式 (7) によって求められた A (X) は生成多項式 G (X) で割りきれるので、 符号多項式になる。 符号多項式 R (X) を
R (X) - r。 · Xn 1 + r , · Xn-k-2 +…十 - 2 · X十
… (8) で表わすと、 式 (6) で表される符号多項式 A (X) は
A (X) = i o · X"-^ i i · X 2十…
+ i κ- 2 · X"-k + ,+ i K · Xn-k
+ rn-い i · Χη·い1 +rn - 2· Χη- 2十… + 7^ · Χ+ r 0
… (9) と表される。 式 (9) の符号多項式で表される符号語をべク トル表現で表 記すると
A= i o. …- i k-i, r o, r ,, …, 10) となり、 式 (10) で表される符号語べク トル Αは、 情報語べク トル Iを そのまま含んでいるから、 組織符号であることがわかる。 この場合、 符号 語べク トル Aは (n, k)組織符号である。 符号語を作成する際に、 情報 語べク トルに付加するべク トル R、 つまり
R= (r0. r!. ···, r„-k -!) … (11) はパリティ語べク トルである。
以上のように生成する符号を、 リード · ソロモン符号 RS (n, k, d = n-k+ 1) と謇く。
図 12にリード · ソロモン符号を用いた従来技術の誤り訂正符号化装置 の一例を示す。 この回路は、 ガロア体 GF (2N) の係数を有する多項式 の除算を行うものである。 図 12において、 誤り訂正符号化装置は、
(a) 8ビッ ト排他的論理和演算器 195乃至 206と、
(b) ガロア体上の係数 k12乃至 を有する係数乗算器 1 Ί 1乃至 18 2と、
(c) 8ビッ トラツチ 183乃至 194と、
( d ) リセッ ト時に 8ビッ トラッチ 183乃至 194の内容を 0にクリア して初期化する初期値設定回路 207とを備える。
当該誤り訂正符号化装置において、 入力データは、 排他的論理和演算器
206の第 1の入力端子に入力され、 排他的論理和演算器 206の出力端 子から出力されるデータは、 係数乗算器 171を介してラッチ 183に入 力されるとともに、 各係数乗 g器 1 Ί 2乃至 183を介してそれぞれ排他 的論理和演算器 195乃至 205に入力される。 さらに、 ラッチ 183乃 至 194と、 排他的論理和演算器 195乃至 206とは、 交互に配置され かつ、 データがラツチ 183からラツチ 194に向かって伝送されるよう に縱铳接続される。
次に、 図 12の誤り IT正符号化装置を用いて実際に 8ビッ トを 1シンポ ルとしたリード ' ソロモン符号 RS (32, 20, d = 13) を符号化す る場合を説明する。
ただし、 原始多項式 m (X) と、 原始元ひと、 生成多項式 G (X) はそ れぞれ以下のように定義する。
m (X) =Χβ + Χ4 + Χ3 + Χ2+1 - (12) α= (00000010) - C13)
G (X)
11
= Π (X -な i)
i = 0
=k】 · Xn+kz · X10 +— +k„ · X + k12 - (1 ) ただし、 式 (14) の k!から k】2は、 生成多 ¾式0 (X) を展開して、 Xの降べきの順に並べたときの、 X11から X。にかかる係数を表す。
第 1の入力データである第 1の惰報シンボル i。。0が排他的論理和演算 器 206に入力されると、 第 1の惰報シンボル i。00と、 8ビッ トラッチ 194の出力データである 00Hとの排他的論理和が演算され、 演算結果 のデータがガロア体係数乗算器 171乃至 182に入力される。 ここで、
00Hの Hは、 16進数表示を表わし、 以下同様である。 この場合におい て、 ガロア体係数乗算器 171乃至 182に入力されるデータを d。00と すると、 第 1の情報シンボル i。00とデータ 00Hとの排他的論理和であ るデータ d00oは、 次式で表わすことができる。
Q ooo= 1 000 "·' (15) これは、 図 13において、 列番号 R 1でかつステップ S 101の 3行分 にある演算に対応する。 次に、 ガロア体係数乗算器 171乃至 182が、 入力データ d oDoとそれぞれの係数 k ! 2乃至 とのガロア体上の穰を出力 する。 これらの積は、 図 13における列番号 R13から R 2まででかつス テツブ S 101の 2行目にあるデータに相当する。
次に、 ガロア体係数乗寞器 171乃至 182の出力データがそれぞれ 8 ビッ トラツチ 183乃至 194に格钠される。 ここで、 各ラッチ 183乃 至 194に格納されるデータをそれぞれ p。D0から Pin,とすると、 これら のデータ値は、 図 13において列番号 R13から R 2まででかつステップ S 101の 3行分にある演算を行った結果に対応する。 ただし、 図 13に おける加算記号は排他的論理和演算を表し、 以下、 演算 E ORは排他的論 理和演算を表す。
次に、 第 2の入力データである第 2の情報シンボル i α«πが排他的論理 和演算器 206に入力されると、 第 2の情報シンボル i。01と、 8ビッ ト ラッチ 194の出力データである Pm】との排他的論理和が演算され、 演 算結果のデータがガロア体係数乗算器 171乃至 182に入力される。 こ の場合、 ガロア体係数乗算器 171乃至 182に入力されるデータを d00
1とすると、 第 2の情報シンボル i DIMとデータ Pm!との排他的論理和で あるデータ d D0 iは次式で表わすことができる。
dDoi = 1 ooi + Poii … (丄 6 )
これは、 図 13において、 列番号 R 2でかつステップ S 101の 3行分 にある濱算に対応する。 次に、 ガロア体係数乗算器 171乃至 182は、 入力データ d001と、 各係数 2乃至 とのガロア体上の積を出力する。 これらの稜は、 図 13における列番号 R 14から R3まででかつステップ S 102の 2行目にあるデータに対応する。
次に、 ガロア体係数乗算器 171乃至 182の出力データがそれぞれ 8 ビッ トラッチ 183乃至 194に格納される。 各ラッチ 183乃至 194 に格納されるデータを P C 1 2から P。23とすると、 これらのデータ値は、 図
13において列番号 R 14から R 3まででかつステップ S 102の 3行分 にある演算を行った結果に対応する。
以下、 同様に、 情報シンボル i。02から愫報シンボル i。19を排他的論理 和澳算器 206に入力していくと、 図 13に示す演算が続けられ、 最後に、 情報語 (i ooo. ioo>. -. i cie) を生成多項式 (式 (14) ) で割つ た余りであるパリティ語 (ρ 22 β, Ρ 229. -, ρ 23 β) がそれぞれ、 8ビッ トラツチ 183乃至 194に格納される。 今まで入力した情報シンボル i
000, 1 001. …, 1 019の続きに、 最後に得られたハリティシンボル P 228.
P 229> ···, P 236を付加すると、 符号語 ( 1 000. 1 001 , ···, 1 01 . P 2 28, P 22Θ. ···· P 239) が C成- S -too
しかしなから、 S112に示すような誤り訂正符号化装置では、 ガロア体 上の係数乗算器 171乃至 182はそれぞれ複雑な回路を有しているため、 最小符号間距離の長い符号を符号化する場合、 大規模な回路となる。 また、 図 12に示すような誤り訂正符号化装置では、 装置の構成を変えずに最小 符号間距離を変更することは、 困難である。 装置の構成を変えずに最小符 号間距離の変更を行うためには、 装置の構成を変えずにガロア体上の係数 乗算器の係数を変更可能にすることと、 装置の構成を変えずに除算回路の
ループを変更できる回路にする必要があり、 それらを実現するには、 さら に複雑な回路になる。
本発明の第 1の目的は以上の問題点を解決し、 実用に値する符号化速度 を持ちながら、 従来技術に比較して小規模な回路構成で実現可能であると ともに、 装置の構成を変えずに最小符号間距離 dを自由に変更可能な誤り 訂正符号化装置及び方法を提供することにある。
本発明の第 2の目的は、 実用に値する復号化逨度を持ちながら、 従来技 術に比較して小規模な回路構成で実現可能であるとともに、 装置の構成を 変えずに最小符号間距離 dを自由に変更可能な誤り訂正復号化装置及び方 法を提供することにある。
発明の開示
本発明に係る誤り訂正符号化装匿によれば、 2 Nの元の数を有するガロ ァ体 G F ( 2 N) 上の元を有するリード · ソロモン符号を用いて、 1 シン ボル当たり自然数 Nビッ トの入力データに対する誤り訂正符号を符号化す る誤り訂正符号化装置において、
各入力データと上記リード · ソロモン符号の生成多項式の各係数とのガ ロア体上の複数の種データをそれぞれ予め演算して、 上記複数の積データ を、 各ァドレスに対して複数 b個の穰データを 1組として予め記憶する穫 データ記 ¾手段と、
それぞれ N x bビッ 卜の記悚容量を有する自然数 m個の記憶装置からな る m iの記悌手段と、
入力データに応答して、 上記積データ記憶手段に記億された複数の穣デ 一夕を、 復數 b個の積データを 1組として並列に銃み出すように上記積デ 一夕記憶手段を制御する読み出し制御手段と、
それぞれ N x bビッ トの第 1と第 2の入力端子を有し、 上記読み出し制
御手段によつて上記積データ記憶手段から並列に読み出される複数 b個の 積データが第 1の入力端子に入力され、 上記第 1の入力端子に入力される データと、 上記第 2の入力端子に入力されるデータとの排他的論理和を演 箕して演算結果のデータを出力する排他的論理和澳算手段と、
上記 m個の記慷装置に記悚されたデータを 1つの記憶装置毎に選択的に 順次読み出して出力し、 上記選択的に読み出して出力される N x bビッ 卜 のデータのうち上位 N x ( b— 1 ) ビッ トのデータを上記排他的論理和演 算手段の第 2の入力端子の下位 N x ( b— 1 ) ビッ トに出力するとともに、 上記排他的論理和演算手段から出力される演算結果のデータを、 上記 m個 の記憶装置のうちの 1つに選択的に順次切り換えて害き込むように、 上記 第 1の記憶手段を制御する第 1の選択手段と、
Nビッ 卜の記慷容量を有し、 上記第 1の選択手段によって上記 m個の記 憶装置のうちの 1つから選択的に出力される N x bビッ 卜のデータのうち 下位 Nビッ トのデータを一時的に記使して上記排他的論理和演算手段の第 2の入力端子の上位 Nビッ 卜に出力する第 2の記憶手段と、
上記入力データを上記稷データ記憶手段に順次入力することにより、 上 記第 1の記慷手段の m個の記慷装置においてパリティデータを生成し、 上 記入力データに続いて、 上記 m個の記憧装慝を 1つの記慷装置毎に選択的 に順次切り換えることにより、 上記 m個の記使装置において生成される各 パリティデータを順次出力する第 2の選択手段とを備えたことを特徴とす る。.
また、 上記誤り訂正符号化装置において、 好ましくは、 上記読み出し制 御手段と、 上記第 1の選択手段と、 上記第 2の選択手段とは、 別の記憶装 置に記億された所定のプログラムを実行する中央演算制御装置によって構 St 3れる。
また、 本発明に係る誤り訂正復号化装置によれば、 2 Nの元の数を有す るガロア体 G F ( 2 N) 上の元を有するリード ' ソロモン符号を用いて、 1 シンボル当たり自然数 Nビッ 卜の入力データに対して符号化された誤り 訂正符号を復号化する誤り訂正復号化装置において、
上記入力データと、 上記入力データに対するパリティデータとを含む複 数の受信シンボルからなり、 入力される受信語を各受信シンボル毎に記憶 する受信語記憶手段と、
上記誤り訂正符号化装置を備え、 上記リード · ソロモン符号の生成多項 式を用いて、 上記入力される受信語に対する剰余を演算して出力する剰余 演算手段と、
上記剰余演算手段から出力される剰余に基づいて、 上記受信語における 誤り位置と、 上記誤り位 Sに対応する誤り数値との組を演算して出力する 誤り数値及び誤り位置演算手段と、
上記誤り数値及び誤り位置演算手段から出力される上記受信語における 誤り位置に基づいて、 上記受信語記慷手段に記憶された上記誤り位置にお ける受信シンボルを上記受信語記憶手段から読み出して出力する読み出し 制御手段と、
上記読み出し制御手段から出力される上記誤り位置における受信シンボ ルと、 上記誤り数値及び誤り位置演算手段から出力される、 上記誤り位置 に対応する誤り数値との排他的論理和を演算して、 演算桔果のデータを出 力する排他的論理和演算手段と、
上記排他的論理和演算手段から出力される演算結臬のデ一夕を、 上記受 信語記憶手段の上記誤り位置に窨き込むことにより、 上記誤り位置におけ る受信シンボルを訂正する香き込み制御手段とを備えたことを特徴とする。 さらに、 本発明に係る誤り訂正符号化方法によれば、 2 Nの元の数を有
するガロア体 G F ( 2 N) 上の元を有するリード . ソロモン符号を用いて、 1シンボル当たり自然数 Nビッ 卜の入力データに対する誤り訂正符号を符 号化する誤り訂正符号化方法において、
各入力データと上記リード ' ソロモン符号の生成多項式の各係数とのガ ロア体上の複数の積データをそれぞれ予め演算して、 上記複数の積データ を、 各ァドレスに対して複数 b個の積データを 1組として積データ記憶手 段に予め記憶するステップと、
入力データに応答して、 上記積データ記憶手段に記慷された複数の積デ 一夕を、 複数 b個の積データを 1組として並列に読み出すように上記積デ ータ記憶手段を制御するステップと、
それぞれ N x bビッ 卜の第 1と第 2の入力端子を有する排他的論理和演 算手段を用いて、 上記積データ記憶手段から並列に読み出される複数 b個 の稜データが第 1の入力端子に入力され、 上記第 1の入力端子に入力され るデータと、 上記第 2の入力端子に入力されるデータとの排他的論理和を 演算して演算結果のデータを出力するステップと、
それぞれ N X bビッ トの記悚容量を有する m個の記憶装置の第 1の記憶 手段に記慷されたデータを 1つの記億装置毎に選択的に順次読み出して出 力し、 上記選択的に銃み出して出力される N x bビッ 卜のデータのうち上 位 N x ( b— 1 ) ビッ トのデータを上記排他的論理和演算手段の第 2の入 力端子の下位 N x ( b— 1 ) ビッ トに出力するとともに、 上記排他的論理 和演算手段から出力される演算結果のデータを、 上記 m個の記悚装置のう ちの 1つに選択的に順次切り換えて書き込むように、 上記第 1の記慷手段 を制御するステップと、
Nビッ 卜の記懞容量を有する第 2の記憶手段を用いて、 上記 m個の記慷 装置のうちの 1つから選択的に出力される N x bビッ トのデータのうち下
位 Nビッ トのデータを一時的に記憶して上記排他的論理和演算手段の第 2 の入力端子の上位 Nビッ トに出力するステップと、
上記入力データを上記積データ記憶手段に順次入力することにより、 上 記第 1の記慷手段の m個の記憶装置においてパリティデータを生成し、 上 記入力データに铳いて、 上記 m個の記億装置を 1つの記憶装置毎に選択的 に順次切り換えることにより、 上記 m個の記憶装置において生成される各 パリティデータを順次出力するステップとを含むことを特徴とする。
またさらに、 本発明に係る誤り訂正復号化方法によれば、 2 Nの元の数 を有するガロア体 G F ( 2 N) 上の元を有するリード . ソロモン符号を用 いて、 1 シンボル当たり自然数 Nビッ 卜の入力データに対して符号化され た誤り訂正符号を復号化する誤り訂正復号化方法において、
上記入力データと、 上記入力データに対するパリティデータとを含む複 数の受信シンボルからなり、 入力される受信語を各受信シンボル毎に受信 語記憶手段に記億するステップと、
上記誤り訂正符号化方法により、 上記リード, ソロモン符号の生成多項 式を用いて、 上記入力される受信語に対する剰余を演算して出力するステツ ブと、
上記出力される剰余に基づいて、 上記受信語における誤り位置と、 上記 誤り位置に対応する誤り数値との組を演算して出力するステップと
上記出力される上記受信語における誤り位置に基づいて、 上記受信語記 憧手段に記悚された上記誤り位置における受信シンボルを上記受信語記憶 手段から読み出して出力するステップと、
上記出力される上記誤り位置における受信シンボルと、 上記出力される、 上記誤り位置に対応する誤り数値との排他的論理和を演算して、 演算結果 のデータを出力するステップと、
上記出力される演算桔果のデータを、 上記受信語記慷手段の上記誤り位 置に香き込むことにより、 上記誤り位置における受信シンボルを訂正する ステップとを含むことを特徴とする。
図面の簡単な説明
図 1は、 本発明に係る第 1の実施形態の誤り訂正符号化装置のプロック 図である。
図 2は、 図 1の誤り訂正符号化装置の動作を示すタイミ ングチャートで あ 0
図 3は、 本発明に係る第 2の実施形態の誤り訂正符号化装置のプロック 図である。
図 4は、 図 4の誤り訂正符号化装置において m= 3としたときのブロッ ク図である。
図 5は、 図 3の誤り訂正符号化装 の CPU61によって実行される符 号化処理を示すフローチヤ一トである。
図 6は、 図 5のサブルーチンである初期化処理 (ステップ S 1) を示す フローチヤ一トである。
図 7は、 図 5のサブルーチンである符号語生成処理 (ステップ S 2) を 示すフローチヤ一トである。
図 8は、 図 7のサブルーチン処理 P 1 (ステップ S7) を示すフローチヤ 一トである。
は、 図 7及び図 8のサブルーチン処理 P 2 (ステップ S 23, S3 5) を示すフローチヤ一トである。
図 10は、 図 8のサブルーチン処理 P 3 (ステップ S37) を示すフロ 一チヤ一トである。
図 11は、 図 7のサブルーチン処理 P 4 (ステップ S 24) を示すフロ
一チヤ一トである。
図 12は、 従来技術の誤り訂正符号化装置のブロック図である。
図 13は、 図 12の誤り訂正符号化装置においてリ一ド · ソロモン符号 RS (n. n— 12, d = 13 ) の計算方法を説明するための図である。 図 14は、 図 12の誤り訂正符号化装置においてリード · ソロモン符号 RS (n. n-5, d = 6) の計算方法を説明するための図である。
図 15は、 本発明に係る第 3の実施形態の誤り訂正復号化装置のプロッ ク図である。
発明を実施するための最良の形態
以下、 本発明に係る実施形態について図面を参照して説明する。
<第 1の実施形態〉
本発明に係る笫 1の実施形態について、 図面を参照しながら説明する。 第 1の実施形態では、 8ビッ トを 1シンボルとしたリード · ソロモン符号 RS (32. 20. d= 13) を符号化する埸合を説明する。 ただし、 原 始多項式 m (X) 、 原始元 α、 生成多項式 G (X) はそれぞれ式 (12) 、 式 (13) 、 式 (14) のように定義する。
図 1は、 本発明に係る第 1の実施形態の誤り訂正符号化装置の稱成を示 すブロック図である。 この第 1の実施形態の誤り ΓΓ正符号化装置は、
(a) 8ビッ トラツチ 12, 27と、
(b) 4進カウンタ 13と、
(c) ROM (読み出し専用メモリ) 14と、
(d) 8ビッ ト排他的論理和演算器 11. 15. 16. 17. 18と、
(e) 32ビッ トバス選択器 19. 23と、
(f ) 32ビッ トラッチ 20. 21. 22からなるキューメモリ 30と、
(g) 入力データ "1" をデコードしてパルス信号を出力するデコーダ 2
4と、
(h)入力データ "2" をデコードしてパルス信号を出力するデコーダ 2 5と、
(i)入力データ "3" をデコードしてパルス信号を出力するデコーダ 2 6と、
( j ) 入力データ "0" をデコー ドしてパルス信号を出力するデコーダ 2 8と、
(k) 2ビッ トラツチ 29と、
( 1 ) 3個のシンボル遅延回路 301乃至 303からなる遅延回路 300
(m) 8ビッ ト出力データ選択器 310とを備える。
図 1の誤り訂正符号化装置において、 8ビッ 卜の入力データは、 排他的 論理和演算器 11の第 1の入力端子に入力されるとともに、 出力データ選 択器 310の d接点を介して出力データとして出力される。 排他的論理和 演算器 18の出力端子からの出力データは、 排他的論理和澳算器 11の第 2の入力端子に入力される。 一方、 クロック CLKは、 4進カウンタ 13 と、 ラッチ 29及び 27に入力される。 4進カウンタ 13は、 入力される クロック CLKを計数し、 かつ計数値が 4となると 0にリセッ 卜し、 その 計数値の 2ビッ トのデータを、 ラツチ 29を介して上位 2ビッ トのァドレ スとして ROM14のァドレス端子に出力するとともに、 選択信号として バス選択器 19. 23及びデコーダ 20, 21. 22, 28に出力する。 ここで、 2ビッ トラッチ 29は、 4進カウンタ 13の計数値の 2ビッ トデ 一夕を、 クロック CLKの立ち下がりのタイミングでラツチする。
デコーダ 28は、 4進カウンタ 13の出力データが "0" の値を示した とき、 クロック C LKの半周期の時間だけ遅れてク πック C LKの半周期
の幅を有するパルス信号をラッチ 27に出力する。 また、 デコーダ 24は、 4進カウンタ 13の出力データが "1" の値を示したとき、 クロック CL Kの半周期の時間だけ遅れてクロック CLKの半周期の幅を有するパルス 信号をラッチ 20に出力する。 さらに、 デコーダ 25は、 4進カウンタ 1 3の出力データが "2" の値を示したとき、 クロック CJLKの半周期の時 間だけ遅れてクロック C LKの半周期の幅を有するパルス信号をラツチ 2 1に出力する。 またさらに、 デコーダ 26は、 4進カウンタ 13の出力デ 一夕が "3" の値を示したとき、 クロック CLKの半周期の時間だけ遅れ てクロック C L Kの半周期の幅を有するパルス信号をラツチ 22に出力す る。
ここで、 8ビッ トラッチ 12は、 排他的論理和演算器 11からの 8ビッ トデータを、 デコーダ 26からのパルス信号のクロック CLKの立ち上が りのタイミングでラッチして ROM14に下位 8ビッ 卜のァ ドレスとして 出力する。 ROM14には、 べク トル表現の入力シンボルに対して所定の 係数をガロア体上で乗算した桔果がべク トル表現で予め格納されている。 入力データはァドレスの下位 8ビッ トとして与え、 ァドレスの上位 2ビッ トは係数を切り替えるために用いる。 ROM14のデータ端子からの 32 ビッ トの出力データは、 4個の排他的論理和演算器 15乃至 18の第 1の 入力端子に入力され、 その出力端子から出力される 32ビッ 卜のデータは、 32ビッ トバス選択器 19の入力端子に入力される。 また、 排他的論理和 澳算器 18から出力される 8ビッ トの出力データは排他的論理和演算器 1 1の第 2の入力端子に入力される。
ここで、 32ビッ トバス選択器 19, 23はそれぞれ、 8ビッ トバス 4 本分を連動して 4回路に切り替えるバス選択器である。 32ビッ 卜バス選 択器 19. 23は、 選択信号が " 0" のとき最下位置の d接点に切り換え
られて、 バス:!択器 1 9の入力端子及びバス選択器 2 3の出力端子はそれ ぞれオープン状態となる。 また、 3 2ビッ トバス選択器 1 9 , 2 3は、 選 択信号が " 1 " のとき最上位置の a接点に切り換えられて、 バス選択器 1 9の入力端子は 3 2ビッ トラツチ 2 0の入力バスに接続されるとともに、 バス選択器 2 3は 3 2ビッ トラツチ 2 0の出力バスに接続される。 さらに、 3 2ビッ トバス選択器 1 9. 2 3は、 選択信号が " 2 " のとき最上から 2 番目の位置の b接点に切り換えられて、 バス選択器 1 9の入力端子は 3 2 ビッ トラツチ 2 1の入力バスに接続されるとともに、 バス選択器 2 3は 3 2ビッ トラツチ 2 1の出力バスに接続される。 またさらに、 3 2ビッ トバ ス選択器 1 9, 2 3は、 選択信号が " 3 " のとき最上から 3番目の位置の c接点に切り換えられて、 バス選択器 1 9の入力端子は 3 2ビッ トラツチ 2 2の入力バスに接続されるとともに、 バス選択器 2 3は 3 2ビッ トラッ チ 2 2の出力バスに接続される。
バス選択器 2 3から出力される 3 2ビッ 卜の出力データのうち上位 2 4 ビッ トのデータは、 排他的論理和演算器 1 7 . 1 8 , 1 9の第 2の入力端 子に入力され、 バス選択器 2 3から出力される 3 2ビッ トの出力データの うち下位 8ビッ トめデータは、 8ビッ トラツチ 2 7を介して、 排他的論理 和演算器 1 5の笫 2の入力端子に入力される。 ここで、 8ビッ トラッチ 2 7は、 入力される 8ビッ 卜のデータを、 クロック C L Kの立ち上がりの夕 ィミングでラツチした後、 排他的論理和演算器 1 5の第 2の入力端子に出 力し、 デコーダ 2 8からのパルス信号に応答して、 ラッチしているデータ を 0にクリアする。
3 2ビッ トラツチ 2 0から出力される 3 2ビッ 卜の出力データはシンポ ル遅延回路 3 0 1に入力され、 シンボル遅延回路 3 0 1は、 入力される 3 2ビッ 卜のデータのうち
( a ) 上位 8ビッ トデータを、 バス選択器 3 1 0の a接点から出力される 惰報シンボルの後に、 遅延することなく 8ビッ 卜バス選択器 3 1 0の b接 点を介して出力データとして出力し (以下、 この出力データの出カタイミ ングを基準出力タイミングという。 ) 、
( b ) 次の上位 8ビッ 卜データを上記基準出カタイミ ングから 1シンボル (= 1バイ ト == 8ビッ 卜) だけ遅延した後、 8ビッ トバス選択器 3 1 0の b接点を介して出力データとして出力し、
( c ) 次の上位 8ビッ トデータを上記基準出力タイミングから 2シンボル だけ遅延した後、 8ビッ 卜バス選択器 3 1 0の b接点を介して出力データ として出力し、
( d ) 次の下位 8ビッ トデータを上記基準出力タイミングから 3シンボル だけ遅廷した後、 8ビッ トバス選択器 3 1 0の b接点を介して出力データ として出力する。
また、 3 2ビッ トラツチ 2 1から出力される 3 2ビッ 卜の出力データは シンボル遅延回路 3 0 2に入力され、 シンボル遅延回路 3 0 2は、 入力さ れる 3 2ビッ トのデータのうち
( a ) 上位 8ビッ トデータを上記基準出力タイミングから 4シンボルだけ 遅延した後、 8ビッ 卜バス選択器 3 1 0の c接点を介して出力データとし て出力し、
( b ) 次の上位 8ビッ トデータを上記基準出力タイミングから 5シンボル だけ遅延した後、 8ビッ トバス選択器 3 1 0の c接点を介して出力データ として出力し、
( c ) 次の上位 8ビッ トデータを上記基準出力タイミングから 6 シンボル だけ遅延した後、 8ビッ トバス選択器 3 1 0の c接点を介して出力データ として出力し、
( d ) 次の下位 8ビッ トデータを上記基準出力タイミ ングから 7シンボル だけ遅延した後、 8ビッ トバス選択器 3 1 0の c接点を介して出力データ として出力する。
さらに、 3 2ビッ トラッチ 2 2から出力される 3 2ビッ 卜の出力データ はシンボル遅延回路 3 0 3に入力され、 シンボル遅延回路 3 0 3は、 入力 される 3 2ビッ 卜のデータのうち
( a ) 上位 8ビッ トデータを上記基準出力タイミングから 8シンボルだけ 遅延した後、 8ビッ トバス選択器 3 1 0の d接点を介して出力データとし て出力し、
( b ) 次の上位 8ビッ トデータを上記基準出力タイ ミングから 9シンボル だけ遅延した後、 8ビッ 卜バス選択器 3 1 0の d接点を介して出力データ として出力し、
( c ) 次の上位 8ビッ トデータを上記基準出力タイ ミングから 1 0シンポ ルだけ遅延した後、 8ビッ 卜バス選択器 3 1 0の d接点を介して出力デ一 タとして出力し、
( d ) 次の下位 8ビッ トデータを上記基準出力タイミングから 1 1シンポ ルだけ遅延した後、 8ビッ トバス選択器 3 1 0の d接点を介して出力デ一 タとして出力する。
従って、 当該誤り訂正符号化装置に入力される、 例えば 2 0シンボルの 情報シンボルに統いて、 誤り訂正符号化されラツチ 2 0に格納された 3 2 ビッ ト = 4シンボルのパリティ語と、 誤り訂正符号化されラッチ 2 1に格 納された 3 2ビッ ト = 4シンボルのパリティ語と、 誤り訂正符号化されラッ チ 2 2に格納された 3 2ビッ ト = 4シンボルのパリティ語とが出力データ としてバス:!択器 3 1 0から出力される。
図 2は、 図 1の誤り訂正符号化装置の動作を示すタイミ ングチャー トで
ある。 入力データは 8ビッ 卜で、 クロック C LKの 4個のパルスにつき 1 度入力される。 また、 4進カウンタ 13の初期値は 2に設定され、 8ビッ トラツチ 12, 27、 32ビッ トラッチ 20, 21, 22の初期値は 0に 設定され、 2ビッ トラッチ 29の初期値は 0に設定される。
表 1及び表 2は、 ROM14に記憶されるデータの内容である。 表 1及 び表 2において、 乃至 k】2は式 (14) に示す生成多項式 G (X) の 係数であり、 なは式 (13) に示すガロア体 GF (28) の原始元であり、 積の記号はガロア体上の積を表す。 な n (ここで、 mは 1から 12ま での自然数であり、 nは 0以上の整数である。 ) はどちらもガロア体 GF (28) の元である。 従って、 と との積もガロア体 GF (28) の元 であり、 ベク トル表現を用いると 8ビッ トの数値に対応するので、 その積 の数値データは ROM14に予め格納される。
表 1及び表 2において、 アドレス Ηは、 ROM 14の上位 2ビッ トのァ ドレスであり、 ァ ドレス Lは ROM 14の下位 8ビッ トのァ ドレスである。 また、 b [31, ···, 24] は最上位 8ビッ トの係数データであり、 b [2 3. ···, 16] は次の上位 8ビッ トの係数データであり、 b [15, …, 8] は次の上位 8ビッ トの係数データであり、 b 〔7, ·■·, 0] は最下位 8ビッ トの係数データである。
表 3はガロア体 GF (28)上の元をべク トル表現からべき表現に変換 するための変換表である。 表 3は参考のために記載したものであり、 本実 施形態において直接用いるデータではない。 表 3から明らかなように、 表 1及び表 2に示す ROM 14のァドレス Lのデータ値をべき表現に変換す れば、 そのアドレスに害かれている値の αη (ここで、 ηは 0以上の整数 である。 ) の部分に対応することがわかる。 従って、 ROM14において、 例えばァ ドレス Ηに 0を入力し、 ァ ドレス Lにべク トル表現 (8ビッ ト)
のガロア体 GF (28) の元を入力すると、 ROM14は生成多項式の係 数 k . k . k,0, keとアドレス Lに入力した値のガロア体上の積を 出力することがわかる。
(以下余白)
表
以下、 図 2を参照して図 1の誤り訂正符号化装置における誤り符号化処 理について説明する。
まず、 第 1番目のクロック CLKの立ち下がりと同期するデコーダ 26 の出力パルス信号の立ち上がりにおいて、 32ビッ トバス選択器 19. 2 3は 32ビッ トラツチ 22を選択している。 このとき、 8ビッ 卜排他的論 理和演算器 18の入力データは、 ROM14の出力データの下位 8ビッ ト であるデータ 00Ηと、 32ビッ トラツチ 22の出力データの第 16ビッ
トから第 9ビッ 卜にあたるデータ 00Hであるから、 8ビッ 卜排他的論理 和演算器 18の出力データは 00Hになる。 そのため、 8ビッ ト排他的論 理和演算器 11の入力データは、 8ビッ ト排他的論理和演算器 18の出力 データであるデータ 00 Hと、 入力データ i oとになり、 8ビッ トラッ チ 12にはデータ i。00が格納される。 従って、 図 2のデータ d D0[lは式 (1 5) によって表わすことができる。 これと同時に、 8ビッ トラツチ 27の 出力データと、 ROM14の出力データの上位 8ビッ 卜の排他的論理和の データを 8ビッ ト排他的論理和演算器 15が出力しており、 また 32ビッ トラツチ 22の出力データの上位 24ビッ トと、 ROM 14の出力データ の下位 24ビッ トとの排他的論理和の 24ビッ 卜のデータを gビッ ト排他 的論理和演算器 16, 17, 18が出力している。 従って、 以上の 4個の 8ビッ ト排他的論理和演算器 15, 16, 17, 18の出力データは 32 ビッ トラツチ 22に害き込まれる。 また、 それと同時に 8ビッ トラツチ 2 7には、 以前 32ビッ トラツチ 22に書き込まれていたデータの下位 8ビッ 卜が書き込まれる。 この場合、 8ビッ ト排他的論理和演算器 15. 16. 17. 18の各 8ビッ トの入力データが全て 00Hであるので、 32ビッ トラツチ 22に書き込まれるデータは 00000000Hである。 また、 8ビッ トラッチ 27に香き込まれるデータは 00Hである。 以上の動作の 後に、 ROM14に与えられるァドレスの下位 8ビッ トは d。00になり、 その上位 2ビッ トは "3" になる。 ここで、 ROM 14には表 1に示すよ うなデータか格納されており、 ガロア体上の積の演算をテーブル参照で求 めることができる。 この場合、 ァドレスの上位 2ビッ トは "3" であるの で、 ROM14はそのデータ端子からデータ 00000000Hを出力す る。 従って、 図 2の ROM 14の出力データ A Dを 8ビッ トずつ区切って 表現すると、 次式で表わすことができる。
Ao= (0 OH. 0 OH. 0 OH. 0 OH) - (17) 次に、 第 2番目のクロック CLKの立ち下がりと同期するデコーダ 28 の出力パルス信号の立ち上がりにおいて、 8ビッ トラッチ 27が 0にクリ ァされる。 また、 ROM 14に与えられるア ドレスの下位 8ビッ トはデー タ dD0Dのまま変わらず、 その上位 2ビッ トは '0" になるため、 表 1よ り図 2の ROM 14の出力データ A!は次式で表わすことができる。
Aa = ( k 12 · d 000, k lo♦ d ooo. k 9 - Q o o D)
··· (18) ただし、 積の記号 はガロア体上の積の演算を意味する。
次に、 第 3番目のクロック C LKの立ち下がりと同期するデコーダ 24 の出力信号の立ち上がりにおいて、 32ビッ トバス選択器 19. 23は 3 2ビッ トラッチ 20を選択している。 このとき、 8ビッ トラッチ 27の 8 ビッ 卜の出力データと、 ROM14の出力データの上位 8ビッ 卜の排他的 論理和のデータを 8ビッ ト排他的論理和演算器 15が出力しており、 また 32ビッ トラツチ 20の出力データの上位 24ビッ トと、 ROM14の出 力データの下位 24ビッ 卜との排他的論理和のデータを 8ビッ 卜排他的論 理和演算器 16. 17, 18が出力している。 従って、 以上の 8ビッ ト排 他的論理和演算器 15. 16. 17, 18の 32ビッ トの出力データは、 32ビッ 卜ラッチ 20に害き込まれる。 また、 それと同時に 8ビッ トラッ チ 27には、 以前 32ビッ トラツチ 20にさき込まれていたデータの下位 8ビッ トが書き込まれる。 この場合、 8ビッ トラッチ 27の出力データは データ 00 Hであり、 また 32ビッ トラツチ 20の出力データの上位 24 ビッ トもデータ 000000Hであるので、 32ビッ トラッチ 20に害き 込まれるデータは式 (18) で表されるデータ そのものである。 従つ て、 図 2の 32ビッ トラッチ 20の出力データである (P ooo. οοι. ρ
002, P 003 ) は次式で表わすことができる。
( P 000, P 001 > P 002, P 0 oa)
― ( k 1 2 ' a o o o» k 1 1 · a ooo. k ι o · Q oo o» kg · d ooo)
··· (1 9) また、 8ビッ トラッチ 2 7に窨き込まれるデータはデータ 00 Hである。 上の動作の後に、 ROM1 4に与えられるァドレスの下位 8ビッ トはデ ータ d ooDとなり、 その上位 2ビッ トは "1" になる。 従って、 図 2の R OM 1 4の出力データ A 2は次式で表わすことができる。
A 2 = (ke * α ooo. k 7 · Q ooo> k 6 · d 0oo. k 5 - α。ο。)
… (20) 同様にして、 データ (Ρθ(Μ. Ρ 005. Ρ 006> oo?) は次式で表わすこ とができる。
( P 004. P 005. P 006. P 007 )
= ( k 8 · d ooo. k 7 · a ooo. k 6 · □ ooo. k 5 * a ooo) -.. (2 1ノ また、 ROM1 4の出力データ A 3は次式で表わすことができる。
A3= (k4 · d 000, k3 · d 000. k2 · d ooo. k i · d ooo)
… (22) また、 データ (P 008, P 009. P 01 0. P O i l ) は次式で表わすことがで きる。
( P 008· P 009ι P 01 0· Ρθΐΐ)
= (k * dooo. k 3 · d oo o. k 2 * a o o o. k i · u ooo) ··· ( 3) ただし、 第 5番目のクロック C LKの立ち下がりと同期して 8ビッ トラッ チ 1 2の出力データが変化する。 具体的にはデコーダ 26の出力パルス信 号の立ち上がりにおいて、 32ビッ トバス選択器 1 9, 2 3が 3 2ビッ ト ラッチ 22を選択しているため、 第 1番目のクロック C LKの時と同様に、
8ビッ ト排他的論理和演算器 11の入力データは 8ビッ ト排他的論理和演 算器 18の出力データである P ouと、 入力データ i 001になり、 8ビッ ト ラッチ 12には、 式 (15) で表されるデータ d。。,が格納される。 ただ し、 式 (15) において和の記号はガロア体上の和の演算を意味する。 次に、 第 7番目のクロック CLKの立ち下がりと同期するデコーダ 24 の出力信号の立ち上がりにおける状態を説明する。 このとき、 32ビッ ト バス選択器 19, 23は 32ビッ 卜ラッチ 20を選択している。 上記の処 理と同様に考えると、 8ビッ トラッチ 27の出力データは 00Hであり、 また 32ビッ トラッチ 20の出力データの上位 2 ビッ トは、
( P 000. Ρ οοι, 002)
= (k 12 · □ 000. k n · α οοο- k i ο · α 000) ··· (24) であるので、
( 012. Ρ 013. Ρ 01 . Ρ 01 δ)
= ( k 12 ' d 001. k 11 · d ooi"t" P ooo.
k.10 · d.001 + P 001. k 9 · d 001 + p 002)
= ( k 12 · d 001. k 11 · d 001 + k 12 · d ooo> k 10 ■ d 001
+ k 11 · d 000. k 9 · d ooi + k 10 · d 000) ··· (25) で表されるデータが 32ビッ トラツチ 20に香き込まれる。
また、 32ビッ トラツチ 20の害き込み前のデータ値の下位 8ビッ 卜で あるデータ p。03が同時に 8ビッ トラッチ 27に者き込まれる。 以上の動 作の後に、 ROM14に与えられるァドレスの下位 8ビッ トはデータ d00 jとなり、 その上位 2ビッ トは "1" になる。
従って、 図 2の ROM14の出力データ B2は、 次式で表わすことがで さる。
B 2= ( k 8 · α 001. k 7 · α 001. k 6 · α ooi . k 5 · d ooi )
C26)
(以下余白)
同様にして、 データ (P 016, P 017, P 018. P 019) は次式で表わすこ とができる。
C P 016. P 017. P 018< P 019)
= ^ k β * α 001 + P 003. k 7 · α 001 + p 004.
k β · Q οοι + Ρ οο5. k 5 · α 001 + Ρ οοβ)
= ( k 8 * d 0OJ + k 9 · d 000. k 7 · d 00 I + k 8 · d 000.
k 6 · d 001 + k 7 · d 000. k 5 - d ooi + k 6 - d 000) ·'· (27) また、 ROMl 4の出力データ B 3は次式で表わすことができる。
B 3= (k 4 * d 001. k s * α 001. k 2 · d 001. k 1 · d 001 1
… 28) さらに、 データ (Ρ θ20. P 021. 022. P 023) は次式で表わすこと力 できる。
( 020. P 021. P 022. P 023)
= (k 4 · d 001 + P 007. k 3 ' d 001 + P 008.
k 2 * d 001 + P 009. k 1 · d 001 + P 010)
= (ki ' dooi + ki ' d 000. ks · dooi + k4 · d0oo.
k 2 · d 001 + k 3 · d 000. k j · d 001 + k 2 · d 000) ·■· 〔29) また、 第 9番目のクロック CLKの立ち下がりと同期するデコーダ 26 の出力信号の立ち上がりにおいて、 8ビッ ト排他的論理和演算器 18の出 力データは p 023であるため、 データ d。02は次式で表わすことができ る。.
Q 002= 1 002+ Ρ θ 23= 1 002+ kj · U ooi … ( 0 以上の動作を第 {4x 20+1} 番目のクロック CLKが入力されるま で繰り返すと、 32ビッ トラッチ 20. 21, 22に合計 12シンボルの パリティ語が生成される。 今まで入力した 20シンボルの入力データの惰
報シンボル、 すなわち情報語に、 ここで生成した 12シンボルのパリティ 捂を付加すると、 合計 32シンボルの符号語、 つまり出力シンボル列が完 成する。 従って、 遅延回路 300及び出力データ選択器 310とにより、 20シンボルの情報語に統いて、 12シンボルのパリティ語が 8ビッ 卜ず つパラレルに順次、 誤り訂正符号化された符号語 (=情報語 +パリティ語) の出力データとして出力される。
以上説明したように、 本実施形態では、
(a)情報語である 8ビッ トの入力データに応答して、 生成多項式の各係 数と入力情報シンボルのガロア体上の複数の積データをそれぞれ演算して、 各ァドレスに対して 4個の積データを 1組として記憶し、 4個の積データ を 1組として並列に (同時に) 排他的論理和演算器 15乃至 18に対して 読み出し可能に構成された積データ記憶手段である 32ビッ ト ROM 14 と、
(b) 第 1の記憶手段である 3個の 32ビッ トラッチ 20. 21, 22と、
(c) 第 2の記憶手段である 8ビッ トラツチ 27と、
(d) 排他的論理和演算手段である 8ビッ ト排他的論理和演算器 15. 1 6. 17, 18と、
(e) 第 1の選択手段である 32ビッ トバス選択器 19, 20と、
(f ) 読み出し制御手段である 4進カウンタ 13、 ラッチ 12, 29及び デコーダ 24乃至 26, 28と、
( g ) 第 2の選択手段であるシンボル遅延回路 300及び出力データ選択 器 310と
を用いることによって、 最小符号間距離 d =l 3であるリード · ソロモン 符号 RS (n, n-12, d = 13 ) を符号化できる。
以上の第 1の実施形態においては、 複数の積データを記憶した ROM 1
4から 4個の積データを 1組として並列に (同時に) 排他的論理和演算器 15乃至 18に対して読み出し可能に構成し、 4個の積データを用いて同 時に処理し、 かつ 3個の 32ビッ トラッチ 20乃至 22を選択的に順次繰 り返して使用することにより、 符号化処理の演算をしているので、 回路構 成を、 図 14の従来技術の誤り訂正符号化装置の回路構成に比較して極め て簡単にすることができるとともに、 効率的にかつ高速で演算することが でき、 実用に供することが可能な符号化速度で誤り訂正符号を符号化する ことができる。
第 1の実施形態において、 第 1の記憧手段を構成する 32ビッ トラツチ 20. 21, 22の数を 3以上の数 mを増やし、 それに伴って ROM14 の内容を変更すれば、 回路構成を変更することなく、 同様な回路でさらに 最小符号間距離 dの長い誤り訂正符号も符号化できる。
<第 2の実施形態〉
図 3は、 本発明に係る第 2の実施形態の誤り訂正符号化装置の耩成を示 すブロック図である。 図 3において、 この第 2の実施形態の誤り訂正符号 化装置は、
(a) 32ビッ トデータバス 81を有し当該装置の動作を制御する CPU (中央演算制御装置) 61と、
(b) CPU61からァドレスバス 82を介して出力されるァドレスデー タと、 メモリ制御信号とに応答して、 キューメモリ 72における複数 m個 のラッチ 72— 1. 72-2, ···. 72— mに対する制御信号を発生する ラツチ制御装髭 62と、
(c) C PU61のワークエリアとして用いられる作業用 RAM63と、
(d) 8ビッ ト排他的論理和演算器 64, 65, 66. 67と、
(e) 32ビッ トバス選択器 70と、
( f )例えば E P ROM又は E E P R OMにてなる害き換え可能な R OM (统み出し専用メモリ) であって、 CPU61によって実行される符号化 処理のプログラム及びそれを実行するために必要なデータを予め格納する
RO 71と、
(g)複数 m個の 32ビッ トラッチ 72— 1乃至 72— mを備えて、 F I FO (First-in First-out) メモリであるシフ トレジスタを構成する第 1 の記慷手段であるキューメモリ 72と、
(h) CPU 61の制御により、 キューメモリ 72の内容を一時的にラッ チして読み出す 32ビッ トラツチ 69と、
( i ) 32ビッ トラッチ 69の一部分であつて、 32ビッ トラッチ 69に おける下位 8ビッ 卜のデータをラツチする第 2の記憶手段である 8ビッ ト ラツチ 68とを備える。
第 2の実施形態では、 第 1の実施形態のバス選択器 19, 23に代わり に、 複数 m個の 32ビッ トラツチ 72— 1乃至 72— mを備えた 32ビッ ト m段のキューメモリ Ί 2を用いている。 第 2の実施形態の動作例の説明 を簡潔にするために、 キューメモリ Ί 2を構成するラッチ段数 mを 3とし、 キューメモリ 72は 3個の 32ビッ トラッチ 73. 74. 75からなる。 図 3において m= 3のときのブ Dック図を図 4に示す。 従って、 図 4を参 照して当該動作例について説明する。
図 4において、 CPU61は 32ビッ トデータバス 81に接続され、 作 窠用1¾八1^63も32ビッ トデータバス 81に接続される。 入力されて処 理対象とされる情報語のデータは、 32ビッ 卜データバス 81を介して作 業用 RAM63内の符号語バッファ Βιι ί B □ の情報語領域に書き込ま れ、 当該領域から 32ビッ トデータべス 81を介して読み出されて 8ビッ ト排他的論理和演算器 64, 65, 66. 67の第 1の入力端子に入力さ
れて、 以下に詳述する符号化処理が実行された後、 上記情報語のデータに 続いて、 作業用 RAM63内の符号語バッファ Bu f B [] のパリティ語 領域からパリティ語を銪み出して符号化された符号語として出力する。 図 4において、 8ビッ ト排他的論理和演算器 64, 65, 66, 67か ら出力される 32ビッ 卜のキューメモリ 72内で縱続接続された 3個の 3 2ビッ トラッチ 73. 74, 75及び 32ビッ トラッチ 69を介して 32 ビッ トバス選択器 70の b接点に入力される。 32ビッ トラツチ 75から 出力される 32ビッ 卜の出力データのうち上位 24ビッ 卜のデータは、 排 他的論理和演算器 65. 66, 67の第 2の入力端子に入力され、 また、 8ビッ トラツチ 68からの出力データは排他的論理和演算器 65の第 2の 入力端子に入力される。 また、 32ビッ トラッチ 73から出力される 32 ビッ 卜の出力データは、 32ビッ 卜バス選択器 70の a接点に入力される。 32ビッ トバス選択器 70は、 ラッチ制御回路 62から出力される制御信 号に応答して、 a接点に入力される 32ビッ トのデータと、 b接点に入力 される 32ビッ 卜のデータとのうちの 1つの 32ビッ 卜のデータを選択的 に 32ビッ トデータバス 81を介して CPU 61及び作業用 RAM 63に 出力する。
図 4において、 縦挠接続された 3個の 32ビッ トラッチ 73, 74. 7 5はキューメモリ 72を構成しており、 32ビッ トラツチ 73は *き込み 用ラッチとして動作する一方、 32ビッ トラツチ 75は読み出し用ラッチ として勳作するように選択される。 当該選択は、 物理的には固定であるが、 キューメモリ 72へのデータの書き込み動作、 もしくはキューメモリ 72 からのデータの銃み出し動作によって、 各 32ビッ トラツチに格納されて いるデータが次段の 32ビッ トラツチに移動して行くので、 論理的には固 定ではなく、 順番に 32ビッ トラツチ内のデータを選択して行くことにな
る。 本実施形態では、 C PU61から入出力制御信号 (以下、 IZO制御 信号という。 ) とともに、 ア ドレスバス 82を介して入出力ア ドレス (以 下、 IZOアドレスという。 ) をラッチ制御回路 62に送信することによ り、 ラッチ制御回路 62は、 以下に示す制御信号をラッチ 73, 74, 7 5, 69及びバス選択器 70に送信して制御する。
(a) CPU 61がァドレスデータバス 82を介して Iノ 0ア ドレスとし て "Ad r sQu eu e" をラツチ制御回路 62に出力するとともに、 I 0制御信号として "書き込み信号" をラッチ制御回路 62に出力する。 これに応答して、 ラッチ制御回路 62は、 クロック CLKに同期する書き 込みクロック信号を発生して 32ビッ トラッチ 73, 74, 75, 69に 出力する。
(b) CPU 61がァドレスデータバス 82を介して I 0ア ドレスとし て "Ad r sQu eu e" をラツチ制御回路 62に出力するとともに、 I ノ 0制御信号として "読み出し信号" をラッチ制御回路 62に出力する。 これに応答して、 ラッチ制御回路 62は、 クロック CLKに同期する眘き 込みクロック信号を発生して 32ビッ トラッチ 73. 74, 75. 69に 出力する。
(c) CPU 61がァドレスデータバス 82を介して I /0アドレスとし て "Adr s F e e d" をラッチ制御回路 62に出力するとともに、 Iノ 0制御信号として "書き込み信号" をラッチ制御回路 62に出力する。 こ れに応答して、 ラッチ制御回路 62は、 クロック CLKに同期する害き込 みク oック信号を発生して 32ビッ トラッチ 73. 74. 75に出力する c
Cd) CPU61がァ ドレスデータバス 82を介して I ZOア ドレスとし て " Ad r sC l e a rPo r t" をラツチ制御回路 62に出力するとと もに、 I/O制御信号として "省き込み信号" をラッチ制御回路 62に出
力する。 これに応答して、 ラッチ制御回路 62はクリア信号を 32ビッ ト ラッチ 69に出力して、 32ビッ トラツチ 69に記憶されているデータを 0にクリァする。
(e) CPU 61がァドレスデータバス 82を介して 1 〇ア ドレスとし て "Ad r s Qu e u e" をラツチ制御回路 62に出力するとともに、 I ノ0制御信号として "アクセス信号" をラッチ制御回路 62に出力する。 これに応答して、 ラッチ制御回路 62は、 バス選択器 70を a接点に切り 換える。 これにより、 32ビッ トラッチ 73から出力されるデータは、 バ ス選択器 70の a接点及び 32ビッ トデータバス 81を介して C PU 61 及び作業用 R AM63に入力される。
(f ) CPU 61がァドレスデータバス 82を介して Iノ 0ア ドレスとし て "Ad r sQu eu eLa s t" をラッチ制御回路 62に出力するとと もに、 I/O制御信号として "アクセス信号" をラッチ制御回路 62に出 力する。 これに応答して、 ラッチ制御回路 62は、 バス選択器 70を b接 点に切り換える。 これにより、 32ビッ トラッチ 69から出力されるデー タは、 バス選択器 70の b接点及び 32ビッ トデータバス 81を介して C PU61及び作業用 RAM 63に入力される。
図 5は、 図 3の誤り訂正符号化装置の CPU 61によって実行される符 号化処理を示すフローチャートであり、 図 6は、 図 5のサブルーチンであ る初期化処理 (ステップ S 1) を示すフローチヤ一トであり、 図 7は、 図 5のサブルーチンである符号語生成処理 (ステップ S 2) を示すフローチヤ 一トである。 また、 図 8は、 図 7のサブルーチン処理 P 1 (ステップ S 7) を示すフローチャートであり、 図 9は、 図 7及び図 8のサブルーチン処理 P2 (ステップ S 23. S 35) を示すフローチヤ一トであり、 図 10は、 図 8のサブルーチン処理 P 3 (ステップ S37) を示すフローチャー トで
あり、 図 11は、 図 7のサブルーチン処理 P 4 (ステップ S 24) を示す フローチャートである。 図 5乃至図 11に図示された符号化処理の制御フ ローのプログラムは、 図 3及び図 4に示す誤り訂正符号化装置を動作させ るために、 C PU61に接統された ROM61に予め K慷され、 CPU6 1によって実行される。
図 5に示すように、 まず、 ステップ S 1で図 6に示す初期化処理を実行 した後、 ステップ S 2で図 7に示す符号語生成処理を実行して、 当該符号 化処理を終了する。
次いで、 図 6乃至図 11における処理で用いる種々の記号について説明 する。 テーブル名の [] 及びバッファ名の [] はそれぞれ配列を表し、 メ モリ領域の名前を n am eとすると、一次元配列の要素は n am e [m] 、 二次元配列の要素は n ame [m] [n] のように表し、 ここで、 m及び nはそれぞれ 0以上の整数である。 また、 配列の大きざを表すときに n a me CM] [N] と害く とすると、 有効な要素は n a m e [0] CO] か ら n ame [M— 1] [N— 1] である。
I ORe a dW (add r e s s) は、 32ビッ トのヮ一ドデータを a d d r e s sで表される I ZOァドレスから読み出したデータ値を表す関 数である。 また、 I OWr i t eW (add r e s s, da t a) は d a t aで表される 32ビッ トのヮ一ドデータを a d d r e s sで表される I Oァ ドレスに省き込む処理である。 Ge tBy t e (da t a, i nd e x).は d a t aで表される 32ビッ トのヮ一ドデータの上位から i nd e X番目のバイ トデータを表す関数である。 ただし、 i n d e xは 1から數 える自然数である。
スラッシュ記号 ソ" は整数の除算を表わす二項演算子であり、 A M OD Bは Aを Bで除箕したときの剰余を演算する二項演算子である。 ま
た、 ANDはビッ トごとの論理積を演算する二項演算子であり、 EORは ビッ トごとの排他的論理和を演算する二項演算子である。
さらに、 配列名を n ameとすると、 name [x. ···, y] は配列 n am eの x番目の要素から y番目の要素までを表す。 変数名又は配列名の 最後の 1文字である W. Bは、 それぞれ 32ビッ 卜のデータ、 8ビッ 卜の データを表す。
ガロア体演算テーブル tGa l o i sW [nQu e u e La t ch] [2 56] は、 入力データと生成多項式の各係数とのガロア体上の積のデータ であって、 予め演算されて ROM71に格納された後、 C PU61の初期 化時や、 誤り訂正符号の最小符号間距離 dの変更に伴う初期化処理におい て、 ROM71から作業用 RAM63内の領域に転送されて書き込まれる。 第 1の実施形態と同様の 12シンボルのパリティ語を付加する場合では、 表 1及び表 2に示した ROM 14の内容と同一のデータが当該ガロア体演 算テーブル t Ga l o i sW [nQu eu eLa t ch] [256] に予 め記慷される (ステップ S 11) 。 ただし、 t G a 10 i sW [m] [n] は、 第 1の実施形態における ROM14のァドレス Hを mとし、 ァドレス Lを nとしたデータ内容を表す。
符号語バッファ Bu i B [] は、 作業用 RAM63内の領域に設定され たバッファメモリであり、 情報語領域とパリティ語領域とに分割され、 当 該符号語バッファ Bu i B [] の情報語領域において、 この符号化処理を 実行する前に入力された符号化すべき情報語が先頭から予め格納される一 方、 符号語バッファ Bu i B [] のパリティ語領域において、 上記入力さ れた情報語に基づいて当該符号化処理を実行したときに得られるパリティ 語が格納された後、 情報語とパリティ語が符号語として外部装置に出力さ れる。
I ZOァドレスの A d r s Qu e u e La s tは、 32ビッ トラッチ 7 3の内容を読み出すためのアドレスである。 ここで、 CPU61が 1ノ0 制御信号の "読み出し信号" とともに、 1ノ0ア ドレスとして "Ad r s Qu e u e L a s t " をラツチ制御回路 62に出力した場合であっても、 上述のように、 32ビッ トラッチ 73. 74, 75. 69に対して書き込 みクロック信号を発生しないので、 キューメモリ 72内の記億データの内 容はそのままである。
表 4は、 図 5乃至図 11のフローチャートに従って本実施形態の誤り訂 正符号化装 Sが動作する埸合において、 本動作例での図 4の各 32ビッ ト ラッチ 73, 74. 75, 69の記憶データを示す。 表 4における二重下 線はデータの香き込みを表し、 下線はデータの読み込みを表す。 また、 p 000から始まるパリティシンボルの記号は、 第 1の実施形態のものと同一 であり、 図 13に示す従来技術の計算方法で演算される値である。
(以下余白)
一 6ε一
998Z0/96df/lDd
以下に、 第 1の実施形態と同様に、 本実施形態を用いて 8ビッ トを 1シ ンボルとしたリード ' ソロモン符号 RS (32, 20, d = 13) を符号 化する処理例 (以下、 第 1の動作例という。 ) を、 図 6乃至図 11及び表 4を参照して説明する。 本動作例の場合、 情報シンボル数 n I n f 0は 2 0であり、 パリティシンボル数 nP a r i t yは 12である。
まず、 図 6の初期化処理について以下説明する。
図 6のステップ S 11において、 ガロア体演算テーブル t G a 】 0 i s [nQu e u e L a t c h] [256] の初期化を行う。 本動作例の場合、 キューメモリ 72を構成する 32ビッ トラツチの数 nQu e u e L a t c h ( = m) は 3である。 本動作例のように最小符号間距離 dが 13の場合、 ガロア体演算テーブル t G a 1 0 i s [nQu e u e L a t c h] [25 6] の内容は、 表 1と表 2に示す第 1の実施形態における ROM14のデ ータ内容と同一になるように ROM71から作業用 RAM63に転送され て初期化される。 また、 32ビッ トラッチ 73, 74, 75, 69は 0に クリアされる。 この処理は表 4のステップ S 1001に対応する。
次いで、 ステップ S 12において、
nFeed = nQueueLatch- (nParity- 3 ) Z 4 … (31) で表すことができるキューメモリ 72のフィード回数 nF e e dを演算し て、 フィード回数パラメータ nF e e dに代入される。 本動作例の場合、 キューメモリ 72を構成する 32ビッ トラツチの数 nQu e u e L a t c h 3であり、 付加するパリティ シンボル数 n P a r i t yは 12である から、 キューメモリ 72のフィード回数 nF e e dは 0に初期化される。 次いで、 ステップ S 13において、
nQ= (nParity+3) / - (32) で表すことができるキューメモリ Ί 2の害き込み数 nQを演算して書き込
み数パラメータ nQに代入される。 本動作例の場合、 付加するパリティシ ンボル数 n Pa r i t yは 12であるから、 キューメモリ 72の書き込み 数 n Qは 3になる。
次いで、 ステップ S 14において、
index= ( (nParity-l- 3 ) MOD 4) + 1 ." (33) で表すことができるキュー溢れシンボル取り出し位置 i n d e xを演算し て、 キュー溢れシンボル取り出し位置パラメータ i n d e xに代入する。 ここで、 キュー溢れシンボル取り出し位置 i nd exは、 キューメモリ 7 2を 8ビッ ト X n P a r i t y段のキューとして動作させるために、 擬似 的にキューメモリ 72の nP a r i t y段目から 8ビッ トシンボルが溢れ たように取り出す位置を示す。 本動作例の場合、 付加するパリティシンポ ル数 nP a r i t yは 12であるから、 キュー溢れシンボル取り出し位 S i n d e xは 4になる。 以上で初期化処理を終了する。
次に、 図 7から図 11を参照して実際の符号語生成処理を説明する。 まず、 図 7のステップ S21において、 作業用 RAM63内の符号語バッ ファ Bu f B [] から情報語を銃み出し、 当該符号語生成処理によって生 成したパリティ語をキューメモリ 72上に作成する。 この処理をサブルー チン処理 P 1とする。
次に、 サブルーチン処理 P 1の内容を図 8を参照して具体的に説明する。 まず、 図 8のステッブ S 31において、 情報シンボルカウンタ c n tを 0 に初期化し、 ステップ S 32において、 符号語バッファから情報シンボル カウンタ c n t番目の 8ビッ 卜の情報シンボル B u f B [c n t ] を読み 出して入力データ i nD a t a Bとする。 この場合、 情報シンボルカウン タ c n tは 0であるから、 入力データ i nD a t a Bは、 符号語バッファ の先頭のシンボルである。 以後、 ここで取り出した先頭の情報シンボルを
i 000とする。 次いで、 ステッブ S 33において、 入力ポートである 32 ビッ トラッチ 73から 32ビッ 卜のデータを読み出し、 その上位から i n d e x (本動作例の場合は 4) バイ 卜目、 つまり下位 8ビッ トを得る。 こ の場合、 32ビッ トラッチ 73の内容は、 クリアされて 00000000 Hであるので、 その下位 8ビッ トは 00Hである。 これは表 4のステップ S 1002に対応する。 さらに、 ステップ S 34において、 出力ポー卜で ある 32ビッ トラッチ 69の内容を 0にクリァする。 これは表 4のステツ ブ S 1003に対応する。
次いで、 ステップ S 35において、 キューメモリ 72の内容を、 キュー メモリ 72のフィード回数 nF e e d回だけ進める。 当該処理においては、 32ビッ トラツチ 75のデータを 32ビッ トラツチ 69に書き込み、 32 ビッ トラツチ 74のデータを 32ビッ トラツチ 75に書き込み、 32ビッ トラツチ 73のデータを 32ビッ トラッチ 74に書き込む。 ここで、 フィ 一ド回数 n Fe e d回だけ進めるとは、 上記ラツチからラツチへの害き込 み処理を n F e e d回だけ繰り返すことを意味する。 ここで、 入力ポート である 32ビッ トラツチ 73のデータはそのまま保存される。 この処理を サブルーチン処理 P 2とする。
次に、 サブルーチン処理 P 2の内容を図 9を参照して具体的に説明する。 まず、 図 9のステップ S 41において、 キューメモリ 72のフィードカウ ン夕の計数値 cn tFe e dをキュー 72のフィード回数 nF e e dに初 期化する。 本動作例の場合、 フィード回数 nF e e dは 0であるので、 計 数値 c n t F e e dは 0になる。 次いで、 ステップ S 42において、 キュ 一メモリ 72のフィードカウンタの計数値 c n t F e e dは 0であるから、 サブルーチン処理 P 2を終了して図 8の元のサブルーチン処理 P 1に戻る。 つまり、 本動作例の場合、 サブルーチン処理 P 2では何も実行しない。
図 8のステップ S 36において、 入力データ i nD a t a Bとステップ S 33で求めた 32ビッ トラツチ 73の下位 8ビッ トのデータ p D a t a Bとの排他的論理和を求め、 演算結果のデータ d a t a Bの値を d。00と する。 この場合、 入力データ i oとデータ 00Hとの排他的論理和なの で、 第 1の実施形態と同様に、 演算結果のデータ dDDcは式 (15) で表 される。 次いで、 ステップ S 3 7において、 ステップ S 3 6で求めた演算 結果のデータ d a t a Bと生成多項式の各係数との積を作業用 RAM63 内のガロア体演算テーブルから読み出してキューメモリ 7 2に香き込む。 この処理をサブルーチン処理 P 3とする。
次に、 サブルーチン処理 P 3の内容を図 10を参照して具体的に説明す る。 まず、 図 10のステップ S51において、 キュー害き込みカウンタの 計数値 c n tWQを 0に初期化する。 次いで、 ステップ S 52において、 ステップ S 36で求めたデータ d。。。と生成多項式 (式 (14) ) の係数 とのガロア体上の積を、 4シンボル (32ビッ ト) だけ作業用 RAM63 内のガロア体演算テーブルから読み出す。 ここで、 キュー書き込みカウン 夕の計数値 c n tWQが 0の時には、 生成多項式 (式 (14) ) の係数と して k12, ku, kio, k9が選ばれる。 次いで、 ステップ S 5 3におい て、 ステップ S 52で読み出したガロア体上の積のデータをキューメモリ 72に害き込む。 このとき、 32ビッ トラッチ 75は、 データ 00000 000Hを出力しており、 8ビッ トラッチ 68はデータ 00Hを出力して いるので、 排他的論理和演算器 64, 65, 66, 67の入力データはデ 一夕 (00H, 00H. 00H, 00H) と、 データ (k12 · d 000. i · d ooo. kio - dooo. k9 · dooo) である。 従って、 排他的論理和演 算器 64. 65, 66. 67の出力データを (p 000. p00i, p 002, p。
03) すると、 第 1の実施形態と同様に、 このデータ値は式 (19) で表す
ことができる。 これは表 4のステップ S 1004に対応する。
次いで、 ステップ S 54において、 キュー書き込みカウンタの計数値 c n tWQを 1だけインクリメントする。 このとき、 キュー書き込みカウン タの計数値 c n t WQは 1になる。 そして、 ステップ S 55において、 キュ 一書き込みカウンタの計数値 c n tWQがキュー害き込み数 nQより小さ い場合は、 ステップ S 52に戻る一方、 そうでない場合はサブルーチン処 理 P 3を終了してリターンする。 この場合、 キュー書き込みカウンタの計 数値 cn tWQは 1であり、 キュー書き込み数 nQは 3であるから、 ステツ ブ S 52に戻る。
次いで、 ステップ S 52において、 ステップ S 36で求めたデータ d00 0と生成多項式 (式 (14) ) の係数とのガロア体上の積を、 4シンボル (32ビッ ト) 求める。 その際に、 ガロア体演算テーブルを用いるが、 キュ 一書き込みカウンタの計数値 c n tWQが 1の時には、 生成多項式 (式 (1 4) ) の係数として ke, k7. k6. k5が選ばれる。 さらに、 ステップ S
52において、 ステップ S 52で求めた積のデータをキューメモリ 72に 害き込む。 このとき、 32ビッ トラッチ 75はデータ OOOO00O0H を出力しており、 8ビッ トラツチ 68はデータ 00 Hを出力しているので、 排他的論理和演算器 64, 65. 66, 67の入力データは、 (0OH.
00H, 00H, 00H) と、 データ (k8 · d 000, k7 · d。00. k6 · d ooo. k 5 · d 0。0) である。 従って、 排他的論理和演算器 64. 65.
66.. 67の出力を (P 0< , P OOS. P 006. P。D7) とすると、 第 1の実 施形態と同様に、 このデータ値は式 (21) で表すことができる。 これは 表 4のステップ S1005に対応する。
次いで、 ステップ S54において、 キュー書き込みカウンタの計数値 c n t WQを 1だけインクリメントする。 このとき、 キュー害き込みカウン
タの計数値 c n t WQは 2になる。 さらに、 ステップ S 5 5において、 キュ 一香き込みカウンタの計数値 c n t WQがキュー *き込み数 n Qより小さ い場合は、 ステップ S 5 2に戻る一方、 そうでない場合はサブルーチン処 理 P 3を終了してリターンする。 この場合、 キュー書き込みカウンタの計 数値 c n t WQは 2であり、 キュー書き込み数 n Qは 3であるから、 ステツ ブ S 5 2に戻るカ^ その後、 上記の処理と同様にステップ S 5 2、 ステツ ブ S 5 3、 ステップ S 5 4を経て、 再びステップ S 5 5に進む。 この時、 キュー書き込みカウンタの計数値 c n t WQは 3であるから、 当該サブル 一チン処理 P 3を終了して、 図 8のサブルーチン処理 P 1に戻る。
図 8のステップ S 3 8において、 情報シンボルカウンタの計数値 c n t を 1だけインクリメン卜する。 このとき、 情報シンボルカウンタの計数値 c n tは 1になる。 そして、 ステップ S 3 9において、 情報シンボルカウ ンタの計数値 c n tが情報シンボル数 n I n f oより小さい場合はステツ ブ S 3 2に戻る一方、 そうでない場合はサブルーチン処理 P 1を終了して リターンする。 この場合、 情報シンボルカウンタの計数値 c n tは 1であ り、 かつ情報シンボル数 n I n f oは 2 0であるから、 ステップ S 3 2に
B ^る。
ステップ S 3 2において、 符号語バッファから情報シンボルカウンタの 計数値 c n t番目の情報シンボル B u f B [ c n t ] を読み出す。 この場 合、 情報シンボルカウンタの計数値 c n tは 1であるから、 符号語バッファ の先頭から 2番目のシンボルである。 ここで読み出した 2番目の情報シン ボルを i。 とする。 次いで、 ステップ S 3 3において、 3 2ビッ トラッ チ 7 3から 3 2ビッ 卜のデータを読み出し、 その上位から i n d e x (本 動作例の場合は 4 ) バイ ト目、 つまり下位 8ビッ 卜のデータを得る。 この 場合、 3 2ビッ トラッチ 7 3内のデータはデータ (P。。8 . P c o s . P 0 1 0 .
P OM) であるので、 その下位 8ビッ トのデータは pDUである。 これは表 4のステップ S 1007に対応する。 さらに、 ステップ S34において、 32ビッ トラプチ 69の内容をクリアする。 これは表 4のステップ S 10 08に対応する。
次いで、 ステップ S35において、 キューメモリ 72の内容を、 キュー メモリ 72のフィード回数 n F e e d回だけ進めるが、 上記の処理と同様 に、 本動作例の場合、 当該サブルーチン処理 P 2において何も実行しない。 さらに、 ステップ S 36において、 入力データ i nDa t aBとステップ S 33で求めた 32ビッ トラツチ 73の下位 8ビッ 卜のデータとの排他的 論理和を演算し、 演算結果のデータ値を dD01とすると、 この場合、 入力 データ i。 とデータ p。,!との排他的論理和なので、 第 1の実施形態と同 様に、 演算結果のデータ dD(Jlは式 (16) で表される。 さらに、 ステツ プ S 37において、 ステップ S 36で求めたデータ値と生成多項式の各係 数との積を、 キューメモリ 72に害き込む処理であるサブルーチン処理 P 3を実行する。
次に、 サブルーチン処理 P 3の内容を図 10を参照して具体的に説明す る。 まず、 図 10のステップ S 51において、 キュー害き込み力ゥンタの 計数値 c n tWQを 0に初期化し、 ステップ S52において、 ステップ S 36で求めたデータ d。clと生成多項式 (式 (14) ) の係数とのガロア 体上の積を、 4シンボル (32ビッ ト) 求める。 その際に、 ガロア体演算 テーブルを用いるが、 キュー害き込みカウンタの計数値 c n tWQが 0の 時には、 生成多項式 (式 (14) ) の係数として k12. k,,. k10. ke が選ばれる。 そして、 ステップ S 53において、 ステップ S 52で求めた 結果のデータをキューメモリ 72に害き込む。 このとき、 32ビッ トラッ チ 75はデータ (P ooo. P 001. P 002, P oos) を出力しており、 8ビッ
卜ラッチ 68はデータ 00Hを出力しているので、 排他的論理和演箕器 6 4, 65. 66. 67の入力データはデータ (00H, ρ 000. Ροοι. oo 2ノ と 7 "*一 ^ (k.12 · d oDi- k 11 · d ooi. k】o * aoo,. kg * d 001 ) である。 従って、 排他的論理和演算器 64, 65, 66, 67の出力デー タをデータ (P oi2, P 013. P OM, P 015) とすると、 第 1の実施形態と 同様に、 このデータ値は式 (25) で表すことができる。 これは表 4のス テツブ S 1009に対応する。
次いで、 ステップ S 54において、 キュー書き込みカウンタの計数値 c n t WQを 1だけインク リ メ ン トする。 このとき、 キュー書き込みカウン タの計数値 c n tWQは 1になる。 さらに、 ステップ S 55において、 キュ ー窨き込みカウンタの計数値 c n tWQがキュー書き込み数 nQより小さ い場合はステップ S 52に戻る一方、 そうでない場合は当該サブルーチン 処理 P 3を終了してリターンする。 この場合、 キュー謇き込みカウンタの 計数値 c n tWQは 1であり、 キュー窨き込み数 n.Qは 3であるから、 ス テツブ S 52に戻る。
ステップ S 52において、 ステップ S 36で求めたデータ domと生成 多項式 (式 (14) ) の係数とのガロア体上の積を、 4シンボル (32ビッ ト) 求める。 その際に、 ガロア体演算テーブルを用いるが、 キュー書き込 みカウンタの計数値 c n tWQが 1の時には、 生成多項式 (式 (14) ) の係数として ke, k7, ke, k5が選ばれる。 そして、 ステップ S 53に おし、て、 ステップ S 52で求めた結果データをキューメモリ Ί 2に書き込 む。 このとき、 32ビッ トラツチ 75はデータ (Ρ θΙΜ. P 005. P 006.
Ροοτ) を出力しており、 8ビッ トラツチ 68はデータ ρ。。3を出力してい るので、 排他的論理和演算器 64, 65, 66, 67の入力データはデー タ (P。Q3. P 004. P O0S. P 006; とァ—タ 8 * 0。。1, k 7 * Q 001.
k6 - dooi. k5 · do(n) である。 従って、 排他的論理和演算器 64, 6 5, 66, 67の出力データをデータ (p01 6. P 01 7. P 018. P 01 9ノ と すると、 第 1の実施形態と同様に、 このデータ値は式 (27) で表すこと ができる。 これは表 4のステップ S 1010に対応する。
次いで、 ステップ S54において、 キュー書き込みカウンタの計数値 c n tWQを 1だけインクリメントする。 このとき、 キュー香き込みカウン タの計数値 c n tWQは 2になる。 次いで、 ステップ S 55において、 キュ 一書き込みカウンタの計数値 c n t WQがキュー害き込み数 nQより小さ い埸合はステップ S 52に戻る一方、 そうでない場合はサブルーチン処理 P3を終了してリターンする。 この場合、 キュー害き込みカウンタの計数 値 cn tWQは 2であり、 キュー書き込み数 nQは 3であるから、 ステツ ブ S 52に戻る。 その後、 上記の処理と同様にステップ S 52、 ステップ S 53、 ステップ S 54を経て、 再びステップ S δ 5に進む。 この時、 キュ ー窨き込みカウンタの計数値 c n tWQは 3であるから、 当該サブルーチ ン処理 P 3を終了して、 図 8のサブルーチン処理 P 1にリターンする。 図 8のステップ S 38において、 情報シンボルカウンタの計数値 c n t を 1だけインク リメ ントする。 このとき、 情報シンボルカウンタの計数値 c η ΐは 2になる。 次いで、 ステップ S 39において、 情報シンボルカウ ンタの計数値 c n tが情報シンボル数 n I n f oより小さい場合はステツ ブ S 32に戻り、 そうでない場合はサブルーチン処理 P 1を終了してリタ ーンする。 この場合、 情報シンボルカウンタの計数値 c n tは 2であり、 情報シンボル数 n I n f 0は 20であるから、 ステップ S 32に戻る。 ステップ S 32において、 符号語バッファから情報シンボルカウンタの 計数値 c n t番目の情報シンボル B u ί B [c n t] を読み出す。 この場 合、 惰報シンボルカウンタの計数値 c n tは 2であるから、 符号語バッファ
の先頭から 3番目のシンボルである。 ここで取り出した 3番目の情報シン ボルをデータ i awとする。 そして、 ステップ S 33において、 32ビッ トラツチ 73から 32ビッ トのデータを読み出し、 その上位から i n d e x (本勳作例の場合は 4) バイ ト目、 つまり下位 8ビッ トを得る。 この場 合、 32ビッ トラッチ 73の内容はデータ (P 02D, P 021. P 022. P 023> であるので、 その下位 8ビッ トのデータは p。23である。 これは表 4のス テツブ S 1012に対応する。 次いで、 ステップ S 34において、 出力ポ ートの 32ビッ トラッチ 69の内容をクリアする。 これは表 4のステップ S 1013に対応する。 そして、 ステップ S 35において、 キューメモリ 72の内容を、 キューメモリ 72のフィード回数!! F e e d回だけ進める が、 上記の処理と同様に、 本動作例の場合、 当該サブルーチン処理 P 2に おいて何も実行しない。
次いで、 ステップ S 36において、 入力データとステップ S 33で求め た 32ビッ トラツチ 73の下位 8ビッ トのデータとの排他的論理和を求め る。 このデータ値を d。02とすると、 この場合、 入力データ i DMとデータ p 023との排他的論理和なので、 第 1の実施形態と同様に、 データ d 002は 式 (30) で表される。 以下、 上記の処理と同様に、 ステップ S 37、 S 38、 S 39と進み、 さらに、 情報シンボルカウンタの計数値 c n tが情 報シンボル數 n I n f o (本動作例の場合は 20) に一致するまで、 ステツ ブ S 32からステップ S 39までの処理を繰り返し、 サブルーチン処理 P 1を終了して図 7のメィンルーチンに戻る。
そして、 図 7のステップ S 22において、 キューメモリ 72から溢れた 32ビッ トのデータをダミ一データとして読み出す。 これは表 4のステッ ブ S 1102に対応する。 次いで、 ステップ S 23において、 キューメモ リ Ί 2の内容を、 キューメモリ 72のフィー ド回数 n F e e d回だけ進め
るが、 上記の処理と同様に、 本動作例の場合、 当該サブルーチン処理 P 2 において何も実行しない。 次いで、 ステップ S 24において、 キューメモ リ 72からパリティシンボルを 4シンボルずつ合計 n P a r i t yシンポ ル统み出し、 符号語バッファ Bu f B [] のパリティ語領域に格納する。 この処理をサブルーチン処理 P 4とする。
次に、 サブルーチン処理 P 4の内容を図 11を参照して具体的に説明す る。 まず、 ステップ S 61において、 キュー読み出しカウンタの計数値 c n t RQを 0に初期化する。 次いで、 ステップ S 62において、 キューメ モリ 72からパリティシンボルを 4シンボルずつ読み出し、 ステップ S 6 3において、 苻号語バッファのパリティ語領域に、 ステップ S 62で取り 出した 4シンボル (32ビッ ト) 分のパリティシンボルを格納する。 この 場台、 情報シンボル数 n I η ί 0は 20であり、 キュー読み出しカウンタ の計数値 c n t RQは 0であるから、 符号語バッファに格納する位置 B u f B [n I n f o + c n tRQ - 4. ··.. n I n f o + cn tRQ - 4 + 3] は B u ί B [20, ···. 23] となる。 本実施形態の場合、 4シンポ ル (=32ビッ ト) 分のデータ (a. b, c, d) を符号語バッファ Bu f B [ i . ···, i + 3] に格納する場合、 Bu f B [ i 3 にはデータ aが、 Bu f B [ i十 1] にはデータ bが、 Bu f B [i + 2] にはデータじが、 Bu i B [i + 3] にはデータ dが格納されるものとする。
さらに、 ステップ S64において、 キュー読み出しカウンタの計数値 c n t RQを 1だけィンクリメン卜する。 この場合、 計数値 c n t RQは 1 になる。 次いで、 ステップ S 65において、 キュー読み出しカウンタの計 数値 c n t RQがキュー書き込み回数 nQより小さい場合、 ステップ S 6 2に戻る一方、 そうでない場合、 当該サブルーチン処理 P 4を終了してリ ターンする。 この場合、 計数値 c n t RQは 1であり、 キュー書き込み回
数 nQは 3であるから、 ステップ S 62に戻る。
次に、 ステップ S 62において、 キューメモリ 72からパリティシンポ ルを 4シンボルずつ銃み出し、 ステップ S 63において、 苻号語バッファ のパリティ語領域に、 ステップ S 62で読み出した 4シンボル (=32ビッ ト) 分のパリティシンボルを格納する。 この場合、 情報シンボル数 n I n f oは 20であり、 キュー読み出しカウンタの計数値 c n t RQは 1であ るから、 符号語バッファに格納する位置 B u f B [n I n f 0 + c n t R Q · 4, ···, n I n f o+ c n t RQ - 4 + 3] は Bu f B [24. ···. 27] となる。 そして、 ステップ S 64において、 キュー読み出しカウン タの計数値 c n t RQを 1だけィンクリメン卜する。 この場合、 計数値 c n t RQは 2になる。 さらに、 ステップ S 65において、 キュー読み出し カウンタの計数値 c n t RQがキュー害き込み数 nQより小さい場合、 ス テツブ S 62に戻る一方、 そうでない場合、 当該サブルーチン処理 P 4を 終了してリターンする。 この場合、 計数値 c n t RQは 2であり、 書き込 み回数 n Qは 3であるから、 ステップ S 62に戻る。 以降、 ステップ S 6 2、 S 63、 S 64の処理を同様に実行し、 その後ステップ S 65に進む。 このとき、 計数値 c n t RQは 3であり、 香き込み回数 nQは 3であるか ら、 当該サブルーチン処理 P 4を終了して元のメインルーチンに戻る。 上 記サブルーチン処理 P 4は、 表 4のステップ S 1103、 S 1104、 及 び S 1105の処理に対応する。
以上で、 本動作例である RS (32, 20, d = 13) の符号語生成処 理を終了する。 ただし、 符号語は符号語バッファ Bu ί B [0, -. n I n f o + nP a r i t y-1] に格納されている。 この場合、 情報シンポ ル数 n I n f 0は 20、 パリティシンボル数 n P a r i t yは 12である から、 符号語は符号語バッファ Bu f B [0, ···, 31] に格納されてい
る。
次に、 本実施形態の誤り訂正符号化装置を用いて、 上記第 1の動作例と 異なる最小符号間距離 dを有し、 8ビッ トを 1シンボルとしたリード . ソ ロモン符号 RS (15. 10. d = 6) を符号化する処理について、 図 5 乃至図 11及び表 5を用いて説明する。 これを第 2の動作例とする。 ただし、 原始多項式 m (X) と原始元なは、 第 1の実施形態と同様にそ れぞれ式 (12) 、 式 (13) で表される。 ただし、 生成多項式 G (X) は次式で表わすことができる。
G (X)
8
= Π (X - α〖)
i =0
= · Xe+k2 · X7 +…十 ke · X + k9 ·'· (34) 従って、 第 2の動作例では、 係数 kn (l≤n≤5) の値が第 1の実施 形態や本実施形態の第 1の動作例とは異なる。
表 5は、 図 5乃至図 11のフローチャートに従って、 誤り訂正符号化装 置が動作する場合において、 本動作例での図 4の各 32ビッ トラツチの状 態である。 表 5の 2重下線はデータの書き込みを表し、 下線はデータの読 み込みを表す。 また、 データ Ρ οοοから始まるパリティシンボルの記号や データ d。
00から始まる記号は、 第 1の実施形態や本実施形態の第 1の動 作例における記号と異なり、 図 14に示すような計算方法で求められる値 である。 本動作例の場合、 情報シンボル数 n I n f 0は 10であり、 パリ ティ シンボル数 n P a r i t yは 5である。
9
98Z0/96dT/lDd 8 Π 6 OAV
以下に、 本実施形態の第 2の動作例における初期化処理について図 6を 参照して説明する。
まず、 図 6のステップ S 11において、 ガロア体演算テーブル t G a 1 o i s [nQu e ueLa t c h] [256] の初期化を行う。 本動作例 の場合、 キューメモリ 72を構成する 32ビッ トラツチの数 nQu e u e La t e hは 3である。 本動作例のように最小符号間距離が 6の場合、 ガ 口ァ体演算テーブルの内容は、 表 6及び表 7に示す内容となるように初期 化される。 また、 32ビッ トラッチ 73, 74, 75, 69を 0にクリア する。 これは表 5のステップ S 2001に対応する。
(以下余白)
表 6
次に、 ステップ S 12において、 式 (31)で表わされるキューメモリ 72のフィード回数 nF e e dを求める。 本動作例の場合、 キューメモリ 72を構成する 32ビッ トラツチの数 n Qu e u e L a t c hは 3であり、 付加するパリティシンボル数 nP a r i t yは 5であるから、 キューメモ リ 72のフィード回数 nF e e dは 1になる。 次いで、 テツブ S 13にお いて、 式 (32) で表わされるキューメモリ 72の書き込み数 nQを求め る。 本動作例の場合、 付加するパリティシンボル数 n Pa r i t yは 5で あるから、 キューメモリ 72の香き込み数 nQは 2になる。 さらに、 ステツ ブ S 14において、 式 (33) で表わすことができるキュー溢れシンボル 取り出し位置 i n d e xを求める。 本動作例の場合、 付加するパリティシ
ンボル数 n P a r i t yは 5であるから、 キュー溢れシンボル取り出し位 置 i 1 (16乂は1になる。 以上で初期化処理を終了する。
次に、 図 7乃至図 11を用いて実際の符号語生成処理を説明する。 まず、 図 7のステップ S 21において、 作業用 RAM 63内の符号語バッファ B u f B [] から情報語を読み出し、 パリティ語をキューメモリ 72上に作 成するサブルーチン処理 P 1を実行する。 ここで、 以下、 当該サブルーチ ン処理 P 1の内容を図 8を参照して具体的に説明する。
まず、 図 8のステップ S 31において、 情報シンボルカウンタの計数値 c n tを 0に初期化する。 次いで、 ステップ S 32において、 符号語バッ ファから情報シンボルカウンタの計数値 c n t番目の情報シンボル B u f B [c n t] を読み出す。 この場合、 情報シンボルカウンタの計数値 c n tは 0であるから、 符号語バッファの先頭のシンボルである。 以後、 ここ で読み出した先頭の情報シンボルをデータ i。0oとする。 さらに、 ステツ ブ S 33において、 32ビッ トラッチ 73から 32ビツ 卜のデータを読み 出し、 その上位から i ndex (本動作例の場合は 1) バイ ト目、 つまり 上位 8ビッ トを得る。 この場合、 32ビッ トラツチ 73の内容は、 クリア されて 00000000Hであるので、 その上位 8ビッ 卜のデータはデー タ 00Hである。 これは表 5のステップ S 2002に対応する。 次いで、 ステップ S 34において、 32ビッ トラツチ 69の内容を 0にクリアする。 これは表 5のステップ S 2003に対応する。 さらに、 ステップ S35に おいて、 キューメモリ 72の内容を、 キューメモリ 72のフィード回数 n Fe e d回だけ進めるサブルーチン処理 P2を実行する。
次に、 このサブルーチン処理 P 2を図 9を参照して具体的に説明する。 まず、 ステップ S 41において、 キューメモリ 72のフィードカウンタの 計数値 c n t F e edをキューメモリ 72のフィード回数 nF e e dに初
期化する。 本動作例の場合、 フィード回数 n F e e dは 1であるので、 計 数値 c n t F e e dは 1になる。 次いで、 ステップ S 4 2において、 キュ 一メモリ 7 2のフィードカウンタの計数値 c n t F e e dが 0より大きけ ればステップ S 4 3に進む一方、 そうでないならサブルーチン処理 P 2を 終了してリターンする。 この場合、 計数値 c II t F e e dは 1であるから, ステップ S 4 3に進む。 ステップ S 4 3において、 キューメモリ 7 2の内 容を進める。 ただし、 この時 3 2ビッ トラツチ 6 9の内容はそのままに保 たれる。 これは表 5のステップ S 2 0 0 4に対応する。 次いで、 ステップ S 4 4でキューメモリ 7 2のフィードカウンタの計数値 c n t F e e dを 1だけデクリメン卜する。 この場合、 計数値 c n t F e e dは 0になる。 そして、 ステップ S 4 2において、 キューメモリ 7 2のフィードカウンタ の計数値 c n t F e e dが 0より大きければステップ S 4 3に進む一方、 そうでないならサブルーチン処理 P 2を終了してリターンする。 この場合、 計数値 c n t F e e dは 0であるから、 サブルーチン処理 P 2を終了して、 図 8のサブルーチン処理 P 1に戻る。
図 8のステップ S 3 6において、 入力データとステップ S 3 3で求めた 3 2ビッ トラッチ 7 3の上位 8ビッ トのデータとの排他的論理和を求める。 このデータ値を d 000とすると、 この場合、 入力データ i oとデータ 0 0 Hとの排他的論理和なので、 データ d o o oは次式で表わすことができる。
U 0 0 0 = 1 0 0 0 "* ( 3 5 ) 次いで、 ステップ S 3 7において、 ステップ S 3 6で求めたデータ値と 生成多項式の各係数との積をキューメモリ 7 2に書き込むサブルーチン処 理 P 3を実行する。 以下、 このサブルーチン処理 P 3を図 1 0を参照して 具体的に説明する。
まず、 図 1 0のステップ S 5 1において、 キュー害き込みカウンタの計
数値 c n tWQを 0に初期化し、 ステップ S 52において、 ステップ S 5 6で求めたデータ d no。と生成多項式 (式 (34) ) の係数とのガロア体 上の積を、 4シンボル (32ビッ 卜) だけ求める。 その際に、 ガロア体演 算テーブルを用いるが、 キュー窨き込みカウンタの計数値 c n t WQが 0 の時には、 生成多項式 (式 (34) ) の係数として k 5, k 4. k 3, k 2が 選ばれる。 さらに、 ステップ S 53において、 ステップ S 52で求めた結 果のデータをキューメモリ 72に窨き込む。 このとき、 32ビッ トラッチ 75はデータ 00000000Hを出力しており、 8ビッ トラッチ 68は データ 00Hを出力しているので、 排他的論理和演算器 64, 65, 66, 67の入力データは、 データ (00H, 0 OH, 00H, 00H) と、 デ ータ (k s · d k 3 · d ooo, k 2 · d ooo) である。 従つ て、 排他的論理和演算器 64, 65, 66, 67の出力データをデータ (p 000* P DOい P 00 Z. P 003 ) とすると、 このデータは次式で表わすことが できる。
. P ooo. Pooi. P 002. oos)
= ( k 5 * d ooo. k 4 · d ooo. k s * a ooo. k 2 · a ooo) ( ύ 6 ) これは表 5のステップ S 2005に対応する。
次に、 ステップ S 54において、 キュー害き込みカウンタの計数値 c n tWQを 1だけインクリメントする。 この場合、 キュー害き込みカウンタ の計数値 c n t WQは 1になる。 次いで、 ステップ S 55において、 キュ 一書き込みカウンタの計数値 c n tWQがキュー書き込み数 nQより小さ い場合はステップ S 52に戾り、 そうでない場合はサブルーチン処理 P 3 を終了してリターンする。 この場合、 キュー香き込みカウンタの計数値 c n tWQは 1であり、 キュー書き込み数 n Qは 2であるから、 ステップ S 52に戻る。
ステップ S 52において、 ステップ S 36で求めたデータ d 00。と生成 多項式 (式 (34) ) の係数とのガロア体上の積を、 4シンボル (32ビッ ト) だけ求める。 その際に、 ガロア体演算テーブルを用いる力 キュー害 き込みカウンタの計数値 c n t WQが 1の時には、 生成多項式 (式 (14) ) の係数として k,, 0, 0. 0が選ばれる。 次いで、 ステップ S 53に おいて、 S 52で求めた結果のデータをキューメモリ 72に書き込む。 こ のとき、 32ビッ トラッチ 75はデータ 00000000Hを出力してお り、 8ビッ トラツチ 68はデータ 00Hを出力しているので、 排他的論理 和演箕器 64. 65. 66. 67の入力データは、 データ (00H. 00 H. 00H. 00H) と、 データ (k! · doco, 0 OH, 0 OH, 0 OH) である。 従って、 排他的論理和演算器 64, 65, 66. 67からの出力 データを ( o , 0 OH, 0 OH. 00H) とすると、 データ p0I は次 式で表わすことができる。
これは表 5のステップ S 2006に対応する。
次に、 ステップ S54において、 キュー書き込みカウンタの計数値 c n t WQを 1だけインクリメン卜する。 つまり、 キュー書き込みカウンタの 計数値 c n tWQは 2になる。 次いで、 ステップ S 55において、 キュー 書き込みカウンタの計数値 c n tWQがキュー書き込み数 nQより小さい 場合はステップ S 52に戻り、 そうでない場合はサブルーチン処理 P 3を 終了してリターンする。 この場合、 キュー謇き込みカウンタの計数値 c n tWQは 2であり、 キュー書き込み数 nQは 2であるから、 サブルーチン 処理 P 3を終了して、 図 8のサブルーチン処理 P 1にリターンする。
図 8のステップ S 38において、 情報シンボルカウンタの計数値 c n t を 1だけィンクリメントする。 この場合、 情 ¾シンボルカウンタの計数値
c n tは 1になる。 次いで、 ステップ S 39において、 惰報シンボルカウ ンタの計数値 c n tが情報シンボル数 n I n f oより小さい場合はステツ ブ S 32に戻る一方、 そうでない場合はサブルーチン処理 P 1を終了する < この場合、 惰報シンボルカウンタの計数値 en ΐは 1であり、 情報シンポ ル数 n I n f 0は 10であるから、 ステップ S 32に戻る。
ステップ S 32において、 符号語バッファから情報シンボルカウンタの 計数値 cn t番目の情報シンボルつまり Bu f B [c n t] を読み出す。 この場合、 情報シンボルカウンタの計数値 c n tは 1であるから、 符号語 バッファの先頭から 2番目のシンボルである。 ここで取り出した 2番目の 情報シンボルをデータ i 0fllとする。 次いで、 ステップ S33において、 32ビッ トラツチ 73から 32ビッ トのデータを読み出し、 その上位から i nd e x (本動作例の場合は 1) バイ ト目、 つまり上位 8ビッ トを得る。 この場合、 32ビッ トラッチ 73の内容は、 データ (P 004, 00H. 0 0H, 00H) であるので、 その上位 8ビッ トのデータは P otMである。 これは表 5のステップ S 2007に対応する。 次いで、 ステップ S 34に おいて、 32ビッ トラッチ 69の内容を 0にクリアする。 これは表 5のス テツブ S 2008に対応する。
さらに、 ステップ S 35において、 キューメモリ 72の内容を、 キュー メモリ 72のフィード回数 n F e e d回だけ進めるサブルーチン処理 P 2 を実行する。 当該サブルーチン処理 P 2では、 上記の処理と同様にしてキ: 一メモリ 72を 1回だけ進める。 これは表 5のステップ S 2009に対応 する。 そして、 図 8のステップ S 36において、 入力データとステップ S 33で求めた 32ビッ トラツチ 73の上位 8ビッ 卜のデータとの排他的論 理和を求める。 このデータ値を d。01とすると、 この場合、 入力データ i 0 01とデータ!)。 0<との排他的論理和なので、 データ d。 は次式で表わすこ
とができる。
次に、 ステップ S37において、 ステップ S 36で求めたデータ値と生 成多項式の各係数との積をキューメモリ 72に著き込むサブルーチン処理 P 3を実行する。 以下、 そのサブルーチン処理 P 3を図 10を参照して具 体的に ίίέ明する。
まず、 図 10のステップ S δ 1において、 キュー書き込みカウンタの計 数値 c n tWQを 0に初期化し、 ステップ S 52において、 ステップ S3 6で求めたデータ d eo,と生成多項式 (式 (34) ) の係数とのガロア体 上の積を、 4シンボル (32ビッ 卜) だけ求める。 その際に、 ガロア体演 算テーブルを用いるが、 キュー香き込みカウンタの計数値 c n tWQが 0 の時には、 生成多項式 (式 (34) ) の係数として ks. k 4. k 3, k 2が 選ばれる。 さらに、 ステップ S 53において、 ステップ S 52で求めた結 果データをキューメモリ 72に書き込む。 このとき、 32ビッ トラッチ 7 5は、 データ (P OO Di P 001, 002' P 003 ) を出力しており、 8ビッ ト ラッチ 68はデータ 00Hを出力しているので、 排他的論理和演算器 64, 65. 66. 67の入力データは、 データ (0 OH. p0oo. p001. 00 2) と、 データ (k 5 · d 001 » k 2 · d 001 ) で ある。 従って、 排他的論理和演算器 64, 65. 66, 67の出力データ を (P 005. P O 0 B. P 0 D7. P οοβ) とすると、 この出力ァ一夕は、 次式で 表わすことができる。
( 005. Ρ 006. Ρ 007. Ρ θ08ノ
= ( k 5 " α 001 > k * α 001 + P 00 D.
k 3 ' a 001 + P 001. k 2 · a oin+ p oo2) … ( 1 ) これは表 5のステップ S 2010に対応する。
次に、 ステップ S 54において、 キュー害き込みカウンタの計数値 c n tWQを 1だけインクリメントする。 つまり、 キュー香き込みカウンタの 計数値 c n tWQは 1になる。 次いで、 ステップ S 55において、 キュー 謇き込みカウンタの計数値 c n t WQがキュー書き込み数 n Qより小さい 場合はステップ S 52に戻る一方、 そうでない場合はサブルーチン処理 P 3を終了する。 この場合、 キュー害き込みカウンタの計数値 c n tWQは 1であり、 かつキュー害き込み数 n Qは 2であるから、 ステップ S 52に 民る 0
ステップ S δ 2において、 ステップ S 56で求めたデータ d。(πと生成 多項式 (式 (34) ) の係数とのガロア体上の積を、 4シンボル (32ビッ ト) だけ求める。 その際に、 ガロア体演算テーブルを用いるが、 キュー誊 き込みカウンタの計数値 c n tWQが 1の時には、 生成多項式 (式 (14) ) の係数として 0, 0. 0が選ばれる。 次いで、 ステップ S 53に おいて、 S 52で求めた結果データをキューメモリ 72に香き込む。 この とき、 32ビッ トラッチ 75は、 データ (P otH. 0 OH. 0 OH. 00 H) を出力しており、 8ビッ トラツチ 68は p。03を出力しているので、 排他的論理和演算器 64, 65. 66, 67の入力データは、 データ (p cos. P 004, 00H, 0 OH) と、 データ (k , · d 001, 0 OH. 0 OH. 0 OH) である。 従って、 排他的論理和演算器 64, 65. 66, 67の出力データをデータ (p ooe, P oo*. 0 OH, 00H) とすると、 データ!)。οβは次式で表わすことができる。
· dooi+ P oo3 3 o これは表 5のステップ S 2011に対応する。
次に、 図 10のステップ S 54において、 キュー書き込みカウンタの計 数値 c n tWQを 1だけインクリメン卜する。 つまり、 キュー窨き込み力
ゥン夕の計数値 c n tWQは 2になる。 次いで、 ステップ S δ 5において、 キュー書き込みカウンタの計数値 c n tWQがキュー害き込み nQより小 さい場合はステップ S 52に戻る一方、 そうでない場合はサブルーチン処 理 P3を終了してリターンする。 この場合、 キュー害き込みカウンタの計 数値 c n tWQは 2であり、 キュー書き込み数 nQは 2であるから、 サブ ルーチン処理 P 3を終了して、 図 8のサブルーチン処理 P 1に戻る。
図 8のステップ S38において、 惰報シンボルカウンタの計数値 c n t を 1だけインクリメントする。 つまり、 情報シン'ボルカウンタの計数値 c n tは 2になる。 次いで、 ステップ S 39において、 情報シンボルカウン タの計数値 cn tが情報シンボル数 n I n f oより小さい場合はステップ S 32に戻る一方、 そうでない場合はサブルーチン処理 P 1を終了してリ ターンする。 この場合、 情報シンボルカウンタの計数値 c n tは 2であり、 情報シンボル数 n I n f 0は 10であるから、 ステップ S 32に戻る。 ステップ S 32において、 作業用 RAM63内の符号語バッファから情 報シンボルカウンタの計数値 c n t番目の情報シンボル B u f B [c n t] を読み出す。 この場合、 情報シンボルカウンタの計数値 cn tは 2である から、 符号語バッファの先頭から 3番目のシンボルである。 ここで取り出 した 3番目の情報シンボルをデータ i。02とする。 次いで、 ステップ S 3 3において、 32ビッ トラッチ 73から 32ビッ 卜のデータを取り出し、 その上位から i nd ex (本動作例の場合は 1 ) バイ ト目、 つまり上位 8 ビッ 卜のデータを得る。 この場合、 32ビッ トラツチ 73の内容は 〔p00 β, p oo4. 0 OH. 0 OH) であるので、 その上位 8ビッ トのデータは P 009である。 これは表 5のステップ S 2012に対応する。 さらに、 ステツ ブ S 34において、 32ビッ トラッチ 69の内容を 0にクリアする。 これ は表 5のステップ S 2013に対応する。
次いで、 ステップ S 35において、 キューメモリ 72の内容を、 キュー メモリ 72のフィード回数 n Fe e d回だけ進めるサブルーチン処理 P 2 を実行する。 当該サブルーチン処理 P 2では、 上記の処理と同様にしてキュ 一メモリ 72を 1回だけ進める。 これは表 5のステップ S 2014に対応 する。
次いで、 図 8のステップ S 36において、 入力データとステップ S 33 で求めた 32ビッ トラツチ 73の上位 8ビッ トのデータとの排他的論理和 を求める。 このデータ値を d tiozとすると、 この場合、 入力データ i。02と データ P。 との排他的論理和なので、 データ d。02は次式で表わすことが できる。
d 002 = 1 002 + P 009 … ^ 9 ) 以下、 上記の処理と同様に、 ステップ S37、 S 38、 S 39と進み、 さらに、 情報シンボルカウンタの計数値 cn tが情報シンボル数 n I n f o (本動作例において、 n I n f o= 10である。 ) に一致するまでステツ ブ S 32からステップ S 39までの処理を繰り返し、 サブルーチン処理 P 1を終了して、 図 7のメインルーチンに戻る。
次いで、 図 7のステップ S 22において、 キューメモリ 72から溢れた 32ビッ トのデータをダミーデータとして読み出す。 これは表 5のステツ ブ S 2052に対応する。 次いで、 ステップ S 23において、 キューメモ リ 72の内容を、 キューメモリ 72のフィード回数 nF e e d回だけ進め るサブルーチン処理 P 2を実行する。 当該サブルーチン処理 P 2では、 上 記の処理と同様にしてキューメモリ 72を 1回だけ進める。 これは表 5の ステップ S 2053に対応する。
次に、 図 7のステップ S 24において、 キューメモリ 72からパリティ シンボルを 4シンボルずつ合計 n Pa r i t yシンボル読み出し、 作業用
RAM63内の符号語バッファ B u ί B [] のパリティ語領域に格納する サブルーチン処理 P 4を実行する。 次に、 当該サブルーチン処理 P 4の内 容を図 11を参照して具体的に説明する。
まず、 図 11のステップ S 61において、 キュー読み出しカウン夕の計 数値 cn tRQを 0に初期化し、 ステップ S62において、 キューメモリ 72からパリティ シンボルを 4シンボルずつ読み出す。 さらに、 ステップ
563において、 作業用 R A M 63内の符号語バッファのパリティ語領域 に、 ステップ S 62で読み出した 4シンボル (32ビッ ト) 分のパリティ シンボルを格钠する。 この場合、 情報シンボル数 n I n f 0は 10であり、 キュー銃み出しカウンタの計数値 c n tRQは 0であるから、 符号語バッ ファに格納する位置 B u f B [n I n f 0 + c n t RQ · 4, ···, n I n f o + cn tRQ - 4 + 3] は Bu f B [10, -, 13] となる。 そし て、 ステップ S 64において、 キュー読み出しカウンタの計数値 c n t R Qを 1だけインクリメントする。 この場合、 計数値 c n t RQは 1になる。 次いで、 ステップ S 65において、 キュー銃み出しカウンタの計数値 c n t RQがキュー書き込み回数 nQより小さい場合、 ステップ S 62に戻る —方、 そうでない場合、 サブルーチン処理 P4を終了してリターンする。 この場合、 計数値 cn 11¾0は1でぁり、 キュー書き込み回数 nQは 2で あるから、 ステップ S 62に戻る。
ステップ S 62において、 キューメモリ 72からノくリティシンボルを 4 シンボルずつ銃み出し、 次いで、 ステップ S 63において、 作業用 RAM
63内の符号語バッファのパリティ語領域に、 ステップ S 62で読み出し た 4シンボル (32ビッ ト) 分のパリティシンボルを格納する。 この場合、 情報シンボル数 n I n f 0は 10であり、 キュー読み出しカウンタの計数 値 cn tRQは 1であるから、 符号語バッファに格納する位置 B u f B [n
I n f o + cn tRQ - 4, ···. n I n f o + cn tRQ - 4 + 3] は B u f B [14. ···, 17] となる。 さらに、 ステップ S64において、 キュ 一読み出しカウンタの計数値 c n t RQを 1だけインクリメントする。 こ の場合、 計数値 c n t RQは 2になる。 次いで、 ステップ S 65において、 キュー読み出しカウンタの計数値 c n t RQがキュー書き込み回数 nQよ り小さい場合、 ステップ S 62に戻る一方、 そうでない場合、 サブルーチ ン処理 P 4を終了してリターンする。 この場合、 計数値 c n t RQは 2で あり、 キュー害き込み回数 nQは 2であるから、 サブルーチン処理 P 4を 終了してメインルーチンにリターンする。 このサブルーチン処理 P 4は、 表 5のステップ S 2054及び S 2055に対応する。
以上で、 本動作例である RS (15, 10, d = 6) の符号語生成処理 を終了する。 ただし、 符号語は符号語バッファ Bu f B [0. ···, n I n f o + nPa r i t y-1] に格納されている。 この場合、 情報シンボル 数 n I n f oは 10であり、 ノ、 'リティシンボル数 nPa r i t yは 5であ るから、 苻号語は符号語バッファ Bu f B [0, ···, 14〕 に格納されて いる。
当該第 2の本実施形態においては、 第 1の実施形態に示した効果に加え て以下のような効果が得られる。 入力データと生成多項式の各係数とのガ ロア体上の積データを予め演算して ROM71に格納され、 初期化処理時 に作業用 RAM63に転送され、 作業用 RAM63は係数記慷手段を構成 する.。 図 3及び図 4の回路装置では、 係数記憶手段である作業用 RAM 6 3から同時に 4シンボルの積データを読み出すことができるように構成さ れる。 また、 m段の 32ビッ トラッチ 72— 1乃至 72— mからなるキュ 一メモリ 72を用いて、 第 1の記慷手段と選択手段を実現する一方、 8ビッ トラツチ 68を用いて、 第 2の記慷手段を実現する。 さらに、 8ビッ ト排
他的論理和澳算器 64, 65, 66. 67を用いて、 排他的論理和演算手 段を実現し、 また、 R0M71に格納されたプログラムを実行する CPU 61とラツチ制御装置 62とを用いて、 読み出し制御手段と第 1と第 2の 選択手段を実現する。
従って、 誤り訂正符号化装置の回路構成を従来技術に比較して簡単化す ることができるとともに、 リード ' ソロモン符号 RS (n, n— P, d = P + l) を、 1以上 4 xm以下である任意の Pについて符号化できる。 例 えば、 m=l 6とすると、 最小符号間距離 dを 2から 65まで自由に設定 できる。 ここで、 ガロア体上の積データを含むガロア体演算テーブルは、 初期化処理において、 ROM71から作業用 RAM63上に転送されて設 定されるので、 上記初期化処理において、 転送する種データを変更しかつ 初期化のパラメータ (本実施形態においては、 32ビッ トラッチの数 nQ u e u e L a t c hと、 パリティシンボル数 n P a r i t yである。 ) を 変更することにより、 装置の回路構成を変えずに、 原始多項式の変更ゃ符 号語の最小符号間距離 dの変更が可能である。 また、 符号語バッファを作 業用 RAM63上に有しているので、 ROM71に格納されるプログラム において、 情報シンボルの取り込み処理の内容とパリティ シンボル格納処 理の内容を変更することによって、 種々の積符号などの誤り訂正符号を符 号化することかできる。 また、 このようなプログラムの変更を行うと、 L DCと積符号の切り換えも、 装置の回路橇成を変えずに行えるという特有 の効果を有する。
<第 3の実施形態〉
図 15は、 本発明に係る第 3の実施形態の誤り訂正復号化装置の構成を 示すブロック図である。 図 15に示すように、 この第 3の実施形態の誤り 訂正複号化装置は、
( a ) 図 3に示す誤り訂正符号化装置と同様の構成を有する剰余演算器 2 08と、
(b)誤り数値及び誤り位置演算器 209と、
(c) 受信語記憶装置読み出しコントローラ 210と、
(d)排他的論理和演算器 211と、
( e〕 受信語記憶装置書き込みコン卜ローラ 212と、
(f )複数 N個のラッチが縱続接続されたシフ トレジスタからなる受信語 記億装置 213とを備える。
以下、 図 15を参照してリード · ソロモン符号 RS (N, -2 t, d =2 t + 1) の誤り訂正処理について説明する。
まず、 シンドロームを演算する処理を述べる。 リード . ソロモン符号 R S (N. N-2 t. d = 2 t + 1) の生成多項式は次式で表わすことがで きる。
G (X) = (X一な0) (Χ-α1) … (Χ-α21-1) … (40) ここで、 受信すべき符号語 Αを符号シンボル a ,の列として次式で表し、 A= ( a 0. i, a 2. ··'. a … (41) 受信時の誤りパターン Eを誤りシンボル e ,の列として次式で表し、
E= (e 0, e i, e 2, -, e n -!) … (42) 受信語 Yを受信シンボル y iの列として次式で表すとき、
Y= (yo, y y 2. ·'·, y n-i) ··· (43) 符号多項式 A (X) を
A (X) -ao+a, · X+a X2 +〜+an-1 · χ η·1 … (44) とし、 誤り多項式 E (X) を
E (X) eo+ei · X+e2' X2十… + 6 "-! · X11-1 - (45) とし、 受信多項式 Y (X) を
Y (X) =y。+y , · X + y 2 · X2 +… +yn-, · Xn-】 … (46) と定義する。 受信語 Υは受信すべき符号語 Αに対して誤りパターン Εが加 わったものであるから、 受信多項式 Y (X) は、
Y (X) =A (X) +E (X) … (47) と表わすことができる。 ここで、 剰余多項式 r (X) を
r (X) = [Y (X) ] MOD G (X) … (48) として定¾する。 ここで、 A MOD Bは Aを Bで除算したときの剰余 を演算する演算子である。 符号語 A (X) は生成多項式 G (X) で割り切 れるので、 式 (47) 及び式 (48) から次式を得る。
r (X) = [E (X) ] MOD G (X) … (49) また、 式 (49) を展開した次式
r (X) = Γ 0+ Γ ! · X+r2- …+!^ · X2t -1… (50) を用いて、 剰余多項式 r (X) の各係数 r。. r i. r 2. ···. r st を並 ベたべク トル表現である剰余べク トルを次式で表わす。
r = (r 0. rlt r 2, …, r 2,-,) … (51) 剰余多項式 r (X) は、 受信多項式 Y (X) を生成多項式 G (X) で割- た余りであるから、 情報多項式 I (X) を生成多項式 G (X) で割った余 りであるパリティ多項式 R (X) を求める方法と同じ方法で求められるこ とがわかる。 つまり、 誤り訂正符号化装置に受信語 Yを入力すると、 入力 された受信語 Yを生成多項式 G (X) で割ったときの剰余としてパリティ 語の代わりに剰余べク トノレ 1"カ<得られる。
以上説明したように、 剰余演算器 208として、 第 2の実施形態の誤り 訂正符号化装置を用いることができる。 剰余べク トル rを得ると、 例えば、 次式を用いて、
2t-l
S (X) = ∑ [ (G (X) — G {a ') ) / (Χ-α ')
i =0
··· (52) 一般化シン ドローム S (X) を演算することができる (例えば、 従来技術 文献 「荒木純道 (Kiyomichi Araki) ほか, "リード . ソロモン符号の復 号のための一般化シンドローム多項式" , 1991年電子情報通信学会春 季全国大会, A— 278, p p. 1 - 280. 1991年」 参照。 ) 。 従つ て、 第 2の実施形態の誤り訂正符号化装置である剰余演算器 208に受信 語 Yを入力し、 式 (52) の演算を行うことによって、 出力として一般化 シンドローム S CX) が得られる。
次いで、 誤り数値及び誤り位置を求める処理について述べる。 ここで、 誤りが L個の位置 (j i, j 2. -. j L) に生じたと仮定して説明する。 ここで、 L≤ tであり、 0≤ j!く j 2く…く j L≤n— 1とする。
式 (52) より、 We 1 c hと B e r 1 e k ampの方法 (例えば、 米 国特許第 4, 633. 470号参照。 ) や公知のユークリッ ド互除法等を 用いて誤り数値と誤り位置の組 (e ,n, j n) , n = l, 2, ···, Lを求 めることができる。 誤り数値及び誤り位置演算器 209には、 剰余演算器 208から剰余べク トル rが入力され、 誤り数値及び誤り位置演算器 20 9は、 上記の公知の方法によって、 誤り数値と誤り位置の組 (e ,n, j ,) を求め、 その誤り数値と誤り位置の組 (e in, j n) を η = 1から n==L (L≤ t) まで誤り個数だけ順次出力する。 ここで、 誤り数値のデータは
排他的論理和演算器 2 1 1の第 2の入力端子に出力される一方、 誤り位置 のデータはァドレスとして受信語記憶装置銃み出しコントローラ 2 1 0及 び受信語記 «装置香き込みコントローラ 2 1 2に出力される。
さらに、 誤り訂正処理について述べる。 誤り数値及び誤り位置演算器 2 0 9は誤り数値と誤り位置の組 (e i n, j n) を出力するが、 その誤り位 置 j πに位置する受信シンボル y に誤り数値 e ί ηを加えることにより、 誤りを訂正する。 そのために、 以下の処理を実行する。 まず、 受信語記憶 装置 2 1 3のデータ読み出し動作を制御する受信語記憶装置読み出しコン トローラ 2 1 0にァドレスとして誤り位置 j <>を入力して、 誤り位置 j。に 位置する受信シンボル y を受信語記憶装置 2 1 3から読み出す。 その読 み出した受信シンボル y j nと、 それに対応する誤り数値 e i nとを、 排他的 論理和演算器 2 1 1に入力することにより、 受信シンボル y i nと誤り数値 e の和 y + e i nをその出力データとして得る。 この出力データ y e ,„が訂正後の符号シンボル a となるので、 この訂正後の符号シンボル a i nを、 元の誤り位置 j nを了ドレスとし、 受信語記憶装置 2 1 3のデー タ書き込み動作を制御する受信語記憶装置害き込みコントローラ 2 1 2を 用いて、 受信語記悚装置 2 1 3に害き込む。 以上の処理を、 誤り数値及び 誤り位置演算器 2 0 9が、 n = lから n = L { L≤ t ) まで順次誤り数値 と誤り位置の組 (e j。) を出力することによって繰り返すことによ り、 すべての受信語に対して誤り訂正を実行して誤り復号化処理を完了す るこ.とができる。 このとき、 受信語記憶装置 2 1 3において、 誤り訂正さ れた符号語 Aを得ることができる。 そして、 当該符号語 Aは、 受信語記憶 装置 2 1 3のァ ドレスを順次ィンクリメ ントしながら、 受信語記憶装置読 み出しコントローラ 2 1 0に入力することにより、 受信語記憶装置読み出 しコントローラ 2 1 0により、 読み出されて誤り訂正された出力データと
して出力される。
以上説明したように、 第 3の実施形態によれば、 第 2の実施形態の誤り 訂正符号化装置を用いて誤り訂正復号化装置を実現することができる。 従つ て、 第 1及び第 2の実施形態と同様に、 従来技術の装置に比較して回路構 成が簡単であって、 回路構成を変更することなく、 実用に供することかで きる復号化速度を有して、 種々の最小符号間距離を有する誤り訂正符号を 復号化することができる誤り訂正復号化装置を実現することができる。 ぐ変形例〉
以上の実施形態において、 誤り訂正符号化装置を以下のように構成して もよい。 すなわち、 変形例の誤り訂正符号化装置は、 2 Nの元の数を有す るガロア体 G F ( 2 s) 上の元を有するリード . ソロモン符号を用いて、 1シンボル当たり自然数 Nビッ 卜の入力データに対する誤り訂正符号を符 号化する誤り訂正符号化装置において、
各入力データと上記リード · ソロモン符号の生成多項式の各係数とのガ ロア体上の複数の «デ一タをそれぞれ予め演算して、 上記複数の積データ を、 各ァドレスに対して複数 b個の積データを 1組として予め記憶する積 データ記憶手段と、
それぞれ N x bビッ 卜の記憶容量を有する自然数 m個の記憶装置からな る第 1の記馕手段と、
入力データに応答して、 上記檳データ記憶手段に記億された複数の穣デ ータを、 複数 b個の穣データを 1組として並列に読み出すように上記積デ 一夕記憶手段を制御する読み出し制御手段と、
それぞれ N x bビッ 卜の第 1と第 2の入力端子を有し、 上記読み出し制 御手段によって上記積データ記憶手段から並列に銃み出される複数 b個の 積データが第 1の入力端子に入力され、 上記第 1の入力端子に入力される
データと、 上記第 1の入力端子に入力されるデータとの排他的論理和を演 算して演算結果のデータを出力する排他的論理和演算手段と、
上記 m個の記慷装置に記憶されたデータを 1つの記憶装 毎に選択的に 順次読み出して出力し、 上記選択的に読み出して出力される Nx bビッ ト のデータのうち上位 Nx (b— 1) ビッ トのデータを上記排他的論理和演 算手段の第 2の入力端子の下位 Nx (b— 1) ビッ トに出力するとともに、 上記排他的論理和演算手段から出力される演算結果のデータを、 上記 m個 の記慷装置のうちの 1つに選択的に順次切り換えて害き込むように、 上記 第 1の記憶手段を制御する第 1の選択手段と、
Nビッ 卜の記億容量を有し、 上記第 1の選択手段によって上記 m個の記 憶装 Sのうちの 1つから選択的に出力される Nxbビッ 卜のデータのうち 下位 Nビッ 卜のデータを一時的に記悚して上記排他的論理和演算手段の第 2の入力端子の上位 Nビッ 卜に出力する第 2の記憶手段と、
上記入力データを上記積データ記境手段に順次入力することにより、 上 記第 1の記憶手段の m個の記憶装置においてパリティデータを生成し、 上 記入力データに続いて、 上記 m個の記憶装置を 1つの記慷装置毎に選択的 に順次切り換えることにより、 上記 m個の記悚装置において生成される各 パリティデータを順次出力する第 2の選択手段とを備える。 なお、 図 1及 び図 4の実施形態においては、 N=8、 b = 4、 及び m=3である。
以上の実施形態において、 穣データを記億するために ROM14を用い ている力、 本発明はこれに限らず、 ROM14に代えて、 論理回路素子の 組み合わせによる論理回路により構成され、 入力データに対して積データ を演算する演算手段を用いてもよい。
産業上の利用可能性
本発明によれば、 2Nの元の数を有するガロア体 GF (2N) 上の元を有
するリード ' ソロモン符号を用いて、 1シンボル当たり自然数 Nビッ トの 入力データに対する誤り訂正符号を符号化する誤り訂正符号化装置及び方 法において、 稹データ記慷手段である ROM (14) は、 各入力データと 上記リード · ソロモン符号の生成多項式の各係数とのガロア体上の複数の 積データをそれぞれ予め演算して、 上記複数の積データを、 各ァドレスに 対して複数 b個の積データを 1組として予め記憶する。 読み出し制御手段 (12, 13, 24- 26, 28 ) は、 入力データに応答して、 R OM ( 1 4) に記億された複数の積データを、 上記複数 b個の積データを 1組とし て並列に読み出した後、 排他的論理和演算器 (15— 18) 及びバス ¾択 器 (19) を介して自然数 m個の記憶装置 (20— 22) に選択的に順次 さき込む。 入力データを ROM (14) に順次入力することにより、 m個 の記愫装置においてパリティデータを生成して出力する。
従って、 複数の稹データを記憶した ROM 14から 4個の積データを 1 組として並列に (同時に) 排他的論理和演算器 (15— 18) に対して読 み出し可能に構成し、 4個の積データを用いて同時に処理し、 かつ 3個の 32ビッ トラッチ (20— 22) を選択的に順次繰り返して使用すること により、 符号化処理の演算をしているので、 回路構成を、 図 14の従来技 術の誤り訂正符号化装置の回路構成に比較して極めて簡単にすることがで きるとともに、 効率的にかつ高速で演算することができ、 実用に供するこ とが可能な符号化速度で誤り訂正符号を符号化することができる。
また、 本発明に係る上記誤り訂正符号化装置を用いて誤り訂正復号化装 置を構成することにより、 回路構成を極めて簡単にすることができるとと もに、 効率的にかつ高速で演算することができ、 実用に供することが可能 な復号化速度で誤り訂正符号を復号化することができる。