(57)【要約】【課題】復号動作の処理時間を一定とすることができる無線通信用受信装置を提供する。【解決手段】無線通信用受信装置は、伝送路推定値と受信信号から仮解を求める第１ステップを行う初期化部501と、前記仮解を中心とした探索領域の内側に存在する次元毎の解候補を求める第２ステップを行う解候補計算部502と、前記解候補の数が指定したリソース数を超えた場合に、累計距離の大きい解候補を削除する第３ステップを行う解候補選定部503と、前記仮解と前記解候補との次元毎の部分距離ならびに得られた前記部分距離の累計距離を求める第４ステップを行う距離計算部504と、前記累計距離の大小を比較して前記累計距離の小さい解候補を求め、格子符号の次元数回毎に前記第２乃至第４ステップを行うように前記解候補計算部、前記解候補選定部、および前記距離計算部を制御する距離比較部505を具備する。【選択図】      図１
2008172340.tif 000002
【特許請求の範囲】
【請求項１】
伝送路推定値と受信信号から仮解を求める第１ステップを行う初期化部と、
前記仮解を中心とした探索領域の内側に存在する次元毎の解候補を求める第２ステップを行う解候補計算部と、
前記解候補の数が指定したリソース数を超えた場合に、累計距離の大きい解候補を削除する第３ステップを行う解候補選定部と、
前記仮解と前記解候補との次元毎の部分距離ならびに得られた前記部分距離の累計距離を求める第４ステップを行う距離計算部と、
前記累計距離の大小を比較して前記累計距離の小さい解候補を求め、格子符号の次元数回毎に前記第２乃至第４ステップを行うように前記解候補計算部、前記解候補選定部、および前記距離計算部を制御する距離比較部とを具備すること
を特徴とする無線通信用受信装置。
【請求項２】
前記解候補計算部は、同一次元における前記第２ステップを並列に処理すること
を特徴とする請求項１に記載の無線通信用受信装置。
【請求項３】
前記距離計算部は、同一次元における前記第４ステップを並列に処理すること
を特徴とする請求項１または２に記載の無線通信用受信装置。
【請求項４】
前記距離比較部は、前記第１乃至第４ステップを格子符号の次元数毎に繰り返して展開し、パイプライン処理をすること
を特徴とする請求項１乃至３のいずれか１項に記載の無線通信用受信装置。
【請求項５】
前記解候補選定部は、ある次元における解候補数が高々リソース数である場合、その次元の解候補計算を削除すること
を特徴とする請求項１乃至４のいずれか１項に記載の無線通信用受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、無線通信用受信装置に関し、例えば、情報通信における格子符号の最近接点の際の空間分割多重（Space Division Multiplexing）を用いた通信機器のスフィアデコーダ等に適用されるものである。
【背景技術】
【０００２】
従来、例えば、情報通信における格子符号の最近接点の際の空間分割多重（Space Division Multiplexing）を用いた通信機器のための検索アルゴリズムが開示されている（例えば、非特許文献１、２参照）。以下、非特許文献１、２を例に挙げて説明する。
【０００３】
１．非特許文献１
非特許文献１中のＦｉｇ．２に示すように、この非特許文献１のスフィアデコーダは、探索領域を狭めながら解候補点の絞込みを行うツリーサーチアルゴリズムである。この検索アルゴリズムによれば、探索領域を狭めながら解候補点の絞込みを行うため、全解探索に比べ、非常に少ない計算量で最尤判定とほぼ同等の復号精度を達成できる。
【０００４】
しかしながら、この検索アルゴリズムでは、多くの比較判定ステップを要する複雑なツリーサーチアルゴリズムであるため制御が複雑であり、比較判定ステップによって演算範囲が増減するため、演算範囲が変動する。そのため、復号動作の処理時間を一定とすることができない、という問題があった。
【０００５】
加えて、多くの比較判定ステップを要する複雑なツリーサーチアルゴリズムであるため制御が複雑であり、復号動作のパイプライン処理ができない、という問題もある。
【０００６】
さらに、従来の受信装置であると、実時間処理に適さないことに加え、専用の回路等が必要となるため、回路規模が増大し、消費電力が増大する。
【０００７】
例えば、この検索アルゴリズムでは、20MHzのクロック（clock）に同期して受信信号が入力された場合に、平均10clock、最悪のケース20clockで復号できたとしても、最悪ケースに対してリアルタイム処理を行うには400MHzで動作させなければならない。また、ツリーサーチを実行している間は、次の信号の復号処理ができないため、受信信号用バッファを用意する工夫や、処理系等を複数用意するなどの工夫が必要となる。
【０００８】
２．非特許文献２
非特許文献２中のＦｉｇ．１にも、計算量削減手法が示されている。しかし、この非特許文献２の検索アルゴリズムも、ツリーサーチアルゴリズムであるため、上記と同様の問題が発生する。
【０００９】
上記のように、従来の無線通信用受信装置は、復号動作の処理時間を一定とすることができないという問題があった。
【非特許文献１】A universal lattice code decoder for fading channelsViterbo, E.; Bouros, J.;Information Theory, IEEE Transactions on , Volume: 45 , Issue: 5 , July 1999 Pages:1639 - 1642
【非特許文献２】A new reduced-complexity sphere decoder for multiple antenna systemsChan, A.M.; Inkyu Lee;Communications, 2002. ICC 2002. IEEE International Conference on , Volume: 1 , 28 April-2 May 2002 Pages:460 - 464
【発明の開示】
【発明が解決しようとする課題】
【００１０】
この発明は、復号動作の処理時間を一定とすることができる無線通信用受信装置を提供する。
【課題を解決するための手段】
【００１１】
この発明の一態様によれば、伝送路推定値と受信信号から仮解を求める第１ステップを行う初期化部と、前記仮解を中心とした探索領域の内側に存在する次元毎の解候補を求める第２ステップを行う解候補計算部と、前記解候補の数が指定したリソース数を超えた場合に、累計距離の大きい解候補を削除する第３ステップを行う解候補選定部と、前記仮解と前記解候補との次元毎の部分距離ならびに得られた前記部分距離の累計距離を求める第４ステップを行う距離計算部と、前記累計距離の大小を比較して前記累計距離の小さい解候補を求め、格子符号の次元数回毎に前記第２乃至第４ステップを行うように前記解候補計算部、前記解候補選定部、および前記距離計算部を制御する距離比較部とを具備する無線通信用受信装置を提供できる。
【発明の効果】
【００１２】
この発明によれば、復号動作の処理時間を一定とすることができる無線通信用受信装置が得られる。
【発明を実施するための最良の形態】
【００１３】
以下、この発明の実施形態について図面を参照して説明する。尚、この説明においては、全図にわたり共通の部分には共通の参照符号を付す。
【００１４】
[第１の実施形態]
図１乃至図３を用いてこの発明の第１の実施形態に係る無線通信用受信装置を説明する。
【００１５】
＜１．無線通信システム＞  
まず、図１を用いて、この実施形態に係る無線通信システムについて説明する。図示するように、この実施形態に係る無線通信システムは、（Space Division Multiplexing）を用いた通信機器による格子符号の（ＭＩＭＯ）送信器（送信装置）２０１および（ＭＩＭＯ）受信器（受信装置）２０６を備えている。
【００１６】
送信器（送信装置）２０１は、２つの送信アンテナＴx1(202)、Ｔx2(203)を備え、送信データをこの送信アンテナＴx1(202)、Ｔx2(203)より受信器２０６に送信するように構成されている。送信アンテナＴx1(202)、Ｔx2(203)は、それぞれ独立の信号ｘ0と信号ｘ1を送信する。
【００１７】
受信器（受信装置）２０６は、２つの受信アンテナＲx1(204)、Ｒx2(205)を備え、受信したデータを所定の送信データに復号するように構成されている。受信アンテナＲx1(204)、Ｒx2(205)は、それぞれ信号ｒ0と信号ｒ1を受信する。
【００１８】
ここで、本例の場合、送信器２０１と受信器２０６との間のチャネルＨ(207)は、各アンテナＴx1(202)、Ｔx2(203)、Ｒx1(204)、Ｒx2(205)を結ぶ４つ経路ｈ00,ｈ10,ｈ01,ｈ11から構成される。
【００１９】
次に、本例に係る送信器２０１および受信器２０６の構成例について、図２を用いて説明する。
【００２０】
図示するように、送信器２０１は、格子符号変換部（Mapper）２１１、ＳＤＭエンコーダ２１２、ＤＡ（Digital Analog）変換部２１３、２１４、およびＲＦ２１６、２１７を備えている。
【００２１】
格子符号変換部（Mapper）２１１は、入力された送信データ（Data）を所定の格子符号に変換するように構成されている。
【００２２】
ＳＤＭエンコーダ２１２は、入力された格子符号（Mapper出力）を２つ（本例の場合）の送信アンテナＴx1(202)、Ｔx2(203)から送信するために、ＤＡ変換部２１３、２１４にそれぞれ振り分けるように構成されている。例えば、ＳＤＭエンコーダ２１２は、入力された格子符号をSerialからParallelに並べること（シリアル／パラレル変換）により、２つに振り分ける。
【００２３】
ＤＡ（Digital Analog）変換部２１３、２１４は、ＳＤＭエンコーダ２１２からデジタル信号として入力された格子符号をアナログ信号に変換し、ＲＦ２１６、２１７に出力するように構成されている。
【００２４】
ＲＦ２１６、２１７は、入力されたアナログ信号を所定の周波数の無線信号に変換し、送信アンテナＴx1(202)、Ｔx2(203)に出力するように構成されている。例えば、本例の場合、ＲＦ２１６、２１７は、入力されたアナログ信号を２．４ＧＨｚ帯の無線信号に変換する。
【００２５】
受信器２０６は、格子符号変換部（Demapper）２２１、ＳＤＭデコーダ２２２、ＡＤ（Analog Digital）変換部２２３、２２４、およびＲＦ２２６、２２７を備えている。
【００２６】
ＲＦ２２６、２２７は、受信アンテナＲx1(204)、Ｒx2(205)から入力された所定の周波数の無線信号をアナログ信号に変換し、ＡＤ変換部２２３、２２４に出力するように構成されている。
【００２７】
ＡＤ（Analog Digital）変換部２２３、２２４は、入力されたアナログ信号を所定のデジタル信号に変換し、ＳＤＭデコーダ２２２に出力するように構成されている。
【００２８】
ＳＤＭデコーダ２２２は、ＡＤ変換部２２３、２２４より入力されたデジタル信号である格子符号を干渉する前の信号（格子符号）に復号し、格子符号変換部（Demapper）２２１に出力するように構成されている。
【００２９】
格子符号変換部（Demapper）２２１は、ＳＤＭデコーダ２２２より入力された格子符号を送信データ（Data）に変換し、受信データ（Data）として出力するように構成されている。
【００３０】
＜２．ＳＤＭデコーダの構成例＞  
次に、この実施形態に係るＳＤＭデコーダ（スフィアデコーダ）２２２の構成例について、図３を用いて説明する。
【００３１】
図示するように、本例に係るＳＤＭデコーダ２２２は、初期化部５０１、解候補計算部５０２、解候補選定部５０３、距離計算部５０４、および距離比較部５０５を備えている。
【００３２】
初期化部５０１は、伝送路推定値（Ｈ）と受信信号（Ｒ：格子符号）から仮解を求める（後述する第１ステップＳＴ１）を行うように構成されている。
【００３３】
解候補計算部５０２は、上記仮解を中心とした探索領域の内側に存在する次元毎の解候補を求める（後述する第２ステップＳＴ２）を行うように構成されている。
【００３４】
解候補選定部５０３は、上記解候補の数が指定したリソース数（ＭＡＸ）を超えた場合に、前記累計距離の大きい解候補を削除する（後述する第４ステップＳＴ４）を行うように構成されている。
【００３５】
距離計算部５０４は、上記仮解と解候補との次元毎の部分距離ならびに得られた前記部分距離（ｕ２ｋ，ｋ（Ｘ［ｉ］−＜Ｘ＞´［ｉ］）２；但し、＜Ｘ＞；Ｘハットと表記する）の累計距離（Dist［ｉ］）を求める（後述する第３ステップＳＴ３）を行うように構成されている。
【００３６】
距離比較部５０５は、上記累計距離の大小を比較して累計距離の小さい解候補を求める（後述する第５ステップＳＴ５）ように構成されている。また、距離比較部５０５は、上記ステップＳＴ５の後に、格子符号の次元数回毎に、上記第２乃至第４ステップＳＴ２〜ＳＴ４を行うように解候補計算部５０２、解候補選定部５０３、および距離計算部５０４を制御する。
【００３７】
＜３．無線通信動作＞  
次に、この実施形態に係る送信器２０１および受信器２０６における無線通信動作について、図４を用いて説明する。
【００３８】
図示するように、送信器２０１と受信器２０６との間のチャネルＨ(207)は、各アンテナＴx1(202)、Ｔx2(203)、Ｒx1(204)、Ｒx2(205)を結ぶ４つ経路ｈ00,ｈ10,ｈ01,ｈ11から構成される。
【００３９】
そのため、受信アンテナＲx1、Ｒx2により受信した格子符号は、それぞれの経路から干渉される。例えば、図示するように、受信アンテナＲx1により受信した格子符号２１は、経路h00,h01の干渉後の格子符号である。例えば、受信アンテナＲx2により受信した格子符号２２は、経路h10,h11の干渉後の格子符号である。
【００４０】
よって、ＳＤＭデコーダ２２２は、入力されたデジタル信号である格子符号２１、２２を干渉する前の格子符号に復号し、格子符号変換部（Demapper）２２１に出力する必要がある。
【００４１】
＜４．格子符号の復号動作＞
この実施形態に係るＳＤＭデコーダ２２２の入力された格子符号２１、２２の復号動作について、図５乃至図９を用いて説明する。
【００４２】
＜４−１．復号動作の前提＞
まず、復号動作の前提として、格子符号２１、２２に対する最尤解を求める最尤判定について説明する。
【００４３】
格子符号Ｓは、次元数Ｑを用いて、以下の（式１）のように定義できる。
【００４４】
【数１】
2008172340.tif 000003
【００４５】
続いて、Dは変調方式によって以下の（式２）ように定義される。
【００４６】
【数２】
2008172340.tif 000004
【００４７】
ここで、図５に示すように、送信側１０１および受信側１０３における格子符号の送受信の様子が示されている。図５においては、２ビットの情報{x0,x1}を4−QAM（格子数４）により変調した格子符号を送信する場合を一例として示している。図示するように、送信側１０１では、x0を実数成分に、x1を虚数成分に割り当てることで格子を形成している。この場合、格子符号Ｓは、以下の（式３）のように表される。
【００４８】
【数３】
2008172340.tif 000005
【００４９】
送信信号はチャネルＨ (102) により歪んで受信される。そのため、受信信号Ｒは、ノイズ成分ｎを用いて、以下の（式４）のように表される。
【００５０】
【数４】
2008172340.tif 000006
【００５１】
ここで、上記図２等に示したように、空間分割多重方式による格子符号の送信器２０１、受信器２０６は、２つの送信アンテナTx1(202)とTx2(203)と、２つの受信アンテナ Rx1(202)とRx2(203)を備えている。このとき、チャネルH(207)は各アンテナを結ぶ4つ経路から構成される。各送信アンテナからそれぞれ独立の信号ｘ0と信号ｘ1をそれぞれ送信し、受信器(206)では信号ｒ0と信号ｒ1を各アンテナで受信する。
【００５２】
この場合、上記（式４）は、行列を利用して以下のように拡張できる。
【００５３】
【数５】
2008172340.tif 000007
【００５４】
但し、以下の（式６）を満たすものとする。
【００５５】
【数６】
2008172340.tif 000008
【００５６】
続いて、アンテナ数をｍとするならば、格子符号は以下の（式７）のように、定義できる。
【００５７】
【数７】
2008172340.tif 000009
【００５８】
上記（式７）によれば、次元が拡張されただけで格子符号の本質としては何も変わらないことを意味する。
【００５９】
以下、本例では、空間分割多重方式による格子符号の復号について説明する。しかし、空間分割多重方式による格子符号の復号に限らず、その他の一般的な格子符号の復号についても同様に適用することが可能である。
【００６０】
続いて、受信器２０１側では、受信信号Ｒとチャネル情報Ｈを用いてXを復号する。復号アルゴリズムとして、ZF（Zero-Forcing）、V-BLAST、最尤復号（MLD：Maximum Likelihood Decode）などが知られている。本例では、最尤復号（MLD）を例に挙げて、以下説明する。
【００６１】
最尤復号（MLD）は、ノイズが0であるときの格子符号の受信コンスタレーションパターンをレプリカ信号として生成し、各レプリカ信号と受信信号点との２乗誤差を計算し、２乗誤差が最小となるレプリカ信号を送信信号として出力する復号アルゴリズムである。
【００６２】
つまり、以下の（式８）を解くことで送信信号を推定する。
【００６３】
【数８】
2008172340.tif 000010
【００６４】
図５に示す受信側１０３における点(104)が受信点である。まず、送信信号のパターンである{1,1},{-1,1},{1,-1},{-1,-1}の４通りについて、チャネルＨ(102)を乗算したものをレプリカ信号として生成する。
【００６５】
続いて、受信点(104)とレプリカ信号との距離を求め、距離が最小となるレプリカ信号を選択する。この例では、レプリカ信号{1,1}との距離が、最小距離である。
【００６６】
続いて、以下のように、記号を定義する。
【００６７】
【数９】
2008172340.tif 000011
【００６８】
ＳＤＭデコーダ２２２は、受信信号ｒを入力とし、チャネル情報Ｈを用いて送信信号ｘを推定するツリーサーチアルゴリズムを行う。ここで、受信信号ｒは以下の（式９）で与えられる。
【００６９】
【数１０】
2008172340.tif 000012
【００７０】
また、送信信号Xは、上記(式1)により制約される格子符号である。
【００７１】
最尤判定は、上記(式8)より以下の（式１０）で与えられる。
【００７２】
【数１１】
2008172340.tif 000013
【００７３】
ここで、＜ｘ＞はZero-Forcingの解であり、以下で与えられる。
【００７４】
【数１２】
2008172340.tif 000014
【００７５】
半径ｄのスフィア内部に位置する格子点は、以下の（式１２）のように定義される。
【００７６】
【数１３】
2008172340.tif 000015
【００７７】
次に、上記（式１１）中の行列Ｈ※Ｈに着目する。行列Ｈ※Ｈは、Cholesky分解(Ｈ※Ｈ＝Ｕ※Ｕ)により三角行列に分解できる。ここで、行列Ｕは、上三角行列であり、以下の（式１３）のように示される。
【００７８】
【数１４】
2008172340.tif 000016
【００７９】
したがって、上記（式１２）は、以下の（式１４）のように示される。
【００８０】
【数１５】
2008172340.tif 000017
【００８１】
ここで、（式１４）中の初期項ｕ２ＱＱ（ｘＱ−＜ｘ＞Ｑ）２は、ｘＱのみに依存した項である。したがって、ｘＱのみを以下の（式１５）で評価する。
【００８２】
【数１６】
2008172340.tif 000018
【００８３】
つまり、下記の（式１６）のように示される。
【００８４】
【数１７】
2008172340.tif 000019
【００８５】
上記（式１６）を満たす解候補ｘＱが、スフィア半径ｄの内部に位置する格子点である。
【００８６】
以下、（式１６）を満たす解候補ｘＱに対して、それぞれ繰り返し探索を行う。このとき、スフィア半径は以下の（式１７）のように更新される。
【００８７】
【数１８】
2008172340.tif 000020
【００８８】
続いて、上記（式１４）の次項に着目すると、ｘＱとｘＱ−１に依存した項であるので、ｘＱを定めればｘＱのみに依存した項となる。したがって、ｘＱ−１のみを以下の（式１８）で評価する。
【００８９】
【数１９】
2008172340.tif 000021
【００９０】
よって、以下の（式１９）を満たす解候補ｘＱ−１が、スフィア半径ｄＱ−１の内部に位置する格子点である。
【００９１】
【数２０】
2008172340.tif 000022
【００９２】
以下、ｘＱ−２，ｘＱ−３，…，ｘ１の全てに対して同様の計算を行う。
【００９３】
続いて、上記（式１４）を満たす解候補＜ｘ＞´＝（ｘＱ−２，ｘＱ−３，…，ｘ１）が見つかった場合、以下の（式２０）に示すように、解候補＜ｘ＞´と受信点ｒとの距離≪ｒ−Ｈ＜ｘ＞´≫２でスフィア半径を更新する。
【００９４】
【数２１】
2008172340.tif 000023
【００９５】
続いて、新しいスフィア半径ｄ´２を用いて再び 上記(式14) を満たす解候補を探索する。最終的にスフィア半径の中に1つしか解が存在しなくなった解が最尤解である。
【００９６】
＜４−２．本例に係るＳＤＭデコーダの復号動作＞
次に、上記＜４−１＞の説明を前提として、本例に係るＳＤＭデコーダ２２２の復号動作について説明する。この説明においては、図６に示すフローに則して説明する。図６中には、各部の具体的な処理を擬似コードで示している。
【００９７】
（ステップＳＴ１（変数の初期化））
まず、初期化部５０１に入力（Input）として、Ｈ：チャネル情報（伝送路推定値）、Ｒ：受信信号、ｃ：探索領域、ＭＡＸ：リソース最大数（高々リソース数）を入力する。
【００９８】
続いて、初期化部５０１は、入力された各変数を初期化し、入力された伝送路推定値（チャネル情報）Ｈと受信信号Ｒから仮解（Zero-Forcing解の値＜ｘＱ＞で初期化された解＜Ｘ＞［１］）を求める第１ステップを行う。
【００９９】
具体的に、初期化部５０１は、以下の７点の初期化および計算を実行する。ここで、[ ]は配列を表現する。
【０１００】
・U：チャネル情報Hのコレスキー分解を計算
・＜ｘ＞：Zero-Forcing解を計算
・k：格子符号の次元数Qで初期化
・Total：解候補数を1で初期化
・仮解＜Ｘ＞［１］：Zero-Forcing解の値＜ｘＱ＞で初期化
・Area[1]：入力である探索領域cで初期化
・Dist[1]：累計距離を0で初期化する。
【０１０１】
（ステップＳＴ２（解候補計算））
続いて、解候補計算部５０２は、仮解（Zero-Forcing解の値＜ｘＱ＞で初期化された解＜Ｘ＞［１］）を中心とした探索領域の内側に存在する次元毎の解候補＜Ｘ＞´［ｉ］［］を求める第２ステップを行う。
【０１０２】
具体的に、解候補計算部５０２は、上記（式１９）に示したように、現在注目している次元(添え字ｋ)において、＜Ｘ＞［ｉ］を中心に探索領域内に存在する解候補点を求める。そして、全ての解候補点＜Ｘ＞´［ｉ］［］を変数に配列として記憶する。以上の処理を全ての解候補(添え字ｉ)について実行する。
【０１０３】
（ステップＳＴ３）
続いて、解候補選定部５０３は、上記解候補＜Ｘ＞´［ｉ］［］の数が、指定したリソース数ＭＡＸを超えた場合に、前記累計距離Dist［ｉ］の多い解候補＜Ｘ＞´［ｉ］［］を削除する第３ステップを行う。
【０１０４】
これは、上記解候補計算部５０２と後述する距離計算部５０４の処理（第２ステップＳＴ２、第４ステップＳＴ４）を次元数(Q)回繰り返すことで、形式的には最初に与えられた探索領域の内部に存在する全ての解候補と受信点との距離を計算できる。しかし、探索領域内に存在する解候補数の増加にともない計算量も増加してしまう。
【０１０５】
そこで、解候補選定部５０３は、この第３ステップＳＴ３において、演算対象となる解候補数がリソース数ＭＡＸを超えた場合、前記累計距離Dist［ｉ］の多い解候補を削除し、演算対象を削減する。
【０１０６】
このように、解候補選定部５０３は、より最尤解に近い解候補を保持できるよう累計距離(Dist［ｉ］)が小さい演算対象を優先的に残す。
【０１０７】
ここで、最尤解とは“受信信号と解候補の距離が最小となる解候補の組合せ”と言える。そのため、演算途中において、累計距離(Dist［ｉ］)が小さいものほど、最尤解に近い部分解であると言えるからである。
【０１０８】
（ステップＳＴ４）
続いて、距離計算部５０３は、上記仮解＜Ｘ＞［１］と上記解候補＜Ｘ＞´［ｉ］［］との次元毎の部分距離ならびに得られた前記部分距離の累計距離を求める第３ステップを行う。
【０１０９】
具体的に、距離計算部５０３は、現在注目している次元(添え字ｋ)における、部分距離（ｕ２ｋ，ｋ（Ｘ［ｉ］−＜Ｘ＞´［ｉ］）２を計算し、累計距離Dist［ｉ］を更新する。
【０１１０】
同時に、その時点での探索領域から部分距離を引くことで、探索領域Area［ｉ］を更新する。また、次の次元の処理をするための前準備として＜Ｘ＞［ｉ］も更新する。
【０１１１】
以上の処理を全ての解候補(添え字ｉ)について実行する。例えば、一の次元での上記ステップＳＴ３の処理終了後、次元(添え字ｋ)を一つ減らして、次の次元の処理を行う。
【０１１２】
（ステップＳＴ５）
続いて、距離比較部５０５は、前記累計距離Dist［ｉ］の大小を比較し、累計距離Dist［ｉ］の小さい解候補＜Ｘ＞´［ｉ］［］を求める。その後、距離比較部５０５は、格子符号の次元数回毎に上記第２乃至第４ステップＳＴ２〜ＳＴ４を行うように解候補計算部５０２、解候補選定部５０３、および距離計算部５０４を制御する。
【０１１３】
即ち、距離比較部５０５は、距離計算部５０４によるステップＳＴ４の後、前記累計距離Dist［ｉ］の大小を比較し、累計距離(Dist［ｉ］)が昇順になるように各解候補(添え字ｉ)を並び替える。そのため、添え字ｉが小さいものほど、最尤解に近い解候補となる。
【０１１４】
再び、解候補計算部６０２は、同様のステップＳＴ２により解候補を求める。
【０１１５】
続いて、解候補選定部６０３は、添え字ｉの小さいものから優先して解候補を選定する。解候補数がリソース数(ＭＡＸ)を超えた時点で解候補の削除を行う。
【０１１６】
続いて、距離比較部５０５は、前記累計距離Dist［ｉ］の大小を比較し、累計距離Dist［ｉ］の少ない解候補＜Ｘ＞´［ｉ］［］を求める。
【０１１７】
最後に、距離比較部５０５は、解候補＜Ｘ＞´［ｉ］［］を復号した格子符号として、格子符号変換部（Demapper）２２１に出力する（Output）。
【０１１８】
以上の第１乃至第５ステップＳＴ１〜ＳＴ５を次元数(Q)回繰り返し、本例のＳＤＭデコーダの復号動作を終了する。
【０１１９】
上記のように、ステップＳＴ３の際に、解候補選定部５０３は、上記解候補＜Ｘ＞´［ｉ］［］の数が、指定したリソース数ＭＡＸを超えた場合に、前記累計距離Dist［ｉ］の多い解候補＜Ｘ＞´［ｉ］［］を削除する第３ステップを行う。
【０１２０】
そのため、探索領域内に存在する解候補＜Ｘ＞´［ｉ］［］の数に因らず、解候補＜Ｘ＞´［ｉ］［］を一定のリソース数ＭＡＸに収めることができ、処理時間を一定にすることができる。
【０１２１】
尚、高々リソース数ＭＡＸは、必要に応じて、任意に決めることができる。例えば、「データ記憶数」、「距離計算を行う演算数」、「処理時間に比例した数」など、リソースの定義は任意に決定することができる。なお、リソース数を少なくすると復号性能が劣化する。実験ではリソース数16(MAX=16)程度あれば、64QAMの2x2MIMO空間分割多重方式に対応できることがわかっている。
【０１２２】
＜復号性能＞
本例に係るＳＤＭデコーダの復号性能について、図７、図８を用いて説明する。
【０１２３】
図７は、格子数１６（16QAM信号）の場合におけるノイズ比（ＣＮＲ）［ｄＢ］と誤り率（ＢＥＲ）［％］との関係を示す図である。図８は、格子数６４（64QAM信号）の場合におけるノイズ比（ＣＮＲ）［ｄＢ］と誤り率（ＢＥＲ）［％］との関係を示す図である。図７、図８のいずれの場合のリソース数は、１６(MAX=16)とした。比較対象である最尤判定とは全解探索を用いた場合で理想値である。
【０１２４】
図７、図８に示すように、いずれの場合も最尤判定した理想曲線と比較して、およそCNR劣化量１dB以内で復号できている。
【０１２５】
＜５．この実施形態に係る効果＞
この実施形態に係る無線通信用受信装置によれば、少なくとも下記（１）乃至（３）の効果が得られる。
【０１２６】
（１）復号動作の処理時間を一定とすることができる。
【０１２７】
上記のように、本例に係る受信器（受信装置）２０６は、解候補＜Ｘ＞´［ｉ］［］の数が、指定したリソース数ＭＡＸを超えた場合に、前記累計距離Dist［ｉ］の大きい解候補＜Ｘ＞´［ｉ］［］を削除する第３ステップ（ＳＴ３）を行う解候補選定部５０３を備えている。
【０１２８】
そのため、例えば、図９に示すように、探索領域内に存在する解候補＜Ｘ＞´［ｉ］［］の数に因らず、解候補＜Ｘ＞´［ｉ］［］を一定のリソース数ＭＡＸに収めることができる。これは、解候補選定部５０３が、上記ステップＳＴ３の際に、指定したリソース数ＭＡＸを超えた場合に、前記累計距離の大きい解候補を削除できるため、図９中の演算範囲３３を削除することができるからである。
【０１２９】
そのため、本例に係るＳＤＭデコーダ２２２の最尤解を求めるための演算範囲３４は、指定したリソース数ＭＡＸを超えた場合であっても、指定したリソース数ＭＡＸとすることができる。一方、後述する比較例に係るＳＤＭデコーダの最尤解を求めるための演算範囲３５は、スフィア半径ｄとなり、本例と比べ増大してしまう。
【０１３０】
但し、図９は、例示として概念的に示したもので、例えば、リソース数ＭＡＸの変動等によって、その他の演算範囲を取り得る。そのため、例えば、演算範囲は、２次元に限らず、球状等の３次元等にもなり得る。
【０１３１】
一方、図７、図８に示したように、本例に係る受信器２０６の復号性能は、最尤判定した理想曲線とほぼ同様の結果を得ることができる。例えば、図７、図８に示すいずれの場合であっても、最尤判定した理想曲線と比較して、およそCNR劣化量１dB以内で復号することができる。
【０１３２】
このように、解候補選定部５０３が上記第３ステップＳＴ３を行うことで、処理時間を決定する解候補点の数を一定にすることができるため、復号性能を維持しつつ、復号動作の処理時間を一定にすることができる。
【０１３３】
（２）復号動作のパイプライン処理を行うことができる。  
加えて、本例に係る受信器（受信装置）２０６は、前記累計距離Dist［ｉ］の大小を比較し、累計距離Dist［ｉ］の少ない解候補＜Ｘ＞´［ｉ］［］を求め、距離比較部５０５は、格子符号の次元（Ｑ）数回毎に上記第２乃至第４ステップＳＴ２〜ＳＴ４を行うように解候補計算部５０２、解候補選定部５０３、および距離計算部５０４を制御する距離比較部５０５を備えている。
【０１３４】
このように、距離比較部５０５は、格子符号の次元（Ｑ）数回毎に上記第２乃至第４ステップＳＴ２〜ＳＴ４を行うように解候補計算部５０２、解候補選定部５０３、および距離計算部５０４を制御する。そのため、上記第２乃至第４ステップＳＴ２〜ＳＴ４とループする回数は、格子符号の次元数（Ｑ）で決定され、固定とすることができる。結果、距離比較部５０５は、次元数（Ｑ）回上記第２乃至第４ステップＳＴ２〜ＳＴ４繰り返した後、解候補＜Ｘ＞´［ｉ］［］を復号した格子符号として、格子符号変換部（Demapper）２２１に出力する（Output）し、復号動作を停止することができる。
【０１３５】
このように、距離比較部５０５が行うループの回数は、格子符号の次元数（Ｑ）で決定され、固定とすることができる。そのため、図６に示したように、複雑な比較判定ステップを必要とせず、処理のスループットを向上でき、復号動作のパイプライン処理を行うことができる。
【０１３６】
（３）消費電力の低減、および占有面積の低減に対して有利である。  
上記（１）、（２）に示したように、本例に係る受信装置（受信器）によれば、複雑な比較判定ステップを必要とせず、処理のスループットを向上できる。その結果、回路規模を低減できるため、消費電力を低減でき、占有面積を低減できる点で有利である。
【０１３７】
［第２の実施形態（復号動作のその他の一例）］
次に、第２の実施形態に係る半導体記憶装置について、図１０を用いて説明する。この実施形態は、復号動作のその他の一例に関するものである。この説明において、上記第１の実施形態と重複する部分の詳細な説明を省略する。図１０は、この実施形態に係る復号動作を示すフロー図である。
【０１３８】
図示するように、ステップＳＴ２またはステップＳＴ４の際において、上記第１の実施形態では“for文”によって実行されていた箇所を、“parallel do (ｉ)”に置き換えている点で上記第１の実施形態と相違している。
【０１３９】
上記実行命令“parallel do (ｉ)”は、添え字ｉに関して並列に処理する命令である。
【０１４０】
そのため、本例に解候補計算部５０２、距離計算部５０４は、添え字ｉに関して独立な演算となっているため、データ依存関係などを考慮する必要なく、同一の次元数Qにおいて並列に演算できる（ステップＳＴ２、ＳＴ４）。
【０１４１】
ステップＳＴ２、ＳＴ４の際に、実行命令“parallel do (ｉ)”による演算の並列化により、解候補数に依存することなく１個のデータを処理する時間で全ての解候補に対する演算を終えることができる。このときの演算器の数はリソース数(MAX)だけあれば必要十分である。
【０１４２】
尚、リソース数(MAX)の半分の演算器を用意して、２回利用することで演算器の数を削減することも可能である。処理時間と演算器の数は、システムの要求等の必要に応じたバランスにより決定される。
【０１４３】
このように、本例によれば、探索領域内に存在する解候補点の数に依存することなく、処理時間を常に一定にすることができる。処理時間は、次元数(Q)に対して、オーダー(Q)であり、次元数Qが一定であるならば処理時間も一定となる。
【０１４４】
上記のように、この実施形態に係る無線通信用受信装置によれば、少なくとも上記（１）乃至（３）と同様の効果が得られる。
【０１４５】
さらに、本例に係るＳＤＭデコーダは、ステップＳＴ２またはステップＳＴ４の際において、上記第１の実施形態では“for文”によって実行されていた箇所を、“parallel do (ｉ)”に置き換えている点で上記第１の実施形態と相違している。
【０１４６】
そのため、本例に係る解候補計算部５０２、距離計算部５０４は、添え字ｉに関して独立な演算となっているため、データ依存関係などを考慮する必要なく、同一の次元数Qにおいて並列に演算できる（ステップＳＴ２、ＳＴ４）。その結果、ステップＳＴ２、ＳＴ４の際に、実行命令“parallel do (ｉ)”による演算の並列化により、解候補数に依存することなく１個のデータを処理する時間で全ての解候補に対する演算を終えることができる点で有利である。
【０１４７】
［第３の実施形態（アーキテクチャの一例）］
次に、第３の実施形態に係る半導体記憶装置について、図１１を用いて説明する。この実施形態は、QAM変調を用いた2x2 MIMO空間分割多重方式の復号に対応したアーキテクチャの一例に関するものである。この説明において、上記第１の実施形態と重複する部分の詳細な説明を省略する。
【０１４８】
図１１に示すように、本例に係るＳＤＭデコーダ２２２のアーキテクチャは、QAM変調を用いた2x2 MIMO空間分割多重方式の復号に対応している。図示するように、QAM変調が2多重送信されるので、次元数Qは2×2=4である。本例では、リソース数MAX=16とする。
【０１４９】
図示するように、本例のＳＤＭデコーダ２２２は、アーキテクチャとして、初期化部５０１、解候補計算部５０２−１〜５０２−３(図中 “□”表記に対応)、解候補選定部５０３−１〜５０３−２、距離計算部５０４−１〜５０４−４(図中“○”表記に対応)、距離比較部５０５−１〜５０５−３により構成されている。
【０１５０】
上記第２の実施形態と同様に、解候補計算部５０２−１〜５０２−３および距離計算部５０４−１〜５０４−４は、演算器をリソース数ＭＡＸ（＝16）だけ並列に実装している。
【０１５１】
図示するように、この第３の実施形態に係るＳＤＭデコーダ２２２は、距離比較部５０５−１〜５０５−３から解候補計算部５０３−１〜５０３−２へのループバック（ステップＳＴ２〜ＳＴ５）が展開されている点で上記第２の実施形態と相違している。本例では、次元数は４（ｋ＝４）であるため、４段分の演算器が展開されている。
【０１５２】
例えば、次元k=4の場合、解候補計算部５０４において、高々４個までの解候補しか算出されない。
【０１５３】
同様に、次元k=3の場合、解候補計算部において高々１６個までの解候補しか算出されない。したがって、解候補の選定をする必要がない。このことから、k=4では解候補選定部と距離比較部を、k=3では解候補選定部を省略することができる。つまり、全ての次元において必ずしも解候補選定部と距離比較部を用意する必要はない。その結果、回路面積をより低減できる点で有利である。
【０１５４】
本例では、データは常に入力（Input）側から出力（Output）側に向かって流れており、また各処理間でのデータの依存関係は発生しない。よって、復号動作を全てパイプライン処理に行うことができる。これにより、復号処理のハイスループット化を実現することができる。
【０１５５】
逆に言えば、本例によれば、遅いクロックで動作させても処理を間に合わせることができるといえる。例えば、入力として格子符号が20MHz毎に入力された場合、20MHzでパイプライン動作できれば処理が間に合う。これを従来のスフィアデコーダをCPUで処理する場合を考えると、例えば500MHzや1GHzといった高周波数を必要とする。このことから、本例は、低消費電力に適した実装方法であると言える。
【０１５６】
さらに、リソース数(MAX)=16であることから演算器を16並列に用意しているが、探索領域内に存在する解候補の数が16よりも少ない場合は全ての演算器を使わないことになる。このとき、使わない演算器に対してゲーティッドクロック手法などを用いて動作をとめることで、さらなる低消費電力化を実現することも可能である。
【０１５７】
上記のように、この実施形態に係る無線通信用受信装置によれば、少なくとも上記（１）乃至（３）と同様の効果が得られる。
【０１５８】
さらに、本例に係るＳＤＭデコーダ２２２は、距離比較部５０５−１〜５０５−３から解候補計算部５０３−１〜５０３−２へのループバック（ステップＳＴ２〜ＳＴ５）が展開している。
【０１５９】
そのため、データは常に入力（Input）側から出力（Output）側に向かって流れており、また各処理間でのデータの依存関係は発生しない。よって、復号動作を全てパイプライン処理として行うことができる。これにより、復号処理のハイスループット化を実現することができる点で有利である。
【０１６０】
加えて、本例によれば、遅いクロックで動作させても処理を間に合わせることができるといえる。例えば、入力として格子符号が20MHz毎に入力された場合、20MHzでパイプライン動作できれば処理が間に合う。これを従来のスフィアデコーダをCPUで処理する場合を考えると、例えば500MHzや1GHzといった高周波数を必要とする。このことから、本例は、低消費電力に適した実装方法であるとも言える。
【０１６１】
［比較例］
次に、上記第１乃至第３の実施形態に係る無線通信用受信装置と比較するために、比較例に係る無線通信用受信装置について、図１２および図１３を用いて説明する。
【０１６２】
図１２に示すように、比較例に係るスフィアデコーダ（ＳＤＭデコーダ）は、初期化部４０１、解候補計算部４０２、距離計算部４０３、探索領域更新部４０４、制御部４０５を備えている。
【０１６３】
比較例に係るスフィアデコーダ（ＳＤＭデコーダ）の復号動作の検索アルゴリズムは、図１３のように示される。
【０１６４】
以下、比較例に係る復号動作の処理の流れを説明する。
【０１６５】
（処理１）まず、チャート番号301により、アルゴリズムの入力を行う。Hはチャネル情報、Rは受信信号、cは探索領域であるスフィア半径の初期値である。
【０１６６】
（処理２）続いて、チャート番号302で初期化を行う。ここでは、チャネルHのコレスキー分解Uや、解候補の探索の中心点として利用する、Zero-Forcing解ｘｋを計算する。
【０１６７】
（処理３）続いて、チャート番号303、307、310、313、314で操作される変数kは次元番号に対応する。Qは格子符号の次元数である。k=Qから始まり、ディクリメント／インクリメントしながら、解の探索を行う。
【０１６８】
（処理４）続いて、チャート番号304で、Zero-Forcing解＜ｘ＞を中心に、探索領域に含まれる解候補点ｘｋの範囲を定める。
【０１６９】
（処理５）続いて、チャート番号305、306により範囲内となるｘｋについてシーケンシャルに探索を行う。
【０１７０】
（処理６）続いて、チャート番号311により受信信号と解候補点との距離を計算し、スフィア半径から距離を減算する。
【０１７１】
（処理７）チャート番号309、312により解が見つかれば解候補を保存し、スフィア半径を解と受信信号との距離で更新する。
【０１７２】
以上の復号処理により、探索領域を狭めながら解候補点の絞込みを実行し、最尤解を検索する。最終的に探索領域内の解候補が１点になるまで絞込み、残った解候補が最尤解となる。
【０１７３】
ここで、図１３中の復号処理のチャート番号と、図１２中の上記ＳＤＭデコーダの各ブロックとを比較すると以下のように示される。
【０１７４】
チャート番号（図１３） ⇒  ブロック（図１２）
・チャート番号302      ⇒  初期化部401
・チャート番号304      ⇒  解候補計算部402
・チャート番号308＋311 ⇒  距離計算部403
・チャート番号      312 ⇒  探索領域更新部404
・上記以外のチャート番号⇒  制御部405
上記のように、制御部405によってアルゴリズムは制御され、解候補計算部402と距離計算部403の間を行き来する。そして、条件を満たすと判断されると、検索領域更新部404で探索領域を更新し、再びアルゴリズムは解候補計算部402と距離計算部403の処理を繰り返す。
【０１７５】
ここで、解候補計算部402、距離計算部403、検索領域更新部404は、最尤解が見つかるまで繰り返し実行され、最悪ケースで格子符号の次元数（ＤＱ×ｍ）繰り返される。例えば、これは64QAMで送信アンテナが2本の場合を考えた場合、4096回繰り返す計算になる。最悪ケースになることは滅多にないとしても、システムに実装する場合には、あらかじめこのような最悪ケースに対応する必要がある。このように、処理時間が一定でないことは、システムに実装する際に不利である。
【０１７６】
処理時間が一定でない場合、最悪ケースを想定して、高い処理能力を持ったCPUや専用回路で実現するのが必要であるが、消費電力や回路規模が増大する点で不利である。また、高い処理能力を持ったCPUや専用回路を適用すると、その制御も複雑であるため、回路やプログラムが複雑になる点でも不利である。
【０１７７】
これに対し、上記第１乃至第３の実施形態に係るＳＤＭデコーダ（スフィアデコーダ）２２２およびその復号動作によれば、復号動作の処理時間を一定にすることができる。そのため、ハードウェア実装に有利であり、低消費電力を低減できる点でも有利である。
【０１７８】
以上、第１乃至第３の実施形態および比較例を用いて本発明の説明を行ったが、この発明は上記各実施形態および比較例に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記各実施形態および比較例には種々の段階の発明が含まれており、開示される複数の構成要件の適宜な組み合わせにより種々の発明が抽出され得る。例えば各実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題の少なくとも１つが解決でき、発明の効果の欄で述べられている効果の少なくとも１つが得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【０１７９】
【図１】この発明の第１の実施形態に係る無線通信システムを示す図。
【図２】第１の実施形態に係る送信器および受信器を示すブロック図。
【図３】第１の実施形態に係るＳＤＣデコーダ（スフィアデコーダ）を示すブロック図。
【図４】第１の実施形態に係る無線通信動作を説明するためのブロック図。
【図５】第１の実施形態に係る格子符号を説明するための図。
【図６】第１の実施形態に係る受信器の格子符号の復号動作を示すフロー図。
【図７】格子数１６（16QAM信号）の場合におけるノイズ比（ＣＮＲ）［ｄＢ］と誤り率（ＢＥＲ）［％］との関係を示す図。
【図８】格子数６４（16QAM信号）の場合におけるノイズ比（ＣＮＲ）［ｄＢ］と誤り率（ＢＥＲ）［％］との関係を示す図。
【図９】比較例に係る受信器の復号動作と第１の実施形態に係る受信器の復号動作を比較した場合を示す図。
【図１０】第２の実施形態に係る受信器の復号動作を示すフロー図。
【図１１】第３の実施形態に係る受信器のアーキテクチャを示す図。
【図１２】比較例に係るＳＤＭデコーダを示すブロック図。
【図１３】比較例に係るＳＤＭデコーダの復号動作を示すフロー図。
【符号の説明】
【０１８０】
５０１…初期化部、５０２…解候補計算部、５０３…解候補選定部、５０４…距離計算部、５０５…距離比較部。
【図１】
2008172340.tif 000024
【図２】
2008172340.tif 000025
【図３】
2008172340.tif 000026
【図４】
2008172340.tif 000027
【図５】
2008172340.tif 000028
【図６】
2008172340.tif 000029
【図７】
2008172340.tif 000030
【図８】
2008172340.tif 000031
【図９】
2008172340.tif 000032
【図１０】
2008172340.tif 000033
【図１１】
2008172340.tif 000034
【図１２】
2008172340.tif 000035
【図１３】
2008172340.tif 000036