JPH01158826A - Error correction system for long distance code - Google Patents

Error correction system for long distance code

Info

Publication number
JPH01158826A
JPH01158826A JP31601187A JP31601187A JPH01158826A JP H01158826 A JPH01158826 A JP H01158826A JP 31601187 A JP31601187 A JP 31601187A JP 31601187 A JP31601187 A JP 31601187A JP H01158826 A JPH01158826 A JP H01158826A
Authority
JP
Japan
Prior art keywords
error
matrix
row
long distance
equation
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.)
Pending
Application number
JP31601187A
Other languages
Japanese (ja)
Inventor
Yuichi Kadokawa
雄一 門川
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 JP31601187A priority Critical patent/JPH01158826A/en
Publication of JPH01158826A publication Critical patent/JPH01158826A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To decode a long distance code at a high speed and to obtain an error correction system suitable for the hardware by applying the left basic transformation to a prescribed matrix so as to transform it into an upper triangle matrix thereby obtaining a coefficient of an error location polynomial. CONSTITUTION:In the decoding of a long distance code, a data word A(i+j-2) [1<=i<=p, 1<=j<=p+1, A0-A2p-1 are syndrome or error location] is set to each element q1, j of a matrix in p-row and (p+1) column to obtain a coefficient of each term or an error pattern of an error location polynomial. Then the left basic transformation is applied to the matrix to transform it into an upper triangle matrix thereby obtaining the coefficient of the error location polynomial. Since number of times of arithmetic operations is reduced, the processing is quickened without imposing excess load to an arithmetic unit.

Description

【発明の詳細な説明】[Detailed description of the invention]

