(57)【特許請求の範囲】
【請求項１】
ターボ符号器を操作するための方法であって、
サイズＫの情報ブロックを受信するステップと、
一組のサイズからのＫ”に関連するインターリーバ・サイズＫ’を決定するステップであって、前記一組のサイズが、Ｋ”＝ａＰ×ｆ、ｐｍｉｎ≦ｐ≦ｐｍａｘ、ｆｍｉｎ≦ｆ≦ｆｍａｘを含み、ａは整数であり、ｆは、ｆｍｉｎとｆｍａｘの間の連続している整数であり、ｐは、ｐｍｉｎとｐｍａｘの間の整数値であり、ａ＞１、ｐｍａｘ＞ｐｍｉｎ、ｐｍｉｎ＞１であり、ｆｍｉｎ＝２ｂ、ｆｍａｘ＝２ｂ＋１−１であり、ｂは整数であり、ｐ及びｆは、
【数１】
0005396599.tif 000018
により計算される、前記決定するステップと、
サイズＫの情報ブロックをサイズＫ’の入力ブロック内に詰め込むステップと、
サイズＫ’のインターリーバにより前記入力ブロックをインターリーブするステップであって、前記入力ブロックをインターリーブする前記ステップが、並べ替えπ（ｉ）＝（ｆ１×ｉ＋ｆ２×ｉ２）ｍｏｄＫ’）を使用するステップを含み、０≦ｉ≦Ｋ’−１は、インターリービング後の記号位置のシーケンシャルなインデックスであり、π（ｉ）は、位置ｉに対応するインターリービングする前の記号インデックスであり、Ｋ’は、記号内の前記インターリーバのサイズであり、ｆ１およびｆ２は、インターリーバを定義する係数であるステップと、
符号語ブロックを入手するためにもとの入力ブロックおよび前記インターリーブした入力ブロックを符号化するステップと、
チャネルを通して前記符号語ブロックを送信するステップと、を含む方法。
【請求項２】
ターボ符号器を操作するための装置であって、
Ｋ”に関連するインターリーバ・サイズＫ’を決定するインターリーバ・サイズ決定回路であって、Ｋ”が一組のサイズからのものであり、前記一組のサイズは、Ｋ”＝ａＰ×ｆ、ｐｍｉｎ≦ｐ≦ｐｍａｘ；ｆｍｉｎ≦ｆ≦ｆｍａｘを含み、ａは、整数であり、ｆは、ｆｍｉｎとｆｍａｘの間の連続している整数であり、ｐは、ｐｍｉｎとｐｍａｘの間の整数値であり、ａ＞１、ｐｍａｘ＞ｐｍｉｎ、ｐｍｉｎ＞１であり、ｆｍｉｎ＝２ｂ、ｆｍａｘ＝２ｂ＋１−１であり、ｂは整数であり、ｐ及びｆは、
【数２】
0005396599.tif 000019
により計算される、前記インターリーバ・サイズ決定回路と、
サイズＫの情報ブロックを受信し、サイズＫの前記情報ブロックをサイズＫ’の入力ブロック内に詰め込むフィラー挿入回路と、
サイズＫ’の前記入力ブロックをインターリーブするインターリーバであって、インターリーバが並べ替えπ（ｉ）＝（ｆ１×ｉ＋ｆ２×ｉ２）ｍｏｄＫ’を使用し、０≦ｉ≦Ｋ’−１は、インターリービング後の記号位置のシーケンシャルなインデックスであり、π（ｉ）は、位置ｉに対応するインターリービングする前の記号インデックスであり、Ｋ’は、記号内のインターリーバのサイズであり、ｆ１およびｆ２は、インターリーバを定義する係数であるインターリーバと、
符号語ブロックを入手するために、前記もとの入力ブロックおよび前記インターリーブした入力ブロックを符号化する符号器と、
を備える装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、データの符号化および復号に関し、特に、ターボ符号化および復号のための方法および装置に関する。
【背景技術】
【０００２】
有線および無線リンクを通してのデジタル・データの送信は、例えば、リンクまたはチャネル内のノイズ、他の送信からの干渉、または他の環境的要因により劣化する場合がある。チャネルにより導入されたエラーを解決するために、多くの通信システムは、通信中の補助のための誤り訂正技術を使用している。
【０００３】
誤り訂正のために使用される１つの技術は、チャネルを通して送信する前に情報ブロックをターボ符号化する方法である。このような技術を使用して、通信システムの送信機内の符号器は、長さＫ’ビットの入力ブロックｕをＮビットの符号語ブロックｘに符号化する。次に、符号語ブロックは、ＩＥＥＥ８０２．１６ｅ仕様に定義されているように、チャネル・インターリーブのような他の処理の後でチャネルを通して送信される。受信機のところでは、ターボ復号器が、長さＮの受信した信号ベクトルｙを入力として取り入れ、ベクトルｕの推定値＾ｕを生成する。
【０００４】
通常、ターボ符号器は、２つの構成畳み込み符号器から構成される。第１の構成符号器は、入力ブロックｕをそのもとの順序で入力として受け入れ、第２の構成符号器は、ｕをターボ・インターリーバπに通した後でそのインターリーブした順序で入力ブロックｕを受け入れる。ターボ符号器出力ｘは、（入力ブロックｕに等しい）システマティック・ビット、第１の構成符号器からのパリティ・ビット、および第２の構成符号器からのパリティ・ビットから構成される。
【０００５】
それに対応して、通信システムの受信機内のターボ復号器は、一方は、各構成符号に対して１つずつ、２つの構成畳み込み復号器から構成される。構成復号器は、インターリーバπおよび対応するデインターリーバπ−１により分離されている。対数尤度比（ＬＬＲ）のフォーマットのメッセージは、構成復号器間を反復して通過する。決定＾ｕは数回の反復の後で行われる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ｄｅｓｉｇｎｉｎｇ  ｇｏｏｄ  ｐｅｒｍｕｔａｔｉｏｎｓ  ｆｏｒ  ｔｕｒｂｏ  ｃｏｄｅｓ：  ｔｏｗａｒｄｓ  ａ  ｓｉｎｇｌｅ  ｍｏｄｅｌ、ＩＥＥＥ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｏｃｉｅｔｙ０−７８０３−８５３３−０／０４／＄２０．００（ｃ）２００４ＩＥＥＥ
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ターボ・インターリーバπは、ターボ符号設計の際の重要な構成要素である。このターボ・インターリーバは、擬似ランダム方法で入力ブロックｕをスクランブルし、それ故、優れた重み分布を含む符号語ｘを提供する。それ故、優れた誤り訂正機能を提供する。復号性能の他に、ターボ・インターリーバπの定義は、受信機内のターボ復号器の実施に大きな影響を与える。メモリ・アクセス競合なしで高レベル並列処理ができるように、ターボ・インターリーバπは、競合を起こさない特性を有する必要がある。
【課題を解決するための手段】
【０００８】
競合のないインターリーバに上記ニーズを満たすために、以下にターボ符号のインターリーバ・サイズを選択するための方法および装置について説明する。動作中、サイズＫの情報ブロックが受信される。インターリーバ・サイズＫ’は、Ｋ’がＫ”に関連していて、Ｋ”が一組のサイズからのものである場合に決定される。一組のサイズは、Ｋ”＝ａＰ×ｆ、ｐｍｉｎ≦ｐ≦ｐｍａｘ；ｆｍｉｎ≦ｆ≦ｆｍａｘを含み、ａは整数であり、ｆはｆｍｉｎとｆｍａｘの間の連続している整数であり、ｐはｐｍｉｎとｐｍａｘの間の整数値であり、ａ＞１、ｐｍａｘ＞ｐｍｉｎ、ｐｍｉｎ＞１である。サイズＫの情報ブロックは、サイズＫ’の入力ブロック内に詰め込まれる。入力ブロックは、サイズＫ’のインターリーバによりインターリーブされる。もとの入力ブロックおよびインターリーブされた入力ブロックは、符号語ブロックを入手するために符号化される。符号語ブロックは、チャネルを通して送信される。
【０００９】
本発明の他の実施形態の場合には、Ｋ”に関連するインターリーバ・サイズＫ’を決定するステップは、Ｋ’＝Ｋ”を使用するステップを含む。
さらに他の実施形態の場合には、Ｋ”に関連するインターリーバ・サイズＫ’を決定するステップは、Ｋ”が（２ｍ−１）の倍数でない場合に、Ｋ’＝Ｋ”を使用するステップを含み、そうでない場合でＫ”が（２ｍ−１）の倍数である場合には、Ｋ’＝Ｋ”＋δ（Ｋ”）を使用するステップを含む。ここで、ｍは、構成畳み込み符号器のメモリ長であり、δ（Ｋ”）は、（２ｍ−１）の倍数に等しくない小さな正の整数または負の整数である。一実施形態の場合には、ｍ＝３である。
【００１０】
本発明のさらに他の実施形態の場合、入力ブロックをインターリーブするステップは、並べ替えπ（ｉ）＝（ｉＰ０＋Ａ＋ｄ（ｉ））ｍｏｄＫ’を使用するステップを含む。０≦ｉ≦Ｋ’−１は、インターリービング後の記号位置のシーケンシャルなインデックスであり、π（ｉ）は、位置ｉに対応するインターリービングする前の記号インデックスであり、Ｋ’は、記号のインターリーバのサイズであり、Ｐ０は、Ｋ’に相対的に素数である数であり、Ａは定数であり、Ｃは、Ｋ’を割る小さな数であり、ｄ（ｉ）は、形式ｄ（ｉ）＝β（ｉｍｏｄＣ）＋Ｐ０×α（ｉｍｏｄＣ）のディザ・ベクトルである。α（・）およびβ（・）は、０≦ｉ≦Ｋ’−１に対して周期的に適用されるそれぞれが長さＣのベクトルである。
【００１１】
本発明のさらに他の実施形態の場合には、入力ブロックをインターリーブするステップは、並べ替えπ（ｉ）＝（ｆ１×ｉ＋ｆ２×ｉ２）ｍｏｄＫ’を使用するステップを含む。０≦ｉ≦Ｋ’−１は、インターリービングした後の記号位置のシーケンシャルなインデックスであり、π（ｉ）は、位置ｉに対応するインターリービングする前の記号インデックスであり、Ｋ’は、記号のインターリーバのサイズであり、ｆ１およびｆ２は、インターリーバを定義する係数である。
【００１２】
データの符号化および復号を説明する前に、必要な背景を設定するために、定義について説明する。
・Ｋは、情報ブロックのサイズである。
【００１３】
・Ｋ’は、インターリーバのサイズ（すなわち、それに対してターボ符号インターリーバが定義される入力ブロック・サイズ）である。
・Ｋ”は、インターリーバのサイズを決定する際に使用することができる補助変数である。
【００１４】
・Ｋｆｉｌｌｅｒは、情報ブロックに追加されるフィラー・ビットの数である。
・πは、ターボ符号の内部インターリーバである。
・フローリング動作
【００１５】
【数１】
0005396599.tif 000002
【００１６】
は、ｘより小さいか、等しい最大の整数であり、シーリング動作
【００１７】
【数２】
0005396599.tif 000003
【００１８】
は、ｘより大きいか、等しい最小の整数である。
・ｕは、Ｋ’の長さを有し、送信機のところのターボ符号器に送信される入力ブロックである。＾ｕは、Ｋ’の長さを有し、受信機のところのターボ復号器により生成される推定入力ブロックである。復号エラーがない場合には＾ｕ＝ｕであることに留意されたい。そうでない場合には、＾ｕ≠ｕである。
【図面の簡単な説明】
【００１９】
【図１】送信機のブロック図。
【図２】図１のターボ符号器のブロック図。
【図３】受信機のブロック図。
【図４】図４のターボ復号器のブロック図。
【図５】図１の送信機の動作を示すフローチャート。
【図６】図３の受信機の動作を示すフローチャート。
【発明を実施するための形態】
【００２０】
類似の参照番号が類似の構成要素を示す図面を参照すると、図１は、送信機１００のブロック図であるである。図に示すように、送信機１００は、フィラー挿入回路１０９と、ターボ符号器１０１と、インターリーバ・サイズ決定回路１０３と、インターリーバ・パラメータ・テーブル１０５と、送信機１０７とを備える。好適には、符号器１０１は、レート−１／３  ３ＧＰＰターボ符号器であることが好ましいが、符号器１０１を動作するための本明細書に記載する技術を、テール・ビットによりまたはテール・ビットを使用しないターボ符号化を実行するターボ符号器、テール・ビッティング、バイナリまたはデュオバイナリ・ターボ符号器、異なるレート・マッチングおよびパンクチャリング技術を使用するターボ符号器等を含むがこれらに限定されない他の符号器に適用することができる。回路１０３は、Ｋ”に関連するインターリーバ・サイズＫ’を決定する。Ｋ”は一組のサイズからのものである。一組のサイズは、Ｋ”＝ａＰ×ｆ、ｐｍｉｎ≦ｐ≦ｐｍａｘ；ｆｍｉｎ≦ｆ≦ｆｍａｘを含む。ａは、整数であり、ｆは、ｆｍｉｎとｆｍａｘの間の連続している整数であり、ｐは、ｐｍｉｎとｐｍａｘの間の整数値をとり、ａ＞１、ｐｍａｘ＞ｐｍｉｎ、ｐｍｉｎ＞１である。
【００２１】
送信機１００の動作中、サイズＫの情報ブロックをターボ符号器１０１で符号化する必要がある。多数の異なるＫを使用しているある通信システムの場合には、各情報ブロック・サイズＫに対する競合を起こさない（ＣＦ）インターリーバを定義するのは効率的ではない（多くの場合不可能である）。好適には、少数の組（Ｋ’）のうまく設計されたＣＦインターリーバがすべての情報ブロック・サイズをカバーすることができることが好ましい。情報ブロック・サイズがＫである場合には、適当なインターリーバ・サイズＫ’は、回路１０３により一組の使用できるサイズ（例えば、テーブル１０５内に記載されているインターリーバ・サイズ）から選択することができる。次に、情報ブロックは、回路１０９によりサイズＫ’の入力ブロック内に詰め込まれ、入力としてターボ符号器１０１に送られる。典型的な配置は、（フィラー挿入回路１０９を介して）Ｋｆｉｌｌｅｒフィラー・ビットと一緒に情報ブロックを詰め込む。「サイズ」および「長さ」という用語は、ブロックまたはベクトルの素子の数を示すために同義語として使用されることに留意されたい。
【００２２】
回路１０３によりＫ’を選択すると、Ｋ’はターボ符号器１０１に送られる。符号化中、競合のないインターリーバを（図１に図示せず）使用することができる。例えば、インターリーバは、並べ替えπ（ｉ）＝（ｉＰ０＋Ａ＋ｄ（ｉ））ｍｏｄＫ’を使用することができる。０≦ｉ≦Ｋ’−１は、インターリービング後の記号位置のシーケンシャルなインデックスであり、π（ｉ）は、位置ｉに対応するインターリービング前の記号インデックスであり、Ｋ’は、記号のインターリーバ・サイズであり、Ｐ０は、Ｋ’に相対的に素数である数であり、Ａは、定数であり、Ｃは、Ｋ’を割る小さな数であり、ｄ（ｉ）は、形式ｄ（ｉ）＝β（ｉｍｏｄＣ）＋Ｐ０×α（ｉｍｏｄＣ）の「ディザ」ベクトルである。α（・）およびβ（・）は、０≦ｉ≦Ｋ’−１に対して周期的に適用されるそれぞれが長さＣのベクトルである。他の例としては、インターリーバは、並べ替えπ（ｉ）＝（ｆ１×ｉ＋ｆ２×ｉ２）ｍｏｄＫ’を使用することができる。０≦ｉ≦Ｋ’−１は、インターリービング後の記号位置のシーケンシャルなインデックスであり、π（ｉ）は、位置ｉに対応するインターリービング前の記号インデックスであり、Ｋ’は、記号のインターリーバ・サイズであり、ｆ１およびｆ２は、インターリーバを定義する係数である。一般に、記号は、複数のビットから構成することができ、インターリービングのステップは、記号内でビットを並べ替える追加のステップを使用することができる。一般性を失わないで、下記の説明は、記号が１つのビットだけから構成され、（それ故、記号内でビットを並べ替える必要がない）通常のケースを考慮し、「ビット」および「記号」という用語は、同義語として使用することができる。
【００２３】
ターボ符号器１０１の出力は、符号語ブロックｘを含み、ｘは送信機１０７に送られ、チャネルを通して送信される。送信機は、チャネルを通して符号語ブロックｘを送信する前に、レート・マッチング、チャネル・インターリービング、変調等のような追加の処理を行う。
【００２４】
図２は、図１の符号器１０１のブロック図である。図に示すように、符号器１０１は、インターリーバ２０１と、符号化回路２０２と、符号化回路２０３とを備える。符号器の一例としては、３ＧＰＰ仕様に定義されているターボ符号器がある。３ＧＰＰに定義されているターボ符号器のマザー・コード・レートは、Ｒ＝１／３の本来のコード・レートを有する。ターボ符号器の出力のところで、入力ブロック内で各ビットに対して３つのビット、すなわち（入力ブロック内のビットに等しい）１つのシステマティック・ビット、構成符号器１からの１つのパリティ・ビット、構成符号器２からの１つのパリティ・ビットが生成される。さらに、ターボ符号器の出力は、また、構成符号のトレリスを終了させるために使用されるＮＴＢテール・ビットを含むことができる。例えば、３ＧＰＰターボ符号の場合には、ターボ符号器６の出力のところでのＮＴＢ＝１２ビット、構成符号当たりの６テール・ビットである。一方、テール・ビッティング構成畳み込み符号を使用することができる。それ故、ＮＴＢ＝０になる。
【００２５】
インターリーバ２０１は、競合しないインターリーバであってもよい。インターリーバπ（ｉ）（０≦ｉ＜Ｋ’）は、それがΨ＝π（インターリーバ）およびΨ＝π−１（デインターリーバ）に対する下記の制約を満たした場合だけ、ウィンドウ・サイズＷに対して競合しないインターリーバであるといわれる。
【００２６】
【数３】
0005396599.tif 000004
【００２７】
ここで、０≦ｊ＜Ｗ、０≦ｔ、ｖ＜Ｍ（＝Ｋ’／Ｗ）であり、ｔ≠ｖである。いつでもそれが必要なわけではないが、効率的なターボ復号器設計の場合には、通常、Ｍ個のウィンドウがすべて満杯である。Ｋ’＝ＭＷである。（１）の項は、反復復号中に出力メモリ・バンクに外因値を書き込む場合に、Ｍ個のプロセッサにより同時にアクセスされるメモリ・バンク・アドレスである。これらすべてのメモリ・バンク・アドレスが、各読出および書込動作中一意のものである場合には、メモリ・アクセス中に競合が起こらないので、（デ）インターリービング待ち時間を避けることができ、復号器の実施が高速になる。
【００２８】
ターボ符号器１０１の動作中、長さＫ’ビットの入力ブロックはインターリーバ２０１および符号化回路２０２の両方に入る。インターリーバ２０１は、サイズがＫ’の競合しないインターリーバであってもよい。
【００２９】
インターリーバ２０１は、入力ブロックをインターリーブし、入力ブロックをインターリーブした順序で符号化回路２０３に送る。次に、符号化回路２０３は、インターリーブした入力ブロックを符号化する。同じような方法で、符号化回路２０２は、もとの入力ブロックを符号化する。符号語ブロックｘは、（入力ブロックに等しい）システマティック・ブロック、符号化回路２０２の出力、および符号化回路２０３の出力から構成される。次に、符号語ブロックｘは、入力ブロックのコピーを直接受信することもできる送信機１０７に送られる。
【００３０】
競合しないインターリーバの一例として、下式により表されるほぼ正規の並べ替え（ＡＲＰ）インターリーバがある。
【００３１】
【数４】
0005396599.tif 000005
【００３２】
ここで、０≦ｉ≦Ｋ’−１は、インターリービング後のビット位置のシーケンシャルなインデックスであり、π（ｉ）は、位置ｉに対応するインターリービング前のビット・インデックスであり、Ｋ’は、インターリーバ・サイズであり、Ｐ０は、Ｋ’に相対的に素数である数であり、Ａは、定数であり、Ｃは、Ｋ’を割る小さな数であり、ｄ（ｉ）は、形式ｄ（ｉ）＝β（ｉｍｏｄＣ）＋Ｐ０×α（ｉｍｏｄＣ）のディザ・ベクトルである。α（・）およびβ（・）は、０≦ｉ≦Ｋ’−１に対して周期的に適用されるそれぞれが長さＣのベクトルである。α（・）およびβ（・）の両方は、複数のＣから構成される。このように構成された全インターリーバπ（・）は、周期Ｃを有する準サイクリック（すなわち、周期的な）特性を有し、テール・ビッティング・ターボ符号で使用した場合には、ターボ符号自身が、準サイクリックになり、符号設計の手順が簡単になる。
【００３３】
競合しないインターリーバの他の例としては、二次元多項式の並べ替え（ＱＰＰ）インターリーバが、下式π（ｉ）＝（ｆ１×ｉ＋ｆ２×ｉ２）ｍｏｄＫ’により表される。ここで、０≦ｉ≦Ｋ’−１は、インターリービング後の記号位置のシーケンシャルなインデックスであり、π（ｉ）は、位置ｉに対応するインターリービング前の記号インデックスであり、Ｋ’は記号内のインターリーバ・サイズであり、ｆ１およびｆ２は、インターリーバを定義する要因である。ＡＲＰインターリーバと同様に、テール・ビッティングである場合には、ターボ符号は同様に準サイクリックである。
【００３４】
インターリーバ２０１がＭの種々の値に対して（１）を満たす場合には、（各Ｍに対して１つずつ）種々の程度の類似を使用して復号器を実施することができる。それ故、種々の係数を有するＫ’を選択することが望ましい。長さＫ’のＡＲＰインターリーバの場合には、任意のウィンドウ・サイズＷを、メモリ・アクセス競合なしで高速復号に使用することができる。Ｗは、Ｃの倍数およびＫ’の係数である。並列ウィンドウの異なる定義を使用して、Ｋの任意の係数を並列ウィンドウの数として使用することができる。ＱＰＰインターリーバの場合には、インターリーバ・サイズＫ’の各係数が、類似Ｍの可能なレベルである。これにより類似係数Ｍの範囲が広くなり、復号器設計を柔軟に行うことができ、スケーラビリティが向上する。それ故、システム（またはユーザ素子のクラス）要件に基づいて復号速度と複雑さの間をうまく妥協することができる。
インターリーバ・サイズＫ’の選択
すでに説明したように、インターリーバ・サイズ決定回路１０３は、所与のＫに対するインターリーバ・サイズＫ’を決定しなければならない。この節においては、それに対してターボ符号インターリーバを定義することができる限定された数のサイズ（すなわち、Ｋ’）を選択する方法について説明する。すでに説明したように、フィラー挿入回路は（パンクチャリングまたはレート・マッチング方法と一緒に）任意の情報ブロック・サイズＫを処理するために使用することができる。一般に、インターリーバ・サイズの選択は、フィラー・ビットによる復号負担および性能の劣化を考慮に入れなければならない。
【００３５】
入力ブロックを形成するために情報ブロックに詰め込まれたフィラー・ビットＫｆｉｌｌｅｒの数は、情報ブロック・サイズＫの低い百分率（例えば、約１０〜１３％）に制限することが望ましい。このことは、（すべての使用できるＫ’値が昇順にソートされていると仮定して）隣接するインターリーバ・サイズ、すなわち隣接するＫ’値間の差を制限することにより達成される。フィラー・ビットの数は、Ｋ’≧Ｋになるような使用可能な最小のＫ’を選択することにより最小にすることができる。フィラー・ビットの数は、Ｋｆｉｌｌｅｒ＝Ｋ’−Ｋである。しかし、必要に応じて、Ｋ’≧Ｋの他の使用できる値も選択することができる。
【００３６】
ＫｍｉｎとＫｍａｘの間の情報サイズをカバーするように定義した下記の一組のサイズについて考えてみよう。
【００３７】
【数５】
0005396599.tif 000006
【００３８】
ここで、ａは整数であり、ｆはｆｍｉｎとｆｍａｘの間の連続している整数であり、ｐは、ｐｍｉｎとｐｍａｘの間の整数値をとり、ａ＞１、ｐｍａｘ＞ｐｍｉｎ、ｐｍｉｎ＞１である。必要ではないけれども、必要でない任意のサイズを捨てながら、Ｋｍｉｎ＝ａＰｍｉｎ×ｆｍｉｎおよびＫｍａｘ＝ａＰｍａｘ×ｆｍａｘとなるようにこれらのパラメータを選択することができる。情報ブロック・サイズのある範囲をカバーするためにサイズの限定した組を選択するこの方法は、片対数スライシングと呼ばれる。サイズＫの所与の情報ブロックの場合には、サイズＫ’は、片対数スライシング・テーブルに基づくＫ”および入力ブロック・サイズＫに関連する。
【００３９】
片対数スライシングは、音声コーデックで使用されるＡ−ｌａｗおよびμ−ｌａｗ圧縮伸長器のような広い動的範囲の信号を圧縮する際に使用する圧伸動作に似ている。片対数スライシング規則を使用すれば、広い範囲の情報ブロック・サイズをカバーするために効率的な設計を行うことができる。
【００４０】
パラメータを選択するためのいくつかの方法のうちのｆｍｉｎとｆｍａｘを選択するための１つの方法は、隣接するｐからのＫ”値を相互にラインナップさせる方法、すなわちａＰ×（ｆｍａｘ＋１）＝ａＰ＋１×ｆｍｉｎにする方法である。それ故、下式のようになる。
【００４１】
【数６】
0005396599.tif 000007
【００４２】
ｐの所与の値の場合には、２つの隣接するブロック・サイズＫ”間の距離は、αｐで示される。このことは、情報ブロック・サイズＫがグループＰ内に存在し、インターリーバ・サイズがＫ”に等しい場合には、αｐ−１フィラー・ビットの最大値が加算されることを意味する。それ故、情報ブロック・サイズＫ上のフィラー・ビットの一部が以下に示すように囲まれている。このようなことは、ブロック・サイズＫが（ｐ，ｆｍｉｎ）で表されるサイズより若干大きく、下式に対して（ｐ，ｆｍｉｎ＋１）で表されるＫ’＝Ｋ”を使用する場合に起こる。
【００４３】
【数７】
0005396599.tif 000008
【００４４】
別の方法としては、隣接するｐからのＫ”値を、ａＰ×ｆｍａｘ＝ａＰ＋１×（ｆｍｉｎ−１）を介して相互にラインナップすることができる。その結果ｆｍａｘ＝ａ×（ｆｍｉｎ−１）となる。これにより類似のＫｆｉｌｌｅｒ／Ｋ境界が得られる。それ故、片対数スライシングに対するパラメータを、支持するブロック・サイズの範囲により、またフィラー・ビットの許容できる部分上で同調させることができる。ｆｍｉｎを選択するには、下記の２つの要件の間でバランスをとる必要がある。
【００４５】
・ｆｍｉｎは、フィラー・ビットの一部を低減するために大きなものでなければならない。
・ｆｍｉｎは、インターリーバ・テーブルのサイズを制限するために小さなものでなければならない。何故なら、各ｐに対して定義したブロック・サイズの数は、ｆｍａｘ＝ａ×ｆｍｉｎ−１と仮定した場合、ｆｍａｘ−ｆｍｉｎ＋１＝（ａ−１）×ｆｍｉｎであるからである。
【００４６】
片対数スライシング方法は、任意のブロック・サイズに対して、使用するインターリーバ・サイズＫ’を（２）により計算したＫ”に基づいて容易に決定することができるという点で非常に簡単なものである。片対数スライス・サイズが定義されると（Ｋ”）、インターリーバ・サイズＫ’を例えば下記により、（ほとんど逸脱することなしに）片対数スライス・サイズから入手することができる。
【００４７】
１．Ｋ’＝Ｋ”を使用する。すなわち片対数スライス・サイズを直接有効なインターリーバ・サイズとして使用することができる。
２．Ｋ’が（２ｍ−１）の倍数でない場合には、Ｋ’＝Ｋ”を使用して、そうでない場合でＫ”が（２ｍ−１）の倍数である場合には、Ｋ’＝Ｋ”＋δ（Ｋ”）を使用して、ここで、ｍは、構成畳み込み符号器のメモリ長であり、δ（Ｋ”）は、（２ｍ−１）の倍数に等しくない小さな正の整数または負の整数である。このことは構成畳み込み符号がテール・ビッティングである場合に役に立つ。この場合、（２ｍ−１）の倍数は無効である。（２）の片対数スライシング方法により定義したサイズは、場合により、ターボ符号化に対して適していないインターリーバ・サイズであるサイズを含んでいる場合がある。例えば、８状態ＧＰＰターボ符号器のテール・ビッティング・バージョンは、７の倍数（すなわち、（２ｍ−１）である入力ブロック・サイズ（すなわち、インターリーバ・サイズ）をサポートしない。このような場合、式（２）が（２ｍ−１）の倍数になる場合はいつでも、結果として得られるサイズが、もはや（２ｍ−１）の倍数にならないように小さな値がそれに加算または減算される。
【００４８】
例えば、ａ＝２、ｆｍｉｎ＝８、およびｆｍａｘ＝１５の場合には、形式Ｋ’＝Ｋ”＝２Ｐ×１４のインターリーバ・サイズは７の倍数であり、それ故、テール・ビッティング３ＧＰＰ  ＴＣを使用する場合には、無効なインターリーバ・サイズである。それ故、この場合は、Ｋ”が７の倍数でない場合には、例えば、Ｋ’＝Ｋ”を使用して、少し変更して処理しなければならない。そうでない場合で、Ｋ”が７の倍数である場合には、Ｋ’＝Ｋ”＋δ（Ｋ”）を使用して処理しなければならない。δ（Ｋ”）は７の倍数に等しくない小さな正の整数または負の整数である。
【００４９】
テール・ビッティング・インターリーバに対する無効な選択であるＫ”サイズの場合には、関連するインターリーバ・サイズＫ’を決定する簡単な１つの方法は、Ｋ”からｄ×Ｃを減算（有効として加算）する方法である。ここで、ｄは小さな正の整数であり、ｄは７の倍数ではない。ＡＲＰインターリーバの場合には、Ｃは、一組の使用可能なサイズのＫ’の隣のブロック・サイズに対して使用したＡＲＰインターリーバ・サイクル長であってもよい。（ＡＲＰインターリーバのブロック・サイズは、サイクル長さＣの倍数であることを思い出されたい。）  すなわち、Ｋ”が７の倍数である場合には下式のようになる。
【００５０】
【数８】
0005396599.tif 000009
【００５１】
Ｃは４、８、１２または１６のような偶数の整数であるので、このような調整を行うと２つの利点がある。すなわち、（ａ）Ｋ’は７の倍数でないこと、および（ｂ）Ｋ’はＣの倍数であり、それ故サイズＫ’に対するＡＲＰインターリーバを設計することができることである。
【００５２】
簡単にするために、調整する必要があるすべてのＫ”に対して同じｄを選択することができる。ｄを選択する際の１つの重要な考慮事項は、式（３）または（４）により入手したすべてのサイズが、このように定義したＣＦインターリーバに対して広い範囲の類似をサポートすることができる係数の実質的な数を有していることである。
インターリーバ・サイズ選択の例
３ＧＰＰ  ＬＴＥの場合には、４０〜５１１４ビットの間の各ブロック・サイズに対してＣＦインターリーバを定義するのは重要なことではない。うまく設計されたＣＦインターリーバの限定されたまたは小さな一組は、すべてのブロック・サイズをカバーするのに十分である。定義されていない（すなわち、それに対してＣＦインターリーバが定義されていない）ブロック・サイズの場合には、ゼロパディング（すなわち、追加フィラー・ビット）を、すでに説明したように効率的に使用することができる。
【００５３】
第１の例としては、テーブル１０５内の３ＧＰＰ長期展開（ＬＴＥ：Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）に対する情報ブロック・サイズをカバーするのに適している一組のインターリーバを上記片対数スライシング方法に基づいて定義される場合がある。より詳細に説明すると、下式のようになる。
【００５４】
【数９】
0005396599.tif 000010
【００５５】
およびＫ’は、Ｋ”から決定される。インターリーバ・サイズは、下記のように決定される。すなわち、Ｋ’＝Ｋ”を使用して、およびｐ＝４、５、６、７、８、９の場合には、およびｆ＝８、９、１０、１１、１２、１３、１５の場合には、およびＫ’＝Ｋ”−ｄＣを使用して、およびｆ＝１４の場合には、１２８〜７６８０のＫをカバーして、ｐ＝９に対応する最後の３つのサイズ（ｆ＝１３、１４、１５）は、Ｋｍｉｎ＝１２８によりＫｍａｘ＝６１４４になるように除去することができる。式（３）は、テール・ビッティングＴＣを処理するために、ｆ＝１４（すなわち７の倍数であるインターリーバ・サイズを避けるために）ｄ＝２と一緒に使用される。１０５内のインターリーバ・サイズが決定されると、各インターリーバ・サイズに対してＣＦインターリーバを設計することができる。
【００５６】
任意の情報ブロック・サイズＫの場合には、回路１０３が、１０５からＫより大きいかまたは等しいＫ’の最小値を選択することにより、Ｋに対して使用するインターリーバ・サイズを決定することができる。既知のＫにより、ｆｍｉｎ＝２ｂ、ｆｍａｘ＝２ｂ＋１−１により（ここで、ｂは整数）、パラメータｐおよびｆを下式により計算することができる。
【００５７】
【数１０】
0005396599.tif 000011
【００５８】
より詳細に説明すると、式（５）のパラメータに対して，ｂ＝３であり、ｐは下式により表される。
【００５９】
【数１１】
0005396599.tif 000012
【００６０】
パラメータｐおよびｆにより、式（２）または（５）を使用してブロック・サイズＫ’を計算することができるし、さらにｆが７の倍数であり、テール・ビッティング符号化を使用する場合には、式（３）または（４）を使用して計算したインターリーバ・サイズを加算の際に使用することができる。次に、サイズＫ’のインターリーバに関連するパラメータが、通常、通信装置用のメモリ内に格納しているインターリーバ・パラメータ１０５用の格納手段からルックアップされる。
【００６１】
第２の例としては、４０〜８１９２ビットのＫをカバーするための示唆した一組の完全なインターリーバ・サイズＫ’は下記の通りである。
Ｋ’∈［２６４，８１９２］の場合には、Ｋ’＝２Ｐ×ｆ、ｐ＝３，．．．，７、ｆ＝３３，３４，．．．，６４である。
【００６２】
２６４以下のＫ’の場合には、８のステップ・サイズは、Ｋ’＝４０、４８，．．．２５６となるように使用される。
下記テーブルはこれらのサイズを示す。
【００６３】
【表１】
0005396599.tif 000013
【００６４】
上記テーブルに示すサイズは、８１９２ビットの最大Ｋ’のために定義した一例にしか過ぎず、４２の情報ブロック・サイズに比較チェックの際に使用されることに留意されたい。６１４４ビットのような他の最大値を使用する場合には、最大値より大きい任意のＫ’がリストから除去される。また、簡単にするために、サイズは、末尾を切った構成符号を使用する場合と、テール・ビッティング構成符号を使用する場合との違いを考慮に入れなかった。ターボ符号器がテール・ビッティングからできている場合には、７の倍数であるＫ’を使用することができない。これらのものは、すでに説明したように、除去されるか修正される。最後に、追加のインターリーバ・サイズを、インターリーバ間のスペースを小さくするために上記のものに追加することができる。例えば、６４の最大スペースを使用する場合には、テーブル内のスペース１２８を含むインターリーバ間に定義される。次に、テール・ビッティングが使用され、７のＫ’倍数が除去される場合には、最大スペースは再度１２８になる。
【００６５】
インターリーバ・サイズ選択の他の例として、システムは、トランスポート・ブロック（ＴＢ）（分割する前の情報ビットに数）がある値より大きい場合に限って、ＣＦインターリーバを使用することができる。例えば、最大の定義したサイズが５１１４である場合で、トランスポート・ブロックが５１１４より大きい場合には、ＡＲＰまたはＱＰＰのようなＣＦインターリーバを使用することができる。これらの場合、分割を行うと、２１１４より小さいＫ’を生成することができるが、ＣＦインターリーバはそのＫ’に対して使用される。それ故、Ｋは、第１のインターリーバ（３ｇｐｐ、非ＣＦインターリーバまたは他のインターリーバ）および、分割前のトランスポート・ブロック・サイズにより第２のインターリーバ（競合しないインターリーバ）を使用してターボ・インターリーブすることができる。第１および第２のインターリーバは、異なる組のＫ’を有することができる。例えば、第１のインターリーバをすべてのＫ＝Ｋ’に対して実質的に定義することができ、一方、第２のインターリーバをすでに説明したように、Ｋ’で定義することができる。ある場合には、第１のインターリーバに対して１個または数個のプロセッサを使用することができる。
ＡＲＰインターリーバの例
テーブル１は、３ＧＰＰ長期展開（ＬＴＥ）のための情報ブロック・サイズをカバーするのに適している４２ＣＦ  ＡＲＰインターリーバのサブセットを示す。サイクル長さＣ＝４は、Ｋ＜１０２４、Ｋ≧１０２４に対するＣ＝８のために使用される。もっと大きなサイクル長さを使用すれば、もっと大きなブロック・サイズのところでもっとよい最少距離が得られる。また、Ａ＝３の代わりに、Ａ＝０がすべてのサイズに対して使用される。さらに、各Ｋは異なるα（・）およβ（・）ベクトルを有することができ、小さな一組のαおよびβ値を、インターリーバの定義の格納装置を小さくするために使用することができる。許可されたαおよびβの一組について以下に定義する。
【００６６】
サイクル長さＣ＝４の場合、
【００６７】
【数１２】
0005396599.tif 000014
【００６８】
サイクル長さＣ＝８の場合、
【００６９】
【数１３】
0005396599.tif 000015
【００７０】
それ故、αの各列をαベクトルとして使用することができ、βの各列はβベクトルとして使用することができる。それ故、インデックスａおよびｂが、αおよびβの列を索引するために各Ｋに対して定義される。ここで、１≦ａ＜２、１≦ｂ≦２Ｃである。この索引方法によりＡＲＰインターリーバの格納装置がかなり小さくなる。何故なら、Ｐ０（８ビット）、インデックスａ（１ビット）およびｂ（３〜４ビット）だけをインターリーバ毎に格納しさえすればよいからである。サイクル長さＣは、Ｋが１０２４ビットよりも小さいか否かに基づいて決定することができる。さらに、Ｃ＝８対Ｃ＝４を使用するためのパラメータ格納装置の量は、αおよびβマトリックスのサイズの違いにすぎない。これは些細なことであり、それ故、必要な場合には、もっと大きなＣを自由に使用することができる。
【００７１】
インターリーバ・パラメータの格納手段１０５は、テーブル１の少なくとも１つの列から入手したＫ’Ｃ、Ｐ０、α（・）およびβ（・）の値を使用してＡＲＰインターリーバ・パラメータを格納することができる。インターリーバ２０１は、下記のテーブルの少なくとも１つの列から入手するＫ’Ｃ、Ｐ０、α（・）およびβ（・）の値と一緒にＡＲＰインターリーバを使用することができる。
【００７２】
テーブル１．ＬＴＥのために定義した一組のＡＲインターリーバのパラメータ。一定のオフセットＡ＝０はすべてのサイズに使用される。３２より少ないかまたは等しい並列ウィンドウを当然使用する可能な類似Ｍを示す。
【００７３】
【表２】
0005396599.tif 000016
【００７４】
ＡＲＰインターリーバの特性
インターリーバ・テーブルを修正するための方法がいくつかある。例えば、２つ以上のインターリーバ・サイズに適用する一組のＡＲＰパラメータを使用することにより格納装置を小さくすることができる、例えば、１０２４ビット、２０４８ビット、４０９６ビットのインターリーバは、すべて同じＡＲＰパラメータを使用することができる。他の修正実施形態の場合には、そうしたい場合には、テーブルの列のいくつかを異なるＣ値に基づいて設計することができる。他の改良実施形態の場合には、パラメータ（例えば、α（０）およびβ（０））のエントリのいくつかを固定する（例えば、いつもゼロ）ことができる。
【００７５】
下記の記述は、テーブル１を入手するために使用したインターリーバ選択手順についての他のいくつかのコメントである。
１．格納装置を小さくするための一定のオフセット値、Ａ＝３またはＡ＝０が選される。
【００７６】
２．性能チェックおよび格納装置に基づいて、Ｋ’＜１０２４、Ｋ’≧１０２４に対するＣ＝８に対してサイクル長さＣ＝４が使用される。
３．各ブロック・サイズに対して、（テール・ビッティング符号化による）ＡＲＰインターリーバ性能が３ＧＰＰターボ符号に対する仕様に定義されているインターリーバを含む性能に近いかまたはそれより優れていることを確認するためにシミュレーションを行った。
【００７７】
４．テーブル１を特定の一組のインターリーバ・サイズ（例えば、４０〜８１９２）をカバーするように定義した。そうしたい場合には、他のインターリーバ・サイズを削除または追加することもできる。
【００７８】
５．７の倍数でない１０５で定義したすべてのインターリーバを、許容できる性能劣化により、末尾を切ったまたはテール・ビッティング・ターボ符号に対して使用することができる。７の倍数であるこれらのものも末尾を切って使用することができる。
ＱＰＰインターリーバの例
テーブル２は、３ＧＰＰ長期展開（ＬＴＥ）に対する情報ブロック・サイズをカバーするのに適している４２のＣＦ  ＱＰＰインターリーバのサブセットを示す。これらのインターリーバは、デインターリーバも同様にＱＰＰであるような二次の逆多項式を有する。
【００７９】
インターリーバ・パラメータの格納手段１０５は、テーブル２の少なくとも１つの列から入手するＫ’ｆ１、ｆ２の値を使用してＱＰＰインターリーバ・パラメータを格納することができる。インターリーバ２０１は、下記のテーブルの少なくとも１つの列から入手するＫ’ｆ１、Ｆ２の値と一緒にＱＰＰインターリーバを使用することができる。
テーブル２．ＬＴＥのために定義した一組のＱＰＰインターリーバのパラメータ。３２より少ないかまたは等しい可能な類似を示す。
【００８０】
【表３】
0005396599.tif 000017
【００８１】
図３は、受信機３００のブロック図である。入力のところで、フィラー処理回路３０２は、チャネル（例えば、無線）を通して送信された信号ベクトルを受信する。次に、回路３０６は、例えば、  格納装置３０８テーブルをルックアップすることにより、または式（７）、（８）および（２）のような計算を行うことにより、上記と類似の方法で行うことができるインターリーバ・サイズＫ’を決定する。それ故、情報ブロック・サイズＫの場合には、復号器３０４は、符号器１０１で使用したのと同じインターリーバ・サイズＫ’を使用する。フィラー処理回路３０２は、受信した信号ベクトルおよびフィラー・ビット位置を正しく処理するために使用される（例えば、フィラー・ビット位置が分かっている場合には、対応するＬＬＲ振幅を復号中に非常に大きな振幅に設定することができる）。次に、ターボ復号器３０４は、復号を行い、長さＫ’の入力ブロックの推定値＾ｕを入手する。最後に、情報ブロック抽出物回路３１０は、＾ｕから推定した情報ブロックを抽出する。フィラー処理回路３０２は、説明を分かり易くするためにターボ復号器の外側に図示してあるが、これら２つのものは、結合して実施することもできる。
【００８２】
図４は、図３のターボ復号器のブロック図である。図を見れば分かるように、インターリーバ４０２およびデインターリーバ４０１は、復号回路４０３と復号回路４０４の間に位置する。反復復号は、当業者であれば周知のように行われるが、従来技術の復号器とは異なり、インターリーバ・サイズＫ’はＫ”と関連する。この場合、Ｋ”は一組のサイズからのものである。この一組のサイズは、Ｋ”＝ａＰ×ｆ、ｐｍｉｎ≦ｐ≦ｐｍａｘ；ｆｍｉｎ≦ｆ≦ｆｍａｘを含む。ａは整数であり、ｆは、ｆｍｉｎとｆｍａｘの間の連続している整数であり、ｐは、ｐｍｉｎとｐｍａｘの間の整数値であり、ａ＞１、ｐｍａｘ＞ｐｍｉｎ、ｐｍｉｎ＞１である。パラメータＫｆｉｌｅｒは、ターボ復号器が必要とする場合もあるし、必要としない場合もあるので、図４においては鎖線により示してある。
【００８３】
すでに説明したように、一実施形態の場合には、Ｋ’＝Ｋ”である。さらに他の実施形態の場合には、Ｋ”が（２ｍ−１）の倍数でない場合に、Ｋ’＝Ｋ”であり、そうでない場合でＫ”が（２ｍ−１）の倍数である場合には、Ｋ’＝Ｋ”＋δ（Ｋ”）を使用する。ここで、ｍは、構成畳み込み符号器のメモリ長であり、δ（Ｋ”）は、（２ｍ−１）の倍数に等しくない負の整数である。一実施形態の場合には、ｍ＝３である。
【００８４】
インターリーバ４０２は、並べ替えπ（ｉ）＝（ｉＰ０＋Ａ＋ｄ（ｉ））ｍｏｄＫ’を使用することができる。０≦ｉ≦Ｋ’−１は、インターリービング後の記号位置のシーケンシャルなインデックスであり、π（ｉ）は、位置ｉに対応するインターリービングする前の記号インデックスであり、Ｋ’は、記号内のインターリーバのサイズであり、Ｐ０は、Ｋ’に相対的に素数である数であり、Ａは、定数であり、Ｃは、Ｋ’を割る小さな数であり、ｄ（ｉ）は、形式ｄ（ｉ）＝β（ｉｍｏｄＣ）＋Ｐ０×α（ｉｍｏｄＣ）のディザ・ベクトルである。α（・）およびβ（・）は、０≦ｉ≦Ｋ’−１に対して周期的に適用されるそれぞれが長さＣのベクトルである。好適には、Ｋ’、Ｃ、Ｐ０、α（・）およびβ（・）の値は、テーブル１の１つの列から取ることが好ましい。デインターリーバ４０１はインターリーバ４０２とは逆の機能を実行する。
【００８５】
インターリーバ４０２は、並べ替えπ（ｉ）＝（ｆ１×ｉ＋ｆ２×ｉ２）ｍｏｄＫ’を使用することができる。０≦ｉ≦Ｋ’−１は、インターリービングした後の記号位置のシーケンシャルなインデックスであり、π（ｉ）は、位置ｉに対応するインターリービングする前の記号インデックスであり、Ｋ’は、記号内のインターリーバのサイズであり、ｆ１およびｆ２は、インターリーバを定義する係数である。好適には、Ｋ’、ｆ１、ｆ２は、テーブル２の１つの列から取ることが好ましい。デインターリーバ４０１は、インターリーバ４０２とは逆の機能を実行する。
【００８６】
図５は、送信機１００の動作を示すフローチャートである。ロジックの流れは、ステップ５０１からスタートする。回路１０３は、Ｋ”に関連するインターリーバ・サイズＫ’を決定する。Ｋ”は、一組のサイズからのものである。この一組のサイズは、Ｋ”＝ａＰ×ｆ、ｐｍｉｎ≦ｐ≦ｐｍａｘ；ｆｍｉｎ≦ｆ≦ｆｍａｘを含み、ここで、ａは整数であり、ｆは、ｆｍｉｎとｆｍａｘの間の連続している整数であり、ｐは、ｐｍｉｎとｐｍａｘの間の整数値であり、ａ＞１、ｐｍａｘ＞ｐｍｉｎ、ｐｍｉｎ＞１である。すでに説明したように、一実施形態の場合には、Ｋ’＝Ｋ”である。さらに他の実施形態の場合には、Ｋ”が（２ｍ−１）の倍数でない場合に、Ｋ’＝Ｋ”であり、そうでない場合でＫ”が（２ｍ−１）の倍数である場合には、Ｋ’＝Ｋ”＋δ（Ｋ”）を使用する。ｍは、構成畳み込み符号器のメモリ長であり、δ（Ｋ”）は、（２ｍ−１）の倍数に等しくない小さな正の整数または負の整数である。一実施形態の場合には、ｍ＝３である。
【００８７】
ステップ５０３において、フィラー挿入回路１０９は、サイズＫの情報ブロックを受信し、サイズＫの情報ブロックをサイズＫ’の入力ブロックｕ内に詰め込み、入力ブロックｕを出力する。次に、インターリーバ２０１は、サイズＫの入力ブロックを（好適には、競合しないインターリーバにより）インターリーブし（ステップ５０７）、符号化回路２０３にサイズＫ’のインターリーブしたブロックを送る（ステップ５０９）。最後に、ステップ５１１において、元の入力ブロックおよびインターリーブした入力ブロックが符号化される。
【００８８】
すでに説明したように、入力ブロックをインターリーブするステップは、並べ替えπ（ｉ）＝（ｉＰ０＋Ａ＋ｄ（ｉ））ｍｏｄＫ’を使用するステップを含むことができる。０≦ｉ≦Ｋ’−１は、インターリービング後の記号位置のシーケンシャルなインデックスであり、π（ｉ）は、位置ｉに対応するインターリービングする前の記号インデックスであり、Ｋ’は、ビット内のインターリーバのサイズであり、Ｐ０は、Ｋ’に相対的に素数である数であり、Ａは、定数であり、Ｃは、Ｋ’を割る小さな数であり、ｄ（ｉ）は、形式ｄ（ｉ）＝β（ｉｍｏｄＣ）＋Ｐ０×α（ｉｍｏｄＣ）のディザ・ベクトルである。α（・）およびβ（・）は、０≦ｉ≦Ｋ’−１に対して周期的に適用されるそれぞれが長さＣのベクトルである。好適には、Ｋ’、Ｃ、Ｐ０、α（・）およびβ（・）の値は、テーブル１の１つの列から取ることが好ましい。入力ブロックをインターリーブするステップは、また、並べ替えπ（ｉ）＝（ｆ１×ｉ＋ｆ２×ｉ２）ｍｏｄＫ’）を使用するステップを含むことができる。０≦ｉ≦Ｋ’−１は、インターリービング後の記号位置のシーケンシャルなインデックスであり、π（ｉ）は、位置ｉに対応するインターリービングする前の記号インデックスであり、Ｋ’は、記号内のインターリーバのサイズであり、ｆ１およびｆ２は、インターリーバを定義する係数である。好適には、Ｋ’、ｆ１、ｆ２はテーブル２の１つの列から取ることが好ましい。
【００８９】
図６は、図３の受信機の動作のフローチャートである。ロジックの流れは、ステップ６０１からスタートする。回路３０６は、インターリーバ・サイズＫ’を決定する。ステップ６０３において、回路３０２は、受信した信号ベクトルにフィラー・ビット情報を追加する。例えば、フィラー・ビットおよびフィラー・ビット位置が分かっている場合には、回路３０２は、ターボ復号器入力のこれらの位置の対数尤度比（ＬＬＲ）を大きな振幅に設定することができる。ステップ６０７において、ターボ復号器は、インターリーバおよびサイズＫ’のデインターリーバを使用して、復号器入力ブロックを復号し、長さＫ’の入力ブロックの推定した＾ｕを出力する。ステップ６０９において、情報ブロック抽出回路３１０は、長さＫの情報ブロックを入手するためにフィラー・ビットを除去する。最後に、ステップ６１１において、推定した情報ブロックが出力される。
【００９０】
特定の実施形態を参照しながら本発明を詳細に図示し説明してきたが、当業者であれば、本発明の精神および範囲から逸脱することなしに、その形式および詳細を種々に変更することができることを理解することができるだろう。ある例のおいては、（ａ）例えば、フィラー・ビットを使用しないで、またはもっと少ないフィラー・ビットを使用して、処理しなければならない任意の特殊なサイズをカバーするために定義されたインターリーバの追加の組の使用、（ｂ）片対数スライス・サイズに小さな値を追加することにより、または片対数スライス・サイズから小さな値を抽出することにより、インターリーバ・サイズの若干の調整を含む特殊な場合を処理するために、インターリーバ・テーブルをさらに改善することができる。他の例の場合には、今までバイナリ入力ターボ符号器を仮定して本発明を説明してきたが、ターボ符号器が入力として記号をとった場合には、同じ原理を適用することができる。例えば、デュオバイナリ・ターボ符号は、２つのバイナリビットを同時に取り入れることができ、ターボ・インターリーバは、記号を並べ替える（さらに、記号内でのビットの変更のようなスクランブリングを行うことができる）。そのような場合、入力ブロック・サイズは、記号で測定され、インターリーバ・サイズは入力ブロック内の記号の数に等しい。他の例の場合には、上記説明は、インターリーバ・サイズおよびインターリーバ・パラメータがルックアップ・テーブル内に格納されていると仮定しているが、これらのものを代数計算のような他の手段で決定することもできる。他の例においては、上記説明はターボ符号を仮定しているが、本発明の方法は、例えば、低密度パリティ・チェック（ＬＤＰＣ）符号、リード・ソロモン（ＲＳ）符号等を含む他のＦＥＣスキームにも適用することができる。このような変更も添付の特許請求の範囲内に含まれる。
【符号の説明】
【００９１】
Ｋ  サイズ
ｕ  入力ブロック
１０１  ターボ符号器
１０３  インターリーバ・サイズ決定回路
１０９  フィラー挿入回路
２０１，４０２  インターリーバ
【図１】
0005396599.tif 000020
【図２】
0005396599.tif 000021
【図３】
0005396599.tif 000022
【図４】
0005396599.tif 000023
【図５】
0005396599.tif 000024
【図６】
0005396599.tif 000025