"ターボ符号器を操作するための方法であって、サイズKの情報ブロックを受信するステップと、一組のサイズからのKに関連するインターリーバサイズK’を決定するステップであって、前記一組のサイズが、K=aP×f、pmin≦p≦pmax、fmin≦f≦fmaxを含み、aは整数であり、fは、fminとfmaxの間の連続している整数であり、pは、pminとpmaxの間の整数値であり、a>1、pmax>pmin、pmin>1であり、fmax=a×fmin-1である、前記決定するステップと、サイズKの情報ブロックをサイズK’の入力ブロック内に詰め込むステップと、サイズK’のインターリーバにより前記入力ブロックをインターリーブするステップであって、前記入力ブロックをインターリーブする前記ステップが、並べ替えπi=f1×if2×i2modK’を使用するステップを含み、0≦i≦K’-1は、インターリービング後の記号位置のシーケンシャルなインデックスであり、πiは、位置iに対応するインターリービングする前の記号インデックスであり、K’は、記号内の前記インターリーバのサイズであり、f1およびf2は、インターリーバを定義する係数であるステップと、符号語ブロックを入手するためにもとの入力ブロックおよび前記インターリーブした入力ブロックを符号化するステップと、チャネルを通して前記符号語ブロックを送信するステップと、を含む方法。ターボ符号器を操作するための装置であって、Kに関連するインターリーバサイズK’を決定するインターリーバサイズ決定回路であって、Kが一組のサイズからのものであり、前記一組のサイズは、K=aP×f、pmin≦p≦pmax;fmin≦f≦fmaxを含み、aは、整数であり、fは、fminとfmaxの間の連続している整数であり、pは、pminとpmaxの間の整数値であり、a>1、pmax>pmin、pmin>1であり、fmax=a×fmin-1である、前記インターリーバサイズ決定回路と、サイズKの情報ブロックを受信し、サイズKの前記情報ブロックをサイズK’の入力ブロック内に詰め込むフィラー挿入回路と、サイズK’の前記入力ブロックをインターリーブするインターリーバであって、インターリーバが並べ替えπi=f1×if2×i2modK’を使用し、0≦i≦K’-1は、インターリービング後の記号位置のシーケンシャルなインデックスであり、πiは、位置iに対応するインターリービングする前の記号インデックスであり、K’は、記号内のインターリーバのサイズであり、f1およびf2は、インターリーバを定義する係数であるインターリーバと、符号語ブロックを入手するために、前記もとの入力ブロックおよび前記インターリーブした入力ブロックを符号化する符号器と、を備える装置。ターボインターリーバπは、ターボ符号設計の際の重要な構成要素である。このターボインターリーバは、擬似ランダム方法で入力ブロックuをスクランブルし、それ故、優れた重み分布を含む符号語xを提供する。それ故、優れた誤り訂正機能を提供する。復号性能の他に、ターボインターリーバπの定義は、受信機内のターボ復号器の実施に大きな影響を与える。メモリアクセス競合なしで高レベル並列処理ができるように、ターボインターリーバπは、競合を起こさない特性を有する必要がある。競合のないインターリーバに上記ニーズを満たすために、以下にターボ符号のインターリーバサイズを選択するための方法および装置について説明する。動作中、サイズKの情報ブロックが受信される。インターリーバサイズK’は、K’がKに関連していて、Kが一組のサイズからのものである場合に決定される。一組のサイズは、K=aP×f、pmin≦p≦pmax;fmin≦f≦fmaxを含み、aは整数であり、fはfminとfmaxの間の連続している整数であり、pはpminとpmaxの間の整数値であり、a>1、pmax>pmin、pmin>1である。サイズKの情報ブロックは、サイズK’の入力ブロック内に詰め込まれる。入力ブロックは、サイズK’のインターリーバによりインターリーブされる。もとの入力ブロックおよびインターリーブされた入力ブロックは、符号語ブロックを入手するために符号化される。符号語ブロックは、チャネルを通して送信される。本発明の他の実施形態の場合には、Kに関連するインターリーバサイズK’を決定するステップは、K’=Kを使用するステップを含む。さらに他の実施形態の場合には、Kに関連するインターリーバサイズK’を決定するステップは、Kが2m-1の倍数でない場合に、K’=Kを使用するステップを含み、そうでない場合でKが2m-1の倍数である場合には、K’=KδKを使用するステップを含む。ここで、mは、構成畳み込み符号器のメモリ長であり、δKは、2m-1の倍数に等しくない小さな正の整数または負の整数である。一実施形態の場合には、m=3である。本発明のさらに他の実施形態の場合、入力ブロックをインターリーブするステップは、並べ替えπi=iP0AdimodK’を使用するステップを含む。0≦i≦K’-1は、インターリービング後の記号位置のシーケンシャルなインデックスであり、πiは、位置iに対応するインターリービングする前の記号インデックスであり、K’は、記号のインターリーバのサイズであり、P0は、K’に相対的に素数である数であり、Aは定数であり、Cは、K’を割る小さな数であり、diは、形式di=βimodCP0×αimodCのディザベクトルである。αおよびβは、0≦i≦K’-1に対して周期的に適用されるそれぞれが長さCのベクトルである。本発明のさらに他の実施形態の場合には、入力ブロックをインターリーブするステップは、並べ替えπi=f1×if2×i2modK’を使用するステップを含む。0≦i≦K’-1は、インターリービングした後の記号位置のシーケンシャルなインデックスであり、πiは、位置iに対応するインターリービングする前の記号インデックスであり、K’は、記号のインターリーバのサイズであり、f1およびf2は、インターリーバを定義する係数である。データの符号化および復号を説明する前に、必要な背景を設定するために、定義について説明する。Kは、情報ブロックのサイズである。K’は、インターリーバのサイズすなわち、それに対してターボ符号インターリーバが定義される入力ブロックサイズである。Kは、インターリーバのサイズを決定する際に使用することができる補助変数である。Kfillerは、情報ブロックに追加されるフィラービットの数である。πは、ターボ符号の内部インターリーバである。フローリング動作は、xより小さいか、等しい最大の整数であり、シーリング動作は、xより大きいか、等しい最小の整数である。uは、K’の長さを有し、送信機のところのターボ符号器に送信される入力ブロックである。^uは、K’の長さを有し、受信機のところのターボ復号器により生成される推定入力ブロックである。復号エラーがない場合には^u=uであることに留意されたい。そうでない場合には、^u≠uである。類似の参照番号が類似の構成要素を示す図面を参照すると、図1は、送信機100のブロック図であるである。図に示すように、送信機100は、フィラー挿入回路109と、ターボ符号器101と、インターリーバサイズ決定回路103と、インターリーバパラメータテーブル105と、送信機107とを備える。好適には、符号器101は、レート-1/33GPPターボ符号器であることが好ましいが、符号器101を動作するための本明細書に記載する技術を、テールビットによりまたはテールビットを使用しないターボ符号化を実行するターボ符号器、テールビッティング、バイナリまたはデュオバイナリターボ符号器、異なるレートマッチングおよびパンクチャリング技術を使用するターボ符号器等を含むがこれらに限定されない他の符号器に適用することができる。回路103は、Kに関連するインターリーバサイズK’を決定する。Kは一組のサイズからのものである。一組のサイズは、K=aP×f、pmin≦p≦pmax;fmin≦f≦fmaxを含む。aは、整数であり、fは、fminとfmaxの間の連続している整数であり、pは、pminとpmaxの間の整数値をとり、a>1、pmax>pmin、pmin>1である。送信機100の動作中、サイズKの情報ブロックをターボ符号器101で符号化する必要がある。多数の異なるKを使用しているある通信システムの場合には、各情報ブロックサイズKに対する競合を起こさないCFインターリーバを定義するのは効率的ではない多くの場合不可能である。好適には、少数の組K’のうまく設計されたCFインターリーバがすべての情報ブロックサイズをカバーすることができることが好ましい。情報ブロックサイズがKである場合には、適当なインターリーバサイズK’は、回路103により一組の使用できるサイズ例えば、テーブル105内に記載されているインターリーバサイズから選択することができる。次に、情報ブロックは、回路109によりサイズK’の入力ブロック内に詰め込まれ、入力としてターボ符号器101に送られる。典型的な配置は、フィラー挿入回路109を介してKfillerフィラービットと一緒に情報ブロックを詰め込む。サイズおよび長さという用語は、ブロックまたはベクトルの素子の数を示すために同義語として使用されることに留意されたい。回路103によりK’を選択すると、K’はターボ符号器101に送られる。符号化中、競合のないインターリーバを図1に図示せず使用することができる。例えば、インターリーバは、並べ替えπi=iP0AdimodK’を使用することができる。0≦i≦K’-1は、インターリービング後の記号位置のシーケンシャルなインデックスであり、πiは、位置iに対応するインターリービング前の記号インデックスであり、K’は、記号のインターリーバサイズであり、P0は、K’に相対的に素数である数であり、Aは、定数であり、Cは、K’を割る小さな数であり、diは、形式di=βimodCP0×αimodCのディザベクトルである。αおよびβは、0≦i≦K’-1に対して周期的に適用されるそれぞれが長さCのベクトルである。他の例としては、インターリーバは、並べ替えπi=f1×if2×i2modK’を使用することができる。0≦i≦K’-1は、インターリービング後の記号位置のシーケンシャルなインデックスであり、πiは、位置iに対応するインターリービング前の記号インデックスであり、K’は、記号のインターリーバサイズであり、f1およびf2は、インターリーバを定義する係数である。一般に、記号は、複数のビットから構成することができ、インターリービングのステップは、記号内でビットを並べ替える追加のステップを使用することができる。一般性を失わないで、下記の説明は、記号が1つのビットだけから構成され、それ故、記号内でビットを並べ替える必要がない通常のケースを考慮し、ビットおよび記号という用語は、同義語として使用することができる。ターボ符号器101の出力は、符号語ブロックxを含み、xは送信機107に送られ、チャネルを通して送信される。送信機は、チャネルを通して符号語ブロックxを送信する前に、レートマッチング、チャネルインターリービング、変調等のような追加の処理を行う。図2は、図1の符号器101のブロック図である。図に示すように、符号器101は、インターリーバ201と、符号化回路202と、符号化回路203とを備える。符号器の一例としては、3GPP仕様に定義されているターボ符号器がある。3GPPに定義されているターボ符号器のマザーコードレートは、R=1/3の本来のコードレートを有する。ターボ符号器の出力のところで、入力ブロック内で各ビットに対して3つのビット、すなわち入力ブロック内のビットに等しい1つのシステマティックビット、構成符号器1からの1つのパリティビット、構成符号器2からの1つのパリティビットが生成される。さらに、ターボ符号器の出力は、また、構成符号のトレリスを終了させるために使用されるNTBテールビットを含むことができる。例えば、3GPPターボ符号の場合には、ターボ符号器6の出力のところでのNTB=12ビット、構成符号当たりの6テールビットである。一方、テールビッティング構成畳み込み符号を使用することができる。それ故、NTB=0になる。インターリーバ201は、競合しないインターリーバであってもよい。インターリーバπi0≦i<K’は、それがΨ=πインターリーバおよびΨ=π-1デインターリーバに対する下記の制約を満たした場合だけ、ウィンドウサイズWに対して競合しないインターリーバであるといわれる。ここで、0≦j<W、0≦t、v<M=K’/Wであり、t≠vである。いつでもそれが必要なわけではないが、効率的なターボ復号器設計の場合には、通常、M個のウィンドウがすべて満杯である。K’=MWである。1の項は、反復復号中に出力メモリバンクに外因値を書き込む場合に、M個のプロセッサにより同時にアクセスされるメモリバンクアドレスである。これらすべてのメモリバンクアドレスが、各読出および書込動作中一意のものである場合には、メモリアクセス中に競合が起こらないので、デインターリービング待ち時間を避けることができ、復号器の実施が高速になる。ターボ符号器101の動作中、長さK’ビットの入力ブロックはインターリーバ201および符号化回路202の両方に入る。インターリーバ201は、サイズがK’の競合しないインターリーバであってもよい。インターリーバ201は、入力ブロックをインターリーブし、入力ブロックをインターリーブした順序で符号化回路203に送る。次に、符号化回路203は、インターリーブした入力ブロックを符号化する。同じような方法で、符号化回路202は、もとの入力ブロックを符号化する。符号語ブロックxは、入力ブロックに等しいシステマティックブロック、符号化回路202の出力、および符号化回路203の出力から構成される。次に、符号語ブロックxは、入力ブロックのコピーを直接受信することもできる送信機107に送られる。競合しないインターリーバの一例として、下式により表されるほぼ正規の並べ替えARPインターリーバがある。ここで、0≦i≦K’-1は、インターリービング後のビット位置のシーケンシャルなインデックスであり、πiは、位置iに対応するインターリービング前のビットインデックスであり、K’は、インターリーバサイズであり、P0は、K’に相対的に素数である数であり、Aは、定数であり、Cは、K’を割る小さな数であり、diは、形式di=βimodCP0×αimodCのディザベクトルである。αおよびβは、0≦i≦K’-1に対して周期的に適用されるそれぞれが長さCのベクトルである。αおよびβの両方は、複数のCから構成される。このように構成された全インターリーバπは、周期Cを有する準サイクリックすなわち、周期的な特性を有し、テールビッティングターボ符号で使用した場合には、ターボ符号自身が、準サイクリックになり、符号設計の手順が簡単になる。競合しないインターリーバの他の例としては、二次元多項式の並べ替えQPPインターリーバが、下式πi=f1×if2×i2modK’により表される。ここで、0≦i≦K’-1は、インターリービング後の記号位置のシーケンシャルなインデックスであり、πiは、位置iに対応するインターリービング前の記号インデックスであり、K’は記号内のインターリーバサイズであり、f1およびf2は、インターリーバを定義する要因である。ARPインターリーバと同様に、テールビッティングである場合には、ターボ符号は同様に準サイクリックである。インターリーバ201がMの種々の値に対して1を満たす場合には、各Mに対して1つずつ種々の程度の類似を使用して復号器を実施することができる。それ故、種々の係数を有するK’を選択することが望ましい。長さK’のARPインターリーバの場合には、任意のウィンドウサイズWを、メモリアクセス競合なしで高速復号に使用することができる。Wは、Cの倍数およびK’の係数である。並列ウィンドウの異なる定義を使用して、Kの任意の係数を並列ウィンドウの数として使用することができる。QPPインターリーバの場合には、インターリーバサイズK’の各係数が、類似Mの可能なレベルである。これにより類似係数Mの範囲が広くなり、復号器設計を柔軟に行うことができ、スケーラビリティが向上する。それ故、システムまたはユーザ素子のクラス要件に基づいて復号速度と複雑さの間をうまく妥協することができる。インターリーバサイズK’の選択すでに説明したように、インターリーバサイズ決定回路103は、所与のKに対するインターリーバサイズK’を決定しなければならない。この節においては、それに対してターボ符号インターリーバを定義することができる限定された数のサイズすなわち、K’を選択する方法について説明する。すでに説明したように、フィラー挿入回路はパンクチャリングまたはレートマッチング方法と一緒に任意の情報ブロックサイズKを処理するために使用することができる。一般に、インターリーバサイズの選択は、フィラービットによる復号負担および性能の劣化を考慮に入れなければならない。入力ブロックを形成するために情報ブロックに詰め込まれたフィラービットKfillerの数は、情報ブロックサイズKの低い百分率例えば、約10~13に制限することが望ましい。このことは、すべての使用できるK’値が昇順にソートされていると仮定して隣接するインターリーバサイズ、すなわち隣接するK’値間の差を制限することにより達成される。フィラービットの数は、K’≧Kになるような使用可能な最小のK’を選択することにより最小にすることができる。フィラービットの数は、Kfiller=K’-Kである。しかし、必要に応じて、K’≧Kの他の使用できる値も選択することができる。KminとKmaxの間の情報サイズをカバーするように定義した下記の一組のサイズについて考えてみよう。ここで、aは整数であり、fはfminとfmaxの間の連続している整数であり、pは、pminとpmaxの間の整数値をとり、a>1、pmax>pmin、pmin>1である。必要ではないけれども、必要でない任意のサイズを捨てながら、Kmin=aPmin×fminおよびKmax=aPmax×fmaxとなるようにこれらのパラメータを選択することができる。情報ブロックサイズのある範囲をカバーするためにサイズの限定した組を選択するこの方法は、片対数スライシングと呼ばれる。サイズKの所与の情報ブロックの場合には、サイズK’は、片対数スライシングテーブルに基づくKおよび入力ブロックサイズKに関連する。片対数スライシングは、音声コーデックで使用されるA-lawおよびμ-law圧縮伸長器のような広い動的範囲の信号を圧縮する際に使用する圧伸動作に似ている。片対数スライシング規則を使用すれば、広い範囲の情報ブロックサイズをカバーするために効率的な設計を行うことができる。パラメータを選択するためのいくつかの方法のうちのfminとfmaxを選択するための1つの方法は、隣接するpからのK値を相互にラインナップさせる方法、すなわちaP×fmax1=aP1×fminにする方法である。それ故、下式のようになる。pの所与の値の場合には、2つの隣接するブロックサイズK間の距離は、αpで示される。このことは、情報ブロックサイズKがグループP内に存在し、インターリーバサイズがKに等しい場合には、αp-1フィラービットの最大値が加算されることを意味する。それ故、情報ブロックサイズK上のフィラービットの一部が以下に示すように囲まれている。このようなことは、ブロックサイズKがp,fminで表されるサイズより若干大きく、下式に対してp,fmin1で表されるK’=Kを使用する場合に起こる。別の方法としては、隣接するpからのK値を、aP×fmax=aP1×fmin-1を介して相互にラインナップすることができる。その結果fmax=a×fmin-1となる。これにより類似のKfiller/K境界が得られる。それ故、片対数スライシングに対するパラメータを、支持するブロックサイズの範囲により、またフィラービットの許容できる部分上で同調させることができる。fminを選択するには、下記の2つの要件の間でバランスをとる必要がある。fminは、フィラービットの一部を低減するために大きなものでなければならない。fminは、インターリーバテーブルのサイズを制限するために小さなものでなければならない。何故なら、各pに対して定義したブロックサイズの数は、fmax=a×fmin-1と仮定した場合、fmax-fmin1=a-1×fminであるからである。片対数スライシング方法は、任意のブロックサイズに対して、使用するインターリーバサイズK’を2により計算したKに基づいて容易に決定することができるという点で非常に簡単なものである。片対数スライスサイズが定義されるとK、インターリーバサイズK’を例えば下記により、ほとんど逸脱することなしに片対数スライスサイズから入手することができる。1.K’=Kを使用する。すなわち片対数スライスサイズを直接有効なインターリーバサイズとして使用することができる。2.K’が2m-1の倍数でない場合には、K’=Kを使用して、そうでない場合でKが2m-1の倍数である場合には、K’=KδKを使用して、ここで、mは、構成畳み込み符号器のメモリ長であり、δKは、2m-1の倍数に等しくない小さな正の整数または負の整数である。このことは構成畳み込み符号がテールビッティングである場合に役に立つ。この場合、2m-1の倍数は無効である。2の片対数スライシング方法により定義したサイズは、場合により、ターボ符号化に対して適していないインターリーバサイズであるサイズを含んでいる場合がある。例えば、8状態GPPターボ符号器のテールビッティングバージョンは、7の倍数すなわち、2m-1である入力ブロックサイズすなわち、インターリーバサイズをサポートしない。このような場合、式2が2m-1の倍数になる場合はいつでも、結果として得られるサイズが、もはや2m-1の倍数にならないように小さな値がそれに加算または減算される。例えば、a=2、fmin=8、およびfmax=15の場合には、形式K’=K=2P×14のインターリーバサイズは7の倍数であり、それ故、テールビッティング3GPPTCを使用する場合には、無効なインターリーバサイズである。それ故、この場合は、Kが7の倍数でない場合には、例えば、K’=Kを使用して、少し変更して処理しなければならない。そうでない場合で、Kが7の倍数である場合には、K’=KδKを使用して処理しなければならない。δKは7の倍数に等しくない小さな正の整数または負の整数である。テールビッティングインターリーバに対する無効な選択であるKサイズの場合には、関連するインターリーバサイズK’を決定する簡単な1つの方法は、Kからd×Cを減算有効として加算する方法である。ここで、dは小さな正の整数であり、dは7の倍数ではない。ARPインターリーバの場合には、Cは、一組の使用可能なサイズのK’の隣のブロックサイズに対して使用したARPインターリーバサイクル長であってもよい。ARPインターリーバのブロックサイズは、サイクル長さCの倍数であることを思い出されたい。すなわち、Kが7の倍数である場合には下式のようになる。Cは4、8、12または16のような偶数の整数であるので、このような調整を行うと2つの利点がある。すなわち、aK’は7の倍数でないこと、およびbK’はCの倍数であり、それ故サイズK’に対するARPインターリーバを設計することができることである。簡単にするために、調整する必要があるすべてのKに対して同じdを選択することができる。dを選択する際の1つの重要な考慮事項は、式3または4により入手したすべてのサイズが、このように定義したCFインターリーバに対して広い範囲の類似をサポートすることができる係数の実質的な数を有していることである。インターリーバサイズ選択の例3GPPLTEの場合には、40~5114ビットの間の各ブロックサイズに対してCFインターリーバを定義するのは重要なことではない。うまく設計されたCFインターリーバの限定されたまたは小さな一組は、すべてのブロックサイズをカバーするのに十分である。定義されていないすなわち、それに対してCFインターリーバが定義されていないブロックサイズの場合には、ゼロパディングすなわち、追加フィラービットを、すでに説明したように効率的に使用することができる。第1の例としては、テーブル105内の3GPP長期展開LTE:LongTermEvolutionに対する情報ブロックサイズをカバーするのに適している一組のインターリーバを上記片対数スライシング方法に基づいて定義される場合がある。より詳細に説明すると、下式のようになる。およびK’は、Kから決定される。インターリーバサイズは、下記のように決定される。すなわち、K’=Kを使用して、およびp=4、5、6、7、8、9の場合には、およびf=8、9、10、11、12、13、15の場合には、およびK’=K-dCを使用して、およびf=14の場合には、128~7680のKをカバーして、p=9に対応する最後の3つのサイズf=13、14、15は、Kmin=128によりKmax=6144になるように除去することができる。式3は、テールビッティングTCを処理するために、f=14すなわち7の倍数であるインターリーバサイズを避けるためにd=2と一緒に使用される。105内のインターリーバサイズが決定されると、各インターリーバサイズに対してCFインターリーバを設計することができる。任意の情報ブロックサイズKの場合には、回路103が、105からKより大きいかまたは等しいK’の最小値を選択することにより、Kに対して使用するインターリーバサイズを決定することができる。既知のKにより、fmin=2b、fmax=2b1-1によりここで、bは整数、パラメータpおよびfを下式により計算することができる。より詳細に説明すると、式5のパラメータに対して,b=3であり、pは下式により表される。パラメータpおよびfにより、式2または5を使用してブロックサイズK’を計算することができるし、さらにfが7の倍数であり、テールビッティング符号化を使用する場合には、式3または4を使用して計算したインターリーバサイズを加算の際に使用することができる。次に、サイズK’のインターリーバに関連するパラメータが、通常、通信装置用のメモリ内に格納しているインターリーバパラメータ105用の格納手段からルックアップされる。第2の例としては、40~8192ビットのKをカバーするための示唆した一組の完全なインターリーバサイズK’は下記の通りである。K’∈[264,8192]の場合には、K’=2P×f、p=3,...,7、f=33,34,...,64である。264以下のK’の場合には、8のステップサイズは、K’=40、48,...256となるように使用される。下記テーブルはこれらのサイズを示す。上記テーブルに示すサイズは、8192ビットの最大K’のために定義した一例にしか過ぎず、42の情報ブロックサイズに比較チェックの際に使用されることに留意されたい。6144ビットのような他の最大値を使用する場合には、最大値より大きい任意のK’がリストから除去される。また、簡単にするために、サイズは、末尾を切った構成符号を使用する場合と、テールビッティング構成符号を使用する場合との違いを考慮に入れなかった。ターボ符号器がテールビッティングからできている場合には、7の倍数であるK’を使用することができない。これらのものは、すでに説明したように、除去されるか修正される。最後に、追加のインターリーバサイズを、インターリーバ間のスペースを小さくするために上記のものに追加することができる。例えば、64の最大スペースを使用する場合には、テーブル内のスペース128を含むインターリーバ間に定義される。次に、テールビッティングが使用され、7のK’倍数が除去される場合には、最大スペースは再度128になる。インターリーバサイズ選択の他の例として、システムは、トランスポートブロックTB分割する前の情報ビットに数がある値より大きい場合に限って、CFインターリーバを使用することができる。例えば、最大の定義したサイズが5114である場合で、トランスポートブロックが5114より大きい場合には、ARPまたはQPPのようなCFインターリーバを使用することができる。これらの場合、分割を行うと、2114より小さいK’を生成することができるが、CFインターリーバはそのK’に対して使用される。それ故、Kは、第1のインターリーバ3gpp、非CFインターリーバまたは他のインターリーバおよび、分割前のトランスポートブロックサイズにより第2のインターリーバ競合しないインターリーバを使用してターボインターリーブすることができる。第1および第2のインターリーバは、異なる組のK’を有することができる。例えば、第1のインターリーバをすべてのK=K’に対して実質的に定義することができ、一方、第2のインターリーバをすでに説明したように、K’で定義することができる。ある場合には、第1のインターリーバに対して1個または数個のプロセッサを使用することができる。ARPインターリーバの例テーブル1は、3GPP長期展開LTEのための情報ブロックサイズをカバーするのに適している42CFARPインターリーバのサブセットを示す。サイクル長さC=4は、K<1024、K≧1024に対するC=8のために使用される。もっと大きなサイクル長さを使用すれば、もっと大きなブロックサイズのところでもっとよい最少距離が得られる。また、A=3の代わりに、A=0がすべてのサイズに対して使用される。さらに、各Kは異なるαおよβベクトルを有することができ、小さな一組のαおよびβ値を、インターリーバの定義の格納装置を小さくするために使用することができる。許可されたαおよびβの一組について以下に定義する。サイクル長さC=4の場合、サイクル長さC=8の場合、それ故、αの各列をαベクトルとして使用することができ、βの各列はβベクトルとして使用することができる。それ故、インデックスaおよびbが、αおよびβの列を索引するために各Kに対して定義される。ここで、1≦a<2、1≦b≦2Cである。この索引方法によりARPインターリーバの格納装置がかなり小さくなる。何故なら、P08ビット、インデックスa1ビットおよびb3~4ビットだけをインターリーバ毎に格納しさえすればよいからである。サイクル長さCは、Kが1024ビットよりも小さいか否かに基づいて決定することができる。さらに、C=8対C=4を使用するためのパラメータ格納装置の量は、αおよびβマトリックスのサイズの違いにすぎない。これは些細なことであり、それ故、必要な場合には、もっと大きなCを自由に使用することができる。インターリーバパラメータの格納手段105は、テーブル1の少なくとも1つの列から入手したK’C、P0、αおよびβの値を使用してARPインターリーバパラメータを格納することができる。インターリーバ201は、下記のテーブルの少なくとも1つの列から入手するK’C、P0、αおよびβの値と一緒にARPインターリーバを使用することができる。テーブル1.LTEのために定義した一組のARインターリーバのパラメータ。一定のオフセットA=0はすべてのサイズに使用される。32より少ないかまたは等しい並列ウィンドウを当然使用する可能な類似Mを示す。ARPインターリーバの特性インターリーバテーブルを修正するための方法がいくつかある。例えば、2つ以上のインターリーバサイズに適用する一組のARPパラメータを使用することにより格納装置を小さくすることができる、例えば、1024ビット、2048ビット、4096ビットのインターリーバは、すべて同じARPパラメータを使用することができる。他の修正実施形態の場合には、そうしたい場合には、テーブルの列のいくつかを異なるC値に基づいて設計することができる。他の改良実施形態の場合には、パラメータ例えば、α0およびβ0のエントリのいくつかを固定する例えば、いつもゼロことができる。下記の記述は、テーブル1を入手するために使用したインターリーバ選択手順についての他のいくつかのコメントである。1.格納装置を小さくするための一定のオフセット値、A=3またはA=0が選される。2.性能チェックおよび格納装置に基づいて、K’<1024、K’≧1024に対するC=8に対してサイクル長さC=4が使用される。3.各ブロックサイズに対して、テールビッティング符号化によるARPインターリーバ性能が3GPPターボ符号に対する仕様に定義されているインターリーバを含む性能に近いかまたはそれより優れていることを確認するためにシミュレーションを行った。4.テーブル1を特定の一組のインターリーバサイズ例えば、40~8192をカバーするように定義した。そうしたい場合には、他のインターリーバサイズを削除または追加することもできる。5.7の倍数でない105で定義したすべてのインターリーバを、許容できる性能劣化により、末尾を切ったまたはテールビッティングターボ符号に対して使用することができる。7の倍数であるこれらのものも末尾を切って使用することができる。QPPインターリーバの例テーブル2は、3GPP長期展開LTEに対する情報ブロックサイズをカバーするのに適している42のCFQPPインターリーバのサブセットを示す。これらのインターリーバは、デインターリーバも同様にQPPであるような二次の逆多項式を有する。インターリーバパラメータの格納手段105は、テーブル2の少なくとも1つの列から入手するK’f1、f2の値を使用してQPPインターリーバパラメータを格納することができる。インターリーバ201は、下記のテーブルの少なくとも1つの列から入手するK’f1、F2の値と一緒にQPPインターリーバを使用することができる。テーブル2.LTEのために定義した一組のQPPインターリーバのパラメータ。32より少ないかまたは等しい可能な類似を示す。図3は、受信機300のブロック図である。入力のところで、フィラー処理回路302は、チャネル例えば、無線を通して送信された信号ベクトルを受信する。次に、回路306は、例えば、格納装置308テーブルをルックアップすることにより、または式7、8および2のような計算を行うことにより、上記と類似の方法で行うことができるインターリーバサイズK’を決定する。それ故、情報ブロックサイズKの場合には、復号器304は、符号器101で使用したのと同じインターリーバサイズK’を使用する。フィラー処理回路302は、受信した信号ベクトルおよびフィラービット位置を正しく処理するために使用される例えば、フィラービット位置が分かっている場合には、対応するLLR振幅を復号中に非常に大きな振幅に設定することができる。次に、ターボ復号器304は、復号を行い、長さK’の入力ブロックの推定値^uを入手する。最後に、情報ブロック抽出物回路310は、^uから推定した情報ブロックを抽出する。フィラー処理回路302は、説明を分かり易くするためにターボ復号器の外側に図示してあるが、これら2つのものは、結合して実施することもできる。図4は、図3のターボ復号器のブロック図である。図を見れば分かるように、インターリーバ402およびデインターリーバ401は、復号回路403と復号回路404の間に位置する。反復復号は、当業者であれば周知のように行われるが、従来技術の復号器とは異なり、インターリーバサイズK’はKと関連する。この場合、Kは一組のサイズからのものである。この一組のサイズは、K=aP×f、pmin≦p≦pmax;fmin≦f≦fmaxを含む。aは整数であり、fは、fminとfmaxの間の連続している整数であり、pは、pminとpmaxの間の整数値であり、a>1、pmax>pmin、pmin>1である。パラメータKfilerは、ターボ復号器が必要とする場合もあるし、必要としない場合もあるので、図4においては鎖線により示してある。すでに説明したように、一実施形態の場合には、K’=Kである。さらに他の実施形態の場合には、Kが2m-1の倍数でない場合に、K’=Kであり、そうでない場合でKが2m-1の倍数である場合には、K’=KδKを使用する。ここで、mは、構成畳み込み符号器のメモリ長であり、δKは、2m-1の倍数に等しくない負の整数である。一実施形態の場合には、m=3である。インターリーバ402は、並べ替えπi=iP0AdimodK’を使用することができる。0≦i≦K’-1は、インターリービング後の記号位置のシーケンシャルなインデックスであり、πiは、位置iに対応するインターリービングする前の記号インデックスであり、K’は、記号内のインターリーバのサイズであり、P0は、K’に相対的に素数である数であり、Aは、定数であり、Cは、K’を割る小さな数であり、diは、形式di=βimodCP0×αimodCのディザベクトルである。αおよびβは、0≦i≦K’-1に対して周期的に適用されるそれぞれが長さCのベクトルである。好適には、K’、C、P0、αおよびβの値は、テーブル1の1つの列から取ることが好ましい。デインターリーバ401はインターリーバ402とは逆の機能を実行する。インターリーバ402は、並べ替えπi=f1×if2×i2modK’を使用することができる。0≦i≦K’-1は、インターリービングした後の記号位置のシーケンシャルなインデックスであり、πiは、位置iに対応するインターリービングする前の記号インデックスであり、K’は、記号内のインターリーバのサイズであり、f1およびf2は、インターリーバを定義する係数である。好適には、K’、f1、f2は、テーブル2の1つの列から取ることが好ましい。デインターリーバ401は、インターリーバ402とは逆の機能を実行する。図5は、送信機100の動作を示すフローチャートである。ロジックの流れは、ステップ501からスタートする。回路103は、Kに関連するインターリーバサイズK’を決定する。Kは、一組のサイズからのものである。この一組のサイズは、K=aP×f、pmin≦p≦pmax;fmin≦f≦fmaxを含み、ここで、aは整数であり、fは、fminとfmaxの間の連続している整数であり、pは、pminとpmaxの間の整数値であり、a>1、pmax>pmin、pmin>1である。すでに説明したように、一実施形態の場合には、K’=Kである。さらに他の実施形態の場合には、Kが2m-1の倍数でない場合に、K’=Kであり、そうでない場合でKが2m-1の倍数である場合には、K’=KδKを使用する。mは、構成畳み込み符号器のメモリ長であり、δKは、2m-1の倍数に等しくない小さな正の整数または負の整数である。一実施形態の場合には、m=3である。ステップ503において、フィラー挿入回路109は、サイズKの情報ブロックを受信し、サイズKの情報ブロックをサイズK’の入力ブロックu内に詰め込み、入力ブロックuを出力する。次に、インターリーバ201は、サイズKの入力ブロックを好適には、競合しないインターリーバによりインターリーブしステップ507、符号化回路203にサイズK’のインターリーブしたブロックを送るステップ509。最後に、ステップ511において、元の入力ブロックおよびインターリーブした入力ブロックが符号化される。すでに説明したように、入力ブロックをインターリーブするステップは、並べ替えπi=iP0AdimodK’を使用するステップを含むことができる。0≦i≦K’-1は、インターリービング後の記号位置のシーケンシャルなインデックスであり、πiは、位置iに対応するインターリービングする前の記号インデックスであり、K’は、ビット内のインターリーバのサイズであり、P0は、K’に相対的に素数である数であり、Aは、定数であり、Cは、K’を割る小さな数であり、diは、形式di=βimodCP0×αimodCのディザベクトルである。αおよびβは、0≦i≦K’-1に対して周期的に適用されるそれぞれが長さCのベクトルである。好適には、K’、C、P0、αおよびβの値は、テーブル1の1つの列から取ることが好ましい。入力ブロックをインターリーブするステップは、また、並べ替えπi=f1×if2×i2modK’を使用するステップを含むことができる。0≦i≦K’-1は、インターリービング後の記号位置のシーケンシャルなインデックスであり、πiは、位置iに対応するインターリービングする前の記号インデックスであり、K’は、記号内のインターリーバのサイズであり、f1およびf2は、インターリーバを定義する係数である。好適には、K’、f1、f2はテーブル2の1つの列から取ることが好ましい。図6は、図3の受信機の動作のフローチャートである。ロジックの流れは、ステップ601からスタートする。回路306は、インターリーバサイズK’を決定する。ステップ603において、回路302は、受信した信号ベクトルにフィラービット情報を追加する。例えば、フィラービットおよびフィラービット位置が分かっている場合には、回路302は、ターボ復号器入力のこれらの位置の対数尤度比LLRを大きな振幅に設定することができる。ステップ607において、ターボ復号器は、インターリーバおよびサイズK’のデインターリーバを使用して、復号器入力ブロックを復号し、長さK’の入力ブロックの推定した^uを出力する。ステップ609において、情報ブロック抽出回路310は、長さKの情報ブロックを入手するためにフィラービットを除去する。最後に、ステップ611において、推定した情報ブロックが出力される。特定の実施形態を参照しながら本発明を詳細に図示し説明してきたが、当業者であれば、本発明の精神および範囲から逸脱することなしに、その形式および詳細を種々に変更することができることを理解することができるだろう。ある例のおいては、a例えば、フィラービットを使用しないで、またはもっと少ないフィラービットを使用して、処理しなければならない任意の特殊なサイズをカバーするために定義されたインターリーバの追加の組の使用、b片対数スライスサイズに小さな値を追加することにより、または片対数スライスサイズから小さな値を抽出することにより、インターリーバサイズの若干の調整を含む特殊な場合を処理するために、インターリーバテーブルをさらに改善することができる。他の例の場合には、今までバイナリ入力ターボ符号器を仮定して本発明を説明してきたが、ターボ符号器が入力として記号をとった場合には、同じ原理を適用することができる。例えば、デュオバイナリターボ符号は、2つのバイナリビットを同時に取り入れることができ、ターボインターリーバは、記号を並べ替えるさらに、記号内でのビットの変更のようなスクランブリングを行うことができる。そのような場合、入力ブロックサイズは、記号で測定され、インターリーバサイズは入力ブロック内の記号の数に等しい。他の例の場合には、上記説明は、インターリーバサイズおよびインターリーバパラメータがルックアップテーブル内に格納されていると仮定しているが、これらのものを代数計算のような他の手段で決定することもできる。他の例においては、上記説明はターボ符号を仮定しているが、本発明の方法は、例えば、低密度パリティチェックLDPC符号、リードソロモンRS符号等を含む他のFECスキームにも適用することができる。このような変更も添付の特許請求の範囲内に含まれる。"