〔技術分野〕 BCH符号、リードソロモン符号などの誤り訂正符号を
用い、255ワードなどの多数のワードをブロックとし
てこのブロックに含まれる多数ワードの誤り訂正を行う
データの符号化、復号化が光ディスクなどの記録・再生
あるいはデータ伝送などに使用されている。 本発明は、このような1つの訂正系列で多数の誤り訂正
が可能な符号(ロングディスタンスコード)を高速で復
号するとともに誤り訂正を行うための誤り訂正方式を提
供することを目的とする。 〔従来技術〕 BCH符号あるいはリードソロモン符号などによって多
数ワードの誤りを訂正するためには受信データからシン
ドロームを生成して誤り位置多項式の係数を求める必要
がある。 すなわち、この誤り位置多項式は、誤り位置に対応する
値を根として持つ多項式であり、誤り位置多項式の各項
の係数を求めることによって誤りの生じたデータの位置
を算出することができる。 従来このような誤り位置多項式の係数を求める方式とし
てピーターソン、バーレカンプ・マツシイ、ユークリッ
ド互除法などが知られているが、ハードウェアによって
構成しようとするとそのハードウェアの量が大きいため
に実用化に適したハードを得ることが困難であり、また
、ソフトウェアによって処理を行なうには判断が難しく
処理速度に問題が生じる。 本出願人は、このような問題を解決するため、ロングデ
ィスタンスコードを高速で復号するとともにハード化に
適したロングディスタンスコードにおける誤り訂正方式
および装置を、先に「ロングディスタンスコードの誤り
訂正方式および誤り訂正装置」と題する発明として昭和
62年4月24日に出願したく特願昭62−10016
9号)。 この先出願の発明においては、ロングディスタンスコー
ドの復号に際して、シンドロームから誤り位置多項式の
各項の係数あるいは誤りパターンを求めるために、9行
(p+1)列の行列の各要素Q1.j にデータワード
A(1゜J−2)  C但し、1≦i≦p11≦J≦p
+1、A0〜A2p−1はシンドロームあるいは誤り位
置〕を設定し、この行列を左基本変形して単位行列とす
ることにより、上記多項式の係数を求めることを開示し
た。 〔目 的〕 本発明は、上記の先出願に記載した誤り訂正方式よりさ
らにロングディスタンスコードを高速で復号することが
でき、またハード化に適したロングディスタンスコード
の誤り訂正方式を提供することを目的とする。 〔構 成〕 本発明の構成について、それぞれが8ビツトで構成され
る255ワードからなるブロックの、4ワード訂正可能
な、256元ガロア体GF (28”)のリードソロモ
ン符号に適用した実施例に基づいて説明する。 リードソロモン符号の復号は、次の5つのステップによ
って行われる。 (1)受信データからシンドロームを求める。 (2)  このシンドロームから誤り位置多項式を求め
る。 (3)この誤り位置多項式から誤り位置を求める。 (4)誤り位置から誤りパターンを求める。 (5)誤り位置と誤りパターンとによって誤り訂正を行
う。 本発明においては、上記(2)のシンドロームからの誤
り位置多項式の算出、および(4)の誤り位置から誤り
パターンの算出の双方を同一の処理方法によって高速で
求められる復号方式を提供する。 以下の実施例における演算(+で示す加算、×で示す乗
算および÷または/で示す除算)はいずれもモデュロ2
の演算であって、 119にテーブルを参照することに
よって実行されるものである。 誤りを含んだ受信データの各語の値をrO−r254と
すると、受信データR(X)  は次の(1)式で与え
られる。 R(X) = r(、x254+ rl x2S3+十
r253  X ’  + r 254       
”””””(1)この受信データから生成されるシンド
ローム81〜S7はこの(1)式のXにα0.α1. 
  α7をそれぞれ代入した次式のものである。 So ”R(α’ ) = ro + r 1 +−−
−+ r2s+ 十S、 =R(α’ ) −r。ex
” +r、 a2S” 十+ r 2ss  U ’ 
 + r 2S4S2−R(α2)−r。α254°2
+r1α253°2十    +r253 α1°2 
十r254S7  =R(α7)  −ro  a”7
+r、  a253.7+−””’−r 253  α
1°’+r2s<誤り位置多項式σ(×)は次の(3)
式のように定義される。 (7(X) = (X+V1 )  (X十V2 ) 
 (x+V3 )(x+V4 ) =X’ +(73x3 +62 X2+σ、 X+60
ここでV1〜V4は誤り位置、すなわち誤りのあるワー
ド位置を示すもので、(1)式のXのべき乗の値に対応
しており、−船釣にはテーブルを参照することにより1
0進表現によるワード位置が求められるものであって、
このテーブルを参照することによって、V=1のときは
α0−1で最下位のr25.の項、V=4のときはα2
=4でr 252の項のようになる。 なお、この実施例では、So”−37の8種のシンドロ
ームを用いており、4つの誤り位置と4つの誤りパター
ンとを表す8つの未知数は、この8種のシンドロームを
用いて演算することによって算出できるものであるが、
誤りパターンを先に求めると同一の値、すなわち同一の
誤りパターンがあった場合に誤り位置を算出できなくな
る恐れがあるので、誤り位置を先に求めるのが一般的で
ある。 また、この誤り位置は255のワードの位置を示すもの
であるから0〜255(2進8桁)の値であり、誤りパ
ターンは1ワード8ビツト内の誤りのパターンとして“
00000001 ”から“11111111”の25
5通りであり、誤りの存在が検出されたワードにこのパ
ターンを加算することによって誤りが訂正される。 誤り位置多項式である(3)式の各係数σ0〜σ3の値
とシンドローム5o=37との間には次の(4)式のよ
うな関係が成り立つ。 この(4)式の右辺を左辺に移項して行列の形を変える
と次の(5)式になる。 この(5)式の両辺に、ある行列Aを左から乗じて次の
(6)式のように変形すると、σ0〜σ3は(7)で示
すように求められる。 O σ3”b415 σ2=b314Xσ3+b3,5 σ1°b2+3xσ2 +k)2.4×σ3+b2.s
σO=b++2XσI +bI+ 3×σ2+b、、、
Xσ3 +b +、 s      (7)このような
変形を行うと、前述した先出願においては40回の乗除
算が必要であったのに対し、本発明においては36回の
乗除算で演算が終了するので、処理効率を10%向上す
ることができ、したがって処理速度もこれに相当する割
合で短縮される。 この左基本変形をSo”−37の値がそれぞれ0゜15
.85 、115 、193 、115 、161およ
び231の場合を例に採って具体的に説明する。 (5)式の左辺第1項は次の(8)式で表される。 この式(8)を(6)式の形に変形する第1段階として
その第1列が(6)式の左辺第1項の第1列のになるよ
うに変形を行う。 (8)式の第1列第1行の値が0であるから、第1列が
0でない行と置き換えるために、第2行と第1行とを入
れ換えると次の(9)式になる。 次に第1列第1行の値15を1にするために、第1行の
各列の値をこの15で割るモデュロ2の演算を行うと次
の(10)式になる。 次に、第3および第4行目の第1列の値を0にするため
に、第3行目については第1行の値を85倍してからこ
の第3行目の各位にモデュロ2の加算を、また第4行目
については第1行の値を115倍してからこの第3行目
の各位にモデュロ2の加算を行うことによって次の(1
1)式を得る。 次に、上記式(8)を(6)式の形に変形する第2段階
としてその第2列か になるような処理を行う。 ここで、Xは任意の数である。 第2列第2行の値が15であるから、第2列目をその第
2行の値15でモデュロ2の除算を行うことによって下
記の(12)式が得られる。 次いでこの第2列の第3行および第4行の値を0にする
ために、第2行目の値を87倍して第3行目とモデュロ
2の加算を、またこの第2行目の値を58倍して第4行
目とモデュロ2の加算を行うことによって下記の(13
)式を得る。 に変形するため、第3列の値がOである第3行を第4行
とを入れ換えて、 とし、第3行目を第3列第3行の値101でモデュロ2
の除算を行うことによって下記の(15)式を得る。 次に、第4列を にするために、第4行をその第4列の101でモデュロ
2の除算を行うと下記(16)式が得られる。 これによって、σ3〜σ。の値は(7)式について説明
したように、 σ3= b4.s =15 σ2”b314Xσ3 +b3.s = O+54=5
4σ+ =b2+3 ×σ2+b214Xσ3+b2,
5=15x54+ 107x15+36=120σ0:
bl、2×σl +bl+ 3 ×σ2十す、、4Xσ
3+bl、5 =15x 120+ 107x54+36x15+10
7=64として順次求めることができる。 この(17)式をチェノのアルゴリズムなどによって解
いてその根を求めると誤り位置を検出することができ、
この(17)式の場合には、x=1.2.4.8(18
) となるから、前述のように(1)式のr2s4  ! 
r2s3  !r2s□の項およびr251 の項に誤
りがあることになる。 以上のようにして誤り位置が検出されたので、次に誤り
パターン、すなわち正しいデータのパターンを検出する
手法について説明する。 誤り位置V1の誤りパターンがYl、誤り位置V2の誤
りパターンがY2のように、誤り位置V1、V2、V3
、V4がそれぞれ誤りパターンY1、¥2、Y3、Y4
に対応するものとする。 このとき、誤りパターンY1〜¥4、誤り位置V1〜V
4およびシンドロームS、−s3との間には次の関係が
成り立つ。 この(19)式の右辺を、先に(4)式から(5)式に
変換したと同様に左辺に移項して行列の形を変えると次
の(20)式になる。 この(20)式の左辺の左側の行列に上記誤り位置とし
てV1=1、V2−2、V3=4、V4−8.5o=0
.51=15.52=85.53=115をそれぞれ代
入し、先に(8)式ないしく15)式で説明したと同様
の変形を行うことによって誤りパターンが求められ、そ
の結果は次の(21)式に示すようになる。 Yl =1 ¥3=1 Y、−1(21) これによって、誤りパターンはいずれも1であることが
検出されるので、誤りがある1、2.4.8番目のワー
ドについてパターン1の訂正を行えばよい。 なお、この誤りパターンYの値は、その誤りパターンを
10進数で表しており、上記パターン1は、”0000
0001”を誤り位置のワードにモデュロ2で加算すれ
ばよい。 以上に説明した4ワード訂正を一般的にtワード訂正に
拡張した場合の誤り位置多項式を求める演算手順を第1
図のフローチャートに示す。 このフローチャートにおいて、5o−82t−1はシン
ドロームを、またa12.は次の(30)式で示す行列
の各要素を示す。 ・・・・・・(30) 同図(a)は前記(5)式の左辺第1項ののシンドロー
ム5o−37の値を各要素al、Jに代入する処理を示
すもので、ステップ〔1〕でこの行列の左上の要素a1
,1を指定し、ステップ〔2〕でこの要素に(i+j−
2)を添字として持つシンドローム、すなわち(i+j
−2) = (1+1−2)=Oを添字とするシンドロ
ームSoを代入し、ステップ〔3〕で同一行の次の列の
要素a1.2を指定して〔4〕のステップで行の要素数
、ここでは5、を超えないことを確認してからステップ
〔2〕に戻ってこの要素al+2にシンドロームS1を
代入し、以下〔4〕のステップでこの行の要素への代入
が終了したことを識別するまで同様に82〜S4を人力
する。 この行の代入が終了したときにはステップ〔4〕での判
断の結果がyとなるので、〔5〕のステップで行を第2
行目に移して要素a2,1 からa2,5まで上記と同
様に代入を行い、a22.の代入が済むと第3行目の代
入に移り以下同様に5行4列のすべての要素に上記(3
0)式のシンドロームのmを代入する。この代入がすべ
て終了して各要素の値に(8)式の数値が代入された■
における行列は下記(32)式に示すものである。 l151931151612311   (32)なお
、ステップ〔2〕において設定されるSの添字(i十j
−2)は、(31)式で明らかなように、斜めの線上の
要素に同一のシンドロームが代入されることに対応する
ものである。 同図(b)は1列目を[1000Eにするために、先ず
上記(32)式の第1行と第2行とを入れ替えて前記の
(9)式に対応する下記の(33)式への変形を行うフ
ローチャートを示すものである。 この第1図ら)のステップ〔7〕においては、列番号P
を1にし、ステップ〔8〕で行番号も列番号と等しい1
にして要素al、lを指定し、
[Technical field] Encoding and decoding of data that uses error correction codes such as BCH codes and Reed-Solomon codes to correct errors in a large number of words, such as 255 words, as a block, on optical discs, etc. It is used for recording/playback and data transmission. An object of the present invention is to provide an error correction method for decoding such a code (long distance code) capable of correcting a large number of errors with one correction sequence at high speed and performing error correction. [Prior Art] In order to correct errors in multiple words using a BCH code or a Reed-Solomon code, it is necessary to generate a syndrome from received data and find the coefficients of an error locator polynomial. That is, this error locator polynomial is a polynomial having a value corresponding to the error position as a root, and by finding the coefficient of each term of the error locator polynomial, the position of the data in which the error has occurred can be calculated. Conventionally, Peterson, Berlekamp-Matsey, and Euclidean mutual division methods have been known as methods for determining the coefficients of such error locator polynomials. It is difficult to obtain suitable hardware, and when processing is performed by software, it is difficult to judge and there are problems with processing speed. In order to solve such problems, the present applicant previously proposed an error correction method and device for long distance codes that can decode long distance codes at high speed and is suitable for hardening. Patent Application No. 10016, filed on April 24, 1988, entitled "Error Correction Device"
No. 9). In the invention of this earlier application, when decoding a long distance code, each element Q1 . j to data word A (1°J-2) C, where 1≦i≦p11≦J≦p
+1, A0 to A2p-1 are syndromes or error positions], and the coefficients of the polynomial are determined by left-fundamental transformation of this matrix to form a unit matrix. [Purpose] The present invention aims to provide an error correction method for long distance codes that can decode long distance codes at higher speed than the error correction method described in the earlier application and is suitable for implementation in hardware. purpose. [Configuration] An example of the configuration of the present invention applied to a Reed-Solomon code of 256-element Galois field GF (28”), which is capable of 4-word correction and has a block of 255 words each consisting of 8 bits. Decoding of a Reed-Solomon code is performed through the following five steps: (1) Find a syndrome from the received data. (2) Find an error locator polynomial from this syndrome. (3) Find this error locator polynomial. (4) Find the error pattern from the error position. (5) Perform error correction using the error position and error pattern. In the present invention, the error location polynomial is calculated from the syndrome in (2) above. , and (4) calculation of the error pattern from the error position at high speed using the same processing method. All divisions (denoted by /) are modulo 2.
This calculation is executed by referring to the table in step 119. Assuming that the value of each word of the received data containing an error is rO-r254, the received data R(X) is given by the following equation (1). R(X) = r(, x254+ rl x2S3+ten r253 X' + r 254
``''''''''(1) The syndromes 81 to S7 generated from this received data are α0.α1.
These are the following equations in which α7 is substituted for each. So ”R(α') = ro + r 1 +--
−+ r2s+ 10S, =R(α') −r. ex
"+r, a2S" 10+r 2ss U'
+ r 2S4S2-R(α2)-r. α254°2
+r1α253°20 +r253 α1°2
10r254S7 =R(α7) −ro a”7
+r, a253.7+-""'-r 253 α
1°'+r2s<error locator polynomial σ(×) is as follows (3)
It is defined as Eq. (7(X) = (X+V1) (X0V2)
(x+V3)(x+V4) =X' +(73x3 +62 X2+σ, X+60
Here, V1 to V4 indicate the error position, that is, the word position with an error, and correspond to the value of the power of X in equation (1).
The word position in 0-decimal representation is required,
By referring to this table, when V=1, the lowest r25. term, α2 when V=4
= 4, it becomes like the term r 252. In this example, 8 types of syndromes of So''-37 are used, and the 8 unknowns representing 4 error positions and 4 error patterns are calculated by using these 8 types of syndromes. Although it can be calculated,
If the error pattern is determined first, the error position may not be calculated if there is the same value, that is, the same error pattern, so it is common to determine the error position first. Also, since this error position indicates the position of 255 words, it is a value from 0 to 255 (8 binary digits), and the error pattern is the error pattern within 8 bits of one word.
25 from “00000001” to “11111111”
There are five patterns, and errors are corrected by adding this pattern to the word in which the presence of an error has been detected. A relationship such as the following equation (4) holds between the values of the coefficients σ0 to σ3 of equation (3), which is the error locator polynomial, and the syndrome 5o=37. If the right side of equation (4) is shifted to the left side and the form of the matrix is changed, the following equation (5) is obtained. When both sides of this equation (5) are multiplied by a certain matrix A from the left and transformed into the following equation (6), σ0 to σ3 are obtained as shown in (7). O σ3”b415 σ2=b314Xσ3+b3,5 σ1°b2+3xσ2 +k)2.4×σ3+b2.s
σO=b++2XσI +bI+ 3×σ2+b,,,
Xσ3 +b +, s (7) When such a transformation is performed, the calculation is completed with 36 multiplications and divisions in the present invention, whereas 40 multiplications and divisions were required in the earlier application mentioned above. Therefore, the processing efficiency can be improved by 10%, and the processing speed can therefore be reduced by a corresponding proportion. The value of this left basic deformation is 0°15 respectively.
.. The cases of 85, 115, 193, 115, 161 and 231 will be specifically explained as examples. The first term on the left side of equation (5) is expressed by equation (8) below. The first step of transforming equation (8) into equation (6) is to transform the equation so that its first column becomes the first column of the first term on the left side of equation (6). Since the value in the first column and first row of equation (8) is 0, in order to replace the row in which the first column is not 0, swapping the second row and the first row results in the following equation (9). . Next, in order to set the value 15 in the first column and first row to 1, a modulo 2 calculation is performed to divide the values in each column of the first row by this 15, resulting in the following equation (10). Next, in order to set the value in the first column of the third and fourth rows to 0, for the third row, multiply the value in the first row by 85, and then add modulo 2 to each position in this third row. For the fourth row, multiply the value in the first row by 115, and then add modulo 2 to each position in the third row to obtain the following (1
1) Obtain the formula. Next, as a second step of transforming the above equation (8) into the form of equation (6), processing is performed to make the second column. Here, X is an arbitrary number. Since the value in the second column and second row is 15, the following equation (12) is obtained by dividing the second column by the value 15 in the second row, modulo 2. Next, in order to set the values in the third and fourth rows of this second column to 0, multiply the values in the second row by 87, add the third row and modulo 2, and By multiplying the value by 58 and adding the fourth line and modulo 2, the following
) to obtain the formula. In order to transform it into
By performing the division, the following equation (15) is obtained. Next, in order to obtain the fourth column, the fourth row is divided by modulo 2 by 101 of the fourth column, and the following equation (16) is obtained. With this, σ3~σ. As explained in equation (7), the value of σ3=b4. s = 15 σ2”b314Xσ3 +b3.s = O+54=5
4σ+ =b2+3 ×σ2+b214Xσ3+b2,
5=15x54+ 107x15+36=120σ0:
bl, 2×σl +bl+ 3×σ2+, 4Xσ
3+bl, 5 = 15x 120+ 107x54+36x15+10
It can be obtained sequentially as 7=64. If you solve this equation (17) using Cheno's algorithm and find its root, you can detect the error position.
In the case of this equation (17), x=1.2.4.8(18
), so as mentioned above, r2s4 ! in equation (1).
r2s3! There is an error in the term r2s□ and the term r251. Now that the error position has been detected as described above, a method for detecting an error pattern, that is, a correct data pattern will be described next. The error pattern at error position V1 is Yl, the error pattern at error position V2 is Y2, and so on, error positions V1, V2, V3
, V4 are error patterns Y1, ¥2, Y3, Y4, respectively.
shall correspond to At this time, error patterns Y1 to ¥4, error positions V1 to V
4 and syndromes S and -s3, the following relationship holds true. If the right-hand side of this equation (19) is transferred to the left-hand side and the matrix form is changed in the same way as the conversion from equation (4) to equation (5), the following equation (20) is obtained. In the left matrix of the left side of this equation (20), the above error positions are V1=1, V2-2, V3=4, V4-8.5o=0
.. The error pattern is obtained by substituting 51=15.52=85.53=115 and performing the same transformation as explained in equations (8) to 15), and the result is the following ( 21) It becomes as shown in the formula. Yl = 1 ¥3 = 1 Y, -1 (21) This detects that all error patterns are 1, so correct pattern 1 for the 1st, 2.4.8th word with an error. All you have to do is Note that the value of this error pattern Y represents the error pattern in decimal notation, and the above pattern 1 is "0000".
0001'' to the word at the error location modulo 2.
This is shown in the flowchart in Figure. In this flowchart, 5o-82t-1 has the syndrome and a12. represents each element of the matrix expressed by the following equation (30). (30) Figure (a) shows the process of assigning the value of syndrome 5o-37 of the first term on the left side of equation (5) to each element al, J. 1], the upper left element a1 of this matrix
, 1, and in step [2] add (i+j-
2) as a subscript, i.e. (i+j
-2) = (1+1-2) = Substitute the syndrome So with O as the subscript, specify the element a1.2 of the next column in the same row in step [3], and set the element in the row in step [4]. After confirming that the number does not exceed 5 in this case, return to step [2] and assign syndrome S1 to this element al+2, and in the following step [4], the assignment to the elements in this row is completed. Similarly, steps 82 to S4 are performed manually until . When the assignment of this row is completed, the result of the judgment in step [4] will be y, so in step [5]
Move to line 1 and substitute elements a2,1 to a2,5 in the same way as above, and a22. After completing the assignment, move to the third row and repeat the above (3) for all elements in the 5th row and 4th column.
0) Substitute m of the syndrome in equation. When all of this assignment is complete, the value of formula (8) has been assigned to the value of each element.■
The matrix in is shown in equation (32) below. l151931151612311 (32) Note that the subscript of S (i + j
-2) corresponds to the fact that the same syndrome is assigned to the elements on the diagonal line, as is clear from equation (31). In the same figure (b), in order to set the first column to [1000E, first, the first and second rows of the above equation (32) are swapped, and the following equation (33) corresponding to the above equation (9) is obtained. This figure shows a flowchart for performing the transformation. In step [7] of Fig. 1, etc., the column number P
Set to 1, and in step [8] set the row number to 1, which is equal to the column number.
and specify the elements al and l,

〔9〕のステップでこの
要素の値を見てその値が0であればステップ〔10〕に
おいて行番号に1を加え、ステップ〔11〕における行
番号の識別によって行列の最下行に至るまでの範囲内で
第1列目の要素の値が0でない行を捜す。 第1列目の要素の値がOでない行が見つかればステップ
〔12〕に移り1行番号が初期値P=1以外であれば、
すなわち第1行第1列の値がOであれば、ステップ〔1
3〕において要素の列番号を示す添字を1にして第1行
に移す行の第1列の要素を指定してから、行の入れ換え
を行うために〔14〕のステップにおいて一時的に1ワ
一ド分の記憶容量を有する退避用のレジスタdにal、
1の要素の値を移してその後に上記ステップ
Check the value of this element in step [9], and if the value is 0, add 1 to the row number in step [10], and identify the row number in step [11] to calculate the number of rows up to the bottom row of the matrix. Search for rows within the range where the value of the element in the first column is not 0. If a row is found where the value of the element in the first column is not O, the process moves to step [12], and if the first row number is other than the initial value P=1,
In other words, if the value in the first row and first column is O, step [1
3], specify the element in the first column of the row to be moved to the first row by setting the subscript indicating the column number of the element to 1, and then temporarily set one word in step [14] to swap the rows. al in the save register d, which has a storage capacity of one card;
Move the value of element 1 and then perform the above steps

〔9〕〜〔
11〕で検出された行番号LPを有する入れ換えるべき
行の第1列の要素aLP、jを代入し、その後退避用レ
ジスタdに退避しておいた要素a21.の値をa51.
jに移す。 この処理をステップ〔15〕において処理する列/ 3 番号を増やしながら最後の列まで行うことによって上記
(33)式の配列を有する■の状態に至るが、第1行の
第1列の要素a18.の1直がもともと(33)式のよ
うに0でなければ入れ換えを行う必要がないのでステッ
プ〔12〕から直接のの状態に移ることができる。 第1図(C)のステップ〔17〕〜〔20〕は、上記(
33)式の第1行第1列の要素の値を1とするためにこ
の行の第2列目以降の各要素をこの第1行第1列の要素
の値で割る処理を行うもので、(34)式としてここに
可撓する前記の(10)式に示すように変形するフロー
である。 ステップ〔17〕は第2列目の要素を指定するために、
列を示す添字を行番号Pに1を加え、ステップ〔18〕
ではこれら要素第1行第1列の要素の値で除算を行い、
〔19〕〜〔20〕のステップによってこの行の各要素
についての処理が終了するまで繰り返すことによって、
上記(34)式の状態が得られる。 次のステップ〔21〕ではステップ〔17〕〜〔20〕
が終了して前記の(16)式に相当する下記の(35)
式が得られたときにこの第1図(C)のフローチャート
で示されたステップを■から脱出するためのステップで
ある。 次のステップ〔22〕では、前記の(10)式から(1
1)式、あるいは(12)式から(13)式への変形を
行うために行番号および列番号に1を加えている。 次のステップ〔23〕の処理は、所要の値にすべき行P
の同一列の要素の値に自己の属する行のP列目の値を乗
算して当該要素自身の値を加算するものであり、これを
〔24〕、〔25〕のステップによって行の終わりまで
処理し、これが終了するとステップ〔26〕、〔27〕
によって次の行の処理を行う。 次のステップ〔28〕においては、次の列を所定の値、
例えば第2列目を[0100Eとする処理を行うために
列の番号に1を加えて未処理の行が残っている期間中前
記ステップ〔8〕に戻す。 また、■は誤りが少ない場合などで、前記ステップ〔1
1〕において既に処理が不必要になった場合のルートを
示している。 このようにしてすべての処理が終了したステップ〔30
〕の前段において得られた行列は先に(35)式として
示したが、ここに再掲する。 次のステップ〔30〕〜〔40〕は係数σを求めるだめ
の前記(7)式で示した演算処理を行うものであり、こ
の(7)式をり36)式としてここに再掲する。 σ3”b415 σ2−b11.4Xσ3+b3,3 σ 1  : b 2. り  × σ2   + b
2.4   X  σ3  +b 2. 5σ。=b、
、2xσ、十す、、3xσ2+b、、4xσ3+b+、
s     (36)ステップ〔30〕では演算によっ
て求めるべき係数σ、すなわち左辺のσの添字を設定し
ている。 次のステップ〔31〕においては、上記(36)式の各
式の右辺の最も右の項にdを代入し、ステップ〔32〕
では、K=3. P=5であるσ3が求められて処理が
終了したときにステップ〔37〕にとぶための判断を行
い、その結果によって次のステップ〔33〕に移る。 ステップ〔33〕では上記(36)式の右辺のσの添字
を設定しており、ステップ〔34〕ではして指定される
σとレジスタaK+l+Lの値を乗算して上記のdに加
算した値を再びdに代入している。 ステップ〔35〕では、Lに1を加算してその結果をス
テップ〔36〕でチエツクし、Lが(P−2)と等しけ
れば処理を終了し、等しくなければ上記ステップ[34
〕、  [35)の処理を繰返えして行う。 ステップ〔37〕ではσ、がdの変数として既に算出さ
れているので、dをσ。に代入する。 ステップ〔38〕ではKを1だけ減らしてσの添字が正
、若しくは0であるときにはσの算出が終了していない
ので、上記ステップ〔31〕〜〔37〕の処理を繰返え
す。 ステップ〔40〕では、誤り位置多項式の定義によって
σP−1に1を代入して処理を完了する。 第2図ないし第4図はそれぞれ本発明による誤り訂正方
式を実行するための装置の構成を示すものである。 第2図は従来の誤り訂正装置におけると同様な構成を用
いたもので、バス30にCPU31、RAM32、RO
M33および■10ポート34がそれぞれ接続されてお
り、CPU31はROM33が格納しているプログラム
およびテーブルなどを読出してRAM32にストアし、
このプロゲラムおよびテーブルに基づいてモデュロ2の
演算を含む処理を行うものであり、受信したデータワー
ドから得られたシンドロームは第1のI10ポート34
から人力され、上記CPU31によって処理されて誤り
位置および誤りパターンがこの■/○ポート34からそ
れぞれ出力されて、復号したデータワードの訂正に用い
られる。 この第3図の構成においては、モデュロ2の演算をCP
Uにおいて処理するものであるため、その演算時間が長
くなって処理速度が低いという欠点がある。 第3図は上記欠点を解決した本発明の実施例を示すもの
で、バス40にCPU41、RAM42、ROM43お
よびI10ポート44がそれぞれ接続され、さらに本発
明によってモデュロ2の乗算器451、モデュロ2の除
算器452を含むものとして示したモデュロ2の演算処
理部45が設けられており、第1図のフローチャートに
おけるステップ〔14〕、〔18〕および〔23〕など
のCPUでは処理困難なモデュロ2の演算をこの演算処
理部45で行わせることによって処理速度を向上させる
ことができる。 第4図は第1図に示したフローチアートの演算処理を主
として転送によって行うようにした装置を示すもので、
ステップ〔18〕の除算を行うための除算部54、ステ
ップ〔23〕の処理を行うための乗算および加算を行う
演算部55およびステップ〔14〕でのデータワードの
入れ換えを行うために必要な退避用レジスタ56がバス
50に接続されており、このバスにはRAM52、■/
○ポート53とともに、CPUを含み主としてデータの
転送制御を行うための転送制御部51が接続されている
。 この実施例の除算部54および演算部55は第3図の演
算処理部45に相当するものであり、退避用レジスタ5
6はラッチ5611.5612および3状態バツフア5
621.5622からなる2組の記憶手段を備えており
、入れ換えるべき2つのデータワードをそれぞれのラッ
チ5611.5612にストアしてから順次読出すこと
によってデータワードの入れ換えを行うものである。 以上に説明した本発明の誤り訂正方式の実施例は、対角
要素をすべて1となるように上三角行列への変形を行っ
たものであるが、この対角要素がすべて1である必要は
なく、第2行第1列目、第3行第1.第2列目および第
4行第1列目ないし第3列目のような対角要素の下方の
要素がすべて0であれば、それぞれ異なるO以外の任意
の数であってもよい。 このような処理を行う第2の実施例を以下に説明する。 前述の(4)および(5)式に対応する式を次の(40
)。 (41)式に示す。 σ3 =1/Ca、 4 X (C4,s)σ2 =1
/C3,3X (C3,4Xσs +C3,s)σ+ 
 =1/C2,2×(C2,3×σ2 +C214Xσ
3+C2,S) σ。−1/C+、 + X (C+、 2  Xσl 
 +c、、 3 ×σ2+C,,4Xσ3+C1,5) この左基本変形処理を前記(8)式と同様に、S。 〜S7の値がそれぞれ0,15,85,115゜193
115.161および231の場合を例に採った(42
)式によって具体的に説明する。 この(42)式を変形する第1段階としてその第1列を になるように変形を行う。 ここで、xlは0以外の任意の値である。 (42)式の第1列第1行の値がOであるから、第1列
が0でない行と置き換えるために、第2行と第1行とを
入れ換えると次の(43)式になる。 次に第1列の第2行以下の値を0にするため、第1行の
各列の値に85/15を乗算して第3行目の対応する各
列の値”に加え、また、第1行の各列の値に11571
5を乗算して第4行目の対応する各列の値に加えると、
上記行列は次の(44)式のように変形される。 次に、上記式(44)式の第2列か になるような処理を行う。 ここで、x2はxlと同様に、0以外の任意の値である
。 第2列第2行の値が15でOではないから、第(43)
式から(44)式への変形と同様に、第2行の各列の値
に87/15を乗算して第3行目の対応する各列の値に
加え、また、第1行の各列の値に58/15を乗算して
第4行目の対応する各列の値に加えることによって、上
記(44)式の行列は次の(45)式のように変形され
る。 次に、上記式の第3列目を に変形するため、第3列の値がOである第3行を第4行
とを入れ換え、上記の変形と同様に、第3行の各列の値
に0/101を乗算して第4行目の対応する各列の値に
加えることによって、上記(45)式の行列は次の(4
6)式のように変形される。 なお、x3はX、、X2と同様に、0以外の任意の値で
ある。 次に、第(41)式で示した演算を行うことによって、
σ3〜σ。が次のように求められる。 σ3 =1/C4,4X (C4,s) = 1/10
1 X41=1+σ2 ”1/C3,3X (C3,4
Xσ3 +C3,S)= 1/l0IX(0,X15+
97) = 54σl  =1/C2,2X (C2,
3Xσ2 +C214Xσ3+C2,5) 一1/15x(58x54+ 115x15+193)
=120 σ。−1/C+、 + x (C+、 2 Xσ、+C
,,3Xσ2+C,,4Xσ3 +C+、5) =1/15X(58X 120+115X54+ 19
3X15+115) =64 なお、当然のことながら、このようにして求めたσ0〜
σ3の値は、第1の実施例で求めたσ。 〜σ3の値に一致している。 また、この第2の実施例では、前記(40)式の対角要
素自、1、C2,2、C3,3およびC41,を1にす
るための演算は不必要であるが、上記のσを算出する際
にこれら対角要素の値で除算する必要があるので、演算
の回数からみれば第1の実施例と同一である。 第5図(a)〜(d)はこの第2の実施例の処理を示す
フローチャートであって、同図(a)、 (b)は第1
図の(a)、 (b)と同一の処理を行うものであるか
ら説明を省略する。 第5図(C)のフローチャートの始めの■で示した状態
においては、前述の(42)式に示す行列が処理装置の
メモリ上に生成され、これを(50)式として下記に可
撓する。 第5図(C)のフローチャートは第1図(C)のフロー
チャートに相当するが、第1図(C)のステップ〔17
〕〜〔20〕に相当するステップはなく、ステップ〔1
01:I 、  [102)および[: 104)〜[
: 108〕はそれぞれ第1図(C)のステップ[:2
1:]、  [22:]および〔23〕〜〔27〕に相
当している。 ステップC103:]では前記(43)式から(44)
式に変形するときの乗数85/15および115/15
を算出しており、次のステップC104〕では第1図(
C)のステップ〔23〕では al+ J ”” al+ J +aP+J Xar−
pの演算を行っていたが、このal、、に代えてステッ
プ(103〕で求めたdを用いて ai、、 =attj十ap、、 x(1の演算を行う
点で、第1図(C)のステップ〔23〕と相違している
。 第5図(d)は第1図(d)に対応するフローチャート
であって、第5図でのステップ[109)〜[: 12
1]は第1図(d)のステップ〔28〕〜〔40〕に相
当しているが、ステップ〔118〕におけるσ、=dと
いう代入に代えて、σイーd/ ax、x という代入
を行っている点で相違している。 以上の説明はGF (28>上のリードソロモン符号に
ついてのものであるが、本発明はガロア体あるいはガロ
ア体の大きさによって制限を受けるものではなく、また
、訂正符号としてb−隣接符号などのリード・ソロモン
符号以外の符号を用いた場合にも適用できることは明ら
かであろう。 〔効 果〕 本発明によれば、行列式の解を直接的な演算によって求
めるものではなく、行列式の変形とこの行列を構成する
データワードについての演算とによって解を得る点では
前述の先出願と同一であるが、演算回数がこの先出願よ
りさらに減少するので演算装置に過大な負担をかけるこ
ともなく、処理をさらに迅速化することができるという
格別の効果を達成できる。
[9] ~ [
The element aLP,j in the first column of the row to be replaced with the row number LP detected in [11] is substituted, and the element a21.j is saved in the save register d. The value of a51.
Move to j. By repeating this process in step [15] while incrementing the number of columns/3 to be processed up to the last column, the state of ■ having the arrangement of formula (33) is reached, but the element a18 in the first column of the first row .. If the 1st shift of is originally not 0 as in equation (33), there is no need to replace it, so we can move directly from step [12] to the state of . Steps [17] to [20] in FIG. 1(C) are performed as described above (
33) In order to set the value of the element in the first row and first column of the formula to 1, each element from the second column onwards in this row is divided by the value of the element in the first row and first column. , (34) is a flow that is modified as shown in the above-mentioned equation (10). Step [17] is to specify the second column element,
Add 1 to the subscript indicating the column to the row number P, and step [18]
Then, divide by the value of the element in the first row and first column of these elements,
By repeating steps [19] to [20] until the processing for each element in this row is completed,
The state of equation (34) above is obtained. In the next step [21], steps [17] to [20]
is completed and the following (35), which corresponds to the above equation (16), is obtained.
When the formula is obtained, the steps shown in the flowchart of FIG. 1(C) are steps for escaping from ■. In the next step [22], from the above equation (10), (1
In order to transform equation 1) or equation (12) into equation (13), 1 is added to the row number and column number. The next step [23] is the row P that should be set to the required value.
The value of the element in the same column is multiplied by the value of the Pth column of the row to which it belongs, and the value of the element itself is added, and this is repeated until the end of the row by steps [24] and [25]. After processing, step [26], [27]
The next line is processed by In the next step [28], the next column is set to a predetermined value,
For example, in order to perform the process of setting the second column to [0100E, 1 is added to the column number and the process returns to step [8] while unprocessed rows remain. In addition, ■ is a case where there are few errors, etc., and the above step [1]
1] shows the route when the process is already unnecessary. Step 30 where all processing is completed in this way
The matrix obtained in the previous stage of ] was previously shown as equation (35), and is shown here again. The next steps [30] to [40] are for performing the arithmetic processing shown in equation (7) above to obtain the coefficient σ, and this equation (7) is recited here as equation 36). σ3”b415 σ2−b11.4Xσ3+b3,3 σ 1 : b 2. ri × σ2 + b
2.4 X σ3 +b 2. 5σ. =b,
, 2xσ, tensu, , 3xσ2+b, , 4xσ3+b+,
s (36) In step [30], the coefficient σ to be calculated by calculation, that is, the subscript of σ on the left side is set. In the next step [31], d is substituted into the rightmost term on the right side of each equation (36) above, and in step [32]
Then, K=3. When σ3 with P=5 is obtained and the process is completed, a decision is made to jump to step [37], and depending on the result, the process moves to the next step [33]. Step [33] sets the subscript of σ on the right side of equation (36) above, and step [34] multiplies σ specified by and the value of register aK+l+L and adds the value to d above. It is assigned to d again. In step [35], 1 is added to L and the result is checked in step [36]. If L is equal to (P-2), the process is terminated, and if not, in step [34]
] and [35) are repeated. In step [37], σ has already been calculated as a variable of d, so d is set to σ. Assign to . In step [38], when K is decreased by 1 and the subscript of σ is positive or 0, the calculation of σ has not been completed, so the processes of steps [31] to [37] are repeated. In step [40], 1 is substituted for σP-1 according to the definition of the error locator polynomial, and the process is completed. FIGS. 2 to 4 each show the configuration of an apparatus for implementing the error correction method according to the present invention. FIG. 2 uses a configuration similar to that of a conventional error correction device, in which a bus 30 includes a CPU 31, a RAM 32, an RO
M33 and ■10 port 34 are respectively connected, and the CPU 31 reads programs and tables stored in the ROM 33 and stores them in the RAM 32.
Processing including modulo 2 calculation is performed based on this program and table, and the syndrome obtained from the received data word is sent to the first I10 port 34.
The error position and error pattern are inputted manually from the CPU 31 and output from the ■/○ ports 34, respectively, and are used to correct the decoded data word. In the configuration shown in FIG. 3, the calculation of modulo 2 is performed using CP
Since the processing is performed in U, there is a drawback that the calculation time is long and the processing speed is low. FIG. 3 shows an embodiment of the present invention that solves the above-mentioned drawbacks, in which a CPU 41, a RAM 42, a ROM 43, and an I10 port 44 are connected to the bus 40, and furthermore, according to the present invention, a modulo 2 multiplier 451, a modulo 2 multiplier 451, A modulo 2 arithmetic processing unit 45 shown as including a divider 452 is provided, and the modulo 2 arithmetic processing unit 45, which is shown as including a divider 452, is provided, and performs steps [14], [18], and [23] in the flow chart of FIG. By having the calculation processing section 45 perform calculations, the processing speed can be improved. FIG. 4 shows an apparatus in which the arithmetic processing of the flowchart shown in FIG. 1 is mainly performed by transfer.
A division unit 54 for performing the division in step [18], an arithmetic unit 55 for multiplication and addition for performing the processing in step [23], and a saving necessary for exchanging data words in step [14]. A register 56 is connected to the bus 50, and this bus includes a RAM 52,
○A transfer control unit 51 including a CPU and mainly for controlling data transfer is connected together with the port 53. The division unit 54 and calculation unit 55 in this embodiment correspond to the calculation processing unit 45 in FIG.
6 is the latch 5611, 5612 and the 3-state buffer 5
The data words are exchanged by storing two data words to be exchanged in the respective latches 5611 and 5612 and sequentially reading them out. In the embodiment of the error correction method of the present invention described above, the matrix is transformed into an upper triangular matrix so that all the diagonal elements are 1, but it is not necessary that all the diagonal elements are 1. 2nd row, 1st column, 3rd row, 1st row. As long as the elements below the diagonal elements, such as the second column and the fourth row, first column to third column, are all 0, they may be any numbers other than O, which are different from each other. A second embodiment that performs such processing will be described below. The equations corresponding to the above equations (4) and (5) can be expressed as the following (40
). It is shown in equation (41). σ3 = 1/Ca, 4 X (C4, s) σ2 = 1
/C3,3X (C3,4Xσs +C3,s)σ+
=1/C2,2×(C2,3×σ2 +C214Xσ
3+C2,S) σ. -1/C+, + X (C+, 2 Xσl
+c,, 3 x σ2 + C, 4 ~S7 values are respectively 0, 15, 85, 115°193
The cases of 115.161 and 231 were taken as examples (42
) will be specifically explained using the formula. As a first step in transforming this equation (42), its first column is transformed so that it becomes. Here, xl is any value other than 0. Since the value in the first column and first row of equation (42) is O, in order to replace the row in which the first column is not 0, the second row and the first row are swapped, resulting in the following equation (43). . Next, in order to set the values in the second row and below of the first column to 0, multiply the values in each column in the first row by 85/15 and add them to the values in the corresponding columns in the third row, and , 11571 for each column value of the first row
Multiplying by 5 and adding it to each corresponding column value in the 4th row gives us
The above matrix is transformed as shown in equation (44) below. Next, processing is performed such that the second column of the above equation (44) is obtained. Here, x2 is any value other than 0, similar to xl. Since the value in the second column and second row is 15, which is not O, the number (43)
Similar to the transformation from formula to formula (44), the values in each column of the second row are multiplied by 87/15 and added to the values in the corresponding columns of the third row, and each value in the first row is By multiplying the column value by 58/15 and adding it to the corresponding column value of the fourth row, the matrix of the above equation (44) is transformed as shown in the following equation (45). Next, in order to transform the third column of the above formula into By multiplying the values by 0/101 and adding them to the values in the corresponding columns of the fourth row, the matrix of equation (45) above becomes the following (4
6) It is transformed as shown in Eq. Note that x3 is any value other than 0, similar to X, , X2. Next, by performing the calculation shown in equation (41),
σ3~σ. is calculated as follows. σ3 = 1/C4,4X (C4,s) = 1/10
1 X41=1+σ2 ”1/C3,3X (C3,4
Xσ3 +C3,S)=1/l0IX(0,X15+
97) = 54σl = 1/C2, 2X (C2,
3Xσ2 +C214Xσ3+C2,5) -1/15x (58x54+ 115x15+193)
=120 σ. -1/C+, + x (C+, 2 Xσ, +C
,,3Xσ2+C,,4Xσ3 +C+,5) =1/15X(58X 120+115X54+ 19
3X15+115) =64 Naturally, σ0~ obtained in this way
The value of σ3 is σ determined in the first example. It matches the value of ~σ3. In addition, in this second embodiment, the calculation for setting the diagonal elements 1, C2, 2, C3, 3, and C41 of the equation (40) to 1 is unnecessary, but the above σ Since it is necessary to divide by the values of these diagonal elements when calculating , this is the same as the first embodiment in terms of the number of calculations. FIGS. 5(a) to 5(d) are flowcharts showing the processing of this second embodiment, and FIGS.
Since the processing is the same as that shown in (a) and (b) of the figure, the explanation will be omitted. In the state indicated by ■ at the beginning of the flowchart in FIG. 5(C), the matrix shown in equation (42) above is generated on the memory of the processing device, and this is flexible as equation (50) as shown below. . The flowchart in FIG. 5(C) corresponds to the flowchart in FIG. 1(C), but step [17] in FIG.
] to [20], there is no step corresponding to step [1
01:I, [102) and [: 104) ~ [
: 108] are the steps [: 2
1:], [22:] and [23] to [27]. In step C103:], from the above equation (43), (44)
Multipliers 85/15 and 115/15 when transforming into Eq.
is calculated, and in the next step C104], Fig. 1 (
In step [23] of C), al+ J ”” al+ J +aP+J Xar-
The calculation of p was performed, but instead of this al, , d obtained in step (103) is used to calculate ai,, = attj ten ap,, x (1). It is different from step [23] in C). Fig. 5(d) is a flowchart corresponding to Fig. 1(d), and steps [109) to [: 12] in Fig. 5 are different from step [23] in Fig. 5(d).
1] corresponds to steps [28] to [40] in Fig. 1(d), but instead of the assignment σ, = d in step [118], the assignment σ id / ax, x is made. They differ in what they do. Although the above explanation is about the Reed-Solomon code on GF (28>, the present invention is not limited by the Galois field or the size of the Galois field, and also uses b-adjacent codes etc. as correction codes. It is obvious that the present invention can be applied to cases where codes other than Reed-Solomon codes are used. [Effects] According to the present invention, the solution to the determinant is not obtained by direct calculation, but by deformation of the determinant. The present invention is the same as the earlier application mentioned above in that a solution is obtained by calculating the data words constituting the matrix, but since the number of calculations is further reduced than in this earlier application, there is no need to place an excessive burden on the arithmetic unit. The special effect of further speeding up the processing can be achieved.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の誤り訂正方式により誤り位置多項式の
係数を求める実施例についてのフローチャート、 第2図ないし第4図は本発明の誤り訂正方式が適用され
る誤り訂正装置の実施例、 第5図は本発明の誤り訂正方式により誤り位置多項式の
係数を求める他の実施例についてのフローチャートであ
る。 特許出願人      株式会社 リコー] フローj−e−ト 第1図 (b) (C) ブロー斤4−) 第1図 (d) ブロー谷−ト 第1図 ブローチイード 第5図 (b) 第5図 (d) ブローチイーY 第5図
FIG. 1 is a flowchart of an embodiment for calculating the coefficients of an error locator polynomial using the error correction method of the present invention; FIGS. 2 to 4 are embodiments of an error correction device to which the error correction method of the present invention is applied; FIG. 5 is a flowchart of another embodiment of calculating the coefficients of the error locator polynomial using the error correction method of the present invention. Patent Applicant Ricoh Co., Ltd.] Flow jet Figure 1 (b) (C) Blow loaf 4-) Figure 1 (d) Blow valley Figure 1 Broach feed Figure 5 (b) 5 Figure (d) Broochie Y Figure 5

