(57)【特許請求の範囲】
【請求項１】
シーケンシャルの位置にデータを受け取り一時的に格納するためのメモリと、
カウンタと、
前記カウンタに電気的に結合するテーブルであって、複数のアドレスを含み、該複数のアドレスから前記カウンタに従って擬似乱数でアドレスが選ばれるよう構成されているテーブルと、
前記複数のアドレスから選ばれたアドレスのうち、フレームサイズより大きいものを捨てるよう構成された、前記テーブルに電気的に結合するパンクチャ・デバイスと、を備え、
前記メモリは、前記複数のアドレスから選ばれたアドレスのうち捨てられないものから前記データを検索するよう構成されており、さらに、
前記メモリから前記データを受け取り出力するためのバッファと、
前記バッファおよび前記カウンタに結合され、前記バッファおよび前記カウンタを同期させるよう構成されたクロックと、
前記カウンタに電気的に結合され、前記カウンタからの一組のビット出力を逆にするよう構成されたビット逆転器と、
前記ビット逆転器に電気的に結合され、前記逆にされた一組のビット出力をオフセットするよう構成された乗算器と、
前記パンクチャ・デバイスおよび前記乗算器に電気的に結合され、前記オフセットされた逆にされた一組のビット出力を前記複数のアドレスのうちパンクチャされないものと組み合わせて、複数の他のメモリアドレスを生成するよう構成された結合器と、を備え、
前記メモリは、前記複数のメモリアドレスから前記データを検索するよう構成されている、ターボコード・インターリーバ。
【請求項２】
前記テーブルがリアルタイム疑似乱数発生器を含み、あらかじめ決められた式に従って疑似乱数を生成するよう構成された、請求項１に記載のインターリーバ。
【請求項３】
さらに、前記カウンタと前記テーブルの間に電気的に結合され、複数のテーブルアドレスを生成するよう構成された数発生器を備え、
前記カウンタが前記数発生器を制御し、前記複数のテーブルアドレスが、前記テーブルをアドレスするために使われる、請求項１に記載のインターリーバ。
【請求項４】
前記テーブルが複数の第２のテーブルを含む、請求項１に記載のインターリーバ。
【請求項５】
メモリのシーケンシャルな位置にデータを受け取り一時的に格納すること、
テーブルに複数のアドレスを格納すること、
前記テーブルに電気的に結合するカウンタを設けること、
前記カウンタに従って前記複数のアドレスからアドレスを選択すること、
前記テーブルに電気的に結合するパンクチャ・デバイスを使って、前記複数のアドレスから選ばれたアドレスのうち、フレームサイズより大きいものを捨てること、
前記メモリにおける前記複数のアドレス位置のうち捨てられないものからデータを検索すること、
クロックを使って前記データの検索と前記カウンタとを同期させること、
前記カウンタから受け取った一組のビットを逆にすること、
前記逆にされた一組のカウンタ・ビットに、ゼロより大きいあらかじめ決められた数であるオフセットをかけること、
前記オフセットされた逆にされた一組のカウンタ・ビットと前記複数のアドレスのうちパンクチャされないものと組み合わせることによって、複数の他のメモリアドレスを生成すること、
前記メモリの前記複数の他のメモリアドレス位置からデータを検索すること、
を含む、データのインターリーブ方法。
【請求項６】
あらかじめ決められた式に従ってリアルタイムで疑似乱数を発生すること、をさらに含む、請求項５に記載のインターリーブ方法。
【請求項７】
前記カウンタと前記テーブルの間に電気的に結合された発生器を使って複数のテーブルアドレスを生成すること、
前記カウンタを使って前記発生器を制御すること、
前記複数のテーブルアドレスを使って前記テーブルをアドレスすること、
をさらに含む、請求項５に記載のインターリーブ方法。
【請求項８】
データを受け取り一時的に格納するためのメモリ手段と、
カウンタ手段と、
複数のアドレスを格納し前記カウンタに従ったシーケンスで前記アドレスを供給するためのテーブル記憶手段と、
選ばれた前記複数のアドレスのうちフレームサイズより大きいものを捨てるために、前記テーブル記憶手段に電気的に結合されたパンクチャ手段と、 選ばれた前記複数のアドレスのうち捨てられないアドレスにおいて、前記メモリ手段から前記データを検索するために前記パンクチャ手段に電気的に結合されたメモリ読出し手段と、
前記メモリ手段から検索される前記データを出力するためのバッファ手段と、
前記バッファ手段および前記カウンタ手段に結合され、前記バッファ手段および前記カウンタ手段を同期させるためのクロック手段と、
前記カウンタ手段からの一組のビットを逆にするために前記カウンタ手段に電気的に結合されたビット逆転器手段と、
一組の前記逆にされたカウンタ・ビットを、ゼロより大きいあらかじめ決められた数でオフセットするために前記ビット逆転器手段に電気的に結合された乗算器手段と、
前記逆にされた一組のカウンタ・ビットを前記複数のアドレスのうちパンクチャされないものと組み合わせることによって、複数の他のメモリアドレスを生成するため、前記パンクチャ手段および前記乗算器手段に電気的に結合された結合器手段と、を備え、
メモリ手段は、前記複数の他のメモリアドレスからデータを検索する、インターリーブ装置。
【請求項９】
前記テーブル手段は、あらかじめ決められた式に従って疑似乱数を生成するためのリアルタイム擬似乱数発生器手段である、請求項８に記載のインターリーブ装置。
【請求項１０】
複数のテーブルアドレスを生成するために前記カウンタ手段と、前記テーブル手段との間に電気的に結合された発生器手段をさらに備え、
前記カウンタ手段が前記発生器手段を制御し、前記テーブル手段が、前記複数のテーブルアドレスを使ってアドレスされる、請求項８に記載のインターリーブ装置。
【請求項１１】
データのフレームの要素をインターリーブするためのターボコード・インターリーバであって、フレームはＮ要素から成り、Ｎが１より大きい正整数であり、
アドレス可能位置で要素を格納し、アドレス可能位置から要素を検索するためのメモリを備え、
前記要素は、連続シーケンスである第１シーケンスのアドレスに従った位置に格納され、第２シーケンスのアドレスに従って検索され、さらに、
クロック信号を生成するためのクロックと、
Ｎ２が正整数として、Ｎ２までカウントアップするため、クロック信号によって進められる第１カウンタと、
Ｎ１とＮ２の積が少なくともＮに等しい正整数であるとして、Ｎ１までカウントアップするため、前記第１カウンタからの桁上げによって進められる第２カウンタと、
前記第１カウンタおよび第２カウンタに従う擬似ランダム・シーケンスとして第２シーケンスのアドレスを生成するためのアドレス発生器と、
第１カウンタと第２カウンタの積の値に対応するＮより大きいメモリ位置からのデータ検索を阻止するためのパンクチャ回路と、
前記第２シーケンスのアドレスに従って前記メモリから検索されるＮの要素を受け取り、該Ｎの要素を前記クロック信号によって決められるレートで転送するバッファと、を備えるターボコード・インターリーバ。
【請求項１２】
前記アドレス発生器は、
前記第1カウンタにおけるビットパターンの逆である逆転Ｎ２フィールドを生成するためのビット逆転器と、
前記第２カウンタにおけるビットパターンに従って疑似乱数を生成するための疑似乱数発生器と、
乗算器出力を形成するため、前記逆にされたＮ２フィールドにオフセットをかけるための乗算器と、
第２シーケンスのアドレスのメンバーを生成するため、前記乗算器出力および前記疑似乱数を加えるための加算器と、
を備える、請求項１１に記載のインターリーバ。
【請求項１３】
一つのフレームがＮ要素から成り、Ｎが１より大きい正整数であるとして、データのフレームの要素をインターリーブするための装置であって、
アドレス可能位置に要素を格納し、アドレス可能位置から要素を検索するための記憶装置を備え、
前記要素は、連続シーケンスである第１シーケンスのアドレスに従う位置に格納され、第２シーケンスのアドレスに従って検索され、さらに、
クロック信号を生成するためのクロック手段と、
Ｎ２が正整数であるとして、Ｎ２までカウントアップするため、クロック信号によって進められる第１カウンタ手段と、
Ｎ１とＮ２の積が少なくともＮと等しい正整数であるとして、値Ｎ１までカウントアップするため前記第１カウンタからの桁上げによって進められる第２カウンタ手段と、
第1および第２カウンタ手段に擬似ランダム・シーケンスとして第２シーケンスのアドレスを生成するためのアドレス生成手段と、
Ｎより大きい、第１カウンタと第２カウンタの積の値に対応する記憶装置位置ロケーションからのデータの検索を阻止するためのパンクチャ手段と、
前記第２シーケンスのアドレスに従って前記記憶装置から検索されるＮの要素を受け取り、前記クロック信号によって決められるレートでＮ要素を転送するためのバッファ手段と、を備えるインターリーブ装置。
【請求項１４】
前記アドレス生成手段は、
前記第１カウンタにおけるビットパターンの逆である逆転Ｎ２フィールドを生成するためのビット逆転手段と、
前記第２カウンタにおけるビットパターンに従って疑似乱数を生成するための疑似乱数生成手段と、
前記逆転Ｎ２フィールドにオフセットをかけて乗算出力を形成する乗算手段と、
前記乗算出力および前記疑似乱数を加算して前記第２シーケンスのアドレスのメンバーを生成する加算手段と、
を備える、請求項１３に記載のインターリーブ装置。
【請求項１５】
一つのフレームがＮ要素から成り、Ｎが１より大きい正整数であるとして、データのフレームの要素をインターリーブする方法であって、
アドレス可能位置から要素を検索するため、アドレス可能位置に要素を格納し、
前記要素は、連続シーケンスである第１シーケンスのアドレスに従う位置に格納され、第２シーケンスのアドレスに従って検索され、
クロック信号を生成することと、
Ｎ２が正整数であるとして、Ｎ２までのカウントアップにおいてクロック信号の発生をカウントすることと、
Ｎ１とＮ２の積が少なくともＮと等しい正整数であるとして、値Ｎ１までのカウントアップにおいて前記第１カウンタからの桁上げをカウントすることと、
第1および第２カウンタ手段に擬似ランダム・シーケンスとして第２シーケンスのアドレスを生成することと、
Ｎより大きい、第１カウンタと第２カウンタの積の値に対応する記憶装置位置ロケーションからのデータの検索を阻止することと、
前記第２シーケンスのアドレスに従って前記記憶装置から検索されるＮの要素をバッファリングすることと、
前記クロック信号によって決められるレートでＮ要素を転送することと、
を含む、インターリーブ方法。
【請求項１６】
前記第２シーケンスのアドレスの生成は、
前記第１カウンタにおけるビットパターンの逆である逆転Ｎ２フィールドを生成することと、
前記第２カウンタにおけるビットパターンに従って疑似乱数を生成することと、
前記逆転Ｎ２フィールドにオフセットをかけて積を形成することと、
前記積および前記疑似乱数を加算して前記第２シーケンスのアドレスのメンバーを生成することと、
を含む、請求項１５に記載のインターリーブ方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この出願は、1998年12月10日に出願された米国予備出願第60/111,747号の優先権を主張する。この発明は、電子回路通信システムの分野に関し、より具体的にはこれらのシステムにおいて通信のためにデータの順序を変えるためインターリーバに関連がある。
【０００２】
【従来の技術】
コード化変調として知られる通信チャネルのコード化手法は、電子通信システム（例えばモデムおよび無線通信方式）のビット誤り率（BER）を改善することがわかっている。ターボコード化変調は、付加的な白色ガウス雑音（AWGN）またはフェージングによって特徴づけられる「ランダム誤り」チャンネルのための実際的で、パワー効率がよく、帯域幅効率がよい変調方法であることが証明されている。これらのランダム誤りチャンネルは、たとえば符号分割多元接続（CDMA）環境で見られる。
【０００３】
ターボコードの革新は、オリジナルの受信したまたは伝送されたデータフレームの順序を変えるインターリーバである。ターボコードの順序入れ替えは、よく知られているランダム化アルゴリズムを実行するプロセッサによって達成される。
【０００４】
データのシーケンスをインターリーブすることは、異なるメモリーロケーションから線形アレイのデータを読むことによって実現される。「アドレス指定ルール」は順序入れ替え(permutation)を定義する。そして、それはインターリーブ/インターリーブ解除（ディインターリーブ）のルールである。そのようなメモリベースのインターリーバ／ディインターリーバ手法は、関連するディインターリーバの構成が必要とされないことから、間接インターリーバと呼ばれる。
【０００５】
図１は、Ｍ系列発生器をランダムアドレス発生器として使う従来のインターリーバを示す。データのフレームは、メモリ5の連続したロケーションに含められる。Ｍ系列発生器1は、少なくともフレームと同じくらい大きいデータブロックのための複数のアドレスを、線形シーケンス以外のシーケンスで生成する。これらのアドレスは、パンクチャ・ユニット4によって無視されるフレームサイズ外の複数のアドレスを除いて、フレーム要素をメモリー5から読みだすために使われる。フレーム要素は、このように、入れ替えられた順序でメモリ5から読み出され、FIFO 2にバッファリングされる。クロック3は、Ｍ系列発生器を計時し、またクロックFIFO 2を計時する。パンクチャのため、フレーム要素が不均一な（"bursty"）レートで、メモリ5から現れることができるけれども、FIFO 2の出力は均一なレートである。
【０００６】
このタイプの不均一インターリーブでの問題は、インターリーブ・アルゴリズムが擬似不規則パターンに基づくだけであることから、十分な不均一性を達成することが困難なことである。更に、従来のインターリーバは、エンコーダーに相当量のメモリを必要とする。従来のインターリーブ・マトリックスは、遅延補償を必要とし、それはリアルタイム条件のアプリケーションでのその使用を制限する。ターボコードは、アメリカ合衆国およびヨーロッパにおいて3G CDMAに存在している。したがって、ターボコード・インターリーバのパフォーマンスは、3G CDMAの重要な側面である。もう一つの重要な問題は、どのようにアプリケーションで効果的にインターリーバを実行するかということである。
【０００７】
【発明が解決しようとする課題】
従って不均一性を改善するコードのインターリーブ・コード法およびシステムに対する必要性が存在する。
【０００８】
また、3G CDMA用にコードをインターリーブする方法およびシステムに対する必要性が存在する。
【０００９】
したがって、この発明の目的は、不均一性を改善するコードのインターリーブ法およびシステムを提供することである。
【００１０】
また、この発明の目的は、3G CDMA用にコードをインターリーブする方法およびシステムを提供することである。
【００１１】
【課題を解決するための手段】
上記の課題を解決するため、この発明は、3G CDMAデータで使用するためのターボコード・インターリーバを提供する。この発明の一実施例は、データのフレームを受け取ってメモリに一時的に格納する装置を含む。カウンタがテーブルに接続しており、テーブルは、カウンタが選ぶことができる複数のアドレスを含む。クロックがカウンタおよび出力バッファに接続していて、それらを同期するよう構成されている。
【００１２】
テーブルでの複数のアドレスは、フレームサイズ外にある要素の複数のアドレスを含むことができ、パンクチャ(puncture)デバイスがテーブルに接続される。パンクチャ・デバイスは、フレームサイズ外にある要素を捨てるよう構成される。この実施例は、メモリをも含んでいる。このメモリは、パンクチャ・ユニットおよびバッファに接続される。データは、パンクチャ・デバイスによって捨てられない複数のアドレスからメモリ読出しされ、バッファを介して出力される。
【００１３】
この発明のもう一つの実施例は、3G CDMAデータのインターリーブ方法である。この実施例は、データを受け取り一時的に格納することを含む。データをカウンタと同期するためにクロックを使うことは、システム全体のタイミングが正しくサンプルされることを確実にする。この実施例は、カウンタに電気的に接続している少なくとも1つのテーブルに複数のアドレスを格納することを含む。このカウンタは、複数のアドレスを選ぶために使われる。それは、複数のアドレスのうちのいくつかまたは全てを選択するよう構成される。この実施例は、テーブルに電気的に接続しているパンクチャ・デバイスを使い、フレームサイズより大きいならば、選ばれた複数のアドレスを捨てることを含む。この実施例は、捨てられないで選ばれた複数のアドレスにアドレス・ロケーションが対応する場合、電気的にパンクチャ・ユニットに接続しているメモリにおけるアドレス・ロケーションにデータを格納することを含む。
【００１４】
この発明の別の実施例は、3G CDMAデータをインターリーブするための装置である。この実施例は、データを受け取り一時的に格納するメモリを備える。この実施例は、計数するためのカウンタ・モジュール、出力バッファ・モジュール、ならびにバッファ・モジュールとカウンタ・モジュールを同期させるためバッファ・モジュールおよびカウンタ・モジュールに接続しているクロックモジュールを含む。
【００１５】
この実施例は、複数のアドレスを格納するテーブル記憶モジュールを含む。フレームサイズ外にあるならば、選ばれたアドレスを捨てるため、テーブル・モジュールに電気的に接続しているパンクチャ・モジュールが含まれている。
【００１６】
【発明の実施の形態】
この発明は、第3世代の符号分割多重アクセス（3G CDMA）のために提案されるターボコード・インターリーバの効率的実現を提供する。
【００１７】
ガロア域ランダム・インターリーバ
図2は、この発明の実施例を図示する。この実施例は、ガロア域インターリーバの効率的実現である。データは作業メモリ210のインデックスを擬似ランダム化することによって順序を変えられる。データは作業メモリ210からの順序を変えられた形で読出された後にFIFOバッファ280に出力される。
【００１８】
作業メモリ210のインデックスは、2つの部分、列および行で構成される。列および行は、疑似ランダム数を準備された数と組み合わせることによって生成することができる。一実施例では、列は準備された数であり、行が疑似乱数である。しかし、これは単に設計上の選択であり、逆にすることもできる。また、行および列は、最上位ビット（MSB）または最下位ビット（LSB）と呼ぶことができる。
【００１９】
クロック215は、2段のカウンタ270、260をトリガーする。カウンタは、作業メモリ210をアドレスするのに使われる行および列成分の生成を開始させる。例えば、384というフレームサイズについて、N1=24、N2=1 6と定義することができる。N1およびN2は、それぞれ行の数および列の数を表す。384= 24 x 16である。パラメータN lおよびN2は、カウンタが数えるのを許される数を示し、ソフトウェアまたはハードウェアにおいて変更することができる。第１段のカウンタ270（すなわちN2）は、N2まで数え、次いでキャリービットを第２段のカウンタ260（N1、すなわち列カウンタ）に送る。N2が数えるにつれて、行要素が生成される。行要素は、ビット逆転器290を使ってビットを逆順にすることによってさらに引き出すことができる。このように、特定の行アドレスについて対応するビット逆転されたアドレスを使うことができる。次の表は、ビット逆転の例を示す。
【００２０】
【表１】
0004383672.tif 000002
【００２１】
メモリ・インデックスの行部分は、また、乗算器295によるオフセットによって増やすことができる。実施例で生成される変数数量をオフセットのために使うことができ、あるいは定数を使うこともできる。この実施例では、N1の値をオフセットに使う。当業者は、ビット逆転器290として乱数または非乱数のシーケンスに基づくリアルタイムの数発生器またはインデックス付きのテーブルによって置き換えることができ、これらもこの発明の範囲内のものであることを理解するであろう。反対に、ビット逆転器は、取り除くことができる。
【００２２】
メモリ・インデックスの行部分が、メモリ・インデックスを引き出すためにメモリ・インデックスの列部分に加えられる。例えば、乗算器295の出力が1010であり、パンクチャ・メカニズム220の出力が0110（下で説明する）であるならば、加算器200の出力は、アドレスのLSB部分で1010であり、アドレスのMSB部分で0110である。メモリ・インデックスは、LSBおよびMSBの結合である。これは、LSBおよびMSBをそれぞれ0000ffffH (すなわち、 LSBマスク)およびffff0000H (すなわち、 MSB マスク)でマスクし、その結果を組み合わせることにより達成することができる。たとえば、次の式で示すようになる。
【００２３】
【数１】
10102&(0000ffffH)+01102&(ffff0000H)=011010102
【００２４】
列インデックスは、ルックアップテーブル240の内容を疑似ランダム・シーケンサ250（すなわちMシーケンサ、Gold、Hadamard、Walshシーケンサまたはその種のもの）と組み合わせることによって生成することができる。シーケンス発生器250および第１ルックアップテーブル240は、二段式カウンタ270、260によって制御される。擬似乱数発生器250からの疑似乱数は、結合器225によってルックアップテーブル240から値と組み合わせられる。この結合が、テーブル230へのインデックスとして使われ、順序入れ替えした列インデックスが出力される。例えば、列インデックスが次の式で定義されるとする。
【００２５】
【数２】
j=log(αi0+αj)
【００２６】
jは列インデックスであり、i0は次の例のように行ごとにかわる。
【表２】
i      i0
0      0
1      2
2      5
3      5
【００２７】
jは、次のように表すことができる。
【数３】
j=log(αi0+αj)=αx
【００２８】
ここで、xは、ガロア域等式によって定義されるログテーブル230から見つけることができる。
【００２９】
列インデックスが特定のブロックサイズについて範囲外にあるならば、ルックアップテーブル230の出力は、パンクチャ・ユニット220によって捨てられる（すなわちパンクチャされる）。たとえば、Nをフレームサイズとして、N=8ならば、テーブル220から生成されるランダム・シーケンスは、[5 2 9 4 6 1 7 10 3 8]であり、パンクチャした後では、シーケンスは8より大きい数を元のシーケンスから除去することにより[5 2 4 6 1 7 3 8]になる。
【００３０】
列インデックスが範囲内であるならば、それは行インデックスに加えられ、順序を変えられたメモリ・インデックスが生成される。このメモリ・インデックスが、データを検索するためにメモリ210をアドレスするために使われる。当業者は、テーブル230、240をガロア域疑似乱数を計算するリアルタイム・ユニットで置き換えることができることを理解するであろう。
【００３１】
FIFOバッファ280は、クロックレートと一致してメモリ210から検索されたデータのレートを平準化する。例えば、各クロックサイクルで、ランダム・インターリーバ発生器は、[5 2 9 4 6 1 7 10 3 8]のような複数のアドレスを生成する （すなわち、パンクチャ前に）。しかし、データ・フレームサイズが8であるならば、数9および10はパンクチャされる。カウンタからの速いけた上げ符号が変るならば、Ｍ系列はリセットされる。こうして、1つのクロックサイクルの後、Ｍ系列発生器が1にセットされ、シーケンスがやり直される。当業者は、テーブルおよび擬似乱数シーケンスがリアルタイムの数発生器によって達成することができるから、全てのユニットを作業メモリなしで作ることができることを理解するであろう。こうして、受け取られたデータが順序を変えられ、データがシステムに入るのとリアルタイムでFIFOバッファ280を通して出力される。以下の実施例についても同じことがあてはまる。
【００３２】
図2Aは、図2の場合と異なり、加算器200の後に位置するパンクチャ・ユニット220を表す。これにより、パンクチャリングは、L<N1 ではなく、N2およびN1共同で任意のL<(N1 *N2)として決められる。また、図2Aにおいて、N2カウンタ270は、N1カウンタ260から入力とともにルックアップテーブル240に入力を提供し、列入れ替えを行依存にする。
【００３３】
図４は、シーケンス発生器255でまとめられるシーケンス生成の描写に関して、図2Aから単純化したものである。シーケンス発生器は、代数型のシーケンス発生器でありえる。図2Aの場合と同様に、N2カウンタ270は、ルックアップテーブル240の制御のいくつかを提供する。
【００３４】
図4Aは、ビット逆転器またはランダム・シーケンス発生器として機能することができるブロック290を示す。ブロック290からブロック240への接続も示されており、ルックアップテーブル240への付加的な入力となっている。
【００３５】
図3は、ガロア域インターリーバの別の実施例を示す。この実施例は、ルックアップテーブル230を除くことによって単純化されている。この実施例は、したがって、より小さいメモリ条件で動くことができる。
【００３６】
代数インターリーバ
図4Bは、この発明の別の実施例を図示する。この実施例は、代数インターリーバの効率的実現である。代数インターリーバは、リアルタイム疑似ランダム発生器によって置き換えることができるテーブルを含むことができる。さらに、この実施例は、パンクチャ・ユニット（ここで、デコーダと呼ばれる）470、乗算器400および加算器420を含むことができる。それらのユニットが上記したのと同じ機能を果たす。そのような代数インターリーバは、パラメータ化されているから、2、3のパラメータを使うことによって任意のサイズで再構成することができる。これは、必要メモリを減らすという重要な利点を提供する。
【００３７】
インターリーバは、2つのルックアップテーブル460、430および二段カウンタ450、440を含む。２つのルックアップテーブルの出力が組み合わされるが、その際テーブルは、2段カウンタ440、450によってインデックス付けされる。テーブルルックアップ430がN1カウンタによって生成されるカウントごとにインデックス付けされ、テーブルルックアップ460（すなわちN2）は、N2カウンタによってインデックス付けされる。FIFOバッファ480の深さが最小にされ、デコーダ470が最後のMのテールビットをパンクチャし、こうしてフレームサイズ内で作業メモリのためのアドレスが生成される。さらに、同じカウンタ440、450を、線形アレイの書込みアドレス指定に再利用することができる。
【００３８】
代数インターリーバは、行ごとおよび列ごとに順序を変えられるブロック・インターリーバであるから、代数インターリーバと一緒に使うために直接的なディインターリーバを作ることができる。図5は、図４に示す代数インターリーバの出力をディインターリーブする直接的な代数ディインターリーバを示す。N1およびN2の対応する逆テーブルがそれぞれ/N1および/N2で示される。直接ディインターリーバは、作業メモリを要することなく、ディインターリーバアドレスをオンライン（すなわち、リアルタイム）で生成することができる。
【００３９】
間接代数インターリーバ
この発明の別の実施例は、図6で示される間接代数型インターリーバである。間接代数型インターリーバは、線形ブロックアドレシング・ユニット620を使い、作業メモリ610からバッファ・メモリ（FIFO）660に擬似ランダムに読み出すために必要なインデックス成分（すなわち、行および列またはMSBおよびLSB）を組み合わせる。各ブロックへのポインターは、テーブルルックアップN1 630および二段カウンタ640、650の出力である。このように、アドレシング・ユニット620は、クロック・アドレシング・ユニット620（示しない）内に位置するテーブルをインデックス付けするか、カウンタ640の出力をテーブルルックアップ630の出力と組み合わせことによって、アドレス発生器として使われる。こうして、N2カウンタ640が、直接オフセット・アドレスを選び、テーブルルックアップ(N1)630がN1カウンタ650によって制御される。FIFOバッファ660の深さは最小にされ、デコーダ660はフレームサイズより大きいアドレスをパンクチャする。この実施例と代数インターリーバ（図4）との間の相違は、1つのテーブルルックアップだけが疑似ランダムのアドレスを生成するために利用されるということである。
【００４０】
当業者は、作業メモリをインデックス付けするために疑似乱数を選ぶ代わりに、（FIFOバッファで格納されるデータを転送するために）擬似乱数を使ってFIFOバッファをインデックス付けすることができることを理解するであろう。FIFOバッファから選ばれた入力データは、それからシーケンシャルに作業メモリに書かれることができる。このように、FIFOが擬似ランダムにアドレスされ、データは作業メモリにシーケンシャル（擬似ランダムではなく）に格納されることができる。作業メモリ中のデータを使うため、作業メモリをインデックス付けするのにシーケンシャルカウンタその他の線形アドレシング・モジュールを使用することができる。
【００４１】
上記の構造およびシーケンスに対して、この発明の範囲から離れることなく変更を行うことができると。したがって、上記の説明に含まれる事項はあくまでも説明のためのものであり、制限的なものではない。
【図面の簡単な説明】
【図１】ランダムなアドレス発生器のためのベースとしてＭ系列発生器を使う従来のインターリーバのブロック図。
【図２】この発明に従うガロア域型インターリーバの模型的な表現のブロック図。
【図２Ａ】図2で表されるインターリーバの変形を示すブロック図。
【図３】図2のガロア域型インターリーバの別の実施例の模型的な表現を示すブロック図。
【図４】インターリーバの変形を表すブロック図。
【図４Ａ】 インターリーバの変形を表すブロック図。
【図４Ｂ】この発明に従う代数型インターリーバの模型的な表現のブロック図。
【図５】図4で示される代数インターリーバの出力をディインターリーブするための直接代数型ディインターリーバの模型的なブロック図。
【図６】この発明に従う間接代数型インターリーバの模型的なブロック図。
【図１】
0004383672.tif 000003
【図２】
0004383672.tif 000004
【図２Ａ】
0004383672.tif 000005
【図３】
0004383672.tif 000006
【図４】
0004383672.tif 000007
【図４Ａ】
0004383672.tif 000008
【図４Ｂ】
0004383672.tif 000009
【図５】
0004383672.tif 000010
【図６】
0004383672.tif 000011