Galois field arithmetic unit
2 claims: 1 independent, 1 dependent
- 1(57)【特許請求の範囲】 【請求項1】符号語がガロア体GF(2 r )の元から構成される最小距離dの誤り訂正線形符号のX 0 からY L-1 までの既知のL個の誤り位置数とS 0 からS d-2 までのシンドロームを生成する回路と、値を記憶する手段と、jを0≦j≦L及びj≧i≧0及び右辺において添字が前記の不等号を満たさない変数を0とする条件の元にσ j,j =1とし、σ i,j =σ i,j-1 ×X j-1 +σ i-1,i-1 としてjを0からLまで変化させるとともに前記jの各々につきiを前記条件下にて変化させて結果を得る第1の逐次計算手段と、前記第1の逐次計算手段から得られたσ i,L と前記シンドローム生成回路によって計算されたシンドロームから にて0からd-2-Lまでのkについて修正シンドロームT k を計算する第2の計算手段と、前記修正シンドロームT k を通常の誤り位置数が未知の誤り訂正におけるシンドロームと同様に扱って、誤り位置数が未知のt個の誤りについての誤り位置多項式の係数と求めるべき誤り量の中間値の誤り評価多項式を求めるユークリッド復号法等の第3の計算手段と、前記誤り位置多項式から誤り位置を求めるChienの方法等の第4の計算手段と、前記誤り位置多項式と誤り評価多項式に前記第4の計算手段により求めたt個の誤り位置数を代入して、求めるべき誤り量の中間値のY L,L からY L+t-1,L を計算する第5の計算手段と、求めるべきL+t個の既知及び未知の誤り位置数についての全ての誤り量であるY j,0 を、jをL-1から0まで変化させてi≦jの条件下に にてY j,j を計算して右辺における Y i,j =Y i,j+1 /(X i+Xj )と置いた各計算中間結果と左辺の計算結果のY j,j を逐次的に、jを1減じた上記のY j,j を求める式に代入する手順で結果を求める第6の逐次計算手段からなるガロア体演算装置。
- 2【請求項2】jを0≦j≦L及びj≧i≧0の条件の元に前記第1の計算手段によってjに関してσ i,j の計算過程にて算出されたσ i,j が得られた時、シンドロームS i と共に、 にて中間結果P j をまた、j=L及びj≧i≧0の条件の時はP L の替りに とおいてk=0の修正シンドロームT 0 を得て記憶しておく第7の計算手段と、前記第2の計算手段によって1からd-2-Lまでのkについて修正シンドロームT k を求め、さらに前記第6の計算手段の替りに求めるべきL+t個の既知及び未知の誤り位置数についての誤り量であるY j,0 を、jをL-1から0まで変化させて、 にてY j,j を計算して右辺における Y i,j =Y i,j+1 /(X i +X j )と置いた各計算結果と左辺の計算結果のY j,j を逐次的にjを1減じた上記のY j,j を求める式に代入する手順で結果を求める第8の逐次計算手段からなる特許請求の範囲第1項記載のガロア体演算装置。
Independent claims2
4 paragraphs, as filed
Description: TECHNICAL FIELD [Detailed description of the invention]
Industrial application fields The present invention relates to a code error inspection / correction device used when recording / reproducing data on a medium such as an optical disk. Conventional technology In recent years, the development of data recording / playback devices using optical discs has been active. An optical disk memory can record a large amount of data as compared with a magnetic disk, but has a drawback that the raw error rate of the recording medium is high. Therefore, an inspection symbol is added to the information symbol which is data at the time of recording to form a code word, and this code word is recorded as an error inspection correction code on the optical disk, and an error of the information symbol is used at the time of reproduction using the added inspection symbol. A method of detecting and correcting is generally used. A Reed-Solomon code having a minimum distance of about d = 17 has been attracting attention in recent years as such an error inspection correction 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 coding process, the data is written to the medium together with the parity, and then the read data is decoded, that is, the syndrome is calculated, the number of errors is estimated, and the number of errors is estimated. The coefficient of the error position polynomial is calculated, the error position is calculated, and the error value is calculated in sequence. However, the number of correctable errors is (d-1) / 2 (normally corrected) when the error position is unknown. ), If the position of the error is known, it is d-1 (erasure correction). Also, when only a part of the error position is known and there is an error whose position is unknown, if the number of errors whose error positions are known is t, (dt-1) / 2 + t errors are corrected. It is possible. 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 detect errors with one code and correct erasure with the other code. It was. There is a method in the literature to find the amount of error when the error position is a mixture of known error and unknown error, but it is known that the amount of calculation increases considerably (on-deccoding BCH code David Forney JR IEEE Trans). IT-11, pp549-557, 1965). According to this document, modified syndrome T as a method of speeding up<sub>k</sub>Σ used when finding<sub>i, L</sub>The calculation method of is introduced. However, the algorithm for finding the actual amount of error is quite complicated, and it is rather easier to find the error position and then perform erasure correction. Fig. 3 and Fig. 4 show a conventional example of this method. The configuration of the conventional example will be described with reference to the drawings below. FIG. 3 shows a syndrome generation circuit, and Fig. 4 shows a flowchart of decoding by the Galois field calculation method used in the conventional correction processing. In Fig. 3, 1 is a logic product gate circuit with a total of 8 bits, 2 is an input selector switch logic circuit, 3 to 8 are the 0th to 5th 8-bit register circuits, and 18 is the 15th 8-bit. Register circuits, 19 to 24 are the 0th to 5th changeover switch logic circuits, 34 is the 15th switch logic circuit, and 35 to 40 are α.<sup>0</sup>From α<sup>5</sup>Galois field multiplication circuit up to, 50 is α<sup>15</sup>Galois field multiplication circuit. Reference numeral 51 is a Galois field addition circuit (exclusive OR operation circuit). In this figure, each of the 6th to 14th circuit elements is omitted. Next, this operation will be described. In this example the operation is GF (2)<sup>8</sup>) Is done above. First, the received word sent from the demodulation circuit is sent to the syndrome circuit for decoding. Initially set in advance so that the contents of the 8-bit register circuits 3 to 18 become 0 elements by the logical product gate 1 and the input changeover switch logic circuit 2. Next, the received word of n symbols from the demodulator is input, the AND operation is performed via the AND gate circuit 1, and the obtained results are sent to the Galois body addition circuit (exclusive OR operation circuit) 51. The input of the n symbol is terminated by inputting and adding the input selector switch circuit 2 to the feedback value of the multiplication result of the Galois field multiplication circuits 35 to 50. After that, the register contents 3 to 18 are selected by the switch logic circuits 19 to 34, and the syndrome S<sub>0</sub>From S<sub>15</sub>To get. This syndrome and the number of erroneous positions X of L erroneous positions known in advance<sub>0</sub>, X<sub>1</sub>...... X<sub>L-1</sub>According to the flowchart according to Fig. 4, j is 0 j L and j i 0, and σ is based on the condition that the variable whose subscript does not satisfy the above inequality sign on the right side is 0.<sub>j, j</sub>Set to = 1 and σ<sub>i, j</sub>= σ<sub>i, j-1</sub>× X<sub>j-1</sub>+ σ<sub>i-1, j-1</sub>As j is changed from 0 to L, and i is changed for each of the js under the above conditions.<sub>0, L</sub>... σ<sub>L, L</sub>Is obtained by sequential calculation, and this σ<sub>i, L</sub>And from the syndrome calculated by the syndrome generation circuit<img file="JP2553571B2_D0001.tif" />Corrected syndrome T for k from 0 to d-2-L<sub>k</sub>Obtained by the Euclidean decoding method in the same way as normal correction, the error position polynomial σ for the number of unknown errors t<sub>t</sub>Find (Z) and use Chien's method to find the number of incorrect positions X<sub>L</sub>...... X<sub>L + t-1</sub>To ask. The amount of error can be obtained by calculating the disappearance error of all the errors from the obtained number of error positions and the syndrome. These calculations can be realized by the syndrome hardware and microcomputer shown in Fig. 3. Problems that the invention tries to solve However, in 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, although it is possible to provide dedicated hardware in order to increase the speed, there is a problem that the amount of circuits increases too much and the practicality 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. Means to solve the problem To solve the above problem, the codeword is Galois GF (2)<sup>r</sup>) Error correction linear code X with minimum distance d<sub>0</sub>From Y<sub>L-1</sub>The number of known L error positions up to and S<sub>0</sub>From S<sub>d-2</sub>Σ under the condition that the circuit that generates the syndrome up to, the means for storing the value, and the variable where j is 0 j L and j i 0 and the subscript does not satisfy the above inequality sign on the right side are 0.<sub>j, j</sub>As = 1, σ<sub>i, j</sub>= σ<sub>i, j-1</sub>× X<sub>j-1</sub>+ σ<sub>i-1, i-1</sub>And σ obtained from the first sequential calculation means and the first sequential calculation means to obtain the result by changing j from 0 to L and changing i for each of the above js under the above conditions.<sub>i, L</sub>And from the syndrome calculated by the syndrome generation circuit<img file="JP2553571B2_D0002.tif" />Corrected syndrome T for k from 0 to d-2-L<sub>k</sub>Second calculation method to calculate, and modified syndrome T<sub>k</sub>Is treated in the same way as the syndrome in error correction with an unknown number of error positions, and the error evaluation polynomial of the intermediate value between the error position polynomial for t errors with an unknown number of error positions and the error amount to be obtained is calculated by Euclidean decoding. The third calculation means such as the method, the fourth calculation means such as Chien's method for finding the error position from the error position polynomial, and the error evaluation polynomial and the error position polynomial with t errors obtained by the fourth calculation means. Y of the intermediate value of the amount of error to be obtained by substituting the number of positions<sub>L, L</sub>From Y<sub>L + t-1, L</sub>The fifth calculation method for calculating, and the total amount of errors for the number of known and unknown error positions of L + t to be calculated.<sub>j, 0</sub>Under the condition of i j by changing j from L-1 to 0,<img file="JP2553571B2_D0003.tif" />At Y<sub>j, j</sub>On the right side Y<sub>i, j</sub>= Y<sub>i, j + 1</sub>/ (X<sub>i</sub>+ X<sub>j</sub>) And the Y of each calculation intermediate result and the calculation result on the left side<sub>j, j</sub>Sequentially, j is subtracted by 1 above Y<sub>j, j</sub>Consists of a sixth sequential calculation means for obtaining the result by the procedure of substituting into the formula for obtaining, or σ with respect to j by the first calculation means under the conditions of 0 j L and j i 0.<sub>i, j</sub>Σ calculated in the calculation process of<sub>i, j</sub>When is obtained, Syndrome S<sub>i</sub>With the interim result P<sub>j</sub>To<img file="JP2553571B2_D0004.tif" />And when j = L and j i 0, P<sup>L</sup>Instead of<img file="JP2553571B2_D0005.tif" />Anyway, the correction syndrome T of k = 0<sub>0</sub>The seventh calculation means to obtain and memorize, and the modified syndrome T for k from 1 to d-2-L by the second calculation means.<sub>k</sub>Is the amount of error for the number of known and unknown error positions of L + t to be obtained instead of the sixth calculation means.<sub>j, 0</sub>, Changing j from L-1 to 0,<img file="JP2553571B2_D0006.tif" />At Y<sub>j, j</sub>On the right side Y<sub>i, j</sub>= Y<sub>i, j + 1</sub>/ (X<sub>i</sub>+ X<sub>j</sub>) And the Y of the calculation result on the left side<sub>j, j</sub>The above Y, which is obtained by sequentially subtracting j by 1.<sub>j, j</sub>The amount of error is obtained by the eighth sequential calculation means for obtaining the result by the procedure of substituting into the formula for obtaining. Action According to the above procedure, when encoding or decoding a Reed-Solomon code, the position assumed to be an error after calculation of the code word syndrome or the position where the error occurred is given, and a series of Galois field multiplication / division and addition are repeated. Calculations are performed to perform normal correction and erasure correction at the time of encoding or decoding of the inspection code, and since this procedure requires far fewer calculations than before, even when real-time processing is required. It can be applied and the amount of circuit is very small, and this can be achieved. Example Hereinafter, the Galois field arithmetic unit according to an embodiment of the present invention will be described with reference to the drawings. FIG. 1-a is a block diagram of a first embodiment of the present invention. FIG. 1-b shows a flowchart of the first calculation means of the first embodiment in FIG. 1-a. Further, FIG. 1-c shows a flowchart of the second, third, and fourth calculation means of the first embodiment in FIG. 1-a. Further, FIGS. 1-d and 1-e show a flowchart of the fifth calculation 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. In addition, 54 is a Galois field calculation circuit, which executes Galois field calculations at high speed by a microprogram. In the first calculation means in Fig. 1-b, the modified syndrome T<sub>k</sub>And the error value Y<sub>j, 0</sub>Σ used in the process of finding<sub>i, j</sub>Is calculated and stored. In Fig. 1-c, 55 is the second calculation means and σ<sub>i, L</sub>And Syndrome S<sub>i</sub>Is the part to find the corrected syndrome from, and 56 is the error position polynomial σ from the corrected syndrome.<sub>t</sub>(z) and error evaluation polynomial η<sub>t</sub>This is the part of the third calculation means for finding (z). 57 is the error position polynomial σ<sub>t</sub>Number of unknown error positions X from (z)<sub>L</sub>...... X<sub>L + t-1</sub>This is the part of the fourth calculation means for finding. Also, in Fig. 1-d, 58 is the median value Y of the amount of error by substituting the number of error positions obtained in the error evaluation polynomial.<sub>L, L</sub>...... Y<sub>L, L + t-1</sub>Is the part to find, and 59 is the amount of error Y<sub>i, 0</sub>It is the first half of the part to calculate, and the calculation is performed by the intermediate value between the number of error positions and the amount of errors. In Fig. 1-e, 59 is the amount of error Y<sub>i, 0</sub>It is the latter half of the part to calculate σ<sub>i, j</sub>And Syndrome S<sub>i</sub>60 is a flowchart of the part where the error is finally corrected. Regarding the first embodiment of the Galois field calculation method configured as described above, the following are Fig. 1-a, Fig. 1-b, Fig. 1-c, Fig. 1-d, Fig. 1-e and Fig. 3 The method will be explained with reference to Fig. Y of the error value to be calculated<sub>j, 0</sub>Let us assume that the error positions of J = 8 to 6 whose error positions are unknown and the error positions of j = 5 to j = 0 are a total of nine values of known errors. Under the condition that j is 0 j L, j i 0, and the variable whose subscript does not satisfy the above inequality sign is 0 on the right side, σ<sub>j, j</sub>Set to = 1 σ<sub>i, j</sub>= σ<sub>i, j-1</sub>× X<sub>j-1</sub>+ σ<sub>i-1, j-1</sub>By changing j from 0 to L and changing i for each of j under the above conditions, σ<sub>i, j</sub>Calculation procedure σ<sub>i, j</sub>= σ<sub>i, j-1</sub>× X<sub>j-1</sub>+ σ<sub>i-1, j-1</sub>Σ obtained here<sub>i, j</sub>Remember. This is σ<sub>i, j</sub>Σ one process before to calculate<sub>i, j-1</sub>And σ<sub>i-1, j-1</sub>This is because the value of σ must be used, and also when calculating the amount of error.<sub>i, j</sub>This is because it requires. Next, σ obtained here<sub>i, L</sub>And the modified syndrome from the syndrome<img file="JP2553571B2_D0007.tif" />Calculate for k from 0 to d-2-L in, and this T<sub>k</sub>Is treated in the same way as the syndrome in error correction with an unknown number of error positions, and the error position polynomial σ for t errors with an unknown number of error positions in the Euclidean decoding method.<sub>t</sub>Error evaluation polynomial η, which is the intermediate value between (z) and the amount of error to be obtained<sub>t</sub>Find (n). After that, the error position obtained by Chien's method of finding the number of error positions from the error position polynomial is calculated by the error position polynomial σ.<sub>t</sub>Error evaluation polynomial η, which is the intermediate value between (z) and the amount of error to be obtained<sub>t</sub>Median value Y of error amount by substituting into (z)<sub>L + t-1, L</sub>...... Y<sub>L, L</sub>Is obtained and the amount of error is obtained from 59 flowcharts. The formula for calculating each value at this time is Y<sub>5,5</sub>= Y<sub>8,6</sub>/ (X<sub>8</sub>+ X<sub>5</sub>) + Y<sub>7,6</sub>/ (X<sub>7</sub>+ X<sub>5</sub>) + Y<sub>6,6</sub>/ (X<sub>6</sub>+ X<sub>5</sub>) + P<sub>5</sub>However, P<sub>5</sub>= S<sub>5</sub>+ σ<sub>4,5</sub>× S<sub>4</sub>+ σ<sub>3,5</sub>× S<sub>3</sub>+ σ<sub>2,5</sub>× S<sub>2</sub>+ σ<sub>1,5</sub>× S<sub>1</sub>+ σ<sub>0,5</sub>× S<sub>0</sub>σ<sub>4,5</sub>= X<sub>0</sub>+ X<sub>1</sub>+ X<sub>2</sub>+ X<sub>3</sub>+ X<sub>4</sub>= 1 × X<sub>4</sub>+ σ<sub>3,4</sub>σ<sub>3,5</sub>= (X<sub>0</sub>+ X<sub>1</sub>+ X<sub>2</sub>+ X<sub>3</sub>) × X<sub>4</sub>+ (X<sub>0</sub>+ X<sub>1</sub>+ X<sub>2</sub>) × X<sub>3</sub>+ (X<sub>0</sub>+ X<sub>1</sub>) × X<sub>2</sub>+ X<sub>0</sub>× X<sub>1</sub>= σ<sub>3,4</sub>× X<sub>4</sub>+ σ<sub>2,4</sub>σ<sub>2,5</sub>= (((X<sub>0</sub>+ X<sub>1</sub>+ X<sub>2</sub>) × X<sub>3</sub>+ (X<sub>0</sub>+ X<sub>1</sub>) × X<sub>2</sub>+ X<sub>0</sub>× X<sub>1</sub>) × X<sub>4</sub>+ ((X<sub>0</sub>+ X<sub>1</sub>) × X<sub>2</sub>× X<sub>0</sub>× X<sub>1</sub>) × X<sub>3</sub>+ X<sub>0</sub>× X<sub>1</sub>× X<sub>2</sub>= σ<sub>2,4</sub>× X<sub>4</sub>+ X<sub>1,4</sub>σ<sub>1,5</sub>= ((((X<sub>0</sub>+ X<sub>1</sub>) × X<sub>2</sub>+ X<sub>0</sub>× X<sub>1</sub>) × X<sub>3</sub>+ X<sub>0</sub>× X<sub>1</sub>× X<sub>2</sub>) × X<sub>4</sub>+ X<sub>0</sub>× X<sub>1</sub>× X<sub>2</sub>× X<sub>3</sub>= σ<sub>1,4</sub>× X<sub>4</sub>+ σ<sub>0,4</sub>σ<sub>0,5</sub>= X<sub>0</sub>× X<sub>1</sub>× X<sub>2</sub>× X<sub>3</sub>× X<sub>4</sub>= σ<sub>0,4</sub>× X<sub>4</sub>+0 Y<sub>4,4</sub>= Y<sub>8,5</sub>/ (X<sub>8</sub>+ X<sub>4</sub>) + Y<sub>7,5</sub>/ (X<sub>7</sub>+ X<sub>4</sub>) + Y<sub>6,5</sub>/ (X<sub>6</sub>+ X<sub>4</sub>) + Y<sub>5,5</sub>/ (X<sub>5</sub>+ X<sub>4</sub>) + P<sub>4</sub>However, Y<sub>8,5</sub>= Y<sub>8,6</sub>/ (X<sub>8</sub>+ X<sub>5</sub>) Y<sub>7,5</sub>= Y<sub>7,6</sub>/ (X<sub>7</sub>+ X<sub>5</sub>) Y<sub>6,5</sub>= Y<sub>6,6</sub>/ (X<sub>6</sub>+ X<sub>5</sub>) P<sub>4</sub>= S<sub>4</sub>+ σ<sub>3,4</sub>× S<sub>3</sub>+ σ<sub>2,4</sub>× S<sub>2</sub>+ σ<sub>1,4</sub>× S<sub>1</sub>+ σ<sub>0,4</sub>× S<sub>0</sub>σ<sub>3,4</sub>= X<sub>0</sub>+ X<sub>1</sub>+ X<sub>2</sub>+ X<sub>3</sub>= 1 × X<sub>3</sub>+ σ<sub>2,3</sub>σ<sub>2,4</sub>= (X<sub>0</sub>+ X<sub>1</sub>+ X<sub>2</sub>) × X<sub>3</sub>+ (X<sub>0</sub>+ X<sub>1</sub>) × X<sub>2</sub>+ X<sub>0</sub>× X<sub>1</sub>= σ<sub>2,3</sub>× X<sub>3</sub>+ σ<sub>1,3</sub>σ<sub>1,4</sub>= (((X<sub>0</sub>+ X<sub>1</sub>) × X<sub>2</sub>+ X<sub>0</sub>× X<sub>1</sub>) × X<sub>3</sub>+ X<sub>0</sub>× X<sub>1</sub>× X<sub>2</sub>= σ<sub>1,3</sub>× X<sub>3</sub>+ σ<sub>0,3</sub>σ<sub>0,4</sub>= X<sub>0</sub>+ X<sub>1</sub>+ X<sub>2</sub>+ X<sub>3</sub>= σ<sub>0,3</sub>× X<sub>3</sub>+0 Y<sub>3,3</sub>= Y<sub>8,4</sub>/ (X<sub>8</sub>+ X<sub>3</sub>) + Y<sub>7,4</sub>/ (X<sub>7</sub>+ X<sub>3</sub>) + Y<sub>6,4</sub>/ (X<sub>6</sub>+ X<sub>3</sub>) + Y<sub>5,4</sub>/ (X<sub>5</sub>+ X<sub>3</sub>) + Y<sub>4,4</sub>/ (X<sub>4</sub>+ X<sub>3</sub>) + P<sub>3</sub>However, Y<sub>8,4</sub>= Y<sub>8,5</sub>/ (X<sub>8</sub>+ X<sub>4</sub>) Y<sub>7,4</sub>= Y<sub>7,5</sub>/ (X<sub>7</sub>+ X<sub>4</sub>) Y<sub>6,4</sub>= Y<sub>6,5</sub>/ (X<sub>6</sub>+ X<sub>4</sub>) Y<sub>5,4</sub>= Y<sub>5,5</sub>/ (X<sub>5</sub>+ X<sub>4</sub>) P<sub>3</sub>= S<sub>3</sub>+ σ<sub>2,3</sub>× S<sub>2</sub>+ σ<sub>1,3</sub>× S<sub>1</sub>+ σ<sub>0,3</sub>× S<sub>0</sub>σ<sub>2,3</sub>= X<sub>0</sub>+ X<sub>1</sub>+ X<sub>2</sub>= 1 × X<sub>2</sub>+ σ<sub>1,2</sub>σ<sub>1,3</sub>= (X<sub>0</sub>+ X<sub>1</sub>) × X<sub>2</sub>+ X<sub>0</sub>× X<sub>1</sub>= σ<sub>1,2</sub>× X<sub>2</sub>+ σ<sub>0,2</sub>σ<sub>0,3</sub>= X<sub>0</sub>× X<sub>1</sub>× X<sub>2</sub>= σ<sub>0,2</sub>× X<sub>2</sub>+0 Y<sub>2,2</sub>= Y<sub>8,3</sub>/ (X<sub>8</sub>+ X<sub>2</sub>) + Y<sub>7,3</sub>/ (X<sub>7</sub>+ X<sub>2</sub>) + Y<sub>6,3</sub>/ (X<sub>6</sub>+ X<sub>2</sub>) + Y<sub>5,3</sub>/ (X<sub>5</sub>+ X<sub>2</sub>) + Y<sub>4,3</sub>/ (X<sub>4</sub>+ X<sub>2</sub>) + Y<sub>3,3</sub>/ (X<sub>3</sub>+ X<sub>2</sub>) + P<sub>2</sub>However, Y<sub>8,3</sub>= Y<sub>8,4</sub>/ (X<sub>8</sub>+ X<sub>3</sub>) Y<sub>7,3</sub>= Y<sub>7,4</sub>/ (X<sub>7</sub>+ X<sub>3</sub>) Y<sub>6,3</sub>= Y<sub>6,4</sub>/ (X<sub>6</sub>+ X<sub>3</sub>) Y<sub>5,3</sub>= Y<sub>5,4</sub>/ (X<sub>5</sub>+ X<sub>3</sub>) Y<sub>4,3</sub>= Y<sub>4,4</sub>/ (X<sub>4</sub>+ X<sub>3</sub>) P<sub>2</sub>= S<sub>2</sub>+ σ<sub>1,2</sub>× S<sub>1</sub>+ σ<sub>0,2</sub>× S<sub>0</sub>σ<sub>1,2</sub>= X<sub>0</sub>+ X<sub>1</sub>= 1 × X<sub>1</sub>+ σ<sub>0,1</sub>σ<sub>0,2</sub>= X<sub>0</sub>× X<sub>1</sub>= σ<sub>0,1</sub>× X<sub>1</sub>+0 Y<sub>1,1</sub>= Y<sub>8,2</sub>/ (X<sub>8</sub>+ X<sub>1</sub>) + Y<sub>7,2</sub>/ (X<sub>7</sub>+ X<sub>1</sub>) + Y<sub>6,2</sub>/ (X<sub>6</sub>+ X<sub>1</sub>) + Y<sub>5,2</sub>/ (X<sub>5</sub>+ X<sub>1</sub>) + Y<sub>4,2</sub>/ (X<sub>4</sub>+ X<sub>1</sub>) + Y<sub>3,2</sub>/ (X<sub>3</sub>+ X<sub>1</sub>) + Y<sub>2,2</sub>/ (X<sub>2</sub>+ X<sub>1</sub>) + P<sub>1</sub>However, Y<sub>8,2</sub>= Y<sub>8,3</sub>/ (X<sub>8</sub>+ X<sub>2</sub>) Y<sub>7,2</sub>= Y<sub>7,3</sub>/ (X<sub>7</sub>+ X<sub>2</sub>) Y<sub>6,2</sub>= Y<sub>6,3</sub>/ (X<sub>6</sub>+ X<sub>2</sub>) Y<sub>5,2</sub>= Y<sub>5,3</sub>/ (X<sub>5</sub>+ X<sub>2</sub>) Y<sub>4,2</sub>= Y<sub>4,3</sub>/ (X<sub>4</sub>+ X<sub>2</sub>) Y<sub>3,2</sub>= Y<sub>3,3</sub>/ (X<sub>3</sub>+ X<sub>2</sub>) P<sub>1</sub>= S<sub>1</sub>+ σ<sub>0,1</sub>× S<sub>0</sub>σ<sub>0,1</sub>= X<sub>0</sub>Y<sub>0,0</sub>= Y<sub>8,1</sub>/ (X<sub>8</sub>+ X<sub>0</sub>) + Y<sub>7,1</sub>/ (X<sub>7</sub>+ X<sub>0</sub>) + Y<sub>6,1</sub>/ (X<sub>6</sub>+ X<sub>0</sub>) + Y<sub>5,1</sub>/ (X<sub>5</sub>+ X<sub>0</sub>) + Y<sub>4,1</sub>/ (X<sub>4</sub>+ X<sub>0</sub>) + Y<sub>3,1</sub>/ (X<sub>3</sub>+ X<sub>0</sub>) + Y<sub>2,1</sub>/ (X<sub>2</sub>+ X<sub>0</sub>) + Y<sub>1,1</sub>/ (X<sub>1</sub>+ X<sub>0</sub>) + P<sub>0</sub>However, Y<sub>8,1</sub>= Y<sub>8,2</sub>/ (X<sub>8</sub>+ X<sub>1</sub>) Y<sub>7,1</sub>= Y<sub>7,2</sub>/ (X<sub>7</sub>+ X<sub>1</sub>) Y<sub>6,1</sub>= Y<sub>6,2</sub>/ (X<sub>6</sub>+ X<sub>1</sub>) Y<sub>5,1</sub>= Y<sub>5,2</sub>/ (X<sub>5</sub>+ X<sub>1</sub>) Y<sub>4,1</sub>= Y<sub>4,2</sub>/ (X<sub>4</sub>+ X<sub>1</sub>) Y<sub>3,1</sub>= Y<sub>3,2</sub>/ (X<sub>3</sub>+ X<sub>1</sub>) Y<sub>2,1</sub>= Y<sub>2,2</sub>/ (X<sub>2</sub>+ X<sub>1</sub>) P<sub>0</sub>= S<sub>0</sub> Also, the 0th error value Y obtained here<sub>0,0</sub>1st to 8th other error values during the calculation of Y<sub>1,0</sub>= Y<sub>1,1</sub>/ (X<sub>1</sub>+ X<sub>0</sub>), Y<sub>2,0</sub>= Y<sub>2,1</sub>/ (X<sub>2</sub>+ X<sub>0</sub>), Y<sub>3,0</sub>= Y<sub>3,1</sub>/ (X<sub>3</sub>+ X<sub>0</sub>), Y<sub>4,0</sub>= Y<sub>4,1</sub>/ (X<sub>4</sub>+ X<sub>0</sub>), Y<sub>5,0</sub>= Y<sub>5,1</sub>/ (X<sub>5</sub>+ X<sub>0</sub>), Y<sub>6,0</sub>= Y<sub>6,1</sub>/ (X<sub>6</sub>+ X<sub>0</sub>), Y<sub>7,0</sub>= Y<sub>7,1</sub>/ (X<sub>7</sub>+ X<sub>0</sub>), Y<sub>8,0</sub>= Y<sub>8,1</sub>/ (X<sub>8</sub>+ X<sub>0</sub>) Is required at the same time. In addition, here<img file="JP2553571B2_D0008.tif" />I said. As above, Y<sub>j, 0</sub>To ask for Y<sub>j, j</sub>Is calculated from j = L-1 to 0. When finding the amount of error, Y<sub>j, j</sub>Calculation<img file="JP2553571B2_D0009.tif" />Also when calculating according to the formula of σ<sub>i, j</sub>Similar to the calculation of Y<sub>i, j + 1</sub>, That is, Y from the maximum value L-1 to 0 of j<sub>j, j</sub>J increased by 1 before one process of the calculation process of Y<sub>i, j</sub>= Y<sub>i, j + 1</sub>/ (X<sub>i</sub>+ X<sub>j</sub>) Must be used. Because of this Y<sub>i.j + 1</sub>/ (X<sub>i</sub>+ X<sub>j</sub>) Is always stored in the memory, and it is convenient to perform the calculation sequentially by the procedure of reading the contents of the memory and writing the updated value again in the next process. In addition, Y of the result of the newly obtained left side<sub>j, j</sub>Is also written to the memory in the same way. When the calculation is continued in this way and j = 0, Y is stored in the memory.<sub>j, 0</sub>That is, the amount of error to be obtained is stored. Also, when finding the amount of error, σ that has already been found<sub>i, j</sub>Is read again and used for calculation. Next, the Galois field arithmetic unit of the second embodiment of the present invention will be described with reference to the drawings. FIG. 2-a is a block diagram of a second embodiment of the present invention. FIG. 2-b shows a flowchart of the first and seventh calculation means of the second embodiment in FIG. 2-a. Further, FIG. 2-c shows a flowchart of each of the second, third, and fourth calculation means of the second embodiment in FIG. 2-a, which is basically the same as that of FIG. 1-c. However, in the flow chart part of 55, the modified syndrome T<sub>0</sub>The calculation of is not performed because it has already been completed. Further, FIG. 2-d shows a flowchart of each of the 5th and 8th calculation means of the 2nd embodiment in FIG. 2-a. In Fig. 2-a, 52 is a syndrome generation circuit, which is the same as that shown in Fig. 3, and 53 is a memory circuit. In addition, 54 is a Galois field calculation circuit, which executes Galois field calculations at high speed by a microprogram. In Fig. 2-b, the first and seventh calculation means are combined and applied, and σ calculated by the first calculation means.<sub>i, j</sub>S stays in the register<sub>i</sub>Multiplied by the median value P<sub>j</sub>And part of the modified syndrome T<sub>0</sub>Is calculated and stored. Also, in Fig. 2-c, the modified syndrome T is the same as in Fig. 1-c.<sub>1</sub>...... T<sub>dL-2</sub>The error position polynomial σ for t errors whose number of error positions is unknown by the Euclidean decoding method of 56<sub>t</sub>Error evaluation polynomial η, which is the intermediate value between (z) and the amount of error to be obtained<sub>t</sub>Find (z). After that, the error position obtained by the Chien method of 57 is shown in the error position polynomial σ in Fig. 2-d.<sub>t</sub>Error evaluation polynomial η, which is the intermediate value between (z) and the amount of error to be obtained<sub>t</sub>By executing Flowchart 58, which is assigned to (z), the intermediate value Y of the amount of error<sub>L + t-1, L</sub>...... Y<sub>L, L</sub>Is obtained and the amount of error is obtained from 61 flowcharts. In 61 of Fig. 2-d, the final error value Y from the intermediate value Pj and the number of error positions stored by the seventh calculation means of Fig. 1-b.<sub>j, 0</sub>To ask. Regarding the second embodiment of the Galois field calculation method configured as described above, the following using Fig. 2-a, Fig. 2-b, Fig. 2-c, Fig. 2-d and Fig. 3 The method will be explained. Y of the error value to be calculated<sub>j, 0</sub>Let us assume that the error positions of J = 8 to 6 whose error positions are unknown and the error positions of j = 5 to j = 0 are a total of nine values of known errors. The calculation formula for each value at this time is Y as in the first embodiment.<sub>j, 0</sub>To ask for Y<sub>j, j</sub>Is calculated from j = L-1 to 0, but prior to this, the intermediate value P<sub>0</sub>From P<sub>j-1</sub>It is more efficient to find the value of. That is, P<sub>j</sub>When finding, σ<sub>i, j</sub>Calculation procedure of σ<sub>i, j</sub>= σ<sub>i, j-1</sub>× X<sub>j-1</sub>+ σ<sub>1, j-1</sub>At the same time, σ obtained here<sub>i, j</sub>And Syndrome S<sub>i</sub>From<img file="JP2553571B2_D0010.tif" />Is calculated. Intermediate value P obtained in this way<sub>j</sub>Store in another location in memory. The Lth median value<img file="JP2553571B2_D0011.tif" />And T of the modified syndromes<sub>0</sub>Can be found here. After this, in the same manner as in the first embodiment, the remaining correction syndrome and the intermediate value of the error amount Y<sub>L + t-1, L</sub>......<sub>L, L</sub>Get<img file="JP2553571B2_D0012.tif" />Calculate according to the formula of. At this time as well as in the first embodiment, Y<sub>i, j + 1</sub>, That is, Y from the maximum value L-1 to 0 of j<sub>j, j</sub>One process before the calculation process Y<sub>i, j</sub>= Y<sub>i, j + 1</sub>/ (X<sub>i</sub>+ X<sub>j</sub>) Is used. When the calculation is continued in this way and j = 0, Y is stored in the memory.<sub>i, 0</sub>That is, the amount of error to be obtained is stored. In this way, when the number of erroneous positions is known by other means, it is possible to give the number of positions and perform erasure correction efficiently, and if it is within the range allowed by the code distance, it will be described above. It can be systematically corrected by the procedure. The computational effort of this procedure is 1.5 x L when it comes to multiplication only.<sup>2</sup>+ t<sup>2</sup>Is. In the first embodiment of the present invention, the multiplication of 0 yuan can be omitted from the beginning with the result as 0 yuan, and the multiplication of 1 can be omitted as well. In addition, instead of setting the initial value, it is naturally conceivable to substitute the value while performing the condition judgment, such as inputting 0 yuan in the middle of the calculation. Further, when performing sequential calculation, it is possible to perform calculation while saving some results in a register or the like. Further, these calculations may be performed by a normal microprocessor, and the algorithm of the present invention is particularly efficient because the multiplication of the Galois field is usually performed by a logarithmic table. By the way, the parity calculation of encoding requires very high speed together with the calculation of syndrome, so parallel computing hardware is often used even when it is executed by software, but it is pure even when high speed is required. It is also possible to perform these processes at a speed close to that of hardware by using a microprogramming method, including corrections instead of hardware. C'<sub>n-1</sub>, C'<sub>n-2</sub>...... C'<sub>d-1</sub>There is no error in the received information words up to, and C'corresponding to d-1 parity words to be generated.<sub>d-2</sub>, C'<sub>d-3</sub>...... C'<sub>0</sub>If all the errors were made to 0 elements and erasure correction was performed assuming that they disappeared, decoding with 0 elements input with the number of error positions as the parity position is exactly equivalent to performing encoding processing on the information word, and if it disappears. If corrections can be made at high speed with a microprogram, encoding can be done in the same way as decoding. In this case, of course, the number of unknown errors t is t = 0, and the number of known errors L is L = d-1. In this way, it is possible to omit the encoding circuit by using only the syndrome calculation circuit as dedicated hardware. Effect of the invention As described above, according to the present invention, it is possible to perform normal correction and erasure correction at high speed by using the syndrome generation circuit and the memory circuit among the code error inspection and correction devices. Therefore, in an optical disk device or the like that requires high speed and high functionality, decoding of a recording medium having a high raw error rate can be practically performed, and the effect is great.
[Simple explanation of drawings]
FIG. 1a is a block diagram of the first embodiment of the present invention, FIG. 1b is a flowchart of the first calculation means of the first embodiment in FIG. 1a, and FIG. 1c is FIG. 1a. The flowcharts of the second, third, and fourth calculation means of the first embodiment in the above, FIG. 1d and FIG. 1e are the fifth, sixth calculation means of the first embodiment in FIG. FIG. 2A is a block diagram of a second embodiment of the present invention, FIG. 2b is a flowchart of the first and seventh calculation means of the second embodiment in FIG. 2a, FIG. c is the flowchart of the second, third, and fourth calculation means of the second embodiment in FIG. 2a, and FIG. 2d is the calculation of the fifth and eighth examples of the second embodiment in FIG. 2a. The flowchart of the means, FIG. 3 is a block diagram of the syndrome generation circuit, and FIG. 4 is a flowchart of the decoding process by the Galois body calculation method in the conventional example. 52 ...... Syndrome generation circuit, 53 ...... Memory circuit, 54 ...... Galois field arithmetic circuit.
28 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28
3 priority claims, no other members on record
Priority claims3
| Document | Office | Kind | Date |
|---|---|---|---|
| 17616787 | Japan | A | |
| 62176167 | – | – | – |
| JP19870176167 | – | – | – |
1 legal event, as the office reported them to INPADOC
Events
| Event | Code | |
|---|---|---|
| Cancellation because of no payment of annual feesLAPS | LAPS |
Numbers
- Publication
- 2553571
- Publication, DOCDB
- 2553571
- Publication, EPODOC
- JP2553571B
- Application
- 62176167
- Application, DOCDB
- 17616787
- Application, EPODOC
- JP19870176167
Titles2
- Japanese
- ガロア体演算装置
- English
- [Title of Invention] Galois Field Arithmetic Logic Unit
Classification
- IPC, 2
- H03M13 00
- G06F11 10
