【文献】
森 千尋 他,MIMO多重におけるターボSICを用いたときのOFDMAとシングルキャリアFDMAの特性比較 ,電子情報通信学会技術研究報告 Vol.113 No.361 ,日本,一般社団法人電子情報通信学会 The Institute of Electronics,Information and Communication Engineers,2013年12月11日,第113巻,pp.71-76
(58)【調査した分野】(Int.Cl.,DB名)
ターボ復調方式を用いて受信シンボルを復調する方法であって、前記受信シンボルは、複数のストリームにおいて転送され、複数のアンテナを通じて受信され、前記ターボ復調方式は、前記複数のストリームを復号する反復MIMO復号器を含み、デインターリーブプロセスが、チャネル符号のいくつかの符号ブロックの組に基づき、チャネル符号を反復的に復号するために前記ターボ復調方式において反復チャネル復号器が用いられる、方法において、該反復チャネル復号器は、反復復号プロセスと呼ばれる第1の反復プロセスを実行し、ターボ復調は、反復復調及び復号プロセスと呼ばれる第2の反復プロセスを実行し、該第2の反復プロセスの各反復時に、前記反復チャネル復号器は、シンボルの導出元のビットを復号するために複数の反復を実行し、前記ターボ復調方式は、前記チャネル符号のいくつかの符号ブロックの組に基づくデインターリーブプロセスを含み、該方法は、前記反復チャネル復号器によって実行される、
前記第1の反復プロセスの前記反復の終了時に、前記反復チャネル復号器によって内部的に用いられる変数を記憶するステップと、
前記反復チャネル復号器によって、前記反復チャネル復号器が前記第2の反復プロセスの後続の反復時に前記記憶された変数を読み出すか又は該記憶された変数をリセットしなくてはならないことを該反復チャネル復号器に示すコントローラーメッセージを受信するステップであって、前記メッセージは、復号される次のブロックのいくつかの符号ブロックの組内のためのブロック識別子を更に含む、ステップと、
前記メッセージが、前記反復チャネル復号器に、反復チャネル復号器が前記記憶された変数を読み出さなくてはならないことを示すとき、前記第2の反復プロセスの後続の反復時に、前記復号される次のブロックのいくつかの符号ブロックの前記組内のための前記ブロック識別子に対応する前記記憶された変数を読み出すステップと、
を含むことを特徴とする、方法。
ターボ復調方式を用いて受信シンボルを復調するデバイスであって、前記受信シンボルは、複数のストリームにおいて転送され、複数のアンテナを通じて受信され、前記ターボ復調方式は、前記複数のストリームを復号する反復MIMO復号器を含み、デインターリーブプロセスが、チャネル符号のいくつかの符号ブロックの組に基づき、チャネル符号を反復的に復号するために前記ターボ復調方式において反復チャネル復号器が用いられ、該反復チャネル復号器は、反復復号プロセスと呼ばれる第1の反復プロセスを実行し、ターボ復調は、反復復調及び復号プロセスと呼ばれる第2の反復プロセスを実行し、該第2の反復プロセスの各反復時に、前記反復チャネル復号器は、シンボルの導出元のビットを復号するために複数の反復を実行し、前記ターボ復調方式は、前記チャネル符号のいくつかの符号ブロックの組に基づくデインターリーブプロセスを含み、前記反復チャネル復号器は、
前記第1の反復プロセスの前記反復の終了時に、前記反復チャネル復号器によって内部的に用いられる変数を記憶する部分と、
前記反復チャネル復号器によって、反復チャネル復号器が前記第2の反復プロセスの後続の反復時に前記記憶された変数を読み出すか又は該記憶された変数をリセットしなくてはならないことを該反復チャネル復号器に示すコントローラーメッセージを受信する部分であって、前記メッセージは、復号される次のブロックのいくつかの符号ブロックの組内のためのブロック識別子を更に含むものと、
前記メッセージが、前記反復チャネル復号器に、反復チャネル復号器が前記記憶された変数を読み出さなくてはならないことを示すとき、前記第2の反復プロセスの後続の反復時に、前記復号される次のブロックのいくつかの符号ブロックの前記組内のための前記ブロック識別子に対応する前記記憶された変数を読み出す部分と、
を備える、デバイス。
プログラムコード命令がプログラム可能なデバイスによって実行されるときに、請求項1から10までのいずれか1項に記載の方法を実施するための、前記プログラム可能なデバイスにおいてロードすることができる前記プログラムコード命令を含むコンピュータープログラム。
【発明の概要】
【発明が解決しようとする課題】
【0005】
LDPC符号の場合、従来から、良好な性能を得るには少なくとも50回の反復が必要であると通常考えられている。ターボ符号の場合、4回〜8回の復号反復が必要とされる。
【0006】
そのようなターボチャネル復号器が少なくともMIMO復号器を含むターボ復調方式内で実施されるとき、複雑性が爆発的に高まる。ターボ復調のために5回のターボ反復が用いられ、LDPC復号器が50回の反復を内部で実施する場合、全体として250回のLDPC反復を行うことになる。ターボ符号にも同じ推論を用いることができる。
【課題を解決するための手段】
【0007】
本発明は、性能劣化なしで、復号反復の総数を大幅に減らすことを目的とする。
【0008】
本発明は、ターボ復調方式を用いて受信シンボルを復調する方法であって、受信シンボルは、複数のストリームにおいて転送され、複数のアンテナを通じて受信され、ターボ復調方式は、複数のストリームを復号する反復MIMO復号器を含み、ターボ復調方式において反復チャネル復号器が用いられ、反復チャネル復号器は、反復復号プロセスと呼ばれる第1の反復プロセスを実行し、ターボ復調は、反復復調及び復号プロセスと呼ばれる第2の反復プロセスを実行し、第2の反復プロセスの各反復時に、反復チャネル復号器は、シンボルの導出元のビットを復号するために複数の反復を実行し、本方法は、反復チャネル復号器によって実行される、
第1の反復プロセスの反復の終了時に、反復チャネル復号器によって内部的に用いられる変数を記憶するステップと、
第2の反復プロセスの後続の反復時に記憶された変数を読み出すステップと、
を含む、方法に関する。
【0009】
また、本発明は、ターボ復調方式を用いて受信シンボルを復調するデバイスであって、受信シンボルは、複数のストリームにおいて転送され、複数のアンテナを通じて受信され、ターボ復調方式は、複数のストリームを復号する反復MIMO復号器を含み、ターボ復調方式において反復チャネル復号器が用いられ、反復チャネル復号器は、反復復号プロセスと呼ばれる第1の反復プロセスを実行し、ターボ復調は、反復復調及び復号プロセスと呼ばれる第2の反復プロセスを実行し、第2の反復プロセスの各反復時に、反復チャネル復号器は、シンボルの導出元のビットを復号するために複数の反復を実行し、反復チャネル復号器は、
第1の反復プロセスの反復の終了時に、反復チャネル復号器によって内部的に用いられる変数を記憶する部分と、
第2の反復プロセスの後続の反復時に記憶された変数を読み出す部分と、
を備える、デバイスに関する。
【0010】
このため、第2の反復プロセスの第2の反復及び後続の反復中、性能の損失なしで復号反復回数を低減することが可能であり、このため、同じ性能について受信機の複雑度を低減するか、又は同じ複雑度について性能を改善することが可能である。
【0011】
例えば、反復チャネル復号器がLDPC符号を用いる場合、本発明は、良好な性能を得るために5回〜20回の反復しか必要としない。
【0012】
例えば、反復チャネル復号器が畳み込みターボ符号を用いる場合、本発明は、良好な性能を得るために、本発明を用いない場合の4回〜8回ではなく、1回〜3回の反復しか必要としない。
【0013】
特定の特徴によれば、受信シンボルは、直交周波数分割多重(OFDM)を用いてMIMOチャネル上のソースによって転送される。
【0014】
このため、複雑度が更に低減され、この波形は、変調/等化の周波数実装を可能にし、変調/等化は、個々のサブキャリアにおいて又はサブキャリアの小さな組において並列処理により実行される。
【0015】
特定の特徴によれば、受信シンボルは、シングルキャリア周波数分割多重接続(SC−FDMA)を用いてMIMOチャネル上のソースによって転送される。
【0016】
このため、複雑度が更に低減され、この波形は、変調/等化の周波数実装を可能にし、変調/等化は、個々のサブキャリアにおいて又はサブキャリアの小さな組において並列処理により実行される。
【0017】
特定の特徴によれば、受信シンボルは、非直交伝送方式であるファスターザンナイキストを用いて転送される。
【0018】
このため、この波形について、性能及び/又は複雑度が改善され、FtNが用いられるときに信号が送信されるとき、ターボ等化により性能が改善される。
【0019】
特定の特徴によれば、反復MIMO復号器は、最小平均二乗誤差(MMSE)等化である。
【0020】
このため、等化モジュールの複雑度が低減され、これによって受信機の全体複雑度が更に低減する。
【0021】
特定の特徴によれば、反復MIMO復号器は、ブロックごとのMMSE等化、すなわち、ブロックMMSE等化であり、周波数領域における実施を可能にする。ここで、ブロックはOFDM又はSC−FMDAシンボルである。
【0022】
特定の特徴によれば、ターボ復調方式は、反復チャネル推定を含む。
【0023】
このため、チャネル推定の性能が改善され、これにより受信機性能が改善する。
【0024】
特定の特徴によれば、ターボ復調方式は、反復デマッピングを含む。
【0025】
このため、コンスタレーションが十分大きいとき、かつビット対コンスタレーションのマッピングが良好に選択されるとき、性能が改善される。
【0026】
特定の特徴によれば、反復チャネル復号器は、この反復チャネル復号器が第2の反復プロセスの後続の反復時に記憶された変数を読み出すか又はこの記憶された変数をリセットしなくてはならないことをこの反復チャネル復号器に示すメッセージをコントローラーから受信する。
【0027】
このため、復号器は、実際に必要とされるときのみメモリコンテンツを使用する。
【0028】
特定の特徴によれば、ターボ復調方式は、符号ブロックの組に基づくデインターリーブプロセスを含み、メッセージは、復号される次のブロックの符号ブロックの組内にブロック識別子を更に含む。
【0029】
このため、反復チャネル復号器は、現在の符号ブロックに対応するメモリコンテンツを用いる。
【0030】
特定の特徴によれば、反復チャネル復号器は、低密度パリティチェック復号器である。
【0031】
このため、LDPC復号器が反復的方式で機能するとき、性能及び/又は複雑度が改善される。
【0032】
特定の特徴によれば、反復チャネル復号器は、畳み込みターボ符号復号器である。
【0033】
このため、畳み込みターボ符号復号器が反復的方式で機能するとき、性能及び/又は複雑度が改善される。
【0034】
特定の特徴によれば、反復チャネル復号器は、ブロックターボ符号復号器である。
【0035】
このため、ブロックターボ符号復号器が反復的方式で機能するとき、性能及び/又は複雑度が改善される。
【0036】
また、本発明は、プログラマブルデバイスにロードすることができるプログラムコード命令であって、プログラムコード命令がプログラマブルデバイスによって実行されると、第1の実施の形態による方法を実施する、プログラムコード命令を含むコンピュータープログラムに関する。
【0037】
また、本発明は、プログラマブルデバイスにロードすることができるプログラムコード命令であって、プログラムコード命令がプログラマブルデバイスによって実行されると、第1の実施の形態による方法を実施する、プログラムコード命令を含むコンピュータープログラムを記憶する情報記憶手段に関する。
【0038】
上述した本発明の特徴及び他の特徴は、一実施の形態の一例の以下の説明を読むことでより明らかになる。この説明は、添付図面に関してなされている。
【発明を実施するための形態】
【0040】
図1は、本発明を実施することができる電気通信システムの例を概略的に示す。
【0041】
少なくとも、電気通信システムは、少なくとも1つの受信機Recにシンボルを送信するソースSrcを備える。
【0042】
電気通信システムはMIMO方式を用いる。
【0043】
MIMO方式は、システムのロバスト性及び/又はスペクトル効率を増大させる方法である。
【0044】
ソースSrcは、複数のアンテナを含み、受信機Recは、複数のアンテナを含む。
【0045】
MIMO方式は、分散させることができる。この場合、ソースSrcは、異なるデータストリームを並列で送信しているいくつかの送信機で構成され、各送信機は1つ又はいくつかのアンテナを有する。
【0046】
MIMO方式は、受信機Recが復号しなくてはならないシンボルの少なくとも2つのストリームを受信機Recに並列に送信するのに用いられる。
【0047】
ここで、「ストリーム」という単語は、3GPP LTE用語に従って理解される。可能な線形処理の後、様々なデータストリームがいくつかのアンテナを通じて転送される。アンテナは異なる情報を送信する。
【0048】
電気通信システムは、例えば、直交周波数分割多重(OFDM)を用いる3GPP/LTEダウンリンク無線電気通信システム、又は例えばOFDMを用いるDVB(デジタルビデオ放送)第2世代地上デジタルテレビ放送システム(DVB−T2)のようなブロードキャスト電気通信ネットワークとすることができる。
【0049】
OFDMはマルチキャリアシステムである。
【0050】
電気通信システムは、例えばシングルキャリア周波数分割多重接続(SC−FDMA)を用いる3GPP/LTEアップリンク無線電気通信システムとすることができる。
【0051】
SC−FDMAは、OFDMタイプの多重化を伴うがシングルキャリアのようなエンベロープを有する変調方式である。SC−FDMAは、時間領域(IFDMA)においても周波数領域においても実施することができる。周波数領域において実施される場合、SC−FDMAは、DFT拡散OFDM、又はSC−FDE(シングルキャリア周波数領域等化)若しくはSC−OFDM(シングルキャリア周波数分割多重接続)とも呼ばれる。
【0052】
本発明は、反復MIMO復号が必要とされ、反復復号プロセスを有するチャネル復号器が用いられる任意の電気通信システムにおいて適用可能である。
【0053】
特定の特徴によれば、電気通信システムは、スペクトル効率を改善するために、非直交伝送方式であるファスターザンナイキスト(FtN)を用いることができる。
【0054】
シンボル間干渉(ISI)は、送信シンボルが部分的に又は全体的に重複しているときに送信シンボルに生じる歪みであり、受信機における検出性能の劣化につながる。ISIは、MIMOチャネルにおいて生じる従来からの歪みである。ISIに起因する性能劣化を相殺又は制限するには、等化が必要とされ、等化は、MIMO方式が用いられるとき、例えば周波数領域においてMMSE MIMO復号器を用いて実施することができる。ターボMIMO復号器、すなわち、チャネル復号器からMIMO復号器へのフィードバックは、受信機Recが復号しなくてはならないストリーム数が2以上であるとき特に、MIMO復号器の性能を改善する。
【0055】
マルチパスチャネルにおいてシンボル間干渉が現れ、FtNにおいて生成される。FtNの概念は、1975年10月にBell Syst. Tech. J, vol. 54, no. 8, pp. 1451-1462において公開された「Faster-than-Nyquist Signaling」と題する論文においてMazoによって紹介された。
【0056】
FtN方式は、SC−FDMAのような単一キャリア方式と共に用いることができる。
【0057】
信号は、通常のレートよりも高速で変調され、送信機側に意図的なISIを導入する。
【0058】
ナイキストの場合、信号はT秒ごとに送信され、FTNの場合、信号はτT秒ごとに送信される。ここで、τ<1である。
【0059】
Mazoは、ナイキストレートよりも最大25%高速な送信パルスが、バイナリ又はQPSK変調(直交位相偏移変調)を用いて、システムのためのシンボルシーケンス間の最小ユークリッド距離を減少させないことを示した。
【0060】
FtNは、ソースSrcにおけるフィルタリングとみなすことができる。したがって、FtNは、時間領域又は周波数領域において実施することができる。FtNの複雑度は、送信機に導入される意図的なISIを補償する役割を果たす受信機側にある。
【0061】
原理の観点から、周波数選択性マルチパスチャネルによってもたらされるISIを補正することと、ソースSrcにおいて生じるISIを補正することと、MIMO方式によって生じるISIを補正することとに差異はない。いわゆるMIMO復号器は、通常、同じプロセスにおいて全てのタイプのISIを同時に管理する。
【0062】
図2は、本発明を実施することができる受信機の例を概略的に示す。
【0063】
示されるアーキテクチャによれば、受信機Recは、通信バス201によって相互接続された以下のコンポーネント、すなわち、プロセッサ、マイクロプロセッサ、マイクロコントローラー又はCPU(中央処理ユニット)200と、RAM(ランダムアクセスメモリ)203と、ROM(リードオンリーメモリ)202と、少なくとも1つのアンテナAntに接続された無線インターフェース205とを備える。
【0064】
無線インターフェース205は、受信機Recが
図2に示される少なくとも2つのアンテナを通じてシンボルを受信することを可能にする。
【0065】
CPU200は、ROM202から、又は外部メモリからRAM203内にロードされた命令を実行することが可能である。受信機Recに電源が投入された後、CPU200は、RAM203から命令を読み出し、これらの命令を実行することが可能である。命令は、CPU200に、本発明に従って受信シンボルを復号させる1つのコンピュータープログラムを形成する。
【0066】
復号は、PC(パーソナルコンピューター)、DSP(デジタル信号プロセッサ)又はマイクロコントローラー等のプログラマブルコンピューティングマシンによる一組の命令又はプログラムの実行によってソフトウェアで実施することもできるし、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)等のマシン又は専用のコンポーネントによってハードウェアで実施することもできる。
【0067】
図3は、本発明を実施することができる受信機の無線インターフェースのハードウェアアーキテクチャの例を表す。
【0068】
図3において与えられるハードウェアアーキテクチャの例は、MIMOの関連である。無線インターフェース205は、同期モジュール301と、制御モジュール300と、MIMO復号器モジュール302と、チャネル推定モジュール303と、デマッピングモジュール304と、メモリ309に関連付けられた反復チャネル復号器308と、減算モジュール311とを備え、
図3に示されていない高速フーリエ変換モジュールと、デインターリーブモジュール305と、インターリーブモジュール310とを備える場合がある。
【0069】
図3の例において、メモリ309は、反復チャネル復号器308と別個である。メモリ309は、反復チャネル復号器308に含めることができる。
【0070】
反復チャネル復号器308は、一般的な観点から、ターボ復号器である。ターボ復号器は、復号の反復的な実施を用いる。反復チャネル復号器308は、反復復号プロセスと呼ばれる第1の反復プロセスを実行する。
【0071】
チャネル推定モジュール303、反復MIMO復号器302、デマッピングモジュール304、反復チャネル復号器308、減算モジュール311、並びに存在する場合、デインターリーブモジュール305及びインターリーブモジュール310は、反復復調及び復号プロセスと呼ばれる第2の反復プロセスを形成する。第2の反復プロセスの各反復時に、反復チャネル復号器308は、ビットを復号するために複数の反復を実行する。
【0072】
チャネル推定モジュール303、反復MIMO復号器302、デマッピングモジュール304、減算モジュール311、並びに存在する場合、デインターリーブモジュール305及びインターリーブモジュール310は、本発明の例において復調プロセスを実行する。
【0073】
第1の反復プロセスの終了時に、反復チャネル復号器308は、ブロック等化を実行するために、第2の反復プロセスの後続のステップにおけるチャネル推定及び/又はデマッピングによって用いられる特定の特徴に従って、第2の反復プロセスによって用いられる外因性情報を提供する。
【0074】
外因性情報は、例えば、送信シンボルの送信ビットに関する対数尤度比(LLR)である。
【0075】
このとき、無線インターフェース205は、受信シンボルを復号するために、少なくとも2つの相互にリンクした反復プロセスを含む。
【0076】
本発明によれば、反復チャネル復号器308は、第1の反復プロセスの反復の終了時に、メモリ309内に、反復チャネル復号器308によって用いられる変数を記憶し、第2の反復プロセスの後続の反復時に、記憶された変数を読み出す。
【0077】
無線インターフェース205は、フレームの開始、ブロックの開始に関する同期情報を制御モジュール300、チャネル推定モジュール303及びデマッピングモジュール304に提供し、より一般的には、そのような同期情報を、その情報を必要とする場合がある全てのモジュールに提供する、同期モジュール301を備える。ここで、フレームは1つ又はいくつかの符号語に対応する。インターリーブが適用されるとき、説明を容易にするために、フレームが1インターリーブ深度に対応することを仮定する。
【0078】
制御モジュール300は、同期モジュール301から受信した情報から、本発明に従って、反復チャネル復号器308が、メモリ
309内に以前に記憶された情報をメモリ309内で読み出さなくてはならない、すなわち、以前の反復時に記憶された変数を再利用しなくてはならない場合、又は反復チャネル復号器308がメモリ
309内に記憶された変数を再初期化しなくてはならない場合に、反復チャネル復号器308に示すコマンド信号を生成する。
【0079】
チャネル推定モジュール303は、いくつかのパイロット又はデータに対しブラインド方式で、予備の不完全なチャネル推定を実行することによって、第1のチャネル推定を行うことができ、後続の反復において、存在する場合、インターリーブモジュール310によって提供される更なる外因性情報を用いて、又は減算モジュール311によって提供される更なる外因性情報を用いて、パイロット又はデータに対しチャネル推定を行うことができる。
【0080】
チャネル推定モジュール303の出力はMIMO復号器302に提供され、MIMO復号器302は、第1の反復時にチャネル推定値及び受信シンボルに基づいて、かつ第2の反復からは、チャネル推定値、受信シンボル、及び存在する場合、インターリーブモジュール310によって、又は減算モジュール311によって提供される外因性情報に基づいて復号を行う。MIMO復号器302の結果は、送信シンボルの推定値にある。これらの推定値は通常、軟値にある。
【0081】
MIMO復号器302は、チャネル推定を更に改善するために、結果をデマッピングモジュール304に提供し、任意選択で、チャネル推定モジュール303に提供する。デマッピングモジュール304は、第1の反復時にMIMO復号器302の出力に基づいて、かつ第2の反復プロセスの第2の反復からは、MIMO復号器302の出力と、存在する場合、インターリーブモジュール310によって、又は減算モジュール311によって提供される外因性情報とに基づいてターボデマッピングを行うことができる。
【0082】
デマッピングモジュール304の出力は、LLRのような軟推定にあり、存在する場合、軟推定をデインターリーブするデインターリーブモジュール305に提供されるか、又はチャネル復号器308に提供される。
【0083】
デインターリーブモジュール305は、符号ブロック単位で軟推定をデインターリーブすることができるか、又はインターリーブが符号ブロックの組に対して実行される場合、符号ブロックの組によって軟推定をデインターリーブすることができる。
【0085】
デインターリーブモジュール305の出力が、反復チャネル復号器308に提供される。
【0086】
反復チャネル復号器308は、例えば、LDPC(低密度パリティチェック)復号器又はCTC(畳み込みターボ符号)復号器又はBTC(ブロックターボ符号)復号器である。
【0087】
LDPC符号は線形ブロック符号であり、そのシンドローム行列Hはスパースである。スパースな態様は、パリティ方程式が、符号ブロックのサイズよりも小さい、通常2桁〜80桁の比較的小さい数の変数のみを含むことを意味する。
【0088】
LDPC符号は、シャノン容量方程式によって求められる可能な限り最良に極めて近い性能を呈する。
【0089】
LDPC符号は、ノードの一方の組、すなわち変数ノードが、符号語の要素に対応し、ノードの他方の組、すなわちチェックノードが、符号を定義するパリティチェック制約の組に対応する、二部グラフによって良好に表される。
【0090】
変数ノード及びチェックノードは、メッセージを反復的に交換する。チェックノードは、自身の近傍ノードからメッセージを取得し、メッセージを処理し、結果として得られるメッセージを自身の近傍ノードに返送する。近傍ノードは、対応するチェックに関与する変数ノードである。同様に、変数ノードが自身の近傍ノードからメッセージを受信し、メッセージを処理し、メッセージを自身の近傍ノードに返送する。ここで、近傍ノードは、変数が関与するチェックノードである。変数ノード又はチェックノードの各出力メッセージは、その出力メッセージの送信先の近傍ノードから到来するメッセージを除く、ノードに到来する全てのメッセージに応じて決まる。
【0091】
この2ステップ手順は、多数回繰り返される。n回のそのような反復の後、各変数ノードは、近傍から及び反復復号器ブロック入力から得られた全ての情報に基づいて、自身の関連ビットを復号する。
【0092】
従来から、対数尤度比(LLR)がメッセージとして用いられ、すなわち、
【0094】
を、変数vに関連付けられたビットxを表すソフトとして用いる。
【0097】
は、チェックノードcへの変数ノードvの出力メッセージであり、ここで、xは、変数ノードに関連付けられるビットであり、
【0099】
は、チェックノードcに対応するエッジ以外のエッジから得られる、現在の反復までにノードに利用可能な全ての情報を示す。したがって、常に正のカウンタ反応を回避するために、前回の反復(i−1)時にチェックノードcからvに送信された情報が省かれる。
【0100】
第1の反復時に、復号プロセスの開始のために、これらの値は、利用可能なアプリオリ情報、すなわち入力L
a(v)に等しい。
【0102】
同様に、チェックノードの出力メッセージを以下のように定義する。
【0104】
ここで、iは反復インデックスであり、xは、チェックノードcからメッセージを得る変数ノードvに関連付けられるビットであり、
【0106】
は、vに対応するエッジ以外のエッジから得られる、現在の反復までにチェックノードcに利用可能な全ての情報を示す。
【0107】
和積復号の下で、変数ノードからチェックノードへのメッセージは、アプリオリ情報を含むが、このチェックノードから到来した以前のメッセージを除く、全ての到来するLLRの和に等しい。
【0109】
ここで、変数vに関連付けられた外因性情報は以下のように定義される。
【0111】
d
c個の変数v
jに関連付けられたチェックノードcのためのメッセージ更新規則は、例えば、以下の式から得ることができる。
【0119】
は、可換かつ結合的であり、これによって再帰的実施が可能になる。例えば、この演算は、以下によって実施することができる。
【0121】
関数fは、f(u)=log(1+e
−|u|)によって与えられる。
【0122】
ここで、式L
i(c→v)の単純化されたバージョンを用いることができることに留意しなくてはならない。
【0123】
本発明によれば、各情報L
ext(c→v)が第1の反復プロセスの最後の反復時にメモリ309に記憶され、各情報L
ext(c→v)は、同じ符号ブロックのための第2の反復プロセスの次の反復時に読み出される。情報が読み出されると、ノードcは各連結された変数ノードvに、L
ext(c→v)を送信する。
【0124】
反復チャネル復号器308は、例えばCTC復号器である。CTC符号は、畳み込み符号の並列な連結にある。通常、2つの畳み込み符号が用いられる。
【0125】
Berrou C.、Glavieux A.及びThitimajshima P著の「Near Shannon Limit Error-Correcting coding and decoding: Turbo-Codes」と題する1993年5月のProc. 1993 IEEE International Conference of Communications, Geneva, Switzerland, pp 1064 - 1070に開示されている刊公物から、いわゆるターボ符号が既知である。
【0126】
これらの符号は、複数の再帰型組織畳み込み(RSC)符号と並行な連接によって構築される誤り訂正符号の組を指定し、各要素符号は、インターリーブプロセスによって、先行する符号と分離される。
【0127】
このように符号化されるシーケンスは、共通してターボ復号と呼ばれる、重み付けされた入力及び出力を用いた反復的方法によって復号される。各ターボ復号反復は、各々が要素符号に対応する要素復号器と直列又は並列の関連付けで構成される。各要素復号器(外因性情報と呼ばれる)によって生成される重み付けされた情報は、デインターリーブされ、次に別の要素復号器の入力に伝播される。したがって、メッセージは、要素畳み込み復号器間で交換される。
【0128】
各要素復号器が利用可能な情報のうちの一部(すなわち、対応する要素符号化器に関係するビット)のみから外因性情報を生成することは、反復プロセスを正当化する。外因性情報は、別の要素復号器(直列実施において、1つの反復内で第2の復号器、又は1つの反復から次の反復に進む際に第1の復号器)に送信され、この別の要素復号器は、前の復号器の外因性情報を追加することによって、自身の入力情報を更新する。1つの復号反復は、要素復号器(2次元ターボ符号の場合、2つ)の連接(又は並列な実施における並列な処理)により行われる。1つの復号から次の復号へと進むにつれ、外因性情報の振幅が増大する、すなわち、復号ビットの推定がより信頼性のあるものとなる。同等に、性能利得は、1つの反復から次の反復へと進むにつれ達成される。いくつかの反復後、外因性情報の振幅は変化せず、全ての利用可能な情報が「使い果たされ」、アルゴリズムは収束している。
【0129】
例えば、2つ(n個)の要素符号、及び復号が直列に実行されることを仮定することによって、第2の(n番目の)復号器から到来する外因性情報が、第1の反復プロセスの最後の反復においてメモリに記憶され、各外因性情報が同じブロックのための第2の反復プロセスの次の反復において読み出される。2つの(n個の)復号器において復号が並列に行われる場合、双方の又は全ての復号器から到来する外因性情報が、第1の反復プロセスの最後の反復時にメモリに記憶され、同じブロックのための第2の反復プロセスの次の反復時に各可変外因性情報が読み出される。
【0130】
反復チャネル復号器308は、例えば、ブロックターボ復号器(BTC)である。
【0131】
BTC符号は、短いブロック符号の直列連接にあり、反復復号を必要とする。
【0132】
通常、データは行列で表される。各線は、要素線形ブロック符号によって符号化され、次に、各列は、同じ又は別の要素線形ブロック符号によって符号化される。
【0133】
反復復号器において、メッセージは、水平次元における復号器と、垂直次元における復号器との間で交換される。
【0134】
これは、軟入力軟出力復号器が短い要素符号のために用いられることを暗に意味する。
【0135】
復号が、水平次元において最初に実行されることを仮定することによって、垂直次元において復号器から到来する外因性情報が、第1の反復プロセスの最後の反復時にメモリに記憶され、垂直次元において復号器から到来する各外因性情報が、同じブロックのための第2の反復プロセスの次の反復時に水平次元において復号するために読み出される。
【0136】
反復チャネル復号器308の出力が、復号されたシンボルとして出力され、プロセッサ200、減算モジュール311に提供される。減算モジュール311は、反復チャネル復号器308の出力に対し、存在する場合、デインターリーブモジュール305の出力を減算するか、又は反復チャネル復号器308の出力に対し、デマッピングモジュール304の出力を減算する。
【0137】
減算モジュール311の出力、いわゆる外因性情報は、存在する場合、デインターリーブモジュール305によって行われるプロセスと逆のプロセスを行うインターリーブモジュール310に提供されるか、又はデマッピングモジュール304、MIMO復号器302及びチャネル推定モジュール303に提供される。
【0138】
存在する場合、インターリーブモジュール310の出力は、デマッピングモジュール304、MIMO復号器302及びチャネル推定モジュール303に提供される。
【0139】
図4は、本発明による制御モジュールによって実行されるアルゴリズムの例を表す。
【0140】
ステップS40において、例えば、新たなMIMO復号反復の開始時に、制御モジュール300は、新たな符号ブロック又は符号ブロックの新たな組が受信されるか否か、すなわち、新たなフレームが受信されるか否かをチェックする。制御モジュール300は、同期モジュール301から、フレームの開始及び符号ブロックの開始に関連する情報を受信する。制御部300は、
図3を参照して開示される無線インターフェースの各モジュールの状態を通知される。
【0141】
新たなブロック又はブロックの新たな組が受信される場合、制御モジュール300はステップS41に移る。そうでない場合、制御モジュール300はステップS42に移る。
【0142】
ステップS42において、制御モジュール300は、反復チャネル復号器308に、この反復チャネル復号器308がメモリ309に以前に記憶された情報をメモリ309内で読み出さなくてはならないこと、すなわち以前の反復時に記憶された変数を再利用しなくてはならないことを示すコマンド信号を反復チャネル復号器308に転送する。
【0143】
ステップS41において、制御モジュール300は、反復チャネル復号器308に、この反復チャネル復号器308がメモリ
309内に記憶された変数を再初期化しなくてはならないことを示すコマンド信号を反復チャネル復号器308に転送する。インターリーブがブロックの組に対し行われ、固有のブロックに対し行われない場合、制御モジュール300は、メモリ309のいずれの部分において、復号プロセスの終了時に外因性情報が記憶されなくてはならないかを決定するためにチャネル復号器308によって用いられるブロックインデックスも転送する。
【0144】
その後、制御モジュール300はステップS43に移る。
【0145】
ステップS41において、制御モジュール300は、反復チャネル復号器308に、この反復チャネル復号器308がメモリ308内に記憶された変数を再初期化しなくてはならないことを示すコマンド信号を反復チャネル復号器308に転送する。インターリーブがブロックの組に対し行われ、固有のブロックに対し行われない場合、制御モジュール300は、メモリ309のいずれの部分において、復号プロセスの終了時に外因性情報が記憶されなくてはならないかを決定するためにチャネル復号器308によって用いられるブロックインデックスも転送する。
【0146】
その後、制御モジュール300はステップS43に移る。
【0147】
次のステップS43において、制御モジュール300は、現在処理されている符号ブロックのためのチャネル復号器308による反復復号が終了するか否かをチェックする。
【0148】
ステップS50において、制御モジュール
300から、新たな符号ブロックが利用可能であること、及び復号を開始しなくてはならないことを示すメッセージを受信した後、反復チャネル復号器308は、コマンド信号が受信されるか否かをチェックする。このコマンド信号は、「再利用」又は「非再利用」コマンドである。「再利用」コマンド信号は、反復チャネル復号器308が、メモリ309に以前に記憶された情報をメモリ309内で読み出さなくてはならないこと、すなわち以前の反復時に記憶された変数を再利用しなくてはならないことを反復チャネル復号器308に示す。
【0149】
図5は、本発明による反復チャネル復号器によって実行されるアルゴリズムの例を表す。
【0150】
ステップS50において、制御モジュール308から、新たな符号ブロックが利用可能であること、及び復号を開始しなくてはならないことを示すメッセージを受信した後、反復チャネル復号器308は、コマンド信号が受信されるか否かをチェックする。このコマンド信号は、「再利用」又は「非再利用」コマンドである。「再利用」コマンド信号は、反復チャネル復号器308が、メモリ309に以前に記憶された情報をメモリ309内で読み出さなくてはならないこと、すなわち以前の反復時に記憶された変数を再利用しなくてはならないことを反復チャネル復号器308に示す。
【0151】
インターリーブが符号ブロックの組に対し行われる場合、コマンド信号は、チャネル復号器308によって用いられるブロックインデックスも更に含む。「再利用」コマンドが受信される場合、このコマンドは、インデックスが転送されるブロックの前回の反復時に記憶された変数を取り出すために用いられる。
【0152】
コマンド信号が、反復チャネル復号器308に、この反復チャネル復号器308が、メモリ309内に以前に記憶された情報をメモリ309内で読み出さなくてはならないことを示す場合、反復チャネル復号器308はステップS51に移る。そうでない場合、反復チャネル復号器308はステップS52に移る。
【0153】
ステップS51において、反復チャネル復号器308は、メモリ309において、第1の反復プロセスの最後の反復時にメモリ309に記憶された各外因性情報を読み出す。インターリーブがブロックの組に対し行われる場合、反復チャネル復号器308は、制御メッセージ内にインデックスが含まれるブロックに対応する第1の反復プロセスの最後の反復時に、メモリ309内に記憶された各外因性情報をメモリ309内で読み出す。
【0154】
反復チャネル復号器308がLDPCである場合、反復チャネル復号器308は、第1の反復プロセス及び各変数L
ext(c→v)の最後の反復時に、メモリ309内に記憶された各変数L
ext(c→v)をメモリ309内で読み出す。
【0155】
反復チャネル復号器308がLDPCである場合、かつインターリーブがブロックの組に対し行われる場合、反復チャネル復号器308は、制御メッセージ内にインデックスが含まれるブロックに対応する第1の反復プロセス及び各変数L
ext(c→v)の最後の反復時に、メモリ309内に記憶された各変数L
ext(c→v)をメモリ309内で読み出す。
【0156】
その後、反復チャネル復号器308はステップS53に移る。
【0157】
ステップS52において、インターリーブがブロックの組に対し行われる場合、反復チャネル復号器308は、受信符号ブロックインデックスに対応する第1の反復プロセスの最後の反復時に、メモリ309内に記憶された外因性情報をリセットする。
【0158】
外因性情報が読み出されるか又はリセットされると、反復チャネル復号器はこの情報を復号のために用いる。
【0159】
反復チャネル復号器308がLDPCである場合、情報が読み出されると、ノードcは、現在復号されているブロックの復号プロセスの開始のために、各変数ノードvにL
ext(c→v)を送信する。
【0160】
その後、反復チャネル復号器308はステップS53に移る。
【0161】
ステップS53において、反復チャネル復号器308は、新たな反復復号を開始する。同じブロックのための第2の反復プロセスの前回の反復時にメモリ309に前回記憶された情報をメモリ309内で読み出すことによって、本発明は、第2の反復プロセスの反復数を激減させ、したがって、受信機の複雑度を低減する。
【0162】
次のステップS54において、反復チャネル復号器308は、第1の反復プロセスの最後の反復が実行されるか否かをチェックする。
【0163】
第1の反復プロセスの最後の反復が実行される場合、反復チャネル復号器308はステップS55に移る。そうでない場合、反復チャネル復号器308はステップS53に戻る。
【0164】
ステップS55において、反復チャネル復号器308は、内部外因性情報をメモリ309内に記憶する。
【0165】
インターリーブがブロックの組に対し行われる場合、反復チャネル復号器308は、ステップS50において受信したインデックスを用いて、ブロックに専用のメモリエリア内のメモリ309内に内部外因性情報を記憶する。
【0166】
次のステップS56において、反復チャネル復号器308は、軟復号情報を減算モジュール311及びプロセッサ200に転送する。軟復号情報は、例えば、送信シンボルの送信ビットに関する対数尤度比(LLR)である。