JP3614978B2 - ガロア体の除算方法および除算装置 - Google Patents

ガロア体の除算方法および除算装置 Download PDF

Info

Publication number
JP3614978B2
JP3614978B2 JP11784196A JP11784196A JP3614978B2 JP 3614978 B2 JP3614978 B2 JP 3614978B2 JP 11784196 A JP11784196 A JP 11784196A JP 11784196 A JP11784196 A JP 11784196A JP 3614978 B2 JP3614978 B2 JP 3614978B2
Authority
JP
Japan
Prior art keywords
coefficient
shift register
output
divisor
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP11784196A
Other languages
English (en)
Other versions
JPH09305572A (ja
Inventor
ルミ 田辺
雅己 相沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP11784196A priority Critical patent/JP3614978B2/ja
Publication of JPH09305572A publication Critical patent/JPH09305572A/ja
Application granted granted Critical
Publication of JP3614978B2 publication Critical patent/JP3614978B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ガロア体の除算方法および除算装置に係り、特に、リード・ソロモン符号(以下、RS符号と省略する。)の復号を小規模な回路で実現するのに好適なガロア体の除算方法および除算装置に関する。
【0002】
【従来の技術】
RS符号は、同じ符号長と情報記号数を持つ巡回符号の中で、最小距離が最大となる優れた符号であり、多重誤り訂正を行う記録、伝送等の分野で広く利用されている。
【0003】
RS符号の復号過程は、次に示す(a)から(f)の手順により構成されている。
【0004】
(a)受信多項式からシンドロームを計算し、シンドローム多項式S(X) を求める。
【0005】
(b)シンドロームがすべて零であれば(S(X) =0)、誤りなしと判定する。
(c)シンドロームに非零のものがあれば、基本方程式
【数1】
Λ(X) S(X) =Ω(X) modX2t …(1)
DEG(Λ(X)) ≦ t …(2)
DEG(Ω(X)) ≦ t−1 …(3)
を満足する誤り位置多項式Λ(X) 及び誤り評価多項式Ω(X) を求める。ここで、tは誤り訂正数であり、DEG は多項式の次数である。
【0006】
(d)誤り位置多項式Λ(X) に符号生成多項式の根を代入することにより、誤り位置を求める。
【0007】
(e)誤り位置多項式Λ(X) の微分と誤り評価多項式Ω(X) から誤り数値を求める。
【0008】
(f)誤り位置及び誤り数値を用いて受信語を訂正し、復号語を得る。
【0009】
以上のRS符号の復号過程において、(c)の基本方程式の解法として、ユークリッドの互除法に基づくユークリッド法が知られている。
ユークリッド法は、誤り位置多項式Λ(X) 及び誤り評価多項式Ω(X) を求めるのに際し、(1)式のうち既知であるシンドローム多項式S(X) とX2tとの最大公約多項式を求めるユークリッドの互除法を用いるものである。
【0010】
次に、図2にユークリッド法を用いたRS復号装置の全体構成図を示す。このRS復号装置は、受信信号(受信多項式)からシンドローム多項式S(X) を求めるシンドローム演算器201と、シンドローム多項式S(X) から誤りの大きさ(誤り数値)の指標となる誤り評価多項式Ω(X) を導く除算回路202と、この除算の商から誤り位置の指標となる誤り位置多項式Λ(X) を導く乗算回路203と、誤り位置多項式Λ(X) 及び誤り評価多項式Ω(X) から誤り位置及び誤りの数値を求めるチェン探索回路204と、受信信号を復号遅延分だけ遅延させる遅延回路206と、遅延された受信信号に誤り訂正を施す訂正実行回路205とを備えて構成されている。
【0011】
ここで、除算回路202は、式(1)〜(3)を満足するΛ(X) 及びΩ(X) を、S(X) とX2tとの最大公約多項式を求めるユークリッド互除法を用いて求めるものであり、式(4)、(5)で示す漸化式により、誤り評価多項式を導くことができる。
【0012】
【数2】
=0: R(X)+Q(X) =Ri−2(X)/Ri−1(X) …(4)
=1: Ri+1(X)+Qi+1(X)=Ri−1(X)/R(X) …(5)
ここで、T=0、1、…は、時刻の経過を示す。
なお、初期状態は、
【数3】
−2(X)=X2t …(6)
−1(X)=S(X) …(7)
であり、T=0では、X2t/S(X)を計算して剰余と商を求めることになる。上記漸化式は、剰余の次数がt−1以下(t:誤り訂正数)になるまで続けられ、このときの最終的な剰余が誤り評価多項式となる。
【0013】
次に、ガロア体の除算について説明する。元の数が2であるGF(2)のガロア体の除算、例えば、X÷(X+X+1)なる除算を行う場合、除算回路は図3(a)に示すような回路構成となり、除算終了時には商はX+1、剰余はX+X+1となる。
【0014】
時刻の経過毎にレジスタ301〜303の内容を示すと次の表となる。
【0015】
【表1】
Figure 0003614978
この除算回路をガロア体GF(q)(ただし、q>2)に拡大して一般化し、X÷(aX+bX+cX+1)なる多項式の除算を行う場合、図3(b)に示すような回路構成となる。除数の最高次数係数は逆元をとり、被除数と掛け合わされて商の係数となると同時に、フィードバックされて、レジスタ313〜315へ蓄えられた除数の係数と、乗算器317〜319を用いて掛け合わされる。 次に、RS復号装置に用いられる従来の除算回路の例を図4(a)に示す。同図において、401〜408、411〜418は、それぞれクロックCK1、CK2が更新タイミングとなるレジスタ群であり、演算開始時には、それぞれのレジスタ群の各レジスタは、それぞれ被除数または除数の多項式の係数を1つづつ格納している。431、432、…は、ガロア体の加算器、441、442、…、448はガロア体の乗算器、451はガロア体の逆元を出力するROM、421、422、…428は3ウェイのスイッチ(セレクタ)である。なお、図4において、CK1、CK2及びQENを除いて、信号線は全てバスを示し、ガロア体の元をベクトル表示するのに要するビット幅を有するものとする。
【0016】
次に、この従来の除算回路の動作を説明する。まずスイッチ421〜428でシンドロームS0、S1、…S7を選択し、クロックCK1を入力してレジスタ401〜408に除数となるシンドローム多項式S(X)の係数を取り込む。
【0017】
次いでクロックCK2を入力してレジスタ401〜408の内容をレジスタ411〜418に移す。これと同時にS0、S1、…S7から(0、0、…、1)を供給し、クロックCK1を入力してレジスタ401〜408に被除数多項式X2tの係数を取り込む。これにより、レジスタ401〜408には、被除数多項式の係数が設定され、レジスタ411〜418には除数多項式の係数が設定されたことになる。
【0018】
次いで、スイッチ421〜428は、それぞれ中央の接点を選択し0または加算器の出力に接続されるとともに、制御信号QENが論理“1”となり、レジスタ418に保持されたS7(除数の最高次数の係数)の逆元が乗算器448に供給され、レジスタ408の内容と乗算される。この乗算結果は商Q(X)の係数となるとともに、乗算器441、442、…、447により、それぞれ除数の係数と並列に掛け合わされる。乗算器441〜447の乗算結果は、加算器431〜437によりレジスタ401〜407の値に加えられ、クロックCK1によりそれぞれ次段のレジスタ402〜408に取り込まれる。
【0019】
ここで、RS復号に用いられる多項式である除数の係数はガロア体であり、このガロア体の体生成多項式の最高次数と等しいビット数で表現される。体生成多項式の最高次数をyとすると、上記乗算器は、それぞれ“yビット×yビット”のガロア体の掛け算となり、回路規模が大きくなる。
【0020】
また除算終了後、式(4)、(5)に示すように、剰余は除数となり除数は被除数となり、再び除算を行うことになるが、この除算モード及び剰余と除数との入れ替えモードの切り換えは、各係数段に用意されたスイッチ421〜428を切り換えて行っていた。
【0021】
例えばすべてのスイッチ421〜428に対して、除算時には図4(b)に示すような接続状態となり、通常の除算を行うが、入れ替え時には、図4(c)に示すような接続状態となり、剰余と除数との入れ替えが行われる。
【0022】
また、上記のような専用の除算回路を備えることなく、ディジタル・シグナル・プロセッサ(以下、DSPと略す。)に設けた乗算器により除数の係数と商の係数の乗算をシリアルに行うことも考えられる。この場合には、除数、被除数、商、剰余等は、メモリに格納され、1つの乗算毎にそれぞれ除数、剰余の記憶場所にアクセスするためのポインタ制御が必要となる。
【0023】
【発明が解決しようとする課題】
しかしながら、上記従来のガロア体である多項式の除算回路は、除数のそれぞれの次数の係数と商の係数との乗算を並列に行っていたため、除数の次数分(2t(t:誤り訂正数))だけの乗算回路を必要とし、除算回路の回路規模が大きくなるという問題点があった。
【0024】
例えば、ガロア体の体生成多項式をX+X+X+X+1とし、誤り訂正数t=8の時、除数の次数は16となり、乗算器は16必要となる。この場合乗算器当たりのゲート数は約300であるから、乗算器の総ゲート数は約4800ゲートとなる。
【0025】
また、リード・ソロモン復号器に除算器を用いる場合、ユークリッド法の漸化式を計算するために除数と剰余との入れ替えが生じ、多数のセレクタを必要とするという問題点があった。
【0026】
またDSPに設けた乗算器により除数の係数と商の係数の乗算をシリアルに行う場合には、1つの乗算毎にそれぞれ除数、剰余の記憶場所にアクセスするためのポインタ制御のために数クロックを必要とし、高速な除算を必要とするRS復号には不適当であるという問題点があった。
【0027】
以上の問題点に鑑み、本発明の課題は、小規模な回路構成により比較的高速なガロア体の除算回路を実現することである。
【0028】
【課題を解決するための手段】
上記目的を達成するために、請求項1に記載の発明であるガロア体の除算方法は、1ビット出力する度にビットシフトすると共に出力した1ビットの値が帰還入力される第1のシフトレジスタと、1ビット出力する度にビットシフトする第2のシフトレジスタと、1つの乗算器と、1つの加算器と、ガロア体の逆元を示す値を出力する逆元発生器とを備え、ガロア体の元を係数とする第1の多項式の係数を示す第1のビット列および第2の多項式の係数を示す第2のビット列が、前記第1のシフトレジスタおよび前記第2のシフトレジスタに対して入力され、前記ビット列の一方を除数とし、他方を被除数として、所定条件を満たすまで演算を繰り返すことによってリード・ソロモン符号を復号するリード・ソロモン復号装置のガロア体の除算方法であって、前記第1のシフトレジスタから除数の最高次数係数を示す1ビットの値を出力し、出力された1ビットの値に基づいて前記逆元発生器から出力されるガロア体の逆元を示す値と、前記第2のシフトレジスタから出力される被除数の最高次数係数を示す1ビットの値とを、前記乗算器によって乗算し、この乗算結果を商の係数として出力する第1の工程と、前記第1の工程に続いて、前記商の係数と、前記第1のシフトレジスタから出力される1ビットの値とを、前記乗算器によって乗算し、この乗算結果と、第2のシフトレジスタから出力される1ビットの値とを、前記加算器によって加算し、この加算結果を剰余の中間結果として当該第2のシフトレジスタに帰還入力し、前記商の係数と全ての前記除数の係数とが乗算されるまで、乗算と加算とを繰り返す第2の工程とを有し、前記リード・ソロモン復号装置は、前記第1の工程と前記第2の工程とを、前記被除数の次数と前記除数の次数との差に1を加えた回数だけ繰り返すことを特徴とする。
【0029】
また、請求項2に記載の発明であるガロア体の除算方法は、請求項1に記載のガロア体の除算方法であって、前記リード・ソロモン復号装置は、前記除数の次数と前記被除数の次数との差に1を加えた回数目の前記第2の工程において、前記第1のシフトレジスタが保持する前記ビット列から1ビット出力する度にビットシフトすると共に、出力された1ビットの値を当該第2のシフトレジスタに帰還入力し、前記加算結果を剰余結果として当該第1のシフトレジスタに帰還入力することを特徴とする。
【0030】
また、請求項3に記載の発明である除算装置は、リード・ソロモン符号を復号する際に、ガロア体の元を係数とする第1の多項式の係数を示す第1のビット列および第2の多項式の係数を示す第2のビット列が入力され、前記ビット列の一方を除数とし、他方を被除数として、ガロア体の逆元を示す値を用いて所定条件を満たすまで演算を繰り返す除算装置であって、前記除数を記憶し、1ビット出力する度にビットシフトする第1のシフトレジスタと、前記被除数を記憶し、1ビット出力する度にビットシフトする第2のシフトレジスタと、前記第1のシフトレジスタから出力される除数の係数を示す1ビットの値に基づいて、ガロア体の逆元を出力する逆元発生手段と、前記逆元発生手段から出力される逆元と、前記第2のシフトレジスタから出力される被除数の係数を示す1ビットの値とを乗算し、帰還入力される乗算結果と、前記第1のシフトレジスタから出力される除数の係数を示す1ビットの値とを乗算する1つの乗算器と、前記乗算器の乗算結果を保持し、当該乗算結果を商の係数として出力し、前記乗算器に保持した乗算結果を帰還入力させる保持手段と、前記乗算器の乗算結果と、第2のシフトレジスタから出力される被除数の係数を示す1ビットの値とを加算し、加算結果を剰余の中間結果として前記第2のシフトレジスタに帰還入力させる1つの加算器と、前記第1のシフトレジスタから出力される除数の係数を示す1ビットの値、または前記逆元発生手段から出力される逆元のいずれか一方が前記乗算器に入力されるよう、データ経路を切り替える第1の切り替え手段と、前記第2のシフトレジスタから出力される被除数の係数を示す1ビットの値、または前記保持手段から出力される乗算結果のいずれか一方が前記乗算器に入力されるよう、データ経路を切り替える第2の切り替え手段とを備え、前記乗算器が、前記逆元発生手段から出力される逆元と、前記第2のシフトレジスタから出力される被除数の最高次数係数を示す1ビットの値とを乗算した後、前記商の係数と全ての前記除数の係数とが乗算されるまで、前記乗算器は、帰還入力される乗算結果と、前記第1のシフトレジスタから出力される除数の係数を示す1ビットの値との乗算を繰り返し、前記加算器は、前記乗算器の乗算結果と、第2のシフトレジスタから出力される被除数の係数を示す1ビットの値との加算を繰り返すことによって除算を行い、前記被除数の次数と前記除数の次数との差に1を加えた回数だけ、当該除算を繰り返すことを特徴とする。
【0031】
また、請求項4に記載の発明である除算装置は、請求項3に記載の除算装置であって、前記除数の次数と前記被除数の次数との差に1を加えた回数目の除算を行う際に、前記加算結果が剰余の中間結果として前記第1のシフトレジスタに入力されるようデータ経路を切り替える第3の切り替え手段と、前記除数の次数と前記被除数の次数との差に1を加えた回数目の除算を行う際に、前記前記第1のシフトレジスタから出力される除数の係数を示す1ビットの値が前記第2のシフトレジスタに入力されるようデータ経路を切り替える第4の切り替え手段とを備えることを特徴とする。
【0033】
上記構成による本発明のガロア体の除算方法及び除算装置によれば、ただ一つの乗算器を用いて、被除数の係数と商の係数との乗算を、被除数の次数毎に直列に行うことができるので、除算回路の回路規模を大きく削減することができる。また本発明によれば、除数、被除数または剰余をシフトレジスタに格納するようにしたので、演算の進行とともにシフトレジスタをシフトするだけで、演算に必要な数値を乗算器に供給するとともに演算結果を格納することができるので、高速なガロア体の除算を行うことができる。
【0034】
【発明の実施の形態】
次に、図面を参照して本発明の実施の形態を詳細に説明する。
図1は、本発明に係るガロア体の除算装置の実施の形態を示すブロック図である。同図に示すように、ガロア体の除算装置は、シフトレジスタ101、103と、レジスタ105、107と、入力されたガロア体の元の逆元を出力する逆元ROM109と、乗算器111と、加算器113と、レジスタ115と、2ウェイセレクタ(スイッチ)117、119、121、123、125、127及び129と、入力端子131とからなる。
【0035】
なお、シフトレジスタ101、103は、それぞれガロア体の元を保持可能なレジスタが8個直列に接続され、この元をシフト動作により順送り可能としたものであり、レジスタ105、107及びレジスタ115もガロア体の元を保持することが可能なものである。また、データ経路は、それぞれガロア体の元を伝送可能なバスであり、これらのレジスタのビット数及びバスのビット数は、ガロア体をベクトル表現したときのビット数に一致する。同様に乗算器111はガロア体の乗算器であり、加算器113はガロア体の加算器である。
【0036】
次に、図1のガロア体の除算装置の動作を説明する。まず、入力端子131からは、最初の除数となるシンドローム多項式S(X)の各次数の係数が最高次数から順に与えられ、下側に倒されたスイッチ129を介してシフトレジスタ101に右詰で格納される。同様に、最初の被除数となるX2tの係数(1、0、0…、0)がシフトレジスタ103に右詰で格納される。この格納が終わるとスイッチ129は上側に倒され、この状態の時刻をT=0とする。
【0037】
次の時刻:T=1では、シフトレジスタ101から除数の最高次数係数が逆元ROM109及びレジスタ105へ入力され、同時にシフトレジスタ101に格納された値は右へ一つシフトする。また、被除数の最高次数係数は、レジスタ107に入力される。
【0038】
T=2では、スイッチ117は上側へ倒され、スイッチ119は下側へ倒される。そして逆元ROM109からの出力とレジスタ107からの出力が乗算器111を用いて掛け合わされ、この乗算結果はレジスタ115に保持される。
【0039】
T=3では、スイッチ117は下側へ倒され、スイッチ119は上側へ倒される。そしてレジスタ115に保持された値が商の最高次数係数として出力されると同時に、このレジスタ115に保持された値と、次なる除数の係数であるシフトレジスタ101の出力とを乗算器111を用いて掛け合わせ、この乗算結果とシフトレジスタ103から出力される被除数係数とを、加算器113を用いて足し合わせて剰余の中間結果を出力する。
【0040】
この剰余の中間結果はスイッチ121及び125を介してシフトレジスタ103の入力へフィードバックして格納される。これと同時に除数の係数もレジスタ105からスイッチ123、127、129を介してシフトレジスタ101へフィードバックして格納される。なお、シフトレジスタ101及び103に格納された値は、出力のたびに右へ一つシフトするとともに、最も左の位置に新しい値が入力される。
【0041】
T=4からも同様に、レジスタ115に保持された値(商の最高次数係数)と、次なる除数の係数であるシフトレジスタ101の出力とを乗算器111を用いて掛け合わせ、この結果と、シフトレジスタ103から出力される被除数の係数とを、加算器113を用いて足し合わせて剰余の中間結果を出力する。
【0042】
この剰余の中間結果は、シフトレジスタ103の入力へフィードバックされて格納される。これと同時に、除数の係数もシフトレジスタ101の入力へフィードバックされて格納される。上記の動作は、レジスタ115に保持された値(商の最高次数係数)とすべての除数係数とが掛け合わされるまで続けられる。ここまでを1つの除算サイクルとする。この除算サイクルは、従来技術における図4(a)の並列乗算器を用いた除算動作の1クロックに相当する。
【0043】
次なる除算サイクルのスタートでは、シフトレジスタ103には、上記T=3の時にフィードバックした剰余の中間結果の係数が被除数の係数として格納されている。また、シフトレジスタ101には、フィードバックされた除数の係数が一巡してT=0の時と同様な状態で格納されている。この状態をT′=0とする。
【0044】
次の時刻:T′=1では、シフトレジスタ101から除数の最高次数係数が逆元ROM109へ入力される。これと同時に、シフトレジスタ101に格納された値は右へ一つシフトする。また、被除数の最高次数係数はレジスタ107へ入力される。
【0045】
T′=2では、逆元ROM109の出力とレジスタ107の出力とが乗算器111により掛け合わされて、この結果がレジスタ115に保持される。
【0046】
T′=3では、このレジスタ115に保持された値が商の係数として出力されるとともに、この値と次なる除数の係数であるシフトレジスタ101の出力とが乗算器111により掛け合わされ、この乗算結果とシフトレジスタ103から出力される被除数係数とが加算器113により足し合わされて剰余の中間結果を出力する。この剰余の中間結果は、フィードバックされてシフトレジスタ103に格納される。これと同時に除数の係数もフィードバックされてシフトレジスタ101に格納される。
【0047】
T′=4以後も同様に、レジスタ115に保持された値(商の係数)と、次なる除数の係数であるシフトレジスタ101の出力とを乗算器111を用いて掛け合わせ、この乗算結果とシフトレジスタ103に格納された被除数の係数とを加算器113を用いて足し合わせて剰余の中間結果を出力する。
【0048】
この剰余の中間結果は、シフトレジスタ103の入力へフィードバックされて格納される。これと同時に、除数の係数もシフトレジスタ101の入力へフィードバックされて格納される。上記の動作は、レジスタ115に保持された値(商の係数)とすべての除数係数とが掛け合わされるまで繰り返される。
【0049】
上記の除算サイクルは、(除数と被除数の次数の差)+1の回数だけ行われて終了する。除算が終了した時点では、被除数の係数に代わって剰余となる多項式の係数がシフトレジスタ103に格納されているが、これらは次の除算(すなわち式(4)から式(5)へ進む過程)では除数として扱われるため、スイッチ123、127、129の切り換えによりシフトレジスタ101へ順次格納される。これと同時にシフトレジスタ101に格納されていた除数の係数は、次の除算では被除数として扱われるため、スイッチ121、125の切り換えによりシフトレジスタ103へ格納される。
【0050】
そして再び除数の最高次数係数は逆元を取り、被除数の係数と掛け合わされて商の係数としてレジスタ115に保持され、この値と次なる除数の係数とが掛け合わされたものと被除数係数とが足し合わされるという動作が繰り返される。
【0051】
このように本実施の形態によれば、ガロア体の乗算器及び加算器をそれぞれただ一つと、除数を初期値とするシフトレジスタと、被除数を初期値とするシフトレジスタとを備えることにより、クロック毎にガロア体の乗算と加算が行えるので、小規模な回路構成で比較的高速にガロア体の除算を実行することができる。また、一つの除算終了後、ユークリッド法では、剰余の係数と除数の係数とを入れ替えることになるが、この入れ替えはそれぞれの係数を保持するシフトレジスタ101、103に入力を交換するスイッチ121、123を設け、このスイッチを切り換えてそれぞれのシフトレジスタをシフトさせることにより実現することができる。
【0052】
さらに、スイッチ121、123を切り換えるタイミングを早めて、最後の除算サイクルと並列にシフトレジスタ101と103との入れ替えを行うと、全体の処理時間を短縮することができる。
【0053】
【発明の効果】
以上説明したように本発明によれば、ガロア体の除算において、ただ一つの乗算器を用いて、被除数の係数と商の係数との乗算を、被除数の次数毎に直列に行うことができるので、除算回路の回路規模を大きく削減することができるという効果がある。
【図面の簡単な説明】
【図1】本発明に係るガロア体の除算装置の実施の形態を示すブロック回路図である。
【図2】ユークリッド法を用いたRS復号装置の全体構成図である。
【図3】(a)は、GF(2)上の除算回路の一例を示す回路図であり、(b)は、GF(q)上に一般化した除算回路の例を示す回路図である。
【図4】(a)はRS復号に用いられる従来の除算回路の例を示すブロック回路図であり、(b)は(a)における除算動作を説明する部分回路図であり、(c)は(a)における入れ替え動作を説明する部分回路図である。
【符号の説明】
101、103…シフトレジスタ、105、107…レジスタ、109…逆元ROM、111…乗算器、113…加算器、115…レジスタ、117、119、121、123、125、127、129…スイッチ、131…入力端子。

Claims (4)

  1. 1ビット出力する度にビットシフトすると共に出力した1ビットの値が帰還入力される第1のシフトレジスタと、1ビット出力する度にビットシフトする第2のシフトレジスタと、1つの乗算器と、1つの加算器と、ガロア体の逆元を示す値を出力する逆元発生器とを備え、ガロア体の元を係数とする第1の多項式の係数を示す第1のビット列および第2の多項式の係数を示す第2のビット列が、前記第1のシフトレジスタおよび前記第2のシフトレジスタに対して入力され、前記ビット列の一方を除数とし、他方を被除数として、所定条件を満たすまで演算を繰り返すことによってリード・ソロモン符号を復号するリード・ソロモン復号装置のガロア体の除算方法であって、
    前記第1のシフトレジスタから除数の最高次数係数を示す1ビットの値を出力し、出力された1ビットの値に基づいて前記逆元発生器から出力されるガロア体の逆元を示す値と、前記第2のシフトレジスタから出力される被除数の最高次数係数を示す1ビットの値とを、前記乗算器によって乗算し、この乗算結果を商の係数として出力する第1の工程と、
    前記第1の工程に続いて、前記商の係数と、前記第1のシフトレジスタから出力される1ビットの値とを、前記乗算器によって乗算し、この乗算結果と、第2のシフトレジスタから出力される1ビットの値とを、前記加算器によって加算し、この加算結果を剰余の中間結果として当該第2のシフトレジスタに帰還入力し、前記商の係数と全ての前記除数の係数とが乗算されるまで、乗算と加算とを繰り返す第2の工程と、
    を有し、
    前記リード・ソロモン復号装置は、前記第1の工程と前記第2の工程とを、前記被除数の次数と前記除数の次数との差に1を加えた回数だけ繰り返すことを特徴とするガロア体の除算方法。
  2. 前記リード・ソロモン復号装置は、前記除数の次数と前記被除数の次数との差に1を加えた回数目の前記第2の工程において、前記第1のシフトレジスタが保持する前記ビット列から1ビット出力する度にビットシフトすると共に、出力された1ビットの値を当該第2のシフトレジスタに帰還入力し、前記加算結果を剰余結果として当該第1のシフトレジスタに帰還入力することを特徴とする請求項1に記載のガロア体の除算方法。
  3. リード・ソロモン符号を復号する際に、ガロア体の元を係数とする第1の多項式の係数を示す第1のビット列および第2の多項式の係数を示す第2のビット列が入力され、前記ビット列の一方を除数とし、他方を被除数として、ガロア体の逆元を示す値を用いて所定条件を満たすまで演算を繰り返す除算装置であって、
    前記除数を記憶し、1ビット出力する度にビットシフトする第1のシフトレジスタと、
    前記被除数を記憶し、1ビット出力する度にビットシフトする第2のシフトレジスタと、
    前記第1のシフトレジスタから出力される除数の係数を示す1ビットの値に基づいて、ガロア体の逆元を出力する逆元発生手段と、
    前記逆元発生手段から出力される逆元と、前記第2のシフトレジスタから出力される被除数の係数を示す1ビットの値とを乗算し、帰還入力される乗算結果と、前記第1のシフトレジスタから出力される除数の係数を示す1ビットの値とを乗算する1つの乗算器と、
    前記乗算器の乗算結果を保持し、当該乗算結果を商の係数として出力し、前記乗算器に保持した乗算結果を帰還入力させる保持手段と、
    前記乗算器の乗算結果と、第2のシフトレジスタから出力される被除数の係数を示す1ビットの値とを加算し、加算結果を剰余の中間結果として前記第2のシフトレジスタに帰還入力させる1つの加算器と、
    前記第1のシフトレジスタから出力される除数の係数を示す1ビットの値、または前記逆元発生手段から出力される逆元のいずれか一方が前記乗算器に入力されるよう、データ経路を切り替える第1の切り替え手段と、
    前記第2のシフトレジスタから出力される被除数の係数を示す1ビットの値、または前記保持手段から出力される乗算結果のいずれか一方が前記乗算器に入力されるよう、データ経路を切り替える第2の切り替え手段と、
    を備え、
    前記乗算器が、前記逆元発生手段から出力される逆元と、前記第2のシフトレジスタから出力される被除数の最高次数係数を示す1ビットの値とを乗算した後、前記商の係数と全ての前記除数の係数とが乗算されるまで、前記乗算器は、帰還入力される乗算結果と、前記第1のシフトレジスタから出力される除数の係数を示す1ビットの値との乗算を繰り返し、前記加算器は、前記乗算器の乗算結果と、第2のシフトレジスタから出力される被除数の係数を示す1ビットの値との加算を繰り返すことによって除算を行い、
    前記被除数の次数と前記除数の次数との差に1を加えた回数だけ、当該除算を繰り返すことを特徴とする除算装置。
  4. 前記除数の次数と前記被除数の次数との差に1を加えた回数目の除算を行う際に、前記加算結果が剰余の中間結果として前記第1のシフトレジスタに入力されるようデータ経路を切り替える第3の切り替え手段と、
    前記除数の次数と前記被除数の次数との差に1を加えた回数目の除算を行う際に、前記前記第1のシフトレジスタから出力される除数の係数を示す1ビットの値が前記第2のシフトレジスタに入力されるようデータ経路を切り替える第4の切り替え手段と、
    を備えることを特徴とする請求項3に記載の除算装置。
JP11784196A 1996-05-13 1996-05-13 ガロア体の除算方法および除算装置 Expired - Lifetime JP3614978B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11784196A JP3614978B2 (ja) 1996-05-13 1996-05-13 ガロア体の除算方法および除算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11784196A JP3614978B2 (ja) 1996-05-13 1996-05-13 ガロア体の除算方法および除算装置

Publications (2)

Publication Number Publication Date
JPH09305572A JPH09305572A (ja) 1997-11-28
JP3614978B2 true JP3614978B2 (ja) 2005-01-26

Family

ID=14721597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11784196A Expired - Lifetime JP3614978B2 (ja) 1996-05-13 1996-05-13 ガロア体の除算方法および除算装置

Country Status (1)

Country Link
JP (1) JP3614978B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3238128B2 (ja) 1998-06-02 2001-12-10 松下電器産業株式会社 リードソロモン符号化装置および方法
JP2001188468A (ja) * 1999-12-27 2001-07-10 Toyo Commun Equip Co Ltd ガロア体上の元の除算演算方法および除算演算回路
US7895253B2 (en) * 2001-11-30 2011-02-22 Analog Devices, Inc. Compound Galois field engine and Galois field divider and square root engine and method
JP4767266B2 (ja) * 2008-01-17 2011-09-07 株式会社日立製作所 演算ユニット、エラー訂正復号回路及び誤り位置多項式の演算方法
JP5211398B2 (ja) * 2010-06-21 2013-06-12 ネッツエスアイ東洋株式会社 ガロア体上の元の除算演算回路
JP5157018B2 (ja) * 2010-06-21 2013-03-06 ネッツエスアイ東洋株式会社 ガロア体上の元の除算演算回路

Also Published As

Publication number Publication date
JPH09305572A (ja) 1997-11-28

Similar Documents

Publication Publication Date Title
US5517509A (en) Decoder for decoding ECC using Euclid's algorithm
US4873688A (en) High-speed real-time Reed-Solomon decoder
US5805617A (en) Apparatus for computing error correction syndromes
US7089276B2 (en) Modular Galois-field subfield-power integrated inverter-multiplier circuit for Galois-field division over GF(256)
EP0621698A2 (en) Error correction method including erasure correction, and apparatus therefore
KR100260415B1 (ko) 고속시리얼에러위치다항식계산회로
JPH0728227B2 (ja) Bch符号の復号装置
US5878058A (en) Apparatus for determining an error locator polynomial for use in a reed-solomon decoder
KR100322739B1 (ko) 유한체연산방법및그장치
JP3614978B2 (ja) ガロア体の除算方法および除算装置
JP2001127645A (ja) 誤り訂正方法および誤り訂正装置
KR19990026630A (ko) 리드-솔로몬 복호기와 그 복호방법
EP1175015B1 (en) Decoding circuit and decoding method thereof
US5787100A (en) Apparatus for determining error evaluator polynomial for use in a Reed-Solomon decoder
JP3233502B2 (ja) 復号化装置
EP1037148B1 (en) Error coding method
JP2963018B2 (ja) リード・ソロモン誤り訂正符号復号化回路
JP3230888B2 (ja) ユークリッド互除回路
US20040059990A1 (en) Decoder architecture for Reed Solomon codes
JPH09162753A (ja) 符号語の復号方式
JPH0834439B2 (ja) ガロア体演算装置
JP3618905B2 (ja) 積和演算装置
KR0167390B1 (ko) 복호화 장치
JP2611721B2 (ja) イレージャロケーション多項式乗算回路
JPH1065552A (ja) 誤り訂正の演算処理方法及び処理回路

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040412

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041019

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041028

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

Free format text: PAYMENT UNTIL: 20071112

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081112

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091112

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101112

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101112

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111112

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121112

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 9

EXPY Cancellation because of completion of term