JPH10190482A - Reed-solomon encoding, decoder and its circuit - Google Patents

Reed-solomon encoding, decoder and its circuit

Info

Publication number
JPH10190482A
JPH10190482A JP8351563A JP35156396A JPH10190482A JP H10190482 A JPH10190482 A JP H10190482A JP 8351563 A JP8351563 A JP 8351563A JP 35156396 A JP35156396 A JP 35156396A JP H10190482 A JPH10190482 A JP H10190482A
Authority
JP
Japan
Prior art keywords
clock
polynomial
synchronization
finite field
inputs
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.)
Withdrawn
Application number
JP8351563A
Other languages
Japanese (ja)
Inventor
Keiichi Iwamura
恵市 岩村
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP8351563A priority Critical patent/JPH10190482A/en
Publication of JPH10190482A publication Critical patent/JPH10190482A/en
Withdrawn legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To show a method for realizing each Reed-Solomon (RS) encoding and decoding processing through an operation element (PE) that has one multiplier and to provide an RS encoding that uses it, an decoder and its circuit. SOLUTION: An RS encoding and decoding processing is realized through a PE that carries out an operation of one multiplication and one addition, i.e., a×b+c. The PE eliminates one multiplier 3 and inserts one AND gate A instead. Then, the gate A makes a signal from a selector output Y pass through at the time of a control signal S3=1, and outputs '0' at the time of the S3=0. The PEs are connected in accordance with each processing, and an RS encoding and decoding processing circuit is formed by arranging plural PEs in one-dimensional shape and making them a pipeline operation.

Description

