JPH0267826A - Error correcting device for long distance code - Google Patents

Error correcting device for long distance code

Info

Publication number
JPH0267826A
JPH0267826A JP21844388A JP21844388A JPH0267826A JP H0267826 A JPH0267826 A JP H0267826A JP 21844388 A JP21844388 A JP 21844388A JP 21844388 A JP21844388 A JP 21844388A JP H0267826 A JPH0267826 A JP H0267826A
Authority
JP
Japan
Prior art keywords
column
matrix
error
row
memory
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.)
Granted
Application number
JP21844388A
Other languages
Japanese (ja)
Other versions
JP2718478B2 (en
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 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)

Abstract

PURPOSE:To reduce the amount of hardware and to miniaturize a device by storing a matrix, which is used to obtain coefficients of an error position polynomial or the error position, not in t(t+1) pieces of registers but in one memory and executing the processing with a column as the unit. CONSTITUTION:This device consists of a random access memory(RAM) 1, a shift register 2, registers 3 and 4, selectors 5 and 6, a divider 7, a multiplier 8, an adder 9, a selector 10, a buffer 11, and a control circuit 12. When one word consists of W-number of bits and the long distance code where error of a maximum of t-number of words can be corrected is decoded, a matrix which is used to obtain coefficients of respective terms of the error position polynomial consisting of data words in t-number or rows and (t+1) pieces of columns or an error pattern is constituted in one memory 1, and the operation processing is performed with a column as the unit. Thus, the error correcting device which has a small amount of hardware and can be miniaturized is obtained.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 BCH符号やリード・ソロモン符号などの誤り訂正符号
を用い、多数のワードを1ブロツクとしてこのブロック
内に含まれる多数ワードの誤りを訂正できる高い訂正能
力を持った符号が光ディスクやデータ伝送などで使用さ
れている。
[Detailed Description of the Invention] [Industrial Application Field] Using an error correction code such as a BCH code or a Reed-Solomon code, a large number of words are treated as one block, and errors in a large number of words contained in this block can be corrected. Codes with correction capabilities are used in optical discs and data transmission.

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

〔従来の技術〕[Conventional technology]

BCH符号やリード・ソロモン符号などによって多数ワ
ードの誤りを訂正するためには、受信データからシンド
ロームを生成して誤り位置多項式の係数を求める必要が
ある。
In order to correct multiple word errors using BCH codes, Reed-Solomon codes, etc., it is necessary to generate syndromes from received data and find coefficients of error locator polynomials.

すなわち、この誤り位置多項式は誤り位置に対応する値
を根として持つ多項式であり、誤り位置多項式の各項の
係数を求めることによって誤りの生じたデータ位置を算
出することができる。
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 data position where the error has occurred can be calculated.

従来、このような誤り位置多項式の係数を求める方式と
して、ビーターソン、バーレカンブ・マツシイ、ユーク
リッドの互除法などが知られているが、いずれの方式も
、ハードウェアによって回路を実現しようとするとハー
ドウェア量が大きいために小型化に向かなかったり、ま
たソフトウェアによって実現しようとすると処理速度が
遅くなるなどの問題を生じていた。
Conventionally, Beaterson, Berlecumbe-Matsey, and Euclid's mutual division methods are known as methods for determining the coefficients of such error locator polynomials. Due to the large amount of data, it is not suitable for miniaturization, and attempts to implement it using software have resulted in problems such as slow processing speed.

本出願人は上記問題を解決するために、特願昭62−1
00169号において、行列の各要素にシンドロームま
たは誤り位置を示すデータワードを設定し、この行列を
左基本変形することにより誤り位置多項式の各項の係数
あるいは誤りパターンを求めるようにしたロングディス
タンスコードの誤り訂正方式とその装置を出願した。そ
して、これをさらに改良して一層の高速化を図った誤り
訂正装置を特願昭62−195240号により出願した
。第7図は、この特願昭62−195240号により出
願したロングディスタンスコードの誤り訂正装置の構成
を示す。
In order to solve the above-mentioned problem, the present applicant applied for patent application No. 62-1
In No. 00169, a data word indicating a syndrome or an error position is set in each element of a matrix, and the coefficient or error pattern of each term of an error position polynomial is obtained by left fundamental transformation of this matrix. An application was filed for the error correction method and its device. Then, he filed an application for an error correction device that was further improved to achieve even higher speeds in Japanese Patent Application No. 195240/1983. FIG. 7 shows the configuration of a long distance code error correction device filed in Japanese Patent Application No. 195240/1982.

以下、第7図に示す装置の原理と動作につき、1ワード
が8ビツト構成で、かつ255ワードを1ブロツクとす
る4ワード訂正(t=4)可能なガロア体OF (2’
 )上のリード・ソロモン符号を例に採って説明する。
The principle and operation of the device shown in FIG. 7 will be explained below with a Galois field OF (2'
) will be explained using the above Reed-Solomon code as an example.

なお、以下における加減乗除の計算はすべてmod 2
の演算に基づく。
Note that all calculations of addition, subtraction, multiplication, and division below are performed using mod 2
Based on the calculation of

いま誤りを含んだ受信データの各語の値をr0〜r2,
4とすると、受信データR(x)は次の(1)弐で与え
られる。
The value of each word of the received data containing an error is r0 to r2,
4, the received data R(x) is given by the following (1) 2.

