JPS638648B2 - - Google Patents
Info
- Publication number
- JPS638648B2 JPS638648B2 JP57102802A JP10280282A JPS638648B2 JP S638648 B2 JPS638648 B2 JP S638648B2 JP 57102802 A JP57102802 A JP 57102802A JP 10280282 A JP10280282 A JP 10280282A JP S638648 B2 JPS638648 B2 JP S638648B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- circuit
- equation
- multiplication
- signal
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Detection And Correction Of Errors (AREA)
- Optical Recording Or Reproduction (AREA)
- Error Detection And Correction (AREA)
Description
〔発明の技術分野〕
この発明は例えば光学式デジタルオーデイオデ
イスク(DAD)再生装置等に用いられるエラー
訂正符号の復号用に好適するガロア体における乗
算装置の改良に関する。
〔発明の技術的背景〕
周知のように、近時開発されている光学式
DAD再生装置(特にはCD:コンパクトデイスク
形)においては、そのエラー訂正符号としてクロ
スインターリーブリードソロモン符号(CIRC)
を採用している。
すなわち、これは従来より知られている代表的
なランダムエラー訂正符号のうちで最もエラー訂
正能力が高いものとして広範に定義されている
BCH符号の一種であるリードソロモン符号を用
いるものであるが、それにバーストエラーに対し
ても高い訂正能力を持たせるべくクロスインタリ
ーブなる信号処理を伴わせるようにしたものであ
る。
ところで、リードソロモン符号の復号つまりエ
ラー訂正はBCH符号のそれと同様になすことが
できる。
今、符号長(n)、情報シンボル(k)個、検
査シンボル(n−k)個からなるリードソロモン
符号について、その復号法を調べてみるものとす
る。但し、上記各シンボルは(m)個の2進ビツ
トつまり2m個の元を有する有限体であるガロア体
GF2mの元である。
そして、この場合(t)重エラー訂正リードソ
ロモン符号の生成多項式g(x)は、(α)をガロ
ア体GF(2m)の原始元として次の(1)式または(2)式
のように表わされる。
g(x)=(x+α)(x+α2)
……(x+α2t) ……(1)
g(x)=(x+α0)(x+α)
……(x+α2t-) ……(2)
また、送信符号語をC(x)、受信符号語をR
(x)で表わし、且つエラー多項式をE(x)とす
ると、これらの間には次のような関係が成立す
る。
R(x)=C(x)+E(x) ……(3)
この場合、多項式の係数はガロア体GF(2m)に
含まれており、エラー多項式E(x)はエラーロ
ケーシヨンおよび値(大きさ)に対応する項だけ
を含んでいる。
従つて、位置xjにおけるエラー値をYjとすると
E(x)=〓j
Yjxj ……(4)
となり、該(4)式でΣはエラーのすべての位置にわ
たる総和を意味している。
ここで、シンドロームSiを
Si=R(αi)
〔但しi=0,1……2t−1〕 ……(5)
の如く定義したとすると、上記(3)式より
Si=C(αi)+E(αi)
となる。
この場合、C(x)はg(x)で常に割り切れる
ので
C(αi)=0
であるから
Si=E(αi)
となる。そこで、上記(4)式より
Si=E(αi)=〓j
Yj(αi)j
=〓j
YjXi j ……(6)
と表わすことができる。但しαj=Xjとおいたもの
で、Xjはαjにおけるエラーロケーシヨンを表わし
ている。
ここで、エラーロケーシヨン多項式σ(x)は、
エラー数をeとして σ(x)=〓i(x−Xi)
=xe+σ1xe-1+………+σe ……(7)
と定義される。
また、(7)式のσ1〜σeはシンドロームSiとの間で
次のように関係付けられる。
Si+e+σ1Si+e-1
+……σe-1Si+1+σeSi ……(8)
つまり、以上のようなリードソロモン符号の復
号手順は
() (5)式によりシンドロームSiを計算する。
() (8)式によりエラーロケーシヨン多項式の
係数σ1〜σeを計算する。
() (7)式によりエラーロケーシヨン多項式の
根Xjを求める。
() (6)式によりエラー値Yjを求め、(4)式に
よりエラー多項式を求める。
() (3)式によりエラー訂正を行なう。
なる()〜()の手順に帰着せしめられる。
次に、以上のような復号手順によるエラー訂正
の具体例として、1ブロツクデータに4個の検査
シンボルを用いた場合について説明する。
すなわち、この場合の生成多項式g(x)は
g(x)=(x+1)(x+α)(x+α2)(x+
α3)
となり、2重エラーまでの訂正が可能となるもの
であるが、ここではそれを〔A〕,〔B〕なる二つ
の方式によつた場合について各別に述べるものと
する。
〔方式 A〕
() シンドロームS0〜S3を計算する。
() (8)式をe=1,e=2について書き直す
と、e=1の場合には
S1+σ1S0=0
S2+σ1S1=0
S3+σ1S2=0 ……(9)
となる。また、e=2の場合には
S2+σ1S1+σ2S0=0
S3+σ1S2+σ2S1=0 ……(10)
となる。
ここで、実際の復号器がe=1の場合から動作
を始めるものとすると、先ず連立方程式(9)を満足
する解σ1を求めなければならない。そして、この
解が存在しなければ、復号器は次にe=2の場合
について連立方程式(10)を満足する解σ1,σ2を求め
なければならない。なお、ここでも解が得られな
い場合はe≧3とみなすことになる。
(9)式の解σ1は
σ1=S1/S0=S2/S1=S3/S2
として求め、(10)式の解σ1,σ2は
σ1=S0S3+S1S2/S1 2+S0S2,σ2=S1S3+S2 2/S1 2
+S0S2
として求める。
() 以上のようにしてエラーロケーシヨン多
項式の係数σiが得られたならば、次に(7)式によ
りエラーロケーシヨン多項式の根を求める。
先ず、e=1の場合は
σ(x)=x+σ1=0,∴X1=σ1
となる。また、e=2の場合は
σ(x)=x2+σ1x+σ2=0 ……(11)
として、該(11)式にガロア体GF(2m)の元を順次に
代入してその解を求めればよく、今この根をを
X1,X2とする。
() エラーロケーシヨン多項式の根が求まつ
たなら、次に(6)式によりエラー値Yjを求める。
先ず、e=1の場合は
S0=Y1 ∴Y1=S0
となる。また、e=2の場合は
S0=Y1+Y2
S1=Y1X1+Y2X2
より
∴Y1=X2S0+S1/X1+X2
Y2=S0+Y1
() 上述のようにして求めたエラー値Y1,
Y2により訂正を行なう。
ところで、ポインターイレージヤー法等によつ
てエラーロケーシヨンの値を正確に知ることがで
きる場合には、上述した2重エラー訂正用のリー
ドソロモン符号によつて4重エラーまでの訂正が
可能となるものであり、それが後述する〔方式
B〕である。
〔方式 B〕
() シンドロームS0〜S3を計算する。
()() エラーロケーシヨンを別の検出方
法で知る。
() (6)式によりエラー値を求める。
先ずe=1,e=2の場合は上述した〔方式
A〕の()と同様である。
そして、e=3の場合
S0=Y1+Y2+Y3
S1=Y1X1+Y2X2+Y3X3
S2=Y1X1 2+Y2X2 2+Y3X3 2
を解いて
Y1=(S2+X3S1)+X2(S1+X3S0)/(X1+X2)(X1
+X3)
Y2=(S1+X3S0)+Y1(X1+X3)/(X2+X3)
Y3=S0+Y1+Y2
となる。
また、e=4の場合は
S0=Y1+Y2+Y3+Y4
S1=Y1X1+Y2X2+Y3X3+Y4X4
S2=Y1X1 2+Y2X2 2+Y3X3 2+Y4X4 2
S3=Y1X1 3+Y2X2 3+Y3X3 3+Y4X4 3
を解いて
Y1={(S0X4+S1)X3+(S1X4+S2)}X2+(S1X4
+S2)X3+(S2X4+S3)/(X1+X2)(X1+X3)(X1+
X4)
Y2=(S0X4+S1)X3+(S1X4+S2)+Y1(X1+X3)
(X1+X4)/(X2+X3)(X2+X4)
Y3=(S0X4+S1)+Y1(X1+X4)+Y2(X2+X4)/
(X3+X4)
Y4=S0+Y1+Y2+Y3
となる。
() 上述のようにして求めたY1〜Y4により
訂正を行なう。
第1図は以上のような原理に基くリードソロモ
ン符号の実際の復号システムでなるエラー訂正回
路を示す概略構成図である。すなわち、入力端
(IN)を介して導かれる被訂正用のデータ(エラ
ー訂正用としてリードソロモン符号が用いられて
いることは勿論である)は二分されて、一方が後
述する復号動作の間データバツフア11に記憶さ
れると共に、他方が復号動作をなすためのシンド
ローム計算器12以下に導かれる。
そして、シンドローム計算器12で計算された
シンドロームはシンドロームバツフア13に記憶
される。
ここで、シンドロームバツフア13の出力部に
接続されたオアゲート14はエラーの有無を指示
するもので、エラーがあると前述したような手順
によつてエラー訂正動作を開始することになる。
つまり、エラーロケーシヨン多項式計算器15
がエラーロケーシヨン多項式σ(x)の係数を計
算し、エラーロケーシヨン計算器16がエラーロ
ケーシヨン多項式の根を計算し、エラー値計算器
17がエラー値を計算し、これらのエラーロケー
シヨンおよびエラー値により上記データバツフア
11から出力されるデータを訂正するものであ
る。
ところで、このような復号システムの各計算器
12,15,16,17は0か否かの検出ならび
に必要な加算、乗算および除算等の代数演算をな
すものであるが、これらについての具体例として
従来第2図に示すように構成されたエラーロケー
シヨン多項式計算器(特公昭56―20575号)が知
られている。
すなわち、第2図において21はシンドローム
バツフアであつて、シンドロームSiを記憶するた
めのRAMでなり、該シンドロームバツフア21
にはガロア体GF(2m)の元である各シンドローム
がそれぞれmビツトの2進形式で記憶される。
また、22は作業用バツフアであつて、エラー
ロケーシヨン多項式の係数を計算する際に、代数
演算の中間結果および最終結果を記憶するための
RAMでなり、後の演算で使用される部分結果も
該作業用バツフア22に記憶される。
そして、23は代数演算の順序を指示する順序
制御装置であつて、上記シンドロームバツフア2
1および作業用バツフア22に対してアドレスを
供給して適切な記憶位置をアクセスすると共に、
実行された代数演算結果を調べて次の適切な演算
へ分岐せしめるのに供せられる。
さらに、24,25はそれぞれガロア体GF
(2m)の元の対数および真数を各別にテーブルの
形式で記憶しているROMでなる対数バツフアお
よび真数バツフアである。
ここで、前者の対数バツフア24のアドレスは
元αiの2進表示であり、そのエントリーはαを底
とするαの対数すなわちiであるが、後者の真数
バツフア25のアドレスiにおけるエントリーは
αiの2進表示である。
例えばガロア体GF(28)の法多項式F(x)を
F(x)=x8+x6+x5+x4+1
とすると、その0以外の元はF(x)=0の根αの
べき乗またはα0〜α7までの線形結合
7
〓i=0
aiαi (但しai=0または1)
で表わすことができる。
また、この場合a0〜a7までの8個の係数を取り
出して2進ベクトルとして表わすこともできる。
例えば
α1=0・α0+1・α1+0・α2+0・α3+0・α4
+0・α5+0・α6+0・α7
=(01000000)
α7=0・α0+……+0・α6+1・α7
=(00000001)
α8=1+α4+α5+α6
(10001110)
α9=α・α8=α+α5+α6+α7
(01000111)
の如くであり、これら以外の元も同様にしてベク
トル表示することができる。
そして、この場合対数テーブルのアドレス1〜
255は元αiの8ビツトの2進ベクトル表示であり、
対応するエントリは指数iの2進表示である。
また、真数テーブルは指数iをアドレスに用
い、エントリはαiの2進ベクトル表示である。
次に、第2図のエラーロケーシヨン多項式計算
器による実際の代数演算を各別に説明する。
(1) 加算
元αiおよびαjを加算する場合には、これら2つ
の元がAレジスタ20およびBレジスタ26を介
してエクスクルシブオアゲート27により各ビツ
ト毎に排他的な論理和をとる。これによつて得ら
れる上記2つの元の和の結果はCレジスタ19を
介して上記作業用バツフア22に転送される。
(2) 0であるか否かの検出
元αiが0であるか否かを調べる場合には、元αi
がHレジスタ28を介してオアゲート29により
論理和がとられる。この結果はMレジスタ30を
介して上記作業用バツフア22に転送される。こ
の場合、Mレジスタ30の内容は元αiが0のとき
のみ0になる。
(3) 乗算
元αiおよびαjを乗算する場合には、先ずこれら
2つの元が0であるか否かが調べられる。若し、
いずれか一方の元が0であれば、実際に乗算する
までもなく、乗算結果は0である。しかるに、両
方とも0でない場合には、これらの元は上記対数
バツフア24用のアドレスレジスタ31に順次に
ロードされる。そして、対数バツフア24からの
出力iおよびjはDレジスタ32およびEレジス
タ33を介して1の補数加算器34により、28−
1を法として1の補数加算が行なわれる。これに
よつて得られる結果i+j=t mod(28−1)
はLレジスタ35を介して上記真数バツフア25
用のアドレスレジスタ36にロードされる。この
場合、真数バツフア25のアドレス入力がtであ
れば、その出力αtが乗算結果としてGレジスタ3
7を介して上記作業用バツフア22に転送され
る。
(4) 除算
元αjによるαiの除算(αi/αj)は基本的には上
記(3)の乗算の場合と同様であるが、上記Eレジス
タ33の内容を上記Dレジスタ32の内容から減
算せしめる点で異なつている。つまり、Eレジス
タ33にある元αjの対数が補数化器38により補
数化されてFレジスタ39を介して上記1の補数
加算器34に送るようにした点である。そして、
以下(3)の乗算の場合と同様に処理されるものであ
るが、この場合真数バツフア25の出力が求める
除算の結果つまり商となつているものである。
〔背景技術の問題点〕
しかしながら、以上のような従来のエラー訂正
装置は、そのエラーロケーシヨン多項式計算器に
おける代数演算のうち乗算および除算用として対
数バツフアおよび真数バツフアを必要とするもの
であるが、このために用いられるROM等のメモ
リ容量が膨大なものになるので、LSI化が阻害さ
れて大容量のメモリを外付けしなければならない
という不具合を生じていた。
これは、前述した例の如く1シンボル8ビツト
とした場合で255×8ビツト=2040ビツトの
ROMが2つ必要になり、合計4080ビツトにもな
ることからして容易に窺い知れるところである。
つまり、従来より知られているガロア体におけ
る乗算装置および除算装置はそれらの元の対数お
よび真数を各別にテーブルの形式で記憶している
大容量メモリでなる対数バツフアや真数バツフア
を必要とするので、それだけ構成が複雑化して高
価格につくという問題を有していた。
〔発明の目的〕
そこで、この発明は以上のような点に鑑みてな
されたもので、特に大容量のメモリを必要とする
対数バツフアや真数バツフアを用いることなくガ
ロア体における乗算をなし得るようにし、以つて
構成の簡易化ならびに低価格化に寄与し得るよう
にした極めて良好なるガロア体における乗算装置
を提供することを目的としている。
〔発明の概要〕
すなわち、この発明によるガロア体における乗
算装置は、ガロア体GF(2m)の生成多項式G(x)
の1根をαとする被乗数データB(α)(但し、B
(α)=bn-1αm-1+bn-2αm-2+……+b0)および乗
数データC(α)(但し、C(α)=cn-1αm-1+cn-2
αm-2+……+c0)の乗算をB(α)・C(α)=αB
(α)+B(α)(但し、=cn-1αm-2+cn-2
αm-4+cn-3αm-6+……+c1,=cn-2αm-2+cn-4
αm-4+cn-6αm-6+…+c0)なる第1の部分乗算
〔αB(α)〕および第2の部分乗算〔B(α)
〕の和の形に変換して処理するもので、前記第
1の部分乗算を第1のステツプで処理する第1の
手段と、前記第2の部分乗算を第2のステツプで
処理する第2の手段と、前記第1および第2の手
段の各部分乗算出力を加算する第3の手段とを具
備してなることにより、ハード化して構成を大幅
に簡易化すると共に、基本クロツク2ステツプで
処理し得るようにして処理時の短縮化を図つたこ
とを特徴としている。
〔発明の実施例〕
先ず、この発明が適用される光学式(CD形)
デジタルオーデイオデイスク(DAD)再生装置
の概要について説明する。
すなわち、第3図に示すようにデイスクモータ
111によつて回転駆動されるターンテーブル1
12上に装着されたデイスク113は光学式ピツ
クアツプ114によつて再生される。この場合、
光学式ピツクアツプ114は半導体レーザ114
aからの出射光をビームスプリツター114b、
対物レンズ114cを介してデイスク113の信
号面に照射し、該デイスク113に所定の
(EFM)変調およびインタリーブを伴つた形態で
記録されている再生すべきオーデイオ信号のデジ
タル(PCM)化データに対応したピツト(反射
率の異なる凹凸)からの反射光を対物レンズ11
4c、ビームスプリツター114bを介して4分
割フオトデテクタ114dに導き、該4分割フオ
トデテクタ114dで光電変換された4つの再生
信号を外部に出力可能になされているもので、自
からはピツクアツプ送りモータ115によつてデ
イスク113の半径方向に直線駆動される。
そして、4分割フオトデテクタ114dからの
4つの再生信号はマトリクス回路116に供給さ
れて所定のマトリクス演算処理が施されることに
より、フオーカスエラー信号(F)、トラツキン
グエラー信号および高周波信号(RF)に分離さ
れる。
このうち、フオーカスエラー信号(F)はフオ
ーカスサーチ回路110からのフオーカスサーチ
信号と共に、前記光学式ピツクアツプ114のフ
オーカスサーボ系(FS)を駆動するのに供せら
れる。
また、トラツキングエラー信号(T)は後述す
るシステムコントローラ117を介して与えられ
るサーチ制御信号と共に、前記光学式ピツクアツ
プ114のトラツキングサーボ系(TS)を駆動
するのに且つ前記ピツクアツプ送りモータ115
を(リニアトラツキング)制御するのに供せられ
る。
そして、残る高周波信号(RF)が主再生信号
成分として再生信号処理系118に供給される。
すなわち、この再生信号処理系118は先ず再生
信号をスライスレベル(アイパターン)検出器1
19によつて制御される波形整形回路120に導
いて不要なアナログ成分と必要とするデータ成分
を分離し、データ成分のみをPLL型でなる同期
クロツク再生回路121および第1の信号処理系
122のエツジ検出器122aに供給する。
ここで、同期クロツク再生回路121からの同
期クロツクはデータ復調用として第1の信号処理
系122における同期信号分離用クロツク生成回
路122bに導かれて同期信号分離用クロツクを
生成するのに供せられる。
一方、上記エツジ検出器122aを通つた再生
信号は同期信号検出器122cに導かれて上記同
期信号分離用クロツクにより同期信号が分離され
ると共に、復調回路122dに導かれて(EFM)
復調される。
このうち、同期信号は同期信号保護回路122
eを介して誤動作が生じないように保護された状
態で、上記同期信号分離用クロツクと共に入力デ
ータ処理用タイミング信号生成回路122fに導
かれる。
また、復調信号はデータバス入出力制御回路1
22gを介して後述する第2の信号処理系123
の入出力制御回路123aに供給されると共に、
そのうちのサブコードであるコントロール信号お
よび表示信号成分がコントロール表示処理回路1
22hおよびサブコード処理回路122iに導か
れる。
そして、サブコード処理回路122iで必要な
エラー検出および訂正が施されたサブコードデー
タはシステムコントローラ用インターフエイス回
路122qを介してシステムコントローラ117
に供給される。
ここで、システムコントローラ117はマイク
ロコンピユータ,インタフエイス回路およびドラ
イバ用集積回路等を有してなり、コントロールス
イツチ124からの指令信号によりDAD再生装
置を所望の状態に制御すると共に、上述のサブコ
ード(例えば再生曲のインデツクス情報)を表示
器125に表示せしめるのに供せられている。
なお、上記入力データ処理用タイミング信号生
成回路122fからのタイミング信号はデータセ
レクト回路122jを介して上記データバス入出
力制御回路122gを制御するのに供せられると
共に、周波数検出器122kおよび位相検出器1
22lならびにPWM変調器122mを介して上
記デイスクモータ111を線速度一定(CLV)
方式で駆動するための自動周波数制御(AFC)
および自動位相制御(APC)に供せられている。
この場合、位相検出器122lにはクリスタル
発振器122nからの発振信号に基いて動作する
システムクロツク生成回路122pからのシステ
ムクロツクが供給されている。
そして、第2の信号処理回路123の入出力制
御回路123aを通つた復調データはエラー検出
および訂正または補正用のシンドローム検出器1
23b、エラーポインタ制御回路123c,訂正
回路123dおよびデータ出力回路123eを介
して必要なエラー訂正、デインタリーブ、エラー
補正等の処理を受けてデジタル―アナログ(D/
A)変換器126に導出される。
この場合、外部メモリ制御回路123fは上記
データセレクト回路122jと共働して訂正に必
要なデータが書き込まれている外部メモリ127
を制御することにより、上記入出力制御回路12
3aを介して訂正に必要なデータを取り込む如く
なされている。
また、タイミングコントロール回路123gは
前記システムクロツク生成回路122pからのシ
ステムクロツクに基いてエラー訂正および補正な
らびにD/A変換に必要なタイミングコントロー
ル信号を供給する如くなされている。
また、ミユーテイング(検出)制御回路123
hは上記エラーポインタ制御回路123cからの
出力またはシステムコントローラ117を介して
与えられるコントロール信号に基いてエラー補正
時およびDAD再生装置の動作開始、終了時等に
必要となる所定のミユーテイング制御をなすのに
供せられている。
そして、上記D/A変換器126でアナログ信
号に戻されたオーデイオ信号はローパスフイルタ
128、増幅器129を介してスピーカ130を
奏鳴するのに供せられる。
次に、以上のようなDAD再生装置に適用され
たエラー訂正回路について説明する。
先ず、原理について述べると、ガロア体GF
(28)における2重訂正BCH符号は多項式表現し
た場合
U0,U1,U2……Un-1,P0,P1,P2,P3……(21)
の如く表わされる。但し、U0〜Un-1は情報シン
ボルで、1シンボルが8ビツトのものがm個まと
められているものとする。また、P0〜P3はパリ
テイシンボルで、上記m個の情報シンボルに4個
分のパリテイシンボルが付加されているものとす
る。
つまり、(21)式の表現はパリテイシンボルを情
報シンボルと訂正上同一視し得ることによるもの
で、これは
Wn+3,Wn+2,Wn+1……W3,W2,W1,W0……(22)
の如く書き換えられる。
これによつて、送信多項式F(x)は
F(x)=Wn+3xm+3+Wn+2xm+2+……+W1x+W0……(
23)
の如く表わすことができ、且つ受信多項式F
(x)′は
F(x)′=Wn+3′xm+3+Wn+2′xm+2+……+W1′x
+W0……(24)
の如く表わすことができる。
ここで、ガロア体GF(28)の生成多項式G(x)
の1根をαとすると、上記F(x)は2訂訂正
BCH符号において、1,α,α2,α3,の4根を
有することになるから
F(1)=n+1
〓i=0
W1=0
F(α)=n+3
〓i=0
Wiαi=0
F(α2)=n+3
〓i=0
Wi(α2)i=0
F(α3)=n+3
〓i=0
Wi(α3)i=0
(25)
の如くなる。
つまり、送信側では上記(25)式を満足し得るよ
うにパリテイシンボルを決定して伝送するもので
あるが、受信側では伝送系の介在によつて必ずし
もそのままの形で受信し得ないのをエラーとして
訂正するものである。
この場合、上述した2重訂正BCH符号によれ
ば、合計m+4個のシンボル中、2個までのシン
ボルエラーを訂正することが可能となる。
今、上記受信多項式中WiとWjとの2個のシン
ボルにエラーを起こして
W′i=Wi+ei
W′j=Wj+ej
になつたとする。この場合、W′iとW′j以外のシン
ボルにはエラーがなく
W′k=Wk
(但しk=0〜m+4
k≠i,k≠j)
で表わされるものとする。
ここで、受信多項式F′(x)について送信時と
同様に1,α,α2,α3を代入してみると
F′(1)=ei+ej=S0
F′(α)=eiαj+ejαj=S1
F′(α2)=eiα2i+ejα2j=S2
F′(α3)=eiα3i+ejα3j=S3 (26)
のようになる。
ここで、S0〜S3はシンドロームと称されるもの
で、2個のシンボルエラーの場合には(26)式の情
報内容を有していることになる。
ところで、BCH符号理論において2重訂正の
場合は前述したようなエラーロケーシヨン多項式
を用いる方法があり、これは
σ1=αi+αj=S0S3+S1S2/S1 2+S0S2 ……(27)
σ2=αiαj=S1S3+S2 2/S1 2+S0S2 ……(28)
f(x)=x2+σ1x+σ2 ……(29)
の如くである。
つまり、(27),(28)でシンドロームS0〜S3によ
つてσ1とσ2とを求めて(29)式に代入するものであ
るが、この場合(29)式のxについてはα0〜αm+3ま
で順に代入するものとする。
ここで、(29)式はαiとαjでf(x)=0となる筈
であるから、f(x)=0となる点を求めれば、2
個のエラーロケーシヨンを求めることができるよ
うになる。
次に、エラーパターンを求める方法は判明して
いるとαiとαjより、上記(26)式を用いて
ei=S0αj+S1/αi+αj ……(30A)
ej=S0+ei ……(30B)
の如く遂行することができる。
ところで、このようなエラーロケーシヨン(多
項式)ならびにエラーパターンを求める際に必要
となるガロア体における乗算や除算を前述したよ
うな大容量メモリを用いることなくハード的な構
成でなし得るようにすることにこの発明の狙いが
ある。
しかるに、この場合大容量のメモリを用いない
で、g(x)を生成多項式とするガロア体におけ
る乗算および除算をなすにしても、乗算が例えば
後述するようにして比較的簡単になし得るもの
の、除算はやはり困難であるので、でき得る限り
除算を減少した方が望ましい。
そこで、次に上述したエラーロケーシヨンおよ
びエラーパターンを求める方法について除算を減
少する方向で展開してみる。
先ず、エラーロケーシヨン(多項式)の生成に
ついてであるが、上記(27),(28)式についてそれ
ぞれの右辺の分母が等しいから
Sa=S2 1+S0S2
Sb=S0S3+S1S2
Sc=S1S3+S2 2 ……(31)
のようにおくと、(27),(28)式は
σ1=αi+αj=Sb/Sa ……(32)
σ2=αiαj=Sc/Sa ……(33)
の如くなる。この(32),(33)式を(29)式に代入する
と
f(x)=x2+Sb/Sax+Sc/Sa ……(34)
となる。
そして、この(34)式はxにα0〜αm+3まで代入し
てf(x)=0となることをチエツクすればエラー
ロケーシヨンが求まるのであるから、これを次の
ように変形して
f′(x)=Saf(x)=Sax2+Sbx+Sc ……(35)
としても、該f′(x)にα0〜αm+3を代入してやる
ことによりf′(x)=0となる点でαiとαjとが求ま
ることになる筈である。
つまり、このようにしてエラーロケーシヨン多
項式を求める際には除算をなくすことが可能とな
る。
次に、エラーパターンの生成についてである
が、上記(30A)式でeiを求める際に必要となる除
算(S0αj+S1/αi+αj)について、分母であるαi+
αjの
逆数(αi+αj)-1が予め判明していれば
ei=(S0αj+S1)(αi+αj)-1……(30A′)
なる乗算に帰着せしめることが可能となる。
そこで、次に上記逆数(αi+αj)-1を求める方
法についてみてみるに、上記(35)式に(32)式を入
れると
f′(x)=Sax2+Sa(αi+αj)x+Sc ……(36)
となる。そして、かかる(36)式のxにα0〜αm+3ま
で代入する操作が上記エラーロケーシヨンを求め
るのに必要であることになるが、このα0〜αm+3ま
でを代入する間に該(36)式のSa(αi+αj)xなる項
に着眼して
Sa(αi+αj)x=αr ……(37)
となるxを求める操作をしてやる。
具体的には、今、m=28とすると、(37)式のx
にはα0〜α31まで代入されることになるが、ガロ
ア体GF(28)では
α28-1=α255=1
が最大で、この場合α0〜α254の巡回符号となるか
らα0〜α254までしか扱うことはない。
そして、今α0〜α31まで代入してみるのである
から、7<255/32<8からα32m→α-32m(但しm
=0,1……7)までの逆数データ8個を下表の
ようにコード化しておくものとする。
[Technical Field of the Invention] The present invention relates to an improvement of a multiplication device in a Galois field suitable for decoding an error correction code used, for example, in an optical digital audio disk (DAD) playback device. [Technical background of the invention] As is well known, the recently developed optical system
Cross-interleaved Reed-Solomon code (CIRC) is used as an error correction code for DAD playback devices (particularly CD (compact disk type)).
is adopted. In other words, it is broadly defined as having the highest error correction ability among the typical random error correction codes known to date.
It uses a Reed-Solomon code, which is a type of BCH code, but it is also accompanied by signal processing called cross-interleaving in order to have a high correction ability even for burst errors. By the way, decoding, that is, error correction of the Reed-Solomon code can be performed in the same way as that of the BCH code. Let us now examine a decoding method for a Reed-Solomon code consisting of a code length (n), information symbols (k), and check symbols (nk). However, each symbol above is a Galois field, which is a finite field having (m) binary bits, that is, 2 m elements.
It is the source of GF2 m . In this case, the generating polynomial g(x) of the (t) multiple error correction Reed-Solomon code is expressed as the following equation (1) or (2), where (α) is a primitive element of the Galois field GF(2 m ). is expressed in g (x) = (x + α) (x + α 2 ) ... (x + α 2t ) ... (1) g (x) = (x + α 0 ) (x + α) ... (x + α 2t- ) ... (2) Also, transmission The code word is C(x), and the received code word is R.
(x) and the error polynomial is E(x), the following relationship holds between them. R(x)=C(x)+E(x)...(3) In this case, the coefficients of the polynomial are contained in the Galois field GF(2 m ), and the error polynomial E(x) is the error location and value. Contains only terms corresponding to (size). Therefore, if the error value at position x j is Y j , E(x) = 〓 j Y j x j ...(4), and in equation (4), Σ means the sum of errors over all positions. ing. Here, if we define the syndrome S i as S i =R (α i ) [where i=0, 1...2t-1] ...(5), then from the above equation (3), S i = C (α i )+E(α i ). In this case, since C(x) is always divisible by g(x), C(α i )=0, so S i =E(α i ). Therefore, from equation (4) above,
It can be expressed as Si=E(α i )=〓 j Y j (α i ) j =〓 j Y j X i j (6). However, α j =X j , where X j represents the error location at α j . Here, the error location polynomial σ(x) is
It is defined as σ(x)=〓i(x−X i )=x e +σ 1 x e−1 +……+σ e ……(7) where the number of errors is e. Moreover, σ 1 to σ e in equation (7) are related to syndrome S i as follows. S i+e +σ 1 S i+e-1 +...σ e-1 S i+1 +σ e S i ...(8) In other words, the decoding procedure for the Reed-Solomon code as described above is () (5) Calculate the syndrome S i by the formula. () Calculate the coefficients σ 1 to σ e of the error location polynomial using equation (8). () Find the root X j of the error location polynomial using equation (7). () Find the error value Y j using equation (6), and find the error polynomial using equation (4). () Error correction is performed using equation (3). This results in the steps () to (). Next, as a specific example of error correction using the above decoding procedure, a case will be described in which four check symbols are used for one block of data. That is, the generator polynomial g(x) in this case is g(x)=(x+1)(x+α)(x+α 2 )(x+
α 3 ), which makes it possible to correct up to a double error, but here we will discuss the cases using two methods [A] and [B] separately. [Method A] () Calculate syndromes S0 to S3 . () Rewriting equation (8) for e=1 and e=2, in the case of e=1, S 1 +σ 1 S 0 =0 S 2 +σ 1 S 1 =0 S 3 +σ 1 S 2 =0... …(9) becomes. Also, in the case of e=2
S 2 +σ 1 S 1 +σ 2 S 0 =0 S 3 +σ 1 S 2 +σ 2 S 1 =0 (10). Here, assuming that the actual decoder starts its operation from the case where e=1, it is first necessary to find a solution σ 1 that satisfies the simultaneous equations (9). If this solution does not exist, then the decoder must find solutions σ 1 and σ 2 that satisfy the simultaneous equations (10) for e=2. Note that if no solution is obtained here, it is assumed that e≧3. The solution σ 1 of equation (9) is obtained as σ 1 =S 1 /S 0 =S 2 /S 1 =S 3 /S 2 , and the solutions σ 1 and σ 2 of equation (10) are obtained as σ 1 =S 0 S 3 +S 1 S 2 /S 1 2 +S 0 S 2 ,σ 2 =S 1 S 3 +S 2 2 /S 1 2
Find it as +S 0 S 2 . () Once the coefficient σ i of the error location polynomial has been obtained as described above, the roots of the error location polynomial are then determined using equation (7). First, when e=1, σ(x)=x+σ 1 =0, ∴X 1 =σ 1 . In addition, in the case of e=2, σ(x)=x 2 + σ 1 All you have to do is find the solution, and now find this root.
Let X 1 and X 2 be. () Once the roots of the error location polynomial have been found, the error value Y j is then found using equation (6). First, when e=1, S 0 =Y 1 ∴Y 1 =S 0 . Also, in the case of e=2
S 0 = Y 1 + Y 2 S 1 = Y 1 X 1 + Y 2 From X 2 ∴Y 1 = X 2 S 0 + S 1 /X 1 + Error value Y 1 ,
Correct by Y 2 . By the way, if the value of the error location can be accurately known using the pointer erasure method or the like, it is possible to correct up to quadruple errors using the Reed-Solomon code for double error correction described above. This is [Method B], which will be described later. [Method B] () Calculate syndromes S0 to S3 . () () Know the error location using another detection method. () Calculate the error value using equation (6). First, in the case of e=1 and e=2, it is the same as () of the above-mentioned [method A]. Then, in the case of e=3, S 0 = Y 1 + Y 2 + Y 3 S 1 = Y 1 X 1 + Y 2 X 2 + Y 3 X 3 S 2 = Y 1 X 1 2 + Y 2 Solve Y 1 = (S 2 + X 3 S 1 ) + X 2 (S 1 + X 3 S 0 ) / (X 1 +
+X 3 ) Y 2 =(S 1 +X 3 S 0 )+Y 1 (X 1 +X 3 )/(X 2 +X 3 ) Y 3 =S 0 +Y 1 +Y 2 . Also, in the case of e=4, S 0 =Y 1 +Y 2 +Y 3 +Y 4 S 1 =Y 1 X 1 +Y 2 X 2 +Y 3 X 3 +Y 4 X 4 S 2 = Y 1 2 +Y 3 X 3 2 + Y 4 X 4 2 S 3 =Y 1 X 1 3 + Y 2 X 2 3 + Y 3 3 + (S 1 X 4 + S 2 )}X 2 + (S 1 X 4
+S 2 )X 3 +(S 2 X 4 +S 3 )/(X 1 +X 2 )(X 1 +X 3 )(X 1 +
X 4 ) Y 2 = (S 0 X 4 + S 1 ) X 3 + (S 1 X 4 + S 2 ) + Y 1 (X 1 + X 3 )
( X 1 +X 4 )/ ( X 2 +X 3 ) (X 2 + X 4 ) Y 3 = ( S 0
(X 3 +X 4 ) Y 4 =S 0 +Y 1 +Y 2 +Y 3 . () Correction is made using Y 1 to Y 4 obtained as described above. FIG. 1 is a schematic configuration diagram showing an error correction circuit which is an actual Reed-Solomon code decoding system based on the above principle. That is, the data to be corrected (of course Reed-Solomon code is used for error correction) led through the input terminal (IN) is divided into two parts, one of which is used as a data buffer during the decoding operation described later. 11, and the other one is led to the syndrome calculator 12 and below for decoding operations. The syndrome calculated by the syndrome calculator 12 is stored in the syndrome buffer 13. Here, the OR gate 14 connected to the output part of the syndrome buffer 13 indicates the presence or absence of an error, and if there is an error, an error correction operation is started according to the procedure described above. In other words, the error location polynomial calculator 15
calculates the coefficients of the error location polynomial σ(x), the error location calculator 16 calculates the roots of the error location polynomial, the error value calculator 17 calculates the error value, and these error locations and The data output from the data buffer 11 is corrected based on the error value. By the way, each of the calculators 12, 15, 16, and 17 of such a decoding system detects whether or not it is 0 and performs necessary algebraic operations such as addition, multiplication, and division. Conventionally, an error location polynomial calculator (Japanese Patent Publication No. 56-20575) constructed as shown in FIG. 2 is known. That is, in FIG. 2, 21 is a syndrome buffer, which is a RAM for storing the syndrome S i .
Each syndrome, which is an element of the Galois field GF (2 m ), is stored in m-bit binary format. Further, 22 is a work buffer, which is used to store intermediate results and final results of algebraic operations when calculating the coefficients of the error location polynomial.
Partial results used in later calculations are also stored in the working buffer 22. 23 is a sequence control device for instructing the order of algebraic operations, and the syndrome buffer 2
1 and working buffer 22 to access appropriate storage locations;
It is used to check the result of the algebraic operation executed and branch to the next appropriate operation. Furthermore, 24 and 25 are each Galois field GF
These are a logarithm buffer and an antilog buffer consisting of ROMs that store the original logarithm and antilog of (2 m ) separately in the form of tables. Here, the address of the former logarithm buffer 24 is the binary representation of the element α i , and its entry is the logarithm of α with α as the base, that is, i, but the entry at the address i of the latter logarithm buffer 25 is This is the binary representation of α i . For example, if the modulus polynomial F(x) of the Galois field GF(2 8 ) is F(x) = x 8 + x 6 + x 5 + x 4 + 1, then the elements other than 0 are the powers of the root α of F(x) = 0. or a linear combination from α 0 to α 7
7 〓 i=0 a i α i (however, a i =0 or 1). Furthermore, in this case, eight coefficients from a 0 to a 7 can be extracted and expressed as a binary vector. For example, α 1 =0・α 0 +1・α 1 +0・α 2 +0・α 3 +0・α 4
+0・α 5 +0・α 6 +0・α 7 = (01000000) α 7 =0・α 0 +……+0・α 6 +1・α 7 = (00000001) α 8 =1+α 4 +α 5 +α 6 (10001110) α 9 =α・α 8 =α+α 5 +α 6 +α 7 (01000111), and elements other than these can be expressed as vectors in the same way. In this case, the logarithm table address 1~
255 is an 8-bit binary vector representation of element α i ,
The corresponding entry is the binary representation of index i. Further, the antilog table uses the index i as an address, and the entry is a binary vector representation of α i . Next, the actual algebraic operations performed by the error location polynomial calculator shown in FIG. 2 will be explained separately. (1) Addition When elements α i and α j are added, these two elements are subjected to an exclusive OR gate 27 via the A register 20 and the B register 26 for each bit. The result of the sum of the two elements thus obtained is transferred to the working buffer 22 via the C register 19. (2) Detection of whether or not element α i is 0 When checking whether element α i is 0, element α i
are logically summed by the OR gate 29 via the H register 28. This result is transferred to the working buffer 22 via the M register 30. In this case, the contents of the M register 30 become 0 only when the element α i is 0. (3) Multiplication When multiplying elements α i and α j , first it is checked whether these two elements are 0 or not. If,
If either element is 0, the multiplication result is 0 without actually needing to be multiplied. However, if both are non-zero, these elements are sequentially loaded into the address register 31 for the logarithmic buffer 24. Then, the outputs i and j from the logarithm buffer 24 are converted to 2 8 −
One's complement addition is performed modulo one. This results in the result i+j=t mod (2 8 -1)
is the above antilog buffer 25 via the L register 35.
is loaded into the address register 36 for. In this case, if the address input of the antilog buffer 25 is t, the output α t is the multiplication result of the G register 3.
7 to the working buffer 22. (4) Division The division of α i by the element α j (α i /α j ) is basically the same as the multiplication in (3) above, but the contents of the E register 33 are transferred to the D register 32. They differ in that they are subtracted from the content. That is, the logarithm of element α j in the E register 33 is complemented by the complement converter 38 and sent to the one's complement adder 34 via the F register 39. and,
The following processing is performed in the same manner as in the case of multiplication (3), but in this case, the output of the antilog buffer 25 is the result of the division, that is, the quotient. [Problems with Background Art] However, the conventional error correction device as described above requires a logarithm buffer and an antilog buffer for multiplication and division among the algebraic operations in the error location polynomial calculator. However, the memory capacity of the ROM and other devices used for this purpose was enormous, which hindered LSI implementation and resulted in the problem of having to attach large-capacity external memory. This is 255 x 8 bits = 2040 bits when one symbol is 8 bits as in the example above.
This can be easily seen from the fact that two ROMs are required, totaling 4080 bits. In other words, conventionally known multipliers and dividers in Galois fields require logarithm buffers and antilog buffers consisting of large-capacity memories that store the logarithms and antilogarithms of these elements separately in the form of tables. Therefore, there was a problem in that the configuration was complicated and the price was high. [Purpose of the Invention] The present invention has been made in view of the above points, and provides an object to perform multiplication in the Galois field without using logarithm buffers or antilog buffers that require particularly large amounts of memory. It is an object of the present invention to provide an extremely good multiplication device in a Galois field that can contribute to simplifying the configuration and reducing the cost. [Summary of the Invention] That is, the multiplication device in a Galois field according to the present invention is a generator polynomial G(x) of a Galois field GF(2 m ).
Multiplicand data B(α) where α is the first root of
(α)=b n-1 α m-1 +b n-2 α m-2 +……+b 0 ) and multiplier data C(α) (however, C(α)=c n-1 α m-1 +c n-2
α m-2 +……+c 0 ) is multiplied by B(α)・C(α)=αB
(α) + B (α) (However, =c n-1 α m-2 +c n-2
α m-4 +c n-3 α m-6 +……+c 1 , =c n-2 α m-2 +c n-4
α m-4 +c n-6 α m-6 +…+c 0 ), the first partial multiplication [αB (α)] and the second partial multiplication [B (α)
], the first means processes the first partial multiplication in a first step, and the second means processes the second partial multiplication in a second step. and a third means for adding the partial multiplication outputs of the first and second means, it is possible to significantly simplify the configuration by making it hardware, and to make the basic clock in two steps. The feature is that the processing time can be shortened by making the processing possible. [Embodiments of the invention] First, an optical type (CD type) to which this invention is applied
An overview of a digital audio disc (DAD) playback device will be explained. That is, as shown in FIG. 3, the turntable 1 is rotated by a disk motor 111.
A disk 113 mounted on the optical pickup 112 is played back by an optical pickup 114. in this case,
The optical pickup 114 is a semiconductor laser 114.
A beam splitter 114b transmits the light emitted from the
It illuminates the signal surface of the disk 113 through the objective lens 114c, and corresponds to the digitized (PCM) data of the audio signal to be reproduced that is recorded on the disk 113 in a form with predetermined (EFM) modulation and interleaving. The reflected light from the pits (irregularities with different reflectances) is reflected by the objective lens 11.
4c, the beam splitter 114b leads to a 4-split photodetector 114d, and the 4 playback signals photoelectrically converted by the 4-split photodetector 114d can be outputted to the outside, and from the beam splitter 114b to a pick-up feed motor 115. Therefore, the disk 113 is linearly driven in the radial direction. The four reproduced signals from the four-division photodetector 114d are then supplied to the matrix circuit 116 and subjected to predetermined matrix calculation processing, thereby generating a focus error signal (F), a tracking error signal, and a high frequency signal (RF). separated into Of these, the focus error signal (F) is used together with the focus search signal from the focus search circuit 110 to drive the focus servo system (FS) of the optical pickup 114. Further, the tracking error signal (T) is used to drive the tracking servo system (TS) of the optical pickup 114 and the pickup feed motor 115 together with a search control signal given via the system controller 117 (described later).
(linear tracking). The remaining high frequency signal (RF) is then supplied to the reproduction signal processing system 118 as the main reproduction signal component.
That is, the reproduced signal processing system 118 first passes the reproduced signal to the slice level (eye pattern) detector 1.
19 to separate unnecessary analog components and necessary data components, and only the data components are sent to a PLL-type synchronous clock regeneration circuit 121 and a first signal processing system 122. The signal is supplied to the edge detector 122a. Here, the synchronous clock from the synchronous clock regeneration circuit 121 is guided to the synchronous signal separation clock generation circuit 122b in the first signal processing system 122 for data demodulation, and is used to generate a synchronous signal separation clock. . On the other hand, the reproduced signal that has passed through the edge detector 122a is guided to a sync signal detector 122c, where the sync signal is separated by the sync signal separation clock, and then guided to a demodulation circuit 122d (EFM).
demodulated. Among these, the synchronization signal is transmitted to the synchronization signal protection circuit 122.
The signal is guided to the input data processing timing signal generation circuit 122f together with the synchronization signal separation clock through the signal line e in a state where it is protected from malfunction. Also, the demodulated signal is transmitted to the data bus input/output control circuit 1.
A second signal processing system 123 to be described later via 22g
is supplied to the input/output control circuit 123a of
The control signal and display signal components, which are subcodes, are sent to the control display processing circuit 1.
22h and subcode processing circuit 122i. The subcode data subjected to necessary error detection and correction by the subcode processing circuit 122i is sent to the system controller 117 via the system controller interface circuit 122q.
is supplied to Here, the system controller 117 includes a microcomputer, an interface circuit, a driver integrated circuit, etc., and controls the DAD playback device to a desired state by command signals from the control switch 124, and also controls the above-mentioned subcode ( For example, the display 125 is used to display the index information of the played music on the display 125. The timing signal from the input data processing timing signal generation circuit 122f is provided to control the data bus input/output control circuit 122g via the data selection circuit 122j, and is also used to control the data bus input/output control circuit 122g. 1
22l and PWM modulator 122m to drive the disc motor 111 at constant linear velocity (CLV).
Automatic frequency control (AFC) for driving
and automatic phase control (APC). In this case, the phase detector 122l is supplied with a system clock from a system clock generation circuit 122p which operates based on an oscillation signal from a crystal oscillator 122n. The demodulated data passing through the input/output control circuit 123a of the second signal processing circuit 123 is sent to the syndrome detector 1 for error detection and correction or correction.
23b, an error pointer control circuit 123c, a correction circuit 123d, and a data output circuit 123e.
A) Derived to converter 126. In this case, the external memory control circuit 123f cooperates with the data selection circuit 122j to select the external memory 127 in which data necessary for correction is written.
By controlling the above input/output control circuit 12
3a, data necessary for correction is taken in. Further, the timing control circuit 123g is configured to supply timing control signals necessary for error correction and correction and D/A conversion based on the system clock from the system clock generation circuit 122p. Additionally, the mutating (detection) control circuit 123
h performs predetermined muting control necessary for error correction and for starting and ending the operation of the DAD playback device, based on the output from the error pointer control circuit 123c or the control signal given via the system controller 117. It is offered to Then, the audio signal converted back to an analog signal by the D/A converter 126 is passed through a low-pass filter 128 and an amplifier 129, and then sent to a speaker 130 for sounding. Next, an error correction circuit applied to the DAD playback device as described above will be explained. First, to explain the principle, the Galois field GF
When expressed as a polynomial, the double-corrected BCH code in (2 8 ) can be expressed as U 0 , U 1 , U 2 ... U n-1 , P 0 , P 1 , P 2 , P 3 ... (21) . However, it is assumed that U 0 to U n-1 are information symbols, and m symbols each having 8 bits are grouped together. It is also assumed that P 0 to P 3 are parity symbols, and four parity symbols are added to the m information symbols. In other words, the expression (21) is based on the fact that the parity symbol can be corrected to be the same as the information symbol, and this means that W n+3 , W n+2 , W n+1 ...W 3 , W 2 , W 1 , W 0 ...(22). As a result, the transmission polynomial F(x) is F(x)=W n+3 x m+3 +W n+2 x m+2 +...+W 1 x+W 0 ...(
23) and the receiving polynomial F
(x)′ is F(x)′=W n+3 ′x m+3 +W n+2 ′x m+2 +……+W 1 ′x
+W 0 ...(24) It can be expressed as follows. Here, the generator polynomial G(x) of the Galois field GF(2 8 )
If the 1st root of is α, then the above F(x) is revised 2nd
Since the BCH code has four roots of 1, α, α 2 , α 3 , F(1)= n+1 〓 i=0 W 1 =0 F(α)= n+3 〓 i= 0 W i α i =0 F(α 2 )= n+3 〓 i=0 W i (α 2 ) i =0 F(α 3 )= n+3 〓 i=0 W i (α 3 ) i = 0 (25). In other words, on the transmitting side, parity symbols are determined and transmitted so as to satisfy equation (25) above, but on the receiving side, due to the intervention of the transmission system, the parity symbols cannot necessarily be received in their original form. is corrected as an error. In this case, according to the double correction BCH code described above, it is possible to correct up to two symbol errors out of a total of m+4 symbols. Now, suppose that an error occurs in the two symbols W i and W j in the above receiving polynomial, resulting in W′ i =W i +e i W′ j =W j +e j . In this case, it is assumed that symbols other than W' i and W' j have no errors and are expressed as W' k =W k (where k=0 to m+4 k≠i, k≠j). Here, if we substitute 1, α, α 2 and α 3 for the receiving polynomial F'(x) in the same way as when transmitting, we get
F′(1)=e i +e j =S 0 F′(α)=e i α j +e j α j =S 1 F′(α 2 )=e i α 2i +e j α 2j =S 2 F′ (α 3 ) = e i α 3i + e j α 3j = S 3 (26). Here, S 0 to S 3 are called syndromes, and in the case of two symbol errors, they have the information content of equation (26). By the way, in the case of double correction in BCH code theory, there is a method using the error location polynomial as described above, which is σ 1 = α i + α j = S 0 S 3 +S 1 S 2 /S 1 2 +S 0 S 2 ...(27) σ 2 = α i α j = S 1 S 3 +S 2 2 /S 1 2 +S 0 S 2 ...(28) f(x)=x 2 +σ 1 x+σ 2 ...(29 ). In other words, in (27) and (28), σ 1 and σ 2 are determined by the syndromes S 0 to S 3 and substituted into equation (29), but in this case, for x in equation (29), Assume that α 0 to α m+3 are substituted in order. Here, equation (29) should give f(x) = 0 at α i and α j , so if we find the point where f(x) = 0, we can obtain 2
It becomes possible to find the error location for each error. Next, since the method for finding the error pattern is known, from α i and α j , using equation (26) above, e i =S 0 α j +S 1 /α i +α j ...(30A) e j =S 0 +e i ...(30B). By the way, it is possible to perform multiplication and division in the Galois field, which are necessary when finding error locations (polynomials) and error patterns, with a hardware configuration without using the aforementioned large-capacity memory. This is the aim of this invention. However, in this case, even if multiplication and division in the Galois field with g(x) as the generator polynomial are performed without using a large capacity memory, although the multiplication can be performed relatively easily as described below, Since division is still difficult, it is desirable to reduce division as much as possible. Therefore, the method for determining the error location and error pattern described above will be developed in a direction that reduces the number of divisions. First, regarding the generation of the error location (polynomial), since the denominators of the right-hand sides of equations (27) and (28) above are equal,
S a = S 2 1 + S 0 S 2 S b = S 0 S 3 + S 1 S 2 S c = S 1 S 3 + S 2 2 ...If we set it as (31), we get equations (27) and (28). is as follows: σ 1 = α i + α j = S b /S a ...(32) σ 2 = α i α j = S c /S a ...(33). Substituting these equations (32) and (33) into equation (29) yields f(x)=x 2 +S b /S a x+S c /S a ...(34). Since the error location can be found in equation (34) by substituting α 0 to α m+3 for x and checking that f(x) = 0, we can transform it as follows. Even if f′(x)=S a f(x)=S a x 2 +S b x+S c ……(35), by substituting α 0 to α m+3 for f′(x), α i and α j should be found at the point where f′(x)=0. In other words, it is possible to eliminate division when determining the error location polynomial in this way. Next, regarding the generation of error patterns, regarding the division (S 0 α j + S 1 /α i + α j ) required to obtain e i using the above equation (30A), the denominator α i +
If the reciprocal of α j (α i + α j ) -1 is known in advance, then e i = (S 0 α j + S 1 ) (α i + α j ) -1 ……(30A′) becomes possible. Next, let's look at how to find the reciprocal (α i + α j ) -1 . If we insert equation (32) into equation (35) above, we get f'(x) = S a x 2 + S a (α i +α j )x+S c ...(36). The operation of substituting α 0 to α m+3 into x in equation (36) is necessary to obtain the above error location, but substituting α 0 to α m+3 In the meantime, we focus on the term S a (α i + α j )x in equation (36) and perform an operation to find x such that S a (α i + α j )x=α r ...(37). Specifically, if m = 28 now, x in equation (37)
will be assigned from α 0 to α 31 , but in the Galois field GF(2 8 ), α 28-1 = α 255 = 1 is the maximum, and in this case it is a cyclic code from α 0 to α 254 . Only α 0 to α 254 are handled. Since we are now substituting α 0 to α 31 , from 7 < 255/32 < 8, α 32m → α -32m (however, m
The eight reciprocal data up to =0, 1...7) are coded as shown in the table below.
従つて、以上詳述したようにこの発明によれ
ば、大容量のメモリを必要とする対数バツフアや
真数バツフアを用いることなくガロア体における
乗算をなし得るようにし、以つて構成の簡易化な
らびに低価格化に寄与し得るようにした極めて良
好なるガロア体における乗算装置を提供すること
が可能となる。
Therefore, as detailed above, according to the present invention, it is possible to perform multiplication in a Galois field without using a logarithm buffer or an antilog buffer that requires a large capacity memory, thereby simplifying the configuration and It becomes possible to provide an extremely good multiplication device in a Galois field that can contribute to cost reduction.
第1図はリードソロモン符号の復号システムで
なるエラー訂正回路を示す概略構成図、第2図は
従来のエラーロケーシヨン多項式計算器を示す構
成図、第3図はこの発明が適用されるDAD再生
装置の概要を示す構成図、第4図は第3図のエラ
ー訂正回路部の具体例を示す構成図、第5図は第
4図の動作の具体例を説明するためのタイミング
チヤート、第6図はこの発明の一実施例として第
4図の演算ユニツト部に備えられた乗算装置を示
す構成図、第7図は第6図の動作の具体例を説明
するためのタイミングチヤート、第8図,第9図
は第6図のα乗算回路、α2乗算回路の具体例を示
す構成図である。
51,52,66,68…ラツチ回路、53…
α乗算回路、54,55,56,59,62,6
5…セレクト回路、57,60,64…α2乗算回
路、58,61,63,67…エクスクルシブオ
ア回路。
Fig. 1 is a schematic block diagram showing an error correction circuit comprising a Reed-Solomon code decoding system, Fig. 2 is a block diagram showing a conventional error location polynomial calculator, and Fig. 3 is a DAD playback to which this invention is applied. 4 is a configuration diagram showing a specific example of the error correction circuit shown in FIG. 3; FIG. 5 is a timing chart for explaining a specific example of the operation shown in FIG. 4; FIG. The figure is a block diagram showing a multiplication device provided in the arithmetic unit section of FIG. 4 as an embodiment of the present invention, FIG. 7 is a timing chart for explaining a specific example of the operation of FIG. 6, and FIG. , FIG. 9 is a block diagram showing a specific example of the α multiplication circuit and the α 2 multiplication circuit shown in FIG. 51, 52, 66, 68...Latch circuit, 53...
α multiplication circuit, 54, 55, 56, 59, 62, 6
5... Select circuit, 57, 60, 64... α 2 multiplication circuit, 58, 61, 63, 67... Exclusive OR circuit.
Claims (1)
根をαとする被乗数データB(α)(但し、B(α)
=bn-1αm-1+bn-2αm-2+……+b0)および乗数デ
ータC(α)(但し、C(α)=cn-1αm-1+cn-2αm-2
+……+c0)の乗算をB(α)・C(α)=αB(α)
+B(α)(但し、 =cn-1αm-2+cn-2αm-4+cn-3αm-6+……+c1, =cn-2αm-2+cn-4αm-4+cn-6αm-6+……+c0) なる第1の部分乗算〔αB(α)〕および第2の
部分乗算〔B(α)〕の和の形に変換して処理
するもので、前記第1の部分乗算を第1のステツ
プで処理する第1の手段と、前記第2の部分乗算
を第2のステツプで処理する第2の手段と、前記
第1および第2の手段の各部分乗算出力を加算す
る第3の手段とを具備してなることを特徴とする
ガロア体における乗算装置。[Claims] 1 1 of the generator polynomial G(x) of the Galois field GF(2 m )
Multiplicand data B(α) whose root is α (however, B(α)
=b n-1 α m-1 +b n-2 α m-2 +……+b 0 ) and multiplier data C(α) (however, C(α)=c n-1 α m-1 +c n-2 α m-2
+……+c 0 ) is multiplied by B(α)・C(α)=αB(α)
+B(α) (However, =c n-1 α m-2 +c n-2 α m-4 +c n-3 α m-6 +……+c 1 , =c n-2 α m-2 +c n- 4 α m-4 +c n-6 α m-6 +……+c 0 ) Converting to the form of the sum of the first partial multiplication [αB (α)] and the second partial multiplication [B (α)] a first means for processing said first partial multiplication in a first step; a second means for processing said second partial multiplication in a second step; A multiplication device in a Galois field, comprising: third means for adding the partial multiplication outputs of the second means.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57102802A JPS58219848A (en) | 1982-06-15 | 1982-06-15 | Multiplier of galois field |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57102802A JPS58219848A (en) | 1982-06-15 | 1982-06-15 | Multiplier of galois field |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58219848A JPS58219848A (en) | 1983-12-21 |
| JPS638648B2 true JPS638648B2 (en) | 1988-02-24 |
Family
ID=14337196
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57102802A Granted JPS58219848A (en) | 1982-06-15 | 1982-06-15 | Multiplier of galois field |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS58219848A (en) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6130819A (en) * | 1984-07-24 | 1986-02-13 | Nippon Columbia Co Ltd | Error correction device |
| JPS6269728A (en) * | 1985-09-20 | 1987-03-31 | Matsushita Graphic Commun Syst Inc | Error correction circuit |
| JPS6386925A (en) * | 1986-09-30 | 1988-04-18 | Canon Inc | Galois field multiplication circuit |
| JPH01157129A (en) * | 1988-11-18 | 1989-06-20 | Matsushita Graphic Commun Syst Inc | Arithmetic unit |
| JP4472808B2 (en) * | 1999-08-19 | 2010-06-02 | ネッツエスアイ東洋株式会社 | Multiply-accumulate device and encryption / decryption device using the same |
| JP4484002B2 (en) * | 1999-10-04 | 2010-06-16 | ネッツエスアイ東洋株式会社 | Arithmetic processor |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4142174A (en) * | 1977-08-15 | 1979-02-27 | International Business Machines Corporation | High speed decoding of Reed-Solomon codes |
| JPS5778608A (en) * | 1980-10-31 | 1982-05-17 | Matsushita Electric Ind Co Ltd | Decoding method of reed-solomon code |
-
1982
- 1982-06-15 JP JP57102802A patent/JPS58219848A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS58219848A (en) | 1983-12-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS638651B2 (en) | ||
| US4574361A (en) | Apparatus for dividing the elements of a Galois field | |
| US4567568A (en) | Apparatus for dividing the elements of a Galois field | |
| JPH10500270A (en) | Multipurpose error correction system | |
| US4608692A (en) | Error correction circuit | |
| US6167548A (en) | Data error correcting method and apparatus | |
| JPS638648B2 (en) | ||
| JPH11328880A (en) | Error correcting device and optical disk reproducing device | |
| JPS6237415B2 (en) | ||
| JPS638650B2 (en) | ||
| JPS638649B2 (en) | ||
| JP2001044853A (en) | Chain search circuit, error correction device and disk driver | |
| JPS6248254B2 (en) | ||
| JPS6246018B2 (en) | ||
| KR920010184B1 (en) | Finite Field Computation Circuit | |
| JPH04365139A (en) | Syndrome operation circuit for error correction processing | |
| JPS6237414B2 (en) | ||
| KR100215807B1 (en) | Error correcting apparatus and method for digital signal | |
| JPS6055565A (en) | Error correcting circuit | |
| JP2553571B2 (en) | Galois field arithmetic unit | |
| JPH10150367A (en) | Error correction device | |
| KR910009094B1 (en) | Galois field arithmetic unit | |
| JPS6055733A (en) | Error correcting circuit | |
| JPH0793913A (en) | Error corrector | |
| JPH10163881A (en) | Calculating method and calculating circuit for data error detection code |