JPH07202715A - 時間定義域代数エンコーダ/デコーダ - Google Patents

時間定義域代数エンコーダ/デコーダ

Info

Publication number
JPH07202715A
JPH07202715A JP6246597A JP24659794A JPH07202715A JP H07202715 A JPH07202715 A JP H07202715A JP 6246597 A JP6246597 A JP 6246597A JP 24659794 A JP24659794 A JP 24659794A JP H07202715 A JPH07202715 A JP H07202715A
Authority
JP
Japan
Prior art keywords
vector
component
syndrome
errata
deletion
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.)
Pending
Application number
JP6246597A
Other languages
English (en)
Inventor
Gregory L Mayhew
グレゴリー・エル・メイヒュー
Henry E Huey
ヘンリー・イー・ヒューイ
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.)
Raytheon Co
Original Assignee
Hughes Aircraft Co
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 Hughes Aircraft Co filed Critical Hughes Aircraft Co
Publication of JPH07202715A publication Critical patent/JPH07202715A/ja
Pending 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

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)【要約】 【目的】本発明は、復号時間を大幅に短縮し、かつ全体
の複雑性を大幅に軽減する、効率的なBCHエンコーダ
/デコーダを提供することを目的とする。 【構成】交代式コード族を符号化および復号化する装置
は、3つの並列特殊目的ガロア体プロセッサ130、1
40、150とタイミング/制御ユニット160を含
む。これら特殊目的プロセッサは、タイミング/制御ユ
ニットから比較的独立して動作し、時間定義域アルゴリ
ズムを共同で処理する。それらのプロセッサは、時間定
義域アルゴリズムの各ステップが1つ以上のプロセッサ
により処理されるように、調整されている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、交代式(Alternant )
コード族の符号化と復号化に関する。交代式コード族に
は、ゴッパ(Goppa )、Strivastava 、Bose-Chaudhuri
-Hocquenghem(BCH) 、およびリードソロモン(Reed-Sol
omon)類のコードが含まれる。本発明は、特にBCHや
リードソロモン・コードのような、交代式族の線形、循
環、エラー補正コードを時間定義域符号化、および復号
化する技術に関する。
【0002】
【従来の技術】通信路を介して情報を送信すると、受信
される信号には一般的に、原情報と歪とが含まれてい
る。そのような歪があると、受信信号の情報内容が失わ
れることがあり、従って、受信信号にエラーが発生する
ことになる。エラーの無い通信を目指して、長年にわた
って、様々な技術が開発されている。
【0003】エラーの無い通信確率を高めるためのアプ
ローチとして、エラーを検出し、程度に応じて、検出さ
れたエラーの幾つか、あるいは全てを補正する符号化技
術がある。そのような符号化技術では、一般的に、送信
されるデータに基づいた冗長情報を含むことが必要にな
る。一般的に、符号化では、データに演算を施して、デ
ータ情報と冗長情報とを含むコード・ワードを生成す
る。
【0004】符号化および復号化技術が、族内の全ての
コードではなく、族内の1つのコードのみに適用される
ことがよくある。しかし、交代式コード族では、もとも
とはBCHコード用にのみ開発されたデコーダ技術によ
り、交代式族内のその他のコード類も復号できる。従っ
て、以下の説明は、BCHコードに的を絞って行うが、
これは交代式コード族の全ての構成要素に当てはまる。
【0005】BCHコードを復号化するため周知のアプ
ローチが、E.R.Berlekamp による「エラー補正コードの
技術」、558頁、IEEE会報、68巻、5号、1980
年5月、に開示されている。そこに開示されているの
は、特殊目的マイクロプログラム可能ガロア体コンピュ
ータである。このコンピュータは、一般的に、アドレッ
シング/制御ユニット、マイクロコード・メモリ・ユニ
ット、および算術演算ユニットを含んでいる。
【0006】Berlekamp に1979年7月24日に付与
された米国特許第4,162,480 には、特殊目的ガロア体コ
ンピュータが開示されている。このコンピュータは、ア
ドレス・ジェネレータ、制御ユニット、および算術演算
ユニットを含んでいる。
【0007】Marverその他に1981年2月17日に付
与された米国特許第4,251,875 には、2進論理装置を用
いてガロア乗算を実行する方法が開示されている。
【0008】Riggleその他に1983年11月1日に付
与された米国特許第4,413,339 には、複数のエラーを検
出し補正し、かつリードソロモン・コードを利用するシ
ステムが開示されている。
【0009】従来のBCHデコーダは、周波数定義域復
号化、時間定義域復号化、または両者を組み合わせたも
のを利用していた。周波数定義域アルゴリズムは、R.E.
Blahutによる論文「エラー制御コードのための変換技
術」、IBM研究開発ジャーナル、229〜315頁、
23巻、3号、1979年5月、に説明されている。時
間定義域アルゴリズムが、R.E.Blahutによる論文「変換
のない変換復号化」第10回年次IEEE通信理論ワー
クショップ、1980年4月27〜30日、に開示され
ている。
【0010】従来のBCHデコーダは、複雑かつ非効率
なため、膨大で、かつ、時間のかかる計算を必要とす
る。たとえば、第1ステップでは、受信されたデータを
シンドロームまたは周波数定義域データへ線形変換す
る。第2ステップでは、削除ロケータ多項式の計算をす
る。ここで、削除は、既知ロケーションと未知量のエラ
ーと定義される。第3ステップでは、前もって計算した
シンドロームと削除多項式を用いて、エラータ(err
ata)(エラーと削除)ロケータ多項式を計算する。
エラータ多項式の根は、エラーの位置を特定し、これら
の根を用いて、1組の線形方程式を解き、エラー値を求
める。
【0011】
【発明が解決しようとする課題】上記した従来の復号ア
ルゴリズムが、BCHコードの代数特性を活用しようと
する一方で、上記ステップは、ある種の効率的な復号ア
ーキテクチャを実現するために、方程式を解き、大規模
なプログラミングを必要としている。一般的に、従来の
デコーダは、限定された並列処理能力を備えた、従っ
て、効率が限られたプログラム可能プロセッサ・アーキ
テクチャを使用している。
【0012】従来のデコーダは一般的に、単一アーキテ
クチャ内では、代数コードで利用できる主な理論オプシ
ョンを3つ取り扱うことできない。従来のデコーダは一
般的に、同一計装内では、可変コード長と可変情報速度
とを実現できない。また、従来のデコーダは一般的に、
交代式族内のすべてのコードのような種々のコードを取
り扱うことができない。さらに、従来のデコーダは一般
的に、様々なガロア体算術演算構造にわたって、コード
を取り扱うことができない。
【0013】従って、本発明の目的は、復号時間を大幅
に短縮し、かつ全体の複雑性を大幅に軽減する、効率的
なBCHエンコーダ/デコーダを提供することを目的と
する。
【0014】本発明の他の目的は、時間定義域復号アル
ゴリズムにおける3つの主要ステップのための3つの並
列プロセッサを用いる、改良型BCHデコーダを提供す
ることである。
【0015】本発明の他の目的は、制御を最小にし、最
高の速度で動作する並列プロセッサを含む、改良型BC
Hデコーダを提供することである。
【0016】本発明の他の目的は、受信されたデータに
直接、時間定義域復号化アルゴリズムを実行する、改良
型BCHデコーダを提供することである。
【0017】本発明の他の目的は、同一のアーキテクチ
ャ構造内で、コードワード長nと情報記号の数kの種々
の値に関して演算できる、BCHエンコーダ/デコーダ
を提供することである。
【0018】本発明の他の目的は、種々のガロア体算術
演算構造に関してコードをわたって取り扱うことができ
る、単一エンコーダ/デコーダ・アーキテクチャを提供
することである。
【0019】本発明の他の目的は、高率のデータ・スル
ープットを実現しつつ、交代式族のコードの内の他のコ
ードだけではなく、BCHも取り扱うことができる、単
一エンコーダ/デコーダ・アーキテクチャを提供するこ
とである。
【0020】
【課題を解決するための手段】本発明は、3個の並列特
殊目的ガロア体プロセッサを有する演算ユニットとタイ
ミング制御ユニットを有する時間定義域BCHデコーダ
で実現される単一エンコーダ/デコーダ・アーキテクチ
ャを提供する。
【0021】本発明は、n個の記号を有し、既知ロケー
ションのe個の削除を含むことになっており、e個の削
除が行われたものとすると、t個のエラーを補正できる
既知コード・ジェネレータ多項式に基づく、受信された
データ・ベクトルを復号化する方法であって、反復j=
eで、削除ベクトルを与えるように、反復j=0〜j=
eに関し、受信されたデータ・ベクトルの時間定義域シ
ンドローム・ベクトルの中間成分と削除ベクトルの中間
成分とを反復的に計算するステップと、反復j=2tで
時間定義域シンドローム・ベクトルとエラータ・ロケー
タ・ベクトルを与えるように、反復j=e〜j=2tに
関し、中間時間定義域シンドローム・ベクトル成分の反
復計算を続け、そうして、削除ベクトルからエラータ・
ロケータ・ベクトルの中間成分を概算するステップと、
反復j=nで、拡張シンドローム・ベクトルを与えるよ
うに、反復j=2t+1〜j=nに関し、時間定義域シ
ンドローム・ベクトルから拡張時間定義域シンドローム
・ベクトルの中間成分を反復的に計算するステップと、
拡張シンドローム・ベクトルを受信されたデータ・ベク
トルに加えて、補正された受信データ・ベクトルを与え
るステップとからなる前記受信されたデータ・ベクトル
を復号化する方法を提供する。
【0022】
【作用】期間1において、エンコーダ/デコーダに受信
されたデータがロードされるやいなや、第1プロセッサ
は、時間定義域シンドローム成分(または記号)を計算
し、その一方で、第2および第3プロセッサは、時間定
義域削除ベクトル成分を構成する。これらのステップ
は、j=e回の反復に関して、実行される。ここで、e
は、受信器の前の処理中に宣言された削除の数である。
【0023】期間2において、第1プロセッサは、時間
定義域シンドローム成分の計算を続行する。各新しい成
分は、Berlekamp Masseyアルゴリズムに用いられ、時間
定義域エラータ(エラーと削除)ベクトルの概算を更新
する。第2および第3プロセッサは、時間定義域Berlek
amp Masseyアルゴリズムに含まれる計算を実行する。こ
れらの処理は、e回の削除が発生したものとして、j=
(e+1)〜j=2tに関して継続される。ここで、t
は、補正することのできるエラーの数である。
【0024】期間3において、受信されたデータRが、
外部バッファに記憶されていない場合は、第3プロセッ
サ150は、反復j=(2t+1)のシンドローム・ベ
クトルSから受信されたデータ・ベクトルを再構成す
る。第1および第2プロセッサは、時間定義域シンドロ
ーム・ベクトルを拡張するが、これは反復j=(2t+
1)〜j=nに関して行われる。反復j=nにおいて、
第1プロセッサは、エラー・ベクトルを含み、受信した
データからエラー・ベクトルを引くことにより、補正を
行う。その結果得られるベクトルが、補正されたデータ
である。
【0025】
【実施例】特殊目的プロセッサは共同して、タイミング
制御ユニットから比較的独立して、時間定義域アルゴリ
ズムを処理し、時間定義域の各主要ステップが、1つま
たは1つ以上のプロセッサで処理されるように、各プロ
セッサが調整されている。
【0026】以下の詳細な説明および複数の図面におい
て、同様の要素には、同様の参照番号を用いる。
【0027】以下の説明は、BCH族のコードを一層複
雑に表したリードソロモン・コードについて行う。従っ
て、リードソロモン・コードの特性について簡単に説明
する。
【0028】リードソロモン・コードは、BCH族のコ
ードの部分族であり、BCHコードと同じ関係とアルゴ
リズムを用いて、符号化と復号化がなされる。そこで、
リードソロモン・コードの特性を以下に示す。
【0029】周知のように、リードソロモン・コード
は、非2進コード(すなわち、2進記号に制限されな
い)であり、その代数構造は、q要素からなり、GF
(q)で示される有限ガロア体(Galois Field)に基づ
いている。qの値は、一般的に、素数の累乗、すなわち
q=p、で示される。ただし、mは、ガロア体要素の
ベクトル表現における数字の数である。以下の説明にお
いて、pの値として、2が用いられ、これは2進ガロア
有限体GF(2)である。体の各要素は、非2進記号
であり、これはmビットを有する2進ビット・ベクトル
により表される。従って、ガロア体記号は、0〜2
1の2の整数すべてが2進mビットで表現される。こ
れらの2進mビット・ベクトルは、リードソロモン・コ
ードの記号を表す非2進記号である。
【0030】また、周知のように、ガロア体を用いる
と、代表記号の代数操作(algebtaic manipulation)を
可能とする様々な記号表現ができる。特定のガロア体の
各記号の種々の表示は、そのガロア体を形成するために
用いられた原始既約多項式(primitive irreducible po
lynomials )の使用に基づく。たとえば、原始多項式x
+x+1=0は、以下の表Iに示すように、GF
(2)を生成する。ただし、“a”は原始根である。
多項式表現は、ベクトル表現に沿って行われ、“a”の
累乗は、どのビットがベクトル表現に設定されるかを示
すことが分かる。表Iの左の欄は、各元が“a”の累乗
である体の非零要素の指数または累乗表現を示す。以下
の説明で主に用いられるのは、指数表現である。
【0031】 表I 累乗表現 多項式表現 ベルトル表現 0 0 (0000) a 1 (0001) a (0010) a (0100) a (1000) a+1 (0011) a+a (0110) a+a (1100) a+ a+1 (1011) a +1 (0101) a+ a (1010) a10+a+1 (0111) a11+a+a (1110) a12+a+a+1 (1111) a13+a +1 (1101) a14 +1 (1001) a15 1 (0001) このような様々な表現により、ガロア体演算を簡単に実
行できる。加算と減算は、ビット・ベクトルに1ビット
ずつ排他的論理和演算を行うのと同一である。乗算は、
被乗数の指数を加算し、モジュロq−1で換算すること
により実行する。割算は、同様に、被除数指数から除数
指数を減じることにより実行する。従って、ガロア体加
算器は、加算されるベクトルの対応するビットを入力と
して取り込むmビット排他的論理和ゲートで、一般的に
実現される。その結果得られるベクトルのビットが、排
他的論理和ゲートの出力となる。ガロア体乗算は、検索
表を用いて行っても良い。入力は表に対するアドレスで
あり、ベクトルまたは累乗形式で表現できる。乗数検索
表出力は、通常、ベクトル形式である。
【0032】リードソロモン・コードワードの成分また
は記号のそれぞれは、体生成原始多項式(field genera
ting primitive polynomial )により定義される、選択
されたガロア有限体内の1つの記号により表される。こ
の体生成多項式は、特定のリードソロモン・コードを生
成するために用いられるコード・ジェネレータ多項式G
(X)とは異なる。
【0033】周知のように、リードソロモン・コードは
長さnのブロックを持つ(n,k)系統ブロック・コー
ドであり、各ブロックは、k個のメッセージ記号とk個
のメッセージ記号に付け加えられたn−k個のパリティ
記号を含む。メッセージ記号の順序は、数列からなる。
パリティ記号は、予め決められた代数の規則を上記メッ
セージ記号に適用することにより、選択される。受信器
は、メッセージ記号の完全性を調べるために、受信した
データに上記予め決められた代数規則の逆関数を適用す
る。パリティ記号の順序は、数列からなる。メッセージ
記号とパリティ記号の組み合わせは、送信のために符号
化されるが、これはコードワードからなる。
【0034】さらに、周知のように、メッセージ列、パ
リティ列、およびコードワード列は、ベクトル(非2進
記号)として、または、多項式(非2進係数)として適
切に表現されている。多項式はさらに利用されて、線形
的で、かつ循環するリード・ソロモン・コードの特性を
表す。リードソロモン・コードは線形コードであるの
で、各コードワードは、k個の基底ベクトルの和とな
る。新しいコードは、基底ベクトルの別集合(differen
t set of basis vectors)の仕様に従って、生じる。リ
ード・ソロモン・コードは、特定のコードの場合、基底
ベクトルは、互いに循環移動する点で、循環的である。
従って、G(X)で表される1つのジェネレータ多項式
が、k個の基底ベクトルを決定し、そのようなk個の基
底ベクトルの可能な組み合わせすべてが、コードを決定
する。
【0035】その結果、符号化処理は、適切なフィード
バック・パスを有するシフト・レジスタ構成に、ジェネ
レータ多項式のみを記憶すればよいので、比較的簡単で
ある。シフト・レジスタの動作は本来的に、k個の基底
ベクトルに対して必要な循環移動をすべて行う。パリテ
ィ・チェック多項式H(X)=(x−1)/G(X)
も、同様のシフト・レジスタ構成を用いて、コードを生
成できる。これも、よく知られている。
【0036】リードソロモン・コードの循環する性質
は、復号化処理において有用であるが、エラーの可能性
を考慮に入れなければならないので、符号化処理より複
雑である。ここに開示する本発明は、従来技術と比べ
て、復号化処理に格段の改善を行っている。
【0037】開示された復号化装置は、受信したデータ
を処理する。このデータに関しては、削除とそれらのロ
ケーション、即ち削除位置が周知技術に従って、前の受
信器の処理によりすでに決まっている。
【0038】図1のブロック図において、エンコーダ/
デコーダ110は、ガロア体演算ユニット(AU)12
0と、ガロア体演算ユニット(AU)120の動作を制
御するためのタイミング/制御ユニット(TCU)16
0を含む。ガロア体演算ユニット(AU)120は、3
つのガロア・プロセッサ130,140,150を含
む。
【0039】図2において、全体的な復号動作には、機
能ブロック111に示されるような時間定義域シンドロ
ーム・ベクトルの計算と、機能ブロック113に示され
るような時間定義域削除多項式の計算とが含まれる。機
能ブロック115は、周知のBerlekamp-Masseyアルゴリ
ズムの時間定義域バージョンを介して、時間定義域エラ
ータ(エラーと削除)の計算を識別する。Berlekamp-Ma
sseyアルゴリズムの周波数定義域バージョンは、E.R.Be
rlekamp による「非線形BCH復号化」、IEEE通信
情報理論、IT14,242頁、1968年と、J.L.Ma
sseyによる「シフト・レジスタ合成とBCH復号化」I
EEE通信情報理論、IT15,1番、122〜127
頁、1969年1月とに、説明されている。機能ブロッ
ク117は、シンドローム・ベクトルの時間における拡
張と受信されたデータ・ベクトルの再構成を識別する。
【0040】エンコーダ/デコーダ110の所定の復号
化の側面を以下に説明するに当たって、以下の記号が次
のように定義されて用いられている。
【0041】S:i=0〜i=n−1に関し、成分s
を有する時間定義域シンドローム・ベクトルを表す。
【0042】R:i=0〜i=n−1に関し、成分r
を有する受信されたデータ・ベクトルを表す。
【0043】V:i=0〜i=n−1に関し、成分v
を有するベクトルを表し、これを用いて、削除ベクトル
と時間定義域エラータ(エラーと削除)ロケータ・ベク
トルを計算し記憶する。
【0044】B:i=0〜i=n−1に関し、成分b
を有する一時記憶ベクトルを表し、更新ベクトルとして
用いられる。
【0045】C:i=0〜i=n−1に関し、成分c
を有するオリジナルメッセージ・コードワード・ベクト
ルを表す。
【0046】j:j=0〜j=nに関し、主要な反復数
と範囲とを表す。
【0047】e:復号化の前に宣言される削除の数を表
す。
【0048】L:実際に発生したエラーの数を表す。
【0049】t:e個の削除が発生したと仮定して、コ
ードが補正できるエラーの数を表す。
【0050】D:コードワード間の最小距離を表し、D
が(2t+e+1)より大きいか、または等しいと仮定
して、補正可能なt個のエラーとe個の削除の数を決定
する。
【0051】d:時間定義域不一致定数を表す。
【0052】m:プロセッサ130,140,150に
おけるデータ構成要素のビット幅を表す。
【0053】Z:受信器における前の処理で決定され
た受信されたデータ・ベクトルのe個の削除の中の1つ
のロケーションを表す。
【0054】エンコーダ/デコーダ110で実行された
復号化アルゴリズムの異なる部分で、異なる数の反復を
実施することが必要とされる。復号化タスクは、できる
限り同じくなるように、3つのガロア体プロセッサ13
0,140,150に分散され、プロセッサ130,1
40,150にタスクを関連づける様子は、図3に説明
してある。図3のタスク/プロセッサの関係は、デコー
ダ・アルゴリズムに厳密に対応しているので、最大のプ
ロセッサ効率が得られる。タスクの割当は、3つの主要
な処理期間に分割される。
【0055】期間1 エンコーダ/デコーダ110に受信されたデータがロー
ドされるやいなや、プロセッサ130は、時間定義域シ
ンドローム成分(または記号)を計算し、その一方で、
プロセッサ140と150は、時間定義域削除ベクトル
成分を構成する。これらのステップは、j=e回の反復
に関して、実行される。ここで、eは、受信器の前の処
理中に宣言された削除の数である。
【0056】期間2 プロセッサ130は、時間定義域シンドローム成分の計
算を続行する。各新しい成分は、Berlekamp Masseyアル
ゴリズムに用いられ、時間定義域エラータ(エラーと削
除)ベクトルの概算を更新する。プロセッサ140、1
50は、時間定義域Berlekamp Masseyアルゴリズムに含
まれる計算を実行する。これらの処理は、e回の削除が
発生したものとして、j=(e+1)〜j=2tに関し
て継続される。ここで、tは、補正することのできるエ
ラーの数である。
【0057】期間3 受信されたデータRが、外部バッファに記憶されていな
い場合は、プロセッサ150は、反復j=(2t+1)
のシンドローム・ベクトルSから受信されたデータ・ベ
クトルを再構成する。プロセッサ130、140は、時
間定義域シンドローム・ベクトルを拡張するが、これは
反復j=(2t+1)〜j=nに関して行われる。反復
j=nにおいて、プロセッサ130は、エラー・ベクト
ルを含み、受信したデータからエラー・ベクトルを引く
ことにより、補正を行う。その結果得られるベクトル
が、補正されたデータである。
【0058】図4のフローチャートは、図1のエンコー
ダ/デコーダ110により実行されるアルゴリズムを示
している。機能ブロック301に従って、時間定義域シ
ンドローム・ベクトルSの成分は、受信されたベクトル
Rの成分と等しくなるように初期化され、ベクトルVの
成分は、すべて1に初期化され(すなわち、各成分は根
=1に設定される)、一時記憶ベクトルBの成分
は、すべて1に初期化され(すなわち、各成分は根a
=1に設定される)、エラーの数Lは0に設定され、そ
うして、反復数jは0に設定される。
【0059】機能ブロック302に従って、j番目の反
復に関するシンドロームの成分は、シンドローム・ベク
トルSのn個の成分sのそれぞれについて計算され
る。すなわち、シンドローム・ベクトルSのi番目の成
分は、ガロア体GF(2)の対応する根aによりス
ケール化される(掛けられる)。反復数jは、機能ブロ
ック303に従って増加する。決定ブロック304は、
処理フローをjの値の関数として決定する。反復数j
が、宣言された削除数eより大きくない場合、処理は機
能ブロック305で続けられる。
【0060】機能ブロック305に従って、削除ベクト
ルの計算のj番目の反復が行われる。すなわち、ベクト
ルVのn個の要素のそれぞれがj番目の反復に関して、
次のように計算される。
【0061】 v (j)=v (j+1)+z−i (j−1) …(1) ここで、括弧に入った上付き記号は、反復標識であり、
括弧のない上付き記号は指数である。その結果得られる
ベクトルVは、更新ベクトルBにコピーされる。
【0062】機能ブロック305の処理が終了した後、
処理は、上記した機能ブロック302に従って続行され
る。このように、反復j=0〜j=eに関して、削除ベ
クトル成分が計算され、シンドローム・ベクトル成分を
計算するための第1の反復が実行される。その結果得ら
れる削除ベクトル成分は、更新ベクトルBに記憶され、
その結果、更新ベクトルBは、反復j=e+1から始ま
るBerkekamp Masseyアルゴリズムで使用できるように、
正しく初期化される。
【0063】反復j=0〜j=eに関する処理は、図3
ですでに説明した期間1に対応する。
【0064】機能ブロック306に従って、反復jの不
一致値dj は、予め計算された削除ベクトル成分とシン
ドローム・ベクトル成分に基づいて、計算される。
【0065】
【数1】 そうして、処理フローは、反復数jの値の関数として、
決定ブロック307により制御される。反復数jの値が
2tより小さいか、または等しい場合、処理は、機能ブ
ロック306で続行される。
【0066】機能ブロック308に従って、エラータ・
ロケータ・ベクトルのn個の成分は、Berlekamp Massey
アルゴリズムに基づいて概算され、その係数は、ベクト
ルVに記憶される。
【0067】 v (j)=v (j−1)+d−i (j−1) …(3) そうして、機能ブロック309は、不一致値djの関数
として処理フローを決定するとともに、その反復jに関
して発見されたエラーの累積数Lを決定する。不一致値
djは、零ではなく、かつ2Lの値は、j−1−eより
小さいか、または等しい場合、処理は機能ブロック31
0で続行される。それ以外は、処理は、機能ブロック3
11で継続される。
【0068】機能ブロック310に従って、一時記憶ベ
クトルBとエラー数Lは次のように更新される。
【0069】 b (j)=d −1 (j−1) …(4) L=j−L−e …(5) 機能ブロック311に従って、一時記憶ベクトルBとエ
ラー数Lは次のように更新される。
【0070】 b (j)=a−1 (j−1) …(6) L=L …(7) 機能ブロック310、311いずれかに基づいて処理を
行った後、処理は機能ブロック302へ戻る。このよう
に、反復j=(e+1)〜j=(2t)に関し、シンド
ローム・ベクトル成分の計算が続けられ、エラータ・ロ
ケータ成分は、Berlekamp Masseyアルゴリズムに従って
計算される。
【0071】反復数jが、2tより大きい場合、処理は
機能ブロック312,313,314,315,31
6,317,318,319に従って実行される。機能
ブロック312に従って、拡張シンドロームは、次のよ
うに計算される。
【0072】 s (j)=s (j−1)−d …(8) 決定ブロック313は、反復数jがnと等しくならない
限り、処理が機能ブロック302に戻るように制御す
る。
【0073】反復数jがnと等しい場合、処理は決定ブ
ロック314に分岐し、このブロックで、量(2L+
e)が、最小距離Dより大きいか、または等しいかが決
定される。仮にこの条件が満たされた場合、機能ブロッ
ク315により示されるように、復号化は失敗してい
る。機能ブロック314の条件が満たされない場合、復
号化は失敗せず、処理は機能ブロック316で続けられ
る。完全に変換されたエラータ・ベクトルが、ベクトル
S内にあり、補正されたコードワードのn個の成分は、
機能ブロック316に従って得られる。
【0074】 c=r+s …(9) 受信されたコードワードRが、外部記憶レジスタに格納
されている場合、それを機能ブロック316に利用して
もよい。また、受信されたベクトルRを、決定ブロック
317と機能ブロック318に従って、反復j=2t+
1で再構成してもよい。決定ブロック317は、反復数
jが2t+1に等しいかどうか決定し、もし等しい場合
は、機能ブロック318に従って、処理を行う。機能ブ
ロック318は、受信したベクトルを再構成し、それを
次のようにベクトに格納する。
【0075】 v=a−1[2t+1] (2t+1) …(10) v=a−K (2t+1) 但し、K=i[2t+1] …(11) 図5は、図1のエンコーダ/デコーダの算術演算ユニッ
ト120のプロセッサ130,140,150のブロッ
ク図である。
【0076】プロセッサ130は、4入力マルチプレク
サ202を含む。このマルチプレクサは、その出力をガ
ロア体乗算器204の入力として供給する。ガロア体乗
算器204への他の入力は、AND回路203により与
えられる。このAND回路は、計数iとエンコード/デ
コード信号に反応する。エンコード/デコード信号は、
復号化の場合はハイとなり、これに基づいて、AND回
路203は、計数iを乗算器204に接続する。符号化
の場合は、エンコード/デコード信号はローとなり、こ
れに従って、AND回路への入力はローまたは零信号と
なる。計数i入力は、体GF(2)の要素である。プ
ロセッサ130は、n個の成分を有するn×mSレジス
タ206をさらに含む。各成分はmビットの幅を有す
る。Sレジスタ206は、図4のフローチャートを用い
て説明したベクトルSの値を記憶している。
【0077】Sレジスタ206の出力は、マルチプレク
サ202の位置1入力とガロア体加算器208に供給さ
れる。ガロア体加算器208への他の入力は、不一致値
(復号化用)またはパリティ記号Cn−k−j(符
号化用)である。これらは、後に述べるプロセッサ14
0により供給される。不一致値d(復号化用)または
パリティ記号Cn−k−jは、さらにマルチプレクサ2
02の位置2入力に供給される。受信されたデータ・ベ
クトルRは、入力をマルチプレクサ202の位置3入力
に供給する。ガロア加算器208の出力は、マルチプレ
クサ202の位置4入力に接続される。
【0078】プロセッサ140は、符号化回路210を
含む。この回路は、後に説明する符号化処理に用いられ
る。手短に言えば、符号化回路210は、計数iに応答
して、パリティ・ベクトル成分hを出力する。符号化
回路210の出力は、2入力マルチプレクサ212の位
置2入力に接続される。マルチプレクサ212の位置1
の入力は、プロセッサ150により供給されるベクトル
Vの成分により供給される。
【0079】2入力マルチプレクサ212の出力は、n
×mVレジスタ214に接続される。Vレジスタ214
の出力は、1×mリクロッキング・レジスタ216に接
続される。このレジスタは、その出力がガロア体乗算器
220の入力として接続されている。ガロア体乗算器2
20の他の入力は、1×mリクロッキング・レジスタ2
18の出力によって供給される。レジスタ218は、プ
ロセッサ130のガロア体乗算器204から入力を受け
取る。乗算器220の出力は、ガロア体加算器222へ
の入力として供給される。この加算器は、1×mレジス
タ224から別の入力を受け取る。加算器222の出力
は、レジスタ224に入力を供給し、さらに入力を1×
mレジスタ226に供給する。レジスタ226の出力
は、復号化処理のための不一致値dである一方で、そ
の出力は、符号化処理のためのパリティ記号C
n−k−jである。
【0080】第3のガロア体プロセッサ150は、3入
力マルチプレクサ228を含む。このマルチプレクサ
は、その位置1入力がVレジスタ214の出力に接続さ
れている。マルチプレクサ228と3入力マルチプレク
サ230は、入力をガロア体ディバイダ232に供給す
る。ディバイダ232の出力は、4入力マルチプレクサ
234の位置2入力に供給される。マルチプレクサ23
4の位置3入力は、プロセッサ130のマルチプレクサ
202の出力によって供給される。マルチプレクサ23
4の出力は、n×mBレジスタ236に供給される。B
レジスタ236の出力は、ガロア体乗算器238へ入力
として供給される。このマルチプレクサは、次にその出
力をガロア体加算器240に供給する。ガロア体加算器
240への他の入力は、プロセッサ140のVレジスタ
214の出力により供給される。加算器240の出力
は、ベクトルVの成分を含む。
【0081】プロセッサ150は、さらに累乗回路24
2を含む。これは、タイミング/制御ユニット160に
より与えられる計数iに応答する。累乗回路242は、
その出力として根aのベクトル表現を出力する。ここ
で、iは入力である。累乗回路242により供給される
出力ベクトルは、削除フラグ・イネーブル回路245に
よる制御に基づいて、e×m削除レジスタ244に記憶
される。このイネーブル回路は、削除のロケーションを
識別する1×n削除フラグ・ベクトルに反応する。削除
レジスタ244の出力は、zであり、これは削除のロ
ケーションを識別し、3入力マルチプレクサ246の位
置1入力に接続される。プロセッサ140により供給さ
れる不一致値dは、マルチプレクサ246の位置2入
力に接続される。マルチプレクサ246の出力は、1×
mレジスタ248に接続される。このレジスタの出力
は、ガロア体乗算器238の入力として接続される。レ
ジスタ248の出力は、さらにガロア体シフト論理回路
250に接続される。この回路の出力は、マルチプレク
サ246の位置3入力に供給される。ガロア体シフト論
理回路250は、ガロア体GF(2)の定義に用いら
れた、同一の原始多項式により定義される適切なフィー
ドバック接続を持つシフト・レジスタ構造で実現するこ
とができる。
【0082】Bレジスタ236の出力は、マルチプレク
サ228の位置2入力に供給されるとともに、ガロア体
加算器252にも供給される。ガロア体加算器252へ
の他の入力は、プロセッサ130のマルチプレクサ20
2の出力により供給される。ガロア体加算器252の出
力は、マルチプレクサ234の位置4入力に接続され
る。
【0083】プロセッサ130,140,150により
実行される復号化処理を、図4のフローチャートを参照
しながら説明する。機能ブロック301に従って、Vレ
ジスタ214とBレジスタ236とのn個の成分は、コ
ードの記号を定義するのに用いられたガロア体GF(2
)の根a=1で、初期化される。受信されたデータ
・ベクトルRの成分は、初期j=0反復時間定義域シン
ドローム・ベクトルS(0)を計算するために、マルチ
プレクサ202の位置3入力に供給される。計数値i
は、累乗回路242に送られ、この回路は、この計数値
をガロア体要素aiに変換し、それらの要素を削除レジ
スタ244に供給する。削除フラグ・イネーブル回路2
45の制御に従って、削除レジスタ244は、累乗回路
242からの、そのような要素のみを記憶する。それら
の要素は、復号化の前に、受信器の処理により供給され
た削除フラグ・ベクトルにより定義されるような削除の
ロケーションに対応している。j=1〜j=eに関する
の値は、QF(2)記号である。これらの記号
は、削除のロケーションを示し、機能ブロック305の
削除ベクトル処理に用いられる。累乗回路242と削除
フラグ・イネーブル回路245は、j=0での初期化の
ためにのみ動作可能となる。
【0084】反復シンドローム・ベクトルS(j)は、
機能ブロック302で定義されるように、各反復jに関
して計算される。初期j=0反復の場合、乗算器204
は、マルチプレクサ202の位置3入力に供給されるよ
うに、受信されたデータ・ベクトルRの成分を取り入れ
る。jの後続の反復すべてについて、ベクトルS
(j−1)の前回の成分が、Sレジスタ206から移動
して、マルチプレクサ202の位置1入力に入る。乗算
器204は、マルチプレクサ202の出力から、ベクト
ルSの前回のn個の成分を受け取り、それらを適切な累
乗aにより表す。その結果得られるベクトルS(j)
を用いて、最下位の成分sが、Sレジスタ206の最
下位の一番右端のロケーションに現れるまで、s(j)
をシフトすることにより、古いベクトルS(j−1)
交換する。乗算し、新しい結果を古い結果に優先させる
処理は、jの各反復の初期で繰り返される。
【0085】乗算器204への入力の1つに対して用い
られるガロア体記号は、計数iにより表されることに、
注目されたい。ガロア体乗算器204の検索表を設ける
ことにより、特定のガロア体記号に関わる累乗表現とベ
クトル表現のいずれも利用できる。
【0086】前の受信器の処理によりe個の削除が宣言
された結果、eの値は、機能ブロック304(図5)に
従って、フロー処理を制御するためのタイミング/制御
ユニット160(図1)により使用されるような既知の
量である。削除ベクトルVは、e回の反復を計算する必
要があり、反復削除ベクトル結果が、反復計数jが、e
より小さいか、または等しい限り、機能ブロック305
に基づいて、計算される。反復削除ベクトル計算結果
が、Berlekamp Masseyアルゴリズムの自動初期化の一部
として、Vレジスタ214に記憶される。ベクトルVの
各新しい成分は、ガロア体加算器240を介して加算す
ることにより計算される。この加算器は、成分の古いバ
ージヨンを古い成分のスケール化したバージョンに加算
する。古い成分のバージョンv (j−1)は、Vレジ
スタ214から供給され、スケール化した前成分Z
−i (j−1)は、乗算器238から供給される。
スケール化した前成分Z−i (j−1)を乗算
器238の出力に得るためには、計算を幾つか行う必要
がある。量Z−iは、マルチプレクサ246の位置
1入力からZをまず選択し、それをレジスタ248に
格納することによって得られる。Zの値は、j=1〜
j=eに関して、反復当たり1つの割合で、削除レジス
タ244から順次得られる。そうして、Z−iはZ
にa−1をi回掛けることにより計算される。a−1
はガロア体要素なので、乗算はガロア体シフト回路25
0で実行される。各乗算の後、新しい積は、マルチプレ
クサ246の位置3入力を介して、レジスタ248の前
回の積と交換される。この乗算と交換は、全Z−i
がiの各値に関して、それぞれ計算され利用されるま
で、i=0〜i=nに関して続けられる。乗算器238
は、レジスタ248からZ−iを取り、更新Bレジ
スタ236からbを取ることによりZ−i
形成する。
【0087】機能ブロック305に従って、削除ベクト
ルの計算をしている間、更新Bレジスタ236が、Vレ
ジスタ214の内容をコピーする。加算器240の出力
をそれぞれのマルチプレクサを介してBとVレジスタに
接続することにより、ベクトルBとVとが等しくなる。
加算器240の出力は、マルチプレクサ212の位置1
入力とマルチプレクサ234の位置1入力に供給され
る。シンドローム・ベクトルSと削除多項式ベクトルV
の処理は、反復数jがeに等しくなるまで、同時に続け
られる。
【0088】e回の反復より大きいjに関して、プロセ
ッサ130は、シンドローム・ベクトルSの成分の計算
を続け、プロセッサ140,150はBerlekamp Massey
アルゴリズムを介してエラー処理を行う。Berlekamp Ma
sseyアルゴリズムにおいて、機能ブロック302に基づ
くj番目のシンドローム計算の後で、かつ、j番目の反
復の前に、不一致値djが、機能ブロック306に基づ
いて計算される。不一致値dは、vとsベクトル
成分の畳み込み(積の和)である。必要な成分積はそれ
ぞれ、乗算器220により生成される。この乗算器はS
レジスタ206からsi成分を受け取り、Vレジスタ2
14からv成分を受け取る。vとs入力は、乗算
器220のためにレジスタ216と218とにバッファ
される。各新しい成分積は、ガロア体加算器222とレ
ジスタ224,226とを含むアキュムレータ回路を介
して、総和に組み込まれる。中間和は、レジスタ224
のみに格納される。j番目の反復のj番目のクロック
で、必要な積すべてが加算され、総和はレジスタ226
に、不一致値dとして格納される。
【0089】e回の反復より大きく、かつ、2t回の反
復より小さいか、等しいjに関して、Berlekamp Massey
アルゴリズムは、エラータ・ロケータ・ベクトルVと更
新ベクトルBのn個の成分すべてを改める。エラータ・
ベクトルVは、機能ブロック308と式3とに基づいて
計算される。更新ベクトルBは、決定ブロック309に
より決められたように、機能ブロック310と式4、ま
たは機能ブロック311と式6とに基づいて、計算され
る。エラータ・ベクトルと更新ベクトル双方において、
0〜n−1が横下に小さく書かれている。計算中、これ
らの成分は、それぞれのレジスタ内を循環する。これら
のベクトルが循環するにつれて、各ベクトルのi番目の
成分は、それぞれのレジスタに戻される前に、修正され
る。古いバージョンが占めているロケーションに、ベク
トル成分の新しいバージョンを格納することにより、記
憶装置を最小化できる。しかしながら、新しい更新ベク
トル成分b (j)は、エラータ・ベクトル成分v
(j−1)の古いバージョンを用いる可能性もある。従
って、Vレジスタ214の処理に続いてBレジスタ23
6の処理を行わないで、Vレジスタ214の処理とBレ
ジスタ236の処理とを同時に実行される。エラータ・
ベクトルVと更新ベクトルB双方のi番目の成分の処理
は、いずれか一方のベクトルの(i+1)番目の成分の
処理が開始される前に、終了している必要がある。しか
し、以下の説明では、エラータ・ベクトルVと更新ベク
トルBの処理が別々に行われる。
【0090】Berlekamp Masseyアルゴリズムは、不一致
値dを用いて、式3に従ってエラータ・ロケータ・ベ
クトルVを改める。ガロア体加算器240は、古いバー
ジョンのv (j−1)エラータ成分を、対応する更新
成分b (j−1)のd−iスケール化されたバー
ジョンに加算することにより、i番目の成分v (j)
の新しいバージョンが計算される。各v (j)成分を
計算するまでには、中間的な計算を数回再び行う必要が
ある。
【0091】計数iが0に等しくなり、レジスタ226
に含まれる不一致値dj がマルチプレクサ246の入力
2に供給され、レジスタ248に記憶され、そして、ガ
ロア体シフト論理回路250に記憶される。各後続の成
分iに関し、計数iが増加したとき、ガロア体シフト論
理回路250は、1回クロックされ、その結果が、マル
チプレクサ246を介してレジスタ248に格納され
る。このようにして、レジスタ248は、成分v
(j)を計算するために必要なd-iスケール・ファ
クタを常に有する。ガロア体シフト論理回路250がク
ロックされるたびに、その内容にa-1が掛けられる。ル
ープ・カウントi+1の始まりで、前回の反復iからの
-1を含む。従って、ガロア体論理回路を1回クロ
ックすると、その内容はd-(i+1)に変わる。
【0092】ループ・カウントiに関し、レジスタ24
8に含まれるd a-iは、乗算器238に供給される。
更新ベクトルのb (j−1)成分は、乗算器238の
他の入力にBレジスタ236から供給される。乗算器2
38からのスケール化されたベクトル成分d-i1
は、ガロア体加算器240で、式3に基づいてvi成分
と組み合わせられ、新しいv (j)成分が生成され
る。加算器240の出力が、マルチプレクサ212の入
力1とVレジスタ214に供給される。この処理は、V
ベクトルのn個の成分すべてが修正されるまで繰り返さ
れる。
【0093】開示した時間定義域代数デコーダでBerlek
amp Masseyアルゴリズムの実行すると、更新ベクトルB
の成分は、エラータ・ベクトルVの対応する成分が、修
正されるにつれて、修正される。Bレジスタの更新に必
要な処理は、図1のタイミング/制御ユニット160と
関連して、決定ブロック309に基づいて、決められ
る。
【0094】機能ブロック310に従って、更新が行わ
れる場合、更新成分b (j)が、不一致値dの逆数
によりスケール化されているエラータ成分v
(j−1)である。前のベクトルV(j-1) の成分は、V
レジスタ214により供給され、マルチプレクサ228
の位置1入力を介してディバイダ232に接続される。
ベクトル成分v (j−1)は、実際にdの対数を2
進形式で入力することにより、ディバイダ232におい
てdで割られる。そのようなdの対数は、ガロア体
要素として累乗表現の指数値に対応する。dj の対数
は、タイミング/制御ユニット160から供給される。
ディバイダ232の出力は、更新ベクトルBの成分であ
るが、これはマルチプレクサ234の位置2入力を介し
て更新Bレジスタ236に供給される。
【0095】更新ベクトルBが機能ブロック311に従
って、更新されると、更新された成分b (j)は、a
-1でスケール化された古いバージョンb (j−1)
ある。マルチプレクサ228は、Bレジスタ236の出
力が、マルチプレクサ228の位置2入力に供給され、
そうしてディバイダ232の被除数側に供給されるよう
に制御される。マルチプレクサ230は、a-iの指数の
大きさが、マルチプレクサ230の位置2入力に供給さ
れ、そうしてディバイダ232の除数側に供給されるよ
うに制御される。そうして、ディバイダの出力a-i
(j-1) が更新Bレジスタ236に格納される。
【0096】受信されたベクトルRが外部保持バッファ
に格納されていない場合、反復j=2t+1で、受信さ
れたデータ・ベクトルRは、時間定義域シンドローム・
ベクトルSから再構成される。シンドローム・ベクトル
Sは、各シンドローム・ベクトル成分si を各ガロア体
要素a-Kによりスケーリングすることにより、受信した
ベクトルRに変換される。ここで、Kは、反復数2t+
1と成分ロケーション1との積である。2進量Kは、タ
イミング/制御ユニット160から供給されるが、これ
は受信されたデータの各成分に関するシンドローム変換
の影響を打ち消す。特に、Sレジスタ206の出力は、
マルチプレクサ228の位置3を介してディバイダ23
2に供給される。2進量Kは、マルチプレクサ230の
位置3入力を介してディバイダ232の除数側に供給さ
れる。再構成された受信ベクトル成分ri は、マルチプ
レクサ234を介してBレジスタ236に供給される。
【0097】jが2tより大きい反復の場合、シンドロ
ーム拡張ステップが実行される。Berlekamp Masseyアル
ゴリズムは、コードワードを定義するn個の時間定義域
成分の2tを計算する。j=2t+1〜j=nに関する
シンドローム成分が、機能ブロック306,312,3
02に従って、3ステップで計算される。前の反復にお
けるBerlekamp Masseyアルゴリズムの結果、機能ブロッ
ク306に基づく不一致値dj の計算には、不一致式が
シンドローム・シーケンス・ジェネレータとして機能で
きるように、適切な成分が含まれる。不一致値dj は、
Vレジスタ214とSレジスタ206が循環するにつれ
て、積の和を生成することにより、前述したように修正
される。シンドローム拡張ステップでは、エラータ・ベ
クトルVは、Vレジスタを循環する時は、変化しない。
そのような再循環は、加算器238を動作不可能にし、
零がVレジスタの出力に加えられるようにガロア加算器
240を制御することにより、実行される。そうして、
ガロア加算器240の出力は、マルチプレクサ212の
位置1入力を介してVレジスタ214に戻される。一方
では、Sベクトルは、シンドローム拡張ステップで、再
循環するにつれて、修正される。新しいSベクトルを生
成するには、レジスタ226の不一致値dj は、ガロア
加算器208により、Sレジスタ206から供給される
si 成分に加えられる。この和は、加算器208からの
和をマルチプレクサ202を介して加算器204へ入力
することにより、機能ブロック302に基づき、スケー
ル化される。加算器204への他の出力は、指数iであ
る。その結果得られる新しいSベクトル成分s (j)
は、Sレジスタ206に格納される。
【0098】反復j=nで、シンドローム拡張は完了
し、データ補正をすることができる。受信されたベクト
ルRが、外部バッファに格納されていると、データの補
正は、デコーダの外で実行される。Sレジスタ206に
格納されているエラー・ベクトルは、マルチプレクサ2
02の入力4と次にマルチプレクサ234の入力3を介
して外部から供給される。受信されたベクトルが、反復
j=2t+1で再構成されると、Bレジスタ236は受
信されたベクトルRを含む。正しいコードワードの概算
は、Bレジスタ236のRベクトルとVレジスタ214
のエラータ・ベクトルとをガロア加算器252で組み合
わせることにより、マルチプレクサ234の位置4入力
で求められる。このコードワード概算は、マルチプレク
サ234の出力を介して、図1のエンコーダ/デコーダ
110の出力に接続される。
【0099】図6のフローチャートには、コードワード
・ベクトルCを符号化するためのエンコーダ/デコーダ
110によって実行される処理が示されている。エンコ
ーダは、系統的な方式を用いているので、係数Cn-1
n-k は情報記号で、Cn-k-1 〜C0 はパリティ記号で
あり、Cn−1は最初に送信され、C0 は最後に送信さ
れる。符号化処理は、パリティ記号と呼ばれるコードワ
ード成分Cn-k-1 〜C0 の計算である。符号化処理中、
各反復数jに関し、ループ・カウンタiは0からk−1
まで増加させられる。反復カウンタjは、0からn−k
+1に進む。
【0100】初期化が、反復数j=1で、機能ブロック
319に基づいて行われる。符号化回路210は、検索
表であるが、これはi=0〜i=k−1に関して、パリ
ティ多項式係数hi を出力し、i=k〜i=n−1に関
しては、零を出力する。符号化回路210の出力は、マ
ルチプレクサ212の入力2を介してVレジスタ214
に供給される。n個のクロックの後、パリティ多項式係
数のk個の成分は、Vレジスタ214のv0 〜vk-1
格納される。Vレジスタ214の残りの位置には、零が
格納されている。また、i=0〜i=k−1に関し、反
復数j=1の間は、情報記号は、マルチプレクサ202
の入力3のデータ・イン・ライン上のエンコーダに供給
される。データ・イン・ラインは、k個の情報記号が供
給された後は、ユーザによって零に設定される。マルチ
プレクサ202の出力は、乗算器204を介してSレジ
スタ206に供給される。AND回路は203は、復号
化状態を検出するが、この回路は、ガロア体でa0 =1
であるので、符号化中は、他の乗算器入力を零に強制的
に設定する。n個のクロックの後、k個のメッセージ記
号は、Sレジスタ206のs0 〜sk-1 に格納される。
n-1 がs0 にあり、Cn-k がsk-1 にあることに注目
されたい。Sレジスタ206の残りの位置には、零が格
納されている。
【0101】反復j=1〜j=n−k+1に関し、図6
の機能ブロック320により定義されるような畳み込み
により、非メッセージ・コードワード記号が計算され
る。各コードワード記号の計算は、Sレジスタ206
に、最新のk個のコードワード記号が格納された状態
で、Vレジスタ214に格納されたk個のパリティ多項
式係数のk点時間定義域畳み込みによってなされる。コ
ードワード記号を計算するには、エンコーダは、次のよ
うに積の和を計算する。Sレジスタ206の内容は、加
算器208、マルチプレクサ202、乗算器204を循
環して、Sレジスタ206へ戻り、そうしてリクロッキ
ング・レジスタ218に供給される。Vレジスタ214
の内容は、リクロッキング・レジスタ216に再循環さ
れ、そうして、加算器240とマルチプレクサ212を
介して、Vレジスタ214へ戻る。i=0〜i=k−1
クロックに関し、Vレジスタ214とSレジスタ206
の対応する成分は乗算器220で乗算される。積の総和
は、ガロア体加算器222、中間結果レジスタ224、
最終結果レジスタ226とからなるアキュムレータで得
られる。i=k−1で、最終結果レジスタ226は、計
算されたコードワード記号Cn-k-j を格納している。S
レジスタ206の内容は、1つシフトされ、新しいコー
ドワード記号は、Sレジスタ206の一番左端の段に格
納される。Sレジスタ206には、今、k+1個のコー
ドワード記号があるが、最も新しいk個のコードワード
記号のみが、次のコードワード記号の計算に用いられ
る。
【0102】機能ブロック320の処理の結果、パリテ
ィ多項式係数hi は、Vレジスタ214の一番右端の段
ではなく一番左端の段に格納されている。同様に、コー
ドワード記号Cj は、Sレジスタ206の一番右端の段
ではなく一番左端の段に格納されている。次のコードワ
ード記号を計算する準備として、反復カウンタjは機能
ブロック321に基づいて、増加し、Sレジスタ206
とVレジスタ214の内容が、機能ブロック322に基
づいて、n−k個の位置だけ再整列される。再整列は、
Sレジスタ206とVレジスタ214の長さがn段であ
るが、符号化アルゴリズムは長さk(kはnより小さ
い)のベクトルを用いるので、必要である。パリティ多
項式係数hi は、Vレジスタ214において、k個の最
左端段からk個の最右端段までシフトされる。同様に、
コードワード記号Cj は、Sレジスタ206において、
k+1個の最左端段からk個の最右端段までと、S O
UTラインにシフトされる。最も古いコードワード記号
n-j+1 は、各反復jで、S OUTラインに現れ、後
の畳み込み計算で、再び用いられることはない。
【0103】決定ブロック323は、続行されるエンコ
ーダ・アルゴリズム処理を制御する。反復カウンタjが
n−k+1より小さいと、符号化畳み込み計算は、機能
ブロック320で続けられる。j=n−k+1になる
と、符号化計算は完了する。最後のk個のコードワード
記号は、Sレジスタ206に格納されており、Ck-1
ロケーションs0 、C0 はロケーションsk-1 にある。
他のすべてのコードワード記号は、前の反復でS OU
Tラインに現れている。残りのk個のコードワード記号
は、機能ブロック324に基づいてSレジスタをシフト
することにより、S OUTラインに現れる。
【0104】図7には、クロック信号CLKとエンコー
ド/デコード信号に反応するカウンタ423を含むタイ
ミング/制御ユニット160のブロック図が示されてい
る。エンコード/デコード信号は、外部から供給される
制御信号であり、これは、符号化を行うか、復号化を行
うかを示す。カウンタ423は、計数iを与える。この
計数は、クロック・サイクルごとに1だけ増加する。カ
ウンタ423の上限は、エンコード/デコード信号に従
って設定される。計数iは、図5に詳述されているよう
に、図1の演算ユニット120に供給され、さらに図7
のプロセッサ/反復制御論理回路425に供給される。
【0105】上述した説明から、エンコーダ/デコーダ
の処理タイミングは、計数iと反復数jに基づいている
ことが理解されよう。復号化の場合、jのn回の反復が
ある。そうして、jの各反復は、iのn回の計数を含
む。従って、復号化には、n2 個のクロック・サイクル
が必要となる。符号化の場合、jの(n−k)回の反復
がある。そうして、jの各反復は、iのk回の計数を含
む。従って、符号化には、k(n−k)個のクロック・
サイクルが必要となる。
【0106】プロセッサ/反復制御論理回路425は、
図5の演算ユニット120の制御を行う。入力I1は、
カウンタ423から供給される計数iを受け取る。
【0107】入力I2は、決定ブロック309に基づく
決定結果を受け取る。この決定は、制御論理回路425
の出力Q7からの反復値jを受け取るjレジスタ403
を含む回路から供給される。e計数レジスタ405に
は、初期化において、削除の数が格納される。加算器4
07は、j計数レジスタ403とe計数レジスタ405
とに反応し、(j−e−1)に等しい出力を供給する。
比較器415は、加算器407の出力と、最下位ビット
が0に設定されたL計数レジスタ411のシフトされた
出力ラインとを比較する。そのようなシフトは、Lに因
子2を掛けるのに等しく、2Lの値を供給する。比較器
415の出力は、ANDゲート421の入力に供給され
る。このゲートには、別の比較器426から別の入力が
供給されている。この別の比較器は、不一致値dj が零
に等しいか否かを示す出力を供給する。不一致値d
j は、図5のレジスタ226から供給される。
【0108】入力I3は、復号化の前の削除の数eが、
2tより大きいかどうかを決定した結果を受け取る。そ
のような決定は、比較器409で行われる。この比較器
はe計数レジスタ405の内容と2tを比較する。削除
の数が2tより大きいと、過剰な削除がなされているの
で、復号化は停止するように制御される。
【0109】入力I4は、符号化または復号化処理をす
べきかどうかを制御するエンコード/デコード信号を受
け取る。この入力は、タイミング制御ユニット160の
すべての出力に影響する。
【0110】出力Q1は、図5に詳述されている演算ユ
ニット120におけるベクトル・レジスタ206,21
4,236の入力の格納とクロッキングを制御する。出
力Q2は、そのようなレジスタの出力クロックを制御す
る。これらの双方の出力は、入力I1から供給される計
数iを用いて、互いに関連して実行され、実行されてい
る特定の処理に依存している。
【0111】出力Q3は、符号化と復号化動作のための
演算ユニット120のマルチプレクサをスイッチングす
るための信号を供給する。マルチプレクサが行う様々な
接続は、入力I1〜I4に基づいて制御される。
【0112】出力Q4は、演算ユニット120における
レジスタ224,226,244、248のアキュムレ
ータ機能を制御し、さらにガロア・シフト論理回路25
0を制御する。制御は反復数jとその内部計数iとに基
づいて行われる。
【0113】出力Q5は、図5の演算ユニット120に
おけるベクトル・レジスタ206,214,236の初
期化を制御する。初期化処理は、図4の機能ブロック3
01と、図6の機能ブロック319とに説明してある。
【0114】出力Q6は、図4の機能ブロック318に
基づいて受信されたデータ・ベクトルを再構成するため
のクロックを供給する。そのような再構成のために計算
されたKの値は、図5の演算ユニット120のディバイ
ダ232に供給される。
【0115】出力Q7は、入力I1から与えられるルー
プ・カウントiと入力I4から与えられるエンコード/
デコード制御とに基づいて、反復数jを供給する。
【0116】加算回路413は、加算器407から供給
される値から(j−L−e)を計算することにより、図
4の機能ブロック310に基づいて、処理の一部を行
う。対数回路419は、不一致値dj の指数の2進ベク
トル表現を供給する。その不一致値は、図5の演算ユニ
ット120のマルチプレクサ230の位置1入力に供給
されている。
【0117】以上、本発明の特定の実施例を図を参照し
ながら説明したが、これらに対する種々の修正と変更
が、当業者によって、以下に示す特許請求の範囲で定義
される発明の範囲と精神から逸脱することなく実施でき
る。
【0118】
【作用】上記構成のエンコーダ/デコーダは、復号化時
間を大幅に短縮し、全体の複雑性を大幅に軽減できる。
さらに、デコーダは、最適並列処理を実現するための3
つのプロセッサを用いている。さらに、デコーダは、時
間と周波数の定義域間での変換のために生じる遅れを除
去するために、時間定義域処理を厳密に実行している。
また、エンコーダ/デコーダは、広範囲のコードに関し
て動作でき、そうして、高率のデータ・スループットを
実現しつつ、さらに複雑なコードを使用できる。
【0119】復号化時間を最適化するという特長に加
え、この同じアーキテクチャは、代数符号化オプション
を可能とするために、固有の柔軟性を発揮する。この単
一のアーキテクチャに上記柔軟性を持つので、他の従来
技術のエンコーダ/デコーダより優れている。特に、こ
のアーキテクチャは、BCHクラスのコード、特に、B
CHデコーダで復号化できる他のコード類すべてに符号
化/復号化ができる。従って、開示されたアーキテクチ
ャは、高率のデータ・スループットを実現しつつ、交代
式コード族に適用できる。この族には、BCH、Gop
pa、Strivastava、リードソロモン・コー
ドが含まれている。さらに、このアーキテクチャは、情
報記号とコードワード長の種々の組合せの符号化/復号
化ができる。様々なコード・サイズに対するこの能力
は、異なる基本算術演算要素の最小の集合を用いて実現
される。最後に、この単一アーキテクチャは、種々のガ
ロア体GF(p)構造にわたるコードに適合してい
る。
【図面の簡単な説明】
【図1】本発明に係るBCHエンコーダ/デコーダのブ
ロック図である。
【図2】図1のエンコーダ/デコーダによる大まかな復
号動作のフローチャートである。
【図3】図1のエンコーダ/デコーダの演算ユニットの
それぞれのプロセッサによる復号動作を示す図である。
【図4】図1のエンコーダ/デコーダによって実行され
る時間定義域復号アルゴリズムの動作のフローチャート
である。
【図5】図1のエンコーダ/デコーダの演算ユニットの
プロセッサのブロック図である。
【図6】BCH符号化を行うために、図1のエンコーダ
/デコーダによって使用されるBCHエンコーダ・アル
ゴリズムのフローチャートである。
【図7】図1のエンコーダ/デコーダのタイミング/制
御ユニットのブロック図である。
【符号の説明】
110…エンコーダ/デコーダ、120…ガロア体演算
ユニット、130、140、150…ガロア・プロセッ
サ、160…タイミング/制御ユニット
フロントページの続き (72)発明者 ヘンリー・イー・ヒューイ アメリカ合衆国、カリフォルニア州 90080−0028、ロサンゼルス、ヒューズ・ テラス 7200、ビルディング・シー1/エ ー126、ピー・オー・ボックス 80028、ヒ ューズ・エアクラフト・カンパニー内

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 n個の記号を有し、既知ロケーションの
    e個の削除を含むことになっており、e個の削除が行わ
    れたものとすると、t個のエラーを補正できる既知コー
    ド・ジェネレータ多項式に基づく、受信されたデータ・
    ベクトルを復号化する方法であって、 反復j=eで、削除ベクトルを与えるように、反復j=
    0〜j=eに関し、受信されたデータ・ベクトルの時間
    定義域シンドローム・ベクトルの中間成分と削除ベクト
    ルの中間成分とを反復的に計算するステップと、 反復j=2tで時間定義域シンドローム・ベクトルとエ
    ラータ・ロケータ・ベクトルを与えるように、反復j=
    e〜j=2tに関し、中間時間定義域シンドローム・ベ
    クトル成分の反復計算を続け、そうして、削除ベクトル
    からエラータ・ロケータ・ベクトルの中間成分を概算す
    るステップと、 反復j=nで、拡張シンドローム・ベクトルを与えるよ
    うに、反復j=2t+1〜j=nに関し、時間定義域シ
    ンドローム・ベクトルから拡張時間定義域シンドローム
    ・ベクトルの中間成分を反復的に計算するステップと、 拡張シンドローム・ベクトルを受信されたデータ・ベク
    トルに加えて、補正された受信データ・ベクトルを与え
    るステップと、 からなる前記受信されたデータ・ベクトルを復号化する
    方法。
  2. 【請求項2】 中間時間定義域シンドローム・ベクトル
    成分と中間削除ベクトル成分とを反復的に計算するステ
    ップは、 中間シンドローム・ベクトル成分を受信したデータ・ベ
    クトル成分で初期化し、中間削除ベクトル成分を予め定
    められた初期成分で初期化するステップと、 中間シンドローム・ベクトル成分に予め定められた因子
    を掛けて、次の反復のための中間シンドローム・ベクト
    ル成分を与えるステップと、 中間削除ベクトル成分の調整されたバージョンを与える
    ステップと、 中間削除ベクトル成分の各調整されたバージョンを中間
    削除ベクトル成分に加えて、次の反復のための中間削除
    ベクトル成分を与えるステップと、 からなる請求項1記載の方法。
  3. 【請求項3】 中間シンドローム・ベクトル成分に関す
    る予め定められた因子は、ガロア体GF(p)の根を
    含む(ここで、ガロア体要素のベクトル表示において、
    pは素数で、mは数字の数である)請求項2記載の方
    法。
  4. 【請求項4】 中間削除ベクトル成分の調整されたバー
    ジョンは、受信されたデータ・ベクトルにおける削除の
    位置に基づいて決定される請求項2記載の方法。
  5. 【請求項5】 反復計算を継続し概算するステップは、 中間エラータ・ベクトル成分と中間シンドローム・ベク
    トル成分とに基づいて不一致定数を計算するステップ
    (ここで反復j=eでの、中間エラータ・ベクトル成分
    は削除ベクトル成分からなる)と、 更新ベクトル成分の各調整されたバージョンを中間エラ
    ータ・ベクトル成分に加算して、次の反復のための中間
    エラータ・ベクトル成分を与えるステップ(ここで反復
    j=eでの更新ベクトル成分は、削除ベクトル成分から
    なる)と、 予め定められた条件に従って、次の反復のための更新ベ
    クトル成分を計算するステップと、 からなる請求項1の記載の方法。
  6. 【請求項6】 不一致定数を計算するステップは、対応
    する中間エラータ・ベクトルと中間シンドローム・ベク
    トル成分との各積を総計するステップを含む請求項5記
    載の方法。
  7. 【請求項7】 更新ベクトル成分を計算するステップ
    は、 不一致定数が零に等しくないか、位置が確認されている
    エラーの数の2倍が予め定められた値より小さいか、ま
    たは等しい、という予め定められた条件が満たされたか
    どうかを決定するステップ(ここでエラーの数は最初は
    零である)と、 予め定められた条件が満たされた場合、中間エラータ・
    ベクトル成分を不一致定数で割り、jの次の反復のため
    の更新ベクトル成分を与え、そうして、位置が確認され
    たエラーの数を更新するステップと、 予め定められた条件が満たされない場合、更新ベクトル
    成分を予め定められた因子で割り、jの次の反復のため
    の更新ベクトル成分を与えるステップと、 からなる、請求項5記載の方法。
  8. 【請求項8】 予め定められた因子は、ガロア体GF
    (p)の対応する要素を含む(ここで、ガロア体要素
    のベクトル表示において、pは素数で、mは数字の数で
    ある)請求項7記載の方法。
  9. 【請求項9】 シンドローム・ベクトルを拡張するステ
    ップは、 中間拡張シンドローム・ベクトル成分から計算値を引く
    ステップと、 総和成分に予め定められた因子を掛け、次の反復のため
    の中間拡張シンドローム・ベクトル成分を与えるステッ
    プと、 からなる請求項1記載の方法。
  10. 【請求項10】 計算値は、対応するエラータ・ベクト
    ル成分と中間シンドローム・ベクトル成分の各積を総計
    することにより、計算される請求項9記載の方法。
  11. 【請求項11】 請求項1記載の方法は、反復j=2t
    +1で、中間シンドローム・ベクトル成分から受信され
    たデータ・ベクトルを再構成するステップをさらに含
    む。
  12. 【請求項12】 複数の記号を有し、予め定められた符
    号化多項式に基づく、受信されたデータ・ベクトルに反
    応するデコーダ装置であって、 受信したデータ・ベクトルの時間定義域シンドローム・
    ベクトルの中間成分を反復的に計算して、シンドローム
    ・ベクトルを与え、さらに、そのシンドローム・ベクト
    ルを拡張して、拡張シンドロームを与えるための、受信
    されたデータ・ベクトルに反応する第1の処理手段と、 削除ベクトルの反復的に計算された中間成分とエラータ
    ・ベクトルの反復的に計算された中間成分とを格納し、
    エラータ・ベクトルを与え、さらに、前記中間シンドロ
    ーム・ベクトル成分の各反復、前記中間シンドローム・
    ベクトル成分と前記エラータ・ベクトル成分の各反復、
    前記中間拡張シンドローム・ベクトル成分と前記エラー
    タ・ベクトル成分の各反復とに基づいて不一致定数を計
    算するための第2の処理手段と、 受信したデータ・ベクトルにおける削除の数とロケーシ
    ョンに基づいて、中間削除ベクトル成分を反復的に計算
    し、削除ベクトルを与え、前記削除ベクトル、および確
    認されたエラーの数とロケーションの関数として前記中
    間エラータ・ベクトル成分を反復的に計算し、さらに、
    エラータ・ベクトルあるいは前回エラータ更新ベクトル
    の中間成分の調整因子に基づき、中間エラータ更新ベク
    トル成分を計算し、エラータ・ベクトルを与えるための
    第3の処理手段と、 前記第1、第2、第3の処理手段を制御するための制御
    手段と、 を具備する前記デコーダ装置。
  13. 【請求項13】 第1の処理手段は、 中間シンドローム成分と拡張シンドローム成分とを再循
    環させ、格納するための手段と、 中間シンドローム・ベクトル成分と拡張シンドローム・
    ベクトル成分に予め定められた因子を掛けて、次の反復
    のために中間シンドローム・ベクトル成分を与えるため
    の手段と、 を具備する請求項12記載のデコーダ装置。
  14. 【請求項14】 前記第2の処理手段は、 対応する中間シンドローム・ベクトル成分と中間削除ベ
    クトル成分とを掛けて、第1の成分積を与えるための手
    段と、 対応する中間シンドローム・ベクトル成分と中間削除ベ
    クトル成分とを掛けて、第2の成分積を与えるための手
    段と、 対応する中間シンドローム・ベクトル成分と中間削除ベ
    クトル成分とを掛けて、第3の成分積を与えるための手
    段と、 前記成分積を累算して不一致定数を与えるための手段
    と、 を具備する請求項12記載のデコーダ装置。
  15. 【請求項15】 前記第3の処理手段は、 前記削除ベクトルの反復計算のために、前記削除ベクト
    ルの中間的に計算された成分の複写である中間ベクトル
    成分を格納するための手段と、 前記予め定められたベクトル成分のための調整因子を受
    信されたコードワードの削除のロケーションの関数とし
    て、それぞれ計算するための手段と、 前記予め定められたベクトル成分に、対応する調整因子
    を掛け、その結果得られる積を、対応する中間削除ベク
    トル成分に加算して、次の反復のための削除ベクトル成
    分を与えるための手段と、 中間エラータ・ベクトル成分を前記不一致定数で割り、
    次の反復のためのエラータ更新ベクトルを与えるための
    手段と、 中間更新ベクトル成分をGF(p)の予め定められた
    因子で割って格納し、次の反復のためのエラータ更新ベ
    クトルを与えるための手段と、 を具備する請求項12記載のデコーダ装置。
