(57)【特許請求の範囲】
【請求項１】
符号化されたデータビットを削除することにより、並列連接畳み込み符号化されたデータをインターリーブしてレートマッチングする方法であって、
該符号化されたデータは、組織ビットおよびパリティビットを有しており、
前記パリティビットとは別個に組織ビットをインターリーブするステップと、
前記インターリーブされたパリティビットからパリティビットを削除してレートマッチングを提供するステップと、
を含む方法。
【請求項２】
符号化されたデータビットを反復することにより、並列連接畳み込み符号化されたデータをインターリーブしてレートマッチングする方法であって、
該符号化されたデータは、組織ビットおよびパリティビットを有しており、
前記組織ビットとは別個にパリティビットをインターリーブするステップと、
前記インターリーブされた組織ビットの組織ビットの任意の反復よりも大きい反復ファクターで、前記インターリーブされたパリティビットのパリティビットを反復し、レートマッチングを提供するステップと、
を含む方法。
【請求項３】
請求項１または２に記載された方法を実行するよう構成された、符号化インターリービングおよびレートマッチング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、この発明は、通信システムのためのレート・マッチングおよびチャネル・インターリービングに関する。
【背景技術】
【０００２】
通信システムにおいて、前方誤り訂正（ＦＥＣ）を使用してデータのインターリービング（interleaving）を実行することにより、デインターリービング（deinterleaving）の際に、エラーを分散させてそれらの訂正を容易にすることは周知である。典型的には、そのようなインターリービングは、データブロックをインターリーブするブロック・インターリーバーを使用する。いわゆるターボ符号化（並列連接畳み込み符号化）は、インターリービングの前後で入力データからそれぞれのパリティビットを生成する２つの畳み込み符号器への入力間に置かれたインターリーバを使用する。特に無線通信システムにおいて、ターボ符号化の使用が注目されてきており、よってインターリーバの形態も注目されてきている。
【０００３】
また、いわゆる第３世代のＣＤＭＡ（符号分割多重アクセス）無線通信システムでは、典型的には１０ｍｓの無線フレーム持続時間に対応するブロックにおいてデータをインターリーブする（すなわち順序を並べ替える）よう動作するチャネルすなわちフレーム間インターリーバを必要とする無線通信システムが開発されてきている。そのようなシステムでは、チャネル・インターリーバーは、レートマッチング機能の前または後ろのいずれかに設けられる。ここで、レートマッチング機能は、様々なデータレートが無線フレームレートに整合（マッチング）するよう、および典型的にはデータシンボル（このケースではデータビット）のパンクチャリング（puncturing：切り捨て）または反復（repetition）を実行するよう動作する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
実現するのが容易であり、かつフレームサイズ、フレーム数およびパンクチャリング率のような変数から比較的独立した方法で、デインターリーブされたフレームにおいて、パンクチャリングまたは反復されたビット間の距離ができるだけ大きく、パンクチャリングまたは反復されたビットができるだけ均一に分散されるのが望ましい。
【０００５】
１９９９年３月１９日にWen  Tong他により出願された、「データ・インターリーバおよびデータをインターリーブする方法（Data  Interleaver  And  Method  Of  Interleaving  Data）」と称するカナダの特許出願（ファイル番号：10378RO）は、上記に参照したチャネル・インターリービングを提供するのに有利に使用することができるデータをインターリーブする方法およびデータ・インターリーバについて記述している。この発明は、そのようなチャネル・インターリービング後のデータについて特定の有利さで使用することのできるやり方のレートマッチングに関するが、これはまた、他の形式のインターリーブされたデータに対しても適用することができる。また、この発明は、そのようなチャネル・インターリービングに改良を加え、さらにそのようなチャネル・インターリービングのアプリケーションに改良を加えるものである。
【課題を解決するための手段】
【０００６】
この発明の１つの側面によると、この発明は、予め決められたインターリービング処理によってインターリーブされたデータビットのマトリクスにおけるデータビットのレートを、該マトリクスから導き出された冗長なデータビットの削除またはデータビットの反復によって、所望のレートに整合させる方法を提供する。この方法は、該所望のデータレートを提供するために削除または反復されるべきビットのパターンを、前記データビットのインターリーブされていないマトリクスにおいて求めるステップと、前記インターリービング処理とは反対の方法で前記パターンのそれぞれのビットのアドレスを復号し、前記インターリーブされたデータビットのマトリクスにおけるビットのそれぞれのアドレスを生成するステップと、前記それぞれのアドレスに従って、前記インターリーブされたデータビットのそれぞれのビットを削除または反復するステップとを含む。
【０００７】
アドレスの復号化を、前記データビットのインターリーブされていないマトリクスからインターリーブされたデータビットを生成するアドレスの符号化と同じ方法で実行するのが特に有利であり、かつ実際上必要となりうる。これは、Ｎｒ行およびＮｃ列のマトリクスの行および列の順番を並べ替えることを含むインターリービング処理により、この発明の方法の好ましい実施形態で容易化される。ここで、インターリーブされるべきデータビットは、以下の式に従って行ごとに表される。
【０００８】
行並べ替え  Ｉｒ(ｋ)＝[αｒｋ＋ｆｃ(ｌ)]modＮｒ
列並べ替え  Ｉｃ(ｌ)＝[αｃｋ＋ｆｒ(ｋ)]modＮｃ
【０００９】
ここで、Ｉｒ(ｋ)は、行インデックスｋのデータビットを表し、ｋは１〜Ｎｒの整数である。αｒは整数であり、ｆｃ(ｌ)は、列インデックスｌのゼロでない関数であり、ｌは１〜Ｎｃの整数である。Ｉｃ(ｌ)は、列インデックスｌのデータビットを表す。αｃは整数であり、ｆｒ(ｋ)は、ゼロまたは行インデックスｋの関数である。modＮｒおよびmodＮｃは、それぞれモジュロＮｒおよびモジュロＮｃ算術を表す。こうして、インターリーブされたデータビットは、列ごとにマトリクスから導き出される。
【００１０】
ｆｃ(ｌ)およびｆｒ(ｋ)を、ｆｃ(ｌ)＝ｍｌ＋[Ｎｒ＋１]mod２（ここで、ｍは整数であり、Ｎｒ/Ｎｃにおよそ等しい）、ｆｒ(ｋ)＝２ｋ＋[Ｎｃ＋１]mod２のように選択し、またαｒを、Ｎｒ／log２(log２(Ｎｒ))より小さい最大素数として選択するのが最適であると考えられる。また、この発明は、上記引用した方法を実行するよう構成されたレートマッチング装置を提供する。
【００１１】
この発明の他の側面は、Ｎｒ行およびＮｃ列のマトリクスの行および列を並べ替えることを含むデータビットをインターリーブする方法を提供する。ここで、インターリーブされるべきデータビットは以下の式に従って行ごとに表される。
【００１２】
行並べ替え  Ｉｒ(ｋ)＝[αｒｋ＋ｆｃ(ｌ)]modＮｒ
列並べ替え  Ｉｃ(ｌ)＝[αｃｋ＋ｆｒ(ｋ)]modＮｃ
【００１３】
ここで、Ｉｒ(ｋ)は行インデックスｋのデータビットを表し、ｋは１〜Ｎｒまでの整数である。αｒは整数であり、ｆｃ(ｌ)＝ｍｌ＋[Ｎｒ＋１]mod２は列インデックスｌのデータビットを表す。αｃは整数であり、ｆｒ(ｋ)＝２ｋ＋[Ｎｃ＋１]mod２である。mod２、modＮｒおよびmodＮｃは、それぞれモジュロ２、モジュロＮｒおよびモジュロＮｃ算術を表す。こうして、インターリーブされたデータビットは、列ごとにマトリクスから導き出される。
【００１４】
また、この発明は、この方法を実行するよう構成されたデータ・インターリーバを提供する。
【００１５】
この発明の他の側面は、符号化されたデータビットを削除することにより、並列連接畳み込み符号化されたデータをインターリーブしてレートマッチングする方法を提供する。符号化されたビットは、組織ビットおよびパリティビットを有する。
【００１６】
この方法は、パリティビットとは別個に組織ビットをインターリーブするステップと、該インターリーブされたパリティビットからパリティビットを削除してレートマッチングを提供するステップとを含む。
【００１７】
この発明のさらなる側面は、組織ビットおよびパリティビットを有する符号化されたデータビットの反復により、並列連接畳み込み符号化データをインターリーブしてレートマッチングする方法を提供する。この方法は、パリティビットとは別個に組織ビットをインターリーブするステップと、インターリーブされたパリティビットを、インターリーブされた組織ビットの任意の組織ビット反復より大きい反復ファクターで反復し、レートマッチングを提供するステップと、を含む。
【００１８】
さらにこの発明は、これらの方法を実行するよう構成された符号化、インターリービングおよびレートマッチングの装置を提供する。
【００１９】
さらにこの発明の他の側面は、図４を参照して以下に説明する方法で、インターリーブされレートマッチングされたデータストリームをシャッフリング（shuffle）する方法、および２より多いそのようなデータストリームに対するこの方法の帰納的な適用に関する。
【００２０】
この発明のさらなる側面は、一般的、実質的または本質的に、図３から図５を参照して以下に説明する方法または装置に関する。
【図面の簡単な説明】
【００２１】
【図１】第３世代ＣＤＭＡ通信システムにおけるサービス多重化およびチャネル・インターリービングのための既知の構成を示す図。
【図２】既知のレートマッチングアルゴリズムに関するフローチャート。
【図３】この発明の実施形態に従う、インターリーバおよびレートマッチングの構成の実現を示す図。
【図４】図１の構成における第２段階のシャフリングに関するフローチャートを示す図。
【図５】ターボ（並列な連結された畳み込み）符号化によって符号化されたデータのチャネル・インターリービングおよびレートマッチングの図１の構成の一部を変更したものを示す図。
【発明を実施するための形態】
【００２２】
図１を参照すると、第３世代ＣＤＭＡ無線通信システムにおけるサービス多重化およびチャネル・インターリービングの既知の構成が示されている。この構成は、主流のサービスすなわちＱｏＳ（サービス品質）チャネルと呼ばれる複数のデータ信号ストリームをまとめて多重化するよう動作するサービス・マルチプレクサ１０を備える。複数のデータ信号ストリームはそれぞれのサービスブロック１２を介して供給されるが、この図ではそのうちの１つのみが示されている。それぞれのサービスブロック１２には、構成要素である複数の入力信号が入力１４に供給される。この信号は、たとえば音声、データおよびマルチメディア信号のような様々な種類の信号のうち任意のものを含むことができる。これらの入力信号は、任意の伝送レート、フレームサイズおよび他のパラメータを有することができる。これらの入力信号は、ブロック１６においてＣＲＣ（巡回冗長検査）コードが付加され、伝送チャネル・マルチプレクサ１８においてまとめて多重化される。多重化された信号は、セグメント化ブロック２０において符号化のためにセグメント分割され、該セグメント化された信号は、ＦＥＣブロック２２においてＦＥＣ（前方誤り訂正）符号化を受ける。符号化された信号は、マルチプレクサ２４において多重化される。
【００２３】
多重化された信号は、ブロック２６においてレートマッチング（冗長なデータシンボル（ビット）のパンクチャリング（削除）またはデータシンボル（ビット）の反復）を受け、データレートを、１０ｍｓの持続時間の無線フレームを持つ無線通信レート（エアレート(air  rate)）に整合させる。主に隣接したビットを分離して、無線チャネルにおけるフェージングに起因したエラーの悪影響を低減させるために、データビットは、第１のインターリーバ２８においてインターリーブされる。第１のインターリーバ２８は、それぞれが１０ｍｓの、データビットのブロックを並べ替えるよう動作するので、チャネル・インターリーバーまたはフレーム間インターリーバと呼ばれる。図１では、インターリーバ２８はレートマッチングのブロック２６に続くものとして示されているが、以下に詳細に説明するようにこれらの機能の配置を交換することができる。その場合、マルチプレクサ２４からの多重化された信号はチャネル・インターリーバー２８に供給され、インターリーバからのインターリーブされた信号はレートマッチングブロック２６に供給される。また、たとえばこれらの機能を、中央局からのダウンリンクの信号伝送のために図１に示される順序にすることができ、または中央局へのアップリンクの信号伝送のために逆の順序にすることもできる。
【００２４】
機能２６および２８に続き、結果としてのレートマッチングされインターリーブされた信号は、セグメント化ブロック３０および３２において、無線フレームおよび物理チャネルについてそれぞれセグメント分割され、マルチプレクサ１０により多重化するための信号を生成する。マルチプレクサ１０により出力された信号は、第２のインターリーバ３４によってインターリーブされる。第２のインターリーバ３４の出力は、既知の方法におけるＣＤＭＡ無線通信経路を介した通信のために、セグメント化およびマッピングブロック３６において、セグメント化されて専用の物理チャネルにマップされる。
【００２５】
上記参照したWen  Tong他による特許出願に記載されているように、第１のインターリーバ２８は、たとえば以下に説明するような簡単なシャフリング操作にまで、第２のインターリーバ３４を省略または縮小することを可能にするのに十分良いパフォーマンスを持つことができる。このことは、以下の理由により特に望ましい。すなわち、そうでなければ第２のインターリーバ３４は、それぞれの第１のインターリーバ２８によって実行されるインターリービングを劣化させる可能性があるのに対し、それぞれの第１のインターリーバ２８を、その特定のレートマッチングされたデータストリームおよびＱｏＳについて最適化することができるからである。
【００２６】
したがって、第１のインターリーバ２８は、十分ランダムな拡散特性を提供する代数的インターリーバとして実現される。それぞれのＱｏＳチャネルについて複数の符号化されたビットブロックまたはデータ伝送フレームは、２次元マトリクスにマップされ、マトリクスの行および列を並べ替えるために線形合同数測（linear  congruential  rule）を受け、インターリービング機能を実現する。最良のパラメータ・セットを探索することにより、最大のインターリービングの深さおよび期間（タイムスパン（time  span））を求めることができる。したがって、インターリーバは、たとえばルックアップテーブルのために大きいサイズのメモリを必要としたり、レートマッチング機能に対応するのが不十分だったりといった、既知のインターリーバの不利な点を持つことなく、比較的簡単な形態を持つことができる。
【００２７】
以下の説明は、マトリクスの行および列を参照するけれども、これは便宜さおよび明瞭さのためであり、インターリーバの機能を変更することなく行および列を交換することができるということ、実際におよび以下に説明するように、インターリーバは、メモリに格納されたビットをメモリ位置の間で実際に移動することなく、データビットが格納された線形メモリのメモリ位置を読み出しまたは書き込みアドレッシングを実行するといった等価制御により動作することができるということを理解されたい。
【００２８】
上記参照した特許出願で記述されているように、インターリーバ２６は以下のステップを実行するよう動作する。
【００２９】
１．データビットの符号化されたブロック数がＮｃで、それぞれの符号化されたブロックがＮｒ個のデータビットの長さであるのを、Ｎｒ行およびＮｃ列のマトリクスとして表す。
【００３０】
２．以下の式に従ってマトリクスの行および列を並べ替える。
【００３１】
行の並べ替え  Ｉｒ(ｋ)＝[αｒｋ＋ｆｃ(ｌ)]modＮｒ
列の並べ替え  Ｉｃ(ｌ)＝[αｃｌ＋ｆｒ(ｋ)]modＮｃ
【００３２】
ここで、Ｉｒ(ｋ)は行インデックスｋのデータビットを表し、ｋは１〜Ｎｒの整数である。αｒは整数であり、行並べ替えパラメータである。ｆｃ(ｌ)は列インデックスｌの正関数であり、ｌは１〜Ｎｃまでの整数である。Ｉｃ(ｌ)は列インデックスｌのデータビットを表す。αｃは整数であり、列並べ替えパラメータである。ｆｒ(ｋ)は行インデックスｋの正関数である。modＮｒおよびmodＮｃは、モジュロＮｒおよびモジュロＮｃ算術をそれぞれ表す。
【００３３】
３．マトリクスからインターリーブされたデータビットを列ごとに導き出す。
【００３４】
ステップ１をわずかに変更して、マトリクスの所与の列数をもつ異なる数のデータ伝送フレームに対応するようにすることができる。たとえば、マトリクスは、Ｎｃ/γ個のデータ伝送フレームについてＮｃ＝８の列を持つことができ（ここでγ＝１、２、４または８である）、それに応じて、マトリクスはＮｒ/γ個の行を持ち、結果として起こるステップ３の変更は、１無線フレームあたりマトリクスのγ個の列を読み出すことである。以下の説明では簡単にするため、Ｎｃ＝８でγ＝１と仮定する。
【００３５】
ステップ２では、行並べ替えパラメータαｒは、以下の式（３）で表される数より小さい最大素数であるよう選択される。列並べ替えパラメータαｃは、以下の式（４）で表される数より小さい最大素数であるよう選択される。
【００３６】
【数１】
0005457535.tif 000002
【００３７】
関数ｆｃ(ｌ)＝ｍｌ＋[Ｎｒ＋１]mod２であり、ここでｍは以下の式（５）によって表される数に等しい整数である。また、ｆｒ(ｋ)＝２ｋ＋[Ｎｃ＋１]mod２である。
【００３８】
【数７】
0005457535.tif 000003
【００３９】
［Ｎｒ＋１］mod２は、Ｎｒが奇数であるときはゼロ、Ｎｒが偶数であるときは１であることは明らかである。また、[Ｎｃ＋１]mod２は、Ｎｃが奇数であるときは１、Ｎｃが偶数であるときはゼロであることは明らかである。よって、関数ｆｃ(ｌ)およびｆｒ(ｋ)のこれらの部分は、それぞれの数ＮｒまたはＮｃが偶数であるとき、簡単な１の加算となる。
【００４０】
上記に示したように、レートマッチングは、データ伝送フレームのサイズが無線フレームのサイズより大きければ、ＦＥＣ符号化ブロック２２の結果として現れる冗長なデータビットを、最大のパンクチャリング率が伝送フレームサイズの２０％になるようパンクチャリング（削除）する。逆に、データ伝送フレームのサイズが無線フレームのサイズより小さければ、伝送フレームのビットは、レートマッチングを達成するよう反復される。レートマッチングは、可能な限り、パンクチャリングされるビットとビット間の分離距離を最大にして、それぞれの無線フレームにおけるパンクチャリングされたビット数を一様にすること、すなわち最大の分離を持つ無線フレームの間でパンクチャリングされたビットを均一に分散させることが望ましい。
【００４１】
図１に示されるようにレートマッチングブロック２６がチャネル・インターリーバー２８に先行している場合、図２に示されるような既知のレートマッチング方法を使用することができる。
【００４２】
図２を参照すると、セグメントサイズＮｉビットのそれぞれの無線フレームについて、ブロック４０において整数ｙがｙ＝Ｎｒ−Ｎｉのように求められ、ｙは、パンクチャリングが必要とされる場合にはゼロより大きく（正）、｜ｙ｜ビットの反復が必要とされる場合にはゼロより小さく（負）なる。また、パンクチャリングも反復も必要とされないとき、ｙはゼロとなり、この場合ストップ・ブロック４１に達する。図２に示されるステップは、ｙおよびパンクチャリングを使用する代わりに｜ｙ｜および反復を使用することをのぞき、ビット反復（ｙ＜０、図２の右側に示される）のステップは、図２の左側に示されるパンクチャリング（ｙ＞０）のステップと実質的に同じである。よって、パンクチャリングの場合についてのみ以下に詳細に説明する。
【００４３】
ｙ＞０ならば、伝送フレームのＮｒビットのうちｙのパンクチャリングが、無線フレームのＮｉビットを生成するのに必要とされる。この場合、ブロック４２において、パラメータｅが、特定の無線フレームについての所望の任意の方法で決定される開始オフセットｅｏｓに初期化され、行カウンタｒは１に初期化される。ブロック４３において、ｒ≦Ｎｒかどうか判断され、ｒ≦Ｎｒならば、ブロック４４においてｅの値が２ｙだけ減らされる。次の判断ブロック４５において、ｅ≦０かどうか判断され、ｅ≦０ならば、行ｒのビットがブロック４６においてパンクチャリングされ、ブロック４７においてｅの値が２Ｎｒだけ増やされ、行カウンタｒはブロック４８において１だけ増やされ、判断ブロック４３に戻る。ブロック４５においてｅ≦０でなければ（すなわち、ｅ＞０）、パンクチャリングを行うこともｅの値を変更することもなく、行カウンタｒをインクリメントするブロック４８を介してブロック４３に戻る。ブロック４３においてｒ≦Ｎｒでなければ（すなわち、ｒ＞Ｎｒ）、これはフレームの終わりに達したことを示すので、ストップ・ブロック４１においてシーケンスを終了させる。
【００４４】
しかしながら、レートマッチングブロック２６がチャネル・インターリーバー２８に続く場合には、レートマッチングは、並べ替えられた（インターリーブされた）ビットストリームに対して実行されるので、レートマッチングの問題が非常に複雑になる。一般に、チャネル・インターリービング処理の要件とレートマッチング処理の要件は両立しない。
【００４５】
チャネル・インターリービング処理後のビットのマトリクス内におけるパンクチャリングまたは反復されるビットの、適切で望ましく最適化されたレートマッチングパターンの設計は、かなりな複雑さ、または非現実的な作業を意味する。この発明は、インターリービング前のマトリクスについて、パンクチャリングまたは反復されるビットの適切で望ましく最適化されたレートマッチングパターンを提供し、チャネル・インターリーバーの出力においてパンクチャリングされるべきまたは反復されるべき対応するビットを、デインターリービングすなわち復号化処理を使用して判断することにより、この問題を回避する。この処理は、以下にさらに記述するように、インターリービング処理と全く同じ構造によってデインターリービングすなわち復号化処理を実現することができるという事実により、容易化される。便宜上および明瞭さのため、以下の説明は、インターリービング前（またはデインターリービング後）のビットのマトリクスを、ナチュラル・マトリクスＮＭと呼び、インターリービング後のビットのマトリクスをランダム化マトリクスＲＭと呼ぶ。
【００４６】
図３は、この発明の実施形態に従うチャネル・インターリーバー２８およびレートマッチングブロック２６の実現を示す。図３に示されるように、インターリーバ２８は、２等分された作業用メモリ５０を備え、これは、該メモリに書き込み、該メモリから読み出す既知の方法で交互に使用され、それぞれ上記に説明したマトリクスで表されるＮｒＮｃのデータビットを格納する。これらのデータビットは、マトリクスの行単位の編成に線形的に対応するメモリに書き込まれる。モジュロＮｒ行カウンタ５１は、クロック信号ＣＬＫに応答して、行インデックスｋを表すカウントを提供し、このカウンタ５１のキャリー（桁上げ）出力は、列インデックスｌを表すカウントを提供するモジュロＮｃの列カウンタ５２に供給される。カウンタ５１および５２のカウントｋおよびｌは、図３の破線内に示されるアドレス符号器に供給される。より具体的には、列カウンタ５３のカウントは乗算器５４および５５に供給され、乗算器５４および５５にはまた、パラメータαｃおよびｍがそれぞれ供給され、αｃｌおよびｍｌを表す積をそれぞれ生成する。行カウンタ５１のカウントは乗算器５６および５７に供給され、乗算器５６および５７にはまた、整数２およびパラメータαｒがそれぞれ供給され、２ｋおよびαｒｋを表す積をそれぞれ生成する。加算器５８は、乗算器５４および５６の出力を加算し、Ｎｃが偶数か奇数かに依存してそれぞれ１または０を選択的に加算する。加算器５８の出力は、モジュロ機能５９によってモジュロＮｃの形式になり、上記に説明した列並べ替え機能を完了する。加算器６０は乗算器５５および５７の出力を加算し、Ｎｒが偶数か奇数かに依存してそれぞれ１または０を選択的に加算する。加算器６０の出力は、モジュロ機能６１によってモジュロＮｒの形式になり、上記説明した行並べ替え機能を完了させる。モジュロ機能５９および６１のそれぞれは、比較機能および減算機能を備えることができる。機能５９および６１の出力は、読み出しアドレス結合器により組み合わされ、データビットのインターリーブされるシーケンスにおけるそれぞれのデータビットをメモリ５０から読み出すためのアドレスを生成する。図３に示されるように、読み出しアドレスは、以下に説明するように提供されるスイッチ６３を介してメモリ５０に供給される。
【００４７】
行Ｎｒの数が２の累乗であるならば、アドレス結合器６２は、メモリ５０の読み出しアドレスの、下位ビットとしてモジュロ機能６１の出力と、上位ビットとしてモジュロ機能５９の出力とを単に組み合わせることができる。これは、アドレス結合器６２により、機能６１の出力が機能５９の出力にＮｒ回加算されることに相当する。
【００４８】
Ｎｃの整数倍ではない任意のサイズのフレームのデータビットをインターリーブするのが望ましい場合がある。この場合、マトリクスの行数は、インターリーブされるべきデータビットのすべてを収容するよう選択され、作業用メモリ５０の最後の数個（Ｎｃより少ない）のメモリ位置は書き込まれていない。インターリーブされるデータビットからこれらのメモリ位置のデータビットを切り捨てるため、図３のインターリーバ２８はまた、アドレス結合器６２の読み出しアドレス出力に、これらのメモリ位置を検出する復号器６４を備え、このようなメモリ位置が検出されると、これらの位置のついてはメモリ５０からデータが読み出されることを防ぐよう、スイッチ６３を開く。メモリ５０からインターリーブされたデータビットの一定のデータ出力レートを提供するため、さらに図３のインターリーバ２８はＦＩＦＯ（先入れ先出し）メモリ６５を備え、ＦＩＦＯメモリ６５はクロック信号ＣＬＫによってクロックされる。このクロック信号ＣＬＫを介して、インターリーブされたデータビットはインターリーバの出力ライン６６に供給される。ＦＩＦＯ６５は、それぞれのインターリービング処理の開始時に予め満たされ、読み出されない、よって切り捨てられるメモリ位置を許容するのに十分なサイズ（たとえば、最大Ｎｃ）を持つ。
【００４９】
ライン６６上のインターリーブされたデータビットは、図３に示されるレートマッチングブロックすなわちレートマッチング機能２６に供給される。このレートマッチング機能は、クロック信号が供給されるレートマッチング・アドレス生成器７０と、アドレス・セパレータ７１、アドレス復号器７２、バッファすなわち記憶部７３、比較器７４およびライン７６上にレートマッチングされたデータ出力を提供するデータビット選択器７５を備える。インターリーバ２８の一定のデータビット・レート出力を提供するＦＩＦＯ６５の備えと同様に、レートマッチング機能２６も、ＦＩＦＯまたは他のバッファ（図示せず）を有して、出力ライン７６から一定レートのデータビットを提供することができる。
【００５０】
レートマッチング・アドレス生成器７０は、その出力において、以下にさらに説明するように、この処理について求められるパンクチャリングまたは反復パターンに従う、それぞれのパンクチャリングされるビットまたは反復されるビットのナチュラル・マトリクスのアドレスを生成する。このアドレスは、アドレス・セパレータ７１によって上位要素および下位要素に分離されるが、この処理は、上記説明した読み出しアドレス結合器６２のものとは反対である。こうして、行数Ｎｒが２の累乗ならば、アドレス・セパレータ８１は、生成器７０によってアドレスビットの出力を簡単に上位ビットおよび下位ビットに分離することができる。このことは、生成器７０からのアドレスをＮｒで除算して、整数の商および余りを生成することに相当する。この商および余りが、アドレス・セパレータ７１の２つの出力を構成する。
【００５１】
アドレス復号器７２は、アドレス符号器５３とは逆の機能を実行する。上記に示したように、ここで説明する代数的インターリービング処理ならば、デインターリーバーの構造を、インターリーバの構造と全く同じものとすることができ、それに応じてアドレス復号器７２を、アドレス符号器５３と全く同じものにすることができる。したがって、アドレス復号器７２の詳細な構造については図３に図示されていないが、これは、図３に示されるアドレス符号器の構造と同一である。インターリービングおよびデインターリービングの相補的な処理のこの同一構造特性は、これらの機能を実現する際に重要な有利さおよび簡略さを与える、ということは明らかであろう。
【００５２】
アドレス復号器７２の出力は記憶部７３にバッファされ、記憶部７３からのバッファされた出力は、比較器７４において、チャネル・インターリーバー２８の行カウンタ５１および列カウンタ５２の現在のカウントｋおよびｌとそれぞれ比較され、比較された値が同じであるときは、ライン７７上に予め決められた状態の選択器制御信号を提供する。このように、選択器制御信号は、ライン６６上のビットがパンクチャリングされるか反復されるかするたびごとに、その状態でライン７７上に生成される。そのほかの時は、パンクチャリングも反復もされないビットについて、ライン７７上の制御信号は、クロック信号ＣＬＫに同期して、選択器７５の３つの入力のうちの真ん中の１つ（図３に示される）に供給されるライン６６からのビットを出力ライン７６に供給するよう、選択器７５を制御する。反復またはパンクチャリングされるべきそれぞれのビットのとき、ライン７７上の制御信号は、ビットが反復されるかパンクチャリングされるかにそれぞれ依存して（これは、選択器７５への制御入力Ｐ／Ｒによって決定される）、その上側入力またはその下側入力（図３に示される）のどちらかから、ビットをその出力ライン７６に供給するよう、選択器７５を代わりに制御する。選択器７５の上側の入力は出力ライン７６に接続されてビット反復を提供し、選択器７５の下側の入力は、図に示されるように接続を持たず、ビットのパンクチャリングを提供する。上記に示されるように、インターリーブされレートマッチングされたデータビットについての一定の出力データビット・レートはバッファ（図示せず）により提供され、そこに、出力ライン７６上のデータビットが供給される。
【００５３】
レートマッチング機能２６の復号器７２によって提供されるアドレス復号化のために、レートマッチング・アドレス生成器７０は、図２を参照して上記説明したやり方で、このパターンを最適化する所望の方法で求められた１つのパラメータｅｏｓを使用して、パンクチャリングまたは反復されるビットの所望のパターンを通常のマトリクスのアドレスによって簡単に求めることができる。たとえば、このパラメータを、ｅｏｓ＝[２ｐｙ＋１]mod２Ｎｒのような式によって求めることができ、ここで上記説明したように、ｙは、マトリクスのそれぞれの列についてパンクチャリングまたは反復されるビット数であり、ｐは０〜７の列インデックスである（Ｎｃ＝８の場合について）。
【００５４】
それぞれが１００ビットの８個のデータ伝送フレームの上記説明したインターリービングで、それぞれ８ビットのチャネルインターリーブされレートマッチングされた無線フレームを生成するのに最大２０％のパンクチャリング率を必要とする例を、以下の表１、２および３で示す。Ｎｃ＝８およびＮｒ＝１０である。表１は、１０×８のナチュラル・マトリクスの行ごとに、０〜７９まで番号付けされた８０個のデータビットのエントリを示し、行インデックスｋは１〜１０であり、列インデックスｌは１〜８である。
【００５５】
【表１】
0005457535.tif 000004
【００５６】
上記説明したチャネル・インターリービングは、以下の表２によって示されるランダム化されたマトリクスを生成する。
【００５７】
【表２】
0005457535.tif 000005
【００５８】
その後、上記説明したレートマッチングは、レートマッチングのアルゴリズムによって生成されたパターンの１６ビットをパンクチャリングする。すなわち、ランダム化されたマトリクスのそれぞれの列から２ビットをパンクチャリングし、以下の表３に示されるパンクチャリングされたランダム化マトリクスを提供する。
【００５９】
【表３】
0005457535.tif 000006
【００６０】
チャネル・インターリーブされレートマッチングされたデータビットは、表３から列ごとに導き出される。すなわち、［57,35,...,51,  7,67,40,  ...,26,  4］の順番に導き出される。パンクチャリングされたビットは、２，９，１１，１６，２５，２９，３１，３２，３４，３８，４７，５４，６１，６４，６８および７５であり、それらの最大パンクチャ距離は９（２５−１６より）であり、最小パンクチャ距離は１（３２−３１より）である。この小さい最小パンクチャ距離は、この特定の例が最適ではないことを示し、より大きい最小パンクチャ距離が望ましい。パラメータの非常に多くの他の決定、特にパラメータｅｏｓの決定を、パンクチャリング処理を最適化するよう提供することができる。
【００６１】
上記に示したように、第２のインターリーバ３４の処理は、第１のインターリーバ２８の結果として達成されるパフォーマンスを劣化させないことが望ましく、このため、第２のインターリーバ３４は、簡単なシャフリング処理にまで縮小され、これにより、第２のインターリーバ３４は、それぞれのＱｏＳデータストリームについて第１のインターリーバ２８によって達成される拡散特性を維持しつつ、異なるＱｏＳを持つデータストリームをインターリーブする。
【００６２】
図４は、図１のサービス・マルチプレクサ１０を介して提供されるそれぞれのサービスブロック１２から、上記説明したように提供されるインターリーブされた無線フレームの２つのデータストリームのビットをインターリーブするのに有利に使用することのできるビット・シャフリング・アルゴリズムのフローチャートを示す。Ｎ１ビットのフレームを持つ１つのストリームＴＱ１およびＮ２ビットのフレームを持つ第２のストリームＴＱ２を示し、Ｎ１≧Ｎ２である。図４は、ストリームＴＱ２のビットが、ストリームＴＱ１にどのようにして挿入されるかを示す。
【００６３】
図４を参照すると、最初にブロック８２において、パラメータｅがＮ１に、カウンタｒが１に初期化される。ブロック８３において、ｒ≦Ｎ１かどうか判断され、ｒ≦Ｎ１ならば、ブロック８４においてｅの値が２Ｎ２だけ減らされる。次の判断ブロック８５においてｅ≦０かどうか判断され、ｅ≦０ならば、ブロック８６において、ストリームＴＱ２の次のビットがストリームＴＱ１に挿入される。ｅの値は、ブロック８７において２Ｎ１だけ増やされ、カウンタｒはブロック８８において１だけ増やされ、その後判断ブロック８３に戻る。ブロック８５においてｅ≦０でなければ（すなわち、ｅ＞０）、任意のビット挿入もｅの値変更も行うことなく、カウンタｒをインクリメントするブロック８８を介してブロック８３に戻る。ブロック８３においてｒ≦Ｎ１でなければ（すなわち、ｒ＞Ｎ１）、これはフレームの終わりに達したことを示すので、ストップ・ブロック８１でシーケンスを終える。
【００６４】
２より多くのデータストリームについては、連続するデータストリームについて同じ処理が帰納的に適用される。上記の説明および図４から、この処理のステップが、図２のパンクチャリングおよび反復処理のステップと直接的な相関関係を持ち、よってこの帰納的なシャフリング処理の実行が特に便宜であるということは明らかであろう。
【００６５】
上記に説明したように、所望のレートマッチングを達成するためのビットのパンクチャリングは、符号器２２によって提供されるＦＥＣ符号化に起因した冗長性を持つデータビットに適用される。符号化の１つの好ましい形は、いわゆるターボ（並列連接畳み込み）符号化である。この場合、符号化されたデータビットは入力データビットそのものを有し、これを組織（systematic）データビットＳと呼ぶ。さらに、符号化されたデータビットはパリティビットＰ１およびＰ２を有し、これらは、入力データビットおよびインターリーブされた入力データビットについて処理する畳み込み符号器によって提供される。パリティビットＰ１およびＰ２は、典型的にはターボ符号器内でパンクチャリングされ、所望のレートのターボ符号器を提供する。ターボ符号器によって構成される符号器２２については、次のレートマッチング機能２６が、組織ビットＳのいずれをもパンクチャリングしないが、パリティビットＰ１および（または）Ｐ２のみをパンクチャリングすることを確実にする必要がある。反復の場合には、組織ビットＳの反復の２倍または３倍のオーダーを持つファクターによって、パリティビットＰ１およびＰ２を反復することにより、パフォーマンス利得を提供することが求められる。
【００６６】
このため、図５は、ターボ符号化によって符号化されたデータのチャネル・インターリービングおよびレートマッチングについての、図１の構成の一部に修正を加えたものを示す。図５を参照すると、ＦＥＣ符号器２２のうちの１つを構成するターボ符号器は、破線ボックス９０内に示され、周知なように、入力データビットをインターリーブするターボ符号インターリーバ９１と、インターリービングの前後で入力データビットを処理し、パリティビットＰ１およびＰ２を生成する２つの従来の符号器９２を備える。また、入力データビットは、組織ビットＳとして符号器出力に供給される。また、図示しないパンクチャリング・ブロックを、符号器出力への供給のために、パリティビットＰ１およびＰ２のいくつかのみを選択して、符号器出力に供給させるために設けることができる。
【００６７】
上記説明した１つのチャネル・インターリーバーの代わりに、図５は、組織ビットストリームおよびパリティビットストリームに、個々のチャネル・インターリーバー９３が提供されることを示す。図５に示されるように、３つのチャネル・インターリーバー９３があるが、パリティビットＰ１およびＰ２のストリームを組み合わせて一緒にインターリーブするようにして、２つのみのチャネル・インターリーブを設け、一方は組織ビットストリーム用に、他方はパリティビットストリーム用にすることができるのは、明らかである。図５のチャネル・インターリーバー９３へのさらなる入力は、複数のチャネルについての組織ビットストリームおよびパリティビットストリームの多重化をそれぞれ示し、これは図１のマルチプレクサ２４に対応するものである。
【００６８】
チャネル・インターリーバー９３に続くレートマッチング機能を、破線ボックス９４内に示す。パンクチャリング機能９５を、チャネル・インターリーブされたパリティビットストリームにのみ適用し、それに対し反復機能９６を、パリティビットストリームおよび組織ビットストリームに提供することができる。それに応じて、選択器９７が、チャネル・インターリーブされたビットを結合するよう示されている。パンクチャリングおよび反復は、上記に説明したものと同じであることができる。この点で、図５に示されるものが、レートマッチング機能の実際の実現を示すというよりも、パンクチャリングが組織ビットに適用されない原則を図によって表すことを意図したものである、ということは明らかであろう。たとえば、必要とされるパンクチャリングまたは反復を、パリティビットストリームにのみ適用して、組織ビットストリームのパンクチャリングも反復も行うことなく、所望のレートマッチングを提供することもできるということは明らかであろう。
【００６９】
上記の説明は、ここで記述される様々な処理について分離した機能およびユニットについて参照したけれども、１または複数のデジタル信号プロセッサまたは他の集積回路の機能を使用して、多くの形態を実現することができるということは明らかであろう。
【符号の説明】
【００７０】
２６      レートマッチング
２８      インターリーバー
【図１】
0005457535.tif 000007
【図２】
0005457535.tif 000008
【図３】
0005457535.tif 000009
【図４】
0005457535.tif 000010
【図５】
0005457535.tif 000011