R(x)=ro x”’ +r1 x”3+−+r z
sz  X ’  + r 254 −・・−(1)こ
の受信データから生成されるシンドロームS。
R(x)=ro x"' +r1 x"3+-+r z
sz X' + r 254 -...- (1) Syndrome S generated from this received data.

〜S、°はこの(1)式のXにα’  、 (r’  
、”・、 α7をそれぞれ代入した次の式で与えられる
~S, ° is α', (r'
, ”・, and α7 are respectively substituted in the following equation.

So =R((Xl)) =ro + rl +・・’
+ r2!13 +S I   =R(α ’   )
   =ro   (X 2s’   +r、   (
X””   十−十r zss α’+rzs4 S2 =R(α”  )=ro  cx”’°2  +
 、 、  α253−2+−+ r 2S、  α−
・”+rzsa十・・・十r2,3α”’+r、、4 −・−−−−−−−(2) 他方、誤位置多項式σ(x)は次の式によって定義され
る。
So = R ((Xl)) = ro + rl +...'
+r2!13 +S I =R(α')
=ro (X 2s' +r, (
X"" 10-10r zss α'+rzs4 S2 =R(α")=ro cx"'°2 +
, , α253-2+-+ r 2S, α-
・"+rzsa 10...10r2,3α"'+r, 4 -・------(2) On the other hand, the mislocation polynomial σ(x) is defined by the following equation.

(F(X)= (x+V+ )(x十Vz )(X+V
3 )(X十V4) =X4+σ x3+σ x2+σlx+σ0・・−−−
−−一・−(3) ここにv1〜■4は誤り位置、すなわち誤りのあるワー
ド位置を示すものである。
(F(X)= (x+V+)(x10Vz)(X+V
3) (X1V4) =X4+σ x3+σ x2+σlx+σ0・・---
--1.-(3) Here, v1 to v4 indicate the error position, that is, the word position where the error occurs.

誤り位置多項式を与える(3)式の各係数σ。〜σ3と
シンドローム30〜S、との間には下記(4)式の関係
が成り立つ。
Each coefficient σ of equation (3) giving the error location polynomial. The following relationship (4) holds between ~σ3 and syndrome 30~S.

S?  =R((r’  )  = r o  (X”
”’  + r 1  αts3−1−−−−・−−−
−−(4) この(4)式の右辺を左辺に移項して行列の形を変える
と、次の(5)弐となる。
S? =R((r') = r o (X"
”' + r 1 αts3-1−−−−・−−−
--(4) If we change the form of the matrix by moving the right-hand side of this equation (4) to the left-hand side, we get the following (5) 2.

式として求められる。It can be found as a formula.

σo  ”’a。σo  ”’a.

σ 18 a 1 σ2 “ a2 σ3=a3           −・−・・・−・(
7)他方、誤りパターンY1〜Y4とシンドローム50
〜S7との間には次関係が成立する。
σ 18 a 1 σ2 “ a2 σ3=a3 −・−・・・−・(
7) On the other hand, error patterns Y1 to Y4 and syndrome 50
The following relationship holds true between S7 and S7.

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

・−・−・・−・(8) ここに■、〜■4は上記係数σ。〜σ、に基づいて(3
)式から得られる誤り位置である。
・−・−・・−・(8) Here, ■ and ~■4 are the above coefficients σ. Based on ~σ, (3
) is the error position obtained from the equation.

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

この(6)式より(3)式の係数σ。〜σ3は下記の(
7)左基本変形により求めることができる。
From this equation (6), the coefficient σ of equation (3). ~σ3 is the following (
7) It can be obtained by left fundamental transformation.

ここで、前記(5)式および(9)式中の左辺4行5列
の行列を一般式で表すと次の(11)式で表される。
Here, when the matrix of 4 rows and 5 columns on the left side in the above equations (5) and (9) is expressed as a general equation, it is expressed as the following equation (11).

・(9) この(9)式を前記(6)弐と同様に左基本変形すると
次のようになる。
・(9) When this equation (9) is subjected to left basic transformation in the same way as in (6) 2 above, it becomes as follows.

0ω式から明らかなように、誤りパターンY、〜Y4も
係数σ。〜σ3と同様に与えられた行列の−・−・−・
・−θD この00弐において、左基本変形により第1列目の対角
要素a、、1を°“1”に、また1列目の他の要素a2
+I  e aj+l  * aa□を“0′°に変形
する処理を行うとき、この変形後の第2列目の各要素a
l+2  p a2,2   * a:l+1   +
 84+2 ’の値はそれぞれ次のようにして求められ
る。
As is clear from the 0ω equation, the error patterns Y, ~Y4 also have a coefficient σ. ~・−・−・ of the given matrix similarly to σ3
・-θD In this 002, the diagonal elements a, , 1 in the first column are changed to °“1” by the left basic transformation, and the other elements a2 in the first column
+I e aj+l * When processing to transform aa□ to "0'°, each element a in the second column after this transformation
l+2 p a2,2 * a:l+1 +
The values of 84+2' are obtained as follows.

” l、2 ’ −a L+Z÷al+1a 2+ Z
  ””’ a l+ 2÷a+、+ Xa!+、+a
z。
"l, 2' -a L+Z÷al+1a 2+ Z
””' a l+ 2÷a+, + Xa! +, +a
z.

a  3* 2     ””  a  l+ Z  
÷ a+++   Xa  3++   + ai+z
aa、z  =a+、z  ’ a+、+ ×34+1
 +−a、z・−・−−−−−aり 第7図に示した誤り訂正装置は、以上の原理に基づき、
(11)式で与えられる行列を左基本変形することによ
り誤り位置多項式の各項の係数あるいは誤りパターン求
めるようにしたものであって、01)式で与えられる行
列の各要素a、9、(i=1.・・・、4、j=1.・
・・、5)に対応する20個のデータワードを格納する
4行5列20個のレジスタa81、からなる行列記憶部
71、各列毎に2個づつ設けたバッファレジスタR,,
R2からなるデータワード入換部72.021弐の演算
処理を行う演算処理部73、行の入れ換え制御などを行
う“′0“検出部40から構成されている。
a 3* 2 ”” a l+ Z
÷ a+++ Xa 3++ + ai+z
aa, z = a+, z' a+, + ×34+1
Based on the above principle, the error correction device shown in FIG.
The coefficients or error patterns of each term of the error locator polynomial are obtained by left fundamental transformation of the matrix given by equation (11), and each element a, 9, ( i=1...., 4, j=1..
. . , a matrix storage unit 71 consisting of 20 registers a81 in 4 rows and 5 columns for storing 20 data words corresponding to 5), a buffer register R provided for each column with two buffer registers,
It is composed of an arithmetic processing section 73 that performs arithmetic processing on the data word interchange section 72.0212 consisting of R2, and a "'0" detection section 40 that performs row interchange control.

第7図の動作を誤り位置多項式の各項の係数σ。The operation of FIG. 7 is performed using the coefficient σ of each term of the error locator polynomial.

〜σ3を求める場合を例に採って説明する。This will be explained by taking as an example the case where σ3 is calculated.

シンドローム80〜S、が与えられると、先ず行列記憶
部71の各レジスタai、Jの入力ゲートAを制御し、
各シンドローム80〜S、を行列の各要素a、1、に対
応するレジスタa!5、にそれぞれ書き込む。これによ
り、レジスタai+jには前記(5)式の左辺1項で示
される行列状態、すなわち下記側式で示される状態に各
30〜S、がそれぞれ格納される。
When the syndromes 80 to S are given, first, the input gates A of the registers ai and J of the matrix storage section 71 are controlled,
Each syndrome 80 to S is a register a! corresponding to each element a, 1, of the matrix. 5. Write each. As a result, each of 30 to S is stored in the register ai+j in the matrix state shown by the first term on the left side of equation (5), that is, the state shown in the following equation.

ここで、以後の処理動作の理解を容易にするために、シ
ンドロームS0〜S、の値として次に示す具体的な数値
を用いる。
Here, in order to facilitate understanding of subsequent processing operations, the following specific numerical values are used as the values of the syndromes S0 to S.

5o=O 3,=15 S2=85 S、=115 S、=193 S、=115 S、=161 S、=231 上記シンドローム80〜S7の値を前記03)式に代入
すると次の側弐のようになる。
5o=O 3,=15 S2=85 S,=115 S,=193 S,=115 S,=161 S,=231 Substituting the values of syndromes 80 to S7 above into the equation 03) gives the following side two. It becomes like this.

この04)弐から誤り位置多項式の各項の係数σ。From this 04) coefficient σ of each term of the error locator polynomial.

〜σ3を求めるには、この04式の行列を下記05)式
のように左基本変形する必要があることは前述の通りで
ある。
As described above, in order to obtain ˜σ3, it is necessary to perform left fundamental transformation of the matrix of equation 04 as shown in equation 05 below.

先ず最初に、側式中の第1列目を に変形する必要があるが、第1行第1列の31がOであ
るため、このままでは変形できない。そこで、このal
+1 =0を含む第1行全部を他の0でない行と入れ換
える。この例では、第2行目と入れ換えるものとする。
First of all, it is necessary to transform the first column in the side equation to , but since 31 in the first row and first column is O, it cannot be transformed as it is. Therefore, this al
+1 = Replaces the entire first row containing 0 with another non-zero row. In this example, it is assumed that the second line is replaced.

すなわち、“0“′検出回路74が第1行第1列のal
+1””Oを検出すると、この第1行目の5個のレジス
タa1,1〜ala5に格納されているデータワード(
0,15,85,115,193)をデータワード入換
部72のバッファレジスタR++ + R21t k 
+R41+ R51にそれぞれ一時的に退避し、また第
2行目の5個のレジスタaz++−az+sに格納され
ているデータワード(15,85,115,193,1
15)を残る他方のバッファレジスタRIz t R2
Z + Riz + R4z、R22にそれぞれ読み込
む。そして、バッファレジスタR+zp Rzzt R
32? R421R52のデータワード(15,85,
115,193,115)を各人力ゲートCを開いて第
1行目の各レジスタa11.〜a I+5に格納すると
ともに、バッファレジスタRz t R21+ R:l
I、Ra+ t Rs+に退避されている第1行目のデ
ータワード°(0,15,85,115,193)を第
2行目の各レジスタa2,1〜a29.に書き込み、第
1行目と第2行目のデータワードを入れ換える。この行
の入れ換えにより、04)弐の行列は次の00式に示す
ようになる。
That is, the "0"' detection circuit 74 detects the al
+1""O is detected, the data word (
0, 15, 85, 115, 193) in the buffer register R++ + R21t k of the data word exchange unit 72
+R41+R51 respectively, and the data words (15, 85, 115, 193, 1
15) and the remaining buffer register RIz t R2
Read each into Z + Riz + R4z and R22. And buffer register R+zp Rzzt R
32? R421R52 data words (15, 85,
115, 193, 115) by opening each manual gate C and registering each register a11. ~a Store in I+5 and buffer register Rz t R21+ R:l
I, Ra+ t The data word °(0, 15, 85, 115, 193) of the first row saved in Rs+ is stored in each register a2, 1 to a29. , and swap the data words in the first and second rows. By replacing the rows, the matrix of 04)2 becomes as shown in the following equation 00.

に変形する処理を行う。Performs processing to transform into.

すなわち、レジスタa1,1の出力ゲートH、レジスタ
al+2の出力ゲート■、レジスタa2,1aff+l
  、a4+1 の出力ゲートにおよびレジスタa2.
2  p a3+Z  + a4+2の出力ゲートJを
開き、これらレジスタの値15.85.0.85.05
.15.115.193を演算処理部73に送る。演算
処理部73は、逆数発生器D02乗算器MI”=M4 
 H加算器A1−A4により前記02)弐の演算を実行
し、06)式の第1列を上記のようにして行の入れ換え
を行った後、00式の第1列を に変形したときの、第2列各行の値a2+ 1 =15
.a2. z=15、az++=87、az+4=58
を求め、それぞれの値を加算器A、〜A4から出力する
That is, output gate H of register a1,1, output gate ■ of register al+2, register a2,1aff+l
, a4+1 and to the output gates of register a2.
2 p Open the output gate J of a3+Z + a4+2 and set the value of these registers to 15.85.0.85.05
.. 15.115.193 is sent to the arithmetic processing section 73. The arithmetic processing unit 73 includes a reciprocal generator D02 and a multiplier MI”=M4.
After executing the calculation in 02) 2 above using H adders A1-A4 and transposing the rows of the first column of formula 06) as described above, the first column of formula 00 is transformed into , the value of each row of the second column a2+ 1 = 15
.. a2. z=15, az++=87, az+4=58
are calculated, and the respective values are output from adders A, ~A4.

