JPS6237414B2 - - Google Patents
Info
- Publication number
- JPS6237414B2 JPS6237414B2 JP57102803A JP10280382A JPS6237414B2 JP S6237414 B2 JPS6237414 B2 JP S6237414B2 JP 57102803 A JP57102803 A JP 57102803A JP 10280382 A JP10280382 A JP 10280382A JP S6237414 B2 JPS6237414 B2 JP S6237414B2
- Authority
- JP
- Japan
- Prior art keywords
- multiplication
- circuit
- output
- register
- error
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Description
【発明の詳細な説明】
〔発明の技術分野〕
この発明は例えば光学式デジタルオーデイオデ
イスク(DAD)再生装置等に用いられるエラー
訂正符号の復号用に好適するガロア体における除
算装置の改良に関する。DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] The present invention relates to an improvement of a division device in a Galois field suitable for decoding an error correction code used, for example, in an optical digital audio disk (DAD) playback device.
周知のように、近時開発されている光学式
DAD再生装置(特にはCD:コンパクトデイスク
形)においては、そのエラー訂正符号としてクロ
スインターリーブリードソロモン符号(CIRC)
を採用している。
As is well known, the recently developed optical method
Cross-interleaved Reed-Solomon code (CIRC) is used as an error correction code for DAD playback devices (particularly CD (compact disk type)).
is adopted.
すなわち、これは従来より知られている代表的
なランダムエラー訂正符号のうちで最もエラー訂
正能力が高いものとして広範に定義されている
BCH符号の一種であるリードソロモン符号を用
いるものであるが、それにバーストエラーに対し
て高い訂正能力を持たせるべくクロスインタリー
ブなる信号処理を伴わせるようにしたものであ
る。 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 accompanied by signal processing called cross interleaving to give it a high correction ability for burst errors.
ところで、リードソロモン符号の復号つまりエ
ラー訂正はBCH符号のそれと同様になすことが
できる。 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.
今、符号長(n)、情報シンボル(k)個、検査シ
ンボル(n−k)個からなるリードソロモン符号
について、その復号法を調べてみるものとする。
但し、上記各シンボルは(m)個の2進ビツトつ
まり2m個の元を有する有限体であるガロア体GF
(2m)の元である。 Let us now examine the 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 GF, which is a finite field having (m) binary bits, that is, 2 m elements.
(2 m ).
そして、この場合(t)重エラー訂正リードソ
ロモン符号の生成多項式g(x)は、(α)をガロア
体GF(2m)の原始元として次の(1)式または(2)式
のように表わされる。 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-1)
………(2)
また、送信符号語をC(x)、受信符号語をR(x)
で表わし、且つエラー多項式をE(x)とすると、
これらの間には次のような関係が成立する。g (x) = (x+α) (x+α 2 )……(x+α 2t )
………(1) g (x) = (x+α 0 ) (x+α)……(x+α 2t-1 )
………(2) Also, the transmission codeword is C (x) and the reception codeword is R (x).
, and if the error polynomial is E (x) , then
The following relationship holds between these.
R(x)=C(x)+E(x) ………(3)
この場合、多項式の係数はガロア体GF(2m)
に含まれており、エラー多項式E(x)はエラーロ
ケーシヨンおよび値(大きさ)に対応する項だけ
を含んでいる。 R (x) = C (x) + E (x) ………(3) In this case, the coefficients of the polynomial are Galois field GF (2 m )
, and the error polynomial E (x) contains only terms corresponding to the error location and value (magnitude).
従つて、位置xjにおけるエラー値をYjとする
と
となり、該(4)式でΣはエラーのすべての位置にわ
たる総和を意味している。 Therefore, if the error value at position x j is Y j In Equation (4), Σ means the sum of errors over all positions.
ここで、シンドロームSiを
Si=R(αi)〔但しi=0、1……2t−1〕
………(5)
の如く定義したとすると、上記(3)式より
Si=C(αi)+E(αi)
となる。 Here, the syndrome S i is S i = R (α i ) [however, i = 0, 1...2t-1]
......If it is defined as in (5), then from the above equation (3), S i =C (α i ) + E (α i ).
この場合、C(x)はg(x)で常に割り切れるので
C(αi)=0
であるから
Si=E(αi)
となる。そこで、上記(4)式より
と表わすことができる。但しαj=Xjとおいたも
ので、Xjはαjにおけるエラーロケーシヨンを表
わしている。 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 However, α j =X j , where X j represents the error location at α j .
ここで、エラーロケーシヨン多項式σ(x)は、
エラー数をeとして
と定義される。 Here, the error location polynomial σ (x) is
Let the number of errors be e is defined as
また(7)式のσ1〜σeはシンドロームSiとの間
で次のように関係付けられる。 Moreover, σ 1 to σ e in equation (7) are related to the syndrome S i as follows.
Si+e+σ1Si+e-1+……σe-1Si+1+σeSi
………(8)
つまり、以上のようなリードソロモン符号の復
号手順は
() (5)式によりシンドロームSiを計算する。S i+e +σ 1 S i+e-1 +...σ e-1 S i+1 +σ e S i
......(8) That is, in the decoding procedure of the Reed-Solomon code as described above, the syndrome S i is calculated using the equation () (5).
() (8)式によりエラーロケーシヨン多項式の係
数σ1〜σeを計算する。() Calculate the coefficients σ 1 to σ e of the error location polynomial using equation (8).
() (7)式によりエラーロケーシヨン多項式の根
Xjを求める。() Find the root X j of the error location polynomial using equation (7).
() (6)式によりエラー値Yjを求め、(4)式により
エラー多項式を求める。() Find the error value Y j using equation (6), and find the error polynomial using equation (4).
() (3)式によりエラー訂正を行なう。() Error correction is performed using equation (3).
なる()〜()の手順に帰着せしめられる。This results in the steps of () to ().
次に、以上のような復号手順によるエラー訂正
の具体例として、1ブロツクデータに4個の検査
シンボルを用いた場合について説明する。 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.
すなわち、この場合の生成多項式g(x)は
g(x)=(x+1)(x+α)(x+α2)(x+α
3)
となり、2重エラーまでの訂正が可能となるもの
であるが、ここではそれを〔A〕、〔B〕なる二つ
の方式によつた場合について各別に述べるものと
する。 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 the two methods [A] and [B] separately.
() シンドロームS0〜S3を計算する。 () Calculate syndromes S 0 to S 3 .
() (8)式をe=1、e=2について書き直す
と、e=1の場合には
となる。またe=2の場合には
となる。() Rewriting equation (8) for e=1 and e=2, in the case of e=1, becomes. Also, in the case of e=2 becomes.
ここで、実際の復号器がe=1の場合から動
作を始めるものとすると、先ず連立方程式(9)を
満足する解σ1を求めなければならない。そし
て、この解が存在しなければ、復号器は次にe
=2の場合について連立方程式(10)を満足する解
σ1、σ2を求めなければならない。なお、こ
こでも解が得られない場合はe≧3とみなすこ
とになる。 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). Then, if this solution does not exist, the decoder then e
In the case of =2, solutions σ 1 and σ 2 that satisfy simultaneous equations (10) must be found. Note that if no solution is obtained here, it is assumed that e≧3.
(9)式の解σ1は
σ1=S1/S0=S2/S1=S3/S
2
として求め、(10)式の解σ1、σ2は
σ1=S0S3+S1S2/S1 2+S0S2、σ2
=S1S3+S2 2/S1 2+S0S2
として求める。 The solution σ 1 of equation (9) is σ 1 =S 1 /S 0 =S 2 /S 1 =S 3 /S
2 , and the solutions σ 1 and σ 2 of equation (10) are σ 1 =S 0 S 3 +S 1 S 2 /S 1 2 +S 0 S 2 , σ 2
It is determined as =S 1 S 3 +S 2 2 /S 1 2 +S 0 S 2 .
() 以上のようにしてエラーロケーシヨン多項
式の係数σiが得られたならば、次に(7)式によ
りエラーロケーシヨン多項式の根を求める。() 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).
先ず、e=1の場合は
σ(x)=x+σ1=0、∴X1=σ1
となる。また、e=2の場合は
σ(x)=x2+σ1x+σ2=0 ………(11)
として、該(11)式にガロア体GF(2m)の元を順
次に代入してその解を求めればよく、今この根
をX1、X2とする。 First, when e=1, σ (x) =x+σ 1 =0, ∴X 1 =σ 1 . In addition, in the case of e=2, σ (x) = x 2 + σ 1 x + σ 2 = 0 (11), and sequentially substitute the elements of the Galois field GF (2 m ) into equation (11). All you have to do is find the solution, and now let these roots be X 1 and X 2 .
() エラーロケーシヨン多項式の根が求まつた
なら、次に(6)式によりエラー値Yjを求める。() Once the root of the error location polynomial has been found, the error value Y j is next found using equation (6).
先ず、e=1の場合は
S0=Y1、∴Y1=S0
となる。また、e=2の場合は
S0=Y1+Y2
S1=Y1X1+Y2X2
より
∴Y1=X2S0+S1/X1+X2
Y2=S0+Y1
() 上述のようにして求めたエラー値Y1、Y2に
より訂正を行なう。 First, when e=1, S 0 =Y 1 and ∴Y 1 =S 0 . In addition, in the case of e=2, S 0 = Y 1 +Y 2 S 1 =Y 1 X 1 +Y 2 X 2 , ∴Y 1 =X 2 S 0 + S 1 / ) Correction is performed using the error values Y 1 and Y 2 obtained as described above.
ところで、ポインターイレージヤー法等によつ
てエラーロケーシヨンの値を正確に知ることがで
きる場合には、上述した2重エラー訂正用のリー
ドソロモン符号によつて4重エラーまでの訂正が
可能となるものであり、それが後述する〔方式
B〕である。 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 above-mentioned Reed-Solomon code for double error correction. This is [Method B], which will be described later.
() シンドロームS0〜S3を計算する。 () Calculate syndromes S 0 to S 3 .
()() エラーロケーシヨンを別の検出方法で
知る。()() Find out the error location using another detection method.
() (6)式によりエラー値を求める。() Calculate the error value using equation (6).
先ずe=1、e=2の場合は上述した〔方式
A〕の()と同様である。 First, in the case of e=1 and e=2, it is the same as () of the above-mentioned [method A].
そして、e=3の場合
S0=Y1+Y2+Y3
S1=Y1X1+Y2X3+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
となる。 Then, in the case of e=3, S 0 =Y 1 +Y 2 +Y 3 S 1 =Y 1 X 1 + Y 2 X 3 + 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 2 )(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 .
また、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+S
3)/(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
となる。 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 )/( X1 + X2 )( X1 + X3 )( X1 + X4 ) Y2 =( S0X4 + S1 ) X3 +( S1X4 + S2)+ Y1 ( X1 + X3 ) )(X 1 +X 4 )/(X 2 +X 3
) ( X 2 + X 4 ) Y 3 = ( S 0 _ _ _ _ +Y 3 .
() 上述のようにして求めたY1〜Y4により訂正
を行なう。() Correction is made using Y 1 to Y 4 obtained as described above.
第1図は以上のような原理に基くリードソロモ
ン符号の実際の復号システムを示す概略構成図で
ある。すなわち、入力端(IN)を介して導かれ
る被訂正用のデータ(エラー訂正用としてリード
ソロモン符号が用いられていることは勿論であ
る)は二分されて、一方が後述する復号動作の間
データバツフア11に記憶されると共に、他方が
復号動作をなすためのシンドローム計算器12以
下に導かれる。 FIG. 1 is a schematic configuration diagram showing 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.
そして、シンドローム計算器12で計算された
シンドロームはシンドロームバツフア13に記憶
される。 The syndrome calculated by the syndrome calculator 12 is stored in the syndrome buffer 13.
ここで、シンドロームバツフア13の出力部に
接続されたオアゲート14はエラーの有無を指示
するもので、エラーがあると前述したような手順
によつてエラー訂正動作を開始することになる。 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.
つまり、エラーロケーシヨン多項式計算器15
がエラーロケーシヨン多項式σ(x)の係数を計算
し、エラーロケーシヨン計算器16がエラーロケ
ーシヨン多項式の根を計算し、エラー値計算器1
7がエラー値を計算し、これらのエラーロケーシ
ヨンおよびエラー値により上記データバツフア1
1から出力されるデータを訂正するものである。 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, and the error value calculator 1
7 calculates the error value, and by these error locations and error values, the above data buffer 1
This is to correct the data output from 1.
ところで、このような復号システムの各計算器
12,15,16,17は0は否かの検出ならび
に必要な加算、乗算および除算の代数演算をなす
ものであるが、これらについての具体例として従
来第2図に示すように構成されたエラーロケーシ
ヨン多項式計算器(特公昭56−20575号)が知ら
れている。 By the way, each of the calculators 12, 15, 16, and 17 of such a decoding system performs the detection of 0 or not and performs necessary algebraic operations such as addition, multiplication, and division. An error location polynomial calculator (Japanese Patent Publication No. 56-20575) constructed as shown in FIG. 2 is known.
すなわち、第2図において21はシンドローム
バツフアであつて、シンドロームSiを記憶する
ためのRAMでなり、該シンドロームバツフア2
1にはガロア体GF(2m)の元である各シンドロ
ームがそれぞれmビツトの2進形式で記憶され
る。 That is, in FIG. 2, 21 is a syndrome buffer, which is a RAM for storing the syndrome S i .
1 stores each syndrome which is an element of the Galois field GF(2 m ) in m-bit binary format.
また、22は作業用バツフアであつて、エラー
ロケーシヨン多項式の係数を計算する際に、代数
演算の中間結果および最終結果を記憶するための
RAMでなり、後の演算で使用される部分結果も
該作業用バツフア22に記憶される。 Further, 22 is a work buffer for storing 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は代数演算の順序を指示する順序
制御装置であつて、上記シンドロームバツフア2
1および作業用バツフア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.
さらに、24,25はそれぞれガロア体GF
(2m)の元の対数および真数を各別にテーブルの
形式を記憶しているROMでなる対数バツフアお
よび真数バツフアである。 Furthermore, 24 and 25 are each Galois field GF
These are a logarithm buffer and an antilog buffer consisting of a ROM that stores the original logarithm and antilog of (2 m ) in table format separately.
ここで、前者の対数バツフア24のアドレスは
元のαiの2進表示であり、そのエントリーはα
を底とするαの対数すなわちiであるが、後者の
真数バツフア25のアドレスiにおけるエントリ
ーはαiの2進表示である。 Here, the address of the former logarithm buffer 24 is the binary representation of the original α i , and its entry is α
The logarithm of α, i.e., the base is i, and the entry at address i in the latter antilog buffer 25 is the binary representation of α i .
例えばガロア体GF(28)の法多項式F(x)を
F(x)=x8+x6+x5+x4+1
とすると、その0以外の元はF(x)=0の根αの
べき乗またはα0〜α7までの線形結合
で表わすことができる。 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, the elements other than 0 are the powers of the root α of F (x) = 0. or linear combination from α 0 to α 7 It can be expressed as
また、この場合、a0〜a7までの8個の係数を取
り出して2進ベクトルとして表わすこともでき
る。 Furthermore, in this case, eight coefficients from a 0 to a 7 can be extracted and expressed as a binary vector.
例えば
α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)
の如くであり、これら以外の元も同様にしてベク
トル表示することができる。 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) The element of can also be represented as a vector in the same way.
そして、この場合対数テーブルのアドレス1〜
255は元αiの8ビツトの2進ベクトル表示で
あり、対応するエントリは指数iの2進表示であ
る。 In this case, the logarithm table address 1~
255 is an 8-bit binary vector representation of element α i , and the corresponding entry is a binary representation of index i.
また、真数テーブルは指数iをアドレスに用
い、エントリはαiの2進ベクトル表示である。 Further, the antilog table uses the index i as an address, and the entry is a binary vector representation of α i .
次に、第2図のエラーロケーシヨン多項式計算
器による実際の代数演算を各別に説明する。 Next, the actual algebraic operations performed by the error location polynomial calculator shown in FIG. 2 will be explained separately.
(1) 加算
元αiおよびαjを加算する場合には、これ
ら、2つの元がAレジスタ20およびBレジス
タ26を介してエクスクルシブオアゲート27
により各ビツト毎に排他的な論理和をとる。こ
れによつて得られる上記2つの元の和の結果は
Cレジスタ19を介して上記作業用バツフア2
2に転送される。(1) Addition When adding elements α i and α j , these two elements are added to the exclusive OR gate 27 via the A register 20 and the B register 26.
Exclusive OR is performed for each bit. The result of the sum of the two elements thus obtained is sent to the working buffer 2 via the C register 19.
Transferred to 2.
(2) 0であるか否かの検出
元αiが0であるか否かを調べる場合には、
元αiがHレジスタ28を介してオアゲート2
9により論理和がとられる。この結果はMレジ
スタ30を介して上記作業用バツフア22に転
送される。この場合、Mレジスタ30の内容は
元αiが0のときのみ0になる。(2) Detection of whether or not it is 0 When checking whether or not the element α i is 0,
The element α i passes through the H register 28 to the OR gate 2
The logical sum is calculated using 9. 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) 乗算
元αiおよびαjを乗算する場合には、先ずこ
れら2つの元が0であるか否かが調べられる。
若し、いずれか一方の元が0であれば、実際に
乗算するまでもなく、乗算結果は0である。し
かるに、両方とも0でない場合には、これらの
元は上記対数バツフア24用のアドレスレジス
タ31に順次にロードされる。そして、対数バ
ツフア24からの出力iおよびjはDレジスタ
32およびEレジスタ33を介して1の補数加
算器34により、28−1を法として1の補数加
算が行なわれる。これによつて得られる結果
(i+j)=tmod(28−1)はLレジスタ35
を介して上記真数バツフア25用のアドレスレ
ジスタ36にロードされる。この場合、真数バ
ツフア25のアドレス入力がtであれば、その
出力がαtが乗算結果としてGレジスタ37を
介して上記作業用バツフア22に転送される。(3) Multiplication When multiplying elements α i and α j , first it is checked whether these two elements are 0 or not.
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. The outputs i and j from the logarithm buffer 24 are then passed through a D register 32 and an E register 33 to a one's complement adder 34 where they are subjected to one's complement addition modulo 2 8 -1. The result (i+j)=tmod(2 8 -1) obtained by this is the L register 35.
is loaded into the address register 36 for the antilog buffer 25 through. In this case, if the address input to the antilog buffer 25 is t, its output is transferred to the working buffer 22 via the G register 37 as the result of multiplication by α t .
(4) 除算
元αjによるαiの除算(αi/αj)は基本的
には上記(3)の乗算の場合と同様であるが、上記
Eレジスタ33の内容を上記Dレジスタ32の
内容から減算せしめる点で異なつている。つま
り、Eレジスタ33にある元αjの対数が補数
化器38により補数化されてFレジスタ39を
介して上記1の補数加算器34に送るようにし
た点である。そして、以下(3)の乗算の場合と同
様に処理されるものであるが、この場合真数バ
ツフア25の出力が求める除算の結果つまり商
となつているものである。(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. Processing is carried out in the same manner as in the case of multiplication (3) below, but in this case, the output of the antilog buffer 25 is the result of the division, that is, the quotient.
しかしながら、以上のような従来のエラー訂正
装置は、そのエラーロケーシヨン多項式計算器に
おける代数演算のうち乗算および除算用として対
数バツフアおよび真数バツフアを必要とするもの
であるが、このために用いられるROM等のメモ
リ容量が膨大なものになるので、LSI化が阻害さ
れて大容量のメモリを外付けしなければならない
という不具合を生じていた。
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. Since the memory capacity of ROM etc. becomes enormous, it hinders the conversion to LSI and creates the problem that large capacity memory must be externally attached.
これは、前述した例の如く1シンボル8ビツト
とした場合で255×8ビツト=2040ビツトのROM
が2つ必要になり、合計4080ビツトにもなること
からして容易に窺い知れるところである。 If one symbol is 8 bits as in the example above, this means 255 x 8 bits = 2040 bits of ROM.
This can be easily seen from the fact that two 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.
そこで、この発明は以上のような点に鑑みてな
されたもので、特に大容量のメモリを必要とする
対数バツフアや真数バツフアを用いることなくガ
ロア体における除算をなし得るようにし、以つて
構成の簡易化ならびに低価格化および高速処理化
に寄与し得るようにした極めて良好なるガロア体
における除算装置を提供することを目的としてい
る。
Therefore, the present invention has been made in view of the above points, and it is possible to perform division in a Galois field without using a logarithm buffer or an antilog buffer, which requires a particularly large capacity of memory. It is an object of the present invention to provide an extremely good division device in a Galois field that can contribute to simplification, lower cost, and higher processing speed.
すなわち、この発明によるガロア体における除
算装置はガロア体GF(2m)における2m個の元
のうちの2個の元αi、αj(但しαは法多項式F
(x)の根)間の除算αi÷αjをαi・αM÷αj・αM
(但しMは整数)なる第1の乗算〔αi・αM〕お
よび第2の乗算〔αj・αM〕の商の形に変換し、
前記第2の乗算がαj・αM=α2m-1=α0=1な
ることを利用して結果的にαi×÷αj=αi・αM
なる乗算に変換して処理するもので、前記元αj
が被除数データとして直接あるいは適数個のαN
1、αN2……乗算回路(但しN1、N2……は1≦
N1<N2……)を介してそれぞれ毎にセツトされ
ると共に1シフト毎にそれぞれαN0(但しN0は1
<N0)を乗算する形式になされた第1の線形シフ
トレジスタ群と、前記元αiが除数データとして
直接あるいは適数個のαN1、αN2……乗算回路を
介してそれぞれ毎にセツトされると共に1シフト
毎にそれぞれαN0を乗算する形式になされた第2
の線形シフトレジスタ群と、前記第1の線形シフ
トレジスタ群の各レジスタ毎の1出力を検出する
1検出回路群と、この1検出回路群のいずれかで
1出力が検出されるまでの適数回だけ前記第1お
よび第2の線形シフトレジスタ群を共にシフトせ
しめる第1の手段と、前記第2の線形シフトレジ
スタ群の各レジスタ毎の出力と前記1検出回路群
の各検出回路毎の出力とのアンドをとつてアンド
がとられたレジスタ出力を導出する第2の手段と
を具備してなることを特徴としている。
That is, the division device in a Galois field according to the present invention divides two elements α i and α j (where α is the modulus polynomial F
(root of (x) ) α i ÷ α j is α i・α M ÷α j・α M
(where M is an integer), convert it into the form of the quotient of the first multiplication [α i · α M ] and the second multiplication [α j · α M ],
Utilizing the fact that the second multiplication is α j・α M = α 2m-1 = α 0 = 1, the result is α i ×÷α j = α i・α M
The above element α j
is the dividend data directly or an appropriate number of α N
1 , α N2 ... multiplier circuit (however, N 1 , N 2 ... is 1≦
N 1 <N 2 ...), and each shift is set by α N0 (however, N 0 is 1
<N 0 ), and the element α i is set as divisor data either directly or through an appropriate number of α N1 , α N2 . . . multiplication circuits. The second
a linear shift register group, one detection circuit group for detecting one output from each register of the first linear shift register group, and an appropriate number of detection circuits until one output is detected by any one of the one detection circuit group. a first means for shifting both the first and second linear shift register groups by times; an output for each register of the second linear shift register group; and an output for each detection circuit of the first detection circuit group; and a second means for deriving the ANDed register output by performing the AND operation.
先ず、この発明が適用される光学式(CD形)
デジタルオーデイオデイスク(DAD)再生装置
の概要について説明する。
First, the optical type (CD type) to which this invention is applied
An overview of a digital audio disk (DAD) playback device will be explained.
すなわち、第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の半径方向に直線駆動される。 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.
そして、4分割フオトデテクタ114dからの
4つの再生信号はマトリクス回路116に供給さ
れて所定のマトリクス演算処理が施されることに
より、フオーカスエラー信号(F)、トラツキングエ
ラー信号および高周波信号(RF)に分離され
る。 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
このうち、フオーカスエラー信号(F)はフオーカ
スサーチ回路110からのフオーカスサーチ信号
と共に、前記光学式ピツクアツプ114のフオー
カスサーボ系(FS)を駆動するのに供せられ
る。 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.
また、トラツキングエラー信号(T)は後述す
るシステムコントローラ117を介して与えられ
るサーチ制御信号と共に、前記光学式ピツクアツ
プ114のトラツキングサーボ系(TS)を駆動
するのに且つ前記ピツクアツプ送りモータ115
を(リニアトラツキング)制御するのに供せられ
る。 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).
そして、残る高周波信号(RF)が主再生信号
成分として再生信号処理系118に供給される。
すなわち、この再生信号処理系118は先ず再生
信号をスライスレベル(アイパターン)検出器1
19によつて制御される波形整形回路120を導
いて不要なアナログ成分と必要とするデータ成分
を分離し、データ成分のみをPLL型でなる同期ク
ロツク再生回路121および第1の信号処理系1
22のエツジ検出器122aに供給する。 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.
A waveform shaping circuit 120 controlled by a PLL type synchronous clock reproducing circuit 121 and a first signal processing system 1 separate unnecessary analog components and necessary data components by guiding a waveform shaping circuit 120 controlled by a PLL type synchronous clock reproducing circuit 121 and a PLL type synchronous clock reproducing circuit 121.
22 edge detectors 122a.
ここで、同期クロツク再生回路121からの同
期クロツクはデータ復調用として第1の信号処理
系122における同期信号分離用クロツク生成回
路122bに導かれて同期信号分離用クロツクを
生成するのに供せられる。 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. .
一方、上記エツジ検出器122aを通つた再生
信号は同期信号検出器122cに導かれて上記同
期信号分離用クロツクにより同期信号が分離され
ると共に、復調回路122dに導かれて
(FFM)復調される。 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 is also guided to a demodulation circuit 122d where it is demodulated (FFM). .
このうち、同期信号は同期信号保護回路122
eを介して誤動作が生じないように保護された状
態で、上記同期信号分離用クロツクと共に入力デ
ータ処理用タイミング信号生成回路122fに導
かれる。 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.
また、復調信号はデータバス入出力制御回路1
22gを介して後述する第2の信号処理系123
の入出力制御回路123aに供給されると共に、
そのうちのサブコードであるコントロール信号お
よび表示信号成分がコントロール表示処理回路1
22hおよびサブコード処理回路122iに導か
れる。 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.
そして、サブコード処理回路122iで必要な
エラー検出および訂正が施されたサブコードデー
タはシステムコントローラ用インターフエイス回
路122qを介してシステムコントローラ117
に供給される。 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.
supplied to
ここで、システムコントローラ117はマイク
ロコンピユータ、インタフエイス回路およびドラ
イバ用集積回路等を有してなり、コントロールス
イツチ124からの指令信号によりDAD再生装
置を所望の状態に制御すると共に、上述のサブコ
ード(例えば再生曲のインデツクス情報)を表示
器125に表示せしめるのに供せられている。 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.
なお、上記入力データ処理用タイミング信号生
成回路122fからのタイミング信号はデータセ
レクト回路122jを介して上記データバス入出
力制御回路122gを制御するのに供せられると
共に、周波数検出器122kおよび位相検出器1
22lならびにPWM変調器122mを介して上
記デイスクモータ111を線速度一定(CLV)
方式で駆動するための自動周波数制御(AFC)
および自動位相制御(APC)に供せられてい
る。 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).
この場合、位相検出器122lにはクリスタル
発振器122nからの発振信号に基いて動作する
システムクロツク生成回路122pからのシステ
ムクロツクが供給されている。 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.
そして、第2の信号処理回路123の入出力制
御回路123aを通つた復調データはエラー検出
および訂正または補正用のシンドローム検出器1
23b、エラーポインタ制御回路123c、訂正
回路123dおよびデータ出力回路123eを介
して必要なエラー訂正、デインタリーブ、エラー
補正等の処理を受けてデジタル−アナログ(D/
A)変換器126に導出される。 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.
この場合、外部メモリ制御回路123fは上記
データセレクト回路122jと共働して訂正に必
要なデータが書き込まれている外部メモリ127
を制御することにより、上記入出力制御回路12
3aを介して訂正に必要なデータを取り込む如く
なされている。 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.
また、タイミングコントロール回路123gは
前記システムクロツク生成回路122pからのシ
ステムクロツクに基いてエラー訂正および補正な
らびにD/A変換に必要なタイミングコントロー
ル信号を供給する如くなされている。 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.
また、ミユーテイング(検出)制御回路123
hは上記エラーポインタ制御回路123cからの
出力またはシステムコントローラ117を介して
与えられるコントロール信号に基いてエラー補正
時およびDAD再生装置の動作開始、終了時等に
必要となる所定のミユーテイング制御をなすのに
供せられている。 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
そして、上記D/A変換器126でアナログ信
号に戻されたオーデイオ信号はローパスフイルタ
128、増幅器129を介してスピーカ130を
奏鳴するのに供せられる。 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.
次に、以上のようなDAD再生装置のエラー訂
正部に適用されたこの発明に係るガロア体におけ
る除算装置の一実施例につき図面を参照して詳細
に説明する。 Next, an embodiment of a division device in a Galois field according to the present invention applied to an error correction section of a DAD playback device as described above will be described in detail with reference to the drawings.
すなわち、第4図は第3図における第2の信号
処理回路123の訂正回路123dに主として含
まれる前述したようなエラーロケーシヨン多項式
計算器部を示しているもので、対数バツフアや真
数バツフアを用いることなくガロア体における乗
算および除算がなし得るようにした乗算装置41
および除算装置42を備えている以外は前述した
第2図のそれと同様である。つまり、エラー訂正
符号として採用されたBCH符号の一種であるリ
ードソロモン符号の復号(エラー訂正)のために
各種の代数演算をなすのがエラーロケーシヨン多
項式計算器に与えられた役目であるが、このうち
加算および0であるか否かの検出については第2
図のそれと同様になされるので同一符号を付して
その説明を省略するものとし、第2図のそれとは
異なる乗算および除算について以下に述べるもの
である。 That is, FIG. 4 shows the above-mentioned error location polynomial calculator section mainly included in the correction circuit 123d of the second signal processing circuit 123 in FIG. A multiplication device 41 that allows multiplication and division in a Galois field without using
It is the same as that of FIG. 2 described above except that it includes a dividing device 42 and a dividing device 42. In other words, the role of the error location polynomial calculator is to perform various algebraic operations for decoding (error correction) the Reed-Solomon code, which is a type of BCH code used as an error correction code. Of these, addition and detection of whether or not it is 0 are explained in the second section.
Since they are performed in the same way as those in the figure, the same reference numerals are given and the explanation thereof will be omitted. Multiplication and division that are different from those in FIG. 2 will be described below.
次ず、ガロア体における乗算についてみてみる
に、例えばガロア体GF(28)の元αiとαjとの乗
算(αi・αi、但しαは法多項式F(x)=X8+X6
+X5+X4+1の根である)は
αi=C(α)=c0+c1+α+……c7α7)
αj=D(α)=d0+d1α+……d7α7
と表わした場合(但し、c0〜c7、d0〜d7は0また
は1とする)
αi・αj=C(α)・D(α)
=d7α7C(α)+d6α6C(α)……d0C(α)
=α6〔αd7C(α)+d6C(α)〕+d5α5C(α)+……+d0C(α)
=α5〔α〔αd7C(α)+d6C(α)〕+d5C(α)〕+d4α4C(α)+……
……+d0C(α)
:
=〔α〔α〔α〔α〔α〔α〔αd7C(α)+d6C(α)〕+d5C(α)〕
+d4C(α)〕+d3C(α)〕+d2C(α)〕+d1C(α)〕+d0C(α)〕
となる。 Next, let's look at multiplication in a Galois field. For example, the multiplication of the elements α i and α j of the Galois field GF (2 8 ) (α i · α i , where α is the modulus polynomial F (x) = X 8 + X 6
+X 5 +X 4 +1) is α i =C(α)=c 0 +c 1 +α+……c 7 α 7 ) α j =D(α)=d 0 +d 1 α+……d 7 α 7 If expressed as _ _ _ _ _ 6 α 6 C(α)……d 0 C(α) =α 6 [αd 7 C(α)+d 6 C(α)]+d 5 α 5 C(α)+……+d 0 C(α) = α 5 [α [αd 7 C (α) + d 6 C (α)] + d 5 C (α)] + d 4 α 4 C (α) + ... ... + d 0 C (α): = [α [α [ α _ _ _ _ +d 1 C (α)]+d 0 C (α)].
つまり、このようなガロア体GF(28)の元αi
とαjとの乗算は線形シフトレジスタを用いて第
5図に示したように構成される乗算装置で実現し
得ることを物語つている。 In other words, the element α i of such Galois field GF(2 8 )
This shows that the multiplication of α j by α j can be realized by a multiplier configured as shown in FIG. 5 using a linear shift register.
すなわち、第5図においてAND0〜AND7は各
一端に上記乗数D(α)の係数であるd0〜d7が上
位ビツトから順にシリアルに供給されると共に、
各他端に上記被乗数C(α)の係数であるc0〜c7
が上位ビツトから順にパラレルに供給されるアン
ドゲートである。また、FF0〜FF7は、上記各ア
ンドゲートAND0〜AND7からの出力が入力一端
に対応して供給されるエクスクルシブオアゲート
EX−OR0〜EX−OR7を介して縦続的に接続され
ると共に帰還接続されることにより線形シフトレ
ジスタSR0を構成するフリツプフロツプ回路であ
る。 That is, in FIG. 5, AND 0 to AND 7 are serially supplied with coefficients d 0 to d 7 of the multiplier D (α) in order from the upper bit to one end of each, and
At each other end are c 0 to c 7 which are the coefficients of the multiplicand C(α) above.
is an AND gate in which the bits are supplied in parallel in order from the most significant bits. Furthermore, FF 0 to FF 7 are exclusive OR gates to which the output from each of the AND gates AND 0 to AND 7 is supplied correspondingly to one input end.
These flip-flop circuits are connected in series via EX-OR 0 to EX-OR 7 and are also connected in feedback to form a linear shift register SR 0 .
この場合、4段目と5段目、5段目と6段目お
よび6段目と7段目のフリツプフロツプ回路FF3
−FF4,FF4−FF5,FF5−FF7との段間は各一
段が帰環路に接続されたエクスクルシブオアゲー
トEX−OR5′,EX−OR6′,EX−OR7′がさらに介
挿された状態で結合されている。また、各フリツ
プフロツプ回路FF0〜FF7のクロツク入力端CK
には図示しないクロツク発生器からのクロツクが
パラレルに供給される如くなされている。 In this case, the flip-flop circuits FF 3 in the 4th and 5th stages, the 5th and 6th stages, and the 6th and 7th stages are
-FF 4 , FF 4 -FF 5 , FF 5 -FF 7 are connected to exclusive or gates EX-OR 5 ′, EX-OR 6 ′, EX-OR 7 with one step each connected to the return route. ′ is further inserted. In addition, the clock input terminal CK of each flip-flop circuit FF 0 to FF 7
A clock is supplied in parallel from a clock generator (not shown).
つまり、C(α)の係数c0〜c7がビツトシリア
ルに入力されることにより、先ずX0が計算さ
れ、その後X1,X2……と続いて8ビツト入力終
了時に線形シフトレジスタSR0にはX7すなわちC
(α)・D(α)が実現されるもので、各フリツプ
フロツプ回路FF0〜FF7の出力(x0、x1……x7)が
乗算結果を与えることになる。 In other words, by inputting the coefficients c 0 to c 7 of C(α) in a bit-serial manner, first X 0 is calculated, then X 1 , X 2 , etc., and then the linear shift register SR is 0 has X 7 or C
(α)·D(α) is realized, and the outputs (x 0 , x 1 . . . x 7 ) of each flip-flop circuit FF 0 to FF 7 give the multiplication result.
ここで、X0〜X7は次の通りである。 Here, X 0 to X 7 are as follows.
X0=d7C(α)
X1=αX0+d6C(α)
X2=αX1+d5C(α)
X3=αX2+d4C(α)
X4=αX3+d3C(α)
X5=αX4+d2C(α)
X6=αX5+d1C(α)
X7=αX6+d0C(α)=(x0、x1……x7)
そして、以上のようなガロア体GF(28)におけ
る乗算装置はガロア体GF(28)の元の対数および
真数をテーブルの形式で記憶するROM等の大容
量メモリでなる対数バツフアや真数バツフアを用
いることなく、単に線形シフトレジスタを用いる
だけでなし得るので、その構成を簡易で安価なも
のとすることができるという効果を有している。 X 0 = d 7 C (α) X 1 = αX 0 + d 6 C (α) X 2 = αX 1 + d 5 C (α) X 3 = αX 2 + d 4 C (α) X 4 = αX 3 + d 3 C (α) X 5 = αX 4 + d 2 C ( α) X 6 = αX 5 + d 1 C ( α ) The multiplication device for the Galois field GF(2 8 ) as described above is a logarithm buffer or an antilog buffer consisting of a large capacity memory such as a ROM that stores the logarithm and antilog of the elements of the Galois field GF(2 8 ) in the form of a table. Since this can be achieved simply by using a linear shift register without using a , it has the effect that the configuration can be made simple and inexpensive.
次に、ガロア体における除算についてみてみる
に、例えばガロア体GF(28)の元αiとαjとの除
算αi÷αj(但しαは法多項式F(x)=x8+x6+x5
+x4+1の根とする)は
αi÷αj=(αi・αM)÷(αj・αM)
と同値である(但し、Mは整数)。 Next, let's look at division in a Galois field. For example, the division of elements α i and α j of Galois field GF (2 8 ) is α i ÷ α j (where α is the modulus polynomial F (x) = x 8 + x 6 +x 5
+x 4 +1) is equivalent to α i ÷ α j = (α i · α M ) ÷ (α j · α M ) (where M is an integer).
この場合、αj・αM=α255=α0=1ならば αi÷αj=αi・αM となる。 In this case, if α j · α M = α 255 = α 0 = 1, then α i ÷ α j = α i · α M.
つまり、ガロア体GF(28)の元αiとαjとの除
算(αi÷αj)をなす場合、被除数αi、除数αj
にそれぞれαを何回か乗じて行く過程で、M回α
を乗じたときにαj・αM=1になつたとすれば、
そのときにおける被除数αiとαmとの積であるα
i・αMが除算結果であることに外ならないことを
利用して、乗算処理で所期の除算をなせることに
なる。 In other words, when performing division (α i ÷ α j ) between elements α i and α j of the Galois field GF(2 8 ), the dividend α i and the divisor α j
In the process of multiplying each by α several times, M times α
If α j・α M = 1 when multiplied by
α which is the product of the dividend α i and α m at that time
Utilizing the fact that i ·α M is the result of division, the desired division can be performed using multiplication processing.
ここで、乗算処理については前述したような線
形シフトレジスタによる乗算装置を用いてなすこ
とは言う迄もない。 It goes without saying that the multiplication process is performed using a multiplication device using a linear shift register as described above.
ところで、この場合、αj・αM=α255=α0=
1を得るために必要となるαを乗じる回数は、除
数αj=α1のときに最高で254回(つまりM=
254)となるが、単純にその通りになせるように
したのでは乗算処理に要する時間が徒らに長時間
化してしまうので好ましくない。 By the way, in this case, α j・α M = α 255 = α 0 =
The number of times of multiplication by α required to obtain 1 is at most 254 times when the divisor α j = α 1 (that is, M =
254), but simply allowing it to do so would undesirably increase the time required for the multiplication process.
そこで、この発明では被除数αj、除数αjに対
し予め適数(N)回だけαを乗じておくことによ
り、実際に必要となるαを乗じる回数を低減して
短時間で乗算処理(延いては除算処理)がなせる
ようにしようとするものである。 Therefore, in this invention, by multiplying the dividend α j and the divisor α j by α an appropriate number (N) times in advance, the number of times actually required for multiplication by α is reduced and the multiplication process (delayed) is done in a short time. The purpose of this is to make it possible to perform division processing.
第6図は以上のようにガロア体における除算を
乗算処理で実現する除算装置の構成を示すもの
で、この場合上述の(N)としてN1=1、N2=
2、N3=3つまりα1、α2、α3を予め乗じ
ると共に、N0=4つまり1回毎にα4を乗じる
ようにしたものである。 FIG. 6 shows the configuration of a division device that realizes division in a Galois field by multiplication processing as described above. In this case, as (N) mentioned above, N 1 = 1, N 2 =
2, N 3 =3, that is, α 1 , α 2 , α 3 are multiplied in advance, and N 0 =4, that is, α 4 is multiplied every time.
すなわち、除数αjデータは直接あるいはα1
乗算回路51、α2乗算回路52、α3乗算回路
53を介してα4乗算回路を構成する線形シフト
レジスタA1,A2,A3,A4にセツトされる。 That is, the divisor α j data is directly or α 1
It is set via a multiplication circuit 51, an α2 multiplication circuit 52, and an α3 multiplication circuit 53 into linear shift registers A 1 , A 2 , A 3 , and A 4 that constitute an α4 multiplication circuit.
ここで、線形シフトレジスタA1,A2,A3,A4
は第7図に示すようにフリツプフロツプ回路
FF10〜FF17をエクスクルシブオアゲートEX−
OR10〜EX−OR31を介して適宜縦続的に且つ帰還
的に接続して構成されるもので、アンドゲート
AND10を介して与えられるクロツクパルスCpに
よりシフトされ、1シフト毎にα4が乗算される
如くしたα4乗算機能を有している。 Here, linear shift registers A 1 , A 2 , A 3 , A 4
is a flip-flop circuit as shown in Figure 7.
FF 10 ~ FF 17 Exclusive or Gate EX−
It is configured by appropriately connecting cascade and feedback via OR 10 to EX-OR 31 , and is an AND gate.
It is shifted by a clock pulse Cp applied via AND 10 , and has an α4 multiplication function in which it is multiplied by α4 every shift.
そして、シフトレジスタA1,A2,A3,A4の各
出力が供給される1検出回路54,55,56,
57は第7図に示したようにインバータI10と8
入力ノアゲートNOR10によつて構成されているも
ので、レジスタの内容が(10000000)=1になつ
たときに1検出出力を生じるようになされてい
る。この1検出回路54,55,56,57の各
出力が供給される4入力ノアゲートNOR11は当該
1検出出力のいずれかが生じたときに、その出力
が“0”となることによつて前記アンドゲート
AND10を介してクロツクパルスCpの通過をそれ
迄の許容状態から禁止状態とする如く制御してい
る。 1 detection circuits 54, 55, 56, which are supplied with the outputs of the shift registers A1 , A2 , A3 , A4 ,
57 is the inverter I10 and 8 as shown in FIG.
It is composed of an input NOR gate NOR 10 , and is designed to produce a 1 detection output when the contents of the register become (10000000)=1. The 4-input NOR gate NOR 11 to which each output of the 1-detection circuits 54, 55, 56, and 57 is supplied becomes "0" when any of the 1-detection outputs occurs. and gate
Through AND 10 , the passage of clock pulse Cp is controlled from the previously allowed state to the prohibited state.
また、被除数αiデータも上記除数αjデータと
同様に直接あるいはα1乗算回路58、α2乗算
回路59、α3乗算回路60を介して第7図に示
したようなα4乗算回路を構成する線形シフトレ
ジスタB1,B2,B3,B4にセツトされた後、上記
クロツクパルスCpによりα4が適数回乗算され
ることになる。 Similarly to the divisor α j data, the dividend α i data can also be input to the α 4 multiplication circuit as shown in FIG. After being set in the constituent linear shift registers B 1 , B 2 , B 3 , and B 4 , it is multiplied by α 4 an appropriate number of times by the clock pulse Cp.
ここで、シフトレジスタB1,B2,B3,B4の各
出力は上記1検出回路54,55,56,57か
ら各出力と対応的にアンド回路61,62,6
3,64により、アンドがとられることになる。 Here, each output of the shift registers B 1 , B 2 , B 3 , and B 4 is outputted from AND circuits 61 , 62 , and 6 correspondingly to each output from the first detection circuit 54 , 55 , 56 , and 57 .
3,64, an AND is taken.
そして、アンド回路61,62,63,64の
各出力をオア回路65に通すことで、αi÷αjの
除算結果を得ることができる。 Then, by passing each output of the AND circuits 61, 62, 63, and 64 to the OR circuit 65, a division result of α i ÷ α j can be obtained.
第8図は以上におけるアンド回路61〜64の
具体例を示すもので、各入力−端が線形シフトレ
ジスタB1〜B4からの各出力が対応的に供給され
ると共に、各入力他端に1検出回路54〜57の
各出力が対応的に供給される8個の2入力アンド
ゲートAND20〜AND27で構成された場合である。 FIG. 8 shows a specific example of the AND circuits 61 to 64 described above, in which each input terminal is supplied with each output from the linear shift registers B 1 to B 4 correspondingly, and each input terminal is connected to the other terminal of the AND circuits 61 to 64. This is a case in which eight two-input AND gates AND20 to AND27 are respectively supplied with the outputs of the one detection circuits 54 to 57 correspondingly.
第9図は以上におけるオア回路65の具体例を
示すもので、上記アンド回路61〜64の各出力
が対応的に供給される8個の4入力オアゲート
OR20〜OR27で構成された場合である。 FIG. 9 shows a specific example of the OR circuit 65 described above, which includes eight 4-input OR gates to which each output of the AND circuits 61 to 64 is supplied correspondingly.
This is a case where it is composed of OR 20 to OR 27 .
第10図は以上におけるα1乗算回路58の具
体例を示すもので、この場合αjが
αj=B(α)=b7α7+b6α6+……+b1α+b0
で表わされるものとして、次のような原理によつ
ている。つまり、α・B(α)は
α・B(α)=b7α8+b6α7+……b1α2+
b0α
=b6α7+(b5+b7)α6+(b4+b7)α5
+(b3+b7)α4+b2α3+b1α2+b0α
なので、第10図に示したようなエクスクルシブ
オアゲートEX−OR32〜EX−OR34を用いて実現
され、B(α)が入力されればα・B(α)なる
乗算出力を得ることができる。 FIG. 10 shows a specific example of the α 1 multiplication circuit 58 in the above, in which case α j is expressed as α j =B(α)=b 7 α 7 +b 6 α 6 +...+b 1 α+b 0 It is based on the following principle. In other words, α・B(α) is α・B(α)=b 7 α 8 +b 6 α 7 +……b 1 α 2 +
b 0 α = b 6 α 7 + (b 5 + b 7 ) α 6 + (b 4 + b 7 ) α 5 + (b 3 + b 7 ) α 4 + b 2 α 3 + b 1 α 2 + b 0 α, so the 10th This is realized using exclusive OR gates EX-OR 32 to EX-OR 34 as shown in the figure, and if B(α) is input, a multiplication output of α·B(α) can be obtained.
なお、α2乗算回路59、α3乗算回路60に
ついても上述したα乗算回路58に準じて容易に
構成することができる。 Note that the α 2 multiplication circuit 59 and the α 3 multiplication circuit 60 can also be easily configured in accordance with the α multiplication circuit 58 described above.
而して、以上の構成において被除数αi、除数
αjは直接あるいはα、α2、α3の各乗算回路
58〜60を介してα4乗算回路である線形シフ
トレジスタA1〜A4,B1〜B4に当初
にセツトされた後、クロツクパルスCpが入力さ
れる毎にα4が乗じられる。そして、この過程で
レジスタA1〜A4のうちのいずれかの内容がα255
=1になつた時点で1検出回路54〜57により
クロツクパルスCpが停止されると共に、上記α
255=1になつたレジスタA1〜A4に対応するレジ
スタB1〜B4の内容が除算結果としてアンド回路
61〜64、オア回路65を介して出力される。 In the above configuration, the dividend α i and the divisor α j are transferred directly or via the α, α 2 and α 3 multipliers 58 to 60 to the linear shift registers A 1 to A 4 , which are α 4 multipliers. Initially in B 1 ~ B 4 After being set to , it is multiplied by α4 every time a clock pulse Cp is input. In this process, the contents of any one of registers A 1 to A 4 become α 255
= 1, the 1 detection circuits 54 to 57 stop the clock pulse Cp, and the above α
The contents of the registers B 1 to B 4 corresponding to the registers A 1 to A 4 that have become 255 = 1 are outputted as the division results via the AND circuits 61 to 64 and the OR circuit 65.
次に、具体例としてα10÷α240=α10-240=α
-230=α25なる除算を実行する場合について説明
する。 Next, as a specific example, α 10 ÷ α 240 = α 10-240 = α
A case will be explained in which the division -230 = α 25 is executed.
この場合レジスタA1〜A4,B1〜B4は
のように当初セツトされるクロツクパルスCpが
3個入つてきた状態でα4・α4・α4=α12が
乗じられることにより
の如く、レジスタA4がα255=1となるのでこれ
に対応するレジスタB4の内容α25が商として出力
されるものである。 In this case, registers A 1 to A 4 and B 1 to B 4 are By multiplying α4・α4・α4 = α12 with three clock pulses Cp initially set as shown in FIG. As shown, since α 255 =1 in register A 4 , the content α 25 of register B 4 corresponding to this is output as the quotient.
このように、1回毎にα4を乗じることによ
り、必要となるαの乗算回数を最高でも63回(α
j=α1のとき)に低減した状態で所期の除算を
乗算処理でなせるものである。 In this way, by multiplying α by 4 each time, the required number of multiplications of α can be reduced to at most 63 times (α
When j = α 1 ), the desired division can be performed by multiplication processing.
また、線形シフトレジスタを5組、α5乗算回
路を使用すれば、必要となるαの乗算回数を最高
でも50回に低減し得る如く、それを拡張すること
によつてさらなる低減を図ることが可能である。 Furthermore, if five linear shift registers and an α5 multiplication circuit are used, the number of α multiplications required can be reduced to 50 at most, and further reductions can be achieved by expanding this. It is possible.
なお、この発明は上記し且つ図示した実施例の
みに限定されることなく、この発明を要旨を逸脱
しない範囲で種々の変形や適用が可能であること
は言う迄もない。 It goes without saying that this invention is not limited to the embodiments described above and illustrated, and that various modifications and applications can be made without departing from the scope of the invention.
例えば、テープPCM等のデジタル化された情
報の伝送や記録再生システム、計算機システム等
でガロア体による代数演算を必要とする機器に好
適するものである。 For example, it is suitable for devices that require algebraic operations using Galois fields, such as tape PCM and other digitized information transmission, recording and reproducing systems, computer systems, and the like.
従つて、以上詳述したようにこの発明によれ
ば、大容量のメモリを必要とする対数バツフアや
真数バツフアを用いることなくガロア体における
除算をなし得るようにし、以つて構成の簡易化な
らびに低価格および高速処理化に寄与し得るよう
にした極めて良好なるガロア体における除算装置
を提供することが可能となる。
Therefore, as detailed above, according to the present invention, it is possible to perform division in a Galois field without using a logarithm buffer or an antilog buffer that requires a large capacity of memory, thereby simplifying the configuration and It becomes possible to provide an extremely good division device in a Galois field that can contribute to low cost and high speed processing.
第1図はリードソロモン符号の復号システムを
示す概略構成図、第2図は従来のエラーロケーシ
ヨン多項式計算器を示す構成図、第3図はこの発
明が適用されるDAD再生装置の概要を示す構成
図、第4図はこの発明の一実施例を示す構成図、
第5図は第4図の乗算装置部の具体例を示す構成
図、第6図は第4図の除算装置部の具体例を示す
構成図、第7図乃至第10図はそれぞれ第6図の
α4乗算回路を構成する線形シフトレジスタ部お
よび1検出回路部、アンド回路部、オア回路部、
α1乗算回路の具体例を示す構成図である。
A1〜A4……(α4乗算回路用)線形シフトレ
ジスタ、NOR11……ノアゲート、AND10……アン
ドゲート、51,58……α1乗算回路、52,
59……α2乗算回路、53,60……α3乗算
回路、54〜57……1検出回路、61〜64…
…アンド回路、65……オア回路。
Fig. 1 is a schematic block diagram showing a Reed-Solomon code decoding system, Fig. 2 is a block diagram showing a conventional error location polynomial calculator, and Fig. 3 is an overview of a DAD playback device to which the present invention is applied. A configuration diagram, FIG. 4 is a configuration diagram showing an embodiment of the present invention,
5 is a block diagram showing a specific example of the multiplication device section in FIG. 4, FIG. 6 is a block diagram showing a specific example of the division device section in FIG. 4, and FIGS. 7 to 10 are respectively shown in FIG. 6. A linear shift register section, a 1 detection circuit section, an AND circuit section, an OR circuit section, which constitute the α 4 multiplication circuit of
FIG. 2 is a configuration diagram showing a specific example of an α 1 multiplication circuit. A 1 to A 4 ... (for α 4 multiplier circuit) linear shift register, NOR 11 ... NOR gate, AND 10 ... AND gate, 51, 58 ... α 1 multiplier circuit, 52,
59...α 2 multiplication circuit, 53, 60...α 3 multiplication circuit, 54-57...1 detection circuit, 61-64...
...AND circuit, 65...OR circuit.
Claims (1)
ちの2個の元αi、αj(但しαは法多項式F(x)の
根)間の除算αi÷αjをαi・αM÷αj・αM(但
しMは整数)なる第1の乗算〔αi・αM〕および
第2の乗算〔αj・αM〕の商の形に変換し、前記
第2の乗算がαj・αM=α2m-1=α0=1なるこ
とを利用して結果的にαi÷αj=αi・αMなる乗
算に変換して処理するもので、前記元αjが被除
数データとして直接あるいは適数個のαN1、αN2
……乗算回路(但しN1、N2……は1≦N1<N2…
…)を介してそれぞれ毎にセツトされると共に1
シフト毎にそれぞれαN0(但しN0は1<N0)を乗
算する形式になされた第1の線形シフトレズスタ
群と、前記元αiが除数データとして直接あるい
は適数個のαN1、αN2……乗算回路を介してそれ
ぞれ毎にセツトされると共に1シフト毎にそれぞ
れαN0を乗算する形式になされた第2の線形シフ
トレジスタ群と、前記第1の線形シフトレジスタ
群の各レジスタ毎の1出力を検出する1検出回路
群と、この1検出回路群のいずれかで1出力が検
出されるまでの適数回だけ前記第1および第2の
線形シフトレジスタ群を共にシフトせしめる第1
の手段と、前記第2の線形シフトレジスタ群の各
レジスタ毎の出力と前記1検出回路群の各検出回
路毎の出力とのアンドをとつてアンドがとられた
レジスタ出力を導出する第2の手段とを具備して
なることを特徴とするガロア体における除算装
置。[Claims] 1. Division α i between two elements α i and α j (where α is the root of the modulus polynomial F (x) ) among 2 m elements in the Galois field GF (2 m ) ÷α j in the form of the quotient of the first multiplication [α i · α M ] and the second multiplication [α j · α M ], which is α i · α M ÷ α j · α M (where M is an integer). Using the fact that the second multiplication is α j · α M = α 2m-1 = α 0 = 1, the result is converted to the multiplication α i ÷ α j = α i · α M. The element α j is used as the dividend data directly or as an appropriate number of α N1 , α N2
...multiplication circuit (however, N 1 , N 2 ... is 1≦N 1 <N 2 ...
), and 1
The first linear shift resistor group is multiplied by α N0 (where N 0 is 1<N 0 ) for each shift, and the element α i is used as divisor data directly or as an appropriate number of α N1 , α N2 . . . A second linear shift register group which is set individually via a multiplier circuit and multiplied by α N0 for each shift, and a a first detection circuit group that detects one output; and a first detection circuit group that shifts the first and second linear shift register groups together an appropriate number of times until one output is detected in one of the one detection circuit groups.
and a second means for ANDing the output of each register of the second linear shift register group and the output of each detection circuit of the first detection circuit group to derive the ANDed register output. 1. A division device in a Galois field, comprising: means.
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57102803A JPS58219647A (en) | 1982-06-15 | 1982-06-15 | Dividing device for galois field |
| EP83102173A EP0096163B1 (en) | 1982-06-15 | 1983-03-05 | Apparatus for dividing the elements of a galois field |
| DE8383102173T DE3376907D1 (en) | 1982-06-15 | 1983-03-05 | Apparatus for dividing the elements of a galois field |
| US06/473,765 US4574361A (en) | 1982-06-15 | 1983-03-10 | Apparatus for dividing the elements of a Galois field |
| KR8302663A KR860000902B1 (en) | 1982-06-15 | 1983-06-15 | Element divider in galois field |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57102803A JPS58219647A (en) | 1982-06-15 | 1982-06-15 | Dividing device for galois field |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58219647A JPS58219647A (en) | 1983-12-21 |
| JPS6237414B2 true JPS6237414B2 (en) | 1987-08-12 |
Family
ID=14337220
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57102803A Granted JPS58219647A (en) | 1982-06-15 | 1982-06-15 | Dividing device for galois field |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS58219647A (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2001084719A1 (en) * | 2000-04-27 | 2001-11-08 | Mitsubishi Denki Kabushiki Kaisha | Error correction method, error correction device and recording medium in which error correction program is recorded |
-
1982
- 1982-06-15 JP JP57102803A patent/JPS58219647A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS58219647A (en) | 1983-12-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4574361A (en) | Apparatus for dividing the elements of a Galois field | |
| US4567568A (en) | Apparatus for dividing the elements of a Galois field | |
| US4498175A (en) | Error correcting system | |
| EP0329789B1 (en) | Galois field arithmetic unit | |
| JPH10500270A (en) | Multipurpose error correction system | |
| JPS6037833A (en) | Code ward decoder and reader | |
| JP3281387B2 (en) | CRC / EDC checker system | |
| WO1985003371A1 (en) | Circuit for calculating finite fields | |
| US8102996B2 (en) | Scrambler, descrambler and method, and disc apparatus | |
| US7607074B2 (en) | Error detecting code addition circuit, error detection circuit and method, and disc apparatus | |
| JPS638648B2 (en) | ||
| JPS638650B2 (en) | ||
| JPS6237414B2 (en) | ||
| JPH11328880A (en) | Error correcting device and optical disk reproducing device | |
| JPS6248254B2 (en) | ||
| JPS6237415B2 (en) | ||
| US6564352B1 (en) | Error detection circuit applicable to a disk reproduction apparatus | |
| JPS638649B2 (en) | ||
| JPS6246018B2 (en) | ||
| JP2001044853A (en) | Chain search circuit, error correction device and disk driver | |
| JP3126973B2 (en) | Error correction processor | |
| JPH04365139A (en) | Syndrome operation circuit for error correction processing | |
| KR920010184B1 (en) | Finite Field Computation Circuit | |
| JPS63131623A (en) | Chien's algorithm implementation device | |
| JPH0834439B2 (en) | Galois field arithmetic unit |