JP2553571B2 - Galois field arithmetic unit - Google Patents
Galois field arithmetic unitInfo
- Publication number
- JP2553571B2 JP2553571B2 JP62176167A JP17616787A JP2553571B2 JP 2553571 B2 JP2553571 B2 JP 2553571B2 JP 62176167 A JP62176167 A JP 62176167A JP 17616787 A JP17616787 A JP 17616787A JP 2553571 B2 JP2553571 B2 JP 2553571B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- syndrome
- calculated
- obtaining
- calculation
- 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 - Fee Related
Links
Landscapes
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 本発明は、光ディスク等の媒体にデータを記録再生す
る場合に使用する符号誤り検査訂正装置に関するもので
ある。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a code error check / correction device used for recording / reproducing data on / from a medium such as an optical disk.
従来の技術 近年光ディスクを用いたデータ記録再生装置の開発が
盛んである。光ディスクメモリは磁気ディスクに比べ大
容量のデータが記録可能である反面、記録媒体の生のエ
ラー率が高いという欠点を持つ。このため記録時にはデ
ータである情報記号に検査記号を付加して符号語を構成
し、光ディスクにはこの符号語を誤り検査訂正符号とし
て記録し、再生時には付加した検査記号を用いて情報記
号の誤りを検出訂正する方法が一般的に用いられる。こ
の様な誤り検査訂正符号として近年注目されているもの
に最小距離d=17程度のリードソロモン符号がある。し
かしながらこの様な最小距離の大きな符号は復号が非常
に複雑で長時間あるいは大きな回路が必要であり、一部
の処理を除き時間を犠牲にしてマイクロコンピュータ等
によるソフトウエアによる復号をおこなうことが主流で
ある。この様なリードソロモン符号においては符号化処
理としてデータのエンコーディングによるパリティ計算
の後、データをパリティと共に媒体に書き込み、その後
読みだしたデータに対して復号化処理即ちシンドローム
の計算、誤り個数の推定および誤り位置多項式の係数の
算出、誤り位置の計算、誤りの値の計算を順次行なうの
であるが訂正可能な誤りの数は誤りの位置が分からない
場合に(d−1)/2個(通常訂正)、誤りの位置が分か
っている場合にはd−1個である(消失訂正)。また誤
りの位置の一部分のみが判明していて位置の分かってい
ない誤りも存在するとき誤り位置が既知の誤りの数がt
個であると(d−t−1)/2+t個の誤りが訂正可能で
ある。しかしながら従来この様な目的のための符号は距
離の短い符号を組み合わせて積符号の形で用いることが
多く、一方の符号で誤りの検出を行ない他方の符号で消
失訂正を行なうのが通例であった。誤り位置が既知の誤
りと未知の誤りが混在するときに誤り量を求める方法は
文献には存在するが計算量がかなり増加することが知ら
れている(オン デコーディング BCH コード ダビ
ッド フォーニー JR IEEE Trans IT−11,pp549−55
7,1965)。この文献によると高速化の方法として修正シ
ンドロームTkを求める時に使用するσi,Lの計算方法が
紹介されている。しかしながら実際の誤り量を求めるア
ルゴリズムはかなり複雑でありむしろ誤り位置を求めて
から消失訂正を行なったほうが簡単である。第3図と第
4図にこの方法による従来例を示す。以下図面を参照し
ながら、従来例の構成について説明する。第3図はシン
ドローム生成回路であり、第4図は従来の訂正処理で用
いられているガロア体演算方式によるデコーディングの
フローチャートを示すものである。第3図において1は
合計で8ビットとなる論理積ゲート回路、2は入力切り
換えスイッチ論理回路、3から8は第0番目から第5番
目の8ビットレジスタ回路、18は第15番目の8ビットレ
ジスタ回路、19から24は第0番目から第5番目の切り換
えスイッチ論理回路、34は第15番目のスイッチ論理回
路、35から40はα0からα5までのガロア体乗算回路で
あり、50はα15のガロア体乗算回路である。また51はガ
ロア体加算回路(排他的論理和演算回路)である。この
図では第6番目から第14番目の各回路要素を省略して記
述している。次にこの動作について説明する。この例で
は演算はGF(28)上で行なわれる。まず復調回路より送
られた受信語はデコーディングを行なうためシンドロー
ム回路に送られる。予め論理積ゲート1と入力切り換え
スイッチ論理回路2により8ビットレジスタ回路3〜18
の内容が0元となるように初期設定する。次に復調器か
らのnシンボルの受信語を入力して論理積ゲート回路1
を経由して論理積演算を行ない、得られた結果を各々ガ
ロア体加算回路(排他的論理和演算回路)51に入力しか
つ入力切り換えスイッチ回路2をガロア体乗算回路35〜
50の乗算結果の帰還された値と加算するようにしてnシ
ンボルの入力を終了する。この後レジスタ内容3〜18を
切り換えスイッチ論理回路19〜34によって選択してシン
ドロームS0からS15を得る。このシンドロームと予め判
明しているL個の誤り位置の誤り位置数X0,X1……XL-1
から第4図に従ったフローチャートによりjを0≦j≦
L及びj≧i≧0及び右辺において添字が前記の不等号
を満たさない変数を0とする条件の元にσj,j=1と
し、σi,j=σi,j−1×Xj-1+σi−1,j−1としてj
を0からLまで変化させるとともに前記jの各々につき
iを前記条件下にて変化させてσ0,L…σL,Lを逐次計算
により得て、このσi,Lとシンドローム生成回路によっ
て計算されたシンドロームから にて0からd−2−Lまでのkについて修正シンドロー
ムTkを得て通常の訂正と同様にユークリッド復号法によ
り未知の誤りの数t個についての誤り位置多項式σ
t(Z)を求めChienの方法によって誤り位置数XL……X
L+t-1を求める。求まった全ての誤り位置数とシンドロ
ームから誤り量は全ての誤りの消失誤りを計算すること
によって得ることが出来る。これ等の計算は第3図に示
すシンドロームハードウェアとマイクロコンピュータに
よって実現することが出来る。2. Description of the Related Art In recent years, development of a data recording / reproducing device using an optical disc has been actively conducted. The optical disk memory can record a large amount of data as compared with the magnetic disk, but has a drawback that the raw error rate of the recording medium is high. Therefore, at the time of recording, a check symbol is added to the information symbol that is data to form a code word, and this code word is recorded as an error check correction code on the optical disk. Is generally used. A Reed-Solomon code with a minimum distance of d = 17 is recently receiving attention as such an error checking / correcting code. However, such a code with a large minimum distance is very complicated to decode and requires a long time or a large circuit, and it is mainstream to perform decoding by software such as a microcomputer at the expense of time except for some processing. Is. In such a Reed-Solomon code, after the parity calculation by encoding the data as the encoding process, the data is written to the medium together with the parity, and the decoding process, that is, the calculation of the syndrome, the estimation of the number of errors and the read data are performed. The coefficient of the error locator polynomial is calculated, the error position is calculated, and the error value is sequentially calculated. However, the number of correctable errors is (d-1) / 2 (normal correction) when the error position is unknown. ), When the error position is known, it is d-1 (erasure correction). Further, when only a part of the error position is known and there is an error whose position is unknown, the number of errors whose error position is known is t.
If the number is (d−t−1) / 2 + t, the number of errors can be corrected. However, conventionally, codes for such purposes are often used in the form of product codes by combining codes with short distances, and it is customary to perform error detection with one code and erasure correction with the other code. It was There is a method in the literature for obtaining the error amount when the error position has a known error and an unknown error, but it is known that the calculation amount increases considerably (on-decoding BCH code David Forney JR IEEE Trans. IT-11, pp549-55
7, 1965). According to this document, a method of calculating σ i, L used when obtaining the modified syndrome T k is introduced as a method for speeding up. However, the algorithm for obtaining the actual error amount is rather complicated, and it is easier to perform the erasure correction after obtaining the error position. FIGS. 3 and 4 show a conventional example by this method. The configuration of the conventional example will be described below with reference to the drawings. FIG. 3 shows a syndrome generation circuit, and FIG. 4 shows a flowchart of decoding by the Galois field arithmetic method used in the conventional correction processing. In FIG. 3, 1 is a logical product gate circuit that makes a total of 8 bits, 2 is an input changeover switch logic circuit, 3 to 8 are 0th to 5th 8-bit register circuits, and 18 is a 15th 8bits. Register circuits, 19 to 24 are 0th to 5th changeover switch logic circuits, 34 is a 15th switch logic circuit, 35 to 40 are Galois field multiplication circuits from α 0 to α 5 , and 50 is This is a Galois field multiplication circuit of α 15 . Further, 51 is a Galois field addition circuit (exclusive OR operation circuit). In this figure, the sixth to fourteenth circuit elements are omitted for description. Next, this operation will be described. In this example, the operation is performed on GF (2 8 ). First, the received word sent from the demodulation circuit is sent to the syndrome circuit for decoding. The 8-bit register circuits 3 to 18 are previously set by the AND gate 1 and the input changeover switch logic circuit 2.
Initialize so that the content of is 0 element. Next, the received word of n symbols from the demodulator is input and the AND gate circuit 1
The logical product operation is performed via the above, and the obtained results are input to the Galois field addition circuit (exclusive OR operation circuit) 51 and the input changeover switch circuit 2 is connected to the Galois field multiplication circuits 35 to 35.
The input of n symbols is completed by adding the value fed back as the multiplication result of 50. After that, the register contents 3 to 18 are selected by the changeover switch logic circuits 19 to 34 to obtain the syndromes S 0 to S 15 . The number of error positions of L error positions known in advance to this syndrome X 0 , X 1 ... X L-1
From the flowchart according to FIG.
Let σ j, j = 1 under the condition that L and j ≧ i ≧ 0 and the variable whose subscript does not satisfy the above inequality sign on the right side are 0, and σ i, j = σ i, j−1 × X j − 1 + σ i−1, j−1 as j
From 0 to L and i for each of the above j is changed under the above conditions to obtain σ 0, L ... σ L, L by sequential calculation, and this σ i, L and the syndrome generation circuit calculate From the syndrome At 0 to d-2-L, the corrected syndrome T k is obtained and the error locator polynomial σ for the number t of unknown errors is obtained by the Euclidean decoding method in the same manner as the ordinary correction.
Calculate t (Z) and use Chien's method to calculate the number of error positions X L …… X
Find L + t-1 . The error amount can be obtained by calculating the erasure error of all the errors from all the error position numbers and the syndromes obtained. These calculations can be realized by the syndrome hardware and the microcomputer shown in FIG.
発明が解決しようとする問題点 しかしながら上記のような構成では、高速化が非常に
難しく、特に符号距離が大きい場合には計算量が多くな
り過ぎ実時間訂正が現実的に不可能であった。また高速
化を図るために専用ハードウェアを設けることも出来る
が余りにも回路量が増大し、実用性が低下するという問
題点を有していた。Problems to be Solved by the Invention However, with the above configuration, it is very difficult to increase the speed, and especially when the code distance is large, the amount of calculation becomes too large and real-time correction is practically impossible. Further, dedicated hardware can be provided to increase the speed, but there is a problem that the circuit amount increases too much and the practicability decreases.
本発明は上記問題点に鑑み高速性と小さなハードウエ
ア量を両立させるガロア体演算装置を提供するものであ
る。In view of the above problems, the present invention provides a Galois field arithmetic unit that achieves both high speed and a small amount of hardware.
問題点を解決するための手段 上記問題点を解決するため、符号語がガロア体GF
(2r)の元から構成される最小距離dの誤り訂正線形符
号のX0からYL-1までの既知のL個の誤り位置数と、S0か
らSd-2までのシンドロームを生成する回路と、値を記憶
する手段と、jを0≦j≦L及びj≧i≧0及び右辺に
おいて添字が上記の不等号を満たさない変数を0とする
条件の元にσj,j=1として、 σi,j=σi,j−1×Xj-1+σi−1,i−1と計算してj
を0からLまで変化させるとともに上記jの各々につき
iを前記条件下にて変化させて結果を得る第1の逐次計
算手段と、第1の逐次計算手段から得られたσi,Lとシ
ンドローム生成回路によって計算されたシンドロームか
ら にて0からd−2−Lまでのkについて修正シンドロー
ムTkを計算する第2の計算手段と、修正シンドロームTk
を通常の誤り位置数が未知の誤り訂正におけるシンドロ
ームと同様に扱って、誤り位置数が未知のt個の誤りに
ついての誤り位置多項式と求めるべき誤り量の中間値の
誤り評価多項式を求めるユークリッド復号法等の第3の
計算手段と、誤り位置多項式から誤り位置を求めるChie
nの方法等の第4の計算手段と、誤り評価多項式と誤り
位置多項式に第4の計算手段により求めたt個の誤り位
置数を代入して求めるべき誤り量中間値のYL,LからY
L+t−1,Lを計算する第5の計算手段と、求めるべき
L+t個の既知及び未知の誤り位置数についての全ての
誤り量であるYj,0を、jをL−1から0まで変化させ
てi≦jの条件下に、 にてYj,jを計算して右辺における Yi,j=Yi,j+1/(Xi+Xj)と置いた各計算中間結果
と左辺の計算結果のYj,jを逐次的に、jを1減じた上
記のYj,jを求める式に代入する手順で結果を求める第
6の逐次計算手段からなる、或いはまたjを0≦j≦L
及びj≧i≧0の条件の元に前記第1の計算手段によっ
てjに関してσi,jの計算過程にて算出されたσi,jが得
られた時、シンドロームSiと共に、中間結果Pjを にて計算し、またj=L及びj≧i≧0の条件の時はPL
のかわりに とおいてk=0の修正シンドロームT0を得て記憶してお
く第7の計算手段と、前記第2の計算手段によって1か
らd−2−Lまでのkについて修正シンドロームTkを求
め、さらに第6の計算手段のかわりに求めるべきL+t
個の既知および未知の誤り位置数についての誤り量であ
るYj,0を、jをL−1から0まで変化させて、 にてYj,jを計算して右辺における Yi,j=Yi,j+1/(Xi+Xj)と置いた各計算結果と左
辺の計算結果のYj,jを逐次的にjを1減じた上記のY
j,jを求める式に代入する手順で結果を求める第8の逐
次計算手段によって誤り量を得るのである。Means for Solving Problems To solve the above problems, the codeword is Galois field GF.
Generate a known L number of error positions from X 0 to Y L-1 and a syndrome from S 0 to S d-2 of an error-correcting linear code with a minimum distance d composed of (2 r ) elements Σ j, j = 1 under the condition that j is 0 ≦ j ≦ L and j ≧ i ≧ 0 and the variable whose subscript does not satisfy the above inequality sign on the right side is 0. As follows, σ i, j = σ i, j−1 × X j−1 + σ i−1, i−1 and j
From 0 to L, and for each of the above j, i is changed under the above conditions to obtain a result, and σ i, L obtained from the first sequential calculation means and the syndrome From the syndrome calculated by the generation circuit A second calculating means for calculating a modified syndrome T k for k from 0 to d-2-L, and a modified syndrome T k
Is treated like a syndrome in an error correction in which the number of error positions is unknown, and Euclidean decoding is performed to obtain an error locator polynomial for t errors whose number of error positions is unknown and an error evaluation polynomial of an intermediate value of the error amount to be obtained. Chie that obtains an error position from a third calculation means such as the method and an error position polynomial
From the fourth calculation means such as the method of n and the error amount intermediate value Y L, L to be obtained by substituting t error position numbers obtained by the fourth calculation means into the error evaluation polynomial and the error locator polynomial. Y
A fifth calculation means for calculating L + t−1, L and Y j, 0 which is the total error amount for the L + t known and unknown error position numbers to be obtained are changed from j to L−1 to 0. Then, under the condition of i ≦ j, Then, Y j, j is calculated and Y i, j = Y i, j + 1 / (X i + X j ) on the right side is set, and Y j, j of the calculation result on the left side are sequentially calculated. It comprises sixth sequential calculation means for obtaining a result by substituting j into the above equation for obtaining Y j, j by subtracting 1, or j is 0 ≦ j ≦ L
And when σ i, j σ i, j calculated by the calculation process is obtained with respect to j by said first calculating means to the original condition of j ≧ i ≧ 0, with the syndrome S i, the intermediate result P j , And if j = L and j ≧ i ≧ 0, then P L
Instead of And a seventh computing means for storing to obtain a modified syndrome T 0 of k = 0 at, for k from 1 to d-2-L seeking modified syndrome T k by the second calculating means, further L + t to be obtained instead of the sixth calculating means
The error amount Y j, 0 for the number of known and unknown error positions is changed by changing j from L-1 to 0, At Y j, Y i on the right side by calculating the j, j = Y i, j + 1 / (X i + X j) of the respective calculated results and the left side of the calculation results at Y j, the sequentially j a j 1 above minus Y
The error amount is obtained by the eighth sequential calculation means that obtains the result by the procedure of substituting into the equation for obtaining j, j .
作用 本発明は上記した手順によってリードソロモン符号の
エンコード時或いは復号時、符号語のシンドローム計算
後誤りであったと仮定した位置或いは誤りがあった位置
を与えて一連のガロア体の乗除算と加算による繰り返し
演算を行ない検査符号のエンコーディングあるいは復号
時における通常訂正と消失訂正を行なうものであり、こ
の手順が従来と比較してはるかに計算回数が少なくてす
むため実時間処理が要求される場合にても適用でき、か
つ回路量も非常に少なくこれを実現出来るのである。The present invention provides a series of Galois field multiplication / division and addition by giving the position assumed to be an error after the calculation of the codeword's syndrome or the position having the error when the Reed-Solomon code is encoded or decoded by the above-mentioned procedure. It performs repetitive operations to perform normal correction and erasure correction during check code encoding or decoding. This procedure requires far fewer calculations than in the past, and therefore requires real-time processing. Can be applied, and the circuit amount is very small, so that this can be realized.
実 施 例 以下本発明の一実施例のガロア体演算装置について図
面を参照しながら説明する。第1図−aは本発明の第1
の実施例のブロック図である。第1図−bは第1図−a
における第1の実施例の第1の計算手段のフローチャー
トを示すものである。また第1図−cは第1図−aにお
ける第1の実施例の第2,第3,第4の計算手段のフローチ
ャートを示すものである。また第1図−d及び第1図−
eは第1図−aにおける第1の実施例の第5の計算手段
のフローチャートを示すものである。第1図−aにおい
て52はシンドローム生成回路で第3図に示すものと同じ
物であり、53はメモリー回路である。また54はガロア体
演算回路でありマイクロプログラムにより高速にガロア
体の演算を実行する。第1図−bにおける第1の計算手
段では修正シンドロームTkと誤りの値Yj,0を求める過
程において使用するσi,jを算出して記憶する。また第
1図−cにおいて55は第2の計算手段でありσi,Lおよ
びシンドロームSiから修正シンドロームを求める部分で
あり、56は修正シンドロームから誤り位置多項式σ
t(z)と誤り評価多項式ηt(z)を求める第3の計
算手段の部分である。また57は誤り位置多項式σ
t(z)から未知の誤り位置数XL……XL+t-1を求める第
4の計算手段の部分である。また第1図−dに、おいて
58は誤り評価多項式に求めた誤り位置数を代入して誤り
量の中間値YL,L……YL,L+t−1を求める部分であ
り、59は誤り量Yi,0を算出する部分の前半であり誤り
位置数と誤り量の中間値による計算を行なっている。第
1図−eにおいて59は誤り量Yi,0を算出する部分の後
半でありσi,jとシンドロームSiによる計算を行なって
おり、60は最終的に誤りの訂正を行なう部分のフローチ
ャートである。以上のように構成されたガロア体演算方
法の第1の実施例について以下第1図−a,第1図−b,第
1図−c,第1図−d,第1図−e及び第3図を用いてその
方法を説明する。求めるべき誤りの値のYj,0を誤り位
置が未知のJ=8から6の誤りとj=5からj=0まで
の誤り位置が既知の誤りの合計9つの値であるとする。
jを0≦j≦L,j≧i≧0及び右辺において添字が前記
の不等号を満たさない変数を0とする条件の元にσj,j
=1とし、 σi,j=σi,j−1×Xj-1+σi−1,j−1としてjを0
からLまで変化させかつjの各々につきiを上記条件下
にて変化させてσi,jの計算手順を σi,j=σi,j−1×Xj-1+σi−1,j−1と言うように
行ない、ここで求めたσi,jを記憶しておく。これはσ
i,jの計算を行なうため1過程前でのσi,j−1及びσ
i−1,j−1の値を使用しなければならないためであり
また誤り量を求める際にもこのσi,jを必要とするため
である。次にここで得られたσi,Lとシンドロームから
修正シンドロームを にて0からd−2−Lまでのkについて計算し、このTk
を通常の誤り位置数が未知の誤り訂正におけるシンドロ
ームと同様に扱って、ユークリッド復号法で誤り位置数
が未知のt個の誤りについての誤り位置多項式σ
t(z)と求めるべき誤り量の中間値の誤り評価多項式
ηt(n)を求める。この後誤り位置多項式から誤り位
置数を求めるChienの方法で得られた誤り位置を、誤り
位置多項式σt(z)と求めるべき誤り量の中間値の誤
り評価多項式ηt(z)に代入することによって誤り量
の中間値YL+t−1,L……YL,Lを得て誤り量を59のフ
ローチャートで求める。この時の各値の計算式は Y5,5=Y8,6/(X8+X5)+Y7,6/(X7+X5) +Y6,6/(X6+X5)+P5 但し P5=S5+σ4,5×S4+σ3,5×S3+σ2,5 ×S2+σ1,5×S1+σ0,5×S0 σ4,5=X0+X1+X2+X3+X4 =1×X4+σ3,4 σ3,5=(X0+X1+X2+X3)×X4+(X0 +X1+X2)×X3+(X0+X1)×X2 +X0×X1 =σ3,4×X4+σ2,4 σ2,5=((X0+X1+X2)×X3+(X0+X1) ×X2+X0×X1)×X4+((X0+X1) ×X2×X0×X1)×X3+X0×X1×X2 =σ2,4×X4+X1,4 σ1,5=(((X0+X1)×X2+X0×X1)×X3+X0 ×X1×X2)×X4+X0×X1×X2×X3 =σ1,4×X4+σ0,4 σ0,5=X0×X1×X2×X3×X4 =σ0,4×X4+0 Y4,4=Y8,5/(X8+X4)+Y7,5/(X7+X4) +Y6,5/(X6+X4)+Y5,5 /(X5+X4)+P4 但し Y8,5=Y8,6/(X8+X5) Y7,5=Y7,6/(X7+X5) Y6,5=Y6,6/(X6+X5) P4=S4+σ3,4×S3+σ2,4×S2+σ1,4×S1 +σ0,4×S0 σ3,4=X0+X1+X2+X3=1×X3+σ2,3 σ2,4=(X0+X1+X2)×X3+(X0+X1) ×X2+X0×X1=σ2,3×X3+σ1,3 σ1,4=((X0+X1)×X2+X0×X1)×X3 +X0×X1×X2=σ1,3×X3+σ0,3 σ0,4=X0+X1+X2+X3 =σ0,3×X3+0 Y3,3=Y8,4/(X8+X3)+Y7,4/(X7+X3) +Y6,4/(X6+X3)+Y5,4/(X5 +X3)+Y4,4/(X4+X3)+P3 但し Y8,4=Y8,5/(X8+X4) Y7,4=Y7,5/(X7+X4) Y6,4=Y6,5/(X6+X4) Y5,4=Y5,5/(X5+X4) P3=S3+σ2,3×S2+σ1,3×S1+σ0,3×S0 σ2,3=X0+X1+X2=1×X2+σ1,2 σ1,3=(X0+X1)×X2+X0×X1 =σ1,2×X2+σ0,2 σ0,3=X0×X1×X2 =σ0,2×X2+0 Y2,2=Y8,3/(X8+X2)+Y7,3/(X7+X2) +Y6,3/(X6+X2)+Y5,3/(X5+X2) +Y4,3/(X4+X2) +Y3,3/(X3+X2)+P2 但し Y8,3=Y8,4/(X8+X3) Y7,3=Y7,4/(X7+X3) Y6,3=Y6,4/(X6+X3) Y5,3=Y5,4/(X5+X3) Y4,3=Y4,4/(X4+X3) P2=S2+σ1,2×S1+σ0,2×S0 σ1,2=X0+X1 =1×X1+σ0,1 σ0,2=X0×X1 =σ0,1×X1+0 Y1,1=Y8,2/(X8+X1)+Y7,2/(X7 +X1)+Y6,2/(X6+X1)+Y5,2/(X5+X1) +Y4,2/(X4+X1) +Y3,2/(X3+X1)+Y2,2/(X2 +X1)+P1 但し Y8,2=Y8,3/(X8+X2) Y7,2=Y7,3/(X7+X2) Y6,2=Y6,3/(X6+X2) Y5,2=Y5,3/(X5+X2) Y4,2=Y4,3/(X4+X2) Y3,2=Y3,3/(X3+X2) P1=S1+σ0,1×S0 σ0,1=X0 Y0,0=Y8,1/(X8+X0)+Y7,1/(X7 +X0)+Y6,1/(X6+X0)+Y5,1/(X5+X0) +Y4,1/(X4+X0) +Y3,1/(X3+X0)+Y2,1/(X2 +X0)+Y1,1/(X1+X0)+P0 但し Y8,1=Y8,2/(X8+X1) Y7,1=Y7,2/(X7+X1) Y6,1=Y6,2/(X6+X1) Y5,1=Y5,2/(X5+X1) Y4,1=Y4,2/(X4+X1) Y3,1=Y3,2/(X3+X1) Y2,1=Y2,2/(X2+X1) P0=S0 またここで求めた0番目の誤りの値Y0,0の計算途中
には1番目から8番目の他の誤りの値 Y1,0=Y1,1/(X1+X0)、Y2,0=Y2,1/(X2+
X0)、Y3,0=Y3,1/(X3+X0)、Y4,0=Y4,1/(X4
+X0)、Y5,0=Y5,1/(X5+X0)、Y6,0=Y6,1/
(X6+X0)、Y7,0=Y7,1/(X7+X0)、Y8,0=Y8,1
/(X8+X0)が同時に求まっている。なおここでは とおいた。以上の様にYj,0を求めるためにYj,jの計算
をj=L−1から0まで行なうのである。誤り量を求め
る時、Yj,jの計算を の式に従って算出する場合にもσi,jの計算と同様にY
i,j+1、すなわちjの最大値L−1から0までのYj,j
の計算過程の1過程前でのjが1だけ増加した Yi,j=Yi,j+1/(Xi+Xj)の計算結果を使用しなけ
ればならない。このためYi.j+1/(Xi+Xj)を計算
したときは必ずメモリーに入れておき次の過程でメモリ
ーの内容を読みだして再び更新した値を書き込むと言う
手順で逐次計算を行なうと都合が良い。また新たに求ま
った左辺の結果のYj,jも同様にメモリーに書き込んで
おく。この様にして計算を続けてj=0となったとき、
メモリーにはYj,0すなわち求める誤りの量が格納され
ている。また誤り量を求める際には既に求まっているσ
i,jを再び読みだして計算に使用する。次に本発明の第
2の実施例のガロア体演算装置について図面を参照しな
がら説明する。第2図−aは本発明の第2の実施例のブ
ロック図である。第2図−bは第2図−aにおける第2
の実施例の第1及び第7の計算手段のフローチャートを
示すものである。また第2図−cは第2図−aにおける
第2の実施例の第2,第3,第4の各計算手段のフローチャ
ートを示すものであり、第1図−cと基本的に同じ物で
あるが55のフローチャート部分では修正シンドロームT0
の計算は既に終了しているため行なわない。また第2図
−dは第2図−aにおける第2の実施例の第5,第8の各
計算手段のフローチャートを示すものである。第2図−
aにおいて52はシンドローム生成回路で第3図に示すも
のと同じ物であり、53はメモリー回路である。また54は
ガロア体演算回路でありマイクロプログラムにより高速
にガロア体の演算を実行する。第2図−bにおいては第
1及び第7の計算手段が結合して適用されていて、第1
の計算手段で計算されたσi,jはレジスタにとどめられ
たままSiと乗ぜられて中間値Pjと修正シンドロームの一
部T0を算出して記憶する。また第2図−cにおいては第
1図−cと同じ様にして修正シンドロームT1……Td-L-2
を求め56のユークリッド復号法で誤り位置数が未知のt
個の誤りについての誤り位置多項式σt(z)と求める
べき誤り量の中間値の誤り評価多項式ηt(z)を求め
る。この後57のChienの方法で得られた誤り位置を、第
2図−dの誤り位置多項式σt(z)と求めるべき誤り
量の中間値の誤り評価多項式ηt(z)に代入するフロ
ーチャート58を実行することによって誤り量の中間値Y
L+t−1,L……YL,Lを得て誤り量を61のフローチャー
トで求める。第2図−dの61においては第1図−bの第
7の計算手段により記憶しておいた中間値Pjと誤り位置
数から最終的に誤りの値Yj,0を求める。以上のように
構成されたガロア体演算方法の第2の実施例について以
下第2図−a,第2図−b,第2図−c,第2図−d及び第3
図を用いてその方法を説明する。求めるべき誤りの値の
Yj,0を誤り位置が未知のJ=8から6の誤りとj=5
からj=0までの誤り位置が既知の誤りの合計9つの値
であるとする。この時の各値の計算式は、第1の実施例
と同様にYj,0を求めるためにYj,jの計算をj=L−1
から0まで行なうのであるがこれに先だって中間値P0か
らPj-1の値を求めたほうが効率が良い。すなわちPjを求
める時、σi,jの計算手順をσi,j=σi,j−1×Xj-1+
σ1,j−1と言うように行ない、同時にここで求めたσ
i,jとシンドロームSiから の計算を行なうのである。この様にして求めた中間値Pj
はメモリーの別の場所に格納しておく。なおL番目の中
間値 であり、修正シンドロームのうちT0はここで求まる。こ
の後第1の実施例と同様にして残りの修正シンドロー
ム、誤り量の中間値YL+t−1,L……L,Lを得て の式に従って算出する。この時も第1の実施例と同様に
Yi,j+1、すなわちjの最大値L−1から0までのY
j,j計算過程の1過程前の Yi,j=Yi,j+1/(Xi+Xj)の計算結果を使用する。
この様にして計算を続けてj=0となったとき、メモリ
ーにはYi,0すなわち求める誤りの量が格納されてい
る。この様に誤りの位置数が他の手段によって判明して
いる場合にはその位置数を与えてイレージャ訂正を効率
よく行なうことが可能であり、若し符号距離の許す範囲
内であれば上述した手順で系統的に訂正が可能である。
この手順による計算労力は乗算についてのみ言えば1.5
×L2+t2である。なお本発明の第1の実施例において0
元の乗算は最初から結果を0元として省略できるし、1
の乗算も同様に省略できる。また最初値設定の代わりに
計算の途中に0元を投入する等、条件判定を行ないなが
ら値を代入することも当然考えられる。また逐次計算を
行なう際には一部の結果をレジスタ等に保存したまま計
算することが可能である。またこれ等の計算は通常のマ
イクロプロセッサによって実行されても良く、通常ガロ
ア体の乗算を対数テーブルで行なうため特に本発明のア
ルゴリズムは効率がよい。ところでエンコーディングの
パリティ計算はシンドロームの計算と共に速度が非常に
必要とされるためソフトウエアで実行する場合において
も並列演算ハードウエアが使われる場合が多いのである
が、高速性が要求される場合でも純粋なハードウエアで
なく訂正も含めてマイクロプログラミング手法によって
これらの処理をハードウエアに近い速度でソフトウエア
的な処理を行なう事も出来る。Example Hereinafter, a Galois field arithmetic unit according to an example of the present invention will be described with reference to the drawings. FIG. 1-a shows the first of the present invention.
FIG. 4 is a block diagram of an embodiment of FIG. Fig. 1-b is Fig. 1-a.
3 is a flow chart of a first calculation means of the first embodiment in FIG. Further, FIG. 1-c shows a flow chart of the second, third and fourth calculating means of the first embodiment in FIG. 1-a. Also, Fig. 1-d and Fig. 1-
e shows a flow chart of the fifth calculating means of the first embodiment in FIG. 1-a. In FIG. 1-a, 52 is a syndrome generation circuit which is the same as that shown in FIG. 3, and 53 is a memory circuit. Further, 54 is a Galois field arithmetic circuit, which executes a Galois field arithmetic operation at high speed by a microprogram. The first calculation means in FIG. 1-b calculates and stores σ i, j used in the process of obtaining the correction syndrome T k and the error value Y j, 0 . Further, in FIG. 1-c, 55 is a second calculation means, which is a part for obtaining a modified syndrome from σ i, L and syndrome S i , and 56 is an error locator polynomial σ from the modified syndrome.
It is a part of the third calculating means for obtaining t (z) and the error evaluation polynomial η t (z). 57 is the error locator polynomial σ
This is a part of a fourth calculating means for obtaining the number of unknown error positions X L ... X L + t-1 from t (z). In addition, in FIG. 1-d,
58 is a part for substituting the number of error positions calculated in the error evaluation polynomial for calculating an intermediate value Y L, L ... Y L, L + t−1 , and 59 is a part for calculating the error amount Y i, 0. In the first half, the calculation is performed using the intermediate value between the error position number and the error amount. In FIG. 1-e, 59 is the latter half of the part for calculating the error amount Y i, 0, and is calculated by σ i, j and the syndrome S i , and 60 is the flowchart of the part for finally correcting the error. Is. A first embodiment of the Galois field arithmetic method constructed as above will be described below with reference to FIGS. 1-a, 1-b, 1-c, 1-d, 1-e and The method will be described with reference to FIG. It is assumed that Y j, 0 which is the value of the error to be obtained is a total of 9 values of errors of J = 8 to 6 in which the error position is unknown and errors in which the error positions from j = 5 to j = 0 are known.
Let j be 0 ≦ j ≦ L, j ≧ i ≧ 0, and σ j, j under the condition that the variable whose subscript does not satisfy the above inequality sign on the right side is 0.
= 1 and σ i, j = σ i, j−1 × X j−1 + σ i−1, j−1 and j is 0.
To L and changing i for each j under the above conditions , the calculation procedure for σ i, j is σ i, j = σ i, j-1 × X j-1 + σ i−1, j This is performed as −1, and σ i, j obtained here is stored. This is σ
In order to calculate i, j , σ i, j-1 and σ one step before
This is because the values of i−1, j−1 must be used, and this σ i, j is also required when obtaining the error amount. Next, from σ i, L and the syndrome obtained here, the modified syndrome is Is calculated for k from 0 to d-2-L, and this T k
Is treated in the same manner as the syndrome in error correction in which the number of error positions is unknown, and the error locator polynomial σ for t errors of which the number of error positions is unknown in the Euclidean decoding method is treated.
An error evaluation polynomial η t (n), which is an intermediate value of t (z) and the error amount to be calculated, is calculated. After that, the error position obtained by the method of Chien for obtaining the number of error positions from the error position polynomial is substituted into the error position polynomial σ t (z) and the error evaluation polynomial η t (z) of the intermediate value of the error amount to be obtained. Thus, the intermediate value Y L + t−1, L ... Y L, L of the error amount is obtained, and the error amount is calculated in the flowchart of 59. The calculation formula of each value at this time is Y 5,5 = Y 8,6 / (X 8 + X 5 ) + Y 7,6 / (X 7 + X 5 ) + Y 6,6 / (X 6 + X 5 ) + P 5 P 5 = S 5 + σ 4,5 × S 4 + σ 3,5 × S 3 + σ 2,5 × S 2 + σ 1,5 × S 1 + σ 0,5 × S 0 σ 4,5 = X 0 + X 1 + X 2 + X 3 + X 4 = 1 x X 4 + σ 3,4 σ 3,5 = (X 0 + X 1 + X 2 + X 3 ) x X 4 + (X 0 + X 1 + X 2 ) x X 3 + (X 0 + X 1 ) × X 2 + X 0 × X 1 = σ 3,4 × X 4 + σ 2,4 σ 2,5 = ((X 0 + X 1 + X 2 ) × X 3 + (X 0 + X 1 ) × X 2 + X 0 × X 1 ) × X 4 + ((X 0 + X 1 ) × X 2 × X 0 × X 1 ) × X 3 + X 0 × X 1 × X 2 = σ 2,4 × X 4 + X 1,4 σ 1 , 5 = (((X 0 + X 1 ) × X 2 + X 0 × X 1 ) × X 3 + X 0 × X 1 × X 2 ) × X 4 + X 0 × X 1 × X 2 × X 3 = σ 1, 4 x X 4 + σ 0,4 σ 0,5 = X 0 x X 1 x X 2 x X 3 x X 4 = σ 0,4 x X 4 + 0 Y 4,4 = Y 8,5 / (X 8 + X 4 ) + Y 7,5 / (X 7 + X 4 ) + Y 6,5 / (X 6 + X 4 ) + Y 5,5 / (X 5 + X 4 ) + P 4 However, Y 8,5 = Y 8,6 / (X 8 + X 5 ) Y 7,5 = Y 7,6 / (X 7 + X 5 ) Y 6,5 = Y 6,6 / (X 6 + X 5 ) P 4 = S 4 + σ 3, 4 × S 3 + σ 2,4 × S 2 + σ 1,4 × S 1 + σ 0,4 × S 0 σ 3,4 = X 0 + X 1 + X 2 + X 3 = 1 × X 3 + σ 2,3 σ 2, 4 = (X 0 + X 1 + X 2 ) × X 3 + (X 0 + X 1 ) × X 2 + X 0 × X 1 = σ 2,3 × X 3 + σ 1,3 σ 1,4 = ((X 0 + X 1 ) × X 2 + X 0 × X 1 ) × X 3 + X 0 × X 1 × X 2 = σ 1,3 × X 3 + σ 0,3 σ 0,4 = X 0 + X 1 + X 2 + X 3 = σ 0 , 3 × X 3 +0 Y 3,3 = Y 8,4 / (X 8 + X 3 ) + Y 7,4 / (X 7 + X 3 ) + Y 6,4 / (X 6 + X 3 ) + Y 5,4 / ( X 5 + X 3) + Y 4,4 / (X 4 + X 3) + P 3 where Y 8,4 = Y 8,5 / (X 8 + X 4) Y 7,4 = Y 7,5 / (X 7 + X 4 ) Y 6,4 = Y 6,5 / (X 6 + X 4 ) Y 5,4 = Y 5,5 / (X 5 + X 4 ) P 3 = S 3 + σ 2,3 × S 2 + σ 1,3 × S 1 + σ 0,3 × S 0 σ 2,3 = X 0 + X 1 + X 2 = 1 × X 2 + σ 1,2 σ 1,3 = (X 0 + X 1) × X 2 + X 0 × X 1 = 1,2 × X 2 + σ 0,2 σ 0,3 = X 0 × X 1 × X 2 = σ 0,2 × X 2 +0 Y 2,2 = Y 8,3 / (X 8 + X 2) + Y 7 , 3 / (X 7 + X 2 ) + Y 6,3 / (X 6 + X 2 ) + Y 5,3 / (X 5 + X 2 ) + Y 4,3 / (X 4 + X 2 ) + Y 3,3 / (X 3 + X 2 ) + P 2 However, Y 8,3 = Y 8,4 / (X 8 + X 3 ) Y 7,3 = Y 7,4 / (X 7 + X 3 ) Y 6,3 = Y 6,4 / (X 6 + X 3) Y 5,3 = Y 5,4 / (X 5 + X 3) Y 4,3 = Y 4,4 / (X 4 + X 3) P 2 = S 2 + σ 1,2 × S 1 + σ 0 , 2 × S 0 σ 1,2 = X 0 + X 1 = 1 × X 1 + σ 0,1 σ 0,2 = X 0 × X 1 = σ 0,1 × X 1 +0 Y 1,1 = Y 8, 2 / (X 8 + X 1 ) + Y 7,2 / (X 7 + X 1 ) + Y 6,2 / (X 6 + X 1 ) + Y 5,2 / (X 5 + X 1 ) + Y 4,2 / (X 4 + X 1) + Y 3,2 / (X 3 + X 1) + Y 2,2 / (X 2 + X 1) + P 1 where Y 8,2 = Y 8,3 / (X 8 + X 2) Y 7,2 = Y 7 , 3 / (X 7 + X 2) Y 6,2 = Y 6,3 / (X 6 + X 2) Y 5,2 = Y 5,3 / (X 5 X 2) Y 4,2 = Y 4,3 / (X 4 + X 2) Y 3,2 = Y 3,3 / (X 3 + X 2) P 1 = S 1 + σ 0,1 × S 0 σ 0, 1 = X 0 Y 0,0 = Y 8,1 / (X 8 + X 0 ) + Y 7,1 / (X 7 + X 0 ) + Y 6,1 / (X 6 + X 0 ) + Y 5,1 / (X 5 + X 0 ) + Y 4,1 / (X 4 + X 0 ) + Y 3,1 / (X 3 + X 0 ) + Y 2,1 / (X 2 + X 0 ) + Y 1,1 / (X 1 + X 0 ) + P 0 However, Y 8,1 = Y 8,2 / (X 8 + X 1 ) Y 7,1 = Y 7,2 / (X 7 + X 1 ) Y 6,1 = Y 6,2 / (X 6 + X 1 ) Y 5 , 1 = Y 5,2 / (X 5 + X 1 ) Y 4,1 = Y 4,2 / (X 4 + X 1 ) Y 3,1 = Y 3,2 / (X 3 + X 1 ) Y 2,1 = Y 2,2 / (X 2 + X 1 ) P 0 = S 0 Also, in the middle of calculation of the 0th error value Y 0,0 obtained here, the 1st to 8th other error values Y 1 , 0 = Y 1,1 / (X 1 + X 0 ), Y 2,0 = Y 2,1 / (X 2 +
X 0 ), Y 3,0 = Y 3,1 / (X 3 + X 0 ), Y 4,0 = Y 4,1 / (X 4
+ X 0 ), Y 5,0 = Y 5,1 / (X 5 + X 0 ), Y 6,0 = Y 6,1 /
(X 6 + X 0), Y 7,0 = Y 7,1 / (X 7 + X 0), Y 8,0 = Y 8,1
/ (X 8 + X 0 ) is obtained at the same time. Note that here I said. As described above, in order to obtain Y j, 0 , Y j, j is calculated from j = L−1 to 0. When calculating the error amount, calculate Y j, j Also when calculating according to the formula of Y, as in the calculation of σ i, j
i, j + 1 , that is, Y j, j from the maximum value L−1 of j to 0
The calculation result of Y i, j = Y i, j + 1 / (X i + X j ), in which j is increased by 1 before the calculation process of 1, must be used. For this reason, when Y i.j + 1 / (X i + X j ) is calculated, it is always stored in the memory, and in the next process, the contents of the memory are read and the updated value is written again. convenient. Similarly, the newly obtained left side result Y j, j is also written in the memory. When the calculation is continued and j = 0,
The memory stores Y j, 0, that is, the amount of error to be obtained. In addition, when obtaining the error amount,
i, j are read again and used for calculation. Next, a Galois field arithmetic unit according to a second embodiment of the present invention will be described with reference to the drawings. FIG. 2A is a block diagram of the second embodiment of the present invention. FIG. 2B is the second line in FIG. 2A.
9 is a flowchart of the first and seventh calculation means of the embodiment. 2C shows a flow chart of the second, third and fourth calculating means of the second embodiment in FIG. 2A, which is basically the same as that of FIG. 1C. However, in the flowchart part of 55, the corrected syndrome T 0
The calculation of is not performed because it has already been completed. Further, FIG. 2D shows a flow chart of the fifth and eighth calculating means of the second embodiment in FIG. 2A. Fig. 2-
In a, 52 is a syndrome generation circuit which is the same as that shown in FIG. 3, and 53 is a memory circuit. Further, 54 is a Galois field arithmetic circuit, which executes a Galois field arithmetic operation at high speed by a microprogram. In FIG. 2B, the first and seventh calculation means are combined and applied, and
The σ i, j calculated by the calculation means is retained in the register and multiplied by S i to calculate and store the intermediate value P j and a part T 0 of the corrected syndrome. Further, in FIG. 2C, the correction syndrome T 1 ... T dL-2 is performed in the same manner as in FIG. 1C.
And the number of error positions is unknown by 56 Euclidean decoding
An error locator polynomial σ t (z) for each error and an error evaluation polynomial η t (z) of an intermediate value of the error amount to be obtained are obtained. After that, the flowchart of substituting the error position obtained by the Chien method of 57 into the error locator polynomial σ t (z) of FIG. 2D and the error evaluation polynomial η t (z) of the intermediate value of the error amount to be obtained. By executing 58, the intermediate value Y of the error amount
L + t−1, L ... Y L, L is obtained and the error amount is calculated in the flowchart of 61. At 61 in FIG. 2D, the error value Y j, 0 is finally obtained from the intermediate value Pj and the number of error positions stored by the seventh calculating means in FIG. 1B. A second embodiment of the Galois field arithmetic method configured as described above will be described below with reference to FIGS. 2A, 2B, 2C, 2D and 3D.
The method will be described with reference to the drawings. The error value Y j, 0 of the error to be obtained is set to the error of J = 8 to 6 and j = 5 whose error position is unknown.
It is assumed that the error positions from to j = 0 are 9 values in total of known errors. The calculation formula of each value at this time is j = L-1 for calculating Y j, j in order to obtain Y j, 0 as in the first embodiment.
Although it is performed from 0 to 0, it is more efficient to obtain the values of the intermediate values P 0 to P j−1 prior to this. That is, when obtaining P j , the calculation procedure of σ i, j is σ i, j = σ i, j-1 × X j-1 +
σ 1, j-1 and at the same time σ obtained here
From i, j and syndrome S i Is calculated. Intermediate value P j obtained in this way
Should be stored somewhere else in memory. The L-th intermediate value And T 0 of the modified syndrome is obtained here. Thereafter, in the same manner as in the first embodiment, the remaining correction syndrome and the intermediate value Y L + t−1, L ... L, L of the error amount are obtained. It is calculated according to the formula. At this time, as in the first embodiment, Y i, j + 1 , that is, Y from the maximum value L−1 of j to 0.
The calculation result of Y i, j = Y i, j + 1 / (X i + X j ) one step before the j, j calculation step is used.
In this way, when the calculation is continued and j = 0, Y i, 0, that is, the amount of error to be obtained is stored in the memory. In this way, if the number of error positions is known by other means, it is possible to efficiently perform erasure correction by giving the number of positions, and if it is within the range allowed by the code distance, It is possible to correct it systematically by the procedure.
The computational effort of this procedure is 1.5
× L 2 + t 2 . In the first embodiment of the present invention, 0
The original multiplication can be omitted from the beginning with the result being 0, and 1
Similarly, multiplication of can be omitted. Further, instead of setting the initial value, it is naturally conceivable to substitute the value while performing the condition determination such as inputting 0-element in the middle of the calculation. In addition, when performing sequential calculation, it is possible to perform calculation with some results stored in a register or the like. Further, these calculations may be executed by a usual microprocessor, and since the Galois field multiplication is usually carried out by a logarithmic table, the algorithm of the present invention is particularly efficient. By the way, the parity calculation of encoding requires a lot of speed along with the calculation of syndrome, so parallel arithmetic hardware is often used even when it is executed by software, but even when high speed is required, it is pure. It is also possible to perform these processes as software at a speed close to that of hardware by a microprogramming method including correction instead of hardware.
C′n-1,C′n-2……C′d-1までの受信情報語に誤りが
なく、d−1個の生成すべきパリティ語に対応するC′
d-2,C′d-3……C′0がすべて0元に誤りこれらが消失
したとして消失訂正をおこなったとすると、誤り位置数
をパリティの位置として0元を入力した復号はまさにエ
ンコーディング処理を情報語に対して行なうことと等価
でありもし消失訂正をマイクロプログラムで高速におこ
なうことができるならばエンコーディングもデコーディ
ングと同様に行なうことが出来ることとなる。この場合
当然未知の誤りの数tはt=0とし、既知の誤りの数L
はL=d−1とするのである。この様にしてシンドロー
ム計算回路のみを専用ハードウエアとして用いてエンコ
ーディング回路を省略することも可能である。 C'n-1 , C'n-2 ... C'd-1 has no error in the received information words, and C'corresponds to d-1 parity words to be generated.
d-2 , C'd-3 ... C'0 are all erroneous to 0 elements If these are lost and erasure correction is performed, decoding with 0 elements input with the error position number as the parity position is exactly the encoding process. Is equivalent to performing on an information word, and if erasure correction can be performed at high speed by a microprogram, encoding can be performed in the same manner as decoding. In this case, the number t of unknown errors is naturally t = 0, and the number L of known errors is L.
Is L = d-1. In this way, it is possible to use only the syndrome calculation circuit as dedicated hardware and omit the encoding circuit.
発明の効果 以上述べてきたように本発明によれば、符号誤り検査
訂正装置のうちシンドローム生成回路とメモリー回路を
使用し通常の訂正と消失訂正を高速に実行出来る。この
ため高速かつ高機能要求される光ディスク装置等におい
て高い生の誤り率を有する記録媒体の復号を実用的に実
行出来るためその効果は大なるものがある。As described above, according to the present invention, the normal correction and the erasure correction can be executed at high speed by using the syndrome generation circuit and the memory circuit in the code error check / correction device. For this reason, the decoding of a recording medium having a high raw error rate can be practically executed in an optical disk device or the like that requires high speed and high functionality, and the effect is great.
第1図aは本発明の第1の実施例のブロック図、第1図
bは第1図aにおける第1の実施例の第1の計算手段の
フローチャート、第1図cは第1図aにおける第1の実
施例の第2,第3,第4の計算手段のフローチャート、第1
図d及び第1図eは第1図aにおける第1の実施例の第
5,第6の計算手段のフローチャート、第2図aは本発明
の第2の実施例のブロック図、第2図bは第2図aにお
ける第2の実施例の第1及び第7の計算手段のフローチ
ャート、第2図cは第2図aにおける第2の実施例の第
2,第3,第4の計算手段のフローチャート、第2図dは第
2図aにおける第2の実施例の第5,第8の計算手段のフ
ローチャート、第3図はシンドローム生成回路のブロッ
ク図、第4図は従来例に於けるガロア体演算方法による
デコーディング処理のフローチャートである。 52……シンドローム生成回路、53……メモリー回路、54
……ガロア体演算回路。FIG. 1a is a block diagram of a first embodiment of the present invention, FIG. 1b is a flow chart of the first calculating means of the first embodiment in FIG. 1a, and FIG. 1c is FIG. 1a. Flowchart of the second, third, and fourth calculation means of the first embodiment in FIG.
FIG. D and FIG. 1e show the first embodiment of FIG. 1a.
5, the flow chart of the sixth calculating means, FIG. 2a is a block diagram of the second embodiment of the present invention, and FIG. 2b is the first and seventh calculations of the second embodiment in FIG. 2a. FIG. 2c is a flow chart of the means, FIG. 2c shows the second embodiment of FIG.
Flow charts of the second, third and fourth calculating means, FIG. 2d is a flow chart of the fifth and eighth calculating means of the second embodiment in FIG. 2a, and FIG. 3 is a block diagram of the syndrome generating circuit. FIG. 4 is a flowchart of the decoding process by the Galois field arithmetic method in the conventional example. 52 …… Syndrome generation circuit, 53 …… Memory circuit, 54
... Galois field arithmetic circuit.
Claims (2)
れる最小距離dの誤り訂正線形符号のX0からYL-1までの
既知のL個の誤り位置数とS0からSd-2までのシンドロー
ムを生成する回路と、値を記憶する手段と、jを0≦j
≦L及びj≧i≧0及び右辺において添字が前記の不等
号を満たさない変数を0とする条件の元にσj,j=1と
し、σi,j=σi,j−1×Xj-1+σi−1,i−1としてj
を0からLまで変化させるとともに前記jの各々につき
iを前記条件下にて変化させて結果を得る第1の逐次計
算手段と、前記第1の逐次計算手段から得られたσi,L
と前記シンドローム生成回路によって計算されたシンド
ロームから にて0からd−2−Lまでのkについて修正シンドロー
ムTkを計算する第2の計算手段と、前記修正シンドロー
ムTkを通常の誤り位置数が未知の誤り訂正におけるシン
ドロームと同様に扱って、誤り位置数が未知のt個の誤
りについての誤り位置多項式の係数と求めるべき誤り量
の中間値の誤り評価多項式を求めるユークリッド復号法
等の第3の計算手段と、前記誤り位置多項式から誤り位
置を求めるChienの方法等の第4の計算手段と、前記誤
り位置多項式と誤り評価多項式に前記第4の計算手段に
より求めたt個の誤り位置数を代入して、求めるべき誤
り量の中間値のYL,LからYL+t−1,Lを計算する第5
の計算手段と、求めるべきL+t個の既知及び未知の誤
り位置数についての全ての誤り量であるYj,0を、jを
L−1から0まで変化させてi≦jの条件下に にてYj,jを計算して右辺における Yi,j=Yi,j+1/(Xi+Xj)と置いた各計算中間結果
と左辺の計算結果のYj,jを逐次的に、jを1減じた上
記のYj,jを求める式に代入する手順で結果を求める第
6の逐次計算手段からなるガロア体演算装置。 1. A known L number of error positions from X 0 to Y L-1 and S 0 of an error-correcting linear code of a minimum distance d whose codeword is composed of elements of a Galois field GF (2 r ). To S d−2, a circuit for generating the syndrome, a means for storing the value, and j is 0 ≦ j
Let σ j, j = 1 under the condition that ≦ L and j ≧ i ≧ 0 and the variable whose subscript does not satisfy the above inequality sign on the right side is 0, and σ i, j = σ i, j−1 × X j −1 + σ i−1, i−1 as j
From 0 to L, and for each of the above j, i is changed under the above conditions to obtain a result, and σ i, L obtained from the first sequential calculation means.
And from the syndrome calculated by the syndrome generation circuit At the second calculation means for calculating the correction syndrome T k for k from 0 to d-2-L, and the correction syndrome T k is treated in the same manner as the syndrome in error correction in which the number of error positions is usually unknown. , A third calculation means such as a Euclidean decoding method for obtaining an error evaluation polynomial of an intermediate value of an error amount to be obtained and a coefficient of an error locator polynomial for t errors whose number of error positions is unknown, and an error from the error locator polynomial. A fourth calculation means such as Chien's method for obtaining the position, and t error position numbers obtained by the fourth calculation means are substituted into the error locator polynomial and the error evaluator polynomial to obtain an intermediate error amount to be obtained. Fifth to calculate Y L + t−1, L from the value Y L, L
And the error amount Y j, 0 that is the total error amount for the L + t known and unknown error positions to be calculated, under the condition of i ≦ j by changing j from L−1 to 0. Then, Y j, j is calculated and Y i, j = Y i, j + 1 / (X i + Xj ) on the right side is set, and Y j, j of the calculation result on the left side is sequentially calculated. A Galois field arithmetic unit comprising sixth sequential calculation means for obtaining a result by a procedure of substituting j into the above equation for obtaining Y j, j .
に前記第1の計算手段によってjに関してσi,jの計算
過程にて算出されたσi,jが得られた時、シンドロームS
iと共に、 にて中間結果Pjをまた、j=L及びj≧i≧0の条件の
時はPLの替りに とおいてk=0の修正シンドロームT0を得て記憶してお
く第7の計算手段と、前記第2の計算手段によって1か
らd−2−Lまでのkについて修正シンドロームTkを求
め、さらに前記第6の計算手段の替りに求めるべきL+
t個の既知及び未知の誤り位置数についての誤り量であ
るYj,0を、jをL−1から0まで変化させて、 にてYj,jを計算して右辺における Yi,j=Yi,j+1/(Xi+Xj)と置いた各計算結果と左
辺の計算結果のYj,jを逐次的にjを1減じた上記のY
j,jを求める式に代入する手順で結果を求める第8の逐
次計算手段からなる特許請求の範囲第1項記載のガロア
体演算装置。2. Under the conditions of 0 ≦ j ≦ L and j ≧ i ≧ 0 , j obtains σ i, j calculated in the process of calculating σ i, j for j by the first calculating means. Syndrome S
with i , At the intermediate result P j , instead of P L when j = L and j ≧ i ≧ 0 And a seventh computing means for storing to obtain a modified syndrome T 0 of k = 0 at, for k from 1 to d-2-L seeking modified syndrome T k by the second calculating means, further L + to be obtained instead of the sixth calculating means
The error amount Y j, 0 for t known and unknown error positions is changed from j to L−1 to 0, At Y j, Y i on the right side by calculating the j, j = Y i, j + 1 / (X i + X j) of the respective calculated results and the left side of the calculation results at Y j, the sequentially j a j 1 above minus Y
The Galois field arithmetic unit according to claim 1, comprising an eighth sequential calculation means for obtaining a result by the procedure of substituting into the equation for obtaining j, j .
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62176167A JP2553571B2 (en) | 1987-07-15 | 1987-07-15 | Galois field arithmetic unit |
KR1019890700370A KR910009094B1 (en) | 1987-06-30 | 1988-06-28 | Galois field arithmetic unit |
US07/313,963 US5020060A (en) | 1987-06-30 | 1988-06-28 | Error code correction device having a galois arithmetic unit |
DE3852999T DE3852999T2 (en) | 1987-06-30 | 1988-06-28 | GALOIS FIELD CALCULATOR. |
EP88906047A EP0329789B1 (en) | 1987-06-30 | 1988-06-28 | Galois field arithmetic unit |
PCT/JP1988/000646 WO1989000363A1 (en) | 1987-06-30 | 1988-06-28 | Galois field arithmetic unit |
KR1019890700370A KR890702340A (en) | 1987-06-30 | 1989-02-28 | Galois system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62176167A JP2553571B2 (en) | 1987-07-15 | 1987-07-15 | Galois field arithmetic unit |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6419831A JPS6419831A (en) | 1989-01-23 |
JP2553571B2 true JP2553571B2 (en) | 1996-11-13 |
Family
ID=16008835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62176167A Expired - Fee Related JP2553571B2 (en) | 1987-06-30 | 1987-07-15 | Galois field arithmetic unit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2553571B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU640996B2 (en) * | 1990-03-29 | 1993-09-09 | Societe Anonyme Dite Alcatel Alsthom Compagnie Generale D'electricite | A method of fabricating preforms for making optical fibers by drawing |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61258536A (en) * | 1985-05-10 | 1986-11-15 | Mitsubishi Electric Corp | Double error correction decoder |
JPS61258535A (en) * | 1985-05-10 | 1986-11-15 | Mitsubishi Electric Corp | Double error correcting decoder |
JPS62115928A (en) * | 1985-11-14 | 1987-05-27 | Mitsubishi Electric Corp | Decoder for correcting duplicated error |
-
1987
- 1987-07-15 JP JP62176167A patent/JP2553571B2/en not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
電子情報通信学会技術研究報告,信学技報Vol.87,No.52,P.9−16,(IT87−11) |
Also Published As
Publication number | Publication date |
---|---|
JPS6419831A (en) | 1989-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5020060A (en) | Error code correction device having a galois arithmetic unit | |
EP0316063B1 (en) | Error correction using look-up tables | |
US5715262A (en) | Errors and erasures correcting reed-solomon decoder | |
US8132083B1 (en) | Architecture and control of reed-solomon list decoding | |
US6374383B1 (en) | Determining error locations using error correction codes | |
US6560747B1 (en) | Error counting mechanism | |
US5680340A (en) | Low order first bit serial finite field multiplier | |
US4142174A (en) | High speed decoding of Reed-Solomon codes | |
US6141786A (en) | Method and apparatus for performing arithmetic operations on Galois fields and their extensions | |
US6725416B2 (en) | Forward error correction apparatus and methods | |
US4504948A (en) | Syndrome processing unit for multibyte error correcting systems | |
EP0167627A1 (en) | Method and apparatus for decoding error correction code | |
JPS58219852A (en) | Correcting circuit of error | |
US5905740A (en) | Apparatus and method for error correction | |
JPH0653842A (en) | Method and circuit for decoding of rs code data signal | |
EP0836285B1 (en) | Reed-Solomon decoder with general-purpose processing unit and dedicated circuits | |
US5889792A (en) | Method and apparatus for generating syndromes associated with a block of data that employs re-encoding the block of data | |
US20070061688A1 (en) | Decoding error correction codes using a modular single recursion implementation | |
CN110908827A (en) | Parallel BCH decoding method for error correction of NAND Flash memory | |
US6651214B1 (en) | Bi-directional decodable Reed-Solomon codes | |
US5541937A (en) | Apparatus for uniformly correcting erasure and error of received word by using a common polynomial | |
KR19990087035A (en) | Improved multi-burst correction system | |
US6643819B1 (en) | Hybrid root-finding technique | |
JP2553571B2 (en) | Galois field arithmetic unit | |
JP2553565B2 (en) | Galois field arithmetic unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |