(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-06-18
(54)【発明の名称】機械学習ネットワークを使用した可変通信チャネル応答の生成
(51)【国際特許分類】
H04B 17/391 20150101AFI20240611BHJP
G06N 3/0455 20230101ALI20240611BHJP
【FI】
H04B17/391
G06N3/0455
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023573413
(86)(22)【出願日】2022-05-27
(85)【翻訳文提出日】2024-01-29
(86)【国際出願番号】 US2022031387
(87)【国際公開番号】W WO2022251668
(87)【国際公開日】2022-12-01
(32)【優先日】2021-05-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】523447502
【氏名又は名称】ディープシグ インコーポレイテッド
【氏名又は名称原語表記】DEEPSIG INC.
【住所又は居所原語表記】1201 Wilson Blvd., Floor 27, Arlington, Virginia 22209 U.S.A.
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】ネイアー, ニティン
(72)【発明者】
【氏名】バッタチャルジャ, ラジブ
(72)【発明者】
【氏名】ロイ, タモグナ
(72)【発明者】
【氏名】オシェイ, ティモシー ジェイムズ
(72)【発明者】
【氏名】ウェスト, ネイサン
(57)【要約】
方法、システムおよび装置であって、コンピュータ記憶媒体上にエンコードされたコンピュータプログラムを含み、1つ以上の無線周波数(RF)通信チャネルに対応するシミュレートされたチャネル応答を生成するように訓練されたニューラルネットワークに、値の分布から1つ以上の値を提供することと、1つ以上のRF通信チャネルの少なくとも1つの通信チャネルに対応するシミュレートされたチャネル応答を示す、ニューラルネットワークの出力を、ニューラルネットワークによる1つ以上の値の処理に基づいて取得することとを含む。
【特許請求の範囲】
【請求項1】
方法であって、
通信チャネルのチャネル応答を示す1つ以上の値を取得することであって、前記チャネル応答を示す1つ以上の値が、自由度Nの第1のデータ構造によって表される、取得することと、
前記1つ以上の値を、自由度N未満で表される第2のデータ構造についてのパラメータを生成するように訓練された第1の機械学習モデルに提供することと、
前記第1の機械学習モデルから、1つ以上のパラメータを含む第1の出力を取得することと、
前記1つ以上のパラメータを用いて前記第2のデータ構造を生成することと、
合成チャネル応答を生成するように訓練された第2の機械学習モデルに前記第2のデータ構造を提供することと、を含む方法。
【請求項2】
請求項1に記載の方法であって、前記1つ以上のパラメータを用いて前記第2のデータ構造を生成することは、
前記1つ以上のパラメータを用いて確率分布を決定することと、
前記確率分布を用いて前記第2のデータ構造の値を取得することと、を含む方法。
【請求項3】
請求項2に記載の方法であって、
前記確率分布と、前記第1の機械学習モデルを訓練するための訓練分布とを比較することと、
前記確率分布と前記訓練分布との比較に基づいて、前記第1の機械学習モデルを更新することと、を含む方法。
【請求項4】
請求項3に記載の方法であって、前記訓練分布は、ガウス分布、タップ付き遅延線(TDL)、クラスタ遅延線(CDL)、リシアン分布、レイリー分布、または、シミュレートされたレイトレーシングモデルまたは他の空間シミュレーションモデルからの結果、のうちの1つである、方法。
【請求項5】
請求項1に記載の方法であって、
前記合成チャネル応答と1つ以上の取得されたチャネル応答とを比較することと、
前記合成チャネル応答と前記1つ以上の取得されたチャネル応答との比較に基づいて、前記第2の機械学習モデルのパラメータを調整することと、を含む方法。
【請求項6】
請求項1に記載の方法であって、
前記通信チャネルを介して第1の情報を送信することと、
前記通信チャネルを介した送信によって変更された前記第1の情報の表現としての第2の情報を、前記通信チャネルの出力として、取得することと、
前記第1の情報と前記第2の情報との比較に基づいて、前記チャネル応答を示す前記1つ以上の値を生成することと、を含む方法。
【請求項7】
請求項6に記載の方法であって、前記通信チャネルは、追加ホワイトガウスノイズ(AWGN)またはレイリーフェーディングチャネルモデル、国際電気通信連合(ITU)または第3世代パートナーシッププロジェクト(3GPP)フェージングチャネルモデル、エミュレートされた無線エミッション、伝達モデル、チャネル効果を生成するためのシミュレートされたジオメトリまたは環境内のレイトレーシング、TDL、CDL、実チャネル上で近似測定を行うように訓練された機械学習ネットワーク、チャネル状態情報推定ルーチンまたは他の測定信号処理アルゴリズム、シミュレーションおよびハードウェア伝送コンポーネントの組み合わせ、または無線システム内のチャネル測定、の少なくとも1つを含む、方法。
【請求項8】
請求項1に記載の方法であって、
前記合成チャネル応答と受信信号に対応する情報とを用いて、前記受信信号を生成すること、を含む方法。
【請求項9】
請求項8に記載の方法であって、前記受信信号を生成することは、
前記合成チャネル応答と前記受信信号としての前記情報との組み合わせに対応する出力を生成することを含む、方法。
【請求項10】
請求項9に記載の方法であって、前記組み合わせは、前記合成チャネル応答によって表されるデータと前記情報によって表されるデータとの間の乗算の結果を含む、方法。
【請求項11】
請求項9に記載の方法であって、前記組み合わせは、前記合成チャネル応答によって表されるデータと前記情報によって表されるデータとの間の畳み込みの結果を含む、方法。
【請求項12】
方法であって、
通信チャネル応答に対応する値の分布から1つ以上の値を取得することと、
1つ以上の無線周波数(RF)通信チャネルに対応するシミュレートされたチャネル応答を生成するように訓練されたニューラルネットワークに、前記1つ以上の値を提供することと、
前記ニューラルネットワークによる前記1つ以上の値の処理に基づいて、前記ニューラルネットワークの出力を取得することであって、前記出力は、前記1つ以上のRF通信チャネルの少なくとも1つの通信チャネルに対応するシミュレートされたチャネル応答を示す、取得することと、を含む方法。
【請求項13】
請求項12に記載の方法であって、値の前記分布が、エンコーダニューラルネットワークによって生成される、方法。
【請求項14】
請求項13に記載の方法であって、
1つ以上の実世界チャンネル応答を用いて、前記エンコーダニューラルネットワークを訓練することを含む、方法。
【請求項15】
請求項13に記載の方法であって、
通信チャネルを介して送信されたデータと、前記通信チャネルを介して送信された後に受信されたデータとを、1つ以上の送受信データペアとして用いて、前記エンコーダニューラルネットワークを訓練すること、を含む方法。
【請求項16】
請求項12記載の方法であって、
前記シミュレートされたチャネル応答を用いて訓練出力を提供することを含み、前記訓練出力は、無線受信機、チャネル推定器、信号エンコーダネットワーク、信号デコーダネットワーク、または多入力多出力(MIMO)システムのうちの1つ以上を訓練するために用いられる、方法。
【請求項17】
請求項16に記載の方法であって、前記訓練出力は、受信信号の近似を含む、方法。
【請求項18】
請求項12に記載の方法であって、値の前記分布は、無線ユニット(RU)または分散ユニット(DU)から捕捉されたデータを用いて生成される、方法。
【請求項19】
動作を実行するためのコンピュータシステムによって実行可能な1つ以上の命令を記憶する非一時的コンピュータ可読媒体であって、
通信チャネル応答に対応する値の分布から1つ以上の値を取得することと、
1つ以上の無線周波数(RF)通信チャネルに対応するシミュレートされたチャネル応答を生成するように訓練されたニューラルネットワークに、前記1つ以上の値を提供することと、
前記ニューラルネットワークによる前記1つ以上の値の処理に基づいて、前記ニューラルネットワークの出力を取得することであって、前記出力は、前記1つ以上のRF通信チャネルの少なくとも1つの通信チャネルに対応するシミュレートされたチャネル応答を示す、取得することと、を含む非一時的コンピュータ可読媒体。
【請求項20】
請求項19に記載の非一時的コンピュータ可読媒体であって、値の前記分布が、エンコーダニューラルネットワークによって生成される、非一時的コンピュータ可読媒体。
【請求項21】
請求項20に記載の非一時的コンピュータ可読媒体であって、前記動作は、
1つ以上の実世界チャンネル応答を用いて、前記エンコーダニューラルネットワークを訓練することを含む、非一時的コンピュータ可読媒体。
【請求項22】
請求項20に記載の非一時的コンピュータ可読媒体であって、前記動作は、
通信チャネルを介して送信されたデータと、前記通信チャネルを介して送信された後に受信されたデータとを、1つ以上の送受信データペアとして用いて、前記エンコーダニューラルネットワークを訓練すること、を含む非一時的コンピュータ可読媒体。
【請求項23】
請求項19に記載の非一時的コンピュータ可読媒体であって、前記動作は、
前記シミュレートされたチャネル応答を用いて訓練出力を提供することを含み、前記訓練出力は、無線受信機、チャネル推定器、信号エンコーダネットワーク、信号デコーダネットワーク、または多入力多出力(MIMO)システムのうちの1つ以上を訓練するために用いられる、非一時的コンピュータ可読媒体。
【請求項24】
請求項23に記載の非一時的コンピュータ可読媒体であって、前記訓練出力は、受信信号の近似を含む、非一時的コンピュータ可読媒体。
【請求項25】
請求項19に記載の非一時的コンピュータ可読媒体であって、値の前記分布は、無線ユニット(RU)または分散ユニット(DU)から捕捉されたデータを用いて生成される、非一時的コンピュータ可読媒体。
【請求項26】
システムであって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサと相互作用可能に接続され、前記1つ以上のプロセッサによって実行されると動作を実行する1つ以上の命令を記憶する機械可読媒体とを含み、前記動作は、
通信チャネル応答に対応する値の分布から1つ以上の値を取得することと、
1つ以上の無線周波数(RF)通信チャネルに対応するシミュレートされたチャネル応答を生成するように訓練されたニューラルネットワークに、前記1つ以上の値を提供することと、
前記ニューラルネットワークによる前記1つ以上の値の処理に基づいて、前記ニューラルネットワークの出力を取得することであって、前記出力は、前記1つ以上のRF通信チャネルの少なくとも1つの通信チャネルに対応するシミュレートされたチャネル応答を示す、取得することと、を含むシステム。
【請求項27】
請求項26に記載のシステムであって、値の前記分布が、エンコーダニューラルネットワークによって生成される、システム。
【請求項28】
請求項27に記載のシステムであって、前記動作は、
1つ以上の実世界チャンネル応答を用いて、前記エンコーダニューラルネットワークを訓練することを含む、システム。
【請求項29】
請求項27に記載のシステムであって、前記動作は、
通信チャネルを介して送信されたデータと、前記通信チャネルを介して送信された後に受信されたデータとを、1つ以上の送受信データペアとして用いて、前記エンコーダニューラルネットワークを訓練すること、を含むシステム。
【請求項30】
請求項26に記載のシステムであって、前記動作は、
前記シミュレートされたチャネル応答を用いて訓練出力を提供することを含み、前記訓練出力は、無線受信機、チャネル推定器、信号エンコーダネットワーク、信号デコーダネットワーク、または多入力多出力(MIMO)システムのうちの1つ以上を訓練するために用いられる、システム。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、2021年5月28日出願の米国仮出願第63/194,744号の優先権の利益を主張し、その内容は、全体として参照することによってここに組み込まれる。
【技術分野】
【0002】
本明細書は、一般に機械学習を使用する通信システムに関するものであり、機械学習ネットワークを使用した通信信号の処理を含む。
【背景技術】
【0003】
通信システムは、例えば、空中、光ファイバケーブルまたは金属ケーブル、水中、または宇宙空間を介して、様々なタイプの通信媒体を送受信することを伴う。場合によっては、通信チャネルは、情報を送信するために無線周波数(RF)波形を使用し、その情報は、RF周波数で動作する1つ以上のキャリア波形上に変調される。また、RF波形自体がセンサやプローブの出力などの情報である場合もある。RF波形で搬送される情報は、コンピュータ内の内部システムバス、あるいはローカルまたはワイドエリアネットワークを介してなど、通信チャネルまたは他の通信形態を介して、典型的には、処理、記憶、および/または搬送される。
【発明の概要】
【0004】
いくつかの実施では、本開示に記載される主題は、通信信号を処理するために、ニューラルネットワークを統合的または反復的に訓練するための方法、装置、およびシステムにおいて具体化することができる。ニューラルネットワークは、通信チャネルを介して送信される通信信号をエンコードするように構成された1つ以上のニューラルネットワーク、チャネルを介して送受信されるエンコードされた信号をデコードするように構成された1つ以上のニューラルネットワーク、および、チャネルを介して伝搬される通信信号に対する実世界の通信チャネルの影響(例えば、密集した都市のマルチパス環境、過剰または混雑した屋内環境、動的な移動または高速の高速環境、高遅延スプレッドまたは高ドープラ環境、またはその他の形式の干渉および/または歪んだ充填チャネル環境に起因するフェージングまたは干渉などの影響)をシミュレートまたは近似するように構成された1つ以上のニューラルネットワークを含むことができる。実世界の通信チャネルの影響をシミュレートまたは近似する1つ以上のニューラルネットワークは、変分オートエンコーダを使用して訓練され、可変チャネル応答を生成することができる。チャネル応答は、1つ以上のアンテナに対して異なる遅延で受信された電力の複素数または実数の値を含むことができる。異なる遅延で受信される電力は、通信チャネルの環境の様々な特徴によって反射、屈折、散乱、または吸収される送信信号によるものであり得る。環境の変化、例えば、信号伝搬の経路を横切って動いている車や天候の変化などは、受信機が受信する電力を異なる遅延で変化させ得る。
【0005】
通信チャネルをシミュレートまたは近似する従来のモデルは、静的モデルである。中には、環境のタイプ、例えば、地方、都市、副都市などを考慮するチューニングパラメータを含む。しかし、そのような静的モデルは、環境における自然な変動を考慮せず、特定の環境の実際の条件を反映せず、代わりに、通常、同様の環境における平均的な条件を反映する。その結果、このようなモデルを使用して調整および分析された通信は、必ずしも正確ではなく、ユーザによる追加の微調整が必要になる場合がある。対照的に、本明細書に記載する主題は、特定の環境(例えば、特定の環境、または、特定の環境または他の記憶環境と特徴の閾値数を共有する環境)において送信される実際の信号の情報に基づいて、チャネル応答を生成することを提供する。さらに、通信環境の変動(例えば、とりわけ、物体の移動、自動車、時間帯、天候の変化)による信号伝搬の現実の変動を近似するために、チャネル応答を時間にわたって変化させることができる。
【0006】
通信システムは、伝統的に、便利な代数式(例えば、チャネル効果のために、変調及び/又は符号化プロセスの構造のために、及び/又はトランシーバの他の効果のために)で導出された解析モデルに基づいて、変調及び符号化アルゴリズムを手動で定義し実施することによって構築されてきた。このような手作業のエンジニアリング成果物とは対照的に、本明細書で開示する技術は、第1の情報のメッセージを近最適(near‐optimal)の送信波形に変換またはエンコードし、受信した波形を第2の情報メッセージにデコードするために、大規模な学習プロセスおよび(例えば、測定からの)データに依存するエンコーダおよびデコーダネットワークを使用し、これは、ますます効率的であり、近最適である。例えば、いくつかの実施形態では、このようなエンコードおよびデコードネットワークを最適化するために、第1および第2の情報間の損失または距離関数の勾配が、機械学習ネットワークにおけるパラメータのバックプロパゲーションのために使用される。
【0007】
エンコーダとデコーダとの間のこの勾配を計算するために、アナログハードウェア構成要素および/または無線伝搬効果(例えば、通信チャネルモデル)に基づいて無線信号に発生する障害のモデルが含まれ、その勾配も計算され得る。この開示では、このチャネルモデルの訓練、および学習したエンコーダおよびデコーダシステムを、1つ以上の問題として最適化できる2つの学習問題として扱うか、または2つの問題を代替することによって反復的に扱う方法およびシステムについて説明する。ある場合には、学習は、確率的勾配降下のような機械学習法を用いた最適化を含む。いくつかの実施では、2つの競合する目的関数または損失関数を最適化するプロセスは、敵対的ネットワークによって実行される。
【0008】
機能近似のためのパラメトリックネットワークと、多種多様な線形、非線形、およびモデル化困難なチャネル障害影響とを使用することによって、通信チャネルは、それを単純化することを試みることによって、チャネルモデルの妥当性を損なうことなく、開示される技術によって、迅速に近似され、モデル化される。近似チャネルに対するチャネル近似および近最適情報エンコードの対象を共に最適化することにより、通信システムは、特定のハードウェア装置、通信システム、チャネルタイプまたは障害、または他の制約に対して設計することができ、これらは伝統的にモデル化することが困難であるか、または準最適(sub‐optimal)性能をもたらすことが困難である(例えば、チャネル効果に関する仮定を単純化するとき)。
【0009】
従来、通信システム設計は、単純な分析スライシング機能を有する等間隔矩形グリッド上に最大に分離されたコンスタレーションポイントを配置したり、レート可変(rate‐changing)多項式を採用し、カスタマイズされたデコーディングアルゴリズムを通じて確率的に回復可能なパリティまたは情報混合を導入するコードワードを設計するなど、複数の特定タスクに分解された手動分析問題として扱われてきた。しかしながら、以下に説明するように、開示される技術は、通信システムを、自由度の高いエンコーダ及びデコーダのネットワークが、主として高レベルの損失関数(例えば、シンボルエラーレート又はビットエラーレート)によって駆動される、任意に情報を混合し、近最適のエンコード表現を学習することができる、大きな最適化問題として扱う。そうすることで、開示された技術は、新しいクラスの高効率通信システム設計を可能にし、これは、多くの無線通信およびエンコード問題に対する従来の解決策を上回ることができる。この文脈において、近最適は、一組の無線システム及び動作環境制約に対する物理及び情報理論の限界を考えると、能力、スループット、又は電力のような性能指標に関して達成可能なものとほぼ同等のものを示すことを意図している。
【0010】
第1の情報をエンコードおよびデコードして第2の情報を得るために手動で定義されたプロセスに依存する従来のシステムは、典型的には、それらが最適化していたチャネルモデルに関する特定の仮定を使用した。例えば、伝統的な変調方法(例えば、QPSK、64‐QAM、OFDM、または類似のもの)または符号化方法(例えば、畳み込み符号、BCH符号、ターボ符号、LDPC符号、または類似のもの)が、既知のチャネルモデルに対してモデル化された。多くの場合、使用されるチャネルモデルは、研究中のモデルの分析(すなわち、変調またはコーディング法)を導出し、証明し、実演することを容易にするために単純化されている。たとえば、一般的な仮定として、チャネルには、より現実的な無線周波数(RF)ノイズではなく、単純な追加ホワイトガウスノイズ(Additive White Gauss Noise)(AWGN)があるとする。解析的チャネルモデルが存在し、共通チャネル効果(例えば、マルチパスフェージング、キャリアオフセットおよびドップラモデル化)のために使用されるが、いくつかは、実世界の効果の近似に乏しい。多くの場合、パラメータ化され閉じた形式のチャネルモデルの導出方法を理解し、近似するために、特定のデプロイ環境におけるチャネル計測が使用される。これらの測定は、実施が困難であったり、高価であったりする可能性があり、しばしば、いくつかのパラメータをモデル化することに限定され、それゆえ、実世界のチャンネルの完全な影響を十分に表していない。同様に、既存の学習エンコードおよびデコードシステムでは、ある閉じた分析形式で表現されたチャネル効果の差分可能なモデルが、しばしば、チャネル内に存在する各効果のためのコンパクトな閉じた形式の式に依存して、最適化を実行するために使用される。
【0011】
上記とは対照的に、本明細書に開示される技術は、実世界のチャネル測定値に対する直接的なチャネルモデルの最適化および観測、ならびにチャネルを近似するための高自由度非線形ネットワークモデルに依存する。このアプローチは、閉じた形式のチャネルモデルまたはシステム内に存在するチャネル効果に関する仮定の必要性を除去する。場合によっては、チャネルは、エンコード最適化処理を用いて反復的または同時的に近似されて、増幅器のような無線またはアナログコンポーネントにおいて、広範囲で非線形および/またはモデル化困難なチャネル障害源に跨って、近最適な表現およびエンコードされたものを学習する。
【0012】
本明細書に記載される主題の1つの革新的な側面は、具体化された方法を含み、方法は、通信チャネルの応答を示す1つ以上の値を得ることであって、チャネル応答を示す1つ以上の値は、自由度Nで表される第1のデータ構造によって表される、ことと、自由度N未満で表される第2のデータ構造のためのパラメータを生成するように訓練された第1の機械学習モデルに1つ以上の値を提供することと、第1の機械学習モデルから第1の出力を得ることであって、第1の出力は1つ以上のパラメータを含む、ことと、1つ以上のパラメータを用いて第2のデータ構造を生成することと、合成チャネル応答を生成するよう訓練された第2の機械学習モデルに第2のデータ構造を提供することとを含む。
【0013】
本および他の側面の他の実施は、対応するシステム、装置、および、方法の動作を実行するように構成され、コンピュータ記憶デバイス上にエンコードされたコンピュータプログラムを含む。1つ以上のコンピュータのシステムは、システムにインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせによって構成され、動作中にシステムに動作を実行させることができる。1つ以上のコンピュータプログラムは、データ処理装置によって実行されるとき、装置に動作を実行させる命令を有することによって構成することができる。
【0014】
前述のおよび他の実施形態は、それぞれ、オプションとして、単独または組み合わせで、以下の特徴のうちの1つ以上を含むことができる。例えば、いくつかの実施では、1つ以上のパラメータを使用して第2のデータ構造を生成することは、1つ以上のパラメータを使用して確率分布を決定することと、確率分布を使用して第2のデータ構造の値を取得することとを含む。
【0015】
いくつかの実施では、動作は、第1の機械学習モデルを訓練するために、確率分布と訓練分布を比較すること、および、確率分布と訓練分布を比較することに基づいて、第1の機械学習モデルを更新することが含まれる。
【0016】
幾つかの実装形態では、訓練分布は、ガウス分布、タップ付き遅延線(TDL)、クラスタ遅延線(CDL)、リシアン分布、レイリー分布、又はシミュレートされたレイトレーシングモデル又は他の空間シミュレーションモデルからの結果、のうちの1つである。
【0017】
いくつかの実施では、動作は、合成チャネル応答を1つ以上の得られたチャネル応答と比較することと、合成チャネル応答を1つ以上の得られたチャネル応答と比較することに基づいて、第2の機械学習モデルのパラメータを調整することとを含む。
【0018】
いくつかの実施形態では、動作は、通信チャネルを介して第1の情報を送信することと、通信チャネルの出力として、通信チャネルを介した送信によって変更された第1の情報の表現として第2の情報を取得することと、第1の情報を第2の情報と比較することに基づいて、チャネル応答を示す1つ以上の値を生成することとを含む。
【0019】
いくつかの実施では、通信チャネルは、追加ホワイトガウスノイズ(AWGN)またはレイリー(Rayleigh)フェーディングチャネルモデル、国際電気通信連合(ITU)または第3世代パートナーシッププロジェクト(3GPP)フェージングチャネルモデル、エミュレートされた無線エミッション、エミュレートされたジオメトリモデル、シミュレートされたジオメトリまたは環境内のレイトレーシング、チャネル効果、TDL、CDL、実チャネル上で近似測定を行うように訓練された機械学習ネットワーク、チャネル状態情報推定ルーチンまたはその他の測定信号処理アルゴリズム、シミュレーションおよびハードウェア伝送コンポーネントの組み合わせ、または無線システム内のチャネル測定を生成する環境のうちの少なくとも1つを含む。
【0020】
いくつかの実施では、動作は、合成チャネル応答と受信信号に対応する情報とを使用して受信信号を生成することと、を含む。
【0021】
いくつかの実施では、受信信号を生成することは、合成チャネル応答と受信信号としての情報との組み合わせに対応する出力を生成することを含む。
【0022】
いくつかの実施では、組み合わせは、合成チャネル応答によって表されるデータと情報によって表されるデータとの間の乗算の結果を含む。
【0023】
いくつかの実施では、組み合わせは、合成チャネル応答によって表されるデータと情報によって表されるデータとの間の畳み込みの結果を含む。
【0024】
本明細書に記載される主題の別の革新的な側面は、値の分布から1つ以上の値を取得することと、1つ以上の無線周波数(RF)通信チャネルに対応するシミュレートされたチャネル応答を生成するように訓練されたニューラルネットワークに1つ以上の値を提供することと、1つ以上のRF通信チャネルの少なくとも1つの通信チャネルに対応するシミュレートされたチャネル応答を示す出力をニューラルネットワークによる1つ以上の値の処理に基づいてニューラルネットワークの出力を取得することと、を含む方法で具現化される。
【0025】
本および他の側面の他の実施は、対応するシステム、装置、およびコンピュータプログラムを含み、コンピュータ記憶デバイス上にエンコードされた方法の動作を実行するように構成される。1つ以上のコンピュータのシステムは、システムにインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせによって構成され、動作中にシステムに動作を実行させることができる。1つ以上のコンピュータプログラムは、データ処理装置によって実行されるとき、装置に動作を実行させる命令を有することによって構成することができる。
【0026】
前述のおよび他の実施形態は、それぞれ、オプションとして、単独または組み合わせで、以下の特徴のうちの1つ以上を含むことができる。例えば、いくつかの実施では、値の分布はエンコーダニューラルネットワークによって生成される。
【0027】
いくつかの実施では、動作には、1つ以上の実世界のチャネル応答を用いてエンコーダニューラルネットワークを訓練することが含まれる。
【0028】
いくつかの実施では、動作には、通信チャネルを介して送信されるデータと、通信チャネルを介して送信された後に受信されるデータとを、1つ以上の送信および受信データペアとして使用して、エンコーダニューラルネットワークを訓練することが含まれる。
【0029】
いくつかの実施では、シミュレートされたチャネル応答を使用して訓練出力を提供し、当該訓練出力は、無線受信機、チャネル推定器、信号エンコーダネットワーク、信号デコーダネットワーク、または多入力多出力(multiple input multiple output)(MIMO)システムのうちの1つ以上を訓練するために使用される。
【0030】
いくつかの実施では、訓練出力は受信信号の近似を含む。
【0031】
いくつかの実施では、値の分布は、無線ユニット(RU)または分散ユニット(DU)から捕捉されたデータを使用して生成される。
【0032】
添付図面と以下の説明において、本発明の1以上の実施形態の詳細を説明する。本発明の他の特徴および利点は、説明、図面、および請求項から明らかになる。
【図面の簡単な説明】
【0033】
【
図1】
図1は、取得されたチャネル応答に基づいて1つ以上のネットワークを訓練するためのシステムの一例を示す図である。
【0034】
【
図2】
図2は、シミュレートされたチャネル応答を生成するためのチャネルデコーダネットワークを含むチャネル近似システムの一例を示す図である。
【0035】
【
図3】
図3は、チャンネルエンコーダネットワークと、シミュレートされたチャンネル応答を生成するための学習された潜在空間変数を生成するためのチャンネルデコーダネットワークとを含むシステムの一例を示す図である。
【0036】
【
図4】
図4は、チャネル応答を取得し、チャネルエンコーダネットワークおよびチャネル近似システムのチャネルデコーダネットワークを訓練するシステムの一例を示す図である。
【0037】
【
図5A】
図5Aは、訓練されたチャネルデコーダネットワークを使用して受信機を更新するためのシステムの一例を示す図である。
【0038】
【
図5B】
図5Bは、チャネルシミュレータの一例を示す図である。
【0039】
【
図6】
図6は、無線送信を送受信するために訓練された信号エンコーダネットワーク及び訓練された信号デコーダネットワークを使用するためのシステムの一例を示す図である。
【0040】
【
図7】
図7は、デプロイシナリオの一例を示す図である。
【0041】
【
図8】
図8は、無線伝搬をシミュレーションするためのシステムの一例を示す図である。
【0042】
【
図9】
図9は、チャネル近似システムを訓練するためのプロセスの例を示すフロー図である。
【0043】
【
図10】
図10は、信号エンコーダネットワークと信号デコーダネットワークとを共に用いてチャネル近似システムを訓練するためのプロセスの例を示すフロー図である。
【0044】
【
図11】
図11は、ニューラルネットワークの訓練および可変通信チャネル応答の生成のために使用されるコンピューティングシステムの一例を示す図である。
【0045】
種々の図面における参照番号及び参照と同様に、類似の要素を示す。
【発明を実施するための形態】
【0046】
図1は、取得されたチャネル応答に基づいて1つ以上のネットワークを訓練するためのシステム100の一例を示す図である。1つ以上のネットワークは、信号エンコーダネットワーク123、信号デコーダネットワーク139、およびチャネル近似モジュール133を含む。チャネル近似モジュール133は、1つ以上のネットワークを含むことができる。本明細書で言及されるネットワークは、ディープニューラルネットワーク、コンボリューショナルニューラルネットワークなどのニューラルネットワーク、他の機械学習ベースのアルゴリズムを含むことができる。この文脈では、チャネル応答は、通信チャネルに対する周波数応答を表すことができ、1つ以上のアンテナから異なる遅延で受信された電力の複素数または実数の値を含むことができる。
【0047】
システム100は、デバイス115(例えば、ユーザデバイス、スマートフォン、ラップトップなど)及びデバイス101(例えば、ユーザデバイス、スマートフォン、サーバ、ラップトップなど)並びにデバイスによって操作される対応するモジュール及び処理を含む。
図1に示す1つ以上のネットワークは、デバイス115、またはデバイス115に通信可能に接続された別の電子デバイスによって利用可能である。例えば、デバイス115は、1つ以上のネットワークの動作を実行するために、デバイス115の1つ以上のプロセッサによって実行されるように構成された命令を記憶するメモリを含むことができる。追加的にまたは代替的に、場合によっては、デバイス115は、サーバコンピュータなどの別のデバイスに通信可能に接続することができる。このような場合、サーバは1つ以上のネットワークの機能に対応する動作を実行する。例えば、デバイス115は、サーバからのデータを提供し、アクセスすることができる。サーバは、デバイス115からデータを受信し、1つ以上のネットワークの1つ以上の動作の実行に基づいて出力を提供することができる。サーバは、1つ以上のネットワークの動作を実行するために、サーバの1つ以上のプロセッサによって実行されるように構成された命令を記憶するメモリを含むことができる。
【0048】
図1は、デバイス101からデバイス115への無線通信信号108の送信を示す。信号108は、例えば、セルラ信号、Wi-Fi信号、または何らかの他のタイプの無線信号とすることができる。信号108は、環境内の無線通信チャネルを介して伝搬し、この通信チャネルは、例えば、屋外開放空間、屋内密閉空間、または屋内空間と屋外空間との組合せであってもよい。環境は、非線形(例えば、電力増幅器)、線形、または非線形および線形の障害効果の組み合わせを呈することが可能であり、これらは、送信機(例えば、デバイス101)から受信機(例えば、デバイス115)へ無線通信チャネルを介して伝搬されるにつれて、信号の特性に影響を及ぼす環境要素を含む。例えば、
図1は、木111および車両109のような障害物を含む環境要素からの信号108に対する近似的伝搬効果の視覚的表現を示す。環境要素には、建物、動物、人、物理的な地理的要素(例えば、地形)なども含まれる。デバイス101から送信された信号108は、デバイス115によって受信され、受信信号117として処理される。さらに、信号伝搬に影響を与える可能性のある環境要素には、天候、時刻、およびその他の近くの無線デバイスのアクティビティが含まれる。
【0049】
環境は、固定または移動環境内の少なくとも1つの送信機および受信機を含むことができ、その中で、デバイスは、異なるGPS位置、位置、ポインティング角度、アンテナパターン、仰角、または他の特性または近傍のアクティビティまたはイベントを伴って動き回ることができ、シナリオの実世界版のデバイスは、データ測定、サウンディングデータ、およびログを記録されたパラメータを捕捉し、チャネルモデルを訓練するために使用することができ、訓練されたモデルは、シナリオのシミュレートされたバージョンを訓練するために使用することができる。
【0050】
環境には、データを送信する1つ以上の無線エミッタを含めることができる。無線エミッタは、例えば、数多くの異なるセルラータワー、セルラーアンテナまたは要素、Wi-Fiエミッタ、あるいは、他の形態の無線信号または無線周波数エミッタ、例えば、放送タワー、通信システム、または車両からの放射を含むことができる。デバイス115及び対応するアンテナ113のような無線受信デバイスは、これらの送信を受信することができ、無線信号放射についての多数の特性を捕捉し記録することができる。特性は、正確な送信値「x」(例えば、送信された値が事前に知られている場合、正しく受信されたパケットから、または他の何らかの手段から送信された場合)、実際に受信された値/サンプル「y」、および推定チャネル応答「h」の形式でのチャネル応答の推定値を含むことができる。
【0051】
特性は、広範囲の情報を含むことができる送信機または受信機に関するメタデータと組み合わせることができる。受信デバイスは、環境を通るある空間経路をたどることができ、受信機は、よりローカル基準フレーム上の高度、緯度、経度、または相対的な位置などの1つ以上の値、ならびにアンテナポインティング角度の方位および高度、送信アンテナまたは受信アンテナに関する特性、周囲領域の温度、湿度、周囲領域またはジオメトリなどの環境要因を記録することができる。これらの追加の発音変数の多くは、結果として生じるチャネル応答「h」またはチャネル入力「x」とチャネル出力「y」との間の直接的な関係に影響を与える可能性がある。従って、ここでの音声またはチャネル測定活動の間にこれらの値を捕捉し記録するプロセスは重要であり得る。
【0052】
信号108のバージョンは、無線通信チャネルを介して伝搬した後に、受信信号117としてデバイス115において受信される。信号108、例えば、デバイス101のアンテナ103またはデバイス115のアンテナ113、または車両109および/または木111のような伝搬中の環境要素の影響を送受信するために使用されるアンテナの不完全性のために、受信信号117は、送信された信号108と同一でなくてもよい。例えば、信号108は、車両109から反射されてもよく、車両109が動くと、信号108の反射が変化して、信号伝搬に変化を生じさせ、結果としてデバイス115によって受信される信号に変化を生じさせる。
【0053】
ある実施形態では、デバイス101は、参照インジケータ105を使用して信号108を生成する。参照インジケータ105は、特定の文字または記号を含むことができる。図示されるように、被送信信号108は被送信情報107を伝えるために使用され、例えば、被送信情報107は、信号108として無線周波数(RF)信号波形に変調されるデータに対応する。デバイス101は、伝送情報107をアナログ信号108に変換するために、1つ以上のデジタル-アナログ変換器を含むことができる。デバイス101の1つ以上のアンテナは、無線通信チャネルを介して信号108を送信する。
【0054】
デバイス115は、受信した信号117を処理する。この処理と関連する訓練については、
図1のステージA-Dについて説明する。図示のように、ステージAにおいて、デバイス115は、1つ以上のアンテナ113を使用して、信号108の表現として信号117を受信する。デバイス115の被送信信号抽出モジュール119は、受信信号117を得る。ある場合には、信号117は、受信アナログ信号のデジタル表現である。デバイス115内の1つ以上のアナログデジタルコンバータまたは前処理技術を使用して、デバイス115が受信したアナログ信号を受信信号117に変換する。
【0055】
被送信信号抽出モジュール119は、デバイス101によって信号108内にエンコードされた送信情報107の表現として、受信信号117から送信情報121を抽出する。被送信情報121および被送信情報107は、シンボル、ビット、コードワード、または他の適切な情報の形態とすることができる。
【0056】
ある実施形態では、被送信情報107とともに、デバイス101は、被送信信号108内の参照インジケータ105を含む。このような場合、被送信信号抽出モジュール119はまた、受信信号117内の参照インジケータ105を識別する。場合によっては、参照インジケータ105は、ヘッダ内の一連のビットであってもよいし、信号108の別の部分であってもよい。参照インジケータ105は、受信機において、被送信情報121が何であるか、及び/又は受信信号から被送信情報121をどのように生成するかを決定するために使用されることができる。例えば、参照インジケータ105は、被送信情報121が被送信信号107の正確な表現であるかどうかをデバイス115が判定できるように、デバイス115が受信信号のチェックサムを実行できるようにするためのデータを含むことができる。
【0057】
参照インジケータの使用は、タイミングリファレンスがデバイス101とデバイス115との間で共有されない場合に有用である。このような場合、参照インジケータ105を参照同期のために使用して、デバイス115が、独立型信号であっても信号108の一部であってもよい参照信号の到着時間を決定できるようにすることができる。デバイス115は、調整信号の関連付けの処理を通じて、被送信信号107を復元することができる(例えば、時間調整信号または周波数調整信号が、基準同期情報を使用して、受信されたデジタル信号117から抽出され、変調情報源からの送信情報107と関連付けることができる)。
【0058】
いくつかの実施では、ビットを使用する追加的または代替的方法として、デバイス101は、参照インジケータ105として信号108内に基準トーンを挿入する。例えば、デバイス101は、被送信情報107と、信号108内の擬似乱数(PN)チップシーケンス、または他の既知のプリアンブルまたは基準トーンなどの基準トーンとを含むことができる。基準トーンは、エンコードされた情報への既知の時間オフセット(例えば、それの直前、それに続く、またはその他)で挿入することができる。デバイス115は、既知の時間オフセットによって、信号108のエンコードされて被送信信号107のタイミング(および周波数)を決定することができる。
【0059】
いくつかの実施では、参照インジケータ105は、既知のプロトコルに対応するシーケンス番号を含む。プロトコルは、異なるシーケンス番号を、送信メッセージに含めることができるデータまたは他の番号の異なるストリングと関連付ける。このプロトコルは、デバイス101とデバイス115の両方に知らせることができ、信号108に対する参照インジケータ105に関連するシーケンス番号は、信号108に含めることができ、または、信号108の送信前にデバイス101とデバイス115の両方に知らせることができる。デバイス101およびデバイス115は、プロトコルの詳細(例えば、各デバイスのメモリ内または各デバイスに通信可能に接続された1つ以上のリモートサーバ内に格納されている)にアクセスして、制御およびデータ部分などの信号108の部分を決定することができる。デバイス115は、信号108からのデータおよび既知のプロトコルに関連するシーケンス番号に関する事前知識を使用して、被送信情報107に一致する被送信情報121を生成することができる。
【0060】
ある実施形態では、デバイス115によって受信信号117に加えて、被送信信号107は、帯域外通信によってデバイス115によって取得される。例えば、デバイス115は、デバイス101との有線接続を介して、またはデバイス101とデバイス115との間で事前較正された別のモードの無線通信を介して、被送信信号107を得ることができる。
【0061】
ステージBにおいて、信号エンコーダネットワーク123は、被送信情報121をエンコードして、信号エンコーダネットワーク123の構成に応じて、アナログまたはデジタル形式とすることができるエンコードされた情報129を生成する。デジタルからアナログへの変換は、信号エンコーダネットワーク123又はチャネル近似モジュール133のいずれかに含めることができる。いくつかの実施では、信号エンコーダネットワーク123は、従来の変調器、または、変調器及びエンコーダの役割として動作するか、またはこれを追加する。信号エンコーダネットワーク123は、1つ以上のニューラルネットワーク、またはニューラルネットワークの1つ以上のレイヤを含み、実際のまたはシミュレートされたチャネルを介して送信するために、情報をRF信号形式に変換することができる。いくつかの実施では、エンコードされた情報129は、RF信号波形表現を含む。例えば、エンコーダネットワーク123は、エンコードされた情報129として、被送信情報121の波形表現を生成することができる。波形表現は、時間にわたる信号の振幅を含むことができる。
【0062】
図1の例では、エンコーダネットワーク123によってエンコードされたエンコードされた情報129の信号は、実際の送信ではなく、チャネル近似モジュール133を介して送信される。チャネル近似モジュール133は、無線伝送チャネルなどの環境を介して伝搬する信号の影響をシミュレートする。例えば、チャネル近似モジュール133は、デバイス101とデバイス115との間の通信チャネルに対する他の信号効果のうち、木111および車両109の効果をシミュレーションすることができる。チャネル近似モジュール133はまた、無線信号を送信または受信するために使用される1つ以上のアナログ電子無線構成要素の伝達関数をエミュレートすることができる。
【0063】
ステージCにおいて、チャネル近似モジュール133はエンコードされた情報129とチャネル応答を用いて受信信号近似135を生成する。チャネル近似モジュール133におけるチャネル応答の生成は、
図2から
図5Bを含む後の図に関して論じられる。受信信号近似値135を生成するために使用されるチャネル応答は、後の図で論じるように、格納されているチャネル応答131を使用して決定される。チャネル応答は、通信チャネルに対する周波数応答を表し、1つ以上のアンテナから異なる遅延で受信された電力の複素数または実数の値を含むことができる。
【0064】
いくつかの実施では、チャネル近似モジュール133は、1つ以上のアナログ電子無線コンポーネントまたは無線伝送チャネルの転送機能をエミュレートするように構成される。いくつかの実施形態では、チャネル近似モジュール133は一連の前処理または正規化ステップを含む。例えば、前処理は、とりわけ、検知、同期、正規化、フィルタリング、またはチューニングを含むことができる。場合によっては、前処理は、デジタル信号処理(DSP)ルーチン(例えば、ソフトウェア、ファームウェア、ゲートウエア、デジタルロジックなど)を含む。場合によっては、前処理は、1つ以上の追加のニューラルネットワークベースの前処理タスクを含むことができる。
【0065】
いくつかの実施では、チャネル近似モジュール133は、シミュレートされた送信の前に信号で動作する畳み込みを含む1つ以上の演算を実行する。例えば、チャネル近似モジュール133は、記憶されたチャネル応答131からのチャネル応答や、記憶されたチャネル応答131を使用して生成されたシミュレートされたチャネル応答などのチャネル応答を、エンコードされた情報129と共に畳み込むことができる。チャネル応答とエンコードされた情報129との合成積の出力は、受信信号近似値135を表すことができる。
【0066】
ステージDにおいて、信号デコーダネットワーク139はチャネル近似モジュール133から受信信号近似135を得る。デコーダネットワーク139は、受信信号近似135を使用して、被送信情報121を再生しようとする。受信信号近似135は、チャネル近似モジュール133の構成に応じてアナログまたはデジタル形式とすることができる。アナログからデジタルへの変換は、チャネル近似モジュール133またはデコーダネットワーク139のいずれかに含むことができる。信号エンコーダネットワーク123と同様に、信号デコーダネットワーク139は、データをある形態から別の形態に変換する。信号エンコーダネットワーク123が被送信情報を、送信されるエンコードされた情報の信号に変換するのに対し、信号デコーダネットワーク139は、受信信号を、ここでは被送信情報の近似141と呼ばれる、エンコードされた情報129で被送信情報の近似値に変換する。
【0067】
いくつかの実施では、信号エンコーダネットワーク123および信号デコーダネットワーク139は、デバイス101からデバイス115に送られる信号108などの実無線送信データを使用して物理層変調方式を学習するように訓練される。訓練された信号エンコーダネットワーク123および信号デコーダネットワーク139を使用して、デバイス115は、無線通信システムのためのエンコードおよびチャネル近似を最適化することができる。
【0068】
いくつかの実施では、デバイス115またはデバイス115に通信可能に接続されたデバイスは、信号エンコーダネットワーク123、信号デコーダネットワーク139、およびチャネル近似モジュール133に含まれる1つ以上のニューラルネットワークを最適化する。最適化は、1つ以上の敵対的技術を用いることを含むことができる。ネットワークは、例えば非線形ワイヤレスチャネル及び電子デバイス応答のために、無線情報エンコーディングの近最適表現を学習するために、反復して又は共に訓練することができる。場合によっては、システム100は、困難であると考えられる場合(例えば、構成要素または無線効果の伝達関数をモデル化することが困難であるか、または従来のシステムにおける低計算量で正確にまたは低計算量で補償することが困難であり、性能劣化をもたらす)のために、有効な情報エンコーディングおよびチャネル近似関数(例えば、スループット、ビット誤り率、またはフレーム誤り率などのいくつかの目的を最大化または最小化するエンコード)を提供することができる。最適化は、確率的勾配下降などの反復処理において、各ネットワーク内の重みを更新する処理を参照することができる。2つ以上のプロセスは、信号エンコーダネットワーク123、信号デコーダネットワーク139、およびチャネル近似モジュール133を最適化するために、共にまたは反復して動作することができる。
【0069】
ある実施形態では、信号デコーダネットワーク139は、1つ以上の前処理または正規化動作を含む。例えば、前処理は、とりわけ、検知、同期、正規化、フィルタリング、またはチューニングを含むことができる。場合によっては、前処理は、DSPルーチン(例えば、ソフトウエア、ファームウェア、ゲートウエア、デジタルロジックなど)を含む。場合によっては、前処理は、1つ以上の追加のニューラルネットワークベースの前処理タスクを含むことができる。
【0070】
エンコーダネットワーク123またはデコーダネットワーク139、あるいはその両方に対する更新は、デコーダおよびエンコーダ更新エンジン143によって実行され、一方、チャネル近似モジュール133に対する更新は、チャネル更新エンジン137によって実行される。デコーダおよびエンコーダ更新エンジン143およびチャネル更新エンジン137は、受信信号117または信号108、あるいはその両方に基づいて、1つ以上の更新を反復的にまたは共に実行する。いくつかの実施では、更新エンジンは、チャネル近似モジュール133、信号エンコーダネットワーク123および信号デコーダネットワーク139の損失関数を使用して、通信チャネルモデリングまたは近似を最適化し、エンコーダネットワーク123および信号デコーダネットワーク139によって行われるオートエンコーディングを最適化する。例えば、デコーダ及びエンコーダ更新エンジン143は、被送信情報の近似141と被送信情報121との差を示す損失関数を生成することができる。訓練の複数回の反復にわたって、損失関数の出力に対応する損失値を減少させることができ、それにより被送信情報の近似141は、時間の経過とともに被送信情報121とより密接に一致する。
【0071】
同様に、チャネル更新エンジン137は、受信信号近似値135と受信信号117との間の差を示す損失関数を生成することができる。訓練の複数回の反復にわたって、受信信号近似値135が、時間より密接に受信信号117に一致するように、この損失関数の出力に対応する損失値を低減することができる。チャネル近似モジュール133および/またはオートエンコーダ(例えば、信号エンコーダネットワーク123および信号デコーダネットワーク139)のための損失関数は、確率的勾配降下、遺伝的アルゴリズム、または他の関連アルゴリズムを使用して改善され得る。
【0072】
先に述べたように、いくつかの実施では、損失計算と更新プロセスが共に実行される。例えば、結合更新エンジン147は、チャネル更新エンジン137およびデコーダおよびエンコーダ更新エンジン143からデータを得ることができる。データは、上述のように、それぞれのための損失関数を含むことができる。結合更新エンジン147は、チャネル更新エンジン137およびデコーダおよびエンコーダ更新エンジン143のそれぞれに更新を送ることによって、結合された損失関数を最小化することができる。更新は、チャネル近似モジュール133、信号エンコーダネットワーク123、および信号デコーダネットワーク139内のニューラルネットワークの重みまたは他のパラメータを調整するように構成することができる。調整された重みは、システム100によって処理される被送信情報121の1つ以上の繰り返しに対して、被送信情報の近似141および受信信号近似135を変更することができる。確率的勾配降下、遺伝的アルゴリズム、または他の関連アルゴリズムを使用して、結合更新エンジン147は、チャネル近似モジュール133、信号エンコーダネットワーク123、および信号デコーダネットワーク139内のニューラルネットワークを最適化し、本明細書に記載されるように、対応する損失関数を低減することができる。信号エンコーダネットワーク123および信号デコーダネットワーク139などの1つ以上のネットワークを調整することは、特に、1つ以上の層、重み、パラメータ、または、1つ以上の構成ニューラルネットワークのノードの接続を調整することを含むことができる。
【0073】
いくつかの実施では、損失計算および更新プロセスが繰り返し実行される。これは、たとえば、訓練中に互いに影響を与える競合する敵対的目標として、更新操作と損失計算の間で反復することによって達成される。繰り返し更新する場合、各損失(例えば、チャネル近似モジュール133からの損失と、エンコーダおよびデコーダネットワーク123および139からの損失)は、独立して使用することができる。このような場合、チャネル近似モジュール133の1つ以上のネットワークなどの重みは所定の位置に固定され、信号エンコーダネットワーク123および信号デコーダネットワーク139の更新プロセス中に更新されない。同様に、信号エンコーダネットワーク123および信号デコーダネットワーク139の1つ以上のネットワーク内などの重みは所定の位置に固定され、チャネル近似モジュール133の更新プロセス中に更新されない。
【0074】
図1に示すように、信号デコーダネットワーク139は被送信情報の近似141をデコーダ更新エンジン143に提供する。デコーダ更新エンジン143はさらに、送信された信号抽出モジュール119から被送信情報121を取得する。デコーダ更新エンジン143は、デコーダネットワーク139によって生成された被送信情報の近似141を被送信情報121と比較する。被送信情報の近似141と被送信情報121との間のL2損失と呼ばれる差異に基づいて、デコーダ更新エンジン143は、デコーダ更新145を生成する。デコーダ更新部145は、デコーダネットワーク139の1つ以上のパラメータまたは重みを調整するように構成される。デコーダ更新エンジン143は、特に、確率的勾配下降を含む1つ以上のアルゴリズムを含むことができる。一般に、デコーダ更新部145は、被送信情報の後続の近似が既知の送信情報とより密接に一致するように、デコーダネットワーク139を調整するように構成される。
【0075】
いくつかの実施では、1 つ以上のネットワークを更新するための差分生成に、カルバックライブラー・ダイバージェンス (KL-divergence)が含まれる。例えば、更新エンジンの1つ以上、例えば、デコーダおよびエンコーダ更新エンジン143、チャネル更新エンジン137、および/または結合更新エンジン147は、KLダイバージェンスを使用して、2つ以上の値の差異を決定することができる。デコーダおよびエンコーダ更新エンジン143は、KLダイバージェンスを使用して、被送信情報の近似141と被送信情報121との間の差異を決定することができる。KLダイバージェンスは、デコーダ更新145またはエンコーダ更新127を決定するために使用することができる(例えば、より大きいKLダイバージェンスは、デコーダ更新145またはエンコーダ更新127によって実行されるより大きい調整に対応する)。同様に、KLダイバージェンスを使用して、チャネル更新エンジン137および結合更新エンジン147の差分および対応する更新を計算することができる。
【0076】
デコーダ更新145の生成に加えて、またはその代わりに、デコーダおよびエンコーダ更新エンジン143は、信号エンコーダネットワーク123のためのエンコーダ更新127を生成することができる。このような場合、デコーダおよびエンコーダ更新エンジン143は、信号エンコーダおよび信号デコーダネットワーク123および139を、共にまたは反復して更新することができる。例えば、上述したように、信号エンコーダネットワーク123のパラメータは、信号デコーダネットワーク139のパラメータが安定であり、かつその逆である間に調整することができる。また、信号エンコーダネットワーク123および信号デコーダネットワーク139のそれぞれのためのパラメータを同時に調整することもできる。確率的勾配降下、バックプロパゲーション法などの様々な技術を使用して、信号エンコーダネットワーク123、信号デコーダネットワーク139、または信号エンコーダネットワーク123および信号デコーダネットワーク139の両方内の重みまたはパラメータに対する変更を決定することができる。一般に、エンコーダ更新127は、被送信情報の後続の近似が既知の被送信情報とより密接に一致するように、エンコーダネットワーク123を調整するように構成することができる。
【0077】
同様に、チャネル近似モジュール133は、チャネル更新エンジン137によって更新可能である。チャネル近似モジュール133の訓練については、後の図を参照して詳細に議論される。
図1は、チャネル近似モジュール133の訓練が結合更新エンジン147と共同または反復的にどのように実行され得るかを示す。前述したように、チャネル更新エンジン137とデコーダおよびエンコーダ更新エンジン143の両方は、シミュレートされた値または近似値と既知値との差異を示す損失値を生成することができる。例えば、チャネル更新エンジン137は、受信信号117および受信信号近似135を取得し、これらの間の差または損失(L1損失と呼ばれる)を計算する。L1損失に基づいて、チャネル更新エンジン137は、1つ以上の訓練反復にわたってチャネル更新138を生成する。チャネル更新138は、チャネル近似モジュール133に含まれる1つ以上のネットワークのパラメータを含むチャネル近似モジュール133の1つ以上のパラメータを調整するように構成される。そうすることによって、チャネル更新は、受信信号117と受信信号近似135との間の差を減少させることによって、チャネル近似の精度を向上させる。
【0078】
説明したように、デコーダおよびエンコーダ更新エンジン143は、被送信情報の近似141と実際に被送信情報121との差を生成する。場合によっては、チャネル更新エンジン137によって計算された差と一緒に、この差または損失を、結合更新エンジン147に提供することができる。結合更新エンジン147は、エンコードおよびデコードに対応するL2損失と、チャネル近似に対応するL1損失とを組み合わせて、LCと呼ばれる複合損失を生成することができる。チャネル更新エンジン137およびデコーダおよびエンコーダ更新エンジン143と同様に、結合更新エンジン147は、ネットワーク(例えば、信号エンコーダネットワーク123、チャネル近似モジュール133の1つ以上のネットワーク、および信号デコーダネットワーク139)に対するパラメータ変更を決定するために、確率的勾配下アルゴリズム、汎用アルゴリズム、逆伝搬アルゴリズムなど、1つ以上のアルゴリズムを含むことができる。一般に、パラメータ変更は、L1、L2、およびLCを含む結合更新エンジン147によって得られる差異を低減し、ネットワーク123および139におけるエンコードおよびデコードの効率も改善しつつ、チャネル近似の精度を改善するように構成することができる。
【0079】
前述したように、いくつかの実施では、信号エンコーダネットワーク123およびチャネル近似モジュール133のそれぞれは、1つ以上のニューラルネットワークを含む。いくつかの実施では、信号デコーダネットワーク139は、1つ以上のニューラルネットワークを含む。先に述べたように、いくつかの実施では、デバイス115によって実施されるように記述される1つ以上の動作は、デバイス115、例えば、フィールドプログラマブルゲートアレイ(FPGA)などのサーバまたは専用ハードウェアプロセッサに通信可能に接続された装置によって実装される。
【0080】
いくつかの実施では、エンコーダネットワーク123、デコーダネットワーク139、またはチャネル近似モジュール133の1つ以上は、重み付きの一連の密な(または場合によってはストライドまたはスパースである)行列乗算、バイアスの追加、これらのプロダクトの組み合わせの合計、および、修正線形ユニット(ReLU)またはシグモイド関数などの出力上の非線形関数のアプリケーションの形成をとる。いくつかの実施では、システム100は、エンコーダ、例えば、エンコーダネットワーク123またはデバイス101によって使用される対応するエンコーダを含む。エンコーダは、1つまたは多くのアンテナ、多入力多出力(MIMO)を有する無線(または有線)チャネルまたはアナログコンポーネントのセット、または複数の受信アンテナを有するデコーダネットワーク139などのデコーダネットワーク、またはこれらの任意の好適な組合せのためのエンコーダを生成する。このようにして、訓練プロセスとともに本明細書に記載されるシステム100を含むシステムは、候補セルラー第5世代(5G)、5G+、第6世代(6G)、または6G+、波形設計、最適化およびデプロイなどのMIMOおよび大規模MIMOシステムに直接適用可能である。
【0081】
いくつかの実施では、エンコーダネットワーク123およびデコーダネットワーク139は、効率的なネットワーク構造(活性化、層または重み付けの接続性など)、同期化、推定、または注意(attention)の方法に関する従来の知識を活用して、これらのネットワークを効率的で高性能な動作にスケーリングするタスクを支援する。この文脈において、注意(attention)は、しばしば学習方法で、特定のデータのサブセットにリソースを集中させたり、元の受信情報からの情報のサブセットを同期化または正規化したりする能力を指す。
【0082】
図2は、シミュレートされたチャネル応答を生成するためのチャネルデコーダネットワーク203を含むチャネル近似システム133の一例を示す図である。デコーダネットワーク203は、チャネル応答ネットワーク207を含む。いくつかの実施では、チャネル応答ネットワーク207は、1つ以上のニューラルネットワークを含む。デコーダネットワーク203は、チャネル応答ネットワーク207を使用して、入力の学習された潜在空間変数205に基づいて出力チャンネル応答209を生成する。出力チャンネル応答209は、環境(例えば、
図1に関して説明したように)が、その環境内に伝搬する所与の信号に与える影響を決定するために使用される。例えば、ある場合には、出力チャンネル応答209は、送信機(例えばデバイス101)から受信機(例えばデバイス115)までシステム内を伝搬する周波数の周波数応答を表す。学習された潜在空間変数205は、環境において得られた多数のチャネル応答に基づいた低次元データ変数を表す。潜在空間は、特徴空間(例えば、チャネルの変換された符号をエンコードする32次元数値のような学習されたベクトル空間-例えば、チャネルから構築することができ、またはチャネルを再構築するために使用することができる)であり、そこから変数205の値が抽出される。チャネル応答データから変数205を生成するプロセスは、次元削減問題として表すことができる。例えば、チャネル応答は、広範囲の周波数における各周波数に対する広範囲の電力レベルを表す多くの次元を含むことができる。低次元潜在空間変数205は、より少ない変数(例えば、ベクトル内の32整数)を有する高次元チャネル応答データの特性を表す。ある実施形態では、デバイス115などのデバイスは、チャネル近似モジュール133を訓練し、学習された潜在空間変数205を決定することができる。
【0083】
デコーダネットワーク203は、受信した信号モジュール213に出力チャンネル応答209を提供する。受信信号モジュール213は、被送信信号モジュール211から、これから送信される信号、またはすでに送信済みの信号のコピーを得る。例えば、
図1の文脈では、送信された信号モジュール211は、エンコードされた情報129を得ることができる。受信信号モジュール213は、出力チャンネル応答209およびエンコードされた情報129を使用して、被送信情報の近似141を生成することができる。場合によっては、チャネルデコーダネットワーク203、被送信信号モジュール211、および受信信号モジュール213の動作は、
図1のチャネル近似モジュール133の動作を実行する命令を実行する1つ以上のコンピュータによって実行することができる。
【0084】
受信信号モジュール213は、出力チャンネル応答209と、被送信信号モジュール211から送信されるべき信号、例えばエンコードされた情報129とを使用して、
図1の受信信号近似135のような受信信号近似を決定する1つ以上の動作を行うことができる。いくつかの実施において、受信信号モジュール213は、送信されるべき信号と出力チャンネル応答209との畳み込みを行い、受信信号近似、例えば、
図1の受信信号近似135を生成する。受信信号近似は、送信機によって送信され、1つ以上の環境効果の影響を受けた後に受信機によって受信されるであろう信号を近似する。
【0085】
図3は、チャネルエンコーダネットワーク301と、出力チャンネル応答209のようなシミュレートされたチャネル応答を生成するために用いられる学習された潜在空間変数205を生成するためのチャネルデコーダネットワーク203とを含むシステム300の例を示す図である。チャネルエンコーダネットワーク301は、潜在空間から潜在空間変数205を決定するために、1つ以上のニューラルネットワークである潜在空間ネットワーク305を含む。いくつかの実施では、チャネルエンコーダネットワーク301は、例えば、潜在空間ネットワーク305の動作を含むチャネルエンコーダネットワーク301の動作に対応するソフトウェア命令を実行することによって、チャネル近似モジュール133の動作を行うように構成された1つ以上のコンピュータによって実現される。
【0086】
チャネルエンコーダネットワーク301は、
図4に示すように、チャネルデコーダネットワーク203で訓練され、学習された潜在空間変数205を生成することができる。学習された潜在空間変数205は、1つ以上のベクトルを含むことができる。いくつかの実施では、学習された潜在空間変数205は、時間の経過に伴う伝搬効果の進化をミラーリングするために、時間の経過とともに調整される。例えば、学習された潜在空間変数205は、値の集合に対応することができる。値のセットは、1つ以上のベクトルに含めることができる。チャネルデコーダネットワーク203の各動作について、値のセット内の変数、または1つ以上のベクトルのセット内のベクトルを、チャネル応答ネットワーク207の入力として学習された潜在空間変数205として使用することができる。このようにして、環境の変動性は、チャネル近似を改善するために、シミュレートされたチャネル応答内で正確に捕捉することができる。
【0087】
入力チャネル応答303は、画像307aと共に図示されており、これは、「h」と呼ばれ、以下により詳細に説明されるサンプル入力チャネルインパルス応答を示しており、ここで、周波数の範囲にわたる電力レベルは、折れ線グラフとして示されている。潜在空間ネットワーク305は、結合層に複数のノードを有するニューラルネットワーク構造を示す画像309で図示される。同様に、チャネルデコーダネットワーク203のチャネル応答ネットワーク207は、接続された層に複数のノードを有するニューラルネットワーク構造を示す画像311によって図示される。画像313aは、入力チャネルインパルス応答303の近似値であり、
【数1】
として参照される後述の、出力チャンネルインパルス応答209のグラフ表現を示す。
【0088】
図3の例示的システム300は、チャネル近似モジュール133をモデリングして訓練するための変分オートエンコーダ(VAE)ベースの訓練アプローチに使用することができる。システム300は、シミュレートされたチャネル応答を生成するために、敵対的生成ネットワーク(GAN)アプローチに加えて、またはそれに代わる変分オートエンコーダを利用するチャネルエミュレーションのための代替方法を提供する。この場合、1つ又は複数のアンテナに関して異なる遅延で受信された電力の複素数又は実数の値を表すチャネルインパルス応答「h」は、潜在空間ネットワーク305として
図3に示されているエンコーダネットワーク又は変分エンコーダネットワークを通じて、「z」(通常はより低次元の)と称することができる潜在変数205にエンコードされる。この文脈では、変分とは、ニューラルネットワーク内の「再パラメータ化トリック」またはサンプリング層を指し、ランダム値を描画する。ここで、ランダム分布またはランダム分布の特性を定義する特定の特性、例えば、平均と分散は、ニューラルネットワーク内の活性化または中間値によって定義される。
【0089】
図3では、チャネルインパルス応答「h」が示され、例えば画像307aは、単一の電力遅延プロファイルであるが、多くの場合、NxM MIMOチャネル遅延応答が表され得(ここで、NおよびMは正の整数である)、または複素数値(例えば、直交ベースバンドサンプリングされた)遅延応答も同様に表され得る。
図3のチャネル応答ネットワーク207として示されるデコーダネットワークまたは変分デコーダネットワークは、入力チャネルインパルス応答303(h)の推定値として、潜在変数205または「z」から出力チャンネルインパルス応答「
【数2】
」を再構成するために使用される。「z」は、潜在空間ネットワーク305の変分エンコーダから形成されるランダム分布であり得るので(場合によっては、
【数3】
は、チャネル応答ネットワーク207などの変分デコーダから形成される)、
【数4】
は「z」のこの分布の確率的ランダム関数とみなすことができる。
【0090】
チャネル応答ネットワーク207を訓練するために、hと
【数5】
(または、入力応答と出力応答との差異を示す値のようである他の類似の中間値)との間の平均二乗誤差のような再構成損失が使用され得、場合によっては、追加の損失項(例えば、f-ダイバージェンスベースの損失)が使用され得、例えば、変数205が生成される潜在的空間「z」にわたって分布特性を強制する。強制分布特性は、分布が固定の分布ではなく、望ましい特性を持つようにするのに役立つ。
【0091】
入力チャネル応答303のような測定またはシミュレートされたチャネル応答「h」のセットを有するこのようなシステムを訓練することによって、生成器を、デコーダネットワーク、例えば、チャネル応答ネットワーク207の形成で生成することができ、これは、変数「z」で表されるランダム潜在分布を、推定されたチャネル応答「
【数6】
」に変換する。変分ネットワークがエンコーダの形態、例えば、潜在空間ネットワーク305をとるとき、エンコーダネットワークは、中間値を生成し、これは、平均値、分散、対数分散など、正規分布のような一組の分布を含むことができ、次いで、各転送する推論パスの間にサンプリングされ、潜在空間ネットワーク305内の活性化の別の組を形成する。これらは、潜在変数「z」を直接形成し、場合によっては、あるいは、1つ以上の入力「h」に対して「z」に対する値または「z」に対するランダム分布を形成するために、直線化線形ユニット(ReLU)またはパラメトリックReLU (PReLU)の活性化のような、線形または非線形活性化を含む1つ以上の追加のニューラルネットワーク層を通過し得る。
【0092】
いくつかの実施では、変分オートエンコーダ(VAE)は、送信(Tx)/受信(Rx)データペアを使用して、またはチャネル音響デバイスから得られたチャネル応答の推定から訓練することができる。この場合、入力チャネル応答303は、画像307bに図示的に示される送信値に置き換えられ、出力チャンネル応答209は、画像313bにグラフィカルに示される受信値に置き換えられる。例えば、画像307b、「x」、および画像313b、「y」としてそれぞれ図示されるチャネルの生の入力および出力データは、チャネルインパルス(または遅延)応答値「h」ではなく、直接的に考慮される。場合によっては、チャネル応答データの代わりに送信値で訓練すると、送信値と受信値との間の非線形関係を有する通信チャネルのより正確な近似をもたらすことができる。
【0093】
これらの場合のいくつかは、送信された値「x」、および、1つ以上の通信チャネルを通過した後に受信された値「y」をもつ音響データが、xとyの間の完全な確率的関係関数をモデル化するために使用される。チャネルインパルス応答「h」は、xとyとの間の線形関係を反映するために多くのシステムで使用されるが、チャネルの入力と出力との間には非線形関係が存在する。チャネル入力と出力間のVAEを直接訓練することにより、2つの間の非線形関係を学習することができる。VAEは入力と出力を同じ値と見なすことができるが、場合によっては、チャネル入力からのチャネル出力を回帰する回帰タスクが含まれることもある。
【0094】
場合によっては、VAEの「オート(auto)」という用語は、一般に、チャネル機能を通じて同じ「変換された」値の自動回帰を意味することがある。チャネルシミュレーションのためのこの別の方法は、チャネル入力xとチャネル出力yとの間の関係を学習することができ、これらの関係は、通常、応答値「h」において捕捉されないが、VAEアプローチを使用して、同様に訓練することができる。場合によっては、このVAE訓練プロセスと共に識別ネットワークが使用され、再構成、VAE損失、および生成器/識別器損失のような複数の損失が、異なる大きさで互いにトレードオフされ、チャネルエミュレーション近似関数を最良に生成することができる。
【0095】
図示のように、チャネルエンコーダネットワーク301は、画像307aに図示的に示される入力チャネル応答303を、潜在空間ネットワーク305を使用して変数205にエンコードする。例えば、いくつかの実施では、潜在空間ネットワーク305は、変分オートエンコーダ(VAE)を含むことができる。この文脈では、変分とは、ニューラルネットワーク内の再パラメータ化操作またはサンプリング層を指し、ランダム値を描画する。ランダム値は、ランダム分布またはランダム分布の特性、例えば平均と分散を定義する特定の特性が、ニューラルネットワーク内の活性化または中間値によって決定される。潜在空間ネットワーク305は、取得されたチャネル応答の特性に基づいて、入力チャネル応答303を含む1つ以上の取得されたチャネル応答に基づいて、潜在的な空間分布を学習することができる。いくつかの実施では、潜在空間はランダムである。いくつかの実施では、潜在空間は、潜在空間ネットワークおよび入力チャネル応答303の特性に基づいて決定される。潜在空間ネットワーク305内の活性化は、数値分布、例えば、平均および分散のパラメータを表すことができ、そこから値がサンプリングされて、学習された潜在空間変数205を生成する。
【0096】
いくつかの実施では、チャネルデコーダネットワーク203は、学習された潜在空間変数205を使用して入力チャネル応答303を再構築するように訓練される。例えば、チャネルデコーダネットワーク203は、入力チャネル応答303と類似しているが同一ではない1つ以上のアンテナについて、異なる遅延で受信された電力の複素数または実数の値を示す出力チャンネル応答209を生成する。出力チャンネル応答209は、入力チャネル応答303が得られた環境で得られた別の可能なチャネル応答を示すことができる。このようにして、チャネルデコーダネットワーク203は、特定の環境に対するチャネル応答をシミュレートすることができ、またはテストまたは解析を行うためのモデルとして機能することができる。チャネルデコーダネットワーク203によって生成された出力チャンネル応答は、一般に通信チャネル内で線形障害効果を想定する静的モデルよりも正確である。
【0097】
いくつかの実施形態では、チャネルエンコーダネットワーク301で使用される入力チャネル応答303は、実世界の送信機からの送信を受信する実世界の受信機から得られる。場合によっては、実世界のチャネル応答の代わりに、チャネルエンコーダネットワーク301は、シミュレートされた応答を使用することができる。入力チャネル応答303が実世界通信チャネルの周波数応答を表す場合、入力チャネル応答303は、送信信号と受信信号を使用して生成することができる。応答303は、送信信号と受信信号、例えば信号108と受信信号117との間の変更を説明するチャネル効果を示すことができる。
図4は、得られた実世界のチャネル応答を用いて受信信号及び送信信号並びにチャネル符号器及び復号器ネットワーク301及び203の訓練を得ることにより実世界のチャネル効果を収集する例を示す。
【0098】
図4は、チャネル応答を取得し、チャネルエンコーダネットワークおよびチャネル近似システムのチャネルデコーダネットワークを訓練するためのシステム400の一例を示す図であり、例えば、チャネルエンコーダネットワーク301およびチャネル近似モジュール133のチャネルデコーダネットワーク203を訓練する。
図1に関して説明したシステム100と同様に、システム400では、信号108がデバイス101からデバイス115に送られる。図示するように、ある場合には、デバイス115は、移動中の車両109に搭載されている。デバイス115は、送信された信号を捕捉する環境内を移動して、チャネル応答を生成することができ、チャネル応答は、デバイス115およびデバイス101の相対位置に応じて変化し得る。受信信号117は、環境内の他の送信機からの他の信号と同様に信号108を含むことができる。
【0099】
図1で説明したように、デバイス115の送信された信号抽出モジュール119は、受信した信号117から、被送信信号107と一致する被送信情報121を抽出する。チャネル応答エンジン403は、例えば、1つ以上のコンピュータを使用して1つ以上のプログラム命令を実行することによって、デバイス115またはデバイス115に通信可能に接続されたデバイス(例えば、サーバ)によって実現されるソフトウェアルーチンとして実現可能であり、被送信情報121および受信信号117を取得して、送信機101から受信デバイス115に信号108が伝搬される無線通信チャネルのチャネル応答を決定または生成し、チャネル応答を格納されたチャネル応答131に格納する。チャネル応答エンジン403は、受信信号117に基づいて、信号108に対応するチャネル応答を生成することができる。例えば、チャネル応答エンジン403は、受信信号117に対応する周波数の範囲について、電力レベルおよび/またはインパルス応答または周波数領域フェージングプロファイルを決定することにより、チャネル応答を生成することができる。
【0100】
図1のシステム100に関して説明したように、デバイス101は、送信された信号抽出モジュール119を支援して被送信情報121を抽出するために、信号108内に参照インジケータ105を含むことができる。いくつかの実施では、デバイス110はタイミング発生源401を使用して信号108を生成し、同じまたは類似のタイミング発生源401がデバイス115にアクセス可能である。ある場合には、タイミング発生源401は、毎秒既知のパルスを有するテスト信号発生器からの信号とすることができる。場合によっては、タイミング発生源401は、デバイス101とデバイス115の両方が利用可能な外部タイミング発生源であってもよい。例えば、タイミング発生源401は、全地球測位システム(GPS)信号からタイミングを取ることができる。タイミング発生源401は、デバイス101とデバイス115の両方に共通のタイミングを提供することができる。
【0101】
共通のタイミング発生源のため、コンバータのサンプリング時間(例えば、アナログ-デジタルコンバータまたはデジタル-アナログコンバータ)は、ほぼ同じであることが知られている(例えば、コンバータのサンプリング時間は、タイミングジッタの1ナノ秒未満などのある誤差許容範囲内であってもよい)。したがって、送信信号抽出モジュール119は、時間および周波数の両方において、受信信号に対して調整を実行することができる。被送信信号抽出モジュール119は、整列信号関連付けの処理を通じてエンコードされた被送信信号を復元することができる。例えば、デバイス101のデジタル-アナログ変換器およびデバイス115のアナログ-デジタル変換器から同一であるタイミングの知識を用いて、時間調整され、場合によっては周波数調整された信号が、被送信信号107の表現として受信信号117から抽出される。抽出された信号は、例えば(s、r)のタプルを形成するように、被送信信号107および受信信号117に関連付けられる。ここで、sは被送信信号107であり、rは受信信号117である。
【0102】
いくつかの実施では、チャネル応答エンジン403は、送受信情報のアナログバージョンを使用してチャネル応答を生成する。いくつかの実施では、チャネル応答エンジン403は、送受信情報(例えば、受信信号117)のデジタルバージョンを使用してチャネル応答を生成する。いくつかの実施では、チャネル応答エンジン403は、被送信情報のアナログまたはデジタルのいずれかと、受信された情報のアナログまたはデジタルのいずれかとを使用してチャネル応答を生成する。
【0103】
いくつかの実施では、無線伝送に加えて、デバイス101は、伝送された信号108を別の通信の一部としてデバイス115に送信する。例えば、デバイス101は、有線通信媒体を使用して被送信信号108をデバイス115に送信することもできる。このような場合、デバイス115は、被送信情報121を決定する操作を行うことなく、被送信信号108のコピーを有することができ、または被送信情報121に基づいて被送信信号108を生成することができる。
【0104】
デバイス115は、記憶されたチャネル応答131を使用して、チャネルエンコーダネットワーク301およびチャネルデコーダネットワーク203を訓練する。格納されたチャネル応答131は、チャネル応答エンジン403によって生成された1つ以上のチャネル応答を含むことができる。デバイス115は、記憶されたチャネル応答131からチャネル応答を選択し、選択されたチャネル応答を入力チャネル応答303としてエンコーダ301に提供する。いくつかの実施では、保存されたすべての応答が選択され、訓練中に繰り返される。いくつかの実施では、記憶されたチャネル応答131内のチャネル応答はソートされ、デバイス115(または、エンコーダおよびデコーダネットワークを訓練するように構成された別のコンピュータ、例えば、サーバ)は、応答を選択し、順位付け順序で逐次または並列した訓練の反復を実行する。ランキングは、応答データの品質に基づいて行うことができる。たとえば、アンテナが誤動作していなかった場合や、応答がエリアの典型的な応答の範囲内であった場合などである。チャネルエンコーダネットワーク301は、入力チャネル応答303を潜在空間ネットワーク305に提供する。
【0105】
図4の例では、潜在空間ネットワーク305は、分布パラメータ407(例えば、平均、標準偏差、分散値など)を生成し、分布パラメータ407をサンプリングモジュール409に提供する。サンプリングモジュール409は、例えば、デバイス115によって実現されるソフトウェアルーチンとして、あるいは、1つ以上のコンピュータを使用して1つ以上のプログラム命令を実行することによって、デバイス115に通信可能に接続されるデバイス(例えば、サーバ)として実現することができ、分布パラメータ407によって特定される分布から値を選択する。例えば、分布パラメータ407は、正規分布を特定することができる。分布から選択される値には、整数、実数、複素数などが含まれる。次いで、サンプリングモジュール409は、パラメータ407によって示される正規分布から学習された潜在空間変数205を生成するために、値をサンプリングすることができる。いくつかの実施では、サンプリングモジュール409は、パラメータ407によって定義される分布から値をランダムに選択する。例えば、サンプリングモジュール409は、1つ以上のランダム化アルゴリズムを含む。1つ以上のランダム化アルゴリズムは、パラメータ407によって定義される値の分布内から1つ以上の値を選択できる。
【0106】
サンプリングモジュール409によって生成された、学習された潜在空間変数205は、チャネルデコーダネットワーク203に提供される。チャネル応答ネットワーク207は、チャネル応答ネットワーク207内において実施される1つ以上のニューラルネットワークに基づいて、学習された潜在空間変数205を使用して出力チャンネル応答209を生成する。
【0107】
チャネルデコーダネットワーク203は、学習された潜在空間変数205及び出力チャンネル応答209を、チャネルエンコーダネットワーク301及びチャネルデコーダネットワーク203を訓練する種々の更新エンジンに提供する。例えば、チャネルデコーダネットワーク203は、学習された潜在空間変数205を潜在空間更新エンジン413に提供する。潜在的な空間更新エンジン413は、訓練分布411にアクセスする。潜在空間更新エンジン413は、例えば、デバイス115によって実現されるソフトウェアルーチンとして、または、1つ以上のコンピュータを使用して1つ以上のプログラム命令を実行することによって、デバイス115に通信可能に接続されるデバイス(例えば、サーバ)として実現することができ、学習された潜在空間変数205を訓練分布411と比較する。
【0108】
いくつかの実施では、潜在的な空間更新エンジン413は、分布パラメータ407によって指定された分布を訓練分布411と比較する。例えば、潜在空間更新エンジン413は、分布パラメータ407によって指定された分布からランダムにサンプリングし、ランダムサンプリングを訓練分布411と比較することができる。潜在空間更新エンジン413は、ランダムサンプリングの1つ以上の値が訓練分布411内にあるかどうかを判定することによって、訓練分布411からのランダムサンプリングによって、ランダムサンプリングを訓練分布411と比較することができる。分布を比較するランダムサンプリングは、分布が分布の数学モデルに確認されない場合に役立つ。場合によっては、潜在的な空間更新エンジン413は、分布パラメータ407を、訓練分布411を定義するパラメータと比較する。訓練分布411に対応するデータと潜在空間変数205に対応するデータとの間の差に基づいて、潜在空間更新エンジン413は潜在空間ネットワーク305を更新することができる。
【0109】
いくつかの実施では、訓練分布411は正規分布である。潜在空間更新エンジン413は、学習された潜在空間変数205と訓練分布411との間の差の量を示す損失指標を生成することができる。損失指標を使用して、潜在空間更新エンジン413は、例えば、潜在空間ネットワーク305の1つ以上のニューラルネットワークの1つ以上のパラメータ、層、または重みを調整することによって、潜在空間ネットワーク305を更新することができる。訓練分布411に従って学習された潜在空間変数205の柔軟性を制限することにより、システム400は、潜在空間ネットワーク305が、分布パラメータ407によって提供される潜在空間内の分布を過剰に指定することを防止し、効率的かつ正確なチャネル応答に対して十分に一般的ではない潜在空間変数に導く。一般に、潜在空間エンジン413は、潜在空間ネットワーク305を調整して、訓練分布411によく似た分布パラメータを生成し、従って、訓練分布411に含まれる可能性の高い変数、例えば変数205のサンプリング値を生成することができる。
【0110】
チャネルデコーダネットワーク203は、出力チャンネル応答209をチャネルネットワーク更新エンジン415に提供し、これはまた、エンコーダネットワーク301から入力チャネル応答303を取得する。チャネル近似モジュールを訓練するための別の制限は、シミュレートされる出力チャンネル応答209が、入力チャネル応答303からの閾値差を超えることを防止することを含むことができる。シミュレートチャネル応答は、合成チャネル応答と呼ぶことができる。閾値は、ユーザが手動で設定することも、環境内の応答の変化(例えば、可変性の高い環境では高い閾値、可変性の低い環境では低い閾値)を使用して可変的に設定することもできる。環境内で検出されたすべての応答の変動の単純なパーセンテージは、閾値を設定することができ、またはグループ化アルゴリズムは、密接に関連する応答のグループ(例えば、k-平均クラスタリングなど)の存在に基づいて、動的閾値を決定することができる。このようにして、チャネルデコーダネットワーク203は、多数の実世界で得られたチャネル応答を必要とすることなく、一般に環境に対応する(例えば、現実の作業チャネル応答と同様の周波数に対する電力遅延値を示す)シミュレートされたチャネル応答のセットを生成することができる。
【0111】
いくつかの実施において、チャネルネットワーク更新エンジン415は、入力チャネル応答303を出力チャンネル応答209と比較する。比較によって決定された2つの差に基づいて、チャネルネットワーク更新エンジン415は、チャネル応答ネットワーク207を調整することができる。この文脈では、チャネル応答ネットワーク207などのネットワークを調整することは、1つ以上の層、重み、パラメータ、または、特に1つ以上のニューラルネットワークのノードの接続を調整することを含むことができる。一般に、チャネルネットワーク更新エンジン415は、チャネル応答ネットワーク207を調整して、入力チャネル応答303により類似した出力チャンネル応答を生成することができる。
【0112】
いくつかの実施では、学習された潜在空間変数205は、入力チャネル応答303または出力チャンネル応答209のいずれかと比較して、より少ない自由度を含む。例えば、入力チャネル応答303は、いくつかの異なる周波数、例えば250の周波数に対する電力値を含むことができる。しかし、学習された潜在空間変数205は、例えば250個の周波数を次元減少形成で表す32個の値を含むベクトルであってもよい。潜在空間ネットワーク305を訓練して、より少ない自由度で入力チャネル応答303を特徴付けるサンプリングのための分布を生成することによって、潜在変数205は、捕捉された実世界チャネル応答のセットに基づいて容易には明らかでない可能性のある所与の通信チャネルの基本的特徴を示すことができる。学習された潜在空間変個数205の値の個数は、変動性を有するが入力チャネル応答に類似しているデコードされたチャネル応答を達成する最も低い値の個数を示すために、訓練の間に静的または可変的にセットすることができる。
【0113】
ある実施形態では、エンコーダネットワーク301は、通信チャネルの特定の特性を取得し、これを使用して、通信インスタンスの特定の条件のために潜在変数205を調整することができる。例えば、通信チャンネルが信号に及ぼす伝搬効果は、気候、時刻、天気、送信機または受信機の近傍にある物体、またはその両方にある物体、その他の信号伝送、送信機および受信機の位置などの要因に依存し得る。デバイス115またはデバイス101は、位置情報、例えば、送信機、受信機、環境目的などの位置情報、ならびにこれらの要因を決定するための環境情報を取得することができる。デバイス101によって取得された情報は、信号108または別の通信においてデバイス115に送ることができる。デバイス115によって取得された情報は、訓練で直接使用することができる。これらの要因を記録することによって、デバイス115は、信号が受けるフェージング特性などの通信チャネルの特性を決定し、デコーダネットワーク203を含むシステムを訓練して、これらの条件下で実世界のチャネル応答に類似するシミュレートされたチャネル応答を生成することができる。また、チャネル特性は、例えば、中でも、位置、標高、車両運転、部屋のサイズ、材料特性、異なる周波数帯域を含むことができる。
【0114】
例えば、所定のチャネルプロパティのセットに対して、デコーダネットワーク203は、対応する変数および出力チャンネル応答を生成することができる。例えば、デコーダネットワーク203は、すべてのチャネルプロパティについてエンコーダネットワーク301によって定義された分布から、または学習された潜在空間変数205を生成するために、その分布からの特定のチャネルプロパティおよびサンプルデータについて、エンコーダネットワーク301によって定義された特定の分布を取得する、特定のチャネルプロパティに従って、データをサンプリングするモジュールを含むことができる。いずれの場合も、デコーダネットワーク203は、特定のチャネルプロパティに一致する出力チャンネル応答を生成する学習潜在空間変数205を生成することができる。出力チャンネル応答は、同じチャネルプロパティのセットに対応する実世界のチャネル応答と同様になる。降水が特定の周波数伝送に影響する場合、チャネル特性のセットに記録されていれば、上述のように、これらのチャネル特性で捕捉された1つ以上の実世界チャネル応答に従って、対応する潜在変数を生成することができる。
【0115】
いくつかの実施形態では、デバイス115および101上のさらなるセンサ、例えば、とりわけ、カメラ、湿度センサは、チャネル特性を検出し、分布および分布に基づく変数205の生成のためにこれらの特性を提供することができる。例えば、デバイス115のカメラは、センサのエリア又は伝搬環境を通過する車両、チャネルのエリア内の大型又は異常な目的又はリフレクタの存在、その他の事象の存在、例えば、条件に影響を与えるかもしれないその他の事象の存在を認識することができる。場合によっては、検知装置は、通信チャンネルに何らかの方法で影響を与えたり、受信値に影響を与える可能性のある、送信機、チャンネル、または受信機の近傍にある、音響、音響、視覚、赤外線、超音波、気温、または他の無線活動データのうちの1つ以上を集めることができる。例えば、受信機は、特定のエミッタについて多数の受信チャネル推定値を測定することができるが、センサは、車両、反射体、または他の空間的異常が環境に存在する1つ以上の例を認識することができ、これは、チャネルの応答および無線システムが受ける結果としてのチャネル分布に著しく影響を与えた可能性がある。これらの現象とその結果として生じる無線システムへの影響を表すデータを共に収集することにより、このような現象をより包括的に捕捉、モデル化し、無線通信システムおよびチャネルモデル内で表現することができる。
【0116】
テストシナリオでは、デコーダネットワーク203を含む装置は、受信デバイス、例えば
図5Aのデバイス507によるテスト信号の受信をテストするために使用され得る。標準的な潜在空間を使用するか、またはチャネル特性に基づいた潜在空間を使用するかのいずれかによって、ユーザは、デコーダネットワーク203によって提供される信号および送信されるべき信号、および実際に受信される受信デバイスによって示されるように、デバイスがどのようなものを受信したべきかを決定することができる。比較すると、ユーザは、受信デバイスを、デコーダネットワーク203の処理に基づいて、受信すべき既知の信号と一致するようにチューニングすることができる。テストシナリオの例を
図5Aに示す。
【0117】
図5Aは、訓練されたチャネルデコーダネットワーク203を使用して受信機デバイス507を更新するためのシステム500の一例を示す図である。システム500は、デバイス501およびデバイス507を含む。デバイス101と同様に、デバイス501は、被送信情報505および/または参照インジケータ503を含む信号506を送信する。デバイス115と同様に、デバイス507は信号506を受信する。
図1において説明したように、車両109および障害物111は、デバイス101からデバイス507への信号506の伝搬に影響を及ぼし得る物体の例である。1つ以上の信号処理を使用して、デバイス507は、受信信号509を生成する。デバイス507は、テスト中であってもよく、デバイス507のアンテナによって受信されたアナログ信号に基づいて、正しい受信信号を生成しない場合がある。チャネルシミュレータ514を使用して、デバイス507は、チャネルシミュレータ514によって生成された受信信号近似519に基づいて、信号処理を確認し、更新するか、または誤動作している構成要素の警告を提供することができる。
【0118】
送信された信号抽出モジュール511は、送信された信号抽出モジュール119と同様に、被送信情報505と一致する被送信情報512を抽出する。
図5Aは、送信された情報512が正しいことを確認することができる検証エンジン513を示す。検証エンジン513は、受信信号509内の値または受信信号509の一部が合計され、別の値と比較されるチェックサム演算を含むことができる。合計が他の値と一致しない場合、検証は失敗する。一致する場合、検証は成功する。それが失敗した場合、デバイス507は、検証が失敗したことをユーザに通知し、信号509、情報512、使用された検証技術、などに関する情報を提供することができる。検証が成功した場合、デバイス507は、被送信情報512をチャネルシミュレータ514に提供することができる。
【0119】
いくつかの実施形態では、被送信信号抽出モジュール511、チャネルシミュレータ514、検証エンジン513、および受信デバイス更新エンジン521は、例えば、対応する動作が、1つ以上のコンピュータを使用して1つ以上のプログラム命令を実行することによって、デバイス115またはデバイス115に通信可能に接続されたデバイス(例えば、サーバ)によって実行される。
【0120】
チャネルシミュレータ514は、検証された被送信情報512を取得する。被送信信号モジュール515は、被送信情報512を受信信号モジュール517に提供する。本明細書で説明するように、デコーダネットワーク203は、出力チャンネル応答209を提供する。いくつかの実施では、チャネルシミュレータ514はチャネル近似モジュール133と類似している。チャネルシミュレータ514のデコーダネットワーク203は、チャネル近似モジュール133のデコーダと同じであってもよいし、または別個のインスタンス化、例えば、コピーされたコンピュータ命令を通じて実現されるチャネル近似モジュール133のデコーダの再現であってもよい。出力チャンネル応答209は、信号506がデバイス501からデバイス507に送信された通信チャネルのための現在の環境に特定することができる。本明細書で説明されるように、チャネル応答209は、それらが環境内を伝搬するときの、周波数に対する特定の電力効果を示すことができる。応答209は、時間の経過とともに変化する可能性がある。例えば、チャネルシミュレータ514は、変数205を時間調整することができる。情報512などの情報が受信されると、チャネルシミュレータ514は、現在の変数205を使用して、応答209などの現在の応答を生成することができる。異なる時間、例えば、後続の送信のために、チャネルシミュレータ514は、異なる応答209をもたらす変数205を調整することができる。
【0121】
チャネルシミュレータ514は、時間の経過に伴う環境内の信号の伝搬に影響を及ぼす時間、空間、環境要因、または他の入力に基づいて、チャネル変動を反映するように変数205を調整することができる。たとえば、日中と夜間の環境変化によって伝播が影響を受ける可能性がある。チャネルシミュレータ514は、変数205を経時的に変化させて、夜間の送信に対して生成されるシミュレートされたチャネル応答が、夜間送信によって取得された実世界のチャネル応答に類似し、午前または午後の送信に対して生成されたシミュレートされたチャネル応答が、対応する時間(例えば、午前または午後)に取得された実世界のチャネル応答に類似するようにすることができる。
【0122】
静的モデルを使用することはできるが、静的モデルでは、時間の経過に伴う環境の変動を十分に近似することはできない。伝送効果の実世界の変化に応じて出力チャンネル応答209を時間調整することによって、チャネルシミュレータ514は、静的システムと比較して、受信信号近似をより正確に生成することができる。
【0123】
チャネルシミュレータ514の適応性を
図5Bに示す。チャネル近似として、チャネルシミュレータ514は、チャネル近似が1つ以上のニューラルネットワークの訓練、装置のテスト、または他の解析の実行において有用であり得る任意の状況において使用可能である。
図5Aに示された使用に加えて、他の使用の幾つかの例が、以下に論じられる。
【0124】
いくつかの実施では、チャネルシミュレータ514は、開発、ラボテスト、または他の技術的分析のために使用される。チャネルシミュレータ514のデコーダネットワーク203の推論の計算量は、伝統的なチャネルシミュレーション方法、例えば、タップ付き遅延線(TDL)または個々のフェージング構成要素の集合体を表す他の同様のチャネルを生成する正弦波方法の合計よりも低くなり得る。チャネルシミュレータ514による遅延応答または出力値を表すための、より詳細に学習されたVAE方法を利用することによって、他の用途の中でもとりわけ、通信チャネルシミュレーション、エンコーダ/デコーダの設計、または検証のために、より正確で表現力のあるチャネルエミュレーションを使用することが可能である。
【0125】
いくつかの実施では、チャネルシミュレータ514は、
図1のエンコーダ123およびデコーダ139などの、チャネルエンコーダおよびデコーダの訓練に使用される。例えば、チャネルシミュレータ514への入力は、エンコーダ123などの信号エンコーダからの出力を含むことができ、チャネルシミュレータ514の出力は、デコーダ139などのチャネルデコーダに与えることができる。チャネルシミュレータ514は、1つ以上の効果を導入することができる。この効果は、例えば、ガウスノイズ、サンプルまたは周波数オフセット、あるいは出力を得るための入力または変換された入力に対する追加の置換を組み合わせることを含むことができる。いくつかの実施では、チャネルシミュレータ514内のデコーダ203は、受信された値から近似送信値を生成し、既存のチャネル上の性能向上のために、情報エンコードおよび/または情報デコードネットワークを最適化するために、直接最適化することができる。性能改善は、例えば、ビット誤り率を最小化する、スループットを最大化する、回復力を最大化する、検出の確率を最小化する、他の無線現象との混乱を最小化又は最大化する、又は多数の他の目的関数であり得る。
【0126】
幾つかの実装形態では、チャネルシミュレータ514は、従来のエンコード方法、例えば、直交振幅変調(QAM)とともに使用される。例えば、チャネルシミュレータ514は、受信機の要素または送信機の要素などの、通信システムの特定の構成要素を最適化するために使用することができる。場合によっては、固定プロトコルを送信機または受信機によって使用することができ、例えば、4G LTEまたは5G New Radio(NR)、Wi-Fi、または別のプロトコルのような直交周波数分割多重(OFDM)波形を使用することができ、この場合、リンクの両側で完全な適応が行われない可能性があるが、システムは、規格の互換性または既存のエンコード方式との相互運用性を維持しながら、リンクまたは信号処理プロセスの一部または構成要素を最適化することができる。
【0127】
いくつかの実施では、チャネルシミュレータ514は、標準のOFDMプロトコルから入力を取得する。例えば、送信機は、標準のOFDMプロトコルを使用してチャネルシミュレータ514に入力するための情報をエンコードすることができ、この標準OFDMプロトコルは、例えば、ビットを直交振幅変調(QAM)コンステレーションポイントにマッピングし、送信のためにOFDMサブキャリアのセットにわたってそれらをエンコードする。そのような入力を使用して、チャネルシミュレータ514は、標準プロトコルを使用していない可能性のある非典型的なシステムのための出力を提供することができる。例えば、チャネルシミュレータ514は、デコーダ139などのニューラルネットワークに出力を提供して、チャネルシミュレータ514によって生成された受信近似値からの送信情報を近似することができる。このようにして、デコーダニューラルネットワークは、信号のエンコードに使用される標準プロトコルで機能することができる。
【0128】
チャネルシミュレータ514の出力を得るデコーダニューラルネットワークは、チャネルシミュレータ514によって生成された受信近似から送信信号値を回復する機能を実行することができる。デコードニューラルネットワークは、OFDM復調前の歪みまたは線形性、チャネル推定および等化(および/またはデコーダおよびシンボル検出/ビットデコードまたはコンテンツデコード)を実行するネットワーク、または学習プロセスとして受信信号処理チェーンの別のサブセットを補償するために、時間領域データの補償を実行することができる。
【0129】
ここでは、チャネルシミュレータ514を用いてネットワークを訓練することにより、広範囲のデコードまたはエンコードプロセスを学習することができ、これは、実世界の動作条件を反映する可能性があり、実世界における改善された無線性能を可能にする1つ以上の近似チャネル状態に対して最適化する。場合によっては、学習された潜在空間変数205を活用して、とりわけ、仰角、温度、バンド、傾斜、都市反射体密度などの、システムの特定のチャネル状態または特性に対するエンコード処理またはデコード処理を特殊化することができ、この場合、オートエンコーダは、環境内の様々な特性に対する特定の解決策またはより多くの最適な解決策を学習することができる。
【0130】
幾つかの実装形態では、チャネルシミュレータ514はタップ付き遅延線(TDL)ベースのチャネルシミュレータと共に使用される。たとえば、TDLベースのチャネルシミュレータは、SCPI(Standard Commands for Programmable Instruments)インターフェイスを介して定期的に送信されるパス遅延変動を定期的に捕捉することができる。TDLチャネルシミュレータとのハイブリッド実装は、潜在チャネルのより低いレートサンプリングを可能にし、一方、例えば、高レートTDLチャネルシミュレータは、短時間基底で十分に定義されたタップまたはクラスタの高レートフェージングシミュレーション(例えば、レイリーまたはリシアンタップフェージング)を行うことができ、これは、既存のチャネルシミュレーションプリミティブおよび実装を活用することを容易にし、また、純粋に固定されたTDLまたはクラスタ遅延線(CDL)チャネル定義よりも広い範囲のチャネル状態を表現することもできる。いくつかの実施では、敵対的生成ネットワーク(GAN)またはVAEに基づくことができるチャネルシミュレータ514は、チャネルシミュレーションを実行するために、既存のチャネルシミュレーションハードウェア、ソフトウェアまたはアルゴリズムと共に使用することができ、これは、今日では、既存の固定TDL(時間遅延線)チャネルモデルを使用して達成困難であり得る。
【0131】
いくつかの実施では、学習された潜在空間変数205に対応する潜在空間が乱される。例えば、VAEまたはGANベースのチャネルエミュレーションプロセスは、チャネルシミュレータ514の潜在的表現への解釈可能な入力の範囲を通して、連続的に、またはある範囲を通して、信号遅延スプレッドまたはチャネル応答にわたる豊富な分布のセットを生成することができ、これは、送信機、モバイル、または周囲装置移動度などの、ある範囲の条件および移動度の考慮の下で、チャネル内に見ることができる。
【0132】
VAEは、1m、5ms、10ms、または100msの時間枠などの期間のTDLタップの実現に使用できる。より表現力豊かなVAE分布を使用して、1以上の送信信号を処理して、他の適切なスケールの中でも、例えば1nsのサンプル時間のような、より細かい時間スケールで出力信号を生成するのに使用され得る、時間期間に対するTDLチャネルモデル特性の現実的なセットを生成することができる。
【0133】
チャネルシミュレータ514は、FPGAチャネルシミュレータなどのハードウェアが、チャネル応答をエミュレートするために既存のTDLチャネルシミュレーションルーチンを使用することを可能にする中間解決策として使用することができ、一方、TDLシミュレーションを定期的に更新および駆動するために、より正確であってもよく、またはシミュレーションに関するかなり多くの情報を考慮していてもよい、チャネルの機械学習(ML)、GAN、またはVAEベースの分布を使用することができる。
【0134】
場合によっては、チャネルシミュレータ514は、ある数のTDLタップまたは他のパラメトリックチャネル特性を、推定して、既存のテストハードウェアに対するいくつかのプロトコル(例えば、SCPIまたはビデオ電子規格協会(VESA)テスト制御インターフェース)を介して、既存のチャネル推定器に送信し、その現在の動作モードを制御および作業化することができる。これは、制御可能および/または解釈可能なMLまたはVAEオーバレイを提供して、デバイス(例えば、デバイス115)上の異なるチャネル条件および現象を表すことによって、既存のチャネルシミュレーションソフトウェアまたはハードウェアに重要な追加テストおよびシミュレーション能力を提供することができる。幾つかの実装形態では、コントローラは、環境、車両のような干渉体のセット又は環境内の他の空間反射現象、又は何らかの断続時間スケールでより伝統的なチャネルシミュレータ内のパラメトリックモデル(例えば、TDLモデル)へのVAE駆動更新を駆動するのを助けることができる他の解釈可能な潜在条件の範囲を介して、空間軌道又は経路をシミュレートする。
【0135】
いくつかの実施では、学習された潜在空間変数205は、時間の経過とともに変化する。例えば、チャネルシミュレータ514を使用して、潜在空間内の値をゆっくりと変化させて、時間または他の特性にわたって相関する一連のチャネル応答またはチャネル出力実現を生成することによって、時間相関チャネル実現を生成することができる。チャネルシミュレータ514は、潜在的空間内の値を選択することができる。1つ以上の値を選択することにより、チャネルシミュレータ514は、類似のセットまたは相関するセットのチャネル応答を生成するために、ランダムウォークまたは時間の経過に伴って潜在空間内の特定の軌道に従うウォークを実行してもよい。チャネルコヒーレンス時間(またはチャネルの応答が類似している時間)は、多くの無線通信システム内で重要な特性である可能性があるので、潜在空間内のこの移動速度と、チャネル応答内の結果の変更は、時間、空間、環境要因、または時間の経過に伴いチャネル相関に影響を与える他の入力に基づいてチャネル変動を反映するように、レートの範囲で変更する可能性がある。
【0136】
受信信号モジュール517は、送信された情報512に基づいて、送信される信号を送信された信号モジュール515から取得する。信号はアナログまたはデジタルにすることができる。受信信号モジュール517は、出力チャンネル応答209および送信信号モジュール515からの信号を使用して1つ以上のプロセスを実行し、
図5Aに示す受信信号近似519を生成する。例えば、受信信号モジュール517は、被送信信号モジュール515および出力チャンネル応答209からの信号の合成積、変換、受信機アルゴリズム、または他の処理を実行することができ、合成積または他の処理ステージの結果を受信信号近似値519として提供することができる。
【0137】
図5Aに戻って、受信信号近似519は、適切に機能している受信アンテナとデバイスによって受信されるであろう信号を生成する。受信信号近似519と受信信号509とを比較することによって、デバイス507は、デバイス507に対して行われる調整を決定することができる。受信デバイス更新エンジン521は、受信信号509と受信信号近似519との間のこのような比較だけを行うように構成される。比較に基づいて、受信デバイス更新エンジン521は、デバイス507を更新することができる。更新は、信号506を受信信号509に変換するために使用されるプロセスへのソフトウェア更新を含むことができる(例えば、これは、デバイス上のニューラル受信機への重み更新、デバイス上のニューラルエンコーダまたはデコーダへの重み更新、他の信号処理アルゴリズムまたはチャネル状態フィードバックアルゴリズムへのパラメータ更新、あるいは、チャネル条件下でのその性能の調整または改善を助けるためのデバイスの他の制御およびチューニングを含むことができる)。
【0138】
いくつかの実施では、チャネルシミュレータ514は、デバイス507に通信可能に接続された別個のデバイスである。例えば、チャネルシミュレータ514は、専用ハードウェアデバイスの1つ以上のプロセッサによって実行することができる。無線接続または有線接続のいずれかを介して、デバイス507は、チャネルシミュレータ514に情報を提供し、その代わりに情報を取得することができる。
【0139】
図6は、無線送信を送受信するために訓練された信号エンコーダネットワーク123及び訓練された信号デコーダネットワーク139を使用するためのシステム600の一例を示す図である。
図1からのデバイスは、単純化のために再び示されている。
図1に訓練された信号デコーダおよびエンコーダネットワークは、信号通信のために
図6で使用される。デバイス115および101は、それぞれ、それらの間の通信のために受信および送信の両方を可能にするエンコーダおよびデコーダネットワークを含むことができる。
【0140】
図6の例では、デバイス101は、デジタル-アナログ変換器601及び無線周波数(RF)モジュール603を含む。デジタルアナログ変換器601は、信号エンコーダネットワーク123からのエンコードされた情報を、無線送信信号108としてRFモジュール603が送信するためのアナログ信号に変換する。RFモジュール603は、無線信号を送信するための、1つ以上のアンテナなどの任意RFまたは中間周波数(IF)デバイスを含む。
【0141】
デバイス115は、RFモジュール605と、アナログデジタル変換器607とを備える。RFモジュール605は、デバイス101からアナログ信号、例えば無線送信信号108を受信するための、1つ以上のアンテナ等の1つ以上のRFまたはIF装置を含む。アナログデジタルコンバータ607は、アナログ信号108のデジタルバージョンを生成する。信号デコーダネットワーク139は、
図1で説明した信号108のデジタルバージョンを使用して、被送信情報の近似141を生成する。
【0142】
図7は、展開シナリオの一例における種々の物理的構成要素を示す図である。
図7の展開シナリオは、仮想化無線アクセスネットワーク及び/又は無線インテリジェントコントローラ、又は他のクラウドサービスにおけるチャネルモデリング、学習、及び/又はエミュレーションを含むことができる。例示的なシナリオは、チャネルモデル701(例えば、チャネル近似モジュール133のチャネルモデルのようなVAEによって生成される)または本明細書に記載するデジタルツイン構成要素が、仮想化された無線アクセスネットワーク構成要素内、場合によってはオープン無線アクセスネットワークシステム内の構成要素としてデプロイされ得ることを示す。
【0143】
図7の展開シナリオは、仮想化された要素を有するRANを示す。コンポーネントには、レガシーコンポーネント、オープンコンポーネント、仮想コンポーネント(汎用サーバ上で実行されるなど)、または物理構成要素がある。例えば、無線ユニット(RU)709は、仮想RU(例えば、vRU)または物理RUとすることができ、オープン無線アクセスネットワーク準拠またはレガシー無線アクセスネットワーク準拠とすることができる。これには、アナログ送受信およびデジタル変換を提供するRU709、物理レイヤの一部の実装および追加プロトコル処理(無線リンク制御(RLC)/媒体アクセス制御(MAC)など)を提供する分散ユニット(DU)711(あるいはベースバンド処理ユニット(BBU))、上位レイヤプロトコル処理(無線リソース制御(RRC)、サービスデータ適応プロトコル(SDAP)および/またはパケットデータ収束プロトコル(PDCP)レイヤを提供する集中型ユニット713)、ネットワークサービスおよびインタフェースを提供するコアネットワーク(NG Core)715、およびRAN機能を最適化、調整、制御するためにさまざまなRAN構成要素とインタフェースできるxAppsおよびrAppsをホストするニア実時間(RT) RIC703および非RT RIC705の両方を提供するRANインテリジェントコントローラ702が含まれる。
【0144】
また、
図7には、RAN、オープン無線アクセスネットワーク(O-RAN)、および/または仮想無線アクセスネットワーク(V-RAN)展開内のインターフェースが示されている。これは、RU709とDU711との間の各種アンテナまたは空間ストリームの時間および/または周波数ドメインデータを含むデータを伝送するフロントホールインターフェースまたはオープンフロントホールインターフェース(O-FH)710を含む。F1インターフェース712は、DU711とCU713要素との間のインターフェースを提供する。NGインターフェース714は、しばしば、CU713とコアネットワーク715との間のインターフェースを提供する。同様に、ニアリアルタイムのRIC703は、E2インターフェース719を含むいくつかのインターフェースおよびプロトコルを利用して、DU711、CU713、およびRU709を含む要素間でRIC xAppsにデータを渡す。非リアルタイムRIC705は、A1およびO1インターフェース721などのインターフェースを利用して、CU713およびコア715構成要素およびニアリアルタイムRIC703と相互運用する。
【0145】
図7に示す各要素は、無線の実際の展開エッジ、無線エッジに近いエッジクラウドホスティングサーバ、エッジクラウドの近くのどこかにあるが離れていてもよいリージョンクラウド、およびリージョンおよびエッジ構成要素に接続する国または動作エリア内に1つ以上のロケーションを持つことが多いナショナルクラウドに展開することができる。これらは、RANコンポーネントの配置との関連で大まかに説明されているが、デプロイに関する考慮事項によってはある程度異なる場合がある。一部の展開では、8、7.2、7.2c、7、6などのさまざまな分割が発生する可能性があり、そのような場合にはRU709、DU711、およびCU713の機能がマージされることもある。同様に、ネットワーク機能アプリケーションプラットフォームインタフェース(nFAPI)などのインタフェースを使用して、物理層(PHY)およびメディアアクセス制御アドレス(MAC)コンポーネントを、
図7に示すものとは異なるスプリットに沿ってスプリットすることができる。
【0146】
ここで、一組のソフトウェアルーチンは、サーバまたはクラウドコンピューティングエンジンに展開され、これは、RIC702 xAPP内、ニアRT RIC703または非RT RIC705内、別のクラウドサービスまたはコンピューティングサーバ内、または集中ユニット(CU)コア713内、またはRAN内の別の組み込みコンピューティングデバイス内に連結され得る。CU713のデプロイは、エッジクラウド717または領域/ナショナルクラウド707内で実現でき、領域/ナショナルクラウド707は、領域または国を越えた通信のための動作を実行できる。ここで、チャネルモデル701は、更新または測定を、無線ユニット(RU)、例えばRU709、分散ユニット(DU)、例えばDU711、または集中ユニット(CU)、例えばCU713によって提供されるチャネルモデルに組み込むことができる。場合によっては、DU711内の第1層は、インターネットプロトコル(IP)、伝送制御プロトコル(TCP)、ユーザデータグラムプロトコル(UDP)、ストリーム制御伝送プロトコル(SCTP)、またはこのデータをチャネルモデリングソフトウェアに伝送する別のプロトコルなどのネットワークプロトコルを介して、ユーザ装置(UE)に関するメタデータとともに、チャネル状態情報またはチャネル応答推定などの測定データを提供することがある。
【0147】
場合によっては、データは最初にデータベースを通過し、あるいはDU711/CU713/RU709は、データをより局所的に格納し、この情報を得るために、チャネルモデリングソフトウェアによって照会され、または照会されてもよい。他の場合には、UEは、チャネル情報および/またはチャネル品質情報を格納するネットワークサービスに、TCP/IP、UDP、SCTP、または同様のネットワークプロトコルを介して、この情報を提供することができる。場合によっては、このネットワークサービスがクラウド、RIC、xAPPなどで実行されることがある。ネットワークサービスは、シミュレーションおよび伝搬モデリング情報を提供することができ、これは、例えば、リンクの信頼性、スループット、待ち時間、または他の適切なパラメータを予測するために、デバイスまたはセクタ間の干渉に関する情報、カバレッジエリアに関する情報、または、ネットワーク領域または将来のネットワーク計画情報上のリンク品質を予測するために使用することができる。
【0148】
このようなネットワークサービスを使用することは、プライベート5Gネットワークのような工業用デプロイにおいて有用であり得、工業用製造デバイス又は監視デバイスは、そのパスが確実であり、感受性の高い低遅延製造ルーチンのような重要な工業用活動の間に劣化を経験しないことを保証する必要がある。同様に、本明細書に記載する生成チャネルモデルシミュレーションなどのチャネルシミュレーションのようなチャネルシミュレーションは、チャネル推定、等化、MIMO/単一入力多出力(SIMO)/多入力単一出力(MISO)結合または送信、または4G、5G、または6G無線セルラシステムまたはWi-Fiシステム内のマルチユーザMIMO(MU-MIMO)または単一ユーザMIMO(SU-MIMO)のリソースブロック割り当てなどの、L1信号処理ルーチンを更新するために使用することができる。
【0149】
このような場合、クラウドリソースは、ニューラルネットワークおよび/または非ニューラルネットワークモデルの範囲への更新を提供する生成チャネルモデルに基づいてシミュレーションおよび訓練を提供することができ、このモデルは、無線および通信信号処理またはシステムレベルパフォーマンスメトリックのために最適化するために、L1信号処理ルーチンまたはスケジュールルーチンまたは他の信号キャンセル、受信、または割り当て方式を駆動するために使用される重みまたは他のパラメータを含むことができる。
【0150】
場合によっては、これらのデプロイされたチャネルシミュレーションシステムは、階層の形式をとることができ、ここでは、特定のシミュレーションまたはデジタルツインは、特定のセクタ、タワー、またはユーザ装置の性能を表すことができ、ここで、シミュレーションシステムは、複数のUE、複数のセクタ、複数のタワー、または複数の領域の挙動のような、より高い階層の順序を表すこともできる。階層の異なるレベル間で、ローカルまたはグローバルな経験、および/または予測、モデル、および、無線伝播または他のシステム性能または特性に関する他の知識を活用するために、これらのモデルのトランスポートまたは共有が存在する可能性があり、これらは、この階層内で上下両方向である。
【0151】
図8は、無線信号伝搬をシミュレートするためのシステム800の一例を示す図である。
図8のシステムは、空間および他の入力を使用して実世界をミラーリングすることによって、無線信号伝搬をシミュレートすることができる。この例示システムは、シミュレーション801として表されるシミュレーションを示し、クラウドサーバ、GPUデバイス、コンピュータのクラスタ、エッジクラウドまたは他のコンピューティングプラットフォームなどのコンピューティングデバイス803内で実行される生成チャネルモデルネットワークを使用する。
【0152】
コンピューティングデバイス803は、生成ネットワークを使用して、ネットワーク重み/パラメータを更新し、および/または、このモデルに基づいて無線伝搬をシミュレートする。クラウドまたはネットワークコンピューティングリソースは、デジタル世界内の物理的世界805の鏡像をシミュレートし、無線伝搬現象と共に、物理的形状、装置および目的挙動をシミュレートする。示されるように、生成チャネルモデル、例えば、チャネルに対するVAEベースのモデルは、そのようなクラウドデジタルツイン内に格納または維持され、期待されるチャネル伝搬現象をシミュレートするために使用され得る。
【0153】
この場合、物理世界805内の実世界伝播環境は、テレメトリ、位置情報、または他の履歴コンテキスト情報と共に、測定、チャネル応答情報またはチャネル音声データ、チャネル品質情報、またはその他の測定ベースの統計をクラウド807および対応する計算装置803に送信することができる。実世界805のシミュレーション801のようなデジタルクラウド無線チャネルシミュレーション環境内のシミュレーションは、無線チャネルモデルのセット、特にチャネルGANやチャネルVAEのような生成データ駆動チャネルモデルを使用することによって、無線システムに関する伝搬、帯域幅、待ち時間、リンク品質、または他の特性を予測するために使用することができる。
【0154】
非常に高い周波数(VHF)、超高周波数(UHF)、または極高周波数(EHF)などの多くの帯域における伝搬は、予測を困難にすることがあるので、これらのデータ駆動モデルは、デジタルツインワールド表現の形成で、これらの信号の物理的世界、これらの信号の物理的世界、新しい物体または構造体の配置、物理的世界における物体の移動、新しいタイプのアンテナまたは基地局の配置、あるいは無線装置の配置、あるいは物理的世界における性能の予測のためにデジタル世界でシミュレーションされるべき他の動作または事象をシミュレートするために使用されることがある。
【0155】
多くの場合、位置測定値は、例えば、チャネルの潜在的表現内の潜在的空間にこれらを含めることによって、
図3のVAEのようなVAEへの入力として使用することができる。潜在空間は、与えられた環境におけるいくつかまたはすべての可能なチャネル応答を生成するのに十分な値を含むことができる。同様に、シミュレートされた潜在的な位置は、シミュレートされたシステム内の仮想的または実際の無線状況内の様々な無線リンクまたはパスの性能をシミュレートするために、生成モデル内で使用することができる。
【0156】
図9は、チャネル近似システムを訓練するための処理900の一例を示すフロー図である。処理900は、例えば、
図1のデバイス115や、例えば、サーバなどの、デバイス115に通信可能に接続された装置など、1つ以上の電子システムによって実行されてもよい。
【0157】
処理900は、通信チャネルの周波数応答を示す第1のデータ構造の1つ以上の値を取得すること(902)を含む。例えば、デバイス115や、デバイス115(例えば、サーバ)に通信可能に接続されたデバイスなどの動作デバイスは、チャネル応答または送信されたデータ値を取得することができる。
図4では、デバイス115は、信号108およびアンテナ113を使用してチャネル応答を得る。チャネル応答303は、チャネル応答エンジン403によって得られる。
【0158】
処理900は、第1のデータ構造よりも自由度の低いパラメータを生成するように訓練された第1の機械学習モデルに、1つ以上の値を提供すること(904)を含む。例えば、デバイス115や、デバイス115(例えば、サーバ)に通信可能に接続された装置などの動作装置は、画像307aに示されるように、
図3のチャネルエンコーダネットワーク301に入力チャネル応答303を提供することができる。いくつかの場合には、画像307bに示すように、動作デバイスは送信値を提供することができる。
図4において、デバイス115は、格納されたチャネル応答131からのチャネル応答、例えば入力チャネル応答303を、エンコーダネットワーク301に提供する。
【0159】
処理900は、1つ以上のパラメータを含む第1のモデルから第1の出力を取得すること(906)を含む。例えば、デバイス115や、デバイス115(例えば、サーバ)に通信可能に接続されたデバイスなどの動作デバイスは、分布パラメータ407を取得することができる。分布パラメータ407は、サンプリングモジュール409がサンプリングする値の分布を指定することができる。サンプリングは、分布パラメータ407によって特定される分布内でランダム化され得る。
【0160】
処理900は、1つ以上のパラメータを使用して第2のデータ構造を生成すること(908)を含む。例えば、
図4に示されるように、サンプリングモジュール409は、分布パラメータ407によって特定される分布からサンプリングする。分布パラメータ407によって特定された分布からサンプリングされたデータ値は、学習された潜在空間変数205に含まれる。
【0161】
処理900は、合成チャネル応答を生成するように訓練された第2の機械学習モデルに第2のデータ構造を提供すること(910)を含む。例えば、デバイス115や、デバイス115(例えば、サーバ)に通信可能に接続された装置などの動作装置は、学習された潜在空間変数205をデコーダネットワーク203に提供することができる。
【0162】
図10は、信号エンコーダネットワークと信号デコーダネットワークとを共にチャネル近似システムを訓練するためのプロセスの例を示すフロー図である。処理900は、例えば、
図1のデバイス115や、例えば、サーバなどの、デバイス115に通信可能に接続された装置など、1つ以上の電子システムによって実行されてもよい。
【0163】
プロセス1000は、送信される情報を取得すること(1002)を含む。例えば、デバイス115や、デバイス115に通信可能に接続されたデバイス(例えば、サーバ)などの動作デバイスは、送信された信号抽出モジュール119によって行われる動作に基づいて、信号108から被送信情報121を取得することができる。
【0164】
プロセス1000は、送信される情報をエンコードするためにエンコーダに情報を提供すること(1004)を含む。例えば、デバイス115や、デバイス115に通信可能に接続されたデバイス(例えば、サーバ)などの動作デバイスは、被送信情報121をエンコーダネットワーク123に提供することができる。
【0165】
プロセス1000は、チャネル近似モジュールに対応する1つ以上のネットワークにエンコードされた情報を提供すること(1006)を含む。例えば、デバイス115や、デバイス115(例えば、サーバ)に通信可能に接続された装置などの動作装置は、エンコードされた情報129をチャネル近似モジュール133に提供することができる。
【0166】
プロセス1000は、1つ以上のネットワークの出力をデコーダに提供すること(1008)を含む。例えば、デバイス115や、デバイス115(例えば、サーバ)に通信可能に接続されたデバイスなどの動作デバイスは、受信信号近似値135をデコーダネットワーク139に提供することができる。
【0167】
プロセス1000は、デコードされた出力を送信される情報と比較すること(1010)を含む。例えば、デコーダおよびエンコーダ更新エンジン143は、被送信情報の近似141を被送信情報121と比較することができる。
【0168】
プロセス1000は、出力を受信信号と比較すること(1012)を含む。例えば、チャネル更新エンジン137は、受信信号近似135を受信信号117と比較することができる。
【0169】
プロセス1000は、比較に基づいて、エンコーダ、デコーダ、およびチャネル近似モジュールの1つ以上を更新すること(1014)を含む。例えば、デコーダおよびエンコーダ更新エンジン143、チャネル更新エンジン137、ならびに結合更新エンジン147は、エンコーダネットワーク123、デコーダネットワーク139、およびチャネル近似モジュール133のうちの1つ以上を更新することができる。エンコーダネットワーク123、デコーダネットワーク139、およびチャネル近似モジュール133の各々は、1つ以上のニューラルネットワークを含むことができる。エンコーダネットワーク123、デコーダネットワーク139、およびチャネル近似モジュール133の更新は、対応するニューラルネットワークの1つ以上の重みまたはレイヤを調整することを含むことができる。
【0170】
図11は、ニューラルネットワークの訓練および可変通信チャネル応答の生成のために使用されるコンピューティングシステムの一例を示す図である。コンピューティングシステムは、コンピューティングデバイス1100と、モバイルコンピューティングデバイス1150とを含み、これらの一方または両方を、本明細書に記載する技術を実装するために使用することができる。例えば、システム100の1つ以上の構成要素は、コンピューティングデバイス1100、モバイルコンピューティングデバイス1150、例えばデバイス101、デバイス115、又はデバイス115、例えばサーバ、デバイス501、又はデバイス507に通信可能に接続されたデバイスであってもよい。
【0171】
コンピューティングデバイス1100は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、及び他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表す。モバイルコンピューティングデバイス1150は、パーソナルデジタルアシスタント、セルラ電話、スマートフォン、モバイル組み込み無線システム、無線診断コンピューティングデバイス、および他の同様のコンピューティングデバイスなど、様々な形態のモバイルデバイスを表すことが意図されている。ここに示す構成要素、それらのコネクションと関係、およびそれらの機能は単なる例であり、制限するものではない。
【0172】
コンピューティングデバイス1100は、プロセッサ1102、メモリ1104、記憶デバイス1106、メモリ1104および複数の高速拡張ポート1110に接続する高速インターフェース1108、および低速拡張ポート1114および記憶デバイス1106に接続する低速インターフェース1112を含む。プロセッサ1102、メモリ1104、記憶デバイス1106、高速インターフェース1108、高速拡張ポート1110、及び低速インターフェース1112の各々は、様々なバスを用いて相互接続されており、共通のマザーボード上に、又は適宜他の方法で取り付けることができる。プロセッサ1102は、高速インタフェース1108に結合されたディスプレイ1116などの外部入出力装置上のGUIに関するグラフィック情報を表示するために、メモリ1104に記憶される命令を含む、または記憶デバイス1106上に記憶される命令を含む、コンピューティングデバイス1100内で実行するための命令を処理することができる。他の実施では、必要に応じて、複数のメモリおよびタイプのメモリと共に、複数のプロセッサおよび/または複数のバスを使用することができる。さらに、複数のコンピューティング装置が接続され、各デバイスが動作の一部分(例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステム)を提供する。いくつかの実施では、プロセッサ1102は、シングルスレッドプロセッサである。いくつかの実施では、プロセッサ1102はマルチスレッドプロセッサである。いくつかの実施では、プロセッサ1102は量子コンピュータである。
【0173】
メモリ1104は、コンピューティングデバイス1100内に情報を格納する。いくつかの実施では、メモリ1104は揮発性メモリユニットまたはユニットである。いくつかの実施では、メモリ1104は不揮発性メモリユニットまたはユニットである。メモリ1104はまた、磁気または光ディスクのような、コンピュータ可読媒体の別の形態であってもよい。
【0174】
記憶デバイス1106は、コンピューティングデバイス1100に大容量記憶デバイスを提供することができる。いくつかの実施形態において、記憶デバイス1106は、フロッピーディスク装置、ハードディスク装置、光ディスク装置、またはテープ装置、フラッシュメモリまたは他の類似のソリッドステートメモリ装置、または記憶域ネットワークまたは他の構成内の装置を含む装置のアレイであってもよいし、またはそれらを含んでもよい。命令は、情報キャリアに格納することができる。命令は、1つ以上の処理デバイス(例えば、プロセッサ1102)によって実行されるとき、上述のような1つ以上の方法を実行する。命令はまた、コンピュータまたは機械可読媒体(例えば、メモリ1104、記憶デバイス1106、またはプロセッサ1102上のメモリ)のような1つ以上の記憶デバイスによって記憶することもできる。高速インターフェース1108は、コンピューティングデバイス1100に対する帯域幅を大量に消費する動作を管理し、低速インターフェース1112は、帯域幅を大量に消費する動作を管理する。このような関数の割当ては単なる例である。ある実施形態では、高速インタフェース1108は、メモリ1104、ディスプレイ1116、および様々な拡張カード(図示せず)を受け入れる高速拡張ポート1110に結合される。実装において、低速インターフェース1112は、記憶デバイス1106および低速拡張ポート1114に結合される。種々の通信ポート(例えば、USB、Bluetooth、イーサネット、無線イーサネット)を含むことができる低速拡張ポート1114は、キーボード、ポインティングデバイス、スキャナ、ネットワークアダプタなどを介してスイッチやルータなどのネットワーキングデバイスなど、1つ以上の入力/出力デバイスに結合することができる。
【0175】
コンピューティングデバイス1100は、図に示すように、いくつかの異なる形態で実現することができる。例えば、標準サーバ1120として、またはこのようなサーバのグループ内に複数回実装することができる。さらに、ラップトップコンピュータ1122のようなパーソナルコンピュータで実現することもできる。また、ラックサーバシステム1124の一部として実装することもできる。あるいは、コンピューティングデバイス1100からの構成要素は、モバイルコンピューティングデバイス1150など、モバイル端末内の他の構成要素と組み合わせてもよい。このようなデバイスのそれぞれは、コンピューティングデバイス1100およびモバイルコンピューティングデバイス1150のうちの1つ以上を含み、システム全体は、互いに通信する複数のコンピューティングデバイスで構成されてもよい。
【0176】
モバイルコンピューティングデバイス1150は、プロセッサ1152、メモリ1164、ディスプレイ1154などの入力/出力デバイス、通信インターフェース1166、およびトランシーバ1168を、他のコンポーネントの中でも含んでいる。モバイルコンピューティングデバイス1150はまた、追加の記憶デバイスを提供するために、マイクロドライブまたは他のデバイスなどのストレージを備えることができる。プロセッサ1152、メモリ1164、ディスプレイ1154、通信インターフェース1166、及びトランシーバ1168の各々は、様々なバスを用いて相互接続されており、これらの構成要素のいくつかは、共通のマザーボード上に、又は必要に応じて他の方法で取り付けられてもよい。
【0177】
プロセッサ1152は、メモリ1164に格納された命令を含む、モバイルコンピューティングデバイス1150内の命令を実行することができる。プロセッサ1152は、別個の、および複数のアナログおよびデジタルプロセッサを含むチップセットとして実施可能である。プロセッサ1152は、例えば、モバイルコンピューティングデバイス1150の他の構成要素、例えば、ユーザインターフェースの制御、モバイルコンピューティングデバイス1150によって実行されるアプリケーション、およびモバイルコンピューティングデバイス1150による無線通信の調整を提供してもよい。
【0178】
プロセッサ1152は、制御インターフェース1158およびディスプレイ1154に結合されたディスプレイインタフェース1156を介してユーザと通信することができる。ディスプレイ1154は、例えば、TFT(Thin-Film-Transistor Liquid Crystal Display)ディスプレイまたはOLED(Organic Light Emitting Diode)ディスプレイ、または他の適切なディスプレイ技術であってもよい。ディスプレイインターフェース1156は、グラフィカルおよび他の情報をユーザに提示するために、ディスプレイ1154を駆動するための適切な回路を含んでもよい。制御インターフェース1158は、ユーザからのコマンドを受け取り、それらをプロセッサ1152に提出するために変換することができる。さらに、外部インターフェース1162は、プロセッサ1152との通信を提供して、モバイルコンピューティングデバイス1150と他のデバイスとの近距離通信を可能にすることができる。外部インターフェース1162は、例えば、いくつかの実施形態では有線通信のために、または他の実施形態では無線通信のために提供してもよく、また、複数のインターフェースが使用されてもよい。
【0179】
メモリ1164は、モバイル計算デバイス1150内に情報を格納する。メモリ1164は、コンピュータ可読媒体または媒体、揮発性メモリユニットまたはユニット、または不揮発性メモリユニットまたはユニットのうちの1つ以上として実装可能である。拡張メモリ1174を設け、例えばSIMM(Single In Line Memory Module)カードインタフェースを含んでもよい拡張インタフェース1172を介して、モバイルコンピューティングデバイス1150に接続してもよい。拡張メモリ1174は、モバイルコンピューティングデバイス1150のための追加の記憶空間を提供し得、または、モバイルコンピューティングデバイス1150のためのアプリケーションまたはその他の情報を記憶し得る。具体的には、拡張メモリ1174は、上述のプロセスを実行または補足するための命令を含み得、安全情報も含み得る。したがって、例えば、拡張メモリ1174は、モバイルコンピューティングデバイス1150のためのセキュリティモジュールとして提供されてもよく、モバイルコンピューティングデバイス1150の安全な使用を可能にする命令でプログラムされてもよい。さらに、SIMMカードを介して、SIMMカード上の識別情報をハッキング不可能な方法で配置するなどの追加情報とともに、安全なアプリケーションを提供することができる。
【0180】
メモリは、例えば、フラッシュメモリおよび/またはNVRAMメモリ(不揮発性ランダムアクセスメモリ)を含むことができる。いくつかの実施では、命令は、1つ以上の処理装置(例えば、プロセッサ1152)によって実行されるときに、上述のような1つ以上の方法を実行するように、情報キャリアに格納される。命令はまた、1つ又は複数のコンピュータ又は機械可読媒体(例えば、メモリ1164、拡張メモリ1174、又はプロセッサ1152上のメモリ)のような1又はそれ以上の記憶デバイスによって記憶することができる。いくつかの実施では、命令は、例えば、トランシーバ1168または外部インターフェース1162を介して、伝搬された信号で受信可能である。
【0181】
モバイルコンピューティングデバイス1150は、場合によってはデジタル信号処理回路を含んでもよい通信インターフェース1166を介して無線で通信することができる。通信インターフェース1166は、GSM音声通話(移動通信のためのグローバルシステム)、SMS(ショートメッセージサービス)、EMS(拡張メッセージングサービス)、またはMMSメッセージング(マルチメディアメッセージングサービス)、CDMA(符号分割多元接続)、TDMA(時分割多元接続)、PDC(パーソナルデジタルセルラ)、WCDMA(広帯域符号分割多元接続)、CDMA2000、またはGPRS(一般パケット無線サービス)、4G LTE/LTE-Advanced、5G/5G Advanced、6Gセルラーなどの種々のモードまたはプロトコルの下での通信を提供することができる。このような通信は、例えば、無線周波数を使用してトランシーバ1168を介して行われる。また、Bluetooth、Wi-Fiなどのトランシーバ(図示せず)を使用するなど、近距離通信が発生する場合がある。さらに、GPS(Global Positioning System)受信モジュール1170は、モバイルコンピューティングデバイス1150上で実行されるアプリケーションによって適切に使用されることがある、追加のナビゲーションおよび位置関連無線データをモバイルコンピューティングデバイス1150に提供することができる。
【0182】
また、モバイルコンピューティングデバイス1150は、ユーザから音声情報を受信し、それを使用可能なデジタル情報に変換することができるオーディオコーデック1160を使用して音声で通信することもできる。音声コーデック1160は同様に、例えばモバイルコンピューティングデバイス1150のハンドセット内のスピーカなどを介して、ユーザのために可聴音を発生し得る。そのような音声は、音声電話呼出からの音声を含み、記録された音声(例えば、音声メッセージ、音楽ファイルなど)を含み、また、モバイルコンピューティングデバイス1150上で動作するアプリケーションによって生成された音声を含み得る。
【0183】
モバイルコンピューティングデバイス1150は、図に示すように、いくつかの異なる形態で実現することができる。例えば、それはセルラ電話機1180として実施されてもよい。また、スマートフォン1182、パーソナルデジタルアシスタント、または他の同様のモバイルデバイスの一部として実施されることもできる。
【0184】
いくつかの実施について説明してきた。しかしながら、本開示の技術思想および範囲から逸脱せずに、種々の改変がなされてもよいということを理解されたい。例えば、上に示された様々な形態のフローは、ステップを再配列、追加、または削除して使用され得る。
【0185】
本発明の実施形態および本明細書に記載する機能の動作のすべては、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、またはハードウェアで実現することができ、これには、本明細書に開示する構造およびそれらの構造的等価物、またはそれらの1つ以上の組合せが含まれる。本発明の実施形態は、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために、コンピュータ可読媒体上にエンコードされたコンピュータプログラム命令の1つ以上のモジュールなど、1つ以上のコンピュータプログラム製品として実施することができる。コンピュータ読取り可能媒体は、機械可読可能記憶デバイス、機械可読可能記憶基板、記憶デバイス、機械可読可能伝搬信号に影響する物体の構成、またはそれらの1つ以上の組合せであり得る。「データ処理装置」という用語は、例えば、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサまたはコンピュータを含む、データを処理するための全ての装置、デバイス、および機械を包含する。本装置は、ハードウェアに加えて、当該コンピュータプログラムの実行環境を作成するコード、例えば、プロセッサファームウェアを構成するコード、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つ以上の組合せを含むことができる。伝搬される信号は、人工的に生成された信号、例えば、適切な受信デバイスに送信するための情報をエンコードするために生成される機械生成の電気信号、光学信号、または電磁信号である。
【0186】
コンピュータプログラム(プログラム、ソフトウェア、アプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイルまたは解釈された言語を含む、任意の形式のプログラミング言語で書くことができ、スタンドアロンプログラムとして、あるいは、コンピューティング環境での使用に適したモジュール、構成要素、サブルーチン、またはその他のユニットとして、任意の形式でデプロイすることができる。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応しているわけではない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語ドキュメントに格納された1つ以上のスクリプト)、問題のプログラム専用の1つのファイル、または複数の協調ファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの一部を格納するファイル)に格納することができる。コンピュータプログラムは、1台のコンピュータ上で実行されるように、または1つのサイトにデプロイされるか、または複数のサイトに分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるようにデプロイすることができる。
【0187】
本明細書に記載するプロセスおよび論理フローは、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行され、入力データ上で動作し、出力を生成することによって機能を実行することができる。プロセスおよび論理フローはまた、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの特殊目的論理回路によって実行することができ、また装置としても実行できる。
【0188】
コンピュータプログラムの実行に適したプロセッサは、一例として、汎用および専用マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリまたはランダムアクセスメモリ、あるいはその両方から、命令およびデータを受信する。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを格納するための1つ以上の記憶デバイスである。一般に、コンピュータは、データを、例えば、磁気、光磁気ディスク、または光ディスクに格納するための、1つ以上の大容量記憶デバイス、あるいはその両方から、データを受信したり、データを転送したりするために、または動作的に結合される。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、タブレットコンピュータ、移動電話、パーソナルデジタルアシスタント、モバイルオーディオプレーヤ、GPS(地球測位システム)受信機などの別のデバイスに組み込むことができ、少数の名称を付すことができる。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば、内部ハードディスクまたは取外し可能ディスク、磁気光学ディスク、およびCD-ROMおよびDVD-ROMディスクを含む、あらゆる形態の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサ及びメモリは、特殊目的論理回路によって補足され、又はその中に組み込まれることができる。
【0189】
ユーザとの対話を提供するために、本発明の実施形態は、ユーザに情報を表示するための、例えばCRT(カソード線管)またはLCD(液晶ディスプレイ)監視、およびユーザがコンピュータに入力を提供することができる、キーボードおよびポインティングデバイス、例えばマウスまたはトラックボールを有するコンピュータ上で実現することができる。他の種類のデバイスも、ユーザとの対話を提供するために使用することができ、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信することができる。
【0190】
本発明の実施形態は、バックエンド構成要素、例えばデータサーバとして含むか、またはミドルウェア構成要素、例えばアプリケーションサーバを含むか、またはフロントエンド構成要素、例えば、グラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータを含むか、またはユーザが本発明の実施形態と対話することができるクライアントコンピュータ、または1つ以上のそのようなバックエンド、ミドルウェア、またはフロントエンド構成要素の任意の組合せを含む計算システムで実現することができる。システムの構成要素は、任意の形態またはディジタルデータ通信の媒体、例えば通信ネットワークによって相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、例えばインターネットが含まれる。
【0191】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバは一般に互いにリモートにあり、典型的には通信ネットワークを介して相互作用する。クライアントとサーバの関係は、それぞれのコンピュータ上で動作するコンピュータプログラムと、クライアント/サーバ間の関係によって生じる。
【0192】
本明細書は多くの詳細を含んでいるが、これらは、本発明の範囲またはクレームできるものに対する制限として解釈されるべきではなく、むしろ本発明の特定の実施形態に特有の特徴の記述として解釈されるべきである。別個の実施形態の文脈で本明細書に記載される特定の特徴も、単一の実施形態において組み合わせて実施可能である。逆に、単一実施形態の文脈で説明される様々な特徴は、複数の実施形態において、別々に、または任意の適切なサブコンビネーションで実装することもできる。さらに、特徴は、特定の組合せにおいて機能するものとして上述し、そのようなものとして最初にクレームされたものであってもよいが、クレームされた組合せから1つ以上の特徴をいくつかの場合において組合せから切り離すことができ、クレームされた組合せは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
【0193】
同様に、動作は、特定の順序で図面中に描かれるが、これは、そのような動作が、示された特定の順序で、又は順番に実行されること、又は、図示されたすべての動作が、所望の結果を達成するために実行されることを要求するものとは解釈されない。特定の状況では、マルチタスクおよび並列処理が有利である場合がある。さらに、上述の実施形態における種々のシステム構成要素の分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、記述されたプログラム構成要素およびシステムは、一般に、単一のソフトウェア製品に一緒に統合され、または複数のソフトウェア製品にパッケージ化され得ることが理解されるべきである。
【0194】
本発明の特定の実施形態について説明した。他の実施形態は、以下のクレームの範囲内である。例えば、クレームに記載されているステップは、異なる順序で実行することができ、依然として望ましい結果を達成することができる。
【国際調査報告】