この加算器A1〜A4から出力された各値15,15.
87.58は各レジスタa2,1〜a2,4の入力ゲー
トDから第2列各行に格納される。したがって、この処
理の終了段階では、行列記憶部71の各レジスタaf+
jに格納されている値は次の0′7)式のようになる。
Each value 15, 15 .
87.58 is stored in each row of the second column from the input gate D of each register a2,1 to a2,4. Therefore, at the end stage of this process, each register af+ of the matrix storage section 71
The value stored in j is as shown in the following equation 0'7).

上記θ′7)式において注意すべき点は、第1列目の各
要素a0,1〜a1,4のそれぞれ対応するレジスタa
2,1〜al+4に格納されているシンドロームの値が 位置多項式の各項の係数σ。〜σ3を求めるために実際
に必要な数値は、前記(6) 、 (7)式から明らか
なように、第1〜第4列を単位行列に変形していったと
きの最後の第5列目の各行の値のみであり、したがって
単位行列の部分については演算の終わった列の値を敢え
て書き換える必要がないからである。
What should be noted in the above equation θ'7) is that each of the elements a0,1 to a1,4 in the first column corresponds to the register a
The syndrome values stored in 2,1 to al+4 are the coefficients σ of each term of the position polynomial. As is clear from equations (6) and (7) above, the numerical value actually required to calculate ~σ3 is the final fifth column when the first to fourth columns are transformed into the unit matrix. This is because there is only the value of each row of the unit matrix, and therefore there is no need to intentionally rewrite the values of the column where the calculation has been completed for the part of the unit matrix.

