JPH0258432A - Error position polynomial deriving circuit using bit serial type multiplier - Google Patents

Error position polynomial deriving circuit using bit serial type multiplier

Info

Publication number
JPH0258432A
JPH0258432A JP20828488A JP20828488A JPH0258432A JP H0258432 A JPH0258432 A JP H0258432A JP 20828488 A JP20828488 A JP 20828488A JP 20828488 A JP20828488 A JP 20828488A JP H0258432 A JPH0258432 A JP H0258432A
Authority
JP
Japan
Prior art keywords
multiplier
bit serial
bit
circuit
polynomial
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
JP20828488A
Other languages
Japanese (ja)
Inventor
Toshio Shirasawa
寿夫 白沢
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 JP20828488A priority Critical patent/JPH0258432A/en
Publication of JPH0258432A publication Critical patent/JPH0258432A/en
Pending legal-status Critical Current

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

PURPOSE:To speed up the processing and to simultaneously, reduce the hardware quantity by unifying the expression form of the unknown to be inputted and outputted to a primary converted form with a Hankel matrix and providing a reverse converting circuit to execute the reverse conversion of the Hankel matrix in a multiplier with a bit serial type multiplier. CONSTITUTION:A bit serial type multiplier constituted based on a Wiener-Hopf equation to execute the multiplication with the unknown primarily converted with a Hankel matrix K and the unknown not to be converted is used. In the bit serial type multiplier, a reverse converting circuit 23 to execute the reverse conversion K<-1> of one side unknown is provided and all unknowns inputted and outputted to the bit serial type multiplier are unified to the expression form primarily converted by the Hankel matrix K respectively. Thus, the hardware quantity of a Galois field multiplier is reduced, the operation can be speeded up and simultaneously, the device can be miniaturized.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 リード・ソロモン符号やBCH符号などの誤り訂正符号
を用いて1ブロツク内の多数ワードの誤り訂正を行う誤
り訂正方式が光ディスク、磁気ディスク、光磁気ディス
ク、通信などの分野で広く採用されている。
[Detailed Description of the Invention] [Industrial Application Field] An error correction method that uses error correction codes such as Reed-Solomon codes and BCH codes to correct errors in multiple words within one block is used in optical disks, magnetic disks, and optical discs. It is widely used in fields such as magnetic disks and communications.

本発明は、このようなリードソロモン符号やBCH符号
などの1つの訂正系列内で多数ワードの誤りを訂正可能
な誤り訂正符号(ロング・デイスタンス・コード:LD
C)を用いた誤り訂正回路に関し、より詳しくは、ロン
グ・デイスタンス・コードの復号に際して誤り位置多項
式をユークリッド互除法により求めるようにした誤り位
置導出回路に関する。
The present invention is directed to error correction codes (long distance codes: LD
The present invention relates to an error correction circuit using C), and more specifically, to an error locator deriving circuit that calculates an error locator polynomial using Euclidean algorithm when decoding a long distance code.

〔従来の技術〕[Conventional technology]

リードソロモン符号やBCH符号などのロング・ディス
クンス・コード(以下LDC)を用いて多数ワードの誤
り訂正を行うには、受信データからシンドロームを生成
して誤り位置多項式の係数を求める必要がある。一般に
、LDCの復号手順は次の通りである。
In order to perform error correction of multiple words using a long discance code (hereinafter referred to as LDC) such as a Reed-Solomon code or a BCH code, it is necessary to generate a syndrome from received data and find the coefficients of an error locator polynomial. Generally, the LDC decoding procedure is as follows.

■ 受信データXからシンドロームS 1(x)を求め
る。
■ Find the syndrome S1(x) from the received data X.

■ シンドロームS r (x)から誤り位置多項式σ
(X)を求める。
■ Error locator polynomial σ from syndrome S r (x)
Find (X).

■ 誤り位置多項式σ(x)から誤り位置を求める。■ Find the error location from the error location polynomial σ(x).

■ 誤りパターンを求める。■ Find error patterns.

■ Jllり位置と誤りパターンから受信データXを訂
正する。
■ Correct the received data X from the Jll position and error pattern.

