(57)【特許請求の範囲】
【請求項１】
ターボ復調方式を用いて受信シンボルを復調する方法であって、前記受信シンボルは、複数のストリームにおいて転送され、複数のアンテナを通じて受信され、前記ターボ復調方式は、前記複数のストリームを復号する反復ＭＩＭＯ復号器を含み、デインターリーブプロセスが、チャネル符号のいくつかの符号ブロックの組に基づき、チャネル符号を反復的に復号するために前記ターボ復調方式において反復チャネル復号器が用いられる、方法において、該反復チャネル復号器は、反復復号プロセスと呼ばれる第１の反復プロセスを実行し、ターボ復調は、反復復調及び復号プロセスと呼ばれる第２の反復プロセスを実行し、該第２の反復プロセスの各反復時に、前記反復チャネル復号器は、シンボルの導出元のビットを復号するために複数の反復を実行し、前記ターボ復調方式は、前記チャネル符号のいくつかの符号ブロックの組に基づくデインターリーブプロセスを含み、該方法は、前記反復チャネル復号器によって実行される、
前記第１の反復プロセスの前記反復の終了時に、前記反復チャネル復号器によって内部的に用いられる変数を記憶するステップと、
前記反復チャネル復号器によって、前記反復チャネル復号器が前記第２の反復プロセスの後続の反復時に前記記憶された変数を読み出すか又は該記憶された変数をリセットしなくてはならないことを該反復チャネル復号器に示すコントローラーメッセージを受信するステップであって、前記メッセージは、復号される次のブロックのいくつかの符号ブロックの組内のためのブロック識別子を更に含む、ステップと、
前記メッセージが、前記反復チャネル復号器に、反復チャネル復号器が前記記憶された変数を読み出さなくてはならないことを示すとき、前記第２の反復プロセスの後続の反復時に、前記復号される次のブロックのいくつかの符号ブロックの前記組内のための前記ブロック識別子に対応する前記記憶された変数を読み出すステップと、
を含むことを特徴とする、方法。
【請求項２】
前記受信シンボルは、直交周波数分割多重接続を用いてソースによって転送される、請求項１に記載の方法。
【請求項３】
前記受信シンボルは、シングルキャリア直交周波数分割多重を用いてソースによって転送される、請求項１に記載の方法。
【請求項４】
前記受信シンボルは、非直交伝送方式であるファスターザンナイキストを用いて転送される、請求項３に記載の方法。
【請求項５】
前記反復ＭＩＭＯ復号器は、最小平均二乗誤差等化である、請求項１から４までのいずれか１項に記載の方法。
【請求項６】
前記ターボ復調方式は、反復チャネル推定を含む、請求項１から５までのいずれか１項に記載の方法。
【請求項７】
前記ターボ復調方式は、反復デマッピングを含む、請求項１から６までのいずれか１項に記載の方法。
【請求項８】
前記反復チャネル復号器は、低密度パリティチェック復号器である、請求項１から７までのいずれか１項に記載の方法。
【請求項９】
前記反復チャネル復号器は、畳み込みターボ符号復号器である、請求項１から７までのいずれか１項に記載の方法。
【請求項１０】
前記反復チャネル復号器は、ブロックターボ符号復号器である、請求項１から７までのいずれか１項に記載の方法。
【請求項１１】
ターボ復調方式を用いて受信シンボルを復調するデバイスであって、前記受信シンボルは、複数のストリームにおいて転送され、複数のアンテナを通じて受信され、前記ターボ復調方式は、前記複数のストリームを復号する反復ＭＩＭＯ復号器を含み、デインターリーブプロセスが、チャネル符号のいくつかの符号ブロックの組に基づき、チャネル符号を反復的に復号するために前記ターボ復調方式において反復チャネル復号器が用いられ、該反復チャネル復号器は、反復復号プロセスと呼ばれる第１の反復プロセスを実行し、ターボ復調は、反復復調及び復号プロセスと呼ばれる第２の反復プロセスを実行し、該第２の反復プロセスの各反復時に、前記反復チャネル復号器は、シンボルの導出元のビットを復号するために複数の反復を実行し、前記ターボ復調方式は、前記チャネル符号のいくつかの符号ブロックの組に基づくデインターリーブプロセスを含み、前記反復チャネル復号器は、
前記第１の反復プロセスの前記反復の終了時に、前記反復チャネル復号器によって内部的に用いられる変数を記憶する部分と、
前記反復チャネル復号器によって、反復チャネル復号器が前記第２の反復プロセスの後続の反復時に前記記憶された変数を読み出すか又は該記憶された変数をリセットしなくてはならないことを該反復チャネル復号器に示すコントローラーメッセージを受信する部分であって、前記メッセージは、復号される次のブロックのいくつかの符号ブロックの組内のためのブロック識別子を更に含むものと、
前記メッセージが、前記反復チャネル復号器に、反復チャネル復号器が前記記憶された変数を読み出さなくてはならないことを示すとき、前記第２の反復プロセスの後続の反復時に、前記復号される次のブロックのいくつかの符号ブロックの前記組内のための前記ブロック識別子に対応する前記記憶された変数を読み出す部分と、
を備える、デバイス。
【請求項１２】
プログラムコード命令がプログラム可能なデバイスによって実行されるときに、請求項１から１０までのいずれか１項に記載の方法を実施するための、前記プログラム可能なデバイスにおいてロードすることができる前記プログラムコード命令を含むコンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ターボ復調方式を用いて受信シンボルを復調する方法及びデバイスに関する。
【背景技術】
【０００２】
受信シンボルは、複数のストリーム上で転送され、複数のアンテナを通じて受信され、ターボ復調方式は、反復ＭＩＭＯ（多入力多出力）復号器を含むターボ復調方式を用い、ターボ復調方式において反復チャネル復号器が用いられる。
【０００３】
ターボ復調方式の実施は、反復チャネル復号器がターボ復調方式で用いられるときに特に複雑である。
【０００４】
例えばＬＤＰＣ符号、畳み込みターボ符号（ＣＴＣ）又はブロックターボ符号（ＢＴＣ）を用いる、強力な反復チャネル復号器が用いられるとき、これらの符号の復号器は、ターボ原理に従って共同で動作しなくてはならない。内部において、ハードウェア又はソフトウェアで実施されるいくつかのユニットは、反復的に情報を交換する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＬＤＰＣ符号の場合、従来から、良好な性能を得るには少なくとも５０回の反復が必要であると通常考えられている。ターボ符号の場合、４回〜８回の復号反復が必要とされる。
【０００６】
そのようなターボチャネル復号器が少なくともＭＩＭＯ復号器を含むターボ復調方式内で実施されるとき、複雑性が爆発的に高まる。ターボ復調のために５回のターボ反復が用いられ、ＬＤＰＣ復号器が５０回の反復を内部で実施する場合、全体として２５０回のＬＤＰＣ反復を行うことになる。ターボ符号にも同じ推論を用いることができる。
【課題を解決するための手段】
【０００７】
本発明は、性能劣化なしで、復号反復の総数を大幅に減らすことを目的とする。
【０００８】
本発明は、ターボ復調方式を用いて受信シンボルを復調する方法であって、受信シンボルは、複数のストリームにおいて転送され、複数のアンテナを通じて受信され、ターボ復調方式は、複数のストリームを復号する反復ＭＩＭＯ復号器を含み、ターボ復調方式において反復チャネル復号器が用いられ、反復チャネル復号器は、反復復号プロセスと呼ばれる第１の反復プロセスを実行し、ターボ復調は、反復復調及び復号プロセスと呼ばれる第２の反復プロセスを実行し、第２の反復プロセスの各反復時に、反復チャネル復号器は、シンボルの導出元のビットを復号するために複数の反復を実行し、本方法は、反復チャネル復号器によって実行される、
第１の反復プロセスの反復の終了時に、反復チャネル復号器によって内部的に用いられる変数を記憶するステップと、
第２の反復プロセスの後続の反復時に記憶された変数を読み出すステップと、
を含む、方法に関する。
【０００９】
また、本発明は、ターボ復調方式を用いて受信シンボルを復調するデバイスであって、受信シンボルは、複数のストリームにおいて転送され、複数のアンテナを通じて受信され、ターボ復調方式は、複数のストリームを復号する反復ＭＩＭＯ復号器を含み、ターボ復調方式において反復チャネル復号器が用いられ、反復チャネル復号器は、反復復号プロセスと呼ばれる第１の反復プロセスを実行し、ターボ復調は、反復復調及び復号プロセスと呼ばれる第２の反復プロセスを実行し、第２の反復プロセスの各反復時に、反復チャネル復号器は、シンボルの導出元のビットを復号するために複数の反復を実行し、反復チャネル復号器は、
第１の反復プロセスの反復の終了時に、反復チャネル復号器によって内部的に用いられる変数を記憶する部分と、
第２の反復プロセスの後続の反復時に記憶された変数を読み出す部分と、
を備える、デバイスに関する。
【００１０】
このため、第２の反復プロセスの第２の反復及び後続の反復中、性能の損失なしで復号反復回数を低減することが可能であり、このため、同じ性能について受信機の複雑度を低減するか、又は同じ複雑度について性能を改善することが可能である。
【００１１】
例えば、反復チャネル復号器がＬＤＰＣ符号を用いる場合、本発明は、良好な性能を得るために５回〜２０回の反復しか必要としない。
【００１２】
例えば、反復チャネル復号器が畳み込みターボ符号を用いる場合、本発明は、良好な性能を得るために、本発明を用いない場合の４回〜８回ではなく、１回〜３回の反復しか必要としない。
【００１３】
特定の特徴によれば、受信シンボルは、直交周波数分割多重（ＯＦＤＭ）を用いてＭＩＭＯチャネル上のソースによって転送される。
【００１４】
このため、複雑度が更に低減され、この波形は、変調／等化の周波数実装を可能にし、変調／等化は、個々のサブキャリアにおいて又はサブキャリアの小さな組において並列処理により実行される。
【００１５】
特定の特徴によれば、受信シンボルは、シングルキャリア周波数分割多重接続（ＳＣ−ＦＤＭＡ）を用いてＭＩＭＯチャネル上のソースによって転送される。
【００１６】
このため、複雑度が更に低減され、この波形は、変調／等化の周波数実装を可能にし、変調／等化は、個々のサブキャリアにおいて又はサブキャリアの小さな組において並列処理により実行される。
【００１７】
特定の特徴によれば、受信シンボルは、非直交伝送方式であるファスターザンナイキストを用いて転送される。
【００１８】
このため、この波形について、性能及び／又は複雑度が改善され、ＦｔＮが用いられるときに信号が送信されるとき、ターボ等化により性能が改善される。
【００１９】
特定の特徴によれば、反復ＭＩＭＯ復号器は、最小平均二乗誤差（ＭＭＳＥ）等化である。
【００２０】
このため、等化モジュールの複雑度が低減され、これによって受信機の全体複雑度が更に低減する。
【００２１】
特定の特徴によれば、反復ＭＩＭＯ復号器は、ブロックごとのＭＭＳＥ等化、すなわち、ブロックＭＭＳＥ等化であり、周波数領域における実施を可能にする。ここで、ブロックはＯＦＤＭ又はＳＣ−ＦＭＤＡシンボルである。
【００２２】
特定の特徴によれば、ターボ復調方式は、反復チャネル推定を含む。
【００２３】
このため、チャネル推定の性能が改善され、これにより受信機性能が改善する。
【００２４】
特定の特徴によれば、ターボ復調方式は、反復デマッピングを含む。
【００２５】
このため、コンスタレーションが十分大きいとき、かつビット対コンスタレーションのマッピングが良好に選択されるとき、性能が改善される。
【００２６】
特定の特徴によれば、反復チャネル復号器は、この反復チャネル復号器が第２の反復プロセスの後続の反復時に記憶された変数を読み出すか又はこの記憶された変数をリセットしなくてはならないことをこの反復チャネル復号器に示すメッセージをコントローラーから受信する。
【００２７】
このため、復号器は、実際に必要とされるときのみメモリコンテンツを使用する。
【００２８】
特定の特徴によれば、ターボ復調方式は、符号ブロックの組に基づくデインターリーブプロセスを含み、メッセージは、復号される次のブロックの符号ブロックの組内にブロック識別子を更に含む。
【００２９】
このため、反復チャネル復号器は、現在の符号ブロックに対応するメモリコンテンツを用いる。
【００３０】
特定の特徴によれば、反復チャネル復号器は、低密度パリティチェック復号器である。
【００３１】
このため、ＬＤＰＣ復号器が反復的方式で機能するとき、性能及び／又は複雑度が改善される。
【００３２】
特定の特徴によれば、反復チャネル復号器は、畳み込みターボ符号復号器である。
【００３３】
このため、畳み込みターボ符号復号器が反復的方式で機能するとき、性能及び／又は複雑度が改善される。
【００３４】
特定の特徴によれば、反復チャネル復号器は、ブロックターボ符号復号器である。
【００３５】
このため、ブロックターボ符号復号器が反復的方式で機能するとき、性能及び／又は複雑度が改善される。
【００３６】
また、本発明は、プログラマブルデバイスにロードすることができるプログラムコード命令であって、プログラムコード命令がプログラマブルデバイスによって実行されると、第１の実施の形態による方法を実施する、プログラムコード命令を含むコンピュータープログラムに関する。
【００３７】
また、本発明は、プログラマブルデバイスにロードすることができるプログラムコード命令であって、プログラムコード命令がプログラマブルデバイスによって実行されると、第１の実施の形態による方法を実施する、プログラムコード命令を含むコンピュータープログラムを記憶する情報記憶手段に関する。
【００３８】
上述した本発明の特徴及び他の特徴は、一実施の形態の一例の以下の説明を読むことでより明らかになる。この説明は、添付図面に関してなされている。
【図面の簡単な説明】
【００３９】
【図１】本発明を実施することができる通信システムの例を概略的に示す図である。
【図２】本発明を実施することができる受信機の例を概略的に示す図である。
【図３】本発明を実施することができる受信機の無線インターフェースのハードウェアアーキテクチャの例を表す図である。
【図４】本発明による制御モジュールによって実行されるアルゴリズムの例を表す図である。
【図５】本発明による反復チャネル復号器によって実行されるアルゴリズムの例を表す図である。
【発明を実施するための形態】
【００４０】
図１は、本発明を実施することができる電気通信システムの例を概略的に示す。
【００４１】
少なくとも、電気通信システムは、少なくとも１つの受信機Ｒｅｃにシンボルを送信するソースＳｒｃを備える。
【００４２】
電気通信システムはＭＩＭＯ方式を用いる。
【００４３】
ＭＩＭＯ方式は、システムのロバスト性及び／又はスペクトル効率を増大させる方法である。
【００４４】
ソースＳｒｃは、複数のアンテナを含み、受信機Ｒｅｃは、複数のアンテナを含む。
【００４５】
ＭＩＭＯ方式は、分散させることができる。この場合、ソースＳｒｃは、異なるデータストリームを並列で送信しているいくつかの送信機で構成され、各送信機は１つ又はいくつかのアンテナを有する。
【００４６】
ＭＩＭＯ方式は、受信機Ｒｅｃが復号しなくてはならないシンボルの少なくとも２つのストリームを受信機Ｒｅｃに並列に送信するのに用いられる。
【００４７】
ここで、「ストリーム」という単語は、３ＧＰＰ  ＬＴＥ用語に従って理解される。可能な線形処理の後、様々なデータストリームがいくつかのアンテナを通じて転送される。アンテナは異なる情報を送信する。
【００４８】
電気通信システムは、例えば、直交周波数分割多重（ＯＦＤＭ）を用いる３ＧＰＰ／ＬＴＥダウンリンク無線電気通信システム、又は例えばＯＦＤＭを用いるＤＶＢ（デジタルビデオ放送）第２世代地上デジタルテレビ放送システム（ＤＶＢ−Ｔ２）のようなブロードキャスト電気通信ネットワークとすることができる。
【００４９】
ＯＦＤＭはマルチキャリアシステムである。
【００５０】
電気通信システムは、例えばシングルキャリア周波数分割多重接続（ＳＣ−ＦＤＭＡ）を用いる３ＧＰＰ／ＬＴＥアップリンク無線電気通信システムとすることができる。
【００５１】
ＳＣ−ＦＤＭＡは、ＯＦＤＭタイプの多重化を伴うがシングルキャリアのようなエンベロープを有する変調方式である。ＳＣ−ＦＤＭＡは、時間領域（ＩＦＤＭＡ）においても周波数領域においても実施することができる。周波数領域において実施される場合、ＳＣ−ＦＤＭＡは、ＤＦＴ拡散ＯＦＤＭ、又はＳＣ−ＦＤＥ（シングルキャリア周波数領域等化）若しくはＳＣ−ＯＦＤＭ（シングルキャリア周波数分割多重接続）とも呼ばれる。
【００５２】
本発明は、反復ＭＩＭＯ復号が必要とされ、反復復号プロセスを有するチャネル復号器が用いられる任意の電気通信システムにおいて適用可能である。
【００５３】
特定の特徴によれば、電気通信システムは、スペクトル効率を改善するために、非直交伝送方式であるファスターザンナイキスト（ＦｔＮ）を用いることができる。
【００５４】
シンボル間干渉（ＩＳＩ）は、送信シンボルが部分的に又は全体的に重複しているときに送信シンボルに生じる歪みであり、受信機における検出性能の劣化につながる。ＩＳＩは、ＭＩＭＯチャネルにおいて生じる従来からの歪みである。ＩＳＩに起因する性能劣化を相殺又は制限するには、等化が必要とされ、等化は、ＭＩＭＯ方式が用いられるとき、例えば周波数領域においてＭＭＳＥ  ＭＩＭＯ復号器を用いて実施することができる。ターボＭＩＭＯ復号器、すなわち、チャネル復号器からＭＩＭＯ復号器へのフィードバックは、受信機Ｒｅｃが復号しなくてはならないストリーム数が２以上であるとき特に、ＭＩＭＯ復号器の性能を改善する。
【００５５】
マルチパスチャネルにおいてシンボル間干渉が現れ、ＦｔＮにおいて生成される。ＦｔＮの概念は、１９７５年１０月にBell Syst. Tech. J, vol. 54, no. 8, pp. 1451-1462において公開された「Faster-than-Nyquist Signaling」と題する論文においてMazoによって紹介された。
【００５６】
ＦｔＮ方式は、ＳＣ−ＦＤＭＡのような単一キャリア方式と共に用いることができる。
【００５７】
信号は、通常のレートよりも高速で変調され、送信機側に意図的なＩＳＩを導入する。
【００５８】
ナイキストの場合、信号はＴ秒ごとに送信され、ＦＴＮの場合、信号はτＴ秒ごとに送信される。ここで、τ＜１である。
【００５９】
Mazoは、ナイキストレートよりも最大２５％高速な送信パルスが、バイナリ又はＱＰＳＫ変調（直交位相偏移変調）を用いて、システムのためのシンボルシーケンス間の最小ユークリッド距離を減少させないことを示した。
【００６０】
ＦｔＮは、ソースＳｒｃにおけるフィルタリングとみなすことができる。したがって、ＦｔＮは、時間領域又は周波数領域において実施することができる。ＦｔＮの複雑度は、送信機に導入される意図的なＩＳＩを補償する役割を果たす受信機側にある。
【００６１】
原理の観点から、周波数選択性マルチパスチャネルによってもたらされるＩＳＩを補正することと、ソースＳｒｃにおいて生じるＩＳＩを補正することと、ＭＩＭＯ方式によって生じるＩＳＩを補正することとに差異はない。いわゆるＭＩＭＯ復号器は、通常、同じプロセスにおいて全てのタイプのＩＳＩを同時に管理する。
【００６２】
図２は、本発明を実施することができる受信機の例を概略的に示す。
【００６３】
示されるアーキテクチャによれば、受信機Ｒｅｃは、通信バス２０１によって相互接続された以下のコンポーネント、すなわち、プロセッサ、マイクロプロセッサ、マイクロコントローラー又はＣＰＵ（中央処理ユニット）２００と、ＲＡＭ（ランダムアクセスメモリ）２０３と、ＲＯＭ（リードオンリーメモリ）２０２と、少なくとも１つのアンテナＡｎｔに接続された無線インターフェース２０５とを備える。
【００６４】
無線インターフェース２０５は、受信機Ｒｅｃが図２に示される少なくとも２つのアンテナを通じてシンボルを受信することを可能にする。
【００６５】
ＣＰＵ２００は、ＲＯＭ２０２から、又は外部メモリからＲＡＭ２０３内にロードされた命令を実行することが可能である。受信機Ｒｅｃに電源が投入された後、ＣＰＵ２００は、ＲＡＭ２０３から命令を読み出し、これらの命令を実行することが可能である。命令は、ＣＰＵ２００に、本発明に従って受信シンボルを復号させる１つのコンピュータープログラムを形成する。
【００６６】
復号は、ＰＣ（パーソナルコンピューター）、ＤＳＰ（デジタル信号プロセッサ）又はマイクロコントローラー等のプログラマブルコンピューティングマシンによる一組の命令又はプログラムの実行によってソフトウェアで実施することもできるし、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）又はＡＳＩＣ（特定用途向け集積回路）等のマシン又は専用のコンポーネントによってハードウェアで実施することもできる。
【００６７】
図３は、本発明を実施することができる受信機の無線インターフェースのハードウェアアーキテクチャの例を表す。
【００６８】
図３において与えられるハードウェアアーキテクチャの例は、ＭＩＭＯの関連である。無線インターフェース２０５は、同期モジュール３０１と、制御モジュール３００と、ＭＩＭＯ復号器モジュール３０２と、チャネル推定モジュール３０３と、デマッピングモジュール３０４と、メモリ３０９に関連付けられた反復チャネル復号器３０８と、減算モジュール３１１とを備え、図３に示されていない高速フーリエ変換モジュールと、デインターリーブモジュール３０５と、インターリーブモジュール３１０とを備える場合がある。
【００６９】
図３の例において、メモリ３０９は、反復チャネル復号器３０８と別個である。メモリ３０９は、反復チャネル復号器３０８に含めることができる。
【００７０】
反復チャネル復号器３０８は、一般的な観点から、ターボ復号器である。ターボ復号器は、復号の反復的な実施を用いる。反復チャネル復号器３０８は、反復復号プロセスと呼ばれる第１の反復プロセスを実行する。
【００７１】
チャネル推定モジュール３０３、反復ＭＩＭＯ復号器３０２、デマッピングモジュール３０４、反復チャネル復号器３０８、減算モジュール３１１、並びに存在する場合、デインターリーブモジュール３０５及びインターリーブモジュール３１０は、反復復調及び復号プロセスと呼ばれる第２の反復プロセスを形成する。第２の反復プロセスの各反復時に、反復チャネル復号器３０８は、ビットを復号するために複数の反復を実行する。
【００７２】
チャネル推定モジュール３０３、反復ＭＩＭＯ復号器３０２、デマッピングモジュール３０４、減算モジュール３１１、並びに存在する場合、デインターリーブモジュール３０５及びインターリーブモジュール３１０は、本発明の例において復調プロセスを実行する。
【００７３】
第１の反復プロセスの終了時に、反復チャネル復号器３０８は、ブロック等化を実行するために、第２の反復プロセスの後続のステップにおけるチャネル推定及び／又はデマッピングによって用いられる特定の特徴に従って、第２の反復プロセスによって用いられる外因性情報を提供する。
【００７４】
外因性情報は、例えば、送信シンボルの送信ビットに関する対数尤度比（ＬＬＲ）である。
【００７５】
このとき、無線インターフェース２０５は、受信シンボルを復号するために、少なくとも２つの相互にリンクした反復プロセスを含む。
【００７６】
本発明によれば、反復チャネル復号器３０８は、第１の反復プロセスの反復の終了時に、メモリ３０９内に、反復チャネル復号器３０８によって用いられる変数を記憶し、第２の反復プロセスの後続の反復時に、記憶された変数を読み出す。
【００７７】
無線インターフェース２０５は、フレームの開始、ブロックの開始に関する同期情報を制御モジュール３００、チャネル推定モジュール３０３及びデマッピングモジュール３０４に提供し、より一般的には、そのような同期情報を、その情報を必要とする場合がある全てのモジュールに提供する、同期モジュール３０１を備える。ここで、フレームは１つ又はいくつかの符号語に対応する。インターリーブが適用されるとき、説明を容易にするために、フレームが１インターリーブ深度に対応することを仮定する。
【００７８】
制御モジュール３００は、同期モジュール３０１から受信した情報から、本発明に従って、反復チャネル復号器３０８が、メモリ３０９内に以前に記憶された情報をメモリ３０９内で読み出さなくてはならない、すなわち、以前の反復時に記憶された変数を再利用しなくてはならない場合、又は反復チャネル復号器３０８がメモリ３０９内に記憶された変数を再初期化しなくてはならない場合に、反復チャネル復号器３０８に示すコマンド信号を生成する。
【００７９】
チャネル推定モジュール３０３は、いくつかのパイロット又はデータに対しブラインド方式で、予備の不完全なチャネル推定を実行することによって、第１のチャネル推定を行うことができ、後続の反復において、存在する場合、インターリーブモジュール３１０によって提供される更なる外因性情報を用いて、又は減算モジュール３１１によって提供される更なる外因性情報を用いて、パイロット又はデータに対しチャネル推定を行うことができる。
【００８０】
チャネル推定モジュール３０３の出力はＭＩＭＯ復号器３０２に提供され、ＭＩＭＯ復号器３０２は、第１の反復時にチャネル推定値及び受信シンボルに基づいて、かつ第２の反復からは、チャネル推定値、受信シンボル、及び存在する場合、インターリーブモジュール３１０によって、又は減算モジュール３１１によって提供される外因性情報に基づいて復号を行う。ＭＩＭＯ復号器３０２の結果は、送信シンボルの推定値にある。これらの推定値は通常、軟値にある。
【００８１】
ＭＩＭＯ復号器３０２は、チャネル推定を更に改善するために、結果をデマッピングモジュール３０４に提供し、任意選択で、チャネル推定モジュール３０３に提供する。デマッピングモジュール３０４は、第１の反復時にＭＩＭＯ復号器３０２の出力に基づいて、かつ第２の反復プロセスの第２の反復からは、ＭＩＭＯ復号器３０２の出力と、存在する場合、インターリーブモジュール３１０によって、又は減算モジュール３１１によって提供される外因性情報とに基づいてターボデマッピングを行うことができる。
【００８２】
デマッピングモジュール３０４の出力は、ＬＬＲのような軟推定にあり、存在する場合、軟推定をデインターリーブするデインターリーブモジュール３０５に提供されるか、又はチャネル復号器３０８に提供される。
【００８３】
デインターリーブモジュール３０５は、符号ブロック単位で軟推定をデインターリーブすることができるか、又はインターリーブが符号ブロックの組に対して実行される場合、符号ブロックの組によって軟推定をデインターリーブすることができる。
【００８４】
ブロックは、符号語に対応する。
【００８５】
デインターリーブモジュール３０５の出力が、反復チャネル復号器３０８に提供される。
【００８６】
反復チャネル復号器３０８は、例えば、ＬＤＰＣ（低密度パリティチェック）復号器又はＣＴＣ（畳み込みターボ符号）復号器又はＢＴＣ（ブロックターボ符号）復号器である。
【００８７】
ＬＤＰＣ符号は線形ブロック符号であり、そのシンドローム行列Ｈはスパースである。スパースな態様は、パリティ方程式が、符号ブロックのサイズよりも小さい、通常２桁〜８０桁の比較的小さい数の変数のみを含むことを意味する。
【００８８】
ＬＤＰＣ符号は、シャノン容量方程式によって求められる可能な限り最良に極めて近い性能を呈する。
【００８９】
ＬＤＰＣ符号は、ノードの一方の組、すなわち変数ノードが、符号語の要素に対応し、ノードの他方の組、すなわちチェックノードが、符号を定義するパリティチェック制約の組に対応する、二部グラフによって良好に表される。
【００９０】
変数ノード及びチェックノードは、メッセージを反復的に交換する。チェックノードは、自身の近傍ノードからメッセージを取得し、メッセージを処理し、結果として得られるメッセージを自身の近傍ノードに返送する。近傍ノードは、対応するチェックに関与する変数ノードである。同様に、変数ノードが自身の近傍ノードからメッセージを受信し、メッセージを処理し、メッセージを自身の近傍ノードに返送する。ここで、近傍ノードは、変数が関与するチェックノードである。変数ノード又はチェックノードの各出力メッセージは、その出力メッセージの送信先の近傍ノードから到来するメッセージを除く、ノードに到来する全てのメッセージに応じて決まる。
【００９１】
この２ステップ手順は、多数回繰り返される。ｎ回のそのような反復の後、各変数ノードは、近傍から及び反復復号器ブロック入力から得られた全ての情報に基づいて、自身の関連ビットを復号する。
【００９２】
従来から、対数尤度比（ＬＬＲ）がメッセージとして用いられ、すなわち、
【００９３】
【数１】
0006513223.tif 000002
【００９４】
を、変数ｖに関連付けられたビットｘを表すソフトとして用いる。
【００９５】
ｉ番目のＬＤＰＣ反復において、
【００９６】
【数２】
0006513223.tif 000003
【００９７】
は、チェックノードｃへの変数ノードｖの出力メッセージであり、ここで、ｘは、変数ノードに関連付けられるビットであり、
【００９８】
【数３】
0006513223.tif 000004
【００９９】
は、チェックノードｃに対応するエッジ以外のエッジから得られる、現在の反復までにノードに利用可能な全ての情報を示す。したがって、常に正のカウンタ反応を回避するために、前回の反復（ｉ−１）時にチェックノードｃからｖに送信された情報が省かれる。
【０１００】
第１の反復時に、復号プロセスの開始のために、これらの値は、利用可能なアプリオリ情報、すなわち入力Ｌａ（ｖ）に等しい。
【０１０１】
【数４】
0006513223.tif 000005
【０１０２】
同様に、チェックノードの出力メッセージを以下のように定義する。
【０１０３】
【数５】
0006513223.tif 000006
【０１０４】
ここで、ｉは反復インデックスであり、ｘは、チェックノードｃからメッセージを得る変数ノードｖに関連付けられるビットであり、
【０１０５】
【数６】
0006513223.tif 000007
【０１０６】
は、ｖに対応するエッジ以外のエッジから得られる、現在の反復までにチェックノードｃに利用可能な全ての情報を示す。
【０１０７】
和積復号の下で、変数ノードからチェックノードへのメッセージは、アプリオリ情報を含むが、このチェックノードから到来した以前のメッセージを除く、全ての到来するＬＬＲの和に等しい。
【０１０８】
【数７】
0006513223.tif 000008
【０１０９】
ここで、変数ｖに関連付けられた外因性情報は以下のように定義される。
【０１１０】
【数８】
0006513223.tif 000009
【０１１１】
ｄｃ個の変数ｖｊに関連付けられたチェックノードｃのためのメッセージ更新規則は、例えば、以下の式から得ることができる。
【０１１２】
【数９】
0006513223.tif 000010
【０１１３】
演算
【０１１４】
【数１０】
0006513223.tif 000011
【０１１５】
の定義は以下のとおりである。
【０１１６】
【数１１】
0006513223.tif 000012
【０１１７】
演算
【０１１８】
【数１２】
0006513223.tif 000013
【０１１９】
は、可換かつ結合的であり、これによって再帰的実施が可能になる。例えば、この演算は、以下によって実施することができる。
【０１２０】
【数１３】
0006513223.tif 000014
【０１２１】
関数ｆは、ｆ（ｕ）＝ｌｏｇ（１＋ｅ−｜ｕ｜）によって与えられる。
【０１２２】
ここで、式Ｌｉ（ｃ→ｖ）の単純化されたバージョンを用いることができることに留意しなくてはならない。
【０１２３】
本発明によれば、各情報Ｌｅｘｔ（ｃ→ｖ）が第１の反復プロセスの最後の反復時にメモリ３０９に記憶され、各情報Ｌｅｘｔ（ｃ→ｖ）は、同じ符号ブロックのための第２の反復プロセスの次の反復時に読み出される。情報が読み出されると、ノードｃは各連結された変数ノードｖに、Ｌｅｘｔ（ｃ→ｖ）を送信する。
【０１２４】
反復チャネル復号器３０８は、例えばＣＴＣ復号器である。ＣＴＣ符号は、畳み込み符号の並列な連結にある。通常、２つの畳み込み符号が用いられる。
【０１２５】
Berrou C.、Glavieux A.及びThitimajshima P著の「Near Shannon Limit Error-Correcting coding and decoding: Turbo-Codes」と題する１９９３年５月のProc. 1993 IEEE International Conference of Communications, Geneva, Switzerland, pp 1064 - 1070に開示されている刊公物から、いわゆるターボ符号が既知である。
【０１２６】
これらの符号は、複数の再帰型組織畳み込み（ＲＳＣ）符号と並行な連接によって構築される誤り訂正符号の組を指定し、各要素符号は、インターリーブプロセスによって、先行する符号と分離される。
【０１２７】
このように符号化されるシーケンスは、共通してターボ復号と呼ばれる、重み付けされた入力及び出力を用いた反復的方法によって復号される。各ターボ復号反復は、各々が要素符号に対応する要素復号器と直列又は並列の関連付けで構成される。各要素復号器（外因性情報と呼ばれる）によって生成される重み付けされた情報は、デインターリーブされ、次に別の要素復号器の入力に伝播される。したがって、メッセージは、要素畳み込み復号器間で交換される。
【０１２８】
各要素復号器が利用可能な情報のうちの一部（すなわち、対応する要素符号化器に関係するビット）のみから外因性情報を生成することは、反復プロセスを正当化する。外因性情報は、別の要素復号器（直列実施において、１つの反復内で第２の復号器、又は１つの反復から次の反復に進む際に第１の復号器）に送信され、この別の要素復号器は、前の復号器の外因性情報を追加することによって、自身の入力情報を更新する。１つの復号反復は、要素復号器（２次元ターボ符号の場合、２つ）の連接（又は並列な実施における並列な処理）により行われる。１つの復号から次の復号へと進むにつれ、外因性情報の振幅が増大する、すなわち、復号ビットの推定がより信頼性のあるものとなる。同等に、性能利得は、１つの反復から次の反復へと進むにつれ達成される。いくつかの反復後、外因性情報の振幅は変化せず、全ての利用可能な情報が「使い果たされ」、アルゴリズムは収束している。
【０１２９】
例えば、２つ（ｎ個）の要素符号、及び復号が直列に実行されることを仮定することによって、第２の（ｎ番目の）復号器から到来する外因性情報が、第１の反復プロセスの最後の反復においてメモリに記憶され、各外因性情報が同じブロックのための第２の反復プロセスの次の反復において読み出される。２つの（ｎ個の）復号器において復号が並列に行われる場合、双方の又は全ての復号器から到来する外因性情報が、第１の反復プロセスの最後の反復時にメモリに記憶され、同じブロックのための第２の反復プロセスの次の反復時に各可変外因性情報が読み出される。
【０１３０】
反復チャネル復号器３０８は、例えば、ブロックターボ復号器（ＢＴＣ）である。
【０１３１】
ＢＴＣ符号は、短いブロック符号の直列連接にあり、反復復号を必要とする。
【０１３２】
通常、データは行列で表される。各線は、要素線形ブロック符号によって符号化され、次に、各列は、同じ又は別の要素線形ブロック符号によって符号化される。
【０１３３】
反復復号器において、メッセージは、水平次元における復号器と、垂直次元における復号器との間で交換される。
【０１３４】
これは、軟入力軟出力復号器が短い要素符号のために用いられることを暗に意味する。
【０１３５】
復号が、水平次元において最初に実行されることを仮定することによって、垂直次元において復号器から到来する外因性情報が、第１の反復プロセスの最後の反復時にメモリに記憶され、垂直次元において復号器から到来する各外因性情報が、同じブロックのための第２の反復プロセスの次の反復時に水平次元において復号するために読み出される。
【０１３６】
反復チャネル復号器３０８の出力が、復号されたシンボルとして出力され、プロセッサ２００、減算モジュール３１１に提供される。減算モジュール３１１は、反復チャネル復号器３０８の出力に対し、存在する場合、デインターリーブモジュール３０５の出力を減算するか、又は反復チャネル復号器３０８の出力に対し、デマッピングモジュール３０４の出力を減算する。
【０１３７】
減算モジュール３１１の出力、いわゆる外因性情報は、存在する場合、デインターリーブモジュール３０５によって行われるプロセスと逆のプロセスを行うインターリーブモジュール３１０に提供されるか、又はデマッピングモジュール３０４、ＭＩＭＯ復号器３０２及びチャネル推定モジュール３０３に提供される。
【０１３８】
存在する場合、インターリーブモジュール３１０の出力は、デマッピングモジュール３０４、ＭＩＭＯ復号器３０２及びチャネル推定モジュール３０３に提供される。
【０１３９】
図４は、本発明による制御モジュールによって実行されるアルゴリズムの例を表す。
【０１４０】
ステップＳ４０において、例えば、新たなＭＩＭＯ復号反復の開始時に、制御モジュール３００は、新たな符号ブロック又は符号ブロックの新たな組が受信されるか否か、すなわち、新たなフレームが受信されるか否かをチェックする。制御モジュール３００は、同期モジュール３０１から、フレームの開始及び符号ブロックの開始に関連する情報を受信する。制御部３００は、図３を参照して開示される無線インターフェースの各モジュールの状態を通知される。
【０１４１】
新たなブロック又はブロックの新たな組が受信される場合、制御モジュール３００はステップＳ４１に移る。そうでない場合、制御モジュール３００はステップＳ４２に移る。
【０１４２】
ステップＳ４２において、制御モジュール３００は、反復チャネル復号器３０８に、この反復チャネル復号器３０８がメモリ３０９に以前に記憶された情報をメモリ３０９内で読み出さなくてはならないこと、すなわち以前の反復時に記憶された変数を再利用しなくてはならないことを示すコマンド信号を反復チャネル復号器３０８に転送する。
【０１４３】
ステップＳ４１において、制御モジュール３００は、反復チャネル復号器３０８に、この反復チャネル復号器３０８がメモリ３０９内に記憶された変数を再初期化しなくてはならないことを示すコマンド信号を反復チャネル復号器３０８に転送する。インターリーブがブロックの組に対し行われ、固有のブロックに対し行われない場合、制御モジュール３００は、メモリ３０９のいずれの部分において、復号プロセスの終了時に外因性情報が記憶されなくてはならないかを決定するためにチャネル復号器３０８によって用いられるブロックインデックスも転送する。
【０１４４】
その後、制御モジュール３００はステップＳ４３に移る。
【０１４５】
ステップＳ４１において、制御モジュール３００は、反復チャネル復号器３０８に、この反復チャネル復号器３０８がメモリ３０８内に記憶された変数を再初期化しなくてはならないことを示すコマンド信号を反復チャネル復号器３０８に転送する。インターリーブがブロックの組に対し行われ、固有のブロックに対し行われない場合、制御モジュール３００は、メモリ３０９のいずれの部分において、復号プロセスの終了時に外因性情報が記憶されなくてはならないかを決定するためにチャネル復号器３０８によって用いられるブロックインデックスも転送する。
【０１４６】
その後、制御モジュール３００はステップＳ４３に移る。
【０１４７】
次のステップＳ４３において、制御モジュール３００は、現在処理されている符号ブロックのためのチャネル復号器３０８による反復復号が終了するか否かをチェックする。
【０１４８】
ステップＳ５０において、制御モジュール３００から、新たな符号ブロックが利用可能であること、及び復号を開始しなくてはならないことを示すメッセージを受信した後、反復チャネル復号器３０８は、コマンド信号が受信されるか否かをチェックする。このコマンド信号は、「再利用」又は「非再利用」コマンドである。「再利用」コマンド信号は、反復チャネル復号器３０８が、メモリ３０９に以前に記憶された情報をメモリ３０９内で読み出さなくてはならないこと、すなわち以前の反復時に記憶された変数を再利用しなくてはならないことを反復チャネル復号器３０８に示す。
【０１４９】
図５は、本発明による反復チャネル復号器によって実行されるアルゴリズムの例を表す。
【０１５０】
ステップＳ５０において、制御モジュール３０８から、新たな符号ブロックが利用可能であること、及び復号を開始しなくてはならないことを示すメッセージを受信した後、反復チャネル復号器３０８は、コマンド信号が受信されるか否かをチェックする。このコマンド信号は、「再利用」又は「非再利用」コマンドである。「再利用」コマンド信号は、反復チャネル復号器３０８が、メモリ３０９に以前に記憶された情報をメモリ３０９内で読み出さなくてはならないこと、すなわち以前の反復時に記憶された変数を再利用しなくてはならないことを反復チャネル復号器３０８に示す。
【０１５１】
インターリーブが符号ブロックの組に対し行われる場合、コマンド信号は、チャネル復号器３０８によって用いられるブロックインデックスも更に含む。「再利用」コマンドが受信される場合、このコマンドは、インデックスが転送されるブロックの前回の反復時に記憶された変数を取り出すために用いられる。
【０１５２】
コマンド信号が、反復チャネル復号器３０８に、この反復チャネル復号器３０８が、メモリ３０９内に以前に記憶された情報をメモリ３０９内で読み出さなくてはならないことを示す場合、反復チャネル復号器３０８はステップＳ５１に移る。そうでない場合、反復チャネル復号器３０８はステップＳ５２に移る。
【０１５３】
ステップＳ５１において、反復チャネル復号器３０８は、メモリ３０９において、第１の反復プロセスの最後の反復時にメモリ３０９に記憶された各外因性情報を読み出す。インターリーブがブロックの組に対し行われる場合、反復チャネル復号器３０８は、制御メッセージ内にインデックスが含まれるブロックに対応する第１の反復プロセスの最後の反復時に、メモリ３０９内に記憶された各外因性情報をメモリ３０９内で読み出す。
【０１５４】
反復チャネル復号器３０８がＬＤＰＣである場合、反復チャネル復号器３０８は、第１の反復プロセス及び各変数Ｌｅｘｔ（ｃ→ｖ）の最後の反復時に、メモリ３０９内に記憶された各変数Ｌｅｘｔ（ｃ→ｖ）をメモリ３０９内で読み出す。
【０１５５】
反復チャネル復号器３０８がＬＤＰＣである場合、かつインターリーブがブロックの組に対し行われる場合、反復チャネル復号器３０８は、制御メッセージ内にインデックスが含まれるブロックに対応する第１の反復プロセス及び各変数Ｌｅｘｔ（ｃ→ｖ）の最後の反復時に、メモリ３０９内に記憶された各変数Ｌｅｘｔ（ｃ→ｖ）をメモリ３０９内で読み出す。
【０１５６】
その後、反復チャネル復号器３０８はステップＳ５３に移る。
【０１５７】
ステップＳ５２において、インターリーブがブロックの組に対し行われる場合、反復チャネル復号器３０８は、受信符号ブロックインデックスに対応する第１の反復プロセスの最後の反復時に、メモリ３０９内に記憶された外因性情報をリセットする。
【０１５８】
外因性情報が読み出されるか又はリセットされると、反復チャネル復号器はこの情報を復号のために用いる。
【０１５９】
反復チャネル復号器３０８がＬＤＰＣである場合、情報が読み出されると、ノードｃは、現在復号されているブロックの復号プロセスの開始のために、各変数ノードｖにＬｅｘｔ（ｃ→ｖ）を送信する。
【０１６０】
その後、反復チャネル復号器３０８はステップＳ５３に移る。
【０１６１】
ステップＳ５３において、反復チャネル復号器３０８は、新たな反復復号を開始する。同じブロックのための第２の反復プロセスの前回の反復時にメモリ３０９に前回記憶された情報をメモリ３０９内で読み出すことによって、本発明は、第２の反復プロセスの反復数を激減させ、したがって、受信機の複雑度を低減する。
【０１６２】
次のステップＳ５４において、反復チャネル復号器３０８は、第１の反復プロセスの最後の反復が実行されるか否かをチェックする。
【０１６３】
第１の反復プロセスの最後の反復が実行される場合、反復チャネル復号器３０８はステップＳ５５に移る。そうでない場合、反復チャネル復号器３０８はステップＳ５３に戻る。
【０１６４】
ステップＳ５５において、反復チャネル復号器３０８は、内部外因性情報をメモリ３０９内に記憶する。
【０１６５】
インターリーブがブロックの組に対し行われる場合、反復チャネル復号器３０８は、ステップＳ５０において受信したインデックスを用いて、ブロックに専用のメモリエリア内のメモリ３０９内に内部外因性情報を記憶する。
【０１６６】
次のステップＳ５６において、反復チャネル復号器３０８は、軟復号情報を減算モジュール３１１及びプロセッサ２００に転送する。軟復号情報は、例えば、送信シンボルの送信ビットに関する対数尤度比（ＬＬＲ）である。
【産業上の利用可能性】
【０１６７】
本発明のターボ復調方式を用いて受信シンボルを復調する方法及びシステムは、種々の分野におけるシステムに適用可能である。
【図１】
0006513223.tif 000015
【図２】
0006513223.tif 000016
【図３】
0006513223.tif 000017
【図４】
0006513223.tif 000018
【図５】
0006513223.tif 000019