以上のようにして第1列の変形処理が終了すると、処理
は第2列目の変形へ移り、上記と同様にして第2列目を に書き換えられておらず、従前の値15,0,85.1
15を保持したままであることである。これは、誤りに
変形する処理が実行される。
When the transformation process of the first column is completed as described above, the process moves to the transformation of the second column, and in the same way as above, the second column has not been rewritten to 15, 0, 85.1
15 is maintained. A process is performed to transform this into an error.

同様の処理を第3列および第4列目まで繰り返し実行す
ると、行列記憶部71の各レジスタai+jには次の0
8)式のような値が得られる。
When similar processing is repeatedly executed up to the third and fourth columns, each register ai+j of the matrix storage section 71 contains the following 0.
8) The value shown in the formula is obtained.

と等価である。is equivalent to

この測成から誤り位置多項式の各項の係数σ。From this measurement, the coefficient σ of each term of the error locator polynomial.

〜σ3として σ。−64 σ =120 σ、=54            −−・・・・=(
19)σ3=15 が得られる。
~σ as σ3. −64 σ =120 σ, =54 −−・・・・=(
19) σ3=15 is obtained.

なお、上記08)式においても第1列〜第4列目の各行
の値は書き換えられておらず、従前の値のままであるが
、実際の演算の結果としては〔発明が解決しようとする
課題〕 上記したロングディスタンスコードの誤り訂正装置は、
各行に演算手段を配置することによって1つの列を処理
単位として各行の要素を並列的に変形処理できるため、
処理時間を著しく短縮できるものであった。しかしなが
ら、データワードを与える行列の各要素a81、に対応
してレジスタa81.を1個づつ用意するとともに、各
レジスタのゲートをそれぞれ独立に制御する必要がある
ため、ハードウェア量が多くなり、装置の小型化を充分
に図ることができなかった。
Note that in the above formula 08), the values in each row of the first to fourth columns are not rewritten and remain the same as before, but as a result of the actual calculation, Problem] The error correction device for the long distance code described above is
By arranging calculation means in each row, the elements in each row can be transformed in parallel with one column as a processing unit.
The processing time could be significantly shortened. However, for each element a81 of the matrix providing a data word, register a81 . Since it is necessary to prepare one register at a time and to control the gates of each register independently, the amount of hardware increases and it is not possible to sufficiently downsize the device.

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

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

