JP2797570B2 - ユークリッドの互除回路 - Google Patents

ユークリッドの互除回路

Info

Publication number
JP2797570B2
JP2797570B2 JP33588489A JP33588489A JP2797570B2 JP 2797570 B2 JP2797570 B2 JP 2797570B2 JP 33588489 A JP33588489 A JP 33588489A JP 33588489 A JP33588489 A JP 33588489A JP 2797570 B2 JP2797570 B2 JP 2797570B2
Authority
JP
Japan
Prior art keywords
polynomial
mutual
error
circuit
units
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
JP33588489A
Other languages
English (en)
Other versions
JPH03195217A (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP33588489A priority Critical patent/JP2797570B2/ja
Priority to EP19900123470 priority patent/EP0431629A3/en
Priority to US07/623,235 priority patent/US5185711A/en
Priority to KR1019900020087A priority patent/KR910013754A/ko
Publication of JPH03195217A publication Critical patent/JPH03195217A/ja
Application granted granted Critical
Publication of JP2797570B2 publication Critical patent/JP2797570B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Error Detection And Correction (AREA)

Description

【発明の詳細な説明】 以下の順序で本発明を説明する。
A 産業上の利用分野 B 発明の概要 C 従来の技術 C1誤り訂正符号のエンコーダの説明 C2誤り訂正符号のデコーダの全体構成の説明(第9
図) C3ユークリッドの互除法を用いた従来の誤り位置多項
式の導出回路の説明(第10図、第11図) C4従来の改善された誤り位置多項式の導出回路の説明
(第12図、第13図) D 発明が解決しようとする課題 E 課題を解決するための手段 F 作用 G 実施例 G1一実施例で使用する互除ユニットの説明(第14図〜
第18図) G2一実施例の誤り位置多項式の導出回路の説明(第1
図、第2図) G3互除ユニットのより具体的な構成の説明(第3図、
第4図) G4互除ユニットの他の例の説明(第5図、第6図) G5本発明の他の実施例の説明(第7図、第8図) H 発明の効果 A 産業上の利用分野 本発明は、例えば誤り訂正符号のデコーダに適用して
好適なユークリッドの互除回路に関する。
B 発明の概要 本発明は、例えば誤り訂正符号のデコーダに適用して
好適なユークリッドの互除回路に関し、第1の入力多項
式を因子に含む多項式を第2の入力多項式で除したとき
の商及び剰余を求めると共にその商及び第3の入力多項
式よりそれまでの全体の商を求め、その剰余、それら第
1の入力多項式又は第2の入力多項式及びその全体の商
を夫々第1の出力多項式、第2の出力多項式及び第3の
出力多項式となす互除ユニットを複数個縦続接続し、そ
れら複数の互除ユニットにおいて夫々その商を求める除
算手段を共用し、それら複数の互除ユニットにおいて夫
々その商を求めるタイミングを異ならしめることによ
り、比較的回路規模の大きな除算手段の数を1個にして
全体の回路規模を小型化できる様にしたものである。
C 従来の技術 C1誤り訂正符号のエンコーダの説明 音声信号や映像信号等をデジタル信号の形式で記録再
生するデジタル処理技術が広く普及しつつある。このデ
ジタル信号処理技術における重要な技術は誤り訂正符号
の符号化及び復号化の技術である。誤り訂正符号には広
義のBCH符号、Goppa符号等があり本発明はこれらの誤り
訂正符号にも適用できるものであるが、本明細書におい
てはBCH符号の特別な場合であるReed−Solomon符号のみ
を扱う。
Reed−solomon符号では有限体GF(2m)(mは1以上
の整数)の元を各シンボルに対応させている。また、そ
の有限体GF(2m)の既約生成多項式をG(X)としてG
(X)=0の根をαとすると、その有限体GF(2m)の各
元即ち各シンボルはαのべき乗で表現することができ
る。更に、このαのべき乗α(iは整数)はベクトル
表現ではmビットの2進数で表現することができ、デジ
タル信号処理においてはこのベクトル表現が便利であ
る。
Reed−Solomon符号の符号化を行なうには先ず上述の
αを用いて次の様なパリティ・チェック・マトリックス
Hを定義する。
この場合、nは符号長、tは訂正可能なシンボルの数
を示し、原情報を(n−2t)個のシンボルu0
un-2t-1、パリティ情報を2t個のシンボルp0〜p2t-1で表
現すると、送信符号語fは次の様にn個のシンボルを要
素とするベクトルで表現できる。尚、〔‥‥〕は転置
行列を示す。
f=〔pop1‥‥p2t-1u0u1‥‥un-2t-1 ‥‥(2A) そして、エンコーダは Hf=0 ‥‥(3) が成立する様にパリティ情報のシンボルp0〜p2t-1を決
定する。また、送信符号語fを多項式表現でf(X)と
すると、 f(X)=p0+p1X+‥‥+p2t-1Xg2t-1 +u0X2t+‥‥+un-2t-1Xn-1 ‥‥(2B) となり、この式(2B)の変数Xにα,α2,‥‥,α2t
順次代入することにより式(3)は次の様に表現するこ
とができる。
f(α)=0,f(α)=0,‥‥,f(α2t)=0 ‥‥(4) C2誤り訂正符号のデコーダの全体構成の説明(第9図) 送信符号語fに対して伝送誤りをeとすると、受信符
号語rはベクトル表現では r=f+e ‥‥(5A) となり、この式(5A)を多項式表現すると r(X)=f(X)+e(X) =r0+r1X+‥‥+rn-1Xn-1 ‥‥(5B) となる。Reed−Solomon符号では、符号長をn、パリテ
ィ情報のシンボルの数を2tとすると、伝送誤りeの中の
0以外の誤りシンボルの数がt個以下の場合に誤り訂正
を行なうことができる。
第9図は誤り訂正符号のデコーダの全体構成を示し、
この第9図において、(1)はシンドローム発生回路で
あり、このシンドローム発生回路(1)は式(1)のパ
リティ・チェック・マトリックスHと受信符号語rとを
乗算することによりシンドロームSを生成する。このシ
ンドロームSはベクトル表現では S=〔S1S2‥‥S2t ‥‥(6A) となり、多項式表現では S(X)=S1+S2X+S3X2+‥‥+S2tX2t-1 ‥‥(6B) となる。そして、S=Hrを各要素を用いて表現すると次
の様になる。
この式(7A)をまとめると、 となるが、伝送誤りeの多項式表現をe(X)=e0X+e
1X2+‥‥+en-1Xn-1として、式(4)のエンコーダに
おける条件を用いると、式(7B)は次の様に表現するこ
とができる。
Sj=e(α)(j=1,2,‥‥2t) ‥‥(7C) 第9図において、(2)は誤り位置多項式の導出回路
を示し、この誤り位置多項式の導出回路(2)はそのシ
ンドローム多項式S(X)(実際にはS(x)の各係
数)より誤り位置多項式σ(X)の各係数及び誤り評価
多項式ω(X)の各係数を計算して、これら各係数を誤
り位置の検出回路(3)及び誤りパターンの算出回路
(4)に供給する。
この場合、受信符号語rの先頭からj番目の位置に誤
りが生じたときに(即ちej≠0のときに)、αを誤り
位置と呼ぶことにする。そして、伝送誤りeの非零の要
素の数をν個(ν≦t)として、これらν個の非零の要
素(誤りシンボル)の誤り位置をXi、誤りパターンをYi
(i=1,2,‥‥ν)とすると、ν個の誤りシンボルは夫
々(Xi,Yi)によって表現されると共に、式(7C)を次
の様に表現することができる。
式(7D)は2t個の方程式を示し、未知数は(Xi,Yi
の2ν個(2ν≦2t)であるからこれら未知数(Xi,Y
i)は一意的に求めることができる。しかしながら、式
(7D)を充足する未知数(Xi,Yi)(i=1,2,‥‥,
ν)を容易に求めるために、次の様に誤り位置多項式σ
(X)及び誤り評価多項式ω(X)を導入する。
ω(X)=S(X)・σ(X)(modX2t)‥‥(9) 式(8)よりσ(Xi -1)=0(i=1,2,‥‥,ν)が
成立するので、この誤り位置多項式σ(X)の係数σ
が求められれば、α-j(j=0,1,‥‥n−1)を順次σ
(X)に代入してσ(α-j)=0となるときのα-jを全
数サーチすることにより、誤り位置Xi(i=1,2,‥‥,
ν)を検出することができる。
一方、誤り位置Xiに対する誤りパターンをYiとする
と、誤り評価多項式ω(X)を用いて誤りパターンYi
次の様に算出できることが知られている。
後述の如く、誤り位置多項式σ(X)及び誤り評価多
項式ω(X)はユークリッドの互除法によってシンドロ
ーム多項式S(X)より導出することができる。そし
て、第9図における誤り位置の検出回路(3)は誤り位
置多項式σ(X)より誤り位置Xiを検出し、その誤り位
置の所でハイレベル“1"となるデジタル信号を生成して
アンドゲート群(5)の夫々の一方の入力端子に供給す
る。また、誤りパターンの算出回路(4)が式(10)を
用いて算出した誤りパターンYiのベクトル表現であるm
ビットの2進数を夫々の誤り位置の所でアンドゲート群
(5)の夫々の他方の入力端子に供給すると、アンドゲ
ート群(5)からは伝送誤り多項式e(X)の各係数の
ベクトル表現が時系列的に生成される。そして、受信符
号語の多項式r(x)の各係数を遅延回路(7)にて所
定時間で遅延させてなる係数のベクトル表現とその伝送
誤り多項式e(X)の各係数ベクトル表現とをmod2の加
算器群(6)で加算することにより、誤りが訂正された
送信符号語の多項式f(X)の各係数のベクトル表現が
求められる。これはmod2では加算と減算とは同一の演算
であることを利用している。
C3ユークリッドの互除法を用いた従来の誤り位置多項式
の導出回路の説明(第10図、第11図) 2つの多項式r-1(X),r0(X)が与えられ、deg
(次数)r0≦degr-1であるとすれば、ユークリッドの互
除法では次の様な除算を繰返し実行する。
そして、最後に割り切れた非零のrj(x)がr
-1(X)とr0(X)との最大公約多項式(Greatest Com
mon Devisor:GCD)になる。
また、このユーキリッドの互除法に基づいて次の定理
が導かれる。即ち、2つの多項式r-1(X),r0(X)が
与えられ、degr0≦degr-1且つGCDがh(X)であるとす
ると、 U(X)・r-1(X)+V(X)・r0(X)=h
(X) ‥‥(12) を充足するX(X),V(X)が存在し、degu,degVは共
にdegr-1より小さい。U(X)及びV(X)を求めるに
は U-1(X)=0,U0(X)=1 ‥‥(13A) V-1(X)=1,V0(X)=0 ‥‥(13B) と定義して、式(11A)〜(11Z)に現われる商qi(i=
1,2,‥‥,j+1)を用いて次の式よりUi(X),V
I(X)を計算する。
Ui(X)=qi(X)・Ui-1(X)+Ui-2(X) ‥‥(14A) Vi(X)=qi(X)・Vi-1(X)+Vi-2(X) ‥‥(14B) この場合、(−1)j+1Vj(X)がU(X)となり、
(−1)jUi(X)がV(X)となる。
式(11A)〜(11Z)及び式(14A),(14B)のユーク
リッドの互除法を適用すると、シンドローム多項式S
(X)(式(6B))より第11図に示すステップ(100)
〜(105)のアルゴリズムによって誤り位置多項式σ
(X)、誤り評価多項式ω(X)が求められることが知
られている。
ステップ(100) 誤り訂正できるシンボルの数の上限をtとした場合、
r-1(X)及びr0(X)を夫々X2t及びS(X)として、
U-1(X)及びU0(X)を夫々0及び1に設定する。
ステップ(101) ステップ数iを1に設定する。
ステップ(102) ri-2(X)をri-1(X)で除した商をqi(X)とし
て、式(11Y)でjをiに置換えた式及び式(14A)より
ri(X)及びUi(X)を算出する。即ち、 ri(X)=ri-2(X)−qi(X)ri-1(X) ‥‥(15A) Ui(X)=Ui-2(X)+qi(X)Ui-1(X) ‥‥(15B) ステップ(103) ri(X)の次数が(t−1)次以下になったかどうか
を調べる。degri(X)≦t−1のときにはステップ(1
05)に移り、degri(X)>t−1のときにはステップ
(104)に移る。
ステップ(104) ステップ数iを1だけ増分してステップ(102)に戻
る。
ステップ(105) Ui(X)のδ倍が誤り位置多項式σ(X)となり、ri
(X)の(−1)δ倍が誤り評価多項式ω(X)とな
る。
δはσ(式(8)の0次の係数)を1とするための
定数であり、実際の計算ではσ(Xi)=0となるXiのみ
が問題となるためδ=1とすることができる。また、有
限体GF(2m)上では加算と減算とは同一であるため、
(−1)も1とすることができる。
第10図は第11図のアルゴリズムを実行するための仮想
的な回路(従来の誤り位置多項式の導出回路(2)の具
体的な構成)を示し、この第10図において、(8A)〜
(8Z)は夫々全体として同一構成の互除ユニット、(9
A)〜(9Z)は夫々第11図のステップ(102)におけるqi
(X)及びri(X)を決算する主計算ユニット、(10
A)〜(10Z)は夫々Ui(X)を計算する副計算ユニット
である。また、先頭の互除ユニット(8A)に関数r
i(X),Ui(X)の初期値r-1(X)=X2t,r0(X)=
S(X),U-1(X),U0(X)を供給すると、これらの
関数は互除ユニットを1つ通過する毎に次第に(r
0(X),r1(X),U0(X),U1(X)),(r1(X),r
2(X),U1(X),U2(X)),‥‥と変化して、後端
の互除ユニット(8Z)からω(X)及びσ(X)が出力
される。
この様にユークリットの互除法を用いると、同一構成
の互除ユニット(8A)〜(8Z)を縦続接続することによ
りシストリック構造(systolic−array architecture)
を採ることができる利益かある。しかしながら、主計算
ユニット(9A)〜(9Z)において多項式ri-2(X),r
i-1(X)間の除算を如何にして実現するかが課題とな
る。
C4従来の改善された誤り位置多項式の導出回路の説明
(第12図、第13図) 上述の多項式間の除算を分割してそれら多項式の係数
間の除算に帰着せしめたのがこの従来の改善されたユー
クリッドの互除法によるアルゴリズムであり、このアル
ゴリズムはIEEE Trans.on Computers,Vol.C−34,No.5,M
ay1985,pp.393−403において提案されたものである。こ
の改善されたアルゴリズムは基本的には式(12)の定理
を発展させて、i番目の繰返し手順において γ(X)・X2t+λ(X)・S(X)=Ri(X) ‥‥(16) を充足する様な多項式Ri(X),γ(X),λ
(X)を順に算出して行くものである。そして、剰余
Ri(X)の次数がt次未満になったときにアルゴリズム
を停止するものである。このアルゴリズムを第13図のス
テップ(106)〜(114)に示す。
ステップ(106) 誤り訂正できるシンボルの数の上限をtとすると、初
期設定としてR0(X),Q0(X),λ(X),μ
(X),γ(X)及びη(X)を夫々X2t、S
(X),0,1,1及び0に設定する。
ステップ(107) ステップiを1に設定する。
ステップ(108) Ri-1(X)の次数とQi-1(X)の次数との差li-1を求
め、Ri-1(X)及びQi-1(X)の最高次の係数を夫々a
i-1及びbi-1とする。
ステップ(109) 次数の差li-1の正負によって、li-1≧0であればステ
ップ(110)を経てステップ(112)に進み、li-1<0で
あればステップ(111)を経てステップ(112)に進む。
ステップ(110)(ノーマルモード) li-1≧0即ちRi-1(X)の次数がQi-1(X)の次数以
上の場合の動作であり、以下の式によってRi(X),λ
(X),γ(X)を計算する。
また、Qi(X)=Qi-1(X),μ(X)=μ
i-1(X),η(X)=ηi-1(X)とする。これは除
算Ri-1(X)/Qi-1(X)を最高次の係数同士の除算a
i-1/bi-1で置換えたものである。
ステップ(111)(クロスモード) li-1<0即ちRi-1(X)の次数がQi-1(X)の次数よ
り小さい場合の動作であり、以下の式によってR
i(X),λ(X),γ(X)を計算する。
また、Qi(X)=Ri-1(X),μ(X)=λ
i-1(X),η(X)=γi-1(X)とする。これはR
i-1(X)とQi-1(X)とを入替えたことに相当する。
ステップ(112) 式(16)における剰余Ri(X)の次数がt次より小さ
くなったかどうかを調べ、Ri(X)の次数がt次より小
さくなったときはステップ(114)に進みt次以上であ
ればステップ(113)へ進む。
ステップ(113) ステップ数iを1だけ増分してステップ(108)へ戻
る。
ステップ(114) 最終処理としてλ(X)及びRi(X)を夫々誤り位
置多項式σ(X)及び誤り評価多項式ω(X)となす。
この場合iは2tとなっている。
第12図は第13図のアルゴリズムを実行するための従来
の改善された誤り位置多項式の導出回路(2)の具体的
な構成を示し、この第12図において、(11A)〜(11D)
は夫々全体として同一構成の互除ユニットである。例え
ば先頭の互除ユニット(11A)において、(12A)及び
(13A)は1対のスイッチ回路、(14A)及び(15A)は
他の1対のスイッチ回路を示し、これらスイッチ回路
(12A)〜(15A)の入力ポートに夫々R0(X),Q
0(X),λ(X)及びμ(X)の係数を供給す
る。degR0(X)−degQ0(X)=l0が0又は正の場合に
はスイッチ回路(12A)〜(15A)は夫々入力ポートに供
給される係数をそのまま出力ポート側へ伝える。一方、
l0が負の場合には、スイッチ回路(12A)と(13A)とは
交差する如く動作すると共に、スイッチ回路(14A)と
(15A)とは交差する如く動作する。
スイッチ回路(12A)の出力ポートに現われる係数を
除算器(19A)の被除数入力ポート及び加算器(20A)の
一方を入力ポートに供給し、スイッチ回路(13A)の出
力ポートに現われる係数を除算器(19A)の除数入力ポ
ート及び乗算器(23A)の一方の入力ポートに供給し、
除算器(19A)で最初に得られた商をデータ保持用のレ
ジスタ(22A)を介して乗算器(23A)の他方の入力ポー
トに供給し、この乗算器(23A)の出力を加算器(20A)
の他方の入力ポートに供給する。また、スイッチ回路
(14A)及び(15A)の出力ポートに現われる係数を夫々
加算器(21A)の一方の入力ポート及び乗算器(24A)の
一方の入力ポートに供給し、レジスタ(22A)に保持さ
れている係数を乗算器(24A)の他方の入力ポートに供
給し、この乗算器(24A)の出力を加算器(21A)の他方
の入力ポートに供給する。
尚、本例の加算器、乗算器、除算器は全て有限体GF
(2m)の元同士の演算を行なうものである。
また、(16A)〜(18A)は夫々D型フリップフロップ
より成る遅延レジスタを示し、入力される係数の最高次
の係数との同期を採るためのスタートフラグ信号SFをレ
ジスタ(16A)を介して次段の互除ユニット(11B)に供
給し、スイッチ回路(13A)及び(15A)の出力ポートに
現われる係数を夫々レジスタ(17A)及び(18A)を介し
て多項式Q1(X)及びμ(X)の係数として次段の互
除ユニット(11B)に供給し、加算器(20A)及び(21
A)の出力ポートに現われる係数を多項式R1(X)及び
λ(X)の係数として次段の互除ユニット(11B)に
供給する。他の互除ユニット(11B),(11C),‥‥も
入力される多項式Ri-1(X),Qi-1(X),λ
i-1(X),μi-1(X)の係数よりスタートフラグ信号
SFに同期して多項式Ri(X),Qi(X),λ(X),
μ(X)の係数を生成する如くなす。
第12図例の回路の具体的な応用例について説明する
に、既約生成多項式G(X)がX4+X+1の有限体GF
(24)の各元によって各シンボルを表現する。即ち、X4
+X+1=0の根をαとすると、各シンボルはαのべき
乗で表現できる。また、符号長nを11、訂正可能なシン
ボルの数tを2とすると、原情報のシンボル数は7個、
パリティ情報のシンボル数は2t個(=4個)である。こ
の場合、原情報のベクトルをmとして、具体的に m=〔α11α10ααααα ‥‥(19) とすると、式(3)よりパリティ情報のシンボルp0〜p3
は夫々0,α12611となり、送信符号語fは次の様
になる。
f=〔0α12αα11α11α10ααααα
‥‥(20) また、伝送誤りのベクトルeを e=〔αα9000000000〕 ‥‥(21) とすると、受信符号語r(=f+e)には2個の誤りシ
ンボルが存在する。この場合、式(7A)に従ってパリテ
ィ・チェック・マトリックスHと受信符号語rとを乗算
することにより、シンドローム多項式S(X)は次の如
くなり、 S(X)=S1+S2X+S3X2+S4X3 =α12+α5X+α10X2+α8X3 ‥‥(22) 第13図のステップ(106)における各多項式の初期値
は次の如くなる。
R0(X)=X4,Q0(X)=S(X) λ(X)=0,μ(X)=1,σ(X)=1,η
(X)=0 第12図に示す如く、R0(X)及びλ(X)の係数を
高次(X4)の係数から順に互除ユニット(11A)に供給
し、Q0(X)及びμ(X)の係数を高次(X3)の係数
から順に互除ユニット(11A)に供給し、最高次の係数
に同期させてスタートフラグ信号SFをハイレベル“1"に
立上げる。
(互除ユニット(11A)における動作) この場合、l0=deg R0(X)−deg Q0(X)=4−3
=1≧0であるため、スイッチ回路(12A)〜(15A)は
夫々き供給されて来る係数をそのまま通過させる。ま
た、R0(X)及びQ0(X)の最高次の係数a0及びb0が負
1及びαであるため、レジスタ(22A)にはa0/b0=1/
α=αが設定され、R1(X)及びX1(X)は夫々次
の様になる。
R1(X)=X4+α(α8X3+α10X2+α5X+α12
・X =α2X3+α12X2+α4X λ(X)=0+α7X=α7X また、Q1(X)=Q0(X),μ(X)=1,γ
(X)=1,η(X)=0である。尚、式(17A)及
び(17B)における 即ちXの乗算は、本例では予めQ0(X)及びμ(X)
の係数を1桁高次側へシフトしておくことにより実行し
ていると共にレジスタ(17A)及び(18A)を介すること
によってそれらQ0(X)及びμ(X)の係数を1桁低
次側へシフトしている。
(互除ユニット(11B)における動作) l1=deg R1(X)−deg R1(X)=3−3=0 であるため、スイッチ回路(12B)〜(15B)は夫々供給
されて来る係数をそのまま通過させる。また、R1(X)
及びQ1(X)の最高次の係数a1及びb1が夫々α及びα
であるため、レジスタ(22B)にはa1/b1=α2
αが設定され、R2(X)及びλ(X)は夫々次の様
になる。
R2(X)=R1(X)+(a1/b1)Q1(X) =α6X2+α9X+α λ(X)=λ(X)+(a1/b1)μ(X) =α2X+α また、Q2(X)=Q1(X),μ(X)=1,γ
(X)=1,η(X)=0である。
(互除ユニット(11C)における動作) l1=deg R2(X)−deg Q2(X)=2−3=−1<0
であるため、スイッチ回路(12C)と(13C)及びスイッ
チ回路(14C)と(15C)は夫々入力される多項式の係数
を交差さてて出力ポート側へ伝送する。従って、動作は
実質的に第13図のステップ(111)に移る。そして、R2
(X)及びQ2(X)の最高次の係数a2及びb2が夫々α
及びαであるため、レジスタ(22C)にはb2/a2=α8/
α=αが設定されR3(X)及びλ(X)は夫々次
の如くなる。
R3(X)=Q2(X)+(b2/a2)R2(X)・X =α14X2+α4X+α12 λ(X)=μ(X)+(b2/a2)λ(X)・X =α9X2+α11X+1 また、Q3(X)=R2=α6X2+α9X+α6(X)
=λ(X)=α7X+α9(X)=η(X)+α
2X=α2X,η(X)=1である。
(互除ユニット(11D)における動作) l3=deg R3(X)−deg Q3(X)=2−2=0である
ため、スイッチ回路(12D)〜(15D)は夫々供給されて
来る係数をそのまま通過させる。また、R3(X)及びQ3
(X)の最高次の係数a3及びb3は夫々α14及びαであ
るため、レジスタ(22D)にはa3/b3=α14=α
が設定され、R4(X)及びλ(X)は次の如くなる。
R4(X)=R3(X)+(a3/b3)Q3(X) =α10X+α λ(X)=λ(X)+(a3/b3)μ(X) =α9X2+α12X+α また、Q4(X)=Q3(X),μ(X)=μ(X)
である。この場合、deg R4(X)=1<2となったの
で、第13図のステップ(112)によりアルゴリズムは停
止して、誤り位置多項式σ(X)及び誤り評価多項式ω
(X)は夫々 σ(X)=λ(X)=α9X2+α12X+α =α(αX2+α4X+1) ω(X)=α10X+α である。本例ではG(α)=α+α+1=0であるた
め、σ(α)=α(α+α+1)=0,σ(α-1
=α(α+α+1)=0が成立し、X1=α0,X2=α
という2つの誤り位置が正確に検出できた(式(21)
参照)。
上述の様に第13図のアルゴリズムによれば原則として
正確に誤り位置多項式を導出できるが、途中段階でR
i(X)の次数が1次ずつ減少するのではなく2次以上
減少する場合には、li-1<0であってもステップ(11
0)のノーマルモードに進む如くなす。また、このユー
クリッドの互除法によるアルゴリズムではRi(X)の次
数は原則として1回に1次ずつしか減らすことができな
いので、誤りシンボルをt個訂正可能な符号では第12図
における互ユニット(11A),(11B),‥‥の数は2t個
必要となる。
D 発明が解決しようとする課題 Reed−Solomon符号を用いた場合、現状では、デジタ
ルVTRなどのリアルタイル性(クロック周波数15MHz程
度)が要求ささる用途においては、3シンボル訂正が既
に実現されており、一方、リアルタイム性が要求されな
い光ディスク等の用途に対しては8シンボル訂正までが
実現されている。更に、最近は符号長nが150程度に対
して、誤り訂正可能なシンボル数tが16程度の多重誤り
訂正符号のデコーダの開発が要求されている。
しかしながら、上述の従来の誤り位置多項式の導出回
路(第12図)では、訂正可能なシンボル数tを16とする
と互除ユニット(11A),(11B)‥‥を2t個即ち32個縦
続接続しなければならず、回路規模がその訂正可能なシ
ンボル数tに比例して大型化してしまう不都合があっ
た。
本発明は斯かる点に鑑み、誤り訂正可能なシンボル数
tを大きくできると共に回路規模を小型化できるユーク
リッドの互除回路を提案することを目的とする。
E 課題を解決するための手段 本発明によるユークリッドの互除回路は例えば第1図
乃至第3図に示す如く、第1の入力多項式Ri-1(X)を
因子に含む多項式を第2の入力多項式Qi-1(X)で除し
たときの商及び剰余Ri(X)を求めると共にその商及び
第3の入力多項式λi-1(X)よりそれまでの全体の商
λ(X)を求め、その剰余Ri(X)、それら第1の入
力多項式Ri-1(X)又は第2の入力多項式Qi-1(X)及
びその全体の商λ(X)を夫々第1の出力多項式、第
2の出力多項式及び第3の出力多項式となす互除ユニッ
ト(41A)〜(41Z)を複数個縦続接続し、それら複数の
互除ユニットにおいて夫々その商を求める除算手段とし
て、ベクトル表現された被除数xの各要素が供給され、
その要素の表現をベクトル表現から行列表現に変換する
表現変換手段(45)と、ベクトル表現された除数yの各
要素が供給され、その除数yの逆元y-1を求める逆元発
生手段(43)と、表現変換手段(45)から出力された被
除数xの行列表現の各要素と逆元発生手段(43)から出
力された除数yの逆元y-1とを乗算する行列とベクトル
との乗算手段(44)とから成る除算手段(42)を共用
し、それら複数の互除ユニット(41A)〜(41Z)におい
て夫々その商を求めるタイミングを異ならしめるように
したものである。
F 作用 斯かる本発明によれば、それら複数の互除ユニット
(41A)〜(41Z)において夫々その商を求めるタイミン
グが異なっているため、各互除ユニット(41A)〜(41
Z)は順次その除算手段(42)を使用してその商を求め
ることができる。従って、除算手段(42)が1個で済む
ため全体としての回路規模を小型化することができる。
また、除算手段(42)において被除数xと除数yとの
商x/yを計算するのに、まず除数yの逆元y-1が逆元発生
手段(43)で求められると共に被除数xの行列表現の各
要素が表現変換手段(45)で求められ、その被除数xの
行列表現の各要素と逆元y-1とが乗算手段(44)で乗算
される。この場合、逆元発生手段(43)と表現変換手段
(45)とが並列に動作するため、除算に要する演算時間
を大幅に短縮することができる。
尚、通常は先頭の互除ユニット(41A)の出力が次第
に後端の互除ユニット(41Z)まで伝播して行くように
動作するため、それら互除ユニット(41A)〜(41Z)に
おいて夫々その商を求めるタイミングが競合することは
ない。但し、第7図例の如くループ構造にする場合やデ
ータを連続的に処理する場合には、その商を求めるタイ
ミングを意図的に異ならしめる必要が生ずる場合があ
る。
G 実施例 G1一実施例で使用する互除ユニットの説明(第14図〜第
18図) 第12図に示した従来の改善された誤り位置多項式の導
出回路に使用されている互除ユニット(11A)〜(11D)
には次の様な2つの不都合がある。
deg Ri-1(X)<deg Qi-1(X)が成立して入力係
数を交差させた場合にそのRi-1(X)の最高次数の係数
が0になると、除算器(19A)〜(19D)における除算が
できないために計算エラーが発生する。これは、第12図
例の互除ユニット(11A)〜(11D)は次数を常に1次ず
つしか低下することができないことに起因している。
Qi-1(X)の初期値Q0(X)であるシンドローム多
項式S(X)の最高次数の係数が0であるときにも、除
算器(19A)における除算ができずに計算エラーが発生
する。
この一実施例では第12図例の互除ユニット(11A)〜
(11D)の有する不都合を解消した互除ユニットを使用
しているので、先ずこの一実施例で使用する互ユニット
について説明する。
第14図は本例の互除ユニット(25)の構成を示し、こ
の第14図において、(26)〜(28)は夫々遅延レジスタ
であり、これら遅延レジスタ(26),(27),(28)に
夫々スタートフラグ信号SF、多項式Qi-1(X)の係数、
μi-1(X)の係数を供給する。レジスタ(26)の出力
信号は後続の回路へのスタートフラグ信号SFOとする。
(29)〜(31)は夫々供給されて来る係数を平行に又は
交差して伝送するスイッチ回路を示し、スイッチ回路
(29)の2つの入力ポートに夫々多項式の次数を示す変
数dRi-1及びdQi-1を供給し、スイッチ回路(29)の一方
の出力ポートに現われる変数に加算器(32)にて−1を
加算して変数dRiを生成し、この変数dRi及びスイッチ回
路(29)の他方の出力ポートに現われる変数dQiを後続
の回路に供給する。
また、スイッチ回路(30)の一方及び他方の入力ポー
トに夫々多項式Ri-1(X)の係数及びレジスタ(27)か
ら出力される係数を供給し、スイッチ回路(30)の一方
の出力ポートに現われる係数を除算器(33)の被除数入
力ポート及び加算器(34)の一方の入力ポートに供給
し、スイッチ回路(30)の他方の入力ポートに現われる
係数を除算器(33)の除数入力ポート及び除算器(37)
の一方の入力ポートに供給する。また、スイッチ回路
(31)の一方及び他方の入力ポートに夫々多項式λi-1
(X)の係数及びレジスタ(28)から出力される係数を
供給し、スイッチ回路(31)の一方及び他方の出力ポー
トに現われる係数を夫々加算器(35)の一方の入力ポー
ト及び乗算器(38)の一方の入力ポートに供給し、除算
器(33)から出力される商をレジスタ(36)に保持し、
この保持した商を乗算器(37)及び(38)の夫々の他方
の入力ポートに供給し、乗算器(37)及び(38)の出力
データを夫々加算器(34)及び(35)の他方の入力ポー
トに供給する如くなす。加算器(34)の出力ポート、ス
イッチ回路(30)の他方の出力ポート、加算器(35)の
出力ポート及びスイッチ回路(31)の他方の出力ポート
より夫々多項式Ri(X),Qi(X),λ(X)及びμ
(X)の係数が後続の回路に供給される。
第14図例の互除ユニット(25)と同一構成の2t個の互
除ユニット(25A)〜(25Z)を縦続接続した例を第15図
に示す。この第15図において、初段の互除ユニット(25
A)には各係数及び多項式の初期値(シンドローム多項
式S(X),X2t等を含む。)を供給し、終段の互除ユニ
ット(25Z)からは誤り位置多項式σ(X)(=λ
2t(X))及び誤り評価多項式ω(X)(=R
2t(X))を取り出す如くなす。
第16図のステップ(115)〜(125)を参照して第14図
例の互除ユニットに適用される改善されたユークリッド
の互除法によるアルゴリズムにつき説明するに、誤り訂
正できるシンボル数の上限をtとする。また、このアル
ゴリズムも基本的にはi番目の繰返し手順において式
(16)を充足する様な多項式Ri(X),γ(X),λ
(X)を順に算出して行くものであるが、γ(X)
についての処理は省略する。
ステップ(115) 初期設定としてR0(X),Q0(X),λ(X),μ
(X),dR0及びdQ0に夫々シンドローム多項式S
(X),X2t,1,0,2t−1及び2tを設定する。第13図のア
ルゴリズムと比較してR0(X)及びQ0(X)の初期値が
交換され、λ(X)及びμ(X)の初期値も交換さ
さている。これによればQi(X)の初期値Q0(X)であ
るX2tの最高次数の係数が1となり除数が0の除算を回
避することができるため、上述の従来の互除ユニット
(11A)〜(11D)の不都合を解消することができる。
ステップ(116) ステップ数iを1に設定する。
ステップ(117) dRi-1とdQi-1との差li-1を求め、Ri-1(X)のdRi-1
次の係数及びQi-1(X)のdQi-1次の係数を夫々ai-1
びbi-1とする。この場合、R0(X)であるシンドローム
多項式S(X)の最高次の係数は0にもなり得るため、
係数ai-1の値が0になることもある。
ステップ(118) 次数の差li-1の正負によって、li-1≧0であればステ
ップ(119)を経てステップ(123)に進み、li-1<0で
あればステップ(120)に進む。
ステップ(119)(ノーマルモード) li-1≧0即ちdRi-1がdQi-1以上の場合の動作であり、
以下の式によってRi(X),λ(X)を計算する。
Ri(X)=Ri-1(X)+(ai-1/bi-1)・X・Qi-1(X) ‥‥(23A) λ(X)=λi-1(X)+(ai-1/bi-1)・X・μi-1(X) ‥‥(23B) また、Qi(X)=Qi-1(X),μ(X)=μ
i-1(X),dRi=dRi-1−1,dQi=dQi-1とする。これは除
算Ri-1(X)/Qi-1(X)を仮想的な最高次の係数同士
の除算ai-1/bi-1で置換えたものである。式(23A),
(23B)にて(ai-1/bi-1)にXを乗じているのは、本例
ではli-1=dRi-1dQi-1は通常±1となる様に制御されて
いるからである。
ステップ(120) Ri-1(X)のdRi-1次の係数であるai-1が0であれば
ステップ(121)からステップ(123)へ進み、ai-1が0
でないときにはステップ(122)からステップ(123)へ
進む。
ステップ(122)(クロスモード) Ri-1(X)の係数よりもQi-1(X)の次数の方が大き
く且つ係数ai-1が0でない場合の動作であり、ノーマル
モードの場合に対してRi-1(X)とQi-1(X)とを交換
することにより、次式を用いてRi(X)及びλ(X)
を算出する。
Ri(X)=Qi-1(X)+(bi-1/ai-1)・X・Ri-1(X) ‥‥(24A) λ(X)=μi-1(X)+(bi-1/ai-1)・X・λi-1(X) ‥‥(24B) また、Qi(X)=Ri-1(X),μ(X)=λ
i-1(X),dRi=dQi-1−1,dQi=dRi-1として、ステップ
(123)へ進む。
ステップ(121)(シフトモード) Ri(X)のdRi-1次(最高次)の係数ai-1が0であ
り、このRi-1(X)の実際の次数が(dRi-1)以下の場
合の動作である。この場合にはRi-1(X)による乗算が
可能になる様に、Ri-1(X)にXを乗じてRi-1(X)を
上位次数側にシフトする。即ち、次の式が成立する。
Ri(X)=X・Ri-1(X) ‥‥(25A) λ(X)=X・λi-1(X) ‥‥(25A) また、Qi(X)=Qi-1(X),μ(X)=μ
i-1(X),dRi=dRi-1−1,dRi=dQi-1として、ステップ
(123)へ進む。この場合、dRiは1だけ減少しているの
で、Ri(X)の最高次(dRi次)の係数が0以外の数に
なった時点でdRiはdeg(Ri(X))と一致することにな
り、このときに始めてステップ(122)においてクロス
モードの処理が行われる。これによって、第12図例の互
除ユニット(11A)〜(11D)における不都合が解消さ
れる。
ステップ(123) ステップ数iが2tに達したか否かを調べ、2tに達して
いないときにはステップ(124)へ進み、2tに達したと
きには最終処理であるステップ(125)へ進むう。
従って、誤りシンボルの数がν(ν<t)しかない場
合であっても誤り位置多項式の導出回路全体としては常
に第16図のステップ(117)〜(123)の動作が2t回だけ
繰返されることになる。但し、1個の互除ユニットはス
テップ(117)〜(123)を夫々1回だけ実行するもので
ある。この場合、ステップ(117)〜(123)の動作を2t
回繰返した後に得られた解においては、dR2Tが誤り訂正
多項式σ(X)の次数νから1を引いた数を表わしてい
る。一方、ステップ(121)のシフトモードの動作によ
って多項式R2t(X)は上位次数側へ(t−1−ν)次
だけシフトされているため、σ(X)及びω(X)を得
るためにはλ2t(X)及びR2t(X)を夫々後述のシフ
ト多項式P(X)を用いて下位次数側へシフトする必要
がある。
ステップ(124) ステップ数iを1だけ増分してステップ(117)へ戻
る。
ステップ(125) 最終処理として誤りシンボルの数ν、シフト多項式P
(X)を次式より算出する。
ν=dR2t+1 P(X)=Xt-1 その後、このシフト多項式P(X)を用いて次式より
誤り位置多項式σ(X)及び誤り評価多項式ω(X)を
計算する。
σ(X)=λ2t(X)/P(X) ‥‥(26) ω(X)=R2t(X)/P(X) ‥‥(27) 第14図例の互除ユニット(25)の具体的な応用例につ
いて説明するに、第17図に示す如く、その互除ユニット
(25)と同一構成の4個の互除ユニット(25A)〜(25
D)を縦続接続して誤り位置多項式の導出回路を構成す
る。また、有限体GF(24)の各元によって各シンボルを
表現すると共に、第12図例と同様に符号長nを11、訂正
可能なシンボルの数tを2に設定して、送信符号語f及
び伝送誤りベクトルeを夫々式(20)及び(21)によっ
て表現する。
この場合、シンドローム多項式S(X)は式(22)に
よって表現され、第16図のステップ(115)における各
変数及び多項式の初期値は次の如くなる。
R0(X)=S(X),Q0(X)=X4 λ(X)=1,μ(X)=0,dR0=3,d,Q0=4 そして、第17図に示す如く、R0(X)〜μ(X)の
係数を夫々高次の係数から順に互除ユニット(25A)に
供給し、dR0及びdQ0の値をその互除ユニット(25A)に
供給し、最高次の係数に同期させてスタートフラグ信号
SFをハイレベル“1"に立上げる。
互除ユニット(25A)においては、次数の差l0=dR0
dQ0=3−4=1−<0であると共に、a0=α8,b0=1
であるため、動作は第16図のステップ(122)(クロス
モード)に移行し、スイッチ回路(29A)〜(31A)は夫
々供給されて来る変数又は係数を交差させて伝送する。
また、レジスタ(36A)にはb0/a0=1/α=αが設定
され、R1(X)及びλ(X)は夫々次の如くなる。
R1(X)=X4+α・X・(α8X3+α10X2+α5X +α12) =α2X3+α12X2+α4X λ(X)=0+α・X=α7X また、Q1(X)=R0(X)=S(X),μ(X)=
λ(X)=1となるが、これらの結果は次数がシフト
とされている点を除くと第12図例の互除ユニット(11
A)における処理結果と同じである。
同様に第17図例の互除ユニット(25B)〜(25D)にお
ける処理結果は夫々第12図の互除ユニット(11B)〜(1
1D)における処理結果と等しくなるため、最終的に正確
な誤り位置多項式σ(X)(=λ(X))および誤り
評価多項式ω(X)(=R4(X))が得られる。尚、第
17図例では訂正可能なシンボルの数t及び実際の誤って
いるシンボルの数νが共に2であるため、第61図のステ
ップ(125)におけるシフト多項式P(X)は1になっ
ている。
次に、符号長nが150で誤り訂正可能なシンボルの数
tが16の場合について考案するに、この場合は第16図の
ステップ(117)〜(123)の動作を32回(2t回)繰り返
す必要がある。従って、従来例と同様に単に互除ユニッ
トを縦続接続するのでは、第14図例の互除ユニット(2
5)が32個必要になる。また、受信符号語はクロックパ
ルスCKに同期して1シンボルずつ伝送されて来るものと
して、クロックパルスCTの1周期を1TCとすると、第18
図Aに示す如く、夫々の符号長が150の受信符号語I,II,
III,‥‥が周期150TCで伝送させて来る。また、t=16
の場合にはシンドローム多項式S(X)の最高次数は31
(=2t−1)次であり、多項式X2tの係数の数33(=2t
+1)個である。従って、従来例の如く第14図例の互除
ユニット(25)を単純に32個縦続接続した場合には、第
18図Bに示す如く、受信符号語I,II,III,‥‥の受信終
了後の33TCの期間(39A),(39B),(39C),‥‥に
夫々その縦続接続した回路の先頭の互除ユニットにシン
ドローム多項式S(X)及び多項式X2tの33個の係数の
対が供給される。
また、1個の互除ユニットがS(X)及びX2tの1対
の係数を処理するのに4クロックパルス分(4TC)要す
るとすると、1対の係数は夫々32個の互除ユニットを通
過する必要があるため、32×4TC=128TCより、受信符号
後I,II,III,‥‥の受信終了後から夫々128TC通過した後
の期間(40A),(40B),(40C),‥‥にそれらの受
信符号語に対応する誤り位置多項式σ(X)の係数が順
次後端の互除ユニットより出力される。そして、150TC
の期間から33TCの期間を除いた期間ITには先頭の互除ユ
ニットには何の入力もなされないため、その期間ITは一
種のアイドルタイムと考えることができる。従って、一
般に符号長Nに対して訂正可能なシンボルの数tがN》
2tの関係を充足している場合には、従来例の如く単に互
除ユニットを縦続接続するのでは、回路規模が大きくな
るばかりでなくアイドルタイムITが長くなる不都合があ
る。
G2一実施例の誤り位置多項式の導出回路の説明(第1
図、第2図) 以下、本発明によるユークリッドの互除回路の一実施
例につき第1図及び第2図を参照して説明しよう。本例
はReed−Solomon符号のデコーダにおける訂正可能なシ
ンボル数がtの誤り位置多項式の導出回路(第9図の
(2)に対応する。)に本発明を適用したものである。
また、本例では第14図例と同じ構造の互除ユニットを2t
個使用すると共に、各互除ユニットにおけるデータの遅
延時間は夫々4クロックパルス分(4TC)であるとす
る。また、本例の各互除ユニットにおいて使用するアル
ゴリズムは第16図に示した改善されたユークリッドの互
除方によるアルゴリズムと同じである。
第1図は本例の誤り位置多項式の導出回路を示し、こ
の第1図において(41A)〜(41Z)は夫々第14図の互除
ユニット(25)から除算器(33)を除いた構成の縦続接
続された2t個の互所ユニット、(42)は有限体GF(2m
の元同士の除算を実行する除算器であり、互除ユニット
(41A)〜(41Z)より夫々被除数NML及び除数DNMを出力
するバスライン並びに商SHOを入力するバスラインを導
出し、その被除数NML及び除数DNMを夫々除算器(42)の
被除数入力ポート及び除数入力ポートに供給し、その除
算器(42)の出力ポートをその商SHOを入力するバスラ
インに接続する如くなす。
また、先頭の互除ユニット(41A)には変数DRi-1,dQ
i-1及び多項式Ri-1(X),Qi-1(X),λi-1(X),
μi-1(X)の初期値であるdR0,dQ0,R0(X)(=S
(X)),Q0(X)(=X2t),λ(X),μ(X)
を供給し、後端の互除ユニット(41Z)より誤り位置多
項式σ(X)(λ=2t(X))及び誤り評価多項式ω
(X)(=R2t(X))を取出す。
第1図例中の除算器(42)の具体的な構成例を第2図
に示し、この第2図において、(43)は逆元発生用RO
M、(44)は行列とベクトルとの乗算器、(45)は有限
体の元の表現をベクトル表現から行列表現に変換する表
現変換回路であり、この表現変換回路(45)の入力ポー
トにベクトル表現された被除数xの各要素を供給し、こ
の表現変換回路(45)より出力される被除数xの行列表
現T(X)の各要素を乗算器(44)の行列要素入力ポー
トに供給する。また、ベクトル表現された除数yの各要
素を逆元発生用ROM(43)のアドレスバスに供給し、こ
の逆元発生用ROM(43)のデータバスから出力されるそ
の除数yの逆元y-1のベクトル表現の各要素を乗算器(4
4)のベクトル要素入力ポートに供給する。尚、有限体
の元の行列表現については特開昭60−144834号公報に開
示されている。
第2図例によれば、被除数xと除数yとの商x/yを計
算するのに、先ず除数yの逆元y-1が求められその被除
数xにこの逆元y-1が乗算される。この場合、逆元発生
用ROM(43)と表現変換回路(45)とが並列に動作する
ため、乗算に要する演算時間を大幅に短縮することがで
きる。
また、有限体GF(2m)の各元は0を除いて根αのべき
乗で表現されるので、被除数x及び除数yが夫々α
びαであるとすると、商zはαi-jとして容易に求め
ることができる。そこで乗算器(42)は、例えば被乗数
x及び乗数yのべき乗表現の指数i及びjを求めるROM
テーブル、i−jを計算する減算器及びこの指数i−j
よりαi-jのベクトル表現を求めるROMテーブルより構成
することもできる。
第1図の動作を説明するに、先頭の互除ユニット(41
A)には第16図のステップ(115)で示す初期データが供
給される。また、これら初期データの内の多項式の最高
次の係数に同期してスタートフラグ信号SFをハイレベル
“1"に設定し、各互除ユニット(41A)〜(41Z)は夫々
スタートフラグ信号SFがハイレベル“1"になったことよ
り多項式の最高次の係数が供給されことを識別する。従
って、その先頭の互除ユニット(41A)において処理さ
れたデータが次段の互除ユニット(41B)に供給される
と共にこの互除ユニット(41B)に供給されているスタ
ートフラグ信号SFがハイレベル“1"になると、この互除
ユニット(41B)においても第16図に示す動作が開始さ
れる。以下同様にスタートフラグ信号SFのハイレベル
“1"の部分が伝播するにつれて各互除ユニットが第16図
に示す動作を開始し、最終的に後端の互除ユニット(41
Z)から誤り位置多項式σ(X)及び誤り評価多項式ω
(X)の係数が得られる。
この場合、スタートフラグ信号SFのハイレベル“1"の
部分は時間軸上でシリアルに各互除ユニット(41A)〜
(41Z)に到達する共に、各互除ユニット(41A)〜(41
Z)において除算が実行されるのは夫々そのスタートフ
ラグ信号SFがハイレレル“1"になってから所定期間経過
後の所定クロックパルス分の期間内であるため、各互除
ユニット(41A)〜(41Z)における除算が同じタイミン
グで実行されることは起こらない。従って、本例によれ
ば1個の除算器(42)でそれら2t個の互除ユニット(41
A)〜(41Z)用の除算を順次シリアルに正確に実行する
ことができ、除算器(42)を1個で済ますことができる
ため、数tが大きくなっても全体としての回路規模を小
型化できる利益がある。
ここで、第17図を参照して各互除ユニット(25A)〜
(25D)において除算が行なわれるタイミングについて
詳しく検討する。例えば互除ユニット(25A)の除算器
(33A)においては、Q0(X)の最高次の係数b0(=
1)がR0(X)の最高次の係数a0(=α)によって除
算され、得られた商αがレジスタ(36A)に保持され
る。即ち、除算器(33A)は多項式R0(X)及びQ
0(X)の夫々の最高次の係数同士を除算するだけであ
るため、その除算に必要な時間は1クロスパルス分(1T
C)〜2TC程度でよい。また、その除算器(33A)によっ
て得られた商はR0(X)及びQ0(X)の他の全ての次数
の係数の処理が終了するまでそのレジスタ(36A)に保
持されている。従って、除算器(33A)はその1TC〜2TC
の期間の除算が終了した後はアイドル状態にある。他の
互除ユニット(25B)〜(25D)中の除算器(33B)〜(3
3D)についても、同様に夫々の互除ユニットのための除
算を行なわないときにはアイドル状態になる。本発明は
斯かる点に鑑みて除算器(33A)〜(33D)を1個にまと
めたものである。
これに対して、例えば互除ユニット(11A)中の乗算
器(23A)は常に新たな係数とその商αとの乗算を実
行しなければならずアイドル状態が短いため、互除ユニ
ット(11A)〜(11D)中の乗算器(23A)〜(23D)を1
個にまとめるのは困難である。
G3互除ユニットのより具体的な構成の説明(第3図、第
4図) 第1図例ではデータの遅延時間が4クロック(4TC
の互除ユニット(41A)〜(41Z)が使用されてるが、こ
のように遅延時間が4TCの互除ユニットの具体的な同期
式の構成例を第3図に示し、この第3図において第14図
に対応する部分及び信号には同一符号を付してその詳細
な説明を省略する。
この第3図において、(51)〜(68)は夫々D型フリ
ップフロップよりなる遅延レジスタ、(69)〜(74)は
夫々2入力のデータセレクタであり、データセレクタの
対(69),(70)、対(71),(72)及び対(73),
(74)が夫々第14図のスイッチ回路(29),(30)及び
(31)に対応する。(75)は比較回路を示し、この比較
回路(75)はdRi−dQi≧0のときにローレベル“0"とな
りdRi−1dQi<のときにハイレベル“1"となる比較信号R
EVを生成し、この比較信号REVをアンドテート(77)の
一方の入力端子に供給する。(76)はゼロ検出回路を示
し、このゼロ検出回路(76)は多項式Ri-1(X)の係数
が0になったときのみハイレベル“1"となるゼロ検出信
号RZを生成し、この信号RZをアンドゲート(77)の他方
の負論理の入力端子に供給し、このアンドゲート(77)
の出力信号のレジスタ(58)にて保持して信号CRSとな
し、この信号CRSでデータセレクタ(69)〜(74)の切
替えを制御する。
また、データセレクタ(71)の入力側にレジスタ(5
4)を設け、このデータセレクタ(71)の出力側にレジ
スタ(59),(63)を設け、同様にデータセレクタ(7
2)〜(74)の前後にもレジスタを設ける。そして、レ
ジスタ(59)の出力データAをバッファ回路(46)を介
して被除数NMLとして取出し、データセレクタ(72)の
出力側のレジスタ(60)の出力データBをバッファ回路
(47)を介して除数DNMとして取出し、バッファ回路(4
6),(47)はストローブされていないときには出力が
ハイインピーダンスになる如くなす。また、スタートフ
ラグ信号SFをレジスタ(26),(51),(52)及び(5
3)を介して順次フラグ信号SF1,SF2,SF2及びSF0に変換
し、フラグ信号SF1でレジスタ(58)を制御し、フラグ
信号SF3でレジスタ(36),(67)及び(68)並びにバ
ッファ回路(46)及び(47)を制御し、他のレジスタは
クロックパルスCKによって制御する。この場合、途中の
信号を夫々第3図に示す符号で指示し、変数dRi-1,dQ
i-1及び多項式Ri-1(X)〜μi-1(X)として第17図の
互除ユニット(25A)へ供給されている変数dR0,dQ0及び
多項式R0(X)〜μ(X)を仮定すると(即ち、Qi-1
(X)=Q0(X)=X4)、クロックパルスCKに同期して
第3図の各部信号は第4図に示す如く変化する。尚、こ
のクロックパルスCKの周波数は20MHz程度が想定されて
いる。
この第4図において、多項式Ri(X)〜μ(X)の
係数は多項式Ri-1(X)〜μi-1(X)の係数に対して4
TC遅れて生成されている。従って、第3図例の遅延時間
は4TCであることが分かる。尚、この第4図のタイミン
グチャートは、乗算器(42)における有限体の元同士の
除算が1TC内に終了すること及び乗算器(37)と加算器
(34)とによる有限体の元同士の乗加算が1TC内に終了
することを前提としている。
G4互除ユニットの他の例の説明(第5図、第6図) 互除ユニットの他の例につき第5図を参照して説明す
る。本例は有限体の元同士の乗算に2TCを消費する構成
例であり、この第3図に対応する部分には同一符号を付
して示す第5図において、先ずレジスタ(53)の後に更
に遅延レジスタ(88)を設け、レジスタ(53)より出力
されるフラグ信号SF4によってレジスタ(36),(67)
及び(68)を制御する。
また、データセレクタ(71)の出力ポートをレジスタ
(78)を介してバッファ回路(47)に接続し、その出力
ポートを更にレジスタ(79),(80)及び(59)を介し
て加算器(34)に接続し、データセレクタ(72)の出力
ポートをレジスタ(81)を介してバッファ回路(46)に
接続し、その出力ポートを更にレジスタ(82),(83)
及び(60)を介して乗算器(37)に接続する。この場
合、レジスタ(78)及び(81)はフラグ信号SF2によっ
て制御する如くなす。また、バッファ回路(36),(4
7)は2入力のオア回路(48)及びレジスタ(49)を介
してフラグ信号SF2,SF3によって制御する。同様に、デ
ータセレクタ(73)と加算器(35)との間にレジスタ
(84),(85)及び(61)を配し、データセレクタ(7
4)と乗算器(38)との間にレジスタ(86),(87)及
び(62)を配する。また、第5図例の第3図例と同じ条
件下でのタイミングチャートを第6図に示す。本例によ
れば除算に1TCだけ多く要しているため、全体の遅延時
間が5TCになっているとこが分かる。
G5本発明の他の実施例の説明(第7図、第8図) 以下、本発明によるユークリッドの互除回路の他実施
例につき第7図及び第8図を参照して説明しよう。本例
はReed−Solpmon符号のデコーダにおける符号長nが150
で訂正可能なシンボル数tが16の誤り位置多項式の導出
回路(第9図の(2)に対応する。)に本発明を適用し
たものである。また、本例では第3図例と同じ構成の互
除ユニットを8個使用すると共に、各互除ユニットにお
けるデータの遅延時間は夫々4クロックパルス分(4
TC)であるとする。また、本例の各互除ユニットにおい
て使用するアルゴリズムは第16図に示した改善されたユ
ークリッドの互除法によるアルゴリズムと同じである。
第7図は本例の誤り位置多項式の導出回路を示し、こ
の第7図において、(89)はデータバス、(90)はデー
タセレクタであり、このデータバス(89)を介してシン
ドローム多項式S(X)及び多項式X2tの係数等をデー
タセレクタ(90)の一方の入力ポートに供給する。(91
A)〜(91H)は夫々第3図の互除ユニットと同一構成の
互除ユニット、(92)は遅延時間が1クロックパルス分
(1TC)の遅延用レジスタを示し、データセレクタ(9
0)の出力ポートと遅延用レジスタ(92)の入力ポート
との間に互除ユニット(91A)〜(91H)を縦続接続す
る。(93)はデータバスを示し、このデータバス(93)
を介して遅延用レジスタ(92)の出力ポートとデータセ
レクタ(93)の他方の入力ポートとを接続し、このデー
タバス(93)の一部(93a)より最終的に得られる誤り
位置多項式σ(X)及び誤り評価多項式ω(X)の係数
を後続の図示省略した回路に取込む如くなす。また、本
例においても第1図例と同様に互除ユニット(91A)〜
(91H)で共用するための乗算器(42)を配する。
第7図例の動作につき第8図を参照して説明するに、
本例においても第8図Aに示す如く、符号長nが150の
受信符号後I,II,III,‥‥が周期150TCで伝送されて来
る。また、誤り訂正可能なシンボルの数tが16であるた
め、シンドローム多項式S(X)の次数は31(=2t−
1)次であり、初期値としてはS(X)及び多項式X2t
の係数が33(=2t+1)組供給されて来る。尚、第16図
のステップ(115)における多項式λ(X),μ
(X)及び変数dR0,dQ0も付随して供給されて来る。
従って、初期値であるS(X)及びX2tの係数等が全部
供給されて来るまでに33TCを要するが、本発明では互除
ユニット(91A)〜(91H)における遅延時間が夫々4TC
であり遅延用レジスタ(92)における遅延時間が1TC
あるため、互除ユニット(91A)から遅延用レジスタ(9
2)までの全遅延時間は33(=4・8+1)TCとなり、
それら係数が全部供給されて来るまでに要する時間に等
しく設定されている。
そこで、本例では第8図Bに示す如く、送信符号語I,
II,III,‥‥の受信終了後から33TCの期間(94A),(94
B),(94C),‥‥にはデータセレクタ(90)によって
S(X)及びX2tの係数等より成る33組の初期データを
先頭の互除ユニット(91A)に供給する。これにより互
除ユニット(91A)から遅延レジスタ(92)にはそれら3
3組のデータの中間処理データが格納される。
次に、データセレクタ(90)を切替えてその遅延用レ
ジスタ(92)から出力されるデータをその先頭の互除ユ
ニット(91A)に供給する如くなす。これにより第8図
C,D及びEに示す如く、期間(94A)に続く33TCの期間
(95A),(96A)及び(97A)に互除ユニット(91A)と
遅延用レジスタ(92)との間に保持されていた33組の中
間処理データは夫々互除ユニット(91A)〜(91H)、遅
延用レジスタ(92)、データバス(93)及びデータセレ
クタ(90)によって形成されるループを1周ずつ移動し
て処理される。そして、第8図Fに示す如く、期間(97
A)に続く33TCの期間(98A)にデータバス(93)の一部
(93a)を介して遅延用レジスタ(92)の出力ポートか
ら誤り位置多項式σ(X)及び誤り評価多項式ω(X)
の係数が取出される。同様に、期間(94B),(94C),
‥‥に続く各期間においても中間処理データはそのルー
プの中を周回する。
本例によれば、データバス(89)を介して供給される
33組の初期データは夫々4回そのループを周回すると共
に、そのループの中には8個の互除ユニット(91A)〜
(91H)が含まれているため、それら33組の初期データ
は夫々合計で32個の互除ユニットを通過したと同等にな
り、正確に誤り位置多項式の係数を求めることができ
る。この場合、従来例では32個の互除ユニットが必要で
あるのに対して、本例ではその1/4の8個の互除ユニッ
ト(91A)〜(91H)を使用するだけでよいため、回路規
模を大幅に小型化できる利益がある。
更に本例においては第8図に示す如く、受信符号語I,
II,III,‥‥の受信終了後から夫々132(=33×4)TC
遅延時間で誤り位置多項式σ(X)の係数が得られてい
るが、これは第18図に示した従来方式を用いた場合の遅
延時間128TCに比べてほぼ等しい遅延時間である。従っ
て、本例によれば回路規模を1/4に小型化しても遅延時
間がほとんど変わらない利益がある。また、本例のアイ
ドルタイムITは第8図に示す如く150TCから132TCを引い
た時間であり、第18図例と比べて大幅に短縮されてい
る。
第1図例を一般化して、符号長がn、訂正可能なシン
ボル数がtの場合について必要な互除ユニットの数等に
ついて考察する。この場合、シンドローム多項式S
(X)及び多項式X2tの係数等が(2t+1)組あるの
で、一連の互除ユニットを繰返して使用できる回数の最
大値RMは、並列処理する場合を除いて RM=int(n/(2t+1)) ‥‥(28) となる。int(A)はAを超えない整数を意味する。ま
た、一連の互除ユニットをR回繰返して使用する場合に
は、その一例の互除ユニットの数Gは G=int((2t−1)/R)+1 ‥‥(29) となり、それら一連の互除ユニットで1回(1周)の処
理を行うのに必要なクロックパルス単位の時間TCKの上
限TUは TU=int((n−1)/R)+1 ‥‥(30) となる。更に、初期の係数等を(2t+1)組供給しなけ
ればならないので、その時間TCKの加減TDは TD=2t+1 ‥‥(31) となる。従って、式(29)より繰返して使用する回数R
を多くすれば一例の互除ユニットの数Gは最小で1個に
することができる。この場合、遅延時間TCKをTD≦TCK
TUの範囲に収めるための遅延用レジスタを設ける如くな
す。
因みに第7図例の如くn=150、t=16の場合には、
R=int(150/33)=4,G=int(31/4)+1=8、TU=i
nt(149/4)+1=38、TD=33となり、これらの条件は
夫々充足されている。
また、第7図例における除算器(42)の除算のタイミ
ングについて述べるに、第8図の期間(94A)〜(94D)
においては除算器(42)は順次互除ユニット(91A)〜
(91H)用の除算を実行し、それらに続く期間(95A)〜
(95H)においては除算器(42)は再び順次互除ユニッ
ト(91A)〜(91H)用の除算を実行する。従って、第7
図例の様に繰り返して互除ユニット(91A)〜(91H)を
使用する構成であっても、一般に各互除ユニット(91
A)〜(91H)による除算器(42)の使用のタイミングが
干渉することはない。
また、仮に構成によって除算器の使用のタイミングが
干渉する様な場合には遅延レジスタ(92)における遅延
時間を調整することによって容易に干渉を避けることが
できる。一方、異なるシンドローム多項式S(X)を連
続して処理する様な場合には除算器の使用のタイミング
が干渉するおそれがあるが、この場合には例えば互除ユ
ニットの間に遅延時間調整用の遅延レジスタを配すれば
良い。
このように本発明は上述実施例に限定されず、本発明
の要旨を逸脱しない範囲で種々の構成を採り得ることは
勿論である。
H 発明の効果 本発明によれば、複数の互除ユニット用の除算手段を
1個にまとめることができるため、互除ユニットの接続
数が増加しても全体の回路規模を小型化できる利益があ
る。
また、乗算手段において、ベクトル表現された被除数
の各要素の表現を行列表現に変換する表現変換手段と、
ベクトル表現された除数の逆元を求める逆元発生手段と
が並列に動作するため、除算に要する演算時間を大幅に
短縮できる利益がある。
【図面の簡単な説明】
第1図は本発明の一実施例の誤り位置多項式の導出回路
を示す構成図、第2図は第1図例の除算器の一例を示す
構成図、第3図は一実施例の互除ユニットを示す構成
図、第4図は第3図例の動作の説明に供するタイミング
チャート図、第5図は互除ユニットの他の例を示す構成
図、第6図は第5図例の動作の説明に供するタイミング
チャート図、第7図は本発明の他の実施例を示す構成
図、第8図は第7図例の動作の説明に供するタイミング
チャート図、第9図は誤り訂正符号のデコーダの全体構
成を示す構成図、第10図は従来の誤り位置多項式の導出
回路を示す構成図、第11図は従来のユークリッドの互除
法によるアルゴリズムを示すフローチャート図、第12図
は従来の改善された誤り位置多項式の導出回路を示す構
成図、第13図は従来の改善されたユークリットの互除法
によアルゴリズムを示すフローチャート図、第14図は本
発明の一実施例で使用する互除ユニットを示す構成図、
第15図は第14図例の従来方式の接続例を示す構成図、第
16図は本発明の一実施例で使用する改善されたユークリ
ッドの互除法によるアルゴリズムを示すフローチャート
図、第17図は第14図例を従来方式で接続して構成した誤
り位置多項式の導出回路を示す構成図、第18図は従来方
式の動作の説明に供するタイミングチャート図である。 (34),(35)は夫々加算器、(37),(38)は夫々乗
算器、(41A)〜(41Z)は夫々互除ユニット、(42)は
除算器、(69)〜(74)は夫々データセレクタ、(75)
は比較回路、(76)はゼロ検出回路、(90)はデータセ
レクタ、(92)は遅延用レジスタ、(93)はデータの帰
還用のデータバスである。
フロントページの続き (56)参考文献 特開 昭63−316525(JP,A) 特開 昭63−132531(JP,A) 特開 昭63−132532(JP,A) 特開 昭61−105123(JP,A) 特開 昭60−144834(JP,A) 特開 平3−182122(JP,A) IEEE Trans.on Com p.,Oct.1989,Vol.38,N o.10,P.1473−1478 (58)調査した分野(Int.Cl.6,DB名) H03M 13/00 - 13/22

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】第1の入力多項式Ri-1(X)を因子に含む
    多項式を第2の入力多項式Qi-1(X)で除したときの商
    及び乗除Ri(X)を求めると共に上記商及び第3の入力
    多項式λi-1(X)よりそれまで全体の商λ(X)を
    求め、上記剰余Ri(X)、上記第1の入力多項式R
    i-1(X)又は第2の入力多項式Qi-1(X)及び上記全
    体の商λ(X)をそれぞれ第1の出力多項式、第2の
    出力多項式及び第3の出力多項式となす互除ユニットを
    複数個縦続接続し、 上記複数の互除ユニットにおいて夫々上記商を求める除
    算手段として、 ベクトル表現された被除数xの各要素が供給され、該要
    素の表現をベクトル表現から行列表現に変換する表現変
    換手段と、 ベクトル表現された除数yの各要素が供給され、該除数
    の逆元y-1を求める逆元発生手段と、 前記表現変換手段から出力された前記被除数xの行列表
    現の各要素と前記逆元発生手段から出力された前記除数
    yの逆元y-1とを乗算する乗算手段と から成る除算手段を共用し、 上記複数の互除ユニットにおいて夫々上記商を求めるタ
    イミングを異ならしめるようにしたことを特徴とするユ
    ークリッドの互除回路。
JP33588489A 1989-12-08 1989-12-25 ユークリッドの互除回路 Expired - Lifetime JP2797570B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP33588489A JP2797570B2 (ja) 1989-12-25 1989-12-25 ユークリッドの互除回路
EP19900123470 EP0431629A3 (en) 1989-12-08 1990-12-06 Mutual division circuit
US07/623,235 US5185711A (en) 1989-12-08 1990-12-06 Apparatus for dividing elements of a finite galois field and decoding error correction codes
KR1019900020087A KR910013754A (ko) 1989-12-08 1990-12-07 호제 회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33588489A JP2797570B2 (ja) 1989-12-25 1989-12-25 ユークリッドの互除回路

Publications (2)

Publication Number Publication Date
JPH03195217A JPH03195217A (ja) 1991-08-26
JP2797570B2 true JP2797570B2 (ja) 1998-09-17

Family

ID=18293455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33588489A Expired - Lifetime JP2797570B2 (ja) 1989-12-08 1989-12-25 ユークリッドの互除回路

Country Status (1)

Country Link
JP (1) JP2797570B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5287296A (en) * 1992-04-22 1994-02-15 At&T Bell Laboratories Clock generators having programmable fractional frequency division

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE Trans.on Comp.,Oct.1989,Vol.38,No.10,P.1473−1478

Also Published As

Publication number Publication date
JPH03195217A (ja) 1991-08-26

Similar Documents

Publication Publication Date Title
US5185711A (en) Apparatus for dividing elements of a finite galois field and decoding error correction codes
US5517509A (en) Decoder for decoding ECC using Euclid's algorithm
EP0365555B1 (en) Method and apparatus for error correction
KR101616478B1 (ko) 프로그램가능한 프로세서 상에서의 임의의 갈루아 필드 산술연산의 구현
US7219293B2 (en) High performance CRC calculation method and system with a matrix transformation strategy
EP0114938A2 (en) On-the-fly multibyte error correction
WO1995012850A1 (en) Reed-solomon decoder
US5694330A (en) Error correction method including erasure correction, and apparatus therefor
JPH07202715A (ja) 時間定義域代数エンコーダ/デコーダ
KR100260415B1 (ko) 고속시리얼에러위치다항식계산회로
JPH0728227B2 (ja) Bch符号の復号装置
JP2694792B2 (ja) 誤り位置多項式演算回路
JPH11136136A (ja) リードソロモン符号化装置及び方法
JP2797570B2 (ja) ユークリッドの互除回路
JP3343857B2 (ja) 復号装置、演算装置およびこれらの方法
US7181671B2 (en) Parallelized CRC calculation method and system
JP2797569B2 (ja) ユークリッドの互除回路
JP3614978B2 (ja) ガロア体の除算方法および除算装置
JP3126973B2 (ja) 誤り訂正処理装置
JP2710176B2 (ja) 誤り位置及び誤りパターン導出回路
JP3230888B2 (ja) ユークリッド互除回路
JPH0750595A (ja) 復号化装置
JP2665268B2 (ja) サイクリックコードのステップ・バイ・ステップ型復号方法及び復号器
KR0167390B1 (ko) 복호화 장치
JPH08139612A (ja) リード・ソロモン誤り訂正符号復号化回路

Legal Events

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

Free format text: PAYMENT UNTIL: 20080703

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090703

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20090703

Year of fee payment: 11

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

Year of fee payment: 12

Free format text: PAYMENT UNTIL: 20100703

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100703

Year of fee payment: 12