(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-09-30
(54)【発明の名称】機械学習に基づくアンテナアレイの検証、プロトタイプ作成および最適化
(51)【国際特許分類】
H01Q 3/26 20060101AFI20220922BHJP
G01S 3/46 20060101ALI20220922BHJP
【FI】
H01Q3/26 Z
G01S3/46
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022504169
(86)(22)【出願日】2020-06-12
(85)【翻訳文提出日】2022-02-18
(86)【国際出願番号】 US2020037584
(87)【国際公開番号】W WO2021015886
(87)【国際公開日】2021-01-28
(32)【優先日】2019-07-24
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-09-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】507364997
【氏名又は名称】サイプレス セミコンダクター コーポレーション
【氏名又は名称原語表記】Cypress Semiconductor Corporation
【住所又は居所原語表記】198 Champion Court, San Jose, CA 95134, United States of America
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】エイダン スミス
(72)【発明者】
【氏名】キラン ウルン
(72)【発明者】
【氏名】ヴィクター シミレイスキー
(72)【発明者】
【氏名】ヂョウフイ ヂャン
【テーマコード(参考)】
5J021
【Fターム(参考)】
5J021AA05
5J021AA06
5J021DB02
5J021DB03
5J021GA02
(57)【要約】
アンテナアレイの角度分解能を推定する例示的な方法は、アンテナアレイによって含まれている複数のアンテナ素子の各アンテナ素子について、無線周波数(RF)信号の大きさおよび位相の複数の値を受け取るステップと、機械学習モデルにより、次元が低減された空間における複数のデータ点に、大きさおよび位相の複数の値を変換する特徴抽出動作を実行するステップと、機械学習モデルにより、複数のクラスタに複数のデータ点をクラスタリングするステップと、クラスタリングされたデータ点に基づき、アンテナアレイについての角度分解能値を計算するステップと、を有する。
【特許請求の範囲】
【請求項1】
アンテナアレイによって含まれている複数のアンテナ素子の各アンテナ素子について、無線周波数(RF)信号の大きさおよび位相の複数の値を処理装置により受け取るステップと、
次元が低減された空間における複数のデータ点に、大きさおよび位相の複数の前記値を変換するために、機械学習モデルを利用する前記処理装置により、特徴抽出動作を実行するステップと、
前記機械学習モデルを利用する前記処理装置により、複数のクラスタに複数の前記データ点をクラスタリングするステップと、
前記処理装置により、複数の前記クラスタに基づき、前記アンテナアレイの角度分解能値を計算するステップと、
前記処理装置により、前記角度分解能値を出力するステップと、
を有する方法。
【請求項2】
前記方法は、
前記アンテナアレイの設計パラメータの複数の値を受け取るステップと、
設計パラメータの複数の前記値にシミュレーションモデルを適用することによって、複数の前記アンテナ素子の各アンテナ素子についての前記RF信号の大きさおよび位相の複数の前記値を計算するステップと、
をさらに有する、
請求項1記載の方法。
【請求項3】
前記角度分解能値を計算するステップは、
前記機械学習モデルを利用することにより、複数の前記データ点から、前記角度分解能値を推定するために回帰動作を実行するステップをさらに有する、
請求項1記載の方法。
【請求項4】
前記方法は、前記機械学習モデルを利用することにより、複数の前記クラスタの各クラスタについて、到来角(AoA)の対応する値を計算するために、回帰動作を実行するステップをさらに有する、
請求項1記載の方法。
【請求項5】
前記方法は、
複数の前記クラスタの重なり合うクラスタの部分集合を識別するステップと、
重なり合うクラスタの前記部分集合に基づき、重なり合うクラスタの前記部分集合が重なる原因となった、前記アンテナアレイの物理パラメータを識別するステップと、
をさらに有する、
請求項1記載の方法。
【請求項6】
前記機械学習モデルは、ニューラルネットワークによって表される、
請求項1記載の方法。
【請求項7】
前記方法は、以降の前記特徴抽出動作を実行するために、前記ニューラルネットワークをトレーニングする、教師なしトレーニング手順を実行するステップをさらに有する、
請求項6記載の方法。
【請求項8】
前記方法は、前記クラスタリング動作を実行するために、前記ニューラルネットワークをトレーニングする、教師なしトレーニング手順を実行するステップをさらに有する、
請求項6記載の方法。
【請求項9】
前記方法は、複数の前記データ点から前記角度分解能値を推定するための回帰動作を実行するために、前記ニューラルネットワークをトレーニングする、教師ありトレーニング手順を実行するステップをさらに有する、
請求項6記載の方法。
【請求項10】
複数のアンテナ素子を有するアンテナアレイの、設計パラメータの複数の値を処理装置により受け取るステップと、
設計パラメータの複数の前記値にシミュレーションモデルを適用する前記処理装置により、複数の前記アンテナ素子の各アンテナ素子についてRF信号の大きさおよび位相の複数の値を計算するステップと、
機械学習モデルを利用する前記処理装置により、前記アンテナアレイの角度分解能値を計算するステップと、
前記角度分解能値が、あらかじめ定めた閾値以下であることを特定するのに応じて、前記アンテナアレイの前記角度分解能値を出力するステップと、
を有する方法。
【請求項11】
前記方法は、前記角度分解能値が、あらかじめ定めた閾値を上回ることを特定するのに応じて、前記角度分解能値が、あらかじめ定めた前記閾値を上回る原因となった、前記アンテナアレイの設計パラメータを識別するステップをさらに有する、
請求項10記載の方法。
【請求項12】
前記角度分解能値を計算するステップは、
機械学習モデルにより、次元が低減された空間における複数のデータ点に、大きさおよび位相の複数の値を変換する特徴抽出動作を実行するステップと、
前記機械学習モデルにより、複数のクラスタに複数の前記データ点をクラスタリングするステップと、
前記機械学習モデルにより、複数の前記クラスタから前記角度分解能値を推定するために回帰動作を実行するステップと、
をさらに有する、
請求項10記載の方法。
【請求項13】
前記方法は、以降の前記特徴抽出動作を実行するために、前記機械学習モデルをトレーニングする、教師なしトレーニング手順を実行するステップをさらに有する、
請求項12記載の方法。
【請求項14】
前記方法は、前記クラスタリング動作を実行するために、前記機械学習モデルをトレーニングする、教師なしトレーニング手順を実行するステップをさらに有する、
請求項12記載の方法。
【請求項15】
前記方法は、複数の前記クラスタから前記角度分解能値を推定するための回帰動作を実行するために、前記機械学習モデルをトレーニングする、教師ありトレーニング手順を実行するステップをさらに有する、
請求項12記載の方法。
【請求項16】
前記方法は、複数の前記クラスタの各クラスタについて、到来角(AoA)の対応する値を計算するステップをさらに有する、
請求項12記載の方法。
【請求項17】
前記機械学習モデルは、ニューラルネットワークによって表される、
請求項10記載の方法。
【請求項18】
装置であって、前記装置は、
複数のアンテナ素子を有するアンテナを接続するように構成されているトランシーバであって、前記複数のアンテナ素子の各アンテナ素子について、無線周波数(RF)信号の大きさおよび位相の複数の値を受け取るように構成されているトランシーバと、
前記トランシーバに接続されたプロセッサと、
を有し、
前記プロセッサは、
機械学習モデルにより、次元が低減された空間における複数のデータ点に、大きさおよび位相の複数の前記値を変換する特徴抽出動作を実行し、
前記機械学習モデルを利用する処理装置により、複数のクラスタに複数の前記データ点を分類し、
複数の前記クラスタの各クラスタについて、到来角(AoA)の対応する値を計算する、
ように構成されている、
装置。
【請求項19】
前記AoA値の計算は、前記機械学習モデルを利用することにより、複数の前記データ点から前記AoA値を推定するために回帰動作を実行することを有する、
請求項18記載の装置。
【請求項20】
前記機械学習モデルは、ニューラルネットワークによって表される、
請求項18記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本願は、2019年9月26日に出願された米国非仮特許出願第16/584,383号の国際出願であり、2019年7月24日に出願された米国仮特許出願第62/878,232号の利益を主張するものであり、そのすべての内容は参照により組み込まれる。
【背景技術】
【0002】
アンテナアレイは、特定の幾何学形状および大きさを有する複数のアンテナ素子を含むことができる。実践的には、アンテナ設計パラメータは、アンテナ素子の個数、タイプおよび幾何学特性(例えば、形状、大きさ、面積)も、アンテナ素子間の間隔の大きさも含んでもよい。
【0003】
添付の図面の図では本開示を、制限的ではなく例示的に示す。
【図面の簡単な説明】
【0004】
【
図1】空間領域における理想アンテナの位相応答を示す線図である。
【
図2】例示的な面積最適化アレイアンテナの実施例の位相応答を示す線図である。
【
図3】例示的なアンテナアレイの第1素子および第2素子によって測定された、到来角の無線周波数(RF:radio frequency)信号位相の依存性を示す線図である。
【
図4】入力RF信号測定値を表す多次元データ点の集合の2次元投影を示す図である。
【
図5】例示的なニューラルネットワークの構造を略示する図である。
【
図6】アンテナ設計用に自動化された例示的なワークフローを略示する図である。
【
図7】例示的なプロトタイプアンテナアレイの位相応答を示す線図である。
【
図8】本明細書で説明する方法を実装する例示的なシステムのブロック図である。
【
図9】アンテナアレイの角度分解能値を推定する例示的な方法の流れ図である。
【
図10】アンテナアレイの角度分解能値の推定に基づき、アンテナ設計ワークフローを自動化する例示的な方法の流れ図である。
【発明を実施するための形態】
【0005】
本明細書で説明される実施形態は、アンテナアレイの検証、プロトタイプ作成および最適化に機械学習モデルを使用するシステムおよび方法に関する。
【0006】
アンテナ設計パラメータは、アンテナ素子の個数、タイプおよび幾何学特性(例えば、形状、大きさ、面積)も、アンテナ素子間の間隔の大きさも含んでいてよい。したがって、一例では、アンテナの設計目標は、特定のアンテナ設計パラメータ(例えば、アンテナ素子の個数、タイプおよび幾何学特性、および/またはアンテナ素子間の間隔)の範囲または最大値によって指定され得る物理的な設計上の制約を満足しながら、到来角推定の分解能(本明細書では角度分解能とも称される)などの、アンテナの特定の動作特性を最適化することを含んでいてよい。別の一例では、アンテナの設計目標は、(少なくとも所望の角度分解能を提供するなどの)動作上の制約を満足しながら、特定の物理的な設計パラメータ(例えば、アンテナ素子の個数、タイプ、および幾何学特性、および/またはアンテナ素子間の間隔)を最適化することを含んでいてよい。付加的な制約は、例えば、設計プロセスに含まれる物理的なプロトタイプの個数および物理的な実験の回数を減らすなど、設計プロセスそれ自体に適用されてよい。
【0007】
空間領域および/または周波数領域にわたるアンテナ利得分布を解析するさまざまな一般的な実装形態とは異なり、本開示のシステムおよび方法は、多素子アンテナの角度分解能を推定するために、その位相応答を解析する。
図1には、空間領域における理想アンテナの位相応答が例示されている(X軸は、アンテナ素子の個数に対応するのに対し、Y軸は、受信されるRF信号の位相に対応する)。各プロット110A~110Zは、受信されるRF信号の到来角(AoA:angle-of-arrival)の特定の値(
図1ではθと記されている)に対応する。
【0008】
図1からわかるように、描画した直線的な位相応答を呈するアンテナの角度分解能は、空間領域特性(すなわちアンテナ素子の個数)だけに依存すると考えられる。しかしながら、アンテナ設計要件により、例えば、モバイルデバイスまたはウェアラブルデバイスに対し、アンテナの物理的な大きさが限定されることがある。したがって、例示的な面積最適化されたアンテナの位相応答は、
図2のプロット210A~210Zに示したように、著しく非線形になり得る。
【0009】
実質的に非線形な位相応答を呈するアンテナアレイの角度分解能を推定するという作業は、少なくともその計算複雑度のために極めて困難になり得る。したがって、本明細書で説明されるシステムおよび方法は、アンテナアレイの角度分解能を推定するための効率的なモデルを構築してトレーニングするために、機械学習技術に依拠することとする。
【0010】
角度分解能の推定に利用される生データは、1つまたは複数のRFチャネルにおいて、複数のアンテナ素子によって測定される複数のRF信号の大きさおよび位相値を含むことができる。したがって各入力データ点は、2×N次元の超空間におけるベクトルによって表され、ここでNは、アンテナ素子の個数であり、次元は、各アンテナ素子によって測定される大きさおよび位相値を表す。一部の実装形態では、RF信号の大きさおよび位相値は、指定されたアンテナ設計パラメータに基づくアンテナシミュレーションモデルによって生成可能である。
【0011】
本開示のシステムおよび方法は、機械学習モデルを使用し、この機械学習モデルは、入力データの次元を低減するために特徴抽出を実行し、次いで、プロトタイプアンテナアレイの角度分解能を推定するために、次元が低減された空間において、抽出された特徴のクラスタリングを実行する。プロトタイプアンテナアレイの角度分解能が特定されれば、このシステムは、本明細書で以下にさらに詳しく説明するように、アンテナアレイ応答の最適以下の区画を改善するために、設計最適化フィードバックを定式化することができる。
【0012】
本明細書では、上記の方法およびシステムのさまざまな態様を制限ではなくむしろ実施例として説明する。本明細書で説明する方法は、ハードウェア(例えば、汎用および/または専用処理装置、ならびに/または他の装置および関連する回路)、ソフトウェア(例えば、処理装置によって実行可能な命令)、またはこれらの組み合わせによって実装可能である。
【0013】
本明細書で上述したように、本開示のシステムおよび方法は、多素子アンテナの角度分解能を推定するためにその位相応答を解析する。
図3には、例示的なアンテナアレイの第1素子および第2素子によって測定されたRF信号位相のプロット310A~310Nと320A~320Nとがそれぞれ示されている(X軸は、受信されたRF信号のAoAに対応するのに対し、Y軸は、受信されたRF信号の位相に対応する)。各プロット310A~310Nおよび320A~320Nは、特定のRFチャネルに対応する。
図3からわかるように、AoAの一部の値では、必要な角度分解能を提供するためには、位相応答を十分に区別できないことがある。
【0014】
アンテナの位相応答は実質的に非線形であるため、位相応答の直接的な解析の計算複雑度は、アンテナアレイ素子の個数と共に指数関数的に増大すると考えられる。したがって、入力データの次元を低減するための特徴抽出の実行に機械学習モデルを使用することができ、これによって解決すべき作業の計算複雑度が大幅に低減される。
【0015】
次いで、機械学習モデルは、位相応答を表すデータ点を複数のクラスタにクラスタリングするために、抽出された特徴(すなわち、次元が低減された空間における入力データの表現)を利用することができ、これにより、各クラスタは、AoAの特定の値に対応するようになる。入力データを表す多次元データ点の集合の2次元投影を描画する
図4に概略的に例示されているように、データ点は、重なり合う複数のクラスタにグループ分けされ、これにより、各クラスタは、受信されたRF信号のAoAの特定の値(
図4ではθ
1-θ
5と記されている)に対応する。
【0016】
一部の実装形態では、畳み込みニューラルネットワーク(CNN:convolutional neural network)またはリカレントニューラルネットワーク(RNN:recurrent neural network)などのニューラルネットワークにより、特徴抽出およびクラスタリングを実行するために使用されるモデルを実装することができる。ニューラルネットワークは、「人工ニューロン」と称される多数の接続されたノードを実装する計算モデルであり、これにより、各人工ニューロンは、1つまたは複数の入力信号(バイアス信号を含む)を処理して、1つまたは複数の隣接する人工ニューロンに出力信号を送信する。人工ニューロンの出力は、その入力の線形結合にその活性化関数を適用することによって計算可能である。ニューラルネットワークは、本明細書において以下で詳細に説明するように、一般的にはいかなるタスク固有の規則によってプログラミングされることなく、特徴抽出、回帰および/または分類タスクを実行するために、処理例(「トレーニングデータセット」)によってトレーニングされることが可能である。
【0017】
図5に略示されているように、本開示のシステムおよび方法によって使用されるニューラルネットワークは、多層パーセプトロン(MLP:multilayer perceptron)500によって表すことができ、その人工ニューロンは、入力層510、1つまたは複数の隠れ層520A~520L、および出力層530を含む複数の層にグループ分けされる。入力層510は、1つまたは複数のニューロン540A~540Nを含み、これらのニューロンは、第1隠れ層520Aの1つまたは複数のニューロン550A~550Kに接続されている。第1隠れ層ニューロン550A~550Kそれ自体は、第2隠れ層520Lの1つまたは複数のニューロン560A~560Mに接続されている。第2隠れ層ニューロン560A~560Mそれ自体は、出力層530の1つまたは複数のニューロン570A~570Zに接続されている。人工ニューラルネットワーク500のノードの少なくとも一部は、非線形活性化関数を利用できるのに対し、残りのノード(例えば、出力層のノード)は、線形活性化関数を利用できる。
図5は、単一の隠れ層550を略示しているが、本開示のシステムおよび方法のさまざまな実装形態では、隠れ層の個数は異なっていてよい。一部の実施形態では、隠れ層の個数は、モデルのハイパーパラメータ、すなわち、その値がトレーニングプロセス前に指定されるパラメータである。このモデルの他のハイパーパラメータは、各層におけるノードの個数、活性化関数タイプなどを含んでいてよい。
【0018】
図5の各エッジは、人間の脳におけるシナプスの動作と同様の仕方で、1つの人工ニューロンから別の1つの人工ニューロンへ信号を送信するための接続を表している。それぞれの接続を介して送信される信号を増大または減衰させるエッジ重み付けは、ラベル付けされた複数の入力(すなわち、既知の分類を有する入力)を含むトレーニングデータセットに基づいて、ネットワークトレーニングステージで定義される。
【0019】
ニューラルネットワークトレーニング手順は、すべてのエッジ重み付けおよびニューロンバイアス値をランダム値またはあらかじめ定めた値に初期化することから開始可能である。本開示のシステムおよび方法は、特徴抽出タスクおよびクラスタリングタスクを実行するニューラルネットワークをトレーニングするために、教師なしトーニング手順を利用する。既知の出力値でラベル付けされたトレーニングデータセットを必要とする教師ありトレーニングとは異なり、教師なしトレーニングは、ラベル付けされていないトレーニングデータセットを利用する。
【0020】
一部の実装形態では、(k平均クラスタリングなど)クラスタリング技術が使用されて、トレーニングセットデータ内のサンプルがk個のクラスタのうちの1つに割り当てられ、これによってサンプルとクラスタ重心との平均距離が最小化される。クラスタリングの繰り返しが完了すると、あらかじめ定めた品質要求基準(例えば、クラスタ密度)が計算されて所望の値と比較され、ニューラルネットワークの前の層に誤差が伝搬されて戻され、この前の層では、あらかじめ定めた損失関数(例えば、観察されるクラスタ密度と所望のクラスタ密度との差分)を最小化するために、重み付けおよびバイアス値が調整される。このプロセスは、品質要求基準があらかじめ定めた条件を満たす(例えば、あらかじめ定めた閾値を下回る、またはあらかじめ定めた閾値を上回る)まで繰り返し可能である。他のさまざまな実装形態では、他のクラスタリング技術が使用可能である。
【0021】
一部の実装形態では、特徴抽出、クラスタリングおよび回帰動作を、同じニューラルネットワークによって実行することができ、このニューラルネットワークでは、層の第1部分集合が特徴抽出を実行し、層の第2部分集合がクラスタリングを実行するのに対し、残りの層が回帰タスクを実行する。他の実装形態では、特徴抽出、クラスタリングおよび回帰タスクの各々を実行するために、別々にトレーニングされた複数のニューラルネットワークが使用可能である。
【0022】
再び
図4を参照すると、機械学習モデルは、位相応答を表すデータ点を複数のクラスタにクラスタリングするために、抽出された特徴(すなわち、次元が低減された空間における入力データの表現)を利用することができ、これにより、各クラスタがAoAの特定の値に対応するようにする。したがってアンテナアレイの角度分解能を、クラスタの重なり合いの程度によって視覚化することができ、すなわち、比較的に小さな重なり合い、または重なり合いがないことは、隣接するクラスタに属する点のAoA値が区別可能であり、かつ角度分解能が、少なくとも、クラスタ重心のAoA値間の差分であることを示すのに対し、大きな重なり合いは、角度分解能が、利用可能な入力データに基づいて正確に推定できないことを示すことになる。したがって、アンテナアレイの角度分解能は、回帰タスクを実行するニューラルネットワークにより、観察されるRF信号パラメータ値から推定可能である。
【0023】
ニューラルネットワークの教師ありトレーニングは、トレーニングデータセットのラベル付けされたデータ項目の順次の処理が含まれる(すなわち、与えられた周波数チャネルにおいて複数のアンテナ素子によって測定されるRF信号の大きさおよび位相値を含む各ベクトルが、対応するAoA値によってラベル付けされ、ベクトルのグループが、対応する角度分解能値によってラベル付けされるように、RF信号電力レベルの複数のベクトルを順次に処理することが含まれる)。ニューラルネットワークの観察される出力は、処理されているベクトルに関連付けられたラベルによって指定される所望の出力と比較され、誤差は、ニューラルネットワークの前の層に伝搬されて戻され、この層において重み付けおよびバイアス値が相応に調整される。このプロセスは、出力誤差が、あらかじめ定めたられた閾値を下回るまで繰り返し可能である。
【0024】
したがって、機械学習モデルは、(1つまたは複数のRFチャネルにおいて複数のアンテナ素子によって測定される、または指定されたアンテナ設計パラメータに基づいてアンテナシミュレーションモデルによって生成される)複数のRF信号の大きさおよび位相値を含む入力データを受け取り、入力データの次元を低減するために特徴抽出を実行し、アンテナアレイの角度分解能を推定するために、抽出された特徴値のクラスタリングを実行することができる。本明細書で説明する実施例は、ニューラルネットワークを参照するが、本開示のシステムまたは方法により、他の機械学習技術が使用可能である。
【0025】
プロトタイプアンテナアレイの角度分解能を推定し、アンテナアレイ応答の最適以下区画を識別し、かつアンテナ設計者にフィードバックを提供することにより、本明細書で説明する機械学習モデルは、自動アンテナ設計ワークフローに使用可能である。
【0026】
図6には、アンテナ設計のための自動化されたワークフローの実施例が描画されている。ワークフロー600は、アンテナ設計パラメータの初期セットをアンテナアレイシミュレーションモデル620に供給するアンテナ設計モジュール610によって開始可能である。一部の実装形態では、アンテナ設計モジュール610は、完全に自動化され、かつ/または人間の設計者によって管理され得るコンピュータ支援設計(CAD:computer-aided design)システムによって実装可能である。アンテナ設計パラメータは、アンテナ素子の個数、タイプおよび幾何学特性(例えば、形状、大きさ、面積)も、アンテナ素子間の間隔の大きさも含んでいてよい。
【0027】
アンテナアレイシミュレーションモデル620は、1つまたは複数のRFチャネルにおいて複数のアンテナ素子によって測定される複数のRF信号の大きさおよび位相値を含み得る、角度分解能の推定に利用される生データを生成する。したがって各入力データ点は、2×N次元の超空間におけるベクトルによって表され、ただしNは、アンテナ素子の個数であり、次元は、各アンテナ素子によって測定される大きさおよび位相値を表す。特に、アンテナアレイモデル620は、選択的であり、一部の実装形態では代わりに、物理的なアンテナプロトタイプにより、受信されるRF信号の物理的な測定が実行可能である。
【0028】
RF信号の大きさおよび位相値は次いで、機械学習モデル630に供給され、機械学習モデル630は、入力データの次元を低減させるために特徴抽出動作632を実行する。機械学習モデル630は次いで、抽出された特徴(すなわち、次元が低減された空間における入力データの表現)を利用して、データ点を複数のクラスタにグループ分けするためのクラスタリング動作634を実行し、これにより、各クラスタがAoAの特定の値に対応するようにすることができる。機械学習モデル630は次いで、本明細書において上でさらに詳細に説明したように、回帰動作636を実行して、角度分解能640および/またはAoA値650を推定することができる。
【0029】
ワークフロー600を実装する処理装置によってさらに、ブロック660で、アンテナアレイ応答の1つまたは複数の最適以下区画、および/またはアンテナアレイ応答の1つまたは複数の、要求を満たす区画を識別することができる。アンテナアレイ応答の最適以下区画は、選択された重なり合いの基準に基づき、角度分解能に不利に作用する、実質的に重なり合う特徴のクラスタに対応する区画を含むことができる。アンテナアレイ応答の、要求を満たす区画は、共通部分を有しないかまたはわずかに重なり合う、特徴のクラスタに対応する区画を含んでいてよい。
【0030】
図7には、例示的なプロトタイプアンテナの位相応答が略示されている。各プロット710A、710B、710Nは、受信されるRF信号の特定のAoA値に対応する。
図7からわかるように、領域720Aおよび720B内では、必要な角度分解能を提供するのには、位相応答が十分に区別可能でないことがある。したがって再び
図6を参照すると、ワークフロー600を実装する処理装置によってさらに、アンテナアレイ応答の識別された最適以下区画および/または要求を満たす区画に対応するアンテナアレイ素子を識別することができる。処理装置によってさらに、最適以下のアンテナ応答の原因となったと思われる、アンテナアレイ素子の設計パラメータ(例えば大きさ)を識別することができる。
【0031】
角度分解能640、AoA値650、およびアンテナアレイ応答の、識別された最適以下かつ/または要求を満たす区画660を含む出力データは、アンテナ設計モジュール610にフィードバック可能であり、このアンテナ設計モジュール610は、1つまたは複数のアンテナ設計パラメータの値を修正して、修正したアンテナ設計パラメータをアンテナモデル620に供給することによって、ワークフロー600の新たな繰り返しを開始することができる。
【0032】
図8は、本明細書で説明する方法を実装するシステムのブロック図である。システム800は、処理装置806を含むことができ、この処理装置806は選択的に、アンテナアレイ804に接続されたフロントエンド回路808を含むことができる。フロントエンド回路808は、トランシーバ812と、アナログ・デジタル変換器(ADC)814と、を含むことができる。アンテナアレイ804に接続されたトランシーバ812は、アンテナアレイ804を介してRF信号を送受信することができる。処理装置806は、本明細書で説明するように、角度分解能推定ツール120を実装することができる。角度分解能推定ツール120は、本明細書において上でさらに詳細に説明したように、入力データの次元を低減するための特徴抽出動作816と、異なるAoA値に対応する複数のクラスタにデータ点を分類するためのクラスタリング動作818と、角度分解能821および/またはAoA値823を推定するための回帰動作820と、を実行する、1つまたは複数の機械学習モデル(ニューラルネットワークなど)を実装することができる。
【0033】
処理装置は、1つまたは複数のアプリケーションプロセッサ、1つまたは複数のホストプロセッサ、1つまたは複数のマイクロコントローラ、および/または他の処理コンポーネントを含んでいてよい。一部の実施形態では、システム800は、トランシーバと、このトランシーバによって受信または送信されるRF信号を表すデジタル値を処理するプロセッサと、を含むシステムオンチップ(SoC:System-on-Chip)として実装可能である。トランシーバおよびプロセッサは、共通のキャリア基板上に設けられていてよいか、または別々の集積回路に実装されていてよい。システム800は択一的には、モバイルまたはウェアラブルデバイス(スマートフォンまたはスマートウォッチなど)として実装されていてよい。システム800は択一的には、デスクトップコンピュータ、ポータブルコンピュータ、またはサーバとして実装されていてよい。
【0034】
一部の実装形態では、処理装置は、アンテナアレイによって含まれている複数のアンテナ素子の各アンテナ素子について、無線周波数(RF)信号の大きさおよび位相の複数の値を受け取ることができる。処理装置806は次いで、機械学習モデルを使用して、次元が低減された空間における複数のデータ点に、大きさおよび位相の複数の値を変換する特徴抽出動作を実行することができる。処理装置806は次いで、機械学習モデルを使用して、複数のクラスタに複数のデータ点を分類することができる。処理装置806は次いで、本明細書において上でさらに詳細に説明したように、複数のクラスタリングされたデータ点に基づき、アンテナアレイについての角度分解能値および/または各クラスタについてのAoA値を計算することができる。
【0035】
図9は、アンテナアレイの角度分解能値を推定する例示的な方法の流れ図である。方法900および/またはその個々の関数、ルーチン、サブルーチンまたは動作のそれぞれは、ハードウェア(回路、専用ロジックなど)、ソフトウェア(汎用コンピューティングシステムまたは専用マシンで実行されるものなど)、ファームウェア(組み込みソフトウェア)、またはそれらの任意の組み合わせを含む処理ロジックによって実行されてよい。方法900の2つ以上の関数、ルーチン、サブルーチンまたは動作は、並列に、または以下に説明する順序とは異なり得る順序で実行可能である。特定の実装形態では、方法900は、単一の処理スレッドによって実行可能である。方法900は択一的には、2つ以上の処理スレッドによって実行されてよく、各スレッドは、方法の1つまたは複数の個々の関数、ルーチン、サブルーチンまたは動作を実行する。説明のための例では、方法900を実装する処理スレッドは、(例えば、セマフォ、クリティカルセクションおよび/または他のスレッド同期化機構を使用して)同期化可能である。択一的には、方法900を実装する処理スレッドは、互いに非同期で実行されてよい。一実施形態では、方法900の動作は、
図8の例示的なシステム800の処理装置806によって実行されてよい。
【0036】
ブロック910では、この方法を実装する処理装置は、本明細書において上でさらに詳細に説明したように、アンテナアレイによって含まれている複数のアンテナ素子の各アンテナ素子について、無線周波数(RF)信号の大きさおよび位相の複数の値を受け取ることができる。
【0037】
ブロック920では、処理装置により、次元が低減された空間における複数のデータ点に、大きさおよび位相の複数の値を変換するために、機械学習モデルを使用して特徴抽出動作を実行することができる。一部の実装形態では、本明細書において上でさらに詳細に説明したように、特徴抽出およびクラスタリングを実行するために使用されるモデルは、畳み込みニューラルネットワーク(CNN:convolutional neural network)、リカレントニューラルネットワーク(RNN:recurrent neural network)、またはマルチレイヤーパーセプトロン(MLP:multi-layer perceptron)などのニューラルネットワークによって実装可能である。
【0038】
ブロック930では、処理装置により、本明細書において上でさらに詳細に説明したように、複数のデータ点を複数のクラスタに分類することができる。
【0039】
ブロック940では、処理装置により、クラスタリングされた複数のデータ点に基づき、アンテナアレイの角度分解能値を計算することができる。アンテナアレイの角度分解能は、クラスタの重なり合いによって特徴付けることができる。すなわち、比較的に小さな重なり合い、または重なり合いがないことは、本明細書において上でさらに詳細に説明したように、隣接するクラスタに属する点のAoA値が区別可能であり、かつ角度分解能が、少なくとも、クラスタ重心のAoA値間の差分であることを示すのに対し、大きな重なり合いは、角度分解能が、利用可能な入力データに基づいて正確に推定できないことを示すことになる、ということによって特徴付けることができる。
【0040】
ブロック950では、処理装置によって選択的に、複数のクラスタリングされたデータ点から、各クラスタについてのAoA値を推定するために回帰動作を実行することができる。一部の実装形態では、ブロック920の特徴抽出、ブロック930のクラスタリングおよびブロック950の回帰動作を実行するために同じモデルを使用することができる。択一的には、本明細書において上でさらに詳細に説明したように、各タスクを実行するために複数の別々のモデルが使用可能である。
【0041】
ブロック960では、処理装置により、(例えば、計算された値を表示すること、および/または1つまたは複数の通信ネットワークを介して1つまたは複数の受信側に計算された値を伝送することによって)計算された角度分解能値および/またはAoA値を出力することができ、この方法は終了可能である。
【0042】
図10は、アンテナアレイの角度分解能値の推定に基づき、アンテナ設計ワークフローを自動化する例示的な方法の流れ図である。方法1000および/またはその個々の関数、ルーチン、サブルーチンまたは動作のそれぞれは、ハードウェア(回路、専用ロジックなど)、ソフトウェア(汎用コンピューティングシステムまたは専用マシンで実行されるものなど)、ファームウェア(組み込みソフトウェア)、またはそれらの任意の組み合わせを含む処理ロジックによって実行されてよい。方法1000の2つ以上の関数、ルーチン、サブルーチンまたは動作は、並列に、または以下に説明する順序とは異なり得る順序で実行可能である。特定の実装形態では、方法1000は、単一の処理スレッドによって実行可能である。方法1000は択一的には、2つ以上の処理スレッドによって実行されてよく、各スレッドは、方法の1つまたは複数の個々の関数、ルーチン、サブルーチン、または動作を実行する。説明のための例では、方法1000を実装する処理スレッドは、(例えば、セマフォ、クリティカルセクションおよび/または他のスレッド同期化機構を使用して)同期化可能である。択一的には、方法1000を実装する処理スレッドは、互いに非同期で実行されてよい。一実施形態では、方法1000の動作は、
図8の例示的なシステム800の処理装置806によって実行されてよい。
【0043】
ブロック1010では、複数のアンテナ素子を有するアンテナアレイの、設計パラメータの複数の値を、この方法を実装する処理装置によって受け取ることができる。アンテナ設計パラメータは、本明細書において上でさらに詳細に説明したように、アンテナ素子の個数、タイプおよび幾何学特性(例えば、形状、大きさ、面積)も、アンテナ素子間の間隔の大きさも含んでいてよい。
【0044】
ブロック1020では、本明細書において上でさらに詳細に説明したように、指定された設計パラメータによって特徴付けられる、アンテナアレイの各アンテナ素子によって、受信されるRF信号の大きさおよび位相の複数の値を計算するために、処理装置により、アンテナシミュレーションモデルを利用することができる。
【0045】
ブロック1030では、次元が低減された空間における複数のデータ点に、大きさおよび位相の複数の値を変換するために、処理装置により、機械学習モデルを使用して特徴抽出動作を実行することができる。一部の実装形態では、本明細書において上でさらに詳細に説明したように、特徴抽出およびクラスタリングを実行するために使用されるモデルは、畳み込みニューラルネットワーク(CNN:convolutional neural network)、リカレントニューラルネットワーク(RNN:recurrent neural network)、またはマルチレイヤーパーセプトロン(MLP:multi-layer perceptron)などのニューラルネットワークによって実装可能である。
【0046】
ブロック1040では、処理装置により、本明細書において上でさらに詳細に説明したように、複数のデータ点を複数のクラスタに分類することができる。
【0047】
ブロック1050では、処理装置により、複数のクラスタリングされたデータ点から、アンテナアレイの角度分解能値を推定するための回帰動作を実行するために、機械学習モデルを使用することができる。アンテナアレイの角度分解能は、クラスタの重なり合いによって特徴付けることができる。すなわち、比較的に小さな重なり合い、または重なり合いがないことは、隣接するクラスタに属する点のAoA値が区別可能であり、かつ角度分解能が、少なくとも、クラスタ重心のAoA値間の差分であることを示すのに対し、大きな重なり合いは、角度分解能が、利用可能な入力データに基づいて正確に推定できないことを示すことになる、ということによって特徴付けることができる。一部の実装形態では、ブロック1030の特徴抽出、ブロック1040のクラスタリングおよびブロック1050の回帰動作を実行するために同じモデルが使用することができる。択一的には、本明細書において上でさらに詳細に説明したように、各タスクを実行するために複数の別々のモデルが使用可能である。
【0048】
ブロック1060において角度分解能値があらかじめ定めた閾値以下であることが特定されるのに応じて、ブロック1070では、処理装置により、(例えば、計算された角度分解能値を表示すること、および/または1つまたは複数の通信ネットワークを介して、計算された角度分解能値を1つまたは複数の受信側に伝送することによって)アンテナアレイの計算された角度分解能値を出力することができ、この方法は、終了可能である。
【0049】
そうでない場合、すなわちブロック1060において角度分解能値が、あらかじめ定めた閾値を上回ることが特定されるのに応じて、ブロック1080では、処理装置により、角度分解能値があらかじめ定めた閾値を上回る原因となった、アンテナアレイ素子および/またはアンテナアレイの設計パラメータを識別することができる。一部の実装形態では、処理装置により、必要な角度分解能を提供するために、位相応答が十分に区別できない区画として、アンテナアレイ応答の1つまたは複数の最適以下区画を識別することができる。処理装置によってさらに、アンテナアレイ応答の識別された最適以下区画に対応するアンテナアレイ素子を識別することができる。処理装置によってさらに、本明細書において上でさらに詳細に説明したように、最適以下のアンテナ応答の原因となったと思われる、アンテナアレイ素子の設計パラメータ(例えば大きさ)を識別することができる。
【0050】
ブロック1090では、処理装置により、(例えば、通知を表示すること、および/または1つまたは複数の通信ネットワークを介して1つまたは複数の受信側に通知を伝送することによって)アンテナ設計モジュールに、計算された角度分解能値およびアンテナ素子、および/または角度分解能に不利に作用した可能性のあるアンテナ設計パラメータを通知することができる。是正措置を取る(例えば、識別されたアンテナ設計パラメータを修正する)ことにより、アンテナ設計者またはアンテナ設計CADモジュールは、方法1000の入力ブロック1010に、修正されたアンテナ設計パラメータを再提出することができる。
【0051】
本明細書で説明される実施形態は、上記の図面に関して記載されているのと同じまたは類似の機能を実行し得る処理装置を含む電子システムによって実装されてもよく、その逆でもあってよい。別の実施形態では、処理装置は、マイクロプロセッサまたはマイクロコントローラであってよい。角度分解能推定ツール120は、マイクロコントローラまたはマイクロプロセッサで動作するファームウェアとして実装可能である。マイクロコントローラは、本明細書で説明される推定をアプリケーションプロセッサに報告することができる。電子システムは、本明細書で説明される推定を提供するためにマイクロコントローラを利用するコンピュータシステム用のホストプロセッサを含むことができる。ホストプロセッサは、1つまたは複数の処理装置、メモリ、および電子システムに対して動作を実行する他のハードウェアまたはソフトウェアコンポーネントを含んでいてよい。
【0052】
処理装置は、アナログおよび/またはデジタルの汎用入力/出力(「GPIO」:general purpose input/output)ポートを含んでいてよい。GPIOポートは、プログラミング可能であってよい。GPIOポートは、プログラマブルインターコネクトおよびロジック(「PIL」:Programmable Interconnect and Logic)に接続可能であり、このPILは、GPIOポートと、処理装置のデジタルブロックアレイと、の間の相互接続部として機能する。処理装置は、一部のケースにおいてさまざまなアナログ機能を実装するために、プログラミング可能なかつ再プログラミング可能なアナログブロックを含んでいてよい。処理装置はまた、デジタルブロックアレイを含んでいてもよい。1つの実施形態では、構成可能なユーザモジュール(「UM」:user module)を使用して、さまざまなデジタルロジック回路(例えば、DAC、デジタルフィルタまたはデジタル制御システム)を実装するように、デジタルブロックアレイを設定することができる。デジタルブロックアレイは、システムバスに接続されていてよい。処理装置はまた、RAM(random access memory)およびプログラムフラッシュなどのメモリ装置を含んでいてもよい。RAMは、SRAM(static RAM)であってよく、プログラムフラッシュは、不揮発性記憶装置であってよく、これらは、ファームウェア(例えば、本明細書で説明される動作を実装するためにプロセッサによって実行可能な制御アルゴリズム)を記憶するために使用可能である。処理装置はまた、メモリおよびプロセッサに接続されたメモリコントローラユニット(「MCU」:memory controller unit)を含んでいてもよい。プロセッサは、命令を実行するかまたは動作を実行するように構成された処理要素(例えばプロセッサコア)であってよい。プロセッサは、本開示の利益を得る当業者によって理解されるように、他の処理要素を含んでいてよい。メモリは、処理装置の内部にあってもよいし、その外部にあってもよいことにも留意すべきである。メモリが内部にある場合、メモリは、プロセッシングコアなどの処理要素に接続可能である。メモリが処理装置の外部にある場合、本開示の利益を得る当業者によって理解されるように、処理装置は、メモリが設けられている他の装置に接続される。
【0053】
一実施形態では、処理装置はさらに処理ロジックを含む。処理ロジックの動作の一部または全部は、ファームウェア、ハードウェア、またはソフトウェア、またはそれらの一部の組み合わせで実装可能である。処理ロジックは、本明細書で説明されたように、アンテナアレイから信号を受信することができる。処理装置はまた、アナログブロックアレイ(例えば、フィールドプログラマブルアナログアレイ)を含んでいてもよい。システムバスにはアナログブロックアレイも接続可能である。一実施形態では、構成可能なUMを使用して、さまざまなアナログ回路(例えば、ADCまたはアナログフィルタ)を実装するように、アナログブロックアレイを構成できてもよい。アナログブロックアレイはまた、GPIOポートに接続されてもよい。処理装置は、内部発振器/クロックおよび通信ブロック(「COM」)を含んでいてよい。別の実施形態では、処理装置は、スペクトラム拡散クロックを含む。発振器/クロックブロックは、処理装置の1つまたは複数のコンポーネントにクロック信号を供給する。通信ブロックは、アプリケーションインタフェース(「I/F」)ラインを介して、ホストプロセッサ(アプリケーションプロセッサとも称される)などの外部コンポーネントと通信するために使用可能である。
【0054】
処理装置は、例えば、集積回路(「IC」)、ダイ基板、マルチチップモジュール基板などの共通のキャリア基板上に設けられていてよい。択一的には、処理装置のコンポーネントは、1つまたは複数の別々の集積回路および/またはディスクリートコンポーネントであってよい。例示的な一実施形態では、処理装置は、カリフォルニア州サンノゼ在のサイプレスセミコンダクタ社によって開発された、プログラマブルシステムオンチップ(PSoC(登録商標):Programmable System on a Chip)処理装置である。処理装置は択一的には、マイクロプロセッサまたは中央処理ユニット、コントローラ、専用プロセッサ、DSP(digital signal processor)、ASIC(application specific integrated circuit)、FPGA(field programmable gate array)などの当業者に公知の1つまたは複数の他の処理装置であってよい。
【0055】
また、本明細書で説明される実施形態は、アプリケーションプロセッサに接続される処理装置の構成を有する形態に限定されることはなく、RF信号を測定して生データをホストコンピュータに送信し、このホストコンピュータにおいてこの生データがアプリケーションによって解析されるシステムを含み得ることにも留意すべきである。実際に、処理装置によって行われる処理は、アプリケーションプロセッサにおいて行われてもよい。
【0056】
角度分解能推定ツール120は、処理装置のICに組み込まれていてよく、または択一的には別のICに組み込まれていてよい。択一的には、他の集積回路への組み込みのために、角度分解能推定ツール120の記述を生成してコンパイルすることができる。例えば、VHDLまたはVerilogなどのハードウェア記述言語を使用して、角度分解能推定ツール120についてのパラメータを記述する挙動レベルコードまたはその一部を生成して、機械アクセス可能媒体(例えばCD-ROM、ハードディスク、フロッピーディスクなど)に記憶することができる。さらに、レジスタ転送レベル(「RTL」:register transfer level)コード、ネットリストに、または回路レイアウトにも、挙動レベルコードをコンパイルして組み込み、機械アクセス可能媒体に記憶することができる。挙動レベルコード、RTLコード、ネットリストおよび回路レイアウトは、角度分解能推定ツール120を記述するさまざまな抽象化レベルを表すことができる。電子システムのコンポーネントは、上で説明されたコンポーネントのすべてまた一部を含んでもよいし、またはこれらをまったく含まなくてもよいことに留意すべきである。
【0057】
一実施形態では、電子システムは、タブレットコンピュータにおいて使用されてよい。電子装置は択一的には、他のアプリケーション、例えばノートブックコンピュータ、携帯電話機、PDA(personal data assistant)、キーボード、テレビジョン、リモートコントローラ、モニタ、ハンドヘルドマルチメディア装置、ハンドヘルドメディア(オーディオおよび/またはビデオ)プレーヤ、ハンドヘルドゲーム装置、POS(point of sales)トランザクション用の署名入力装置、eBookリーダー、医療機器など、倉庫トラッキング装置、例えば運送会社で使用されるスキャナなど、オートモーティブデバイス、例えば自動車キーおよび車両内の電子装置、GPS(global position system)、またはコントロールパネルなどで使用されてもよい。特定の実施形態は、機械可読媒体に記憶された命令を含み得るコンピュータプログラム製品として実装可能である。これらの命令は、記載された動作を実行するための汎用プロセッサまたは専用プロセッサをプログラミングするために使用可能である。機械可読媒体は、機械(例えばコンピュータ)によって読み取り可能な形態(例えば、ソフトウェア、処理アプリケーション)で情報を記憶または伝送するための任意の機構を含む。機械可読媒体には、磁気記憶媒体(例えば、フロッピーディスク)、光学記憶媒体(例えば、CD-ROM)、光磁気記憶媒体、ROM(read-only memory)、RAM(random-access memory)、消去可能プログラマブルメモリ(例えばEPROMおよびEEPROM)、フラッシュメモリ、または電子命令を記憶するのに適した別のタイプの媒体が含まれ得るが、これらに限定されない。
【0058】
さらに、一部の実施形態は、機械可読媒体が記憶されておりかつ/または2つ以上のコンピュータシステムによって実行される分散型コンピューティング環境において実施可能である。さらに、コンピュータシステム間で転送される情報は、コンピュータシステムを接続する通信媒体を越えてプルまたはプッシュされてよい。
【0059】
本明細書の方法の動作は、特定の順序で示されかつ説明されているが、各方法の動作の順序は変更可能であり、これにより、特定の動作は、逆の順序で実行可能であるか、または特定の動作は、少なくとも部分的に、他の動作と並行して実行可能である。別の実施形態では、異なる動作の命令またはサブ動作は、断続的かつ/または交互に行われてよい。本明細書で使用される「第1」、「第2」、「第3」、「第4」などの用語は、異なる要素間を区別するためのラベルを意味しており、必ずしもその番号指定にしたがった順序を示すことを意味してはいない。本明細書で使用される用語「~に接続される」は、直接に接続されているか、または1つまたは複数の中間コンポーネントを介して間接的に接続されていることを意味することができる。本明細書で説明されるさまざまなバスを介して供給されるいずれの信号も、他の信号と時間多重化され、かつ1つまたは複数の共通のオンダイバス(one-die-bus)を介して供給されてよい。付加的には、回路コンポーネントまたはブロック間の相互接続およびインタフェースをバスとして見ることも、または単一の信号線路として見ることも可能である。各バスは、択一的には1つまたは複数の単一の信号線路であってよく、また各単一の信号線路は、択一的にはバスであってよい。
【0060】
上の説明には、本発明の複数の実施形態の理解を提供するために、特定のシステム、コンポーネント、方法等々の実施例などの多数の特定の詳細が記載されている。しかしながら、少なくとも一部の実施形態は、これらの特定の詳細がなくても実施可能であることが、当業者には明らかであろう。他には、周知のコンポーネントまたは方法は、本発明の実施形態を不必要に不明瞭にしてしまうことを回避するために、詳細には説明されていないか、または簡単なブロック図の形態で示されている。したがって、記載された特定の詳細は、単なる例示である。特定の実装形態は、これらの例示的な詳細とは異なっていてよいが、依然として本発明の実施形態の範囲内にあるものと考えることができる。
【0061】
特許請求の範囲に記載された対象の実施形態は、本明細書で説明されたさまざまな動作を含むが、これらに限定されない。これらの動作は、ハードウェアコンポーネント、ソフトウェア、ファームウェア、またはこれらの組み合わせによって実行可能である。
【0062】
上の説明には、特許請求の範囲に記載された対象の複数の実施形態の理解を提供するために、特定のシステム、コンポーネント、方法等々の実施例などの多数の特定の詳細が記載されている。しかしながら、本開示の少なくとも一部の実施形態は、これらの特定の詳細がなくても実施可能であることが当業者には明らかであろう。他には、周知のコンポーネントまたは方法は、詳細には説明されていないか、または簡単なブロック図の形態で示されている。したがって、記載された特定の詳細は、単なる例示である。特定の実装形態は、これらの例示的な詳細とは異なっていてよいが、依然として特許請求の範囲の対象の範囲内にあるものと考えることができる。
【国際調査報告】