本発明は上記目的を達成するために、1ワードをWビッ
ト構成とし、最大Lワードの誤りを訂正できるロングデ
ィスタンスコードの復号に際して、シンドロームから誤
り位置多項式の各項の係数あるいは誤りパターンを求め
るために、を行(1+1)列の行列の各要素qi+jに
データワードAB4j−21(但し、l≦i≦t、l≦
j≦t+1.Aa〜Azt−+はシンドロームあるいは
誤り位置)を設定し、この行列を左基本変形することに
より上記多項式の係数を求めるようにしたロングディス
タンスコードの誤り訂正装置において、ビット幅(WX
t)、アドレス数(t+1)からなり、かつ該(t+1
)個の各アドレスと上記行列の各列とを1=1に対応せ
しめたメモリを備え、行列の各列のデータワードを列単
位でメモリの対応するアドレス位置に書き込み/読み出
しすることにより列単位で演算処理を行うようにした。
In order to achieve the above object, the present invention has a W-bit configuration for one word, and calculates the coefficients or error patterns of each term of the error locator polynomial from the syndrome when decoding a long distance code that can correct up to L word errors. Then, data word AB4j-21 is assigned to each element qi+j of the matrix with rows and columns (1+1) (where l≦i≦t, l≦
j≦t+1. In an error correction device for a long distance code, the coefficients of the polynomial are determined by left fundamental transformation of this matrix.
t), the number of addresses (t+1), and the number of addresses (t+1
) and each column of the matrix corresponds to 1=1, and the data word of each column of the matrix is written to/read from the corresponding address position of the memory in column units. Arithmetic processing is now performed.

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

〔作 用〕[For production]

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

また、メモリ中に格納された上記行列の左基本変形する
列の対角要素の値が“0”の場合、メモリのアドレスが
列単位で構成されているために行の入れ換えができない
ので、当該対角要素を含む行の入れ換えを行うことなく
、入れ換えを行うべき他の行の列の値を読み出し、この
値に基づいて左基本変形による次の列の値を算出する。
In addition, if the value of the diagonal element of the left basic transformed column of the above matrix stored in memory is "0", the rows cannot be swapped because memory addresses are organized in columns, so the corresponding rows cannot be swapped. Without exchanging the rows including the diagonal elements, the values of the columns of the other rows to be exchanged are read out, and based on these values, the values of the next column are calculated by the left basic transformation.

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

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

上記データワード格納用のRAMIのアドレス構成の例
を第2図に示す。この第2図の例は、行列として前掲し
た00式、すなわち次の(21)式−−−〜−−−−−
−(21) で示される4行5列の行列を格納するRAMの例であり
、行列の各要素ai+、を与える各データワードはそれ
ぞれ8ビツト構成になり、また行列の第1列〜第5列の
各列に1:1に対応してアドレス#1〜#5が付与され
ている。したがって、第2図のRAMIの総ビット数は
8X4X5=160ビツトとなる。このRAMIにアド
レス#1〜#5のいずれかを指定してアクセスすること
により、行列の各要素airj位置のデータワードを列
単位で読み出し/書き込みすることができる。シフトレ
ジスタ2は、第3図に示すように、行列の行数tに等し
い数のレジスタ21〜2tから構成されている。
An example of the address structure of the RAMI for storing the data word is shown in FIG. The example in FIG. 2 is the equation 00 shown above as a matrix, that is, the following equation (21)---
-(21) This is an example of a RAM that stores a matrix of 4 rows and 5 columns, and each data word giving each element ai+ of the matrix has an 8-bit structure, and Addresses #1 to #5 are assigned to each column in a 1:1 ratio. Therefore, the total number of bits of RAMI in FIG. 2 is 8X4X5=160 bits. By accessing this RAMI by specifying any one of addresses #1 to #5, data words at the positions of each element airj of the matrix can be read/written column by column. As shown in FIG. 3, the shift register 2 is composed of registers 21 to 2t, the number of which is equal to the number of rows t of the matrix.

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

すなわち、いま前記(21)式中のaI+ l =O1
aZ+1 ≠0とし、この対角要素がOである第1列目
の左基本変形に際して、入れ換え行として第2行目を選
択した場合、第1列目の左基本変形により第2列目の各
行の値a I+t ”a4+2は次の(22)式%式% この(22)式は、前述した02)式と同一の演算結果
を与えることは当然である。
That is, now aI+ l =O1 in the above formula (21)
If aZ+1 ≠ 0 and the second row is selected as the replacement row during the left basic transformation of the first column whose diagonal element is O, each row of the second column is The value a I+t ''a4+2 is expressed by the following formula (22) % Formula % It goes without saying that this formula (22) gives the same calculation result as the above-mentioned formula 02).

ここで上記(22)式を一般化し、左基本変形する列が
i列目であり、このi列目の対角要素0の行と入れ換え
る行をd行目とし、このd行目の値を用いて次のj列目
の各値a、市〜a41、を表すと次の(23)式となる
Here, by generalizing the above equation (22), the column to be left basic transformed is the i-th column, the row to be replaced with the row of the diagonal element 0 of the i-th column is the d-th row, and the value of this d-th row is When each value a, city to a41, of the next j-th column is expressed using the following equation (23), the following equation (23) is obtained.

