JPH09507110A - 有限体反転 - Google Patents
有限体反転Info
- Publication number
- JPH09507110A JPH09507110A JP7513258A JP51325895A JPH09507110A JP H09507110 A JPH09507110 A JP H09507110A JP 7513258 A JP7513258 A JP 7513258A JP 51325895 A JP51325895 A JP 51325895A JP H09507110 A JPH09507110 A JP H09507110A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- value
- convolution
- bit
- input
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
- G06F7/726—Inversion; Reciprocal calculation; Division of elements of a finite field
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- 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
-
- 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
-
- 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
-
- 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/35—Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
Abstract
(57)【要約】
反転回路(212)はmビット記号Bの逆元B-1を決定する。記号Bはデュアル基底表現で表される。反転回路(212)は、記号Bが供給されmビット値Aに対応する電気信号を生成し格納する反復畳み込み回路(124A、124B、124C)を含む。値Aは第1基底表現で表され、k<m−1のときAとαkBとの内積が0に等しくなるように畳み込み回路によって生成される。畳み込み回路がBのα倍数による畳込みを行うことができるようにフィードバック回路(128)が設けられている。乗算器回路(102)が畳み込み回路に接続され、Aとα-tとの積に対応する電気出力信号を生成する。乗算器からの電気出力信号はAα-t=B-1(すなわち、第1基底表現でのmビット記号Bの逆元)を表す。必要であれば、mビット値Aは、畳み込み回路をシフトレジスタとして操作するか、または値Aをシフトレジスタ(132)にロードすることによって、ビット位置が揃えられる。
Description
【発明の詳細な説明】
有限体反転
背景
関連出願への相互参照
本特許出願は、1993年11月4日に出願され現在は放棄された米国特許出願第08/
147,758号の継続出願である。後者は本明細書において参考のため援用されてい
る。本出願と同時に出願され本明細書において参考のため援用されている特許出
願(発明者:Christopher P.Zook)には、米国特許出願第08/325,717号、発明
の名称"CYCLIC REDUNDANCY CHECK METHOD AND APPARATUS";米国特許出願第08/3
25,850号、発明の名称"BURST ERROR CORRECTOR";米国特許出願第08/326,164号
、発明の名称"REED SOLOMON DECODER";および米国特許出願第08/326,126号、発
明の名称"ERROR CORRECTION METHOD AND APPARATUS"が含まれる。1993年11月4日
に出願された米国特許出願第08/147,758号と同時に出願された特許出願(すべて
本明細書において参考のため援用されている)には、米国特許出願第08/147,865
号、発明の名称"DUAL PURPOSE CYCLIC REDUNDANCY CHECK";現在は放棄された米
国特許出願第08/148,068号、発明の名称"BURST ERROR CORRECTOR";および現在
は放棄された米国特許出願第08/147,650号、発明の名称"REED SOLOMON DETECTOR
"が含まれる。
1.発明の分野
本発明は、一般に、デジタルデータ通信システム、特に、有限体の演算に関す
る。詳しくは、本発明は誤り訂正符号の復号に関する。
2.関連技術および他の考察
デジタルデータ通信システム(光学または磁気媒体への格納およびこれらから
の読み出しを含む)では、情報の転送速度を高め同時に誤り率を任意に低くする
ために、誤り制御システムを用いることが必要である。固定された信号対ノイズ
比および固定された帯域幅の場合、改良は誤り訂正符号を用いることによって行
い得る。
誤り訂正符号化により、伝送または格納されるデータは数学的に処理されて、
チェック記号または冗長記号と呼ばれる付加的なデータ記号が得られる。伝送ま
たは読み出し後は、受け取られたデータおよびチェック記号は数学的に処理され
て、誤りの位置および値についての情報が得られる。データ記号を、実数または
有理数というなじみの体ではなく有限体の要素として扱うのが最も効率的である
ため、有限体演算が用いられる。
有限体演算で生じる1つの問題は、加算、減算、または乗算に比べて除算を行
うのが複雑であることである。除算は、要素の逆元をとりこれを乗算することに
よって行うことができる。反転の簡単な方法は除算のための簡単な方法となる。
GF(2m)において反転を行うにはいくつかの方法がある。最も一般的なも
のは、2m×m ROMに等しい、ルックアップテーブルを用いることである。こ
の方法は最も速く、また最も多くの回路ゲートを必要とする。多くのアプリケー
ションでは、回路サイズを小さくするために、mビット記号をシリアルに処理す
るのが望ましい。このようなアプリケーションにおいては、mビット記号の加算
、乗算、および反転をmクロックサイクルで行うのが望ましい。このような方法
のいくつかを以下に述べる。
図1は、以下の方法を用いる回路を示す。もし、aがGF(2m)の1つの要
素であるならば、以下の式が成立する。
逆元は二乗および乗算を繰り返すことによって得られ得る。しかし、二乗およ
び乗算機能は1クロックサイクルで行わなければならないため、回路サイズが大
きくなる。図1では、R1は「a」に初期化され、一度クロックされてa2を得
る。この時点でR2は1に初期化される。さらにm−1回のクロック後、R2は
a-1を含む。
別の方法はユークリッドの互除法を用いるもので、Berlekampの"Algebraic Co
ding Theory"、Aegean Park Press発行、1984改訂版、36-44頁に記載されている
。これは3m+4個のフリップフロップを用い、2m+2回のクロックサイクル
を必要とする。
図2に示すさらに別の方法は、Whitingのカリフォルニア工科大学での博士論
文、"Bit-Serial Reed-Solomon Decoders in VLSI"、1984、58頁に記載されてい
る。Whitingの手法では、Rは、デュアル基底表現で表される要素「a」に初期
化され(Whitingの39頁参照)、f(x)はa-1のためのデュアル基底表現のビ
ット0を生成する論理関数である。aにα-1を繰り返し乗算することによって、
f(x)はa-1の残りのビットを生成することが可能となる。関数f(x)は、
2m×1 ROMによって実現され得る。逆元はmクロックでシリアルに生成され
る。
しかし、これらの手法には、逆元を生成するために過剰な回路または過剰なク
ロックサイクルを必要とするという制約を有している。従って、有限体反転のた
めのサイズおよび時間の要件を低減するアプローチが必要とされている。
要旨
本発明の反転回路は、mビット有限体記号Bの逆元B-1を決定する。記号Bは
デュアル基底表現で表される。反転回路は、記号Bが適用されmビット値Aに対
応する電気信号を生成および格納する反復畳み込み回路を含む。値Aは第1基底
表現で表され、k<m−1のときAとαkBとの内積が0に等しくなるように畳
み込み回路によって生成される。畳み込み回路がBのα倍数による畳込みを行う
ことができるように、フィードバック回路が設けられる。乗算器回路が畳み込み
回路に接続され、値Aとα-tとの積に対応する電気出力信号を生成する。乗算器
からの電気出力信号はAα-t=B-1(すなわち、第1基底表現でのmビット記号
Bの逆元)を表す。必要であれば、mビット値Aは、畳み込み回路をシフトレジ
スタとして動作させるか、または値Aをシフトレジスタにロードすることによっ
て、ビット位置が揃えられる。
動作においては、反転回路が先ず初期化され、その後、mビット記号Bのビッ
トBkが「B」レジスタにクロックされる。特定数のクロックサイクルの間、反
転回路は、従来のバイナリ指向のBerlekamp-Massey回路の畳み込み動作に類似し
た動作を行う(例えば、現在の不一致(current discrepancy)dnを決定し、「A
」レジスタおよび中間レジスタの値を更新する)。mビット値Aは最後にはAレ
ジスタに格納される。Aのmビット値は、(第1基底表現における)Aと(第2
基底表現における)αkBとの内積が、k<m−1のときゼロであるという制約
の下で展開される。
Aの生成は、数列{Sn}を用いる畳み込み反復によって起こる。mビット記
号Bに対しては、数列{Sn}の最初のm個の要素(例えば、So〜Sm-1)はB
の最初のmビット(例えば、Bo〜Bm-1)である。従って、最初のm回のクロッ
クサイクルの間、値Bo〜Bm-1がBレジスタにシリアルにクロックされる。数列
{Sn}の残りはフィードバック回路を用いて生成され、この回路はBのα倍数
のフィードバックを生成する。この方法で数列{Sn}の残りを生成することは
、数列{Sn}の定義、特に式Sj+k=(αkB)jから理解される。
数列{Sn}およびこの結果「A」レジスタのA値の生成は、(1)2m−2
クロックサイクルが実行されるか、または(2)m−1より長い長さが得られる
(dn≠0の場合)まで続く。2m−2クロックサイクル前にm−1より長い長
さが得られる場合は、「A」レジスタの値は、サイクル2m−2に達するまで(
クロックサイクル毎に1フリップフロップ)右側にシフトされる。このシフトは
左側の「A」レジスタにリーディングゼロを与え、これにより、「A」レジスタ
のA値を実質的に右揃えさせる。
1つの実施態様では、「A」レジスタにおけるA値の揃えは、「A」レジスタ
をシフトレジスタとして操作することによって実現される。各「A」レジスタは
関連するマルチプレクサを有し、低次の「A」レジスタのためのマルチプレクサ
は畳み込み入力とレジスタシフト入力との間を選択するように作動する。畳み込
み回路によって行われる畳み込みにおける所定のクロックサイクルで、マルチプ
レクサは、低次の「A」レジスタへの入力を畳み込み入力からレジスタシフト入
力に切り換えるように作動する。多項式の長さがm−1を超え、現在の不一致値
dnがゼロでないとき、所定のクロックサイクルが起こる。別の実施態様では、
mビット値Aを揃える手段は、「A」レジスタに接続されるシフトレジスタであ
る。
本発明の反転回路はROMを使用せず、また主にパラレルではなくシリアルデ
ータ転送を行う点で有利である。
図面の簡単な説明
本発明の上記のおよび他の目的、特徴、および利点は、添付の図面に示すよう
な好適な実施態様についての下記のさらに詳しい説明によって明らかとなる。図
面において、同じ参照番号は同じ構成要素を示す。図面は一定の比例で縮小され
ているとは限らず、本発明の原理を示す場合は強調されている。
図1は、従来の方法の概略ブロック図である。
図2は、別の従来の方法の概略ブロック図である。
図3は、β表現においてα乗算するための回路の概略図である。
図4は、本発明の基本的な反転回路の概略ブロック図である。
図4Aは、図4の反転回路の第1の実施例を示す概略ブロック図である。
図4Bは、図4の反転回路の第2の実施例を示す概略ブロック図である。
図4Cは、図4の反転回路の第3の実施例を示す概略ブロック図である。
図5は、図4Aの第1の実施例を詳細に示す概略図である。
図6は、改変フィードバック回路を示す概略図である。
図面の詳細な説明
GF(pm)において、各要素はm次元のベクトル空間におけるベクトルとし
て見られ得る。基準の基底集合は、k=0,1,...,m−1に対して{αk
}である。{αk}を、k=0,1,...,m−1に対してαk=αoαkである
ような基底ベクトルの集合とする。この集合に対するいわゆるデュアル基底は{
βk}であり、ここで、βkは、kがjに等しいときはtr(αkβj)=αoであ
り、kがjに等しくないときはtr(αkβj)=0であるように選択される。ト
レース関数tr(x)は以下のように定義される。
Aを以下α表現と称される標準表現で表されるGF(pm)の1要素であると
し、Bを以下β表現と称されるデュアル基底表現で表されるGF(pm)の1要
素であるとする。すなわち、
および、
とする。ここで、AkはベクトルAの成分であり、BkはベクトルBの成分である
。すると、以下の等式1が得られる。
CをABのβ表現であるとし、(αkB)jをβ表現におけるαkBの成分であ
るとすると、等式1から以下の等式2が得られる。
すなわち、AとBとの積のβ表現のk番目の成分は、Aのα表現とαkBのβ
表現との内積である。
次に、等式1から以下の等式3が得られる。
等式3は、j+k=c+dならば、(αkB)j=(αdB)cであることを意味し
、またこれは以下の等式4を意味する。
等式3はまた以下の式を意味する。
G(x)=ΣgixiをGF(pm)体ジェネレータとする。一般性を失うこと
なく、gm=1であると仮定することができる(gm=1でないならば、g(x)
はgmで除算され、1に等しいリーディング係数を有する生成元を生成すること
ができる)。定義により、G(α)=0、すなわち、
故に、
等式4および等式5は、β表現においてα乗算は、図3に示すようなフィード
バックを伴うシフトに対応することを示す。等式3から以下の式が得られる。
上記の式および等式5は以下の等式6を意味する。
{Sn}を以下の方法で定義される数列とする。すなわち、Sj+k=(αkB)j
とする。k=0は、n=0,1,...,m−1に対してSn=Bnであることを
意味することに留意されたい。次に、等式6から以下の式が得られる。
または、
等式2の(αkB)iをSi+kに置き換えると、以下の等式7が得られる。
次に、k<m−1のときCk=0とし、Cm-1=1、すなわちC=βm-1とする
。あるtに対してはC=αtである。Cに対するこの選択により、等式7の最初
のm−1個の等式は以下の漸化式の関係を形成する。
等式8を満たす線形フィードバックシフトレジスタ(LFSR)を生成するために、
Berlekamp-Masseyアルゴリズムが用いられ得る。S2m-2を生成するためには長さ
mのLFSRを必要とし、実際にはそのタップはgiである。しかし、等式8は、
m−1以下の長さのLFSRは、k<2m−2のときSkを生成するために用いられ
得ることを示している。このアルゴリズムによって生成されるベクトルAは、A
B=C=αtであるという特性を有する。故に、B-1=Aα-tである。数tは、
一方の基底表現から他方への線形変換も決定するαoの適切な選択によって任意
に選択され得る。αoは、通常は、変換に必要なロジックを最小限にし、またα- t
乗算を行うために選択される。変換が特定のアプリケーションのための考慮で
ないならば、tは0となるようにされ得る。
構造
上述の数学的導出を考慮すれば、mビット記号Bの逆元(すなわちB-1)は積
Aα-tに等しいことが理解される。図4は、B-1の値に対応する電気信号を生成
する反転回路212を示す一般化されたブロック図である。上記の導出に従って、
図4の回路は、(Aのためのmビット値を決定する)回路100およびα-1乗算器1
02を示す。Bを形成するビットBkの入力値が、最初のmクロックの間、入力ラ
イン104を介して回路100にシリアルに供給される。2m−2クロック後、(第1
すなわち基準基底表現における)値Aはmビットパラレルバス106を介してα-t
乗算器102に供給される。mビット出力バス108は、B-1(積Aα-t)を示す電気
信号を運ぶ。
下記にさらに詳しく示すように、Aの値に対応する電気信号を決定する回路10
0は様々な形態を取り得る。例えば、図4Aは、Aの値に対応する電気信号を決定
し、コントローラ120によって駆動される回路100Aを示す。図4Aに一般的に示す
ように、回路100Aは、特に、シリアルライン122によって改変バイナリ指向Berle
kamp-Massey回路124A(改変畳み込み回路としても知られる)に接続される第1
出力ピンを有するMUX404を含む。改変Berlekamp-Massey回路124Aは、mビットフ
ィードバックバス126によってフィードバック回路128に、およびバス106によっ
てα-t乗算器102に接続される。フィードバック回路128の出力は、MUX404の第2
入力にシリアルに供給される。MUX404の第1入力は、ビットBkの入力値を受け
取るように接続されている。コントローラ120は、クロック信号および制御信号
をライン120-1を介して改変Berlekamp-Massey回路124Aに、およびライン120-2
を介してフィードバック回路128に供給し、さらに、選択信号をライン120-3を介
してMUX404に供給する。コントローラ120は、回路124Aから信号dnを受け取る。
Aの値に対応する電気信号を決定する回路の第2の実施例が、回路100Bとして
図4Bに示される。図4Bの回路100Bは、主として、図4Aの改変バイナリ指向Berlek
amp-Massey回路124が、より従来のバイナリ指向Berlekamp-Massey型回路124Bと
シフトレジスタ132の組み合わせに置き換えられている点で、図4Aの回路100Aと
は異なる。Berlekamp-Massey型回路124Bのいくつかのレジスタ(特に、σレジス
タとして知られているものに対応する「A」レジスタ)は、mビットバス130に
よってシフトレジスタ132のm個の入力ピンに接続される。シフトレジスタ132の
出力ピンはmビットバス106によってα-1乗算器102に接続される。
Aの値に対応する電気信号を決定する回路の第3の実施例が、回路100Cとして
図4Cに示される。図4Cの回路100Cは、主として、フィードバックバス126および
フィードバック回路128が改変フィードバック回路140に置き換えられている点に
おいて、図4Aの回路100Aとは異なる。改変フィードバック回路140は複数のレジ
スタ1420〜142m-1を備え、レジスタ142m-1が、改変Berlekamp-Massey回路124Cの
供給と同時に、MUX404からシリアルに供給される。レジスタ1420〜142m-1はまた
、mクロックサイクルの間、値がレジスタ142m-1からレジスタ1420へと右側にシ
フトされ得るようにシリアルに接続される。また、レジスタ1420〜142m-1の内容
もまた、それぞれのANDゲート1440〜144m-1の第1入力ピンにシリアルに接続さ
れる。各ANDゲート144の第2入力ピンは「1」かまたは「0」の値のいずれかに
接続され、特定の体生成多項式に従ってフィードバック回路を形成する。ANDゲ
ート1440および1441の出力ピンは、XORゲート1460の第1および第2ピンに接続
される。XORゲート1461〜146m-1は、対応する下付き番号を有するANDゲート144
の出力ピンに接続された第1入力ピン、および次に小さい下付き番号を有するXO
Rゲート146の出力ピンに接続された第2入力ピンを有する。XORゲート146m-1の
出力ピンはMUX404の第2入力端子に接続される。
図5は、図示した体ジェネレータ(例えば、x8+x4+x3+x2+1)を実現するため
の、図4Aの実施例の反転回路212の詳細を示す。反転回路212は、MUX404、フィー
ドバック回路128、およびα-t乗算器回路102を含む。図5の残りの要素は、図4A
の
改変バイナリ指向Berlekamp-Massey回路124Aに含まれる。
図5の改変Berlekamp-Massey回路124Aは、「B」レジスタ4000〜4007のバンク
、「A」レジスタ4010〜4017のバンク、および中間レジスタ4021〜4027のバンク
を含む。回路124Aのバイナリ指向を考慮すれば、レジスタ400、401、および402
は1ビットフリップフロップであり、従って、本明細書ではフリップフロップと
も呼ばれる。フリップフロップ400の出力ピンは、その内容が右側にシフトされ
得るように(例えば、フリップフロップ4007からフリップフロップ4006への出力
、フリップフロップ4006からフリップフロップ4005への出力など)接続される。
従来のBerlekamp-Massey回路と同様の方法で、フリップフロップ400および401の
対(同じ下付き番号)の出力ピンは(ANDゲート420で)ANDされる。ANDゲート42
0の出力ピンからの出力は、加算器4220〜4226(これらはGF(2)でXORゲートであ
る)によって加算され、現在の不一致dn(加算器4220からの出力)に類似する
ターム(term)を生成する。
従来のBerlekamp-Massey回路とは異なり、図5の改変Berlekamp-Massey回路12
4Aは、それぞれ対応するフリップフロップ4010〜4016への入力の選択を制御する
3入力MUX4240〜4246を含む。3入力MUX4240〜4246のそれぞれは、初期化値(「
0」)をロードする第1入力ピン、左側に隣接するフリップフロップ401からシ
フトされた値を受け取る第2ピン、および隣接する中間レジスタ402の内容およ
び不一致タームdnから導かれる更新値を受け取るために以下に述べる方法で接
続される第3ピンを含む。フリップフロップ4017は、値「0」または「1」のい
ずれかを受け取る2入力MUX4247を有する。
図5の改変Berlekamp-Massey回路124Aはさらに、複数のANDゲート4260〜4266
を含み、各ANDゲート426は、関連する加算器428の第1入力に接続される出力ピ
ンを有する(例えば、ANDゲート4260の出力ピンは加算器4280の第1入力ピンに
接続され、ANDゲート4261の出力ピンは加算器4281の第1入力ピンに接続される
など)。各ANDゲート426の第2入力ピンは、加算器4220からの現在の不一致dn
を受け取るように接続されている。各加算器428の第2入力ピンは、対応する(
同じ下付き番号の)フリップフロップ401の出力ピンに接続される。各加算器428
の出力ピンは、上述のように、対応する(同じ下付き番号の)3入力MUX424の第
3入力ピ
ンに接続される。各ANDゲート426の第2入力ピンは、左側に隣接する中間フリッ
プフロップ402の出力ピンに接続される。
各中間フリップフロップ402に対して3入力MUX430が設けられる。MUX4301〜43
06は、初期化値「0」を受け取るように接続される第1入力ピンを有する。MUX4
307は、それぞれ初期化値「1」および「0」を受け取るように接続される第1
および第2入力ピンを有する。MUX4301〜4306の第2入力ピンは、左側に隣接す
る中間レジスタ402(下付き番号が1つ小さいレジスタ402)からの出力を受け取
るように接続される。MUX4301〜4307の第3入力ピンは、同じ下付き番号のAフ
リップフロップ401からの出力を受け取るように接続される。
各Aフリップフロップ401は、(上述のような適切なMUX424の第2入力ピンを
介して)右側に隣接するフリップフロップ401に、(不一致dnの生成に用いるた
めの)ANDゲート420に、(同じ下付き番号のMUX430を介して)同じ下付き番号の
中間フリップフロップ402に、および(リードインバス106を介して)α-t乗算器
回路102に接続される出力ピンを有する。
従って、図5の改変Berlekamp-Massey回路124Aは、Bレジスタ(フリップフロ
ップ)400のバンクB400、Aレジスタ(フリップフロップ)401のバンクB401、お
よび中間レジスタ(フリップフロップ)402のバンクB402を含む。本明細書にお
いては、フリップフロップは1ビットレジスタであり、1ビットより大きい容量
を有するレジスタは、本発明の他の局面が実行される限り利用され得ることは理
解され得る。バンクB400およびB401のフリップフロップの数が「m」(図示した
実施例ではm=8)である場合、バンクB402のフリップフロップ数はm−1であ
る。さらに、図5に示すように、少なくともm−1の低次の「A」フリップフロ
ップ401は関連する3入力MUX424を有し、これにより、バンクB401が右側にシフ
トするシフトレジスタとして働くことが可能になる。
図示した実施例で用いられる特定の体生成多項式を考慮すれば、図5のフィー
ドバック回路128は、加算器4402、4403、および4404を備えている。加算器4402
の第1入力ピンはフリップフロップ4000の出力ピンに接続され、一方、加算器44
02の第2入力ピンはフリップフロップ4002の出力ピンに接続される。加算器4403
の第1入力ピンは加算器4402の出力ピンに接続され、一方、加算器4403の第2入
力
ピンはフリップフロップ4003の出力ピンに接続される。同様に、加算器4404の第
1入力ピンは加算器4403の出力ピンに接続され、一方、加算器4404の第2入力ピ
ンはフリップフロップ4004の出力ピンに接続される。加算器4404の出力ピンはMU
X404の第2入力に接続され、MUX404の第1入力ピンは、反転されるm記号のBの
Bkビットを受け取るように接続される。
図5のα-t乗算器回路102は、バス106を伝送されるAの値にα-2を乗算するよ
うに構成されている。さもなくば、数学的導出に関連して上述したように、「t
」の値は選択され得る。図5のα-t乗算器回路102は、特に、当業者には理解さ
れ得るように、α2の乗算を提供するように特異的に接続された複数の加算器450
〜454を備えている。mビットパラレルバス108を介して供給されるα-t乗算器回
路102の出力は値Aα-t=B-1であり、これは反転回路212に入力されるmビット
記号Bの所望の逆元である。
図6は、図4Aまたは図4Bの回路128のために用いられ得る一般的なフィードバ
ック回路を示す。図6の回路の構成および動作は、図4Cの改変フィードバック回
路140を参照すれば理解される。
動作
本明細書に記載されたすべての実施例の最終的な出力はmビット電気信号であ
り、これは、mビット入力記号B(第2すなわちデュアル基底表現における)の
逆元を表す。特に、上述の数学的導出を考慮すれば、最終出力信号はB-1=Aα-t
である。mビット値Aに対応する電気信号は、回路100(例えば、図4Aの回路1
00A、図4Bの回路100B、および図4Cの回路100C)によって生成され、バス106を介
してα-t乗算器回路102に出力される。α-t乗算器回路102からの最終出力はバス
108で得られ、Aとα-tとの積、すなわちB-1である。
図4Aおよび図5に示した実施例の動作について先ず述べる。これにより、図4B
および図4Cの実施例の動作の説明に対する理解が得られ得る。
動作においては、図5の反転回路212が先ず初期化され、その後、mビット記
号BのビットBkがレジスタ400にクロックされる。特定数のクロックサイクルの
間、反転回路212は、従来のバイナリ指向Berlekamp-Massey回路の畳み込み動作
に類似した動作を行う(例えば、現在の不一致dnを決定し、レジスタ401および
402の値を更新する)。mビット値Aは最後にはレジスタ401に格納される。Aの
mビット値は、(第1基底表現における)Aと(第2基底表現における)αkB
との内積が、k<m−1のときゼロであるという制約の下で展開される。
上述のように、特に等式6〜8を参照して、例えば、Aの展開は、数列{Sn
}を用いる畳み込み反復によって起こる。mビット記号Bに対しては、数列{Sn
}の最初のm個の要素(例えば、So〜Sm-1)はBの最初のmビット(例えば
、Bo〜Bm-1)である。従って、最初のm回のクロックサイクルの間、値Bo〜
Bm-1がレジスタ400にシリアルにクロックされる。数列{Sn}の残りはフィー
ドバック回路128を用いて生成され、この回路はBのα倍のフィードバックを生
成する。この方法で数列{Sn}の残りを生成することは、数列{Sn}の前述の
定義、特に式Sj+k=(αkB)jから理解される。
数列{Sn}およびこの結果レジスタ401のA値の生成は、(1)2m−2クロ
ックサイクルが実行されるか、または(2)m−1より長い長さが得られる(dn
≠0の場合)まで続く。2m−2クロックサイクル前にm−1より長い長さが
得られる場合は、レジスタ(フリップフロップ)401の値は、サイクル2m−2
に達するまで右側にシフトされる(クロックサイクル毎に1フリップフロップ)
。このシフトは左レジスタ401にリーディングゼロを与え、これにより、レジス
タ401のA値を実質的に右揃えさせる。
図5の反転回路212の動作をさらに詳しく述べる。コントローラ120はnおよび
長さ「L」を含む多くの値のトラック(track)を保持する。さらに、コントロー
ラ120は現在の不一致値dn(加算器4220からの出力)を受け取るように接続され
ている。コントローラ120はまた、MUX404、424、および430への選択信号の供給
を含む、改変Berlekamp-Massey畳み込み回路124Aの動作を順序化および時間調整
する。コントローラ120は、ステートマシーンまたはプログラマブルコンピュー
タなどの配線による回路であり得る。いずれの場合でも、コントローラ120が本
明細書にて述べる動作およびパラメータを統括するようにコントローラ120を設
計/プログラムする方法は当業者には既知である。
先ず、コントローラ120はn=0を設定し、フリップフロップ4017および4027
が
「1」に初期化されるようにMUX4247および4307に選択信号を供給する。コント
ローラ120は、フリップフロップ4016〜4010およびフリップフロップ4026〜4021
が「0」に初期化されるように、MUX4246〜4240およびMUX4306〜4300に選択信号
を供給する。コントローラ120はまた、反転されるmビット記号Bの入力ビット
Bkがライン104からフリップフロップ4007にクロックされ得るように、MUX4047
に選択信号を供給する。
初期化後、最初のmクロックサイクルの間、ビットBk(数列{Sn}の構成要
素So〜Sm-1)はフリップフロップ4007〜4000にシリアルにクロックされる。す
なわち、クロック0の間は、Berlekamp-Massey型(BK型)反復に対して、Bo
がフリップフロップ4007にクロックされる。Berlekamp-Massey型(BK型)反復
は、最終的にはフリップフロップ4017および4027を含む「スライス」の他の要素
を含み、次の(例えば、右側に隣接する)スライスのフリップフロップ4016およ
び4026の値を更新する。クロック1の間は、Boはフリップフロップ4006にシフ
トされ、B1は、2つのスライスを含むBk型反復のためにフリップフロップ4007
にクロックされる。既にロードされたBkSのシフトおよび別のBkSのクロック
インは、フリップフロップ4017〜4000がそれぞれビット値B7〜Boによりロード
されるまで続く。
最初のmクロックサイクルの後、コントローラ120は、フィードバック回路128
からのα倍フィードバック信号がMUX404を介してフリップフロップ4007に供給さ
れるように、MUX404への選択入力を変更する。MUX404へのこのような選択信号の
変更により、数列{Sn}の残り(すなわち、Sk、k>m−1)がBのα倍であ
ることが可能になる。つまり、反復mの間はSm=(αB)m-1が生成され、反復
m+1の間はSm+1=(α2B)m-1が生成され、反復m+2の間はSm+2=(α3B
)m-1が生成されるなどである。
フィードバック回路128の上述の動作は、数列{Sn}=Sj+k=(αkB)jの
前述の導出に関連して理解される。m回目のクロックサイクル後、jは一定に保
持され、kは後に続く各クロックのために増分される。
BK型反復は上述の方法で、(1)2m−2クロックサイクルが実行されるか
、または(2)m−1より長い長さが得られる(dn≠0の場合)まで続く。2
m
−2クロックサイクル前にm−1より長い長さが得られる場合は、コントローラ
120はBK型反復を停止し、残りの2m−2クロックの間、一連のクロック化シ
フトを行う。特に、コントローラ120は、値「0」がフリップフロップ4017にク
ロックされるように、MUX4247に選択信号を供給する。コントローラ120は、後に
続く各クロック化シフトのために、フリップフロップ4047〜4011からの値がそれ
ぞれフリップフロップ4016〜4010へと右側にシフトされるように、MUX4246〜4240
に選択信号を供給する。後に続く各クロック化シフトのために、フリップフロ
ップ4017に「0」がロードされる。
クロック化シフトの結果、適切な数のリーディングゼロが導入され、またフリ
ップフロップ401の値Aが右ビット位置が揃えられる。このような右揃えが起こ
る場合は(すべての場合とは限らない)、シフトの開始前に、左からシフトイン
される数と少なくとも同じ数のゼロが最右端のフリップフロップ401に存在する
場合である。従って、クロック化シフトは実質的にはゼロ充填動作を構成する。
2m−2クロックサイクルの終わりには、図5の反転回路212は、フリップフ
ロップ401に(第1基底表現における)値Aを有する。フリップフロップ401の各
々の1ビット値は(バス106の各リードを介して)α-t乗算器102に供給される。
α-t乗算器102の8ビットパラレル出力はバス108に出力され、求められた値B-1
を提供する。
図4Bの実施例の動作は、到達長さL≧m(dnがゼロでない場合)において図4
Aおよび図5に示した実施例とは異なる。m−1を超える長さ変更があると、フ
リップフロップ401のためのゼロ充填およびシフト動作を行う代わりに、フリッ
プフロップ401の値は(パラレルバス130を介して)8ビットシフトレジスタ132
にクロックされる。次に、残りのクロックの間(クロック2m−2まで)、シフ
トレジスタ132の最左端位置にゼロがロードされ、各ビットは右側にシフトされ
る(クロックサイクル毎に1ビット位置)。2m−2クロックの終わりには、シ
フトレジスタ132のmビット値は(バス106を介して)α-t乗算器102に供給され
る。
図4Cの実施例の動作は、主に、数列{Sn}の生成、および特にk≧mのとき
Skを生成することにおいて、図4Aおよび図5に示した実施例とは異なる。特に
、
最初のmクロックサイクルの間、フリップフロップ400にロードされるのとほと
んど同じ方法および同じ時間に、Bo,...B7がレジスタ142にシリアルにロ
ードされる。すなわち、クロック0の間に、Boはフリップフロップ4007とレジ
スタ142m-1の両方にロードされ、クロック1の間に、Boはフリップフロップ4006
とレジスタ142m-2にシフトされ、B1はフリップフロップ4007とレジスタ142m-1
の両方にロードされるなどである。次に、mクロックを実行した後、回路140か
ら改変Berlekamp-Massey畳み込み回路124Cへのαフィードバック値を乗算するこ
とによって、Bのα倍が得られる。従って、図4Cの実施例では、改変Berlekamp-
Massey畳み込み回路124Cはフィードバック回路を含まない。代わりに、フィード
バック回路140が個別に設けられる。
コントローラ120の実行について、pが必ずしも2ではない場合のGF(pm)
に対する一般的な場合について述べる以下の手順によってさらに述べる。
等式7の最後の等式により、上記の和が1であり、よってD(x)がdnで除
算されなければならないことが必要である。また、D(x)のための係数の順序
はAの成分の順序の反対である。従って、k=0,1,...,m−1に対して
Ak=Dm-1-k/dnであり、これはB-1αtのためのα表現である。
α表現からβ表現への変換は等式1に基づく。式1では、Bは、j=0,1,
...,m−1に対してajであるように設定される。トレース関数を評価する
ことにより、(αj)k、すなわち、a基底集合であるαの最初のm乗のβ表現の
成分を生成する。Akがα表現の要素の成分であり、Bkがβ表現の同じ要素の成
分であるとき、以下の式が得られる。
n番目の成分に対しては1をおよびその他に対しては0を有するβnにBを設
定することにより、反転変換がこの式から得られ得る。これは、k=0,1,.
..,m−1のときAk、すなわち、(βn)kによって示されるBnのa表現の成
分に対して解かれ得るm個の式を生成する。n=0,1,...,m−1に対し
てこれらを得ると、以下の式が得られる。
図4Aおよび図5に示す回路は8ビット記号、すなわち、体がGF(28)の場
合のものである。体生成多項式は、G(X)=X8+X4+X3+X2+1であるよ
うに選択される。αoはα-4であるように選択される。αtはα2であるように計
算される。バイナリの場合には、dmはいつでも1であり、最後のdnは1である
。従って、アルゴリズムの終わりにはAk=Dm-1-kである。コントローラ120の
動作は2つの変数、すなわちループカウントnおよび長さLに基づく。最初のク
ロックサイクルでは、nは0に設定され、BoはMUX404を介してフリップフロッ
プ4007にシフトされ、フリップフロップ4017および4027は1に設定され、残りの
401および402フリップフロップはそれぞれの入力MUXを介して0に設定される。
プロセスはさらに14回のクロックサイクルを要求する。各クロックでnが増分
される。また、n−L+1>L、n−L+1<8、およびdnが0でないとき、
Lはn−L+1に変更される。各クロックで、Lが変更されるとき、フリップフ
ロップ402はそれぞれの入力MUXを介してフリップフロップ401からロードされる
。Lが変更されないとき、フリップフロップ402は右側にシフトされ、4027へは
0がシフトされる。各クロックで、n−L+1<8のとき、401フリップフロッ
プへの入力MUXは、各401フリップフロップが、dnとANDされる対応する402フリ
ップフロップの内容を付加することによって更新されるように切り換えられる。
n−L+1>7のとき、フリップフロップ401は右側にシフトされ、4017へは0
がシフトされる。
8クロック後、Bはフリップフロップ400にシフトされている。残りの7クロ
ックに対しては、MUX404は、フリップフロップ4007がフィードバック信号を受け
取るように設定される。これにより、数列Skの残りの要素が生成され得る。
Bの逆元の完了後、図5に示すように、レジスタ401のバイトにα-2を掛ける
ことによって、図5のOUTビットが得られる。
上述の構成および動作の説明から、本発明は、m≠8およびt≠2であり、ま
た異なる体ジェネレータを有する実施態様を包含することが理解され得る。この
ような他の実施態様のために本明細書で述べた回路を改変する方法は、当業者で
あれば容易に理解され得る。例えば、特定のアプリケーションによれば、記号B
のビット数を変動させることは、フリップフロップ400、401、および402の数を
変動させることを必ずしも包含しない。本明細書に述べた指針により、異なる体
生成多項式のための適切なフィードバック回路(回路128など)、および異なる
tのための適切なα-t乗算器を構成する方法は当業者には既知である。
本発明を好適な実施態様に関連して特に図示および記述したが、本発明の精神
および範囲から離れることなく、形態および詳細において様々な変形がなされ得
ることは当業者であれば理解され得る。
Claims (1)
- 【特許請求の範囲】 排他的な特性または特権がクレームされる本発明の実施態様は、以下のように 定義される。 1.mビット記号Bの逆元を決定する反転回路であって、該記号Bはデュアル基 底表現で表され、該反転回路は、 該記号Bが供給され、mビット値Aに対応する電気信号を生成し格納する反復 畳み込み回路であって、該値Aは第1基底表現であり、該値Aに対する該電気信 号は、k<m−1のときAとαkBとの内積が0に等しくなるように該畳み込み 回路によって生成される、反復畳み込み回路と、 該畳み込み回路に接続され、該畳み込み回路に、Bで始まりBのα倍数をとる ことによって拡張される数列を用いて畳み込みを実行させるフィードバック回路 と、 該畳み込み回路に接続され、該値Aとα-tとの積に対応する電気出力信号を生 成する乗算器回路であって、αは体要素であり、tは整数であり、該乗算器回路 からの該電気出力信号は第1基底表現における該mビット記号Bの逆元を表す、 乗算器回路と を備えている反転回路。 2.前記畳み込み回路は、前記mビット値Aに対応する電気信号が格納されるメ モリを備え、前記反転回路は、該mビット値Aを揃える手段をさらに備えている 、請求項1に記載の反転回路。 3.前記mビット値Aを揃える手段は、前記畳み込み回路の前記メモリをシフト レジスタとして操作する、請求項2に記載の反転回路。 4.前記メモリはm個のレジスタを備え、前記mビット値Aを揃える手段は、該 m個のレジスタのそれぞれに対して関連するマルチプレクサを含み、複数のレジ スタに対して、該関連するマルチプレクサは、畳み込み入力とレジスタシフト入 力との間を選択するように作動する、請求項3に記載の反転回路。 5.前記畳み込み回路によって行われる畳み込みにおける所定のクロックサイク ルで、前記複数のレジスタに対して、前記関連するマルチプレクサは該レジスタ への入力を畳み込み入力からレジスタシフト入力へ切り換えるように作動する、 請求項4に記載の反復回路。 6.前記畳み込み回路は、多項式および現在の不一致値dnの係数を生成し、該 多項式の長さがm−1を超え、かつ、該現在の不一致値dnがゼロでない場合に 、前記所定のクロックサイクルが起こる、請求項5に記載の反転回路。 7.前記メモリがm個のレジスタを備え、また前記mビット値Aを揃える手段が 、該レジスタに接続されるシフトレジスタである、請求項2に記載の反転回路。 8.前記フィードバック回路の構成は、体生成多項式に依存する、請求項1に記 載の反転回路。 9.m=8である、請求項1に記載の反転回路。 10.入力されたmビット記号Bに対するmビット値Aを決定する回路であって 、該記号Bはデュアル基底表現で表され、該回路は、 該記号Bが供給され、該mビット値Aに対応する電気信号を生成する反復畳み 込み回路であって、該値Aは第1基底表現であり、該値Aに対する該電気信号は 、k<m−1のときAとαkBとの内積が0に等しくなるように該畳み込み回路 によって生成される、反復畳み込み回路と、 該畳み込み回路に接続され、該畳み込み回路に、Bで始まりBのα倍数をとる ことによって拡張される数列を用いて畳み込みを実行させるフィードバック回路 と、 該畳み込み回路によって生成される該値Aのビット位置を揃える手段と を備えている回路。 11.前記値Aのビット位置を揃える手段は、前記畳み込み回路のメモリをシフ トレジスタとして操作する、請求項10に記載の回路。 12.前記メモリはm個のレジスタを備え、前記値Aのビット位置を揃える手段 は、該m個のレジスタのそれぞれに対して関連するマルチプレクサを含み、複数 のレジスタに対して、該関連するマルチプレクサは、畳み込み入力とレジスタシ フト入力との間を選択するように作動する、請求項11に記載の回路。 13.前記畳み込み回路によって行われる畳み込みにおける所定のクロックサイ クルで、前記複数のレジスタのために、前記関連するマルチプレクサは、該レジ スタへの入力を、畳み込み入力からレジスタシフト入力に切り換えるように作動 する、請求項12に記載の回路。 14.前記畳み込み回路は、多項式および現在の不一致値dnの係数を生成し、 該多項式の長さがm−1を超え、かつ、該現在の不一致値dnがゼロでない場合 に、前記所定のクロックサイクルが起こる、請求項13に記載の回路。 15.前記メモリがm個のレジスタを備え、前記値Aのビット位置を揃える手段 が、前記メモリに接続されるシフトレジスタである、請求項11に記載の回路。 16.前記回路は、前記畳み込み回路に接続され、前記値Aとα-tとの積に対応 する電気出力信号を生成する乗算器回路をさらに備えており、αは体要素であり 、tは整数であり、該乗算器回路からの該電気出力信号は、第1基底表現におけ る前記mビット記号Bの逆元を表す、請求項10に記載の回路。 17.前記フィードバック回路の構成は、体生成多項式に依存する、請求項10 に記載の回路。 18.m=8である、請求項10に記載の回路。 19.入力されたmビット記号Bに対するmビット値Aを決定する回路であって 、該記号Bはデュアル基底表現で表され、該回路は、 該記号Bが供給され、該mビット値Aに対応する電気信号を生成し、畳み込み レジスタのバンクに格納する反復畳み込み回路であって、該値Aは第1基底表現 であり、該値Aに対する該電気信号は、k<m−1のときAとαkBとの内積が 0に等しくなるように該畳み込み回路によって生成される、反復畳み込み回路と 、 該畳み込み回路に接続され、該畳み込み回路に、Bで始まりBのα倍数をとる ことによって拡張される数列を用いて畳み込みを実行させるフィードバック回路 と、 該畳み込み回路の該畳み込みレジスタの該バンクをシフトレジスタに変換する 変換手段と を備えている回路。 20.前記メモリはm個のレジスタを備え、前記変換手段は、前記バンク内に含 まれる複数のレジスタに対して関連するマルチプレクサを含み、該複数のレジス タに対して、該関連するマルチプレクサは、畳み込み入力とレジスタシフト入力 との間を選択するように作動する、請求項19に記載の回路。 21.前記畳み込み回路によって行われる畳み込みにおける所定のクロックサイ クルで、前記複数のレジスタに対して、前記関連するマルチプレクサは、該レジ スタへの入力を畳み込み入力からレジスタシフト入力に切り換えるように作動す る、請求項20に記載の回路。 22.前記畳み込み回路は、多項式および現在の不一致値dnの係数を生成し、 該多項式の長さがm−1を超え、かつ、該現在の不一致値dnがゼロでない場合 に、前記所定のクロックサイクルが起こる、請求項21に記載の回路。 23.mビット記号Bの逆元を決定する方法であって、該記号Bはデュアル基底 表現で表され、該方法は、 該記号Bのビットに対応する電気信号を反復畳み込み回路に供給する工程と、 該畳み込み回路の反復を行ってmビット値Aに対応する電気信号を生成する工 程であって、該値Aは第1基底表現であり、該値Aに対する該電気信号は、k< m−1のときAとαkBとの内積が0に等しくなるように該畳み込み回路によっ て生成され、m回の反復より多い反復がBのα倍数を用いて行われる工程と、 該mビット値Aに対応する電気信号をメモリに格納する工程と、 該値Aとα-tとの積に対応する電気出力信号を生成する工程であって、αは体 要素であり、tは整数であり、該電気出力信号は該第1基底表現における該mビ ット記号Bの逆元を表す工程と を包含する方法。 24.前記メモリ内の前記mビット値Aを揃える工程をさらに包含する、請求項 23に記載の方法。 25.前記メモリは前記畳み込み回路の一部を形成し、前記mビット値Aを揃え る工程は、前記畳み込み回路の前記メモリのにおける前記値Aのビットをシフト する工程を包含する、請求項24に記載の方法。 26.前記メモリは複数のレジスタを備えており、前記方法は、複数の入力のう ちの1つを該複数のレジスタに多重伝送する工程をさらに包含し、該複数の入力 は、畳み込み入力およびレジスタシフト入力を含む、請求項25に記載の方法。 27.前記畳み込み回路によって行われる畳み込みにおける所定のクロックサイ クルで、前記レジスタシフト入力は前記複数のレジスタに多重伝送される、請求 項26に記載の方法。 28.前記畳み込み回路は、多項式および現在の不一致値dnの係数を生成し、 該多項式の長さがm−1を超え、かつ、該現在の不一致値dnがゼロでない場合 に、前記所定のクロックサイクルが起こる、請求項27に記載の方法。 29.前記mビット値Aを揃える工程は、該mビット値を前記メモリに接続され たシフトレジスタにロードする工程を包含する、請求項24に記載の方法。 30.m=8である、請求項23に記載の方法。 31.前記記号Bのビットに対応する前記電気信号は、前記反復畳み込み回路に シリアルに供給される、請求項23に記載の方法。 32.入力されたmビット記号Bに対するmビット値Aを決定する方法であって 、該記号Bはデュアル基底表現で表され、該方法は、 該記号Bのビットに対応する電気信号を反復畳み込み回路に供給する工程と、 該畳み込み回路の反復を行ってmビット値Aに対応する電気信号を生成する工 程であって、該値Aは第1基底表現であり、該値Aに対する該電気信号は、k< m−1のときAとαkBとの内積が0に等しくなるように該畳み込み回路によっ て生成され、m回の反復より多い反復がBのα倍数を用いて行われる工程と、 該mビット値Aに対応する電気信号をメモリに格納する工程と、 該畳み込み回路によって生成される該値Aのビット位置を揃える工程と を包含する方法。 33.前記メモリは前記畳み込み回路の一部を形成し、前記mビット値Aを揃え る工程は、前記畳み込み回路の前記メモリにおいて前記値Aのビットをシフトす る工程を包含する、請求項32に記載の方法。 34.前記メモリは複数のレジスタを備えており、前記方法は、複数の入力のう ちの1つを該複数のレジスタに多重伝送する工程をさらに包含し、該複数の入力 は、畳み込み入力およびレジスタシフト入力を含む、請求項33に記載の方法。 35.前記畳み込み回路によって行われる畳み込みにおける所定のクロックサイ クルで、前記レジスタシフト入力は前記複数のレジスタに多重伝送される、請求 項34に記載の方法。 36.前記畳み込み回路は、多項式および現在の不一致値dnの係数を生成し、 該多項式の長さがm−1を超え、かつ、該現在の不一致値dnがゼロでない場合 に、前記所定のクロックサイクルが起こる、請求項35に記載の方法。 37.前記mビット値Aを揃える工程は、前記mビット値を前記メモリに接続さ れたシフトレジスタにロードする工程を包含する、請求項32に記載の方法。 38.m=8である、請求項32に記載の方法。 39.前記記号Bのビットに対応する前記電気信号は、前記反復畳み込み回路に シリアルに供給される、請求項32に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14775893A | 1993-11-04 | 1993-11-04 | |
US147,758 | 1993-11-04 | ||
PCT/US1994/012137 WO1995012845A1 (en) | 1993-11-04 | 1994-10-18 | Finite field inversion |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09507110A true JPH09507110A (ja) | 1997-07-15 |
Family
ID=22522782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7513258A Ceased JPH09507110A (ja) | 1993-11-04 | 1994-10-18 | 有限体反転 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5467297A (ja) |
EP (1) | EP0727066A4 (ja) |
JP (1) | JPH09507110A (ja) |
SG (1) | SG50474A1 (ja) |
WO (1) | WO1995012845A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010513941A (ja) * | 2006-12-14 | 2010-04-30 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 効率的なデータ完全性保護 |
JP2012503829A (ja) * | 2008-09-23 | 2012-02-09 | クゥアルコム・インコーポレイテッド | リニアフィードバックシフト命令を実行するためのシステムおよび方法 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2723455B1 (fr) * | 1994-08-05 | 1996-10-31 | Sgs Thomson Microelectronics | Circuit d'inversion d'elements d'un corps de galois |
US6125469A (en) * | 1994-10-18 | 2000-09-26 | Cirrus Logic, Inc. | Error correction method and apparatus |
US5812438A (en) * | 1995-10-12 | 1998-09-22 | Adaptec, Inc. | Arithmetic logic unit and method for numerical computations in galois fields |
US5701314A (en) | 1995-12-21 | 1997-12-23 | Cirrus Logic, Inc. | On-the-fly error correction using thermal asperity erasure pointers from a sampled amplitude read channel in a magnetic disk drive |
EP0782070A1 (en) * | 1995-12-28 | 1997-07-02 | Daewoo Electronics Co., Ltd | Finite field inverter |
FR2754616B1 (fr) * | 1996-10-11 | 1998-12-04 | Sgs Thomson Microelectronics | Procede et circuit de division d'elements d'un corps de galois |
GB9707861D0 (en) | 1997-04-18 | 1997-06-04 | Certicom Corp | Arithmetic processor |
US6098192A (en) * | 1997-09-17 | 2000-08-01 | Cirrus Logic, Inc. | Cost reduced finite field processor for error correction in computer storage devices |
US6286022B1 (en) | 1997-11-18 | 2001-09-04 | Rsa Security Inc. | Efficient finite field basis conversion involving a dual basis |
US6009450A (en) * | 1997-12-24 | 1999-12-28 | Motorola, Inc. | Finite field inverse circuit |
US6044389A (en) * | 1997-12-29 | 2000-03-28 | Quantum Corporation | System for computing the multiplicative inverse of a field element for galois fields without using tables |
US6052704A (en) * | 1998-01-12 | 2000-04-18 | National Science Council | Exponentiation circuit and inverter based on power-sum circuit for finite field GF(2m) |
US5964826A (en) * | 1998-01-13 | 1999-10-12 | National Science Council | Division circuits based on power-sum circuit for finite field GF(2m) |
US6047395A (en) * | 1998-01-30 | 2000-04-04 | Cirrus Logic, Inc. | Error correction processor for correcting a multi-dimensional code by generating an erasure polynomial over one dimension for correcting multiple codewords in another dimension |
KR100304193B1 (ko) * | 1998-02-06 | 2001-11-22 | 윤종용 | 리드솔로몬복호기의역수구현회로 |
US6272659B1 (en) | 1998-05-18 | 2001-08-07 | Cirrus Logic, Inc. | Error correction code processor employing adjustable correction power for miscorrection minimization |
US6370671B1 (en) * | 1998-06-18 | 2002-04-09 | Globespan, Inc. | Configurable decoder and method for decoding a reed-solomon codeword |
US6199087B1 (en) * | 1998-06-25 | 2001-03-06 | Hewlett-Packard Company | Apparatus and method for efficient arithmetic in finite fields through alternative representation |
US6128760A (en) * | 1998-10-13 | 2000-10-03 | Lsi Logic Corporation | Method and apparatus for calculating a CRC remainder |
US7277540B1 (en) * | 1999-01-20 | 2007-10-02 | Kabushiki Kaisha Toshiba | Arithmetic method and apparatus and crypto processing apparatus for performing multiple types of cryptography |
US6662336B1 (en) * | 1999-07-06 | 2003-12-09 | Cirrus Logic, Inc. | Error correction method and apparatus |
IL135247A0 (en) * | 2000-03-23 | 2003-06-24 | Cipherit Ltd | Method and apparatus for the calculation of modular multiplicative inverses |
JP3659320B2 (ja) * | 2000-06-21 | 2005-06-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 乗算モジュール、乗法逆元演算回路、乗法逆元演算制御方式、該乗法逆元演算を用いる装置、暗号装置、誤り訂正復号器 |
US6742158B2 (en) * | 2001-05-30 | 2004-05-25 | Telefonaktiebolaget Lm Ericsson(Publ) | Low complexity convolutional decoder |
US7089276B2 (en) * | 2002-10-18 | 2006-08-08 | Lockheed Martin Corp. | Modular Galois-field subfield-power integrated inverter-multiplier circuit for Galois-field division over GF(256) |
US7167886B2 (en) * | 2003-05-06 | 2007-01-23 | Lsi Logic Corporation | Method for constructing logic circuits of small depth and complexity for operation of inversion in finite fields of characteristic 2 |
US7475329B2 (en) * | 2005-02-16 | 2009-01-06 | Hitachi Global Storage Technologies Netherlands B.V. | Techniques for performing Galois field logarithms for detecting error locations that require less storage space |
US8762818B1 (en) * | 2009-03-05 | 2014-06-24 | Marvell International Ltd. | System and methods for performing decoding error detection in a storage device |
JP5554357B2 (ja) * | 2012-03-15 | 2014-07-23 | 株式会社東芝 | 演算装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0096165B1 (en) * | 1982-06-15 | 1988-06-08 | Kabushiki Kaisha Toshiba | Apparatus for dividing the elements of a galois field |
US4994995A (en) * | 1990-03-14 | 1991-02-19 | International Business Machines Corporation | Bit-serial division method and apparatus |
-
1994
- 1994-10-18 WO PCT/US1994/012137 patent/WO1995012845A1/en not_active Application Discontinuation
- 1994-10-18 US US08/325,831 patent/US5467297A/en not_active Expired - Lifetime
- 1994-10-18 JP JP7513258A patent/JPH09507110A/ja not_active Ceased
- 1994-10-18 EP EP94931990A patent/EP0727066A4/en not_active Withdrawn
- 1994-10-18 SG SG1996002241A patent/SG50474A1/en unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010513941A (ja) * | 2006-12-14 | 2010-04-30 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 効率的なデータ完全性保護 |
JP2012503829A (ja) * | 2008-09-23 | 2012-02-09 | クゥアルコム・インコーポレイテッド | リニアフィードバックシフト命令を実行するためのシステムおよび方法 |
Also Published As
Publication number | Publication date |
---|---|
US5467297A (en) | 1995-11-14 |
EP0727066A1 (en) | 1996-08-21 |
WO1995012845A1 (en) | 1995-05-11 |
EP0727066A4 (en) | 1997-01-15 |
SG50474A1 (en) | 1998-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH09507110A (ja) | 有限体反転 | |
US5107503A (en) | High bandwidth reed-solomon encoding, decoding and error correcting circuit | |
US5446743A (en) | Coefficient updating method and apparatus for Reed-Solomon decoder | |
EP0066618B1 (en) | Bit serial encoder | |
US4649541A (en) | Reed-Solomon decoder | |
US4873688A (en) | High-speed real-time Reed-Solomon decoder | |
US5040179A (en) | High data rate BCH encoder | |
JP4978625B2 (ja) | 誤り訂正符号化方法及び装置 | |
US6571368B1 (en) | Systolic Reed-Solomon decoder | |
US4797848A (en) | Pipelined bit-serial Galois Field multiplier | |
US6467063B1 (en) | Reed Solomon coding apparatus and Reed Solomon coding method | |
US9218158B2 (en) | N-valued shift registers with inverter reduced feedback logic functions | |
JPH07202715A (ja) | 時間定義域代数エンコーダ/デコーダ | |
US20050166122A1 (en) | System and method for generating cyclic codes for error control in digital communications | |
US7865806B2 (en) | Methods and apparatus in finite field polynomial implementations | |
JP3834122B2 (ja) | 誤り位置検出多項式計算装置 | |
US5471485A (en) | Reed-solomon decoder using discrete time delay in power sum computation | |
KR100322739B1 (ko) | 유한체연산방법및그장치 | |
JPH09505952A (ja) | プログラム可能な冗長/シンドローム生成装置 | |
KR19990026630A (ko) | 리드-솔로몬 복호기와 그 복호방법 | |
US5471486A (en) | Methods and devices for encoding data symbols in accordance with a BCH code to obtain a code word in which parity symbols are located in the middle of the code word | |
EP0584864B1 (en) | A hardware-efficient method and device for encoding BCH codes and in particular Reed-Solomon codes | |
EP0793352B1 (en) | Apparatus for determining the error evaluator polynomial for use in a Reed-Solomon decoder | |
Truong et al. | The VLSI Design of a Reed-Solomon Encoder Using Berlekamp’s Bit-Serial Multiplier Algorithm | |
Fenn et al. | The design of Reed-Solomon codecs over the, dual basis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040413 |
|
A313 | Final decision of rejection without a dissenting response from the applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A313 Effective date: 20040830 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20041005 |