【発明の詳細な説明】 【0001】 【発明の属する技術分野】本発明は、デジタル通信シス
テム及びデジタル記憶システムにおいて、通信路または
記憶媒体で受けた誤りを受信側で自動的に訂正する誤り
訂正符号方式を実現する回路,装置及びシステムに関す
るものである。 【0002】 【従来の技術】近年、メモリシステムを始めるとする各
種デジタルシステムの信頼性向上の対策として、誤り訂
正符号の適用が浸透してきている。なかでも、「符号理
論」(今井秀樹著、電子情報通信学会発行、1990)
第7章に詳述されているリード・ソロモン符号(以下、
RS符号と略す)は、同一の符号長と訂正能力を持つ線
形符号の中で、最も冗長度を低くできるという特徴を持
つ実用上非常に重要な符号であり、衛星通信,光磁気デ
ィスク,コンパクトディスク等に広く利用されている。 【0003】RS符号とは、以下の手続きによって符号
化及び復号される誤り訂正符号である。ただし、1つの
シンボルはmビットから構成され、各シンボルは前述の
「符号理論」第3章に詳述される有限体(ガロア体とも
いう)GF(q)の元である。さらに、1つの符号はn
個(n≦q−1)のシンボルからなる。また、訂正能力
を規定する最小距離と呼ばれる値dに対して、情報長は
k=n−(d−1)シンボルとなる。ここで生成多項式
には次式を用いる。 【0004】 ビットが2値(1か0)である場合には有限体はGF
(2m )と表される。ここでは、簡単のためb=0とす
る。また、ビットが2値(1か0)である場合には有限
体GF(q)はGF(2m )と表されるが、これも簡単
のために符号はGF(2m )上に定義されるとする。符
号化は次の演算によって行われる。 <符号化>各情報シンボル(Ik-1 ,Ik-2 ,…,I
0 )を係数とする多項式 P(x)=I(x)・Xd-1 mod G(x)を生成する。
このとき、送信される符号後はC(x)=I(x)・x
d-1 +P(x)と表される。ただし、deg P(x)<d
−1であり、P(x)の各係数が検査記号を与える。な
お、deg は次数を表す。 <通信路>通信路において、送信された符号語C(x)
に誤りE(x)が加わり、受信側では次の受信語R
(x)が受信されるとする。ただし、E(x)の各係数
も有限体上の元で表され、誤りがなければ“0”であ
る。 【0005】 R(x)=C(x)+E(x) …(2) <復号>RS符号の復号法には種々のものがあるが、こ
こでは次に示す1)〜6)の演算に基づく方法を考え
る。ただし、s個の消失が位置h1 ,h2 ,…,hs
生じ、消失位置以外にr個の誤りが位置k1 ,k2
…,kr に生じているとする。消失とは、誤り訂正処理
の前に何らかの方法によって誤りが生じている可能性の
あるシンボルが予めわかっている場合をいい、消失位置
はフラグ等で指示されるものとする。したがって、復号
器は消失位置h1 ,h2 ,…,hs を知っているが、k
1 ,k2 ,…,kr は未知である。また、2t+s+1
≦d(tは訂正可能な誤りの数を表し、t≧rである)
が成立していると仮定する。 【0006】(1)シンドローム多項式の生成 受信語(Rn-1 ,Rn-2 ,…,R0 )から、次のシンド
ローム多項式S(x)を生成する。 (2)消失位置多項式の生成 s個の消失位置h1 ,h2 ,…,hs に対しYj =αhj
(j=1,2,…,s)とし、次の消失位置多項式λ
(x)を求める。 【0007】(3)消失位置多項式とシンドローム多項式の乗算 (1) 及び(2) の処理によって求められたシンドローム多
項式S(x)と消失位置多項式λ(x)との積、多項式
M(x)=S(x)・λ(x)を求める。 【0008】(4)誤り位置多項式と誤り数値多項式の
生成 多項式xd-1 と(3) から得られるM(x)(mod x
d-1 )に対し、次式を満足する誤り位置多項式σ
(x)、及び誤り数値多項式ω(x)が定係数の違いを
除いて一意的に定まることが知られている。 deg ω(x)<t+s,deg σ(x)≦t D(x)・xd-1 +σ(x)・M(x)=ω(x) …(6) ただし、D(x)はGF(2m )上の多項式である。 【0009】このω(x)及びσ(x)は、A0 =x
d-1 ,B0 =M(x)(mod xd-1 )の最大公約多項式
(以下GCDと略す)を求めるユークリッドの互除法の
過程で求め得る。 (5)誤り位置と誤り数値の生成 (4) で得られる誤り位置多項式σ(x)にx=α
-n+i(i=1,…,n)を代入した値を求める。また、
σ(α-n+i)=0となる誤り位置、及び(2) に示された
消失位置におけるσ(x)の形式的微分式σ’(x),
消失位置多項式λ(x),λ(x)の形式的微分式λ’
(x),及び誤り数値多項式ω(x)の値を求める。た
だし、σ(x),λ(x)の形式的微分式とは、σ
(x),λ(x)の次数を1次下げ、奇数次数の係数を
“0”とした多項式である。 【0010】(6)誤り訂正の実行 (5) から得られる誤り位置、及び(2) の消失位置におい
て次式から得られる誤り及び消失の値en-i を求める。 en-1 =ω(α-n+i)/{σ’(α-n+i)・λ(α-n+i)+λ’(α-n+i)・ σ(α-n+i)} …(7) ここで、i番目の受信後、Rn-i に対して R’n-i =Rn-i +Pn-i …(8) を求めることによって誤りが訂正できる。 【0011】以上でRS符号の符号化及び復号の説明を
終わる。本出願人が先に出願した特開昭63−1575
30号(以下、先願という)において、上述のRS符号
化・復号の各処理を同一の演算素子(プロセッシングエ
レメント:以下、PE)を用いて構成することによっ
て、IC化に適した回路の構成法を開示した。 【0012】先願では、各処理が図1に示すPEによっ
てすべて構成できるために、回路の構造が簡単になると
いう特徴を有している。図1において1は外部から与え
られる制御信号S1,S2によって図2のように制御さ
れるセレクタ、2,3はGF(2m )上の乗算器、4は
GF(2m )上の加算器、5〜7は各PE間の同期をと
るためにクロックCKによって制御されるmビットのレ
ジスタである。 【0013】しかし、先願に用いられるPEは図1から
わかるように2つの乗算器を持っている。GF(2m
上の加算はm個の排他的ORゲートによって簡単に構成
できるが、乗算は加算に比べて複雑な回路を必要とし回
路規模が大きくなる。1例としてm=4の場合の加算器
と乗算器を、各々図3,図4に示す(図4の乗算器の原
始多項式はx4 +x+1=0とする)。 【0014】よって、複数のPEを用いる場合、1つの
PE内の乗算器を少なくするだけで大きな回路規模の削
減が可能になる。従って、先願では各PEが2つの乗算
器を持つために、回路規模が大きくなるという欠点があ
った。 【0015】 【発明が解決しようとする課題】そこで、本発明は、上
述の欠点を除去し、1つの乗算器を持つPEによって上
述の各RS符号化・復号処理を実現する手法を示し、そ
れを用いたRS符号化・復号器を提供する。又、本発明
は、PEの乗算器を1つとすることで、より小型のシン
ドローム多項式生成回路を提供する。 【0016】又、本発明は、PEの乗算器を1つとする
ことで、より小型の消失位置多項式生成回路を提供す
る。又、本発明は、PEの乗算器を1つとすることで、
より小型の乗算回路を提供する。又、本発明は、PEの
乗算器を1つとすることで、より小型の最大公約多項式
生成回路を提供する。 【0017】又、本発明は、PEの乗算器を1つとする
ことで、より小型の誤り位置及び誤り数値生成回路を提
供する。又、本発明は、PEの乗算器を1つとすること
で、より小型の誤り訂正の実行回路を提供する。 【0018】 【課題を解決するための手段】上記先願では、2つの乗
算と1つの加算、すなわちa・b+c・dの演算を実行
するPEによって、上述のRS符号化・復号処理を実現
した。本発明では、1つの乗算と1つの加算、すなわち
a・b+cの演算を実行する図5に示すPEによって、
上述のRS符号化・復号処理を実現する。図5のPEは
図1のPEから乗算器3をなくし、その代わりにAで表
されるANDゲートが1つ挿入されている。従って、そ
のANDゲートは制御信号S3=1の時にセレクタ出力
Yからの信号を通過させ、S3=0の時に“0”を出力
する。図5のPEの他の構成要素は図1のPEと同じで
ある。 【0019】 【発明の実施の形態】まず、復号処理に必要な(1)〜
(6)の各処理を実現するための回路構成例を示し、次
にRS符号化・復号器全体の回路構成を説明する。最後
に、そのRS符号化・復号器を用いた通信システム及び
記録システムについて説明する。 <シンドローム多項式の生成>まず、(1)のシンドロ
ーム多項式を生成する回路を図6に示す。このシンドロ
ーム生成の処理では受信系列R=(Rn-1 ,Rn-2
…,R1 ,R0 )から、シンドローム(Sd-2 ,S
d-3 ,…,S1 ,S0 )を生成する。シンドロームの式
(4)は式(9)のように書き直せるので、次のアルゴ
リズム1によって実行される。 【0020】 Sj-1 =(…((Rn-1 αj-1 +Rn-2 )αj-1 +Rn-3 )αj-1 +…+R1 )αj-1 +R0 …(9) アルゴリズム1: FOR j=1 TO d−1 Z0,j =0 FOR i=1 TO n Zi,j =Zi-1,j ・αj-1 +Rn-1 …(10) NEXT Sj-1 =Zn,j NEXT 以後、jを処理を行っているPEの番号、iを各PEに
おける処理クロック数と考える。これから、図5のPE
をd−1個用いて図6のように接続し、図7のように制
御することによって、#jのPEにSj-1 のシンドロー
ムが生成できることがわかる。ただし、S3=1とす
る。 【0021】<消失位置多項式の生成>式(5)に示す
λ(x)の演算は次のように実行する。ただし、λ
(x)のs−i次の係数をλs-1 ,Z0,0 以外のZi,j
の初期値は“0”とする。 アルゴリズム2: Z0,0 =1 FOR j=1 TO s FOR i=0 TO s Zi,j =(1−Yj x)・Zi,j-1 =Yj ・Zi,j-1 +Zi-1,j-1 NEXT …(11) NEXT FOR i=0 TO s λs-i =Zi,s NEXT 変数xは単位時間(1クロック)のずれを表す。従っ
て、Zi,j-1 の入力にY j を乗じて、1クロック遅らせ
たZi-1,j-1 と加算すればよい。よって、λ(x)を生
成するには、図5のPEをs個用いて図8のように接続
し、図9のように制御する。ただし、iは処理クロック
数を表し、jはPEの番号を表すと考えられるので、図
9は図5のPEのセレクタをi=0、すなわち、処理開
始時のみ(S1,S2)=(1,1)とし、それ以降
(S1,S2)=(1,0)と制御することを意味す
る。(iは#jのPEにおける処理クロックを意味する
ので、PE毎に1クロックづつずれていることに注
意。)ただし、S3=1とする。また、図8において、
変数xによる1クロック遅れはO出力からの出力をB入
力にフィードバックすることによって実現している。 【0022】<消失位置多項式とシンドローム多項式の
乗算>(3) に示す多項式の乗算を行うために、図5のP
Eをd−1個用いて図10のように接続し、図11のよ
うに制御する。ただし、S3=1。この場合、乗算M
(x)=S(x)・λ(x)の計算は次のように実行さ
れる。ただし、M(x)のj−1次の係数をMj-1 、Z
i,j の初期値は“0”とする。 アルゴリズム3: FOR j=1 TO d−1 FOR i=0 TO d−2 Zi,j =Zi+1,j-1 +λi ・Sj-1 …(12) NEXT Mj-1 =Z0,j NEXT iは処理クロックを表し、jはPEの番号を表すので、
λi はZi+1,j-1 に対して1クロック遅れている。この
処理は図10ではPE間にレジスタを挿入することによ
って実現している。 【0023】<誤り位置多項式と誤り数値多項式の生成
>(4) の誤り位置多項式σ(x)と誤り数値多項式ω
(x)の導出は、ユークリッドの互除法によって実現さ
れる。これは、xd-1 を多項式A0 とおき、(3) の乗算
回路から得られるM(x)(mod xd-1 )を多項式B0
とおいた時、(degA0 =d−1,deg B0 =d−
2)、A0 ,B0 の最大公約多項式を求める途中で前述
の式(6)を満たす多項式ω(x),σ(x)を求める
という問題である。この問題は次のアルゴリズム4を実
行することによって解くことができる。 アルゴリズム4: T0 =0,A0,0 =1,Bi,0 =Md-2-i ,Vd-2,0 =1(他の初期値は0) FOR j=1 TO d−s+1 FOR i=0 TO d−2 (係数処理) IF Tj-1 =0 THAN Ai,j =Ai,j-1 ,Bi,j =Bi,j-1i,j =Ui,j-1 ,Vi,j =Vi,j-1 IF Tj-1 =1 THAN Ai,j =Ci,j-1 ,Bi,j =Bi,j-1i,j =Wi,j-1 ,Vi,j =Vi,j-1 IF Tj-1 =2 THAN Ai,j =Ai,j-1 ,Bi,j =Ci,j-1i,j =Wi,j-1 ,Vi,j =Wi,j-1j =A0,j ,bj =B0,ji-1,j =bj ・Ai,j …(13) Ci-1,j =aj ・Bi,j +Ci-1,j …(14) Wi-1,j =bj ・Ui,j …(15) Wi-1,j =aj ・Vi,j +Wi-1,j …(16) NEXT (次数処理) IF Tj-1 =0 THAN deg Aj=deg Aj-1 ,deg Bj=deg Bj-1 deg Uj=deg Uj-1 ,deg Vj=deg V j-1 IF Tj-1 =1 THAN deg Aj=deg Aj-1 −1,deg Bj=deg Bj-1 , deg Uj=MAX(deg Uj-1 ,Vj-1 +deg AB),deg Vj=deg Vj-1 IF Tj-1 =2 THAN deg Aj=deg Aj-1 ,deg Bj=deg Bj-1 −1, deg Uj=deg Uj-1 ,deg Vj=MAX(deg Vj-1 ,Uj-1 +deg AB) IF aj =0 OR ( bj ≠0 AND degAj ≧deg Bj) THEN Tj =1 ELSE Tj =2 IF (degAj <t+s)AND (degBj <t+s) THEN Tj =0 IF aj =0 AND bj =0 THEN degjAB=0 ELSE degjAB= degAj −deg Bj NEXT アルゴリズム4においてAi,j は多項式Aj の係数を表
すが、A0,j が最高次係数を表し、以下iの値の増加に
つれて順に低次数の係数を表す(他も同様)。また、求
めるω(x),σ(x)は各々アルゴリズム4から得ら
れるCi,j ,W i,j の最終結果を係数とする多項式C
j ,Wj であり、その次数は各々r+s−1,rであ
る。ただし、Tj だけは後述するように多項式ではなく
0,1,2の値を持つ整数である。またMax (X,Y)
はX,Yのうち大きい方をとる関数である。 【0024】アルゴリズム4の特徴は、図5のPEに適
するようにユークリッドの互除法を係数処理と次数処理
に分解し、かつ、各処理の負荷が同じになるようにして
いる点である。図12にアルゴリズム4の係数処理を実
行する回路を示す(ただし、図12において各PEのH
の位置は図5と逆になっている点に注意)。まず、ω
(x)に関する図12の回路の動作を説明する。ただ
し、図12において奇数番目のPEはアルゴリズム4の
式(13)の計算を行い、偶数番目のPEは式(14)
の計算を行うために、2つのPEによって式(13),
(14)の計算が行われる。従って、図12に用いられ
るPEの数はjの最大値の2倍の個数になっている。図
12においてxd-1 ,M(x)はA0 ,B0 として最高
次係数から入力される。このとき、図12の#2j−1
(奇数番目)のPEは、後述する次数処理を実行してい
る別回路から入力される制御信号Tj-1 によって図13
のように制御され、Ai,j ,Bi,j が選択される。この
とき、多項式Bj の最高次数係数bj は、CKD(i=
0のとき立ち上るクロック)で制御されるレジスタに保
持され、さらに、S3=0とすることによって式(1
3)のCi-1,jが計算され次のPEに出力される。次
に、#2j(偶数番目)のPEは、(S1,S2,S
3)=(1,1,1)とすることによって式(14)の
i-1,j が計算される。また、図12における偶数番目
のPEの後のレジスタは、出力されるCi-1,j をiクロ
ック遅らせることによってCi,j とし、Ai,j ,Bi,j
と同期させるために用いられる。 【0025】また、アルゴリズム4からσ(x)の計算
に関するUi,j ,Vi,j ,Wi,j の処理は、ω(x)の
計算に関するAi,j ,Bi,j ,Ci,j の処理と同じであ
るので、図12の回路を用いて処理を繰り返すことによ
って実現される。この場合、図12の回路への初期値は
d-1 ,M(x)の代わりに(0,1)とし、CKDの
レジスタの内容は保持されているとする。また、CKD
のレジスタの内容と制御信号を同じにし、初期値の入力
を与えた同一の構成の回路をもう1組用いれば、多項式
j ,Bj ,Cj の処理と多項式Uj ,Vj ,Wj の処
理も並列に実行することができる。 【0026】アルゴリズム4の次数処理は、各多項式の
次数演算と制御信号Tj の生成を行うが、係数処理のよ
うに多項式の複数の係数を連続して扱わず、各次式や制
御信号は1つの整数であるので、処理ステップ数が少な
い。また、行う処理は加減算と大小比較であるので、加
算器と比較機があれば簡単に構成できることは明らかで
ある。従って、次数処理は既存のCPU等によっても実
現できる。 【0027】<誤り位置と誤り数値の生成>(5) では、
(4) で得られた誤り位置多項式σ(x)にGF(2m
の元α-n+i(i=1,…,n)を逐次代入してσ(α
-n+i)=0となる誤り位置を求める。また、求めた誤り
位置または(2) 示される消失位置をα-n+hとすると、σ
(x)の形式的微分式σ’(x)と(2) から得られる消
失位置多項式λ(x)、その形式的微分式λ’(x)、
及び(4) から得られる誤り数値多項式ω(x)にx=α
-n+hを代入した値を求める。ここで具体的に必要な計算
は単に多項式に変数を代入し、その値を求める計算であ
る。たとえば、σ(x)をt−1次の多項式、σ t-j
t−j次の係数とすると、σ(α-n+i)(i=1,…,
n)の計算は次のように実行される。 アルゴリズム5: FOR i=0 TO n Zi,0 =0 FOR j=1 TO t Zi,j =Zi,j-1 ・α-n+i+σt-j …(17) NEXT σ(α-n+i)=Zi,t NEXT iは処理クロック、jはPE番号を表すのでσ
(α-n+i)の計算はPEを移動することによって実行さ
れる。従って、図5のPEを図14のように接続するこ
とによってσ(α-n+i)の値を求めることができる。た
だし、各PEの制御信号(S1,S2,S3)=(0,
0,1)とする。 【0028】図14の回路は、多項式の値を求めるため
に一般的に用いることができるので、多項式ω(x),
σ’(x),λ(x),λ’(x)の値も図14の回路
によって同様に求められることは明らかである。 <誤り訂正の実行>(6) の誤り訂正の実行部を図5のP
Eを用いて図15のように構成する。図15において必
要なPEの数は3個である。このとき、消失位置(λ
(α-n+i)=0)において#1のPEの制御信号(S
1,S2,S3)=(0,1,1,)にしておくと、こ
のPEはσ(α-n+i)・λ’(α-n+i)を計算する。#
2のPEも同様の制御信号によって、誤り位置(σ(α
-n+i)=0)においてσ’(α-n +i)・λ(α-n+i)を
計算し、C入力からの#1の出力と加算することによっ
て式(7)の分母の値が計算される。さらに、ROMな
どから構成される逆数生成回路(1/X)によって、該
分母の逆数を#3のPEに入力する。さらに、#3のP
Eは(S1,S2,S3)=(1,0,1)のように制
御することによって誤り及び消失の値が計算され、受信
語Rn-i と加えることによって誤り及び消失訂正が実行
される。 【0029】<RS複号器の構成例1>以上のように、
(1) 〜(6) の各復号処理は、図5のPEによって各々図
6、図8、図10、図12、図14、図15に示す回路
のように実現できる。よって、(1) 〜(6) の各処理のつ
ながりから、図16に示すような全体構成を持つRS復
号器が構成される。ただし、実際のRS復号器はこれに
各処理に応じて制御信号を生成する回路を付加する必要
があるが、制御信号は前述のように各処理に応じて固定
的であるので、ROMなどを用いて容易に制御回路を構
成できることは明らかである。 【0030】また、RS復号器全体の処理は、図17に
示すようなパイプライン的に動作して連続する符号語の
復号をリアルタイムに実現する。さらに、RS復号処理
は消失位置を検査記号の位置とすればRS符号化処理と
なることが知られているので、このRS復号器はRS符
号化・復号器としても用いることができる。 <RS複号器の構成例2>図16のRS復号器は、(2)
の消失位置多項式の生成と(3) の多項式の乗算に図8,
図10に示す異なる回路を用いた。また、(5) の誤り位
置と誤り数値の生成には、5つの多項式σ(x),σ’
(x),ω(x),λ(x),λ’(x)に対して各々
図14の回路を必要とした。しかし、次のような変更を
行うことも可能である。 【0031】A:(2) の消失位置多項式生成は次のよう
にして生成されている。λ(x)の初期値をλ0 (x)
=1とし、λi (x)=λi-1 (x)・(1−Yi x)
の処理をi=1,…,sに対して繰り返すことによって
消失位置多項式λ(x)=λ s (x)を得る。従って、
λ(x)の初期値をλ0 (x)=S(x)とすれば、
(2) と同様の処理によって(3) に示されるλ(x)=S
(x)・λs (x)=M(x)が得られることは明らか
である。従って、図8の#1のPEのC入力を1(10
0…)からS(x)(S0 ,S1 ,…)に変えるだけ
で、図10と同様のM(x)が求められる。 【0032】B:(4) のユークリッドの互除法とはω-1
(x)=xd-1 ,ω0 (x)=M(x),σ-1(x)=
0,σ0 (x)=1を初期値として、次の演算をdeg ω
e (x)<tとなるまで繰り返す処理のことである。 ωi (x)=qi ・ωi-1(x)+ωi-2(x)(deg ωi-1 >deg ωi ) …(18) σi (x)=qi ・σi-1(x)+σi-2(x) …(19) この場合、誤り位置多項式はσ(x)=σe (x)、誤
り数値多項式はω(x)=ωe (x)となる。よって、
初期値をσ0 (x)=λ(x)とすれば、式(19)か
ら得られる最終結果の多項式は、λ(x)・σe (x)
となることがわかる。よって、σ(x)を求める場合、
図12のA,B入力に各々入力するσ-1(x)=0,σ
0 (x)=1をσ-1(x)=0,σ0 (x)=λ(x)
とすればよい。以後、この多項式を誤り及び消失位置多
項式τ(x)=λ(x)・σ(x)と呼ぶ。 【0033】C:Bからτ(x)=λ(x)・σ(x)
である。λ(x)は消失位置多項式であるので消失位置
においてλ(αi )=0となり、σ(x)は誤り位置多
項式であるので誤り位置においてσ(αi )=0とな
る。よって、τ(x)は消失位置と誤り位置においてτ
(αi )=0となり、誤り位置と消失位置の両方を示
す。また、τ(x)の形式的部分はτ’(x)=λ’
(x)・σ(x)+λ(x)・σ’(x)となる。従っ
て、ω(αi )/τ’(αi )は式(7)と同じにな
り、誤り及び消失の大きさを表す。よって、(5) で求め
た多項式の値は、ω(x),τ’(x),τ(x)に対
する3つでよい。従って、図14の回路も3つでよい。
また、図15の誤り訂正の実行回路は、#1,#2のP
Eが必要なく、#3のPEの逆数を求めるROMに直接
τ’(αi )の値を入力すればよい。 【0034】そこで、上記A〜Cの変更を行うことによ
って図18に示す復号器によってもRS復号が行える。
また、このRS復号器も、前RS復号器例と同様に消失
位置を検査記号の位置とすることによってRS符号化・
復号器として用いることができる。 <デジタル通信システムへの適用例>図16,図18に
示したRS符号化・復号器は、各種デジタルシステムの
信頼性向上のために用いられる。図19は本実施の形態
のRS符号化・復号器をデジタル通信システムに用いた
場合の一例を示している。デジタル通信システムの例と
しては、衛星通信、SS(Spread Spectrum )通信やL
AN(Local Area Network)などが考えられる。この場
合、図19に示す通信路は空間やファイバ等となり、送
受信機は各通信端末やコンピュータ等になる。ただし、
この例では送受信機に本実施の形態のRS符号化・復号
器が含まれている。 【0035】<デジタル記憶システムへの適用例>本実
施の形態によるRS符号化・復号器をデジタル記憶シス
テムに用いた場合を、図20に示している。デジタル記
憶システムとしては、光ディスク装置や光磁気ディスク
装置等が考えられる。尚、本発明は、複数の機器から構
成されるシステムに適用しても1つの機器から成る装置
に適用しても良い。また、本発明は、システム或は装置
にプログラムを供給することによって達成される場合に
も適用できることはいうまでもない。 【0036】 【発明の効果】本発明は、PEの乗算器を1つとするこ
とで、より小型のRS符号化・復号器を実現できる。そ
して、本発明は、同一のPEを規則的に並べパイプライ
ン的に処理を行うので、回路の構造及び制御が非常に容
易になるという利点がある。又、本発明は、PEの乗算
器を1つとすることで、より小型のシンドローム多項式
生成回路を実現できる。 【0037】又、本発明は、PEの乗算器を1つとする
ことで、より小型の消失位置多項式生成回路を実現でき
る。又、本発明は、PEの乗算器を1つとすることで、
より小型の乗算回路を実現できる。又、本発明は、PE
の乗算器を1つとすることで、より小型の最大公約多項
式生成回路を実現できる。 【0038】又、本発明は、PEの乗算器を1つとする
ことで、より小型の誤り位置及び誤り数値生成回路を実
現できる。又、本発明は、PEの乗算器を1つとするこ
とで、より小型の誤り訂正の実行回路を実現できる。
DETAILED DESCRIPTION OF THE INVENTION [0001] TECHNICAL FIELD The present invention relates to a digital communication system.
Communication system or digital storage system
Errors that automatically correct errors received on the storage medium on the receiving side
Circuits, devices, and systems that implement correction code systems
Things. [0002] 2. Description of the Related Art In recent years, various types of memory systems have been started.
Error correction as a measure to improve the reliability of digital systems
The application of the plus sign is permeating. Among them,
Theory ”(Hideki Imai, published by the Institute of Electronics, Information and Communication Engineers, 1990)
Reed-Solomon codes detailed in Chapter 7 (hereinafter referred to as
RS code) is a line with the same code length and correction capability
It has the feature that the redundancy can be minimized among the shape codes.
Is a very important code for practical use.
Widely used for disks, compact discs, etc. [0003] The RS code is obtained by the following procedure.
Error correction code to be converted and decoded. However, one
Each symbol is composed of m bits, and each symbol is
Finite fields (also known as Galois fields) detailed in Chapter 3 of "Coding Theory"
GF (q). Further, one code is n
(N ≦ q−1) symbols. Also, correction ability
For a value d called the minimum distance that defines
k = n- (d-1) symbols. Where the generator polynomial
The following equation is used. [0004] If the bit is binary (1 or 0), the finite field is GF
(2m ). Here, it is assumed that b = 0 for simplicity.
You. If the bit is binary (1 or 0), it is finite
The body GF (q) is GF (2m ), Which is also easy
The code is GF (2m ) Is defined above. Mark
The encoding is performed by the following operation. <Encoding> Each information symbol (Ik-1 , Ik-2 , ..., I
0 ) As a polynomial P (x) = I (x) · Xd-1 Generate mod G (x).
At this time, after the code to be transmitted, C (x) = I (x) · x
d-1 + P (x). Where deg P (x) <d
-1 and each coefficient of P (x) gives a check symbol. What
Note that deg represents the order. <Communication Channel> Codeword C (x) transmitted on the communication channel
, An error E (x) is added to the received word R on the receiving side.
Assume that (x) is received. However, each coefficient of E (x)
Is also represented by an element on the finite field, and is "0" if there is no error.
You. [0005]   R (x) = C (x) + E (x) (2) <Decoding> There are various RS code decoding methods.
Here, a method based on the following operations 1) to 6) is considered.
You. Where s disappearances are at position h1 , HTwo , ..., hs To
Occur and r errors other than the erasure position1 , KTwo ,
…, Kr Is assumed to have occurred. Erasure is error correction processing
Error may have occurred in some way before
The position where a certain symbol is known in advance.
Is indicated by a flag or the like. Therefore, decrypt
The vessel is in the disappearance position h1 , HTwo , ..., hs Know, but k
1 , KTwo , ..., kr Is unknown. Also, 2t + s + 1
≦ d (t represents the number of correctable errors, and t ≧ r)
Is assumed to hold. (1) Generation of syndrome polynomial Received word (Rn-1 , Rn-2 , ..., R0 ) From the next sind
Generate a ROHM polynomial S (x). (2) Generation of vanishing position polynomial s disappearing positions h1 , HTwo , ..., hs For Yj = Αhj
(J = 1, 2,..., S) and the following erasure position polynomial λ
Find (x). [0007](3) Multiplication of vanishing position polynomial and syndrome polynomial The number of syndromes determined by the processing of (1) and (2)
Product of polynomial S (x) and erasure position polynomial λ (x), polynomial
M (x) = S (x) · λ (x) is obtained. (4) The error locator polynomial and the error numerical polynomial
Generate Polynomial xd-1 And M (x) (mod x
d-1 ), The error locator polynomial σ satisfying the following equation
(X) and the error numerical polynomial ω (x)
It is known that it is uniquely determined except for this.   deg ω (x) <t + s, deg σ (x) ≦ t   D (x) xd-1 + Σ (x) · M (x) = ω (x) (6) Where D (x) is GF (2m ) Is the above polynomial. The ω (x) and σ (x) are A0 = X
d-1 , B0 = M (x) (mod xd-1 ) Greatest common polynomial
(Hereinafter abbreviated as GCD) of Euclid's algorithm
Can be determined in the process. (5) Error location and error value generation In the error locator polynomial σ (x) obtained by (4), x = α
-n + iA value obtained by substituting (i = 1,..., N) is obtained. Also,
σ (α-n + i) = 0 error position, and as shown in (2)
Formal differential expression of σ (x) at the disappearance position σ ′ (x),
Formal differential expression λ ′ of vanishing position polynomial λ (x), λ (x)
(X) and the value of the error numerical polynomial ω (x). Was
However, the formal differential expressions of σ (x) and λ (x) are σ
(X), the order of λ (x) is lowered by one, and the coefficient of the odd order is
This is a polynomial with "0". (6) Execution of error correction Error position obtained from (5) and erasure position in (2)
And the error and erasure values e obtained fromni Ask for.   en-1 = Ω (α-n + i) / {Σ ’(α-n + i) ・ Λ (α-n + i) + Λ ′ (α-n + i) ・   σ (α-n + i)}… (7) Here, after the i-th reception, Rni Against   R 'ni = Rni + Pni                                … (8) Can correct the error. The encoding and decoding of the RS code has been described above.
Ends. Japanese Patent Application Laid-Open No. 63-1575 filed earlier by the present applicant
In No. 30 (hereinafter referred to as the prior application), the above-mentioned RS code
The same processing element (processing
Element:
Thus, a circuit configuration method suitable for IC has been disclosed. In the prior application, each processing is performed by the PE shown in FIG.
Since the circuit structure can be simplified,
It has the characteristics described above. In FIG. 1, 1 is given from outside.
The control signals S1 and S2 are controlled as shown in FIG.
Selectors 2, 3 are GF (2m ), The multiplier above 4
GF (2m ) The above adders, 5 to 7 synchronize each PE.
M bits controlled by clock CK
It is a Gista. However, the PE used in the prior application is shown in FIG.
As can be seen, it has two multipliers. GF (2m )
The above addition is easily configured with m exclusive OR gates
Although multiplication is possible, multiplication requires a complicated circuit
The road scale becomes large. As an example, an adder when m = 4
And the multiplier are shown in FIGS. 3 and 4, respectively.
The starting polynomial is xFour + X + 1 = 0). Therefore, when a plurality of PEs are used, one PE
Large circuit scale can be reduced simply by reducing the number of multipliers in PE.
Can be reduced. Therefore, in the prior application, each PE has two multiplications.
The drawback is that the circuit scale increases due to the
Was. [0015] SUMMARY OF THE INVENTION Therefore, the present invention
The above disadvantages are eliminated and the PE with one multiplier
A method for realizing each of the RS encoding and decoding processes described above is shown.
An RS encoder / decoder using the same is provided. Also, the present invention
Has a smaller multiplier by using a single PE multiplier.
Provided is a drome polynomial generation circuit. In the present invention, the number of PE multipliers is one.
To provide a smaller erasure position polynomial generation circuit.
You. Also, the present invention provides a single PE multiplier,
Provide a smaller multiplication circuit. The present invention also relates to PE
By using one multiplier, a smaller greatest common polynomial
A generation circuit is provided. In the present invention, the number of PE multipliers is one.
This provides a smaller error location and error value generator.
Offer. Also, the present invention uses a single PE multiplier.
Thus, a smaller error correction execution circuit is provided. [0018] In the above-mentioned prior application, two powers are used.
Performs arithmetic and one addition, that is, a · b + cd · d operation
The above-mentioned RS encoding / decoding processing
did. In the present invention, one multiplication and one addition, that is,
The PE shown in FIG. 5, which performs the operation of a · b + c,
The above-described RS encoding / decoding processing is realized. The PE in FIG.
The multiplier 3 is eliminated from the PE shown in FIG.
One AND gate is inserted. Therefore,
AND gate of the selector outputs the selector when the control signal S3 = 1
Pass the signal from Y and output "0" when S3 = 0
I do. The other components of the PE of FIG. 5 are the same as those of FIG.
is there. [0019] DESCRIPTION OF THE PREFERRED EMBODIMENTS First, (1)-
An example of a circuit configuration for realizing each processing of (6) is shown.
The circuit configuration of the entire RS encoder / decoder will be described. last
A communication system using the RS encoder / decoder;
The recording system will be described. <Generation of Syndrome Polynomial> First, the syndrome in (1)
FIG. 6 shows a circuit for generating a form polynomial. This syndrome
In the process of generating the frame, the reception sequence R = (Rn-1 , Rn-2 ,
…, R1 , R0 ), The syndrome (Sd-2 , S
d-3 , ..., S1 , S0 ). Syndrome formula
(4) can be rewritten as in equation (9), so the next algorithm
Performed by rhythm 1. [0020]   Sj-1 = (... ((Rn-1 αj-1 + Rn-2 ) Αj-1 + Rn-3 ) Αj-1 + ... + R1  ) Αj-1 + R0                                               … (9) Algorithm 1:   FOR j = 1 TO d-1         Z0, j = 0         FOR i = 1 TO n             Zi, j = Zi-1, j ・ Αj-1 + Rn-1               … (10)         NEXT         Sj-1 = Zn, j    NEXT Hereafter, j is the number of the processing PE, and i is
And the number of processing clocks. From now on, the PE of FIG.
Are connected as shown in FIG. 6 using d-1 pieces, and are controlled as shown in FIG.
By controlling, the PE of #j becomes Sj-1 Sindrow
It can be seen that the system can be generated. However, S3 = 1
You. <Generation of vanishing position polynomial> Expression (5)
The calculation of λ (x) is performed as follows. Where λ
The coefficient of the s-th order of (x) is λs-1 , Z0,0 Z other thani, j
Is set to “0”. Algorithm 2:   Z0,0 = 1   FOR j = 1 TO s       FOR i = 0 TO s           Zi, j = (1-Yj x) .Zi, j-1 = Yj ・ Zi, j-1 + Zi-1, j-1        NEXT ... (11)   NEXT       FOR i = 0 TO s           λsi = Zi, s        NEXT The variable x represents a unit time (one clock) shift. Follow
And Zi, j-1 Input to Y j Multiply by 1 clock
Ti-1, j-1 May be added. Therefore, λ (x)
To achieve this, connect as shown in FIG. 8 using s PEs in FIG.
Then, control is performed as shown in FIG. Where i is the processing clock
, And j is considered to represent the number of the PE.
Reference numeral 9 designates the selector of the PE shown in FIG.
(S1, S2) = (1, 1) only at the beginning, and thereafter
(S1, S2) = (1, 0)
You. (I means the processing clock in the PE of #j
Note that the clock is shifted by one clock for each PE.
Intention. Note that S3 = 1. In FIG. 8,
One clock delay by variable x puts output from O output into B
It is realized by feeding back to power. <Erase position polynomial and syndrome polynomial
Multiplication> In order to perform multiplication of the polynomial shown in (3), P
E as shown in FIG. 10 using d-1 pieces of E.
Control. However, S3 = 1. In this case, the multiplication M
The calculation of (x) = S (x) · λ (x) is performed as follows.
It is. Here, the j-1 order coefficient of M (x) is Mj-1 , Z
i, j Is set to “0”. Algorithm 3:   FOR j = 1 TO d-1       FOR i = 0 TO d-2           Zi, j = Zi + 1, j-1 + Λi ・ Sj-1                 … (12)       NEXT       Mj-1 = Z0, j    NEXT Since i represents the processing clock and j represents the number of the PE,
λi Is Zi + 1, j-1 Is delayed by one clock. this
In FIG. 10, the processing is performed by inserting a register between PEs.
Is realized. <Generation of Error Location Polynomial and Error Numerical Polynomial
> (4) error location polynomial σ (x) and error numerical polynomial ω
Derivation of (x) is realized by Euclidean algorithm.
It is. This is xd-1 Is a polynomial A0 Toki, multiplication of (3)
M (x) obtained from the circuit (mod xd-1 ) Is a polynomial B0
When you put it, (degA0 = D-1, deg B0 = D-
2), A0 , B0 During the calculation of the greatest common polynomial of
Of the polynomials ω (x) and σ (x) satisfying the equation (6)
That is the problem. This problem implements the following algorithm 4.
Can be solved by doing Algorithm 4:   T0 = 0, A0,0 = 1, Bi, 0 = Md-2-i , Vd-2,0 = 1 (other initial values are 0)   FOR j = 1 TO d−s + 1     FOR i = 0 TO d-2     (Coefficient processing)       IF Tj-1 = 0 THAN Ai, j = Ai, j-1 , Bi, j = Bi, j-1                                      Ui, j = Ui, j-1 , Vi, j = Vi, j-1        IF Tj-1 = 1 THAN Ai, j = Ci, j-1 , Bi, j = Bi, j-1                                      Ui, j = Wi, j-1 , Vi, j = Vi, j-1        IF Tj-1 = 2 THAN Ai, j = Ai, j-1 , Bi, j = Ci, j-1                                      Ui, j = Wi, j-1 , Vi, j = Wi, j-1        aj = A0, j , Bj = B0, j        Ci-1, j = Bj ・ Ai, j                               … (13)       Ci-1, j = Aj ・ Bi, j + Ci-1, j                     … (14)       Wi-1, j = Bj ・ Ui, j                               … (15)       Wi-1, j = Aj ・ Vi, j + Wi-1, j                     … (16)     NEXT     (Order processing)       IF Tj-1 = 0 THAN deg Aj= deg Aj-1 , Deg Bj= deg Bj-1                                        deg Uj= deg Uj-1 , Deg Vj= deg V j-1          IF Tj-1 = 1 THAN           deg Aj= deg Aj-1 -1, deg Bj= deg Bj-1 ,           deg Uj= MAX (deg Uj-1 , Vj-1 + Deg AB), deg Vj= deg Vj-1          IF Tj-1 = 2 THAN           deg Aj= deg Aj-1 , Deg Bj= deg Bj-1 -1,           deg Uj= deg Uj-1 , Deg Vj= MAX (deg Vj-1 , Uj-1 + Deg AB)         IF aj = 0 OR (bj ≠ 0 AND degAj ≧ deg Bj)             THEN Tj = 1             ELSETj = 2       IF (degAj <T + s) AND (degBj <T + s)             THEN Tj = 0       IF aj = 0 AND bj = 0             THEN degjAB = 0             ELSE degjAB = degAj -Deg Bj    NEXT In algorithm 4, Ai, j Is the polynomial Aj Table of coefficients
A0, j Represents the highest order coefficient.
The lower order coefficients are shown in order (the same applies to other coefficients). Also,
Ω (x) and σ (x) are obtained from Algorithm 4 respectively.
Ci, j , W i, j Polynomial C whose coefficient is the final result of
j , Wj And their orders are r + s-1, r, respectively.
You. Where Tj Is not a polynomial as described below
It is an integer having a value of 0, 1, or 2. Max (X, Y)
Is a function that takes the larger of X and Y. The feature of algorithm 4 is that it is suitable for PE in FIG.
Coefficient processing and order processing of Euclidean algorithm
And make the processing load the same.
It is a point. FIG. 12 shows the coefficient processing of algorithm 4 performed.
FIG. 12 shows a circuit to be executed.
Note that the position of is reversed from that of FIG. 5). First, ω
The operation of the circuit of FIG. 12 regarding (x) will be described. However
In FIG. 12, the odd-numbered PEs
The equation (13) is calculated, and the even-numbered PEs are calculated by the equation (14).
In order to perform the calculation of Equation (13),
The calculation of (14) is performed. Therefore, it is used in FIG.
The number of PEs is twice the maximum value of j. Figure
X at 12d-1 , M (x) is A0 , B0 As the best
Input from the next coefficient. At this time, # 2j-1 in FIG.
The (odd-numbered) PE is executing an order process described later.
Control signal T input from another circuitj-1 FIG. 13
And Ai, j , Bi, j Is selected. this
Then the polynomial Bj The highest order coefficient b ofj Is CKD (i =
Clock that rises at 0).
And by setting S3 = 0, the equation (1)
3) Ci-1, jIs calculated and output to the next PE. Next
In addition, # 2j (even-numbered) PEs are (S1, S2, S
3) = (1,1,1) to obtain the expression (14)
Ci-1, j Is calculated. Also, the even-numbered
The register after the PE is output Ci-1, j I
C by delayingi, j And Ai, j , Bi, j
Used to synchronize with Calculation of σ (x) from algorithm 4
U abouti, j , Vi, j , Wi, j Is the processing of ω (x)
A about calculationi, j , Bi, j , Ci, j Is the same as
Therefore, by repeating the processing using the circuit of FIG.
Is realized. In this case, the initial value for the circuit of FIG.
xd-1 , M (x) instead of (0,1) and the CKD
It is assumed that the contents of the register are retained. Also, CKD
Make the contents of the register and the control signal the same, and input the initial value.
If another set of circuits having the same configuration given by
Aj , Bj , Cj And the polynomial Uj , Vj , Wj Place
Can be executed in parallel. The degree processing of the algorithm 4 is based on each polynomial.
Order calculation and control signal Tj Is generated, but the coefficient processing is
Instead of treating multiple coefficients of a polynomial in succession,
Since the control signal is one integer, the number of processing steps is small.
No. Also, since the processing to be performed is addition and subtraction and size comparison,
It is clear that it can be easily configured with a calculator and a comparator.
is there. Therefore, the order processing can be performed by the existing CPU, etc.
Can appear. <Generation of Error Position and Error Value> (5)
In the error locator polynomial σ (x) obtained in (4), GF (2m )
Element α-n + i(I = 1,..., N) are successively substituted into σ (α
-n + i) = 0 is obtained. Also, the error you sought
Position or (2) the disappearance position indicated by α-n + hThen σ
The formal differential expression σ ′ (x) of (x) and the extinction obtained from (2)
Misplaced polynomial λ (x), its formal differential formula λ ′ (x),
And the error numerical polynomial ω (x) obtained from (4)
-n + hIs calculated. The specific calculations required here
Is a calculation that simply substitutes a variable for a polynomial and finds its value.
You. For example, σ (x) is a polynomial of degree t−1, σ tj To
Assuming that the coefficient is of the order t−j, σ (α-n + i) (I = 1, ...,
The calculation of n) is performed as follows. Algorithm 5:   FOR i = 0 TO n       Zi, 0 = 0       FOR j = 1 TO t           Zi, j = Zi, j-1 ・ Α-n + i+ Σtj                 … (17)       NEXT       σ (α-n + i) = Zi, t    NEXT i is the processing clock and j is the PE number, so σ
-n + i) Is performed by moving the PE
It is. Therefore, the PE of FIG. 5 should be connected as shown in FIG.
And σ (α-n + i) Can be obtained. Was
However, the control signal (S1, S2, S3) of each PE = (0,
0, 1). The circuit shown in FIG. 14 is used to determine the value of a polynomial.
, The polynomial ω (x),
The values of σ ′ (x), λ (x), λ ′ (x) are also shown in FIG.
It is clear that the same is required. <Execution of error correction> The error correction execution unit of (6) is
It is configured as shown in FIG. In FIG.
The number of required PEs is three. At this time, the disappearance position (λ
-n + i) = 0), the control signal (S
1, S2, S3) = (0,1,1,)
PE is σ (α-n + i) · Λ ′ (α-n + i) Is calculated. #
The PEs 2 also receive an error position (σ (α
-n + i) = 0) at σ ′ (α-n + i) ・ Λ (α-n + i)
Calculate and add to the # 1 output from the C input
Thus, the value of the denominator of Expression (7) is calculated. Furthermore, ROM
The reciprocal generation circuit (1 / X) comprising
The reciprocal of the denominator is input to # 3 PE. Furthermore, P of # 3
E is controlled as (S1, S2, S3) = (1, 0, 1).
Error and erasure values are calculated by
Word Rni Error and erasure correction by adding
Is done. <Structural Example 1 of RS Decoder> As described above,
Each of the decoding processes (1) to (6) is illustrated by a PE in FIG.
6, 8, 10, 12, 14, and 15 circuits
It can be realized as follows. Therefore, one of the processes (1) to (6)
From the length, the RS recovery having the entire configuration as shown in FIG.
No. is constituted. However, the actual RS decoder is
It is necessary to add a circuit that generates control signals for each process
However, the control signal is fixed according to each processing as described above.
Therefore, the control circuit can be easily configured using a ROM or the like.
It is clear that this can be done. FIG. 17 shows the entire process of the RS decoder.
It operates like a pipeline as shown
Realize decryption in real time. Furthermore, RS decryption processing
If the erasure position is the position of the check symbol,
It is known that this RS decoder
It can also be used as an encoding / decoding device. <Configuration Example 2 of RS Decoder> The RS decoder of FIG.
Figure 8 shows the generation of the erasure position polynomial and the multiplication of the polynomial in (3).
A different circuit shown in FIG. 10 was used. Also, the error position in (5)
The five polynomials σ (x), σ ′
(X), ω (x), λ (x), λ ′ (x)
The circuit of FIG. 14 was required. However, the following changes
It is also possible to do. A: The erasure position polynomial generation of (2) is as follows.
Has been generated. Let the initial value of λ (x) be λ0 (X)
= 1 and λi (X) = λi-1 (X) · (1-Yi x)
Is repeated for i = 1,..., S
Vanishing position polynomial λ (x) = λ s (X) is obtained. Therefore,
Let the initial value of λ (x) be λ0 If (x) = S (x), then
By the same processing as (2), λ (x) = S shown in (3)
(X) · λs It is clear that (x) = M (x) is obtained
It is. Therefore, the C input of the PE # 1 in FIG.
0 ...) to S (x) (S0 , S1 ,…)
Then, M (x) similar to that in FIG. 10 is obtained. B: The Euclidean algorithm of (4) is ω-1
(X) = xd-1 , Ω0 (X) = M (x), σ-1(X) =
0, σ0 With (x) = 1 as the initial value, the next operation is performed using deg ω
e This is a process that is repeated until (x) <t.   ωi (X) = qi ・ Ωi-1(x) + ωi-2(x) (deg ωi-1 > Deg ωi )                                                             … (18)   σi (X) = qi ・ Σi-1(x) + σi-2(x) ... (19) In this case, the error locator polynomial is σ (x) = σe (X), wrong
The numerical polynomial is ω (x) = ωe (X). Therefore,
Initial value is σ0 If (x) = λ (x), then equation (19)
The resulting polynomial of the final result is λ (x) · σe (X)
It turns out that it becomes. Therefore, when obtaining σ (x),
Σ input to A and B inputs in FIG.-1(X) = 0, σ
0 (X) = 1 for σ-1(X) = 0, σ0 (X) = λ (x)
And it is sufficient. Hereafter, this polynomial is referred to
It is called the term τ (x) = λ (x) · σ (x). C: From B, τ (x) = λ (x) · σ (x)
It is. Since λ (x) is an erasure position polynomial, the erasure position
At λ (αi ) = 0, and σ (x) is the number of error locations
Σ (αi ) = 0
You. Therefore, τ (x) is τ at the erasure position and the error position.
i ) = 0, indicating both the error position and the erasure position
You. The formal part of τ (x) is τ ′ (x) = λ ′
(X) · σ (x) + λ (x) · σ ′ (x). Follow
And ω (αi ) / Τ '(αi ) Is the same as equation (7).
Error and the magnitude of the erasure. Therefore, in (5)
The values of the polynomials correspond to ω (x), τ ′ (x), τ (x).
Three. Therefore, only three circuits are required in FIG.
Further, the error correction execution circuit of FIG.
No need for E, directly to ROM for finding the reciprocal of # 3 PE
τ '(αi ) Can be entered. Therefore, by changing the above A to C,
Therefore, RS decoding can be performed by the decoder shown in FIG.
In addition, this RS decoder is also erased similarly to the previous RS decoder example.
By using the position as the position of the check symbol, RS encoding
It can be used as a decoder. <Example of application to digital communication system>
The shown RS encoder / decoder is used for various digital systems.
Used to improve reliability. FIG. 19 shows the present embodiment.
RS encoder / decoder used for digital communication system
An example of the case is shown. Examples of digital communication systems
For example, satellite communication, SS (Spread Spectrum) communication and L
An AN (Local Area Network) is conceivable. This place
In this case, the communication path shown in FIG.
The receiver is each communication terminal or computer. However,
In this example, the transmitter / receiver uses the RS encoding / decoding of the present embodiment.
Vessel is included. <Example of application to digital storage system>
The RS encoder / decoder according to the embodiment is connected to a digital storage system.
FIG. 20 shows a case where the present invention is used for a system. Digital note
Optical storage devices and magneto-optical disks
An apparatus is conceivable. Note that the present invention comprises a plurality of devices.
Apparatus consisting of one device even when applied to the system to be configured
May be applied. Further, the present invention provides a system or an apparatus.
If achieved by supplying the program to
Needless to say, this can also be applied. [0036] According to the present invention, a single PE multiplier is used.
Thus, a smaller RS encoder / decoder can be realized. So
In the present invention, the same PEs are regularly arranged and pipelined.
Because the processing is performed in an integrated manner, the structure and control of the circuit are extremely
There is an advantage that it becomes easier. Also, the present invention provides a multiplication of PE.
By using one unit, a smaller syndrome polynomial
A generation circuit can be realized. In the present invention, the number of PE multipliers is one.
As a result, a smaller erasure position polynomial generation circuit can be realized.
You. Also, the present invention provides a single PE multiplier,
A smaller multiplication circuit can be realized. Also, the present invention relates to PE
By using a single multiplier of
An expression generation circuit can be realized. In the present invention, the number of PE multipliers is one.
As a result, a smaller error position and error value generation circuit can be implemented.
Can appear. Also, the present invention uses a single PE multiplier.
Thus, a smaller error correction execution circuit can be realized.

【図面の簡単な説明】 【図1】特開昭63−157530号に記載されたプロ
セッシング・エレメントの構成図である。 【図2】図1のプロセッシング・エレメントのセレクタ
1の真理値を示す図である。 【図3】公知のガロア体上の加算器を示す図である。 【図4】公知のガロア体上の乗算器を示す図である。 【図5】本実施の形態のプロセッシング・エレメント
(PE)を示す図である。 【図6】本実施の形態のPEを用いたシンドローム多項
式生成回路を示す図である。 【図7】図6のシンドローム多項式生成回路におけるP
Eのセレクタ1の真理値を示す図である。 【図8】本実施の形態のPEを用いた消失位置多項式生
成回路を示す図である。 【図9】図8の消失位置多項式生成回路におけるPEの
セレクタ1の真理値を示す図である。 【図10】本実施の形態のPEを用いた多項式の乗算回
路を示す図である。 【図11】図10の多項式の乗算回路におけるPEのセ
レクタ1の真理値を示す図である。 【図12】本実施の形態のPEを用いた誤り位置多項式
及び誤り数値多項式生成回路を示す図である。 【図13】図12の誤り位置多項式及び誤り数値多項式
生成回路におけるPEのセレクタ1の真理値を示す図で
ある。 【図14】本実施の形態のPEを用いた誤り位置及び誤
り数値生成回路を示す図である。 【図15】本実施の形態のPEを用いた誤り訂正回路を
示す図である。 【図16】本実施の形態のPEを用いた第1のRS符号
化・復号器を示す図である。 【図17】図17のRS符号化・復号器の動作説明図で
ある。 【図18】本実施の形態のPEを用いた第2のRS符号
化・復号器を示す図である。 【図19】本実施の形態のRS符号化・復号器を用いた
デジタル通信システムを示す図である。 【図20】本実施の形態のRS符号化・復号器を用いた
デジタル通信システムを示す図である。 【符号の説明】 1 セレクタ 2 乗算器 4 加算器 5,6,7 レジスタ A ANDゲート
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a configuration diagram of a processing element described in JP-A-63-157530. FIG. 2 is a diagram showing truth values of a selector 1 of the processing element of FIG. 1; FIG. 3 is a diagram illustrating a known adder on a Galois field. FIG. 4 is a diagram illustrating a known multiplier on a Galois field. FIG. 5 is a diagram showing a processing element (PE) of the present embodiment. FIG. 6 is a diagram showing a syndrome polynomial generation circuit using the PE of the present embodiment. FIG. 7 is a diagram showing P in the syndrome polynomial generation circuit of FIG. 6;
FIG. 9 is a diagram showing a truth value of a selector 1 of E. FIG. 8 is a diagram illustrating a lost position polynomial generation circuit using PEs according to the present embodiment. 9 is a diagram illustrating truth values of a selector 1 of a PE in the erasure position polynomial generation circuit of FIG. 8; FIG. 10 is a diagram showing a polynomial multiplication circuit using PEs according to the present embodiment. 11 is a diagram showing truth values of a selector 1 of a PE in the polynomial multiplication circuit of FIG. 10; FIG. 12 is a diagram illustrating an error locator polynomial and an error value polynomial generator using the PE of the present embodiment. 13 is a diagram showing the truth values of the selector 1 of the PE in the error locator polynomial and error value polynomial generator of FIG. 12; FIG. 14 is a diagram showing an error position and error value generation circuit using the PE of the present embodiment. FIG. 15 is a diagram showing an error correction circuit using a PE according to the present embodiment. FIG. 16 is a diagram illustrating a first RS encoder / decoder using the PE according to the present embodiment. 17 is an explanatory diagram of the operation of the RS encoder / decoder in FIG. 17; FIG. 18 is a diagram illustrating a second RS encoder / decoder using the PE according to the present embodiment. FIG. 19 is a diagram illustrating a digital communication system using the RS encoder / decoder according to the present embodiment. FIG. 20 is a diagram illustrating a digital communication system using the RS encoder / decoder according to the present embodiment. [Description of Signs] 1 Selector 2 Multiplier 4 Adders 5, 6, 7 Register A AND gate