JP6246597A 1993-10-12 1994-10-12 時間定義域代数エンコーダ/デコーダ Pending JPH07202715A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US135778 1993-10-12
US08/135,778 US5535225A (en) 1993-10-12 1993-10-12 Time domain algebraic encoder/decoder

Publications (1)

Publication Number Publication Date
JPH07202715A true JPH07202715A (ja) 1995-08-04

Family

ID=22469621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6246597A Pending JPH07202715A (ja) 1993-10-12 1994-10-12 時間定義域代数エンコーダ/デコーダ

Country Status (5)

Country Link
US (1) US5535225A (ja)
EP (1) EP0648021A3 (ja)
JP (1) JPH07202715A (ja)
IL (1) IL111193A (ja)
TW (1) TW297190B (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2724741B1 (fr) * 1994-09-21 1996-12-20 Sgs Thomson Microelectronics Circuit electronique de calcul modulaire dans un corps fini
US7301541B2 (en) 1995-08-16 2007-11-27 Microunity Systems Engineering, Inc. Programmable processor and method with wide operations
FR2741973B1 (fr) * 1995-12-04 1998-01-02 Sgs Thomson Microelectronics Procede de production d'un parametre jo associe a la mise en oeuvre d'operation modulaire selon la methode de montgomery
JPH10112659A (ja) * 1996-10-08 1998-04-28 Canon Inc 誤り訂正復号装置
ATE557343T1 (de) * 1998-08-24 2012-05-15 Microunity Systems Eng Prozessor und verfahren zur durchführung eines breitschaltungsbefehls mit breitem operand
US7932911B2 (en) * 1998-08-24 2011-04-26 Microunity Systems Engineering, Inc. Processor for executing switch and translate instructions requiring wide operands
KR100493014B1 (ko) * 1999-03-24 2005-06-07 삼성전자주식회사 비씨에이치/리드-솔로몬 디코더용 2중 패러랠 데이터패스를 갖는 갈로아필드 프로세서
US6341362B1 (en) * 1999-04-22 2002-01-22 Vlsi Technology, Inc. Extended symbol Galois field error correcting device
US20080282128A1 (en) * 1999-08-04 2008-11-13 Super Talent Electronics, Inc. Method of Error Correction Code on Solid State Disk to Gain Data Security and Higher Performance
US6760742B1 (en) 2000-02-18 2004-07-06 Texas Instruments Incorporated Multi-dimensional galois field multiplier
JP3485075B2 (ja) * 2000-07-19 2004-01-13 日本電気株式会社 復号回路及びその復号方法
FI20010330A0 (fi) 2001-02-21 2001-02-21 Nokia Mobile Phones Ltd Menetelmä lähettimen häiriöiden vähentämiseksi ja lähetin
FR2834146A1 (fr) * 2001-12-20 2003-06-27 St Microelectronics Sa Turbo-decodeur compact a haute efficacite
US7032162B1 (en) * 2002-04-25 2006-04-18 Lattice Semiconductor Corporation Polynomial expander for generating coefficients of a polynomial from roots of the polynomial
GB2391769B (en) * 2002-07-31 2005-07-06 Hewlett Packard Co Reed-Solomon decoder and decoding method for errors and erasures decoding
US7793196B2 (en) * 2006-08-21 2010-09-07 Lsi Corporation Methods and apparatus for improved error and erasure correction in a Reed-Solomon date channel
US8750089B2 (en) * 2010-01-05 2014-06-10 Broadcom Corporation Method and system for iterative discrete fourier transform (DFT) based channel estimation using minimum mean square error (MMSE) techniques
US8869013B1 (en) * 2011-12-01 2014-10-21 Xilinx, Inc. Circuit enabling and a method of generating a product in a decoder circuit
US9281844B2 (en) 2013-04-18 2016-03-08 Apple Inc. Configurable and low power encoder for cyclic error correction codes
US9785565B2 (en) 2014-06-30 2017-10-10 Microunity Systems Engineering, Inc. System and methods for expandably wide processor instructions
US20170222754A1 (en) * 2016-01-28 2017-08-03 Lg Electronics Inc. Error correcting coding method based on cross-layer error correction with likelihood ratio and apparatus thereof

Family Cites Families (9)

* 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
US4251875A (en) * 1979-02-12 1981-02-17 Sperry Corporation Sequential Galois multiplication in GF(2n) with GF(2m) Galois multiplication gates
US4413339A (en) * 1981-06-24 1983-11-01 Digital Equipment Corporation Multiple error detecting and correcting system employing Reed-Solomon codes
US4556977A (en) * 1983-09-15 1985-12-03 International Business Machines Corporation Decoding of BCH double error correction - triple error detection (DEC-TED) codes
JPS6162234A (ja) * 1984-09-04 1986-03-31 Kokusai Denshin Denwa Co Ltd <Kdd> 誤り訂正符号復号方式
US4777635A (en) * 1986-08-08 1988-10-11 Data Systems Technology Corp. Reed-Solomon code encoder and syndrome generator circuit
US4845713A (en) * 1987-06-08 1989-07-04 Exabyte Corporation Method and apparatus for determining the coefficients of a locator polynomial
US4868828A (en) * 1987-10-05 1989-09-19 California Institute Of Technology Architecture for time or transform domain decoding of reed-solomon codes
ATE116081T1 (de) * 1989-08-24 1995-01-15 Philips Nv Verfahren und einrichtung zur decodierung von wortgeschützten codewörtern durch einen nichtbinären bch-code gegen mindestens einen symbolfehler.

Also Published As

Publication number Publication date
US5535225A (en) 1996-07-09
TW297190B (ja) 1997-02-01
EP0648021A3 (en) 1996-01-10
IL111193A (en) 1997-07-13
IL111193A0 (en) 1995-01-24
EP0648021A2 (en) 1995-04-12

Similar Documents

Publication Publication Date Title
JPH07202715A (ja) 時間定義域代数エンコーダ/デコーダ
US6374383B1 (en) Determining error locations using error correction codes
US5446743A (en) Coefficient updating method and apparatus for Reed-Solomon decoder
US4873688A (en) High-speed real-time Reed-Solomon decoder
US5517509A (en) Decoder for decoding ECC using Euclid&#39;s algorithm
US6347389B1 (en) Pipelined high speed reed-solomon error/erasure decoder
US20030192007A1 (en) Code-programmable field-programmable architecturally-systolic Reed-Solomon BCH error correction decoder integrated circuit and error correction decoding method
US7793195B1 (en) Incremental generation of polynomials for decoding reed-solomon codes
US6467063B1 (en) Reed Solomon coding apparatus and Reed Solomon coding method
US7870468B1 (en) Reed-solomon decoder using a configurable arithmetic processor
US5905740A (en) Apparatus and method for error correction
JPH0827732B2 (ja) 線形代数コード復号のためのキー方程式を解く方法
KR20180085651A (ko) 리스트 디코딩 생성을 통한 이진 bch 코드들의 bm-기반 빠른 체이스 디코딩에서 빠른 다항식 업데이트를 위한 방법을 수행하기 위한 asic
JP3834122B2 (ja) 誤り位置検出多項式計算装置
JP3305525B2 (ja) 復号器、誤りロケータシーケンス生成器および復号方法
US6263471B1 (en) Method and apparatus for decoding an error correction code
US6651214B1 (en) Bi-directional decodable Reed-Solomon codes
JP3239522B2 (ja) データ消失訂正方法とその回路
KR19990026630A (ko) 리드-솔로몬 복호기와 그 복호방법
JP3343857B2 (ja) 復号装置、演算装置およびこれらの方法
US5971607A (en) Polynomial evaluator for use in a Reed-Solomon decoder
JP3233502B2 (ja) 復号化装置
Chang et al. VLSI architecture of modified Euclidean algorithm for Reed–Solomon code
Qamar et al. An efficient encoding algorithm for (n, k) binary cyclic codes
EP0817391A1 (en) Polynomial evaluator for use in a reed-solomon decoder

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031226

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040331

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040512

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041126

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050111

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080121

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100121

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100121

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110121

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120121

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130121

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130121

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250