a I+j−aa+J+ad+i X a tri 十
a I+ja4+j ””ad+J  ’ aa+i 
Xa4+i +aa+=但し、d行目は ad+j =a d+j ” 4,1 本発明はこの(23)式を繰り返し実行することにより
行列の左基本変形処理を実現する。
a I+j-aa+J+ad+i X a tri 10a I+ja4+j ””ad+J ' aa+i
Xa4+i +aa+=However, in the d-th row, ad+j=ad+j '' 4,1 The present invention realizes the left fundamental transformation process of a matrix by repeatedly executing equation (23).

進んで、第1図の実施列の動作を、誤り訂正可能ワード
数t=4、すなわち8つのシンドローム80〜S1を用
い、誤り位置多項式の各項の係数σ。〜σ3を求める場
合を例にとって第4A図〜第6図のフローチャートを参
照して説明する。なお、第4A図はシンドロームSiを
RAMIに格納するための処理動作のフローチャート、
第4B図はRAMIに格納された行列の各列の左基本変
形処理を行うためのフローチャート、第4C図は左基本
変形処理の終了判定を行うためのフローチャートである
Proceeding to the operation of the implementation column in FIG. 1, the number of error-correctable words t=4, that is, eight syndromes 80 to S1, is used, and the coefficient σ of each term of the error locator polynomial is calculated. The case where .about.σ3 is determined will be explained with reference to the flowcharts of FIGS. 4A to 6. In addition, FIG. 4A is a flowchart of the processing operation for storing syndrome Si in RAMI,
FIG. 4B is a flowchart for performing left basic transformation processing for each column of a matrix stored in RAMI, and FIG. 4C is a flowchart for determining the end of left basic transformation processing.

先ず、RAM1ににシンドロームS0〜stを前記03
)式、すなわち下記の(24)式に示すような行列状態
に代入する処理を第4A図のフローチャートによって説
明する。
First, write the syndromes S0 to 03 in RAM1.
), that is, the process of substituting into a matrix state as shown in equation (24) below will be explained 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つのシンドローム80〜S、が格納される。
In step [1], i=0 is initially set, and in step [2], the input syndrome S0 is taken into the shift register 2 by the shift clock. Next, in step [3], i is incremented by 1, and in step [4], i≧t=
Repeat steps [2] and [3] until the number is 4. As a result, the four syndromes 80 to S in the first column in equation (24) are stored in the shift register 2.

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

上記処理をステップ[8]でi≧2t(=8.)が検出
されるまで繰り返す。i=8となってステップ[1]〜
[8]の処理を終了すると、RAM1内には(24)弐
の行列で示されるシンドロームS。
The above process is repeated until i≧2t (=8.) is detected in step [8]. When i=8, step [1] ~
When the process [8] is completed, the syndrome S shown by the second matrix (24) is stored in the RAM1.

〜S7が記憶される。~S7 is stored.

次いで、RAMIに格納された行列の左基本変形が第4
B図のフローチャートに従って実行される。なお、具体
的な数値を用いて説明する方が理解を助けるものと思わ
れるので、以下の説明においては、上記シンドローム3
0〜S7の値として前記測成と同様に、50=0.5l
=15.52=85.53−115.54=193.5
5=115.56−161、S?=231とする。この
値を上記(24)式に代入すると次のようになる。
Then, the left fundamental transformation of the matrix stored in RAMI is the fourth
This is executed according to the flowchart in Figure B. It should be noted that it is thought that it would be easier to understand if explained using specific numerical values, so in the following explanation, the above Syndrome 3 will be used.
As the value of 0 to S7, 50=0.5l as in the measurement above.
=15.52=85.53-115.54=193.5
5=115.56-161, S? =231. Substituting this value into the above equation (24) yields the following.

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

ステップ[10]においてp=LすなわちRAMI内の
#1アドレスのシンドローム(0,15,85,115
)を読み出し、レジスタ4に格納する。次いで、ステッ
プ[11]のサブルーチン(後述)において、第1列の
対角要素(第1行)がOであるか否か、さらにOの場合
にはこの第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=L, that is, the syndrome of #1 address in RAMI (0, 15, 85, 115
) is read and stored in register 4. Next, in the subroutine of step [11] (described later), it is determined whether the diagonal element of the first column (first row) is O or not, and if it is O, the row d to be replaced with this first column, In this example, d=2, that is, the second row, is determined as the replacement row. Then, in step [12] based on the obtained d=2, the selector 5 and the selector 6 select the value of the d=2nd row, and the selector 10 selects the b side for the d=2nd row, For lines other than the second line, settings are made to select side a. Further, in step [13], the all-zero flag AZ provided in the control circuit 12 is reset to "0".

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

ステップ[16]では、レジスタ3,4に格納された第
1列目と第2列目の値から前記(23)弐の演算を割り
算器72乗算器8.加算器9によって行い、第1列目を
左基本変形した時の第2列目の各値a1.2〜a4,2
を求める。すなわち、a×t  =at、t  ”az
、+  ×aI、1  + aIIt=85/15 x
o +15=15 t3 K+ 2  ””’ a 2+ 2  ’  ”
 Z+ 1=85/15  =15 a 3 + Z  :a Z* 2  ÷a2+ l 
 ×a 3+ I  + a 312−85/15  
