(57)【特許請求の範囲】
【請求項１】
各ブロックが所定数Ｎ個のソース・データ要素によって形成されている複数のブロックを畳み込み符号化する方法であって、
前記ソース・データ要素の各々は、周期Ｌの生成多項式を実行する同じ畳み込み符号化器（２２、３１）へと２回導入されるものであって、各ソース・データ要素の導入順序は、同じソース・データ要素の１回目と２回目の導入の間に（ｐi・Ｌ）−１個（ｐiはゼロ以外の整数）の他のソース・データ要素を導入して分離するものである畳み込み符号化方法。
【請求項２】
いくつかの前記ソース・データ要素が、１回目にその自然の順序で前記畳み込み符号化器へと導入され、２回目には、ある同じソース・データ要素ｄiの１回目と２回目の導入の間に、（ｐi・Ｌ）−１個（ｐiはゼロ以外の整数）の他のソース・データ要素を導入して分離するように前記ソース・データ要素が前記畳み込み符号化器へと導入されるものである請求項１に記載の畳み込み符号化方法。
【請求項３】
ソース・データ要素の導入の２回目の順序が、
ソース・データ要素を、サイズＮ＝ｎ1*ｎcを有するメモリ内で行ごとに記録すること（ここで、ｎ1はＬの倍数である行数であり、ｎcはＬに対して素である列数である）と、
時点ｋ1で１回目に導入されたソース・データ要素と同じデータ要素が、ｋ1−ｋ2がＬの倍数になる時点ｋ2である列において見つかるまで、記録されたソース・データ要素を列ごとにある行から次の行へと読み取りを続けることと
によって決定される、請求項２に記載の畳み込み符号化方法。
【請求項４】
前記符号化が系統的符号化であり、前記ソース・データ要素が前記符号化器から出力されるデータ要素と組み合わせて系統的に伝送される、請求項１から３の任意の一つに記載の畳み込み符号化方法。
【請求項５】
前記符号化器から出力されるデータのパンチングを実行する、請求項１から４の任意の一つに記載の畳み込み符号化方法。
【請求項６】
１ブロックを形成するソース・データ要素の数Ｎが、前記符号化器の生成多項式の周期Ｌの倍数である、請求項１から５の任意の一つに記載の畳み込み符号化方法。
【請求項７】
１ブロックを形成するソース・データ要素の数Ｎが前記符号化器の生成多項式の周期Ｌの倍数ではないとき、前記ブロックの各々がＮ’−Ｎの固定値によって補充される（Ｎ’はＬの倍数であってＮよりも大きくＮに最も近い数）、請求項１から５の任意の一つに記載の畳み込み符号化方法。
【請求項８】
各ブロックが所定数Ｎ個のソース・データ要素によって形成されている複数のブロックを畳み込み符号化する装置であって、
前記ソース・データ要素の各々を、周期Ｌを有する生成多項式を実行する同じ畳み込み符号化器へと２回導入するための手段であって、各ソース・データ要素の導入順序は、同じソース・データ要素の１回目と２回目の導入の間に（ｐi・Ｌ）−１個（ｐiはゼロ以外の整数）の他のソース・データ要素を導入して分離するものである手段を含む畳み込み符号化装置。
【請求項９】
所定数Ｎ個のソース・データ要素によって形成されたソース・ブロックに対応する、符号化データによって形成された符号化ブロックを復号する方法であって、
前記ソース・データ要素の各々が、周期Ｌを有する生成多項式を実行する同じ畳み込み符号化器へと２回導入され、各ソース・データ要素の導入順序は、同じソース・データ要素の１回目と２回目の導入の間に（ｐi・Ｌ）−１個（ｐiはゼロ以外の整数）の他のソース・データ要素を導入して分離するように、前記ブロックが符号化されており、
受信された符号化データ要素と、符号化器の初期状態及び最終状態とがわかっているという事実とを用いて最尤復号を行う最尤復号ステップを含む、復号方法。
【請求項１０】
前記符号化が系統的符号化であり、復号方法が反復手順を実行し、該反復手順は、
復号されるべき情報要素が２・Ｎ個の対を形成するように、受信された元のシンボルを複写し、前記シンボルの各々に、受信された冗長なデータ要素の一つ又は他方を関連づけるステップと、
符号化器の初期状態に基づいて復号処理を初期設定するステップと、符号化器の初期状態及び最終状態がわかっているという事実に基づいて、情報要素の各対のために、この対の推定ｓk及び前記推定に関する信頼度を表す外因性情報要素ｚkを、符号化データ要素及び受信された冗長データ要素の関数として決定するステップとを含む第１反復ステップと、
受信されたソース・データ要素を、受信されたソース・データ要素と前記複写されたデータ要素に関する外因性情報との重みづけされた組み合わせに置換して前記決定ステップを繰り返す、少なくとも一つの中間反復ステップと、
各ソース・シンボルについて、冗長なシンボルの一つから得られた推定と他の冗長シンボルから得られた外因性情報との合計に対応する、受信された前記データ要素の最終的推定を決定する最終反復ステップと
を含む、請求項９に記載の復号方法。
【請求項１１】
対数法が、前記決定の間に発生された推定に基づく絶対値に適用される、請求項１０に記載の復号方法。
【請求項１２】
前記反復ステップが、伝送されるデータ要素の速度よりも大きな速度で単一の復号器を数回再使用することと、
各復号モジュールが一つの反復ステップに対応するいくつかの復号モジュールをカスケードすることと
によって実行される、請求項１０及び１１の任意の一つに記載の復号方法。
【請求項１３】
所定数Ｎ個のソース・データ要素によって形成されたあるソース・ブロックに対応する符号化データ要素によって形成された符号化ブロックの復号器であって、
前記ソース・データ要素の各々が、周期Ｌを有する生成多項式を実行する同じ畳み込み符号化器へと２回導入され、各ソース・データ要素の導入順序が、同じソース・データ要素の１回目と２回目の導入の間に（ｐi・Ｌ）−１個（ｐiはゼロ以外の整数）の他のソース・データ要素を導入して分離するように前記ソース・ブロックが符号化されており、
受信された符号化データ要素と符号化器の初期状態及び最終状態がわかっていることに基づいて最尤復号を行う最尤復号手段を含むものである復号器。
【発明の詳細な説明】
発明の背景
１．発明の分野
本発明の分野はディジタル・データ、特に相互に独立しており、ユニット・ベースで符号化及び復号されなければならない、ブロックをなすデータ又はメッセージでるソース・データの符号化の分野である。
さらに具体的には、本発明はメッセージの伝送、特に短いメッセージ（例えば、数十又は数百ビット）の伝送によって課される制約に適合する畳み込み型誤り訂正符号化（convolutive type error-correcting encoding）方法及び装置に関する。さらに、本発明は、本発明の符号化方法に適合化された復号方法及び装置に関する。
本発明は、ディジタル情報をある信頼度で伝送しなければならないすべての場合に応用することができる。本発明の望ましい応用分野は、高度に雑音効果を受ける伝送路でディジタル伝送を行う分野である。例えば、本発明は衛星によって信号を送受信する場合に実施することができる。特に、本発明は軌道衛星を使用する通信に使用することができる。実際、そのような衛星を使用するシステムでは、衛星が地上アンテナの軸に位置しているとき、非常に短いデータ・バーストでのみ通信を行うことができる。
さらに、本発明は、宇宙飛行体及び／又は宇宙探査機に対する、あるいはそれらの間での宇宙における伝送や、復号の信頼度が非常に重要視されるすべての場合に有利に使用することができる。
しかし、さらに一般的には、本発明は、ＲＦ伝送路又はケーブルによるすべてのタイプの伝送に同じように応用することができる。特に、それはＧＳＭシステムのようなディジタル無線通信システムに使用することができる。他の可能な応用は、コンピュータ・ネットワーク特にインターネットのデータ伝送における応用である。
ディジタル信号が固定サイズのブロックとして構成されている限り、任意のディジタル信号が、その発生源を問わず本発明に従って符号化及び復号されてよい。
２．従来技術の説明
畳み込み符号化器（convolutive encoders）は誤り訂正の品質の点で特に効率的であることが知られている。概略的には、畳み込み符号は、少なくとも一つの符号化データ要素を、符号化されるべき各ソース・データ要素に関連づけ、この符号化データ要素が、そのソース・データ要素と、少なくとも一つの先行ソース・データ要素との、モジュロ２合計によって得られる符号である。従って、各符号化シンボルは、符号化されるべきソース・データ要素と、考慮される先行ソース・データ要素との線形結合である。
復号器では、元のデータ要素は最尤アルゴリズム（例えばヴィタビ（Viterbi）・アルゴリズム）によって再構成されることが最も普通であり、その決定は、もし必要であれば、重みづけることができる。このアルゴリズムは、受信したシーケンスに最も対応していると思われるソース・シーケンスを決定するに当たって、受信した符号化シンボルのシーケンスを考慮に入れて伝送時の各符号化データ要素を推定する。
畳み込み符号の中には、「ターボ符号」として知られる非常に有利なテクニックがある。ターボ符号は、特に「Procede de codage correoteur d' erreurs a au moins deux encodages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants」（少なくとも２つの系統的畳み込み符号化を並列に伴う誤り訂正符号化方法、反復的復号方法、及び対応する復号モジュールと復号器）と題するヨーロッパ特許文書ＥＰ−９２  ４６００１３．３、及び１９９３年５月の「近シャノン限界誤り訂正符号化及び復号：  ターボ符号」と題するProceedings of IEEE ICC '93の記事（Near Shannon limit error-correcting coding and decoding: 'turbo-codes', by C.Berrou, A.Glavieux and P.Thitimajshima, Proceedings of IEEE ICC '93, Geneva, pp.1064-1070, May 1993）に説明されている。
ターボ符号は、その訂正能力が１９４７年にシャノンによって予測された理論的限界に近いので、疑似最適２進訂正符号である。
ターボ符号は、不均一インタリービングによって結合された再帰系統的畳み込み（recursive systematic convolutive: ＣＳＲ）符号を並列連結することによって作成される。
復号は非常に多数の状態を考慮しない場合には包括的であり得ないが、外因性情報の概念に依存する反復的プロセスを使用する。復号の複雑性は現在のシリコン集積密度と両立可能であり、このテクニックはすでに物理的実施形態の作成にまで進んでいる。
ターボ符号、さらに一般的に畳み込み符号化は、長いメッセージ（例えば、ノンストップ放送）の伝送に非常に適している。
それに対して、長さＮを有する短いメッセージを保護する必要がある場合は、Ｎビットが符号化器に印加された後に符号化器の最終状態を知るという問題がある。もしこの情報が与えられないと、あるいは符号化器の状態が追加ビット（「終止ビット（tail bits）」）の印加によって既知の値に設定されないと、復号器（例えば、ヴィタビ復号器）はその訂正能力を失う。
さらに、もし符号が「クローズ」されないと、反復プロセスの進行中に同一の復号ユニットに常に依存する復号を逐次に実行することは不可能である。
他のレベルでは、そして再び短いメッセージの場合には、高い訂正能力を得るために連結テクニック（典型的には、ＢＣＨブロック符号又はリードソロモン符号（Read-Solomon code）の次に、インタリービングの後で、畳み込み符号が続く）を使用することが困難である。すなわち、ブロック符号はメッセージの長さよりも長いブロック長を必要とするか（リードソロモン符号の場合）、インタリービングのサイズがはるかに長くなる（ＢＣＨ符号の場合）。従って、現在の方法は終止ビットを有する畳み込み符号又はブロック符号を使用して、非常に平凡な訂正能力を受け入れている。
基本的符号としてＢＣＨ符号を使用するブロック・ターボ符号に関する研究が行われた。それについては、特に１９９４年１１月〜１２月の「生成符号の近最適復号」と題するＩＥＥＥ  ＧＬＯＢＥＣＯＭ’９４のプロシーディングスの記事（″Near optimum decoding of product codes″, by R. Pyndiah, A. Glavleux, A. Picart and S. Jacq, Proceedings of IEEE GLOBECOM '94, Vol. 1/3, pp. 339-343, Nov.-Dec. 1994）に説明されている。
結果は優れたものであったが、符号化パターンは欠点を有する（例えば、復号器の複雑性、符号化効率レベルに柔軟性が無いこと、ブロック・サイズが大きいこと）。以下に説明する畳み込みブロック・ターボ符号も優れたパフォーマンス特性を与える。それらは復号するのに比較的簡単であり、符号化効率及びブロック・サイズの選択に大きな柔軟性を提供する。
本発明の目的は、特に従来技術のこれら種々の欠点を克服することである。
発明の概要
さらに具体的には、本発明の目的は、ターボ符号の利点を有しブロック符号化又はメッセージ符号化に適した畳み込み符号化方法及び対応する装置を提供することである。
さらに具体的には、本発明の目的は、高い訂正能力を提供しながら、各ブロックが送信又は受信中に独立に処理されるように符号を「クローズ（閉じる）」することができる符号化方法を提供することである。
本発明の他の目的は、大きな資源を必要としないで簡単に実行することができ、さらに復号するのに簡単な復号方法を提供することである。
さらに、本発明の目的は、処理されるブロックのサイズに特別の制約を課さず、特に最小サイズを要求せず、符号化効率の選択に大きな柔軟性を与える方法を提供することである。
さらに、本発明の目的は、実行するのに簡単でほとんど費用がかからない、対応する復号方法を提供することである。
本発明の目的は、例えば所望の最大誤り率に適合化させることのできる動作を有する方法を提供することである。同時に、本発明の目的は、幾つかのタイプの受信機を、誤り訂正効率に関して一つかつ同一の符号化動作に基づいて定義することを可能にする復号方法を提供することである。
これらの目的、及び以下で明らかになる他の目的は、本発明に従って、各ブロックが所定数Ｎのソース・データ要素によって形成されている複数ブロックの畳み込み符号化方法によって達成される。この方法によれば、一つかつ同一のソース・データ要素ｄiの２つの導入インスタンスが、（ｐi・Ｌ）−１の他のソース・データ要素の導入によって分離されるような順序で（ここで、ｐiは非ゼロの整数）、周期Ｌを有する生成多項式を実行する一つかつ同一の畳み込み符号化器へ２回導入される。
系統的反復（systematic repetition）のこのテクニックによって、後に説明するように、符号のクローズの保証が可能となる。言い換えれば、符号化レジスタの最初の状態及び最後の状態は、メッセージを形成するデータ要素がどのようなものであれ、復号器に完全に知られている。これは復号器の初期設定を可能にする。符号をクローズするのに終止データ要素は必要とされない。
データ要素を符号化器へ２回印加する方法は、前記の規則に合致する限り多くの方法を想定することができる。
効率的な結果を与える有利な実施例に従って、前記のソース・データ要素は１回目はその自然の順序で前記復号器へ導入され（そのソース・データ要素はオリジナル・データ要素と呼ばれる）、２回目は、一つかつ同一のソース・データ要素ｄiの２つの導入インスタンスが、（ｐi・Ｌ）−１の他のソース・データ要素によって分離されるような順序で導入される（そのソース・データ要素は重複データ要素と呼ばれる）。ここで、ｐiは非ゼロの整数である。
前記重複データ要素の導入順序は、具体的には次のようにして得られる。
ソース・データ要素を、サイズＮ＝ｎ1*ｎcを有するメモリの中へ行ごとに記録し（ここで、ｎ1はＬの倍数であるような行数であり、ｎcはＬに対して素であるような列数である）、そして、
時点ｋ1で１回目に使用されたデータ要素（オリジナル・データ要素）が発見されるまで、連続した行を移動しながら時点ｋ2における所与の列から、ｋ1−ｋ2がＬの倍数となるように、列ごとに前記重複データ要素を読み取る。
本発明に従う符号化は系統的符号化であって、前記ソース・データ要素は前記符号化器によって引き渡されるデータ要素と組み合わせて系統的に伝送されるのが望ましい。
このテクニックは、特に効率的であることが証明されており、後に説明する反復的復号方法（iterative decoding method）の実行を可能にする。
符号化の効率を改善するために、本発明の方法は前記符号化器によって引き渡されるデータのパンチングを実行することができる。
考慮されるブロックは任意のサイズを有してよい。最初の実施例に従えば、ブロックを形成するソース・データ要素の数Ｎは、前記符号化器の生成多項式の周期Ｌの倍数である。
第２の実施例に従えば、ブロックを形成するソース・データ要素の数Ｎが、前記符号化器の生成多項式の周期Ｌの倍数でないとき、前記ブロックの各々は固定した値の数Ｎ’−Ｎによって補足される。ここで、Ｎ’は、Ｌの倍数の中でＮよりも大きくＮに最も近い数である。
この場合、前記固定値は受信機へ送信されず知られていないことが望ましい。前記固定値は、あるブロックの始め又は終わりにおいてブロックの形の中で、前記ブロックを形成するデータ要素中に均一に配分して導入することが出来る。
もちろん、本発明は、このような方法を実行する装置にも関連している。そのような装置は、具体的には、前記ソース・データ要素の各々を、周期Ｌを有する生成多項式を実行する一つかつ同一の畳み込み符号化器へ２回導入し、その導入順序を、一つかつ同一のソース・データ要素ｄiの２つの導入インスタンスが（ｐi・Ｌ）−１の他のソース・データ要素の導入によって分離されるような順序にする手段を備えている（ここで、ｐiは非ゼロの整数）。
さらに、本発明は、第１に受信された符号化データ要素を考慮し、第２に符号化器の最初の状態及び最後の状態が知られているという事実を考慮する最尤復号ステップを含む、対応する復号方法に関連している。
前記符号化は系統的符号化であるから、復号方法は次のことを含む反復的手順（iterative procedure）を実行することが望ましい。
−  受信された元のシンボルを複写し、受信された冗長データ要素の一つ又は他方を元のシンボルの各々に関連づけて、復号されるべき情報要素の２．Ｎの対を形成すること。
−  次のステップを含む第１の反復（first iteration）。
−  符号化器の最初の状態を考慮するように復号を初期設定するステップ。
−  情報要素の各対について、この対の推定ｓk及び前記推定に関連した信頼度を表す外因性情報（extrinsic information）要素ｚkを、符号化データ要素及び受信された冗長データ要素の関数として決定し、符号化器の最初の状態及び最後の状態が知られているという事実を考慮するステップ。
−  受信されたソース・データ要素を、受信されたソース・データ要素及び二重外因性情報（dual extrinsic information）（すなわち、複写されたデータ要素に関する情報）の重みづけされた組み合わせによって置換しながら、決定ステップを繰り返す少なくとも一つの中間反復（intermediate iteration）。
−  各ソース・シンボルに関して、冗長シンボルの一つから得られた推定と他の冗長シンボルから得られた外因性情報との合計に対応する、受信されたデータ要素の最終的推定を引き渡す最後の反復（last iteration）。
このテクニックは、復号器を簡単にすることができ、特に効率的であることが証明された。反復の回数は、求められる復号効率性の関数である。
中立値が伝送時のパンチングによって除かれた場合、冗長データ要素を中立値に設定するのが有利である。
前記決定ステップの間に発生される推定の絶対値に対しては、対数法を適用するのが望ましい。
それによって、重大な誤りは反復プロセス（iterative process）の間に増幅されなくなる。
少なくとも２つの実施形態を想定することができる。実際、前記反復は次のように実行される。
−  伝送されるデータ要素の速度よりも大きい速度で、単一の復号器を数回再使用する実施形態。
−  ある反復（iteration）にそれぞれ対応する復号モジュールをいくつかカスケードする実施形態。
前者の形態は、特に、いくつかの反復を一つのブロックの伝送中に実行することができるような、比較的に低ビット率を有する応用例に対応する。
さらに、本発明はこの方法を実行する復号器に関連している。これらの復号器は、特に、第１に受信された符号化データ要素を考慮し、第２に符号化器の最初の状態及び最後の状態が知られているという事実を考慮する最尤復号手段を備えている。
【図面の簡単な説明】
本発明の他の特徴及び利点は、単純な例として示される本発明の実施例の下記の説明、及び添付の図面から明らかとなる。ここで、
図１は本発明の符号化及び復号方法を実行することのできる伝送線の略図である。
図２は２Ｎビットのサイズを有するメモリを使用する本発明の符号化方法の実行モードを示す。
図３はデータ要素の第１系列が自然の順序で導入される場合の、本発明の方法の簡単な実行図を示す。
図４は本発明に従って使用することのできる系統的再帰符号化器の簡単な例を示す。
図５は付録で説明される多項式スクランブラＧ（Ｄ）の概略を示す。
図６は図３のメモリのアドレシング原理を示す。
図７は本発明の復号方法の反復原理を示す。
図８はシーケンシャル構造の場合の、復号方法の実施例を示す。
図９Ａから図９Ｅは、各種の可能な場合に本発明に従って得られる復号結果を、他の符号化テクニックと対比して示す。
詳細な説明
従って、本発明はディジタル通信に関する。それは、伝送によって導入された誤りの効率的訂正を可能にする符号化及び復号テクニックを提案する。その目的は、特に、雑音やジャム信号のような妨害発生要因が存在するとき、伝送品質を改善することである。
それは特に短いメッセージの伝送に適している。従って、それは、例えばモバイル・ユニットを含む無線通信システム又は衛星伝送に応用することができる。
本発明の方法が組み込まれる伝送線は図１に示される。
伝送されるべき信号は、有限のメッセージ（又は、ブロック）の形式でディジタル源１１によって引き渡され、各メッセージはＮ個のデータ要素ｄiを含む。データ要素ｄiは既知の信号の任意のタイプ（予備的サンプリングを受けたディジタル又はアナログ信号）に対応していてよい。もちろん、場合に応じて、有限のメッセージは、所望の形式に副分割された、より長いかノンストップのメッセージに対応していてもよい。
次に、各メッセージは、Ｔ個の符号化データ要素（又はシンボル）を含む符号化メッセージ（又はパケット）を提供するために、本発明の方法に従って符号化１２を施される。系統的符号化を実行するときは、これらのシンボルは第１にソース・データ要素Ｘiを含み、第２に冗長データ要素Ｙkを含む。
次に、符号化されたメッセージは、信号中に種々の妨害を起こす伝送路１３を介してアドレス先へ伝送される。伝送路１３は３つの要素（すなわち、伝送時の変調及びフィルタリング１３１、固有の伝送媒体１３２、及びフィルタリング及び復調１３３）に分割されてよい。通常、動作１３１及び／又は１３３は特にシンボル間妨害を阻止するための方法を含む。
受信されたデータ要素Ｘi及びＹkは、推定されたソース・データ要素ｄ’iによって形成された推定メッセージをアドレス先１５へ提供するために、本発明の方法を実行する復号装置１４へ与えられる。
符号化１２は、例えば図２に示された構造に従って実行されてよい。
長さｍ及び周期Ｌを有する生成多項式Ｇ（Ｄ）を使用する再帰系統的符号化器（ＣＳＲ）によってＮビット・メッセージを符号化することが望まれると仮定する。この種の多項式は図５に示され、付録に解説されている。
本発明に従えば、Ｎ（又はＬ）がＬの倍数になるように（倍数ではない場合の具体的方法は後で説明する）、またＮ個のソース・データ要素（ビット）の各々が２回符号化されるように、Ｎ（又はＬ）が選択される。
そのために、Ｎ個のデータ要素ｄiは２Ｎｘ１ビットのサイズを有するメモリ２１のアドレスへ２回コピーされ、それらを符号化器２２へ導入する後続の読み取り動作がＬの倍数である周期の数だけ分離される。
従って、もしｋ1（ｉ）を特定のデータ要素ｄiの最初の読み取り（オリジナル・データ要素と呼ばれる）の時点とすれば、２回目の読み取り（重複データ要素と呼ばれる）の時点ｋ2（ｉ）は次の規則を満たす。
ｋ2（ｉ）＝ｋ1（ｉ）＋ｐi・Ｌ      （１）
言い換えれば、２回目の読み取りは最初の読み取りの後、ｐi・Ｌ−１時点後に起こる。
現在の説明の構成部分を形成する付加ドキュメントは、この条件によって、符号化器が、メッセージの終わりに、それがメッセージの最初にあった状態へ系統的に戻ることを保証されることを示す。
通常、符号化器２２は、一組の要素遅延２２１及び加算器２２２によって形成される。図４は系統的再帰畳み込み符号化器の他の例を示す。
この種の符号化器は周期Ｌを有する疑似ランダム発生器に類似している。例えば、図３の符号化器の場合、周期Ｌは７である。従って、図３の符号化器が「オール０」状態に初期設定されると仮定すれば（すなわち、レジスタのすべての出力が０である）、非ゼロのデータ要素がそこに伝送された場合、冗長信号は周期的である（無限長の周期パルス応答を有する）。これに対して、もしこのデータ要素が、周期Ｌの倍数である時間周期の後で再び符号化器へ伝送されると、符号化器はその初期状態へ戻る。この特性は符号化方法で使用される。
従って、データ要素は、状態０に初期設定された符号化器ＣＳＲ２２へ印加される。符号化器は冗長度Ｙkを発生する。符号化器の出力は、Ｎ個のオリジナル・データ要素ｄiを表すシンボルＸi（これは系統的な符号である）及び冗長度Ｙkのすべて又は一部によって形成される。もし全体の冗長度が使用されるならば、符号化効率は１/３である。より高い効率レベルを得るためには、冗長度のパンチング２３が必要である。例えば、１/２の冗長度を得るためには、Ｙkは一つおきに伝送される。
Ｘi及びＹkの値は、伝送されるべき符号化メッセージ又は符号ワード２４を形成する。
このように定義された符号はブロック符号である。なぜなら、符号化レジスタの最初の状態及び最後の状態は完全に知られているからである（状態０）。符号化器の最後の状態は実際に０である。なぜなら、一つの対に対する符号化器の応答（最後の状態）が常に０になるような条件のもとで、Ｎ個の対（オリジナル・データ要素及び重複データ要素）がそれに印加されるからである。（これは、もしオリジナル・データ要素が論理「０」であれば明らかであり、もしそれが「１」であれば、関係式（１）がそれを保証する。）
符号は線形であるから、Ｎ個の対に対する符号化器の応答は対の各々への応答の合計であり、メッセージを形成するデータ要素がどのようなものであっても、最終状態は常に０である。従って、受信されたシンボルは、標準の畳み込み符号の場合とは異なって、先行又は後続する他の情報から独立して復号されてよい。符号を「クローズ」するための終止ビットは必要とされない。
この方法を符号化器へ２回適用するためには、多くの方法が考えられる。効率的な結果を与えるテクニックの原理が、図３に示される。
伝送されるべきデータ要素ｄiは、まず第１に自然の順序で符号化器３１へ与えられる（選択器３２は位置Ａにある）。同時に、これらのデータ要素はメモリ３３に記憶される。複写されたデータ要素は、選択器３２を位置Ｂに設定して得ることができる。もちろん、メモリ３３における書き込みと読み取りは、前に定義された規則に合致しなければならない。
これは、例えば、図６に示される方法に従ってなされてよい。この方法は次のステップを含む。
−  オリジナル・データ要素は、その自然の順序で（ｋ1（ｉ）＝ｉ）符号化器へ印加される（６１）。
−  同時に、これらのデータ要素はサイズｎ1ｘｎc＝Ｎを有するメモリ内でラインからラインへと記憶される（６２）。ここで、ｎ1はＬの倍数である行数であり、ｎcはＬに対して素数である列数である。
−  重複データ要素は、関係式（１）を満足させる順序で列ごとに符号化器へ印加される（６３）。これは、考慮されている列が連続した行を移動され、時点ｋ1で元の形式で使用されたデータ要素が、ｋ2−ｋ1がＬの倍数になるような時点ｋ2で発見されるまで、前記の移動が継続することを意味する。
実際的な見地からは、これらの読み出しアドレスは、復号器でも使用されるように記憶することができる（ＲＯＭ６４）。
復号は、本明細書の始めですでに言及したように、「ターボ符号」を説明したドキュメントで紹介される外因性情報の概念に依存する反復プロセスである。基本的な動作ユニットは、重みづけられた入力及び出力を有する畳み込み符号化復号器である。これは、１９７４年３月のIEEE Trans. Inform, Theory, Vol. IT-20, pp.284-287の、L.R.Bahl, J.Cooke, F.Jelinek,及びJ.Ravivによる記事「シンボル誤り率を最小化する線形符号の最適復号」（Optimal decoding of linear codes for minimizing symbol error rate）と題する記事に説明されているような最適復号器（ＭＡＰ）であるか、特許出願ＥＰ−９２  ４６００１１．７に開示され、また１９９３年５月のＩＥＥＥ会報（Proc. of IEEE ICC' 93, Geneva, pp.737-740, May 1993）の記事「低複雑性ソフト出力ヴィタビ復号器アーキテクチャ」（″A low complexity soft-output Viterbi decoder architecture″, by C.Berrou, P.Addee, E.Angul and S.Faudeil）に記載されている、重みづけられた出力を有するヴィタビ復号器であってよい。
復号方法の反復の概略的構造は図７に示されている。
受信メモリ７１は受信されたデータ要素（ｘi及びｙk）を記憶する。データ要素が伝送されないとき（パンチングのために）、それらは中立値（すなわち、アナログ・ゼロ）で置換される。重みづけられた出力復号器７２は、符号化器の最初の状態が考慮されるような方法で初期設定される。
次に、シンボルｘｋ及びｙｋ（これらは符号化器によって伝送され雑音によって損傷を受けたシンボルＸｉ及びＹｋである）の組は、ｑビットで量子化されて復号器７２へ伝送され、復号器７２は信頼度情報要素に関連したデータ要素の推定されたシンボルを与える。これらシンボルの推定及び信頼度の計算は、符号化器の状態がパケットの終わりで知られている特性を使用して行われる。推定されたデータ要素と信頼度の関連づけは、受信されたシンボルの形式に等しい形式で推定シンボルを計算することを可能にする。これらのシンボルはｓkと表されている。従って、それらは２Ｎ個の推定シンボルである。
次に、外因性情報ｚkの計算７３が行われる。もし復号器７２がヴィタビ復号器であれば、この計算は後で説明する図８の動作８３及び８７に対応する。
ここで、ｘkの重みづけられた関数であるｘ’k及び二重値ｚk（重複データ要素に関連している）の計算が行われる。
次に、各シンボルｘ’kが最終メモリ７５と呼ばれるメモリに記録される。シンボルｘk及びｙkは、処理されることなく受信メモリから最終メモリへ転送される。
図７では、受信メモリ７１は、復号器７２にとって有用なＸri及びＹrkを与え、また外因性情報の計算７３及びシンボルの推定７４に必要なＸriを与えなければならない。メモリ管理のシステムは受信メモリ７１のブロックに一体化されることを理解されたい。
復号方法の実行形態には２つの構造が考えられる。第１の構造は、パイプライン型の構造である。この場合、反復の数と同じ数の復号器が存在する。受信メモリは前回反復の最終メモリによって置換される。この場合、復号器７２へ転送されるのは、ｘ’k値である。最後の反復は推定されたデータ要素をアドレス先へ復元する。これらのデータ要素は、オリジナル・データ要素に関連した出力ｓk、及び二重外因性情報ｚk（すなわち、重複データ要素に対応するデータ要素）の合計として計算される。
第２の構造は、単一復号器の反復された使用に依存するシーケンシャル構造である。特に、それは比較的に低ビット率の通信に適しており、効率的な低コストの復号器を製作することができる。
図８はこのシーケンシャル構造の実施モードを示す。
伝送路から来るシンボルｘi及びｙkは、ｑビットに量子化され、メモリＭＥＭｘｙ８１に記憶される。各データ要素ｘiは、符号化に使用された位置と同じ位置に２回記憶される。
一つの反復で、復号器（ＭＡＰ又はヴィタビ復号器）８２は、情報要素ｘ’k及びｙkに基づいて２．Ｎ周期にブロックを処理する。冗長データ要素ｙkを利用できないとき、もし伝送にパンチングが行われていれば、復号器は中立値又は「アナログ・ゼロ」値を与えられる。
反復は相互に即時に継続される。すなわち、復号器は中断なしに反復ｐ−１に関連するデータ要素に連続して、反復ｐに関連するデータ要素を与えられる。処理の始め、及び２．Ｎ周期ごとに、復号器は状態０に設定される（状態０の総計量値はキャンセルされ、他の総計量値は高い値に固定される）。処理ステップは前もってプログラムされた反復で停止する。
復号器８２の出力では、２つのタイプの情報が各反復で準備される。すなわち、外因性情報ｚk及び符号化されたデータ要素ｄiに関連した推定ｅiである。
反復プロセスの各ステップは、２．Ｎ個の外因性情報要素とＮ個の推定を発生する。
もし復号器８２がヴィタビ復号器であれば、外因性情報は、対数法８７によって圧縮された重みづけ出力ｓｋと入力ｘ’ｋの間の差８３として単純に計算される（説明を簡単にするために、復号器は遅延を有しないものと仮定する）。推定ｅiとしては、オリジナル・データ要素に関連した出力ｓk及び二重外因性情報ｚk（重複データ要素に関連している）の合計８４として計算される。外因性情報要素はメモリＭＥＭｚ８５に記憶されている。
データ要素ｄに関連した復号器の入力ｘ’kは、シンボルｘkと、前の反復で準備され８８で計数γによって重みづけられた二重外因性情報ｚkとの合計８６によって形成される（最初の反復では、メモリＭＥＭｚ８５は中立値で埋められる）。
これは、もしｘkが、符号化でオリジナル・データ要素に対応する位置を有するシンボルであれば、重複データに関連する外因性情報がそれに付け加えられること、及びその逆も行われることを意味する。反復が継続するとき、復号器の推定出力で誤り率を減少させるのは、この交差した情報交換である。
要素８１０及び８１１は、所望の時点でオリジナル・データ要素と重複データ要素との間の転置を行う。
畳み込みブロック・ターボ符号のパフォーマンスは、Ｎが高ければそれだけ良好である。Ｎが低い値のときには、パフォーマンスは復号器の入力に加えられる情報要素ｘk及びｚkに影響する雑音の相関である。これは符号の訂正能力を制限する。容易に分かるように、もし一つかつ同一のデータ要素のこれら２つの推定に誤差があれば、ターボ復号に固有のダイバシティを、それによって減少させることが必要である。この問題に対する一つの応答は対数法８７によって与えられる。対数法８７の働きは反復プロセスの間に大きな誤差が増幅されないようにすることである。対数法は絶対値に関連しており、次の形式を有する。
Ｙ＝ｌｏｇ（１＋ｘ/θ）
ここで、θは経験的に選択された定数である。雑音によって影響されないシンボルｘkの絶対値を２倍にしたものは、θの良好な値になるように思われる。
重みづけ係数γは１よりも小さい値に設定され、符号化効率に従って調整される（γは、効率が低くなればそれだけ小さくなる）。
これまで説明した畳み込みブロック・ターボ符号は、疑似ランダム発生器の周期Ｌの倍数である長さＬを有する情報ブロックの周りに作られる。
指定されていない長さＮ’のブロックを処理する簡単な方法は、Ｌの倍数の中でＮ’よりも大きくそれに最も近いＮの値を選択し、Ｎ−Ｎ’の既知の２進値（例えば、Ｎ−Ｎ’の「０」）で、符号化されるべきＮ’符号を補足することである。明らかに、これらの「０」値は伝送されない。なぜなら、受信機部分は、それらの充填値「０」の数と位置を知っているからである。
発生器の周期が５であるとき（多項式３７の場合）、４の倍数である長さを有するブロック（通常の実際的な例）を得る手順は、次のとおりである。すなわち、符号化器は５周期ごとに「０」を与えられ、相関的に、復号器は５周期ごとにデータ要素「０」に対応する遷移に設定される。従って、Ｎ’＝（４．Ｎ）/５である。充填値「０」の挿入は必ずしも追加の処理周期を必要としない。なぜなら、符号化器及び復号器については、「０」の挿入は、それに先行するデータ要素の挿入と結合されてよい（予測される）からである。
図９Ａ〜図９Ｅは、次の３つの場合に反復１、３、５、及び７の終わりで得られるシミュレーション結果の幾つかを示す。すなわち、
図９Ａ及び図９Ｂは、Ｎ＝８８０ビット、Ｒ＝１/２、入力ｘ及びｙが４ビットで量子化されている場合の２進誤り率（ＢＥＲ）及びフレーム誤り率（ＦＥＲ）を示す。
図９Ｃ及び図９Ｄは、Ｎ＝２２０ビット、Ｒ＝１/２、入力ｘ及びｙが４ビットで量子化されている場合の２進誤り率及びフレーム誤り率を示す。
図９Ｅは、Ｎ＝２２０ビット、Ｒ＝１/２、入力ｘ及びｙが１ビットで量子化されている場合（ファーム決定復号）の、符号ＢＣＨ（１２７．６４）との比較を示す。
Ｘ軸は、信号対雑音比Ｅｂ/Ｎ0又は復号器の入力における２進誤り率ＢＥＲinを表す。Ｙ軸は、復号器の出力における２進誤り率ＢＥＲ又は復号器の出力におけるフレーム誤り率ＦＥＲを示す。
これら３つのシミュレーションで、疑似ランダム発生器の多項式は３７であり（周期Ｌ＝５）、冗長度発生多項式は２５である。要素の復号器はすでに言及した修正ヴィタビ・アルゴリズムを使用する。図９Ｅの場合は、１/２に非常に近接した効率を有し訂正能力ｔ＝１０を有する符号ＢＣＨ（１２７．６４）と比較したものである（最尤畳み込み符号及び決定重みづけの復号方法、及び対応する復号器については、前述した記事を参照されたい）。
この比較は、異なった長さの情報ブロックに関しているが、ファーム決定復号を受ける提案された符号が、はるかに小さい復号複雑性を有して（そのシーケンシャル版で）、ＢＣＨ符号よりも効率的であることを明らかに示している。もちろん、ターボ復号器が精細決定モードで働く場合には、その差はもっと顕著になる。
付録
ＣＳＲ符号化器は、メモリ長ｍを有する疑似ランダム発生器から推定されるスクランブラの周りに作成される。発生器の多項式は、
0003791013.tif 000002
（図５）のように書かれる。Ｄはシンボル遅延変数である。発生器の疑似ランダム・シーケンスの長さＬは、特定の多項式Ｐ（Ｄ）＝１＋Ｄ’の次数ｒの可能な最小値によって、Ｇ（Ｄ）の倍数として与えられる。例えば、もしＧ（Ｄ）＝１＋Ｄ＋Ｄ2＋Ｄ3＋Ｄ4であれば、Ｇ（Ｄ）の倍数である最初の多項式Ｐ（Ｄ）は１＋Ｄ5である。従って、シーケンスの長さは５である。Ｌはすべての場合に２m−１に等しいか小さいことを示すことができる。
定理１：
もしＧ（Ｄ）が１＋ＤLを割りきれれば、Ｇ（Ｄ）は１＋Ｄ’を割りきれる。
∀p整数≧１。
証明：算術級数
0003791013.tif 000003
は標準代数で次のようになる。
0003791013.tif 000004
２進代数では、
0003791013.tif 000005
従って、１＋Ａpは１＋Ａの倍数であり、Ａ＝ＤLについて、１＋Ｄ’は１＋ＤLの倍数である。従って、もしＧ（Ｄ）が１＋ＤLを割りきれれば、Ｇ（Ｄ）は１＋Ｄ’も割りきれる。
多項式Ｐ（Ｄ）はＧ（Ｄ）の倍数であるという場合、それは、実際には、もしＰ（Ｄ）に関連した２進シーケンスが、状態０から始めて、符号化器へ印加されるならば、この符号化器はシーケンスの終わりに状態０へ戻ることを意味する。
例：
Ｇ（Ｄ）＝Ｄ＋Ｄ2＋Ｄ3＋Ｄ4であり、Ｇ（Ｄ）は１＋Ｄ5を割り切れるとする。シーケンス１００００１は、最初の「１」が到着したとき、符号化器を状態０に残し、２番目の「１」が到着したとき、符号化器をこの状態に戻す。定理１に従って、これは、２つの「１」が５．ｐ−１の「０」によって分離されている任意のシーケンス１００．．００１の場合である（∀p整数≧１）。
【図１】
0003791013.tif 000006
【図２】
0003791013.tif 000007
【図３】
0003791013.tif 000008
【図４】
0003791013.tif 000009
【図５】
0003791013.tif 000010
【図７】
0003791013.tif 000011
【図６】
0003791013.tif 000012
【図８】
0003791013.tif 000013
【図９Ａ】
0003791013.tif 000014
【図９Ｂ】
0003791013.tif 000015
【図９Ｃ】
0003791013.tif 000016
【図９Ｄ】
0003791013.tif 000017
【図９Ｅ】
0003791013.tif 000018