JP2000020333A - 復号装置、演算装置およびこれらの方法 - Google Patents

復号装置、演算装置およびこれらの方法

Info

Publication number
JP2000020333A
JP2000020333A JP10184827A JP18482798A JP2000020333A JP 2000020333 A JP2000020333 A JP 2000020333A JP 10184827 A JP10184827 A JP 10184827A JP 18482798 A JP18482798 A JP 18482798A JP 2000020333 A JP2000020333 A JP 2000020333A
Authority
JP
Japan
Prior art keywords
polynomial
register
error
calculated
erasure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10184827A
Other languages
English (en)
Other versions
JP3343857B2 (ja
Inventor
Akio Nakamura
村 昭 雄 中
Tetsuya Tamura
村 哲 也 田
Masayuki Demura
村 雅 之 出
Hirohisa Nagura
倉 寛 尚 名
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP18482798A priority Critical patent/JP3343857B2/ja
Priority to US09/343,946 priority patent/US6421807B1/en
Publication of JP2000020333A publication Critical patent/JP2000020333A/ja
Application granted granted Critical
Publication of JP3343857B2 publication Critical patent/JP3343857B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1525Determination and particular use of error location polynomials
    • H03M13/1535Determination and particular use of error location polynomials using the Euclid algorithm
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/158Finite field arithmetic processing

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】 【課題】処理速度を犠牲にせず、従来よりも少ないハー
ドウェア量で線形巡回符号を復号処理する。 【解決手段】多項式演算部14は、下記Qi(x)の演
算と、これに続くレジスタU_reg180とレジスタX_reg
184との多項式との交換、および、レジスタY_reg1
82とレジスタZ_reg186との多項式の交換とを、レ
ジスタX_reg184の多項式の次数(deg Xreg)が、
[(d−1+h)/2]より小さくなるまで繰り返し、
下記漸化式を解くことにより、多項式σ(x),ω
(x)を算出する。[漸化式]σi(x)=σi-2(x)+
i(x)・σi-1(x),ωi(x)=ωi-2(x)+Q
i(x)・ωi-1(x),但し、Qi(x)はωi-2(x)
/ωi-1(x)の商、σ-1(x)=1,ω-1(x)=x
2t,σ0(x)=1,ω0(x)=M(x)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、線形巡回符号を、ユー
クリッド法により復号処理する復号装置、演算装置およ
びこれらの方法に関する。
【0002】
【従来の技術】線形巡回符号を復号処理する際に、受信
語多項式内で誤りを発生したシンボルの位置を示す誤り
位置多項式、および、このシンボルの誤りの値を示す誤
り数値多項式を求める方法として、従来から、大きく分
けて、ピーターソン(Peterson)法、ベーレカンプ・マッ
シー(Berlekamp-Massey)法およびユークリッド(Euclid)
法の3方法が知られている。「A Method for Solving K
ey Equation for Decoding Goppa Codes (Y. Sugiyama,
M. Kasahara, S. Hirasawa and N. Namekawa, Inform.
and Contr., Vol 27, pp.87-pp.99, Jan. 1975:文献
1)」は、これらの内、ユークリッド法を開示する。
【0003】「An Erasures-Errors Decoding Algorith
m for Goppa Codes (Y. Sugiyama,M. Kasahara, S. Hir
asawa and N. Namekawa, IEEE Trans, Inform. Theory,
Mar 1976:文献2)」は、このユークリッド法が、修正
シンドロームを計算することにより、つまり、シンドロ
ーム多項式に消失位置多項式を乗算し、d(特記なきd
は奇数)を符号の最小ハミング距離として(d−1)の
次数の項を消去することにより、誤り・消失訂正処理に
対しても適用されうることを開示する。
【0004】ユークリッド法は他の方法に比べて、計算
量が同等か、少なくなるかである。しかも、ユークリッ
ド法は、計算の並列化が容易なので、ハードウェアで実
現しやすい。例えば、特開昭62−122332号公報
(文献3)は、ハードウェアによりユークリッド法を実
現した装置を開示する。
【0005】文献3に開示された装置は、シストレック
アレー(systolic arrey)技術を用いて修正シンドローム
の計算、2つの多項式の最大公約多項式を求めるGCD
(greatest common divisor)計算、および、誤り・消失
処理の計算を連続的に行なうように構成されている。文
献3に開示された装置においては、計算を行なう各セル
が、情報・状態を保持するラッチ、および、計算を行な
う乗算器・加算器を備える必要がある。
【0006】また、例えば、特開平7−202718号
公報(文献4)は、シストレックアレーではなく、多項
式演算処理回路を用いることにより、文献2に記載され
た装置よりもハードウェア量を少なくした復号装置を開
示する。
【0007】
【発明が解決しようとする課題】本発明は、上述した従
来技術の問題点に鑑みてなされたものであり、従来の復
号装置よりも少ないハードウェア量で線形巡回符号を復
号処理することができる復号装置、演算装置およびこれ
らの方法を提供することを目的とする。また、本発明
は、技術の復号装置よりもハードウェア量が少ないにも
かかわらず、従来の復号装置と同等以上の速度で線形巡
回符号の復号処理を行なうことができる復号装置、演算
装置およびこれらの方法を提供することを目的とする。
【0008】
【課題を達成するための手段】[復号装置]上記目的を
達成するために、本発明にかかる復号装置は、線形巡回
符号R(x)中に生じた消失の位置を示す消失位置デー
タαiを算出する消失位置データ算出手段と、算出され
た前記消失位置データαiおよび前記線形巡回符号R
(x)に基づいて、シンドローム多項式S(x)を算出
するシンドローム多項式算出手段と、前記消失位置デー
タαi、および、算出された前記シンドローム多項式S
(x)に基づいて、修正シンドローム多項式M(x)を
算出する修正シンドローム多項式算出手段と、前記消失
位置データαi、および、算出された前記修正シンドロ
ーム多項式M(x)に基づいて、誤り位置多項式σ
(x)、消失位置多項式λ(x)および誤り数値多項式
ω(x)を算出する多項式算出手段と、算出された前記
誤り位置多項式σ(x)、算出された前記消失位置多項
式λ(x)、算出された前記誤り数値多項式ω(x)、
前記誤り位置データαi、および、前記線形巡回符号R
(x)に基づいて、誤り・消失数値ei・Eiを算出し、
前記線形巡回符号R(x)中の誤り・消失を訂正し、復
号する復号手段とを有し、前記多項式算出手段は、 σi(x)=σi-2(x)+Qi(x)・σi-1(x) ωi(x)=ωi-2(x)+Qi(x)・ωi-1(x) 但し、Qi(x)はωi-2(x)/ωi-1(x)の商、 σ-1(x)=1,ω-1(x)=x2t, σ0(x)=1,ω0(x)=M(x) により示される漸化式を、多項式ωiの次数が[(d+
h−1)/2−1](但し、[]はガウス記号、dは最
小ハミング距離、hは消失の個数)以下になるまで繰り
返して誤り位置多項式σ(x)および誤り数値多項式ω
(x)を算出し、前記消失位置データαiから消失位置
多項式λ(x)を算出する。
【0009】[復号装置の作用]本発明にかかる復号装
置は、S(x)・σ(x)・λ(x)=ω(x)mod
(x)(式12)を、ユークリッド法を用いて解き、誤
り数値多項式ω(x)および誤り位置多項式σ(x)を
算出して、BCH符号等の線形巡回符号を復号処理す
る。
【0010】[多項式算出手段の作用]まず、式12
を、修正シンドローム多項式M(x)=S(x)・λ
(x)modxd-1を用いて書き直すと、φ(x)・x
d-1+M(x)・σ(x)=ω(x)(式14)が得ら
れる。この式14からは、誤り位置多項式σ(x)およ
び誤り数値多項式ω(x)を、定数倍の違いを除いて一
意に求めることができる。
【0011】本発明にかかる復号装置の多項式算出手段
は、ユークリッド法を用いて式14を解くために、式λ
i(x)x2t+σi(x)・M(x)=ωi(x)(式1
6;初期条件λ-1(x)=1,σ-1(x)=0,ω
-1(x)=x2t,λ0(x)=1,σ0(x)=0,ω0
(x)=M(x))を用いる。式16は、下記漸化式の
形式で表すことができ、多項式算出手段は、下記漸化式
を、deg ω(x)≦[(d+h-1)/2]-1の条件を満たすま
で繰り返すことにより、誤り位置多項式σ(x)および
誤り数値多項式ω(x)を求める。
【0012】 σi(x)=σi-2(x)+Qi(x)・σi-1(x) ωi(x)=ωi-2(x)+Qi(x)・ωi-1(x) 但し、Qi(x)はωi-2(x)/ωi-1(x)の商
【0013】さらに、式8に示すように、消失位置デー
タαiから、消失位置多項式λ(x)を算出する。
【0014】[復号手段の作用]このように求められた
消失位置多項式λ(x)、誤り位置多項式σ(x)およ
び誤り数値多項式ω(x)を、復号手段は、式ei=ω
(α-ji)/{α-ji・α'(α-ji)・λ(α-ji)},
i=ω(α-j'i)/{α-j'i・α'(α-j'i)・λ(α
-j'i)}(式23,24)に代入することにより、誤り
数値ei・消失数値Eiを求め、受信語を訂正し、復号処
理を行なう。
【0015】[演算装置]また、本発明にかかる演算装
置は、修正シンドローム多項式M(x)から、誤り位置
多項式σ(x)および誤り数値多項式ω(x)を算出す
る演算装置であって、前記修正シンドローム多項式M
(x)は、線形巡回符号R(x)中に生じた消失の位置
を示す消失位置データαiおよびシンドローム多項式S
(x)から算出され、前記シンドローム多項式S(x)
は、前記消失位置データαiおよび前記線形巡回符号R
(x)から算出され、前記演算装置は、 σi(x)=σi-2(x)+Qi(x)・σi-1(x) ωi(x)=ωi-2(x)+Qi(x)・ωi-1(x) 但し、Qi(x)はωi-2(x)/ωi-1(x)の商、 σ-1(x)=1,ω-1(x)=x2t, σ0(x)=1,ω0(x)=M(x) により示される漸化式を、多項式ωiの次数が[(d+
h−1)/2−1](但し、[]はガウス記号、hは消
失の個数、dは最小ハミング距離)以下になるまで繰り
返して誤り位置多項式σ(x)および誤り数値多項式ω
(x)を算出する。
【0016】好適には、前記演算装置は、データ幅k・
(d−1)ビット(但し、kは前記線形巡回符号に含ま
れるシンボルのデータ長)以上の2つの第1のレジスタ
(レジスタU, X)と、データ幅k・(d−1)/2ビッ
ト(但し、kは前記線形巡回符号に含まれるシンボルの
データ長)以上の2つの第2のレジスタ(レジスタY,
Z)と、2つの乗算・除算データに対して乗算または除
算(乗算・除算)を行なう乗算・除算手段と、前記レジ
スタが保持する多項式、前記消失位置データαi、およ
び、前記乗算・除算結果の内の2つを選択し、前記2つ
の乗算・除算データを生成するデータセレクタと、前記
乗算・除算結果と、前記第1のレジスタの一方に保持さ
れたデータとを加算する第1の加算手段と、前記乗算・
除算結果と、前記第2のレジスタの一方に保持されたデ
ータとを加算する第2の加算手段と、 前記乗算・除算
結果をシフトするシフタと、前記漸化式を解く演算処理
を、これらの手段に実行させる演算制御手段とを有す
る。
【0017】好適には、前記演算制御手段は、前記第1
のレジスタの一方(レジスタU)、前記第1のレジスタ
の他の一方(レジスタX)、前記第2のレジスタの一方
(レジスタY)および前記第2のレジスタの他の一方
(レジスタZ)それぞれに、前記修正シンドローム多項
式M(x)、前記線形巡回符号R(x)の係数xd-1
数値0および数値1をそれぞれ保持させ、前記Q(x)
を算出する演算と、レジスタに保持された多項式の交換
処理とを、前記レジスタXに保持された多項式の次数が
[(d+h−1)/2−1]より小さくなるまで繰り返
すことにより、前記レジスタXに前記誤り数値多項式ω
(x)を算出し、前記レジスタZに前記誤り位置多項式
σ(x)を算出し、前記Q(x)を算出する演算におい
て、前記レジスタUに保持された多項式を、前記レジス
タXに保持された多項式で除算した商の最高次の項Qを
算出し、前記レジスタUに保持された多項式から、前記
レジスタXに保持された多項式と算出された項Qとの乗
算値を減算した多項式を前記レジスタUに保持させ、前
記レジスタZに保持された多項式から、前記レジスタYに
保持された多項式と算出された項Qとの乗算値を減算し
た多項式を前記レジスタYに保持させる処理を、前記レ
ジスタUに保持された多項式の次数が、前記レジスタXに
保持された次数よりも小さくなるまで繰り返させ、前記
レジスタに保持された多項式の交換処理において、前記
レジスタUに保持された多項式と前記レジスタXに保持さ
れた多項式とを交換させ、前記レジスタYに保持された
多項式と前記レジスタZに保持された多項式とを交換さ
せる。
【0018】[復号方法]また、本発明にかかる復号方
法は、線形巡回符号R(x)中に生じた消失の位置を示
す消失位置データαiを算出する消失位置データ算出ス
テップと、算出された前記消失位置データαiおよび前
記線形巡回符号R(x)に基づいて、シンドローム多項
式S(x)を算出するシンドローム多項式算出ステップ
と、前記消失位置データαi、および、算出された前記
シンドローム多項式S(x)に基づいて、修正シンドロ
ーム多項式M(x)を算出する修正シンドローム多項式
算出ステップと、前記消失位置データαi、および、算
出された前記修正シンドローム多項式M(x)に基づい
て、誤り位置多項式σ(x)、消失位置多項式λ(x)
および誤り数値多項式ω(x)を算出する多項式算出ス
テップと、算出された前記誤り位置多項式σ(x)、算
出された前記消失位置多項式λ(x)、算出された前記
誤り数値多項式ω(x)、前記誤り位置データαi、お
よび、前記線形巡回符号R(x)に基づいて、誤り・消
失数値ei・Eiを算出し、前記線形巡回符号R(x)中
の誤り・消失を訂正し、復号する復号ステップとを含
み、前記多項式算出ステップにおいて、 σi(x)=σi-2(x)+Qi(x)・σi-1(x) ωi(x)=ωi-2(x)+Qi(x)・ωi-1(x) 但し、Qi(x)はωi-2(x)/ωi-1(x)の商、 σ-1(x)=1,ω-1(x)=x2t, σ0(x)=1,ω0(x)=M(x) により示される漸化式を、多項式ωiの次数が[(d+
h−1)/2−1](但し、[]はガウス記号、dは最
小ハミング距離、hは消失の個数)以下になるまで繰り
返して誤り位置多項式σ(x)および誤り数値多項式ω
(x)を算出する処理と、前記消失位置データαiから
消失位置多項式λ(x)を算出する処理とを行なう。
【0019】[演算方法]また、本発明にかかる演算方
法は、修正シンドローム多項式M(x)から、誤り位置
多項式σ(x)および誤り数値多項式ω(x)を算出す
る演算方法であって、前記修正シンドローム多項式M
(x)は、線形巡回符号R(x)中に生じた消失の位置
を示す消失位置データαiおよびシンドローム多項式S
(x)から算出され、前記シンドローム多項式S(x)
は、前記消失位置データαiおよび前記線形巡回符号R
(x)から算出され、 σi(x)=σi-2(x)+Qi(x)・σi-1(x) ωi(x)=ωi-2(x)+Qi(x)・ωi-1(x) 但し、Qi(x)はωi-2(x)/ωi-1(x)の商、 σ-1(x)=1,ω-1(x)=x2t, σ0(x)=1,ω0(x)=M(x) により示される漸化式を、多項式ωiの次数が[(d+
h−1)/2−1](但し、[]はガウス記号、hは消
失の個数、dは最小ハミング距離)以下になるまで繰り
返して誤り位置多項式σ(x)および誤り数値多項式ω
(x)を算出する。
【0020】
【発明の実施の形態】まず、本発明にかかる復号方式の
理解を容易にするために、ユークリッド法による符号化
処理および復号処理を説明する。ユークリッド法は、B
CH符号等の線形巡回符号を復号するために用いられ
る。
【0021】[符号化処理]ガロア体GF(2m)の原
始元をα、1シンボルのビット長をm(m=1,2,
3,・・・)、符号長nをn≦2m−1、情報長kをk
=n−(d−1)、最小ハミング距離をd(=2t+
1)として、生成多項式G(x)を下式1の通り定義す
ると、ガロア体GF(2m)上に定義されるRS符号化方
式による符号語C(x)は、送信側における以下の演算
処理により生成される。
【0022】
【数1】
【0023】以下、説明の簡略化のために、式1中の係
数bが0である場合について説明する。まず、情報系列
{Ik-1,Ik-2,...,I0}を係数とする下式2に示す多
項式I(x)、および、式1に示した生成多項式G
(x)から、式3に示す検査多項式P(x)が求められ
る。
【0024】
【数2】
【0025】
【数3】
【0026】符号語C(x)は、式1,2に示した多項
式I(x)および検査多項式P(x)から、下式4に示
すように求められ、式3に示した検査多項式P(x)の
係数が符号語C(x)の検査記号となる。
【0027】
【数4】
【0028】式4に示した符号語C(x)が送信側から
伝送されると、伝送中に誤りE(x)が加わり、下式5
に示す受信語多項式R(x)として受信側で受信され
る。なお、誤りE(x)の各係数はガロア体GF
(2m)上の元として定義され、伝送中に誤りが生じな
い場合はE(x)=0である。
【0029】
【数5】
【0030】[復号処理]式5に示した受信語多項式R
(x)を復号するためには、まず、式6に示すシンドロ
ーム多項式S(x)が求められる。
【0031】
【数6】
【0032】式6に示したシンドローム多項式S(x)
から、最初に、消失位置多項式λ(x)を用いて修正シ
ンドローム多項式M(x)[=S(x)・λ(x)mo
dx d-1;式13参照]が求められる。さらに、修正シ
ンドロームM(x)を、ユークリッドの互除法を用いて
解くことにより、式7,9に示す誤り位置多項式σ
(x)および誤り数値多項式ω(x)が求められる。な
お、「消失」とは、受信語多項式における誤り発生の位
置は判明しているが、誤りの数値が判明していないこと
をいう。
【0033】
【数7】
【0034】
【数8】
【0035】
【数9】
【0036】式7に示した誤り位置多項式σ(x)に、
数値α-iを代入して得られる値σ(α-i)が0[σ(α
-i)=0]である場合、受信語多項式R(x)の第i番
目のシンボルRiに誤りが生じていると判断でき、シン
ボルRiの誤りの値eiは、下式10の演算により求めら
れる。
【0037】
【数10】
【0038】また、消失位置多項式λ(x)に数値αi
を代入して得られる値λ(αi)が0[λ(αi)=0]
である場合、受信語多項式R(x)の第i番目のシンボ
ルRiに消失が生じていると判断でき、消失した値E
iは、下式11の演算により求められる。
【0039】
【数11】
【0040】以上のように求められた誤り数値eiおよ
び消失数値Eiは、それぞれ受信語多項式R(x)にお
ける誤り発生位置および消失発生位置のシンボル、つま
り、受信語多項式R(x)において第i番目のシンボル
に対する誤り・消失の訂正に用いられ、復号処理が行な
われる。
【0041】[実施形態]以下、本発明の実施形態を説
明する。
【0042】[本発明にかかる復号方法]本発明にかか
る復号方法は、下式12をユークリッド法を用いて解
き、誤り数値多項式ω(x)および誤り位置多項式σ
(x)を算出することにより、少ないハードウェア量で
高速に、BCH符号等の線形巡回符号を復号処理する。
まず、復号方法を数学的に説明する。
【0043】
【数12】
【0044】式12を、下式13の修正シンドローム多
項式M(x)を用いて書き直すと、式14が求められ
る。
【0045】
【数13】
【0046】
【数14】
【0047】例えば、「符号理論(今井英樹著,電子情
報通信学会刊,pp. 169-pp173;文献5)」に示されて
いるように、(2l+h+1≦d;ただし、lは誤りが
発生したシンボルの数、hは消失したシンボルの数)の
関係が成り立つ範囲内で、式14からは、誤り位置多項
式σ(x)および誤り数値多項式ω(x)を、定数倍の
違いを除いて一意に求めることができる。一方、式9よ
り、誤り数値多項式ω(x)の次数deg ω(x)はl+
h−1以下(degω(x)≦l+h−1)であり、ま
た、上記(2l+h+1≦d)は、(2l+2h≦d+
h−1)と書き直せるので、誤り数値多項式ω(x)の
次数deg ω(x)がl以下であるということは、下式1
5と等価である。
【0048】
【数15】
【0049】ユークリッド法を用いて式14を解き、誤
り位置多項式σ(x)および誤り数値多項式ω(x)を
求めるために下式16を用いる。式16に含まれる各項
の初期値[A-1(x),B-1(x),R-1(x),A0
(x),B0(x),R0(x)]は、式17に示す通り
であり、これらの値は式16を満たす。また、受信語多
項式R-1(x)の次数deg R-1(x)は、受信語多項式
0(x)の次数deg R0(x)よりも低く[deg R
-1(x)>deg R0(x)]、式14中のパラメータi
が−1から0に増えると、受信語多項式Ri(x)の次
数は減少し、以下同様にパラメータiが増加するにつれ
て、次数deg Ri(x)は減少する。
【0050】
【数16】
【0051】
【数17】
【0052】以上の条件において、誤り位置多項式σ
(x)および誤り数値多項式ω(x)を解くために、多
項式Qi(x)を、下式18に示す漸化式により定義す
ると、多項式Ai(x),Bi(x),Ri(x)を、式
19〜21に示す漸化式で表すことができる。
【0053】
【数18】
【0054】
【数19】
【0055】
【数20】
【0056】
【数21】
【0057】式18〜21に示した漸化式を、次数deg
i(x)が式15の条件を満たすようになるまで繰り
返し実行すると、多項式Ai(x),Bi(x),C
i(x)は、それぞれ消失位置多項式λ(x)、誤り位
置多項式σ(x)および誤り数値多項式ω(x)に等し
くなる[Ai(x)=λ(x),Bi(x)=σ(x),
i(x)=ω(x)]。つまり、式18〜21に示し
た漸化式を、受信語多項式Ri(x)が式15の条件を
満たすまで繰り返し実行することにより、誤り位置多項
式σ(x)および誤り数値多項式を求めることができ
る。多項式Ai(x),Bi(x),Ri(x)が式16
を満たすことを、下式22に示す。
【0058】
【数22】
【0059】なお、実際に復号処理を行なう場合には、
多項式Ai(x)にかかる演算は、式18〜21から明
らかなように不要である。
【0060】さらに、誤り位置多項式σ(x)から、そ
の微分式σ'(x)が求められ、消失位置多項式λ
(x)から、その微分式λ'(x)が求められる。これ
らの多項式は、下式23,24(式10,11と等価)
に代入され、誤り数値eiおよび消失数値Eiが算出され
る。算出された誤り数値eiおよび消失数値Eiは、誤っ
たシンボルと正しいシンボルとの差分である。受信語多
項式R(x)内の誤ったシンボルと、誤り数値eiまた
は消失数値Eiとの論理和をとることにより、誤ったシ
ンボルは正しいシンボルに訂正される。
【0061】
【数23】
【0062】
【数24】
【0063】任意の次数の多項式(1変数代数多項式)
をガロア体GF(2m)上において代数的に解く方法は
知られていないので、この実施形態においては、ガロア
体G(2m)上の全ての元について、代数方程式の解で
あるか否かを調べるチェンサーチ(chein search)と呼ば
れる方法により多項式の解を求める。なお、ガロア体G
(2m)において、本来、多項式の解が存在しえない領
域については、チェンサーチは行なわれない。また、多
項式の次数と、その解の個数が一致しない場合には、訂
正不可能であると判定できる。
【0064】[復号装置1]以下、ここまで説明した復
号方法を実現する復号装置1を説明する。図1は、本発
明にかかる復号方法を実現する復号装置1の構成を示す
図である。図1に示すように、復号装置1は、データ伝
送部10および誤り訂正部12から構成される。データ
伝送部10は、復調部100、受信制御部102、メモ
リコントローラ部104、バッファメモリ部106、送
信制御部108および変調部110から構成される。
【0065】誤り訂正部12は、計算機制御部120お
よび多項式演算部14から構成される。計算機制御部1
20は、シンドローム生成部124および誤り計算・訂
正部126から構成される。
【0066】図2は、図1に示した多項式演算部14の
構成を示す図である。多項式演算部14は、図2に示す
ように、セレクタ部16、レジスタ部18、乗算部20
および加算部22および演算制御部24から構成され
る。セレクタ部16は、5つのセレクタ、つまり、セレ
クタU160、セレクタY162、セレクタX164、
セレクタZ166およびセレクタ168から構成され
る。
【0067】レジスタ部18は、4つのレジスタ、レジ
スタU(U_reg)180、レジスタY(Y_reg)
182、レジスタX(X_reg)184およびレジス
タZ(Z_reg)186から構成される。乗算部20
は、乗算器入力セレクタ204、乗算器210、逆数テ
ーブル212、シフタU214およびシフタ216から
構成される。加算部22は、加算器222,232から
構成される。
【0068】復号装置1は、例えば、RS符号等の線形
巡回符号を用いてデータを伝送するデータ伝送装置、あ
るいは、ハードディスク・光磁気ディスク等の記録メデ
ィアに対してデータを記録・再生するデータ記録再生装
置において用いられる。復号装置1は、これらの構成部
分により、受信・再生したデータ(受信語)に含まれる
誤り・消失を訂正(復号)し、さらに、送信・出力す
る。
【0069】[復調部100]伝送部10(図1)にお
いて、復調部100は、受信制御部102の制御に従っ
て動作し、例えば、復号装置1を含むデータ伝送装置・
データ記録再生装置(図示せず)が受信した伝送信号・
再生信号を復調し、復調の結果として得られたディジタ
ルデータを、受信語(受信語多項式R(x))として受
信制御部102に対して出力する。
【0070】なお、復調部100は、復調時に誤りを検
出し、誤って復調されたシンボルの位置を示すエラーフ
ラグを生成し、受信制御部102に対して出力する。な
お、このエラーフラグは、受信語多項式R(x)中の消
失したシンボルの位置(消失位置)を示すので、これま
での説明における数値αiに対応する。
【0071】図3は、復調部100の出力データ(d=
5)のフォーマットを例示する図である。復調部100
が出力する受信語多項式R(x)は、例えば、図3に示
すように、d=5の場合には9シンボル分の情報部分
[C(x)・xd-1]、および、4シンボル分のECC
部分を含み、下式25に示すように表すこともできる。
【0072】
【数25】
【0073】なお、復調部100が出力する受信語多項
式R(x)は、図3に示した形式に限らず、受信語多項
式R(x)は、消失・誤りが発生していない場合には、
式1に示した生成多項式G(x)で割りきることができ
るものであればよい。
【0074】[受信制御部102]受信制御部102
は、復調部100の復調処理を制御する。また、受信制
御部102は、復調部100から入力された受信語多項
式R(x)を、受信制御部102、多項式演算部14お
よび計算機制御部120のシンドローム生成部124に
対して出力する。また、受信制御部102は、復調部1
00から入力されたエラーフラグに基づいて、受信語多
項式R(x)中の消失位置を示す消失位置データ
(αi)を生成し、計算機制御部120のシンドローム
生成部124および多項式演算部14に対して出力す
る。
【0075】[メモリコントロール部104]メモリコ
ントロール部104は、バッファメモリ106の記憶動
作を制御し、受信制御部102から入力された受信語多
項式R(x)を記憶させる。また、メモリコントロール
部104は、誤り・消失を生じたシンボルを訂正する。
つまり、メモリコントローラ部104は、バッファメモ
リ部106に記憶されたシンボルの内、計算機制御部1
20の誤り計算・訂正部126から入力される訂正位置
データi[σ(αi)]が示すシンボルを、誤り計算・
訂正部126から入力される誤り数値eiまたは消失数
値Eiを用いて訂正する。また、メモリコントロール部
104は、訂正後の受信語多項式R(x)(復号デー
タ)をバッファメモリ106から読み出し、送信制御部
108に対して出力する。
【0076】[送信制御部108]送信制御部108
は、通信相手との通信制御を行なう。また、送信制御部
108は、変調部110の変調処理を制御する。また、
送信制御部108は、メモリコントロール部104から
出力される復号データを、変調部110に対して出力す
る。
【0077】[変調部110]変調部110は、送信制
御部108の制御に従って動作し、送信制御部108か
ら入力された復号データを変調し、出力信号・伝送信号
として外部の情報機器・通信機器(図示せず)等に対し
て出力する。なお、復号装置1が通信回線を介さず直
接、外部機器に対してデータを出力する場合には、変調
部110は不要である。
【0078】[シンドローム生成部124]シンドロー
ム生成部124は、受信制御部102から入力される受
信語多項式R(x)および生成多項式の根[αi]を用
いて、式6に示したシンドローム多項式S(x)[=s
0,s1,...,sd-2]を求め、多項式演算部14に対し
て出力する。
【0079】[誤り計算・訂正部126]誤り計算・訂
正部126は、多項式演算部14から入力される多項式
σ(x),ω(x),λ(x)と、消失位置αiとに基
づいて、訂正位置データi[σ(αi)]、および、誤
り数値eiまたは消失数値Ei(式23,24)を算出す
る。また、誤り計算・訂正部126は、算出した訂正位
置データi[σ(αi)]、および、誤り数値eiまたは
消失数値Eiをメモリコントローラ部104に対して出
力し、誤り・消失を生じた受信語内のシンボル(誤り・
消失シンボル)を訂正させる。
【0080】[多項式演算部14]多項式演算部14
は、シンドローム生成部124から入力されるシンドロ
ーム多項式S(x)および消失位置データαiを用いて
式18〜21に示した漸化式を解き、消失位置多項式λ
(x)、誤り位置多項式σ(x)および誤り数値多項式
ω(x)を求め、誤り計算・訂正部126に対して出力
する。
【0081】[セレクタU160]セレクタ部16(図
2)において、セレクタU160は、演算制御部24の
制御に従って動作し、加算器222(加算回路222−
0〜222−d−1)から入力されるデータ(加算結
果)、レジスタX_reg184から入力されるデータ、お
よび、シンドローム生成部124から入力されるシンド
ローム多項式S(x)または係数xd-1(初期値A)の
いずれかを選択し、レジスタU_reg180に対して出力
する。
【0082】[セレクタY162]セレクタY162
は、演算制御部24の制御に従って動作し、レジスタZ_
reg186から入力されるデータ、加算器232(加算
回路232−0〜232−d−1)から入力されるデー
タ(加算結果)、および、数値0(初期値B)のいずれ
かを選択し、レジスタY_reg182に対して出力する。
【0083】[セレクタX164]セレクタX164
は、演算制御部24の制御に従って動作し、レジスタU_
reg180から入力されるデータ、および、初期値Cの
いずれかを選択し、レジスタX_reg184に対して出力
する。
【0084】[セレクタZ166]セレクタZ166
は、レジスタY_reg182から出力されるデータ、およ
び、数値1(初期値D)のいずれかを選択し、レジスタ
Z_reg186に対して出力する。
【0085】[セレクタ168]セレクタ168は、乗
算器216から入力されるデータ(乗算結果D-0〜D-d-
1)、および、受信制御部102から入力される消失位
置データαiのいずれかを選択し、乗算器入力セレクタ
204に対して出力する。
【0086】[レジスタU_reg180]レジスタ部18
において、レジスタU_reg180は、データ幅kのレジ
スタを(d−1)個、含み、演算制御部24の制御に従
って動作し、セレクタU160から入力されるデータを
保持し、加算器222(加算回路222−0〜222−
d−1)、セレクタX164および乗算器入力セレクタ
204に対して出力する。また、レジスタU_reg180
は、図12を参照して後述する演算の結果として得られ
る消失位置多項式λ(x)を保持する。
【0087】[レジスタY_reg182]レジスタY_reg1
82は、データ幅kのレジスタを(d+1)/2個、含
み、演算制御部24の制御に従って動作し、セレクタY
162から入力されるデータを保持し、加算器232
(加算回路232−0〜232−d−1)、乗算器入力
セレクタ204およびセレクタZ166に対して出力す
る。
【0088】[レジスタX_reg184]レジスタX_reg1
84は、データ幅kのレジスタを(d−1)個、含み、
演算制御部24の制御に従って動作し、セレクタX16
4から入力されるデータを保持する。また、レジスタX_
reg184は、処理の結果として得られた誤り数値多項
式ω(x)を、誤り計算・訂正部126に対して出力す
る。
【0089】[レジスタZ_reg186]レジスタZ_reg1
86は、データ幅kのレジスタを(d+1)/2個、含
み、演算制御部24の制御に従って動作し、セレクタZ
166から入力されるデータを保持し、セレクタY16
2および乗算器入力セレクタ204に対して出力する。
また、レジスタZ_reg186は、図12を参照して後述
する演算の結果として得られた誤り数値多項式ω(x)
を保持する。なお、多項式演算部14に含まれるレジス
タは、合計k×(3d−1)ビットあればよく、従来の
方式に比べて少なくて済む。
【0090】[乗算器入力セレクタ204]乗算器入力
セレクタ204は、演算制御部24の制御に従って動作
し、受信制御部102、レジスタX_reg184、レジス
タZ_reg186およびレジスタ168から入力されたデ
ータの内の2つを選択する。また、乗算器入力セレクタ
204は、選択された2つのデータそれぞれの内、乗算
器210において処理される部分を選択して入力データ
A-0〜A-d-1,B-0〜B-d-1を生成し、乗算器210に対し
て出力する。
【0091】[逆数テーブル212]逆数テーブル21
2は、乗算器入力セレクタ204から入力される係数
と、その逆数とを対応付けて記憶し、乗算器210から
入力データが入力された場合に、その係数の逆数(1/
y)を乗算器210に対して出力する。つまり、乗算器
入力セレクタ204から入力データA-0〜A-d-1が入力さ
れた場合には、これらの逆数1/(A-0)〜1/(A-d-1)を乗算
器入力セレクタに対して返し、または、乗算器入力セレ
クタ204から入力データB-0〜B-d-1が入力された場合
には、これらの逆数1/(B-0)〜1/(B-d-1)を乗算器入力セ
レクタに対して返す。なお、逆数テーブル212は、後
述するように、乗算器210が除算を行なう場合に用い
られる。
【0092】[乗算器210]乗算器210は、演算制
御部24の制御に従って動作し、乗算器入力セレクタ2
04により選択された2組の入力データ(A-0〜A-d-1,
B-0〜B-d-1あるいはこれらの逆数;各入力データのデー
タ幅はkビット)同士を乗算し、それぞれデータ幅kビ
ットのd個の乗算結果C-0〜C-d-1[=(A-0)・(B-0)〜(A
-d-1)・(B-d-1)等]をシフタU214に対して出力す
る。また、乗算器210は、入力データ同士を乗算し、
それぞれデータ幅kビットの(d+1)/2個の乗算結
果D-0〜D-(d+1)/2を、乗算結果D-0〜D-(d+1)/2としてシ
フタY216に対して出力する。
【0093】[シフタU214]シフタU214は、演
算制御部24の制御に従って動作し、乗算器210から
入力される乗算結果C-0〜C-d-1をシフトしてデータE-0
〜E-d-1を生成し、データE-0〜E-d-1を、それぞれ加算
器222の加算回路222−0〜222−d−1に対し
て出力する。
【0094】[シフタY216]シフタY216は、演
算制御部24の制御に従って動作し、乗算器210から
入力される乗算結果D-0〜D-(d+1)/2をシフトしてデー
タF-0〜F-(d+1)/2を生成し、それぞれ加算器232の加
算回路232−0〜232−(d+1)/2に対して出
力する。
【0095】[加算器222]加算部22において、加
算器222は、それぞれ2つのデータ幅kビットのデー
タ同士を加算し、データ幅kビットの加算結果を出力す
るd個の加算回路222−0〜222−d−1(図示せ
ず)を含み、シフタU214から入力されるデータE-0
〜E-d-1と、レジスタU_reg180から入力されるデータ
とを加算し、セレクタU160に対して出力する。
【0096】[加算器232]加算器232は、それぞ
れ2つのデータ幅kビットのデータ同士を加算し、デー
タ幅kビットの加算結果を出力する(d+1)/2個の
加算回路232−0〜232−(d+1)/2(図示せ
ず)を含み、シフタY214から入力されるデータF-0
〜F-(d+1)/2と、レジスタY_reg182から入力されるデ
ータとを加算し、セレクタY162に対して出力する。
【0097】[演算制御部24]演算制御部24は、多
項式演算部14の演算制御を行なう。つまり、演算制御
部24は、セレクタ部16、乗算部20、加算部22お
よびレジスタ部18の各構成部分の動作を制御し、シン
ドローム生成部124から入力されるシンドローム多項
式S(x)、および、消失位置データ(αi)から、多
項式ω(x),λ(x),σ(x)を算出させる。
【0098】以下、演算制御部24による演算制御を説
明する。多項式演算部14においては、下表1に示す2
つの演算が行なわれる。
【0099】
【表1】 (表1) 多項式演算部14において行なわれる演算 1. 修正シンドロームS(x)・λ(x)modxd-1 [=M(x);式13]を求める演算 (演算1) 2. 誤り位置多項式σ(x)[式7],誤り数値多項式ω(x)[式9] を求める演算,消失位置多項式λ(x)[式8](演算2)
【0100】[M(x)を求める演算(演算1)]修正
シンドロームM(x)は、演算制御部24が、誤り位置
多項式λ(x)として受信制御部102から入力される
消失位置データαiと、シンドローム生成部124から
入力されるシンドローム多項式S(x)とを、式13に
代入する演算を行なうように、多項式演算部14の各構
成部分を制御することにより求められ、レジスタU_reg
180(図2)に保持される。つまり、修正シンドロー
ムM(x)は、下式26に示すように消失位置データα
iとシンドローム多項式S(x)を乗算し、乗算結果の
定数項からxd-1の項までを取り出すことにより算出で
きる。
【0101】
【数26】
【0102】実際の演算1は、修正シンドロームS
(x)が下式27に示すように展開可能であることを利
用して、以下の第1〜第hステップに示すように行なわ
れる。なお以下、説明の簡略化のためにd=11の場合
を具体例とする。
【0103】
【数27】
【0104】(第1ステップ)図4は、図1および図2
に示した多項式演算部14が修正シンドロームM(x)
を算出する第1の演算動作を示す図である。第1ステッ
プにおいて、演算制御部24は、多項式演算部14の各
構成部分を制御し、図4に示すように、シンドローム生
成部124から入力されるシンドローム多項式S(x)
の第0項〜第9項を、レジスタU_reg180の第0〜第
9のレジスタに保持させ、保持させたシンドローム多項
式S(x)、受信制御部102から入力される消失位置
データαiおよび受信語多項式R(x)に含まれるシン
ボルの係数xに対して、下式28に示す演算を実行させ
る。
【0105】
【数28】
【0106】図5は、図1および図2に示した多項式演
算部14が修正シンドロームM(x)を算出する第2の
演算動作を示す図である。実際には、演算制御部24
は、シンドローム多項式S(x)、消失位置データαi1
および受信語多項式R(x)zを用いて下式29に示す
演算を行なわせ、演算結果をレジスタU_reg180に保
持させる。
【0107】
【数29】
【0108】d=11の場合、シンドローム多項式S
(x)の最高次数は9なので、式29の演算結果には0
次〜10次の項が含まれるが、レジスタU_reg180に
含まれるレジスタは10個なので、これらの内0次〜9
次の項のみが保持され、10次の項は保持されない。従
って、レジスタU_reg180を用いて式29の演算を行
なうと、レジスタU_reg180に含まれる第rのレジス
タには、下式30に示す演算結果が保持されることにな
る。
【0109】
【数30】
【0110】(第2ステップ〜第h−1ステップ)第2
ステップ〜第h−1ステップにおいて、演算制御部24
は、多項式演算部14の各構成部分を制御し、順次、消
失位置データαi2〜αih-1を用いて、下式31に示すよ
うに、第1ステップにおいてと同様な演算を実行させ
る。
【0111】
【数31】
【0112】(第hステップ)第hステップにおいて、
演算制御部24は、多項式演算部14の各構成部分を制
御し、下式32に示す第1ステップにおいてと同様な演
算を実行させ、修正シンドロームM(x)を算出させ
る。ここまで説明した演算により修正シンドロームM
(x)が算出され、レジスタU_reg180に保持され
る。
【0113】
【数32】
【0114】[σ(x),ω(x),λ(x)を求める
演算(演算2)]誤り位置多項式σ(x)および誤り数
値多項式ω(x)は、以下の手順で求められる。
【0115】<レジスタ設定>図6は、図1および図2
に示した多項式演算部14が、商Q(x)を計算する第
1の演算動作(レジスタ設定)を示す図である。まず、
演算制御部24は、図6に示すように、レジスタU_reg
180、レジスタY_reg182、レジスタX_reg184お
よびレジスタZ_reg186の設定を行なう。つまり、演
算制御部24は、上述した演算1により算出され、レジ
スタU_reg180に保持された修正シンドロームM
(x)を、セレクタX164を介してレジスタX_reg1
84に保持させる。演算制御部24は、セレクタU16
0を介してレジスタU_reg180に、初期値Aとして受
信制御部102から入力される受信語多項式R(x)中
の係数xd- 1(実際には数値1)を保持させる。レジス
タY_reg182にセレクタY162を介して初期値B
(数値0)を保持させ、レジスタZ_reg186にセレク
タZ166を介して初期値D(多項式λ(x)の定数項
=数値1)を保持させる。
【0116】[σ(x),ω(x),λ(x)を求める
演算(演算2)]誤り位置多項式σ(x)、誤り数値多
項式ω(x)および消失位置多項式λ(x)は、下に示
す商Q(x)の演算と、この演算に続くレジスタU_reg
180に保持された多項式(Ureg)とレジスタX_reg1
84に保持された多項式(Xreg)との値の交換、およ
び、レジスタY_reg182に保持された多項式(Yreg)
とレジスタZ_reg186に保持された多項式(Zreg)と
の値の交換(多項式の交換)とを、レジスタX_reg18
4に保持された多項式の次数(deg Xreg)が、数値
[(d−1+h)/2](但し、ここで、[x]はガウ
ス記号であって、xを超えない最大の整数を示す)より
小さくなるまで繰り返して、式18〜21に示した漸化
式を解くことにより実現される。
【0117】このような演算により、誤り位置多項式σ
(x)、誤り数値多項式ω(x)および消失位置多項式
λ(x)が求められ、それぞれレジスタZ_reg186、
レジスタY_reg182およびレジスタU_reg180に保持
され、誤り計算・訂正部126に出力される。
【0118】<Q(x)の演算>図7は、図1および図
2に示した多項式演算部14が、商Q(x)を計算する
第2の演算動作(演算結果Qの算出)を示す図である。
次に、演算制御部24は、レジスタU_reg180に保持
された係数xd-1を、レジスタX_reg184に保持された
修正シンドロームM(x)で割り算した商Q(x)を算
出する。
【0119】商Q(x)は、演算制御部24が、図7に
示すように、レジスタU_reg180に保持されている多
項式の次数が、レジスタX_reg184に保持されている
多項式の次数よりも小さくなるまで、以下の第1ステッ
プ〜第3ステップを繰り返すことにより算出される。
【0120】(第1ステップ)第1ステップにおいて、
演算制御部24は、演算結果Qを得るため、以下に示す
手順で多項式演算部14の各構成部分を制御する。演算
制御部24は、乗算器入力セレクタ204を制御し、レ
ジスタU_reg180に保持された多項式中で、最も次数
が高い項(最高次項)の係数を入力データA-0として、
レジスタX_reg184に保持された多項式中で、最高次
項の係数を入力データB-0(ただし、これらの係数をい
ずれのデータとするかは任意)として乗算器210に対
して出力させる。
【0121】例えば、レジスタU_reg180に保持され
た多項式が(F・xf+・・・)であり、レジスタX_reg
184に保持された多項式が(G・xg+・・・)である
場合には、乗算器入力セレクタ204は、係数Fを入力
データA-0として出力する。また、乗算器入力セレクタ
204は、レジスタX_reg184から入力された係数G
の逆数1/Gを逆数テーブル212から得て、入力デー
タB-0として乗算器210に対して出力する。
【0122】乗算器210は、演算制御部24の制御に
従って、乗算器入力セレクタから入力された入力データ
A-0,B-0を乗算し、演算結果Q(=F/G)を得る。つま
り、乗算器210は、演算制御部24の制御に従って、
レジスタU_reg180に保持されている多項式の最高次
項の係数(F)を、レジスタX_reg184に保持されて
いる多項式の最高次項の係数(G)で除算し、演算結果Q
(F/G)を得て、データD-0としてセレクタ168に対し
て出力する。セレクタ168は、演算制御部24の制御
に従って、乗算器210から入力された演算結果Qを、
乗算器入力セレクタ204に対して出力する。
【0123】(第2ステップ)図8は、図1および図2
に示した多項式演算部14が、商Q(x)を計算する第
3の演算動作を示す図である。演算制御部24は、図8
に示すように、乗算器入力セレクタ204を制御し、レ
ジスタX_reg184に保持された多項式(Xreg)と、上
記第1ステップにおいて得られた演算結果Qとを乗算器
214に対して出力させる。乗算器210は、これらの
入力データを乗算し、乗算結果(Q・Xreg)をシフタU
214に対して出力する。シフタU214は、演算制御
部24の制御に従って、乗算結果をシフトし、係数x
f-gとして、加算器222(加算回路222−1〜22
2−d−1)に対して出力する。
【0124】加算器222(加算回路222−0〜22
2−d−1)は、乗算器210から入力されたデータ
と、レジスタU_reg180から入力されたデータを加算
し、加算結果をセレクタU160に対して出力する。
【0125】なお、加算器222(加算回路222−0
〜222−d−1)において、乗算結果(Q・Xreg)と
多項式(Ureg)とを加算した結果は、ガロア体GF(2
m)の標数が2で、加算と減算は等しいので、多項式(U
reg)から乗算結果(Q・Ureg)を減算した減算結果(Ur
eg-Q・Xreg)と等しくなる。演算制御部24は、セレク
タU160およびレジスタU_reg180を制御し、加算
器222(加算回路222−0〜222−d−1)から
入力された減算結果をレジスタU_reg180に保持させ
る(Ureg=Ureg-Q・Xreg)。
【0126】(第3ステップ)また、演算制御部24
は、同じく図8に示すように、乗算器入力セレクタ20
4を制御し、レジスタZ_reg186に保持された多項式
(Zreg)と、上記第1ステップにおいて得られた演算結
果Qと乗算器210に対して出力させる。乗算器210
は、これらの入力データを乗算し、乗算結果(Q・Zre
g)として得られた多項式の各係数をシフタY216に
対し出力する。シフタYは、演算制御部24の制御に従
って、乗算器210から入力された乗算結果をシフト
し、係数xf-gとして、加算器232(加算回路232
−1〜232−(d−1)/2)に対して出力する。
【0127】加算器232(加算回路232−0〜23
2−(d+1)/2)は、乗算器210から入力された
データと、レジスタY_reg182から入力されたデータ
とを加算し、セレクタY162に対して出力する。な
お、加算器232(加算回路232−0〜232−(d
+1)/2)において、乗算結果(Q・Yreg)と多項式
(Zreg)とを加算した結果は、多項式(Zreg)から乗算
結果(Q・Yreg)を減算した減算結果(Zreg-Q・Yreg)
と等しくなる。演算制御部24は、加算器232(加算
回路232−0〜232−(d+1)/2)から入力さ
れた減算結果をレジスタY_reg182に保持させる(Zre
g=Zreg-Q・Yreg)。
【0128】以上説明した第1ステップ〜第3ステップ
を、レジスタU_reg180に保持されている多項式の次
数が、レジスタX_reg184に保持されている多項式の
次数よりも小さくなるまで、以下の第1ステップ〜第3
ステップを繰り返すことにより、下式33−1〜33−
3に具体例を示すように、レジスタU_reg180に保持
されたRd-2(x)を、レジスタY_reg182に保持され
たRd-1(x)で除算した商Q(x)が1項ずつ求めら
れ、同時に余りも求められる。なお実際には、演算速度
を向上させるために、商Q(x)を求める演算におい
て、減算結果(Ureg-Q・Xreg),(Zreg-Q・Yreg)の演
算(第2ステップおよび第3ステップ)は、図8に示し
たように同時に実行される。
【0129】
【数33】
【0130】(乗算器210のデータ幅)ここで、乗算
器210が、d個の乗算回路から構成され得る理由を具
体例を挙げて説明する。d個の乗算回路(番号d−1〜
0)それぞれの入力データの一方として演算結果Qを入
力し、また、入力データの他方として、レジスタX_reg
184に保持された多項式の係数それぞれ、および、他
方としてレジスタZ_reg186に保持された多項式の係
数それぞれを、次数が低い方から順に入力する。
【0131】この入力処理により、レジスタX_reg18
4に保持された多項式md-1d-1+md-2d-2+・・・
+m00、および、レジスタZ_reg186に保持された
多項式n(d+1)/2-1(d+1)/2-1+n(d+1)/2-2
(d+1)/2-2+・・・+n00の係数は、それぞれ第d−
1番目〜第0番目の計算回路に入力される。
【0132】第1ステップで求められる演算結果Qの項
数が1であることから、第2ステップおよび第3ステッ
プの演算を行なうために必要な乗算の回数は、deg (X_r
eg)+deg (Z_reg)+2回である(但し、X_reg, Z_reg
は、それぞれレジスタX_reg184およびレジスタZ_reg
186に保持されている多項式)。deg (X_reg)+deg
(Z_reg)+2が、deg Ri-1+deg Bi=2t(i≧0),deg
i≦Ri-1−1を用いて変形したdeg Ri+ deg Bi≦2
t−1(i≧0)より、d以下であることから、d個の乗算回
路でこの演算が可能であることが分かる(文献5,p.17
1)。従って、ここで説明している演算方法によれば、
乗算器210の入出力データ幅を最小限にすることがで
き、ハードウェア量を最小に抑えることができる。
【0133】(多項式の交換)図9は、図1および図2
に示した多項式演算部14において、レジスタに保持さ
れた多項式を交換する動作を示す図である。演算制御部
24は、図9に示すように、セレクタU160、セレク
タX164、レジスタU_reg180およびレジスタX_reg
184を制御し、レジスタU_reg180の入力とレジス
タX_reg184の出力とを、また、レジスタU_reg180
の出力とレジスタX_reg184の入力とを相互に接続
し、レジスタU_reg180が保持していた多項式をレジ
スタX_reg184に保持させ、レジスタX_reg184が保
持していた多項式をレジスタU_reg180に保持させ、
多項式を交換させる。
【0134】また同様に、演算制御部24は、セレクタ
Y162、セレクタZ166、レジスタY_reg182お
よびレジスタZ_reg186を制御して、レジスタZ_reg1
86が保持する多項式(Zreg)をレジスタY_reg182
に保持させ、レジスタY_reg182が保持する多項式(Y
reg)をレジスタZ_reg186に保持させ、多項式を交換
させる。
【0135】<消失位置多項式λ(x)の算出>図1
0,11はそれぞれ、図1に示した多項式演算部14
が、消失位置多項式を求める演算動作を示す第1および
第2の図である。図10および図11に示すように、多
項式演算部14は、図4,図5に示した修正シンドロー
ム多項式M(x)を算出する場合と同様の演算を行な
い、消失位置多項式λ(x)を算出し、レジスタU_reg
180に保持する(下表2におけるU_reg = λ
(x))。
【0136】なお、修正シンドロームM(x)の演算と
消失位置多項式λ(x)の演算との違いは、修正シンド
ロームM(x)を計算する際の初期値がシンドローム多
項式S(x)であるのに対し、消失位置多項式λ(x)
を求める際の初期値が数値1であることだけである。
【0137】ここまで説明した多項式σ(x),ω
(x),λ(x)を、プログラムの形式で記述すると、
下表2に例示する通りとなる。なお、ハードウェアを用
いて本発明にかかる演算処理を行なう場合には、表2に
示した変数TEMPに対応するレジスタ等は、回路遅延を利
用してレジスタの内容を交換可能であるため不要であ
る。
【0138】
【表2】 (表2)多項式σ(x),ω(x),λ(x)を求めるプログラム例 >>>レジスタ設定<<< Ureg = M(x) Xreg = Ureg Ureg = Xd-1 Yreg = 0 Zreg = 1 >>>σ(x),ω(x)の算出<<< while(){ >>> Q(x)の算出<<< while(){ If (deg Ureg < deg Xreg) then exit Q = Uregの最高次項/Xregの最高次項 Ureg = Ureg - Q*Xreg Yreg = Yreg - Q*Zreg } >>>多項式の交換<<< TEMP = Ureg Ureg = Xreg Xreg = TEMP TEMP = Yreg Yreg = Zreg Zreg = TEMP } If (deg Xreg < Gauss [(d-1/h)/2] then exit >>>λ(x)の算出<<< U_reg = λ(x) } ただし、Ureg, Yreg, Xreg, Zregは、レジスタU_reg1
80〜レジスタZ_reg186がそれぞれ保持する多項
式、 TEMPは、ソフトウェアで実現する場合に必要な作業用変
数 drg X は、多項式Xの次数 Gauss はガウス記号 である。
【0139】[復号装置1の動作]以下、復号装置1の
動作を説明する。図12は、図1に示した復号装置1の
復号動作(S100)を示すフローチャートである。図
12に示すように、ステップ102(S102)におい
て、復調部100(図1)が再生信号・伝送信号を復調
し、受信制御部102が受信語多項式R(x)および消
失位置αiを誤り訂正部12に対して出力すると、誤り
訂正部12のシンドローム生成部124は、シンドロー
ム多項式S(x)を算出し、多項式演算部14は、上記
演算1を実行して、修正シンドローム多項式M(x)を
算出し、レジスタU_reg180(図2)に保持する。
【0140】ステップ104(S104)において、多
項式演算部14は上記演算2を開始し、レジスタ設定を
行なう。つまり、多項式演算部14の演算制御部24
は、レジスタU_reg180に保持された修正シンドロー
ムM(x)をレジスタX_reg184に移し、レジスタU_r
eg180に係数xd-1を保持させ、レジスタY_reg182
に数値0を保持させ、レジスタZ_reg186に数値1を
保持させる。
【0141】ステップ106(S106)において、演
算制御部24は、レジスタX_reg184に保持された多
項式の次数が、[(d−1+h)/2]より小さいか否
かを判断する。演算制御部24は、レジスタX_reg18
4に保持された多項式の次数が[(d−1+h)/2]
より小さい場合にはS114の処理に進み、これ以外の
場合にはS108の処理に進む。
【0142】ステップ108(S108)において、演
算制御部24は、商Q(x)の算出を開始する。演算制
御部24は、レジスタU_reg180に保持された多項式
の次数がレジスタX_reg184に保持された多項式の次
数よりも小さいか否かを判断し、レジスタU_reg180
に保持された多項式の次数が、レジスタX_reg184に
保持された次数よりも小さい場合にはS114の処理に
進み、これ以外の場合にはS110の処理に進む。
【0143】ステップ110(S110)において、演
算制御部24は、多項式演算部14の各構成部分を制御
して、レジスタU_reg180に保持されている多項式
を、レジスタX_reg184に保持されている多項式で除
算した結果の商Q(x)の中で最高次項(Q)を算出さ
せる。また、演算制御部24は、多項式演算部14の各
構成部分を制御し、レジスタU_reg180に保持されて
いる多項式(Ureg)から、演算結果QとレジスタX_reg1
84に保持されている多項式(Xreg)との乗算値を減算
させ、この結果として得られた多項式を、レジスタU_re
g180に保持させる(Ureg=Ureg-Q・Xreg)。また、
演算制御部24は、多項式演算部14の各構成部分を制
御し、レジスタY_reg182に保持されている多項式(Y
reg)から、演算結果QとレジスタZ_reg186に保持さ
れている多項式(Zreg)との乗算値を減算させ、この結
果として得られた多項式を、レジスタY_reg182に保
持させる(Yreg=Yreg-Q・Zreg)。
【0144】ステップ112(S112)において、演
算制御部24は、多項式演算部14の各構成部分を制御
し、レジスタU_reg180に保持されている多項式とレ
ジスタX_reg184に保持されている多項式とを交換
し、レジスタY_reg182に保持されている多項式とレ
ジスタZ_reg186に保持されている多項式とを交換す
る。
【0145】ステップ114(S114)において、多
項式演算部14は、多項式λ(x)を算出し、レジスタ
U_reg180に保持し、誤り計算・訂正部126に対し
て出力する。また、多項式演算部14は、ここまでの演
算により算出され、それぞれレジスタX_reg184およ
びレジスタZ_reg186に保持された多項式ω(x),
σ(x)を誤り計算・訂正部126に対して出力する。
【0146】ステップ116(S116)において、誤
り計算・訂正部126は、多項式演算部14から入力さ
れた多項式λ(x),ω(x),σ(x)および消失位
置α iを用いて、誤り数値ei,消失数値Ei,訂正位置
データi[σ(αi)=0]を用いて、バッファメモリ
部106に記憶された受信語を訂正する。訂正された受
信語は、送信制御部108および変調部110により、
出力信号・伝送信号として出力される。
【0147】[デコーディング・レーテンシー等]多項
式演算部14により復号処理を行なう場合、dが奇数の
場合のデコーディング・レーテンシー(decoding latenc
y)は、消失がなければ3・(d−1)/2となり、消失
があれば2d−1となる。例えば、d=11の場合、ガ
ロア体GF(28)上の受信語を復号する場合、誤り位
置多項式の次数は、消失がなければ最大5であり、消失
があれば[(10−h)/2]([]はガウス記号)で
ある。
【0148】また、この場合、誤り・消失数値多項式の
次数は、最大4であり、消失がh個あれば最大[((1
0+h)/2)−1](同上)となる。また、消失位置
多項式λ(x)の次数は消失の数hに等しく、シンドロ
ーム多項式S(x)は、シンドローム数10より9次と
なる。以上の説明をまとめると、下表3の通りとなる。
【0149】
【表3】 (表3) 消失の個数 λ(x) λ'(x) σ(x) σ'(x) ω(x) 0 0 0 5 4 4 1 1 0 4 2 4 2 2 0 4 2 5 3 3 2 3 2 5 4 4 2 3 2 6 5 5 4 2 0 6 6 6 4 2 0 7 7 7 6 1 0 7 8 8 6 1 0 8 9 9 8 0 0 8 10 10 8 0 0 9
【0150】図13は、図1に示した復号装置1におけ
るレジスタに対する固定乗算器の割り当てを示す図であ
る。多項式演算部14の各レジスタに対しては、チェー
ンサーチのための固定乗算器が、図13に示すように対
応付けられる。
【0151】
【発明の効果】以上説明したように、本発明にかかる復
号装置、演算装置およびこれらの方法によれば、従来の
復号装置よりも少ないハードウェア量で線形巡回符号を
復号処理することができる。また、本発明にかかる復号
装置、演算装置およびこれらの方法によれば、ハードウ
ェア量が少ないにもかかわらず、従来の復号装置と同等
以上の速度で線形巡回符号の復号処理を行なうことがで
きる。
【図面の簡単な説明】
【図1】本発明にかかる復号方法を実現する復号装置の
構成を示す図である。
【図2】図1に示した多項式演算部の構成を示す図であ
る。
【図3】復調部の出力データ(d=5)のフォーマット
を例示する図である。
【図4】図1および図2に示した多項式演算部が修正シ
ンドロームM(x)を算出する第1の動作を示す第1の
図である。
【図5】図1および図2に示した多項式演算部が修正シ
ンドロームM(x)を算出する第2の演算動作を示す図
である。
【図6】図1および図2に示した多項式演算部が、商Q
(x)を計算する第1の演算動作(レジスタ設定)を示
す図である。
【図7】図1および図2に示した多項式演算部が、商Q
(x)を計算する第2の演算動作(演算結果Qの算出)
を示す図である。
【図8】図1および図2に示した多項式演算部が、商Q
(x)を計算する第3の演算動作を示す図である。
【図9】図1および図2に示した多項式演算部におい
て、レジスタに保持された多項式を交換する動作を示す
図である。
【図10】図1および図2に示した多項式演算部が、消
失位置多項式を求める第1の演算動作を示す図である。
【図11】図1および図2に示した多項式演算部が、消
失位置多項式を求める第2の演算動作を示す図である。
【図12】図1に示した復号装置の復号動作(S10
0)を示すフローチャートである。
【図13】図1に示した復号装置におけるレジスタに対
する固定乗算器の割り当てを示す図である。
【符号の説明】
1・・・復号装置 10・・・データ伝送部 100・・・復調部 102・・・受信制御部 104・・・メモリコントローラ部 106・・・バッファメモリ部 108・・・送信制御部 110・・・変調部 12・・・誤り訂正部 120・・・計算機制御部 124・・・シンドローム生成部 126・・・誤り計算・訂正部 14・・・多項式演算部 16・・・セレクタ部 160・・・セレクタU 162・・・セレクタY 164・・・セレクタX 166・・・セレクタZ 18・・・レジスタ部 180・・・レジスタU_reg 182・・・レジスタY_reg 184・・・レジスタX_reg 186・・・レジスタZ_reg 20・・・乗算部 204・・・乗算器入力セレクタ 210・・・乗算器 212・・・逆数テーブル 22・・・加算部 222,232・・・加算器 222−0〜222−d−1・・・加算回路 232−0〜232−(d−1)/2・・・加算回路 24・・・演算制御部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 田 村 哲 也 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内 (72)発明者 出 村 雅 之 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内 (72)発明者 名 倉 寛 尚 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内 Fターム(参考) 5B001 AA11 AB02 AB05 AC01 AD03 AD06 AE02

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】線形巡回符号R(x)中に生じた消失の位
    置を示す消失位置データαiを算出する消失位置データ
    算出手段と、 算出された前記消失位置データαiおよび前記線形巡回
    符号R(x)に基づいて、シンドローム多項式S(x)
    を算出するシンドローム多項式算出手段と、 前記消失位置データαi、および、算出された前記シン
    ドローム多項式S(x)に基づいて、修正シンドローム
    多項式M(x)を算出する修正シンドローム多項式算出
    手段と、 前記消失位置データαi、および、算出された前記修正
    シンドローム多項式M(x)に基づいて、誤り位置多項
    式σ(x)、消失位置多項式λ(x)および誤り数値多
    項式ω(x)を算出する多項式算出手段と、 算出された前記誤り位置多項式σ(x)、算出された前
    記消失位置多項式λ(x)、算出された前記誤り数値多
    項式ω(x)、前記消失位置データαi、および、前記
    線形巡回符号R(x)に基づいて、誤り・消失数値ei
    ・Eiを算出し、前記線形巡回符号R(x)中の誤り・
    消失を訂正し、復号する復号手段とを有し、 前記多項式算出手段は、 σi(x)=σi-2(x)+Qi(x)・σi-1(x) ωi(x)=ωi-2(x)+Qi(x)・ωi-1(x) 但し、Qi(x)はωi-2(x)/ωi-1(x)の商、 σ-1(x)=1,ω-1(x)=x2t, σ0(x)=1,ω0(x)=M(x) により示される漸化式を、 多項式ωiの次数が[(d+h−1)/2−1](但
    し、[]はガウス記号、dは最小ハミング距離、hは消
    失の個数)以下になるまで繰り返して誤り位置多項式σ
    (x)および誤り数値多項式ω(x)を算出し、 前記消失位置データαiから消失位置多項式λ(x)を
    算出する復号装置。
  2. 【請求項2】修正シンドローム多項式M(x)から、誤
    り位置多項式σ(x)および誤り数値多項式ω(x)を
    算出する演算装置であって、前記修正シンドローム多項
    式M(x)は、線形巡回符号R(x)中に生じた消失の
    位置を示す消失位置データα iおよびシンドローム多項
    式S(x)から算出され、前記シンドローム多項式S
    (x)は、前記消失位置データαiおよび前記線形巡回
    符号R(x)から算出され、 前記演算装置は、 σi(x)=σi-2(x)+Qi(x)・σi-1(x) ωi(x)=ωi-2(x)+Qi(x)・ωi-1(x) 但し、Qi(x)はωi-2(x)/ωi-1(x)の商、 σ-1(x)=1,ω-1(x)=x2t, σ0(x)=1,ω0(x)=M(x) により示される漸化式を、 多項式ωiの次数が[(d+h−1)/2−1](但
    し、[]はガウス記号、hは消失の個数、dは最小ハミ
    ング距離)以下になるまで繰り返して誤り位置多項式σ
    (x)および誤り数値多項式ω(x)を算出する演算装
    置。
  3. 【請求項3】前記演算装置は、 データ幅k・(d−1)ビット(但し、kは前記線形巡
    回符号に含まれるシンボルのデータ長)以上の2つの第
    1のレジスタ(レジスタU, X)と、 データ幅k・(d−1)/2ビット(但し、kは前記線
    形巡回符号に含まれるシンボルのデータ長)以上の2つ
    の第2のレジスタ(レジスタY, Z)と、 2つの乗算・除算データに対して乗算または除算(乗算
    ・除算)を行なう乗算・除算手段と、 前記レジスタが保持する多項式、前記消失位置データα
    i、および、前記乗算・除算結果の内の2つを選択し、
    前記2つの乗算・除算データを生成するデータセレクタ
    と、 前記乗算・除算結果と、前記第1のレジスタの一方に保
    持されたデータとを加算する第1の加算手段と、 前記乗算・除算結果と、前記第2のレジスタの一方に保
    持されたデータとを加算する第2の加算手段と、 前記乗算・除算結果をシフトするシフタと、 前記漸化式を解く演算処理を、これらの手段に実行させ
    る演算制御手段とを有する請求項2に記載の演算装置。
  4. 【請求項4】前記演算制御手段は、 前記第1のレジスタの一方(レジスタU)、前記第1の
    レジスタの他の一方(レジスタX)、前記第2のレジス
    タの一方(レジスタY)および前記第2のレジスタの他
    の一方(レジスタZ)それぞれに、前記修正シンドロー
    ム多項式M(x)、前記線形巡回符号R(x)の係数x
    d-1、数値0および数値1をそれぞれ保持させ、 前記Q(x)を算出する演算と、レジスタに保持された
    多項式の交換処理とを、前記レジスタXに保持された多
    項式の次数が[(d+h−1)/2−1]より小さくな
    るまで繰り返すことにより、前記レジスタXに前記誤り
    数値多項式ω(x)を算出し、前記レジスタZに前記誤
    り位置多項式σ(x)を算出し、 前記Q(x)を算出する演算において、 前記レジスタUに保持された多項式を、前記レジスタXに
    保持された多項式で除算した商の最高次の項Qを算出
    し、 前記レジスタUに保持された多項式から、前記レジスタX
    に保持された多項式と算出された項Qとの乗算値を減算
    した多項式を前記レジスタUに保持させ、 前記レジスタZに保持された多項式から、前記レジスタY
    に保持された多項式と算出された項Qとの乗算値を減算
    した多項式を前記レジスタYに保持させる処理を、前記
    レジスタUに保持された多項式の次数が、前記レジスタX
    に保持された次数よりも小さくなるまで繰り返させ、 前記レジスタに保持された多項式の交換処理において、 前記レジスタUに保持された多項式と前記レジスタXに保
    持された多項式とを交換させ、 前記レジスタYに保持された多項式と前記レジスタZに保
    持された多項式とを交換させる請求項3に記載の演算装
    置。
  5. 【請求項5】線形巡回符号R(x)中に生じた消失の位
    置を示す消失位置データαiを算出する消失位置データ
    算出ステップと、 算出された前記消失位置データαiおよび前記線形巡回
    符号R(x)に基づいて、シンドローム多項式S(x)
    を算出するシンドローム多項式算出ステップと、 前記消失位置データαi、および、算出された前記シン
    ドローム多項式S(x)に基づいて、修正シンドローム
    多項式M(x)を算出する修正シンドローム多項式算出
    ステップと、 前記消失位置データαi、および、算出された前記修正
    シンドローム多項式M(x)に基づいて、誤り位置多項
    式σ(x)、消失位置多項式λ(x)および誤り数値多
    項式ω(x)を算出する多項式算出ステップと、 算出された前記誤り位置多項式σ(x)、算出された前
    記消失位置多項式λ(x)、算出された前記誤り数値多
    項式ω(x)、前記誤り位置データαi、および、前記
    線形巡回符号R(x)に基づいて、誤り・消失数値ei
    ・Eiを算出し、前記線形巡回符号R(x)中の誤り・
    消失を訂正し、復号する復号ステップとを含み、 前記多項式算出ステップにおいて、 σi(x)=σi-2(x)+Qi(x)・σi-1(x) ωi(x)=ωi-2(x)+Qi(x)・ωi-1(x) 但し、Qi(x)はωi-2(x)/ωi-1(x)の商、 σ-1(x)=1,ω-1(x)=x2t, σ0(x)=1,ω0(x)=M(x) により示される漸化式を、 多項式ωiの次数が[(d+h−1)/2−1](但
    し、[]はガウス記号、dは最小ハミング距離、hは消
    失の個数)以下になるまで繰り返して誤り位置多項式σ
    (x)および誤り数値多項式ω(x)を算出する処理
    と、 前記消失位置データαiから消失位置多項式λ(x)を
    算出する処理とを行なう復号方法。
  6. 【請求項6】修正シンドローム多項式M(x)から、誤
    り位置多項式σ(x)および誤り数値多項式ω(x)を
    算出する演算方法であって、前記修正シンドローム多項
    式M(x)は、線形巡回符号R(x)中に生じた消失の
    位置を示す消失位置データα iおよびシンドローム多項
    式S(x)から算出され、前記シンドローム多項式S
    (x)は、前記消失位置データαiおよび前記線形巡回
    符号R(x)から算出され、 σi(x)=σi-2(x)+Qi(x)・σi-1(x) ωi(x)=ωi-2(x)+Qi(x)・ωi-1(x) 但し、Qi(x)はωi-2(x)/ωi-1(x)の商、 σ-1(x)=1,ω-1(x)=x2t, σ0(x)=1,ω0(x)=M(x) により示される漸化式を、 多項式ωiの次数が[(d+h−1)/2−1](但
    し、[]はガウス記号、hは消失の個数、dは最小ハミ
    ング距離)以下になるまで繰り返して誤り位置多項式σ
    (x)および誤り数値多項式ω(x)を算出する演算方
    法。
JP18482798A 1998-06-30 1998-06-30 復号装置、演算装置およびこれらの方法 Expired - Lifetime JP3343857B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP18482798A JP3343857B2 (ja) 1998-06-30 1998-06-30 復号装置、演算装置およびこれらの方法
US09/343,946 US6421807B1 (en) 1998-06-30 1999-06-30 Decoding apparatus, processing apparatus and methods therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18482798A JP3343857B2 (ja) 1998-06-30 1998-06-30 復号装置、演算装置およびこれらの方法

Publications (2)

Publication Number Publication Date
JP2000020333A true JP2000020333A (ja) 2000-01-21
JP3343857B2 JP3343857B2 (ja) 2002-11-11

Family

ID=16159999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18482798A Expired - Lifetime JP3343857B2 (ja) 1998-06-30 1998-06-30 復号装置、演算装置およびこれらの方法

Country Status (2)

Country Link
US (1) US6421807B1 (ja)
JP (1) JP3343857B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102351A (ja) * 2003-05-16 2010-05-06 Analog Devices Inc 複合ガロア体エンジンおよびガロア体除算器および平方根エンジンおよび方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6553536B1 (en) * 2000-07-07 2003-04-22 International Business Machines Corporation Soft error correction algebraic decoder
US7058876B1 (en) * 2002-02-21 2006-06-06 Ciena Corporation Method and apparatus for use in a decoder of a forward error correction (FEC) system for locating bit errors in a error locator polynomial
US7447310B2 (en) * 2002-08-06 2008-11-04 The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University Lean multiplication of multi-precision numbers over GF(2m)
US7401109B2 (en) * 2002-08-06 2008-07-15 The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University Multiplication of multi-precision numbers having a size of a power of two
US7581156B2 (en) * 2002-12-16 2009-08-25 Microsoft Corporation Systems and methods for providing improved encoding and reconstruction of data
TW200947882A (en) * 2008-05-13 2009-11-16 Univ Ishou Decoding method of cyclic code weight decoder
CN101677247B (zh) * 2008-09-18 2013-02-13 义守大学 循环码权重解码器的解码方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4162480A (en) * 1977-01-28 1979-07-24 Cyclotomics, Inc. Galois field computer
JP2800598B2 (ja) 1992-11-27 1998-09-21 三菱電機株式会社 誤り訂正復号装置
JPH0750594A (ja) 1993-08-06 1995-02-21 Mitsubishi Electric Corp エラー訂正方法
US5642367A (en) * 1994-02-07 1997-06-24 Mitsubishi Semiconductor America, Inc. Finite field polynomial processing module for error control coding
US5715262A (en) * 1995-07-12 1998-02-03 Lsi Logic Corporation Errors and erasures correcting reed-solomon decoder
US5983383A (en) * 1997-01-17 1999-11-09 Qualcom Incorporated Method and apparatus for transmitting and receiving concatenated code data
CN1215671C (zh) * 1997-05-30 2005-08-17 高通股份有限公司 为空中文件转发提供差错保护的方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102351A (ja) * 2003-05-16 2010-05-06 Analog Devices Inc 複合ガロア体エンジンおよびガロア体除算器および平方根エンジンおよび方法
JP2010102352A (ja) * 2003-05-16 2010-05-06 Analog Devices Inc 複合ガロア体エンジンおよびガロア体除算器および平方根エンジンおよび方法

Also Published As

Publication number Publication date
US6421807B1 (en) 2002-07-16
JP3343857B2 (ja) 2002-11-11

Similar Documents

Publication Publication Date Title
US6374383B1 (en) Determining error locations using error correction codes
JP3970337B2 (ja) 大規模データ・ブロックのためのハードウェア最適化リード・ソロモン・デコーダ
US7028247B2 (en) Error correction code circuit with reduced hardware complexity
US6219815B1 (en) High-speed syndrome calculation
US4873688A (en) High-speed real-time Reed-Solomon decoder
US7162679B2 (en) Methods and apparatus for coding and decoding data using Reed-Solomon codes
JPH0831803B2 (ja) 誤り訂正のための方法と装置
US6092233A (en) Pipelined Berlekamp-Massey error locator polynomial generating apparatus and method
JPH10135846A (ja) リードソロモン復号器
JPH07202715A (ja) 時間定義域代数エンコーダ/デコーダ
KR100260415B1 (ko) 고속시리얼에러위치다항식계산회로
JP2004032737A (ja) リード−ソロモン復号器
US5325373A (en) Apparatus for encoding and decoding reed-solomon code
JP3343857B2 (ja) 復号装置、演算装置およびこれらの方法
EP0660535B1 (en) Apparatus for uniformly correcting erasure and error of received word by using a common polynomial
US6263471B1 (en) Method and apparatus for decoding an error correction code
JPH1093445A (ja) 誤り位置検出多項式計算装置
EP1102406A2 (en) Apparatus and method for decoding digital data
US6651214B1 (en) Bi-directional decodable Reed-Solomon codes
US6415413B1 (en) Configurable Reed-Solomon controller and method
US6915478B2 (en) Method and apparatus for computing Reed-Solomon error magnitudes
KR100747487B1 (ko) 리드-솔로몬 복호 장치 및 수정된 유클리드 알고리즘연산회로
WO2006120691A1 (en) Galois field arithmetic unit for error detection and correction in processors
US20070011592A1 (en) Decoder architecture for Reed Solomon codes
EP1037148B1 (en) Error coding method

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20070830

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080830

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090830

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100830

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110830

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110830

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120830

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120830

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130830

Year of fee payment: 11

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term