x85+115  =115a4+ffi  =32.
、  ’  ”Z+l  Xa4++  +an+z=
85/15  xl15  +193  =193上記
のようにして得られた第2列目の値(15,15115
,193)をパンファ11を通じてRAMIの第2列目
、すなわちアドレス#2に書き込む。そして、ステップ
[17]のサブルーチン(後述)において、いままでに
対角要素とならなかった行の“O゛°を検出し、対角要
素とならなかった行の値がすべて0”であれば制御回路
12内のゼロ・フラグZを°“1°゛にし、ステップ[
18]でiをモlするとともに、オールゼロ・フラグA
ZのフラグをAZ=AZ+Zによりセットする。
In step [16], the operation of (23) 2 is performed by the divider 72, the multiplier 8. Each value a1.2 to a4,2 in the second column when the first column is left basic transformed by the adder 9
seek. That is, a×t =at, t”az
, + xaI, 1 + aIIt=85/15 x
o +15=15 t3 K+ 2 ””' a 2+ 2' ”
Z+ 1=85/15 =15 a 3 + Z :a Z* 2 ÷a2+ l
×a 3+ I + a 312-85/15
x85+115=115a4+ffi=32.
, ' ”Z+l Xa4++ +an+z=
85/15 xl15 +193 = 193 The value of the second column obtained as above (15,15115
, 193) is written to the second column of RAMI, ie, address #2, through the breadthreader 11. Then, in the subroutine of step [17] (described later), "O゛°" of the rows that have not become diagonal elements is detected, and if the values of the rows that have not become diagonal elements are all 0, then The zero flag Z in the control circuit 12 is set to °“1°”, and step [
18], and all zero flag A
Set the flag of Z by AZ=AZ+Z.

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

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

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

したがって、この(26)式の5行目の各値が誤り位置
σ。〜σ、を与え、前述した従来例の場合と同様に、 σ。=64 σ、=120 σ2=54         −一・・−・・−(27
)σ3=15 が得られる。
Therefore, each value in the fifth line of equation (26) is the error position σ. ~σ, and as in the conventional example described above, σ. =64 σ, =120 σ2=54 −1・・−・・−(27
) σ3=15 is obtained.

第5図は、第4B図のステップ[11]で示した、対角
要素の行dを求めるためのサブルーチンの詳細を示す。
FIG. 5 shows details of the subroutine for determining the row d of the diagonal elements 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)−〇はi行目がま
だ対角要素となっていないことを示す。
In step [30], it is determined whether p=1 (address #1).
If it is 1, all C(1) to C(t,) are set to 0 in step [31]. Here, C(i) indicates whether the i-th row has become a diagonal element, and C(i)-0 indicates that the i-th row has not yet become a diagonal element.

次のステップ[32]ではi=1に初期設定し、ステッ
プU33〕においてレジスタ4に格納されているp行i
列目すなわち1行1列目(p=1゜1=1)のデータを
Dと置く。前記(25)式の行列の場合、D=Oである
In the next step [32], i is initialized to 1, and in step U33], the p row i stored in the register 4 is
Let D be the data in the 1st column, 1st row, 1st column (p=1°1=1). In the case of the matrix of equation (25) above, D=O.

ステップ[34]において、D≠0で、かつC(1)=
0であるか否かが判定され、D≠Oで、かつC(1)=
Oのときはステップ[35]において当該要素の行をそ
のときの対角要素として決定する。他方、D≠0で、か
つC(1)=Oでないときにはステップ[36]でiを
+1し、ステップ[33]でimpの時はステップ[3
31へ戻る。i<pの時は対角要素となるべき行が存在
しないとしてステップ[38]で誤りを検出して処理を
終了する。
In step [34], D≠0 and C(1)=
It is determined whether D≠O and C(1)=
If O, the row of the element in question is determined as the diagonal element at that time in step [35]. On the other hand, if D≠0 and C(1)=O, then i is incremented by 1 in step [36], and if it is imp in step [33], in step [3]
Return to 31. When i<p, it is assumed that there is no row to be a diagonal element, and 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 of the 2nd row and 1st column is D=15.
If ≠0 is determined, the i=2nd row is determined as the diagonal element row d to be replaced with the first row, and the process returns to step [11] of FIG. 4B.

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

すなわち、ステップ[40]で検査する行jの初期値を
1、ゼロ・フラグZを1に設定し、ステップ[41]で
セレクタ5の出力のj行目の値をDと置く。
That is, in step [40], the initial value of the row j 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 output from the selector 5 is set as D.

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

ステップ[43]では、対角要素とならなかった行で値
が0でないものがあったので、ゼロ・フラグZを0にリ
セットし、ステップ[44]でjを+1し、上記処理を
ステップ[45]でj>pとなるまで繰り返す。以上の
処理により、今までに対角要素とならなかった行の“0
”検出が行われる。
In step [43], since some rows that were not diagonal elements had values other than 0, the zero flag Z was reset to 0, j was incremented by 1 in step [44], and the above process was repeated in step [44]. 45] until j>p. By the above processing, “0” of the row that has not become a diagonal element
”Detection takes place.

〔発明の効果〕〔Effect of the invention〕

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

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

