JP2687941B2 - リード−ソロモン・デコーダ - Google Patents
リード−ソロモン・デコーダInfo
- Publication number
- JP2687941B2 JP2687941B2 JP7182226A JP18222695A JP2687941B2 JP 2687941 B2 JP2687941 B2 JP 2687941B2 JP 7182226 A JP7182226 A JP 7182226A JP 18222695 A JP18222695 A JP 18222695A JP 2687941 B2 JP2687941 B2 JP 2687941B2
- Authority
- JP
- Japan
- Prior art keywords
- polynomial
- coefficient
- multiplier
- reed
- coefficients
- 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 - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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
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)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
Description
【0001】
【産業上の利用分野】本発明は、伝送(電気信号、無線
信号、またはその他の任意の適当な信号による)中にデ
ジタル・データの誤りを訂正するためのリード−ソロモ
ン・デコーダに関するものであり、更に詳しくいえば、
訂正すべきデータおよびそれぞれの訂正値を、適当な順
序で提供するためのリード−ソロモン・デコーダ方法お
よび装置に関するものである。
信号、またはその他の任意の適当な信号による)中にデ
ジタル・データの誤りを訂正するためのリード−ソロモ
ン・デコーダに関するものであり、更に詳しくいえば、
訂正すべきデータおよびそれぞれの訂正値を、適当な順
序で提供するためのリード−ソロモン・デコーダ方法お
よび装置に関するものである。
【0002】
【従来の技術】リード−ソロモン(RS)符号は、RS
符号の形で伝送するデータ・パケットを供給することに
より、それらのデータ・パケットをRS符号から取り出
し、受信機で訂正することにある。RS符号というのは
M個のデジタル・データの集合であって、2t個の異な
る根を有する2t次の母多項式の倍数であるM−1次の
多項式の係数に関連づけられるM個のデジタル・データ
の集合のことである。そのようなRS符号を伝送する際
には、t個までのエラー係数を探して訂正できる。
符号の形で伝送するデータ・パケットを供給することに
より、それらのデータ・パケットをRS符号から取り出
し、受信機で訂正することにある。RS符号というのは
M個のデジタル・データの集合であって、2t個の異な
る根を有する2t次の母多項式の倍数であるM−1次の
多項式の係数に関連づけられるM個のデジタル・データ
の集合のことである。そのようなRS符号を伝送する際
には、t個までのエラー係数を探して訂正できる。
【0003】また、RS符合の係数は有限体の要素に関
連づけられる。したがって、伝送すべき係数がnビット
の数であるとすると、2n 個の要素の有限体、GF(2
n )と記される、を用いる。この有限体においては、R
S符号はN=2n −1個までの係数を含むことができ
る。
連づけられる。したがって、伝送すべき係数がnビット
の数であるとすると、2n 個の要素の有限体、GF(2
n )と記される、を用いる。この有限体においては、R
S符号はN=2n −1個までの係数を含むことができ
る。
【0004】有限体においては、加算および乗算が特異
的に定義される。乗算は、iを任意の正の整数または負
の整数であるとして、有限体の引き続く要素を0、α
0 、α1 、...αN-1 およびαi =αi+N と書くこと
ができるようなものである。
的に定義される。乗算は、iを任意の正の整数または負
の整数であるとして、有限体の引き続く要素を0、α
0 、α1 、...αN-1 およびαi =αi+N と書くこと
ができるようなものである。
【0005】M−2t個のデータaM-2t-1、...a
1 、a0 の集合をRS符号化に従って伝送するために
(M≦N)、下記の多項式を形成する。 a(x)=aM-2t-1xM-2t-1+...a1 x+a0
1 、a0 の集合をRS符号化に従って伝送するために
(M≦N)、下記の多項式を形成する。 a(x)=aM-2t-1xM-2t-1+...a1 x+a0
【0006】次に、多項式の係数 A(x)=x2ta(x)+r(x) を伝送する。ここに、r(x)は多項式x2ta(x)を
母多項式で除した剰余である。したがって多項式A
(x)の係数AはRS符号を構成し、2t次からN−1
次の項に対応する係数は、伝送すべき実効係数aであ
る。もちろん、伝送には誤りがつきものであり、受けた
係数Aのいくつかは誤りのことがある。
母多項式で除した剰余である。したがって多項式A
(x)の係数AはRS符号を構成し、2t次からN−1
次の項に対応する係数は、伝送すべき実効係数aであ
る。もちろん、伝送には誤りがつきものであり、受けた
係数Aのいくつかは誤りのことがある。
【0007】図1は受けた係数Aのうちt個までのエラ
ー係数を訂正するために設計された従来のリード−ソロ
モン・デコーダの構造を表す。受けた係数Aは、多項式
A(x)の次数が低くなる項に対応する順序でデコーダ
に供給される。
ー係数を訂正するために設計された従来のリード−ソロ
モン・デコーダの構造を表す。受けた係数Aは、多項式
A(x)の次数が低くなる項に対応する順序でデコーダ
に供給される。
【0008】回路10が2t−1次のシンドローム多項
式S(x)(以下、シンドロームと記す)の係数を供給
する。このシンドロームのi次(i=0,1,...2
t−1)の項の係数は次のように表される。 Si =A(αB+i ) ここに、αB+0 、αB+1 ...αB+2t-1は母多項式の
根、Bは定数である。
式S(x)(以下、シンドロームと記す)の係数を供給
する。このシンドロームのi次(i=0,1,...2
t−1)の項の係数は次のように表される。 Si =A(αB+i ) ここに、αB+0 、αB+1 ...αB+2t-1は母多項式の
根、Bは定数である。
【0009】図2はシンドロームの係数を供給する回路
10の従来の構造を表す。この構造は、シンドロームの
係数S0 ないしS2t-1にそれぞれ関連付けられている2
t個の多項式カウンタを含む。シンドロームの係数Si
に関連付けられている各多項式カウンタはレジスタ12
を含む。このレジスタの前段には加算器13が設けられ
る。各加算器13の第1の入力端子が係数AM-1 〜A0
を逐次受ける。各加算器13の第2の入力端子が、乗算
器14においてαB+i を乗ぜられたレジスタ12の出力
を受ける。
10の従来の構造を表す。この構造は、シンドロームの
係数S0 ないしS2t-1にそれぞれ関連付けられている2
t個の多項式カウンタを含む。シンドロームの係数Si
に関連付けられている各多項式カウンタはレジスタ12
を含む。このレジスタの前段には加算器13が設けられ
る。各加算器13の第1の入力端子が係数AM-1 〜A0
を逐次受ける。各加算器13の第2の入力端子が、乗算
器14においてαB+i を乗ぜられたレジスタ12の出力
を受ける。
【0010】係数Aj が到達するたびに、レジスタ12
の内容が、それの最初の内容をAjαB+i だけ増加した
もので置き換えられる。係数AM-1 が到達すると、レジ
スタ12はx=αB+i 、すなわち、シンドロームの係数
Si 、である時の多項式A(x)の値を含む。係数A
は、多項式A(x)の次数が低くなる項に対応する順序
で多項式カウンタに供給しなければならない。
の内容が、それの最初の内容をAjαB+i だけ増加した
もので置き換えられる。係数AM-1 が到達すると、レジ
スタ12はx=αB+i 、すなわち、シンドロームの係数
Si 、である時の多項式A(x)の値を含む。係数A
は、多項式A(x)の次数が低くなる項に対応する順序
で多項式カウンタに供給しなければならない。
【0011】図1の回路20が、 x2tγ(x)+λ(x)S(x)=R(x) であるように、シンドローム係数から、tより低いか、
tに等しい次数のいわゆるエラー・ロケータ多項式λ
(x)の係数と、tより低い次数のいわゆるエラー訂正
多項式R(x)の係数とを供給する。上の式で、γ
(x)は決定すべきでない多項式である。
tに等しい次数のいわゆるエラー・ロケータ多項式λ
(x)の係数と、tより低い次数のいわゆるエラー訂正
多項式R(x)の係数とを供給する。上の式で、γ
(x)は決定すべきでない多項式である。
【0012】エラー・ロケータ多項式λ(x)はたかだ
かt個の異なる根を有する。αr (r=0,1,...
M−1)が多項式λ(x)の根であるならば、係数A
N-r はエラー付きで伝送されたことになる。この係数の
エラーは次のように表される。 er =R(αr )/αr λ’(αr ) (1) ここに、λ’は多項式λの微分多項式である。
かt個の異なる根を有する。αr (r=0,1,...
M−1)が多項式λ(x)の根であるならば、係数A
N-r はエラー付きで伝送されたことになる。この係数の
エラーは次のように表される。 er =R(αr )/αr λ’(αr ) (1) ここに、λ’は多項式λの微分多項式である。
【0013】多項式λ(x)の係数と多項式R(x)の
係数を計算するために、回路20はユークリッド・アル
ゴリズムを使用する。
係数を計算するために、回路20はユークリッド・アル
ゴリズムを使用する。
【0014】IEEE Transactions o
n Computers,Vol.C−34,No.
5,1985年5月、所載の論文「A VLSI De
sign of a Pipeline Reed−S
olomon Decorder」は、ユークリッド・
アルゴリズムの使用例と、この例におけるユークリッド
・アルゴリズムを実行する回路について記述している。
n Computers,Vol.C−34,No.
5,1985年5月、所載の論文「A VLSI De
sign of a Pipeline Reed−S
olomon Decorder」は、ユークリッド・
アルゴリズムの使用例と、この例におけるユークリッド
・アルゴリズムを実行する回路について記述している。
【0015】多項式λ(x)の係数と多項式R(x)の
係数から、多項式λ(x)の根を計算し、かつ誤りを
(1)式に従って計算するために、図1における回路3
0を使用する。回路30は、エラー・ロケータ多項式の
根を求めるための第1の部分37と、誤差e0 ,...
eM-1 を供給するための第2の部分39とを含む。
係数から、多項式λ(x)の根を計算し、かつ誤りを
(1)式に従って計算するために、図1における回路3
0を使用する。回路30は、エラー・ロケータ多項式の
根を求めるための第1の部分37と、誤差e0 ,...
eM-1 を供給するための第2の部分39とを含む。
【0016】図3は、エラー・ロケータ多項式λ(x)
の根を求めるための第1の部分37の従来の構造を表
す。この従来の構造は、多項式λ(x)のxの引き続く
値α0、α-1...α1-M に対する値を計算する。多項
式λ(x)のxの各値α0 ないしα1-M に対する値を計
算するために、広い表面を要するM個の多項式カウンタ
を設ける代わりに、多項式λ(x)の係数λ0 ないしλ
t にそれぞれ関連付けられるt+1個の計算セルが設け
られる。
の根を求めるための第1の部分37の従来の構造を表
す。この従来の構造は、多項式λ(x)のxの引き続く
値α0、α-1...α1-M に対する値を計算する。多項
式λ(x)のxの各値α0 ないしα1-M に対する値を計
算するために、広い表面を要するM個の多項式カウンタ
を設ける代わりに、多項式λ(x)の係数λ0 ないしλ
t にそれぞれ関連付けられるt+1個の計算セルが設け
られる。
【0017】係数λi に関連付けられている各セルはレ
ジスタ32を含み、このレジスタの前段に乗算器33が
設けられる。この乗算器の第1の入力端子がレジスタ3
2の出力を受け、第2の入力端子が値α-i=αN-1 を受
ける。
ジスタ32を含み、このレジスタの前段に乗算器33が
設けられる。この乗算器の第1の入力端子がレジスタ3
2の出力を受け、第2の入力端子が値α-i=αN-1 を受
ける。
【0018】レジスタ32の出力は加算器34のそれぞ
れ入力端子に供給される。
れ入力端子に供給される。
【0019】最初に、係数λ0 ないしλt がそれぞれレ
ジスタ32に書込まれる。したがって、加算器34はx
=α0 =1に対する多項式λ(x)の値を供給する。
ジスタ32に書込まれる。したがって、加算器34はx
=α0 =1に対する多項式λ(x)の値を供給する。
【0020】次に、引き続くM−1回の各ステップにお
いてレジスタ32への書込みが可能にされる。すなわ
ち、(j−i)回目のステップでは、係数λi に関連付
けられているレジスタ32が値λi α-ij を含む。加算
器34はx=α-jに対する多項式λ(x)の値を供給す
る。
いてレジスタ32への書込みが可能にされる。すなわ
ち、(j−i)回目のステップでは、係数λi に関連付
けられているレジスタ32が値λi α-ij を含む。加算
器34はx=α-jに対する多項式λ(x)の値を供給す
る。
【0021】そうすると、図3の構造は、引き続くM回
のステップの間に、xの値α0 ないしα1-M に対する多
項式λ(x)の値を供給する。それらのステップのおの
おのにおいて、対応する誤差eが計算される。ステップ
rにおいて、加算器34が非0値を供給するものとする
と、誤差er は零である。それ以外は、(1)式に従っ
て誤差er を計算する。その結果、多項式A(x)の次
数が高くなる項の係数に対応する順序で誤差eが計算さ
れる。
のステップの間に、xの値α0 ないしα1-M に対する多
項式λ(x)の値を供給する。それらのステップのおの
おのにおいて、対応する誤差eが計算される。ステップ
rにおいて、加算器34が非0値を供給するものとする
と、誤差er は零である。それ以外は、(1)式に従っ
て誤差er を計算する。その結果、多項式A(x)の次
数が高くなる項の係数に対応する順序で誤差eが計算さ
れる。
【0022】図1に示すように、誤差e0 〜eM-1 は加
算器36の第1の入力端子に逐次供給される。同時に、
加算器36はそれの第2の入力端子に対応する係数A、
すなわち、係数A0 〜AM-1 、を順次受ける。係数A
は、遅延/順序反転回路40を介して加算器36に供給
される。導入する遅延は、回路10によるシンドローム
の係数のM回の計算ステップと、多項式λ(x)の係数
と多項式R(x)の係数を回路20によって供給するた
めに必要な2t回のステップとを補償することを意図し
たものである。加算器36によって供給される訂正した
係数Aの伝送順序を順序反転回路42によって再び反転
して、最初の伝送順序に戻す。これが必要な理由は、多
項式Aの最低次の2t個の係数を供給する際にひき起こ
される待ち時間を避けるためである。それらの係数は希
望の係数aに対応しない。
算器36の第1の入力端子に逐次供給される。同時に、
加算器36はそれの第2の入力端子に対応する係数A、
すなわち、係数A0 〜AM-1 、を順次受ける。係数A
は、遅延/順序反転回路40を介して加算器36に供給
される。導入する遅延は、回路10によるシンドローム
の係数のM回の計算ステップと、多項式λ(x)の係数
と多項式R(x)の係数を回路20によって供給するた
めに必要な2t回のステップとを補償することを意図し
たものである。加算器36によって供給される訂正した
係数Aの伝送順序を順序反転回路42によって再び反転
して、最初の伝送順序に戻す。これが必要な理由は、多
項式Aの最低次の2t個の係数を供給する際にひき起こ
される待ち時間を避けるためである。それらの係数は希
望の係数aに対応しない。
【0023】したがって、従来のリード−ソロモン・デ
コーダは、複雑な回路によって制御される最低M個のフ
リップフロップをおのおの含む、2つの反転回路を必要
とする。
コーダは、複雑な回路によって制御される最低M個のフ
リップフロップをおのおの含む、2つの反転回路を必要
とする。
【0024】
【発明が解決しようとする課題】本発明の目的は、係数
の最初の伝送順序で処理すべきそれらの係数の誤差を供
給できるリード−ソロモン・デコーダを得ることであ
る。
の最初の伝送順序で処理すべきそれらの係数の誤差を供
給できるリード−ソロモン・デコーダを得ることであ
る。
【0025】
【課題を解決するための手段】この目的を達成するため
に、本発明は多項式λ(x)の根を求める順序を逆にす
る、すなわち、値α0 ないしα1-M を求める代わりに、
値α1 ないしαM を求める、ことを基にする。本発明の
目的は、図3に示す逐次求根構造によっても達成され
る。しかし、そのように直接行う時は、訂正すべき対応
する係数の指数はN−1ないしN−Mである。これは、
N=Mである特定の場合に係数AM-1 ないしA0 に対応
するだけである。
に、本発明は多項式λ(x)の根を求める順序を逆にす
る、すなわち、値α0 ないしα1-M を求める代わりに、
値α1 ないしαM を求める、ことを基にする。本発明の
目的は、図3に示す逐次求根構造によっても達成され
る。しかし、そのように直接行う時は、訂正すべき対応
する係数の指数はN−1ないしN−Mである。これは、
N=Mである特定の場合に係数AM-1 ないしA0 に対応
するだけである。
【0026】一般に試行順序を逆にするためには、本発
明に従って、M個の係数AM-1 ないしA0 が、最低次の
項であるN−M項が零であるような、N−1次多項式の
最高次の項の係数であると仮定する。このためには、シ
ンドロームの係数を計算するための回路においては、多
項式A(x)の代わりに多項式xN-M A(x)を使用す
ることで十分である。
明に従って、M個の係数AM-1 ないしA0 が、最低次の
項であるN−M項が零であるような、N−1次多項式の
最高次の項の係数であると仮定する。このためには、シ
ンドロームの係数を計算するための回路においては、多
項式A(x)の代わりに多項式xN-M A(x)を使用す
ることで十分である。
【0027】別の例示的な実施態様においては、本発明
は、連続する根αB ないしαB+2t-1を有する母多項式の
倍数である、M−1次の多項式の係数に対応するM個の
nビットデータの列を受けるリード−ソロモン・デコー
ダを提供するものである。ここに、Bは整数定数であ
る。それらの係数は、N+1=2n 個の要素の有限体の
要素に関連づけられ、それらの要素のうちでαは非0お
よび非1の要素である。デコーダは、各列のM個のデー
タを逐次受ける2t個の多項式カウンタ(12〜14)
を含む。階数i(i=0,1...2t−1)の多項式
カウンタが、根αB+i に対するM−1次の前記多項式の
値に等しい、シンドローム多項式の値に等しい次数iの
項の係数を供給し、階数iのこの多項式カウンタの前段
に、乗数がα(B+i)(N-M)の乗算器(44)が設けられ
る。回路が、シンドローム多項式の係数から、tにたか
だか等しい次数のエラー・ロケータ多項式の係数を供給
する。別の回路が、根の値α1 ないしαM を逐次求める
ことによってエラー・ロケータ多項式の根を発見する。
は、連続する根αB ないしαB+2t-1を有する母多項式の
倍数である、M−1次の多項式の係数に対応するM個の
nビットデータの列を受けるリード−ソロモン・デコー
ダを提供するものである。ここに、Bは整数定数であ
る。それらの係数は、N+1=2n 個の要素の有限体の
要素に関連づけられ、それらの要素のうちでαは非0お
よび非1の要素である。デコーダは、各列のM個のデー
タを逐次受ける2t個の多項式カウンタ(12〜14)
を含む。階数i(i=0,1...2t−1)の多項式
カウンタが、根αB+i に対するM−1次の前記多項式の
値に等しい、シンドローム多項式の値に等しい次数iの
項の係数を供給し、階数iのこの多項式カウンタの前段
に、乗数がα(B+i)(N-M)の乗算器(44)が設けられ
る。回路が、シンドローム多項式の係数から、tにたか
だか等しい次数のエラー・ロケータ多項式の係数を供給
する。別の回路が、根の値α1 ないしαM を逐次求める
ことによってエラー・ロケータ多項式の根を発見する。
【0028】本発明の実施態様によれば、N=k(N−
M)(kは整数)であるならば、デコーダは乗数がそれ
ぞれαB(N-M)、α(B+1)(N-M)、...α(B+k-1)(N-M)で
ある乗算器をk個含み、階数iの(i=0,1...k
−1)の乗算器が階数i+pkの多項式カウンタの前段
に設けられ、pは0から(2t−i−1)/kの整数部
まで変化する。
M)(kは整数)であるならば、デコーダは乗数がそれ
ぞれαB(N-M)、α(B+1)(N-M)、...α(B+k-1)(N-M)で
ある乗算器をk個含み、階数iの(i=0,1...k
−1)の乗算器が階数i+pkの多項式カウンタの前段
に設けられ、pは0から(2t−i−1)/kの整数部
まで変化する。
【0029】本発明の実施態様によれば、エラー・ロケ
ータ多項式の根を計算するための回路が、エラー・ロケ
ータ多項式の次数iの項の各係数に対して、この係数を
最初に保存するレジスタと、レジスタの内容を、そのレ
ジスタに先行するレジスタのαi を乗じられた内容で逐
次置き換えるために接続された乗算器とを含み、各乗算
器の出力が加算器のそれぞれの入力端子に供給される。
ータ多項式の根を計算するための回路が、エラー・ロケ
ータ多項式の次数iの項の各係数に対して、この係数を
最初に保存するレジスタと、レジスタの内容を、そのレ
ジスタに先行するレジスタのαi を乗じられた内容で逐
次置き換えるために接続された乗算器とを含み、各乗算
器の出力が加算器のそれぞれの入力端子に供給される。
【0030】上記目的およびその他の目的、特徴および
態様ならびに利点が、添付図面を参照して行う本発明の
範囲からの詳細な説明から明らかになるであろう。
態様ならびに利点が、添付図面を参照して行う本発明の
範囲からの詳細な説明から明らかになるであろう。
【0031】
【実施例】RS符号のM個の係数AM-1 およびA0 を、
それらの係数の到達順序を変更することなしに訂正する
ために、本発明は、M個の係数がN−1次の多項式の最
高次の項に対応するかのように、それらの係数を処理す
る。最低次のN−M項は零であると考えられる(Nは使
用した有限体の非零要素の数、Mは各RS符号の係数の
数である)。これは、最初の多項式A(x)にxN-M を
乗じたものに等しい。多項式xN-M A(x)の得た係数
もRS符号を構成する。その理由は、多項式A(x)の
根が多項式xN-M A(x)の根でもあるためである。
それらの係数の到達順序を変更することなしに訂正する
ために、本発明は、M個の係数がN−1次の多項式の最
高次の項に対応するかのように、それらの係数を処理す
る。最低次のN−M項は零であると考えられる(Nは使
用した有限体の非零要素の数、Mは各RS符号の係数の
数である)。これは、最初の多項式A(x)にxN-M を
乗じたものに等しい。多項式xN-M A(x)の得た係数
もRS符号を構成する。その理由は、多項式A(x)の
根が多項式xN-M A(x)の根でもあるためである。
【0032】この方法では、シンドロームの係数の計算
を変更する。その理由は、i次の項の係数が今は次式で
表されるからである。 Si =α(B+i)(M-N)A(αB+i )
を変更する。その理由は、i次の項の係数が今は次式で
表されるからである。 Si =α(B+i)(M-N)A(αB+i )
【0033】図4はシンドロームの係数を本発明に従っ
て計算する回路の実施例を示す。図2に示す要素と同じ
要素は同じ参照番号で示す。図4の回路は、係数Si に
関連付けられている各多項式カウンタの前段に乗数α
(B+i)(N-M)の乗算器44が設けられている点が、図2に
示す回路と異なる。
て計算する回路の実施例を示す。図2に示す要素と同じ
要素は同じ参照番号で示す。図4の回路は、係数Si に
関連付けられている各多項式カウンタの前段に乗数α
(B+i)(N-M)の乗算器44が設けられている点が、図2に
示す回路と異なる。
【0034】図5は、値α1 ないしαM を逐次求めるこ
とによってエラー・ロケータ多項式λ(x)の根を求め
るための回路38(図7参照)の実施例を示す。この順
序での連続するM回の根を求める作業で得た値は、N−
1次多項式のN−1次ないしN−M次の項の係数に対応
する。多項式A(x)にxN-M を乗ずるから、それらの
係数は係数AM-1 ないしA0 に対応する。値は係数Aが
到達する順序で求めるために、図1の順序反転回路42
と遅延回路40中の順序反転回路は設ける必要はない
(図7参照)。これによって、デコーダを大幅に簡単に
できる。回路39は誤差eM-1 、...e0 を供給す
る。
とによってエラー・ロケータ多項式λ(x)の根を求め
るための回路38(図7参照)の実施例を示す。この順
序での連続するM回の根を求める作業で得た値は、N−
1次多項式のN−1次ないしN−M次の項の係数に対応
する。多項式A(x)にxN-M を乗ずるから、それらの
係数は係数AM-1 ないしA0 に対応する。値は係数Aが
到達する順序で求めるために、図1の順序反転回路42
と遅延回路40中の順序反転回路は設ける必要はない
(図7参照)。これによって、デコーダを大幅に簡単に
できる。回路39は誤差eM-1 、...e0 を供給す
る。
【0035】逐次求根するために設計された図5の回路
では、図3に示す要素と同じ要素は同じ参照番号で示
す。しかし、加算器34が、レジスタ32の出力ではな
くて乗算器33の出力を受けること、および係数λi に
関連付けられている各乗算器33がα-iではなくてαi
を受けることが、図3の構造とこの構造は異なる。
では、図3に示す要素と同じ要素は同じ参照番号で示
す。しかし、加算器34が、レジスタ32の出力ではな
くて乗算器33の出力を受けること、および係数λi に
関連付けられている各乗算器33がα-iではなくてαi
を受けることが、図3の構造とこの構造は異なる。
【0036】最初に、係数λ0 ないしλt がそれぞれレ
ジスタ32に書込まれる。したがって、加算器34はx
=α1 に対する多項式λ(x)の値を供給する。M−1
回の追加のステップの間に、レジスタ32での書込みが
可能にされ、加算器34はxがα2 からαM-1 まで変化
する間の多項式λ(x)の値を供給する。
ジスタ32に書込まれる。したがって、加算器34はx
=α1 に対する多項式λ(x)の値を供給する。M−1
回の追加のステップの間に、レジスタ32での書込みが
可能にされ、加算器34はxがα2 からαM-1 まで変化
する間の多項式λ(x)の値を供給する。
【0037】図6は、NがN−Mの倍数(N=k(N−
M))である特定の場合におけるシンドローム係数を計
算するための、図4に示す回路を簡単にした実施例を示
す。この場合には、係数Si に関連付けられている乗算
器44は係数Si-k に関連付けられている乗算器として
同じ乗算を実行する。したがって、係数Si に関連付け
られている乗算器44は省くことができ、対応する多項
式カウンタには、係数Si-k に関連付けられている乗算
器44によって出力が供給される。
M))である特定の場合におけるシンドローム係数を計
算するための、図4に示す回路を簡単にした実施例を示
す。この場合には、係数Si に関連付けられている乗算
器44は係数Si-k に関連付けられている乗算器として
同じ乗算を実行する。したがって、係数Si に関連付け
られている乗算器44は省くことができ、対応する多項
式カウンタには、係数Si-k に関連付けられている乗算
器44によって出力が供給される。
【0038】図6はデジタルテレビジョンにおけるRS
符号のケーブルによる伝送または衛星による伝送につい
てのヨーロッパ規格に対応する、N=255、M=20
4、B=0、およびt=8である場合の簡単化を示す。
この場合には、N=5(N−M)、N−M=51であ
る。係数S0 、S5 、S10およびS15に関連付けられて
いる多項式カウンタに、係数A203 ないしA0 が直接供
給される。係数S1 、S 6 およびS11に関連付けられて
いる多項式カウンタの前段に、乗数がα51である乗算器
が設けられる。係数S2 、S7 およびS12に関連付けら
れている多項式カウンタの前段に、乗数がα2 x51であ
る乗算器が設けられる。係数S3 、S8 およびS13に関
連付けられている多項式カウンタの前段に、乗数がα3
x51である乗算器が設けられる。係数S4 、S9 および
S14に関連付けられている多項式カウンタの前段に、乗
数がα4 x51である乗算器が設けられる。
符号のケーブルによる伝送または衛星による伝送につい
てのヨーロッパ規格に対応する、N=255、M=20
4、B=0、およびt=8である場合の簡単化を示す。
この場合には、N=5(N−M)、N−M=51であ
る。係数S0 、S5 、S10およびS15に関連付けられて
いる多項式カウンタに、係数A203 ないしA0 が直接供
給される。係数S1 、S 6 およびS11に関連付けられて
いる多項式カウンタの前段に、乗数がα51である乗算器
が設けられる。係数S2 、S7 およびS12に関連付けら
れている多項式カウンタの前段に、乗数がα2 x51であ
る乗算器が設けられる。係数S3 、S8 およびS13に関
連付けられている多項式カウンタの前段に、乗数がα3
x51である乗算器が設けられる。係数S4 、S9 および
S14に関連付けられている多項式カウンタの前段に、乗
数がα4 x51である乗算器が設けられる。
【0039】この例においては、多項式カウンタの入力
端子には、通常求められる15個の乗算器の代わりに、
4個の乗算器を使用する。
端子には、通常求められる15個の乗算器の代わりに、
4個の乗算器を使用する。
【0040】以上、本発明の少なくとも1つの例示的実
施例を説明したが、当業者であれば種々の変更、変形お
よび改良を容易に行えるであろう。それらの変更、変形
および改良は本発明の要旨および範囲に含まれるもので
ある。したがって、以上の説明は例に過ぎず、限定する
ものではない。本発明は特許請求の範囲およびそれの均
等物において定められるものとしてのみ限定されるもの
である。
施例を説明したが、当業者であれば種々の変更、変形お
よび改良を容易に行えるであろう。それらの変更、変形
および改良は本発明の要旨および範囲に含まれるもので
ある。したがって、以上の説明は例に過ぎず、限定する
ものではない。本発明は特許請求の範囲およびそれの均
等物において定められるものとしてのみ限定されるもの
である。
【図1】従来のリード−ソロモン・デコーダの構造を概
略的に示す図である。
略的に示す図である。
【図2】シンドローム係数を計算するための回路の従来
の構造を概略的に示す図である。
の構造を概略的に示す図である。
【図3】エラー・ロケータ多項式の根を逐次求めるため
の回路の従来の構造を概略的に示す図である。
の回路の従来の構造を概略的に示す図である。
【図4】シンドロームの係数を本発明に従って計算する
ための回路の実施例を示す図である。
ための回路の実施例を示す図である。
【図5】本発明の逐次求根回路の実施例を示す図であ
る。
る。
【図6】シンドローム係数を計算するための回路の最適
な実施例を示す図である。
な実施例を示す図である。
【図7】本発明のリード−ソロモン・デコーダの構造を
示す図である。
示す図である。
10,20,30 回路 12,32 レジスタ 13,34 加算器 14,33,44 乗算器
フロントページの続き (56)参考文献 特開 平5−165660(JP,A) 特開 平4−365139(JP,A) 特開 平4−95415(JP,A) 特開 平3−121627(JP,A) 特開 平3−119834(JP,A) 特開 昭62−137924(JP,A) 特開 昭61−54719(JP,A) I.S.REED,M.T.SHI H,T.K.TRUONG,”VLSI DESIGN OF INVERSE −FREE BERLEKAMP−MA SSEY ALGORITHM,”IE E PROCEEDINGS E (C OMPUTERS AND DIGIT AL TECHNIQUES),1991, VOL.138,NO.5,PP.295− 298. H.M.SHAO,I.S.REE D,”ON THE VLSI DES IGN OF A PIPELINE REED−SOLOMON DECOD ER USING SYSTOLIC ARRAYS,”IEEE TRAN S.ON COMPUTERS,OC T.1988,VOL.37,NO.10,P P.1273−1280. H.M.SHAO,T.K.TRUO NG,L.J.DEUTSCH,J. H.YUEN,I.S.REED,”A VLSI DESIGN OF A PIPELINE REED−SOLO MON DECODER,”IEEE TRANS.ON COMPUTER S,MAY.1985,VOL.34,NO. 5,PP.393−403. A.M.PATEL,”ON−THE −FLY DECODER FOR M ULTIPLE BYTE ERROR S,”IBM J.RES.DEVEL OP.MAY 1986,VOL.30,N O.3,PP.259−269
Claims (4)
- 【請求項1】 Bを整数定数とし、係数がN+1=2n
個の要素の有限体の要素に関連づけられ、それらの要素
のうちでαを非0および非1の要素であるとして、連続
する根αB ないしαB+2t-1を有する母多項式の倍数であ
るM−1次の多項式の係数に対応するM個のnビットデ
ータの列を受けるリード−ソロモン・デコーダであっ
て、 各列のM個のデータを逐次受ける2t個の多項式カウン
タ(12〜14)と、シンドローム多項式の係数から、
tにたかだか等しい次数のエラー・ロケータ多項式
(λ)の係数を供給する回路(20)と、 根の値α1 ないしαM を逐次求めることによってエラー
・ロケータ多項式の根を求めるための回路(30)と、
を含み、階数i(i=0,1...2t−1)の多項式
カウンタが、根αB+i に対するM−1次の前記多項式の
値に等しい、シンドローム多項式の値に等しい次数iの
項の係数(Si )を供給し、階数iの前記多項式カウン
タに乗数がα(B+i )(N-M)の乗算器(44)が先行するこ
とを特徴とするリード−ソロモン・デコーダ。 - 【請求項2】 N=k(N−M)(kは整数)であるな
らば、デコーダは乗数がそれぞれαB(N-M)、α
(B+1)(N-M)、...α(B+k-1)(N-M)である乗算器(4
4)をk個含み、階数i(i=0,1...k−1)の
乗算器が階数i+pkの多項式カウンタに先行し、ここ
に、pは0から(2t−i−1)/kの整数部まで変化
することを特徴とする請求項1に記載のリード−ソロモ
ン・デコーダ。 - 【請求項3】 エラー・ロケータ多項式(λ)の根を求
めるための前記回路(30)が、エラー・ロケータ多項
式の次数iの項の各係数に対して、前記係数を最初に保
存するレジスタ(32)と、レジスタの内容を、そのレ
ジスタに先行するレジスタのαi を乗じられた内容で逐
次置き換えるために接続された乗算器(33)とを含
み、各乗算器の出力が加算器(34)のそれぞれの入力
端子に供給されることを特徴とする請求項1に記載のリ
ード−ソロモン・デコーダ。 - 【請求項4】 N=255、M=204、B=0、およ
びt=8であることを特徴とする請求項1ないし3のい
ずれか1つに記載のリード−ソロモン・デコーダ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9408121A FR2721774B1 (fr) | 1994-06-27 | 1994-06-27 | Décodeur reed-solomon. |
FR9408121 | 1994-06-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0879094A JPH0879094A (ja) | 1996-03-22 |
JP2687941B2 true JP2687941B2 (ja) | 1997-12-08 |
Family
ID=9464882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7182226A Expired - Fee Related JP2687941B2 (ja) | 1994-06-27 | 1995-06-27 | リード−ソロモン・デコーダ |
Country Status (5)
Country | Link |
---|---|
US (1) | US5818854A (ja) |
EP (1) | EP0690585B1 (ja) |
JP (1) | JP2687941B2 (ja) |
DE (1) | DE69522156T2 (ja) |
FR (1) | FR2721774B1 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6411606B1 (en) * | 1996-08-21 | 2002-06-25 | Hybrid Networks, Inc. | Hybrid access system with remote device monitoring scheme |
US5942005A (en) * | 1997-04-08 | 1999-08-24 | International Business Machines Corporation | Method and means for computationally efficient error and erasure correction in linear cyclic codes |
US6412090B1 (en) | 1998-06-18 | 2002-06-25 | Globespanvirata, Inc. | Galois field computation system and method |
US6415413B1 (en) | 1998-06-18 | 2002-07-02 | Globespanvirata, Inc. | Configurable Reed-Solomon controller and method |
US6370671B1 (en) * | 1998-06-18 | 2002-04-09 | Globespan, Inc. | Configurable decoder and method for decoding a reed-solomon codeword |
US6691277B1 (en) * | 1998-11-12 | 2004-02-10 | Koninklijke Philips Electronics N.V. | High speed pre-computing circuit and method for finding the error-locator polynomial roots in a Reed-Solomon decoder |
CN1144374C (zh) | 1998-12-11 | 2004-03-31 | 松下电器产业株式会社 | 里德-索洛蒙解码装置及其控制方法 |
JP3502583B2 (ja) | 1999-10-25 | 2004-03-02 | 松下電器産業株式会社 | 誤り訂正方法および誤り訂正装置 |
US6571368B1 (en) * | 2000-02-02 | 2003-05-27 | Macronix International Co., Ltd. | Systolic Reed-Solomon decoder |
US6671850B1 (en) | 2000-05-01 | 2003-12-30 | International Business Machines Corporation | On-the-fly algebraic error correction system and method for reducing error location search |
US6631172B1 (en) | 2000-05-01 | 2003-10-07 | Lucent Technologies Inc. | Efficient list decoding of Reed-Solomon codes for message recovery in the presence of high noise levels |
US6792569B2 (en) | 2001-04-24 | 2004-09-14 | International Business Machines Corporation | Root solver and associated method for solving finite field polynomial equations |
US7228490B2 (en) * | 2004-02-19 | 2007-06-05 | Quantum Corporation | Error correction decoder using cells with partial syndrome generation |
US8327242B1 (en) * | 2008-04-10 | 2012-12-04 | Apple Inc. | High-performance ECC decoder |
US8621331B1 (en) * | 2011-06-03 | 2013-12-31 | Altera Corporation | Continuous parallel cyclic BCH decoding architecture |
US9954553B1 (en) * | 2015-06-05 | 2018-04-24 | Altera Corporation | Circuitry and methods for continuous parallel decoder operation |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4584686A (en) * | 1983-12-22 | 1986-04-22 | Optical Storage International | Reed-Solomon error correction apparatus |
US5107503A (en) * | 1987-08-24 | 1992-04-21 | Digital Equipment Corporation | High bandwidth reed-solomon encoding, decoding and error correcting circuit |
US5170399A (en) * | 1989-08-30 | 1992-12-08 | Idaho Research Foundation, Inc. | Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack |
WO1992013344A1 (en) * | 1991-01-22 | 1992-08-06 | Fujitsu Limited | Error correction processing device and error correction method |
US5329535A (en) * | 1992-04-30 | 1994-07-12 | International Business Machines Corporation | Variable block lengths on-the-fly error correcting decoder |
US5396502A (en) * | 1992-07-09 | 1995-03-07 | Advanced Hardware Architectures, Inc. | Single-stack implementation of a Reed-Solomon encoder/decoder |
-
1994
- 1994-06-27 FR FR9408121A patent/FR2721774B1/fr not_active Expired - Fee Related
-
1995
- 1995-06-21 EP EP95410058A patent/EP0690585B1/fr not_active Expired - Lifetime
- 1995-06-21 DE DE69522156T patent/DE69522156T2/de not_active Expired - Fee Related
- 1995-06-22 US US08/493,852 patent/US5818854A/en not_active Expired - Lifetime
- 1995-06-27 JP JP7182226A patent/JP2687941B2/ja not_active Expired - Fee Related
Non-Patent Citations (4)
Title |
---|
A.M.PATEL,"ON−THE−FLY DECODER FOR MULTIPLE BYTE ERRORS,"IBM J.RES.DEVELOP.MAY 1986,VOL.30,NO.3,PP.259−269 |
H.M.SHAO,I.S.REED,"ON THE VLSI DESIGN OF A PIPELINE REED−SOLOMON DECODER USING SYSTOLIC ARRAYS,"IEEE TRANS.ON COMPUTERS,OCT.1988,VOL.37,NO.10,PP.1273−1280. |
H.M.SHAO,T.K.TRUONG,L.J.DEUTSCH,J.H.YUEN,I.S.REED,"A VLSI DESIGN OF A PIPELINE REED−SOLOMON DECODER,"IEEE TRANS.ON COMPUTERS,MAY.1985,VOL.34,NO.5,PP.393−403. |
I.S.REED,M.T.SHIH,T.K.TRUONG,"VLSI DESIGN OF INVERSE−FREE BERLEKAMP−MASSEY ALGORITHM,"IEE PROCEEDINGS E (COMPUTERS AND DIGITAL TECHNIQUES),1991,VOL.138,NO.5,PP.295−298. |
Also Published As
Publication number | Publication date |
---|---|
FR2721774A1 (fr) | 1995-12-29 |
EP0690585B1 (fr) | 2001-08-16 |
JPH0879094A (ja) | 1996-03-22 |
DE69522156T2 (de) | 2002-05-02 |
US5818854A (en) | 1998-10-06 |
EP0690585A1 (fr) | 1996-01-03 |
FR2721774B1 (fr) | 1996-09-06 |
DE69522156D1 (de) | 2001-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2687941B2 (ja) | リード−ソロモン・デコーダ | |
US5170399A (en) | Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack | |
US7028247B2 (en) | Error correction code circuit with reduced hardware complexity | |
EP0729611B1 (en) | Reed-solomon decoder | |
EP0620654B1 (en) | Circuit for performing the Euclidian algorithm in decoding of arithmetical codes | |
KR100497639B1 (ko) | 리드솔로몬복호기 | |
US5805617A (en) | Apparatus for computing error correction syndromes | |
WO2000057561A1 (en) | Pipelined high speed reed-solomon error/erasure decoder | |
US8335808B2 (en) | Method and apparatus for processing multiple decomposed data for calculating key equation polynomials in decoding error correction code | |
US6286123B1 (en) | Circuit for calculating error position polynomial at high speed | |
KR970004515B1 (ko) | 리드-솔로몬 복호기의 오류위치다항식 연산방법 및 장치 | |
US5878058A (en) | Apparatus for determining an error locator polynomial for use in a reed-solomon decoder | |
KR100258951B1 (ko) | 리드-솔로몬(rs) 복호기와 그 복호방법 | |
JP2800723B2 (ja) | リードソロモン復号器の誤り位置検出回路 | |
US20100174970A1 (en) | Efficient implementation of a key-equation solver for bch codes | |
US6915478B2 (en) | Method and apparatus for computing Reed-Solomon error magnitudes | |
JPH11196006A (ja) | 並列処理シンドロ−ム計算回路及びリ−ド・ソロモン複合化回路 | |
WO2006120691A1 (en) | Galois field arithmetic unit for error detection and correction in processors | |
JP2000020333A (ja) | 復号装置、演算装置およびこれらの方法 | |
JP3241851B2 (ja) | 誤り訂正復号装置 | |
EP0793352B1 (en) | Apparatus for determining the error evaluator polynomial for use in a Reed-Solomon decoder | |
EP1037148B1 (en) | Error coding method | |
US20070011592A1 (en) | Decoder architecture for Reed Solomon codes | |
JP2591611B2 (ja) | t重誤り訂正符号の符号化復号化回路 | |
KR100212825B1 (ko) | 리드 솔로몬 복호기의 신드롬 계산장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19970722 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |