(57)【特許請求の範囲】
【請求項１】
第１および第２の冗長符号器を備える装置において、インタリーバを動作する方法であって、連続したシンボル間隔中に行われる次のステップ、
前記第１の冗長符号器から、前記シンボル間隔の特定の１つに関連する符号化ビットを受信するステップ、
前記特定のシンボル間隔と関連する１つ若しくはそれより多い残りのビットを受信するステップ、
グループとして、前記第１の冗長符号器からの前記符号化ビットをグループとして格納するステップ、及び
格納されたビットグループを格納された順序とは異なる順序で出力するステップであって、前記出力されたビットグループそれぞれの少なくとも一部は前記第２の冗長符号器に提供されているところの、出力するステップとからなり、
前記格納するステップは、前記第１の冗長符号器からの前記符号化ビットと共に前記１つ若しくはそれより多い残りのビットをグループとして格納していることを特徴とする方法。
【請求項２】
前記ビットグループは、Ｊ個の行およびＫ個の列を有する行列として編成されて格納される、請求項１記載の方法。
【請求項３】
Ｋ１列だけ隔てられた各行に連続したビットグループを格納するステップを更に含む請求項２記載の方法。
【請求項４】
前記格納するステップは、交互にＪ１行とＪ１−１行だけ隔てられた連続する隣接したＫ個のビットグループを格納している請求項２記載の方法。
【請求項５】
前記出力するステップは、
格納されたビットグループを列単位の順序で出力するステップを含む、請求項２記載の方法。
【請求項６】
入力ビットストリームを表すデータシンボルを生成する装置であって、前記データシンボルから前記入力ビットを回復することが可能であり、各データシンボルは各シンボル間隔について生成されそして少なくとも１つの信号空間座標によって表されている前記装置において、
特定のシンボル間隔に関連する所定数の前記入力ビットを第１の冗長符号を用いて符号化し、第１の冗長符号器出力ビットを生成する第１の冗長符号器、
ビットグループ単位でシンボル間隔に関連のビットグループをインタリーブするインタリーバであって、該特定のシンボル間隔についてのビットグループは前記第１の冗長符号器出力ビットと１つ若しくはそれより多い残りのビットを含み、該１つ若しくはそれより多い残りのビットは該特定のシンボル間隔に関連しそして前記第１の冗長符号器出力ビット以外のものであるところの、インタリーバ、
所定数の前記インタリーブされた第１の冗長符号器出力ビットを第２の冗長符号を用いて符号化し、第２の冗長符号器出力ビットを生成する第２の冗長符号器、
所定の信号コンステレーションからデータシンボルを複数のビットに従って選択するマッパであって、前記複数のビットとは前記インタリーブされた第１の冗長符号器出力ビット、前記第２の冗長符号器出力ビット、および前記特定のシンボル間隔に関連する残りの入力ビットの、あらゆる残りのビットを含むものであるところの、マッパとからなる装置。
【請求項７】
前記第１および第２の冗長符号器はトレリス符号器である、請求項６記載の装置。
【請求項８】
前記インタリーバは、Ｊ個の行およびＫ個の列を有する行列として編成されるビットグループを格納している、請求項６記載の装置。
【請求項９】
前記インタリーバは、Ｋ１列だけ隔てられた各行に連続したビットグループを格納している、請求項６記載の装置。
【請求項１０】
前記インタリーバは、交互にＪ１とＪ１−１行だけ隔てられた連続する隣接したＫ個のビットグループを格納している請求項６記載の装置。
【発明の詳細な説明】
【０００１】
［関連出願に対する相互参照］
この出願は、２０００年４月２８日付けで出願された米国特許出願第０９／５６０７２８号、１９９９年１０月８日付けで出願された米国仮出願第６０／１５８４７３号、および１９９９年５月２８日付けで出願された米国仮出願第６０／１３６５８３号の利点を主張するものであり、これら３つは参照により本明細書に援用される。
【０００２】
［発明の背景］
本発明はデジタルデータ伝送に関し、特に誤り修正符号に関する。
【０００３】
畳み込み符号およびトレリス符号等の順方向誤り修正符号の途切れのない進歩により、モデム、無線通信システム、および他のデジタル通信システムの設計者は、所与のレベルのエラーレートパフォーマンスについて増大したビットレートの達成が可能である。何年にもわたって導入されてきた様々な革新の中に、いわゆるターボ符号がある。ターボ符号概念の中心は、繰り返し動作する対応する数のいわゆる軟入力／軟出力復号器を用いて（単一符号化と比較して）改良されたパフォーマンスを達成可能なように、インタリーバと組み合わせられた２つ以上の符号器を用いて入力データを符号化することである。
【０００４】
ターボ符号の初期の説明は、Ｃ．Ｂｅｒｒｏｕ他「Ｎｅａｒ Ｓｈａｎｎｏｎ ｌｉｍｉｔ ｅｒｒｏｒ−ｃｏｒｒｅｃｔｉｎｇ ｃｏｄｉｎｇ ａｎｄ ｄｅｃｏｄｉｎｇ： Ｔｕｒｂｏ ｃｏｄｅｓ」（１９９３ Ｉｎｔ． Ｃｏｎｆ． Ｃｏｍｍｕｎｉｃａｔｉｏｎ議事録（１９９３年５月、スイス、ジェノバ）、ｐｐ．１０６４〜１０７０）に見られる。Ｂｅｒｒｏｕ他は、いわゆる並列連接ターボ符号を開示している。入力データは第１の畳み込み符号器に与えられ、入力データをインタリーブしたものが第２の畳み込み符号器に与えられる。次に、２つの符号器の出力ビットが、送信のため、二次元（２Ｄ）４−ＰＳＫシグナリングコンステレーションの１点にマッピングされる。符号器によって生成される冗長ビットのいくつかは、帯域幅効率（２Ｄ信号ポイント当たりのビットで測定される）を向上するため、マッピングステップに先立っていわゆるパンクチャリングを受けることができる。
【０００５】
比較的高いエラーレートでは、並列連接されたターボ符号が優れた符号化利得を提供し、それによって有利に必要とされる受信する信号対雑音比のレベルを低減し、所望のレベルのエラーレートパフォーマンスを実現する。しかし、不利なことに、優れた符号化利得の達成には、極度に長いインタリーバが必要とされる。これは、多くの用途で望ましくない相当な終端間遅延またはレイテンシを導入する。さらに、並列連接ターボ符号は、符号化利得の向上が低エラーレートではそれほど劇的ではなく、実際に、より多くの従来の符号化および符号化を用いて達成されるものと同等であるか、さらには悪化することがある、いわゆるエラーフロア現象を示す。
【０００６】
従来技術では、たとえばＳ．Ｂｅｎｅｄｅｔｔｏ他「Ｓｅｒｉａｌ ｃｏｎｃａｔｅｎａｔｉｏｎ ｏｆ ｉｎｔｅｒｌｅａｖｅｄ ｃｏｄｅｓ： Ｐｅｒｆｏｒｍａｎｃｅ ａｎａｌｙｓｉｓ， ｄｅｓｉｇｎ， ａｎｄ ｉｔｅｒａｔｉｖｅ ｄｅｃｏｄｉｎｇ」（ＩＥＥＥ Ｔｒａｎｓ． Ｉｎｆｏｒｍ． Ｔｈｅｏｒｙ， ｖｏｌ． ４４， ｐｐ． ９０９−９２６， Ｍａｙ １９９８）によって開示される、いわゆる直列連接ターボ符号も知られている。この場合、入力データは第１の畳み込み符号器に与えられ、第１の符号器の出力ビットは、インタリーブ後に、第２の畳み込み符号器の入力ビットとして用いられる。次に、送信のため、第２の符号器の出力ビットが２Ｄ  ４−ＰＳＫシグナリングコンステレーションの一点にマッピングされる。上記エラーフロア現象は、並列連接ターボ符号の場合よりも直列連接ターボ符号の場合の方が目立たず、よって低いエラーレートにおいてより良好な符号化利得を提供する。しかし、これらの直列連接ターボ符号は並列の場合よりも多くの冗長ビットを生成するため、あまり帯域幅に関して効率的ではない。さらに、直列連接の場合でも長いインタリーバが必要である。
【０００７】
上記従来技術参照に記載の並列連接ターボ符号および直列連接ターボ符号のいずれも帯域幅に関して効率的ではなく、それぞれ２Ｄ信号点当たり２ビット未満の帯域幅効率を有する。しかし、より帯域幅効率のよい並列連接ターボ符号が知られている。たとえば、Ｓ．Ｂｅｎｅｄｅｔｔｏ他「Ｂａｎｄｗｉｄｔｈ ｅｆｆｉｃｉｅｎｔ ｐａｒａｌｌｅｌ ｃｏｎｃａｔｅｎａｔｅｄ ｃｏｄｉｎｇ ｓｃｈｅｍｅｓ」（Ｅｌｅｃｔｒｏｎ． Ｌｅｔｔ．， Ｖｏｌ． ３１， ｐｐ． ２０６７−２０６９， １９９５）およびＰ． Ｒｏｂｅｒｔｓｏｎ他「Ｃｏｄｅｄ ｍｏｄｕｌａｔｉｏｎ ｓｃｈｅｍｅ ｅｍｐｌｏｙｉｎｇ ｔｕｒｂｏ ｃｏｄｅｓ」（Ｅｌｅｃｔｒｏｎ． Ｌｅｔｔ．， ｖｏｌ． ３１， ｐｐ． １５４６−１５４７， １９９５）を参照のこと。これらの参照に開示される構成は、Ｂｅｒｒｏｕ構成に用いられる２Ｄ  ４−ＰＳＫコンステレーションを有する畳み込み符号ではなく２Ｄ  ８−ＰＳＫシグナリングコンステレーションと一緒に設計されるレート２／３トレリス符号を用いることで、２Ｄ信号点当たりに全２ビットの向上された帯域幅効率を特徴としながら、高いエラーレートにおいて高い符号化利得を達成する。しかし、これら後者の符号は依然として上記エラーフロア現象および長い遅延を示す。
【０００８】
従来技術はまた、ターボ符号方法の利点を達成しながら、帯域幅効率を向上する別の方法は、少なくとも１つのレベルにおいて使用される符号がＢｅｒｒｏｕによって開示される種類の並列連接ターボ符号である、いわゆるマルチレベル符号化を採用することであるとも教示している。（周知のように、マルチレベル符号は、異なる符号の出力ビットを用いて段々と細かい信号コンステレーションのサブセットを選択し、最終的には単一の信号点を選択するものである）。このような符号は、Ｕ．Ｗａｃｈｓｍａｎｎ他「Ｐｏｗｅｒ ａｎｄ ｂａｎｄｗｉｄｔｈ ｅｆｆｉｃｉｅｎｔ ｄｉｇｉｔａｌ ｃｏｍｍｕｎｉｃａｔｉｏｎ ｕｓｉｎｇ ｔｕｒｂｏ ｃｏｄｅｓ ｉｎ ｍｕｌｔｉｌｅｖｅｌ ｃｏｄｅｓ」（Ｅｕｒｏ． Ｔｒａｎｓ． Ｔｅｌｅｃｏｍｍｕｎ．， ｖｏｌ． ６， ｐｐ． ５５７−５６７， Ｓｅｐｔ． １９９５）に開示されている。しかし、かかるマルチレベル符号のエラーフロアおよび遅延特性は、非マルチレベル符号化構成において用いられる並列連接ターボ符号の特性にすぎないことが約束されており、またそれよりも悪い場合がある。
【０００９】
１９９９年１１月３０日付けで出願されたＳｅｒｉａｌ−Ｃｏｎｃａｔｅｎａｔｅｄ Ｔｕｒｂｏ Ｃｏｄｅｓという名称の米国特許出願第０９／４５１０７０号は、第１の外符号器によって提供される少なくとも１つの冗長ビットを含む少なくともいくつかの出力ビットが、インタリーブ後に第２の内符号器によってさらに処理されるターボ符号を意味するものとそこでは定義された直列連接ターボ符号に向けられている。このようなターボ符号は、任意所望の次元Ｎ≧１であることができ、これは、送信するデータがＮ個組またはＮ次元のシンボルで表されることを意味する。このＮ座標は、符号器の出力ビットによって相互依存的に選択される。たとえばＮが偶数の整数である場合、Ｎ次元の「シンボル間隔」中に、Ｎ／２  ２Ｄ信号点の組み合わせとして、Ｎ次元のシンボルを便利に送信することができ、２Ｄ信号点のいわゆる信号空間座標はそれぞれ、２Ｄ「シグナリング間隔」中に、変調された搬送波信号の同相成分または直角位相成分の振幅によって表される。したがって、上記シンボルの間隔は、Ｎ／２のシグナリング間隔から構成される。Ｎ＝２の場合の符号について、シンボル間隔およびシグナリング間隔は同じである。
【００１０】
より具体的に、米国特許出願第０９／４５１０７０号の発明の原理を具現するターボ符号では、ａ）内符号器および外符号器それぞれの状態は、シンボル間隔当たり１回のみ進められ、ｂ）そのシンボル間隔の符号器の一方または双方によって生成されるすべてのデータビットおよび少なくとも１つの冗長ビットが、１つのシンボル間隔中に共に送信され、ｃ）内符号器および外符号器はトレリス符号器である。この方法は、有利なことに従来の構成よりも少ない遅延を有するターボ符号を提供し、さらに、従来の構成では達成されない、エラーレートパフォーマンス、帯域幅効率、および復号器の複雑性の有利な組み合わせを提供すると共に、より目立たないエラーフロア（またはまったくない）を示す。内符号および外符号は、任意所望の次元の数でありうる。
【００１１】
米国特許出願第０９／４５１０７０号の発明の原理を具現する装置は、上記信号シンボル間隔内のデータビットおよび冗長ビットの送信に適応するに十分なサイズ（すなわちコンステレーション内のシンボルの数）の信号コンステレーションを利用する。さらに、好ましい実施形態において、ターボ符号、コンステレーション、および送信するビットとコンステレーションシンボルの間のマッピングは、所与のレベルのエラーレートパフォーマンスの達成に必要な符号の複雑性およびインタリーブ遅延が、ターボ符号、コンステレーション、およびマッピングが互いを鑑みて選択されない場合よりも小さくなるように、互いを鑑みて選択される。これは、当分野において「ジョイント設計（ｊｏｉｎｔ ｄｅｓｉｇｎ）」と呼ばれ、以下より正式に定義される。
【００１２】
インタリーバに関し、従来技術の直列ターボ符号は、第１および第２の畳み込み符号器の間にビットインタリーバを採用していた。ビットインタリーバは、第１の畳み込み符号器の出力をビット単位でインタリーブし、インタリーブされたビットを第２の畳み込み符号器に提供する。次に、第２の符号器の出力ビットが上述したように一点にマッピングされる。
【００１３】
当業界で知られている第１および第２の畳み込み符号器間のビットインタリーブに伴う問題の１つは、ビットインタリーバが通常大きないわゆるインタリーブフレームを使用し、したがってかなりのインタリーブおよびデインタリーブ遅延が課されることである。
【００１４】
［発明の概要］
本発明によれば、第１の冗長符号器の出力ビットをインタリーブし、インタリーブされたビットを第２の冗長符号器に提供するシンボルインタリーバは、そのインタリーブされた要素として、たとえば個々のビットまたはシンボル間隔の構成要素であるシグナリング間隔に関連するビットではなく、むしろ特定のシンボル間隔に関連するビットを用いる。したがって、シンボルインタリーバは、特定のシンボル間隔に関連するすべてのビットをビットグループ単位のレベルでインタリーブする。本発明者は、このような方法は、インタリーバによって導入される遅延を有利に劇的に低減すると共に、ターボ符号の終了に必要なステップを簡略化することを見出している。
【００１５】
本発明の一実施形態によれば、特定のシンボル間隔に関連する所定数の入力ビットが、第１の冗長符号を用いて符号化され、第１の冗長符号化出力ビットを生成する。これら第１の冗長符号化出力ビットは、第１の冗長符号を用いて符号化されなかった特定のシンボル間隔に関連する他の残りのあらゆる入力ビットと共に、インタリーバによってグループとしてインタリーブされる。インタリーブされたビットグループの所定数のビットは、第２の冗長符号を用いて符号化され、第２の冗長符号化出力ビットを生成する。これら第２の冗長符号化出力ビットは次に、第２の冗長符号を用いて符号化されなかった特定のシンボル間隔に関連するインタリーブされたビットグループの他の残りのあらゆるビットと共に用いられて、データシンボルを生成する。したがって、本発明の原理によれば、特定のシンボル間隔に関連する（かつ特定のデータシンボルの生成に使用される）すべてのビットは、グループとしてインタリーブされる。上述した実施形態において、第１の冗長符号を用いて符号化されなかった特定のシンボル間隔に関連する残りのあらゆる入力ビットは、インタリーブされたビットグループの部分であった。しかし、第１の冗長符号によって符号化されないこれらのデータビットは、第１の冗長符号の出力ビットと共にインタリーブする必要はない。
【００１６】
本発明の有利な実施形態において、インタリーバは、ｎ＝Ｊ×ＫのビットグループをＪ×Ｋ行列のインタリーブフレームとして格納する。ＪおよびＫの値は、インタリーブを特定のターボ符号にマッチングするように選択される。特に、Ｊは第２の冗長符号のいわゆる復号化深さの関数として選択され、Ｋは第１の冗長符号の符号化深さの関数として選択される。
【００１７】
さらなる有利な実施形態において、ビットグループは、連続した入力ビットグループがＫ１列だけ隔てられるパターンに従って、行列の各行に挿入される。さらに、ビットグループは、連続した隣接するＫ入力ビットグループがＪ１あるいは（Ｊ１−１）行（Ｊ１＝Ｊ／２の場合）だけ隔てられたパターンに従って、行列の各列に挿入される。その後ビットグループは、列ごとにインタリーバ行列から読み出される。全体的な効果は、インタリーバの入力における任意の２つの連続したビットグループが、インタリーバの出力における少なくともＫ１×Ｊビットグループだけ隔てられ、インタリーバの出力における任意の２つの連続したビットグループが、インタリーバの入力における少なくとも（Ｊ／Ｊ１×Ｋ）ビットグループだけ隔てられることである。
【００１８】
本発明のこれらおよび他の利点は、以下の詳細な説明および添付図面を参照することで当業者には明白となろう。
【００１９】
［詳細な説明］
ターボ符号器概観
図１は、本発明の原理に従っての使用に適した直列連接ターボ符号器を備える送信機のブロック図である。リード線１０１上の一連のデータビットはデータをランダム化する従来のスクランブラ１０３に、それから直列／並列コンバータ１０５に与えられる。直列／並列コンバータ１０５は、持続時間Ｔ秒のシンボル間隔の各シーケンスごとに、まとめてリード線１０４と本明細書では呼称するその出力リード線１０４１、１０４２、および１０４３に多くのデータビットを含むデータワードを提供する。図１の送信機の特定の実施形態において、２データビットがリード線１０４１に提供され、１ビットがリード線１０４２に提供され、ｍビットがリード線１０４３に提供される。しかし、最初に説明する一実施形態においては、リード線１０４１上のビットであるＸ３、Ｘ２しか存在しないものと想定する。したがって、続く説明の冒頭部分には、リード線１０４２および１０４３上に他のデータビットは存在せず、もちろん、図１に示す回路によって実行される処理はかかる他のビットに関与しないものと想定する。
【００２０】
ビットＸ３、Ｘ２は、Ｍ１状態レート２／３符号器であるトレリス外符号器１０６に与えられる。符号器１０６はいわゆるシステム符号器であるため、入力ビットＸ３、Ｘ２をその３つの出力ビットのうちの２つとして提供する。符号器の第３の出力ビットは、冗長ビットＸ１である。外符号器１０６の例示的な実施形態は、図２および図３に示されている。図２の符号器は、随時そのコンテンツが（２３＝）８ビットの組み合わせのうちのいずれか１つである３つの遅延要素を備えるという点において、８状態符号である。各遅延要素の遅延はシンボル間隔に等しいため、遅延要素に格納される値、ひいては符号器の状態は、新しい入力ビットＸ３、Ｘ２のセットの到来に対応して、シンボル間隔ごとに１度変化する。図３の符号器は４つの遅延要素を有するため、（２４＝）１６状態符号器である。
【００２１】
ビットＸ３、Ｘ２、Ｘ１は、シンボルインタリーバ１０８に与えられる。シンボルインタリーバ１０８の存在により、受信機における復号化プロセスの中間ポイントにおいて発生しうるエラーバースト（後述）が、さらに処理される前にランダム化され、それによって復号化プロセス全体のパフォーマンスが確実に強化される。ここでは、後に、３つのビットＸ３、Ｘ２、Ｘ１は共にインタリーバの出力リード線１０９に提供されることを単に留意するだけで十分である。特に、ビットＸ２、Ｘ１はリード線１０９のうちのリード線１０９１に提供され、ビットＸ３はリード線１０９のうちのリード線１０９２に提供される。ビットＸ２、Ｘ１は、Ｍ２状態レート２／３符号器であるトレリス内符号器１１０に与えられる。符号器１１０もまたシステム符号器であるため、入力ビットＸ２、Ｘ１をその３つの出力ビットのうちの２つとして提供する。符号器１１０の第３の出力ビットは冗長ビットＸ０である。内符号器１１０の例示的な実施形態は、図４に示されている。図４の内符号器は、例示的に図２の符号器と同一の８状態符号器である。
【００２２】
４つのビットＸ３、Ｘ２、Ｘ１、Ｘ０は、シンボルコンステレーションマッパ１１２に与えられる。ここで、シンボルコンステレーションは２Ｄコンステレーションである。Ｘ’ではなくＹ’を用いてシンボルコンステレーションマッパに与えられるビットを参照することによる、この時点における表記法の変更が便利であることが分かる。したがって、ビットＸ３、Ｘ２、Ｘ１、Ｘ０は図ではＹ３、Ｙ２、Ｙ１、Ｙ０と改称されるが、実際には同じビットである。
【００２３】
十分なサイズ（すなわち、コンステレーション内のシンボル数）の信号コンステレーションを利用して、単一のシンボル間隔内のデータビットおよび冗長ビットの送信に適応する。この例において、４つのビットＹ３、Ｙ２、Ｙ１、Ｙ０の値がコンステレーションマッパ１１２によって用いられ、単一シンボルをそれぞれ含む、１６シンボル信号コンステレーションの（２４＝）１６のサブセットの１つを選択する。（後述する実施形態では、各サブセットは２つ以上のシンボルを含み、他のビットを用いて識別されたサブセットから特定のシンボルを選択する）。コンステレーションは、たとえば、図６に示すＱＡＭコンステレーションであっても、または図７に示す一定振幅のＰＳＫコンステレーションであってもよい。シンボルに対するビット値の例示的なマッピングは、これらの図に示されている。したがって、図６において、たとえば、ビットパターンＹ３Ｙ２Ｙ１Ｙ０が値１１０１を有する場合、このパターンは、コンステレーションの右下の角においてシンボルにマッピングされる。
【００２４】
マッピングは、シンボルの少なくとも１つの座標の値が、２つ以上のターボ符号出力ビットの関数であるという基準を満たす。換言すれば、シンボル座標の値は、ターボコーダ出力ビットによって独立して決定される。この特定の例では、ターボ符号は２Ｄターボ符号であるため、各シンボルは２つの座標しか持たない。ターボ符号は４つの出力ビットを有するため、少なくとも１つの座標の値は必然的に、２つ以上のターボ符号出力ビットの関数である。（実際に、この例では、双方の座標がこの基準を満たす）。シンボル座標の値はターボコーダ出力ビットによって独立して決定されるという上記事実の結果、任意の２つの異なるターボ符号出力ビットパターンによって識別される２つのサブセットの間のサブセット間の最小ユークリッド距離は、これら２つのビットパターンの間のハミング距離の関数ではない。同様に、上記考察は本明細書に開示される他のターボ符号それぞれに対して適用可能であることが容易に示される。（この明細書を通して、「最短距離」および「最短ユークリッド距離」という用語は、相互交換可能に使用される）。
【００２５】
任意特定の時点でシンボルコンステレーションマッパ１１２の出力に提供されるシンボルは、シンボルＰと表される。シンボルＰは従来の出力回路１１４に与えられ、出力回路１１４が送信チャネルへの印加に適した信号を生成する。したがって、回路１１４は、たとえば、パルス整形フィルタおよび変調器を備えることができる。チャネルがフェージングまたは他のバーストノイズ現象を特徴とする場合、回路１１４は、このような現象の作用を改善するように設計された既知のタイプのインタリーバも備えうる。（このようなインタリーバをシンボルインタリーバ１０８と取り違えないこと）。
【００２６】
外符号器１０６、シンボルインタリーバ１０８、および内符号器１１０が組み合わせられて、ターボ符号器を構成する。ターボ符号器は、より具体的に直列連接ターボ符号器であり、本明細書では、これにより、外符号器によって提供される少なくとも１つの冗長ビットを含む出力ビットの少なくともいくつかが、内符号器によってさらに処理されることが意味される。この例では、特に、外符号器１０６の出力におけるデータビットＸ２および冗長ビットＸ１が、インタリーブ後に内符号器１１０に与えられる。
【００２７】
より具体的には、ａ）内符号器および外符号器それぞれの状態は、上述のようにシンボル間隔当たり１回のみ進められ、ｂ）そのシンボル間隔の符号器によって生成されるすべてのデータビットおよび少なくとも１つの冗長ビットが、１つのシンボル間隔中に共に送信される。考察している実施形態においては、次に、今述べたようにすべてのデータビット（すなわちビットＸ３、Ｘ２）およびこの場合では特定のシンボル間隔について双方の符号器によって生成されたすべての冗長ビット（ビットＸ１、Ｘ０）を用いて、送信するためのシンボルを選択し、したがって実際に一緒に送信される。この方法は、以下のよりふさわしい時点で詳細に説明される多数の利点を提供する。
【００２８】
ターボ符号器インタリーバ
インタリーバは、本発明の原理によれば、そのインタリーブされた要素として、たとえば個々のビット、またはシンボル間隔の構成シグナリング間隔に関連するビットではなく、特定のシンボル間隔に関連するビットを用いる。したがって、シンボルインタリーバは、特定のシンボル間隔に関連するすべてのビットをビットグループ単位レベルでインタリーブする。本発明者は、このような方法は、インタリーバによって導入される遅延を有利に劇的に低減すると共に、ターボ符号の終了に必要なステップを簡略化することを見出している。
【００２９】
図５は、外符号器および内符号器が図２および図４それぞれの符号器である場合に有用なシンボルインタリーバ１０８の例示的な実施形態の概念図である。特に、インタリーバ１０６は、ビットＸ３、Ｘ２、Ｘ１が分離不可能なグループとして扱われ、特定の１つのコンステレーションシンボルによって表される（ビットＸ０と共に）という点において、シンボルインタリーバと呼ばれる。一連の１９６のこのようなグループは、いわゆるインタリーブフレームを含む。入力ビットグループは０から１９５に番号付けられる。インタリーバは、概念上、Ｊ個の行およびＫ個の列を有する格納行列として考えることができる。例示的にＪ＝１４およびＫ＝１４である。（この例ではＪ＝Ｋであるが、常にこれが当てはまる必要はない）。ビットグループは、外符号器１０６によって生成され、シンボルインタリーバ１０８に与えられるにつれ、図５に示されるように行列に挿入される。すなわち、グループ０は行−列位置０−０に、グループ１は０−２に挿入され、以下同様である。１９６ビットグループは、すべて格納された後、インタリーバから列単位で読み出される。したがって、ビットグループの出力順序は、０、２８、５６、．．．、１８２、７、３５、．．．、１６７、１９５である。後述するいわゆるターボ符号の終了の説明を助けるため、行列の特定要素が図５において丸が付けられている。
【００３０】
ビットグループは、大部分について、連続した入力ビットグループがＫ１列だけ隔てられているパターンに従って各行に挿入される。例示的に、Ｋ１＝２である。したがって、たとえば、ビットグループ０および１は列０および列２に挿入される。さらに、ビットグループは、大部分について、連続した隣接する入力ビットグループがＪ１行あるいは（Ｊ１−１）行だけ隔てられているパターンに従って各行に挿入される。たとえば、第１のＫビットグループ０から１３は行０に挿入されるが、第２のＫビットグループ１４から２７は行７に挿入される（Ｊ１＝７の隔たり）。次に、第３のＫビットグループの集まり２８から４１は行１に挿入されるが（（Ｊ１−１）＝６の隔たり）、第４のＫビットグループの集まり４２から５５は行８に挿入され（Ｊ１＝７の隔たり）、以下同様である。全体的な効果は、インタリーバの入力における任意の２つの連続したビットグループが、インタリーバの出力における少なくともＫ１×Ｊビットグループだけ隔たられ、インタリーバの出力における任意の２つの連続したビットグループはインタリーバの入力における少なくとも（Ｊ／Ｊ１×Ｋ）ビットグループだけ隔てられることになる。従来の列単位／行単位のインタリーブ（Ｊ１＝Ｋ１＝１を有する）は、本ターボ符号と併せて使用することが可能であるが、図５に示すようなインタリーバが好ましい。これは、Ｊ×Ｋビットグループという所与のインタリーバサイズについて、図５のインタリーバを用いる場合に、インタリーバの入力または出力における連続したビットグループ間の隔たりが大きいためである。これは、所与のＪおよびＫについてより良好なパフォーマンスを有するターボ符号を提供するか、または同じパフォーマンスについて、ターボ符号がより小さなＪおよびＫを使用することを可能にし、したがってより短いインタリーブ遅延を有することが可能である。
【００３１】
一般的な場合、ＪおよびＫに使用される値は、インタリーブがターボ符号化自体にマッチングするように選択されるべきである。特に、Ｊは、内符号のいわゆる復号化深さの関数として選択されるべきであり、Ｋは外符号の復号化深さの関数として選択されるべきである。本明細書に記載される様々な実施形態に有利なＪおよびＫの値を表１に示す。これらの実施形態はそれぞれ有利にＪ１＝Ｊ／２およびＫ１＝２を有しうるが、Ｊ１およびＫ１の他の値が、経験的に決定可能なように、さらに良好なパフォーマンスを提供する場合もある。
【００３２】
【表１】
0003559547.tif 000002
【００３３】
ＪおよびＫの値が偶数の整数である場合、シンボルインタリーバの動作は、次のように正式に説明することができる。
【００３４】
シンボルインタリーバは、Ｊ・Ｋビットグループのブロックを読み、これらをＪ×Ｋ行列に構成してから（後述するような行単位にではない）、一番左側の列の最上部にあるビットグループを最初に読み出して、列単位でこれらを読み出す。ここで、各ビットグループは、シンボル間隔に搬送される符号化ビットおよび符号化されていないビットをすべて含む。
【００３５】
より正確に、インタリーバのパラメータＪおよびＫをＪ１およびＫ１それぞれの整数倍であるものとする。インタリーバの入力における各ビットグループのシーケンス番号ｉ、ｉ＝０、１、．．．、またはＪ・Ｋ−１を次のように表現する。
ｉ＝ａ１・（Ｊ・Ｋ／Ｊ１）＋ａ２・Ｋ＋ａ３・（Ｋ／Ｋ１）＋ａ４
【外１】
0003559547.tif 000003
そうすると、ｉ番目の入力ビットグループは、以下を有するｊ番目の出力ビットグループとして読み出される。
ｊ＝ａ４・（Ｊ・Ｋ１）＋ａ３・Ｊ＋ａ２・Ｊ１＋ａ１
【００３６】
上位ビット
上述したように、単一のシンボル間隔内でのデータビットおよび冗長ビットの送信の適応に十分なサイズの信号コンステレーションが利用される。実際に、ターボ符号器によって処理されるこれらを越える追加ビットを、適宜より大きなシンボルコンステレーションを用いることで、シンボル間隔中に送信することが可能である。特に、次に、先の想定とは対照的に、直列／並列コンバータ１０５がリード線１０４２および１０４３にデータビット、具体的には単一データビット（この例では）をリード線１０４２に、そしてｍデータビットをリード線１０４３に提供する場合を考える。これらは、本明細書において「上位ビット」と呼称される。
【００３７】
特に、リード線１０４２上のビットＸ４は、符号が符号語長Ｊ・Ｋビットを有し、これらビットの最初のＪ・Ｋ−１が入力ビットであり、最後のビットは冗長パリティチェックビットであり、符号のハミング距離は２であることを意味するパラメータ（Ｊ・Ｋ、Ｊ・Ｋ―１、２）を有する単一パリティチェック（ＳＰＣ）符号器１０７に与えられる。ＪおよびＫは、上記インタリーバパラメータＪおよびＫである。したがって、Ｊ・Ｋ（この例では、＝１９６）シンボル間隔の各インタリーブフレームについて、直列／並列コンバータ１０５は、最初の（（Ｊ・Ｋ）−１）（＝１９５）シンボル間隔それぞれについて、但し最後の１９６番目のシンボル間隔を除き、データビットＸ４を提供する。ＳＰＣ符号器１０７は、各ビットＸ４をその出力リード線１０２２に直接渡す。１９６番目のシンボル間隔中には、ＳＰＣ符号器１０７は、リード線１０２２に、（（Ｊ・Ｋ）−１）データビットに基づく値のパリティチェックビットを提供する。符号器１０７とターボ符号器との組み合わせがいわゆるマルチレベル符号を構成する。より具体的に、符号器１０７の使用により、１９９３年１１月２日付けで本発明者に付与された米国特許第５，２５８，９８７号に述べられる原理に従い、システムがターボ符号によって与えられる符号化利得を完全に利用できるようになる。リード線１０２２上の符号器１０７の出力もまた便宜上「Ｘ４」とラベルされるが、上記説明から、これらビットのＪ・Ｋ毎の１つはリード線１０４２からのビットＸ４ではなく、むしろ、符号器１０７内から生成されるパリティチェックビットであることが理解されるだろう。
【００３８】
リード線１０２２上のビットＸ４は、リード線１０４３上のｍ個のビットＸ５、Ｘ６、．．．と共に、上述したように、リード線１０２１上のビットＸ３、Ｘ２、Ｘ１と共にシンボルインタリーバ１０８に与えられる。例示的に、上記想定したようにビットＸ３、Ｘ２、Ｘ１のみではなく、これらのビットはすべて、インタリーバ内の分離不可能なグループとして扱われる。リード線１０９３上のインタリーバ出力ビットＸ４およびリード線１０９４上のビットＸ５、Ｘ６、．．．は、図ではビットＹ４、Ｙ５、Ｙ６、．．．と改称され、上述したように、ビットＹ３、Ｙ２、Ｙ１、Ｙ０と共にコンステレーションマッパ１１２に与えられる。
【００３９】
２つの場合のシンボルコンステレーションおよびマッピングは、図８および図９に示されている。図８は（２６＝）６４シンボルコンステレーションであり、各シンボルによって表される６ビットは、ビットＹ５、Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０である。すなわち、これはｍ＝１の場合である。図９は、ｍ＝３の場合に使用可能な２５６シンボルコンステレーションである。図９では、図面を簡略化するため、ビットＹ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０のマッピングのみが示されている。すなわち、各５ビットパターンＹ４Ｙ３Ｙ２Ｙ１Ｙ０は、コンステレーションにおける８つの異なるシンボルに関連する。また図面を簡略化するため、二進数ビットパターン自体ではなく、各二進数ビットパターンの十進数同等物が示されている。特定の５ビットパターンの各十進数同等物に関連する８つのシンボルの特定の１つの選択は、リード線１０９４上のｍ（＝３）個のビットＹ７、Ｙ６、Ｙ５の値によって決定される。したがって、図９に例として示すように、ビットパターンＹ７Ｙ６Ｙ５Ｙ４Ｙ３Ｙ２Ｙ１Ｙ０＝１１０１０１０１は、図において「２１」とラベルされる８つのシンボルのうちの１つを識別し（二進数１０１０１＝十進数の２１）、ビットパターン１１１１０１０１は、これら８つのシンボルのうちの別の１つを識別する。図９のコンステレーションの非長方形状は、たとえば１６×１６方形コンステレーションと比較して、送信信号のピーク対平均値のパワー比を有利に低減する。さらに、小量のいわゆる整形利得を提供する。
【００４０】
上記に基づき、かつたとえば図９を注意深く考慮すると、ビットＹ３、Ｙ２、Ｙ１、Ｙ０すなわちターボ符号器出力ビットが、全体のコンステレーションのそれぞれ１６シンボルを含む１６のサブセットの１つを識別し、ビットＹ７、Ｙ６、Ｙ５、Ｙ４が識別されたサブセットから特定のシンボルを選択することが分かるであろう。全体のコンステレーションを１６のサブセットに分割することは、各サブセットにおけるシンボル間の最短距離（いわゆる、サブセット内最短距離）が最大化されるように行われる。仮に符号器１０７が存在しない場合、ビットＹ７、Ｙ６、Ｙ５、Ｙ４と各サブセットのシンボルの間のマッピングはランダムであることができる。しかし、符号器１０７の存在の符号全体に対する利点を実現するためには、そのマッピングがランダムであることはできない。むしろ、ビットＹ４を用いて、ターボ符号出力ビットＹ３、Ｙ２、Ｙ１、Ｙ０によって識別されるサブセットのリファインされた８シンボルサブセットを識別すべきである。各１６シンボルサブセットの分割は、８シンボルのリファインされたサブセットそれぞれのサブセット内最短距離（上述したように、特定の十進数で識別される）が最大化されるように行われるべきである。そして、ランダムマッピングを用いてビットＹ７、Ｙ６、Ｙ５を使用し、識別されたリファインされたサブセットの８つのシンボルの１つを選択することができる。
【００４１】
ターボ復号器
図１０は、図１の送信機、ならびに本明細書に記載のその他の送信機によって送信されるシンボルを復号化するターボ復号器を備える受信機のブロック図である。復号器の全体的の構造は、当分野で既知のターボ復号器と同様である。たとえば、Ｈａｇｅｎａｕｅｒ他「Ｉｔｅｒａｔｉｖｅ ｄｅｃｏｄｉｎｇ ｏｆ ｂｉｎａｒｙ ｂｌｏｃｋ ａｎｄ ｃｏｎｖｏｌｕｔｉｏｎａｌ ｃｏｄｅｓ」（ＩＥＥＥ Ｔｒａｎｓ． Ｉｎｆｏｒｍ． Ｔｈｅｏｒｙ， ｖｏｌ． ４２ ｐｐ． ４２９−４４５， １９９６）を参照のこと。ターボ復号器の動作の概観をまず提示し、その後により詳細な説明が続く。
【００４２】
復号器の中心には、２つの双方向ビタビ復号器、すなわち内復号器２０６および外復号器２１４がある。各双方向復号器は、Ａ．Ｖｉｔｅｒｂｉ「Ａｎ ｉｎｔｕｉｔｉｖｅ ｊｕｓｔｉｆｉｃａｔｉｏｎ ａｎｄ ａ ｓｉｍｐｌｉｆｉｅｄ ｉｍｐｌｅｍｅｎｔａｔｉｏｎ ｏｆ ｔｈｅ ＭＡＰ ｄｅｃｏｄｅｒ ｆｏｒ ｃｏｎｖｏｌｕｔｉｏｎａｌ ｃｏｄｅｓ」（ＩＥＥＥ Ｊ． Ｓｅｌｅｃｔ． Ａｒｅａｓ Ｃｏｍｍｕｎ．， ｖｏｌ． １６， ｐｐ．２６０−２６４， Ｆｅｂ． １９９８）に示されるものから、以下の説明に従って変更される。特定のインタリーブフレームの各Ｊ・Ｋ受信チャネル破損シンボルＰ（〜）につき、ブロック２０１が、各ビットパターンＸ３Ｘ２Ｘ１Ｘ０によって識別されるコンステレーションのシンボルのサブセットについて未処理のブランチメトリック（ｂｒａｎｃｈ ｍｅｔｒｉｃ）を計算する。復号化プロセスの最初の繰り返しにおいて（復号化の繰り返し性質についてはすぐ後に説明する）、ブロック２０４は次に、各受信シンボルＰ（〜）について、インタリーバ２１７からいかなる入力もない状態で、各ビットパターンＸ２Ｘ１Ｘ０によって識別されるコンステレーションのシンボルのサブセットの強化ブランチメトリックを計算する。未処理ブランチメトリックおよび強化ブランチメトリックの双方のフレームが次に、復号器２０６に与えられる。
【外２】
0003559547.tif 000004
復号器２１４によって生成される各軟判定は、上記パラメータの、それ自体の推定である。
【００４３】
次に、プロセスが繰り返される。特に、復号器２０６によって生成される軟判定は、デインタリーバ２１０とは逆の機能を行うインタリーバ２１７によって再びインタリーブされる。再びインタリーブされた軟判定のフレームは次に、ブロック２０１において生成される未処理ブランチメトリックのフレームと組み合わせられ、ブロック２０４において、強化ブランチメトリックのフレームを生成する。次に、復号器２０６がこれらを用いて、前回の繰り返しにおいて復号器２０６によって生成されたものを改良する軟判定の別のフレームを生成する。
【００４４】
プロセスは、このようにして何度も繰り返して続けられる。しばらくの間、軟判定は改良され続けるが、最終的に、各繰り返しにおいて提供される改良の程度は非常に小さくなる。したがって、２つの戦略のうちの一方を採用することができる。一方は、プロセスを監視し、収穫逓減点に達すると、復号化プロセスを終了するものである。別の方法は、単に４など所定数の繰り返しを利用するというものである。
【００４５】
【外３】
0003559547.tif 000005
【００４６】
今説明したフレーム単位での反復プロセスは、図１１に概略的に示されている。
【外４】
0003559547.tif 000006
後者は次にブロック２０４に与えられ、ここで強化ブランチメトリックが計算される。新たなブランチメトリックおよび強化ブランチメトリックの双方は次に復号器２０６に与えられ、復号器２０６が軟判定の最初のフレームを生成し、これが次にデインタリーバ２１０、復号器２１４、そしてインタリーバ２１７に渡されて、第２の繰り返しが開始される。この時点において、インタリーバ２１７からの軟判定のフレームが、ブロック２０４において、ブロック２０１からのオリジナルの未処理ブランチメトリックと組み合わせられ、最後である４回目の繰り返し中に、デインタリーバ２１０によって出力される軟判定のフレームが、最終的な判定を生成する従来のビタビ復号器２２２に提供されるまで、復号器２０６、デインタリーバ２１０等々に与えられる、強化ブランチメトリックを提供する。
【００４７】
次に、図１０に示される各ブロックの機能性をより詳細に説明する。
【００４８】
図に示すように、ブロック２０１は、各受信チャネル破損シンボルＰ（〜）について、ビットパターンＸ３Ｘ２Ｘ１Ｘ０の１６個の値に関連する１６のコンステレーションサブセットそれぞれの上記「未処理」ブランチメトリックを計算する。これは単に、サブセット内の受信シンボルと最近傍のシンボル間の二乗したユークリッド距離である。結果得られる未処理のブランチメトリックは、ブロック２０４および内復号器２０６の双方に供給される。
【００４９】
各シンボルについて、ブロック２０４は、８ビットパターンＸ２Ｘ１Ｘ０に関連する各サブセットの強化ブランチメトリックを生成する。まず各ビットパターンＸ３Ｘ２Ｘ１Ｘ０に関連する未処理ブランチメトリックに、外復号器２１４によって形成されたビットパターンＸ３Ｘ２Ｘ１の対応する軟判定を追加し、インタリーバ２１７からのブロック２０４に供給することで、これが行われる。したがって、１６の内部強化ブランチメトリックが形成される。これらは、２つの内部強化ブランチメトリックの小さい方を４ビットのビットパターン０Ｘ２Ｘ１Ｘ０および４ビットのビットパターン１Ｘ２Ｘ１Ｘ０に保持し、他方を破棄することで、各ビットパターンＸ２Ｘ１Ｘ０に１つずつ、８つの強化ブランチメトリックに低減される。８つの強化ブランチメトリックは、復号器２０６に供給される。
【００５０】
復号器２０６および２１４は略同様に動作する。しかし、復号器２０６の動作は少し複雑である。したがって、説明を助けるため、復号器２１４の動作をまず説明する。
【００５１】
内復号器からのビットパターンＸ３Ｘ２Ｘ１の軟判定は、復号器２１４によってそのブランチメトリックとして使用される。復号器２１４は、図１２に象徴的に示されるように、順方向および逆方向の双方にパスメトリック計算が進められる、当分野において既知の汎用的な方法に従う方法で、これらのブランチメトリックを用いる。順方向では、従来のビタビ復号器動作に従い、復号化は既知の開始状態から進められる。したがって、インタリーブフレームの各ｎ番目のシンボル間隔につき、復号器は、例示的には各復号化段階において従来通りにパスメトリックおよびブランチメトリックを処理することで、図２の８状態符号の各符号器状態につき１つずつ、８つの「順方向」パスメトリックのセット｛ＦＰＭｉ（ｎ＋１）、ｉ＝０、１、．．．、７｝を計算して保存する。（典型的な従来のビタビ復号化とは反対に、各復号化段階におけるパスメトリックをメモリに保持し得る。これは、後述する軟判定生成中の処理時間の最小化に役立つ）。図１２は、インタリーブフレームのｎ番目のシンボル間隔に関連する８つの順方向パスメトリックを示している。逆方向において、復号化が既知の終了状態から進められ、その結果８つの「逆方向」パスメトリックのセット｛ＢＰＭｉ（ｎ）、ｉ＝０、１、．．．、７｝になることを除き、プロセスは同じである。（この実施形態において、ターボ符号は後述するように「終了」されるため、終了状態はわかっている）。図１２は、ｎ番目のシンボル間隔に関連する８つの逆方向パスメトリックを示している。この説明を簡略化するため、すべての逆方向パスメトリックもまた、生成される際にメモリに保存されるものと想定する。
【００５２】
ｎ番目のシンボル間隔の軟判定は、順方向パスメトリックＦＰＭｉ（ｎ）および逆方向パスメトリックＢＰＭｉ（ｎ＋１）を処理することで計算される。トレリスの１つの状態から出る４つのトレリスブランチはそれぞれ、特定のビットパターンＸ３Ｘ２Ｘ１によって識別される特定のサブセットに関連する。４ビットパターンの十進数同等物は、「サブセットＸ３Ｘ２Ｘ１」とラベルされる列に示されている。したがって、状態０から出る４つのトレリスブランチは、十進数同等物が０、２、４、６等であるビットパターンに関連し、状態１から出る４つのトレリスブランチは、十進数同等物が１、３、５、７等であるビットパターンに関連する。同時に、特定のビットパターンＸ３Ｘ２Ｘ１によって識別される各サブセットにつき、「現在」の符号器状態を「次の」符号器状態に結び付ける４つのトレリスブランチがある。サブセット０、すなわちビットパターン０００に関連するサブセットの４つのブランチは、現在の状態／次の状態の対０−０、２−１、４−２、および６−３を結び付けるものである。各ブランチに関連する順方向および逆方向のパスメトリックは別個に追加され、４つの和がもたらされる。次に、任意所与のビットパターンの軟判定が、これら４つの和の関数として計算される。例示的に、その関数は、単に４つの和のうちの最小のものを軟判定とすることである。実際に、すべての逆方向パスメトリックを保存する必要はない。その理由は、逆方向パスメトリックは、すべての順方向パスメトリックを生成して保存した後に生成することができるためである。逆方向パスメトリックの各セットは、その逆方向パスメトリックのセットが生成されると即座に軟判定の形成に用いられ、それ以後は必要とされない。
【００５３】
内復号器２０６によって実行される復号化は、より複雑である。これは、一方で、復号器２１４は復号器２０６からビットパターンＸ３Ｘ２Ｘ１についての軟判定を必要とするが、他方で、ビットＸ３は内符号器によって処理されないため、復号器２０６は、仮にその復号化アルゴリズムが復号器２１４によって実行されるものと同じであった場合、ビットＸ３を含む任意の情報を提供するベースがないためである。
【００５４】
内復号器２０６の処理は、最初の例において復号器２１４によって実行される処理と同様である。しかし、その処理は、いずれの外復号器２１４が、ビットＸ３に関わる軟判定、より具体的にはビットパターンＸ３Ｘ２Ｘ１についての軟判定を必要とするかを提供可能にするさらなる態様を含む。
【００５５】
特に、例示的に図４の８状態符号の内復号器２０６は、上述したように、まずそのブランチメトリックとして、ブロック２０４により生成されるビットパターンＸ２Ｘ１Ｘ０の強化ブランチメトリックを使用し、外復号器２１４において行われたのとまったく同じように順方向および逆方向のパスメトリックを生成する。（内符号および外符号が同じではない場合、パスメトリックの生成に当たり、異なるトレリスが内復号器および外復号器によって用いられるが、計算方法はその他の点では同じであることに留意されたい）。また、復号器２１４でのように、その後、ビットパターンＸ２Ｘ１Ｘ０についての軟判定が行われる。復号器２１４の場合、このような軟判定は、復号器出力を構成する。しかし、ここで、今述べたように、Ｘ２Ｘ１Ｘ０についての軟判定は、復号器２１４によって必要とされるものではない。したがって、復号器２０６内で生成される軟判定は、その復号器の出力として用いることができない。むしろ、復号器２０６がＸ３Ｘ２Ｘ１についての軟判定を提供できるようにするためには、さらなる処理が必要である。
【００５６】
このため、復号器２０６は次に、ビットパターンＸ３Ｘ２Ｘ１Ｘ０についての未処理ブランチメトリックを直前に計算したビットパターンＸ２Ｘ１Ｘ０についての軟判定に追加することで、ビットパターンＸ３Ｘ２Ｘ１Ｘ０についての内部軟判定を生成する。ビットパターンＸ３Ｘ２Ｘ１に関連する２つのこのような内部軟判定、すなわち、Ｘ３Ｘ２Ｘ１が特定の値を有するが、Ｘ０は０あるいは１のいずれかである２つのビットパターンＸ３Ｘ２Ｘ１Ｘ０についての内部軟判定がある。次に、２つの内部軟判定のうちの小さい方が、ビットパターンＸ３Ｘ２Ｘ１の軟判定として用いられる。
【外５】
0003559547.tif 000007
【００５７】
この方法が作用する理由は、図１３を考慮すれば理解することができる。その図は、内符号器によって使用されるが、各ブランチが２つのいわゆる並列ブランチで置換されたトレリスを示している。たとえば、現在の状態／次の状態の対０−０の２つのブランチは、ビットパターンＸ３Ｘ２Ｘ１Ｘ０＝０および８によって識別されるリファインされたサブセットに関連する。この「拡張された」トレリス線図には、各ビットパターンＸ３Ｘ２Ｘ１Ｘ０に関連する４つのブランチがある。最良の内部軟判定は、これら４つのブランチの１つに関連する。より具体的に、その最良の内部軟判定は、全体的なパスメトリックが最小であるパスに含まれるものであり、実際に、今説明した計算がその最良のパスを識別する。拡張トレリス線図は、軟判定の計算にのみ用いられることに留意する。順方向および逆方向のパスメトリックの計算には、当初の拡張されていないトレリス線図を用いるべきである。
【００５８】
双方の復号器における順方向および逆方向のパスメトリックの和のうち最小のものを単に探すのではなく、少なくとも付加白色ガウス雑音チャネルに対してより良好なパフォーマンスを提供する、より洗練された（より複雑であるが）方法を用いることが可能である。その方法は、外復号器について以下の計算に従って軟判定を生成するというものである。
ビットのパターンＸ３Ｘ２Ｘ１についての外復号器の軟判定＝
【数１】
0003559547.tif 000008
（式中、サブセットＸ３Ｘ２Ｘ１が現在の状態ｉから次の状態ｊへの遷移に関連するようにすべてのｉおよびｊについての加算が実行される。）
【００５９】
内復号器の軟判定は、以下の式に従って計算される。
【数２】
0003559547.tif 000009
（式中、サブセットＸ２Ｘ１Ｘ０が現在の状態ｉから次の状態ｊへの遷移に関連するようにすべてのｉおよびｊについての加算が実行される。）
【数３】
0003559547.tif 000010
【外６】
0003559547.tif 000011
【００６０】
上記説明は、トレリス内符号およびトレリス外符号が双方とも８状態符号であるという想定の下で主に提示される。しかし、８状態符号についての上記処理の簡易な拡張により、他の数の状態を有する符号に適応することが可能である。
【００６１】
上記説明はまた、トレリス内符号およびトレリス外符号が双方ともレート２／３符号であるという想定の下で主に提示される。しかし、他のレートの符号にも簡易に適応可能である。たとえば、レート３／４符号の場合、要素２０１は、Ｘ３Ｘ２Ｘ１Ｘ０ではなく様々なビットパターンＸ４Ｘ３Ｘ２Ｘ１Ｘ０に関連するサブセットに基づいて動作し、要素２０４は、Ｘ２Ｘ１Ｘ０ではなく様々なビットパターンＸ３Ｘ２Ｘ１Ｘ０に関連するサブセットに基づいて動作し、双方向ビタビ内外復号器２０６および２１４からの軟判定は、Ｘ３Ｘ２Ｘ１の代わりにビットパターンＸ４Ｘ３Ｘ２Ｘ１について行われる。同様に、復号器２２２は、第２レベル復号器２２４に対して、Ｘ３、Ｘ２ではなくビットＸ４、Ｘ３、Ｘ２に対する最終的な硬判定を出力すると共に、Ｘ３、Ｘ２、Ｘ１、Ｘ０ではなくビットＸ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０に対する最終的な硬判定を出力する。軟判定を計算する上記式は、同様に、ビットＸ４の考慮を含む。さらに、レート４／５符号の場合、復号器の様々な要素、ならびに軟判定を計算するための式も同様に、ビットＸ５を考慮に入れる。
【００６２】
他のターボ符号
次に、本発明の原理に従っての使用に適した他のターボ符号について説明する。異なるターボ符号をより容易に参照するため、その構成要素の内外符号レートとは対照的に、ターボ符号についての「レート」を定義すると便利である。特に、ターボ符号のレートをｋ／（ｋ＋ｒ）と定義することができる。（ここで、ｋは各シンボル間隔について外符号に与えられるデータビットの数であり、ｒは各シンボル間隔において内符号および外符号の双方によって生成される冗長ビットの総数である。）したがって、図１のターボ符号はレート２／４ターボ符号である。
【００６３】
図１４は、特に、図１と略同様の構造を有する送信機を示す。この送信機は、四次元（４Ｄ）直列連接レート３／５ターボ符号を採用している。ここで、各シンボルＰは、ターボ符号の状態の一回の進行に応答して値が決定される２つの２Ｄ信号点からなる、すなわち、内符号器および外符号器の状態は各４Ｄシンボル間隔について一回だけ進められることから、符号は、４次元符号である。したがって、図１４に示すように、各４ＤシンボルＰは２つの２Ｄ信号点ＱおよびＱ’からなる。
【００６４】
そうすると、コーダの入力に、（６＋２ｍ）ビットが、各４Ｄシンボル間隔についてリード線３０４上において直列／並列コンバータ（図示せず）から提供される。これらビットのうち３つは、Ｍ１状態レート３／４トレリス外符号器３０６に与えられ、これらビットのうち２つは二重パリティチェック符号器３０７に与えられる。後者は、実際に、２つの単一パリティチェック符号器３０７１および３０７２からなり、これらはそれぞれ入力ビットＸ５およびＸ６のそれぞれ１つを受信する。符号器３０７１および３０７２は、例示的に、上述した符号器１０７と同一である。残りの（１＋２ｍ）ビットＸ７、Ｘ８、．．．は符号化されていない。外符号器３０６は、例示的に、図１５に示される１６状態符号器である。結果得られる（７＋２ｍ）ビットは、シンボルインタリーバ１０８と略同様であり、それ自体で、インタリーブ目的で分離不可能なユニットとして（７＋２ｍ）ビットを扱うシンボルインタリーバ３０８に与えられる。インタリーバ３０８によって出力される（７＋２ｍ）ビットの各グループについて、３ビットＸ３、Ｘ２、Ｘ１は、Ｍ２状態レート３／４トレリス内符号器３１０に与えられる。内符号器３１０は、例示的に、図１６に示す１６状態符号器である。ビットＸ３、Ｘ２、Ｘ１、Ｘ０は、インタリーバ３０８によって提供されるビットＸ４、Ｘ５等と共に、４Ｄコンステレーションマッパ３１１により四次元シンボルにマッピングされる。このマッピングは、たとえば、単一のルックアップテーブルを用いて直接行うことができる。しかし、これらのビットを用いて各四次元シンボルの２つの構成要素である二次元信号点を別個に識別することで、実施の複雑性が大幅に低減される。このため、４Ｄコンステレーションマッパ３１１は、ビットＸ０〜Ｘ５を受信する６×６ビットコンバータ３１６、ならびにビットＸ６およびＸ７を受信する２×２ビットコンバータ３１８を備える。各４Ｄシンボル間隔は、２つの２Ｄシグナリング間隔からなる。最初の（二番目の）２Ｄシグナリング間隔について、コンバータ３１６は、図１７に示すビット変換テーブルにつきビットＹ２Ｙ１Ｙ０（Ｙ２’Ｙ１’Ｙ０’）を生成する一方で、コンバータ３１８は、図１８に示すビット変換テーブルにつきビットＹ３（Ｙ３’）を生成する。残りの符号化されていない２ｍビットＸ８、Ｘ９等の半分は、Ｙ４、Ｙ５等と改称され、残りの半分はＹ４’、Ｙ５’等と改称される。ビットＹ３、Ｙ２、Ｙ１、Ｙ０は、ビットＹ４、Ｙ５等と共に、２Ｄコンステレーションマッパ３１２によって使用されて、最初の二次元信号点Ｑを出力し、ビットＹ３’、Ｙ２’、Ｙ１’、Ｙ０’は、ビットＹ４’、Ｙ５’等と共に、コンステレーションマッパ３１２によって使用されて、二番目の二次元信号点Ｑ’を出力する。実際にいくつのデータビットが送信されるかに応じて、２Ｄ信号点へのコンステレーションマッパ入力ビットの様々なマッピングが可能である。図面には、３つの例が示されている。たとえば、４つのデータビットＸ２〜Ｘ５がリード線３０４上にある（すなわち、符号器３０７が符号器３０７１のみを含む）場合、コンステレーションマッパ３１２は、２Ｄシグナリング間隔につき３ビット、すなわち、各��Ｄシンボル間隔の最初の２Ｄシグナリング間隔についてＹ２Ｙ１Ｙ０を、そして二番目の２Ｄシグナリング間隔についてＹ２’Ｙ１’Ｙ０’を与えられる。これら３ビットの（２３＝８）点コンステレーションの特定の２Ｄ信号点への例示的なマッピングは、図１９に示されている。リード線３０４上に８つのデータビットがある場合、３２点信号コンステレーションが必要であり、３２点ＱＡＭへのマッピングは、図２０に示すようなものであることができる。リード線３０４上に１２のデータビットがある場合、１２８点信号コンステレーションが必要であり、１２８点ＱＡＭコンステレーションへのマッピングは、図２１に示すようなものであることができる。場合によっては、定振幅、たとえばＱＡＭコンステレーションではなくＰＳＫコンステレーションを用いることが可能である。たとえば、図１９に示す８点ＱＡＭコンステレーションの代わりに、図２２に示す８点ＰＳＫコンステレーションを用いることができ、この場合、ビットコンバータ３１６は、図１７に示されるテーブルではなく図２３に示されるテーブルに従って動作する。
【００６５】
別の４Ｄ符号を用いるが、レート４／６ターボ符号を採用する送信機を図２４に示す。特に、（６＋２ｍ）ビットが、各４Ｄシンボル間隔について、リード線４０４上において直列／並列コンバータ（図示せず）から与えられる。４ビットＸ５、Ｘ４、Ｘ３、Ｘ２はＭ１状態レート４／５トレリス外符号器４０６に与えられ、２ビットＸ７、Ｘ６は単一パリティチェック符号器４０７に与えられる。後者は、パラメータ（２・Ｊ・Ｋ、２・Ｊ・Ｋ−１、２）を有する。すなわち、符号器４０７によって実施される符号は、２・Ｊ・Ｋビットの符号語長を有し、その最初の２・Ｊ・Ｋ−１ビットが入力ビットであり、最後のビットは冗長パリティチェックビットであり、そのハミング距離は２である。残りの２ｍビットは符号化されない。外符号器３０６は、例示的に、図２５に示される３２状態符号器である。結果得られる（７＋２ｍ）ビットは、これもまたシンボルインタリーバ１０８と略同様のシンボルインタリーバ４０８に与えられる。インタリーバ４０８によって出力される（７＋２ｍ）ビットの各グループについて、図示のように、４ビットがＭ２状態レート４／５トレリス内符号器４１０に与えられる。内符号器４１０は、例示的に、図２６に示す３２状態符号器である。図１４に示されるものと同様に、４Ｄコンステレーションマッパ４１１は、例示的に上述したビットコンバータ３１６と同一であるビットコンバータ４１６を備えると共に、２Ｄコンステレーションマッパ４１２をさらに備える。インタリーバ４０８の出力における２ビットＸ６およびＸ７はＹ３およびＹ３’と改称される一方、残りの符号化されていない２ｍビットＸ８、Ｘ９等はＹ４、Ｙ４’、Ｙ５、Ｙ５’等と改称される。ここでは、各４Ｄシンボル間隔について送信されるデータビットの所望の数に応じて、図１４と共に図１９〜図２２に示されるコンステレーションおよびマッピングも同様に使用可能である。
【００６６】
さらに別の４Ｄ符号を用いるが、レート２／４ターボ符号を採用する送信機を図２７に示す。例示的に、ターボ符号のトレリス内外符号は、図１に示される二次元構成で使用されたものと同じである。これは３レベル符号であり、２ビットＸ５、Ｘ４が拡張された単一誤り修正符号器５５０に与えられ、２ビットＸ６およびＸ７は単一パリティチェック符号器５４５に与えられる。符号器５５０は、特に、パラメータ（２・Ｊ・Ｋ、２・Ｊ・Ｋ−Ｒ、４）を有する。具体的には、２・Ｊ・Ｋビットの符号語長を有し、その最初の２・Ｊ・Ｋ−Ｒビットが入力データビットであり、最後のＲビットは冗長ビットであり、そのハミング距離は４である。冗長ビットの数Ｒは、２・Ｊ・Ｋ≦２Ｒ−１になるような最小の整数であるように選択される。符号器５４５は、例示的に、上述した符号器４０７と同一である。
【００６７】
ビットＸ３、Ｘ２、Ｘ１、Ｘ０は、２Ｄコンステレーションマッパ５１２も含む４Ｄコンステレーションマッパ５１１内の４×４ビットコンバータ５１７に与えられる。ビットコンバータ５１７は、図２８に示されるテーブルを基にして動作する。リード線５０４は、各４Ｄシンボル間隔について２つの入力ビットＸ３、Ｘ２のみを提供し、図２９に示されるコンステレーション等の２つの４点信号コンステレーションを連接したものを含む１６シンボル４Ｄコンステレーションが使用される。このような場合、４ビットが４Ｄシンボルの４座標にマッピングされることは事実であるが、各ビットがシンボルの異なる各座標の値を決定するということは当てはまらない。むしろ、図６と共に上述したマッピング基準がここでも適用される。すなわち、少なくとも１つの座標の値は、２つ以上のターボコーダ出力ビットの関数であり、または換言すれば、シンボル座標の値は、ターボコーダ出力ビットによって独立して決定される。４、８、または１２データビット等３つ以上のデータビットが送信される場合、図１９〜図２２に示されるもの等のコンステレーションおよびマッピングをここでも使用可能である。特に、図２２の８ＰＳＫコンステレーションが用いられる場合、４×４ビットコンバータ５１７は、図３０に示されるテーブルに基づいて動作する。
【００６８】
図２７と同じターボ符号を用いる送信機が図３１に示される。この送信機は、例示的に符号器５４５と同一の単一上位コーダを採用する。４Ｄコンステレーションマッパ６１２は、４×４ビットコンバータ６１７および２Ｄコンステレーションマッパ６１２を含む。コンバータ６１７は、例示的に、図３０に示されるテーブルに基づいて動作し、コンステレーションは、例示的に、図７に示される１６点ＰＳＫコンステレーションである。
【００６９】
図１０に示される復号器構造は、図１のレート２／４ターボ符号化構成の文脈において上述された。しかし、これと同じ基本的な構造をレート３／５および４／６ターボ符号に使用することができる。しかし、このような場合、第２レベル復号器２２４は、これらの実施形態で使用される第２レベル符号に適した復号器である必要があり、たとえば、４状態ビタビ復号器が、図１４の第２レベル符号として使用される二重パリティチェック符号を復号化するために用いられ、２Ｒ状態ビタビ復号器が、図２７の第２レベル符号として使用される拡張された単一誤り修正符号を復号化するために用いられる。さらに、図２７の実施形態等、３レベル符号が用いられる場合、全体的な復号器構造は、第３レベル符号に適した復号器を含む必要がある。したがって、図２７の場合、２状態ビタビ復号器（図示せず）が図１０の復号器内に含まれる。そして特に、第２レベル復号器２２４によって生成されるビットＸ５およびＸ４の値についての最終的な硬判定が、最終的な復号器の出力として用いられる。同時に、ビットＸ５、Ｘ４、Ｘ３、Ｘ２、Ｘ１およびＸ０についての最終的な硬判定が、デインタリーバ２２３からの出力と共に第３レベル復号器に供給されるため、第３レベル復号器は、残っているすべての符号化ビットおよび符号化されていないビットについての最終的な硬判定を生成することができる。
【００７０】
様々な符号の比較
上記または他のターボ符号化構成のいずれの特定の１つを、任意特定の用途に使用しうるかを決定するに当たり、様々な検討が行われる。たとえば、図１の二次元実施形態は、その他の四次元実施形態が必要とするコンステレーションの２倍のコンステレーションを必要とする。受信機における特定のコンポーネントのパフォーマンス、たとえば搬送波再生は、特定の状況、たとえば高速で経時変化するチャネルの下で、後者よりも前者の場合に悪化しうる。図１、図１４、および図２７の実施形態はすべて、すべての中で最も少ない待ち時間を提供する潜在性を有する図１の実施形態と、少なくとも付加白色ガウス雑音（ＡＷＧＮ）チャネルの場合におおよそ同じレベルのエラーレートパフォーマンス、同等の実施複雑性、および同等のインタリーバ長、ひいては同等の待ち時間、すなわちデータの通信における全体的な遅延を提供する。有利なことに、図１４の実施形態の実施複雑性は、比較的インタリーブ長から独立しているが、図２７の実施形態の実施複雑性は、インタリーブ長が２５６二次元信号点を超える場合に約２倍になる。不良なチャネル状況の下、エラーレートパフォーマンスは、コンステレーションサイズが小さいほど良好である。この点において、図１４の実施形態の利点は、４単一点コンステレーションと併せて使用可能なことであり、これは、たとえば図２７の実施形態では不可能である。本明細書に開示されるすべての実施形態の中で最良のエラーレートパフォーマンスは、図２４の実施形態によって提供される。しかし、その実施形態は、すべての実施形態の中で最も高い実施複雑性および待ち時間を有する。
【００７１】
図１、図１４、図２４、および図２７の実施形態はすべて、たとえば、様々な異なるサイズのＱＡＭコンステレーションと共に、ならびに、たとえば、信号点当たり最高２ビットの帯域幅効率のため、定振幅、たとえばＰＳＫコンステレーションと共に使用することができる。しかし、定振幅コンステレーションが好ましく（たとえば、特定の無線伝送用途）、また同時に信号点当たり２ビットよりも大きな帯域幅効率が望まれる用途では、図３１の実施形態が、その他の実施形態よりも良好なパフォーマンス、低い実施複雑性、および短いインタリーブ長を提供するという点において、図３１の実施形態を考慮すべきである。
【００７２】
ターボ符号終了
特定の用途では、ターボ符号を周期的に終了することが望ましい場合がある。これは、いくつかのシンボル間隔についてランダム入力データをターボ符号器に与えた後すぐに、各符号器を既知の状態にするのに十分な数のシンボル間隔にわたり、ランダム入力ビット以外のデータをターボ符号器に与えることを意味する。次に、ランダムデータビットは、再びターボ符号器に与えられ、その後符号が再び終了され、以下同様である。送信機において符号がどのように終了されるかについて明示的な知識を有している復号器は、それを有していない復号器よりも複雑性が低い（処理時間および／またはメモリ要件で測定される）可能性があるため、ターボ符号の終了が望ましい。さらに、たとえば１９９９年２月９日付けで出願された本発明者による米国特許出願第０９／２４７７０４号に記載されている理由により、たとえばパケット伝送環境においてターボ符号（ならびにより従来的な畳み込み符号およびトレリス符号）を終了することが有利である。符号の終了はまた、エラー伝播の作用を含む方法として、いわゆる連続伝送環境、たとえば音声帯域モデム用途においても有利であることができる。
【００７３】
ターボ符号の終了に当たり実行されるステップの設計には、いくつかの考慮事項がある。実際に、これらの考慮事項は、結果として例示的な本実施形態において用いられる終了プロセスの詳細になる。終了が実行される様式についてまず説明した後に、そこにつながる考慮事項の説明が続く。
【００７４】
まず図５を再び参照する。図５の行列要素に示されている番号０、１、２、．．．、１９５は、１９６のこのようなビットグループを含む各インタリーブフレームにおける符号器１０６の、０番目、１番目、２番目等の出力ビットグループを表す。そして、より具体的に、外符号器１０６によって生成された最後の３つのビットグループは、シーケンス番号「１９３」、「１９４」、および「１９５」を有するものである。ビットグループは、左から右に列単位でインタリーバから読み出されるため、インタリーバによって出力され、内符号器１１０に与えられる最後の２つのビットグループは、シーケンス番号「１６７」および「１９５」を有するものである。図では、読み手による以下の説明の理解を助けるため、４つのシーケンス番号「１６７」、「１９３」、「１９４」、および「１９５」は丸で囲まれている。
【００７５】
符号器１０６および１１０は、図２および図４それぞれに示される８状態符号器として実施され、これらはそれぞれ終了のために２つのシンボル間隔を必要とするものと想定する。特に、内符号は、符号器１１０の最後の２つのシンボル間隔「１６７」および「１９５」中の符号器入力ビットとして、データビットＸ２、Ｘ１それぞれの代わりに内部に格納されているビットＷ１、Ｗ２を用いることで終了される。これにより、シンボル間隔「１９５」の終了時に、符号器１１０が状態「０」になる（すなわち、３つすべての内部格納ビットが「０」である）。
【００７６】
外符号は、それ自体の最後の２つのシンボル間隔中にではなく、その最後から二番目および三番目のシンボル間隔「１９３」および「１９４」中に終了される。特に、シンボル間隔「１９３」中、符号器１０６の入力ビットの１つはデータビットＸ３である一方、データビットＸ２の代わりに内部に格納されているビットＷ２が用いられる。次に、シンボル間隔「１９４」中、データビットＸ３、Ｘ２が、符号器１１０の場合でのように、内部に格納されているビットＷ１およびＷ２それぞれによって置換される。これにより、シンボル間隔「１９４」の終了時に、符号器１０６が状態「０」になる（すなわち、３つすべての内部格納ビットが「０」である）。
【００７７】
終了プロセスのさらなる態様として、外符号器１０６は、シンボル間隔「１６７」および「１９５」中は動作しない。すなわち、これらの間隔中、入力ビットは符号器１０６自体に入力されず、外符号器１０６の状態は進められない。（上位入力ビットＸ４、Ｘ５、．．．は、これらの間隔中に通常の方法でとられ、処理することができる）。
【００７８】
ターボ符号終了をさらに考慮するに当たり、ビットＸ２、Ｘ１の値はシンボル間隔「１６７」および「１９５」中に生成されないという事実は、上述したように、符号器１１０は、それらの間隔中にその入力をそれ自身の内部ビットから得るため、相対する内符号器１１０には重要ではないことを観察することができる。しかし、コンステレーションマッパ１１２には、これらの間隔中に依然としてビットＹ３の値が必要である。通常、ビットＹ３はビットＸ３と同じであり、これは、これらのシンボル間隔中に当てはまり得る。しかし、外符号は動作中ではないため、ビットＸ３の値は、これらの間隔中に外符号によって保護されない。次に、全体的なターボ符号のパフォーマンスは、これによって大きく悪影響を受け得る。別の方法は、ビットを符号化する必要が決してないように、既知の値の「ダミー」ビットを送信するというものである。しかし、好ましい実施形態において、シンボル間隔「１６４」および「１９５」中、ビットＸ２、Ｘ１、Ｘ０の値は、ビットＸ３、Ｘ２、Ｘ１になるまでそれぞれシフトされ、Ｘ０は、これらの値がコンステレーションマッパに与えられる前に、所定の情報を伝達しない値に設定される。
【００７９】
次に、上記終了プロセスにつながる考慮事項について説明する。
【００８０】
最初に、インタリーブフレーム中に送信可能なデータ量を最大化するために、最後の２つのシンボル間隔「１９４」および「１９５」中、外符号を終了すべきであることを考えることができる。しかし、シンボル間隔「１９５」中に、任意のビットが外符号器１０６によって生成された場合、これらのビットは、上記に見られるように、内符号器１１０により、それ自身の終了プロセスの部分として無視されることから、送信されない。シンボル間隔「１９３」および「１９４」を用いて外符号を終了すると共に、上述したように外符号をシンボル間隔「１９５」中動作しないことにより、この問題は回避される。さらに、これは、外符号器１０６がシンボル間隔「１６７」中に動作しない、シンボル間隔「１６７」中において、内符号器１１０もまた外符号器の出力ビットを無視するためである。この例は、外符号の状態が、内符号が終了中であるシンボル間隔中は進められない一般的な設計方法を例示するものである。
【００８１】
内符号の終了シンボル間隔「１６７」および「１９５」中、内符号の入力ビットは外符号の出力からとられないという事実から、別の考慮事項が持ち上がる。これは、符号の全体的なパフォーマンスに悪影響を及ぼし得る。有利なことに、この状況は、より小さなシンボルコンステレーションを用いることにより、終了シンボル間隔中のシンボル間の最短距離が大きくなり、改善することができる。実際に、当業者は、図６〜図９の考慮した上で、これは、Ｘ０を固定の値に設定しながら、ビットＸ２、Ｘ１、Ｘ０をシフトアップして、それぞれビットＸ３、Ｘ２、Ｘ１にする上記方法の実際の結果であることを理解するであろう。これは、これらの間隔中に生成されるシンボルに関連する復号器で生成されるいわゆるブランチメトリックの強化につながるためである。（かかるより小さなコンステレーションは、その他のシンボル間隔に用いられるコンステレーションの特定シンボルを含みうるが、必要なことではない）。終了シンボル間隔中に、折衷された符号パフォーマンスを保護する他の方法は、ａ）終了シンボル間隔内でエラーイベントが完全に発生しないように、かつｂ）最後の終了シンボル間隔中のトレリスに割り当てられたサブセット間のサブセット間距離が、可能な限り大きくなるように内符号を設計することを含む。実際に、例示的な本実施形態で使用される内符号は、これらの基準を満たす。
【００８２】
本明細書の例示的な実施形態のいくつかにおけるように、レート２／３トレリス内外符号を用いてレート２／４ターボ符号を終了するプロセスは、以下に正式に説明することができる。
【００８３】
シンボルインタリーバの入力側および出力側の双方におけるインタリーブフレームのＪ・Ｋシンボル間隔のシーケンス番号を０、１、．．．、Ｊ・Ｋ−１と表す。
【００８４】
内符号の終了を容易にするため、外符号はＪ・Ｋ−２シンボル間隔においてのみ動作する。外符号は、インタリーバの入力側におけるＪ・Ｋ−１−（Ｊ・Ｋ／Ｊ１）番目（またはＪ１＝１の場合はＪ・Ｋ−１−Ｋ番目）および最後であるＪ・Ｋ−１番目のシンボル間隔では動作しない。
【００８５】
他の場合、外符号の終了は通常の方法で行われる。８状態符号の場合、入力ビットＸ２は、インタリーバの入力側におけるＪ・Ｋ−３番目のシンボル間隔の符号器状態機械のＷ２に設定され、入力ビットＸ３およびＸ２は、Ｊ・Ｋ−２番目のシンボル間隔におけるＷ１およびＷ２それぞれ設定される。
【外７】
0003559547.tif 000012
【００８６】
一方、内符号は、すべてのＪ・Ｋシンボル間隔において動作する。その終了は、外符号が動作していないとき、インタリーバの入力側における２つのシンボル間隔に対応する、インタリーバの出力側における最後の２つのシンボル間隔で行われる。
【００８７】
内符号に応じて、その終了は通常の方法で行われない場合もある。たとえば、８状態符号の場合、入力ビットＸ２およびＸ１は、Ｊ・Ｋ―２番目およびＪ・Ｋ−１番目のシンボル間隔の双方において符号器状態機械のＷ１およびＷ２にそれぞれ設定される（通常の方法では、Ｊ・Ｋ―２番目のシンボル間隔における入力ビットＸ２はデータビットである）。
【００８８】
さらに、本明細書の他の例示的な実施形態におけるように、レート２／３およびレート４／５のトレリス内外符号を用いてレート３／５および４／６ターボ符号を終了するプロセスは、以下に正式に説明することができる。
【００８９】
外符号の終了は通常の方法で行われる。１６状態レート３／４符号の場合、入力ビットＸ２は、インタリーバの入力側におけるＪ・Ｋ−３番目のシンボル間隔において符号器状態機械のＷ３に設定され、入力ビットＸ４、Ｘ３、およびＸ２は、Ｊ・Ｋ−２番目のシンボル間隔におけるＷ２、Ｗ１、およびＷ３それぞれに設定される。３２状態レート４／５符号の場合、入力ビットＸ２は、Ｊ・Ｋ−３番目のシンボル間隔におけるＷ４に設定され、入力ビットＸ５、Ｘ４、Ｘ３、およびＸ２はＪ・Ｋ−２番目のシンボル間隔におけるＷ２、Ｗ１、Ｗ３、およびＷ４それぞれに設定される。
【００９０】
一方、１６状態レート３／４内符号および３２状態レート４／５内符号双方の終了は、通常の方法では行われない。レート３／４符号の場合、入力ビットＸ３、Ｘ２、Ｘ１は、Ｊ・Ｋ−２番目およびＪ・Ｋ−１番目のシンボル間隔の双方において符号器状態機械のＷ１、Ｗ２、およびＷ３それぞれに設定され、レート４／５符号の場合、入力ビットＸ４、Ｘ３、Ｘ２、およびＸ１は、Ｊ・Ｋ−２番目およびＪ・Ｋ−１番目のシンボル間隔におけるＷ１、Ｗ２、Ｗ３、およびＷ４それぞれに設定される。
【００９１】
レート２／３内符号と同様に、レート３／４内符号の出力ビットＸ３、Ｘ２、Ｘ１、Ｘ０の値は、ビットＸ４、Ｘ３、Ｘ２、Ｘ１それぞれになるようにシフトアップされ、Ｘ０は、これらのビットが最後の２つの終了シンボル間隔においてコンステレーションマッパに与えられる前に、所定の情報を伝達しない値に設定される。同様に、レート４／５内符号の出力ビットＸ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０の値は、ビットＸ５、Ｘ４、Ｘ３、Ｘ２、Ｘ１それぞれになるようにシフトアップされ、Ｘ０は、最後の２つの終了シンボル間隔において所定の情報を伝達しない値に設定される。
【００９２】
ターボ符号設計
次に、有利なターボ符号をどのようにして設計可能であるかの理解を助けるため、本明細書に開示される様々なターボ符号の設計に関わる考慮事項について述べる。特にまず、帯域幅効率が２Ｄ信号点当たり４ビットである第１レベル直列連接２Ｄターボ符号を用いたマルチレベル符号の設計を考慮する（これは、ｍ＝１の図１の実施形態である）。
【００９３】
まず、第１レベルのターボ符号の設計方法を考慮する。
ステップ１：コンステレーションサイズの決定
ターボ符号の内符号および外符号はそれぞれ１つの冗長ビットを生成するため、６４シンボル信号コンステレーションが必要であり、これは図８に示されている。
ステップ２：ターボ符号についてコンステレーションをどの程度細分化すべきか、およびいくつのビットを（外符号の）ターボ符号に入力するかの決定
ターボ符号が少なくとも６ｄＢの符号化利得を達成するために、コンステレーションを、サブセット内最短距離が最大の状態の１６「ターボ符号」サブセットに分けるべきである。図８では、このような各サブセットは、ビットパターンＹ３Ｙ２Ｙ１Ｙ０によって識別される。次に、サブセットの数により、いくつのビットが（外符号の）ターボ符号に入力されるかを決定する。この場合、入力ビットの数は２であり、これは、「ターボ符号」サブセットの識別に必要な４ビットから２つの冗長ビットを差し引くことで得られる。
ステップ３：内符号の設計
（ａ）レートの選択
内符号は、この場合、３つの可能な異なるレート、すなわち１／２、２／３、および３／４を有することができる。図１におけるレート２／３がパフォーマンス、複雑性、およびインタリーブ長の最良の組み合わせを提供するため、これを使用するよう選択する。
（ｂ）状態数の選択
レート２／３の場合、内符号は、状態の数を４、８、１６等々に設定することができる。再び、図１における８状態がパフォーマンス、複雑性、およびインタリーブ長の最良の組み合わせを提供するため、この８状態を使用するよう選択する。
（ｃ）内符号にレートおよび状態数が選択されると、内符号の残りの設計は、ちょうど単一段階トレリス符号のようなものである。具体的に、内符号は、６４シンボルコンステレーションを、そのサブセット間最短距離が最大な８つのみの「内符号」サブセットに分けることで設計される。このようなサブセットはそれぞれ、図８におけるビットパターンＹ２Ｙ１Ｙ０によって識別される。これらのサブセットは、内符号の有効なシーケンスのサブセット間の最短距離が最大になるように、内符号の状態遷移に割り当てられる。その目標を達成するため、所与の現在の状態から開始されるか、または内符号の所与の次の状態に合併された状態遷移に割り当てられたサブセット間のサブセット間最短距離は、最大化されるべきである。内符号の設計は、ビットパターンＹ２Ｙ１Ｙ０をどのように６４シンボルコンステレーションの８つの「内符号」サブセットに割り当てるべきかに対し、いくつかの制約を課すことに留意されたい。具体的に、６４シンボルコンステレーションを、サブコンステレーション内の最短距離が最大である状態の２つの３２シンボルサブコンステレーションに分ける。このようなサブコンステレーションはそれぞれ、図８におけるＹ０のビット値によって識別され、６９シンボルコンステレーションの４つの「内符号」サブセットを含めて示すことができる。次に、Ｙ２Ｙ１Ｙ０の４つのビットパターン０００、０１０、１００、１１０は、一方のサブコンステレーションの４つのサブセットに割り当てられるべきであり、Ｙ２Ｙ１Ｙ０の残りの４つのビットパターン００１、０１１、１０１、１１１は、他方のサブコンステレーションの４つのサブセットに割り当てられるべきである。しかし、内符号を考慮する限り、最初の４つのビットパターン０００、０１０、１００、１１０のサブセットに対する割り当ては、残りの４つのビットパターン００１、０１１、１０１、１１１の割り当てから独立している。
ステップ４：外符号の設計
（ａ）レートの選択
外符号はこの場合レート２／３しか有することができない。
（ｂ）状態数の選択
レート２／３の場合、外符号は、状態の数を４、８、１６等々に設定することができる。図１における８または１６状態がパフォーマンス、複雑性、およびインタリーブ長の最良の組み合わせを提供するため、８または１６状態を使用するよう選択する。
（ｃ）外符号にレートおよび状態数が選択されると、外符号の残りの設計は、次のようなものである。外符号は、まるで内符号が不在かのように、すなわちまるで内符号によって生成される冗長ビットＹ０が０または１の固定値を有するかのように設計される。この場合、コンステレーションは、３２シンボルしか持たず、ステップ３において述べたように、図８におけるＹ０のビット値によって識別される２つの３２シンボルサブコンステレーションのいずれか一方である。各サブコンステレーションは、８つの「ターボ符号」サブセットを含めて示すことができ、各サブセットは、ステップ２において述べたように、図８におけるサブコンステレーションについてＹ０の値と共にビットパターンＹ３Ｙ２Ｙ２Ｙ１によって識別される。これらのサブセットは、各サブコンステレーションについて、外符号の有効なシーケンスのサブセット間の最短距離が最大になるように、外符号の状態遷移に割り当てられる。各サブコンステレーションについてその目標を達成するため、所与の現在の状態から開始されるか、または外符号の所与の次の状態に合併された状態遷移に割り当てられたサブセット間のサブセット間最短距離は、最大化されるべきである。ちょうど単一段階トレリス符号のように、外符号の設計は、ビットパターンＹ３Ｙ２Ｙ１をどのように各３２シンボルサブコンステレーションの８つの「ターボ符号」サブセットに割り当てるべきかに対し、いくつかの制約を課すことに留意されたい。しかし、ビットパターンＹ３Ｙ２Ｙ１の、一方のサブコンステレーションの８つの「ターボ符号」サブセットへの割り当ては、これまでのところ依然として、ビットパターンＹ３Ｙ２Ｙ１の他方のサブコンステレーションの８つの「ターボ符号」サブセットへの割り当てから独立している。
ステップ５：コンステレーションマッパの設計
ステップ４の外符号は、内符号がない状態で設計されている。しかし、内符号が存在する場合、一方のサブコンステレーションについて外符号により識別される各「ターボ符号」サブセットは、他方のサブコンステレーションについて異なる「ターボ符号」サブセットとして送信することができる。この場合、２つの「ターボ符号」サブセットは、同じビットパターンＹ３Ｙ２Ｙ１を有するが、Ｙ０のビット値は異なる。内符号が存在する場合に外符号の符号化利得を保つため、ビットパターンＹ３Ｙ２Ｙ１Ｙ０の１６の「ターボ符号」サブセットへの割り当ては、同じビットパターンＹ３Ｙ２Ｙ１を有し、かつＹ０のビット値の異なる「ターボ符号」サブセットの各対のサブセット間最短距離が最小化されるように行われる。図８において、このような「ターボ符号」サブセットの各対のサブセット間最短距離は、６４シンボルコンステレーションの（任意の２つのシンボル間の）最短距離に等しく、したがって実際に最小化される。
このターボ符号設計の最後のステップにおいて、一方のサブコンステレーションの８つの「ターボ符号」サブセットへのビットパターンＹ３Ｙ２Ｙ１の割り当ては、もはや他方のサブコンステレーションの８つの「ターボ符号」サブセットへのビットパターンＹ３Ｙ２Ｙ１の割り当てから独立していないことに留意されたい。
【００９４】
要約すると、第１レベルターボ符号の設計では、本発明者等は、（ａ）内符号の出力ビットを全体的なコンステレーションの様々なサブセットにマッピングする特別な規則、（ｂ）外符号の出力ビットを、内符号の冗長ビットによって識別される各サブコンステレーションの様々なサブセットにマッピングする別の特別な規則、および（ｃ）外符号の出力ビットおよび内符号の冗長ビットを一緒に、全体的なコンステレーションの様々なサブセットにマッピングするさらに別の特別な規則、を使用した。したがって、内符号、外符号、およびコンステレーションマッパの設計は、特に規則（ｃ）を鑑みて一緒に行われる。一般的に、いわゆる「ジョイント設計」は、有効なシンボルシーケンス間の距離が、一般化された最小ハミング距離にコンステレーションの最短距離（すなわち、コンステレーションのシンボル間の最短距離）を乗算した積よりも大きい場合に、少なくとも最小限達成される。任意の２つのシーケンス間の一般化されたハミング距離は、２つのシンボルシーケンスが異なる位置の数である。非ジョイント設計符号では、上記の実際のユークリッド距離が上記積と同じであることができる。
【００９５】
次に、マルチレベル符号の第２レベル符号の設計方法を考慮する。上記ターボ符号のパフォーマンスは、そのサブセット内最短距離、すなわち各「ターボ符号」サブセットのシンボル間の最短距離によって支配されることが分かっている。そのパフォーマンスをさらに向上するために、容易かつ周知の方法は、図１に示すように、単純な第２レベル単一パリティチェック（ＳＰＣ）符号を採用するものである。符号は、各「ターボ符号」サブセットを、サブセット内最短距離が最大の２つの「第２レベル符号」サブセットにさらに分けることに基づいて設計される。図８において、このような各「第２レベル符号」サブセットは、対応する「ターボ符号」サブセットのビットパターンＹ３Ｙ２Ｙ１Ｙ０と共に、Ｙ４のビット値によって識別される。
【００９６】
図１のマルチレベル符号の設計に使用される手順と同じ手順を、図１４のマルチレベル符号の設計にも使用することができる。図１４のマルチレベル符号の特徴は、以下のようにハイライトされる。
１）コンステレーションは４Ｄである。
２）第１レベルターボ符号が少なくとも６ｄＢの符号化利得を達成するために、４Ｄコンステレーションは、サブセット内最短距離が最大である３２の「ターボ符号」４Ｄサブセットに分けられる。このような４Ｄサブセットはそれぞれ、図１７におけるビットパターンＸ４Ｘ３Ｘ２Ｘ１Ｘ０によって識別される。各４Ｄシンボル間隔において（外符号の）ターボ符号に入力されるビットの数は３である。
３）内符号は、１６状態レート３／４がパフォーマンス、複雑性、およびインタリーブ遅延の最良の組み合わせを提供するため、１６状態レート３／４である。内符号は、４Ｄコンステレーション全体を、サブセット内最短距離が最大である１６のみの「内符号」４Ｄサブセットに分けることで設計される。このような４Ｄサブセットはそれぞれ、図１７におけるビットパターンＸ３Ｘ２Ｘ１Ｘ０によって識別される。これらの４Ｄサブセットは、内符号の有効なサブセットシーケンス間の最短距離が最大であるように、内符号の状態遷移に割り当てられる。その目標を達成するために、所与の現在の状態から開始されるか、または内符号の所与の次の状態に合併される状態遷移に割り当てられるサブセット間のサブセット間最短距離が最大であるべきである。
４）外符号もまた、ここでも、１６状態レート３／４がパフォーマンス、複雑性、およびインタリーブ遅延の最良の組み合わせを提供するため、１６状態レート３／４である。外符号は、まるで内符号がないかのように、すなわちまるで内符号によって生成された冗長ビットＸ０が０または１の固定の値を有するかのように設計される。この場合、４Ｄコンステレーションは、図１７においてＸ０のビット値によって識別される２つの４Ｄサブコンステレーションのいずれかである。各４Ｄサブコンステレーションは、１６の「ターボ符号」４Ｄサブセットを含む。これら４Ｄサブセットは、各サブコンステレーションについて、有効な外符号のサブセットシーケンス間の最短距離が最大になるように、外符号の状態遷移に割り当てられる。その目標を達成するために、所与の現在の状態から開始されるか、または外符号の所与の次の状態に合併される状態遷移に割り当てられるサブセット間のサブセット間最短距離が最大であるべきである。
５）内符号が存在する場合でも外符号の符号化利得を保つために、ビットパターンＸ４Ｘ３Ｘ２Ｘ１Ｘ０の「ターボ符号」４Ｄサブセットへの割り当ては、同じビットパターンＸ４Ｘ３Ｘ２Ｘ１を有し、かつＸ０のビット値の異なる「ターボ符号」４Ｄサブセットの各対のサブセット間最短距離が最小化されるように行われる。
６）ターボ符号のパフォーマンスは、「ターボ符号」４Ｄサブセットのサブセット内最短距離によって支配される。そのパフォーマンスをさらに向上するために、単純な第２レベル二重パリティチェック（ＤＰＣ）符号が用いられる。第２レベル符号は、各「ターボ符号」４Ｄサブセットを、サブセット内最短距離が最大化される４つの「第２レベル符号」４Ｄサブセットにさらに分けることに基づいて設計される。このような各「第２レベル符号」４Ｄサブセットは、図１８におけるＸ６のビット値と共に、Ｘ５のビット値および図１７における対応する「ターボ符号」４ＤサブセットのビットパターンＸ４Ｘ３Ｘ２Ｘ１Ｘ０によって識別される。
【００９７】
図１のターボコートとは異なり、図１４のターボ符号は、別の重要な特徴を有する。図１４のターボ符号の内符号および外符号はそれぞれ、それ自体「不良」トレリス符号である。「不良」とは、内符号または外符号が別の符号と連接されていない場合に、内符号または外符号が、そのパフォーマンスの達成に必要な複雑性よりもはるかに高い複雑性を必要とすることを本発明者等は意図する。図１４における４Ｄ１６状態レート３／４内符号または外符号のパフォーマンスは、それだけで使用される場合、４Ｄ８または１６状態レート２／３トレリス符号のものと略同じである。しかし、４Ｄ１６状態レート３／４符号の複雑性は、４Ｄ８または１６状態レート２／３符号の複雑性の約４倍または２倍である。
【００９８】
「不良」４Ｄ１６状態レート３／４符号について普通ではないことは、良好な４Ｄ８または１６状態レート２／３符号よりもはるかに大きなサブセット内最短距離を有することである。このより大きなサブセット内最短距離は、４Ｄ１６状態レート３／４符号が符号がそれだけで用いられる場合には４Ｄ８または１６状態レート２／３符号を凌ぐよう助けないが、符号が連接して使用されてターボ符号を形成する場合には助ける。仮に４Ｄ８または１６状態レート２／３符号を用いてターボ符号を形成した場合、ターボ符号のパフォーマンスもまたサブセット内最短距離によって支配され、これにより３ｄＢの符号化利得しか提供されないであろう。より強力なターボ符号をマルチレベル符号の第１レベル符号として用いると、さらに後述するように、上位符号の大幅な簡易化およびマルチレベル符号全体のパフォーマンスの改良を助けることができる。
【００９９】
図２４のマルチレベル符号は、図２４の第１レベルターボ符号が、４Ｄコンステレーションを６４「ターボ符号」４Ｄサブセットにさらに細かく分けることに基づいて設計されることを除き、図１４の符号と略同一であるように設計される。このような４Ｄサブセットはそれぞれ、図１７におけるビットパターンＸ５Ｘ４Ｘ３Ｘ２Ｘ１Ｘ０によって識別される。このようなより細かい分割を用いることで、第１レベルターボ符号およびそれに関連するマルチレベル符号のパフォーマンスがさらに改良される。
【０１００】
ちょうど図１４のターボ符号のように、図２４のターボ符号の内符号および外符号はそれぞれ、それ自体だけでは「不良」なトレリス符号である。実際に、図２４の４Ｄ３２状態レート４／５内符号または外符号は、符号がそれ自体だけで用いられる場合、図１４の４Ｄ１６状態レート３／４符号よりもさらに悪い。また、ちょうど図１４のターボ符号のように、これらの「不良」なトレリス符号が連接されてターボ符号を形成する場合に、より良好なパフォーマンスにつながる。ここでも、「不良」な４Ｄ３２状態レート４／５符号について普通ではないことは、優れたパフォーマンスを達成するためにターボ符号によって必要とされる比較的大きなサブセット内最短距離である。
【０１０１】
図２７の実施形態において、第１レベル４Ｄレート２／４ターボ符号は、先の実施形態において用いられた手順と同じ手順を用いて設計される。しかし、対応するマルチレベル符号の構築には、異なる哲学が用いられる。先の実施形態では、第１レベルターボ符号はそれだけで非常に強力であり、単純な第２レベル符号のみを割り当てに必要とする。本実施形態では、第１レベルターボ符号は十分に強力ではなく、そのパフォーマンスを引き上げるために、上位レベルからの大きな助けが必要である。
【０１０２】
具体的に、図２７のターボ符号は、４Ｄコンステレーションを１６のみの「ターボ符号」４Ｄサブセットへの分割に基づいて構築される。このようなサブセットはそれぞれ、図２８におけるビットパターンＸ３Ｘ２Ｘ１Ｘ０によって識別される。その結果、ターボ符号は３ｄＢの符号化利得しか提供できない。しかし、「ターボ符号」サブセットの正しく復号化されたシーケンス内で発生するエラーイベントを考慮に入れない場合、ターボ符号の符号化利得は６ｄＢを上回って示され得る。
【０１０３】
「ターボ符号」サブセットの正しく復号化されたシーケンス内のエラーイベントをさらに修正するために、図２７に示すように、むしろ強力かつ複雑な第２レベルの拡張された単一誤り修正（ＥＳＥＣ）符号を用いた後に、単純な第３レベルＳＰＣ符号を用いる。３つの符号は一緒に、少なくとも６ｄＢの符号化利得を達成する。
【０１０４】
符号設計の説明において、本発明者等はこれまで暗黙的に２Ｄコンステレーションは複数の振幅を有するか、あるいは定振幅４ＰＳＫであるものと想定してきた。２Ｄコンステレーションが定振幅１６ＰＳＫの場合、図１の実施形態は変更のないままである。４Ｄコンステレーションの構成要素である２Ｄコンステレーションが定振幅８ＰＳＫである場合、図１４、図２４、および図２７の実施形態はわずかに変更される。この変更は、８ＰＳＫの異なる距離特性に起因するものであり、図１７および図２８に示されるコンステレーションマッピングテーブルにのみ影響を及ぼす。図２３および図３０のマッピングテーブルを代わりに用いるべきである。しかし、ターボ符号の設計に用いられる手順を含め、その他すべては変更のないままであることに留意されたい。
【０１０５】
４Ｄコンステレーションの構成要素である２Ｄコンステレーションが、複数振幅１６ＱＡＭの代わりに定振幅１６ＰＳＫである場合、図３１の実施形態に示すように、より単純なマルチレベル符号を構築することができる。この簡易化もまた、１６ＰＳＫの異なる距離特性に起因するものである。具体的に、図３１において、第１レベル４Ｄレート２／４ターボ符号は、その他の実施形態について先に述べた手順と同じ手順を用いて、４Ｄコンステレーションを１６の「ターボ符号」４Ｄサブセットに分けることに基づいて設計される。このような４Ｄサブセットはそれぞれ、図３０におけるビットパターンＸ３Ｘ２Ｘ１Ｘ０によって識別される。しかし、図２７の４Ｄレート２／４ターボ符号とは異なり、ここでのターボ符号は十分に強力であり、単純な第２レベルＳＰＣ符号のみが割り当てに必要とされる。
【０１０６】
他の変形
上記は単に本発明の原理を例示するにすぎず、多くの変形が可能である。次に、このいくつかの例が続く。
【０１０７】
好ましい実施形態では、内符号器および外符号器はトレリス符号器であるが、他のタイプの冗長符号器を使用することも可能である。多くのタイプの符号をトレリスで表すことができるため、ある意味においてトレリス符号と呼ぶことができるが、本明細書で用いるトレリス符号という用語は、有限状態機械である符号を意味する。大部分のシンボル間隔それぞれについて、現在の状態、次の状態、現在の入力ビット、現在の出力ビット、および現在の出力ビットによって識別されるコンステレーションのシンボルの座標の間の関係により、符号を定義することができる。これらの関係は、（ａ）現在の出力ビット数は、現在の入力ビット数よりも大きい、（ｂ）現在の出力ビットは、現在および前の入力ビットのいくつかの関数であり、任意の将来の入力ビットの関数ではない、かつ（ｃ）シンボルの座標は一緒に現在の出力ビットによって識別される、すなわち、シンボルの少なくとも１つの座標は、少なくとも２つの現在の出力ビットの関数である、ことを特徴とする。
【０１０８】
上位ビット、すなわちトレリス外符号器に与えられないビット、が符号化されない場合に、適切な用途において適切なパフォーマンスを達成することができる。このような場合、上位ビットを直接用いて、ターボ符号器出力ビットによって識別されたサブセットからシンボルを選択する。
【０１０９】
たとえば、図１のリード線１０４６上および他の図における対応するリード線上の符号化されていないビットの数を表すパラメータｍは、たとえば、１９９０年７月１０日付けで本発明者に付与された米国特許第４，９４１，１５４号に記載の技術を用いて達成可能な小数値をとりうる。
【０１１０】
当分野で既知のいわゆる整形技術を用い、低エネルギ信号点に好都合なマッピングと共に拡張された信号コンステレーションの使用を通して「整形」利得を達成することができる。
【０１１１】
非ターボ符号化ビットをターボ符号化ビットと共にインタリーブする必要はない。むしろ、非ターボ符号化ビットは、所望であれば、パフォーマンスに悪影響を及ぼすことなく、インタリーバを迂回することができる。
【０１１２】
本明細書に開示される各ターボ符号は２つの符号器の連接を含むが、適宜設計されたインタリーバと組み合わせられた３つ以上の符号器の連接を介してさらに良好なパフォーマンスを達成しうる。
【０１１３】
本明細書に明示的に示されるすべての実施形態において、処理は外符号化からインタリーブを通して内符号化してマッピングするように進む。しかし、依然として入力ビットから選択されたシンボルベースで同等の結果を達成しながら、流れを異なる順序にすることも可能である。たとえば、Ｖ．３４として知られる規格は、いわゆる事前符号化を含み、符号化、この場合には従来のトレリス符号化が、マッピングが行われた後に実行される処理フローが可能であり、また、その一般的なフレーバーを本明細書に同様に記載されるターボ符号と併用する処理フローも可能な場合がある。
【０１１４】
本明細書に開示する実施形態とは対照的に、内符号器がその入力としてすべての外符号器出力ビットを有することが可能である。したがって、たとえば、内符号器１１０が、その入力としてビットＸ２、Ｘ１だけではなくビットＸ３も有するレート３／４符号器であることも可能である。レート３／４符号はレート２／３符号よりも大幅に複雑であるが、しかしここで、レート３／４符号を用いることでターボ符号全体に達成されるさらなる符号化利得の量は非常に小さいか、または存在しない可能性が高い。さらに、このような複雑性が増大した符号と併せてより長いインタリーバを用いない限り、実際には符号化利得の損失が発生し得る。さらに、不利なことに、より長いインタリーバを使用すると待ち時間が増大する。
【０１１５】
それぞれ内符号器および外符号器の状態数であるパラメータＭ１およびＭ２は、特定の環境において有利であるとわかっている任意の値であることができる。しかし、一方または他方の符号器の状態数を増大することによる追加の複雑性に耐えられる場合、複雑性の増大に起因するパフォーマンスの向上は、Ｍ２を増大するよりもＭ１を増大するほうが大きい。
【０１１６】
本明細書に記載した以外のインタリーバおよびトレリス符号器を使用してもよい。
本明細書に開示する各実施形態において、内符号器および外符号器は同じレートを有する。すなわち、双方ともレート２／３、レート３／４、またはレート４／５である。しかし、内符号器および外符号器は、互いに異なるレート、ならびに開示する実施形態で使用される３つのレートとは異なるレートを有してもよい。
【０１１７】
ターボ符号は、本明細書に開示したものとは対照的に、シンボル間の距離が同じであるより小さなコンステレーションの使用を含む、本明細書に開示されるもの以外の技術によって終了してもよい（このような方法は利点を提供しないように見え、実際に、終了されたシンボル間隔中のシンボルのエラーレートパフォーマンスが低下することになる）。さらに、本ターボ符号は、終了技術をまったく採用せずとも使用することができる。
【０１１８】
本明細書に開示されるトレリス符号はすべてシステム符号（すなわち入力ビットはすべて、様々な現在および符号状態変数の関数である少なくとも１つの冗長ビットと共に出力ビットとして現れる）であるが、非システム的であることも可能である。しかし、非システム符号を内符号に用いると、全体的なターボ符号パフォーマンスにかなりの悪影響を及ぼすようである。
【０１１９】
リード線１０４、３０４等の少なくともいくつかのビットが、これらのビットがインパルス雑音または他の障害の作用から保護するために、リードソロモンまたは他の符号によって処理されていることが望ましいことがある。実際に、開示した様々なマルチレベル符号実施形態において上位符号として示されるパリティチェックまたは誤り修正符号の代わりに、リードソロモンまたは他の符号を用いることができる。
【０１２０】
例示的な実施形態において、双方の符号器は同じ次元を有する。すなわち、それぞれ１つが、各シンボル間隔について１つの冗長ビットを生成する（すなわち状態遷移を行う）。しかし、これが当てはまらない、たとえば、外符号が四次元符号でありうる価値のある符号を設計することも可能な場合もあり、これは、各四次元シンボルについて１つの冗長ビットを生成する一方で、内符号は二次元符号であること、および四次元シンボル間隔の２つの構成要素である二次元信号間隔それぞれについて１つの冗長ビットを生成することを意味する。
【０１２１】
所望であれば、パルス整形および変調前に、コンステレーションマッパによって生成されるデータシンボルをさらに処理してもよい。１つのこのような処理は、たとえば、１９９３年３月３日付けで本発明者に付与された米国特許第５，１９５，１０７号に開示されるものなどのトムリンソン事前符号化であり得る。
【０１２２】
１つのみの外符号器出力ビット（たとえば、図１におけるビットＸ３）が、本明細書に明示的に示される各実施形態において、内符号によってさらに符号化されない場合であっても、２つ以上の外符号器出力ビットを内符号によりさらに符号化しないことも可能である。
【０１２３】
すべての符号器出力ビットが常に送信されるわけではないことを意味するいわゆる「パンクチャリング」にターボ符号を受けさせることが望ましいと判明する場合もある。この方法は、パンクチャリングされたシグナリング間隔中に、より小さなシグナリングコンステレーションを使用することができ、これは、たとえば、タイミング回復および／または搬送波位相回復の観点から有利でありうる。あるいは、同じサイズのコンステレーションを使用することが可能であり、所望であれば、ある種類の補助情報を伝送することができる。
【０１２４】
当業者は、本明細書におけるブロック図は、本発明の原理を具現する例示的な回路の概念図を表していることを理解されよう。図に示される各種要素の機能は、好ましい実施形態において、個々のハードウェア要素ではなく、１つまたは複数のプログラムされたプロセッサ、デジタル信号処理（ＤＳＰ）チップ等によって実施される。
【０１２５】
本明細書の特許請求の範囲において、特定の機能を実行する手段として表される任意の要素は、たとえば、ａ）その機能を実行する回路素子の組み合わせ、またはｂ）機能を実行するため、ソフトウェアの実行に適した回路と組み合わせられた任意の形態のソフトウェア（したがって、ファームウェア、マイクロ符号等を含む）を含む、その機能を実行するあらゆるやり方を包含するよう意図される。かかる特許請求の範囲によって定義される本発明は、説明された各種手段によって提供される機能性が組み合わせられ、共に特許請求の範囲が求めるようになるという事実にある。したがって、本出願人は、それらの機能性を提供することのできる任意の手段を本明細書に示されるものの同等物とみなす。
【０１２６】
本明細書に開示される符号化方式は二次元または四次元であるが、本発明は、一次元コンステレーション、ならびに次元数が奇数である４よりも大きな次元のコンステレーションを含む、任意の所望の次元のコンステレーションと併用することができる。
【０１２７】
したがって、当業者は、本明細書に明示的に図示または説明されていなくとも、本発明の原理を具現し、本発明の精神および範囲内にある多くの構成を考案可能なことが理解されるであろう。
【図面の簡単な説明】
【図１】本発明の原理に従っての使用に適したターボ符号器の第１の実施形態を備える送信機の図である。
【図２】図１のターボ符号器において使用可能な内符号器および外符号器の例示的な実施形態の図である。
【図３】図１のターボ符号器において使用可能な内符号器および外符号器の例示的な実施形態の図である。
【図４】図１のターボ符号器において使用可能な内符号器および外符号器の例示的な実施形態の図である。
【図５】図１のターボ符号器のインターリーバの動作を示す図である。
【図６】図１のターボ符号器が使用可能な様々な信号コンステレーションの図である。
【図７】図１のターボ符号器が使用可能な様々な信号コンステレーションの図である。
【図８】図１のターボ符号器が使用可能な様々な信号コンステレーションの図である。
【図９】図１のターボ符号器が使用可能な様々な信号コンステレーションの図である。
【図１０】ターボ符号化信号を復号化するための例示的なターボ復号器を備える受信機の図である。
【図１１】ターボ復号器の動作の説明を助ける図である。
【図１２】ターボ復号器の動作の説明を助ける図である。
【図１３】ターボ復号器の動作の説明を助ける図である。
【図１４】本発明の原理に従っての使用に適したターボ符号器のさらなる実施形態を備える送信機の図である。
【図１５】図１４のターボ符号器において使用可能な内符号器および外符号器の例示的な実施形態の図である。
【図１６】図１４のターボ符号器において使用可能な内符号器および外符号器の例示的な実施形態の図である。
【図１７】図１４のターボ符号器において使用されるビットコンバータの動作を例示的に示す図である。
【図１８】図１４のターボ符号器において使用されるビットコンバータの動作を例示的に示す図である。
【図１９】図１４のターボ符号器が使用可能な様々な信号コンステレーションの図である。
【図２０】図１４のターボ符号器が使用可能な様々な信号コンステレーションの図である。
【図２１】図１４のターボ符号器が使用可能な様々な信号コンステレーションの図である。
【図２２】図１４のターボ符号器が使用可能な様々な信号コンステレーションの図である。
【図２３】使用されるコンステレーションが図２２のコンステレーションである場合、図１４のターボ符号器において使用可能な１つのビットコンバータの動作を示す図である。
【図２４】本発明の原理に従っての使用に適したターボ符号器のさらなる実施形態を備える送信機の図である。
【図２５】図２４のターボ符号器において使用可能な内符号器および外符号器の例示的な実施形態である。
【図２６】図２４のターボ符号器において使用可能な内符号器および外符号器の例示的な実施形態である。
【図２７】本発明の原理に従っての使用に適したターボ符号器のさらなる実施形態を備える送信機の図である。
【図２８】図２７のターボ符号器において使用されるビットコンバータの動作を例示的に示す図である。
【図２９】図２７のターボ符号器が使用可能なコンステレーションの図である。
【図３０】コンステレーションが図２２のコンステレーションである場合、図２７のターボ符号器において使用されるビットコンバータの動作を例示的に示す図である。
【図３１】本発明の原理に従っての使用に適したターボ符号器のさらなる実施形態を備える送信機の図である。
【図１】
0003559547.tif 000013
【図２】
0003559547.tif 000014
【図３】
0003559547.tif 000015
【図４】
0003559547.tif 000016
【図５】
0003559547.tif 000017
【図６】
0003559547.tif 000018
【図７】
0003559547.tif 000019
【図８】
0003559547.tif 000020
【図９】
0003559547.tif 000021
【図１０】
0003559547.tif 000022
【図１１】
0003559547.tif 000023
【図１２】
0003559547.tif 000024
【図１３】
0003559547.tif 000025
【図１４】
0003559547.tif 000026
【図１５】
0003559547.tif 000027
【図１６】
0003559547.tif 000028
【図１７】
0003559547.tif 000029
【図１８】
0003559547.tif 000030
【図１９】
0003559547.tif 000031
【図２０】
0003559547.tif 000032
【図２１】
0003559547.tif 000033
【図２２】
0003559547.tif 000034
【図２３】
0003559547.tif 000035
【図２４】
0003559547.tif 000036
【図２５】
0003559547.tif 000037
【図２６】
0003559547.tif 000038
【図２７】
0003559547.tif 000039
【図２８】
0003559547.tif 000040
【図２９】
0003559547.tif 000041
【図３０】
0003559547.tif 000042
【図３１】
0003559547.tif 000043