(57)【要約】余分なものを取り除いたビット反転インターリーバーは異なるパケットサイズおよび可変コードレートをサポートし、良好な拡散とパンクチャリング特性を提供する。データをインターリーブするために、第１のサイズの入力データのパケットが受信される。パケットは、例えばパディングを付加することによりまたは適切に書き込みアドレスを発生することにより２の累乗である第２のサイズに拡張される。拡張されたパケットは第２のサイズのビット反転インターリーバーに従ってインターリーブされる。第２のサイズのビット反転インターリーバーは、それらのインデックスに基いてビットを拡張されたパケットに順序づける。インターリーブされたデータのパケットは、例えば、パディングを除去することによりまたは適切にリードアドレスを発生することにより、ビット反転インターリーバーの出力を削ることにより形成される。削られたビット反転インターリーバーは、ターボコード、畳み込み符号または低密度パリティチェック（ＬＤＰＣ）コードのような種々のタイプのＦＥＣコードと組み合わされて使用されてもよい。
2008526134.tif 000002
【特許請求の範囲】
【請求項１】
通信システムにおいてデータをインターリーブする方法において、
第１のサイズの入力データのパケットを受信することと、
第２のサイズに対してビット反転インターリービングスキームに従って入力データのパケットをインターリーブすることであって、前記第２のサイズは２の累乗であり、前記第１のサイズより大きいことと、
前記第１のサイズのインターリーブされたデータのパケットを形成することと、
を備えた方法。
【請求項２】
前記入力データのパケットにパディングを付加し前記パケットを前記第２のサイズに拡張することと、
前記インターリービングの後に前記パディングを除去することと、
をさらに備えた、請求項１の方法。
【請求項３】
前記入力データのパケットをインターリーブすることは、前記入力データのパケットをリニアな順番でメモリに書くことと、前記ビット反転インターリービングスキームにより決定されたインターリーブされた順番で前記メモリから前記入力データのパケットを読むことと、を備えた請求項１の方法。
【請求項４】
前記入力データのパケットをインターリーブすることは、ビット反転インターリービングスキームにより決定されたインターリーブされた順番でメモリに入力データのパケットを書くことと、リニアな順番で前記メモリから前記入力データのパケットを読むことと、を備えた、請求項１の方法。
【請求項５】
前記第１のサイズと第２のサイズとの間の差に対処するために前記入力データのパケットをインターリーブするためにアドレスを発生することとをさらに備えた、請求項１の方法。
【請求項６】
フォワードエラー訂正（ＦＥＣ）コードに従ってトラヒックデータのパケットをエンコードし、前記入力データのパケットを発生することをさらに備えた、請求項１の方法。
【請求項７】
ターボコードに従ってトラヒックデータのパケットをエンコードし前記入力データのパケットを発生することをさらに備えた、請求項１の方法。
【請求項８】
畳み込みコードに従ってトラヒックデータのパケットをエンコードし、前記入力データのパケットを発生することをさらに備えた、請求項１の方法。
【請求項９】
低密度パリティチェック（ＬＤＰＣ）コードに従ってトラヒックデータのパケットをエンコードし、前記入力データのパケットを発生することをさらに備えた、請求項１の方法。
【請求項１０】
前記インターリーブされたデータのパケットの一部を削除し出力データのパケットを発生することをさらに備えた、請求項１の方法。
【請求項１１】
前記インターリーブされたデータを変調シンボルにマッピングすることと、
前記変調シンボルを複数の周波数サブバンドおよび複数のシンボル期間にマッピングすることであって、前記変調シンボルは一度に１つのシンボル期間の割合で前記複数のサブバンドに対してマップされることと、
をさらに備えた、請求項１の方法。
【請求項１２】
前記インターリーブされたデータを変調シンボルにマッピングすることと、
前記変調シンボルを複数の周波数サブバンド及び複数のシンボル期間にマッピングすることであって、前記変調シンボルは一度に１つの周波数サブバンドの割合で前記複数のシンボル期間に対してマップされることと
をさらに備えた、請求項１の方法。
【請求項１３】
通信システムにおいてデータをインターリーブする方法において、
第１のサイズの入力データのパケットを受信することと、
リニアコングルエンシャルシーケンス（ＬＣＳ）インターリービングスキームに従ってまたは前記第１のサイズより大きい第２のサイズのための擬似ランダムインターリービングスキームに従って前記リニアデータのパケットをインターリーブすることと、;
前記第１のサイズのインターリーブされたデータのパケットを形成することと、
を備えた方法。
【請求項１４】
無線通信システムにおける装置において、
第１のサイズの入力データのパケットを受信し、前記第１のサイズのインターリーブされたデータのパケットを供給するように機能的に作用するメモリユニットと、
前記第１のサイズより大きい２の累乗である第２のサイズのためのビット反転インターリービングスキームに従って前記入力データのパケットをインターリーブするためにアドレスを発生するように機能的に作用するアドレスジェネレーターと、
を備えた装置。
【請求項１５】
ターボコード、畳み込みコード、または低密度パリティチェック（ＬＤＰＣ）コードに従ってトラヒックデータのパケットをエンコードし前記入力データのパケットを発生するように機能的に作用するエンコーダーとをさらに備えた、請求項１４の装置。
【請求項１６】
前記インターリーブされたデータのパケットの一部を削除し出力データのパケットを発生するように機能的に作用するパンクチャリングユニットをさらに備えた、請求項１４の装置。
【請求項１７】
通信システムにおける装置において、
第１のサイズの入力データのパケットを受信する手段と、
前記第１のサイズより大きい２の累乗である第２のサイズのためのビット反転インターリービングスキームに従って前記入力データのパケットをインターリーブする手段と、
前記第１のサイズのインターリーブされたデータのパケットを形成する手段と、
を備えた装置。
【請求項１８】
第１の順番で前記入力データのパケットをメモリに書き込む手段と、第２の順番で前記メモリから前記入力データのパケットを読み出す手段とをさらに備え、前記第１または第２の順番は、前記ビット反転インターリービングスキームにより決定される、請求項１７の装置。
【請求項１９】
ターボコード、畳み込みコードまたは低密度パリティチェック（ＬＤＰＣ）コードに従ってトラヒックデータのパケットをエンコードし、前記入力データのパケットを発生する手段をさらに備えた、請求項１７の装置。
【請求項２０】
前記インターリーブされたデータのパケットの一部を削除し、出力データのパケットを発生する手段をさらに備えた、請求項１７の装置。
【請求項２１】
第１のサイズの入力データのパケットを受信し、
前記第１のサイズより大きい２の累乗であり第２のサイズのためのビット反転インターリービングスキームに従って前記入力データのパケットをインターリーブし、
前記第１のサイズのインターリーブされたデータのパケットを形成するように機能的に作用する命令を記憶するプロセッサー読み取り可能媒体。
【請求項２２】
通信システムにおいてデータを処理する方法において、
ターボコードまたは低密度パリティチェック（ＬＤＰＣ）コードに従ってデータビットのシーケンスをエンコードし、第１のサイズの系統的ビットのシーケンスと第２のサイズのパリティビットの少なくとも１つのシーケンスを発生することと、
第１の所定のサイズのための第１のインターリービングスキームに従って前記系統的ビットのシーケンスをインターリーブし、インターリーブされた系統的ビットのシーケンスを発生することであって、前記第１の所定のサイズは前記第１のサイズ以上であることと、
第２の所定のサイズのための第２のインターリービングスキームに従ってパリティビットの各シーケンスをインターリーブし、インターリーブされたパリティビットの対応するシーケンスを発生することであって、前記第２の所定のサイズは前記第２のサイズ以上であることと、
前記インターリーブされた系統的ビットのシーケンスおよびインターリーブされたパリティビットの少なくとも１つのシーケンスを有したインターリーブされたデータのパケットを形成することと、
を備えた方法。
【請求項２３】
前記インターリーブされたパリティビットの少なくとも１つのシーケンスの一部を削除し出力パケットを発生することをさらに備えた、請求項２２の方法
【請求項２４】
前記データビットのシーケンスをエンコードすることは、前記系統的ビットのシーケンスとして前記データビットのシーケンスを供給することと、それぞれの生成多項式を用いて前記パリティビットの少なくとも１つのシーケンスの各々を発生することを備えた、請求項２２の方法。
【請求項２５】
通信システムにおける装置において、
ターボコードまたは低密度パリティチェック（ＬＤＰＣ）コードに従ってデータビットのシーケンスをエンコードし第１のサイズの系統的ビットのシーケンスと第２のサイズのパリティビットの少なくとも１つのシーケンスを発生するように機能的に作用するエンコーダーと、
前記系統的なビットのシーケンスをインターリーブし、インターリーブされた系統的なビットのシーケンスを供給するように機能的に作用する第１のインターリーバーであって、前記第１のインターリーバーは、前記第１のサイズ以上の第１の所定のサイズである、第１のインターリーバーと、
パリティビットの各シーケンスをインターリーブし、インターリーブされたパリティビットの対応するシーケンスを供給するように機能的に作用する第２のインターリーバーであって、前記第２のインターリーバーは前記第２のサイズ以上である第２の所定のサイズである、第２のインターリーバーと、
前記インターリーブされた系統的なビットのシーケンスと、前記インターリーブされたパリティビットの少なくとも１つのシーケンスを有したインターリーブされたデータのパケットを形成するように機能的に作用するマルチプレクサーと、
を備えた装置。
【請求項２６】
前記インターリーブされたパリティビットの少なくとも１つのシーケンスの一部を削除し出力パケットを供給するように機能的に作用するパンクチャリングユニットをさらに備えた、請求項２５の装置。
【請求項２７】
無線通信システムにおける装置において、
ターボコードまたは低密度パリティチェック（ＬＤＰＣ）コードに従ってデータビットのシーケンスをエンコードし、第１のサイズの系統的なビットのシーケンスと第２のサイズのパリティビットの少なくとも１つのシーケンスを発生する手段と、
第１の所定のサイズのための第１のインターリービングスキームに従って前記系統的なビットのシーケンスをインターリーブする手段であって、前記第１の所定のサイズは前記第１のサイズ以上である、手段と、
第２の所定のサイズのための第２のインターリービングスキームに従ってパリティビットの各シーケンスをインターリーブし、インターリーブされたパリティビットの対応するシーケンスを発生する手段であって、前記第２の所定のサイズは前記第２のサイズ以上である、手段と、
前記インターリーブされた系統的なビットのシーケンスと前記インターリーブされたパリティビットの少なくとも１つのシーケンスを有したインターリーブされたデータのパケットを形成する手段と、
を備えた装置。
【請求項２８】
インターリーブされたパリティビットの少なくとも１つのシーケンスの一部を削除し出力パケットを発生する手段をさらに備えた、請求項２７の装置。
【請求項２９】
通信システムにおいてデータを処理する方法において、
畳み込みコードに従ってデータビットのシーケンスをエンコードし、第１のサイズのコードビットのシーケンスを発生することと、
第２のサイズのインターリービングスキームに従って前記コードビットのシーケンスをインターリーブし、インターリーブされたコードビットのシーケンスを発生することであって、前記第２のサイズは前記第１のサイズ以上であることと、
前記インターリーブされたコードビットのシーケンスを有したインターリーブされたデータのパケットを形成することと、
を備えた方法。
【請求項３０】
前記コードビットのシーケンスをインターリーブすることは、２の累乗である前記第２のサイズのためのビット反転インターリービングスキームに従って前記コードビットのシーケンスをインターリーブすることを備えた、請求項２９の方法。
【請求項３１】
前記インターリーブされたコードビットのシーケンスの一部を削除し出力パケットを発生することをさらに備えた、請求項２９の方法。
【請求項３２】
通信システムにおいてデータを処理する方法において、
ターボコードに従ってデータビットのシーケンスをエンコードし、第１のサイズの系統的なビットのシーケンス、第２のサイズのパリティビットの第１のシーケンス、および前記第２のサイズのパリティビットの第２のシーケンスを発生することと、
第１の所定のサイズのためのビット反転インターリービングスキームに従って前記系統的なビットのシーケンスをインターリーブし、インターリーブされた系統的なビットのシーケンスを発生することであって、前記第１の所定のサイズは２の累乗であって前記第１のサイズ以上であることと、
第２の所定のサイズのための前記ビット反転インターリービングスキームに従って前記パリティビットの第１のシーケンスをインターリーブし、インターリーブされたパリティビットの第１のシーケンスを発生することであって、前記第２の所定のサイズは２の累乗であって前記第２のサイズ以上であることと、
前記第２の所定のサイズのための前記ビット反転インターリービングスキームに従って前記パリティビットの第２のシーケンスをインターリーブし、インターリーブされたパリティビットの第２のシーケンスを発生することと、
前記インターリーブされた系統的なビットのシーケンスとインターリーブされたパリティビットの前記第１および第２のシーケンスを有したインターリーブされたデータのパケットを形成することと、
を備えた方法。
【請求項３３】
必要ならば、インターリーブされたパリティビットの前記第２のシーケンスの一部を削除し出力パケットを発生することをさらに備えた、請求項３２の方法。
【請求項３４】
必要なら、インターリーブされたパリティビットの前記第１のシーケンスの一部を削除し前記出力パケットを発生することをさらに備えた、請求項３３の方法。
【請求項３５】
通信システムにおいてデータをデインターリーブする方法において、
第１のサイズの受信されたデータのパケットを取得することと、
第２のサイズのためのビット反転インターリービングスキームに従って受信されたデータの前記パケットをデインターリーブすることであって、前記第２のサイズは前記第１のサイズより大きい２の累乗であることと、
前記第１のサイズのデインターリーブされたデータのパケットを形成することと、
を備えた方法。
【請求項３６】
パンクチャされたデータに対して受信されたデータの前記パケットに消去を挿入することをさらに備えた、請求項３５の方法。
【請求項３７】
ターボコード、畳み込みコード、または低密度パリティチェック（ＬＤＰＣ）コードのためのデコーディングスキームに従ってインターリーブされたデータの前記パケットをデコードし、デコードされたデータのパケットを発生することをさらに備えた、請求項３５の方法。
【請求項３８】
無線通信システムにおける装置において、
第１のサイズの受信されたデータのパケットを記憶し、前記第１のサイズのデインターリーブされたデータのパケットを供給するように機能的に作用するメモリユニットと、
第２のサイズのためのビット反転インターリービングスキームに従って前記受信されたデータのパケットをデインターリーブするためにアドレスを発生するように機能的に作用するアドレスジェネレーターであって、前記第２のサイズは前記第１のサイズより大きい２の累乗であるアドレスジェネレーターと、
を備えた装置。
【請求項３９】
パンクチャされたデータに対して前記受信されたデータのパケットにおいて消去を挿入するように機能的に作用する消去挿入ユニットをさらに備えた、請求項３８の装置。
【請求項４０】
ターボコード、畳み込みコード、または低密度パリティチェック（ＬＤＰＣ）コードに従って前記インターリーブされたデータのパケットをデコードし、デコードされたデータのパケットを発生するように機能的に作用するデコーダーをさらに備えた、請求項３８の装置。
【請求項４１】
無線通信システムにおける装置において、
第１のサイズの受信されたデータのパケットを取得する手段と、
第２のサイズのためのビット反転インターリービングスキームに従って前記受信されたデータのパケットをデインターリービングする手段であって、前記第２のサイズは前記第１のサイズより大きい２の累乗である、手段と、
前記第１のサイズのデインターリーブされたデータのパケットを形成する手段と、
を備えた装置。
【請求項４２】
パンクチャされたデータに対して前記受信されたデータのパケットに消去を挿入する手段をさらに備えた、請求項４１の装置。
【請求項４３】
ターボコード、畳み込みコード、または低密度パリティチェック（ＬＤＰＣ）コードのためのデコーディングスキームに従って前記インターリーブされたデータのパケットをデコードし、デコードされたデータのパケットを発生する手段をさらに備えた、請求項４１の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は一般に通信に関し、特に通信システムにおいてデータをインターリーブするための技術に関する。
【背景技術】
【０００２】
通信システムにおいて、送信機は典型的にトラヒックデータのパケットをエンコードしコードビットのパケットを発生し、コードビットをインターリーブまたは順序付けし、インターリーブされたビットを変調して変調シンボルを発生する。次に、送信機は通信チャネルを介して変調シンボルを処理し送信する。データ送信は、熱雑音、干渉、擬似信号等のような通信チャネル内の機能的障害により劣化する。受信機は送信された変調シンボルの歪曲されたバージョンを得る。
【０００３】
エンコーディングとインターリービングは、受信されたシンボルの劣化の存在下で送信されたトラヒックデータを受信機がリカバーすることを可能にする。エンコーディングは受信機が受信されたトラヒックデータ内のエラーを検出可能にするエラー検出コーディングと、受信機が受信されたトラヒックデータ内のエラーを訂正することを可能にするフォワードエラー訂正（ＦＥＣ）コーディングを含んでいてもよい。ＦＥＣコーディングはコード化されたパケットに冗長度を発生する。この冗長度は、送信期間中にいくつかのエラーに遭遇したとしても受信機が送信されたトラヒックデータをリカバーすることを可能にする。インターリービングはパケット内のコードビットを順序付けまたはシャッフルするので、互いに近くにあるコードビットは送信期間中、時間、周波数、および／または空間において分離される。送信期間中にバーストエラーが生じるなら、これらのエラーは受信機においてデインターリーブした後バラバラに広がる。これはデコーディング性能を改良する。
【０００４】
インターリーバーは特定のサイズのパケットに対して良好な性能を得るようにしばしば設計される。（「サイズ」と「長さ」という用語は同義語であり、ここでは同義的に使用される。）通信システムが複数のパケットサイズをサポートするなら、異なるインターリーバーがしばしば設計され各パケットサイズに対して使用される。異なるパケットサイズに対する複数のインターリービングの使用は、特にシステムがワイドレンジのパケットサイズをサポートしているなら、送信機におけるインターリービングと受信機におけるデインターリービングを複雑にする可能性がある。
【０００５】
それゆえ、異なるサイズのパケットに対して効率的にインターリービングを実行するための技術の必要性がある。
【発明の開示】
【０００６】
余分なものを取り除いたビット反転インターリーバーを用いて異なるサイズのパケットをインターリーブするための技術がここに記載される。ビット反転インターリーバーはＮｂｒ入力ビットのパケットを取り込み、入力パケットのインデックスｉにおけるビットがインターリーブされたパケットのインデックスｊに配置される、但しｊはｉのビット反転値であるようにそれらのインデックスに基いてこれらのビットを順序付けする。ビットインターリーバーは２の累乗であるパケットサイズに対して作用する。余分なものを取り除いたビット反転インターリーバーはＮの入力ビットのパケットを取り込み、ビット反転インターリーバーに類似して、それらのインデックスに基いてこれらのビットを順序付けする。しかしながら、Ｎは任意の値であってもよく２の累乗に制限されない。余分なものを取り除いたビット反転インターリーバーは異なるパケットサイズと可変コードレートをサポートし、さらに良好な拡散特性およびパンクチャリング特性を提供する。これは以下に記載するようにデコーディング性能を改良することができる。
【０００７】
データをインターリーブするための実施形態において、第１のサイズの入力データのパケットが受信される。パケットは、例えばパディングをパケットに付加することによりまたはパケットをメモリに書き込むためのアドレスを適切に発生することにより、２の累乗である第２のサイズに拡張される。拡張されたパケットは第２のサイズのビット逆転インターリーバーに従ってインターリーブされる。次に、インターリーブされたデータのパケットは、例えば、パディングを除去することによりまたはメモリからパケットをリードするためのアドレスを適切に発生することによりビット反転インターリーバーの出力を削ることにより形成される。
【０００８】
余分なものを取り除いたビット反転インターリーバーは、ターボコード、畳み込み符号、低密度パリティチェックコード（ＬＤＰＣ）等のような種々のタイプのＦＥＣコードと組み合わされて使用されてもよい。また、余分なものを取り除いたインターリービング技術は、リニアコングルエンシャルシーケンス（ＬＣＳ）インターリーバー、擬似ランダムインターリーバー等のような他のタイプのインターリーバーに拡張されてもよい。これらの他のタイプのインターリーバーの場合、インターリーバーサイズは２の累乗であってもよいし、２の累乗でなくてもよい。
【０００９】
この発明の種々の観点と実施形態は以下にさらに詳細に記載される。
【発明を実施するための最良の形態】
【００１０】
本発明の特徴、性質及び利点は、類似による参照文字が相応して、全体で特定する図面と関連して解釈されるときに後述される詳細な説明からさらに明らかになるであろう。
【００１１】
「例示」という単語はここでは、「例、インスタンス、または例証として機能する」ことを意味するために使用される。「例示」としてここに記載される任意の実施形態または設計は、他の実施形態または設計に対して好適であるまたは利点があるとして必ずしも解釈されるべきではない。
【００１２】
通信システムは、音声、パケットデータ等のような種々の通信サービスを提供するために広範囲に展開される。これらのシステムは利用可能なシステムリソースを共有することにより同時に複数のユーザーとの通信をサポートすることができる時分割多元接続、周波数分割多元接続および／または符号分割多元接続システムであってもよい。そのような多元接続の例は符号分割多元接続（ＣＤＭＡ）システム、マルチキャリアＣＤＭＡ（ＭＣ−ＣＤＭＡ）、ワイドバンドＣＤＭＡ（Ｗ−ＣＤＭＡ）、高速ダウンリンクパケットアクセス（ＨＳＤＰＡ）、時分割多元接続（ＴＤＭＡ）システム、周波数分割多元接続（ＦＤＭＡ）システム、および直交周波数分割多重アクセス（ＯＦＤＭＡ）システムを含む。
【００１３】
図１は無線通信システム内の送信機１１０の一実施形態のブロック図を示す。送信機１１０において、フレーミングユニット１１４はデータソース１１２からトラヒックデータ（または情報ビット）を受信し、情報ビットのパケットを形成し、各情報パケットをフォーマットして対応するデータパケットを発生する。各パケットのためのフォーマッティングは、例えば、（１）情報ビットの巡回冗長検査（ＣＲＣ）を発生することと、（２）ＣＲＣ値、ヘッダー、パディング、テールビット、等を情報ビットに付加することと、（３）スクランブリングコードを用いてすべてのビットをスクランブルしデータパケットを発生することを含んでいてもよい。エンコーダー１１６はコーディングスキームに従って各データパケットをエンコードし対応するコード化されたパケットを提供する。コーディングスキームはターボコード、畳み込みコード、ＬＤＰＣコード、イレギュラーリピートアキュムレート（ＩＲＡ）コード（これは、ＬＤＰＣコードの部類とみなしてもよい）、ブロックコード、いくつかの他のＦＥＣコードまたはそれらの組み合わせを備えていてもよい。エンコーディングはコード化されたパケットにおいて冗長度を発生する。これはデータ送信の信頼性を増加する。
【００１４】
チャネルインターリーバー１１８はインターリービングスキームに基いて各コード化されたパケット内のコードビットをインターリーブ（すなわち、順序づけまたはシャッフル）し、対応するインターリーブされたパケットを提供する。インターリービングはコード化されたパケットに対して時間、周波数、および／または空間ダイバーシティを提供し、以下に記載するように実行されてもよい。パンクチャリングユニット１２０は各インターリーブされたパケット内のゼロまたはそれ以上のビットをパンクチャ（すなわち、削除）し、パケットのための所望のビット数を得る。エンコーダー１１６はパケット内のＮＤのデータビットのためのＮｃのコードビットを発生するベースコードを実施してもよい。ただし、ＮＤ≧１であり、ＮｃはＮＤおよびベースコードのコードレートに依存する。例えば、ベースコードがＲｂａｓｅ＝１／５のレートを有するなら、エンコーダー１１６は各データビットに対して５つのコードビットを発生し、Ｎｃ＝５ＮＤである。Ｎｘのコードビットがパケットに対して送信されることになっているなら、Nτ＜NCであり、パンクチャリングユニット１２０はNｃ−Nτコードビットを削除し、そのパケットに対する残りのNxコードビットを提供する。従って、パケットのための実際のコードレートはR＝ND/Nxであり、これはRbase=1/5のベースコードレートより高い。パンクチャリングユニット１２０は各インターリーブされたパケット内のアンパンクチャされたビットを含む出力パケットを提供する。
【００１５】
シンボルマッパー１２２は変調スキームに従って各出力パケットにビットをマップし、変調シンボルを供給する。シンボルマッピングは、（１）Bビットのセットをグループ化しBビットのバイナリ値を形成することにより、但しB≧1、および（２）各Bビットのバイナリ値を選択された変調スキームのための信号コンステレーション内のあるポイントにマッピングすることにより達成してもよい。各変調シンボルはBビットのセットのためのマップされた信号ポイントに対応する複素数値である。シンボルマッパー１２２は出力パケット毎に変調シンボルのパケットを提供する。
【００１６】
送信機ユニット（TMTR)１２４はシステムの設計に従って変調シンボルを処理しデータサンプルを発生する。例えば、送信機ユニット１２４は直交周波数分割多重（ＯＦＤＭ）変調、スペクトル拡散等を実行してもよい。送信機ユニット１２４はさらにデータサンプルを条件づけし（例えば、アナログに変換し、フィルターし、周波数アップコンバートする）、変調された信号を発生する。これはアンテナ１２６を介して送信される。
【００１７】
コントローラー１３０は送信機１１０において種々の処理ユニットの動作を制御する。例えば、コントローラー１３０は、各データパケットに使用するために特定のフォーマットを選択してもよい。選択されたフォーマットは、例えば、パケットのサイズ、パケットに使用するためのコーディングスキームまたはコードレート、パケットに使用するための変調スキーム等のようなデータパケットの種々のパラメーターに関連していてもよい。従って、コントローラー１３０は各パケットのための選択されたフォーマットに基いてフレーミングユニット１１４、エンコーダー１１６、チャネルインターリーバー１１８、パンクチャリングユニット１２０、シンボルデマッパー１２２のための種々の制御を発生してもよい。メモリユニット１３２はコントローラー１３０により使用されるプログラムコードおよびデータを記憶する。
【００１８】
図２はシステム内の受信機１５０の一実施形態のブロック図を示す。受信機１５０において、アンテナ１５２は送信機１１０から送信された信号を受信し、受信した信号を受信機ユニット（RCVR）１５４に供給する。受信機ユニット１５４は受信した信号を送信機ユニット１２４により実行される処理に相補的な方法で処理し、受信したシンボルを供給する。シンボルデマッパー１５６はパケットに使用される変調スキームに従って各パケットに対して受信したシンボルを復調し、復調されたデータのパケットを供給する。消去挿入ユニット１５８は、パンクチャされたコードビットのための消去を各パケットに挿入する。
【００１９】
消去はデコーディングプロセスにおいて適切な重みが与えられたダミー値である。
【００２０】
チャネルデインターリーバー１６０は各パケット内の復調されたデータを、チャネルインターリーバー１１８により実行されるインターリービングと相補的な方法でデインターリーブし、デインターリーブされたデータのパケットを供給する。デコーダー１６２は、デインターリーブされたデータの各パケットをデコードし、デコードされたデータのパケットをＣＲＣチェッカー１６４に供給する。デコーダー１６２はエンコーダー１１６により実行されるエンコーディングに相補的な方法でデコーディングを実行する。例えば、デコーダー１６２は、エンコーダー１１６がターボエンコーディングを実行するならターボデコーダーであってもよいし、エンコーダーが畳み込みエンコーディングを実行するならビタビデコーダーであってもよいし、またはエンコーダー１１６がＬＤＰＣエンコーディングを実行するならＬＤＰＣデコーダーであってもよい。ＣＲＣチェッカー１６４は付加されたＣＲＣ値に基いて各デコードされたパケットをチェックし、パケットが正しくデコードされたかまたはエラーでデコードされたかどうかを決定する。ＣＲＣチェッカー１６４は正しくデコードされたパケットをデータシンク１６６に供給する。
【００２１】
コントローラー１７０は受信機１５０において種々の処理ユニットの動作を制御する。例えば、コントローラー１７０は各パケットのためのフォーマットが通知され、シンボルデマッパー１５６、消去挿入ユニット１５８、チャネルインターリーバー１６０およびデコーダー１６２のための適切な制御を発生してもよい。メモリユニット１７２はコントローラー１７０により使用されるプログラムコードおよびデータを記憶する。
【００２２】
図１の送信機１１０において、チャネルインターリーバーは、チャネルでインターリーバーによる相補的なデインターリービングの後でパケットに対して受信機１５０により遭遇されたビットエラーがパケットにわたって配信されるように各コード化されたパケット内のコードビットを順序付けする。ビットエラーの良好な配信はデコーディング性能を改良することができ、それゆえデータ送信性能を改良することができる。
【００２３】
チャネルインターリーバーは以下を供給しなければならない。
【００２４】
１．チャネルインターリービングの前に互いに接近しているコードビットがチャネルインターリービングの後で相隔てられるように良好な拡散特性。
【００２５】
２．エンコーダー１１６からの等分に離間されたコードビットが送信のために選択されるように規則的なまたはほぼ規則的なパンクチャンリングパターン。
【００２６】
良好な拡散特性はフェージング、マルチパス、干渉等のような有害な経路効果に対抗するためにより多くのダイバーシティを供給することができる。規則的なまたはほぼ規則的なパンクチャリングパターンはいくつかのコーディングスキームのための性能を改良することができる。規則的なパンクチャリングパターンは送信のためのシーケンスにおいて均等に離間されたビット（例えば、すべてのｋ番目のビット）を選択する。擬似ランダムパンクチャリングパターンのような不規則なパンクチャリングパターンは送信のためのシーケンスにおいて均一に離間されていないビットを選択する。不規則な（例えば擬似ランダム）パンクチャリングパターンの代わりに規則的なパンクチャリングパターンと組み合わされて使用されるとき、ターボコードのようないくつかのコーディングスキームはより良い性能を提供することができる。
【００２７】
一実施形態において、チャネルインターリーバー１１８は、異なるパケットサイズとコードレートに対して上述した所望の特性の両方を提供することができる余分なものを取り除いたビット反転インターリーバーとして実施される。余分なものを取り除いたビット反転インターリーバーは以下に記載するようにNbrコードビットのパケットを取り込み、それらのインデックスに基いてこれらのコードビットを順序付けする従来のビット反転インターリーバーに基いている。ビット反転インターリーバーは上述した２つの特性を提供するが２の累乗であるパケットサイズのみに対して動作する。従って、Ｎｂｒ＝２Ｌである。但しＬは正の整数値である。余分なものを取り除いたビット反転インターリーバーはNコードビットのパケットを取り込み、それらのインデックスに基いてこれらのコードビットを順序付けする。この場合、Ｎは任意の整数値であってもよく２の累乗に制限されない。また、余分なものが取り除かれたビット反転インターリーバーは上述した２つの特性を有する。
【００２８】
図３は、１６コードビットを有したコード化されたパケットに対する４ビット反転インターリーバーの動作を図解する。コード化されたパケット内の１６のビット位置には０乃至１５のインデックスが与えられる。コード化されたパケット内の１６のコードビットはｂ0、ｂ1、ｂ2、．．．、ｂ15として示される。この場合、コードビットｂiはコード化されたパケット内のビットインデックスｉに位置する。
【００２９】
ビット反転インターリービングは以下のように動作する。各コードビットｂｉ（但しｉ＝０、１、．．．１５）に対してコードビット６のインデックスｉは４つのバイナリビットを用いてバイナリフォームで表される。次に４つのバイナリビットが反転されるので、インデックスｉに対する第１、第２、第３、および第４のバイナリビットは、それぞれ第４、第３、第２、および第１のビット位置に移動される。４つの反転されたビットはｊ＝π（ｉ）のビット反転値を形成する。但しπ（ｉ）はｉのバイナリ表示のビット反転動作を示す。次に、インターリーブされたパケット内のビットインデックスｊにおいてコードビットｂｉが供給される。例えば、ビットインデックスｉ＝３は「００１１」としてバイナリフォームで表される。反転されたビットは「１１００」であり、ビット反転値はｊ＝１２である。次に、コード化されたパケット内のコードビットｂ3はインターリーブされたパケット内のビットインデックス１２にマップされる。図３はインターリーブされたパケット内の１６のビット位置へのコード化されたパケット内の１６のコードビットのマッピングを示す。
【００３０】
Ｌビット反転インターリーバーは以下の拡散特性を満足する。
【００３１】
｜ａ−ｂ｜＜２kなら｜π（ａ）−π（ｂ）｜＞２L-K-1                      方程式（１）
但し、ａおよびｂはコード化されたパケットのための任意の２つのビットインデックスである。
【００３２】
｜ａ−ｂ｜はビットインデックスａおよびｂの間の距離を示す。
【００３３】
π（ａ）はビットインデックスａのためのビット反転値である。
【００３４】
π（ｂ）はビットインデックスｂのためのビット反転値である。
【００３５】
方程式（１）は、ビットインデックスａおよびｂがそれらのkの最下位ビットの少なくとも１つにおいて異なるならπ（ａ）およびπ（ｂ）はそれらのkの最上位ビットの少なくとも１つにおいて異なる。従って、コード化されたパケット内の２ｋ未満のビット位置によって２つのコードビットが分離されるなら、これらの２つのコードビットはインターリーブされたパケット内の少なくとも２L-k-1ビット位置により分離される。例えばＬ＝１０でｋ＝２なら、コード化されたパケット内において４未満のビット位置が互いに離れているコードビットは、インターリーブされたパケットにおいて少なくとも１２８ビットだけ分離されている。
【００３６】
Ｌ−ビット反転インターリーバーは規則的なまたはほぼ規則的なパンクチャリングパターンを提供する。インターリービングの後、インターリーブされたパケット内の第１のＮbr／２コードビットは、２により割り切れるインデックスを有したコードビットである。同様にインターリーブされたパケット内の第１のＮbr／４コードビットは４により割り切れるインデックスを有し、第１のＮbr／８コードビットは８により割り切れるインデックスを有する。以下同様である。インターリーブされたパケット内のコードビットが次にパンクチャされるなら、第１のＮbr／２コードビットを除くすべてをパンクチャすることは、コード化されたパケットにおいて２だけ離間されるコードビットの送信を生じるであろう。一般に、インターリーブされたパケット内の第１のＮbr／２Ｋコードビットを除くパンクチャリングは、コード化されたパケットにおいて２ｋだけ離間されるコードビットの送信を生じるであろう。従って、規則的なパンクチャリングパターンは、「パンクチャリング因数」が２の累乗または２kであるとき達成してもよく、Ｎbr／２ｋのコードビットのみがコード化されたパケット内のＮbrの合計コードの中で保持される。２の累乗でない他のパンクチャリング因数の場合、ほぼ規則的なパンクチャリングパターンがビット反転インターリーバーを用いて達成される。
【００３７】
図４は１１のコードビットを有したコード化されたパケットに対する余分なものを取り除いた４ビットリバーサルインターリーバーの動作を図解する。コード化されたパケットの１１のビット位置は０乃至１０のインデックスが与えられる。コード化されたパケット内の１１のコードビットはｂ0、ｂ1、ｂ2、．．．、ｂ10である。この場合コードビットｂiはコード化されたパケット内のビットインデックスｉに位置する。
【００３８】
余分なものが取り除かれたビット反転インターリービングスキームは以下のように動作する。コード化されたパケットは長さ１６に拡張される。これは１１のコード化されたパケットサイズより大きい最も近い２の累乗である。パケット拡張は５つのパディングビットを付加することにより達成されてもよい。これは、１６ビットを有した拡張されたパケットを形成するために１１のコード化されたビットの終わりにおいてｅ11、ｅ12、．．．、ｅ15として示される。次に、図３を参照して上述したように通常の４ビット反転インターリービングが、拡張されたパケット内のビットに対して実行され、ビット反転されたパケットを得る。従って、拡張されたパケット内のインデックスｉにおいてビットｂiはビット反転されたパケット内のビットインデックスｊにマップされる。但し、ｊ＝π（ｉ）であり、π（ｉ）はｉに対するビット反転動作を示す。次に、ビット反転されたパケット内の５つのパディングビットが除去され１１のコードビットを含むインターリーブされたパケットを得る。
【００３９】
余分なものが取り除かれた（Ｌ＋１）ビット反転インターリーバーは以下の拡散特性を満足する。
【００４０】
｜ａ−ｂ｜＜２kなら、｜π（ａ）−π（ｂ）｜＞２L-k-1                    方程式（２）
方程式（２）は、２つのコードビットがコード化されたパケット内の２ｋ未満のビット位置により分離されるなら、これらの２つのコードビットはインターリーブされたパケット内の少なくとも２L-k-1ビット位置により分離されることを示す。余分なものが取り除かれたビット反転インターリーバーにより得られる拡散因数はビット反転インターリーバーにより得られる拡散因数とほぼ同じである。余分なものが取り除かれたビット反転インターリーバーのさらなる利点は、異なるパケットサイズに使用してもよいということである。
【００４１】
また、余分なものが取り除かれたビット反転インターリーバーは規則的なまたはほぼ規則的なパンクチャリングパターンを供給する。インターリービングの後、インターリーブされたパケット内の第１のＮ／２コードビットは２により割り切れるインデックスを有し、インターリーブされたパケット内の第１のＮ／４コードビットは４により割り切れるインデックスを有し、第１のＮ／８コードビットは８により割り切れるインデックスを有する。以下同様である。インターリーブされたパケット内のコードビットが次にパンクチャされるなら、インターリーブされたパケット内の第１のＮ／２kを除くすべてをパンクチャすることは、コード化されたパケットにおいて２kビット位置だけ離間されたコードビットの送信を生じるであろう。従って、パンクチャリング因数が２の累乗であるとき、規則的なパンクチャリングパターンが得られ、パンクチャンリングパターンが２の累乗でないとき、ほぼ規則的なパンクチャンリングパターンが得られる。
【００４２】
図５は余分なものを取り除いたビット反転インターリービングを実行するためのプロセス５００を示す。最初に、Ｎの入力ビットを含み、Ｎのサイズを有するパケットが受信される（ブロック５１０）。パケットサイズが２の累乗でないなら（すなわち、２L＜Ｎ＜２L+1なら）、余分なものを取り除くことを有した（L+1）ビット反転インターリーバーを用いてパケット内のＮの入力ビットをインターリーブする。余分なものを取り除いたビット反転インターリービングを実行するために、パケットは最初に長さ２L+1に拡張される（ブロック５１２）。これは、パケットの終わりにおいて（２L+1−Ｎ）のパディングビットを付加することにより達成されてもよい。あるいは、以下に記載するように、パケット拡張はインターリービングのために使用されるビットアドレスを適切に発生することにより達成されてもよい。どんな場合でも、長さが２L+1の拡張されたパケットは、（L+1）ビット反転インターリーバーを用いてインターリーブされる（ブロック５１４）。次に、例えば、パケットに付加されているなら（２L+1−Ｎ）のパディングビットを削除することによりＮのインターリーブされたビットを含むパケットが形成される（ブロック５１６）。
【００４３】
図６は図１の送信機１１０におけるチャネルインターリーバーの一実施形態であるチャネルインターリーバー１１８ｘのブロック図を示す。チャネルインターリーバー１１８ｘはメモリユニット６１０、アドレスジェネレーター６２０、およびルックアップテーブル６３０を含む。チャネルインターリーバー１１８ｘは（エンコーダー１１６からのコードビットである）入力ビットを受信し、これらの入力ビットをメモリユニット６１０のアドレスジェネレーター６２０により決定されるロケーションに記憶する。チャネルインターリーバー１１８ｘはメモリユニット６１０のアドレスジェネレーター６２０により決定されるロケーションからインターリーブされたビットを供給する。アドレスジェネレーター６２０は各入力パケットの開始の表示とそのサイズを受信し、入力ビットをメモリユニット６１０に書き込むための適切なアドレスを発生する。また、アドレスジェネレーター６２０はメモリユニット６１０からインターリーブされたビットを読むまたは検索するための適切なアドレスを発生する。
【００４４】
余分なものを取り除いたビット反転インターリーバーのためのインターリービングはいくつかの方法で実行されてもよい。第１の実施形態において、パケット内の入力ビットはリニアな順番でメモリユニット６１０に記憶され、インターリーブされた順番でメモリユニット６１０から検索される。この実施形態の場合、アドレスジェネレーター６２０は入力パケットの開始を受信し、パケットのためのシーケンシャルアドレスを発生する。
【００４５】
また、アドレスジェネレーター６２０はメモリユニット６１０からインターリーブされたビットを読むためのビット反転アドレスを発生する。第２の実施形態において、パケット内の入力ビットはインターリーブされた順番でメモリユニット６１０に記憶され、リニアな順番でメモリユニット６１０から検索される。この実施形態の場合、アドレスジェネレーター６２０は、入力パケットの開始を受信し、入力ビットをメモリユニット６１０に書き込むためのビット反転アドレスを発生する。また、アドレスジェネレーター６２０はメモリユニット６１０からインターリーブされたビットを読むためのシーケンシャルアドレスを発生する。
【００４６】
両方の実施形態の場合、入力パケットのパディングは必要とされないようにアドレスジェネレーター６２０はビット反転アドレスを発生することができる。ビット反転アドレスは以下のように発生されてもよい。入力パケットは０乃至Ｎ−１のインデックスにおいてＮの入力ビットを含む。アドレスジェネレーター６２０はビット反転インターリーバーのための必要なビット数（L+1）を最初に決定する。但し、（L+1）は、Ｎ≦２L+1であるように最小の整数である。アドレスジェネレーター６２０内のカウンターはゼロにイニシャライズされる。次に、アドレスジェネレーター６２０はｊ＝π（ｉ）として暫定的なビット反転アドレスｊを形成する。但し、π（ｉ）は現在のカウント値ｉに対するビット反転動作である。ビット反転アドレスはＮ未満なら受け付けられ、そうでなければ拒絶される。ビット反転アドレスが受け付けられるならアドレスジェネレーター６２０はビット反転されたアドレスを供給する。いずれの場合においても、カウンターはインクリメントされ、新しいカウント値を用いて次の暫定的なビット反転アドレスを発生する。アドレス発生プロセスはすべてのＮの有効なビット反転アドレスが発生されるまで続く。長さ２L+1までのパディングまたはパケット拡張はビット反転アドレスを適切に発生することにより効率的に達成される。
【００４７】
ビット反転アドレスは入力ビットをメモリユニット６１０に書き込むためにまたはメモリユニット６１０からインターリーブされたビットを読み出すためにアドレスジェネレーター６２０はビット反転アドレスを迅速に発生してもよい。あるいは、ビット反転アドレスはルックアップテーブル６３０に記憶されてもよいし必要に応じてアクセスされてもよい。
【００４８】
図６はまた他の方法で実施されてもよいチャネルインターリーバー１１８の一実施形態を示す。図２の受信機１５０におけるチャネルインターリーバー１６０は、図６に示される構造を用いて実施されてもよい。
【００４９】
余分なものを取り除いたビット反転インターリーバーは、ターボコード、畳み込みコード、ＬＤＰＣコード等のような種々のタイプのＦＥＣコードと組み合わされて使用されてもよい。異なるＦＥＣコードのためのエンコーダー１１６、チャネルインターリーバー１１８、およびパンクチャリングユニット１２０のいくつかの例示実施形態は以下に記載される。
【００５０】
図７はエンコーダー１１６ａ、チャネルインターリーバー１１８ａ、およびパンクチャリングユニット１２０ａのブロック図を示す。これらは、図１の送信機１１０におけるそれぞれエンコーダー１１６、チャネルインターリーバー１１８およびパンクチャリングユニットの一実施形態である。この実施形態の場合、エンコーダー１１６ａはレート１／５並列−連結畳み込みコードを実施する。これは一般にターボコードと呼ばれる。エンコーダー１１６ａは各データビットに対して５つのコードビットを提供する。
【００５１】
エンコーダー１１６ａは２つの構成要素エンコーダー７１２ａおよび７１２ｂ、２つのマルチプレクサー（Ｍｕｘ）７１４ａおよび７１４ｂ、およびコードインターリーバー７１６を含む。エンコーダー１１６ａは｛ｘ}として示されるＮＤのデータビットを含むデータパケットを受信し、ＮＤのデータビットをコード化されたパケットのためのＮＤの系統的なビットのシーケンスとして供給する。構成要素エンコーダー７１２ａはデータビット｛ｘ｝を受信し、第１の生成多項式に従ってデータビットをエンコードし、｛ｙ1｝として示されるＮＤのパリティビットの第１のシーケンスを発生する。また、構成要素エンコーダー７１２ａは第２の生成多項式Ｇ２（Ｄ）に従って同じデータをエンコードし、｛Ｚ1｝として知られるＮＤのパリティビットの第２のシーケンスを発生する。コードインターリーバー７１６は特定のインターリービングスキームに従ってＮＤのデータビットを受信しインターリーブする。例えば、コードインターリーバー７１６は、技術的に知られているようにＬＣＳインターリービングスキーム、擬似ランダムインターリービングスキーム等を実施してもよい。構成要素エンコーダー７１２ｂは、コードインターリーバー７１６からＮＤのインターリーブされたビットを受信し、第１の生成多項式Ｇ1（Ｄ）に従ってインターリーブされたビットをエンコードし、｛ｙ２｝として示されるＮＤのパリティビットの第３のシーケンスを発生する。また、構成要素エンコーダー７１２ｂは第２の生成多項式Ｇ2（Ｄ）に従って同じインターリーブされたビットをエンコードし、｛ｚ2｝として示されるＮＤのパリティビットの第４のシーケンスを発生する。また、構成要素エンコーダー７１２ａおよび７１２ｂはテールパリティビットを提供してもよい。
【００５２】
マルチプレクサー７１４ａはパリティビットシーケンス｛ｙ１｝と｛ｙ２｝を受信し、第１の生成多項式Ｇ1（Ｄ）のためのパリティビットシーケンス{y}を提供する。シーケンス｛ｙ｝における第１のＮＤパリティビットはシーケンス｛ｙ１｝からであり、シーケンス｛ｙ｝における最後のＮDパリティビットはシーケンス｛ｙ２｝からである。同様に、マルチプレクサー７１４ｂはパリティビットシーケンス｛ｚ1｝および｛ｚ2｝を受信し、これら２つのシーケンスを一緒に多重化し、第２の生成多項式Ｇ2（Ｄ）のためのパリティビットシーケンス｛ｚ｝を提供する。シーケンス｛ｚ｝内の第１のＮDのパリティビットはシーケンス｛ｚ1｝からであり、シーケンス｛ｚ｝内の最後のＮDのパリティビットはシーケンス｛ｚ2｝からである。
【００５３】
ＮDの入力ビットを有したデータパケットの場合、エンコーダー１１６ａは（ＮDの入力ビットに等しい）ＮDの系統的なビットのシーケンス、第１生成多項式を用いて発生される２ＮDのパリティビット｛ｙ｝、および第２生成多項式を用いて発生される２ＮDのパリティビット｛ｚ｝のシーケンスを供給する。系統的なビットのシーケンスとパリティビットの２つのシーケンスは一緒になって、データパケットに対してエンコーダー１１６ａにより発生されたコード化されたパケットの５ＮDのコードビットを構成する。
【００５４】
チャネルインターリーバー１１８ａは余分なものを取り除いたビット反転インターリーバー７２２、７２４ａ、および７２４ｂを含む。これらの各々は、図６に示されるように実施されてもよい。インターリーバー７２２はＮＤの系統的なビット｛ｘ｝のシーケンスに対して余分なものを取り除いたビット反転インターリービングを実行し、インターリーブされたシーケンス｛ｘint｝を提供する。インターリーバー７２２はサイズＮ’Dのビット反転インターリーバーを利用する。Ｎ’Dは、ＮD以上である最も近い２の累乗である。インターリーバー７２４ａは、２ＮDのパリティビット｛ｙ｝のシーケンスに対して余分なものを取り除いたビット反転インターリービングを実行し、インターリーブされたシーケンス｛ｙint｝を供給する。インターリーバー７２４ａは、サイズ２Ｎ’Dのビット反転インターリーバーを利用する。２Ｎ’Dは２ＮD以上である最も近い２の累乗である。同様に、インターリーバー７２４ｂは、２ＮDのパリティビット｛ｚ｝のシーケンスに対して余分なものを取り除いたビット反転インターリービングを実行し、インターリーブされたシーケンス｛ｚint}を供給する。また、インターリーバー７２４ｂはサイズ２Ｎ’Dのビット反転インターリーバーを利用する。シーケンス｛ｙ｝は、シーケンス｛ｙ1｝からＮDのパリティビットを含み、それに続いてシーケンス｛ｙ2｝からＮDのパリティビットを含むので、｛ｙint}における偶数のインデックスされたパリティビットは｛ｙ1｝からであり、｛ｙint｝における奇数のインデックスされたパリティビットは｛ｙ2｝からである。同様に、｛ｚint｝における偶数のインデックスされたパリティビットは｛ｚ1｝からであり、｛ｚint｝における奇数のインデックスされたパリティビットは｛ｚ2｝からである。３つのシーケンス｛ｘint｝、｛ｙint｝、および｛ｚint｝はインターリーブされたパケットを形成する。
【００５５】
パンクチャリングユニット１２０ａはパンクチャリングユニット７３２、７３４、７３６とマルチプレクサー７３８を含む。パンクチャリングユニット７３２は、シーケンス｛ｘint｝を受信し、ゼロまたはそれ以上のコードビットをパンクチャし、パンクチャされたシーケンス｛ｘp｝を供給する。パンクチャリングユニット７３４はシーケンス｛ｙint｝を受信し、シーケンス｛ｚint｝の終わりでゼロまたはそれ以上のコードビットをパンクチャまたは切り取り、パンクチャされたシーケンス｛ｙp｝を供給する。同様に、パンクチャリングユニット７３６はシーケンス｛ｚint｝を受信し、シーケンス｛ｚint｝の終わりでゼロまたはそれ以上のコードビットをパンクチャし、パンクチャされたシーケンス｛ｚp｝を供給する。余分なものを取り除いたビット反転インターリーバー７３４および７３６の場合、各シーケンスにおけるコードビットは、シーケンスの終わりで始まるシーケンスの始まりに向けて横断してパンクチャされる。シーケンス｛ｘint}におけるインターリーブされた系統的なビットは典型的にパンクチャされないかまたは最後にパンクチャされる。
【００５６】
エンコーダーはパケット内のＮDのデータビットに対してＮｃ＝５ＮDコードビットを発生するレート１／５ターボコードを実施する。パンクチャするためのコードビットの数はコード化されたパケットサイズおよび出力パケットサイズにより決定されてもよい。所望の出力パケットサイズがＮｐであり、コード化されたパケットサイズがＮｃなら、（Ｎｃ−Ｎｐ）コードビットがパンクチャされサイズＮｐの出力パケットを得る。あるいは、パンクチャするためのコードビットの数は、コード化されたパケットのサイズと所望のコードレートにより決定されてもよい。これはＲ＝ＮD／Ｎpとして与えられる。コード化されたパケットサイズがＮｃで、所望のコードレートがＲであるなら、（Ｎｃ−ＮD／Ｒ）のコードビットがパンクチャされ所望のコードレートを得る。例えば、１／３のコードレートは、（Ｎc−３ＮD）＝２ＮDコードビットをパンクチャすることにより決定されてもよい。
【００５７】
パンクチャリングは種々の方法で実行されてもよい。１つのパンクチャリングスキームにおいて、（Ｎｃ−Ｎｐ）コードビットをパンクチャしてＮｐのサイズの出力パケットを発生するために、シーケンス｛ｚint｝内のコードビットが最初にパンクチャされ、次に必要であればシーケンス｛ｙint｝内のコードビットがパンクチャされ、必要であれば、シーケンス｛ｘint｝内のコードビットが最後にパンクチャされる。シーケンス｛ｚint｝内のすべての２ＮDのコードビットがパンクチャされるとき、レート１／３ターボコードが得られる。他のパンクチャリングスキームにおいて、シーケンス｛ｙint｝における（Ｎｃ-Ｎｐ）／２のコードビットおよびシーケンス｛ｚint｝における（Ｎｃ−Ｎｐ）／２のコードビットがパンクチャされ、サイズＮｐの出力パケットを得る。いずれの場合においても、マルチプレクサー７３８は３つのシーケンス｛ｘp｝、｛ｙp｝および｛ｚp｝を受信し、出力パケットに対してシーケンス｛ｘp｝を供給し、次に、シーケンス｛ｙp｝を供給し、最後にシーケンス｛ｚp｝を供給する。これは｛ｓ｝として示される。
【００５８】
チャネルインターリーバー１１８ａは、レート４／５、２／３、１／２、１／３、１／４および１／５を含む多くのコードレートに対してパリティビットのための規則的なパンクチャリングパターンを供給する。チャネルインターリーバー１１８ａは他のコードレートに対してほぼ規則的なパンクチャリングパターンを供給する。上述するように、チャネルインターリーバー１１８ａは良好な拡散特性を供給する。ターボデコーダーは、規則的なまたはほぼ規則的なパンクチャリングパターンと、チャネルインターリーバー１１８ａにより供給される良好な拡散因数を用いて改良された性能を達成することができる。
【００５９】
また、パンクチャリングはチャネルインターリービングと組み合わされてもよい。それによって、アンパンクチャされることになっているビットはメモリに記憶されない。所定の余分なものを取り除いたビット反転インターリーバーの場合、インターリーバーからのＫのインターリーブされたビットのみが出力パケットに対して供給されることになっているなら、インターリーブされたシーケンスにおいてＫより大きいインデックスを有したコードビットはインターリーバーにより削除されてもよい。
【００６０】
図７はレート１／５ターボコードを実施するエンコーダー１１８ａを示す。レート１／３ターボコードの場合、構成要素エンコーダー７１２ａは単一生成多項式Ｇ（Ｄ）に基いてパリティビットの単一シーケンス｛ｙ1｝を発生する。また、構成要素エンコーダー７１２ｂ同じ生成多項式Ｇ（Ｄ）に基いてパリティビットの単一シーケンス｛ｙ2｝を発生する。マルチプレクサー７１４ａはシーケンス｛ｙ1｝および｛ｙ2｝を単一のシーケンス｛ｙ｝に多重化する。余分なものを取り除いたビット反転インターリーバー７２４ａはシーケンス｛ｙ｝内のパリティビットをインターリーブし、インターリーブされたシーケンス｛ｙint｝を提供する。マルチプレクサー７１４ｂ、余分なものを取り除いたビット反転インターリーバー７２４ｂ、およびパンクチャリングユニット７３６はレート１／３ターボコードに対して必要とされない。
【００６１】
図８はエンコーダー１１６ｂ、チャネルインターリーバー１１８ｂ、およびパンクチャリングユニット１２０ｂのブロック図を示す。これらは、それぞれ送信機１１０におけるエンコーダー１１６、チャネルインターリーバー１１８およびパンクチャリングユニット１２０の他の実施形態である。この実施形態の場合、エンコーダー１１６ｂは、各データビットに対してＭのコードビットを供給するレート１／Ｍ畳み込みコードを実施する。エンコーダー１１６ｂは畳み込みエンコーダー８１２およびマルチプレクサー８１４を含む。畳み込みエンコーダー８１２はデータビット｛ｘ｝を受信し、Ｍの異なる生成多項式に従ってデータビットをエンコードし、{c１｝乃至｛ｃM｝として示されるコードビットのＭのシーケンスを発生する。マルチプレクサー８１４は、Ｍのコードビットシーケンスを受信し、コード化されたパケットに対して最初にシーケンス｛ｃ1｝を供給し、次にシーケンス｛ｃ2｝を供給し、最後にシーケンス｛ｃM｝を供給する。これは｛ｃ｝として示される。この多重化スキームは各生成多項式からのほぼ等しい数のコードビットが出力パケットに対して選択されることを保証する。
【００６２】
チャネルインターリーバー１１８ｂは図６に示されるように実施されてもよい余分なものを取り除いたビット反転インターリーバー８２２を含む。インターリーバー８２２は、コードビットシーケンス｛ｃ｝に対して余分なものを取り除いたビット反転インターリービングを実行し、インターリーブされたシーケンス｛ｃint｝を供給する。インターリーバー８２２は、入力シーケンスサイズ以上の最も近い２の累乗であるサイズのビット反転インターリーバーを利用する。インターリーブされたシーケンス｛ｃint｝はインターリーブされたパケットを形成する。パンクチャリングユニット１２０ｂは、（例えば、シーケンス｛ｃint｝の終わりから始まる）インターリーブされたシーケンス｛ｃint｝内のゼロまたはそれ以上のコードビットをパンクチャするパンクチャンリングユニット８３２を含む。
【００６３】
図９はエンコーダー１１６ｃ、チャネルインターリーバー１１８ｃ、およびパンクチャリングユニット１２０ｃのブロック図を示す。これらは、それぞれ送信機１１０におけるエンコーダー１１６、チャネルインターリーバー１１８およびパンクチャリングユニット１２０のさらに他の実施形態である。この実施形態の場合、エンコーダー１１６ｃはＬＤＰＣエンコーダー９１２を含む。ＬＤＰＣエンコーダー９１２はデータパケット｛ｘ｝のためのデータビットを受信し、生成マトリクスＧに従ってデータビットをエンコードし、系統的ビットのシーケンスとしてデータビットを供給し、｛ｑ｝として示されるパリティビットのシーケンスを供給する。生成マトリクスＧはパリティチェックマトリクスＨに基いて、そして所望の数のコードビットが発生されるように形成される。シーケンス｛ｘ｝および｛ｑ｝はコード化されたパケットを形成する。
【００６４】
チャネルインターリーバー１１８ｃは余分なものを取り除いたビット反転インターリーバー９２２および９２４を含む。これらの各々は図６に示されるように実施されてもよい。インターリーバー９２２は系統的なビット｛ｘ｝のシーケンスに対して余分なものを取り除いたビット反転インターリービングを実行し、インターリーブされたシーケンス{ｘint｝を供給する。インターリーバー９２４はパリティビット｛ｑ｝のシーケンスに対して余分なものを取り除いたビット反転インターリービングを実行し、インターリーブされたシーケンス｛ｑint｝を供給する。インターリーバー９２２および９２４はそれぞれのシーケンスのための最小可能サイズのビット反転インターリーバーを利用する。シーケンス｛ｘint｝および｛ｑint｝はインターリーブされたパケットを形成する。パンクチャンリングユニット１２０ｃは、シーケンス｛ｘint｝および｛ｑint｝を受信して多重化するマルチプレクサー９３２を含み、所望のサイズの出力パケット｛ｓ｝を供給する。シーケンス｛ｘ｝および｛ｑ｝は所望のサイズで集合的であるので、パンクチャリングは必要ない。
【００６５】
図９は系統的ビットおよびパリティビットを発生するＬＤＰＣコードの１つのタイプを示す。他のＬＤＰＣコードはパリティビットのみを発生してもよく、系統的ビットを発生しなくてもよい。この場合において、チャネルインターリーバーは、図８に対して上述した方法で、１つの余分なものを取り除いたビット反転インターリーバーを用いて実行されてもよい。
【００６６】
図７、図８、および図９は３つの異なるタイプのＦＥＣコードを有する余分なものを取り除いたビット反転インターリーバーの使用を示す。同様のインターリーバーを他のコードに対して使用してもよい。この場合、拡散特性および／または規則的なパンクチャリングパターンは重要である。ビット反転インターリーバーの特性が所望されるところならどこでも余分なものを取り除いたビット反転インターリーバーが使用されてもよいが、インターリーバーサイズは２の累乗ではない。
【００６７】
明確にするために、インターリービング技術は、２の累乗であるサイズを有するビット反転インターリーバーを使用する余分なものを取り除いたビット反転インターリーバーに対して特に記載した。また、これらの技術は、ＬＣＳ−タイプインターリーバー、擬似ランダムインターリーバー等のような他のタイプのインターリーバーに対して使用されてもよい。例えば、所定のサイズのＬＣＳ−タイプインターリーバーまたは擬似ランダムインターリーバーは、異なるパケットサイズをサポートするために、余分なものを取り除くことと共に使用されてもよい。所定のサイズの任意の与えられたインターリーバーの場合、（例えばパディングを付加することによりまたは適切にアドレスを発生することにより）所定のサイズよりパケットサイズが小さいなら、入力パケットはインターリーバーサイズに拡張されてもよい。次に、インターリービングはインターリーバーにより通常の方法で実行されてもよい。次に、オリジナルのパケットサイズを有したインターリーブされたパケットは（例えば、パディングを除去することによりまたは適切にアドレスを発生することにより）余分なものを取り除くことにより形成される。また、インターリービング技術は２の累乗ではない他のインターリーバーサイズに対して使用されてもよい。
【００６８】
図１を参照して、パンクチャリングユニット１２０からの出力ビットはシンボルマッパー１２２により変調シンボルにマップされる。直交周波数分割多重アクセス（ＯＦＤＭＡ）システムのようなＯＦＤＭベースシステムの場合、各ＯＦＤＭシンボル期間において１つの変調シンボルが各サブバンドに送信されてもよい。変調シンボルの与えられたパケットは、複数（Ｔ）のＯＦＤＭシンボル期間に複数（Ｓ）のサブバンドに送信されてもよい。いくつかのシナリオの場合、最初に時間に対して変調シンボルを供給することにより、次に周波数に対して変調シンボルを供給することにより改良された性能を得てもよい。この場合、Ｔの変調シンボルは、Ｔのシンボル期間に第１のサブバンドに供給されてもよく、次のＴの変調シンボルは、同じＴのシンボル期間に第２のサブバンドに供給されてもよい。いくつかの他のシナリオの場合、最初に周波数に対して変調シンボルを供給することにより、次に時間に対して変調シンボルを供給することにより、改良された性能を得てもよい。この場合、Ｓの変調シンボルは、第１のＯＦＤＭシンボル期間にＳのサブバンドに供給されてもよく、次のＳの変調シンボルは、第２のＯＦＤＭシンボル期間にＳのサブバンドに供給されてもよい。
【００６９】
ここに記載されたインターリービング技術は種々の手段により実施されてもよい。例えば、これらの技術はハードウエア、ソフトウエア、またはそれらの組み合わせにおいて実施されてもよい。ハードウエア実施の場合、インターリービングおよびデインターリービングを実行するように使用される処理ユニットは、１つ以上の特定用途向け集積回路（ＡＳＩＣｓ）、デジタルシグナルプロセッサー（ＤＳＰｓ）、デジタルシグナル処理装置（ＤＳＰＤｓ）、プログラマブル論理装置（ＰＬＤｓ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡｓ）、プロセッサー、コントローラー、マイクロコントローラー、ここに記載された機能を実行するように設計された他の電子ユニットまたはそれらの組み合わせにおいて実施されてもよい。
【００７０】
ソフトウエア実施の場合、インターリービング技術は、ここに記載した機能を実行するモジュール（例えば、手続、機能等）を用いて実施してもよい。ソフトウエアコードは、メモリユニット（例えば、図１のメモリユニット１３２または図２のメモリユニット１７２）に記憶されてもよく、プロセッサー（例えば、図１のコントローラー１３０、または図２のコントローラー１７０）により実行されてもよい。メモリユニットはプロセッサー内部に実施してもよいし、プロセッサー外部に実施してもよい。
【００７１】
開示された実施形態の上述の記載は当業者がこの発明を製作または使用することを可能にするために提供される。これらの実施形態に対する種々の変更は当業者には容易に明白であり、ここに定義された包括的原理は、この発明の精神または範囲を逸脱することなく他の実施形態に適用されてもよい。従って、この発明は、ここに示される実施形態に限定されることを意図したものではなく、ここに開示された原理および新規な特徴と一致する最も広い範囲が許容されるべきである。
【図面の簡単な説明】
【００７２】
【図１】図１は、送信機のブロック図を示す。
【図２】図２は、受信機のブロック図を示す。
【図３】図３は、４ビットの反転インターリーバーの動作を図解する。
【図４】図４は４ビットの余分なものが取り除かれた反転インターリーバーの動作を図解する
【図５】図５は余分なものが取り除かれたビット反転インターリービングのためのプロセスを示す。
【図６】図６は、チャネルインターリーバーのブロック図を示す。
【図７】図７は、余分なものが取り除かれたビット反転インターリーバーを有したターボエンコーダーを示す。
【図８】図８は余分なものが取り除かれたビット反転インターリーバーを有した畳み込みエンコーダーを示す。
【図９】図９は余分なものが取り除かれたビット反転インターリーバーを有したＬＤＰＣエンコーダーを示す。
【図１】
2008526134.tif 000003
【図２】
2008526134.tif 000004
【図３】
2008526134.tif 000005
【図４】
2008526134.tif 000006
【図５】
2008526134.tif 000007
【図６】
2008526134.tif 000008
【図７】
2008526134.tif 000009
【図８】
2008526134.tif 000010
【図９】
2008526134.tif 000011
【国際調査報告】
2008526134.tif 000012
2008526134.tif 000013
2008526134.tif 000014