JP2004510380A - 線形ブロック符号の符号化のための方法および装置 - Google Patents
線形ブロック符号の符号化のための方法および装置 Download PDFInfo
- Publication number
- JP2004510380A JP2004510380A JP2002531612A JP2002531612A JP2004510380A JP 2004510380 A JP2004510380 A JP 2004510380A JP 2002531612 A JP2002531612 A JP 2002531612A JP 2002531612 A JP2002531612 A JP 2002531612A JP 2004510380 A JP2004510380 A JP 2004510380A
- Authority
- JP
- Japan
- Prior art keywords
- zero
- bits
- responses
- encoder
- string
- 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
Links
Images
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/095—Error detection codes other than CRC and single parity bit codes
- H03M13/096—Checksums
-
- 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/47—Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Error Detection And Correction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
Abstract
【解決手段】線形ブロック符号の効率的な符号化のための方法および装置は、並列に符号化することによりより高速な性能をサポートするためにインパルス応答列を含むルックアップテーブルを使用する。利点は、既存の方式に欠如している拡張性を含む。
【選択図】図17
【選択図】図17
Description
【0001】
【発明の属する技術分野】
この発明はデジタル信号の転送(すなわち送信および/または記憶)に関する。特に、この発明は線形ブロック符号の符号化に関する。
【0002】
【関連出願の記載】
デジタル信号は、音声、データおよびビデオ通信および画像、データ、および文書の記憶、処理およびファイル保管のようなアプリケーションに一般に使用されている。残念なことに、記憶媒体および送信チャネルは完全ではないので、それらを通過するデジタル情報にエラーを導入しがちである。例えば記憶媒体において、デジタル信号のいくつかまたはすべてが正しく記憶し、維持し、検索できない欠陥のためにエラーが生じる場合がある。送信チャネルにおいて、エラーは、例えば他の信号からの干渉、またはフェージング処理によるチャネル品質の変化のために起こる場合がある。
【0003】
データの堅固性を増大するために、デジタル信号からチェック値を計算し、チェック値と一緒に送信するエラー検出方式を採用してもよい。(一般的な方法では、デジタル信号はブロックに分割され、転送する前にブロックからチェック値が計算され各ブロックに付加する。他の方法では、デジタル信号とチェック値は、インターリーブ及び/または時間的にその他の配列を持つようにしてもよい。)信号が検索され受信されるとき、チェック値計算が繰返される。転送前または転送後に計算されたチェック値が一致するなら、転送された信号はエラーが無いとみなしてもよい。チェック値が一致しないなら、信号は少なくとも1つのエラーを含んでいるとみなしてもよい。そのような計算に線形ブロック符号を使用されるとき、その結果得られるチェック値はチェックサムと呼ばれ、巡回符号がそのような計算に使用されると、その結果得られるチェック値は巡回冗長検査またはCRCと呼ばれる。使用される符号の種類および遭遇するエラーの数および種類に応じて、デジタル信号の再送信なしにそのようなエラーを訂正できる場合がある。
【0004】
(n,k)巡回符号Cの場合、k情報シンボルはnシンボル符号ワードに符号化される。例えば(48、32)巡回符号は32のオリジナル情報シンボルと16ビットのCRCから構成される48ビットの符号ワードを形成する。この種の巡回符号は、
【数9】
の形式をもつ、次数n−kの生成元多項式G(X)により固有に定義してもよい。そのような符号に従って計算されたチェックサムはn−kビットの長さを有する。(n、k)符号のための例示フォーマットを図1に示す。
【0005】
ガロア域GF(2)を越えた加算は、論理排他的論理和(XOR)演算に帰着し、一方この有限域を越えた乗算は論理論理積演算に帰着する。それゆえ、上述したように、生成元多項式により発生され、GF(2)を越えて印加される巡回符号の場合、エンコーダは図2に示す論理回路を用いて実現してもよい。この図において、giは生成元多項式G(X)の係数を表し、(n−k)記憶素子の各々は1ビット値を保持し、記憶素子の内容は一斉に更新される(すなわち、値はクロックサイクル毎に記憶素子にシフトされる)。最初のkシフトの期間、スイッチプル(switch pulls)は上方位置にあり、エンコーダに情報信号がロード可能である(そして所望であれば出力に通過させることができる)。次の(n−k)のシフトの期間、スイッチプルは下方位置に移動し、エンコーダの状態(すなわち記憶素子の順番の決められた内容に対応するビットストリング)がチェックサム信号としてクロック出力される。
【0006】
エンコーダの設計中に生成元多項式がわかるなら、図2の回路はi番目のANDゲート(gi=0の場合)を省略するかまたは接続構造(gi=1の場合)と交換することにより簡単化するようにしてもよい。例えば、(バージニア州アーリントンの電気通信産業境界により発行されたIS−2000規格のパート2の例えばセクション2.2.3.4.2.1および2.1.3.5.2.1に規定されるような)符号多項式
【数10】
を図3に示す論理回路を用いて実現してもよい。
【0007】
これらのセクションは非常に小さな記憶装置と少ない論理ゲートを用いた非常に低いハードウエア要件を有するが、図2および図3に示すようなシリアルエンコーダの実施はクロック期間あたりわずかに1ビットの入力信号を処理する。そのような性能は遅くて受け入れられない、特にリアルタイムデータストリームを含むアプリケーション(例えば通信アプリケーション)の場合にはそうである。
【0008】
サイクルあたり1ビット以上で動作するエンコーダはあらかじめ計算されたルックアップテーブルを用いて実現されてきた。これらの実現において、現在のサイクルに対する剰余がルックアップテーブルから値を選択するためのインデックスとして使用され、選択された値は次のサイクルに対する剰余を計算するために使用される。そのようなエンコーダはサイクルあたり複数ビットを処理するけれども、そのサイズが剰余の長さに指数関数的に関係するルックアップテーブルを必要とする。それゆえ、そのような実現は倍率特性が悪く、高速および低記憶消費の両方を必要とするアプリケーションには適さないかもしれない。
【0009】
【課題を解決するための手段】
この発明の実施形態に従う装置において、論理マトリクスは情報信号および情報信号の部分に対応するインパルス応答を受信する。論理マトリクスはインパルス応答の少なくとも2つの加算に基づくチェックサムを出力する。
【0010】
【発明の実施の形態】
図4に示すように、この発明の実施形態に従う装置100は論理マトリクス120に入力される幅kビットの情報信号20を受信する。ルックアップテーブル110は論理マトリクス120の入力の他のセットに所定のエンコーダ応答情報を供給する。論理マトリクス120はその入力に関して所定の論理機能を実行し、チェックサム信号30を出力する。
【0011】
ルックアップテーブル110は、特定の生成元多項式G(X)により発生され、所定の始発状態を有する巡回符号のためのエンコーダ(例えば、図2の回路の特定の実施に従うエンコーダ)のインパルス応答に関連する情報を記憶する。特に、ルックアップテーブル110はそのようなエンコーダのkインパルス応答を記憶する。この場合、j番目のインパルス応答(jは1乃至kの整数である)は、j番目のインパルス(すなわち、j番目のビットのみがゼロでない値を有する長さkのストリング)入力におけるシフトから得られるエンコーダの状態である。ルックアップテーブル110を構築する例示的方法は以下に述べる。
【0012】
論理マトリクス120は情報信号20のゼロでないビットに対応する、ルックアップテーブル110からのインパルス応答を選択し、これらの応答の加算値を出力する。図5はk個のANDゲート140と1つのXORゲート150を含む論理マトリクス120の例示実施例のブロック図を示す。各ANDゲート140(m)(mは1乃至kの整数である)は1ビット幅の制御入力と(n−k)ビット幅のデータ入力を有する。ゲート140(m)への制御入力が1の値を有するなら、データ入力は出力に通過する。そうでなければ、ゲートの出力はゼロである。マトリクス120の各ゲート140(m)に対して、制御入力は情報信号20のm番目のビットであり、データ入力はルックアップテーブル110から得たm番目のインパルス応答である。例示実施例において、ANDゲート140(m)は上述した論理機能を実行するように構成されたより制限された入力キャパシティ(例えば2入力NANDゲート)を有するいくつかのまたは多くの論理ゲートから構成される。
【0013】
XORゲート150はANDゲート140(m)のk個の出力を受信し、(n−k)ビット幅の出力を生成する。XORゲート150の出力のP番目のビット(pは1乃至(n−k)の整数である)は、(a)ANDゲート140(m)の出力のp番目のビットの奇数が1の値を有するなら1の値を有し、(b)ANDゲート140(m)の出力のp番目のビットの偶数が1の値を有するならゼロの値を有する。言い換えればXORゲート150の出力は入力のビットに基づくXORであり、出力のp番目のビットは入力のp番目のXORである。
【0014】
XORゲート150はより小さなキャパシティを有するXORゲートのツリーとして実現してもよい。例えば、図6はどのようにして4入力XORゲートが3つの2入力XORゲート(各ゲートは他の論理ゲートから実現してもよい)のツリーから構成できるかを示す。例示実施例において、XORゲート150は、上述した論理機能を実行するように構成されたより制限された入力キャパシティ(例えば2入力NANDゲート)を有するいくつかのまたは多くの論理ゲートから構成される。
【0015】
留意すべきことは、上述した論理機能を実現する際に、論理マトリクス120の実際の構成は、図5に示す特定のもの以外の多くの形態を取るということである。例えば固定のイニシャルエンコーダステートおよび固定のG(X)、nおよびkに対してルックアップテーブルは一定であるので、ANDゲート140(m)への入力のあるビットはゼロであり、それゆえ、これらのゲートの出力の対応するビットもゼロであるということが先験的に知ることができるようにしてもよい。論理マトリクス120の動作は論理式を用いて記載することができるので、ゼロであるとわかっている項をこの式から消去するためにそのような先験的知識を印加することができ、式を少なくし、対応する実装(例えば論理ゲート)を簡単化することができる。そのような低減は手動でまたは自動的に実行することができる。この発明の装置に従う一実施形態において、特定のG(X)、nおよびkのための論理マトリクス120の構成および特定のイニシャルエンコーダステートの構成は、Synopsis社(カリフォルニア州マウンテンビュー)により製造されたデザインコンパイラーのような電子デザインツールを用いてより最適な形態(例えば、図5に示す構成の論理動作に等価な論理動作を実行するためにより少ない論理ゲートを必要とする形態)に低減される。
【0016】
図7はあらかじめ選択された多項式G(X)により発生される巡回符号のためにエンコーダにインパルス入力のシーケンスを入力することによりルックアップテーブル110を発生する例示方法のためのフローチャートを示す。この方法において、エンコーダは、(例えば、図2の回路の特定の実施に従って)ハードウエアで実現してもよい。しかしながら、留意すべきことは、一度ルックアップテーブルの構築が完了すると、そのようなエンコーダと無関係に、この発明を実施することが可能である。それゆえ、少なくともエンコーダの一部はソフトウエアで実現することが望ましいかもしれない。ルックアップテーブル110に記憶すべき情報が利用可能であると、(図4の装置に示すように)ハードウエアであれ、ソフトウエアであれ、そのようなエンコーダと無関係にこの発明を実施することが可能である。
【0017】
サブタスクP110において、カウンタ値iは1に設定される。エンコーダの応答はそのイニシャルステートに依存するので、サブタスクP110は所定のストリングの値をその記憶素子に記憶することによりエンコーダをイニシャライズすることを含む。留意すべきことは、図2に従うエンコーダがゼロステートにイニシャライズされると(すなわち、ゼロのイニシャル値が各記憶素子に記憶される)、ゼロの値のストリングが入力されるとき、エンコーダはそのステートを変えないであろうということである。そのようなストリングは、いくつかのアプリケーションにおいて、共通のリーディングシーケンスであるので、エンコーダを1の値のストリング(またはその他のゼロでないストリングで)イニシャライズすることが望ましいかもしれない。
【0018】
サブタスクP120において、i番目のインパルス入力(すなわち、i番目のビットのみがゼロでない値を有する長さkのストリング)がエンコーダ(またはそのシミュレーション)に入力される。サブタスクP130において、この入力(すなわち、インパルス入力がロードされた後エンコーダのステートを表す(n−k)ビットのストリング)に対するエンコーダの応答はルックアップテーブル110の対応するロケーションに記憶される。サブタスクP140のテスト及びサブタスクP150のループメインテナンスおよびイニシャライズ動作を経由して、すべてのk個の可能なインパルス入力に対してインパルス応答が記憶されるまでサブタスクP110、P120およびP130が、反復される。
【0019】
図8はサブタスクP120およびP130の1つの反復のグラフィック描画である。この例において、i番目のインパルス入力に対するエンコーダの応答はルックアップテーブルのi番目の行に記憶される。しかしながら、入力識別子とテーブルロケーションとの間のその他の所定の対応を使用してもよい。図7および図8に示す方法以外に、装置100に使用するのに適したルックアップテーブル110を発生するための多くの他の方法が可能である。
【0020】
ここに記載した方法および装置は優れた拡張性を示す。例えば、留意すべきは、ルックアップテーブル110のサイズは、nがkの定数とともに増加するので、(またはkが(n−k)の定数と共に増加するので、)線形的にのみ増大する。そのような場合、XORゲートを実現するために使用されるXORゲートのツリーの深さはlog2(N)として成長すると見込まれるであろう。
【0021】
図9はこの発明の他の実施形態に従う装置200のためのブロック図を示す。この装置において、論理マトリクス220により出力される応答信号60は次の符号化におけるイニシャルエンコーダステートとして使用するためにエンコーダステートレジスタ340に記憶するようにしてもよくおよび/または以下に記載するようにチェックサム信号30として出力するようにしてもよい。
【0022】
あるアプリケーションにおいて、kビット以上のデータ信号から(n−k)ビットのチェックサムビットを計算するために(n,k)巡回符号を使用することが望ましいかもしれない。装置200の例示アプリケーションにおいて、符号化されるデータ信号はkビットの隣接しかつ重複しないストリング(すなわちブロック)に分割され、情報信号20の例として(更新信号40と同期して)装置200に連続的に入力される。図10は情報信号20の4つのkビット例20−1乃至20−4に分割されたデータ信号50の例を示す。
【0023】
(例えば、図2の回路の特定の実施に従って)ルックアップテーブル210は特定の生成元多項式G(X)により発生される巡回符号のためのエンコーダのインパルス応答に関連する情報を記憶する。特に、ルックアップテーブル210はゼロイニシャルステートを有するエンコーダのk個のインパルス応答を記憶する(すなわち、各記憶素子はゼロの値を保持する)。j番目のインパルス応答(jは1乃至kの整数)はj番目のインパルス入力におけるシフトから得られるエンコーダのステートであり、この入力はj番目のビットのみがゼロでない値を有する長さkのストリングである。
【0024】
エンコーダのイニシャルステートの変化(例えば情報信号20の1つの例から次の例へ)を説明するために、ルックアップテーブル210はまたエンコーダの(n−k)ゼロ応答も記憶する。特に、q番目のゼロ応答(qは1乃至(n−k)の整数)は、k個のゼロ値ビットが、q番目のコンポーネントイニシャルステートを有するエンコーダにシフトされると得られる状態である。q番目のコンポーネントイニシャルステートはq番目のビットのみがゼロでない値を有する長さ(n−k)のストリングである。
【0025】
図11はルックアップテーブル210のゼロ応答部分を発生する例示方法のためのフローチャートを示す。この方法は、所定のイニシャルステートのセットの1つを有するあらかじめ選択された多項式G(X)により発生される巡回符号のためのエンコーダにゼロ入力を入力することから構成される(なお、この方法は図7のフローチャートに示す方法を含みそのフローチャートのタスクP140から続く)。上述したように、エンコーダは例えば、図2の回路の特定の実施に従う)ハードウエアで実現してもよい。しかし一度ルックアップテーブル210の構築が完了すると、そのようなエンコーダと無関係にこの発明を実施することができる。それゆえ、少なくともエンコーダの一部をソフトウエアで実現することが望ましいかもしれない。ルックアップテーブル210に記憶すべき情報が利用可能であると、(例えば、図9の装置で示すように)ハードウエアであれ、ソフトウエアであれ、そのようなエンコーダに無関係にこの発明を実施することが可能である。
【0026】
サブタスクP160において、カウンタ値qは1に設定される。サブタスクP170において、カウンタ値iはインクリメントされる(または等価的に値(k+q)に設定される)。サブタスクP180において、(n−k)値のストリングをその記憶素子に記憶することによりエンコーダはq番目のコンポーネントイニシャルステートにイニシャライズされる。q番目の値は1であり、他のすべての値はゼロである。
【0027】
サブタスクP190において、ゼロ入力(すなわちk個のゼロビットのストリング)はエンコーダ(またはそのシミュレーション)に入力される。サブタスクP200において、この入力(すなわち、ゼロ入力がロードされた後エンコーダのステートを表す(n−k)ビットのストリング)に対するエンコーダの応答はルックアップテーブル210の対応するロケーションに記憶される。サブタスクP210のテストおよびサブタスクP220におけるループメインテナンス動作を経由して、すべての(n−k)個の可能なコンポーネントイニシャルステートに対してゼロ応答が記憶されるまで、P170、P180、P190およびP200が繰返される。
【0028】
図12はサブタスクP180、P190、およびP200の1つの反復のグラフィック描画である。この例において、ルックアップテーブル210の最初のk行は上述したルックアップテーブル110の最初のk行と同じであり、q番目のコンポーネントイニシャルステートを有するエンコーダのゼロ応答はルックアップテーブル210のi番目の行に記憶される。但し、入力識別子とテーブルロケーションとの間のその他の所定の対応を使用するようにしてもよい。図7、8、11、および12に示す方法の他に、ルックアップテーブル210に使用するのに適したインパルス応答とゼロ応答のセットを発生する多くの他の方法が可能である。
【0029】
図13はn個のANDゲート140と1つのXORゲート250を含む、論理マトリクス220のブロック図を示す。上述したように、各ANDゲート140(r)(rは1乃至nの整数)は1ビット幅の制御入力と(n−k)ビット幅のデータ入力を有する。ゲート140(r)への制御入力が1の値を有するなら、データ入力は出力に通過され、そうでなければ、ゲートの出力はゼロである。
【0030】
マトリクス220の各ゲート140(s)に対して(但し、sは1乃至kの整数)、制御入力はルックアップテーブル210から得た、情報信号20のs番目のビットであり、データ入力はs番目のインパルス応答である。マトリクス220の各ゲート140(t)に対して(tは(k+1)乃至nの整数である)、制御入力はエンコーダステート信号80の(t−k)番目のビットであり、データ入力はルックアップテーブル210から得られた(t−k)番目のゼロ応答である。
【0031】
XORゲート250はANDゲート140(r)のn出力を受信し、(nーk)ビット幅の出力を生成する。XORゲート150の出力のp番目(pは1乃至(n−k)の整数である)のビットは(a)ANDゲート140(r)の出力のp番目のビットの奇数が1の値を有するなら1の値を有し、(b)ANDゲート140(r)の出力のp番目のビットの偶数が1の値を有するならゼロの値を有する。言い換えれば、XORゲート250の出力はその入力のビットにもとづくXORであり、その出力のp番目のビットはその入力のp番目のビットのXORである。XORゲート250の出力は更新信号40の指定された遷移(例えば立ち上がりおよび/または立下り)に応答してCRCレジスタ340に記憶される。
【0032】
XORゲートに関して上述したように、例示実施例において、XORゲート250は、上述した論理機能を実行するように構成されたより制限された入力キャパシティ(例えば2入力NANDゲート)を有するいくつかのまたは多数の論理ゲートから構成してもよい。さらに、論理マトリクス120と同様に、留意すべきは、上述した論理機能を実現する際に、論理マトリクス220の実際の構成は図10に示す特定の構成以外の多くの形態を取ることができる。例えば、固定のG(X)、nおよびkに対してルックアップテーブル210は一定であるので、ANDゲート140(r)へのデータ入力のあるビットがゼロであり、それゆえ、これらのゲートの出力の対応するビットもゼロであるということを先験的に知ることができるようにしてもよい。この発明に従う装置の一実施形態において、論理マトリクス220の構成はSynopsis社(カリフォルニア州、マウンテンビュー)により製造されたデザインコンパイラーのような電子デザインツールを用いてより最適な形態に低減される(例えば、図13に示す論理動作に等価な論理動作を実行するためにより少ない論理ゲートを必要とする形態)。
【0033】
エンコーダステート信号180はエンコーダステートレジスタ340の現在の状態を表す。例示実施において、エンコーダステートレジスタ340は所望のエンコーダイニシャルステートを記憶するためにイニシャライズされる。情報信号20の最初の例20−1が論理マトリクス220の適当な入力に存在するとき、エンコーダステートレジスタ340はエンコーダステート信号80の最初の例80−0を介して論理マトリクス220の適当な入力にこの所望のイニシャルステートを与える。論理マトリクス220の出力(すなわち応答信号60)に対して安定化させるための十分な時間が経過した後、更新信号の指定された遷移によって、エンコーダステートレジスタ340は、その出力を記憶し、エンコーダステート信号80の第2の例80−1として論理マトリクス220に送る。
【0034】
エンコーダステート信号80−1が論理マトリクス220の適当な入力に存在するとき、情報信号20の次の例20−2が論理マトリクス220の対応する適当な入力に存在する。応答信号60に対して、安定化させるための十分な時間が経過した後、更新信号の指定された遷移によって、エンコーダステートレジスタ340はその信号を記憶し、エンコーダステート信号80の第3の例80−2として論理マトリクス220に送る。このプロセスは、情報信号20の最終例20−x、およびエンコーダステート信号80の例80−(x−1)が論理マトリクス220の適当な入力に存在するまで続く。これらの入力に応答して論理マトリクス220の出力(すなわち応答信号60)は元のデータ信号50の所望のチェックサムを表し、この信号はチェックサム信号30として出力される。
【0035】
ほとんどのアプリケーションの場合、装置200がチェックサム信号30として応答信号60の他の例のいずれかを出力する必要はないであろう。それゆえ、他の実現方法として、応答信号60の他の例がチェックサム信号30に現われるのを防止するために(更新信号40に基づいて適当なタイミング信号により制御される)装置200の出力にレジスタおよび/またはゲートを設けても良い。
【0036】
データ信号50の合計ビット数がkの倍数である必要はないかもしれない。例えば、データ信号50はkの倍数である長さにゼロをパディングしてもよい。しかしながら、留意すべきは、そのような場合、パディングしていないデータ信号50を例えば図2に示すエンコーダにシフトすることにより出力されるであろう結果と等価な結果を得るためにチェックサム信号30の最終例にリバースサイクリックシフトを実行する必要があるかも知れない。
【0037】
図14Aは信号ストリームの各データ信号52が幅kの情報信号22の多数の例から構成される信号ストリームを示す。図14Bはチェックサム信号30を含むように符号化した後どのようにこの信号ストリームを構成するかの一例を示す。
【0038】
図15はこの発明のさらなる実施形態に従う装置を示す。エンコーダステートレジスタ340に関して、クロック信号70は図9の装置の更新信号40の関数に類似するこの装置の関数を実行する。情報信号22の新しい例と段階的エンコーダステート信号85がその入力に存在する後に、クロック信号の期間は、少なくとも論理マトリクス220が安定化するのに必要な最大時間と同じ時間であることが望ましい。
【0039】
情報信号22a1の到着が論理マトリクス220の入力にあるとして図5に示す装置の例示アプリケーションについて説明を始める。フロー制御410は、(例えば以下に記載するように)所望のエンコーダイニシャルステートを有する段階的エンコーダステート信号85が、情報信号22a1とともに論理マトリクス220の入力に存在するように構成される。装置200の状態を安定可能にする十分な時間の後に、論理マトリクス220の結果として得られる出力(すなわち応答信号60)はクロック信号70のアサーションによりエンコーダステートレジスタ340(およびエンコーダステート信号80)にクロック入力される。フロー制御410はエンコーダステート信号80を(段階的エンコーダステージ信号85として)論理マトリクス220の入力に渡すように構成される。
【0040】
今、情報信号22a2が論理マトリクス220の入力に到達する。十分な修正時間の後、応答信号60はクロック信号70の別のアサーションによりエンコーダステートレジスタ340にクロック入力される。(すなわち、G(X)により発生される巡回符号を有するデータ信号50aの符号化に対応して)所望のチェックサム30aがエンコーダステートレジスタ340の出力に存在し、必要に応じて装置300により出力可能である。
【0041】
同様に、情報信号22b1は論理マトリクス220の入力に到達する、そしてフロー制御410は、段階的エンコーダステート信号85が所望のエンコーダイニシャルステートを論理マトリクス220の別の入力に与えるように構成される。マトリクス220の結果として得られる出力(すなわち応答信号60)はクロック信号70のアサーションにより、エンコーダステートレジスタ340(およびエンコーダステート信号80)にクロック入力される。フロー制御410はエンコーダステート信号80を(段階的エンコーダステート信号85として)論理マトリクス220の入力に渡すように構成される。次に、情報信号22b2は論理マトリクス220の入力に到達する。十分な修正時間の後で、クロック信号70がアサートされ応答信号をエンコーダステートレジスタ340にクロック入力し、それによりレジスタ340の出力にクロックし、所望のチェックサム30bとして出力する。例示アプリケーションにおいて、データ信号と対応するチェックサムは次に図14Bに示すように組み立てられる。
【0042】
論理マトリクス220へのイニシャルエンコーダステートの指定時刻における供給はフロー制御410を介して自動的に成就される。図16に示すように、ブロック410はマルチプレクサ440を含むことができ、マルチプレクサ440は段階的エンコーダステート信号85を論理マトリクス220の入力(すなわち図10のエンコーダステート信号80を受信するために示される(n−k)入力ラインに)渡す。カウンタ420から受信した信号に応じて、マルチプレクサ440は段階的エンコーダステート信号85をエンコーダステート信号80または(イニシャル値レジスタ430に記憶された)(n−k)ビット幅イニシャルエンコーダステートを運ばせる。
【0043】
カウンタ420は所定のパラメータzに従って動作する。
【0044】
但し
【数11】
(すなわち、D/k以上の最も小さな整数)およびDはデータ信号50のビット長である。図16の例において、z=2である。カウンタ420のカウント値はクロック信号70のサイクル毎にインクリメントされ、zクロックサイクルごとにゼロにリセットされる。カウンタ420のカウント値がゼロのとき、カウンタ420はマルチプレクサ440にレジスタ430からのイニシャルエンコーダステートを出力させる。そうでなければ、カウンタ420はマルチプレクサ440にエンコーダステート信号80を出力させる。必要に応じてエンコーダステート信号80とイニシャルエンコーダ値を、段階的エンコーダステート信号85に載せるための他の多くの構成が可能である。
【0045】
図17に示すように、この発明のさらなる実施形態に従う装置は、入力レジスタ230を含むことができ、入力レジスタ230はデータ信号52を受信し、情報信号22のkビット幅例を出力する。入力レジスタ230はデータ信号52の個々の値を直列におよび/または並列に受信することができる。クロック信号70の各サイクルにおいて、入力レジスタ230が情報信号22の次の例を供給可能とするのに十分なレートでデータ信号がデータを入力レジスタ230に供給することが望ましい。例示実現方法において、入力レジスタ230は環状キューまたは「リングバッファ」として構成してもよい。他の実現方法において、入力レジスタ230はダブルバッファとして構成してもよい。入力レジスタ230へのリードアクセスとライトアクセスが衝突する実装において、入力レジスタ230はデュアルポート記憶素子を用いて実現できる。
【0046】
記載した実施形態の上述した提示は当業者がこの発明を作成または使用可能にするために提供される。これらの実施形態に対する種々の変形が可能であり、ここに提示した一般的原理は他の実施形態にも同様に適用可能である。例えば、この発明は一部分または全体を配線で接続された回路として、特定用途向け集積回路に組み立てられた回路構成として、また不揮発性記憶装置にロードされたファームウエアプログラムとして、または機械読み出し可能なコードとしてデータ記憶媒体からロードされるソフトウエアプログラムまたはデータ記憶媒体にロードされるソフトウエアプログラムとして実現可能である。そのようなコードは、マイクロプロセッサ、マイクロコントローラ、または他のデジタルシグナルプロセッシングユニットのような論理素子のアレイにより実行可能な命令群である。従って、この発明は上に示した実施形態に限定することを意図したものではなく、ここに何らかの方法で開示した原理および新規な特徴に一致する最も広い範囲に一致する。
【図面の簡単な説明】
【図1】
図1は符号ワードのフォーマットを示す図である。
【図2】
図2は巡回符号のための一般的なエンコーダのための論理図である。
【図3】
図3は特定の巡回符号のためのエンコーダの論理図である。
【図4】
図4はこの発明の一実施形態に従う装置のブロック図である。
【図5】
図5は論理マトリクス120のための回路図である。
【図6】
図6はより小さいキャパシティを有するXORゲートのツリーから構成されたXORゲートを示す。
【図7】
図7はルックアップテーブル110を発生するための方法のためのフローチャートを示す。
【図8】
図8は図7の方法サブタスクP120およびP130の1つの反復を示す。
【図9】
図9はこの発明の他の実施形態に従う装置のためのブロック図である。
【図10】
図10は情報信号の例からなるデータ信号のグラフィック描画である。
【図11】
図11は図7に示すフローチャートに続くルックアップテーブル220を発生するための方法のためのフローチャートを示す。
【図12】
図12は図11の方法のサブタスクP180、P190、およびP200の1つの反復を示す。
【図13】
図13は論理マトリクス220のための回路図である。
【図14A】
図14Aはデータ信号の例からなる信号ストリームのグラフィック描画である。
【図14B】
図14Bは符号化された信号ストリームのグラフィック描画である。
【図15】
図15はこの発明のさらに他の実施形態に従う装置のためのブロック図である。
【図16】
図16はフロー制御ブロックのためのブロック図である。
【図17】
図17はこの発明のさらに他の実施形態に従う装置のためのブロック図である。
【発明の属する技術分野】
この発明はデジタル信号の転送(すなわち送信および/または記憶)に関する。特に、この発明は線形ブロック符号の符号化に関する。
【0002】
【関連出願の記載】
デジタル信号は、音声、データおよびビデオ通信および画像、データ、および文書の記憶、処理およびファイル保管のようなアプリケーションに一般に使用されている。残念なことに、記憶媒体および送信チャネルは完全ではないので、それらを通過するデジタル情報にエラーを導入しがちである。例えば記憶媒体において、デジタル信号のいくつかまたはすべてが正しく記憶し、維持し、検索できない欠陥のためにエラーが生じる場合がある。送信チャネルにおいて、エラーは、例えば他の信号からの干渉、またはフェージング処理によるチャネル品質の変化のために起こる場合がある。
【0003】
データの堅固性を増大するために、デジタル信号からチェック値を計算し、チェック値と一緒に送信するエラー検出方式を採用してもよい。(一般的な方法では、デジタル信号はブロックに分割され、転送する前にブロックからチェック値が計算され各ブロックに付加する。他の方法では、デジタル信号とチェック値は、インターリーブ及び/または時間的にその他の配列を持つようにしてもよい。)信号が検索され受信されるとき、チェック値計算が繰返される。転送前または転送後に計算されたチェック値が一致するなら、転送された信号はエラーが無いとみなしてもよい。チェック値が一致しないなら、信号は少なくとも1つのエラーを含んでいるとみなしてもよい。そのような計算に線形ブロック符号を使用されるとき、その結果得られるチェック値はチェックサムと呼ばれ、巡回符号がそのような計算に使用されると、その結果得られるチェック値は巡回冗長検査またはCRCと呼ばれる。使用される符号の種類および遭遇するエラーの数および種類に応じて、デジタル信号の再送信なしにそのようなエラーを訂正できる場合がある。
【0004】
(n,k)巡回符号Cの場合、k情報シンボルはnシンボル符号ワードに符号化される。例えば(48、32)巡回符号は32のオリジナル情報シンボルと16ビットのCRCから構成される48ビットの符号ワードを形成する。この種の巡回符号は、
【数9】
の形式をもつ、次数n−kの生成元多項式G(X)により固有に定義してもよい。そのような符号に従って計算されたチェックサムはn−kビットの長さを有する。(n、k)符号のための例示フォーマットを図1に示す。
【0005】
ガロア域GF(2)を越えた加算は、論理排他的論理和(XOR)演算に帰着し、一方この有限域を越えた乗算は論理論理積演算に帰着する。それゆえ、上述したように、生成元多項式により発生され、GF(2)を越えて印加される巡回符号の場合、エンコーダは図2に示す論理回路を用いて実現してもよい。この図において、giは生成元多項式G(X)の係数を表し、(n−k)記憶素子の各々は1ビット値を保持し、記憶素子の内容は一斉に更新される(すなわち、値はクロックサイクル毎に記憶素子にシフトされる)。最初のkシフトの期間、スイッチプル(switch pulls)は上方位置にあり、エンコーダに情報信号がロード可能である(そして所望であれば出力に通過させることができる)。次の(n−k)のシフトの期間、スイッチプルは下方位置に移動し、エンコーダの状態(すなわち記憶素子の順番の決められた内容に対応するビットストリング)がチェックサム信号としてクロック出力される。
【0006】
エンコーダの設計中に生成元多項式がわかるなら、図2の回路はi番目のANDゲート(gi=0の場合)を省略するかまたは接続構造(gi=1の場合)と交換することにより簡単化するようにしてもよい。例えば、(バージニア州アーリントンの電気通信産業境界により発行されたIS−2000規格のパート2の例えばセクション2.2.3.4.2.1および2.1.3.5.2.1に規定されるような)符号多項式
【数10】
を図3に示す論理回路を用いて実現してもよい。
【0007】
これらのセクションは非常に小さな記憶装置と少ない論理ゲートを用いた非常に低いハードウエア要件を有するが、図2および図3に示すようなシリアルエンコーダの実施はクロック期間あたりわずかに1ビットの入力信号を処理する。そのような性能は遅くて受け入れられない、特にリアルタイムデータストリームを含むアプリケーション(例えば通信アプリケーション)の場合にはそうである。
【0008】
サイクルあたり1ビット以上で動作するエンコーダはあらかじめ計算されたルックアップテーブルを用いて実現されてきた。これらの実現において、現在のサイクルに対する剰余がルックアップテーブルから値を選択するためのインデックスとして使用され、選択された値は次のサイクルに対する剰余を計算するために使用される。そのようなエンコーダはサイクルあたり複数ビットを処理するけれども、そのサイズが剰余の長さに指数関数的に関係するルックアップテーブルを必要とする。それゆえ、そのような実現は倍率特性が悪く、高速および低記憶消費の両方を必要とするアプリケーションには適さないかもしれない。
【0009】
【課題を解決するための手段】
この発明の実施形態に従う装置において、論理マトリクスは情報信号および情報信号の部分に対応するインパルス応答を受信する。論理マトリクスはインパルス応答の少なくとも2つの加算に基づくチェックサムを出力する。
【0010】
【発明の実施の形態】
図4に示すように、この発明の実施形態に従う装置100は論理マトリクス120に入力される幅kビットの情報信号20を受信する。ルックアップテーブル110は論理マトリクス120の入力の他のセットに所定のエンコーダ応答情報を供給する。論理マトリクス120はその入力に関して所定の論理機能を実行し、チェックサム信号30を出力する。
【0011】
ルックアップテーブル110は、特定の生成元多項式G(X)により発生され、所定の始発状態を有する巡回符号のためのエンコーダ(例えば、図2の回路の特定の実施に従うエンコーダ)のインパルス応答に関連する情報を記憶する。特に、ルックアップテーブル110はそのようなエンコーダのkインパルス応答を記憶する。この場合、j番目のインパルス応答(jは1乃至kの整数である)は、j番目のインパルス(すなわち、j番目のビットのみがゼロでない値を有する長さkのストリング)入力におけるシフトから得られるエンコーダの状態である。ルックアップテーブル110を構築する例示的方法は以下に述べる。
【0012】
論理マトリクス120は情報信号20のゼロでないビットに対応する、ルックアップテーブル110からのインパルス応答を選択し、これらの応答の加算値を出力する。図5はk個のANDゲート140と1つのXORゲート150を含む論理マトリクス120の例示実施例のブロック図を示す。各ANDゲート140(m)(mは1乃至kの整数である)は1ビット幅の制御入力と(n−k)ビット幅のデータ入力を有する。ゲート140(m)への制御入力が1の値を有するなら、データ入力は出力に通過する。そうでなければ、ゲートの出力はゼロである。マトリクス120の各ゲート140(m)に対して、制御入力は情報信号20のm番目のビットであり、データ入力はルックアップテーブル110から得たm番目のインパルス応答である。例示実施例において、ANDゲート140(m)は上述した論理機能を実行するように構成されたより制限された入力キャパシティ(例えば2入力NANDゲート)を有するいくつかのまたは多くの論理ゲートから構成される。
【0013】
XORゲート150はANDゲート140(m)のk個の出力を受信し、(n−k)ビット幅の出力を生成する。XORゲート150の出力のP番目のビット(pは1乃至(n−k)の整数である)は、(a)ANDゲート140(m)の出力のp番目のビットの奇数が1の値を有するなら1の値を有し、(b)ANDゲート140(m)の出力のp番目のビットの偶数が1の値を有するならゼロの値を有する。言い換えればXORゲート150の出力は入力のビットに基づくXORであり、出力のp番目のビットは入力のp番目のXORである。
【0014】
XORゲート150はより小さなキャパシティを有するXORゲートのツリーとして実現してもよい。例えば、図6はどのようにして4入力XORゲートが3つの2入力XORゲート(各ゲートは他の論理ゲートから実現してもよい)のツリーから構成できるかを示す。例示実施例において、XORゲート150は、上述した論理機能を実行するように構成されたより制限された入力キャパシティ(例えば2入力NANDゲート)を有するいくつかのまたは多くの論理ゲートから構成される。
【0015】
留意すべきことは、上述した論理機能を実現する際に、論理マトリクス120の実際の構成は、図5に示す特定のもの以外の多くの形態を取るということである。例えば固定のイニシャルエンコーダステートおよび固定のG(X)、nおよびkに対してルックアップテーブルは一定であるので、ANDゲート140(m)への入力のあるビットはゼロであり、それゆえ、これらのゲートの出力の対応するビットもゼロであるということが先験的に知ることができるようにしてもよい。論理マトリクス120の動作は論理式を用いて記載することができるので、ゼロであるとわかっている項をこの式から消去するためにそのような先験的知識を印加することができ、式を少なくし、対応する実装(例えば論理ゲート)を簡単化することができる。そのような低減は手動でまたは自動的に実行することができる。この発明の装置に従う一実施形態において、特定のG(X)、nおよびkのための論理マトリクス120の構成および特定のイニシャルエンコーダステートの構成は、Synopsis社(カリフォルニア州マウンテンビュー)により製造されたデザインコンパイラーのような電子デザインツールを用いてより最適な形態(例えば、図5に示す構成の論理動作に等価な論理動作を実行するためにより少ない論理ゲートを必要とする形態)に低減される。
【0016】
図7はあらかじめ選択された多項式G(X)により発生される巡回符号のためにエンコーダにインパルス入力のシーケンスを入力することによりルックアップテーブル110を発生する例示方法のためのフローチャートを示す。この方法において、エンコーダは、(例えば、図2の回路の特定の実施に従って)ハードウエアで実現してもよい。しかしながら、留意すべきことは、一度ルックアップテーブルの構築が完了すると、そのようなエンコーダと無関係に、この発明を実施することが可能である。それゆえ、少なくともエンコーダの一部はソフトウエアで実現することが望ましいかもしれない。ルックアップテーブル110に記憶すべき情報が利用可能であると、(図4の装置に示すように)ハードウエアであれ、ソフトウエアであれ、そのようなエンコーダと無関係にこの発明を実施することが可能である。
【0017】
サブタスクP110において、カウンタ値iは1に設定される。エンコーダの応答はそのイニシャルステートに依存するので、サブタスクP110は所定のストリングの値をその記憶素子に記憶することによりエンコーダをイニシャライズすることを含む。留意すべきことは、図2に従うエンコーダがゼロステートにイニシャライズされると(すなわち、ゼロのイニシャル値が各記憶素子に記憶される)、ゼロの値のストリングが入力されるとき、エンコーダはそのステートを変えないであろうということである。そのようなストリングは、いくつかのアプリケーションにおいて、共通のリーディングシーケンスであるので、エンコーダを1の値のストリング(またはその他のゼロでないストリングで)イニシャライズすることが望ましいかもしれない。
【0018】
サブタスクP120において、i番目のインパルス入力(すなわち、i番目のビットのみがゼロでない値を有する長さkのストリング)がエンコーダ(またはそのシミュレーション)に入力される。サブタスクP130において、この入力(すなわち、インパルス入力がロードされた後エンコーダのステートを表す(n−k)ビットのストリング)に対するエンコーダの応答はルックアップテーブル110の対応するロケーションに記憶される。サブタスクP140のテスト及びサブタスクP150のループメインテナンスおよびイニシャライズ動作を経由して、すべてのk個の可能なインパルス入力に対してインパルス応答が記憶されるまでサブタスクP110、P120およびP130が、反復される。
【0019】
図8はサブタスクP120およびP130の1つの反復のグラフィック描画である。この例において、i番目のインパルス入力に対するエンコーダの応答はルックアップテーブルのi番目の行に記憶される。しかしながら、入力識別子とテーブルロケーションとの間のその他の所定の対応を使用してもよい。図7および図8に示す方法以外に、装置100に使用するのに適したルックアップテーブル110を発生するための多くの他の方法が可能である。
【0020】
ここに記載した方法および装置は優れた拡張性を示す。例えば、留意すべきは、ルックアップテーブル110のサイズは、nがkの定数とともに増加するので、(またはkが(n−k)の定数と共に増加するので、)線形的にのみ増大する。そのような場合、XORゲートを実現するために使用されるXORゲートのツリーの深さはlog2(N)として成長すると見込まれるであろう。
【0021】
図9はこの発明の他の実施形態に従う装置200のためのブロック図を示す。この装置において、論理マトリクス220により出力される応答信号60は次の符号化におけるイニシャルエンコーダステートとして使用するためにエンコーダステートレジスタ340に記憶するようにしてもよくおよび/または以下に記載するようにチェックサム信号30として出力するようにしてもよい。
【0022】
あるアプリケーションにおいて、kビット以上のデータ信号から(n−k)ビットのチェックサムビットを計算するために(n,k)巡回符号を使用することが望ましいかもしれない。装置200の例示アプリケーションにおいて、符号化されるデータ信号はkビットの隣接しかつ重複しないストリング(すなわちブロック)に分割され、情報信号20の例として(更新信号40と同期して)装置200に連続的に入力される。図10は情報信号20の4つのkビット例20−1乃至20−4に分割されたデータ信号50の例を示す。
【0023】
(例えば、図2の回路の特定の実施に従って)ルックアップテーブル210は特定の生成元多項式G(X)により発生される巡回符号のためのエンコーダのインパルス応答に関連する情報を記憶する。特に、ルックアップテーブル210はゼロイニシャルステートを有するエンコーダのk個のインパルス応答を記憶する(すなわち、各記憶素子はゼロの値を保持する)。j番目のインパルス応答(jは1乃至kの整数)はj番目のインパルス入力におけるシフトから得られるエンコーダのステートであり、この入力はj番目のビットのみがゼロでない値を有する長さkのストリングである。
【0024】
エンコーダのイニシャルステートの変化(例えば情報信号20の1つの例から次の例へ)を説明するために、ルックアップテーブル210はまたエンコーダの(n−k)ゼロ応答も記憶する。特に、q番目のゼロ応答(qは1乃至(n−k)の整数)は、k個のゼロ値ビットが、q番目のコンポーネントイニシャルステートを有するエンコーダにシフトされると得られる状態である。q番目のコンポーネントイニシャルステートはq番目のビットのみがゼロでない値を有する長さ(n−k)のストリングである。
【0025】
図11はルックアップテーブル210のゼロ応答部分を発生する例示方法のためのフローチャートを示す。この方法は、所定のイニシャルステートのセットの1つを有するあらかじめ選択された多項式G(X)により発生される巡回符号のためのエンコーダにゼロ入力を入力することから構成される(なお、この方法は図7のフローチャートに示す方法を含みそのフローチャートのタスクP140から続く)。上述したように、エンコーダは例えば、図2の回路の特定の実施に従う)ハードウエアで実現してもよい。しかし一度ルックアップテーブル210の構築が完了すると、そのようなエンコーダと無関係にこの発明を実施することができる。それゆえ、少なくともエンコーダの一部をソフトウエアで実現することが望ましいかもしれない。ルックアップテーブル210に記憶すべき情報が利用可能であると、(例えば、図9の装置で示すように)ハードウエアであれ、ソフトウエアであれ、そのようなエンコーダに無関係にこの発明を実施することが可能である。
【0026】
サブタスクP160において、カウンタ値qは1に設定される。サブタスクP170において、カウンタ値iはインクリメントされる(または等価的に値(k+q)に設定される)。サブタスクP180において、(n−k)値のストリングをその記憶素子に記憶することによりエンコーダはq番目のコンポーネントイニシャルステートにイニシャライズされる。q番目の値は1であり、他のすべての値はゼロである。
【0027】
サブタスクP190において、ゼロ入力(すなわちk個のゼロビットのストリング)はエンコーダ(またはそのシミュレーション)に入力される。サブタスクP200において、この入力(すなわち、ゼロ入力がロードされた後エンコーダのステートを表す(n−k)ビットのストリング)に対するエンコーダの応答はルックアップテーブル210の対応するロケーションに記憶される。サブタスクP210のテストおよびサブタスクP220におけるループメインテナンス動作を経由して、すべての(n−k)個の可能なコンポーネントイニシャルステートに対してゼロ応答が記憶されるまで、P170、P180、P190およびP200が繰返される。
【0028】
図12はサブタスクP180、P190、およびP200の1つの反復のグラフィック描画である。この例において、ルックアップテーブル210の最初のk行は上述したルックアップテーブル110の最初のk行と同じであり、q番目のコンポーネントイニシャルステートを有するエンコーダのゼロ応答はルックアップテーブル210のi番目の行に記憶される。但し、入力識別子とテーブルロケーションとの間のその他の所定の対応を使用するようにしてもよい。図7、8、11、および12に示す方法の他に、ルックアップテーブル210に使用するのに適したインパルス応答とゼロ応答のセットを発生する多くの他の方法が可能である。
【0029】
図13はn個のANDゲート140と1つのXORゲート250を含む、論理マトリクス220のブロック図を示す。上述したように、各ANDゲート140(r)(rは1乃至nの整数)は1ビット幅の制御入力と(n−k)ビット幅のデータ入力を有する。ゲート140(r)への制御入力が1の値を有するなら、データ入力は出力に通過され、そうでなければ、ゲートの出力はゼロである。
【0030】
マトリクス220の各ゲート140(s)に対して(但し、sは1乃至kの整数)、制御入力はルックアップテーブル210から得た、情報信号20のs番目のビットであり、データ入力はs番目のインパルス応答である。マトリクス220の各ゲート140(t)に対して(tは(k+1)乃至nの整数である)、制御入力はエンコーダステート信号80の(t−k)番目のビットであり、データ入力はルックアップテーブル210から得られた(t−k)番目のゼロ応答である。
【0031】
XORゲート250はANDゲート140(r)のn出力を受信し、(nーk)ビット幅の出力を生成する。XORゲート150の出力のp番目(pは1乃至(n−k)の整数である)のビットは(a)ANDゲート140(r)の出力のp番目のビットの奇数が1の値を有するなら1の値を有し、(b)ANDゲート140(r)の出力のp番目のビットの偶数が1の値を有するならゼロの値を有する。言い換えれば、XORゲート250の出力はその入力のビットにもとづくXORであり、その出力のp番目のビットはその入力のp番目のビットのXORである。XORゲート250の出力は更新信号40の指定された遷移(例えば立ち上がりおよび/または立下り)に応答してCRCレジスタ340に記憶される。
【0032】
XORゲートに関して上述したように、例示実施例において、XORゲート250は、上述した論理機能を実行するように構成されたより制限された入力キャパシティ(例えば2入力NANDゲート)を有するいくつかのまたは多数の論理ゲートから構成してもよい。さらに、論理マトリクス120と同様に、留意すべきは、上述した論理機能を実現する際に、論理マトリクス220の実際の構成は図10に示す特定の構成以外の多くの形態を取ることができる。例えば、固定のG(X)、nおよびkに対してルックアップテーブル210は一定であるので、ANDゲート140(r)へのデータ入力のあるビットがゼロであり、それゆえ、これらのゲートの出力の対応するビットもゼロであるということを先験的に知ることができるようにしてもよい。この発明に従う装置の一実施形態において、論理マトリクス220の構成はSynopsis社(カリフォルニア州、マウンテンビュー)により製造されたデザインコンパイラーのような電子デザインツールを用いてより最適な形態に低減される(例えば、図13に示す論理動作に等価な論理動作を実行するためにより少ない論理ゲートを必要とする形態)。
【0033】
エンコーダステート信号180はエンコーダステートレジスタ340の現在の状態を表す。例示実施において、エンコーダステートレジスタ340は所望のエンコーダイニシャルステートを記憶するためにイニシャライズされる。情報信号20の最初の例20−1が論理マトリクス220の適当な入力に存在するとき、エンコーダステートレジスタ340はエンコーダステート信号80の最初の例80−0を介して論理マトリクス220の適当な入力にこの所望のイニシャルステートを与える。論理マトリクス220の出力(すなわち応答信号60)に対して安定化させるための十分な時間が経過した後、更新信号の指定された遷移によって、エンコーダステートレジスタ340は、その出力を記憶し、エンコーダステート信号80の第2の例80−1として論理マトリクス220に送る。
【0034】
エンコーダステート信号80−1が論理マトリクス220の適当な入力に存在するとき、情報信号20の次の例20−2が論理マトリクス220の対応する適当な入力に存在する。応答信号60に対して、安定化させるための十分な時間が経過した後、更新信号の指定された遷移によって、エンコーダステートレジスタ340はその信号を記憶し、エンコーダステート信号80の第3の例80−2として論理マトリクス220に送る。このプロセスは、情報信号20の最終例20−x、およびエンコーダステート信号80の例80−(x−1)が論理マトリクス220の適当な入力に存在するまで続く。これらの入力に応答して論理マトリクス220の出力(すなわち応答信号60)は元のデータ信号50の所望のチェックサムを表し、この信号はチェックサム信号30として出力される。
【0035】
ほとんどのアプリケーションの場合、装置200がチェックサム信号30として応答信号60の他の例のいずれかを出力する必要はないであろう。それゆえ、他の実現方法として、応答信号60の他の例がチェックサム信号30に現われるのを防止するために(更新信号40に基づいて適当なタイミング信号により制御される)装置200の出力にレジスタおよび/またはゲートを設けても良い。
【0036】
データ信号50の合計ビット数がkの倍数である必要はないかもしれない。例えば、データ信号50はkの倍数である長さにゼロをパディングしてもよい。しかしながら、留意すべきは、そのような場合、パディングしていないデータ信号50を例えば図2に示すエンコーダにシフトすることにより出力されるであろう結果と等価な結果を得るためにチェックサム信号30の最終例にリバースサイクリックシフトを実行する必要があるかも知れない。
【0037】
図14Aは信号ストリームの各データ信号52が幅kの情報信号22の多数の例から構成される信号ストリームを示す。図14Bはチェックサム信号30を含むように符号化した後どのようにこの信号ストリームを構成するかの一例を示す。
【0038】
図15はこの発明のさらなる実施形態に従う装置を示す。エンコーダステートレジスタ340に関して、クロック信号70は図9の装置の更新信号40の関数に類似するこの装置の関数を実行する。情報信号22の新しい例と段階的エンコーダステート信号85がその入力に存在する後に、クロック信号の期間は、少なくとも論理マトリクス220が安定化するのに必要な最大時間と同じ時間であることが望ましい。
【0039】
情報信号22a1の到着が論理マトリクス220の入力にあるとして図5に示す装置の例示アプリケーションについて説明を始める。フロー制御410は、(例えば以下に記載するように)所望のエンコーダイニシャルステートを有する段階的エンコーダステート信号85が、情報信号22a1とともに論理マトリクス220の入力に存在するように構成される。装置200の状態を安定可能にする十分な時間の後に、論理マトリクス220の結果として得られる出力(すなわち応答信号60)はクロック信号70のアサーションによりエンコーダステートレジスタ340(およびエンコーダステート信号80)にクロック入力される。フロー制御410はエンコーダステート信号80を(段階的エンコーダステージ信号85として)論理マトリクス220の入力に渡すように構成される。
【0040】
今、情報信号22a2が論理マトリクス220の入力に到達する。十分な修正時間の後、応答信号60はクロック信号70の別のアサーションによりエンコーダステートレジスタ340にクロック入力される。(すなわち、G(X)により発生される巡回符号を有するデータ信号50aの符号化に対応して)所望のチェックサム30aがエンコーダステートレジスタ340の出力に存在し、必要に応じて装置300により出力可能である。
【0041】
同様に、情報信号22b1は論理マトリクス220の入力に到達する、そしてフロー制御410は、段階的エンコーダステート信号85が所望のエンコーダイニシャルステートを論理マトリクス220の別の入力に与えるように構成される。マトリクス220の結果として得られる出力(すなわち応答信号60)はクロック信号70のアサーションにより、エンコーダステートレジスタ340(およびエンコーダステート信号80)にクロック入力される。フロー制御410はエンコーダステート信号80を(段階的エンコーダステート信号85として)論理マトリクス220の入力に渡すように構成される。次に、情報信号22b2は論理マトリクス220の入力に到達する。十分な修正時間の後で、クロック信号70がアサートされ応答信号をエンコーダステートレジスタ340にクロック入力し、それによりレジスタ340の出力にクロックし、所望のチェックサム30bとして出力する。例示アプリケーションにおいて、データ信号と対応するチェックサムは次に図14Bに示すように組み立てられる。
【0042】
論理マトリクス220へのイニシャルエンコーダステートの指定時刻における供給はフロー制御410を介して自動的に成就される。図16に示すように、ブロック410はマルチプレクサ440を含むことができ、マルチプレクサ440は段階的エンコーダステート信号85を論理マトリクス220の入力(すなわち図10のエンコーダステート信号80を受信するために示される(n−k)入力ラインに)渡す。カウンタ420から受信した信号に応じて、マルチプレクサ440は段階的エンコーダステート信号85をエンコーダステート信号80または(イニシャル値レジスタ430に記憶された)(n−k)ビット幅イニシャルエンコーダステートを運ばせる。
【0043】
カウンタ420は所定のパラメータzに従って動作する。
【0044】
但し
【数11】
(すなわち、D/k以上の最も小さな整数)およびDはデータ信号50のビット長である。図16の例において、z=2である。カウンタ420のカウント値はクロック信号70のサイクル毎にインクリメントされ、zクロックサイクルごとにゼロにリセットされる。カウンタ420のカウント値がゼロのとき、カウンタ420はマルチプレクサ440にレジスタ430からのイニシャルエンコーダステートを出力させる。そうでなければ、カウンタ420はマルチプレクサ440にエンコーダステート信号80を出力させる。必要に応じてエンコーダステート信号80とイニシャルエンコーダ値を、段階的エンコーダステート信号85に載せるための他の多くの構成が可能である。
【0045】
図17に示すように、この発明のさらなる実施形態に従う装置は、入力レジスタ230を含むことができ、入力レジスタ230はデータ信号52を受信し、情報信号22のkビット幅例を出力する。入力レジスタ230はデータ信号52の個々の値を直列におよび/または並列に受信することができる。クロック信号70の各サイクルにおいて、入力レジスタ230が情報信号22の次の例を供給可能とするのに十分なレートでデータ信号がデータを入力レジスタ230に供給することが望ましい。例示実現方法において、入力レジスタ230は環状キューまたは「リングバッファ」として構成してもよい。他の実現方法において、入力レジスタ230はダブルバッファとして構成してもよい。入力レジスタ230へのリードアクセスとライトアクセスが衝突する実装において、入力レジスタ230はデュアルポート記憶素子を用いて実現できる。
【0046】
記載した実施形態の上述した提示は当業者がこの発明を作成または使用可能にするために提供される。これらの実施形態に対する種々の変形が可能であり、ここに提示した一般的原理は他の実施形態にも同様に適用可能である。例えば、この発明は一部分または全体を配線で接続された回路として、特定用途向け集積回路に組み立てられた回路構成として、また不揮発性記憶装置にロードされたファームウエアプログラムとして、または機械読み出し可能なコードとしてデータ記憶媒体からロードされるソフトウエアプログラムまたはデータ記憶媒体にロードされるソフトウエアプログラムとして実現可能である。そのようなコードは、マイクロプロセッサ、マイクロコントローラ、または他のデジタルシグナルプロセッシングユニットのような論理素子のアレイにより実行可能な命令群である。従って、この発明は上に示した実施形態に限定することを意図したものではなく、ここに何らかの方法で開示した原理および新規な特徴に一致する最も広い範囲に一致する。
【図面の簡単な説明】
【図1】
図1は符号ワードのフォーマットを示す図である。
【図2】
図2は巡回符号のための一般的なエンコーダのための論理図である。
【図3】
図3は特定の巡回符号のためのエンコーダの論理図である。
【図4】
図4はこの発明の一実施形態に従う装置のブロック図である。
【図5】
図5は論理マトリクス120のための回路図である。
【図6】
図6はより小さいキャパシティを有するXORゲートのツリーから構成されたXORゲートを示す。
【図7】
図7はルックアップテーブル110を発生するための方法のためのフローチャートを示す。
【図8】
図8は図7の方法サブタスクP120およびP130の1つの反復を示す。
【図9】
図9はこの発明の他の実施形態に従う装置のためのブロック図である。
【図10】
図10は情報信号の例からなるデータ信号のグラフィック描画である。
【図11】
図11は図7に示すフローチャートに続くルックアップテーブル220を発生するための方法のためのフローチャートを示す。
【図12】
図12は図11の方法のサブタスクP180、P190、およびP200の1つの反復を示す。
【図13】
図13は論理マトリクス220のための回路図である。
【図14A】
図14Aはデータ信号の例からなる信号ストリームのグラフィック描画である。
【図14B】
図14Bは符号化された信号ストリームのグラフィック描画である。
【図15】
図15はこの発明のさらに他の実施形態に従う装置のためのブロック図である。
【図16】
図16はフロー制御ブロックのためのブロック図である。
【図17】
図17はこの発明のさらに他の実施形態に従う装置のためのブロック図である。
Claims (34)
- 下記工程を具備する方法:
情報信号を受信する、前記情報信号はゼロでない値を有するpビットを含むkビットのストリングからなる(kおよびpは整数である);
p個のインパルス応答を受信する、前記p個のインパルス応答の各々は前記pビットのうちの1つに対応する;および
チェックサムを得る、前記チェックサムは前記p個のインパルス応答の加算からなる。 - 前記p個のインパルス応答の各々は線形ブロック符号のためのエンコーダのkビットのストリングに対する応答を表し、前記ストリングは(k−1)個のゼロビットとゼロでないビットをp番目の位置に含む、請求項1の方法。
- 前記チェックサムは前記p個のインパルス応答の2を法とする加算から構成される、請求項1の方法。
- 下記工程を具備する方法:
情報信号を受信する、前記情報信号はゼロでない値を有するpビットを含むkビットのストリングから構成される(kおよびpは整数である);
インパルス応答を受信する、前記p個のインパルス応答の各々は前記pビットのうちの1つに対応する;
エンコーダステート信号を受信する、前記エンコーダステート信号は、ゼロでない値を有するrビットを含む(n−k)ビットのストリングから構成される(nおよびrは整数である);
r個のゼロ応答を受信する、前記r個のゼロ応答の各々は前記rビットのうちの
1つに対応する;および
チェックサムを得る、前記チェックサムは前記p個のインパルス応答と前記r個のゼロ応答の加算である。 - 前記p個のインパルス応答の各々は、線形ブロック符号のためのエンコーダの、kビットのストリングに対する応答を表し、前記ストリングは(k−1)個のゼロビットとゼロでないビットをp番目の位置に含む。
- 前記チェックサムは前記p個のインパルス応答と前記r個のゼロ応答の2を法とする加算から構成される、請求項5の方法。
- 前記r個のゼロ応答の各々はr番目のコンポーネントイニシャルステートを有する線形ブロック符号のためのエンコーダのk個のゼロビットのストリングに対する応答を表し、
前記r番目のコンポーネントイニシャルステートは(n−k−1)個のゼロビットおよびゼロでないビットをr番目の位置に含む長さ(n−k)のストリングである、請求項5の方法。 - 下記工程を具備する方法:
符号化のための信号を受信する;
複数のインパルス応答を受信する;
複数のゼロ応答を受信する;および
チェックサムを得る;
前記チェックサムは少なくとも2つの応答の加算から構成され;
前記少なくとも2つの応答の各々は前記複数のインパルス応答および前記複数のゼロ応答のうちの1つの一部分であり;
前記少なくとも2つの応答の各々は前記符号化のための信号内の所定位置に対応する。 - 前記少なくとも2つの応答の各々はゼロでない値を有するビットにより占有される前記符号化のための信号内の位置に対応する、請求項11の方法。
- 前記チェックサムは2を法とする加算から構成される、請求項11の方法。
- 下記工程を具備する方法:
第1情報信号を受信する、前記第1情報信号はゼロでない値を有するpビットを含むkビットのストリングから構成される(kおよびpは整数である);
p個のインパルス応答を受信する、前記p個のインパルス応答の各々は、前記pビットの1つに対応する;
第1エンコーダステート信号を受信する、前記第1エンコーダステート信号はゼロでない値を有するrビットを含む(n−k)ビットのストリングから構成される(nおよびrは整数である);
r個のゼロ応答を受信する、前記r個のゼロ応答の各々は前記rビットの1つに対応する;
第2エンコーダステート信号を得る、前記第2エンコーダステート信号は前記p個のインパルス応答と前記r個のゼロ応答の加算から構成される;
第2情報信号を受信する、前記第2情報信号はkビットのストリングから構成される;および
チェックサムを得る、前記チェックサムは少なくとも一部が前記第2エンコーダステート信号および前記第2情報信号に基づく。 - 前記p個のインパルス応答の各々は線形ブロック符号のためのエンコーダの、kビットのストリングに対する応答を表し、前記ストリングは(k−1)個のゼロビットおよびゼロでないビットをp番目の位置に含む、請求項14の方法。
- 前記r個のゼロ応答の各々はr番目のコンポーネントイニシャルステートを有する線形ブロック符号のためのエンコーダの、k個のゼロビットのストリングに対する応答を表す、請求項14の方法。
- 下記工程を具備する方法:
第1情報信号を受信する、前記第1情報信号はゼロでない値を有するpビットを含むkビットのストリングから構成される(kおよびpは整数である);
p個のインパルス応答を受信する、前記p個のインパルス応答の各々は前記pビットの1つに対応する;
第1エンコーダステート信号を受信する、前記第1エンコーダステート信号はゼロでない値を有するrビットを含む(n−k)ビットのストリングから構成される(nおよびrは整数である);
r個のゼロ応答を受信する、前記r個のゼロ応答の各々は前記rビットの1つに対応する;
第2エンコーダステート信号を得る、前記第2エンコーダステート信号は前記p個のインパルス応答と前記r個のゼロ応答の加算でありゼロでない値を有するsビットを含む(n−k)ビットのストリングから構成される;
第2情報信号を受信する、前記第2情報信号はゼロでない値を有するqビットを含むkビットのストリングから構成される;
q個のインパルス応答を受信する、前記q個のインパルス応答の各々は前記qビットの1つに対応する;
s個のゼロ応答を受信する、前記s個のゼロ応答の各々は前記sビットの1つに対応する;および
チェックサムを得る、前記チェックサムは前記q個のインパルス応答と前記s個のゼロ応答の加算である。 - 前記p個のインパルス応答の各々は、線形ブロック符号のためのエンコーダの、kビットのストリングに対する応答を表し、前記ストリングは(k−1)個のゼロビットおよびゼロでないビットをp番目の位置に含む、請求項19の方法。
- 前記チェックサムは前記q個のインパルス応答と前記s個のゼロ応答の2を法とする加算から構成される、請求項19の方法。
- 前記r個のゼロ応答の各々は、r番目のコンポーネントイニシャルステートを有する線形ブロック符号のためのエンコーダの、kゼロビットのストリングに対する応答を表し、
前記r番目のコンポーネントイニシャルステートは(n−k−1)個のゼロビットとゼロでないビットをr番目の位置に含む長さ(n−k)のストリングである、請求項19の方法。 - 下記工程を具備する方法:
情報信号を受信する、前記情報信号はゼロでない値を有するpビットを含むkビットのストリングから構成される(kおよびpは整数である);
k個のインパルス応答を受信する、前記k個のインパルス応答の各々は前記kビットの1つに対応する;および
チェックサムを得る、前記チェックサムは前記k個のインパルス応答のうちのp個の加算から構成される。 - 前記k個のインパルス応答の各々は線形ブロック符号のためのエンコーダの、kビットのストリングに対する応答を表し、前記ストリングは(k−1)個のゼロビットおよびゼロでないビットを含む、請求項25の方法
- 前記チェックサムはp個のインパルス応答の2を法とする加算から構成される、請求項25の方法。
- 下記を具備する装置:
情報信号を受信し、チェックサムを出力するように構成配置された論理マトリクス;および
線形ブロック符号のためのエンコーダの複数の応答を記憶するように構成配置されたルックアップテーブル;
前記複数の応答の各々は所定の入力ストリングに対するエンコーダの応答から構成され、および
前記チェックサムは前記複数の応答の少なくとも2つの加算から構成される;および
前記複数の応答の前記少なくとも2つは少なくとも一部分が前記情報信号の少なくとも一部分に基づいている。 - 前記情報信号はkビットのストリングから構成され、kは整数であり、および
前記複数の応答はK個のインパルス応答を含み、前記k個のインパルス応答の各々は前記情報信号内の位置に対応する。 - 前記k個のインパルス応答の各々はゼロイニシャルステートを有するエンコーダの、kビットのストリングに対する応答から構成され、
前記kビットのストリングは前記情報信号内の位置に対応する位置にゼロでない値のビットと、ゼロの値の(k−1)ビットを含む、請求項30の装置。 - 前記論理マトリクスはエンコーダステート信号を受信するようにさらに構成配置され、および
前記複数の応答の前記少なくとも2つは、少なくとも一部分が前記エンコーダステート信号の少なくとも一部にもとづいて選択される、請求項29の装置。 - 前記エンコーダステート信号は(n−k)ビットのストリングから構成され、nは整数であり、および
前記複数の応答は(n−k)個のゼロ応答を含み、前記(n−k)個のゼロ応答の各々は前記エンコーダステート信号内の位置に対応する、請求項32の装置。 - 前記(n−k)個のゼロ応答の各々はコンポーネントイニシャルステートを有するエンコーダの、ゼロ値を有するkビットのストリングに対する応答から構成され、
前記コンポーネントイニシャルステートは、前記エンコーダステート信号内の位置に対応する位置にゼロでない値を有するビットと、ゼロ値を有する(k−1)ビットを含む、請求項33の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/671,372 US6763492B1 (en) | 2000-09-26 | 2000-09-26 | Method and apparatus for encoding of linear block codes |
PCT/US2001/028496 WO2002027939A2 (en) | 2000-09-26 | 2001-09-14 | Method and apparatus for encoding of linear block codes |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004510380A true JP2004510380A (ja) | 2004-04-02 |
Family
ID=24694257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002531612A Pending JP2004510380A (ja) | 2000-09-26 | 2001-09-14 | 線形ブロック符号の符号化のための方法および装置 |
Country Status (15)
Country | Link |
---|---|
US (1) | US6763492B1 (ja) |
EP (2) | EP2209215A1 (ja) |
JP (1) | JP2004510380A (ja) |
KR (1) | KR100894234B1 (ja) |
CN (2) | CN101083468A (ja) |
AU (1) | AU2001289032A1 (ja) |
BR (1) | BR0114169A (ja) |
CA (1) | CA2423425A1 (ja) |
HK (1) | HK1061121A1 (ja) |
IL (1) | IL154898A0 (ja) |
MX (1) | MXPA03002622A (ja) |
NO (1) | NO20031352L (ja) |
RU (1) | RU2003112223A (ja) |
TW (1) | TW531973B (ja) |
WO (1) | WO2002027939A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008527795A (ja) * | 2004-12-30 | 2008-07-24 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 無線通信システムにおける双方向中継のための方法及び装置 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7458006B2 (en) * | 2002-02-22 | 2008-11-25 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Methods for computing the CRC of a message from the incremental CRCs of composite sub-messages |
US6904558B2 (en) * | 2002-02-22 | 2005-06-07 | Agilent Technologies, Inc. | Methods for computing the CRC of a message from the incremental CRCs of composite sub-messages |
WO2003090362A1 (fr) * | 2002-04-22 | 2003-10-30 | Fujitsu Limited | Codeur et decodeur de detection d'erreur, et diviseur |
US20050219975A1 (en) * | 2002-06-28 | 2005-10-06 | Koninklijke Philips Electronics N.V. | Method and arrangement for the generation of an identification data block |
US7434150B1 (en) | 2004-03-03 | 2008-10-07 | Marvell Israel (M.I.S.L.) Ltd. | Methods, circuits, architectures, software and systems for determining a data transmission error and/or checking or confirming such error determinations |
US7360142B1 (en) | 2004-03-03 | 2008-04-15 | Marvell Semiconductor Israel Ltd. | Methods, architectures, circuits, software and systems for CRC determination |
JP2006060663A (ja) * | 2004-08-23 | 2006-03-02 | Oki Electric Ind Co Ltd | 巡回符号回路 |
DE102005018248B4 (de) * | 2005-04-19 | 2014-06-12 | Deutsche Gesetzliche Unfallversicherung E.V. (Dguv) | Prüfverfahren zur sicheren, beschleunigten Erkennung von Datenfehlern und Vorrichtung zur Durchführung des Prüfverfahrens |
US7500174B2 (en) * | 2005-05-23 | 2009-03-03 | Microsoft Corporation | Encoding and application of extended hamming checksum |
KR100850787B1 (ko) * | 2006-12-08 | 2008-08-06 | 한국전자통신연구원 | 상위 인터페이스 메모리를 이용한 시공간 블록 코드 방식의인코딩 장치 및 그 방법 |
US8103934B2 (en) | 2007-12-21 | 2012-01-24 | Honeywell International Inc. | High speed memory error detection and correction using interleaved (8,4) LBCs |
US9003259B2 (en) * | 2008-11-26 | 2015-04-07 | Red Hat, Inc. | Interleaved parallel redundancy check calculation for memory devices |
RU2585992C2 (ru) * | 2012-01-11 | 2016-06-10 | Шэньчжэнь Хэк Телеком Текнолоджи Ко., Лтд. | Система и способ для беспроводной связи |
CN107302420B (zh) * | 2017-06-20 | 2019-11-08 | 北京科技大学 | 一种线性网络编码方法 |
CN111146986B (zh) * | 2019-12-30 | 2022-08-12 | 深圳市越疆科技有限公司 | 磁编码器的位置定位方法、装置、电子设备及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07264078A (ja) * | 1994-03-23 | 1995-10-13 | Kokusai Electric Co Ltd | Bch符号化装置及びbch符号化方法 |
WO1999037030A1 (en) * | 1998-01-20 | 1999-07-22 | 3Com Corporation | High-speed calculation of cyclical redundancy check sums |
JP2003523682A (ja) * | 2000-02-17 | 2003-08-05 | アナログ デバイス インコーポレーテッド | Crc、および他の剰余を基本とする符号の生成に用いる方法、装置、製品 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4623999A (en) * | 1984-06-04 | 1986-11-18 | E-Systems, Inc. | Look-up table encoder for linear block codes |
JPH03272224A (ja) * | 1990-03-20 | 1991-12-03 | Canon Inc | 情報信号処理方法 |
EP0470451A3 (en) | 1990-08-07 | 1993-01-20 | National Semiconductor Corporation | Implementation of the high-level data link control cyclic redundancy check (hdlc crc) calculation |
CA2129236C (en) | 1992-12-29 | 1998-12-22 | Shiping Li | Efficient crc remainder coefficient generation and checking device and method |
EP0609595B1 (en) | 1993-02-05 | 1998-08-12 | Hewlett-Packard Company | Method and apparatus for verifying CRC codes by combination of partial CRC codes |
US5491700A (en) * | 1993-10-01 | 1996-02-13 | Pacific Communication Sciences, Inc. | Method and apparatus for code error correction using an ordered syndrome and error correction lookup table |
US5703887A (en) * | 1994-12-23 | 1997-12-30 | General Instrument Corporation Of Delaware | Synchronization and error detection in a packetized data stream |
US6308295B1 (en) * | 1996-10-08 | 2001-10-23 | Arizona Board Of Regents | Parallel spectral reed-solomon encoder and decoder |
JPH10135847A (ja) * | 1996-10-25 | 1998-05-22 | Nec Corp | Atm通信装置の並列型ヘッダ誤り訂正回路およびヘッダ誤り訂正方法 |
US5978956A (en) * | 1997-12-03 | 1999-11-02 | Quantum Corporation | Five-error correction system |
US6195780B1 (en) * | 1997-12-10 | 2001-02-27 | Lucent Technologies Inc. | Method and apparatus for generating cyclical redundancy code |
US6263470B1 (en) * | 1998-02-03 | 2001-07-17 | Texas Instruments Incorporated | Efficient look-up table methods for Reed-Solomon decoding |
US6105158A (en) * | 1998-04-03 | 2000-08-15 | Lucent Technologies, Inc. | Screening for undetected errors in data transmission systems |
US6336200B1 (en) * | 1998-05-22 | 2002-01-01 | Kencast, Inc. | Method for validating communicated packets of data and for locating erroneous packets |
DE19838865C2 (de) * | 1998-08-26 | 2001-03-01 | Ericsson Telefon Ab L M | Parallele CRC Erzeugungsschaltung zum Erzeugen eines CRC Codes und Verfahren zum Generieren einer derartigen Schaltung |
US6360348B1 (en) * | 1999-08-27 | 2002-03-19 | Motorola, Inc. | Method and apparatus for coding and decoding data |
CN1112778C (zh) * | 2000-08-08 | 2003-06-25 | 深圳市中兴通讯股份有限公司 | 一种数字通信系统中的信道循环冗余码校验的方法 |
-
2000
- 2000-09-26 US US09/671,372 patent/US6763492B1/en not_active Expired - Fee Related
-
2001
- 2001-09-14 WO PCT/US2001/028496 patent/WO2002027939A2/en active Application Filing
- 2001-09-14 CA CA002423425A patent/CA2423425A1/en not_active Abandoned
- 2001-09-14 EP EP10157108A patent/EP2209215A1/en not_active Withdrawn
- 2001-09-14 CN CNA2007101278921A patent/CN101083468A/zh active Pending
- 2001-09-14 CN CNB018195199A patent/CN1333530C/zh not_active Expired - Fee Related
- 2001-09-14 KR KR1020037004261A patent/KR100894234B1/ko not_active IP Right Cessation
- 2001-09-14 RU RU2003112223/09A patent/RU2003112223A/ru not_active Application Discontinuation
- 2001-09-14 BR BR0114169-4A patent/BR0114169A/pt not_active IP Right Cessation
- 2001-09-14 JP JP2002531612A patent/JP2004510380A/ja active Pending
- 2001-09-14 EP EP01968817A patent/EP1323235A2/en not_active Withdrawn
- 2001-09-14 AU AU2001289032A patent/AU2001289032A1/en not_active Abandoned
- 2001-09-14 IL IL15489801A patent/IL154898A0/xx unknown
- 2001-09-14 MX MXPA03002622A patent/MXPA03002622A/es unknown
- 2001-09-20 TW TW090123216A patent/TW531973B/zh not_active IP Right Cessation
-
2003
- 2003-03-25 NO NO20031352A patent/NO20031352L/no not_active Application Discontinuation
-
2004
- 2004-06-09 HK HK04104113A patent/HK1061121A1/xx not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07264078A (ja) * | 1994-03-23 | 1995-10-13 | Kokusai Electric Co Ltd | Bch符号化装置及びbch符号化方法 |
WO1999037030A1 (en) * | 1998-01-20 | 1999-07-22 | 3Com Corporation | High-speed calculation of cyclical redundancy check sums |
JP2003523682A (ja) * | 2000-02-17 | 2003-08-05 | アナログ デバイス インコーポレーテッド | Crc、および他の剰余を基本とする符号の生成に用いる方法、装置、製品 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008527795A (ja) * | 2004-12-30 | 2008-07-24 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 無線通信システムにおける双方向中継のための方法及び装置 |
US7920501B2 (en) | 2004-12-30 | 2011-04-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and arrangement for bi-directional relaying in wireless communication systems |
JP4709227B2 (ja) * | 2004-12-30 | 2011-06-22 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 無線通信システムにおける双方向中継のための方法及び装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2002027939A2 (en) | 2002-04-04 |
EP2209215A1 (en) | 2010-07-21 |
US6763492B1 (en) | 2004-07-13 |
CA2423425A1 (en) | 2002-04-04 |
TW531973B (en) | 2003-05-11 |
NO20031352L (no) | 2003-05-08 |
CN101083468A (zh) | 2007-12-05 |
IL154898A0 (en) | 2003-10-31 |
NO20031352D0 (no) | 2003-03-25 |
KR100894234B1 (ko) | 2009-04-20 |
BR0114169A (pt) | 2003-12-09 |
CN1476675A (zh) | 2004-02-18 |
RU2003112223A (ru) | 2004-08-27 |
CN1333530C (zh) | 2007-08-22 |
EP1323235A2 (en) | 2003-07-02 |
HK1061121A1 (en) | 2004-09-03 |
WO2002027939A3 (en) | 2002-05-30 |
KR20030036826A (ko) | 2003-05-09 |
AU2001289032A1 (en) | 2002-04-08 |
MXPA03002622A (es) | 2004-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004510380A (ja) | 線形ブロック符号の符号化のための方法および装置 | |
RU2395902C2 (ru) | Способы и устройство ldpc-кодирования | |
JP4764973B2 (ja) | Crc値の算出装置 | |
JP2000068862A (ja) | 誤り訂正符号化装置 | |
AU669746B2 (en) | Method and device for detection and correction of errors in ATM cell headers | |
US7945780B1 (en) | Apparatus for dynamically configurable interleaver scheme using at least one dynamically changeable interleaving parameter | |
EP2023491A1 (en) | High rate, long block lenght, low density parity check encode | |
JP5146322B2 (ja) | 復号装置、復号方法 | |
RU2440669C1 (ru) | Устройство декодирования, устройство хранения данных, система обмена данными и способ декодирования | |
JP4767266B2 (ja) | 演算ユニット、エラー訂正復号回路及び誤り位置多項式の演算方法 | |
JP5488472B2 (ja) | 復号装置、この復号装置を有するデータ通信装置およびデータ記憶装置 | |
CN114499541A (zh) | 分层译码方法、装置、终端设备及介质 | |
JPH04241521A (ja) | 畳込み符号の復号回路 | |
KR101436973B1 (ko) | 슈퍼차지드 코드들 | |
US20230037965A1 (en) | Layered semi parallel ldpc decoder system having single permutation network | |
JP4081875B2 (ja) | 符号化装置および方法、復号装置および方法、並びに提供媒体 | |
JP5510447B2 (ja) | 復号装置および復号方法 | |
JP2001332980A (ja) | インタリーブ装置及びインタリーブ方法 | |
JP4906821B2 (ja) | 連接符号の演算回路及びアドレス制御方法 | |
JP2004282787A (ja) | 信号送信装置および符号化装置 | |
KR101728567B1 (ko) | 병렬 처리 복호화 장치 및 방법 | |
KR100212827B1 (ko) | 리드 솔로몬 복호기의 다황식 평가 장치 | |
KR20110006409A (ko) | 저밀도 패리티 검사 부호를 이용한 복호화 장치 | |
JP2006304348A (ja) | 誤り訂正符号化装置 | |
KR19980040848A (ko) | 에러 정정 신드롬 계산 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080916 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110617 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110628 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111129 |