Claims (4)

【特許請求の範囲】[Claims] (1)ロングディスタンスコードの復号に際して、シン
ドロームから誤り位置多項式の各項の係数あるいは誤り
パターンを求めるために、 p行(p+1)列の行列の各要素q_i_、_jにデー
タワードA_(_i_+_j_−_2_)〔但し、1≦
i≦p、1≦j≦p+1、A_0〜A_2_p_−_1
はシンドロームあるいは誤り位置〕を設定し、 この行列を左基本変形を行って上三角行列に変形するこ
とにより、上記多項式の係数を求めることを特徴とする
ロングディスタンスコードにおける誤り訂正方式。
(1) When decoding a long distance code, in order to obtain the coefficients or error patterns of each term of the error locator polynomial from the syndrome, data words A_(_i_+_j_-_2_ ) [However, 1≦
i≦p, 1≦j≦p+1, A_0 to A_2_p_-_1
An error correction method in a long distance code, characterized in that the coefficients of the polynomial are determined by setting a syndrome or an error position] and performing left fundamental transformation on this matrix to transform it into an upper triangular matrix.
(2)ロングディスタンスコードの復号に際して、ロン
グディスタンスコードにより訂正可能な最大の数をを超
えないn個の誤りの場合に、シンドロームから誤り位置
多項式の各項の係数を求めるために、 上記pを誤りの数nとしたn行(n+1)列の行列の各
要素a_i_、_jのデータワードとしてシンドローム
S_(_i_+_j_−_2_)をそれぞれ設定し、こ
の行列を左基本変形を行って上三角行列に変形すること
により、誤り位置多項式の係数を求めることを特徴とす
る特許請求の範囲第1項記載のロングディスタンスコー
ドにおける誤り訂正方式。
(2) When decoding a long distance code, in the case of n errors that do not exceed the maximum number that can be corrected by the long distance code, use the above p to calculate the coefficient of each term of the error locator polynomial from the syndrome. Set the syndrome S_(_i_+_j_-_2_) as the data word for each element a_i_, _j of a matrix of n rows and (n+1) columns, where the number of errors is n, and transform this matrix into an upper triangular matrix by performing left fundamental transformation. 2. The error correction method in a long distance code according to claim 1, wherein the coefficients of the error locator polynomial are determined by calculating the error position polynomial.
(3)ロングディスタンスコードの復号に際して、誤り
位置とシンドロームとによってそれぞれの誤り位置に対
応した誤りパターンを求めるために、 上記pをnとしたn行(n+1)列の行列の、要素a_
i_、_jのデータワードとしてV_i^j^−^1〔
但し、1≦i≦n、1≦j≦n、V_1〜Vnは誤り位
置〕を、また、要素a_i_、_n_+_1のデータワ
ードとしてシンドロームS_i_−_1をそれぞれ設定
し、この行列を左基本変形を行って上三角行列に変形す
ることことにより、それぞれの誤りパターンを求めるこ
とを特徴とする特許請求の範囲第1項記載のロングディ
スタンスコードにおける誤り訂正方式。
(3) When decoding a long distance code, in order to find an error pattern corresponding to each error position using the error position and syndrome, element a_ of the n rows and (n+1) matrix where p is n
V_i^j^−^1 [
However, 1≦i≦n, 1≦j≦n, V_1 to Vn are error positions], and the syndrome S_i_−_1 is set as the data word of elements a_i_, _n_+_1, respectively, and this matrix is subjected to left fundamental transformation. 2. The error correction method in a long distance code according to claim 1, wherein each error pattern is obtained by transforming the matrix into an upper triangular matrix.
(4)演算を要する要素の数が少ないときには、すべて
の要素のデータワードが0である行および列を追加する
ことによって、要素の配列を変更することなく同一の処
理を行い得るようにしたことを特徴とする特許請求の範
囲第1項記載のロングディスタンスコードにおける誤り
訂正方式。
(4) When the number of elements that require calculation is small, by adding rows and columns in which the data words of all elements are 0, the same processing can be performed without changing the arrangement of elements. An error correction system in a long distance code according to claim 1, characterized in that:
JP31601187A 1987-12-16 1987-12-16 Error correction system for long distance code Pending JPH01158826A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31601187A JPH01158826A (en) 1987-12-16 1987-12-16 Error correction system for long distance code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31601187A JPH01158826A (en) 1987-12-16 1987-12-16 Error correction system for long distance code

