(57)【特許請求の範囲】
【請求項１】
複数の送信アンテナから複数の受信アンテナへ通信される複数のシンボルを検出するためのシステムであって、
コンステレーションからの少なくとも１つの前記シンボルについての、第１の複数の潜在的選択の複数の個別の部分距離から前記シンボルを決定する第１の検出器を備え、
前記第１の検出器は、前記受信アンテナにおいて受信された複数の信号から前記個別の部分距離を決定し、
前記第１の検出器は、Ｋベストスフィア検出器を含み、
前記システムは、
前記コンステレーションからの少なくとも１つの前記シンボルについての、第２の複数の潜在的選択の複数の個別の部分距離から前記シンボルを決定する第２の検出器をさらに備え、
前記第２の検出器は、前記信号から前記個別の部分距離を決定し、
前記信号のＳ／Ｎ比（ＳＮＲ）がしきい値より高いことに応答して、前記第２の複数は前記第１の複数よりも数が少なく、
前記第２の検出器は、前記第２の潜在的選択のうちの１つの前記個別の部分距離よりも小さくない、前記個別の部分距離を有する各第２の潜在的選択を取り除く、深度優先探索最尤検出器（depth-first-search maximum-likelihood detector）を含み、それによって前記第２の検出器のビットエラーレートは、前記第１の検出器のビットエラーレートよりも小さく、
前記第２の潜在的選択のうちの１つは、前記送信アンテナから前記受信アンテナへ通信された前記シンボルの全てについての個別のシンボルを含み、
前記第２の潜在的選択の１つの前記個別の部分距離は、前記個別のシンボルと前記受信アンテナにおいて受信された前記信号との間の距離であり、
前記システムは、
前記第１および第２の検出器に結合された評価器をさらに備え、
前記評価器は、前記受信アンテナにおいて受信された前記信号の前記ＳＮＲを推定し、
前記評価器は、前記ＳＮＲが前記しきい値よりも低いことに応答して前記第１の検出器を有効にして前記シンボルを決定し、
前記評価器は、前記ＳＮＲが前記しきい値よりも高いことに応答して前記第２の検出器を有効にして前記シンボルを決定する、システム。
【請求項２】
前記第２の複数は、前記ＳＮＲが前記しきい値より低いことに応答して、前記第１の複数よりも大きい、請求項１に記載のシステム。
【請求項３】
前記第２の複数は、前記信号の前記ＳＮＲとともに変化し、前記ＳＮＲが前記しきい値より高いことに応答して前記第２の複数は前記第１の複数より小さくなり、前記ＳＮＲが前記しきい値より低いことに応答して前記第２の複数は前記第１の複数より大きくなり、
前記評価器は、前記第２の検出器のビットエラーレートをほぼ達成しながら、前記第１および第２の検出器が、前記信号の前記ＳＮＲにおける前記第１および第２の複数のうちのより小さいほうのみについて、前記個別の部分距離を決定することを可能にする、請求項１に記載のシステム。
【請求項４】
前記評価器は、前記ＳＮＲが前記しきい値より低いことに応答して、前記第２の検出器を無効低電力モードにし、
前記評価器は、前記ＳＮＲが前記しきい値より高いことに応答して、前記第１の検出器を無効低電力モードにする、請求項１に記載のシステム。
【請求項５】
前記第１および第２の検出器は、プログラマブル論理アレイおよびプログラマブル集積回路のルーティングリソースにおいて実現される、請求項１に記載のシステム。
【請求項６】
前記ＳＮＲが前記しきい値より低いときは、前記アレイ内の前記第１の検出器を実行するとともに前記アレイ内の前記第２の検出器を実行しないように適合され、かつ、前記ＳＮＲが前記しきい値より高いときは、前記アレイ内の前記第２の検出器を実行するとともに前記アレイ内の前記第１の検出器実行しないように適合された動的再設定ブロックをさらに備える、請求項５に記載のシステム。
【請求項７】
前記第１の検出器を実行するための前記プログラマブル論理および相互接続リソースは、前記第２の検出器を実行するための前記プログラマブル論理および相互接続リソースと重なる、請求項６に記載のシステム。
【請求項８】
前記システムは、時分割方式の前記第１および第２の検出器を備え、
前記システムは、少なくとも第１の期間中は、前記第１の検出器を含むが前記第２の検出器は含まず、
前記システムは、少なくとも第２の期間中は、前記第２の検出器を含むが前記第１の検出器は含まない、請求項１に記載のシステム。 
【請求項９】
前記第１の検出器は、前記送信アンテナに関連するとともに一列に結合された複数の個別の段を含み、
前記列における最終段以外の各個別の段は複数の候補を選択し、前記最終段は受信信号に応答して最終候補を選択し、
各個別の段の各候補は、前記個別の段についてのシンボル、および、前記列内の前記個別の段の先行する各々の段のためのシンボルを含み、
前記最終段は、前記送信アンテナから前記受信アンテナへ通信されるものとして検出された前記シンボルを含む、請求項１に記載のシステム。
【請求項１０】
前記最終段以外の各個別の段は、距離ブロックおよび選択器を含み、
前記最終段は、距離ブロックおよび識別器ブロックを含み、
前記列内の初期段の距離ブロックは、空候補と前記コンステレーション内の複数のシン
ボルの各々とを対にする前記第１の潜在的選択の前記個別の部分距離を決定し、
前記初期段以外の各個別の段の距離ブロックは、前記列内の先行する段の前記候補の各々と前記コンステレーション内の前記シンボルの各々とを対にする前記第１の潜在的選択の前記個別の部分距離を決定し、
前記最終段以外の各個別の段の前記選択器は、前記個別の段の部分距離の前記潜在的選択から前記候補を選択し、
前記選択器は、前記個別の部分距離のうちのより小さいものを有する前記潜在的選択として、前記候補を選択し、
前記最終段の前記識別器は、前記最終段の前記距離ブロックの前記潜在的選択から最終候補を選択し、
前記識別器は、前記個別の部分距離のうちのより小さいものを有する前記潜在的選択のうちの１つとして前記最終候補を選択する、請求項９に記載のシステム。
【請求項１１】
前記最終段以外の各個別の段の前記選択器は、前記個別の部分距離の最小のものを有する、前記個別の段の予め定められた数の前記潜在的選択として前記候補を選択し、
前記識別器は、前記個別の部分距離のうちの最小のものを有する、前記識別器の前記潜在的選択のうちの１つとして前記最終候補を選択する、請求項１０に記載のシステム。
【請求項１２】
前記最終段以外の個別の段の各々についての、前記潜在的選択の前記予め定められた数は、前記最終段を除く前記個別の段のいずれについて同じ数である、請求項１１に記載のシステム。
【請求項１３】
装置であって、
プログラマブル集積回路についての設定データを生成するための指令で構成されたプロセッサ読取可能機器を備え、
プロセッサによる前記指令の実行は、前記プロセッサに前記設定データを生成させ、
前記設定データを用いて前記プログラマブル集積回路を設定することは、前記プログラマブル集積回路に実行させ、
前記装置は、
コンステレーションからのシンボルのうちの少なくとも１つについて、第１の複数の潜在的選択の複数の個別の部分距離から前記シンボルを決定する第１の検出器をさらに備え、
前記第１の検出器は、受信アンテナにおいて受信された複数の信号から前記個別の部分距離を決定し、
前記第１の検出器は、Ｋベストスフィア検出器を含み、
前記装置は、
前記コンステレーションからの前記シンボルのうちの少なくとも１つについて、第２の複数の潜在的選択の複数の個別の部分距離から前記シンボルを決定する第２の検出器をさらに備え、
前記第２の検出器は、前記信号から前記個別の部分距離を決定し、
前記第２の検出器のビットエラーレートは、前記第１の検出器のビットエラーレートより小さく、
前記信号のＳ／Ｎ比（ＳＮＲ）がしきい値よりも高いことに応答して、前記第２の複数は、前記第１の複数よりも少ない数であり、
前記第２の検出器は、前記第２の潜在的選択のうちの１つの前記個別の部分距離よりも小さくない、前記個別の部分距離を有する各第２の潜在的選択を取り除く、深度優先探索最尤検出器を含み、それによって前記第２の検出器のビットエラーレートは、前記第１の検出器のビットエラーレートよりも小さく、
前記第２の潜在的選択のうちの１つは、送信アンテナから前記受信アンテナへ通信された前記シンボルの全てについての個別のシンボルを含み、
前記第２の潜在的選択の１つの前記個別の部分距離は、前記個別のシンボルと前記受信アンテナにおいて受信された前記信号との間の距離であり、
前記装置は、
前記第１および第２の検出器に結合された評価器をさらに備え、
前記評価器は、前記受信アンテナにおいて受信された前記信号の前記ＳＮＲを推定し、
前記評価器は、前記ＳＮＲが前記しきい値よりも低いことに応答して、前記第１の検出器を有効にして前記シンボルを決定し、
前記評価器は、前記ＳＮＲが前記しきい値よりも高いことに応答して、前記第２の検出器を有効にして前記シンボルを決定する、装置。
【請求項１４】
前記第１および第２の検出器、ならびに前記評価器は、各々、プログラマブル論理アレイ内の前記プログラマブル集積回路、および前記プログラマブル集積回路の相互接続リソースにおいて実現され、
前記第１の検出器を実行するための前記プログラマブル論理および相互接続リソースは、前記第２の検出器を実行するための前記プログラマブル論理および相互接続リソースと重なる、請求項１３に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明は、一般的に、複数出力アンテナから複数入力アンテナ（multiple input antennas from multiple output antennas：ＭＩＭＯ）への通信に関し、より特定的には、ＭＩＭＯ通信システムのためのシンボル検出に関する。
【背景技術】
【０００２】
背景
データは、送信アンテナと受信アンテナとの間を電磁的に送信され得る。送信器は、データを、信号コンスタレーションから選択された一連のシンボルにエンコードする。送信アンテナはそのシンボルを送信し、受信アンテナはそのシンボルを検出する。
【０００３】
ノイズおよび反射からの混信は、受信アンテナによって受信されたシンボルを破損する。最尤検出器について、受信器は、コンスタレーション内の全てのシンボルについての、受信信号を期待される受信信号と比較し得る。実際の受信信号に最も近く一致する、期待される受信信号が、検出シンボルを提供する。
【０００４】
通信媒体の特性の測定は、適切なシンボル検出を助ける。１つの例においては、送信器は、受信器へ既知のシンボルパターンを周期的に送信し、受信器はその既知のパターンを用いて、複数信号伝播経路のような、通信媒体の特性を決定する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
電磁的通信のデータ転送速度は、複数の送信アンテナから複数のシンボルを並列に送信することによって増加する。複数の送信シンボルの検出は、複数の受信アンテナでシンボルを受信することによって改善する。複数の送信アンテナを有する最尤検出について、並列に送信されたシンボルの可能な組み合わせの数は、コンスタレーションの次数についての送信アンテナの数の累乗である。全ての可能な組み合わせの評価は、高次変調および多数のアンテナについては不可能である。
【０００６】
本発明は、上記の課題の１つまたはより多くに対処し得る。
【課題を解決するための手段】
【０００７】
要約
本発明の様々な実施形態は、複数の送信アンテナから複数の受信アンテナへ通信されるシンボルを検出するためのシステムを提供する。第１の検出器は、コンステレーションからの１つまたはより多くのシンボルの潜在的選択の個別の部分距離からシンボルを決定する。第２の検出器は、より多くの潜在的選択の個別の部分距離からシンボルを決定する。第１および第２の検出器は、受信アンテナにおいて受信された信号から、それらの部分距離を決定する。第２の検出器のビットエラーレートは、第１の検出器のビットエラーレートよりも小さい。Ｓ／Ｎ比（signal-to-noise ratio：ＳＮＲ）がしきい値より高いことに応答して、第２のアンテナについての潜在的選択は、第１のアンテナについての潜在選択より小さい。評価器は、第１および第２の検出器に結合される。評価器は、受信アンテナにおいて受信された信号のＳＮＲを推定する。評価器は、ＳＮＲがしきい値より低いことに応答して第１の検出器を有効にするとともに、ＳＮＲがしきい値より高いことに応答して第２の検出器を有効にする。
【０００８】
本発明の様々な他の実施形態は、プログラマブル集積回路についての設定データを生成するための指令で構成される、プロセッサ読取可能装置を提供する。プロセッサによる指令の実行によって、プロセッサは、プログマブル集積回路が第１および第２の検出器を実行するように設定する設定データを生成する。第１の検出器は、コンステレーションからの１つまたはより多くのシンボルの潜在的選択の個別の部分距離からシンボルを決定する。第１の検出器は、受信アンテナにおいて受信された信号から個別の部分距離を決定する。第１の検出器は、有効にされて、ＳＮＲがしきい値より低いことに応答してシンボルを決定する。第２の検出器は、より多くの潜在的選択の個別の部分距離からシンボルを決定する。第２の検出器は、その信号から個別の部分距離を決定する。第２の検出器は、有効にされて、ＳＮＲしきい値より高いことに応答してシンボルを決定する。第２の検出器のビットエラーレートは第１の検出器のビットエラーレートよりも小さく、ＳＮＲがしきい値より高いことに応答して第２の検出器についての潜在的選択は第１の潜在的選択よりも小さい。
【０００９】
様々な他の実施形態が、以下の詳細な説明および請求項に記載されることが理解されるであろう。
【００１０】
図面の簡単な説明
本発明の様々な局面および利点が、以下の詳細な説明の検討および図面の参照によって明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】本発明の様々な実施形態に従う、シンボルを検出するためのシステムのブロック図である。
【図２】本発明の様々な実施形態に従う、Ｋベストスフィア検出器の一例の動作を示すグラフである。
【図３】本発明の様々な実施形態に従う、プルーニングを伴う深度優先探索最尤検出器の一例を示すグラフである。
【図４Ａ】本発明の様々な実施形態に従う、Ｓ／Ｎ比に対する性能を示すプロット図である。
【図４Ｂ】本発明の様々な実施形態に従う、Ｓ／Ｎ比に対する性能を示すプロット図である。
【図５】本発明の様々な実施形態に従う、低Ｓ／Ｎ比についてのシンボルを検出するためのプロセスのフロー図である。
【図６】本発明の様々な実施形態に従う、Ｓ／Ｎ比に基づくシンボルの検出器を示すブロック図である。
【図７】本発明の様々な実施形態に従う、高Ｓ／Ｎ比についてのシンボルを検出するためのプロセスのフロー図である。
【図８】本発明の１つまたはより多くの実施形態に従う、シンボル検出を実行するためのプログラマブル集積回路のブロック図である。
【図９】本発明の１つまたはより多くの実施形態に従う、プログラマブル集積回路におけるシンボル検出を実行するための設定データを生成するためのシステムのブロック図である。
【発明を実施するための形態】
【００１２】
詳細な説明
図１は、本発明の様々な実施形態に従う、シンボルを検出するためのシステムのブロック図である。複数の送信アンテナ１０２は、個別のシンボルを、並列に、複数の受信アンテナ１０４へ送信する。受信アンテナ１０４の各々は、送信アンテナ１０２から送信された個別のシンボルの加重平均を受信する。
【００１３】
送信アンテナ１０２および受信アンテナ１０４の間の通信チャンネル用のモデルは、以下の式である。
【００１４】
ｙ＝Ｈｓ＋ｎ
ここで、ＨはＮ個の受信アンテナとＭ個の送信アンテナとの間のＮ×Ｍのチャンネル行列であり、ｓは送信アンテナから送信されたＭ個のシンボルの列ベクトルであり、ｎはＮ個の受信されたノイズ要素の列ベクトルであり、ｙは受信アンテナにおいて受信されたＮ個の信号の列ベクトルである。列ベクトルｓ内におけるＭ個の送信シンボルの各々は、ｗ個のシンボルの次数（order）を有する、コンステレーションからのシンボルである。
【００１５】
１つの実施形態においては、チャンネル行列は三角行列に分解される。三角行列は、チャンネル行列のＱＲ分解からの上三角行列である。送信されたシンボルの検出は、距離ノルムを最小化する、列ベクトルｓ内のＭ個のシンボルを決定することを含む。
【００１６】
【数１】
0005324653.tif 000002
【００１７】
ここで、Ｈ＝ＱＲ、ＱＱH＝１、およびｙ’＝ＱHｙである。総和は、上三角行列であるRから導きかれる。ｉ＝Ｍから１まで減少する、外部和（outer summation）は、最終アンテナから開始する、送信アンテナの各々についての対応する項の和である。各送信アンテナについての外部和の対応する項は、送信アンテナについての部分距離を意味する。インデックスｉの特定の送信アンテナについての部分距離は、送信アンテナｉ〜Ｍの候補シンボルの重みの内部和（inner summation）である。そのため、ＱＲ分解は、送信アンテナの各インデックスについての部分距離を合計することによって、各候補シンボルについての距離ノルムＤ（ｓ）を計算することを可能にし、各インデックスについてのその部分距離は、同じおよびより大きいインデックスを有するシンボルの関数である。
【００１８】
本発明の様々な実施形態は、コンステレーション内のＭ個のシンボルの全ての組み合わせから選択された、様々な組み合わせの距離ノルムを演算することによって、送信されたシンボルを検出する。Ｍ個の送信アンテナから実際に送信されたＭ個のシンボルは、距離ノルムの最小値を有する組み合わせと合致するはずである。
【００１９】
受信アンテナ１０４は、受信された信号を、ライン１０６で、評価器１０８および２つの検出器１１０，１１２へ供給する。評価器１０８は、ライン１０上の信号のＳ／Ｎ比（ＳＮＲ）を決定するとともに、ＳＮＲをしきい値１１４と比較する。ＳＮＲがしきい値を下回る場合は、検出器１１０が通信されたシンボルを検出し、ＳＮＲがしきい値を上回る場合は、検出器１１２が検出されたシンボルを決定する。
【００２０】
１つの実施形態においては、検出器１１０は通信されたシンボルについての潜在的選択の分岐探索（bounded search）を提供し、検出器１１２は通信されたシンボルについての潜在的選択の網羅的探索（exhaustive search）を提供する。たとえば、検出器１１０はＫベストスフィア検出器（a K-best sphere detector）であり、検出器１１２はプルーニング（pruning）を伴う深度優先探索最尤検出器（depth-first-search maximum-likelihood detector）である。
【００２１】
１つの実施形態においては、評価器１０８は、受信アンテナ１０４において受信された信号のＳＮＲを評価するための手段を提供する。検出器１１０，１１２は、シンボルからのシンボルを検出するための手段を提供する。検出器１１０は、ＳＮＲがしきい値１１４より低いことに応答してシンボルを検出するための手段を提供し、検出器１１２は、ＳＮＲがしきい値１１４より高いことに応答してシンボルを検出する手段を提供する。検出器１１２のビットエラーレートは、検出器１１０のビットエラーレートよりも小さい。検出器１１２は、ＳＮＲがしきい値より高いことに応答して、検出器１１０が行うよりも少ない計算を実行し、検出器１１０は、ＳＮＲがしきい値より低いことに応答して、検出器１１２が行うよりも少ない計算を実行する。
【００２２】
図２は、本発明の様々な実施形態に従う、例示的なＫベストスフィア検出器の動作を図示するグラフである。通信されたシンボルについての潜在的選択の探索は、ルートノード２０２において開始する。ルートノード２０２を除く各ノードは、送信アンテナの１つから送信されたシンボルについての潜在的選択であるシンボルで、符号が付けられている。
【００２３】
例示のコンステレーションは４つのシンボルを含むので、ノード２０４，２０６，２０８，２１０は、アンテナ４から送信されたシンボルについての４つの潜在的選択を表わす。これら４つの潜在的選択について、上述のように部分距離が計算され、この例においては、Ｋ（３）個の最良候補が、さらなる探索のために選択される。ノード２０８はノード２０４，２０６，２１０よりも大きな部分距離を有しているので、ノード２０８は取り除かれ、ノード２０４，２０６，２１０がさらに展開される。
【００２４】
ノード２１２，２１４，２１６，２１８は、展開ノード２０４によって表わされるように、シンボル０を送信するアンテナ４とともに、コンステレーション内のシンボル０，シンボル１，シンボル２，シンボル３をそれぞれ送信するアンテナ３を表わす。ノード２１２，２１４，２１６，２１８について、ノード２０４の部分距離および受信アンテナにおいて受信された信号から部分距離が決定される。同様に、コンステレーション内のシンボルを送信するアンテナ３とシンボル１を送信するアンテナ４とを表わすノード２２０，２２２，２２４，２２６について、部分距離が決定されるとともに、コンステレーションシンボルを送信するアンテナ３とシンボル３を送信するアンテナ４とを表わすノード２２８，２３０，２３２，２３４について、部分距離が決定される。ノード２１２〜２３４から、さらなる展開のための候補は、最小部分距離を有する、３つのノード２２０，２２６，２３４である。
【００２５】
同様に、アンテナ２についての選択された候補は、最小部分距離を有するノード２３６，２３８，２４０である。最終候補は、最小部分距離を有するアンテナ１についてのノード２４２である。最終候補ノード２４２は、アンテナ１についての潜在的選択から直接的に選択され得、またはＫ個の最良候補が最初に選択され、その後Ｋ個の最良候補から最終候補ノード２４２が選択され得る。
【００２６】
図３は、本発明の様々な実施形態に従う、プルーニングを伴う深度優先探索最尤検出器の例を図示するグラフである。深度優先探索最尤検出器は、送信アンテナについてのシンボルの、すべての可能性のある組み合わせについてのノードを巡回する網羅的探索を実行し得る。しかしながら、プルーニングは、特に見出された最初の解が送信アンテナから実際に送信されたシンボルと一致するときは、実際に訪れたノードの数を低減し得る。この最初の解は、探索木において訪れた最初のリーフノードであり、ノイズからの信号歪みが低い場合に、実際に送信されたシンボルに一致しやすい。
【００２７】
ノード３０４，３０６，３０８，３１０は、アンテナ４から送信されたシンボルについての４つの潜在的選択を表わす。最小部分距離を有するノード３０６は、シンボル１を送信するアンテナ４とともに、シンボル０，シンボル１，シンボル２，シンボル３をそれぞれ送信するアンテナ３を表わすノード３１２，３１４，３１６，３１８に展開される。
【００２８】
ノード３１２，３１４，３１６，３１８の中で、この例においては、ノード３１８が最小部分距離を有し、ノード３１２が次に最小の部分距離を有する。最小部分距離を有するノード３１８は、次に、アンテナ２についてのノード３２０，３２２，３２４，３２６に展開される。これらのノードの中で、ノード３２２が最小部分距離を有し、ノード３２８，３３０，３３２，３３４に展開される。これらのノードの中で、解ノード３３２が最小部分距離を有し、シンボル２，シンボル１，シンボル３，シンボル１をそれぞれ送信する、アンテナ１，アンテナ２，アンテナ３，アンテナ４を表わす。
【００２９】
ノード３３２はノード３２８，３３０，３３４よりも小さい距離を有するので、ノード３２８，３３０，３３４は、実際に送信されたシンボルに対応していないはずである。同様に、この例においては、ノード３３２はノード３２０，３２４，３２６の部分距離よりも小さい距離を有する。したがって、ノード３２０，３２４，３２６は、展開ノード３２０，３２４，３２６からもたらされるノードが、依然として解ノード３３２より大きな距離を有しているので、たとえこれらのノードが完全に展開されていなくとも取り除かれる。
【００３０】
深度優先探索は、ノード３１２，３１４，３１６へバックトラックする。この例においては、ノード３１２が解ノード３３２の距離よりも小さい部分距離を有するので、ノード３１２は、次に展開される。しかしながら、ノード３１２の展開からもたらされるノード３３６，３３８，３４０，３４２は、解ノード３３２よりも大きな部分距離を有し、したがって、ノード３３６，３３８，３４０，３４２は取り除かれる。ノード３１４および３１６は、同様に解ノード３３２よりも大きい部分距離を有し、ノード３１４および３１６は取り除かれる。深度有線探索は、ノード３０４，３０８，３１０へバックトラックする。この例においては、ノード３０４，３０８，３１０は、解ノード３３２よりも大きい部分距離を有するので、取り除かれる。展開のためのノードが残っていないので、見出だされた最初の解ノード３３２が、最終候補である。
【００３１】
図４Ａおよび図４Ｂは、本発明の様々な実施形態に従う、Ｓ／Ｎ比（ＳＮＲ）に対する性能を示すプロット図である。図４Ａは、ＳＮＲに対する、送信されたシンボルを検出するために必要とされる成果（effort）を示し、図４Ｂは、ＳＮＲに対する、実際に送信されたシンボルに一致しない、検出されたシンボルからのビットエラーのレートを示す。
【００３２】
図４Ａにおいては、実線４０２および４０４は、太い実線４０２および細い実線４０４を含み、第１の検出器について、探索木において巡回されたノードの数を示し、破線４０６および４０８は、細い破線４０６および太い破線４０８を含み、第２の検出器について、探索木において巡回されたノードの数を示す。１つの実施形態においては、第１の検出器は、Ｋベストスフィア検出器であり、第２の検出器は、プルーニングを伴う深度優先探索最尤検出器である。Ｋベストスフィア検出器は、ＳＮＲがあまり変化しない多くのノードを巡回する。それに対して、深度優先探索最尤検出器は、ＳＮＲが低いときにはより多くのノードを巡回し、ＳＮＲが高いときにはより少ないノードを巡回する。
【００３３】
しきい値４１０は、第１および第２の検出器について、巡回されるノードの数が同じとなるＳＮＲである。他の実施形態においては、しきい値は、シンボル検出に必要とされる多くのクロックサイクルのような、検出成果の他の測定の平衡点に相当する。しきい値より小さいＳＮＲにおいては、細い破線４０６より下方にある太い実線４０２によって示されるように、Ｋベストスフィア検出器は、深度優先探索最尤検出器よりも少ないノードを巡回する。しきい値より大きいＳＮＲにおいては、細い実線４０４より下方にある太い破線４０８によって示されるように、深度優先探索最尤検出器は、Ｋベストスフィア検出器よりも少ないノードを巡回する。
【００３４】
１つの実施形態においては、送信されたシンボルを検出するための木探索の間に巡回されるノードの数は、ＳＮＲがしきい値４１０を下回るときには第１の検出器を有効とするとともに第２の検出器を無効とし、ＳＮＲがしきい値４１０を上回るときには第２の検出器を有効とするとともに第１の検出器を無効とすることによって低減される。この合成検出器について、太い線４０２および４０８は、ＳＮＲに対して巡回されたノードの全数を与える。
【００３５】
図４Ｂにおいては、実線４１２および４１４は、太い実線４１２および細い実線４１４を含み、第１の検出器のビットエラーレートを示し、破線４１６および４１８は、細い破線４１６および太い破線４１８を含み、第２の検出器のビットエラーレートを示す。第２のビットエラーレートは、一般的に、第１の検出器のビットエラーレートより小さい。１つの実施形態においては、第２の検出器は、理論的に最良の可能性のあるビットエラーレートを有する深度優先探索最尤検出器であり、第１の検出器は、Ｋベストスフィア検出器のような他の検出器である。
【００３６】
１つの実施形態においては、しきい値４２０は、図４Ａのしきい値４１０に相当する。太い線４１２および４１８は、しきい値４２０を下回るＳＮＲにおいて第１の検出器が有効にされ、しきい値４２０を上回るＳＮＲにおいて第２の検出器が有効にされる場合の、合成ビットエラーレートを示す。太い実線４１２のビットエラーレートは、細い破線４１６のビットエラーレートに近いので、太い線４１２および４１８の合成ビットエラーレートは、ほぼ第２の検出器のビットエラーレートに到達する。しかしながら、第１の検出器により巡回される固定数のノードは、全体で巡回されたノードの数に隣接する。そのため、ビットエラーレートは、巡回されたノードの数が隣接している間は、最尤検出器のビットエラーレートに達する。
【００３７】
他の実施形態においては、しきい値４２０は、概略としてだけ、図４Ａのしきい値４１０に相当する。たとえば、受信器は受信信号のＳＮＲを推定することができ、しきい値４２０は図４Ａにおけるしきい値４１０に相当するＳＮＲの推定である。ＳＮＲがその推定よりも高い場合は、第２の検出器によって考慮される潜在的なシンボル選択の数は、第１の検出器によって考慮される潜在的なシンボル選択の数より小さい。
【００３８】
さらに他の実施形態においては、深度優先探索最尤検出器は、巡回されたノードの数を追跡し、特定の数のノードの巡回後に最終候補がまだ決定されていないときには、現在の最良解が最終候補になり、Ｋベストスフィア検出器が活性化されて、ノイズレベルが低減されるまで将来のシンボルを検出する。深度優先探索を短縮するためのノードの特定の数は、次のシンボルの組の到来前に可能な探索の量である。
【００３９】
図５は、本発明の様々な実施形態に従う、低Ｓ／Ｎ比（ＳＮＲ）についてのシンボルを検出するためのプロセス５００のフロー図である。プロセス５００は、ＳＮＲがしきい値よりも低い場合に有効とされる。プロセス５００は、本発明の特定の実施形態において用いられるＫベストスフィア検出器を実現する。
【００４０】
ステップ５０２において、プロセス５００は、送信アンテナと受信アンテナとの間のチャンネル行列を決定する。ステップ５０４において、ＳＮＲがチャンネル行列から決定される。決定５０６は、ＳＮＲがしきい値よりも低いか否かを判定する。ＳＮＲがしきい値よりも低い場合は、プロセス５００はステップ５０８に進む。そうでなければ、プロセス５００は無効とされ、低電力モードになる。
【００４１】
ステップ５０８において、チャンネル行列が三角行列に分解される。ステップ５１０において、現在の部分距離がゼロの値に初期化され、候補リストが空の（null）ルート候補に初期化され、現在の送信アンテナが第１の送信アンテナに初期化される。
【００４２】
決定５１２は、候補リスト内により多くの候補があるか否かを判定する。候補リスト内に他の候補がある場合は、プロセス５００は決定５１４へ進み、そうでなければ、プロセス５００は決定５１６へ進む。決定５１４は、コンステレーション内に、現在の候補と対になるためのより多くのシンボルがあるか否かを判定する。他のシンボルがある場合は、プロセス５００はステップ５１８に進み、そうでなければ、プロセス５００は決定５１２に戻る。
【００４３】
ステップ５１８において、現在の候補とコンステレーション内の現在のシンボルの対について、部分距離が決定される。コンステレーション内の現在のシンボルは、現在の送信アンテナから実際に送信されたシンボルについての潜在的選択である。現在の候補の部分距離および受信信号から、部分距離が決定される。
【００４４】
決定５１６は、より多くの送信アンテナがあるか否かを判定する。他の送信アンテナがある場合は、プロセス５００はステップ５２０に進み、そうでなければ、プロセス５００はステップ５２２に進む。ステップ５２０において、予め定められた、より小さい部分距離を有する対の数を含む、新しい候補リストが生成される。プロセス５００は、その後、決定５１２に戻り、この新しい候補リストを処理する。
【００４５】
ステップ５２２において、最小部分距離を伴う最終候補が選択される。ステップ５２４において、検出されたシンボルは、最終候補内に含まれるシンボルである。ステップ５２６において、送信アンテナから送信されたものとして検出されたシンボルが出力される。
【００４６】
図６は、本発明の様々な実施形態に従う、Ｓ／Ｎ比（ＳＮＲ）に基づいたシンボルの検出器６００を示すブロック図である。検出器６００は、ライン６０４上のチャンネル行列およびライン６０６上の受信信号から、検出されたシンボル６０２を生成する。ＳＮＲ評価器６０８は、ＳＮＲがしきい値を上回るときには検出回路６１０を有効にし、ＳＮＲがしきい値を下回るときにはＫベストスフィア検出器について示される回路を有効にする。
【００４７】
分解器６１２は、ライン６０４上のチャンネル行列を、たとえば、ＱＲ分解を用いる三角行列に変形する。分解器６１２は、ライン６０６上の受信信号を、ライン６０４上のチャンネル行列の分解に従って変形する。
【００４８】
距離ブロック６１４は、コンステレーション内の各シンボルを送信する第１の送信アンテナについての部分距離を決定する。この第１の送信アンテナについて、部分距離はコンステレーション内のシンボルの各々を送信する第１の送信アンテナの、相対的な尤度を与える。ｗ個のシンボルの次数を有するコンステレーションの例について、距離ブロック６１４は、ｗ個の部分ノルムを選択器６１６へ提供する。１つの実施形態においては、距離ブロック６１４は、空の候補およびコンステレーションにおける各シンボルの対についての部分距離を決定する。
【００４９】
選択器６１６は、Ｗ個の部分ノルムより少ない値を有する候補を選択する。１つの実施形態においては、選択器６１６は、ｗ個の部分距離を昇順６１８に並べ替え、昇順６１８のはじめから、予め定められた数の最小部分距離を選択する。たとえば、選択器６１６は、Ｗ個の部分距離の３つの最小のものを選択する。選択された候補は、個別の距離サブブロック６２０，６２２，６２４に送られる。一緒になって、距離ブロック６１４および選択器６１６は、低ＳＮＲ検出器における第１の送信アンテナについての段を形成する。
【００５０】
集合的に、距離サブブロック６２０，６２２，６２４は、第２の送信アンテナについての距離ブロックを形成し、これらのサブブロックおよび選択器６６２は、第１の送信アンテナについての低ＳＮＲ検出器の段を形成する。これらの段は、示されるように、連続して結合される。
【００５１】
各距離サブブロック６２０、６２２または６２４は、距離ブロック６１４と同様の機能を含む。たとえば、距離サブブロック６２０は、距離サブブロック６２０について選択器６１６によって選択された候補シンボルを送信する第１の送信アンテナとともに、コンステレーション内のｗ個のシンボルの各々を送信する第２のアンテナについての部分距離を決定する。距離サブブロック６２０は、選択器６１６からの候補の部分距離とシンボルを送信する第２の送信アンテナについての部分距離との和として、コンステレーション内の各シンボルについての部分距離を計算する。距離サブブロック６２２は、同様に、候補とコンステレーション内の各シンボルの対についての部分距離を決定する。距離サブブロック６２４は、同様に、距離サブブロック６２４について、第２の送信アンテナについてのシンボルを候補に追加することによって、選択器６１６によって選択された候補を拡大する。
【００５２】
距離サブブロック６２６，６２８，６３０は、集合的に、第３の送信アンテナについての距離ブロックを形成し、距離サブブロック６３２，６３４，６３６は、集合的に、第４の送信アンテナについての距離ブロックを形成する。各距離サブブロック６２６、６２８、および６３０，６３２，６３４、または６３６は、対応するアンテナから送信されたシンボルと対にされた入力候補についての部分距離を決定する。
【００５３】
距離サブブロック６３０は、候補６４０とコンステレーション内の各可能性のあるシンボル６４２との対についての部分距離６３８を決定する。明確化のために、図６は、コンステレーション内の１つのシンボル６４２のみについての部分距離６３８の対の計算を示す。その対についての部分距離６３８は、以前に決定した、候補６４０についての部分距離６４４と、候補６４０おシンボル６４２との対についての部分距離６４６との和である。
【００５４】
ライン６０４上のチャンネル行列は、距離サブブロック６３０に対応する送信アンテナについての要素６５０〜６５２および６５４の行を有する三角行列６４８に変形される。チャンネル行列の三角行列への変形の間、ライン６０６上の受信信号は、対応して、受信信号６５６に変形される。部分距離６４６は、変形された受信信号６５６と、シンボル６５８〜６６０および６４２の加重和との総和のノルムである。候補６４０からのシンボル６５８〜６６０、およびコンステレーションからのシンボル６４２は、三角行列６４８内の要素６５０〜６５２および６５４の行によって与えられる重みを有する。
【００５５】
選択器６６２は、距離サブブロック６２６，６２８，６３０について、より小さい部分距離を有する個別の候補を選択する。選択器６６４は、同様に、識別器ブロック６６６についての候補を選択する。
【００５６】
識別器ブロック６６６は、距離サブブロック６３２，６３４，６３６からの対で中の最小距離を有する最終候補を選択する。最終候補は、各送信アンテナについての対応するシンボルの選択に対応し、送信アンテナについてのこれらのシンボルは、検出シンボル６０２である。
【００５７】
図７は、本発明の様々な実施形態に従う、高Ｓ／Ｎ比についてのシンボルを検出するためのプロセス７００のフロー図である。プロセス７００は、ＳＮＲがしきい値よりも高いときに有効にされる。プロセス７００は、本発明の特定の実施形態において用いられる、深度優先探索最尤検出器を実現する。
【００５８】
ステップ７０２において、プロセス７００は、送信アンテナと受信アンテナとの間のチャンネル行列を決定する。ステップ７０４において、ＳＮＲがチャンネル行列から決定される。決定７０６は、ＳＮＲがしきい値より高いか否かを判定する。ＳＮＲがしきい値よりも高い場合は、プロセス７００は、ステップ７０８に進む。そうでなければ、プロセス７００は無効とされ、低電力モードになる。
【００５９】
ステップ７１０において、スタックは空の候補に初期化され、現在の送信アンテナは第１の送信アンテナに初期化される。決定７１２は、スタックが空であるか否かを判定する。スタックが空の場合は、プロセス７００はステップ７１４に進み、検出シンボルが出力される。そうでなければ、プロセス７００はステップ７１６に進む。
【００６０】
ステップ７１６において、次の潜在的選択がスタックから呼び出され（pop）、この呼び出された潜在的選択が、展開のための現在の潜在的選択になる。決定７１８は、現在の潜在的選択の部分距離が、現在の最良解の距離よりも大きいか否かを判定する。もし、現在の潜在的選択が、現在の最良解の距離よりも大きい場合、現在の潜在的選択を展開することによって生成されるどのような解も、現在の最良解よりも悪い距離を有することになる。結果的に、現在の潜在的選択は、ステップ７１６へ戻ることによって取り除かれ、スタックから次の潜在的選択が呼び出される。しかしながら、現在の潜在的選択が、現在の最良解の距離よりも大きい部分距離を有さない場合は、プロセス７００は決定７２０へ進む。
【００６１】
決定７２０は、コンステレーション内に、ステップ７１６においてスタックから呼び出された現在の潜在的選択と対にするための、より多くのシンボルがあるか否かを判定する。コンステレーション内の他のシンボルがある場合、プロセス７００はステップ７２２に進み、そうでなければ、現時の潜在的選択は完全に展開されており、プロセス７００はステップ７２４へ進む。ステップ７２２において、現在の潜在的選択に、現在の潜在的選択の次の送信アンテナについての現在のシンボルを加えて、新しい潜在的選択が生成される。新しい潜在的選択についての部分距離が決定される。この部分距離は、現在の潜在的選択の部分距離と、受信信号、三角チャンネル行列、現時のシンボル、および現在の潜在的選択のシンボルから計算される現在のシンボルについての部分距離との和である。
【００６２】
ステップ７２４において、現在の潜在的選択についての新しい潜在的選択の全てが、ステップ７２２において決定された部分距離に従って並べ替えられる。新しい潜在的選択は、スタック上に最初に押し込まれた（push）最大の部分距離を有する、並べ替えられた順序におけるスタック上に押し込まれる。決定７２６は、新しい潜在的選択の最良値が、現在の最良解よりも良い解であるか否かを判定する。新しい潜在的選択がすべての送信アンテナについてのシンボルを含むとともに現在の最良解よりも小さい距離を有する場合は、最小部分距離を有する新しい潜在的選択がより良い解である。より良い解が見出されると、ステップ７２８において、現在の最良解が更新される。更新された現在の最良解の距離は、その解のシンボルと、受信アンテナにおいて受信された信号との間の距離である。ステップ７２８における現在の最良解の最後の更新は、最終解および検出されたシンボルを提供する。
【００６３】
図８は、本発明の１つまたはより多くの実施形態に従う、シンボル検出を実行するためのプログラマブル集積回路のブロック図である。例示的に図示された回路は、プログラマブル論理装置（programmable logic device：ＰＬＤ）であり、具体的には、電界プログラマブルゲートアレイ（Field Programmable Gate Array：ＦＰＧＡ）である。しかしながら、当業者にとっては、本発明の方法が他のタイプの集積回路および／またはシステムを用いて実行され得ることは明らかであろう。たとえば、本発明のいくつかの実施形態は、特定用途向け集積回路（Application Specific Integrated Circuits：ＡＳＩＣ）、非プログラマブル集積回路、部分的プログラマブル集積回路、および／または集積回路以外の電子回路を利用し得る。当業者にとっては、本発明がこれらおよび他の構成上のバリエーションの範囲内で実行され得ることは、明らかであろう。
【００６４】
進歩したプログラマブル論理装置は、アレイ内に、いくつかの異なるタイプのプログラマブル論理ブロックを含み得る。たとえば、図８は、マルチギガビット送受信装置（multi-gigabit transceiver：ＭＧＴ８０１）、設定可能論理ブロック（configurable logic block：ＣＬＢ８０２）、ランダムアクセスメモリブロック（ＢＲＡＭ８０３）、入出力ブロック（ＩＯＢ８０４）、設定およびクロックロジック（ＣＯＮＦＩＧ／ＣＬＯＣＫＳ８０５）、デジタル信号処理ブロック（digital signal processing block：ＤＳＰ８０６）、専用入出力ブロック（Ｉ／Ｏ８０７）（たとえば、設定ポートおよびクロックポート）、および、デジタルクロックマネージャ、アナログ−デジタル変換器、システム監視論理などのような、他のプログラマブル論理８０８を含む、多くの数の異なるプログラマブルタイルを含むＦＰＧＡアーキテクチャ８００を示す。いくつかのＦＰＧＡは、内蔵プロセッサブロック（ＰＲＯＣ８１０）も含む。１つの実施形態においては、設定およびクロック論理８０５は、プログラマブル集積回路を再設定するための手段を提供し、様々な重複または非重複の期間中に、プログラマブル論理ブロックにおける様々な検出器を実現する。
【００６５】
いくつかのＦＰＧＡにおいては、各プログラマブルタイルは、各隣接タイルにおける対応する相互接続要素との標準的な接続を有するプログラマブル相互接続要素（ＩＮＴ８１１）を含む。したがって、プログラマブル相互接続要素は、一緒になって、図示されたＦＰＧＡについての、プログラマブル相互接続構造を実現する。プログラマブル相互接続要素（ＩＮＴ８１１）は、図８の上部に含まれる例によって示されるように、同じタイル内のプログラマブル論理要素との接続も含む。
【００６６】
たとえば、ＣＬＢ８０２は、プログラムされてユーザ論理および単一のプログラマブル相互接続要素（ＩＮＴ８１１）を実現する、設定論理要素（ＣＬＥ８１２）を含み得る。ＢＲＡＭ８０３は、１つまたはより多くのプログラマブル相互接続要素に加えて、ＢＲＡＭ論理要素（ＢＲＬ８１８）を含み得る。典型的に、タイルに含まれる相互接続要素の数は、タイルの高さに依存する。図示された実施形態においては、ＢＲＡＭタイルは５個のＣＬＢと同じ高さを有するが、他の数（たとえば、４）も用いられ得る。ＤＳＰタイル８０６は、適当な数のプログラマブル相互接続要素に加えて、ＤＳＰ論理要素（ＤＳＰＬ８１４）を含み得る。ＩＯＢ８０４は、１つのインスタンスのプログラマブル相互接続要素に加えて（ＩＮＴ８１１）に加えて、たとえば、２つのインスタンスの入出力論理要素（ＩＯＬ８１５）を含み得る。当業者には明らかなように、たとえば、Ｉ／Ｏ論理要素８１５に接続される実際のＩ／Ｏパッドは、典型的に、入出力論理要素８１５の領域に限定されない。
【００６７】
図示された実施形態においては、（図８内に網掛けで示される）ダイの中央部に近いコラム状領域は、設定、クロックおよび他の制御論理のために用いられる。このコラムから伸延する水平領域８０９は、ＦＰＧＡの幅にわたって、クロック信号および設定信号を分配するために用いられ得る。
【００６８】
図８に図示されるアーキテクチャを利用するいくつかのＦＰＧＡは、ＦＰＧＡの大部分を占める通常のコラム状構造を分離する追加的な論理ブロックを含む。追加的な論理ブロックは、プログラマブルブロック、および／または専用論理であり得る。たとえば、図８に示されるプロセッサブロックＰＲＯＣ８１０は、ＣＬＢおよびＢＲＡＭのいくつかのコラムにわたる。
【００６９】
図８は、単なる例示的なＦＰＧＡアーキテクチャを図示することを意図したものであることに注意するべきである。たとえば、コラム内の論理ブロックの数、コラムの相対幅、コラムの数および順序、コラムに含まれる論理ブロックのタイプ、論理ブロックの相対サイズ、および図８の上部に含まれる相互接続／論理実行例は、単なる例に過ぎない。たとえば、実際のＦＰＧＡにおいては、ＣＬＢが現れるところはどこでも、１つより多くのＣＬＢの隣接コラムが典型的に含まれ、ユーザ論理の効果的な実現を容易にするが、隣接するＣＬＢコラムの数は、ＦＰＧＡの全体の大きさとともに変化する。
【００７０】
図９は、本発明の１つまたはより多くの実施形態に従う、プログラマブル集積回路におけるシンボル検出を実現するための設定データを生成するためのシステムのブロック図である。プロセッサ読取可能装置９０２は、ソフトウェアモジュール９０４，９０６，９０８で構成される。プロセッサ９１０によるソフトウェアモジュール９０４，９０６，９０８の指令の実行によって、プロセッサ９１０は、プログラマブル集積回路において、ＭＩＭＯシンボル検出を実行する設定データを生成する。１つの実施形態においては、生成された設定データ９１２は、プロセッサ読取可能装置９０２に記憶される。
【００７１】
ソフトウェアモジュール９０４の指令の実行によって、プロセッサ９１０は、低ＳＮＲのための検出器についての設定データを生成する。ソフトウェアモジュール９０６の指令の実行によって、プロセッサ９１０は、高ＳＮＲのための検出器についての設定データを生成する。ソフトウェアモジュール９０８の指令の実行によって、プロセッサ９１０は、動的再設定ブロックについての設定データを生成する。
【００７２】
動的再設定ブロックは、受信信号のＳＮＲを監視する。受信信号のＳＮＲがしきい値より下方に減少すると、動的再設定ブロックは、プログラマブル集積回路を再設定して、Ｋベストスフィア検出器のような、低ＳＮＲのための検出器を実行する。受信信号のＳＮＲがしきい値より上方に増加すると、動的再設定ブロックは、プログラマブル集積回路を再設定して、プルーニングを伴う深度優先探索最尤検出器のような、高ＳＮＲのための検出器を実行する。１つの実施形態においては、動的再設定ブロックは、プログラマブル論理のアレイの一部におけるリソース、およびプログラマブル集積回路の相互接続リソースを再設定する。２つの検出器は、アレイの部分内の重複するリソースにおいて、多くの回数、時間分割方式で実行される。
【００７３】
当業者は、１つまたはより多くのプロセッサおよびプログラムコードを伴って構成されるメモリ配列を含む、様々な代替的な演算様式が、本発明の異なる実施形態の処理およびデータ構造を管理する（hosting）ために適当であることを理解するであろう。さらに、処理は、多くのコンピュータ読取可能記憶媒体あるいは磁気または光学ディスクまたはテープのような伝達チャネル、電子記憶媒体、あるいは、ネットワークを通じたアプリケーションサービスのようなものを介して提供され得る。
【００７４】
本発明は、複数の送信アンテナから送信され、かつ複数の受信アンテナにおいて受信されるシンボルを検出するための多くのシステムに適用可能であることが考えられる。本発明の他の局面および実施形態は、本明細書の考慮およびここで開示された発明の実行から、当業者には明らかであろう。本明細書および例示された実施形態は、以下の請求項によって示される本発明の本当の範囲および精神とともに、単なる例として見なされることが意図される。
【図１】
0005324653.tif 000003
【図２】
0005324653.tif 000004
【図３】
0005324653.tif 000005
【図４Ａ】
0005324653.tif 000006
【図４Ｂ】
0005324653.tif 000007
【図５】
0005324653.tif 000008
【図６】
0005324653.tif 000009
【図７】
0005324653.tif 000010
【図８】
0005324653.tif 000011
【図９】
0005324653.tif 000012