Claims (1)

【特許請求の範囲】 【請求項1】 αを有限体GF(q)上の原始元、q,
d,fを任意の整数としたとき、 符号の復号処理において、 該復号処理をいくつかの処理に分解し、 分解された前記各処理を、有限体上の演算a・b+cを
実行する手段を有する同一の演算素子を用いて、各処理
に応じて定まる結線によって前記演算素子を複数組み合
わせて実行することを特徴とするリード・ソロモン符号
化・復号器。 【請求項2】 有限体上のa・b+cの演算を実行する
前記演算素子は、1次元状に複数並べられ、クロックに
同期してパイプライン的に動作することを特徴とする請
求項1記載のリード・ソロモン符号化・復号器。 【請求項3】 有限体上のa・b+cの演算を実行する
前記演算素子は、 複数の入力からいくつかの入力を選択するセレクタと、 有限体上の乗算器と、 有限体上の加算器と、 クロックに同期してデータを出力する1つ以上のレジス
タとを有することを特徴とする請求項1記載のリード・
ソロモン符号化・復号器。 【請求項4】 前記請求項1乃至3のいずれかに記載さ
れたリード・ソロモン符号化・復号器を用いたデジタル
通信システム。 【請求項5】 前記請求項1乃至3のいずれかに記載さ
れたリード・ソロモン符号化・復号器を用いたデジタル
記憶システム。 【請求項6】 系列(Rn-1 ,Rn-2 ,…,R0 )と有
限体上の元αj-1 (n,jは任意の整数)とから、 複数の入力からいくつかの入力を選択するセレクタと、
a・b+cを演算する有限体上の乗算器及び加算器と、
クロックに同期してデータを出力する1つ以上のレジス
タとからなる演算素子を1次元状に複数並べ、 該演算素子をクロックに同期してパイプライン的に動作
させることを特徴とするシンドローム生成回路。 上の元)において、 複数の入力からいくつかの入力を選択するセレクタと、
a・b+cを演算する有限体上の乗算器及び加算器と、
クロックに同期してデータを出力する1つ以上のレジス
タとからなる演算素子を1次元状に複数並べ、 該演算素子をクロックに同期してパイプライン的に動作
させることを特徴とする消失位置多項式生成回路。 【請求項8】 2つの多項式S(s)とλ(x)の積M
(x)=S(x)・λ(x)を計算する処理において、 複数の入力からいくつかの入力を選択するセレクタと、
a+b+cを演算する有限体上の乗算器及び加算器と、
クロックに同期してデータを出力する1つ以上のレジス
タとからなる演算素子を1次元状に複数並べ、 該演算素子をクロックに同期してパイプライン的に動作
させることを特徴とする多項式の乗算回路。 【請求項9】 多項式A0 (x)とB0 (x)の最大公
約多項式を求めるユークリッドの互除法の計算におい
て、 複数の入力からいくつかの入力を選択するセレクタと、
a・b+cを演算する有限体上の乗算器及び加算器と、
クロックに同期してデータを出力する1つ以上のレジス
タとからなる演算素子を1次元状に複数並べ、 該演算素子をクロックに同期してパイプライン的に動作
させることを特徴とする最大公約多項式生成回路。 【請求項10】 多項式σ(x)にx=α-n+i(i=
1,…,n)を代入した値(αは有限体上の原始元、n
は任意の整数)を求める計算において、 複数の入力からいくつかの入力を選択するセレクタと、
a・b+cを演算する有限体上の乗算器及び加算器と、
クロックに同期してデータを出力する1つ以上のレジス
タとからなる演算素子を1次元状に複数並べ、 該演算素子をクロックに同期してパイプライン的に動作
させることを特徴とする誤り位置及び数値生成回路。 【請求項11】 入力ω(α-n+i),σ’(α-n+i),
λ(α-n+i),λ’(α-n+i),σ(α-n+i),Rn-1
から、en-i =ω(α-n+i)/{σ’(α-n +i)・λ
(α-n+i)+λ’(α-n+i)・σ(α-n+i)},R’
n-i =Rn-i +e n-i を求める演算において、 複数の入力からいくつかの入力を選択するセレクタと、
a・b+cを演算する有限体上の乗算器及び加算器と、
クロックに同期してデータを出力する1つ以上のレジス
タとからなる演算素子を1次元状に複数並べ、 該演算素子をクロックに同期してパイプライン的に動作
させることを特徴とする誤り訂正回路。
[Claims] 1. α is a primitive element on a finite field GF (q), q,
When d and f are arbitrary integers, In the code decoding process, Decomposing the decoding process into several processes, The decomposed processing is performed by calculating the operations a, b, and c on the finite field.
Each processing is performed using the same arithmetic element having a means for executing.
Combining multiple arithmetic elements with a connection determined according to
Reed-Solomon code characterized by being executed together
Decryption. 2. Perform an operation of a · b + c on a finite field.
A plurality of the arithmetic elements are arranged in one dimension, and
A contract that operates synchronously and like a pipeline
A Reed-Solomon encoder / decoder according to claim 1. 3. An operation of a · b + c on a finite field is executed.
The arithmetic element is A selector for selecting some inputs from multiple inputs, A multiplier over a finite field, An adder on a finite field; One or more registers that output data in synchronization with the clock
2. The lead according to claim 1, further comprising:
Solomon encoder / decoder. 4. The method according to claim 1, wherein
Digital using a modified Reed-Solomon encoder / decoder
Communications system. 5. The method according to claim 1, wherein
Digital using a modified Reed-Solomon encoder / decoder
Storage system. 6. The sequence (Rn-1 , Rn-2 , ..., R0 ) And Yu
Element α on the limit fieldj-1 (N and j are arbitrary integers) A selector for selecting some inputs from multiple inputs,
a multiplier and an adder on a finite field for calculating a · b + c;
One or more registers that output data in synchronization with the clock
A plurality of arithmetic elements consisting of Operates the arithmetic element in a pipeline in synchronization with the clock
A syndrome generation circuit. Above) A selector for selecting some inputs from multiple inputs,
a multiplier and an adder on a finite field for calculating a · b + c;
One or more registers that output data in synchronization with the clock
A plurality of arithmetic elements consisting of Operates the arithmetic element in a pipeline in synchronization with the clock
A erasure position polynomial generation circuit, characterized in that: 8. The product M of two polynomials S (s) and λ (x)
In the process of calculating (x) = S (x) · λ (x), A selector for selecting some inputs from multiple inputs,
a multiplier and an adder on a finite field for calculating a + b + c;
One or more registers that output data in synchronization with the clock
A plurality of arithmetic elements consisting of Operates the arithmetic element in a pipeline in synchronization with the clock
A polynomial multiplication circuit. 9. The polynomial A0 (X) and B0 The greatest public of (x)
In Euclidean algorithm for finding polynomials
hand, A selector for selecting some inputs from multiple inputs,
a multiplier and an adder on a finite field for calculating a · b + c;
One or more registers that output data in synchronization with the clock
A plurality of arithmetic elements consisting of Operates the arithmetic element in a pipeline in synchronization with the clock
A greatest commonality polynomial generation circuit. 10. The polynomial σ (x) has x = α-n + i(I =
(Α is a primitive element on a finite field, n
Is an arbitrary integer) A selector for selecting some inputs from multiple inputs,
a multiplier and an adder on a finite field for calculating a · b + c;
One or more registers that output data in synchronization with the clock
A plurality of arithmetic elements consisting of Operates the arithmetic element in a pipeline in synchronization with the clock
And an error position and numerical value generation circuit. 11. An input ω (α-n + i), Σ ′ (α-n + i),
λ (α-n + i), Λ '(α-n + i), Σ (α-n + i), Rn-1
From eni = Ω (α-n + i) / {Σ ’(α-n + i) ・ Λ
-n + i) + Λ ′ (α-n + i) ・ Σ (α-n + i)}, R ’
ni = Rni + E ni In the calculation for A selector for selecting some inputs from multiple inputs,
a multiplier and an adder on a finite field for calculating a · b + c;
One or more registers that output data in synchronization with the clock
A plurality of arithmetic elements consisting of Operates the arithmetic element in a pipeline in synchronization with the clock
An error correction circuit characterized in that the error correction circuit causes the error to be corrected.
JP8351563A 1996-12-27 1996-12-27 Reed-solomon encoding, decoder and its circuit Withdrawn JPH10190482A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8351563A JPH10190482A (en) 1996-12-27 1996-12-27 Reed-solomon encoding, decoder and its circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8351563A JPH10190482A (en) 1996-12-27 1996-12-27 Reed-solomon encoding, decoder and its circuit