第1図は本発明の1実施例の構成を示すブロック図、 第2図は第1図中のRAMのアドレス構成を示す図、 第3図は第1図中のシフトレジスタの構成例を示す図、 第4A図〜第4C図は上記実施例の動作のフローチャー
ト、 第5図は対角要素の行dを求めるためのサブルーチンの
フローチャート、 第6図は対角要素とならなかった行の“0″°検出のた
めのサブルーチンのフローチャー第7図は誤り訂正装置
の従来例を示すブロック図である。 1・・・RAM、2・・・シフトレジスタ、3,4・・
・レジスタ、5,6・・・セレクタ、7・・・割り算器
、8・・・乗算器、9・・・加算器、lO・・・セレク
タ、11・・・バッファ、W・・・1ワードのビット数
、t・・・誤り訂正可能なワード数、qi、、・・・行
列の各要素、A、、。j−2゜・・・データワード。
FIG. 1 is a block diagram showing the configuration of one embodiment of the present invention, FIG. 2 is a diagram showing the address configuration of the RAM in FIG. 1, and FIG. 3 is a configuration example of the shift register in FIG. 1. Figures 4A to 4C are flowcharts of the operation of the above embodiment; Figure 5 is a flowchart of a subroutine for determining the row d of diagonal elements; Flowchart of a subroutine for 0''° detection 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, lO... Selector, 11... Buffer, W... 1 word The number of bits, t... The number of words that can be corrected, qi,... Each element of the matrix, A. j−2゜...Data word.

Claims (2)

【特許請求の範囲】[Claims] (1)1ワードをWビット構成とし、最大をワードの誤
りを訂正できるロングディスタンスコードの復号に際し
て、シンドロームから誤り位置多項式の各項の係数ある
いは誤りパターンを求めるために、t行(t+1)列の
行列の各要素q_i_,_jにデータワードA_(_i
_+_j_−_2_)(但し、1≦i≦t、1≦j≦t
+1、A_0〜A_2_t_−_1はシンドロームある
いは誤り位置)を設定し、この行列を左基本変形するこ
とにより上記多項式の係数を求めるようにしたロングデ
ィスタンスコードの誤り訂正装置において、 ビット幅(W×t)、アドレス数(t+1)からなり、
かつ該(t+1)個の各アドレスと上記行列の各列とを
1:1に対応せしめたメモリを備え、 行列の各列のデータワードを列単位でメモリの対応する
アドレス位置に書き込み/読み出しすることにより列単
位で演算処理を行うようにしたことを特徴とするロング
ディスタンスコードの誤り訂正装置。
(1) When decoding a long-distance code in which one word consists of W bits and can correct errors in words at most, t rows and (t+1) columns are used to obtain the coefficients or error patterns of each term of the error locator polynomial from the syndrome. A data word A_(_i
_+_j_−_2_)(However, 1≦i≦t, 1≦j≦t
+1, A_0 to A_2_t_-_1 are syndromes or error positions), and the coefficients of the above polynomial are found by left fundamental transformation of this matrix. ), the number of addresses (t+1),
and includes a memory in which each of the (t+1) addresses and each column of the matrix corresponds 1:1, and writes/reads the data word of each column of the matrix to the corresponding address position of the memory column by column. An error correction device for a long distance code, characterized in that arithmetic processing is performed on a column-by-column basis.
(2)左基本変形すべき列の対角要素の値が“0”のと
きでも行の入れ換えを行わず、入れ換えのために選択し
た他の行の対応する列の値をメモリから直接読み出して
次の列の値を算出するようにしたことを特徴とする請求
項(1)記載のロングディスタンスコードの誤り訂正装
置。
(2) Even if the value of the diagonal element of the column to be transformed on the left is "0", do not transpose the row, but directly read the value of the corresponding column of the other row selected for transposition from memory. 2. The long distance code error correction device according to claim 1, wherein the value of the next column is calculated.
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 true JPH0267826A (en) 1990-03-07
JP2718478B2 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
JP2718478B2 (en) 1998-02-25

Similar Documents

Publication Publication Date Title
US5631914A (en) Error correcting apparatus
US4637021A (en) Multiple pass error correction
US7586808B2 (en) Memory device for use in high-speed block pipelined reed-solomon decoder, method of accessing the memory device, and reed-solomon decoder having the memory device
US7162679B2 (en) Methods and apparatus for coding and decoding data using Reed-Solomon codes
US5983389A (en) Error correction decoding apparatus
US20040210816A1 (en) Error-correcting device and decoder enabling fast error correction with reduced circuit scale
KR100738170B1 (en) Error correction device
JP3502583B2 (en) Error correction method and error correction device
EP0991196B1 (en) Method of correcting lost data and circuit thereof
JPH0267826A (en) Error correcting device for long distance code
JP2662472B2 (en) Syndrome operation circuit for error correction processing
JPH02164133A (en) Error corrector for long distance code
CN100361222C (en) Circuit and method for generating error correction code
US6131179A (en) Reed-Solomon decoding device
JPH09305572A (en) Method and device for dividing galois field
JP2622383B2 (en) Error correction device for long distance codes
JP2907138B2 (en) Error correction arithmetic processing method and processing circuit
JPS63267018A (en) System and device for error correction of long distance code
JP2024080211A (en) Arithmetic circuit, memory system and control method
JPH01158826A (en) Error correction system for long distance code
JP3728011B2 (en) Error correction method and error correction apparatus
JPH06268530A (en) Error pattern arithmetic operation circuit
JP4166129B2 (en) Error correction code generation method and error correction code generation circuit
JP3193830B2 (en) Arithmetic circuit
JP2023136252A (en) Memory system and control method

Legal Events

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

Free format text: PAYMENT UNTIL: 20071114

Year of fee payment: 10

FPAY Renewal fee payment (event 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 (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081114

Year of fee payment: 11