Publications (1)

Publication Number Publication Date
JPH01158826A true JPH01158826A (en) 1989-06-21

Family

ID=18072255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31601187A Pending JPH01158826A (en) 1987-12-16 1987-12-16 Error correction system for long distance code

Country Status (1)

Country Link
JP (1) JPH01158826A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011251145A (en) * 1999-09-13 2011-12-15 Visionscope Technologies Llc Miniature endoscope system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59123945A (en) * 1982-12-29 1984-07-17 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン Numerous byte error correction system
JPS59124011A (en) * 1982-12-29 1984-07-18 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン Numerous byte error correction system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59123945A (en) * 1982-12-29 1984-07-17 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン Numerous byte error correction system
JPS59124011A (en) * 1982-12-29 1984-07-18 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン Numerous byte error correction system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011251145A (en) * 1999-09-13 2011-12-15 Visionscope Technologies Llc Miniature endoscope system

Similar Documents

Publication Publication Date Title
EP0426657B1 (en) Method and apparatus for decoding error correction code
US5170399A (en) Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack
US4567594A (en) Reed-Solomon error detecting and correcting system employing pipelined processors
US4099160A (en) Error location apparatus and methods
EP0155038B1 (en) Fast decoder for reed-solomon codes which can also be used as an encoder, and recording/playback apparatus comprising such an encoder/decoder
US20060179400A1 (en) Delta syndrome based iterative Reed-Solomon product code decoder
US5805617A (en) Apparatus for computing error correction syndromes
US5983389A (en) Error correction decoding apparatus
US4841300A (en) Error correction encoder/decoder
JP3245119B2 (en) Reed-Solomon decoder employing new polynomial array structure and decoding method thereof
JP3502583B2 (en) Error correction method and error correction device
JPS632370B2 (en)
EP0991196B1 (en) Method of correcting lost data and circuit thereof
JPH01158826A (en) Error correction system for long distance code
JP2662472B2 (en) Syndrome operation circuit for error correction processing
JP3850512B2 (en) Reed-Solomon decoder
JP2907138B2 (en) Error correction arithmetic processing method and processing circuit
JP2718481B2 (en) Error correction device for long distance codes
JPH10322226A (en) Reed solomon decoding method
JPH09305572A (en) Method and device for dividing galois field
JP2718478B2 (en) Error correction device for long distance codes
JP2622957B2 (en) Coding and decoding method of BCH code
JPH01276825A (en) Error correcting and decoding circuit
JP2008112522A (en) Device and method for detecting error
JP2611721B2 (en) Erasure location polynomial multiplication circuit