Publications (1)

Publication Number Publication Date
JPH10190482A true JPH10190482A (en) 1998-07-21

Family

ID=18418134

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8351563A Withdrawn JPH10190482A (en) 1996-12-27 1996-12-27 Reed-solomon encoding, decoder and its circuit

Country Status (1)

Country Link
JP (1) JPH10190482A (en)

Similar Documents

Publication Publication Date Title
US6347389B1 (en) Pipelined high speed reed-solomon error/erasure decoder
US6374383B1 (en) Determining error locations using error correction codes
US5170399A (en) Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack
US5440570A (en) Real-time binary BCH decoder
US6119262A (en) Method and apparatus for solving key equation polynomials in decoding error correction codes
US6026420A (en) High-speed evaluation of polynomials
US4504948A (en) Syndrome processing unit for multibyte error correcting systems
JP2005218098A (en) Reed-solomon decoder circuit of a forward directional chain search system
US6449746B1 (en) Decoding method for correcting both erasures and errors of reed-solomon codes
US6543026B1 (en) Forward error correction apparatus and methods
US5805617A (en) Apparatus for computing error correction syndromes
JPH0653842A (en) Method and circuit for decoding of rs code data signal
US7051267B1 (en) Efficient high-speed Reed-Solomon decoder
KR100970223B1 (en) A method of soft-decision decoding of reed-solomon codes, and reed-solomon codeword decoder and computer program product
EP0660535B1 (en) Apparatus for uniformly correcting erasure and error of received word by using a common polynomial
KR100258951B1 (en) Rs decoder having serial expansion architecture and method therefor
EP1102406A2 (en) Apparatus and method for decoding digital data
US6651214B1 (en) Bi-directional decodable Reed-Solomon codes
US20080140740A1 (en) Systems and methods for processing data sets in parallel
US20030131308A1 (en) Method and apparatus for solving key equation polynomials in decoding error correction codes
JP3343857B2 (en) Decoding device, arithmetic device, and methods thereof
EP0793352B1 (en) Apparatus for determining the error evaluator polynomial for use in a Reed-Solomon decoder
JP3233502B2 (en) Decryption device
Khan et al. Hardware implementation of shortened (48, 38) Reed Solomon forward error correcting code
JPH10190482A (en) Reed-solomon encoding, decoder and its circuit

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040302