上記一連の処理ステップにおいて最も処理が複雑で時間
を要するのは■の誤り位置多項式σ(x)を求める部分
である。誤り位置多項式の係数を求める手法の1つとし
てユークリッド互除法が知られている。このユークリッ
ド互除法は与えられた2つの数(多項式)の最大公約数
(多項式)を求めるためのアルゴリズムであり、2つの
多項式R−+ (x) とRo(x)を与え、下記の(
Ll 〜(J R”:、の演算をRt(x)=Oとなる
まで繰り返し実行し、Rt (x) =0となった時の
R; −1(x)を与えられた2つの多項式R−、(x
)とRo(x)の最大公約多項式として決定するもので
ある。
In the above series of processing steps, the most complicated and time-consuming part is the part (2) in which the error locator polynomial σ(x) is determined. The Euclidean algorithm is known as one of the methods for determining the coefficients of the error locator polynomial. This Euclidean algorithm is an algorithm for finding the greatest common divisor (polynomial) of two given numbers (polynomials). Given two polynomials R-+ (x) and Ro(x), the following (
Repeat the operation of Ll ~ (J R'':, until Rt(x) = O, and when Rt (x) = 0, R; the two polynomials R given −1(x) −, (x
) and Ro(x).

Q+(x)=(R,−z(x)/Rt−+(x))  
 −11)R=(X)=Ri−z(x)−Q+(x)R
;−+(x)  −121L;(x) = Lt−z(
x)  Qi(x) L=−+(x)  −131U1
(x)=U、−z(x)−Q;(x)U;−+(x) 
 −(41但し、()は商多項弐を表す。
Q+(x)=(R,-z(x)/Rt-+(x))
-11) R=(X)=Ri-z(x)-Q+(x)R
;-+(x)-121L;(x) = Lt-z(
x) Qi(x) L=-+(x) -131U1
(x)=U, -z(x)-Q;(x)U;-+(x)
-(41 However, () represents the quotient polynomial 2.

L−、(x) = O、LO(X) = 1U−1(に
)=−1,U、(に)=0 このユークリッド互除法の演算過程においては次の性質
が成り立つ。
L-, (x) = O, LO(X) = 1U-1 (ni) = -1, U, (ni) = 0 In the calculation process of this Euclidean algorithm, the following properties hold true.

R1(x) = L ;(x) Ro(x) −[1(
x) rl!−+(z)deg、 R;(x) <de
g、 R;−+(x)     −−[61deg、L
i(x)=deg、R−+(x)−deg、R;−+(
x)・−一−・−(7) L 、 (x)≠0               −
・−・・・・・−・(8)gr、d (U r 、 L
 r ) = 1           −−一−−−
−−(91ここに、gcd()は最大公約多項式を示す
R1(x) = L;(x) Ro(x) −[1(
x) rl! −+(z)deg, R;(x) <de
g, R;-+(x) --[61deg, L
i(x)=deg, R-+(x)-deg, R;-+(
x)・−1−・−(7) L, (x)≠0 −
・-・・・・・・・・・(8) gr, d (U r , L
r ) = 1 --1 ---
--(91 Here, gcd() indicates the greatest common denominator polynomial.

いま問題とする誤り位置多項式σ(x)は、上記ユーク
リッド互除法の演算過程においてRr (x)の次故が
1次未満(Lは誤り訂正可能なワード数)となった時の
L H(x)として得られる。
The error locator polynomial σ(x) in question is L H( x).

すなわち、シンドロームS、は、 で表される。ここに、αはガロア体GF(2″)上の原
始元であり、X、は受信語を表す。
That is, the syndrome S is expressed as follows. Here, α is a primitive element on the Galois field GF(2″), and X represents a received word.

前記シンドロームS、を基にシンドローム多項式S (
x)を次の通り定義する。
Based on the syndrome S, the syndrome polynomial S (
x) is defined as follows.

5(X)=S、+S、X+S2X”+・+S?X’・・
 −・ 0υ また、誤りが1個発生した時の誤り位置多項式σ(x)
を次の通り定義する。
5(X)=S, +S, X+S2X"+・+S?X'・・
−・ 0υ Also, the error locator polynomial σ(x) when one error occurs
is defined as follows.

f (x) = (X + VI)(X + Vz)−
(X + Vt)= X l+σ、−、’X’−’+・
・・十σ、X+σ。
f (x) = (X + VI) (X + Vz) −
(X + Vt) = X l+σ, -, 'X'-'+・
...10σ, X+σ.

・−(1乃 ここに、■、〜■1 は誤り位置を示す。・-(1no Here, ■, to ■1 indicate error positions.

上記シンドローム多項式S (x)と誤り位置多項式σ
(x)との間には次の関係がある。
The above syndrome polynomial S (x) and error locator polynomial σ
(x) has the following relationship.

A (x) X 2L+ ty (x) S (x) 
= ti Cx)    −−−−031deg、 (
11(x) <deg、 tt (x) ≦t    
  −−−−−aIO但し A (x)コ任意の多項式 ω(X):誤り評価多項式 L 二訂正可能な誤りワード数 deg、ω(X):多項式〇(x)の次数deg、σ(
×):多項式σ(x)の次数このQ3)、041式を満
たすσ(x)と0パX)は、X2tとS (x)の最大
公約多項式を求めるユークリッドの互除法の演算過程に
おいて、Ri(x)の次数がt次未満(tは誤り訂正可
能なワード数)となった時のL 、 (x)とR= (
x)に他ならない。
A (x) X 2L+ ty (x) S (x)
= ti Cx) -----031deg, (
11(x) <deg, tt (x) ≦t
-------aIO However, A (x) Arbitrary polynomial ω(X): Error evaluation polynomial L 2 Number of correctable error words deg, ω(X): Degree deg of polynomial 〇(x), σ(
×): Degree of polynomial σ(x) This Q3), σ(x) and 0paX) that satisfy equation 041, are calculated in the calculation process of Euclid's mutual division method to find the greatest common polynomial of X2t and S (x). When the order of Ri(x) is less than t order (t is the number of words that can be corrected), L, (x) and R=
x).

第5図は上記のユークリッド互除法を用いて誤り位置多
項式σ(×)と誤り評価多項式ω(x)を求めるKun
ng らによって[されたシストリック・アルゴリズム
を示す。このシストリック・アルゴリズムでは、前記し
たR r (x)をA (x)とB(に)で交互に表し
、またL ; (x)をL (x)とM (x)で交互
に表している。
Figure 5 shows Kun's method for determining the error locator polynomial σ(x) and error evaluation polynomial ω(x) using the Euclidean algorithm described above.
We present the systolic algorithm [by ng et al. In this systolic algorithm, the above-mentioned R r (x) is alternately represented by A (x) and B (ni), and L ; (x) is alternately represented by L (x) and M (x). There is.

ここでA (x)とB (x)を次のように表す。Here, A (x) and B (x) are expressed as follows.

A(x)=a、x’+a、−、xト1+−°−a 、 
x +a 。−−−−O5 B (x)= blIx’+ blI−、X’−’+・
+・b 、 x + b 0−−−〇6) この時、ユークリッド互除法における前記(])。
A(x)=a, x'+a, -, xt1+-°-a,
x+a. ---O5 B (x) = blIx'+ blI-, X'-'+・
+・b, x + b 0---〇6) At this time, the above (]) in Euclidean algorithm.

(2)式の演算は次式のようになる。The calculation of equation (2) is as follows.

Q、(x)= (R,−z(x)/R;−+(x)1=
QbXk+qk−、xh−1・・・+q+X”q。
Q, (x)= (R, -z(x)/R;-+(x)1=
QbXk+qk-, xh-1...+q+X''q.

・−−−−−−−・−0η A (x) = A (x) −Q (X) B (X
)      −−−−θ(至)0匂式の代わりに次式
の演算をに+1回繰り返して行う。
・−−−−−−−・−0η A (x) = A (x) −Q (X) B (X
) ----- θ (to) 0 Instead of the formula, the following formula is repeated +1 times.

A (x) = A (x) −q ux ’ B (
x)      ・−−−一−−・−(19)(u =
に、に−1,・・・、0) a9,00式の各演算時のA (x)とB (x)の最
高次数の係数をそれぞれβ、αと置くと qu=β/α            −−−一・・−
・(2Iとなり、u =deg、 A −deg、 B
であることを利用すると、091式は次のように書き直
せる。
A (x) = A (x) −q ux' B (
x) ・----1--・-(19) (u =
, ni -1,..., 0) If the coefficients of the highest order of A (x) and B (x) at each calculation of the a9,00 formula are denoted as β and α, respectively, then qu=β/α −− -One...-
・(2I, u = deg, A −deg, B
Using this fact, formula 091 can be rewritten as follows.

a A (x) = ex A (x)−βx (d 
a’l −A −d I! 9 °” ’ B(x)・
・−・・−・(21) したがって、αA(x)、を再びA (x)に置き換え
れば、掛は算だけで誤り位置多項式の定係数倍の結果を
得ることができる。すなわち、A (x)またはB (
x)のどちらかがt次未満になった時点のしく×)また
はM (x)が定数倍された誤り位置多項式を表してい
る。また、この時のA (X)またはB (x)が定数
倍された誤り評価多項式を表している。
a A (x) = ex A (x)-βx (d
a'l -A -d I! 9°"' B(x)・
(21) Therefore, if αA(x) is replaced by A(x) again, the result of multiplying the error locator polynomial by a constant coefficient can be obtained by simply performing multiplication. That is, A (x) or B (
It represents an error locator polynomial in which either x) or M(x) is multiplied by a constant at the time when either x) becomes less than the tth degree. Further, it represents an error evaluation polynomial in which A (X) or B (x) at this time is multiplied by a constant.

第6図に」;記ユークリッド互除法を用いて構成した3
重誤り訂正可能(t=3)な誤り位置多項式4出回路の
例を示す。図示回路は第5図のシストリック・アルゴリ
ズム中のA (x)とB (x)の演算部分のみを示し
ており、A (x)とB (x)の演算をパラレル処理
するものである。なお、L (x)とM (x)の演算
部分については同様の回路構成で行うことができるので
図示を略した。
Figure 6 shows 3 constructed using Euclidean mutual division method.
An example of a four-output error locator polynomial circuit capable of multiple error correction (t=3) is shown. The illustrated circuit shows only the calculation portion of A (x) and B (x) in the systolic algorithm of FIG. 5, and is for processing the calculations of A (x) and B (x) in parallel. Note that the calculation portions for L (x) and M (x) are omitted from illustration because they can be performed using a similar circuit configuration.

図中、符号1,2はA(x)  、 B(x)の係数デ
ータを格納するためのビット・シリアル・シフトレジス
タであり、パラレルロードの機能を有している。3,4
はそれぞれビット・シリアル・シフトレジスタ1,2か
ら与えられるA(x)  、B(x)の係数データを保
持するためのバッファ、5,6はビット・シリアル・シ
フトレジスタ1,20入力を選択するセレクタである。
In the figure, reference numerals 1 and 2 are bit serial shift registers for storing coefficient data of A(x) and B(x), and have a parallel load function. 3,4
are buffers for holding coefficient data of A(x) and B(x) given from bit serial shift registers 1 and 2, respectively, and 5 and 6 select inputs of bit serial shift registers 1 and 20. It is a selector.

7.8はバッファ3,4から与えられるA (x)B(
×)の係数データとビット・シリアル・レジスタ16.
26から与えられる最高次数α、βとの乗算αA(X)
  、βB (x)を行うためのガロア体乗算器である
7.8 is A (x)B( given from buffers 3 and 4)
×) coefficient data and bit serial register 16.
Multiplication αA(X) with the highest order α and β given from 26
, βB (x).

9は加算器、10〜12はセレクタであり、セレクタ1
1.12は初期データの設定時以外は“0”を入力する
。なお、ビット・シリアル・シフトレジスタ16と26
はそれぞれA(x)  、B(x)の最高次数係数、す
なわちβとαを表している。
9 is an adder, 10 to 12 are selectors, and selector 1
For 1.12, input "0" except when setting initial data. In addition, bit serial shift registers 16 and 26
represent the highest order coefficients of A(x) and B(x), ie, β and α, respectively.

また、次数に関する処理はフラグを用いて独立に行って
いるが、このフラグ関係は図示を略した。
Further, processing regarding the order is performed independently using flags, but this flag relationship is omitted from illustration.

上記回路の動作を第7図のフローチャートを参照して説
明する。
The operation of the above circuit will be explained with reference to the flowchart of FIG.

先ず、セレクタ11.12を通じて初期データを設定す
る。すなわち、t=3であるから2t=6となるので、
ビット・シリアル・シフトレジスタ1゜〜16にA(x
)=X’を設定するとともに、ビット・シリアル・シフ
トレジスタ2゜〜26にB (x)としてシンドローム
多項式S (x)を設定する。また、図示にない他のL
 (x) とM (x)の演算回路のしく×)に0を、
M (x)に1をそれぞれセットする(ステップ[1コ
)。同時に、図示を略した次数計算用のフラグなどもセ
ットする。
First, initial data is set through selectors 11 and 12. In other words, since t=3, 2t=6, so
A(x
)=X' and set the syndrome polynomial S (x) as B (x) in the bit serial shift registers 2° to 26. In addition, other L not shown in the diagram
(x) and the workings of the arithmetic circuit of M (x)×),
Set M (x) to 1 (step [1 piece). At the same time, a flag for order calculation, which is not shown, is also set.

次いで、ビット・シリアル・シフトレジスタ1゜〜1.
に設定されたA (x)の値をバッファ3゜〜3.にロ
ート′するとともに、ビット・シリアル・シフトレジス
タ2゜〜2.に設定されたB (x)−S (x)の値
をバッファ4゜〜4.にそれぞれロードする(ステップ
[2])。また、ガロア体乗算器7,8の演算結果を次
段のビット・シリアル・シフトレジスタへ転送するため
に、各セレクタ5゜〜5.および6゜〜6.をセレクタ
10o〜10s側へ切り替える(ステ7プ「3J)。
Next, the bit serial shift register 1° to 1.
The value of A (x) set to 3° to 3. and bit serial shift register 2° to 2. The value of B (x) - S (x) set to 4° to 4. (Step [2]). Further, in order to transfer the operation results of the Galois field multipliers 7 and 8 to the next stage bit serial shift register, each selector 5° to 5. and 6°~6. is switched to the selector 10o to 10s side (step 7 "3J").

ガロア体乗算器7゜〜7.はビット・シリアル・シフト
レジスタI、の最高次数係数αと各バッファ3゜〜3.
の値との乗算αA (x)を行い、またガロア体乗算器
8゜〜8.はビット・シリアル・シフトレジスタ26の
最高次数係数βと各バッファ4゜〜45の値との乗算β
B (x)を行い(ステップ[4] )、それぞれの乗
算結果を1ビツトづつ各加算器9゜〜9Sに送って加算
する(ステップ[5])。
Galois field multiplier 7°~7. are the highest order coefficient α of the bit serial shift register I and each buffer 3° to 3.
Multiplication with the value αA (x) is performed, and a Galois field multiplier 8° to 8. is the product β of the highest order coefficient β of the bit serial shift register 26 and the value of each buffer 4° to 45
B(x) is performed (step [4]), and the respective multiplication results are sent one bit at a time to each adder 9° to 9S for addition (step [5]).

上記加算結果は、図示を略した次数フラグの制御の下に
セレクタ10゜〜10.を通じて次段のビット・シリア
ル・シフトレジスタ1,2へ転送される(ステップ[6
])。
The above addition results are sent to selectors 10° to 10.degree. under the control of an order flag (not shown). is transferred to the next stage bit serial shift registers 1 and 2 (step [6
]).

セレクタ5゜〜5Sと6゜〜65をビット・シリアル・
シフトレジスタ側へ切り替えた後(ステップ[7])、
図示にない0検定回路によりビット・シリアル・シフト
レジスタ16,2.に格納されているA (x)とB 
(x)の最高次数係数βとαの何れかがOであるか否か
が判定され(ステップ[8])、何れかが0である場合
には、対応する側のビット・シリアル・シフトレジスタ
1または2を】ワードシフトする(ステップ[9,])
。ビット・シリアル・シフトレジスタl側がシフトされ
るとA (x)の次数が1つ減り、ビット・シリアル・
シフトレジスタ2側がシフトされるとB (x)の次数
が1つ減る。
Set selectors 5° to 5S and 6° to 65 to bit/serial/
After switching to the shift register side (step [7]),
Bit serial shift registers 16, 2 . A (x) and B stored in
It is determined whether either the highest degree coefficient β or α of (x) is O (step [8]), and if either is 0, the bit serial shift register on the corresponding side is ]word shift 1 or 2 (step [9,])
. When the l side of the bit serial shift register is shifted, the order of A (x) decreases by one, and the bit serial shift register
When the shift register 2 side is shifted, the order of B (x) decreases by one.

β、αの何れもがOでない場合には、ステップ[10]
へ移行し、図示にない終了チエツク回路においてビット
・シリアル・シフトレジスタl。
If neither β nor α is O, step [10]
bit serial shift register l in an end check circuit (not shown).

2に格納されているA(X)  、 13(x)のde
g、 Aまたはdeg、 Bが判定され、t=3以上の
場合にはステ7プ[2]へ復帰して上記処理を繰り返し
実行する。他方、deg、Aまたはdeg、 Bが(=
3よりも小さい場合には該時点でユークリッド互除法に
よる演算処理を終了しくステップ[10] ) 、ビッ
ト・シリアル・シフトレジスタに格納されているデータ
を出力する(ステップ[11])。
A(X) stored in 2, de of 13(x)
g, A or deg, B is determined, and if t=3 or more, the process returns to step 7 [2] and the above process is repeated. On the other hand, if deg, A or deg, B is (=
If it is smaller than 3, the arithmetic processing using the Euclidean algorithm is terminated at that point (step [10]), and the data stored in the bit serial shift register is output (step [11]).

すなわち、上記終了時にビット・シリアル・シフトレジ
スタ側または2に格納されてるするA (x)またはB
(×)がその時の受信データに対する誤り評価多項式ω
(x)を与え、また図示を略した他のL (x)とM 
(x)の演算回路に格納されているしく×)またはM(
x)が誤り位置多項式σ(x)を与えるものである。
That is, at the end of the above, A (x) or B stored in the bit serial shift register side or 2
(×) is the error evaluation polynomial ω for the received data at that time
(x) and other L (x) and M (not shown)
The function stored in the arithmetic circuit of (x)
x) gives the error locator polynomial σ(x).

(発明が解決しようとする課題〕 上記誤り位置多1項弐導出回路におけるガロア体乗算器
は、A (x)とB (x)用に4を個、またf、(x
)とM (x)用に2L個必要となり、合計6を個が必
要となる。従来用いられているガロア体乗算器としては
、例えばビット・パラレル型のもので1個当たり300
ゲ一ト程度を必要とし、上記例のむ=3の場合には全体
で約5400ゲート程度必要となる。したがって、t=
8の周知の光ディスクなどのLDCの場合には全体で約
2万ゲート程度を必要とし、回路のハードウェア量が大
きくなって装置の小型化の障害となる。
(Problem to be Solved by the Invention) The Galois field multiplier in the error position multi-term 2 derivation circuit has 4 for A (x) and B (x), and f, (x
) and M (x), 2L pieces are required, making a total of 6 pieces. Conventionally used Galois field multipliers, for example, are bit parallel type multipliers with a capacity of 300
In the case of 3 in the above example, approximately 5400 gates are required in total. Therefore, t=
In the case of an LDC such as the well-known optical disk No. 8, approximately 20,000 gates are required in total, which increases the amount of circuit hardware and becomes an obstacle to miniaturization of the device.

また、シストリック・アルゴリズムに基づいたバイブラ
イン処理による高速化とVLSI化に通したリード・ソ
ロモン符号の符号化・復号化のためのプロセッシングユ
ニン) (PE)が岩村らにより提案されている(電子
情報通信学会論文誌’88/3 Vol、J71−A 
No、3 pp751〜759 ) 、しかし、このI
Hになるプロセッシングユニットでも、1個のユニット
当たり1000ゲート程度を必要とし、回路全体でこれ
が(7t+4)個必要となる。
In addition, Iwamura et al. have proposed a processing unit (PE) for encoding and decoding Reed-Solomon codes through VLSI and speeding up by vibline processing based on the systolic algorithm. IEICE Transactions '88/3 Vol, J71-A
No, 3 pp751-759), but this I
Even a processing unit that becomes H requires about 1000 gates per unit, and (7t+4) gates are required for the entire circuit.

したがって、光ディスクなどで採用しているt=8の場
合には合計で約6万ゲート必要となり、高価なシステム
となってしまう。
Therefore, in the case of t=8, which is used in optical disks, a total of about 60,000 gates are required, resulting in an expensive system.

本発明は上記事情に鑑み、この種の誤り位置多項式導出
回路におけるハードウェアの大部分を占めるガロア体乗
算器の回路構成を検討することにより、ガロア体乗算器
のハードウェア量を従来よりも低減し、演算の高速化と
同時に装置の小型化を図った誤り位置多項式導出回路を
提供するものである。
In view of the above circumstances, the present invention reduces the amount of hardware for the Galois field multiplier compared to the conventional one by considering the circuit configuration of the Galois field multiplier, which occupies most of the hardware in this type of error locator polynomial derivation circuit. The present invention provides an error locator polynomial deriving circuit that achieves high-speed calculation and miniaturization of the device.

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

本発明は上記目的を実現するめに、ロングデイスタンス
コートの復号に際し、ユークリッド互除法を用いてシン
ドロームから誤り位置多項式を求める誤り位置多項式導
出回路において、2つの元の乗算を行うガロア体乗算器
として、ハンケル行列で一次変換した元と変換を施しで
いない元とにより乗算を行うようにしたIhener−
Hopf方程式に基づいて構成したピント・シリアル型
乗算器を用いるとともに、該ビット・シリアル型乗算2
g内に一方の元を逆変換K −1する逆変換回路を付設
し、該ビット・シリアル型乗算器に入出力されるすべて
の元をそれぞれハンケル行列Kによって一次変換した表
現形式に統一したものである。
In order to achieve the above object, the present invention uses a Galois field multiplier that multiplies two elements in an error locator polynomial derivation circuit that calculates an error locator polynomial from a syndrome using Euclidean algorithm when decoding a long distance code. , Ihener-, which performs multiplication by an element that has been linearly transformed using a Hankel matrix and an element that has not been transformed.
In addition to using a Pinto serial type multiplier configured based on the Hopf equation, the bit serial type multiplier 2
An inverse conversion circuit that inversely transforms one element K −1 is attached in g, and all elements input and output to the bit-serial multiplier are unified into an expression format in which each element is linearly transformed by Hankel matrix K. It is.

〔作 用〕[For production]

Wiener−Hopf方程式に基づいて構成したビッ
ト・シリアル型乗算器に入出力するすべての元をハンケ
ル行列により一次変換した表現形式に統一しするととも
に、乗算すべき2つの元の一方の元を逆変換して乗算す
るように構成したので、演算が高速化されると同時に回
路の構成が簡潔化される。
All input and output elements of the bit-serial multiplier configured based on the Wiener-Hopf equation are unified into an expression format that is linearly transformed using a Hankel matrix, and one of the two elements to be multiplied is inversely transformed. Since the configuration is such that multiplication is performed, the calculation speed is increased and the circuit configuration is simplified.

〔実施例〕〔Example〕

以下、本発明の実施例につき説明する。 Examples of the present invention will be described below.

本発明は、第6図に示した誤り位置多項式導出回路にお
けるガロア体乗算器7゜〜7.および80〜8.として
、以下に詳述するようなWienerHopi方程式に
基づいて構成されたビット・シリアル型乗算器を用いた
ものである。
The present invention is directed to the Galois field multipliers 7° to 7. in the error locator polynomial deriving circuit shown in FIG. and 80-8. This uses a bit serial type multiplier configured based on the Wiener-Hopi equation as detailed below.

ビット・シリアル型巣′n器としては、正規基底に基づ
く方法によって構成されたものやBerlkammpの
方法によって構成されたものなどがあるが、これらの方
法に基づいて構成されたビット・シリアル型乗算器は基
底変換が複雑になる。そこで、本発明は、森井らの提案
になるWiener−Hopf方程式に基づいて構成さ
れたビット・シリアル型乗算器(電子情報通信学会論文
誌’88/3 Vol、J71−A No。
Bit-serial type multipliers include those constructed using a method based on a normal basis and those constructed using Berlkamp's method. , the base conversion becomes complicated. Therefore, the present invention provides a bit-serial multiplier constructed based on the Wiener-Hopf equation proposed by Morii et al. (IEICE Transactions '88/3 Vol. J71-A No.

3 pp845〜853)をガロア体乗算器として採用
した。先ず、このWiener−Hopf方程式に基づ
いて構成されたビット・シリアル型乗算器について説明
する。
3 pp. 845-853) was adopted as a Galois field multiplier. First, a bit serial multiplier constructed based on the Wiener-Hopf equation will be described.

いまベクトル表現されたガロア体GF(2”)上の2元
UおよびSから V ” IJ ’ S        −・−−一・・
−−一−−−・−(22)を満足するSを求めることを
考える。これはv (z) = u (z) −s (
z) mod f(z)  −−(23)但し、f (
z)は原始多項式 を満足するv (z)を求めることに等しい。この時、
次式が成立する。
Now, from the two elements U and S on the Galois field GF (2”) expressed as a vector,
Consider finding S that satisfies (22). This is v (z) = u (z) −s (
z) mod f(z) --(23) However, f (
z) is equivalent to finding v (z) that satisfies the primitive polynomial. At this time,
The following formula holds true.

ている。このハンケル行列KによりU、Vを基底変換す
ると次のようになる。
ing. When U and V are converted into bases using this Hankel matrix K, the following results are obtained.

・−−(24) こごで、αはガロア体GF(2ffi)の原始元、βは
任意の元であり、 但し、xeGF(::’) とする。ここで、 と置く。
・---(24) Here, α is a primitive element of the Galois field GF (2ffi), and β is an arbitrary element, where xeGF(::') is used. Here, put .

一般に、上記にはハンケル行列と呼ばれこの上うなUと
Vを用いると、(24)式に基づいて第4図に示す一般
的なビット・シリアル型乗算器を構成することができる
。すなわち、シフ1−レジスタR9−R7−1の初期値
として、RH−IJt  、 (i  = 0. I 
、 −m −1)   −−−−−−(29)を与える
ことにより、m回のシフト演算でVi(i =0.1.
・・・m−1)を出力して生成することができる。
In general, by using U and V, which are referred to as Hankel matrices above, a general bit serial type multiplier shown in FIG. 4 can be constructed based on equation (24). That is, as the initial value of shift 1 register R9-R7-1, RH-IJt, (i = 0. I
, −m −1) −−−−−−(29) By giving m shift operations, Vi(i =0.1.
...m-1) can be output and generated.

ここに、原始多項式「(2)は f(z)=z″+fffi−、z+・・・トf、z−−
−−−−−(30)とする。
Here, the primitive polynomial "(2) is f(z)=z"+fffi-, z+...t f, z--
------- (30).

しかしながら、第・1図のビット・シリアル型乗算器は
乗する元の表現形式が異なるために汎用性がなく、その
ためにこれまでは一方の乗数が定数である符B化やシン
ドロームの生成時にしか使用できなかった。
However, the bit serial type multiplier shown in Figure 1 is not versatile because the representation format of the elements to be multiplied is different, and for this reason, it has been used only when generating codes or syndromes where one multiplier is a constant. Couldn't use it.

上述したユークリッド互除法における演算では、A(x
)  、 B(x)の係数と各多項式の最高次数との乗
算を行うため、ガロア体の表現形式は同一でなければな
らない。そこで、本発明はこの第4図に示すWiene
r−Hopf方程式に基づくビット・シリアル型乗算器
を汎用化してユークリッド互除法による誤り位置多項式
導出回路に利用できるようにするために、第2図に示す
ような回路構成として拡張を行い、乗算する2つの元を
同一の表現形式で表示できるようにした。
In the operation in the Euclidean algorithm mentioned above, A(x
), the representation format of the Galois field must be the same since the coefficients of B(x) are multiplied by the highest degree of each polynomial. Therefore, the present invention is based on the Wiene shown in FIG.
In order to generalize the bit serial type multiplier based on the r-Hopf equation so that it can be used as an error locator polynomial derivation circuit using the Euclidean algorithm, we expand the circuit configuration as shown in Figure 2 and perform multiplication. It is now possible to display two elements in the same representation format.

すなわち、第4図ではUとVをハンケル行列Kによって
一次変換した表現形式とし、Sについては多項式基底の
ままであったが、本発明では第2図にその一例をしめす
ように残るSについても、ハンケル行列にで一次変換し
たSを用いるように汎用化し、すべての元をハンケル行
列で一次変換した統一した表現形式とする。そして、こ
のハンケル行列にで一次変換したτをもとの基底表現形
式に戻すために、乗算器内に逆変l!AK −’を行う
逆変換回路を付設した。
That is, in FIG. 4, U and V are linearly transformed using the Hankel matrix K, and S remains a polynomial basis, but in the present invention, the remaining S can also be expressed as shown in FIG. , it is generalized to use S linearly transformed into a Hankel matrix, and all elements are linearly transformed into a Hankel matrix to form a unified representation format. Then, in order to return the linearly transformed τ to the Hankel matrix to the original base representation form, the inverse transformation l! is performed in the multiplier. An inverse conversion circuit for performing AK-' is attached.

これにより、すべての元の表現形式が統一され、したが
ってレジスタの表現形式を変えることなく演算処理を行
うことができる。ここで(24)式中のβは任意に選べ
るため、ハンケル行列にしたがって逆行列に−1は21
1−1個あり、最も有利な行列を選ぶことにより逆変換
に必要な回路を最小にすることができる。
As a result, the representation formats of all the originals are unified, and therefore arithmetic processing can be performed without changing the representation format of the registers. Here, β in equation (24) can be arbitrarily selected, so −1 is 21 in the inverse matrix according to the Hankel matrix.
There are 1-1 matrices, and by selecting the most advantageous matrix, the circuit required for inverse transformation can be minimized.

上記結論に基づき、−例として、原始多項式がX” +
X’ +X’ +X” + 1であるcにうなガo7体
GF(2’)上における上記Wiener−Hopf方
程式に法づくビット・シリアル型乗算器の具体的な構成
例を第3図に示す。ここでβ−α250とすると、(2
6)式で与えられる逆行列K −1はとなる。
Based on the above conclusion, − As an example, if the primitive polynomial is
FIG. 3 shows a specific example of the configuration of a bit serial multiplier based on the Wiener-Hopf equation on the c-o7 body GF(2') where X'+X'+X''+1. Here, if β-α250, then (2
The inverse matrix K −1 given by equation 6) is as follows.

この場合、第3図に示すようにこの逆変換は2個のXO
Rゲート31,32だけで構成することができる。した
がって、ガロア体乗算器1個に必要な回路素子はAND
ゲートが8個、XORゲートが11個、被乗数を記憶す
るためのバッファが1ワードである。これは従来のビッ
ト・パラレル型乗算器に比べて約1/3以下のハードウ
ェア量となる。
In this case, this inverse transformation is performed using two XO
It can be configured with only R gates 31 and 32. Therefore, the circuit elements required for one Galois field multiplier are AND
There are 8 gates, 11 XOR gates, and 1 word buffer for storing the multiplicand. This reduces the amount of hardware to about 1/3 compared to a conventional bit-parallel multiplier.

第1図は上記の汎用化したWiener−Hopf方程
式に基づくビット・シリアル型乗算器を用いて構成した
本発明になる誤り位置多項式導出回路の例である。図示
の回路は、第6図中のαA (x)の演算を行うバッフ
ァ3゜〜31、ガロア体乗算器7゜〜7.の部分に対応
する回路である。
FIG. 1 is an example of an error locator polynomial deriving circuit according to the present invention constructed using a bit-serial multiplier based on the generalized Wiener-Hopf equation described above. The illustrated circuit includes buffers 3° to 31 and Galois field multipliers 7° to 7.0 for calculating αA (x) in FIG. This is the circuit corresponding to the part.

第1図中、B (x)の最高次数係数を与えるαはハン
ケル行列Kにより一次変換された形でシフトレジスタ2
1に入力され、また、A (x)の係数データはハンケ
ル行列Kにより一次変換された形でバッファ221〜2
2□い、に記憶される。
In FIG. 1, α, which gives the highest order coefficient of B (x), is linearly transformed by the Hankel matrix K and is stored in the shift register 2.
1, and the coefficient data of A (x) is linearly transformed by Hankel matrix K and sent to buffers 221 to 2.
2 □ is memorized.

乗算αA (x)の実行は、バッファ22.〜22zt
−+の各係数データを逆変換回路23においてそれぞれ
逆変換した後、A’N Dプレーン24に1ピントづつ
送られてシフトレジスタ21からのαと乗算され、該乗
算結果はXORプレーン25により1ピントづつ出力さ
れる。したがって、ユークリッド互除法における(21
)式を演算するには、第1図の回路を2つ並べてαA 
(x)とβB (x)を計算し、各出力のXORをとれ
ばよい。 上記構成の場合、ガロア体乗算器が従来の乗
算器よりもかなり小型化でき、LSIでチップ化が可能
である。
The execution of the multiplication αA (x) is carried out in the buffer 22. ~22zt
After each coefficient data of -+ is inversely transformed in the inverse transformer 23, it is sent one pint at a time to the A'N D plane 24 and multiplied by α from the shift register 21, and the multiplication result is converted into one pin by the XOR plane 25. The focus is output one by one. Therefore, (21
) To calculate the equation, arrange two circuits in Figure 1 and calculate αA.
(x) and βB (x) and XOR the respective outputs. In the case of the above configuration, the Galois field multiplier can be made much smaller than a conventional multiplier, and can be made into a chip using an LSI.

また、α、βをm回シフトするだけですべての係数に対
する演算を行うことができるため、誤り訂正可能なワー
ド数が増えても処理時間は1次のオーダーで増えるだけ
で済む。
In addition, since calculations can be performed on all coefficients by simply shifting α and β m times, even if the number of words that can be error corrected increases, the processing time only increases by one order of magnitude.

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

本発明によれば、入出力する元の表現形式をハンケル行
列で一次変換した形式に統一するとともに、ガロア体乗
算器として汎用化したWiener−11oρf方程式
に基づいたビット・シリアル型乗算器を用い、該乗算器
内にハンケル行列の逆変換を行う逆変換回路を付設した
ので、処理の高速化と同時にハードウェア量を減らして
装置を小型化することができる。
According to the present invention, the representation format of the input/output source is unified to a format obtained by linear transformation using a Hankel matrix, and a bit serial multiplier based on the Wiener-11oρf equation, which is generalized as a Galois field multiplier, is used. Since the multiplier is provided with an inverse transform circuit for inversely transforming the Hankel matrix, it is possible to speed up the processing and at the same time reduce the amount of hardware and downsize the device.

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

第1図は本発明になる誤り位置多項式導出回路の1実施
例の要部構成を示すブロック図、第2図は本発明に用い
る汎用化したWiener−Hopf方程式に基づいて
構成したビット・シリアル型乗算器の構成原理を示す図
、 第3図は上記汎用化した一1ener−Hopf方程弐
に基づいて構成したビット・シリアル型乗算器の具体例
を示す図、 第4図はWiener−Hopf方程式に基づいて構成
した汎用化されていない従来の一般的なビット・シリア
ル型乗算器の構成を示す図、第5図はユークリッド互除
法を用いて誤り位置多項式を求めるためのシストリック
・アルゴリズムのフローチャート、 第6図は誤り位置多項式導出回路の構成を示す図、 第7図は誤り位置多項式導出回路の動作のフローチャー
トである。 21・・・シフトレジスタ、22・・・バッファ、23
・・・逆変換回路、 5・・・XORブレーン、 K・・・パン ケル行列、 K−1・・・逆行列。
FIG. 1 is a block diagram showing the main part configuration of one embodiment of the error locator polynomial deriving circuit according to the present invention, and FIG. 2 is a bit serial type constructed based on the generalized Wiener-Hopf equation used in the present invention. Figure 3 is a diagram showing the principle of construction of a multiplier. Figure 3 is a diagram showing a concrete example of a bit-serial multiplier constructed based on the generalized 11ener-Hopf equation 2. Figure 4 is a diagram showing the construction principle of the Wiener-Hopf equation. Figure 5 is a flowchart of a systolic algorithm for determining an error locator polynomial using the Euclidean algorithm; FIG. 6 is a diagram showing the configuration of the error locator polynomial deriving circuit, and FIG. 7 is a flowchart of the operation of the error locator polynomial deriving circuit. 21...Shift register, 22...Buffer, 23
...Inverse transformation circuit, 5...XOR brane, K...Pankel matrix, K-1...inverse matrix.

Claims (1)

【特許請求の範囲】 ロングディスタンスコードの復号に際し、ユークリッド
互除法を用いてシンドロームから誤り位置多項式を求め
る誤り位置多項式導出回路において、 2つの元の乗算を行うガロア体乗算器として、ハンケル
行列で一次変換した元と変換を施していない元とにより
乗算を行うようにしたWiener−Hopi方程式に
基づいて構成したビット・シリアル型乗算器を用いると
ともに、該ビット・シリアル型乗算器内に一方の元を逆
変換K^−^1する逆変換回路を付設し、 該ビット・シリアル型体乗算器に入出力されるすべての
元をそれぞれハンケル行列Kによって一次変換した表現
形式に統一したことを特徴とするビット・シリアル型乗
算器を用いた誤り位置多項式導出回路。
[Scope of Claims] In an error locator polynomial deriving circuit that calculates an error locator polynomial from syndromes using the Euclidean algorithm when decoding a long distance code, as a Galois field multiplier that multiplies two elements, a first-order polynomial in a Hankel matrix is used. A bit-serial multiplier configured based on the Wiener-Hopi equation that multiplies a transformed element and an untransformed element is used, and one element is placed inside the bit-serial multiplier. It is characterized in that it is equipped with an inverse conversion circuit that performs inverse conversion K^-^1, and that all elements input and output to the bit-serial type field multiplier are unified into a representation format in which each element is linearly transformed by Hankel matrix K. Error locator polynomial derivation circuit using bit-serial multiplier.
JP20828488A 1988-08-24 1988-08-24 Error position polynomial deriving circuit using bit serial type multiplier Pending JPH0258432A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20828488A JPH0258432A (en) 1988-08-24 1988-08-24 Error position polynomial deriving circuit using bit serial type multiplier

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20828488A JPH0258432A (en) 1988-08-24 1988-08-24 Error position polynomial deriving circuit using bit serial type multiplier

Publications (1)

Publication Number Publication Date
JPH0258432A true JPH0258432A (en) 1990-02-27

Family

ID=16553697

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20828488A Pending JPH0258432A (en) 1988-08-24 1988-08-24 Error position polynomial deriving circuit using bit serial type multiplier

Country Status (1)

Country Link
JP (1) JPH0258432A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007309785A (en) * 2006-05-18 2007-11-29 Takenaka Komuten Co Ltd Characteristic vibration mode extraction method, device, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007309785A (en) * 2006-05-18 2007-11-29 Takenaka Komuten Co Ltd Characteristic vibration mode extraction method, device, and program

Similar Documents

Publication Publication Date Title
US4873688A (en) High-speed real-time Reed-Solomon decoder
US6347389B1 (en) Pipelined high speed reed-solomon error/erasure decoder
Fitzpatrick On the key equation
EP0114938B1 (en) On-the-fly multibyte error correction
US6571368B1 (en) Systolic Reed-Solomon decoder
Augot et al. Generalized Gabidulin codes over fields of any characteristic
EP0621698B1 (en) Error correction method including erasure correction, and apparatus therefore
JPH07202715A (en) Time domain algebra encoder / decoder
US6687725B1 (en) Arithmetic circuit for finite field GF (2m)
KR100322739B1 (en) Finite Field Computation Method and Its Apparatus
Daneshbeh et al. A class of unidirectional bit serial systolic architectures for multiplicative inversion and division over GF (2/sup m/)
JP2694792B2 (en) Error position polynomial arithmetic circuit
US8335808B2 (en) Method and apparatus for processing multiple decomposed data for calculating key equation polynomials in decoding error correction code
JP3343857B2 (en) Decoding device, arithmetic device, and methods thereof
US20030126543A1 (en) Method and apparatus for solving key equation polynomials in decoding error correction codes
JPH11136136A (en) Reed solomon coding device and method
JP3239522B2 (en) Data loss correction method and circuit
KR100552694B1 (en) Method and apparatus for multiplication operation in finite field
JPH0258432A (en) Error position polynomial deriving circuit using bit serial type multiplier
JP3614978B2 (en) Galois field division method and division apparatus
JP3233502B2 (en) Decryption device
US20070011592A1 (en) Decoder architecture for Reed Solomon codes
JP2907138B2 (en) Error correction arithmetic processing method and processing circuit
JP3230888B2 (en) Euclidean circuit
JPH08139612A (en) Reed solomon error correction code decoding circuit