JP3607675B2 - ターボ符号終了 - Google Patents
ターボ符号終了 Download PDFInfo
- Publication number
- JP3607675B2 JP3607675B2 JP2001500444A JP2001500444A JP3607675B2 JP 3607675 B2 JP3607675 B2 JP 3607675B2 JP 2001500444 A JP2001500444 A JP 2001500444A JP 2001500444 A JP2001500444 A JP 2001500444A JP 3607675 B2 JP3607675 B2 JP 3607675B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- encoder
- bits
- bit
- redundant
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2703—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/256—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with trellis coding, e.g. with convolutional codes and TCM
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/258—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with turbo codes, e.g. Turbo Trellis Coded Modulation [TTCM]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/296—Particular turbo code structure
- H03M13/2972—Serial concatenation using convolutional component codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/2993—Implementing the return to a predetermined state, i.e. trellis termination
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
Description
この出願は、1999年5月28日付けで出願された米国仮出願第60/136583号、1999年10月8日付けで出願された米国仮出願第60/158473号、および2000年3月13日付けで出願された米国特許出願第09/524065号の利点を主張するものである。
【0002】
[発明の背景]
本発明はデジタルデータ伝送に関し、特に誤り修正符号に関する。
【0003】
畳み込み符号およびトレリス符号等の順方向誤り修正符号の途切れのない進歩により、モデム、無線通信システム、および他のデジタル通信システムの設計者は、所与のレベルのエラーレートパフォーマンスについて増大したビットレートの達成が可能である。何年にもわたって導入されてきた様々な革新の中に、いわゆるターボ符号がある。ターボ符号概念の中心は、繰り返し動作する対応する数のいわゆる軟入力/軟出力復号器を用いて(単一符号化と比較して)改良されたパフォーマンスを達成可能なように、インタリーバと組み合わせられた2つ以上の符号器を用いて入力データを符号化することである。
【0004】
ターボ符号の初期の説明は、C.Berrou他「Near Shannon limit error−correcting coding and decoding: Turbo codes」(1993 Int. Conf. Communication議事録(1993年5月、スイス、ジェノバ)、pp.1064〜1070)に見られる。Berrou他は、いわゆる並列連接ターボ符号を開示している。入力データは第1の畳み込み符号器に与えられ、入力データをインタリーブしたものが第2の畳み込み符号器に与えられる。次に、2つの符号器の出力ビットが、送信のため、二次元(2D)4−PSKシグナリングコンステレーションの1点にマッピングされる。符号器によって生成される冗長ビットのいくつかは、帯域幅効率(2D信号ポイント当たりのビットで測定される)を向上するため、マッピングステップに先立っていわゆるパンクチャリングを受けることができる。
【0005】
比較的高いエラーレートでは、並列連接されたターボ符号が優れた符号化利得を提供し、それによって有利に必要とされる受信する信号対雑音比のレベルを低減し、所望のレベルのエラーレートパフォーマンスを実現する。しかし、不利なことに、優れた符号化利得の達成には、極度に長いインタリーバが必要とされる。これは、多くの用途で望ましくない相当な終端間遅延またはレイテンシを導入する。さらに、並列連接ターボ符号は、符号化利得の向上が低エラーレートではそれほど劇的ではなく、実際に、より多くの従来の符号化および符号化を用いて達成されるものと同等であるか、さらには悪化することがある、いわゆるエラーフロア現象を示す。
【0006】
従来技術では、たとえばS.Benedetto他「Serial concatenation of interleaved codes: Performance analysis, design, and iterative decoding」(IEEE Trans. Inform. Theory, vol. 44, pp. 909−926, May 1998)によって開示される、いわゆる直列連接ターボ符号も知られている。この場合、入力データは第1の畳み込み符号器に与えられ、第1の符号器の出力ビットは、インタリーブ後に、第2の畳み込み符号器の入力ビットとして用いられる。次に、送信のため、第2の符号器の出力ビットが2D 4−PSKシグナリングコンステレーションの一点にマッピングされる。上記エラーフロア現象は、並列連接ターボ符号の場合よりも直列連接ターボ符号の場合の方が目立たず、よって低いエラーレートにおいてより良好な符号化利得を提供する。しかし、これらの直列連接ターボ符号は並列の場合よりも多くの冗長ビットを生成するため、あまり帯域幅に関して効率的ではない。さらに、直列連接の場合でも長いインタリーバが必要である。
【0007】
上記従来技術参照に記載の並列連接ターボ符号および直列連接ターボ符号のいずれも帯域幅に関して効率的ではなく、それぞれ2D信号点当たり2ビット未満の帯域幅効率を有する。しかし、より帯域幅効率のよい並列連接ターボ符号が知られている。たとえば、S.Benedetto他「Bandwidth efficient parallel concatenated coding schemes」(Electron. Lett., Vol. 31, pp. 2067−2069, 1995)およびP. Robertson他「Coded modulation scheme employing turbo codes」(Electron. Lett., vol. 31, pp. 1546−1547, 1995)を参照のこと。これらの参照に開示される構成は、Berrou構成に用いられる2D 4−PSKコンステレーションを有する畳み込み符号ではなく2D 8−PSKシグナリングコンステレーションと一緒に設計されるレート2/3トレリス符号を用いることで、2D信号点当たりに全2ビットの向上された帯域幅効率を特徴としながら、高いエラーレートにおいて高い符号化利得を達成する。しかし、これら後者の符号は依然として上記エラーフロア現象および長い遅延を示す。
【0008】
従来技術はまた、ターボ符号方法の利点を達成しながら、帯域幅効率を向上する別の方法は、少なくとも1つのレベルにおいて使用される符号がBerrouによって開示される種類の並列連接ターボ符号である、いわゆるマルチレベル符号化を採用することであるとも教示している。(周知のように、マルチレベル符号は、異なる符号の出力ビットを用いて段々と細かい信号コンステレーションのサブセットを選択し、最終的には単一の信号点を選択するものである)。このような符号は、U.Wachsmann他「Power and bandwidth efficient digital communication using turbo codes in multilevel codes」(Euro. Trans. Telecommun., vol. 6, pp. 557−567, Sept. 1995)に開示されている。しかし、かかるマルチレベル符号のエラーフロアおよび遅延特性は、非マルチレベル符号化構成において用いられる並列連接ターボ符号の特性にすぎないことが約束されており、またそれよりも悪い場合がある。
【0009】
1999年11月30日付けで出願されたSerial−Concatenated Turbo Codesという名称の米国特許出願第09/451070号は、第1の外符号器によって提供される少なくとも1つの冗長ビットを含む少なくともいくつかの出力ビットが、インタリーブ後に第2の内符号器によってさらに処理されるターボ符号を意味するものとそこでは定義された直列連接ターボ符号に向けられている。このようなターボ符号は、任意所望の次元N≧1であることができ、これは、送信するデータがN個組またはN次元のシンボルで表されることを意味する。このN座標は、符号器の出力ビットによって相互依存的に選択される。たとえばNが偶数の整数である場合、N次元の「シンボル間隔」中に、N/2 2D信号点の組み合わせとして、N次元のシンボルを便利に送信することができ、2D信号点のいわゆる信号空間座標はそれぞれ、2D「シグナリング間隔」中に、変調された搬送波信号の同相成分または直角位相成分の振幅によって表される。したがって、上記シンボルの間隔は、N/2のシグナリング間隔から構成される。N=2の場合の符号について、シンボル間隔およびシグナリング間隔は同じである。
【0010】
より具体的に、米国特許出願第09/451070号の発明の原理を具現するターボ符号では、a)内符号器および外符号器それぞれの状態は、シンボル間隔当たり1回のみ進められ、b)そのシンボル間隔の符号器の一方または双方によって生成されるすべてのデータビットおよび少なくとも1つの冗長ビットが、1つのシンボル間隔中に共に送信され、c)内符号器および外符号器はトレリス符号器である。この方法は、有利なことに従来の構成よりも少ない遅延を有するターボ符号を提供し、さらに、従来の構成では達成されない、エラーレートパフォーマンス、帯域幅効率、および復号器の複雑性の有利な組み合わせを提供すると共に、より目立たないエラーフロア(またはまったくない)を示す。内符号および外符号は、任意所望の次元の数でありうる。
【0011】
米国特許出願第09/451070号の発明の原理を具現する装置は、上記信号シンボル間隔内のデータビットおよび冗長ビットの送信に適応するに十分なサイズ(すなわちコンステレーション内のシンボルの数)の信号コンステレーションを利用する。さらに、好ましい実施形態において、ターボ符号、コンステレーション、および送信するビットとコンステレーションシンボルの間のマッピングは、所与のレベルのエラーレートパフォーマンスの達成に必要な符号の複雑性およびインタリーブ遅延が、ターボ符号、コンステレーション、およびマッピングが互いを鑑みて選択されない場合よりも小さくなるように、互いを鑑みて選択される。これは、当分野において「ジョイント設計(joint design)」と呼ばれ、以下より正式に定義される。
【0012】
様々な理由により、特定の用途では、ターボ符号を周期的に終了することが望ましい場合がある。これは、いくつかのシンボル間隔についてランダム入力データをターボ符号器に与えた後すぐに、各符号器を既知の状態にするのに十分な数のシンボル間隔にわたり、ランダム入力ビット以外のデータをターボ符号器に与えることを意味する。次に、ランダムデータビットは、再びターボ符号器に与えられ、その後符号が再び終了し、以下同様である。送信器において符号がどのように終了するかについて明示的な知識を有している復号器は、そうではない復号器よりも複雑性が低い(処理時間および/またはメモリ要件で測定される)可能性があるため、ターボ符号の終了が望ましい。さらに、たとえば1999年2月9日付けで出願された本発明者による米国特許出願第09/247704号に記載されている理由により、たとえばパケット伝送環境においてターボ符号(ならびにより従来的な畳み込み符号およびトレリス符号)を終了することが有利である。符号の終了はまた、エラー伝播の作用を含む方法として、いわゆる連続伝送環境、たとえば音声帯域モデム用途においても有利でありうる。
【0013】
【発明の概要】
本発明者は、別個のシンボル間隔に外符号および内符号を独立して終了することにより、全体的なターボ符号を終了することができることを発見した。符号は、符号器を既知の状態にするため、多数のシンボル間隔中に所定の入力ビットを符号器に提供することで終了する。
【0014】
本発明者は、外符号器は出力ビットの生成を許されるべきではなく、これにより、内符号が終了しているシンボル間隔について、内符号器によるさらなる符号化が必要なことをさらに認識した。これは、内符号は所定の入力ビットを用いて終了すると共に、ここで、内符号器は、終了しているシンボル間隔について外符号器からの出力ビットの符号化に利用不可能であるという事実によるものである。したがって、本発明の一実施形態によれば、外符号器は入力ビットを符号化しないため、内符号器が終了しているシンボル間隔中にその状態を進めることはない。さらに、内符号器は、外符号器が終了しているシンボル間隔について外符号器によって生成される出力ビットの符号化に利用可能でなればならない。仮にこれが当てはまらない場合には、終了シンボル間隔中に外符号器によって生成されるビットは決して送信されず、復号器がこれらのビットに適切な動作を要求する。したがって、外符号が終了しているシンボル間隔中、内符号を終了することはできない。よって、上述したように、全体的なターボ符号は、別個のシンボル間隔で外符号および内符号を独立して終了することで終了することができる。
【0015】
本発明をさらに理解すると、内符号の終了により、内符号器が外符号器によって生成されたすべての出力ビットグループの少なくとも一部も符号化しなければならないという要件が妨げられないことが認識されよう。したがって、内符号器は、1)外符号器によって生成されるすべての出力ビットグループ、および2)内符号器を既知の状態にする所定のビットグループの双方を符号化しなければならない。ここで、本発明の一実施形態によれば、冗長外符号器が、入力ビットストリームを符号化して、第1のM出力ビットグループシーケンスを生成し、第2の冗長内符号器が、第2のNビットグループシーケンスを入力として有する。但し、NビットグループはM出力ビットグループを含む。内符号が終了され、内符号器が、予め定義されるXビットグループをNビットグループの部分として含めることで、既知の状態になる。但し、M=(N−X)である。このようにして、冗長外符号器から出力されるすべてのMグループを処理していながら、所定のビットグループを処理することで、冗長内符号器を既知の状態にすることができる。一実施形態において、第1のMビットグループシーケンスは、第2のNビットグループシーケンス内のビットグループが異なる順序になるようにインタリーブされる。すなわち、第1のシーケンス内のi番目のグループは、第2のシーケンス内のj番目になる。但し、少なくとも1対の値(i,j)についてi≠jである。さらに、冗長外符号器に対する入力として、所定のビットグループを提供することで、冗長符号器を既知の状態にすることが可能である。
【0016】
また、ターボ符号の全体的なパフォーマンスは、内符号の終了シンボル間隔について、内符号器の入力ビットが外符号器の出力からとられないということにより、悪影響を受けうることを認識した。この状況は、本発明の実施形態によれば、終了シンボル間隔中に、シンボル間の最短距離がより大きな、より小さなシンボルコンステレーションを用いることで改善することができる。
【0017】
本発明のさらに別の実施形態によれば、符号の終了に使用される所定のビットグループは、符号器に予め格納されているビットの関数である。符号器が有限状態機械である場合、これら予め格納されるビットは符号器の状態の関数である。
【0018】
本発明のこれらおよび他の利点は、以下の詳細な説明および添付図面を参照することで当業者には明白となろう。
【0019】
[詳細な説明]
ターボ符号器概観
図1は、本発明の原理に従っての使用に適した直列連接ターボ符号器を備える送信機のブロック図である。リード線101上の一連のデータビットはデータをランダム化する従来のスクランブラ103に、それから直列/並列コンバータ105に与えられる。直列/並列コンバータ105は、持続時間T秒のシンボル間隔の各シーケンスごとに、まとめてリード線104と本明細書では呼称するその出力リード線1041、1042、および1043に多くのデータビットを含むデータワードを提供する。図1の送信機の特定の実施形態において、2データビットがリード線1041に提供され、1ビットがリード線1042に提供され、mビットがリード線1043に提供される。しかし、最初に説明する一実施形態においては、リード線1041上のビットであるX3、X2しか存在しないものと想定する。したがって、続く説明の冒頭部分には、リード線1042および1043上に他のデータビットは存在せず、もちろん、図1に示す回路によって実行される処理はかかる他のビットに関与しないものと想定する。
【0020】
ビットX3、X2は、M1状態レート2/3符号器であるトレリス外符号器106に与えられる。符号器106はいわゆるシステム符号器であるため、入力ビットX3、X2をその3つの出力ビットのうちの2つとして提供する。符号器の第3の出力ビットは、冗長ビットX1である。外符号器106の例示的な実施形態は、図2および図3に示されている。図2の符号器は、随時そのコンテンツが(23=)8ビットの組み合わせのうちのいずれか1つである3つの遅延要素を備えるという点において、8状態符号である。各遅延要素の遅延はシンボル間隔に等しいため、遅延要素に格納される値、ひいては符号器の状態は、新しい入力ビットX3、X2のセットの到来に対応して、シンボル間隔ごとに1度変化する。図3の符号器は4つの遅延要素を有するため、(24=)16状態符号器である。
【0021】
ビットX3、X2、X1は、シンボルインタリーバ108に与えられる。シンボルインタリーバ108の存在により、受信機における復号化プロセスの中間ポイントにおいて発生しうるエラーバースト(後述)が、さらに処理される前にランダム化され、それによって復号化プロセス全体のパフォーマンスが確実に強化される。ここでは、後に、3つのビットX3、X2、X1は共にインタリーバの出力リード線109に提供されることを単に留意するだけで十分である。特に、ビットX2、X1はリード線109のうちのリード線1091に提供され、ビットX3はリード線109のうちのリード線1092に提供される。ビットX2、X1は、M2状態レート2/3符号器であるトレリス内符号器110に与えられる。符号器110もまたシステム符号器であるため、入力ビットX2、X1をその3つの出力ビットのうちの2つとして提供する。符号器110の第3の出力ビットは冗長ビットX0である。内符号器110の例示的な実施形態は、図4に示されている。図4の内符号器は、例示的に図2の符号器と同一の8状態符号器である。
【0022】
4つのビットX3、X2、X1、X0は、シンボルコンステレーションマッパ112に与えられる。ここで、シンボルコンステレーションは2Dコンステレーションである。X’ではなくY’を用いてシンボルコンステレーションマッパに与えられるビットを参照することによる、この時点における表記法の変更が便利であることが分かる。したがって、ビットX3、X2、X1、X0は図ではY3、Y2、Y1、Y0と改称されるが、実際には同じビットである。
【0023】
十分なサイズ(すなわち、コンステレーション内のシンボル数)の信号コンステレーションを利用して、単一のシンボル間隔内のデータビットおよび冗長ビットの送信に適応する。この例において、4つのビットY3、Y2、Y1、Y0の値がコンステレーションマッパ112によって用いられ、単一シンボルをそれぞれ含む、16シンボル信号コンステレーションの(24=)16のサブセットの1つを選択する。(後述する実施形態では、各サブセットは2つ以上のシンボルを含み、他のビットを用いて識別されたサブセットから特定のシンボルを選択する)。コンステレーションは、たとえば、図6に示すQAMコンステレーションであっても、または図7に示す一定振幅のPSKコンステレーションであってもよい。シンボルに対するビット値の例示的なマッピングは、これらの図に示されている。したがって、図6において、たとえば、ビットパターンY3Y2Y1Y0が値1101を有する場合、このパターンは、コンステレーションの右下の角においてシンボルにマッピングされる。
【0024】
マッピングは、シンボルの少なくとも1つの座標の値が、2つ以上のターボ符号出力ビットの関数であるという基準を満たす。換言すれば、シンボル座標の値は、ターボコーダ出力ビットによって独立して決定される。この特定の例では、ターボ符号は2Dターボ符号であるため、各シンボルは2つの座標しか持たない。ターボ符号は4つの出力ビットを有するため、少なくとも1つの座標の値は必然的に、2つ以上のターボ符号出力ビットの関数である。(実際に、この例では、双方の座標がこの基準を満たす)。シンボル座標の値はターボコーダ出力ビットによって独立して決定されるという上記事実の結果、任意の2つの異なるターボ符号出力ビットパターンによって識別される2つのサブセットの間のサブセット間の最小ユークリッド距離は、これら2つのビットパターンの間のハミング距離の関数ではない。同様に、上記考察は本明細書に開示される他のターボ符号それぞれに対して適用可能であることが容易に示される。(この明細書を通して、「最短距離」および「最短ユークリッド距離」という用語は、相互交換可能に使用される)。
【0025】
任意特定の時点でシンボルコンステレーションマッパ112の出力に提供されるシンボルは、シンボルPと表される。シンボルPは従来の出力回路114に与えられ、出力回路114が送信チャネルへの印加に適した信号を生成する。したがって、回路114は、たとえば、パルス整形フィルタおよび変調器を備えることができる。チャネルがフェージングまたは他のバーストノイズ現象を特徴とする場合、回路114は、このような現象の作用を改善するように設計された既知のタイプのインタリーバも備えうる。(このようなインタリーバをシンボルインタリーバ108と取り違えないこと)。
【0026】
外符号器106、シンボルインタリーバ108、および内符号器110が組み合わせられて、ターボ符号器を構成する。ターボ符号器は、より具体的に直列連接ターボ符号器であり、本明細書では、これにより、外符号器によって提供される少なくとも1つの冗長ビットを含む出力ビットの少なくともいくつかが、内符号器によってさらに処理されることが意味される。この例では、特に、外符号器106の出力におけるデータビットX2および冗長ビットX1が、インタリーブ後に内符号器110に与えられる。
【0027】
より具体的には、a)内符号器および外符号器それぞれの状態は、上述のようにシンボル間隔当たり1回のみ進められ、b)そのシンボル間隔の符号器によって生成されるすべてのデータビットおよび少なくとも1つの冗長ビットが、1つのシンボル間隔中に共に送信される。考察している実施形態においては、次に、今述べたようにすべてのデータビット(すなわちビットX3、X2)およびこの場合では特定のシンボル間隔について双方の符号器によって生成されたすべての冗長ビット(ビットX1、X0)を用いて、送信するためのシンボルを選択し、したがって実際に一緒に送信される。この方法は、以下のよりふさわしい時点で詳細に説明される多数の利点を提供する。
【0028】
ターボ符号器インタリーバ
インタリーバは、本発明の原理によれば、そのインタリーブされた要素として、たとえば個々のビット、またはシンボル間隔の構成シグナリング間隔に関連するビットではなく、特定のシンボル間隔に関連するビットを用いる。したがって、シンボルインタリーバは、特定のシンボル間隔に関連するすべてのビットをビットグループ単位レベルでインタリーブする。本発明者は、このような方法は、インタリーバによって導入される遅延を有利に劇的に低減すると共に、ターボ符号の終了に必要なステップを簡略化することを見出している。
【0029】
図5は、外符号器および内符号器が図2および図4それぞれの符号器である場合に有用なシンボルインタリーバ108の例示的な実施形態の概念図である。特に、インタリーバ106は、ビットX3、X2、X1が分離不可能なグループとして扱われ、特定の1つのコンステレーションシンボルによって表される(ビットX0と共に)という点において、シンボルインタリーバと呼ばれる。一連の196のこのようなグループは、いわゆるインタリーブフレームを含む。入力ビットグループは0から195に番号付けられる。インタリーバは、概念上、J個の行およびK個の列を有する格納行列として考えることができる。例示的にJ=14およびK=14である。(この例ではJ=Kであるが、常にこれが当てはまる必要はない)。ビットグループは、外符号器106によって生成され、シンボルインタリーバ108に与えられるにつれ、図5に示されるように行列に挿入される。すなわち、グループ0は行−列位置0−0に、グループ1は0−2に挿入され、以下同様である。196ビットグループは、すべて格納された後、インタリーバから列単位で読み出される。したがって、ビットグループの出力順序は、0、28、56、...、182、7、35、...、167、195である。後述するいわゆるターボ符号の終了の説明を助けるため、行列の特定要素が図5において丸が付けられている。
【0030】
ビットグループは、大部分について、連続した入力ビットグループがK1列だけ隔てられているパターンに従って各行に挿入される。例示的に、K1=2である。したがって、たとえば、ビットグループ0および1は列0および列2に挿入される。さらに、ビットグループは、大部分について、連続した隣接する入力ビットグループがJ1行あるいは(J1−1)行だけ隔てられているパターンに従って各行に挿入される。たとえば、第1のKビットグループ0から13は行0に挿入されるが、第2のKビットグループ14から27は行7に挿入される(J1=7の隔たり)。次に、第3のKビットグループの集まり28から41は行1に挿入されるが((J1−1)=6の隔たり)、第4のKビットグループの集まり42から55は行8に挿入され(J1=7の隔たり)、以下同様である。全体的な効果は、インタリーバの入力における任意の2つの連続したビットグループが、インタリーバの出力における少なくともK1×Jビットグループだけ隔たられ、インタリーバの出力における任意の2つの連続したビットグループはインタリーバの入力における少なくとも(J/J1×K)ビットグループだけ隔てられることになる。従来の列単位/行単位のインタリーブ(J1=K1=1を有する)は、本ターボ符号と併せて使用することが可能であるが、図5に示すようなインタリーバが好ましい。これは、J×Kビットグループという所与のインタリーバサイズについて、図5のインタリーバを用いる場合に、インタリーバの入力または出力における連続したビットグループ間の隔たりが大きいためである。これは、所与のJおよびKについてより良好なパフォーマンスを有するターボ符号を提供するか、または同じパフォーマンスについて、ターボ符号がより小さなJおよびKを使用することを可能にし、したがってより短いインタリーブ遅延を有することが可能である。
【0031】
一般的な場合、JおよびKに使用される値は、インタリーブがターボ符号化自体にマッチングするように選択されるべきである。特に、Jは、内符号のいわゆる復号化深さの関数として選択されるべきであり、Kは外符号の復号化深さの関数として選択されるべきである。本明細書に記載される様々な実施形態に有利なJおよびKの値を表1に示す。これらの実施形態はそれぞれ有利にJ1=J/2およびK1=2を有しうるが、J1およびK1の他の値が、経験的に決定可能なように、さらに良好なパフォーマンスを提供する場合もある。
【0032】
【表1】
【0033】
JおよびKの値が偶数の整数である場合、シンボルインタリーバの動作は、次のように正式に説明することができる。
【0034】
シンボルインタリーバは、J・Kビットグループのブロックを読み、これらをJ×K行列に構成してから(後述するような行単位にではない)、一番左側の列の最上部にあるビットグループを最初に読み出して、列単位でこれらを読み出す。ここで、各ビットグループは、シンボル間隔に搬送される符号化ビットおよび符号化されていないビットをすべて含む。
【0035】
より正確に、インタリーバのパラメータJおよびKをJ1およびK1それぞれの整数倍であるものとする。インタリーバの入力における各ビットグループのシーケンス番号i、i=0、1、...、またはJ・K−1を次のように表現する。
i=a1・(J・K/J1)+a2・K+a3・(K/K1)+a4
(式中、係数{aq}は負ではない整数であり、iがJ・K/J1で除算された場合、
【数1】
が余りであり、Z1がKで除算された場合、
【数2】
が余りであり、Z2がK/K1で除算される場合、a4が余りであるように、または同等に、a1<J1、a2<J/J1、a3<K1、およびa4<K/K1であるようなものである。)そうすると、i番目の入力ビットグループは、以下を有するj番目の出力ビットグループとして読み出される。
j=a4・(J・K1)+a3・J+a2・J1+a1
【0036】
上位ビット
上述したように、単一のシンボル間隔内でのデータビットおよび冗長ビットの送信の適応に十分なサイズの信号コンステレーションが利用される。実際に、ターボ符号器によって処理されるこれらを越える追加ビットを、適宜より大きなシンボルコンステレーションを用いることで、シンボル間隔中に送信することが可能である。特に、次に、先の想定とは対照的に、直列/並列コンバータ105がリード線1042および1043にデータビット、具体的には単一データビット(この例では)をリード線1042に、そしてmデータビットをリード線1043に提供する場合を考える。これらは、本明細書において「上位ビット」と呼称される。
【0037】
特に、リード線1042上のビットX4は、符号が符号語長J・Kビットを有し、これらビットの最初のJ・K−1が入力ビットであり、最後のビットは冗長パリティチェックビットであり、符号のハミング距離は2であることを意味するパラメータ(J・K、J・K―1、2)を有する単一パリティチェック(SPC)符号器107に与えられる。JおよびKは、上記インタリーバパラメータJおよびKである。したがって、J・K(この例では、=196)シンボル間隔の各インタリーブフレームについて、直列/並列コンバータ105は、最初の((J・K)−1)(=195)シンボル間隔それぞれについて、但し最後の196番目のシンボル間隔を除き、データビットX4を提供する。SPC符号器107は、各ビットX4をその出力リード線1022に直接渡す。196番目のシンボル間隔中には、SPC符号器107は、リード線1022に、((J・K)−1)データビットに基づく値のパリティチェックビットを提供する。符号器107とターボ符号器との組み合わせがいわゆるマルチレベル符号を構成する。より具体的に、符号器107の使用により、1993年11月2日付けで本発明者に付与された米国特許第5,258,987号に述べられる原理に従い、システムがターボ符号によって与えられる符号化利得を完全に利用できるようになる。リード線1022上の符号器107の出力もまた便宜上「X4」とラベルされるが、上記説明から、これらビットのJ・K毎の1つはリード線1042からのビットX4ではなく、むしろ、符号器107内から生成されるパリティチェックビットであることが理解されるだろう。
【0038】
リード線1022上のビットX4は、リード線1043上のm個のビットX5、X6、...と共に、上述したように、リード線1021上のビットX3、X2、X1と共にシンボルインタリーバ108に与えられる。例示的に、上記想定したようにビットX3、X2、X1のみではなく、これらのビットはすべて、インタリーバ内の分離不可能なグループとして扱われる。リード線1093上のインタリーバ出力ビットX4およびリード線1094上のビットX5、X6、...は、図ではビットY4、Y5、Y6、...と改称され、上述したように、ビットY3、Y2、Y1、Y0と共にコンステレーションマッパ112に与えられる。
【0039】
2つの場合のシンボルコンステレーションおよびマッピングは、図8および図9に示されている。図8は(26=)64シンボルコンステレーションであり、各シンボルによって表される6ビットは、ビットY5、Y4、Y3、Y2、Y1、Y0である。すなわち、これはm=1の場合である。図9は、m=3の場合に使用可能な256シンボルコンステレーションである。図9では、図面を簡略化するため、ビットY4、Y3、Y2、Y1、Y0のマッピングのみが示されている。すなわち、各5ビットパターンY4Y3Y2Y1Y0は、コンステレーションにおける8つの異なるシンボルに関連する。また図面を簡略化するため、二進数ビットパターン自体ではなく、各二進数ビットパターンの十進数同等物が示されている。特定の5ビットパターンの各十進数同等物に関連する8つのシンボルの特定の1つの選択は、リード線1094上のm(=3)個のビットY7、Y6、Y5の値によって決定される。したがって、図9に例として示すように、ビットパターンY7Y6Y5Y4Y3Y2Y1Y0=11010101は、図において「21」とラベルされる8つのシンボルのうちの1つを識別し(二進数10101=十進数の21)、ビットパターン11110101は、これら8つのシンボルのうちの別の1つを識別する。図9のコンステレーションの非長方形状は、たとえば16×16方形コンステレーションと比較して、送信信号のピーク対平均値のパワー比を有利に低減する。さらに、小量のいわゆる整形利得を提供する。
【0040】
上記に基づき、かつたとえば図9を注意深く考慮すると、ビットY3、Y2、Y1、Y0すなわちターボ符号器出力ビットが、全体のコンステレーションのそれぞれ16シンボルを含む16のサブセットの1つを識別し、ビットY7、Y6、Y5、Y4が識別されたサブセットから特定のシンボルを選択することが分かるであろう。全体のコンステレーションを16のサブセットに分割することは、各サブセットにおけるシンボル間の最短距離(いわゆる、サブセット内最短距離)が最大化されるように行われる。仮に符号器107が存在しない場合、ビットY7、Y6、Y5、Y4と各サブセットのシンボルの間のマッピングはランダムであることができる。しかし、符号器107の存在の符号全体に対する利点を実現するためには、そのマッピングがランダムであることはできない。むしろ、ビットY4を用いて、ターボ符号出力ビットY3、Y2、Y1、Y0によって識別されるサブセットのリファインされた8シンボルサブセットを識別すべきである。各16シンボルサブセットの分割は、8シンボルのリファインされたサブセットそれぞれのサブセット内最短距離(上述したように、特定の十進数で識別される)が最大化されるように行われるべきである。そして、ランダムマッピングを用いてビットY7、Y6、Y5を使用し、識別されたリファインされたサブセットの8つのシンボルの1つを選択することができる。
【0041】
ターボ復号器
図10は、図1の送信機、ならびに本明細書に記載のその他の送信機によって送信されるシンボルを復号化するターボ復号器を備える受信機のブロック図である。復号器の全体的の構造は、当分野で既知のターボ復号器と同様である。たとえば、Hagenauer他「Iterative decoding of binary block and convolutional codes」(IEEE Trans. Inform. Theory, vol. 42 pp. 429−445, 1996)を参照のこと。ターボ復号器の動作の概観をまず提示し、その後により詳細な説明が続く。
【0042】
復号器の中心には、2つの双方向ビタビ復号器、すなわち内復号器206および外復号器214がある。各双方向復号器は、A.Viterbi「An intuitive justification and a simplified implementation of the MAP decoder for convolutional codes」(IEEE J. Select. Areas Commun., vol. 16, pp.260−264, Feb. 1998)に示されるものから、以下の説明に従って変更される。特定のインタリーブフレームの各J・K受信チャネル破損シンボルP(〜)につき、ブロック201が、各ビットパターンX3X2X1X0によって識別されるコンステレーションのシンボルのサブセットについて未処理のブランチメトリック(branch metric)を計算する。復号化プロセスの最初の繰り返しにおいて(復号化の繰り返し性質についてはすぐ後に説明する)、ブロック204は次に、各受信シンボルP(〜)について、インタリーバ217からいかなる入力もない状態で、各ビットパターンX2X1X0によって識別されるコンステレーションのシンボルのサブセットの強化ブランチメトリックを計算する。未処理ブランチメトリックおよび強化ブランチメトリックの双方のフレームが次に、復号器206に与えられる。すると、復号器206は、各受信シンボルP(〜)について、可能な各ビットパターンX3X2X1ごとに1つずつ、8つのいわゆる軟判定を生成する。パターンについての各軟判定は、ビットパターンが実際に送信されたものであった確率に関連するパラメータの推定である。軟判定のフレームは、デインタリーバ210によってデインタリーブされる。デインタリーバ210は、送信機内のシンボルインタリーバ108と逆の動作を行うが、ビットグループに対して動作するのではなく、特定のビットパターンにそれぞれ関連するそれぞれ8つの軟判定からなるグループに対して動作する。これら8つの軟判定は、デインタリーブ目的では、分割不可能なエンティティとして扱われる。次に、軟判定のデインタリーブされたフレームが外復号器214に与えられ、外復号器214が次に、各受信シンボルP(〜)について、各ビットパターンX3X2X1ごとにそれ自身の8つの軟判定を生成する。復号器214によって生成される各軟判定は、上記パラメータの、それ自体の推定である。
【0043】
次に、プロセスが繰り返される。特に、復号器206によって生成される軟判定は、デインタリーバ210とは逆の機能を行うインタリーバ217によって再びインタリーブされる。再びインタリーブされた軟判定のフレームは次に、ブロック201において生成される未処理ブランチメトリックのフレームと組み合わせられ、ブロック204において、強化ブランチメトリックのフレームを生成する。次に、復号器206がこれらを用いて、前回の繰り返しにおいて復号器206によって生成されたものを改良する軟判定の別のフレームを生成する。
【0044】
プロセスは、このようにして何度も繰り返して続けられる。しばらくの間、軟判定は改良され続けるが、最終的に、各繰り返しにおいて提供される改良の程度は非常に小さくなる。したがって、2つの戦略のうちの一方を採用することができる。一方は、プロセスを監視し、収穫逓減点に達すると、復号化プロセスを終了するものである。別の方法は、単に4など所定数の繰り返しを利用するというものである。
【0045】
復号化プロセスの最後の繰り返しにおけるビットX3、X2、X1、X0の値についての最終的な硬判定の生成は、例示的に、デインタリーバ210によって出力されたビットパターンX3X2X1のデインタリーブされた軟判定フレームを、後述するように各ビットパターンX3X2X1について生成される冗長ビットX0についての仮の硬判定X0(∧)と共に、従来の単方向ビタビ外復号器222に与えることで、達成される。(ビタビ復号器222を利用するのではなく、復号器214を使用してもよい。この場合、最終的な硬判定は、各ビットパターンX3X2X1につき双方向ビタビ外復号器214の入力および出力を追加することで生成しうる。結果得られる和のうちの最小のものに対応するビットパターンが、その関連する仮の硬判定X0(∧)と共に、ビットX3、X2、X1、X0に対する最終的な硬判定として用いることができる)。マルチレベル符号化を利用しない、すなわちX3およびX2はデータビットのみである用途では、復号器222が単にこれら2つのビットについての硬判定を出力するだけで十分である。しかし、マルチレベル符号化が用いられる場合、ビタビ復号器222は、X3、X2、X1、X0についての硬判定を第2のレベルの復号器224に出力する。復号器224は、例示的に、単一パリティチェック符号を復号化するための従来設計の2状態ビタビ復号器である。このように第2レベル復号器224に提供されるビットは、送信されたシンボルが属するコンステレーションサブセットを識別する。コンステレーションサブセットを知ることに基づき、その後すぐに復号器224は、デインタリーバ223によってデインタリーブされた後の受信シンボルP(〜)に対して動作し、識別されたサブセットの特定の送信シンボルを識別し、それによってビットX4ならびに符号化されていないm個のビット(もしあれば)の値についての硬判定を提供することができる。
【0046】
今説明したフレーム単位での反復プロセスは、図11に概略的に示されている。特に、最初の繰り返しにおいて、特定のインタリーブフレームの受信シンボルP(〜)がブロック201に与えられ、ここで、未処理ブランチメトリックが計算される。後者は次にブロック204に与えられ、ここで強化ブランチメトリックが計算される。新たなブランチメトリックおよび強化ブランチメトリックの双方は次に復号器206に与えられ、復号器206が軟判定の最初のフレームを生成し、これが次にデインタリーバ210、復号器214、そしてインタリーバ217に渡されて、第2の繰り返しが開始される。この時点において、インタリーバ217からの軟判定のフレームが、ブロック204において、ブロック201からのオリジナルの未処理ブランチメトリックと組み合わせられ、最後である4回目の繰り返し中に、デインタリーバ210によって出力される軟判定のフレームが、最終的な判定を生成する従来のビタビ復号器222に提供されるまで、復号器206、デインタリーバ210等々に与えられる、強化ブランチメトリックを提供する。
【0047】
次に、図10に示される各ブロックの機能性をより詳細に説明する。
【0048】
図に示すように、ブロック201は、各受信チャネル破損シンボルP(〜)について、ビットパターンX3X2X1X0の16個の値に関連する16のコンステレーションサブセットそれぞれの上記「未処理」ブランチメトリックを計算する。これは単に、サブセット内の受信シンボルと最近傍のシンボル間の二乗したユークリッド距離である。結果得られる未処理のブランチメトリックは、ブロック204および内復号器206の双方に供給される。
【0049】
各シンボルについて、ブロック204は、8ビットパターンX2X1X0に関連する各サブセットの強化ブランチメトリックを生成する。まず各ビットパターンX3X2X1X0に関連する未処理ブランチメトリックに、外復号器214によって形成されたビットパターンX3X2X1の対応する軟判定を追加し、インタリーバ217からのブロック204に供給することで、これが行われる。したがって、16の内部強化ブランチメトリックが形成される。これらは、2つの内部強化ブランチメトリックの小さい方を4ビットのビットパターン0X2X1X0および4ビットのビットパターン1X2X1X0に保持し、他方を破棄することで、各ビットパターンX2X1X0に1つずつ、8つの強化ブランチメトリックに低減される。8つの強化ブランチメトリックは、復号器206に供給される。
【0050】
復号器206および214は略同様に動作する。しかし、復号器206の動作は少し複雑である。したがって、説明を助けるため、復号器214の動作をまず説明する。
【0051】
内復号器からのビットパターンX3X2X1の軟判定は、復号器214によってそのブランチメトリックとして使用される。復号器214は、図12に象徴的に示されるように、順方向および逆方向の双方にパスメトリック計算が進められる、当分野において既知の汎用的な方法に従う方法で、これらのブランチメトリックを用いる。順方向では、従来のビタビ復号器動作に従い、復号化は既知の開始状態から進められる。したがって、インタリーブフレームの各n番目のシンボル間隔につき、復号器は、例示的には各復号化段階において従来通りにパスメトリックおよびブランチメトリックを処理することで、図2の8状態符号の各符号器状態につき1つずつ、8つの「順方向」パスメトリックのセット{FPMi (n+1)、i=0、1、...、7}を計算して保存する。(典型的な従来のビタビ復号化とは反対に、各復号化段階におけるパスメトリックをメモリに保持し得る。これは、後述する軟判定生成中の処理時間の最小化に役立つ)。図12は、インタリーブフレームのn番目のシンボル間隔に関連する8つの順方向パスメトリックを示している。逆方向において、復号化が既知の終了状態から進められ、その結果8つの「逆方向」パスメトリックのセット{BPMi (n)、i=0、1、...、7}になることを除き、プロセスは同じである。(この実施形態において、ターボ符号は後述するように「終了」されるため、終了状態はわかっている)。図12は、n番目のシンボル間隔に関連する8つの逆方向パスメトリックを示している。この説明を簡略化するため、すべての逆方向パスメトリックもまた、生成される際にメモリに保存されるものと想定する。
【0052】
n番目のシンボル間隔の軟判定は、順方向パスメトリックFPMi (n)および逆方向パスメトリックBPMi (n+1)を処理することで計算される。トレリスの1つの状態から出る4つのトレリスブランチはそれぞれ、特定のビットパターンX3X2X1によって識別される特定のサブセットに関連する。4ビットパターンの十進数同等物は、「サブセットX3X2X1」とラベルされる列に示されている。したがって、状態0から出る4つのトレリスブランチは、十進数同等物が0、2、4、6等であるビットパターンに関連し、状態1から出る4つのトレリスブランチは、十進数同等物が1、3、5、7等であるビットパターンに関連する。同時に、特定のビットパターンX3X2X1によって識別される各サブセットにつき、「現在」の符号器状態を「次の」符号器状態に結び付ける4つのトレリスブランチがある。サブセット0、すなわちビットパターン000に関連するサブセットの4つのブランチは、現在の状態/次の状態の対0−0、2−1、4−2、および6−3を結び付けるものである。各ブランチに関連する順方向および逆方向のパスメトリックは別個に追加され、4つの和がもたらされる。次に、任意所与のビットパターンの軟判定が、これら4つの和の関数として計算される。例示的に、その関数は、単に4つの和のうちの最小のものを軟判定とすることである。実際に、すべての逆方向パスメトリックを保存する必要はない。その理由は、逆方向パスメトリックは、すべての順方向パスメトリックを生成して保存した後に生成することができるためである。逆方向パスメトリックの各セットは、その逆方向パスメトリックのセットが生成されると即座に軟判定の形成に用いられ、それ以後は必要とされない。
【0053】
内復号器206によって実行される復号化は、より複雑である。これは、一方で、復号器214は復号器206からビットパターンX3X2X1についての軟判定を必要とするが、他方で、ビットX3は内符号器によって処理されないため、復号器206は、仮にその復号化アルゴリズムが復号器214によって実行されるものと同じであった場合、ビットX3を含む任意の情報を提供するベースがないためである。
【0054】
内復号器206の処理は、最初の例において復号器214によって実行される処理と同様である。しかし、その処理は、いずれの外復号器214が、ビットX3に関わる軟判定、より具体的にはビットパターンX3X2X1についての軟判定を必要とするかを提供可能にするさらなる態様を含む。
【0055】
特に、例示的に図4の8状態符号の内復号器206は、上述したように、まずそのブランチメトリックとして、ブロック204により生成されるビットパターンX2X1X0の強化ブランチメトリックを使用し、外復号器214において行われたのとまったく同じように順方向および逆方向のパスメトリックを生成する。(内符号および外符号が同じではない場合、パスメトリックの生成に当たり、異なるトレリスが内復号器および外復号器によって用いられるが、計算方法はその他の点では同じであることに留意されたい)。また、復号器214でのように、その後、ビットパターンX2X1X0についての軟判定が行われる。復号器214の場合、このような軟判定は、復号器出力を構成する。しかし、ここで、今述べたように、X2X1X0についての軟判定は、復号器214によって必要とされるものではない。したがって、復号器206内で生成される軟判定は、その復号器の出力として用いることができない。むしろ、復号器206がX3X2X1についての軟判定を提供できるようにするためには、さらなる処理が必要である。
【0056】
このため、復号器206は次に、ビットパターンX3X2X1X0についての未処理ブランチメトリックを直前に計算したビットパターンX2X1X0についての軟判定に追加することで、ビットパターンX3X2X1X0についての内部軟判定を生成する。ビットパターンX3X2X1に関連する2つのこのような内部軟判定、すなわち、X3X2X1が特定の値を有するが、X0は0あるいは1のいずれかである2つのビットパターンX3X2X1X0についての内部軟判定がある。次に、2つの内部軟判定のうちの小さい方が、ビットパターンX3X2X1の軟判定として用いられる。さらに、小さい方の内部軟判定に関連するX0の特定の値が、対応するビットパターンX3X2X1の上記仮の硬判定X0(∧)として用いられる。
【0057】
この方法が作用する理由は、図13を考慮すれば理解することができる。その図は、内符号器によって使用されるが、各ブランチが2つのいわゆる並列ブランチで置換されたトレリスを示している。たとえば、現在の状態/次の状態の対0−0の2つのブランチは、ビットパターンX3X2X1X0=0および8によって識別されるリファインされたサブセットに関連する。この「拡張された」トレリス線図には、各ビットパターンX3X2X1X0に関連する4つのブランチがある。最良の内部軟判定は、これら4つのブランチの1つに関連する。より具体的に、その最良の内部軟判定は、全体的なパスメトリックが最小であるパスに含まれるものであり、実際に、今説明した計算がその最良のパスを識別する。拡張トレリス線図は、軟判定の計算にのみ用いられることに留意する。順方向および逆方向のパスメトリックの計算には、当初の拡張されていないトレリス線図を用いるべきである。
【0058】
双方の復号器における順方向および逆方向のパスメトリックの和のうち最小のものを単に探すのではなく、少なくとも付加白色ガウス雑音チャネルに対してより良好なパフォーマンスを提供する、より洗練された(より複雑であるが)方法を用いることが可能である。その方法は、外復号器について以下の計算に従って軟判定を生成するというものである。
ビットのパターンX3X2X1についての外復号器の軟判定=
【数3】
(式中、サブセットX3X2X1が現在の状態iから次の状態jへの遷移に関連するようにすべてのiおよびjについての加算が実行される。)
【0059】
内復号器の軟判定は、以下の式に従って計算される。
【数4】
(式中、サブセットX2X1X0が現在の状態iから次の状態jへの遷移に関連するようにすべてのiおよびjについての加算が実行される。)
【数5】
(式中、RBMX3X2X1X0は、サブセットX3X2X1X0の未処理ブランチメトリックである。)ビットパターンX3X2X1についての内復号器の軟判定=
【数6】
この場合、
【数7】
についての上記仮の硬判定は、以下の計算に従って生成される。
ビットパターンX3X2X1についての内復号器の硬判定
【数8】
=
B(X3X2X10)>B(X3X2X11)の場合、0
その他の場合、1
【0060】
上記説明は、トレリス内符号およびトレリス外符号が双方とも8状態符号であるという想定の下で主に提示される。しかし、8状態符号についての上記処理の簡易な拡張により、他の数の状態を有する符号に適応することが可能である。
【0061】
上記説明はまた、トレリス内符号およびトレリス外符号が双方ともレート2/3符号であるという想定の下で主に提示される。しかし、他のレートの符号にも簡易に適応可能である。たとえば、レート3/4符号の場合、要素201は、X3X2X1X0ではなく様々なビットパターンX4X3X2X1X0に関連するサブセットに基づいて動作し、要素204は、X2X1X0ではなく様々なビットパターンX3X2X1X0に関連するサブセットに基づいて動作し、双方向ビタビ内外復号器206および214からの軟判定は、X3X2X1の代わりにビットパターンX4X3X2X1について行われる。同様に、復号器222は、第2レベル復号器224に対して、X3、X2ではなくビットX4、X3、X2に対する最終的な硬判定を出力すると共に、X3、X2、X1、X0ではなくビットX4、X3、X2、X1、X0に対する最終的な硬判定を出力する。軟判定を計算する上記式は、同様に、ビットX4の考慮を含む。さらに、レート4/5符号の場合、復号器の様々な要素、ならびに軟判定を計算するための式も同様に、ビットX5を考慮に入れる。
【0062】
他のターボ符号
次に、本発明の原理に従っての使用に適した他のターボ符号について説明する。異なるターボ符号をより容易に参照するため、その構成要素の内外符号レートとは対照的に、ターボ符号についての「レート」を定義すると便利である。特に、ターボ符号のレートをk/(k+r)と定義することができる。(ここで、kは各シンボル間隔について外符号に与えられるデータビットの数であり、rは各シンボル間隔において内符号および外符号の双方によって生成される冗長ビットの総数である。)したがって、図1のターボ符号はレート2/4ターボ符号である。
【0063】
図14は、特に、図1と略同様の構造を有する送信機を示す。この送信機は、四次元(4D)直列連接レート3/5ターボ符号を採用している。ここで、各シンボルPは、ターボ符号の状態の一回の進行に応答して値が決定される2つの2D信号点からなる、すなわち、内符号器および外符号器の状態は各4Dシンボル間隔について一回だけ進められることから、符号は、4次元符号である。したがって、図14に示すように、各4DシンボルPは2つの2D信号点QおよびQ’からなる。
【0064】
そうすると、コーダの入力に、(6+2m)ビットが、各4Dシンボル間隔についてリード線304上において直列/並列コンバータ(図示せず)から提供される。これらビットのうち3つは、M1状態レート3/4トレリス外符号器306に与えられ、これらビットのうち2つは二重パリティチェック符号器307に与えられる。後者は、実際に、2つの単一パリティチェック符号器3071および3072からなり、これらはそれぞれ入力ビットX5およびX6のそれぞれ1つを受信する。符号器3071および3072は、例示的に、上述した符号器107と同一である。残りの(1+2m)ビットX7、X8、...は符号化されていない。外符号器306は、例示的に、図15に示される16状態符号器である。結果得られる(7+2m)ビットは、シンボルインタリーバ108と略同様であり、それ自体で、インタリーブ目的で分離不可能なユニットとして(7+2m)ビットを扱うシンボルインタリーバ308に与えられる。インタリーバ308によって出力される(7+2m)ビットの各グループについて、3ビットX3、X2、X1は、M2状態レート3/4トレリス内符号器310に与えられる。内符号器310は、例示的に、図16に示す16状態符号器である。ビットX3、X2、X1、X0は、インタリーバ308によって提供されるビットX4、X5等と共に、4Dコンステレーションマッパ311により四次元シンボルにマッピングされる。このマッピングは、たとえば、単一のルックアップテーブルを用いて直接行うことができる。しかし、これらのビットを用いて各四次元シンボルの2つの構成要素である二次元信号点を別個に識別することで、実施の複雑性が大幅に低減される。このため、4Dコンステレーションマッパ311は、ビットX0〜X5を受信する6×6ビットコンバータ316、ならびにビットX6およびX7を受信する2×2ビットコンバータ318を備える。各4Dシンボル間隔は、2つの2Dシグナリング間隔からなる。最初の(二番目の)2Dシグナリング間隔について、コンバータ316は、図17に示すビット変換テーブルにつきビットY2Y1Y0(Y2’Y1’Y0’)を生成する一方で、コンバータ318は、図18に示すビット変換テーブルにつきビットY3(Y3’)を生成する。残りの符号化されていない2mビットX8、X9等の半分は、Y4、Y5等と改称され、残りの半分はY4’、Y5’等と改称される。ビットY3、Y2、Y1、Y0は、ビットY4、Y5等と共に、2Dコンステレーションマッパ312によって使用されて、最初の二次元信号点Qを出力し、ビットY3’、Y2’、Y1’、Y0’は、ビットY4’、Y5’等と共に、コンステレーションマッパ312によって使用されて、二番目の二次元信号点Q’を出力する。実際にいくつのデータビットが送信されるかに応じて、2D信号点へのコンステレーションマッパ入力ビットの様々なマッピングが可能である。図面には、3つの例が示されている。たとえば、4つのデータビットX2〜X5がリード線304上にある(すなわち、符号器307が符号器3071のみを含む)場合、コンステレーションマッパ312は、2Dシグナリング間隔につき3ビット、すなわち、各4Dシンボル間隔の最初の2Dシグナリング間隔についてY2Y1Y0を、そして二番目の2Dシグナリング間隔についてY2’Y1’Y0’を与えられる。これら3ビットの(23=8)点コンステレーションの特定の2D信号点への例示的なマッピングは、図19に示されている。リード線304上に8つのデータビットがある場合、32点信号コンステレーションが必要であり、32点QAMへのマッピングは、図20に示すようなものであることができる。リード線304上に12のデータビットがある場合、128点信号コンステレーションが必要であり、128点QAMコンステレーションへのマッピングは、図21に示すようなものであることができる。場合によっては、定振幅、たとえばQAMコンステレーションではなくPSKコンステレーションを用いることが可能である。たとえば、図19に示す8点QAMコンステレーションの代わりに、図22に示す8点PSKコンステレーションを用いることができ、この場合、ビットコンバータ316は、図17に示されるテーブルではなく図23に示されるテーブルに従って動作する。
【0065】
別の4D符号を用いるが、レート4/6ターボ符号を採用する送信機を図24に示す。特に、(6+2m)ビットが、各4Dシンボル間隔について、リード線404上において直列/並列コンバータ(図示せず)から与えられる。4ビットX5、X4、X3、X2はM1状態レート4/5トレリス外符号器406に与えられ、2ビットX7、X6は単一パリティチェック符号器407に与えられる。後者は、パラメータ(2・J・K、2・J・K−1、2)を有する。すなわち、符号器407によって実施される符号は、2・J・Kビットの符号語長を有し、その最初の2・J・K−1ビットが入力ビットであり、最後のビットは冗長パリティチェックビットであり、そのハミング距離は2である。残りの2mビットは符号化されない。外符号器306は、例示的に、図25に示される32状態符号器である。結果得られる(7+2m)ビットは、これもまたシンボルインタリーバ108と略同様のシンボルインタリーバ408に与えられる。インタリーバ408によって出力される(7+2m)ビットの各グループについて、図示のように、4ビットがM2状態レート4/5トレリス内符号器410に与えられる。内符号器410は、例示的に、図26に示す32状態符号器である。図14に示されるものと同様に、4Dコンステレーションマッパ411は、例示的に上述したビットコンバータ316と同一であるビットコンバータ416を備えると共に、2Dコンステレーションマッパ412をさらに備える。インタリーバ408の出力における2ビットX6およびX7はY3およびY3’と改称される一方、残りの符号化されていない2mビットX8、X9等はY4、Y4’、Y5、Y5’等と改称される。ここでは、各4Dシンボル間隔について送信されるデータビットの所望の数に応じて、図14と共に図19〜図22に示されるコンステレーションおよびマッピングも同様に使用可能である。
【0066】
さらに別の4D符号を用いるが、レート2/4ターボ符号を採用する送信機を図27に示す。送信機は単一パリティチェック符号器545、拡張された単一誤り修正符号器550、M 1 状態レート2/3トレリス外符号器506、シンボルインタリーバ508、M 2 状態レート2/3トレリス内符号器510、及び4Dコンステレーションマッパ511を含む。例示的に、ターボ符号のトレリス内外符号は、図1に示される二次元構成で使用されたものと同じである。これは3レベル符号であり、2ビットX5、X4が拡張された単一誤り修正符号器550に与えられ、2ビットX6およびX7は単一パリティチェック符号器545に与えられる。符号器550は、特に、パラメータ(2・J・K、2・J・K−R、4)を有する。具体的には、2・J・Kビットの符号語長を有し、その最初の2・J・K−Rビットが入力データビットであり、最後のRビットは冗長ビットであり、そのハミング距離は4である。冗長ビットの数Rは、2・J・K≦2R−1になるような最小の整数であるように選択される。符号器545は、例示的に、上述した符号器407と同一である。
【0067】
ビットX3、X2、X1、X0は、2Dコンステレーションマッパ512も含む4Dコンステレーションマッパ511内の4×4ビットコンバータ517に与えられる。ビットコンバータ517は、図28に示されるテーブルを基にして動作する。リード線504は、各4Dシンボル間隔について2つの入力ビットX3、X2のみを提供し、図29に示されるコンステレーション等の2つの4点信号コンステレーションを連接したものを含む16シンボル4Dコンステレーションが使用される。このような場合、4ビットが4Dシンボルの4座標にマッピングされることは事実であるが、各ビットがシンボルの異なる各座標の値を決定するということは当てはまらない。むしろ、図6と共に上述したマッピング基準がここでも適用される。すなわち、少なくとも1つの座標の値は、2つ以上のターボコーダ出力ビットの関数であり、または換言すれば、シンボル座標の値は、ターボコーダ出力ビットによって独立して決定される。4、8、または12データビット等3つ以上のデータビットが送信される場合、図19〜図22に示されるもの等のコンステレーションおよびマッピングをここでも使用可能である。特に、図22の8PSKコンステレーションが用いられる場合、4×4ビットコンバータ517は、図30に示されるテーブルに基づいて動作する。
【0068】
図27と同じターボ符号を用いる送信機が図31に示される。この送信機は、例示的に符号器545と同一の単一上位コーダを採用する。4Dコンステレーションマッパ612は、4×4ビットコンバータ617および2Dコンステレーションマッパ612を含む。コンバータ617は、例示的に、図30に示されるテーブルに基づいて動作し、コンステレーションは、例示的に、図7に示される16点PSKコンステレーションである。
【0069】
図10に示される復号器構造は、図1のレート2/4ターボ符号化構成の文脈において上述された。しかし、これと同じ基本的な構造をレート3/5および4/6ターボ符号に使用することができる。しかし、このような場合、第2レベル復号器224は、これらの実施形態で使用される第2レベル符号に適した復号器である必要があり、たとえば、4状態ビタビ復号器が、図14の第2レベル符号として使用される二重パリティチェック符号を復号化するために用いられ、2R状態ビタビ復号器が、図27の第2レベル符号として使用される拡張された単一誤り修正符号を復号化するために用いられる。さらに、図27の実施形態等、3レベル符号が用いられる場合、全体的な復号器構造は、第3レベル符号に適した復号器を含む必要がある。したがって、図27の場合、2状態ビタビ復号器(図示せず)が図10の復号器内に含まれる。そして特に、第2レベル復号器224によって生成されるビットX5およびX4の値についての最終的な硬判定が、最終的な復号器の出力として用いられる。同時に、ビットX5、X4、X3、X2、X1およびX0についての最終的な硬判定が、デインタリーバ223からの出力と共に第3レベル復号器に供給されるため、第3レベル復号器は、残っているすべての符号化ビットおよび符号化されていないビットについての最終的な硬判定を生成することができる。
【0070】
様々な符号の比較
上記または他のターボ符号化構成のいずれの特定の1つを、任意特定の用途に使用しうるかを決定するに当たり、様々な検討が行われる。たとえば、図1の二次元実施形態は、その他の四次元実施形態が必要とするコンステレーションの2倍のコンステレーションを必要とする。受信機における特定のコンポーネントのパフォーマンス、たとえば搬送波再生は、特定の状況、たとえば高速で経時変化するチャネルの下で、後者よりも前者の場合に悪化しうる。図1、図14、および図27の実施形態はすべて、すべての中で最も少ない待ち時間を提供する潜在性を有する図1の実施形態と、少なくとも付加白色ガウス雑音(AWGN)チャネルの場合におおよそ同じレベルのエラーレートパフォーマンス、同等の実施複雑性、および同等のインタリーバ長、ひいては同等の待ち時間、すなわちデータの通信における全体的な遅延を提供する。有利なことに、図14の実施形態の実施複雑性は、比較的インタリーブ長から独立しているが、図27の実施形態の実施複雑性は、インタリーブ長が256二次元信号点を超える場合に約2倍になる。不良なチャネル状況の下、エラーレートパフォーマンスは、コンステレーションサイズが小さいほど良好である。この点において、図14の実施形態の利点は、4単一点コンステレーションと併せて使用可能なことであり、これは、たとえば図27の実施形態では不可能である。本明細書に開示されるすべての実施形態の中で最良のエラーレートパフォーマンスは、図24の実施形態によって提供される。しかし、その実施形態は、すべての実施形態の中で最も高い実施複雑性および待ち時間を有する。
【0071】
図1、図14、図24、および図27の実施形態はすべて、たとえば、様々な異なるサイズのQAMコンステレーションと共に、ならびに、たとえば、信号点当たり最高2ビットの帯域幅効率のため、定振幅、たとえばPSKコンステレーションと共に使用することができる。しかし、定振幅コンステレーションが好ましく(たとえば、特定の無線伝送用途)、また同時に信号点当たり2ビットよりも大きな帯域幅効率が望まれる用途では、図31の実施形態が、その他の実施形態よりも良好なパフォーマンス、低い実施複雑性、および短いインタリーブ長を提供するという点において、図31の実施形態を考慮すべきである。
【0072】
ターボ符号終了
上述したように、特定の用途では、ターボ符号を周期的に終了することが望ましい場合がある。すなわち、いくつかのシンボル間隔についてランダム入力データをターボ符号器に与えた後すぐに、各符号器を既知の状態にするに十分な数のシンボル間隔にわたり、ランダム入力ビット以外のデータをターボ符号器に与える。
【0073】
ターボ符号の終了に当たり実行されるステップの設計には、いくつかの考慮事項がある。実際に、これらの考慮事項は、結果として例示的な本実施形態において用いられる終了プロセスの詳細になる。終了が実行される様式についてまず説明した後に、そこにつながる考慮事項の説明が続く。
【0074】
まず図5を再び参照する。図5の行列要素に示されている番号0、1、2、...、195は、196のこのようなビットグループを含む各インタリーブフレームにおける符号器106の、0番目、1番目、2番目等の出力ビットグループを表す。そして、より具体的に、外符号器106によって生成された最後の3つのビットグループは、シーケンス番号「193」、「194」、および「195」を有するものである。ビットグループは、左から右に列単位でインタリーバから読み出されるため、インタリーバによって出力され、内符号器110に与えられる最後の2つのビットグループは、シーケンス番号「167」および「195」を有するものである。図では、読み手による以下の説明の理解を助けるため、4つのシーケンス番号「167」、「193」、「194」、および「195」は丸で囲まれている。
【0075】
符号器106および110は、図2および図4それぞれに示される8状態符号器として実施され、これらはそれぞれ終了のために2つのシンボル間隔を必要とするものと想定する。特に、内符号は、符号器110の最後の2つのシンボル間隔「167」および「195」中の符号器入力ビットとして、データビットX2、X1それぞれの代わりに内部に格納されているビットW1、W2を用いることで終了される。これにより、シンボル間隔「195」の終了時に、符号器110が状態「0」になる(すなわち、3つすべての内部格納ビットが「0」である)。
【0076】
外符号は、それ自体の最後の2つのシンボル間隔中にではなく、その最後から二番目および三番目のシンボル間隔「193」および「194」中に終了される。特に、シンボル間隔「193」中、符号器106の入力ビットの1つはデータビットX3である一方、データビットX2の代わりに内部に格納されているビットW2が用いられる。次に、シンボル間隔「194」中、データビットX3、X2が、符号器110の場合でのように、内部に格納されているビットW1およびW2それぞれによって置換される。これにより、シンボル間隔「194」の終了時に、符号器106が状態「0」になる(すなわち、3つすべての内部格納ビットが「0」である)。
【0077】
終了プロセスのさらなる態様として、外符号器106は、シンボル間隔「167」および「195」中は動作しない。すなわち、これらの間隔中、入力ビットは符号器106自体に入力されず、外符号器106の状態は進められない。(上位入力ビットX4、X5、...は、これらの間隔中に通常の方法でとられ、処理することができる)。
【0078】
ターボ符号終了をさらに考慮するに当たり、ビットX2、X1の値はシンボル間隔「167」および「195」中に生成されないという事実は、上述したように、符号器110は、それらの間隔中にその入力をそれ自身の内部ビットから得るため、相対する内符号器110には重要ではないことを観察することができる。しかし、コンステレーションマッパ112には、これらの間隔中に依然としてビットY3の値が必要である。通常、ビットY3はビットX3と同じであり、これは、これらのシンボル間隔中に当てはまり得る。しかし、外符号は動作中ではないため、ビットX3の値は、これらの間隔中に外符号によって保護されない。次に、全体的なターボ符号のパフォーマンスは、これによって大きく悪影響を受け得る。別の方法は、ビットを符号化する必要が決してないように、既知の値の「ダミー」ビットを送信するというものである。しかし、好ましい実施形態において、シンボル間隔「164」および「195」中、ビットX2、X1、X0の値は、ビットX3、X2、X1になるまでそれぞれシフトされ、X0は、これらの値がコンステレーションマッパに与えられる前に、所定の情報を伝達しない値に設定される。
【0079】
次に、上記終了プロセスにつながる考慮事項について説明する。
【0080】
最初に、インタリーブフレーム中に送信可能なデータ量を最大化するために、最後の2つのシンボル間隔「194」および「195」中、外符号を終了すべきであることを考えることができる。しかし、シンボル間隔「195」中に、任意のビットが外符号器106によって生成された場合、これらのビットは、上記に見られるように、内符号器110により、それ自身の終了プロセスの部分として無視されることから、送信されない。シンボル間隔「193」および「194」を用いて外符号を終了すると共に、上述したように外符号をシンボル間隔「195」中動作しないことにより、この問題は回避される。さらに、これは、外符号器106がシンボル間隔「167」中に動作しない、シンボル間隔「167」中において、内符号器110もまた外符号器の出力ビットを無視するためである。この例は、外符号の状態が、内符号が終了中であるシンボル間隔中は進められない一般的な設計方法を例示するものである。
【0081】
内符号の終了シンボル間隔「167」および「195」中、内符号の入力ビットは外符号の出力からとられないという事実から、別の考慮事項が持ち上がる。これは、符号の全体的なパフォーマンスに悪影響を及ぼし得る。有利なことに、この状況は、より小さなシンボルコンステレーションを用いることにより、終了シンボル間隔中のシンボル間の最短距離が大きくなり、改善することができる。実際に、当業者は、図6〜図9の考慮した上で、これは、X0を固定の値に設定しながら、ビットX2、X1、X0をシフトアップして、それぞれビットX3、X2、X1にする上記方法の実際の結果であることを理解するであろう。これは、これらの間隔中に生成されるシンボルに関連する復号器で生成されるいわゆるブランチメトリックの強化につながるためである。(かかるより小さなコンステレーションは、その他のシンボル間隔に用いられるコンステレーションの特定シンボルを含みうるが、必要なことではない)。終了シンボル間隔中に、折衷された符号パフォーマンスを保護する他の方法は、a)終了シンボル間隔内でエラーイベントが完全に発生しないように、かつb)最後の終了シンボル間隔中のトレリスに割り当てられたサブセット間のサブセット間距離が、可能な限り大きくなるように内符号を設計することを含む。実際に、例示的な本実施形態で使用される内符号は、これらの基準を満たす。
ターボ符号の終了についての上記説明はインタリーバが存在するものと想定しているが、本発明による終了はインタリーバに依存しない。インタリーバから独立して述べると、本発明の一態様による直列連接ターボ符号の終了は、冗長外符号器からの出力ビットグループを処理していながら、内符号器が既知の状態になることで終了されるように要求する。したがって、たとえば、外符号器がMグループの出力ビットを生成するように動作する場合、内符号器は、このようなMグループすべての少なくとも一部を符号化しなければならない。さらに、内符号を終了するため、内符号を既知の状態にすることで内符号器を終了するため、内符号器は、さらなるXグループの所定入力ビットも処理しなければならない。したがって、内符号器は、Nグループの入力ビットを処理しなければならない。但し、M=(N−X)である。さらに、外符号器を終了し、外符号器によって生成されるMグループの出力ビットの少なくともいくつかが、既知の状態にすることで外符号器を終了することができるように、所定のビットグループが外符号器に提供される結果、生成されることも望ましい。インタリーバが内符号器と外符号器の間に介在する場合、外符号器は、1つのインタリーブフレームについてMグループの出力ビットを符号化し、Mグループは第1のシーケンスを有することになる。内符号器は、1つのインタリーブフレームについて、第2のシーケンスを有するNグループの入力ビットを受信する。インタリーバは、第1のシーケンス内のi番目のグループが第2のシーケンス内のj番目のグループになるように、ビットグループをインタリーブする。但し、少なくとも1対の値(i,j)についてi≠jである。
換言すれば、本発明によるターボ符号の終了は次のようなものである。1つまたは複数の特定のシンボル間隔中に、少なくとも1つの所定ビットで内符号器に対する入力を置換することで、内符号を終了可能なことがすでに示されている。これら特定のシンボル間隔中、内符号器は、少なくとも1つの所定のビットを処理しており、かかる出力ビットの処理に利用不可能であるため、外符号器は出力ビットを生成してはならない。したがって、一実施形態によれば、出力ビットの生成を防ぐため、外符号器の動作は、これら特定のシンボル間隔中に阻止される。
【0082】
本明細書の例示的な実施形態のいくつかにおけるように、レート2/3トレリス内外符号を用いてレート2/4ターボ符号を終了するプロセスは、以下に正式に説明することができる。
【0083】
シンボルインタリーバの入力側および出力側の双方におけるインタリーブフレームのJ・Kシンボル間隔のシーケンス番号を0、1、...、J・K−1と表す。
【0084】
内符号の終了を容易にするため、外符号はJ・K−2シンボル間隔においてのみ動作する。外符号は、インタリーバの入力側におけるJ・K−1−(J・K/J1)番目(またはJ1=1の場合はJ・K−1−K番目)および最後であるJ・K−1番目のシンボル間隔では動作しない。
【0085】
他の場合、外符号の終了は通常の方法で行われる。8状態符号の場合、入力ビットX2は、インタリーバの入力側におけるJ・K−3番目のシンボル間隔の符号器状態機械のW2に設定され、入力ビットX3およびX2は、J・K−2番目のシンボル間隔におけるW1およびW2それぞれ設定される。16状態符号の場合、入力ビットX3およびX2は、J・K−3番目およびJ・K−2番目のシンボル間隔の双方における
【数9】
および
【数10】
それぞれに設定される。ここで、
【数11】
はビットに対する排他的論理和演算である。
【0086】
一方、内符号は、すべてのJ・Kシンボル間隔において動作する。その終了は、外符号が動作していないとき、インタリーバの入力側における2つのシンボル間隔に対応する、インタリーバの出力側における最後の2つのシンボル間隔で行われる。
【0087】
内符号に応じて、その終了は通常の方法で行われない場合もある。たとえば、8状態符号の場合、入力ビットX2およびX1は、J・K―2番目およびJ・K−1番目のシンボル間隔の双方において符号器状態機械のW1およびW2にそれぞれ設定される(通常の方法では、J・K―2番目のシンボル間隔における入力ビットX2はデータビットである)。
【0088】
さらに、本明細書の他の例示的な実施形態におけるように、レート2/3およびレート4/5のトレリス内外符号を用いてレート3/5および4/6ターボ符号を終了するプロセスは、以下に正式に説明することができる。
【0089】
外符号の終了は通常の方法で行われる。16状態レート3/4符号の場合、入力ビットX2は、インタリーバの入力側におけるJ・K−3番目のシンボル間隔において符号器状態機械のW3に設定され、入力ビットX4、X3、およびX2は、J・K−2番目のシンボル間隔におけるW2、W1、およびW3それぞれに設定される。32状態レート4/5符号の場合、入力ビットX2は、J・K−3番目のシンボル間隔におけるW4に設定され、入力ビットX5、X4、X3、およびX2はJ・K−2番目のシンボル間隔におけるW2、W1、W3、およびW4それぞれに設定される。
【0090】
一方、16状態レート3/4内符号および32状態レート4/5内符号双方の終了は、通常の方法では行われない。レート3/4符号の場合、入力ビットX3、X2、X1は、J・K−2番目およびJ・K−1番目のシンボル間隔の双方において符号器状態機械のW1、W2、およびW3それぞれに設定され、レート4/5符号の場合、入力ビットX4、X3、X2、およびX1は、J・K−2番目およびJ・K−1番目のシンボル間隔におけるW1、W2、W3、およびW4それぞれに設定される。
【0091】
レート2/3内符号と同様に、レート3/4内符号の出力ビットX3、X2、X1、X0の値は、ビットX4、X3、X2、X1それぞれになるようにシフトアップされ、X0は、これらのビットが最後の2つの終了シンボル間隔においてコンステレーションマッパに与えられる前に、所定の情報を伝達しない値に設定される。同様に、レート4/5内符号の出力ビットX4、X3、X2、X1、X0の値は、ビットX5、X4、X3、X2、X1それぞれになるようにシフトアップされ、X0は、最後の2つの終了シンボル間隔において所定の情報を伝達しない値に設定される。
【0092】
ターボ符号設計
次に、有利なターボ符号をどのようにして設計可能であるかの理解を助けるため、本明細書に開示される様々なターボ符号の設計に関わる考慮事項について述べる。特にまず、帯域幅効率が2D信号点当たり4ビットである第1レベル直列連接2Dターボ符号を用いたマルチレベル符号の設計を考慮する(これは、m=1の図1の実施形態である)。
【0093】
まず、第1レベルのターボ符号の設計方法を考慮する。
ステップ1:コンステレーションサイズの決定
ターボ符号の内符号および外符号はそれぞれ1つの冗長ビットを生成するため、64シンボル信号コンステレーションが必要であり、これは図8に示されている。
ステップ2:ターボ符号についてコンステレーションをどの程度細分化すべきか、およびいくつのビットを(外符号の)ターボ符号に入力するかの決定
ターボ符号が少なくとも6dBの符号化利得を達成するために、コンステレーションを、サブセット内最短距離が最大の状態の16「ターボ符号」サブセットに分けるべきである。図8では、このような各サブセットは、ビットパターンY3Y2Y1Y0によって識別される。次に、サブセットの数により、いくつのビットが(外符号の)ターボ符号に入力されるかを決定する。この場合、入力ビットの数は2であり、これは、「ターボ符号」サブセットの識別に必要な4ビットから2つの冗長ビットを差し引くことで得られる。
ステップ3:内符号の設計
(a)レートの選択
内符号は、この場合、3つの可能な異なるレート、すなわち1/2、2/3、および3/4を有することができる。図1におけるレート2/3がパフォーマンス、複雑性、およびインタリーブ長の最良の組み合わせを提供するため、これを使用するよう選択する。
(b)状態数の選択
レート2/3の場合、内符号は、状態の数を4、8、16等々に設定することができる。再び、図1における8状態がパフォーマンス、複雑性、およびインタリーブ長の最良の組み合わせを提供するため、この8状態を使用するよう選択する。
(c)内符号にレートおよび状態数が選択されると、内符号の残りの設計は、ちょうど単一段階トレリス符号のようなものである。具体的に、内符号は、64シンボルコンステレーションを、そのサブセット間最短距離が最大な8つのみの「内符号」サブセットに分けることで設計される。このようなサブセットはそれぞれ、図8におけるビットパターンY2Y1Y0によって識別される。これらのサブセットは、内符号の有効なシーケンスのサブセット間の最短距離が最大になるように、内符号の状態遷移に割り当てられる。その目標を達成するため、所与の現在の状態から開始されるか、または内符号の所与の次の状態に合併された状態遷移に割り当てられたサブセット間のサブセット間最短距離は、最大化されるべきである。内符号の設計は、ビットパターンY2Y1Y0をどのように64シンボルコンステレーションの8つの「内符号」サブセットに割り当てるべきかに対し、いくつかの制約を課すことに留意されたい。具体的に、64シンボルコンステレーションを、サブコンステレーション内の最短距離が最大である状態の2つの32シンボルサブコンステレーションに分ける。このようなサブコンステレーションはそれぞれ、図8におけるY0のビット値によって識別され、69シンボルコンステレーションの4つの「内符号」サブセットを含めて示すことができる。次に、Y2Y1Y0の4つのビットパターン000、010、100、110は、一方のサブコンステレーションの4つのサブセットに割り当てられるべきであり、Y2Y1Y0の残りの4つのビットパターン001、011、101、111は、他方のサブコンステレーションの4つのサブセットに割り当てられるべきである。しかし、内符号を考慮する限り、最初の4つのビットパターン000、010、100、110のサブセットに対する割り当ては、残りの4つのビットパターン001、011、101、111の割り当てから独立している。
ステップ4:外符号の設計
(a)レートの選択
外符号はこの場合レート2/3しか有することができない。
(b)状態数の選択
レート2/3の場合、外符号は、状態の数を4、8、16等々に設定することができる。図1における8または16状態がパフォーマンス、複雑性、およびインタリーブ長の最良の組み合わせを提供するため、8または16状態を使用するよう選択する。
(c)外符号にレートおよび状態数が選択されると、外符号の残りの設計は、次のようなものである。外符号は、まるで内符号が不在かのように、すなわちまるで内符号によって生成される冗長ビットY0が0または1の固定値を有するかのように設計される。この場合、コンステレーションは、32シンボルしか持たず、ステップ3において述べたように、図8におけるY0のビット値によって識別される2つの32シンボルサブコンステレーションのいずれか一方である。各サブコンステレーションは、8つの「ターボ符号」サブセットを含めて示すことができ、各サブセットは、ステップ2において述べたように、図8におけるサブコンステレーションについてY0の値と共にビットパターンY3Y2Y2Y1によって識別される。これらのサブセットは、各サブコンステレーションについて、外符号の有効なシーケンスのサブセット間の最短距離が最大になるように、外符号の状態遷移に割り当てられる。各サブコンステレーションについてその目標を達成するため、所与の現在の状態から開始されるか、または外符号の所与の次の状態に合併された状態遷移に割り当てられたサブセット間のサブセット間最短距離は、最大化されるべきである。ちょうど単一段階トレリス符号のように、外符号の設計は、ビットパターンY3Y2Y1をどのように各32シンボルサブコンステレーションの8つの「ターボ符号」サブセットに割り当てるべきかに対し、いくつかの制約を課すことに留意されたい。しかし、ビットパターンY3Y2Y1の、一方のサブコンステレーションの8つの「ターボ符号」サブセットへの割り当ては、これまでのところ依然として、ビットパターンY3Y2Y1の他方のサブコンステレーションの8つの「ターボ符号」サブセットへの割り当てから独立している。
ステップ5:コンステレーションマッパの設計
ステップ4の外符号は、内符号がない状態で設計されている。しかし、内符号が存在する場合、一方のサブコンステレーションについて外符号により識別される各「ターボ符号」サブセットは、他方のサブコンステレーションについて異なる「ターボ符号」サブセットとして送信することができる。この場合、2つの「ターボ符号」サブセットは、同じビットパターンY3Y2Y1を有するが、Y0のビット値は異なる。内符号が存在する場合に外符号の符号化利得を保つため、ビットパターンY3Y2Y1Y0の16の「ターボ符号」サブセットへの割り当ては、同じビットパターンY3Y2Y1を有し、かつY0のビット値の異なる「ターボ符号」サブセットの各対のサブセット間最短距離が最小化されるように行われる。図8において、このような「ターボ符号」サブセットの各対のサブセット間最短距離は、64シンボルコンステレーションの(任意の2つのシンボル間の)最短距離に等しく、したがって実際に最小化される。
このターボ符号設計の最後のステップにおいて、一方のサブコンステレーションの8つの「ターボ符号」サブセットへのビットパターンY3Y2Y1の割り当ては、もはや他方のサブコンステレーションの8つの「ターボ符号」サブセットへのビットパターンY3Y2Y1の割り当てから独立していないことに留意されたい。
【0094】
要約すると、第1レベルターボ符号の設計では、本発明者等は、(a)内符号の出力ビットを全体的なコンステレーションの様々なサブセットにマッピングする特別な規則、(b)外符号の出力ビットを、内符号の冗長ビットによって識別される各サブコンステレーションの様々なサブセットにマッピングする別の特別な規則、および(c)外符号の出力ビットおよび内符号の冗長ビットを一緒に、全体的なコンステレーションの様々なサブセットにマッピングするさらに別の特別な規則、を使用した。したがって、内符号、外符号、およびコンステレーションマッパの設計は、特に規則(c)を鑑みて一緒に行われる。一般的に、いわゆる「ジョイント設計」は、有効なシンボルシーケンス間の距離が、一般化された最小ハミング距離にコンステレーションの最短距離(すなわち、コンステレーションのシンボル間の最短距離)を乗算した積よりも大きい場合に、少なくとも最小限達成される。任意の2つのシーケンス間の一般化されたハミング距離は、2つのシンボルシーケンスが異なる位置の数である。非ジョイント設計符号では、上記の実際のユークリッド距離が上記積と同じであることができる。
【0095】
次に、マルチレベル符号の第2レベル符号の設計方法を考慮する。上記ターボ符号のパフォーマンスは、そのサブセット内最短距離、すなわち各「ターボ符号」サブセットのシンボル間の最短距離によって支配されることが分かっている。そのパフォーマンスをさらに向上するために、容易かつ周知の方法は、図1に示すように、単純な第2レベル単一パリティチェック(SPC)符号を採用するものである。符号は、各「ターボ符号」サブセットを、サブセット内最短距離が最大の2つの「第2レベル符号」サブセットにさらに分けることに基づいて設計される。図8において、このような各「第2レベル符号」サブセットは、対応する「ターボ符号」サブセットのビットパターンY3Y2Y1Y0と共に、Y4のビット値によって識別される。
【0096】
図1のマルチレベル符号の設計に使用される手順と同じ手順を、図14のマルチレベル符号の設計にも使用することができる。図14のマルチレベル符号の特徴は、以下のようにハイライトされる。
1)コンステレーションは4Dである。
2)第1レベルターボ符号が少なくとも6dBの符号化利得を達成するために、4Dコンステレーションは、サブセット内最短距離が最大である32の「ターボ符号」4Dサブセットに分けられる。このような4Dサブセットはそれぞれ、図17におけるビットパターンX4X3X2X1X0によって識別される。各4Dシンボル間隔において(外符号の)ターボ符号に入力されるビットの数は3である。
3)内符号は、16状態レート3/4がパフォーマンス、複雑性、およびインタリーブ遅延の最良の組み合わせを提供するため、16状態レート3/4である。内符号は、4Dコンステレーション全体を、サブセット内最短距離が最大である16のみの「内符号」4Dサブセットに分けることで設計される。このような4Dサブセットはそれぞれ、図17におけるビットパターンX3X2X1X0によって識別される。これらの4Dサブセットは、内符号の有効なサブセットシーケンス間の最短距離が最大であるように、内符号の状態遷移に割り当てられる。その目標を達成するために、所与の現在の状態から開始されるか、または内符号の所与の次の状態に合併される状態遷移に割り当てられるサブセット間のサブセット間最短距離が最大であるべきである。
4)外符号もまた、ここでも、16状態レート3/4がパフォーマンス、複雑性、およびインタリーブ遅延の最良の組み合わせを提供するため、16状態レート3/4である。外符号は、まるで内符号がないかのように、すなわちまるで内符号によって生成された冗長ビットX0が0または1の固定の値を有するかのように設計される。この場合、4Dコンステレーションは、図17においてX0のビット値によって識別される2つの4Dサブコンステレーションのいずれかである。各4Dサブコンステレーションは、16の「ターボ符号」4Dサブセットを含む。これら4Dサブセットは、各サブコンステレーションについて、有効な外符号のサブセットシーケンス間の最短距離が最大になるように、外符号の状態遷移に割り当てられる。その目標を達成するために、所与の現在の状態から開始されるか、または外符号の所与の次の状態に合併される状態遷移に割り当てられるサブセット間のサブセット間最短距離が最大であるべきである。
5)内符号が存在する場合でも外符号の符号化利得を保つために、ビットパターンX4X3X2X1X0の「ターボ符号」4Dサブセットへの割り当ては、同じビットパターンX4X3X2X1を有し、かつX0のビット値の異なる「ターボ符号」4Dサブセットの各対のサブセット間最短距離が最小化されるように行われる。
6)ターボ符号のパフォーマンスは、「ターボ符号」4Dサブセットのサブセット内最短距離によって支配される。そのパフォーマンスをさらに向上するために、単純な第2レベル二重パリティチェック(DPC)符号が用いられる。第2レベル符号は、各「ターボ符号」4Dサブセットを、サブセット内最短距離が最大化される4つの「第2レベル符号」4Dサブセットにさらに分けることに基づいて設計される。このような各「第2レベル符号」4Dサブセットは、図18におけるX6のビット値と共に、X5のビット値および図17における対応する「ターボ符号」4DサブセットのビットパターンX4X3X2X1X0によって識別される。
【0097】
図1のターボコートとは異なり、図14のターボ符号は、別の重要な特徴を有する。図14のターボ符号の内符号および外符号はそれぞれ、それ自体「不良」トレリス符号である。「不良」とは、内符号または外符号が別の符号と連接されていない場合に、内符号または外符号が、そのパフォーマンスの達成に必要な複雑性よりもはるかに高い複雑性を必要とすることを本発明者等は意図する。図14における4D16状態レート3/4内符号または外符号のパフォーマンスは、それだけで使用される場合、4D8または16状態レート2/3トレリス符号のものと略同じである。しかし、4D16状態レート3/4符号の複雑性は、4D8または16状態レート2/3符号の複雑性の約4倍または2倍である。
【0098】
「不良」4D16状態レート3/4符号について普通ではないことは、良好な4D8または16状態レート2/3符号よりもはるかに大きなサブセット内最短距離を有することである。このより大きなサブセット内最短距離は、4D16状態レート3/4符号が符号がそれだけで用いられる場合には4D8または16状態レート2/3符号を凌ぐよう助けないが、符号が連接して使用されてターボ符号を形成する場合には助ける。仮に4D8または16状態レート2/3符号を用いてターボ符号を形成した場合、ターボ符号のパフォーマンスもまたサブセット内最短距離によって支配され、これにより3dBの符号化利得しか提供されないであろう。より強力なターボ符号をマルチレベル符号の第1レベル符号として用いると、さらに後述するように、上位符号の大幅な簡易化およびマルチレベル符号全体のパフォーマンスの改良を助けることができる。
【0099】
図24のマルチレベル符号は、図24の第1レベルターボ符号が、4Dコンステレーションを64「ターボ符号」4Dサブセットにさらに細かく分けることに基づいて設計されることを除き、図14の符号と略同一であるように設計される。このような4Dサブセットはそれぞれ、図17におけるビットパターンX5X4X3X2X1X0によって識別される。このようなより細かい分割を用いることで、第1レベルターボ符号およびそれに関連するマルチレベル符号のパフォーマンスがさらに改良される。
【0100】
ちょうど図14のターボ符号のように、図24のターボ符号の内符号および外符号はそれぞれ、それ自体だけでは「不良」なトレリス符号である。実際に、図24の4D32状態レート4/5内符号または外符号は、符号がそれ自体だけで用いられる場合、図14の4D16状態レート3/4符号よりもさらに悪い。また、ちょうど図14のターボ符号のように、これらの「不良」なトレリス符号が連接されてターボ符号を形成する場合に、より良好なパフォーマンスにつながる。ここでも、「不良」な4D32状態レート4/5符号について普通ではないことは、優れたパフォーマンスを達成するためにターボ符号によって必要とされる比較的大きなサブセット内最短距離である。
【0101】
図27の実施形態において、第1レベル4Dレート2/4ターボ符号は、先の実施形態において用いられた手順と同じ手順を用いて設計される。しかし、対応するマルチレベル符号の構築には、異なる哲学が用いられる。先の実施形態では、第1レベルターボ符号はそれだけで非常に強力であり、単純な第2レベル符号のみを割り当てに必要とする。本実施形態では、第1レベルターボ符号は十分に強力ではなく、そのパフォーマンスを引き上げるために、上位レベルからの大きな助けが必要である。
【0102】
具体的に、図27のターボ符号は、4Dコンステレーションを16のみの「ターボ符号」4Dサブセットへの分割に基づいて構築される。このようなサブセットはそれぞれ、図28におけるビットパターンX3X2X1X0によって識別される。その結果、ターボ符号は3dBの符号化利得しか提供できない。しかし、「ターボ符号」サブセットの正しく復号化されたシーケンス内で発生するエラーイベントを考慮に入れない場合、ターボ符号の符号化利得は6dBを上回って示され得る。
【0103】
「ターボ符号」サブセットの正しく復号化されたシーケンス内のエラーイベントをさらに修正するために、図27に示すように、むしろ強力かつ複雑な第2レベルの拡張された単一誤り修正(ESEC)符号を用いた後に、単純な第3レベルSPC符号を用いる。3つの符号は一緒に、少なくとも6dBの符号化利得を達成する。
【0104】
符号設計の説明において、本発明者等はこれまで暗黙的に2Dコンステレーションは複数の振幅を有するか、あるいは定振幅4PSKであるものと想定してきた。2Dコンステレーションが定振幅16PSKの場合、図1の実施形態は変更のないままである。4Dコンステレーションの構成要素である2Dコンステレーションが定振幅8PSKである場合、図14、図24、および図27の実施形態はわずかに変更される。この変更は、8PSKの異なる距離特性に起因するものであり、図17および図28に示されるコンステレーションマッピングテーブルにのみ影響を及ぼす。図23および図30のマッピングテーブルを代わりに用いるべきである。しかし、ターボ符号の設計に用いられる手順を含め、その他すべては変更のないままであることに留意されたい。
【0105】
4Dコンステレーションの構成要素である2Dコンステレーションが、複数振幅16QAMの代わりに定振幅16PSKである場合、図31の実施形態に示すように、より単純なマルチレベル符号を構築することができる。この簡易化もまた、16PSKの異なる距離特性に起因するものである。具体的に、図31において、第1レベル4Dレート2/4ターボ符号は、その他の実施形態について先に述べた手順と同じ手順を用いて、4Dコンステレーションを16の「ターボ符号」4Dサブセットに分けることに基づいて設計される。このような4Dサブセットはそれぞれ、図30におけるビットパターンX3X2X1X0によって識別される。しかし、図27の4Dレート2/4ターボ符号とは異なり、ここでのターボ符号は十分に強力であり、単純な第2レベルSPC符号のみが割り当てに必要とされる。
【0106】
他の変形
上記は単に本発明の原理を例示するにすぎず、多くの変形が可能である。次に、このいくつかの例が続く。
【0107】
好ましい実施形態では、内符号器および外符号器はトレリス符号器であるが、他のタイプの冗長符号器を使用することも可能である。多くのタイプの符号をトレリスで表すことができるため、ある意味においてトレリス符号と呼ぶことができるが、本明細書で用いるトレリス符号という用語は、有限状態機械である符号を意味する。大部分のシンボル間隔それぞれについて、現在の状態、次の状態、現在の入力ビット、現在の出力ビット、および現在の出力ビットによって識別されるコンステレーションのシンボルの座標の間の関係により、符号を定義することができる。これらの関係は、(a)現在の出力ビット数は、現在の入力ビット数よりも大きい、(b)現在の出力ビットは、現在および前の入力ビットのいくつかの関数であり、任意の将来の入力ビットの関数ではない、かつ(c)シンボルの座標は一緒に現在の出力ビットによって識別される、すなわち、シンボルの少なくとも1つの座標は、少なくとも2つの現在の出力ビットの関数である、ことを特徴とする。
【0108】
上位ビット、すなわちトレリス外符号器に与えられないビット、が符号化されない場合に、適切な用途において適切なパフォーマンスを達成することができる。このような場合、上位ビットを直接用いて、ターボ符号器出力ビットによって識別されたサブセットからシンボルを選択する。
【0109】
たとえば、図1のリード線1046上および他の図における対応するリード線上の符号化されていないビットの数を表すパラメータmは、たとえば、1990年7月10日付けで本発明者に付与された米国特許第4,941,154号に記載の技術を用いて達成可能な小数値をとりうる。
【0110】
当分野で既知のいわゆる整形技術を用い、低エネルギ信号点に好都合なマッピングと共に拡張された信号コンステレーションの使用を通して「整形」利得を達成することができる。
【0111】
非ターボ符号化ビットをターボ符号化ビットと共にインタリーブする必要はない。むしろ、非ターボ符号化ビットは、所望であれば、パフォーマンスに悪影響を及ぼすことなく、インタリーバを迂回することができる。
【0112】
本明細書に開示される各ターボ符号は2つの符号器の連接を含むが、適宜設計されたインタリーバと組み合わせられた3つ以上の符号器の連接を介してさらに良好なパフォーマンスを達成しうる。
【0113】
本明細書に明示的に示されるすべての実施形態において、処理は外符号化からインタリーブを通して内符号化してマッピングするように進む。しかし、依然として入力ビットから選択されたシンボルベースで同等の結果を達成しながら、流れを異なる順序にすることも可能である。たとえば、V.34として知られる規格は、いわゆる事前符号化を含み、符号化、この場合には従来のトレリス符号化が、マッピングが行われた後に実行される処理フローが可能であり、また、その一般的なフレーバーを本明細書に同様に記載されるターボ符号と併用する処理フローも可能な場合がある。
【0114】
本明細書に開示する実施形態とは対照的に、内符号器がその入力としてすべての外符号器出力ビットを有することが可能である。したがって、たとえば、内符号器110が、その入力としてビットX2、X1だけではなくビットX3も有するレート3/4符号器であることも可能である。レート3/4符号はレート2/3符号よりも大幅に複雑であるが、しかしここで、レート3/4符号を用いることでターボ符号全体に達成されるさらなる符号化利得の量は非常に小さいか、または存在しない可能性が高い。さらに、このような複雑性が増大した符号と併せてより長いインタリーバを用いない限り、実際には符号化利得の損失が発生し得る。さらに、不利なことに、より長いインタリーバを使用すると待ち時間が増大する。
【0115】
それぞれ内符号器および外符号器の状態数であるパラメータM1およびM2は、特定の環境において有利であるとわかっている任意の値であることができる。しかし、一方または他方の符号器の状態数を増大することによる追加の複雑性に耐えられる場合、複雑性の増大に起因するパフォーマンスの向上は、M2を増大するよりもM1を増大するほうが大きい。
【0116】
本明細書に記載した以外のインタリーバおよびトレリス符号器を使用してもよい。
本明細書に開示する各実施形態において、内符号器および外符号器は同じレートを有する。すなわち、双方ともレート2/3、レート3/4、またはレート4/5である。しかし、内符号器および外符号器は、互いに異なるレート、ならびに開示する実施形態で使用される3つのレートとは異なるレートを有してもよい。
【0117】
ターボ符号は、本明細書に開示したものとは対照的に、シンボル間の距離が同じであるより小さなコンステレーションの使用を含む、本明細書に開示されるもの以外の技術によって終了してもよい(このような方法は利点を提供しないように見え、実際に、終了されたシンボル間隔中のシンボルのエラーレートパフォーマンスが低下することになる)。さらに、本ターボ符号は、終了技術をまったく採用せずとも使用することができる。
【0118】
本明細書に開示されるトレリス符号はすべてシステム符号(すなわち入力ビットはすべて、様々な現在および符号状態変数の関数である少なくとも1つの冗長ビットと共に出力ビットとして現れる)であるが、非システム的であることも可能である。しかし、非システム符号を内符号に用いると、全体的なターボ符号パフォーマンスにかなりの悪影響を及ぼすようである。
【0119】
リード線104、304等の少なくともいくつかのビットが、これらのビットがインパルス雑音または他の障害の作用から保護するために、リードソロモンまたは他の符号によって処理されていることが望ましいことがある。実際に、開示した様々なマルチレベル符号実施形態において上位符号として示されるパリティチェックまたは誤り修正符号の代わりに、リードソロモンまたは他の符号を用いることができる。
【0120】
例示的な実施形態において、双方の符号器は同じ次元を有する。すなわち、それぞれ1つが、各シンボル間隔について1つの冗長ビットを生成する(すなわち状態遷移を行う)。しかし、これが当てはまらない、たとえば、外符号が四次元符号でありうる価値のある符号を設計することも可能な場合もあり、これは、各四次元シンボルについて1つの冗長ビットを生成する一方で、内符号は二次元符号であること、および四次元シンボル間隔の2つの構成要素である二次元信号間隔それぞれについて1つの冗長ビットを生成することを意味する。
【0121】
所望であれば、パルス整形および変調前に、コンステレーションマッパによって生成されるデータシンボルをさらに処理してもよい。1つのこのような処理は、たとえば、1993年3月3日付けで本発明者に付与された米国特許第5,195,107号に開示されるものなどのトムリンソン事前符号化であり得る。
【0122】
1つのみの外符号器出力ビット(たとえば、図1におけるビットX3)が、本明細書に明示的に示される各実施形態において、内符号によってさらに符号化されない場合であっても、2つ以上の外符号器出力ビットを内符号によりさらに符号化しないことも可能である。
【0123】
すべての符号器出力ビットが常に送信されるわけではないことを意味するいわゆる「パンクチャリング」にターボ符号を受けさせることが望ましいと判明する場合もある。この方法は、パンクチャリングされたシグナリング間隔中に、より小さなシグナリングコンステレーションを使用することができ、これは、たとえば、タイミング回復および/または搬送波位相回復の観点から有利でありうる。あるいは、同じサイズのコンステレーションを使用することが可能であり、所望であれば、ある種類の補助情報を伝送することができる。
【0124】
当業者は、本明細書におけるブロック図は、本発明の原理を具現する例示的な回路の概念図を表していることを理解されよう。図に示される各種要素の機能は、好ましい実施形態において、個々のハードウェア要素ではなく、1つまたは複数のプログラムされたプロセッサ、デジタル信号処理(DSP)チップ等によって実施される。
【0125】
本明細書の特許請求の範囲において、特定の機能を実行する手段として表される任意の要素は、たとえば、a)その機能を実行する回路素子の組み合わせ、またはb)機能を実行するため、ソフトウェアの実行に適した回路と組み合わせられた任意の形態のソフトウェア(したがって、ファームウェア、マイクロ符号等を含む)を含む、その機能を実行するあらゆるやり方を包含するよう意図される。かかる特許請求の範囲によって定義される本発明は、説明された各種手段によって提供される機能性が組み合わせられ、共に特許請求の範囲が求めるようになるという事実にある。したがって、本出願人は、それらの機能性を提供することのできる任意の手段を本明細書に示されるものの同等物とみなす。
【0126】
本明細書に開示される符号化方式は二次元または四次元であるが、本発明は、一次元コンステレーション、ならびに次元数が奇数である4よりも大きな次元のコンステレーションを含む、任意の所望の次元のコンステレーションと併用することができる。
【0127】
したがって、当業者は、本明細書に明示的に図示または説明されていなくとも、本発明の原理を具現し、本発明の精神および範囲内にある多くの構成を考案可能なことが理解されるであろう。
【図面の簡単な説明】
【図1】本発明の原理に従っての使用に適したターボ符号器の第1の実施形態を備える送信機の図である。
【図2】図1のターボ符号器において使用可能な内符号器および外符号器の例示的な実施形態の図である。
【図3】図1のターボ符号器において使用可能な内符号器および外符号器の例示的な実施形態の図である。
【図4】図1のターボ符号器において使用可能な内符号器および外符号器の例示的な実施形態の図である。
【図5】図1のターボ符号器のインターリーバの動作を示す図である。
【図6】図1のターボ符号器が使用可能な様々な信号コンステレーションの図である。
【図7】図1のターボ符号器が使用可能な様々な信号コンステレーションの図である。
【図8】図1のターボ符号器が使用可能な様々な信号コンステレーションの図である。
【図9】図1のターボ符号器が使用可能な様々な信号コンステレーションの図である。
【図10】ターボ符号化信号を復号化するための例示的なターボ復号器を備える受信機の図である。
【図11】ターボ復号器の動作の説明を助ける図である。
【図12】ターボ復号器の動作の説明を助ける図である。
【図13】ターボ復号器の動作の説明を助ける図である。
【図14】本発明の原理に従っての使用に適したターボ符号器のさらなる実施形態を備える送信機の図である。
【図15】図14のターボ符号器において使用可能な内符号器および外符号器の例示的な実施形態の図である。
【図16】図14のターボ符号器において使用可能な内符号器および外符号器の例示的な実施形態の図である。
【図17】図14のターボ符号器において使用されるビットコンバータの動作を例示的に示す図である。
【図18】図14のターボ符号器において使用されるビットコンバータの動作を例示的に示す図である。
【図19】図14のターボ符号器が使用可能な様々な信号コンステレーションの図である。
【図20】図14のターボ符号器が使用可能な様々な信号コンステレーションの図である。
【図21】図14のターボ符号器が使用可能な様々な信号コンステレーションの図である。
【図22】図14のターボ符号器が使用可能な様々な信号コンステレーションの図である。
【図23】使用されるコンステレーションが図22のコンステレーションである場合、図14のターボ符号器において使用可能な1つのビットコンバータの動作を示す図である。
【図24】本発明の原理に従っての使用に適したターボ符号器のさらなる実施形態を備える送信機の図である。
【図25】図24のターボ符号器において使用可能な内符号器および外符号器の例示的な実施形態である。
【図26】図24のターボ符号器において使用可能な内符号器および外符号器の例示的な実施形態である。
【図27】本発明の原理に従っての使用に適したターボ符号器のさらなる実施形態を備える送信機の図である。
【図28】図27のターボ符号器において使用されるビットコンバータの動作を例示的に示す図である。
【図29】図27のターボ符号器が使用可能なコンステレーションの図である。
【図30】コンステレーションが図22のコンステレーションである場合、図27のターボ符号器において使用されるビットコンバータの動作を例示的に示す図である。
【図31】本発明の原理に従っての使用に適したターボ符号器のさらなる実施形態を備える送信機の図である。
Claims (10)
- シンボル間隔の特定の1つに関連する入力ビットを符号化し、該特定のシンボル間隔に関連する第1の冗長符号器出力ビットの拡張グループを生成するように動作する第1の冗長符号器と、所定数の該第1の冗長符号器出力ビットを符号化して、該特定のシンボル間隔に関連する第2の冗長符号器出力ビットの拡張グループを生成するように動作する第2の冗長符号器と、該特定のシンボル間隔について、少なくとも該第2の冗長符号器出力ビットの拡張グループの関数として、信号コンステレーションから特定のデータシンボルを選択するように適合されるマッパとからなる、それぞれのシンボル間隔についてデータシンボルを生成する装置における符号化方法であって、該方法は、
少なくとも1つのシンボル間隔について、該第2の冗長符号器の入力を少なくとも1つの予め定義されたビットで置換して、該第2の冗長符号器からの符号を終了する段階と、
該少なくとも1つのシンボル間隔に関連する少なくとも1つの第1の冗長符号器出力ビットを生成しない段階とからなることを特徴とする方法。 - 請求項1に記載の方法において、該生成しない段階は、該少なくとも1つのシンボル間隔について該第1の冗長符号器の動作を阻止する段階からなることを特徴とする方法。
- 請求項1に記載の方法において、該方法はさらに、少なくとも1つのシンボル間隔について、該第1の冗長符号器の入力を少なくとも1つの所定のビットで置換する段階からなることを特徴とする方法。
- 請求項3に記載の方法において、該第1の冗長符号器の入力に取って代わる該少なくとも1つの予め定義されるビットは、該第1の冗長符号器に予め格納されている少なくとも1つのビットに関連して決定されることを特徴とする方法。
- 請求項4に記載の方法において、該第1の冗長符号器は有限状態機械であり、該第1の冗長符号器の入力に取って代わる該少なくとも1つの予め定義されたビットは該第1の冗長符号器の状態に関連して決定されることを特徴とする方法。
- 請求項1に記載の方法において、該方法はさらに、該マッパによって行われる、
少なくとも1つの予め定義されるビットで該第2の冗長符号器の入力を置換する該少なくとも1つのシンボル間隔について、第1の信号コンステレーションからデータシンボルを選択する段階と、
少なくとも1つの予め定義されるビットで該第2の冗長符号器の入力を置換する該少なくとも1つのシンボル間隔以外のシンボル間隔について、第2の信号コンステレーションからデータシンボルを選択する段階とからなることを特徴とする方法。 - 特定のシンボル間隔に関連する入力ビットグループを符号化し、該特定のシンボル間隔に関連する第1の冗長符号器出力ビットの拡張グループを生成する第1の有限状態機械冗長符号器と、第2の冗長符号を用いて所定数の該第1の冗長符号器出力ビットを符号化し、該特定のシンボル間隔に関連する第2の冗長符号器出力ビットの拡張グループを生成する第2の有限状態機械冗長符号器と、該特定のシンボル間隔について、少なくとも該第2の冗長符号器出力ビットの拡張グループの関数として、信号コンステレーションから特定のデータシンボルを選択するように適合されるマッパとからなる、連続したシンボル間隔中にデータシンボルを生成する装置における符号化方法であって、該方法は、
少なくとも1つのシンボル間隔について、該第2の冗長符号を終了する段階と、
該第2の冗長符号が終了する該少なくとも1つのシンボル間隔について、該第1の冗長符号器の状態を進めない段階とからなることを特徴とする方法。 - 請求項7に記載の方法において、該終了する段階は、少なくとも1つの予め定義されるビットを該第2の冗長符号器の入力として提供する段階からなることを特徴とする方法。
- 請求項7に記載の方法において、該方法はさらに、該第2の冗長符号が終了する少なくとも1つのシンボル間隔以外の少なくとも1つのシンボル間隔について、該第1の冗長符号を終了する段階からなることを特徴とする方法。
- 請求項9に記載の方法において、該第1の冗長符号を終了する段階は、少なくとも1つの予め定義されたビットを該第1の冗長符号器の入力として提供する段階からなることを特徴とする方法。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13658399P | 1999-05-28 | 1999-05-28 | |
US60/136,583 | 1999-05-28 | ||
US15846399P | 1999-10-08 | 1999-10-08 | |
US60/158,463 | 1999-10-08 | ||
US09/524,065 | 2000-03-13 | ||
US09/524,065 US6266795B1 (en) | 1999-05-28 | 2000-03-13 | Turbo code termination |
PCT/US2000/014392 WO2000074249A1 (en) | 1999-05-28 | 2000-05-24 | Turbo code termination |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003501860A JP2003501860A (ja) | 2003-01-14 |
JP3607675B2 true JP3607675B2 (ja) | 2005-01-05 |
Family
ID=27384880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001500444A Expired - Fee Related JP3607675B2 (ja) | 1999-05-28 | 2000-05-24 | ターボ符号終了 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1186107B1 (ja) |
JP (1) | JP3607675B2 (ja) |
AU (1) | AU5289200A (ja) |
DE (1) | DE60032895T2 (ja) |
WO (1) | WO2000074249A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7315579B2 (en) | 2001-02-28 | 2008-01-01 | Broadcom Corporation | Trellis coded modulation tails |
KR100539862B1 (ko) * | 2001-04-04 | 2005-12-28 | 삼성전자주식회사 | 부호분할다중접속 이동통신시스템에서 데이타 송/수신장치및 방법 |
KR101476873B1 (ko) | 2001-08-23 | 2014-12-26 | 애플 인크. | Co-set와 강하게 코딩된 co-set 식별자를 조합하여 직교 진폭 변조를 행하기 위한 시스템 및 방법 |
MY196159A (en) * | 2015-02-25 | 2023-03-17 | Samsung Electronics Co Ltd | Transmitter And Method For Generating Additional Parity Thereof |
US10367600B2 (en) | 2017-08-09 | 2019-07-30 | Ciena Corporation | Forward error correction with contrast coding |
CN113437981B (zh) * | 2021-05-28 | 2022-04-22 | 暨南大学 | 一种基于多维编码的空间耦合串行级联码编码方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69841631D1 (de) * | 1997-07-30 | 2010-06-02 | Samsung Electronics Co Ltd | Verfahren und Vorrichtung zur adaptiven Kanalcodierung |
-
2000
- 2000-05-24 WO PCT/US2000/014392 patent/WO2000074249A1/en active IP Right Grant
- 2000-05-24 EP EP00937762A patent/EP1186107B1/en not_active Expired - Lifetime
- 2000-05-24 AU AU52892/00A patent/AU5289200A/en not_active Abandoned
- 2000-05-24 JP JP2001500444A patent/JP3607675B2/ja not_active Expired - Fee Related
- 2000-05-24 DE DE60032895T patent/DE60032895T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
WO2000074249A1 (en) | 2000-12-07 |
JP2003501860A (ja) | 2003-01-14 |
EP1186107A1 (en) | 2002-03-13 |
DE60032895D1 (de) | 2007-02-22 |
DE60032895T2 (de) | 2007-10-25 |
EP1186107B1 (en) | 2007-01-10 |
AU5289200A (en) | 2000-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3737433B2 (ja) | 直列連接ターボ符号 | |
JP3559547B2 (ja) | ターボ符号シンボルインタリーバ | |
US6266795B1 (en) | Turbo code termination | |
US5996104A (en) | System for coding system | |
US7684505B2 (en) | Method and apparatus for encoding interleaving and mapping data to facilitate GBPS data rates in wireless systems | |
CA2556419C (en) | Method and apparatus for communications using turbo like codes | |
US7770093B2 (en) | Serial turbo trellis coded modulation using a serially concatenated coder | |
US5633881A (en) | Trellis encoder and decoder based upon punctured rate 1/2 convolutional codes | |
US20020150167A1 (en) | Methods and apparatus for configurable or assymetric forward error correction | |
Herzberg | Multilevel turbo coding with short interleavers | |
JP2004533175A (ja) | 相補的エンコーダ/デコーダに対する方法及び装置 | |
Barbulescu et al. | TURBO CODES: a tutorial on a new class of powerful error correcting coding schemes | |
Abdelaziz et al. | Ternary convolutional codes for ternary phase shift keying | |
JP3607675B2 (ja) | ターボ符号終了 | |
JP2004023691A (ja) | 誤り訂正符号化/復号化方法及び送信装置及び受信装置 | |
US6611940B1 (en) | Decoding symbols representing digital words | |
JP4409048B2 (ja) | 通信装置および通信方法 | |
Liew et al. | Concatenated space-time block codes and TCM, turbo TCM, convolutional as well as turbo codes | |
Robertson et al. | Extensions of turbo trellis coded modulation to high bandwidth efficiencies | |
Gao et al. | Triple-binary circular recursive systematic convolutional turbo codes | |
Soleymani et al. | Spectrally Efficient Non-Binary Turbo Codes: Beyond DVB/RCS | |
Griot et al. | Nonlinear turbo codes for higher-order modulations | |
Bahai et al. | Channel Coding | |
Tsai et al. | Scrambling-based shaping for turbo coded modulation | |
Lin et al. | Two trellis coding schemes for large free distances |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040216 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040514 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040915 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041007 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071015 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081015 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081015 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091015 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091015 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101015 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101015 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111015 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111015 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121015 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131015 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |