[go: up one dir, main page]

JP2718478B2 - Error correction device for long distance codes - Google Patents

Error correction device for long distance codes

Info

Publication number
JP2718478B2
JP2718478B2 JP21844388A JP21844388A JP2718478B2 JP 2718478 B2 JP2718478 B2 JP 2718478B2 JP 21844388 A JP21844388 A JP 21844388A JP 21844388 A JP21844388 A JP 21844388A JP 2718478 B2 JP2718478 B2 JP 2718478B2
Authority
JP
Japan
Prior art keywords
column
matrix
error
row
value
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 - Lifetime
Application number
JP21844388A
Other languages
Japanese (ja)
Other versions
JPH0267826A (en
Inventor
雄一 門川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP21844388A priority Critical patent/JP2718478B2/en
Publication of JPH0267826A publication Critical patent/JPH0267826A/en
Application granted granted Critical
Publication of JP2718478B2 publication Critical patent/JP2718478B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Error Detection And Correction (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 BCH符号やリード・ソロモン符号などの誤り訂正符号
を用い、多数のワードを1ブロックとしてこのブロック
内に含まれる多数ワードの誤りを訂正できる高い訂正能
力を持った符号が光ディスクやデータ伝送などで使用さ
れている。
DETAILED DESCRIPTION OF THE INVENTION [Industrial application] An error correcting code such as a BCH code or a Reed-Solomon code is used, and a large number of words can be used as one block to correct errors of a large number of words contained in this block. A code having a correction capability is used in an optical disk, data transmission, and the like.

本発明は、このような1つの訂正系列で多数の誤りを
訂正できる符号(以下、ロングディスタンスコードとい
う)を高速で復号して誤り訂正を行うためのロングディ
スタンスコードの誤り訂正装置に関し、本出願人が先に
特願昭62−195240号として出願したロングディスタンス
コードの誤り訂正装置に係る発明をさらに改良し、小型
化を図ったものである。
The present invention relates to a long distance code error correction device for decoding a code capable of correcting a large number of errors with one correction sequence (hereinafter, referred to as a long distance code) at a high speed and performing error correction. The present invention relates to a long-distance code error correction device, which was previously filed by Japanese Patent Application No. 62-195240, to further improve and reduce its size.

〔従来の技術〕[Conventional technology]

BCH符号やリード・ソロモン符号などによって多数ワ
ードの誤りを訂正するためには、受信データからシンド
ロームを生成して誤り位置多項式の係数を求める必要が
ある。
In order to correct an error in a large number of words using a BCH code, a Reed-Solomon code, or the like, it is necessary to generate a syndrome from received data and obtain a coefficient of an error locator polynomial.

すなわち、この誤り位置多項式は誤り位置に対応する
値を根として持つ多項式であり、誤り位置多項式の各項
の係数を求めることによって誤りの生じたデータ位置を
算出することができる。
That is, the error locator polynomial is a polynomial having a root corresponding to the value corresponding to the error location, and the data position where the error has occurred can be calculated by calculating the coefficient of each term of the error locator polynomial.

従来、このような誤り位置多項式の係数を求める方式
として、ピーターソン、バーレカンプ・マッシイ、ユー
クリッドの互除法などが知られているが、いずれの方式
も、ハードウェアによって回路を実現しようとするハー
ドウェア量が大きいために小型化に向かなかったり、ま
たソフトウェアによって実現しようとすると処理速度が
遅くなるなどの問題を生じていた。
Conventionally, as a method for obtaining the coefficient of such an error locator polynomial, Peterson, Berlekamp Massey, Euclid's mutual division method and the like are known, but any method is a hardware that attempts to realize a circuit by hardware. Problems have arisen, such as not being suitable for miniaturization due to the large amount, and slowing down the processing speed when trying to realize by software.

本出願人は上記問題を解決するために、特願昭62−10
0169号において、行列の各要素にシンドロームまたは誤
り位置を示すデータワードを設定し、この行列を左基本
変形することにより誤り位置多項式の各項の係数あるい
は誤りパターンを求めるようにしたロングディスタンス
コードの誤り訂正方式とその装置を出願した。そして、
これをさらに改良して一層の高速化を図った誤りを訂正
装置を特願昭62−195240号により出願した。第7図は、
この特願昭62−195240号により出願したロングディスタ
ンスコードの誤り訂正装置の構成を示す。
The present applicant has made Japanese Patent Application No. 62-10
In No. 0169, a data word indicating a syndrome or an error position is set in each element of a matrix, and the matrix of the long-distance code in which a coefficient or an error pattern of each term of an error position polynomial is obtained by subjecting the matrix to a left basic deformation. Filed an error correction system and its device. And
An error correction device which further improved the above and further improved the speed was filed by Japanese Patent Application No. 62-195240. FIG.
The configuration of a long distance code error correction device filed in Japanese Patent Application No. 62-195240 is shown.

以下、第7図に示す装置の原理と動作につき、1ワー
ドが8ビット構成で、かつ255ワードを1ブロックとす
る4ワード訂正(t=4)可能なガロア体GF(28)上の
リード・ソロモン符号を例に採って説明する。なお、以
下における加減乗除の計算はすべてmod 2の演算に基づ
く。
Hereinafter, the principle and operation of the device shown in FIG. 7 will be described. A read on a Galois field GF (2 8 ) in which one word is composed of 8 bits and four words can be corrected (t = 4) with 255 words as one block. -An explanation will be given using a Solomon code as an example. The calculation of addition, subtraction, multiplication, and division in the following is all based on the calculation of mod 2.

いま誤りを含んだ受信データの各語の値をr0〜r254
すると、受信データR(x)は次の(1)式で与えられ
る。
Now the value of each word of the received data contain errors and r 0 ~r 254, the reception data R (x) is given by the following equation (1).

R(x)=r0x254+r1x253+…+r253x1+r254 ……(1) この受信データから生成されるシンドロームS0〜S7
この(1)式のxにα0,α1,…,α7をそれぞれ代入
した次の式で与えられる。
R (x) = r 0 x 254 + r 1 x 253 +... + R 253 x 1 + r 254 (1) The syndromes S 0 to S 7 generated from the received data are α 0 in the expression (1). , Α 1 ,..., Α 7 are respectively given by the following equations.

他方、誤位置多項式σ(x)は次の式によって定義さ
れる。
On the other hand, the mislocation polynomial σ (x) is defined by the following equation.

σ(x)=(x+V1)(x+V2)(x+V3)(x+
V4)=x4+σ3x3+σ2x2+σ1x+σ0 ……(3) ここにV1〜V4は誤り位置、すなわち誤りのあるワード
位置を示すものである。
σ (x) = (x + V 1 ) (x + V 2 ) (x + V 3 ) (x +
V 4) = x 4 + σ 3 x 3 + σ 2 x 2 + σ 1 x + σ 0 ...... (3) V 1 ~V 4 herein shows the error position, that the word position in error.

誤り位置多項式を与える(3)式の各係数σ0〜σ3とシ
ンドロームS0〜S7との間には下記(4)式の関係が成り
立つ。
Gives an error position polynomial (3) the following equation (4) the relationship is established between the coefficients σ 03 and the syndrome S 0 to S 7 of the.

この(4)式の右辺を左辺に移項して行列の形を変え
ると、次の(5)式となる。
When the shape of the matrix is changed by transposing the right side of the equation (4) to the left side, the following equation (5) is obtained.

さらに左基本変形を施すと次の(6)式となる。 Further, when the left basic deformation is performed, the following equation (6) is obtained.

この(6)式より(3)式の係数σ0〜σ3は下記の
(7)式として求められる。
The equation (6) from (3) coefficients σ 03 of formula is obtained as (7) below.

σ0=a0 σ1=a1 σ2=a2 σ3=a3 ……(7) 他方、誤りパターンY1〜Y4とシンドロームS0〜S7との
間には次関係が成立する。
σ 0 = a 0 σ 1 = a 1 σ 2 = a 2 σ 3 = a 3 (7) On the other hand, the following relationship is established between the error patterns Y 1 to Y 4 and the syndromes S 0 to S 7. I do.

ここにV1〜V4は上記係数σ0〜σ3に基づいて(3)式
から得られる誤り位置である。
Here, V 1 to V 4 are error positions obtained from equation (3) based on the coefficients σ 0 to σ 3 .

この(8)式の右辺を左辺に移項して行列の形を変え
ると、次の(9)式となる。
When the form of the matrix is changed by transposing the right side of the equation (8) to the left side, the following equation (9) is obtained.

この(9)式を前記(6)式と同様に左基本変形する
と次のようになる。
When the equation (9) is left fundamentally deformed in the same manner as the equation (6), the following is obtained.

(10)式から明らかなように、誤りパターンY1〜Y4
係数σ03と同様に与えられた行列の左基本変形により
求めることができる。
As is clear from the equation (10), the error patterns Y 1 to Y 4 can be obtained by the left basic modification of the given matrix in the same manner as the coefficients σ 0 to σ 3 .

ここで、前記(5)式および(9)式中の左辺4行5
列の行列を一般式で表すと次の(11)式で表される。
Here, the left-hand four rows 5 in the equations (5) and (9)
When the matrix of columns is represented by a general formula, it is represented by the following formula (11).

この(11)式において、左基本変形により第1列目の
対角要素a1,1を“1"に、また1列目の他の要素a2,1,a
3,1,a4,1を“0"に変形する処理を行うとき、この変形
後の第2列目の各要素a1,2′,a2,2′,a3,2′,a4,2
の値はそれぞれ次のようにして求められる。
In the equation (11), the diagonal element a 1,1 in the first column is set to “1” by the left basic deformation, and the other elements a 2,1 , a a
When performing a process of transforming 3,1 , a 4,1 into “0”, each element a 1,2 ′, a 2,2 ′, a 3,2 ′, a 4,2
Are determined as follows.

a1,2′=a1,2÷a1,1 a2,2′=a1,2÷a1,1×a2,1+a2,2 a3,2′=a1,2÷a1,1×a3,1+a3,2 a4,2′=a1,2÷a1,1×a4,1+a4,2 ……(12) 第7図に示した誤り訂正装置は、以上の原理に基づ
き、(10)式で与えられる行列を左基本変形することに
より誤り位置多項式の各項の係数あるいは誤りパターン
求めるようにしたものであって、(11)式で与えられる
行列の各要素ai,j(i=1,…,4、j=1,…,5)に対応す
る20個のデータワードを格納する4行5列20個のレジス
タai,jからなる行列記憶部71、各列毎に2個づつ設けた
バッファレジスタR1,R2からなるデータワード入換部7
2、(12)式の演算処理を行う演算処理部73、行の入れ
換え制御などを行う“0"検出部40から構成されている。
a 1,2 '= a 1,2 ÷ a 1,1 a 2,2 ' = a 1,2 ÷ a 1,1 × a 2,1 + a 2,2 a 3,2 '= a 1,2 ÷ a 1,1 × a 3,1 + a 3,2 a 4,2 '= a 1,2 ÷ a 1,1 × a 4,1 + a 4,2 ... (12) Error correction shown in Fig. 7 Based on the above principle, the apparatus obtains the coefficient or error pattern of each term of the error locator polynomial by subjecting the matrix given by equation (10) to the left fundamental transformation. From 20 registers a i, j, which store 20 data words corresponding to each element a i, j (i = 1,..., 4, j = 1 ,. And a data word exchanging unit 7 comprising two buffer registers R 1 and R 2 provided for each column.
It is composed of an arithmetic processing unit 73 for performing the arithmetic processing of equation (2) and (12), and a “0” detecting unit 40 for performing row replacement control and the like.

第7図の動作を誤り位置多項式の各項の係数σ0〜σ3
を求める場合を例に採って説明する。
The operation of FIG. 7 is performed by changing the coefficients σ 0 to σ 3
Is described as an example.

シンドロームS0〜S7が与えられると、先ず行列記憶部
71の各レジスタai,jの入力ゲートAを制御し、各シンド
ロームS0〜S7を行列の各要素ai,jに対応するレジスタa
i,jにそれぞれ書き込む。これにより、レジスタai,j
は前記(5)式の左辺1項で示される行列状態、すなわ
ち下記(13)式で示される状態の各S0〜S7がそれぞれ格
納される。
If the syndrome S 0 to S 7 is supplied, first, matrix storage unit
The input gate A of each register a i, j of 71 is controlled, and each syndrome S 0 to S 7 is registered in a register a i, j corresponding to each element a i, j of a matrix.
Write to i and j respectively. As a result, the registers a i, j store the matrix states represented by the first term on the left side of the above equation (5), that is, the states S 0 to S 7 in the states represented by the following equation (13).

ここで、以後の処理動作の理解を容易にするために、
シンドロームS0〜S7の値として次に示す具体的な数値を
用いる。
Here, in order to facilitate understanding of the subsequent processing operation,
Syndromes S 0 to S shown below using specific numerical values as a value of 7.

S0=0 S1=15 S2=85 S3=115 S4=193 S5=115 S6=161 S7=231 上記シンドロームS0〜S7の値を前記(13)式に代入す
ると次の(14)式のようになる。
S 0 = 0 S 1 = 15 S 2 = 85 S 3 = 115 S 4 = 193 S 5 = 115 S 6 = 161 S 7 = 231 By substituting the values of the syndromes S 0 to S 7 into the above equation (13) The following equation (14) is obtained.

この(14)式から誤り位置多項式の各項の係数σ0
σ3を求めるには、この(14)式の行列を下記(15)式
のように左基本変形する必要があることは前述の通りで
ある。
From this equation (14), the coefficient σ 0 of each term of the error locator polynomial
As described above, in order to obtain σ 3 , it is necessary to transform the matrix of the equation (14) to the basic left as shown in the following equation (15).

先ず最初に、(14)式中の第1列目を に変形する必要があるが、第1行第1列のa1,1が0であ
るため、このままでは変形できない。そこで、このa1,1
=0に含む第1行全部を他の0でない行と入れ換える。
この例では、第2行目と入れ換えるものとする。
First, the first column in equation (14) is However, since a1,1 in the first row and the first column is 0, it cannot be deformed as it is. So, this a 1,1
Replace the entire first row containing = 0 with another non-zero row.
In this example, the second line is replaced.

すなわち、“0"検出回路74が第1行第1列のa1,1=0
を検出すると、この第1行目の5個のレジスタa1,1〜a
1,5に格納されているデータワード(0,15,85,115,193)
をデータワード入換部72のバッファレジスタR11,R21
R31,R41,R51にそれぞれ一時的に退避し、また第2行
目の5個のレジスタa2,1〜a2,5に格納されているデータ
ワード(15,85,115,193,115)を残る他方のバッファレ
ジスタR12,R22,R32,R42,R52にそれぞれ読み込む。
そしてバッファレジスタR12,R22,R32,R42,R52のデ
ータワード(15,85,115,193,115)を各入力ゲートCを
開いて第1行目の各レジスタa1,1〜a1,5に格納するとと
もに、バッファレジスタR11,R21,R31,R41,R51に退
避されている第1行目のデータワード(0,15,85,115,19
3)を第2行目の各レジスタa2,1〜a2,5に書き込み、第
1行目と第2行目のデータワードを入れ換える。この行
の入れ換えにより、(14)式の行列は次の(16)式に示
すようになる。
That is, the “0” detection circuit 74 sets a 1,1 = 0 in the first row and first column.
Is detected, the five registers a 1,1 to a
Data words stored in 1,5 (0,15,85,115,193)
To the buffer registers R 11 , R 21 ,
The data words (15, 85, 115, 193, 115) stored in the five registers a 2,1 to a 2,5 in the second row are temporarily saved in R 31 , R 41 , and R 51 , respectively. To the buffer registers R 12 , R 22 , R 32 , R 42 , and R 52 respectively.
Then, the data words (15, 85, 115, 193, 115) of the buffer registers R 12 , R 22 , R 32 , R 42 , and R 52 are opened to the input gates C and the registers a 1,1 to a 1,5 in the first row. stores, buffer register R 11, R 21, R 31 , R 41, first line of data words saved in the R 51 (0,15,85,115,19
3) is written into the registers a 2,1 to a 2,5 in the second row, and the data words in the first and second rows are exchanged. By replacing the rows, the matrix of equation (14) becomes as shown in the following equation (16).

上記のようにして行の入れ換えを行った後、(16)式
の第1列を に変形する処理を行う。
After replacing the rows as described above, the first column of equation (16) is changed Is performed.

すなわち、レジスタa1,1の出力ゲートH、レジスタa
1,2の出力ゲートI、レジスタa2,1,a3,1,a4,1の出力
ゲートKおよびレジスタa2,2,a3,2,a4,2の出力ゲート
Jを開き、これらレジスタの値15,85,0,85,115,15,115,
193を演算処理部73に送る。演算処理部73は、逆数発生
器D0,乗算器M1〜M4,加算器A1〜A4により前記(12)式
の演算を実行し、(16)式の第1列を に変形したときの、第2列各行の値a2,1=15、a2,2=1
5、a2,3=87、a2,458を求め、それぞれの値を加算器A1
〜A4から出力する。
That is, the output gate H of the register a 1,1 and the register a
1 and 2 of the output gate I, register a 2,1, a 3,1, the output gate K and registers a 2, 2 of a 4,1, a 3,2, opens the output gate J of a 4, 2, The values of these registers 15,85,0,85,115,15,115,
193 is sent to the arithmetic processing unit 73. The operation processing unit 73 executes the operation of the expression (12) by the reciprocal generator D 0 , the multipliers M 1 to M 4 , and the adders A 1 to A 4 , and calculates the first column of the expression (16). A2,1 = 15, a2,2 = 1 in each row of the second column when transformed to
5, a 2,3 = 87, a 2,4 58 are obtained, and the respective values are added to the adder A 1
Output from the ~A 4.

この加算器A1〜A4から出力された各値15,15,87,58は
各レジスタa2,1〜a2,4の入力ゲートDから第2列各行に
格納される。したがって、この処理の終了段階では、行
列記憶部71の各レジスタai,jに格納されている値は次の
(17)式のようになる。
The adder A 1 to A 4 each value 15,15,87,58 output from is stored in the second column each line from the input gate D of each register a 2,1 ~a 2,4. Therefore, at the end of this processing, the values stored in the registers a i, j of the matrix storage unit 71 are as shown in the following equation (17).

上記(17)式において注意すべき点は、第1列目の各
要素a1,1〜a1,4のそれぞれ対応するレジスタa1,1〜a1,4
に格納されているシンドロームの値が に書き換えられておらず、従前の値15,0,85,115を保持
したままであることである。これは、誤りの位置多項式
の各項の係数σ0〜σ3を求めるために実際に必要な数値
は、前記(6),(7)式から明らかなように、第1〜
第4列を単位行列に変形していったときに最後に第5列
目の各行の値のみであり、したがって単位行列の部分に
ついては演算の終わった列の値を敢えて書き換える必要
がないからである。
The point to be noted in the above equation (17) is that the registers a 1,1 to a 1,4 corresponding to the elements a 1,1 to a 1,4 in the first column, respectively.
Is the value of the syndrome stored in , And retains the previous value of 15,0,85,115. This is because the numerical values actually required to find the coefficients σ 0 to σ 3 of each term of the error locator polynomial are, as is clear from the equations (6) and (7), the first to the first.
When the fourth column is transformed into a unit matrix, only the values of each row in the fifth column are finally obtained. Therefore, it is not necessary to rewrite the values of the columns for which the computation has been completed for the part of the unit matrix. is there.

以上のようにして第1列の変形処理が終了すると、処
理は第2列目の変形へ移り、上記と同様にして第2列目
に変形する処理が実行される。
When the transformation processing of the first column is completed as described above, the processing shifts to the transformation of the second column, and the second column is transformed in the same manner as described above. Is performed.

同様の処理を第3列および第4列目まで繰り返して実
行すると、行列記憶部71の各レジスタai,jには次の(1
8)式のような値が得られる。
When the same processing is repeatedly executed up to the third and fourth columns, each register a i, j of the matrix storage unit 71 stores the following (1
8) A value like the equation is obtained.

この(18)式から誤り位置多項式の各項の係数σ0
σ3として が得られる。
From equation (18), the coefficient σ 0 of each term of the error locator polynomial
as σ 3 Is obtained.

なお、上記(18)式においても第1列〜第4列目の各
行の値は書き換えられておらず、従前の値のままである
が、実際の演算の結果としては と等価である。
In the above equation (18), the values in each row of the first to fourth columns are not rewritten and remain the same as the previous values. Is equivalent to

〔発明が解決しようとする課題〕[Problems to be solved by the invention]

上記したロングディスタンスコードの誤り訂正装置
は、各行に演算手段を配置することによって1つの列を
処理単位として各行の要素を並列的に変形処理できるた
め、処理時間を著しく短縮できるものであった。しかし
ながら、データワードを与える行列の各要素ai,jに対応
してレジスタai,jを1個づつ用意するとともに、各レジ
スタのゲートをそれぞれ独立に制御する必要があるた
め、ハードウェア量が多くなり、装置の小型化を充分に
図ることができなかった。
In the above-described long distance code error correction apparatus, by arranging the operation means in each row, the elements in each row can be transformed in parallel using one column as a processing unit, so that the processing time can be remarkably reduced. However, it is necessary to prepare one register a i, j corresponding to each element a i, j of the matrix giving the data word, and to control the gates of each register independently. As a result, the size of the apparatus cannot be sufficiently reduced.

本発明は上記事情に鑑み発明されたもので、ハードウ
ェア量が小さく、小型化可能な誤り訂正装置を提供する
ことを目的とする。
The present invention has been made in view of the above circumstances, and an object of the present invention is to provide an error correction device that has a small amount of hardware and can be reduced in size.

〔課題を解決するための手段〕[Means for solving the problem]

本発明は上記目的を達成するために、1ワードをWビ
ット構成とし、最大tワードの誤りを訂正できるロング
ディスタンスコードの復号に際して、シンドロームから
誤り位置多項式の各項の係数あるいは誤りパターンを求
めるために、t行(t+1)列の行列の各要素qi,jにデ
ータワードA(i+j-2)(但し、1≦i≦t,1≦j≦t+1,A
0〜A2t-1はシンドロームあるいは誤り位置)を設定し、
この行列を左基本変形することにより上記多項式の係数
を求めるようにしたロングディスタンスコードの誤り訂
正装置において、ビット幅(W×t),アドレス数(t
+1)からなり、かつ該(t+1)個の各アドレスと上
記行列の各列とを1:1に対応せしめたメモリを備え、行
列の各列のデータワードを列単位でメモリの対応するア
ドレス位置に書き込み/読み出しすることにより列単位
で演算処理を行うようにした。
In order to achieve the above object, the present invention has a structure in which one word is composed of W bits and a coefficient or an error pattern of each term of an error locator polynomial is obtained from a syndrome when decoding a long distance code capable of correcting a maximum of t words of error. , A data word A (i + j−2) (where 1 ≦ i ≦ t, 1 ≦ j ≦ t + 1, A) is assigned to each element q i, j of a matrix of t rows and (t + 1) columns.
0 to A 2t-1 set the syndrome or error position)
In a long distance code error correction device in which the coefficients of the above polynomial are obtained by subjecting this matrix to the left basic transformation, the bit width (W × t) and the number of addresses (t
+1), and a memory in which each of the (t + 1) addresses and each column of the matrix correspond to each other in a one-to-one correspondence. The arithmetic processing is performed on a column basis by writing / reading the data.

また、左基本変形すべき列の対角要素の値が“0"のと
きでも入れ換えを行うことなく、入れ換えのために選択
した他の行の対応する列の値をメモリから直接読み出し
て次の列の値を算出するようにした。
Also, even when the value of the diagonal element of the column to be left-reformed is “0”, the value of the corresponding column of another row selected for replacement is read directly from the memory without replacement, and the next Column values are now calculated.

〔作用〕[Action]

メモリのアドレスと行列の列とが1:1に対応している
ため、行列の各要素を構成するシンドロームなどのデー
タワードが列単位にメモリ中の対応するアドレス位置に
格納される。したがって、1個のメモリ中でt行(t+
1)列のデータワードからなる誤り位置多項式の各項の
係数あるいは誤りパターンを求めるための行列が構成さ
れる。
Since the addresses of the memory correspond to the columns of the matrix in a one-to-one correspondence, data words such as syndromes constituting each element of the matrix are stored at the corresponding address positions in the memory in column units. Therefore, t rows (t +
1) A matrix for obtaining a coefficient or an error pattern of each term of the error locator polynomial composed of data words in a column is configured.

また、メモリ中に格納された上記行列の左基本変形す
る列の対角要素の値が“0"の場合、メモリのアドレスが
列単位で構成されているために行の入れ換えができない
ので、当該対角要素を含む行の入れ換えを行うことな
く、入れ換えを行うべき他の行の列の値を読み出し、こ
の値に基づいて左基本変形による次の列の値を算出す
る。
Also, when the value of the diagonal element of the column to be left fundamentally deformed of the matrix stored in the memory is “0”, the row of the memory cannot be replaced because the address of the memory is configured in units of columns. Without exchanging the row including the diagonal element, the value of the column of another row to be exchanged is read, and the value of the next column by the left basic transformation is calculated based on this value.

〔実施例〕〔Example〕

以下、図面を参照して本発明の実施例につき説明す
る。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.

第1図は本発明の一実施例の構成を示すブロック図で
ある。図中、1は左基本変形を行うための行列の各要素
に対応するデータワードを記憶するためのランダム・ア
クセス・メモリ(以下、RAMという)、2はシンドロー
ムなどのデータワードをRAMに入力するためのラッチ用
のシフトレジスタ、3,4は左基本変形を行うためにメモ
リから取り出した列単位のデータワードをラッチするレ
ジスタ、5,6は左変形による演算用のデータワードをレ
ジスタ3,4にラッチされる列単位のデータワードの中か
ら選択するセレクタ、7は割り算器、8は乗算器、9は
加算器、10は割り算器7または加算器9の演算結果を選
択してバッファ11に送るセレクタ、11はバッファ、12は
処理動作を制御するCPUなどからなる制御回路である。
FIG. 1 is a block diagram showing the configuration of one embodiment of the present invention. In the figure, reference numeral 1 denotes a random access memory (hereinafter, referred to as RAM) for storing data words corresponding to each element of a matrix for performing a left basic transformation, and 2 inputs a data word such as a syndrome to the RAM. Shift registers for latching, 3 and 4 are registers for latching data words in column units taken out of memory to perform left basic transformation, and 5 and 6 are data words for arithmetic operation by left transformation in registers 3 and 4. A selector for selecting from the data words in column units latched in the register, 7 for a divider, 8 for a multiplier, 9 for an adder, and 10 for selecting the operation result of the divider 7 or the adder 9 to the buffer 11. A transmission selector, 11 is a buffer, and 12 is a control circuit including a CPU for controlling the processing operation.

上記データワード格納用のRAM1のアドレス構成の例を
第2図に示す。この第2図の例は、行列として前掲した
(11)式、すなわち次の(21)式 で示される4行5列の行列を格納するRAMの例であり、
行列の各要素ai,jを与える各データワードはそれぞれ8
ビット構成になり、また行列の第1列〜第5列の各列に
1:1に対応してアドレス#1〜#5が付与されている。
したがって、第2図のRAM1の総ビット数は8×4×5=
160ビットとなる。このRAM1にアドレス#1〜#5のい
ずれかを指定してアクセスすることにより、行列の各要
素ai,j位置のデータワードを列単位で読み出し/書き込
みすることができる。シフトレジスタ2は、第3図に示
すように、行列の行数tに等しい数のレジスタ21〜2t
ら構成されている。
FIG. 2 shows an example of the address configuration of the RAM 1 for storing the data words. In the example of FIG. 2, the matrix (11) given above, that is, the following equation (21) is used. Is an example of a RAM that stores a matrix of 4 rows and 5 columns indicated by
Each data word giving each element a i, j of the matrix is 8
Becomes a bit configuration, and in each of the first to fifth columns of the matrix,
Addresses # 1 to # 5 are assigned corresponding to 1: 1.
Therefore, the total bit number of RAM1 in FIG. 2 is 8 × 4 × 5 =
160 bits. By accessing the RAM 1 by designating any one of the addresses # 1 to # 5, the data word at the position of each element a i, j of the matrix can be read / written in column units. Shift register 2, as shown in FIG. 3, and a number of registers 2 1 to 2 t equal to the number of rows t matrix.

ところで、行列の左基本変形処理を行う場合、従来技
術の項で述べたように、その処理の途中で対角要素が0
となった時、0でない他の行との入れ換えを行った後、
前記(12)式によって次の列の値を求める必要がある。
しかしながら、第2図から明らかなように、本発明で
は、メモリのアドレスと行列の列とを1:1に対応させ、
対応するアドレス位置に列単位でデータワードを読み出
し/書き込みするように構成しているため、RAM内の行
同士の入れ換えを行うことが困難であり、たとえできた
としても複雑な処理を必要とする。そこで、本発明で
は、行の入れ換えを行う代わりに、以下に述べるように
入れ換える行の各値から直接次の列の値を算出するよう
にした。
By the way, when performing the left basic transformation process of the matrix, as described in the section of the related art, the diagonal element becomes 0 during the process.
, After replacing with another line that is not 0,
It is necessary to find the value of the next column by the above equation (12).
However, as is apparent from FIG. 2, in the present invention, the addresses of the memory and the columns of the matrix are made to correspond to 1: 1.
Since data words are read / written in column units at the corresponding address positions, it is difficult to exchange rows in the RAM, and even if it is possible, complicated processing is required. . Therefore, in the present invention, instead of exchanging rows, the value of the next column is calculated directly from each value of the exchanging row as described below.

すなわち、いま前記(21)式中のa1,1=0、a2,1≠0
とし、この対角要素が0である第1列目の左基本変形に
際して、入れ換え行として第2行目を選択した場合、第
1列目の左基本変形により第2列目の各行の値a1,2〜a
4,2は次の(22)式で求めることができる。
That is, a 1,1 = 0, a 2,1 ≠ 0 in the above equation (21).
When the second row is selected as a replacement row in the left basic transformation of the first column in which the diagonal element is 0, the value a of each row in the second column is selected by the left basic transformation of the first column. 1,2 to a
4,2 can be obtained by the following equation (22).

a1,2=a2,2÷a2,1×a1,1+a1,2 a2,2=a2,2÷a2,1 a3,2=a2,2÷a2,1×a3,1+a3,2 a4,2=a2,2÷a2,1×a4,1+a4,2 ……(22) この(22)式は、前述した(12)式と同一の演算結果
を与えることは当然である。
a 1,2 = a 2,2 ÷ a 2,1 × a 1,1 + a 1,2 a 2,2 = a 2,2 ÷ a 2,1 a 3,2 = a 2,2 ÷ a 2, 1 × a 3,1 + a 3,2 a 4,2 = a 2,2 ÷ a 2,1 × a 4,1 + a 4,2 ... (22) The expression (22) is obtained by the above-mentioned expression (12). Naturally, the same operation result as the expression is given.

ここで上記(22)式を一般化し、左基本変形する列が
i列目であり、このi列目の対角要素0の行と入れ換え
る行をd行目とし、このd行目の値を用いて次のj列目
の各値a1,j〜a4,jを表すとつぎの(23)式となる。
Here, the above equation (22) is generalized, and the column to be subjected to the left basic transformation is the i-th column. The row that is replaced with the row of the diagonal element 0 in the i-th column is the d-th row. The following expressions (23) are used to represent the values a 1, j to a 4, j of the next j-th column.

本発明はこの(23)式を繰り返し実行することにより
行列の左基本変形処理を実現する。
The present invention realizes the left basic transformation process of the matrix by repeatedly executing the equation (23).

進んで、第1図の実施例の動作を、誤り訂正可能ワー
ド数t=4、すなわち8つのシンドロームS0〜S7を用
い、誤り位置多項式の各項の係数σ0〜σ3を求める場合
を例にとって第4A図〜第6図のフローチャートを参照し
て説明する。なお、第4A図はシンドロームSiをRAM1に格
納するための処理動作のフローチャート、第4B図はRAM1
に格納された行列の各列の左基本変形処理を行うための
フローチャート、第4C図は左基本変形処理の終了判定を
行うためのフローチャート1である。
Proceeding to the operation of the embodiment shown in FIG. 1, the case where the number of error-correctable words t = 4, that is, the coefficients σ 0 to σ 3 of each term of the error locator polynomial are obtained using eight syndromes S 0 to S 7 Will be described with reference to the flowcharts of FIGS. 4A to 6 as an example. Incidentally, Figure 4A is a flowchart of a process operation for storing the syndromes S i in the RAM1, Figure 4B is RAM1
4C is a flowchart for performing a left basic transformation process for each column of the matrix stored in FIG. 4, and FIG. 4C is a flowchart 1 for determining the end of the left basic transformation process.

先ず、RAM1ににシンドロームS0〜S7を前記(13)式、
すなわち下記の(24)式に示すような行列状態に代入す
る処理を第4A図のフローチャートによって説明する。
First, the syndromes S 0 to S 7 are stored in the RAM 1 by the above-described formula (13).
That is, the process of substituting the matrix state as shown in the following equation (24) will be described with reference to the flowchart of FIG. 4A.

ステップ[1]においてi=0に初期セットし、ステ
ップ[2]で入力してきたシンドロームS0をシフトクロ
ックによりシフトレジスタ2に取り込む。次にステップ
[3]においてiを+1し、ステップ[4]でi≧t=
4となるまで上記ステップ[2][3]を繰り返す。こ
れにより、シフトレジスタ2には(24)式中の第1列の
4つのシンドロームS0〜S3が格納される。
Initial set to i = 0 in step [1], taking the syndrome S 0 which has been entered in step [2] by a shift clock to the shift register 2. Next, in step [3], i is incremented by 1, and in step [4], i ≧ t =
Steps [2] and [3] are repeated until the number becomes 4. Thus, the shift register 2 are four syndromes S 0 to S 3 of the first row in (24) is stored.

ステップ[5]において、RAM1中の(24)式の行列の
第1列に対応するアドレス#1(第2図参照)に上記シ
フトレジスタ2に格納した第1列のシンドロームS0〜S3
を書き込んだ後、ステップ[6]で再びシンドロームSi
をシフトレジスタ2へ入力し、ステップ[7]でiを+
1する。
In step [5], address # 1 the first column of the syndrome S 0 to S 3 stored in the (second see figure) to the shift register 2 which corresponds to the first column of matrix (24) in RAM1
After writing, again syndrome S i in step [6]
Is input to the shift register 2 and i is +
Do one.

上記処理をステップ[8]でi≧2t(=8)が検出さ
れるまで繰り返す。i=8となってステップ[1]〜
[8]の処理を終了すると、RAM1内には(24)式の行列
で示されるシンドロームS0〜S7が記憶される。
The above process is repeated until i ≧ 2t (= 8) is detected in step [8]. Steps [1] to i = 8
When the process of [8], is in the RAM1 are syndromes S 0 to S 7 represented by a matrix of (24) is stored.

次いで、RAM1に格納された行列の左基本変形が第4B図
のフローチャートに従って実行される。なお、具体的な
数値を用いて説明する方が理解を助けるものと思われる
ので、以下の説明においては、上記シンドロームS0〜S7
の値として前記(14)式と同様に、S0=0、S1=15、S2
=85、S3=115、S4=193、S5=115、S6=161、S7=231
とする。この値を上記(24)式に代入すると次のように
なる。
Next, the left basic transformation of the matrix stored in the RAM 1 is executed according to the flowchart of FIG. 4B. In addition, since it is thought that explanation using specific numerical values will help the understanding, in the following explanation, the syndromes S 0 to S 7 will be described.
S 0 = 0, S 1 = 15, S 2 as in the above equation (14).
= 85, S 3 = 115, S 4 = 193, S 5 = 115, S 6 = 161, S 7 = 231
And Substituting this value into equation (24) yields the following.

先ず、ステップ[9]においてアドレスp=1とし、
行列の第1列の左基本変形を開始する。
First, in step [9], an address p = 1 is set,
Start the left elementary transformation of the first column of the matrix.

ステップ[10]においてp=1、すなわちRAM1内の#
1アドレスのシンドローム(0,15,85,115)を読み出
し、レジスタ4に格納する。次いて、ステップ[11]の
サブルーチン(後述)において、第1列の対角要素(第
1行)が0であるか否か、さらに0の場合にはこの第1
列と入れ換えを行う行d、この例では入れ換え行として
d=2すなわち第2行目を求める。そして、この得られ
たd=2に基づいてステップ[12]において、セレクタ
5とセレクタ6はd=2行目の値をセレクトし、またセ
レクタ10はd=2行目についてはb側を、2行目以外に
ついてはa側をセレクトするように設定する。また、ス
テップ[13]で制御回路12内に設けたオールゼロ・フラ
グAZを“0"にリセットする。
In step [10], p = 1, that is, # in RAM1
The syndrome (0, 15, 85, 115) of one address is read and stored in the register 4. Then, in a subroutine (described later) of step [11], it is determined whether or not the diagonal element (first row) of the first column is 0.
A row d to be replaced with a column, in this example, d = 2, that is, the second row is determined as a replaced row. Then, in step [12], based on the obtained d = 2, the selector 5 and the selector 6 select the value of the d = 2 row, and the selector 10 sets the b side for the d = 2 row, For the lines other than the second line, the setting is made so that the a side is selected. In step [13], the all-zero flag AZ provided in the control circuit 12 is reset to "0".

ステップ[14]でiを+1し、ステップ[15]でi=
2すなわち第2列の値(15,85,115,193)を読み出して
レジスタ3に格納する。
In step [14], i is incremented by 1, and in step [15], i =
2, that is, the value (15, 85, 115, 193) in the second column is read and stored in the register 3.

ステップ[16]では、レジスタ3,4に格納された第1
行目と第2列目の値から前記(23)式の演算を割り算器
7,乗算器8,加算器9によって行ない、第1列目を左基本
変形した時の第2列目の各値a1,2〜a4,2を求める。すな
わち、 a1,2=a2,2÷a2,1×a1,1+a1,2 =85/15×0+15=15 a2,2=a2,2÷a2,1 =85/15=15 a3,2=a2,2÷a2,1×a3,1+a3,2 =85/15×85+115=115 a4,2=a2,2÷a2,1×a4,1+a4,2 =85/15×115+193=193 上記のようにして得られた第2列目の値(15,15,115,
193)をバッファ11を通じてRAM1の第2列目、すなわち
アドレス#2に書き込む。そして、ステップ[17]のサ
ブルーチン(後述)において、いままでに対角要素とな
らなかった行の“0"を検出し、対角要素とならなかった
行の値がすべて“0"であれば制御回路12内のゼロ・フラ
グZを“1"にし、ステップ[18]でiを+1とするとと
もに、オールゼロ・フラグAZのフラグをAZ=AZ+Zによ
りセットする。
In step [16], the first data stored in the registers 3 and 4
Divide the operation of equation (23) from the values in the row and the second column
7. The values a 1,2 to a 4,2 in the second column when the first column is left fundamentally deformed are calculated by the multiplier 8 and the adder 9. That is, a 1,2 = a 2,2 ÷ a 2,1 × a 1,1 + a 1,2 = 85/15 × 0 + 15 = 15 a 2,2 = a 2,2 ÷ a 2,1 = 85 / 15 = 15 a 3,2 = a 2,2 ÷ a 2,1 × a 3,1 + a 3,2 = 85/15 × 85 + 115 = 115 a 4,2 = a 2,2 ÷ a 2,1 × a 4,1 + a 4,2 = 85/15 × 115 + 193 = 193 The value of the second column (15,15,115,
193) is written into the second column of RAM1, that is, address # 2, through the buffer 11. Then, in the subroutine (described later) of step [17], “0” of a row that has not become a diagonal element is detected, and if the values of the rows that have not become a diagonal element are all “0”, The zero flag Z in the control circuit 12 is set to "1", i is set to +1 in step [18], and the flag of the all-zero flag AZ is set by AZ = AZ + Z.

上記ステップ[14]〜ステップ[18]をステップ[1
9]でi≧t+2(=6)になるまで繰り返し実行し、
i=6となった時に各列の単位行列への変換処理を終了
し、第4C図により処理の終了条件の判定を行う。
Steps [14] to [18] are replaced with step [1]
9] until i ≧ t + 2 (= 6),
When i = 6, the process of converting each column into a unit matrix is terminated, and the termination condition of the process is determined according to FIG. 4C.

すなわち、ステップ[20]において、p<t+1なら
ばステップ[21]へ移行して処理を続行し、p=t+1
ならば処理を終了する。ステップ[21]において、オー
ルゼロ・フラグAZ≠0ならばステップ[22]へ移行し、
AZ=0ならば処理を終了する。AZ≠0のときは、ステッ
プ[22]においてpを+1し、基本変形する列を右へ1
列移行した後、ステップ[10]へジャンプし、上記処理
をステップ[20]またはステップ[21]でp=t+1、
AZ=0になるまで繰り返し実行する。
That is, in step [20], if p <t + 1, the process proceeds to step [21] to continue the processing, and p = t + 1
If so, the process ends. In step [21], if the all-zero flag AZ ≠ 0, the process proceeds to step [22],
If AZ = 0, the process ends. If AZ ≠ 0, p is incremented by 1 in step [22], and the column to be fundamentally deformed is shifted to the right by 1
After shifting to the column, the process jumps to step [10], and the above processing is performed in step [20] or step [21], where p = t + 1,
Repeat until AZ = 0.

以上述べた処理が終了すると、RAM1に格納されていた
前記(25)式の行列はすべての左基本変形が終了し、各
要素は次の(26)式の通りとなる。
When the above-mentioned processing is completed, all the left basic transformations of the matrix of the above-described equation (25) stored in the RAM 1 are completed, and each element is as shown in the following equation (26).

したがって、この(26)式の5行目の各値が誤り位置
σ0〜σ3を与え、前述した従来例の場合と同様に、 が得られる。
Therefore, each value in the fifth row of the equation (26) gives an error position σ 0 to σ 3 , and as in the case of the above-described conventional example, Is obtained.

第5図は、第4B図のステップ[11]で示した、対角要
素の行dを求めるためのサブルーチンの詳細を示す。
FIG. 5 shows the details of the subroutine for obtaining the row d of the diagonal element shown in step [11] of FIG. 4B.

ステップ[30]でp=1(アドレス#1)から判定
し、p=1すなわちこれから実行される列がアドレス#
1の時はステップ[31]でC(1)〜C(t)をすべて
0にする。ここに、C(i)はi行目が対角要素となっ
たか否かを示すもので、C(i)=0はi行目がまだ対
角要素となっていないことを示す。
In step [30], it is determined from p = 1 (address # 1), and p = 1, that is, the column to be executed is address #
When it is 1, C (1) to C (t) are all set to 0 in step [31]. Here, C (i) indicates whether the i-th row is a diagonal element, and C (i) = 0 indicates that the i-th row is not yet a diagonal element.

次にステップ[32]ではi=1に初期設定し、ステッ
プ[33]においてレジスタ4に格納されているp行i列
目すなわち1行1列目(p=1,i=1)のデータをDと
置く。前記(25)式の行列の場合、D=0である。
Next, in step [32], i = 1 is initially set, and in step [33], the data of the p-th row and the i-th column, that is, the data of the first row and the first column (p = 1, i = 1) stored in the register 4 is obtained. Put D. In the case of the matrix of the equation (25), D = 0.

ステップ[34]において、D≠0で、かつC(1)=
0であるか否かが判定され、D≠0で、かつC(1)=
0のときはステップ[35]において当該要素の行をその
ときの対角要素として決定する。他方、D≠0で、かつ
(1)=0でないときにはステップ[36]でiを+1
し、ステップ[33]でi>pの時はステップ[33]へ戻
る。i<pの時は対角要素となるべき行が存在しないと
してステップ[38]で誤りを検出して処理を終了する。
In step [34], D ≠ 0 and C (1) =
0 is determined, D ≠ 0, and C (1) =
If it is 0, the row of the element is determined as the diagonal element at that time in step [35]. On the other hand, if D ≠ 0 and (1) = 0, i is incremented by 1 in step [36].
If i> p in step [33], the process returns to step [33]. When i <p, it is determined that there is no row to be a diagonal element, an error is detected in step [38], and the process is terminated.

他方、ステップ[34]で次の行i(=2)が対角要素
として用い得ること、すなわち2行1列の値D=15≠0
が判定されると、i=2行目を一行目と入れ換えるべき
対角要素の行dとして決定し、第4B図のステップ[11]
へリターンする。
On the other hand, in step [34], the next row i (= 2) can be used as a diagonal element, that is, the value D = 15 ≠ 0 of the second row and the first column
Is determined, the row i = 2 is determined as the row d of the diagonal element to be replaced with the first row, and step [11] in FIG. 4B is performed.
Return to

第6図は、第4B図のステップ[17]で示した、今まで
に対角要素とならなかった行の“0"検出を行うためのサ
ブルーチンの詳細を示す。
FIG. 6 shows details of a subroutine for detecting "0" of a row which has not become a diagonal element, which is shown in step [17] of FIG. 4B.

すなわち、ステップ[40]で検査する行iの初期値を
1、ゼロ・フラグZを1に設定し、ステップ[41]でセ
レクタ5の出力のj行目の値をDと置く。
That is, in step [40], the initial value of the row i to be inspected is set to 1 and the zero flag Z is set to 1, and in step [41], the value of the j-th row of the output of the selector 5 is set to D.

ステップ[42]でD≠0、C(j)=0を判定し、D
≠0、C(j)=0の時はステップ[43]へ、それ以外
の時はステップ[44]へ移行する。
In step [42], it is determined that D ≠ 0 and C (j) = 0,
If ≠ 0, C (j) = 0, proceed to step [43]; otherwise, proceed to step [44].

ステップ[43]では、対角要素とならなかった行で値
が0でないものがあったので、ゼロ・フラグZを0にリ
セットし、ステップ[44]でjを+1し、上記処理をス
テップ[45]でj>pとなるまで繰り返す。以上の処理
により、今までに対角要素とならなかった行の“0"検出
が行われる。
In step [43], since there was a row that did not become a diagonal element and the value was not 0, the zero flag Z was reset to 0, and j was incremented by 1 in step [44]. 45] until j> p. Through the above processing, "0" is detected for a row that has not become a diagonal element.

〔発明の効果〕〔The invention's effect〕

以上述べたように本発明によるときは、誤り位置多項
式の係数あるいは誤り位置を求めるための行列を、従来
の誤り訂正装置で用いていたt(t+1)個のレジスタ
に代えてただ1個のメモリに格納して列単位の処理を実
行するようにしたので、ハードウェア量を小さくしてこ
の種の誤り訂正装置をさらに小型化することができる。
As described above, according to the present invention, only one memory is used in place of the t (t + 1) registers used in the conventional error correction device for the matrix for obtaining the coefficients of the error position polynomial or the error position. , And the processing is executed in units of columns, so that the amount of hardware can be reduced and this type of error correction device can be further downsized.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明の1実施例の構成を示すブロック図、 第2図は第1図中のRAMのアドレス構成を示す図、 第3図は第1図のシフトレジスタの構成例を示す図、 第4A図〜第4C図は上記実施例の動作のフローチャート、 第5図は対角要素の行dを求めるためのサブルーチンの
フローチャート、 第6図は対角要素とならなかった行の“0"検出のための
サブルーチンのフローチャート、 第7図は誤り訂正装置の従来例を示すブロック図であ
る。 1…RAM、2…シフトレジスタ、3,4…レジスタ、5,6…
セレクタ、7…割り算器、8…乗算器、9…加算器、10
…セレクタ、11…バッファ、W…1ワードのビット数、
t…誤り訂正可能なワード数、qi,j…行列の各要素、A
(i+j-2)…データワード。
FIG. 1 is a block diagram showing a configuration of one embodiment of the present invention, FIG. 2 is a diagram showing an address configuration of a RAM in FIG. 1, and FIG. 3 is a diagram showing a configuration example of a shift register in FIG. 4A to 4C are flowcharts of the operation of the above embodiment, FIG. 5 is a flowchart of a subroutine for obtaining a row d of a diagonal element, and FIG. 6 is "0" of a row which is not a diagonal element. FIG. 7 is a block diagram showing a conventional example of an error correction device. 1 ... RAM, 2 ... Shift register, 3,4 ... Register, 5,6 ...
Selector, 7: Divider, 8: Multiplier, 9: Adder, 10
... selector, 11 ... buffer, W ... bit number of one word,
t: the number of words that can be corrected, q i, j ... each element of the matrix, A
(i + j-2) ... data word.

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】1ワードをWビット構成とし、最大tワー
ドの誤りを訂正できるロングディスタンスコードの復号
に際して、シンドロームから誤り位置多項式の各項の係
数あるいは誤りパターンを求めるために、t行(t+
1)列の行列の各要素qi,jにデータワードA
(i+j-2)(但し、1≦i≦t,1≦j≦t+1,A0〜A2t-1
シンドロームあるいは誤りの位置)を設定し、この行列
を左基本変形することにより上記多項式の係数を求める
ようにしたロングディスタンスコードの誤り訂正装置に
おいて、 ビット幅(W×t),アドレス数(t+1)からなり、
かつ該(t+1)個の各アドレスと上記行列の各列とを
1:1に対応せしめたメモリを備え、 行列の各列のデータワードを列単位でメモリの対応する
アドレス位置に書き込み/読み出しすることにより列単
位で演算処理を行うようにしたことを特徴とするロング
ディスタンスコードの誤り訂正装置。
When decoding a long-distance code capable of correcting an error of up to t words in one word having a W-bit structure, t rows (t + t) are used to obtain a coefficient or an error pattern of each term of an error locator polynomial from a syndrome.
1) A data word A is assigned to each element q i, j of the column matrix.
(i + j-2) (where, 1 ≦ i ≦ t, 1 ≦ j ≦ t + 1, A 0 ~A 2t-1 position of the syndrome or the error) above by setting a left base deforming the matrix In an error correction device for a long distance code in which a coefficient of a polynomial is obtained, a bit width (W × t) and the number of addresses (t + 1) are used.
And (t + 1) addresses and each column of the matrix
It has a memory corresponding to 1: 1 and is characterized in that arithmetic processing is performed on a column basis by writing / reading data words of each column of the matrix to corresponding address positions of the memory on a column basis. Long distance code error correction device.
【請求項2】左基本変形すべき列の対角要素の値が“0"
のときでも行の入れ換えを行わず、入れ換えのために選
択した他の行の対応する列の値をメモリから直接読み出
して次の列の値を算出するようにしたことを特徴とする
請求項(1)記載のロングディスタンスコードの誤り訂
正装置。
2. The value of the diagonal element of the column to be left-basis-deformed is "0"
In this case, the row is not replaced, and the value of the corresponding column of another row selected for replacement is read directly from the memory to calculate the value of the next column. 1) An error correcting device for a long distance code as described above.
JP21844388A 1988-09-02 1988-09-02 Error correction device for long distance codes Expired - Lifetime JP2718478B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21844388A JP2718478B2 (en) 1988-09-02 1988-09-02 Error correction device for long distance codes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21844388A JP2718478B2 (en) 1988-09-02 1988-09-02 Error correction device for long distance codes

