JPS6248254B2 - - Google Patents
Info
- Publication number
- JPS6248254B2 JPS6248254B2 JP57102805A JP10280582A JPS6248254B2 JP S6248254 B2 JPS6248254 B2 JP S6248254B2 JP 57102805 A JP57102805 A JP 57102805A JP 10280582 A JP10280582 A JP 10280582A JP S6248254 B2 JPS6248254 B2 JP S6248254B2
- Authority
- JP
- Japan
- Prior art keywords
- multiplication
- circuit
- output
- error
- 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
- 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)再生装置等に用いられるエラー
訂正符号の復号用に好適するガロア体における除
算装置の改良に関する。
〔発明の技術的背景〕
周知のように、近時開発されている光学式
DAD再生装置(特にはCD:コンパクトデイスク
形)においては、そのエラー訂正符号としてクロ
スインターリーブリードソロモン符号(CIRC)
を採用している。
すなわち、これは従来より知られている代表的
なランダムエラー訂正符号のうちで最もエラー訂
正能力が高いものとして広範に定義されている
BCH符号の一種であるリードソロモン符号を用
いるものであるが、それにバーストエラーに対し
ても高い訂正能力を持たせるべくクロスインタリ
ーブなる信号処理を伴わせるようにしたものであ
る。
ところで、リードソロモン符号の復号つまりエ
ラー訂正はBCH符号のそれと同様になすことが
できる。
今、符号長(n)、情報シンボル(k)個、検
査シンボル(n−k)個からなるリードソロモン
符号について、その復号法を調べてみるものとす
る。但し、上記各シンボルは(m)個の2進ビツ
トつまり2m個の元を有する有限体であるガロア
体CF(2m)の元である。
そして、この場合(t)重エラー訂正リードソ
ロモン符号の生成多項式g(x)は、(α)をガロア
体GF(2m)の原始元として次の(1)式または(2)式
のように表わされる。
g(x)=(x+α)(x+α2)
…(x+α2t) …(1)
g(x)=(x+α0)(x+α)
…(x+α2t-1) …(2)
また、送信符号語をC(x)、受信符号語をR(x)
で表わし、且つエラー多項式をE(x)とすると、
これらの間には次のような関係が成立する。
R(x)=C(x)+E(x) …(3)
この場合、多項式の係数はガロア体GF(2m)
に含まれており、エラー多項式E(x)はエラーロ
ケーシヨンおよび値(大きさ)に対応する項だけ
を含んでいる。
従つて、位置xjにおけるエラー値をYjとする
と
となり、該(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)式より
と表わすことができる。但し、αj=Xjとおいた
もので、Xjはαjにおけるエラーロケーシヨンを
表わしている。
ここで、エラーロケーシヨン多項式σ(xは、
エラー数をeとして
と定義される。
また、(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の場合には
となる。また、e=2の場合には
となる。
ここで、実際の復号器が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)/(X
1+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)/(X3XX4)
Y4=S0+Y1+Y2+Y3
となる。
() 上述のようにして求めたY1〜Y4により訂
正を行なう。
第1図は以上のような原理に基くリードソロモ
ン符号の実際の復号システムを示す概略構成図で
ある。すなわち、入力端(IN)を介して導かれ
る被訂正用のデータ(エラー訂正用としてリード
ソロモン符号が用いられていることは勿論であ
る)は二分されて、一方が後述する復号動作の間
データバツフア11に記憶されると共に、他方が
復号動作をなすためのシンドローム計算器12以
下に導かれる。
そして、シンドローム計算器12で計算された
シンドロームはシンドロームバツフア13に記憶
される。
ここで、シンドロームバツフア13の出力部に
接続されたオアゲート14はエラーの有無を指示
するもので、エラーがあると前述したような手順
によつてエラー訂正動作を開始することになる。
つまり、エラーロケーシヨン多項式計算器15
がエラーロケーシヨン多項式σ(x)の係数を計算
し、エラーロケーシヨン計算器16がエラーロケ
ーシヨン多項式の根を計算し、エラー値計算器1
7がエラー値を計算し、これらのエラーロケーシ
ヨンおよびエラー値により上記データバツフア1
1から出力されるデータを訂正するものである。
ところで、このような復号システムの各計算器
12,15,16,17は0か否かの検出ならび
に必要な加算、乗算および除算等の代数演算をな
すものであるが、これらについての具体例として
従来第2図に示すように構成されたエラーロケー
シヨン多項式計算器(特公昭56―20575号)が知
られている。
すなわち、第2図において21はシンドローム
バツフアであつて、シンドロームSiを記憶する
ためのRAMでなり、該シンドロームバツフア2
1にはガロア体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までの線形結合
[Technical Field of the Invention] The present invention relates to an improvement in a division device in a Galois field suitable for decoding an error correction code used, for example, in an optical digital audio disc (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 of the above symbols is an element of a Galois field CF(2 m ) which is a finite field having (m) binary bits, that is, 2 m elements. 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) Also, the transmission code word is C (x) and the received codeword as R (x)
, and if the error polynomial is E (x) , then
The following relationship holds between these. 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). Therefore, if the error value at position x j is Y j In Equation (4), Σ means the sum of errors over all positions. 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 However, α j =X j , where X j represents the error location at α j . Here, the error location polynomial σ ( x is
Let the number of errors be e is defined as Moreover, σ 1 to σ e in equation (7) are related to the 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 given by equation () (5). Calculate the syndrome S i . () 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 raw voice generator polynomial g (x) in this case is g (x) = (x + 1) (x + α) (x + α 2 ) (x + α 3 ), and it is possible to correct up to double errors. Here, we will discuss the 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, becomes. Also, in the case of e=2 becomes. 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. 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
It is determined as =S 1 S 3 +S 2 2 /S 1 2 +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 x + σ 2 = 0 ...(11), and the elements of the Galois field GF (2 m ) are sequentially substituted into equation (11) to solve the problem. All you have to do is find the roots, and now let these roots be X 1 and X 2 . () 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 . 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 / ) Error values Y 1 , Y 2 obtained as above
Corrections will be made. 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. [Method B] () Calculate syndromes S0 to S3 . (), () Find out 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]. If 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 X 2 2 + Y 3 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 . In addition, 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
1 +X 2 ) (X 1 +X 3 )(X 1 +X 4 ) Y 2 =(S 0 X 4 + S 1 ) X 3 + ( S 1 4 )/(X 2 +X 3 )(X 2 +
X 4 ) Y 3 = (S 0 X 4 + S 1 ) + Y 1 ( X 1 + X 4 ) + Y 2 ( X 2 + . () Correction is made using Y 1 to Y 4 obtained as described above. 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. 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, 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. 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 .
1 stores each syndrome which is an element of the Galois field GF(2 m ) 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 a ROM that stores the original logarithm and antilog of (2 m ) separately in the form of a table. 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, the elements other than 0 are the powers of the root α of F (x) = 0. or linear combination from α 0 to α 7
しかしながら、以上のような従来のエラー訂正
装置は、そのエラーロケーシヨン多項式計算器に
おける代数演算のうち乗算および除算用として対
数バツフアおよび真数バツフアを必要とするもの
であるが、このために用いられるROM等のメモ
リ容量が膨大なものになるので、LSI化が阻害さ
れて大容量のメモリを外付けしなければならない
という不具合を生じていた。
これは、前述した例の如く1シンボル8ビツト
とした場合で255×8ビツト=2040ビツトのROM
が2つ必要になり、合計4080ビツトにもなること
からして容易に窺い知れるところである。
つまり、従来より知られているガロア体におけ
る乗算装置および除算装置はそれらの元の対数お
よび真数を各別にテーブルの形式で記憶している
大容量メモリでなる対数バツフアや真数バツフア
を必要とするので、それだけ構成が複雑化して高
価格につくという問題を有していた。
〔発明の目的〕
そこで、この発明は以上のような点に鑑みてな
されたもので、特に大容量のメモリを必要とする
対数バツフアや真数バツフアを用いることなくガ
ロア体における除算をなし得るようにし、以つて
構成の簡易化ならびに低価格化および高速処理化
に寄与し得るようにした極めて良好なるガロア体
における除算装置を提供することを目的としてい
る。
〔発明の概要〕
すなわち、この発明によるガロア体における除
算装置は、ガロア体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が被除数データとして直接あるいは適数個の
αN1,αN2…乗算回路(但しN1,N2…は1<
N1,N3…<2m-1)を介してそれぞれ毎にセツト
される第1の線形シフトレジスタ群と、前記元α
iが除数データとして直接あるいは適数個のαN
1,αN2…乗算回路を介してそれぞれ毎にセツト
される第2の線形シフトレジスタ群と、前記第1
の線形シフトレジスタ群の各レジスタ毎の1出力
を検出する1検出回路群と、この1検出回路群の
いずれかで1出力が検出されるまでの適数回だけ
前記第1および第2の線形シフトレジスタ群を共
にシフトせしめる第1の手段と、前記第2の線形
シフトレジスタ群の各レジスタ毎の出力と前記1
検出回路群の各検出回路毎の出力とのアンドをと
つてアンドがとられたレジスタ出力を導出する第
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を介して与えられるサ
ーチ制御信号と共に、前記光学式ピツクアツプ1
14のトラツキングサーボ系TSを駆動するのに
且つ前記ピツクアツプ送りモータ115を(リニ
アトラツキング)制御するのに供せられる。
そして、残る高周波信号RFが主再生信号成分
として再生信号処理系118に供給される。すな
わち、この再生信号処理系118は先ず再生信号
をスライスレベル(アイパターン)検出器119
によつて制御される波形整形回路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で必要な
エラー検出および訂正が施されたサブコードデー
タはシステムコントローラ用インターフエイス回
路122gを介してシステムコントローラ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再生装置のエラー訂
正部に適用されたこの発明に係るガロア体におけ
る除算装置の一実施例につき図面を参照して詳細
に説明する。
すなわち、第4図は第3図における第2の信号
処理回路123の訂正回路123dに主として含
まれる前述したようなエラーロケーシヨン多項式
計算器部を示しているもので、対数バツフアや真
数バツフアを用いることなくガロア体における乗
算および除算がなし得るようにした乗算装置41
および除算装置42を備えている以外は前述した
第2図のそれと同様である。つまり、エラー訂正
符号として採用されたBCH符号の一種であるリ
ードソロモン符号の復号(エラー訂正)のために
各種の代数演算をなすのがエラーロケーシヨン多
項式計算器に与えられた役目であるが、このうち
加算および0であるか否かの検出については第2
図のそれと同様になされるので同一符号を付して
その説明を省略するものとし、第2図のそれとは
異なる乗算および除算について以下に述べるもの
である。
先ず、ガロア体における乗算についてみてみる
に、例えばガロア体GF(28)の元αiとαjとの乗
算(αi・αj,但しαは法多項式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(α)〕
となる。
つまり、このようなガロア体GF(28)の元αi
とαjとの乗算は線形シフトレジスタを用いて第
5図に示したように構成される乗算装置で実現し
得ることを物語つている。
すなわち、第5図においてAND0〜AND7は各
一端に上記乗数D(α)の係数であるd0〜d7が上
位ビツトから順にシリアルに供給されると共に、
各他端に上記被乗数C(α)の係数であるc0〜c7
が上位ビツトから順にパラレルに供給されるアン
ドゲートである。また、FF0〜FF7は、上記各ア
ンドゲートAND0〜AND7からの出力が入力一端
に対応して供給されるエクスクルシブオアゲート
(EX―OR0)〜(EX―OR7)を介して継続的に接
続されると共に帰還接続されることにより線形シ
フトレジスタ群SR0を構成するフリツプフロツプ
回路である。
この場合、4段目と5段目、5段目と6段目お
よび6段目と7段目のフリツプフロツプ回路FF3
―FF4,FF4―FF5,FF5―FF7との段間は各一
端が帰還路に接続されたエクスクルシブオアゲー
ト(EX―OR4′),(EX―OR5′,EX―OR6′)がさ
らに介挿された状態で結合されている。また、各
フリツプフロツプ回路FF0〜FF7のクロツク入力
端CKには図示しないクロツク発生器からのクロ
ツクパルスCPがパラレルに供給される如くなさ
れている。
つまり、C(α)の係数c0〜c7がビツトシリア
ルに入力されることにより、先ずX0が計算さ
れ、その後X1,X2…と続いて8ビツト入力終了
時に線形シフトレジスタSR0にはX7すなわちC
(α)・D(α)が実現されるもので、各フリツプ
フロツプ回路FF0〜FF7の出力x0,x1……x7が乗
算結果を与えることになる。
ここで、X0〜X7は次の通りである。
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等の大容
量メモリでなる対数バツフアや真数バツフアを用
いることなく、単に線形シフトレジスタを用いる
だけでなし得るので、その構成を簡易で安価なも
のとすることができるという効用を有している。
次に、ガロア体における除算についてみてみる
に、例えばガロア体GF(28)の元αiとαjとの除
算αi÷αj(但しαは法多項式F(x)=x8+x6+
x5+x4+1の根とする)は
αi÷αj=(αi・αM)÷(αj・αM)
と同値である(但し、Mは整数)
この場合、αj・αM=α255=α0=1ならば
αi÷αj=αi・αM
となる。
つまり、ガロア体GF(28)の元αiとαjとの除
算(αi÷αj)をなす場合、被除数αi、除数αj
にそれぞれαを何回は乗じて行く過程で、M回α
を乗じたときにαj・αM=1になつたとすれば、
そのときにおける被除数αiとαmとの積であるα
i・αMが除算結果であることに外ならないことを
利用して、乗算処理で所期の除算をなせることに
なる。
ここで、乗算処理については前述したような線
形シフトレジスタによる乗算装置を用いてなすこ
とは言う迄もない。
ところで、この場合αj・αM=α255=α0=1
を得るために必要となるαを乗じる回数は、除数
αj=α1のときに最高で254回(つまりM=
254)となるが、単純にその通りになせるように
したのでは乗算処理に要する時間が徒らに長時間
化してしまうので好ましくない。
そこで、この発明では被除数αi、除数αjに対
し予め適数(N)回だけαを乗じておくことによ
り、実際に必要となるαを乗じる回数を低減して
短時間で乗算処理(延いては除算処理)がなせる
ようにしようとするものである。
第6図は以上のようにしてガロア体における除
算を乗算処理で実現する除算装置の構成を示すも
ので、この場合上述の(N)としてN1=64,N2
=128,N3=192つまりα64,α128,α192を予め
乗じるようにしたものである。
すなわち、除数αjデータは直接あるいはα64
乗算回路51、α128乗算回路52、α192乗算回
路53を介して線形シフトレジスタA1,A2,
A3,A4にセツトされる。ここで、線形シフトレ
ジスタA1,A2,A3,A4は前述した第5図の線形
シフトレジスタSR0と同様に構成されているもの
で、アンドゲートAND11を介して与えられるクロ
ツクパルスCpによりシフトされ、1シフト毎に
αが乗算されることになる。
そして、シフトレジスタA1,A2,A3,A4の各
出力が供給される1検出回路54,55,56,
57は、レジスタの内容が(10000000)=1にな
つたときに1検出出力を生じるようになされてい
る。この1検出回路54,55,56,57の各
出力が供給される4入力ノアゲートNOR10は、当
該1検出出力のいずれかが生じたときに、その出
力が“0”となることによつて前記アンドゲート
AND10を介してクロツクパルスCpの通過をそれ
迄の許容状態から禁止状態とする如く制御してい
る。
また、被除数αiデータも上記除数αjデータと
同様に直接あるいはα64乗算回路58、α128乗算
回路59、α192乗算回路60を介して線形シフ
トレジスタB1,B2,B3,B4にセツトされた後、
上記クロツクパルスCpによりαが適数回乗算さ
れることになる。
ここで、シフトレジスタB1,B2,B3,B4の各
出力は上記1検出回路54,55,56,57か
らの各出力と対応的にアンド回路61,62,6
3,64により、アンドがとられることになる。
そして、アンド回路61,62,63,64の
各出力をオア回路65に通すことで、αi÷αjの
除算結果を得ることができる。
第7図は以上における1検出回路54〜57の
具体例を示すもので、線形シフトレジスタA1〜
A4からの各出力のうちα1に対応する出力のみ
にインバータI10を介して且つそれ以外のα2〜
α7に対応する出力が直接的に加えられる8入力
ノアゲートNOR11で構成された場合である。
第8図は以上におけるアンド回路61〜64の
具体例を示すもので、各入力一端が線形シフトレ
ジスタB1〜B4からの各出力が対応的に供給され
ると共に、各入力他端に1検出回路54〜57の
各出力が対応的に共通に供給される8個の2入力
アンドゲートAND20〜AND27で構成された場合で
ある。
第9図は以上におけるオア回路65の具体例を
示すもので、上記アンド回路61〜64の各出力
が対応的に供給される8個の4入力オアゲート
OR20〜OR27で構成された場合である。
第10図は以上におけるα64乗算回路58の具
体例を示すもので、この場合αjが
αj=B(α)=b7α7+b6α6+…b1α+b0
で表わされるものとして、次のような原理によつ
ている(但し、b1〜b7は0または1である)。
すなわち、α64=α7+α6+α5であるので
α64・B(α)=(α7+α6+α5)(b7α7
+…+b1α+b0)=(b0+b1+b5+b7)α7+(b0+
b4+b6)α6+(b0+b1+b3)α5+(b1+b2+b5)α
4+(b4+b5)α3+(b3+b4)α2+(b2+b3+b7)
α+(b1+b2+b6)
となる。つまり、このような演算は第10図に示
したようなエクスクルシブオア群(EX―OR11)
〜(EX―OR25)で実現されるもので、B(α)
が入力されれば、α64・B(α)なる乗算出力を
得ることができる。
なお、α128乗算回路59、α192乗算回路60
についても上述したα64乗算回路58に準じて容
易に構成することができる。
次に具体例としてα200÷α180=α20を実行する
場合について説明する。
この場合、シフトレジスタA1〜A4,B1〜B4
は、次のようにセツトされる。
A1:α180
A2:α180・α64=α244
A3:α180・α128=α308=α53
A4:α180・α192=α372=α117
B1:α200
B2:α200・α64=α264=α9
B3:α200・α128=α328=α73
B4:α200・α192=α302=α137
そして、クロツクパルスCpが11個入つてきた
状態で、シフトレジスタA2の内容がα255=1と
なることによつて、それが1検出回路55で検出
されるとクロツクパルスCpの供給が停止される
ようになる。このとき、シフトレジスタB2の内
容はα20となつており、このα20なる出力がアン
ド回路62およびオア回路65を介して出力され
るものである。
このようにして、αを乗じる回数を最高でも63
回(αj=α1のとき)に低減した状態で所期の
除算を乗数処理でなせるものである。
この場合、線形シフトレジスタ対をさらに多く
しておけば、αを乗じる回数をより少ない回数に
軽減することができる。
なお、この発明は上記し且つ図示した実施例の
みに限定されることなく、この発明の要旨を逸脱
しない範囲で種々の変形や適用が可能であること
は言う迄もない。
例えば、テープPCM等のデジタル化された情
報の伝達や記録再生システム、計算機システム等
でガロア体による代数演算を必要とする機器に好
適するものである。
〔発明の効果〕
従つて、以上詳述したようにこの発明によれ
ば、大容量のメモリを必要とする対数バツフアや
真数バツフアを用いることなくガロア体における
除算をなし得るようにし、以つて構成の簡易化な
らびに低価格化および高速処理化に寄与し得るよ
うにした極めて良好なるガロア体における除算装
置を提供することが可能となる。
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. 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. [Purpose of the Invention] The present invention has been made in view of the above-mentioned points, and it is an object to perform division in a Galois field without using a logarithm buffer or an antilog buffer that 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 simplifying the configuration, lowering the cost, and increasing processing speed. [Summary of the Invention] That is, the division device in a Galois field according to the present invention divides two elements α i and α j (where α is a modulus polynomial F ( x) root)), divide α i ÷ α j by
The first multiplication [α i・α
M ] and the second multiplication [α j・α M ], and the second multiplication is α j・α M = α 2m-1 = α 0
= 1, as a result α i ÷ α j = α i・
The element α j is processed by converting it into a multiplication α M , and the element α j is directly used as the dividend data, or an appropriate number of α N1 , α N2 ... multiplication circuits (however, N 1 , N 2 ... are 1<
N 1 , N 3 ... < 2 m-1 ), the first linear shift register group is set respectively through
i is directly or an appropriate number of α N as divisor data
1 , α N2 . . . a second linear shift register group set respectively via a multiplication circuit;
one detection circuit group for detecting one output from each register of the linear shift register group; a first means for shifting the shift register group together; an output for each register of the second linear shift register group;
It is characterized by comprising a second means for ANDing the output of each detection circuit of the detection circuit group and deriving the ANDed register output. [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 being separated into a focus error signal F, a tracking error signal, and a high frequency signal RF. . 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 sent to the optical pickup 1 along with a search control signal given via a system controller 117, which will be described later.
It is used to drive the 14 tracking servo systems TS and to control the pick-up feed motor 115 (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, this reproduced signal processing system 118 first passes the reproduced signal to a slice level (eye pattern) detector 119.
The signal is guided to a waveform shaping circuit 120 controlled by a PLL type synchronous clock regeneration circuit 121 and a first signal processing system 122 to separate unnecessary analog components and necessary data components.
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 is also guided to a demodulation circuit 122d where it is demodulated (EFM). . 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 122g.
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 based on command signals from the control switch 124, and also controls the above-mentioned subcodes (e.g. It is used to display the index information of the played song 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).
It is provided with automatic frequency control AFC and automatic phase control APC to drive the system. 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, the data is subjected to necessary error correction, deinterleaving, error correction, etc. processing, and then outputted to a digital-to-analog (D/A) 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. Furthermore, 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 is then provided to the speaker 130 to produce sound. 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. 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. First, let's look at multiplication in a Galois field. For example, the multiplication of elements α i and α j of Galois field GF (2 8 ) (α i · α j , where α is the modulus polynomial F (x) = X 8 + X 6
+X 5 +X 4 +1 root) is α i =C(α)=c 0
+c 1 α+...c 7 α 7 α j = D (α) = d 0 + d 1 α+... d 7 α 7 (However, c 0 to c 7 and d 0 to d 7 are 0 or 1. ) α i・α j =C(α)・D(α)=d 7 α 7 C(α)+d 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 7 C(α)+
d 6 C(α)〕+d 5 C(α)〕+d 4 C(α)〕+d 3 C
(α)] + d 2 C (α)] + d 1 C (α) + d 0 C (α)]. 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. 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. In addition, FF 0 to FF 7 are connected via exclusive OR gates (EX-OR 0 ) to (EX-OR 7 ) to which the outputs from the AND gates AND 0 to AND 7 are supplied correspondingly to one input end. This is a flip-flop circuit that constitutes a linear shift register group SR0 by being continuously connected and feedback connected. 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 - Between the stages of FF 7, exclusive OR gates (EX-OR 4 '), (EX-OR 5 ' , EX- OR 6 ′) is further inserted. Further, a clock pulse CP from a clock generator (not shown) is supplied in parallel to the clock input terminal CK of each of the flip-flop circuits FF 0 to FF 7 . In other words, by inputting the coefficients c 0 to c 7 of C(α) in a bit-serial manner, X 0 is first calculated, then X 1 , is 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. Here, X 0 to X 7 are as follows. 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 done simply by using a linear shift register without using a , it has the advantage that the configuration can be made simple and inexpensive. Next, let's look at division in a Galois field. For example, the division of the elements α i and α j of the Galois field GF(2 8 ) is α i ÷ α j (where α is the modulus polynomial F(x) = x 8 + x 6 +
x 5 + x 4 + 1 root) is equivalent to α i ÷ α j = (α i・α M ) ÷ (α j・α M ) (where M is an integer) In this case, α j・α If M = α 255 = α 0 = 1, then α i ÷ α j = α 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 α 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. By the way, in this case α j・α M = α 255 = α 0 = 1
The number of times of multiplication by α required to obtain is at most 254 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. Therefore, in this invention, by multiplying the dividend α i 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. 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, the above (N) is N 1 = 64, N 2
= 128, N 3 = 192, that is, α 64 , α 128 , α 192 are multiplied in advance. That is, the divisor α j data is directly or α 64
Linear shift registers A 1 , A 2 ,
Set to A 3 and A 4 . Here, the linear shift registers A 1 , A 2 , A 3 , and A 4 are configured similarly to the linear shift register SR 0 shown in FIG . It is shifted by p and multiplied by α for every shift. 1 detection circuits 54, 55, 56, which are supplied with the outputs of the shift registers A1 , A2 , A3 , A4 ,
57 is designed to produce a 1 detection output when the contents of the register become (10000000)=1. The 4-input NOR gate NOR 10 to which each output of the 1 detection circuits 54, 55, 56, and 57 is supplied is activated by the output becoming "0" when any of the 1 detection outputs occurs. Said and gate
Through AND 10 , the passage of the clock pulse C p is controlled from the previously permitted state to the prohibited state. In addition, the dividend α i data is also transmitted directly or via the α 64 multiplication circuit 58, α 128 multiplication circuit 59, and α 192 multiplication circuit 60 to the linear shift registers B 1 , B 2 , B 3 , B as well as the divisor α j data. After being set to 4 ,
α is multiplied an appropriate number of times by the clock pulse C p . Here, each output of the shift registers B 1 , B 2 , B 3 , B 4 corresponds to each output from the above-mentioned 1 detection circuits 54 , 55 , 56 , 57 and the AND circuits 61 , 62 , 6 .
3,64, an AND is taken. 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. FIG. 7 shows a specific example of the 1 detection circuits 54 to 57 in the above, and shows the linear shift registers A 1 to 57.
Among the outputs from A4 , only the output corresponding to α1 is passed through the inverter I10 , and the other outputs α2 to
This is a case where the circuit is configured with an 8-input NOR gate NOR 11 to which the output corresponding to α 7 is directly added. 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 supplied with one terminal at the other end. This is a case where the outputs of the detection circuits 54 to 57 are constructed of eight two-input AND gates AND20 to AND27 , which are respectively supplied in common. 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 . FIG. 10 shows a specific example of the above α 64 multiplier circuit 58, in which α j is expressed as α j =B(α)=b 7 α 7 +b 6 α 6 +...b 1 α+b 0 It is based on the following principle (however, b 1 to b 7 are 0 or 1). In other words, α 64 = α 7 + α 6 + α 5 , so α 64・B(α) = (α 7 + α 6 + α 5 ) (b 7 α 7
+…+b 1 α+b 0 )=(b 0 +b 1 +b 5 +b 7 )α 7 +(b 0 +
b 4 + b 6 ) α 6 + (b 0 + b 1 + b 3 ) α 5 + (b 1 + b 2 + b 5 ) α
4 + (b 4 + b 5 ) α 3 + (b 3 + b 4 ) α 2 + (b 2 + b 3 + b 7 )
α+(b 1 + b 2 + b 6 ). In other words, such an operation is an exclusive OR group (EX-OR 11 ) as shown in Figure 10.
It is realized by ~(EX-OR 25 ), and B(α)
If is input, a multiplication output of α 64 ·B(α) can be obtained. Note that the α 128 multiplication circuit 59 and the α 192 multiplication circuit 60
can also be easily constructed in accordance with the α 64 multiplication circuit 58 described above. Next, as a specific example, a case where α 200 ÷ α 180 = α 20 is executed will be described. In this case, shift registers A 1 to A 4 , B 1 to B 4
is set as follows. A 1 : α 180 A 2 : α 180・α 64 = α 244 A 3 : α 180・α 128 = α 308 = α 53 A 4 : α 180・α 192 = α 372 = α 117 B 1 : α 200 B 2 : α 200・α 64 = α 264 = α 9 B 3 : α 200・α 128 = α 328 = α 73 B 4 : α 200・α 192 = α 302 = α 137 And 11 clock pulses C p are included. In this state, the contents of the shift register A 2 become α 255 =1, and when this is detected by the 1 detection circuit 55, the supply of the clock pulse C p is stopped. At this time, the content of shift register B 2 is α 20 , and the output α 20 is outputted via AND circuit 62 and OR circuit 65 . In this way, the number of times α is multiplied is at most 63
The desired division can be performed by multiplier processing while reducing the number of times (when α j =α 1 ). In this case, by increasing the number of linear shift register pairs, the number of times of multiplication by α can be reduced. It goes without saying that the present invention is not limited to the embodiments described above and illustrated, and that various modifications and applications can be made without departing from the gist of the invention. 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. [Effects of the Invention] 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. It becomes possible to provide an extremely good division device in a Galois field that contributes to a simplified configuration, lower cost, and higher processing speed.
第1図はリードソロモン符号の復号システムを
示す概略構成図、第2図は従来のエラーロケーシ
ヨン多項式計算器を示す構成図、第3図はこの発
明が適用されるDAD再生装置の概要を示す構成
図、第4図はこの発明の一実施例を示す構成図、
第5図は第4図の乗算装置部の具体例を示す構成
図、第6図は第4図の除算装置部の具体例を示す
構成図、第7図乃至第10図はそれぞれ第6図の
1検出回路部、アンド回路部、オア回路部、α64
乗算回路部の具体例を示す構成図である。
A1〜A4,B1〜B4…線形シフトレジスタ、5
1,58…α64乗算回路、52,59…α128乗算
回路、53,60…α192乗算回路、54〜57
…1検出回路、61〜64…アンド回路、65…
アオ回路、AND11…アンドゲート、NOR10…ノア
ゲート。
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. 1 detection circuit section, AND circuit section, OR circuit section, α 64
FIG. 3 is a configuration diagram showing a specific example of a multiplication circuit section. A1 to A4 , B1 to B4 ...Linear shift register, 5
1,58...α 64 multiplication circuit, 52,59...α 128 multiplication circuit, 53,60...α 192 multiplication circuit, 54-57
...1 detection circuit, 61-64...AND circuit, 65...
AO circuit, AND 11 …AND gate, NOR 10 …Noah gate.
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…<2m
−1)を介してそれぞれ毎にセツトされる第1の線
形シフトレジスタ群と、前記元αiが除数データ
として直接あるいは適数個のαN1,αN2…乗算回
路を介してそれぞれ毎にセツトされる第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 …<2 m
-1 ), and the element α i is set individually as divisor data either directly or via an appropriate number of α N1 , α N2 . . . multiplication circuits. a second linear shift register group to be detected, one detection circuit group for detecting one output from each register of the first linear shift register group, and one output detected by any one of the one detection circuit group. a first means for shifting the first and second linear shift register groups together an appropriate number of times until the output of each register of the second linear shift register group and each detection of the first detection circuit group; 1. A division device in a Galois field, comprising: second means for ANDing the output of each circuit and deriving the ANDed register output.
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57102805A JPS58219649A (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 |
|---|---|---|---|
| JP57102805A JPS58219649A (en) | 1982-06-15 | 1982-06-15 | Dividing device for galois field |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58219649A JPS58219649A (en) | 1983-12-21 |
| JPS6248254B2 true JPS6248254B2 (en) | 1987-10-13 |
Family
ID=14337273
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57102805A Granted JPS58219649A (en) | 1982-06-15 | 1982-06-15 | Dividing device for galois field |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS58219649A (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4597083A (en) * | 1984-04-06 | 1986-06-24 | Ampex Corporation | Error detection and correction in digital communication systems |
| JP2845428B2 (en) * | 1987-03-13 | 1999-01-13 | 松下電器産業株式会社 | Width multiplier |
-
1982
- 1982-06-15 JP JP57102805A patent/JPS58219649A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS58219649A (en) | 1983-12-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4567568A (en) | Apparatus for dividing the elements of a Galois field | |
| JPS638651B2 (en) | ||
| US4574361A (en) | Apparatus for dividing the elements of a Galois field | |
| JPH10500270A (en) | Multipurpose error correction system | |
| US8171373B2 (en) | Coding circuit for recording data on DVD disk | |
| JP2004348824A (en) | ECC encoding method and ECC encoding device | |
| JPH06203482A (en) | Disk reproducing device and signal processing circuit | |
| 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) | ||
| JPS6248254B2 (en) | ||
| JPH11328880A (en) | Error correcting device and optical disk reproducing device | |
| JPS638650B2 (en) | ||
| US7907359B2 (en) | Finite field based short error propagation modulation codes | |
| JPS6237414B2 (en) | ||
| JPS6237415B2 (en) | ||
| US6564352B1 (en) | Error detection circuit applicable to a disk reproduction apparatus | |
| JPS6246018B2 (en) | ||
| JPS638649B2 (en) | ||
| JPH04365139A (en) | Syndrome operation circuit for error correction processing | |
| JP2001044853A (en) | Chain search circuit, error correction device and disk driver | |
| KR920010184B1 (en) | Finite Field Computation Circuit | |
| JPH0834439B2 (en) | Galois field arithmetic unit | |
| JPS63131623A (en) | Chien's algorithm implementation device |