Publications (2)

Publication Number Publication Date
JPH0267826A JPH0267826A (en) 1990-03-07
JP2718478B2 true JP2718478B2 (en) 1998-02-25

Family

ID=16719995

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21844388A Expired - Lifetime JP2718478B2 (en) 1988-09-02 1988-09-02 Error correction device for long distance codes

Country Status (1)

Country Link
JP (1) JP2718478B2 (en)

Also Published As

Publication number Publication date
JPH0267826A (en) 1990-03-07

Similar Documents

Publication Publication Date Title
US5631914A (en) Error correcting apparatus
EP0387924B1 (en) Method and apparatus for decoding error correction code
US5170399A (en) Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack
US4833678A (en) Hard-wired serial Galois field decoder
US4694455A (en) Decoding method for multiple bit error correction BCH codes
US5805617A (en) Apparatus for computing error correction syndromes
US6772385B2 (en) Error-correcting device and decoder enabling fast error correction with reduced circuit scale
JPH10112659A (en) Error correction decoding device
US6802040B1 (en) Error correction device
US6738947B1 (en) Method and apparatus for error correction
JP2718478B2 (en) Error correction device for long distance codes
EP0991196B1 (en) Method of correcting lost data and circuit thereof
US20060168495A1 (en) Computation of cyclic redundancy check
JP2718481B2 (en) Error correction device for long distance codes
JP2662472B2 (en) Syndrome operation circuit for error correction processing
EP0584864B1 (en) A hardware-efficient method and device for encoding BCH codes and in particular Reed-Solomon codes
JP2622383B2 (en) Error correction device for long distance codes
JPH09305572A (en) Method and device for dividing galois field
JP2907138B2 (en) Error correction arithmetic processing method and processing circuit
US5200961A (en) Error detection and/or correction device
US20240184532A1 (en) Arithmetic circuitry, memory system, and control method
AU608690B2 (en) Method and apparatus for decoding error correction code
JP2622957B2 (en) Coding and decoding method of BCH code
JPH01158826A (en) Error correction system for long distance code
JP2774513B2 (en) Error correction device

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071114

Year of fee payment: 10

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081114

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 11

Free format text: PAYMENT UNTIL: 20081114