(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-27
(54)【発明の名称】モデルアーキテクチャ検索及びハードウェアの最適化
(51)【国際特許分類】
H03F 1/32 20060101AFI20240520BHJP
【FI】
H03F1/32 141
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023570020
(86)(22)【出願日】2022-05-09
(85)【翻訳文提出日】2024-01-09
(86)【国際出願番号】 US2022028292
(87)【国際公開番号】W WO2022240730
(87)【国際公開日】2022-11-17
(32)【優先日】2021-05-12
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-04-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520490417
【氏名又は名称】アナログ ディヴァイスィズ インク
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】タオ・ユ
(72)【発明者】
【氏名】クリストバル・アレッサンドリ
(72)【発明者】
【氏名】フランク・ヤウル
(72)【発明者】
【氏名】ウェンジエ・ル
(72)【発明者】
【氏名】シャム・チャンドラセカール・ナムビア
【テーマコード(参考)】
5J500
【Fターム(参考)】
5J500AA01
5J500AA41
5J500AC21
5J500AF07
5J500AF08
5J500AF17
5J500AK26
5J500AK34
5J500AK41
5J500AM13
5J500AS14
5J500AT01
5J500AT07
5J500NG03
5J500NG06
(57)【要約】
ハードウェア構成に対してモデルアーキテクチャ検索を使用することに関するシステム、デバイス、及び方法が提供される。方法は、コンピュータ実装システムによって、処理ユニットのプールに関連付けられた情報を受信することと、コンピュータ実装システムによって、データ変換動作に関連付けられたデータセットを受信することと、データセット及び処理ユニットのプールに関連付けられた情報に基づいて、データ変換動作に関連付けられたパラメータ化されたモデルをトレーニングすることであって、トレーニングは、プール内の処理ユニットの少なくともサブセットを構成することに関連付けられたパラメータ化されたモデルの少なくとも1つのパラメータを更新することを含む、トレーニングすることと、トレーニングに基づいて、プール内の処理ユニットの少なくともサブセットのための1つ以上の構成を出力することと、を含む。
【特許請求の範囲】
【請求項1】
方法であって、
コンピュータ実装システムによって、処理ユニットのプールに関連付けられた情報を受信することと、
前記コンピュータ実装システムによって、データ変換動作に関連付けられたデータセットを受信することと、
前記データセット及び前記処理ユニットのプールに関連付けられた前記情報に基づいて、前記データ変換動作に関連付けられたパラメータ化されたモデルをトレーニングすることであって、前記トレーニングは、前記プール内の前記処理ユニットの少なくともサブセットを構成することに関連付けられた前記パラメータ化されたモデルの少なくとも1つのパラメータを更新することを含む、トレーニングすることと、
前記トレーニングに基づいて、前記プール内の前記処理ユニットの少なくとも前記サブセットのための1つ以上の構成を出力することと、を含む、方法。
【請求項2】
前記処理ユニットの前記プールは、1つ以上の算術演算及び1つ以上の信号選択動作を実行する、請求項1に記載の方法。
【請求項3】
前記パラメータ化されたモデルを生成することを更に含み、前記生成することは、前記プール内の前記処理ユニットの各々から、複数の微分可能な関数ブロックのうちの1つの間のマッピングを生成することを含む、請求項1に記載の方法。
【請求項4】
前記パラメータ化されたモデルを前記トレーニングすることは、前記処理ユニットの前記プールに関連付けられた前記情報によって示されるハードウェアリソース制約に更に基づいている、請求項1に記載の方法。
【請求項5】
前記データ変換動作は、少なくとも第1のデータ変換及び第2のデータ変換のシーケンスを含み、
前記トレーニングは、
前記第1のデータ変換に関連付けられた第1のパラメータと、前記第2のデータ変換に関連付けられた第2のパラメータと、を計算することを含む、請求項1に記載の方法。
【請求項6】
前記第1のデータ変換に関連付けられた前記第1のパラメータ及び前記第2のデータ変換に関連付けられた前記第2のパラメータを前記計算することは、逆伝播及び損失関数に更に基づいている、請求項5に記載の方法。
【請求項7】
前記シーケンスにおける前記第1のデータ変換又は前記第2のデータ変換は、実行可能命令コードに関連付けられている、請求項5に記載の方法。
【請求項8】
前記データ変換動作は、非線形電子コンポーネントへの入力信号を予歪するためのデジタル予歪(DPD)に関連付けられ、
前記シーケンスにおける前記第1のデータ変換は、前記第1のパラメータに基づいて、前記入力信号からメモリ項を選択することを含み、
前記シーケンスにおける前記第2のデータ変換は、前記第2のパラメータに基づいて、基底関数のセット及び前記選択されたメモリ項を使用して、前記非線形電子コンポーネントの非線形特性に関連付けられた特徴を生成することを含み、
前記データ変換動作に関連付けられた前記シーケンスは、前記特徴に基づいて予歪された信号を生成することを含む第3のデータ変換を更に含む、請求項5に記載の方法。
【請求項9】
前記データ変換動作は、非線形電子コンポーネントへの入力信号を予歪するためのデジタル予歪(DPD)に関連付けられ、
前記シーケンスにおける前記第1のデータ変換は、前記第1のパラメータに基づいて、前記非線形電子コンポーネント又は前記入力信号の出力を示すフィードバック信号からメモリ項を選択することを含み、
前記シーケンスにおける前記第2のデータ変換は、前記第2のパラメータに基づいて、基底関数のセット及び前記選択されたメモリ項を使用して、前記非線形電子コンポーネントの非線形特性に関連付けられた特徴を生成することを含み、
前記データ変換動作に関連付けられた前記シーケンスは、前記特徴及び第2の信号に基づいて係数を更新することを含む第3のデータ変換を更に含む、請求項5に記載の方法。
【請求項10】
前記パラメータ化されたモデルを前記トレーニングすることは、
逆伝播を行って、前記第2のパラメータを更新して前記基底関数のセットを生成することを更に含む、請求項9に記載の方法。
【請求項11】
前記1つ以上の構成を前記出力することは、
前記メモリ項の前記選択又は前記基底関数のセットに関連付けられたルックアップテーブル(LUT)構成のうちの少なくとも1つを更に示す前記1つ以上の構成を出力することを含む、請求項9に記載の方法。
【請求項12】
コンピュータ実装システムであって、
命令を含むメモリと、
1つ以上のコンピュータプロセッサと、を備え、
前記命令は、前記1つ以上のコンピュータプロセッサによって実行されると、前記1つ以上のコンピュータプロセッサに、
処理ユニットのプールに関連付けられた情報を受信することであって、前記処理ユニットの前記プールは、1つ以上の算術演算及び1つ以上の信号選択を実施する、受信することと、
データ変換に関連付けられたデータセットを受信することと、
前記データセット及び前記処理ユニットの前記プールに関連付けられた前記情報に基づいて、前記データ変換に関連付けられたパラメータ化されたモデルをトレーニングすることであって、前記パラメータ化されたモデルを前記トレーニングすることは、前記プール内の前記処理ユニットの少なくともサブセットを構成することに関連付けられた前記パラメータ化されたモデルの少なくとも1つのパラメータを更新することを含む、トレーニングすることと、
前記トレーニングに基づいて、前記プール内の前記処理ユニットの少なくとも前記サブセットのための1つ以上の構成を出力することと、を含む動作を実施させる、コンピュータ実装システム。
【請求項13】
前記動作は、
前記プール内の前記処理ユニットの各々から、複数の微分可能な関数ブロックのうちの1つの間のマッピングを生成することによって、前記パラメータ化されたモデルを生成することを更に含む、請求項12に記載のコンピュータ実装システム。
【請求項14】
前記データ変換は、少なくとも第1のデータ変換及び第2のデータ変換のシーケンスを含み、
前記パラメータ化されたモデルを前記トレーニングすることは、
逆伝播及び損失関数に基づいて、前記第1のデータ変換に関連付けられた第1のパラメータ及び前記第2のデータ変換に関連付けられた第2のパラメータを計算することを含む、請求項12に記載のコンピュータ実装システム。
【請求項15】
前記処理ユニットの前記サブセットは、
前記第1のデータ変換に関連付けられた1つ以上のデジタルハードウェアブロックと、
前記第2のデータ変換に関連付けられた命令コードを実行するための1つ以上のプロセッサと、を備える、請求項14に記載のコンピュータ実装システム。
【請求項16】
前記データ変換は、非線形電子コンポーネントへの入力信号を予歪するためのデジタル予歪(DPD)作動又はDPD適応のうちの少なくとも1つに関連付けられ、
前記1つ以上の構成を前記出力することは、DPD作動構成又はDPD適応構成のうちの少なくとも1つを出力することを含む、請求項12に記載のコンピュータ実装システム。
【請求項17】
非一時的計算可能可読記憶媒体であって、1つ以上のコンピュータプロセッサによって実行されると、前記1つ以上のコンピュータプロセッサに、
処理ユニットのプールに関連付けられた情報を受信することであって、前記処理ユニットの前記プールは、1つ以上の算術演算及び1つ以上の信号選択を実施する、受信することと、
前記プール内の前記処理ユニットの各々から、複数の微分可能な関数ブロックのうちの1つの間のマッピングを生成することと、
データ変換に関連付けられたデータセットを受信することと、
前記データ変換を実施するように、前記プール内の前記処理ユニットの少なくともサブセットを構成するためのパラメータ化されたモデルをトレーニングすることであって、前記トレーニングは、前記データセット、前記処理ユニットの前記プールに関連付けられた前記情報、及び前記マッピングに基づいており、前記プール内の前記処理ユニットの少なくともサブセットを構成することに関連付けられた前記パラメータ化されたモデルの少なくとも1つのパラメータを更新することを含む、トレーニングすることと、
前記トレーニングに基づいて、前記プール内の前記処理ユニットの少なくとも前記サブセットのための1つ以上の構成を出力することと、を含む動作を実施させる命令を含む、非一時的計算可能可読記憶媒体。
【請求項18】
前記データ変換は、少なくとも第1のデータ変換及び第2のデータ変換のシーケンスを含み、
前記トレーニングは、
逆伝播及び損失関数に基づいて、前記第1のデータ変換に関連付けられた第1のパラメータ、及び前記第2のデータ変換に関連付けられた第2のパラメータを更新することを更に含む、請求項17に記載の非一時的計算可能可読記憶媒体。
【請求項19】
前記データ変換は、非線形電子コンポーネントへの入力信号を予歪するためのデジタル予歪(DPD)に関連付けられ、
前記シーケンスにおける前記第1のデータ変換は、前記第1のパラメータに基づいて、前記入力信号からメモリ項を選択することを含み、
前記シーケンスにおける前記第2のデータ変換は、前記第2のパラメータに基づいて、基底関数のセット及び前記選択されたメモリ項を使用して、前記非線形電子コンポーネントの非線形特性に関連付けられた特徴を生成することを含み、
前記シーケンスは、前記特徴に基づいて予歪された信号を生成することを含む第3のデータ変換を更に含む、請求項18に記載の非一時的計算可能可読記憶媒体。
【請求項20】
前記データ変換は、非線形電子コンポーネントへの入力信号を予歪するためのデジタル予歪(DPD)に関連付けられ、
前記シーケンスにおける前記第1のデータ変換は、前記第1のパラメータに基づいて、前記非線形電子コンポーネント又は前記入力信号の出力を示すフィードバック信号からメモリ項を選択することを含み、
前記シーケンスにおける前記第2のデータ変換は、前記第2のパラメータに基づいて、基底関数のセット及び前記選択されたメモリ項を使用して、前記非線形電子コンポーネントの非線形特性に関連付けられた特徴を生成することを含み、
前記シーケンスは、前記特徴及び第2の信号に基づいて係数を更新することを含む第3のデータ変換を更に含み、
前記第1のデータ変換及び前記第2のデータ変換は、前記処理ユニットの前記サブセットによって実施され、
前記第3のデータ変換は、前記プール内の少なくとも別の処理ユニット上で命令コードを実行することによって実施される、請求項18に記載の非一時的計算可能可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年5月12日に出願された「DIGITAL PREDISTORTION FOR POWER AMPLIFIER LINEARIZATION USING NEURAL NETWORKS」と題された米国仮特許出願第63/187,536号、及び2022年4月29日に出願された「MODEL ARCHITECTURE SEARCH AND OPTIMIZATION FOR HARDWARE」と題された米国非仮特許出願第17/732,809号の優先権及び利益を主張し、これらは各々、以下に完全に記載されているかのように、及び全ての適用可能な目的のために、参照によりそれらの全体が本明細書に組み込まれる。
【0002】
本開示は、概して、エレクトロニクスに関し、より具体的には、モデルアーキテクチャ検索技術(例えば、ニューラルアーキテクチャ検索(NAS))を使用してハードウェアブロック(例えば、パワーアンプの線形化のためのデジタル予歪(DPD)ハードウェア)を構成することに関する。
【背景技術】
【0003】
RFシステムは、およそ3キロヘルツ(kHz)~300ギガヘルツ(GHz)のRF範囲の電磁波の形態の信号を送信及び受信するシステムである。RFシステムは、一般に無線通信に使用され、セルラ/無線モバイル技術が顕著な例であるが、ケーブルテレビなどのケーブル通信にも使用され得る。これらのタイプのシステムの両方において、その中の様々なコンポーネントの線形性が重要な役割を果たす。
【0004】
RFトランシーバなどのRFコンポーネント又はシステムの線形性は、理論的には理解しやすい。すなわち、線形性は、一般に、入力信号に直接比例する出力信号を提供するコンポーネント又はシステムの能力を指す。言い換えると、コンポーネント又はシステムが完全に線形である場合、入力信号に対する出力信号の比率の関係は、直線である。実際のコンポーネント及びシステムでこの挙動を実現することは、はるかに複雑であり、多くの場合、効率及び/又は出力電力などの他の性能パラメータを犠牲にして、線形性に対する多くの課題が解決されなければならない。
【0005】
本質的に非線形である半導体材料から作製され、相対的に高い電力レベルで動作しなければならないパワーアンプ(PA)は、通常、線形性の観点から、RFシステムの設計を考慮する場合に分析する最初のコンポーネントである。非線形歪みを伴うPA出力は、変調精度の低減(例えば、誤差ベクトル大きさ(EVM)の低減)及び/又は帯域外放射という結果をもたらす可能性がある。したがって、無線RFシステム(例えば、ロングタームエボリューション(LTE)及びミリ波又は第5世代(5G)システム)及びケーブルRFシステムの両方は、PA線形性に関して厳格な仕様を有する。
【発明の概要】
【課題を解決するための手段】
【0006】
DPDを適用して、PAの線形性を高めることができる。典型的には、DPDは、デジタルドメインにおいて、PAに入力として提供される信号に予歪を適用して、PAによって引き起こされると予想される歪みを低減及び/又はキャンセルすることを含む。予歪は、PAモデルによって特徴づけることができる。PAモデルは、PAからのフィードバックに基づいて(すなわち、PAの出力に基づいて)、更新され得る。PAモデルがPAが導入する歪みを予測する点でより正確であるほど、PAへの入力の予歪は、アンプによって引き起こされる歪みの影響を低減する観点でより効果的になる。
【0007】
様々な要因がDPDのコスト、品質、及び堅牢性に影響を与える可能性があるため、RFシステムでDPDを実施することは容易な作業ではない。空間/表面積などの物理的制約、及び規制もまた、DPDの要件又は仕様に更なる制約をもたらす可能性がある。最先端のRFシステムで使用されるサンプリングレートが増加し続けるため、DPDは特に困難になり、したがって、DPDの設計にはトレードオフ及び工夫を施す必要がある。
【0008】
本開示並びにその特徴及び利点のより完全な理解を提供するために、添付の図面と併せて以下の説明を参照し、ここで、同様の参照番号は、同様のコンポーネントを表す。
【図面の簡単な説明】
【0009】
【
図1A】本開示のいくつかの実施形態による、パラメータ化されたモデルベースのデジタル予歪(DPD)が実装され得る例示的な無線周波数(RF)トランシーバの概略ブロック図を提供する。
【
図1B】本開示のいくつかの実施形態による、パラメータ化されたモデルベースの構成が実装され得る例示的な間接学習アーキテクチャベースのDPDの概略ブロック図を提供する。
【
図1C】本開示のいくつかの実施形態による、パラメータ化されたモデルベースの構成が実装され得る例示的な直接学習アーキテクチャベースのDPDの概略ブロック図を提供する。
【
図2A】本開示のいくつかの実施形態による、間接学習アーキテクチャベースDPDのオフライントレーニング及びオンライン適応及び作動のためのスキームの例解図を提供する。
【
図2B】本開示のいくつかの実施形態による、直接学習アーキテクチャベースDPDのオフライントレーニング及びオンライン適応及び作動の例解図を提供する。
【
図3】本開示のいくつかの実施形態による、ルックアップテーブル(LUT)ベースDPDアクチュエータ回路の例示的な実装態様の例解図を提供する。
【
図4】本開示のいくつかの実施形態による、LUTベースDPDアクチュエータ回路の例示的な実装態様の例解図を提供する。
【
図5】本開示のいくつかの実施形態による、LUTベースDPDアクチュエータ回路の例示的な実装態様の例解図を提供する。
【
図6】本開示のいくつかの実施形態による、1対1の機能マッピングを有するハードウェア設計から導出される例示的なソフトウェアモデルの例解図を提供する。
【
図7】本開示のいくつかの実施形態による、DPD動作のためのパラメータ化されたモデルをトレーニングするための例示的な方法の例解図を提供する。
【
図8】本開示のいくつかの実施形態による、微分可能な関数ブロックのシーケンスとしてDPD動作をモデリングする例示的なパラメータ化されたモデルの概略例解図を提供する。
【
図9】本開示のいくつかの実施形態による、DPD動作のためのパラメータ化されたモデルをトレーニングするための例示的な方法を例解するフロー図である。
【
図10】本開示のいくつかの実施形態による、オンライン作動及び適応のためのDPD動作を実施するための例示的な方法を例解するフロー図である。
【
図11】本開示のいくつかの実施形態による、ハードウェアブロックのシーケンスの微分関数ブロックのシーケンスへの例示的なマッピングの概略例解図を提供する。
【
図12】本開示のいくつかの実施形態による、ハードウェアブロックのシーケンスの微分関数ブロックのシーケンスへの例示的なマッピングの概略例解図を提供する。
【
図13】本開示のいくつかの実施形態による、標的ハードウェアにマッピングされたパラメータ化されたモデルをトレーニングするための方法を例解するフロー図を提供する。
【
図14】本開示のいくつかの実施形態による、パラメータ化されたモデルに基づいて構成された標的ハードウェア上で動作を実施するための方法を例解するフロー図を提供する。
【
図15】本開示のいくつかの実施形態による、ニューラルネットワークを使用してハードウェアブロック構成を実施することの少なくとも一部を実装又は制御するように構成され得る例示的なデータ処理システムを例解するブロック図を提供する。
【発明を実施するための形態】
【0010】
概要
本開示のシステム、方法、及びデバイスは、各々、いくつかの革新的な実施形態を有しており、その単一の実施形態はいずれも、本明細書に開示される望ましい属性の全てを単独で担うものではない。本明細書に説明される主題の1つ以上の実装態様の詳細は、以下の説明及び添付の図面に記載されている。
【0011】
本明細書で提案されているニューラルネットワークを使用してDPDを例解する目的のために、RFシステムで影響を与え得る現象を最初に理解することが有用であり得る。以下の基礎的な情報は、本開示を適切に解説することができる基礎として見ることができる。そのような情報は、説明の目的のためにのみ提供され、したがって、本開示の広い範囲及びその潜在的な用途を限定するように解釈されるべきではない。
【0012】
上で説明されるように、PAは、線形性の観点から、RFシステムの設計を検討する場合に、通常、分析する最初のコンポーネントである。無線及びケーブルRFシステムには、線形で効率的なPAを有することが不可欠である。線形性は、低ノイズアンプなどの小信号アンプにとっても重要であるが、そのようなアンプは、典型的には、相対的に高いレベルの出力電力を生成する必要があり、したがって、非線形挙動をもはや無視することができない特定の動作条件に特に入りやすいため、線形性の課題は、PAにとって特に顕著である。一方で、アンプを形成するために使用される半導体材料の非線形挙動は、アンプが高電力レベルの信号(一般に「飽和状態で動作すること」と称される動作条件)で動作する場合に悪化する傾向があり、その出力信号の非線形歪みの量が増加し、これは非常に望ましくない。他方、相対的に高い電力レベルで動作する(すなわち、飽和状態で動作する)アンプも、典型的には、その最高効率で機能し、これは非常に望ましいことである。結果として、線形性及び効率(又は電力レベル)は、多くの場合、これらのパラメータのうちの一方の観点での改善が、他方のパラメータが最適でないという犠牲をもたらすという点で、許容可能なトレードオフを見出す必要がある2つの性能パラメータである。そのために、当技術分野では「バックオフ」という用語を使用して、所望の出力線形性を実現するために、入力電力(すなわち、増幅されるアンプに提供される信号の電力)がどのくらい低減されるべきかの尺度を説明する(例えば、バックオフは、所望の線形性を提供する入力電力に対する最大電力を提供する入力電力の比率として測定され得る)。したがって、入力電力を低減することは、線形性の観点から、改善をもたらし得るが、アンプの効率を低下させる結果となる。
【0013】
また上で説明されるように、DPDは、PAへの入力を予歪して、アンプによって引き起こされる歪みを低減及び/又はキャンセルすることができる。この機能を実現するために、高レベルでは、DPDは、PAが入力信号にどのように影響し得るかのモデルを形成することを含み、このモデルは、アンプによって引き起こされる入力信号の歪みを低減及び/又はキャンセルする試みにおいて、入力信号に適用されるフィルタの係数(そのような係数は「DPD係数」と称される)を定義する。このようにして、DPDは、アンプに提供される入力信号に対応する修正を適用することによって、送信される信号に望ましくない非線形修正を適用するアンプを補償しようとする。
【0014】
DPDアルゴリズムで使用されるモデルは、典型的には、適応モデルであり、これは、アンプへの入力に入るデータとアンプの出力から出るデータとの間の比較に基づいて、係数を徐々に調整することによって、反復プロセスで形成されることを意味する。DPD係数の推定は、一般に「キャプチャ」と称される、入力及び出力データの有限のシーケンス(すなわち、PAへの入力及びPAからの出力)の取得、並びにキャプチャの分析に基づいて、モデルが適応されるフィードバックループの形成に基づいている。より具体的には、従来のDPDアルゴリズムは、一般的に「更新方程式」と称される多項式方程式のセットを形成することと、広い解空間で方程式への好適な解を検索して、PAのモデルを更新することと、を含む一般記憶多項式(GMP)モデルに基づいている。そのために、DPDアルゴリズムは逆問題を解決し、この問題は、一連の観察から、これらの観察を生成した偶然の要因を計算するプロセスである。
【0015】
非線形効果の存在下で逆問題を解決することは困難な可能性があり、不適切な設定である場合もある。特に、本開示の発明者らは、GMPベースPAモデルが、特に最先端のRFシステムで使用されるサンプリングレートが絶えず増加している状況で、多項式データを記憶するために必要な信号ダイナミクス及び制限されたメモリ深度による制限を有する可能性があることを認識している。
【0016】
高周波で使用できるソリッドステートデバイスは、現代の半導体技術において非常に重要である。部分的にそれらの大きなバンドギャップ及び高い移動度に起因して、III-N系トランジスタ(すなわち、周期表のIII族からの少なくとも1つの元素(例えば、Al、Ga、In)の第1のサブ格子、及び窒素(N)の第2のサブ格子をチャネル材料として有する化合物半導体材料を用いるトランジスタ)、GaNベースのトランジスタなどは、高周波用途に特に有利であり得る。特に、PAは、GaNトランジスタを使用して構築され得る。
【0017】
GaNトランジスタは、カットオフ周波数及び効率の点で望ましい特徴を有するが、それらの挙動は、トランジスタチャネル内の欠陥部位が電荷キャリアをトラップする電荷トラップとして知られる効果によって複雑になる。トラップされた電荷の密度は、ゲート電圧に大きく依存し、ゲート電圧は典型的には信号振幅に比例する。事態を更に複雑にするように、逆の効果が同時に電荷トラップの効果と競合する可能性がある。すなわち、いくつかの電荷キャリアが欠陥部位によってトラップされると、例えば、熱活性化のために、他の電荷キャリアがトラップから解放される。これらの2つの効果は、非常に異なる時間定数を有し、ゲート電圧が増加するときはいつでも、欠陥部位は、トラップされた電荷ですぐに満たされ得るが、トラップされた電荷の放出は、よりゆっくりと起こる。放出時定数は、10マイクロ秒から最大ミリ秒とすることができ、その効果は、典型的には、特にバーストを含むデータの場合、4G又は5Gデータのシンボル期間の時間スケールで非常に顕著である。
【0018】
本開示の様々な実施形態は、RFシステム(これらに限定されないが、ミリ波/5G技術の無線RFシステムなど)に線形かつ効率的なアンプ(これに限定されないが、PAなど)を提供することにおいて、上で説明される欠点のうちの1つ以上を改善することを目的とするシステム及び方法を提供する。特に、本開示の態様は、微分可能なビルディングブロックを使用してハードウェア動作を挙動的にモデル化し、標的ハードウェア上で収集されたデータセットを使用してモデルアーキテクチャ検索(例えば、微分可能なニューラルアーキテクチャ検索(DNAS))を実施するための技術を提供する。本開示の態様は、RFトランシーバで電力アンプを線形化するためのDPD配置を最適化するためにモデルアーキテクチャ検索を適用するための技術を説明するが、本明細書に開示される技術は、任意の好適なハードウェアブロック及び/又はサブシステムのための構成を最適化する際に使用するのに好適である。
【0019】
本開示の一態様によれば、コンピュータ実装システムは、モデルアーキテクチャ検索を実施して、標的ハードウェアの構成を最適化して特定のデータ変換を実施するための方法を実装し得る。データ変換は、線形及び/又は非線形動作を含むことができ、一般に、信号の表現を1つの形態から、別の形態に変更する動作を含み得る。標的ハードウェアは、少なくとも算術演算及び/又は信号選択動作(例えば、多重化及び/又は逆多重化)を実施することができる処理ユニットのプールを含み得る。モデルアーキテクチャ検索は、処理ユニットのプール及び関連付けられた能力、所望のハードウェアリソース制約、及び/又はデータ変換に関連付けられたハードウェア動作を含み、検索空間上で実施され得る。モデルアーキテクチャ検索はまた、データ変換に関連付けられた特定の所望の性能メトリックを実現するように、例えば、データ変換に関連付けられた誤差メトリックを最小限に抑えるように実施され得る。
【0020】
本明細書で使用される場合、処理ユニットのプールは、デジタルハードウェアブロック(例えば、組み合わせ論理及びゲートを含むデジタル回路)、一般プロセッサ、デジタル信号プロセッサ、並びに/又は命令コード(例えば、ソフトウェア及び/若しくはファームウェア)を実行するマイクロプロセッサ、アナログ回路、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)などを含み得るが、これらに限定されない。一般に、処理ユニット(又は単にハードウェアブロック)は、定義された入力、出力、及び/又は制御信号を有する回路であり得る。更に、複数の処理ユニット(例えば、回路ブロック)を定義された方法で接続して、例えば、変換のシーケンスを含む、データ変換を実施するためのサブシステムを形成することができる。ハードウェア構成の最適化は、機能レベルで(例えば、入力/出力対応を用いて)及び/又はサブシステムレベルで(例えば、動作のシーケンスを含む)実施することができる。
【0021】
モデルアーキテクチャ検索を実施するために、コンピュータ実装システムは、処理ユニットのプールに関連付けられた情報を受信し得る。受信された情報は、ハードウェアリソース制約、ハードウェア動作、及び/又は処理ユニットのプールに関連付けられたハードウェア機能を含み得る。コンピュータ実装システムは更に、データ変換動作に関連付けられたデータセットを受信し得る。データセットは、標的ハードウェア上で収集され得、入力データ、出力データ、制御データなどを含み得る。コンピュータ実装システムは、受信したハードウェア情報及び受信したデータセットを使用して、データ変換に関連付けられたパラメータ化されたモデルをトレーニングし得る。トレーニングは、プール内の処理ユニットの少なくともサブセットを構成することに関連付けられたパラメータ化されたモデルの少なくとも1つのパラメータを更新して(データ変換を実施する)ことを含み得る。コンピュータ実装システムは、プール内の処理ユニットの少なくともサブセットのための1つ以上の構成を出力し得る。
【0022】
いくつかの態様では、コンピュータ実装システムは、例えば、プール内の処理ユニットの各々から、複数の微分可能な関数ブロックのうちの異なる1つの間のマッピングを生成することによって、パラメータ化されたモデルを更に生成し得る。すなわち、プール内の各処理ユニットと微分可能な関数ブロックの各々との間に1対1の対応が存在する。
【0023】
いくつかの態様では、データ変換動作は、少なくとも第1のデータ変換及び第2のデータ変換のシーケンスを含み得、トレーニングは、第1のデータ変換に関連付けられた第1のパラメータ(例えば、第1の学習可能なパラメータ)及び第2のデータ変換に関連付けられた第2のパラメータ(例えば、第2の学習可能なパラメータ)を計算することを含み得る。いくつかの態様では、第1のデータ変換に関連付けられた第1のパラメータ及び第2のデータ変換に関連付けられた第2のパラメータを計算することは、逆伝播及び損失関数に更に基づき得る。いくつかの態様では、シーケンス内の第1のデータ変換又は第2のデータ変換は、実行可能命令コードに関連付けられ得る。換言すると、パラメータ化されたモデルは、プロセッサによって実行可能なデジタル回路及び/又はアナログ回路及び/又は命令コード(例えば、ファームウェア)によって実装されるハードウェア動作をモデル化することができる。
【0024】
特定の態様では、データ変換動作は、入力信号を非線形電子コンポーネント(例えば、PA)に予歪するためのDPDに関連付けられ得る。一例では、データ変換は、DPD作動に対応し得る。これに関して、シーケンス内の第1のデータ変換は、第1のパラメータに基づいて、入力信号から、メモリ項を選択することを含み得る。シーケンス内の第2のデータ変換は、第2のパラメータに基づいて、基底関数のセット及び選択されたメモリ項を使用して、非線形電子コンポーネントの非線形特性に関連付けられた特徴パラメータを生成することを含み得る。データ変換動作に関連付けられたシーケンスは、特徴パラメータに基づいて、予歪された信号を生成することを含む第3のデータ変換を更に含み得る。別の例では、データ変換は、DPD適応に対応し得る。これに関して、シーケンス内の第1のデータ変換は、第1のパラメータに基づいて、非線形電子コンポーネント又は入力信号の出力を示すフィードバック信号から、メモリ項を選択することを含み得る。シーケンス内の第2のデータ変換は、第2のパラメータに基づいて、基底関数のセット及び選択されたメモリ項を使用して、非線形電子コンポーネントの非線形特性に関連付けられた特徴を生成することを含み得る。データ変換動作に関連付けられたシーケンスは、特徴及び第2の信号(例えば、間接学習DPDのための予歪された信号、又は直接学習DPDのための入力信号とフィードバック信号との間の差に対応する)に基づいて、係数を更新することを含む第3のデータ変換を更に含み得る。
【0025】
いくつかの態様では、コンピュータ実装システムは、命令を記憶するメモリと、1つ以上のコンピュータプロセッサとを含み得、命令は、1つ以上のコンピュータプロセッサによって実行されると、1つ以上のコンピュータプロセッサに、標的ハードウェアを構成するためのモデルアーキテクチャ検索方法を実施させる。他の態様では、モデルアーキテクチャ検索方法は、1つ以上のコンピュータプロセッサによって実行されると、1つ以上のコンピュータプロセッサに本方法を実施させる、非一時的計算可能可読記憶媒体における符号化された命令の形態であり得る。
【0026】
本開示の更なる態様によれば、装置は、入力信号を受信するための入力ノードと、1つ以上の算術演算及び/又は1つ以上の信号選択動作(例えば、多重化及び/又は逆多重化)を実施するための処理ユニットのプールと、を含み得る。プール内の処理ユニットの各々は、データ変換(例えば、線形及び/又は非線形動作を含む)に対応する少なくとも1つのパラメータ化されたモデル(例えば、NASモデル)に関連付けられ得る。装置は、第1のパラメータ化されたモデルに基づいて、入力信号を処理して第1の信号を生成するための処理ユニットの少なくとも第1のサブセットを構成及び/又は選択するための制御ブロックを更に含み得る。いくつかの態様では、第1のパラメータ化されたモデルは、プール内の処理ユニットの各々から、複数の微分可能なビルディングブロックのうちの異なる1つの間のマッピングと、標的ハードウェア又はハードウェア制約上で収集された入力データセット又は出力データセットのうちの少なくとも1つと、に基づいて、オフラインでトレーニングされ得る。例えば、トレーニングは、複数の微分可能なビルディングブロックにわたるNASに基づき得る。
【0027】
いくつかの態様では、データ変換は、データ変換のシーケンスを含み得る。例えば、データ変換は、第1のデータ変換に続いて第2のデータ変換を含み得、第1のデータ変換は、入力信号を第1の信号に変換し、第2のデータ変換は、第1の信号を第2の信号に変換する。いくつかの態様では、データ変換のシーケンスは、命令コード(例えば、ソフトウェア又はファームウェア)を実行するデジタルハードウェアブロック(例えば、デジタル回路)及びプロセッサの組み合わせによって実施され得る。例えば、処理ユニットの第1のサブセットは、第1の変換を実施するためのデジタルハードウェアブロック(例えば、デジタル回路)を含み得、制御ブロックは、命令コードを実行して第2の変換を実施するためのプール内の処理ユニットの第2のサブセットを更に構成し得る。
【0028】
特定の態様では、装置は、非線形電子コンポーネント(例えば、PA)への入力信号を予歪するためのDPD装置であり得る。例えば、入力ノードで受信された入力信号は、非線形電子コンポーネントの入力信号に対応し得、第1の信号は、予歪された信号に対応し得る。装置は、第1のパラメータ化されたモデル及びDPD係数に基づいて、非線形電子コンポーネントの1つ以上の非線形特性に関連付けられた1つ以上のルックアップテーブル(LUT)を記憶するためのメモリを更に含み得る。装置は、処理ユニットの第1のサブセットを含むDPDブロックを更に含み得る。DPD作動の場合、処理ユニットの第1のサブセットは、第1のパラメータ化されたモデルに基づいて、入力信号から、第1のメモリ項を選択し得る。処理ユニットの第1のサブセットは、1つ以上のLUT及び選択された第1のメモリ項に基づいて、予歪された信号を更に生成し得る。いくつかの態様では、間接学習アーキテクチャを使用するDPD適応の場合、処理ユニットの第1のサブセットは、第1のパラメータ化されたモデルに基づいて、非線形電子コンポーネントの出力に関連付けられたフィードバック信号から、第2のメモリ項を更に選択し得る。制御ブロックは、第1のパラメータ化されたモデルに基づいて、選択された第2のメモリ項、基底関数のセット、及び入力信号に基づいて、DPD係数を計算又は更新するための命令コードを実行するように、処理ユニットの第2のサブセットを更に構成し得る。命令コードはまた、処理ユニットの第2のサブセットに、計算された係数及び基底関数のセットに基づいて、1つ以上のLUTのうちの少なくとも1つを更新させ得る。他の態様では、直接学習アーキテクチャを使用するDPD適応の場合、制御ブロックは、第1のパラメータ化されたモデルに基づいて、選択された第1のメモリ項、基底関数のセット、及び入力信号とフィードバック信号との間の差に基づいて、DPD係数を計算又は更新し、計算された係数及び基底関数のセットに基づいて、1つ以上のLUTのうちの少なくとも1つを更新するための命令コードを実行するように、処理ユニットの第2のサブセットを更に構成し得る。
【0029】
本明細書に説明されるシステム、スキーム、及び機構は、有利には、特定のデータ変換を実施するようにハードウェアを構成するための最適な構成を探索するためにNAS技術を活用する。最適な構成を見つける際にヒューリスティック検索を使用することは、複雑で、時間がかかり、したがって、新しいハードウェアを展開するためのコスト及び/又は市場投入までの時間を増加させる可能性があるため、本開示は、DPDなどの複雑なデータ変換を実施するハードウェアの構成を最適化するのに特に有利であり得る。更に、本開示は、追加のシステム制約及び/又は複数の最適化標的を有する構成を最適化するのに特に有利であり得る。更に、モデルアーキテクチャ検索ベースハードウェア構成は、数学的関数によって容易に表すことができない、又は別様に非常に高次の多項式が必要とされ得る(入力から出力への)特定の変換に対して特に有利であり得る。
【0030】
DPD配置を有する例示的なRFトランシーバ
図1Aは、本開示のいくつかの実施形態による、パラメータ化されたモデルベースDPDが実装され得る例示的なRFトランシーバ100の概略ブロック図を提供する。
図1Aに示されるように、RFトランシーバ100は、DPD回路110、送信機回路120、PA130、アンテナ140、及び受信機回路150を含み得る。
【0031】
DPD回路110は、デジタルサンプルのシーケンスであり得、ベクトルであり得る、xで表される入力信号102を受信するように構成される。一般に、本明細書で使用される場合、本図で使用される小文字の太い斜体の単一文字ラベル(例えば、
図1Aに示されるラベルx、z、y、及びy’)の各々は、ベクトルを指す。いくつかの実施形態では、入力信号102xは、周波数ドメイン内の1つ以上のアクティブチャネルを含み得るが、簡潔にするために、1つのチャネルのみを有する入力信号(すなわち、帯域内周波数の単一の周波数範囲)が説明されている。いくつかの実施形態では、入力信号xは、ベースバンドデジタル信号であり得る。DPD回路110は、入力信号102xに基づいて、zによって表され得る出力信号104を生成するように構成されている。DPD出力信号104zは、送信機回路120に更に提供され得る。そのために、DPD回路110は、DPDアクチュエータ112及びDPD適応回路114を含み得る。いくつかの実施形態では、アクチュエータ112は、以下でより詳細に説明されるように、DPD適応回路114によって計算された、入力信号102x及びDPD係数cに基づいて、出力信号104zを生成するように構成され得る。
【0032】
送信機回路120は、信号104zをベースバンド信号から、RF信号などのより高い周波数の信号にアップコンバートするように構成され得る。送信機120によって生成されたRF信号は、PA130に提供され得、PA130は、N個の個々のPAを含むPAアレイとして実装され得る。PA130は、送信機120によって生成されたRF信号を増幅し(したがって、PA130は、DPD回路110の出力に基づいた駆動信号によって駆動され得る)、y(例えば、ベクトル)で表され得る増幅されたRF信号131を出力するように構成され得る。
【0033】
いくつかの実施形態では、RFトランシーバ100は、無線RFトランシーバであり得、その場合、アンテナ140も含むことになる。無線RFシステムの文脈において、アンテナは、空間を通して無線で伝播する電波と、送信機、受信機、又はトランシーバで使用される金属導体内で移動する電流との間のインターフェースとして機能するデバイスである。送信中、RFトランシーバの送信機回路は、電気信号を供給し得、この信号は、PAによって増幅され、信号の増幅されたバージョンは、アンテナの端子に提供される。次いで、アンテナは、電波としてPAによって出力された信号から、エネルギーを放射し得る。アンテナは、全ての無線機器に不可欠なコンポーネントであり、ラジオ放送、放送テレビ、双方向無線、通信受信機、レーダ、携帯電話、衛星通信、及び他のデバイスで使用される。
【0034】
単一のアンテナ素子を有するアンテナは、典型的には、球面波面内の全ての方向に等しく放射する放射パターンを放送する。フェーズドアンテナアレイは、一般に、特定の方向に電磁エネルギーを集中させ、それによって主ビームを作成するために使用されるアンテナ素子の集合を指し、これは、一般に「ビームフォーミング」と称されるプロセスである。フェーズドアンテナアレイは、高利得、方向性ステアリングを実施する能力、及び同時通信など、単一のアンテナシステムよりも多くの利点を提供する。したがって、フェーズドアンテナアレイは、モバイル/セルラ無線技術、軍事用途、飛行機レーダ、自動車レーダ、産業用レーダ、及びWi-Fi技術などの無数の様々な用途でより頻繁に使用されている。
【0035】
RFトランシーバ100が無線RFトランシーバである実施形態では、増幅されたRF信号131yをアンテナ140に提供することができ、アンテナ140は、複数のアンテナ素子、例えば、N個のアンテナ素子を含むアンテナアレイとして実装され得る。アンテナ140は、増幅されたRF信号131yを無線で送信するように構成される。
【0036】
RFトランシーバ100が位相アンテナアレイシステムの無線RFトランシーバである実施形態では、RFトランシーバ100は、アンテナアレイ140によって生成されたビームを操縦するためにPAアレイ130の個々のPAに提供される入力信号を変化させるように構成されたビームフォーマ構成を更に含み得る。そのようなビームフォーマ配置は、
図1に具体的には示されないが、それは、異なる方法で、例えば、アナログビームフォーマとして(すなわち、PAアレイ130によって増幅される入力信号が、アナログドメインで、すなわち、これらの信号がデジタルドメインから、アナログドメインに変換された後に修正される)、デジタルビームフォーマとして(すなわち、PAアレイ130によって増幅される入力信号が、デジタルドメインで、すなわち、これらの信号がデジタルドメインから、アナログドメインに変換される前に修正される)、又はハイブリッドビームフォーマとして(すなわち、PAアレイ130によって増幅される入力信号が、部分的にデジタルドメインで及び部分的にアナログドメインで修正される)実装され得るためである。
【0037】
理想的には、PA130からの増幅RF信号131yは、送信機回路120の出力のアップコンバート及び増幅されたバージョン、例えば、入力信号102xのアップコンバート、増幅及びビーム形成されたバージョンであるべきである。しかしながら、上で考察されるように、増幅されたRF信号131yは、主信号成分の外側に歪みを有することができる。そのような歪みは、PA130の応答における非線形性から生じ得る。上で考察されるように、そのような非線形性を低減することが望ましくあり得る。したがって、RFトランシーバ100は、RFトランシーバが(伝送経路内の)PA130からの増幅されたRF信号131yを分析することを可能にするフィードバック経路(又は観察経路)を更に含み得る。いくつかの実施形態では、フィードバック経路は、
図1Aに示されるように実現され得、フィードバック信号151y’は、PA130から受信機回路150に提供され得る。しかしながら、他の実施形態では、フィードバック信号は、アンテナ140(
図1Aに具体的に示されていない)によって送信される無線RF信号を感知するように構成されたプローブアンテナ素子からの信号であり得る。
【0038】
したがって、様々な実施形態では、PA130の出力又はアンテナ140の出力の少なくとも一部は、フィードバック信号151として、受信機回路150に提供され得る。受信機回路150の出力は、DPD回路110、特にDPD適応回路114に結合される。このようにして、フィードバック信号151に基づく信号であり、PA130からの出力信号131(y)を示す受信機回路150の出力信号151(y’)は、受信機回路150を介してDPD適応回路114に提供され得る。DPD適応回路114は、受信信号を処理し、DPDアクチュエータ回路112によって入力信号102xに適用されたDPD係数cを更新して、アクチュエータ出力104zを生成し得る。アクチュエータ出力zに基づく信号は、PA130への入力として提供され、これは、DPDアクチュエータ出力zを使用して、PA130の動作を制御し得ることを意味する。
【0039】
本開示の態様によれば、DPDアクチュエータ回路112及び/又はDPD適応回路114を含むDPD回路110は、パラメータ化されたモデル170に基づいて、構成され得る。パラメータ化されたモデル170は、
図2A~2B及び3~14を参照して以下でより完全に考察されるように、モデルアーキテクチャ検索技術(例えば、DNAS)を使用して、パラメータ化されたモデルトレーニングシステム172(例えば、
図15に示されるデータ処理システム2300などのコンピュータ実装システム)によってオフラインで生成及びトレーニングされ得る。更に、DPDアクチュエータ回路112及び/又はDPD適応回路114は、
図1Bに示されるような間接学習アーキテクチャを使用して、又は
図1Cに示されるような直接学習アーキテクチャを使用して、DPDを実装するように構成され得る。
【0040】
図1Aに更に示されるように、いくつかの実施形態では、送信機回路120は、デジタルフィルタ122、デジタルアナログコンバータ(DAC)124、アナログフィルタ126、及び混合器128を含み得る。そのような送信機では、予歪された信号104zは、デジタルフィルタ122によってデジタルドメイン内でフィルタリングされて、フィルタリングされた予歪された入力、すなわちデジタル信号を生成し得る。その後、デジタルフィルタ122の出力は、DAC124によってアナログ信号に変換され得る。次いで、DAC124によって生成されたアナログ信号は、アナログフィルタ126によってフィルタリングされ得る。次いで、アナログフィルタ126の出力は、混合器128によってRFにアップコンバートされ得、混合器128は、ローカル発振器(LO)162から、信号を受信して、アナログフィルタ126からのフィルタリングされたアナログ信号をベースバンドから、RFに変換し得る。送信機回路120を実装する他の方法もまた可能であり、本開示の範囲内である。例えば、(本図面には例解せず)別の実装態様では、デジタルフィルタ122の出力は、DAC124によって(例えば、直接RFアーキテクチャにおいて)RF信号に直接変換され得る。そのような実装態様では、DAC124によって提供されたRF信号は、次に、アナログフィルタ126によってフィルタリングされ得る。DAC124は、この実装態様ではRF信号を直接合成することになるため、
図1Aに例解される混合器128及びローカル発振器162は、そのような実施形態では、送信機回路120から省略することができる。
【0041】
図1Aに更に示されるように、いくつかの実施形態では、受信機回路150は、デジタルフィルタ152、アナログ/デジタル変換器(ADC)154、アナログフィルタ156、及び混合器158を含み得る。そのような受信機では、フィードバック信号151は、混合器158によってベースバンドにダウンコンバートされ得、混合器158は、ローカル発振器(LO)160(これは、ローカル発振器160と同じ又は異なり得る)から、信号を受信して、フィードバック信号151をRFから、ベースバンドに変換し得る。その後、混合器158の出力は、アナログフィルタ156によってフィルタリングされ得る。次に、アナログフィルタ156の出力は、ADC154によってデジタル信号に変換され得る。次いで、ADC154によって生成されたデジタル信号は、デジタルフィルタ152によってデジタルドメイン内でフィルタリングされて、フィルタリングされダウンコンバートされたフィードバック信号151y’を生成し得、この信号は、PA130の出力yを示すデジタル値のシーケンスであり得、ベクトルとしてモデル化され得る。フィードバック信号151y’は、DPD回路110に提供され得る。受信機回路150を実装する他の方法もまた可能であり、本開示の範囲内である。例えば、別の実装態様(本図面には例解せず)では、RFフィードバック信号151y’は、ADC154によって(例えば、直接RFアーキテクチャにおいて)ベースバンド信号に直接変換することができる。そのような実装態様では、次いで、ADC154によって提供されたダウンコンバータ信号は、デジタルフィルタ152によってフィルタリングされ得る。ADC154は、この実装態様ではベースバンド信号を直接合成することになるため、
図1Aに例解される混合器158及びローカル発振器160は、そのような実施形態では受信機回路150から省略することができる。
【0042】
上記のRFトランシーバ100に対して、更なる変形が可能である。例えば、ベースバンド周波数に関してアップコンバージョン及びダウンコンバージョンが説明されているが、RFトランシーバ100の他の実施形態では、代わりに中間周波数(IF)が使用され得る。IFは、受信されたRF信号の情報の最終検出が行われる前に、受信されたRF信号がIFにシフトされるスーパヘテロダイナ無線受信機において使用され得る。IFへの変換は、いくつかの理由で有用であり得る。例えば、いくつかの段階のフィルタが使用されている場合、それらは全て固定された周波数に設定することができ、これによりフィルタを構築及び調整することがより容易になる。いくつかの実施形態では、RF送信機120又は受信機150の混合器は、IF変換のいくつかのそのような段階を含み得る。別の例では、RFトランシーバ100の送信(TX)経路(すなわち、送信機120によって処理される信号の信号経路)及び受信(RX)経路(すなわち、受信機150によって処理される信号の信号経路)の各々に単一経路混合器が示されているが、いくつかの実施形態では、TX経路混合器128及びRX経路混合器158は、それぞれ、直交アップコンバータ及びダウンコンバータとして実装され得、その場合、それらの各々は、第1の混合器及び第2の混合器を含むことになる。例えば、RX経路混合器158の場合、第1のRX経路混合器は、フィードバック信号151と、ローカル発振器160によって提供されるローカル発振器信号の同相成分とを混合することによって、ダウンコンバージョンを実施して同相(I)ダウンコンバートRX信号を生成するために構成され得る。第2のRX経路混合器は、フィードバック信号151と、ローカル発振器160によって提供されるローカル発振器信号の直交成分(直交成分は、ローカル発振器信号の同相成分から、90度位相がオフセットされた成分である)とを混合することによって、ダウンコンバージョンを実施して直交(Q)ダウンコンバートRX信号を生成するために構成され得る。第1のRX経路混合器の出力は、I信号経路に提供され得、第2のRX経路混合器の出力は、I信号経路と実質的に90度位相がずれている場合があるQ信号経路に提供され得る。一般に、送信機回路120及び受信機回路150は、ゼロIFアーキテクチャ、直接変換RFアーキテクチャ、複雑IFアーキテクチャ、高(実)IFアーキテクチャ、又は任意の好適なRF送信機及び/又は受信機アーキテクチャを利用し得る。
【0043】
一般に、RFトランシーバ100は、およそ3kHz~300GHzのRF範囲内の電磁波の形態の信号の送信及び受信をサポートするように構成された任意のデバイス/装置又はシステムであり得る。いくつかの実施形態では、RFトランシーバ100は、例えば、モバイル通信のためのグローバルシステム(GSM)、符号分割多重アクセス(CDMA)、又はLTEなどの任意の好適なセルラ無線通信技術の基地局(BS)又はユーザ機器(UE)デバイスにおいて、無線通信に使用され得る。更なる例では、RFトランシーバ100は、5G無線(すなわち、高周波/短波長スペクトル、例えば、約5~15ミリメートルの範囲内の波長に対応する約20~60GHzの範囲内の周波数を有する)などのミリ波無線技術のBS又はUEデバイスとして、又はその中で使用され得る。更に別の例では、RFトランシーバ100は、例えば、デスクトップ、ラップトップ、ビデオゲームコンソール、スマートフォン、タブレット、スマートTV、デジタルオーディオプレーヤ、車、プリンタなどのWi-Fi利用可能デバイスにおいて、Wi-Fi技術(例えば、約12cmの波長に対応する2.4GHzの周波数帯、又は約5cmの波長に対応する5.8GHzの周波数帯、スペクトル)を使用する無線通信に使用され得る。いくつかの実装態様では、Wi-Fi利用可能デバイスは、例えば、他のノード、例えば、スマートセンサとデータを通信するように構成されたスマートシステム内のノードであり得る。更に別の例では、RFトランシーバ100は、Bluetooth技術(例えば、約12cmの波長に対応する、約2.4~約2.485GHzの周波数帯域)を使用した無線通信に使用され得る。他の実施形態では、RFトランシーバ100は、例えば、自動車レーダシステムにおいて、又は磁気共鳴撮像(MRI)などの医療用途において、通信以外の目的のために無線RF信号を送信及び/又は受信するために使用され得る。更に他の実施形態では、RFトランシーバ100は、ケーブル通信のために、例えば、ケーブルテレビネットワークで使用され得る。
【0044】
図1Bは、本開示のいくつかの実施形態による、パラメータ化されたモデルベース構成が実装され得る例示的な間接学習アーキテクチャベースDPD180の概略ブロック図を提供する。いくつかの態様では、
図1AのDPD回路110は、
図1Bに示されるように実装され得、パラメータ化されたモデルトレーニングシステム172は、パラメータ化されたモデル170をトレーニングして、間接学習ベース適応のためにDPD回路110を構成し得る。簡略化のために、送信機回路120及び受信機回路150は、
図1Bに示されておらず、DPDを実施することに関連する要素のみが示されている。
【0045】
間接学習の場合、DPD適応回路114は、観察された受信信号(例えば、フィードバック信号151y’)を基準として使用して、基準に対応するPA入力サンプルを予測し得る。入力サンプルを予測するために使用される関数は、(PA130を線形化するための)逆PAモデルとして知られている。観察されたデータに対応する入力サンプルの予測が良好になると(例えば、予測された入力サンプルと予歪された信号104zとの間の誤差が特定の基準を満たす場合)、推定された逆PAモデルを使用して、PA130への送信データ(例えば、入力信号102x)を予歪する。すなわち、DPD適応回路114は、DPDアクチュエータ回路112によって使用される逆PAモデルを計算して、入力信号102xを予歪し得る。そのために、DPD適応回路114は、(予歪された信号104zからの)PA入力サンプルのN個のサンプル及び(フィードバック信号151y’からの)PA出力サンプルのN個のサンプルを観察又はキャプチャし、逆PAモデルに対応するcによって表され得るM個の係数のセットを計算し、点線矢印によって示されるように係数cでDPD作動回路112を更新し得る。いくつかの例では、DPD適応回路114は、最小二乗近似を使用して係数のセットcを求め得る。
【0046】
図1Cは、本開示のいくつかの実施形態による、パラメータ化されたモデルベース構成が実装され得る例示的な直接学習アーキテクチャベースDPD190の概略ブロック図を提供する。いくつかの態様では、
図1AのDPD回路110は、
図1Cに示されるように実装され得、パラメータ化されたモデルトレーニングシステム172は、パラメータ化されたモデル170をトレーニングして、直接学習のためにDPD回路110を構成し得る。簡略化のために、送信機回路120及び受信機回路150は、
図1Bに示されておらず、DPDの実施に関連する要素のみが示されている。
【0047】
直接学習の場合、DPD適応回路114は、入力信号102xを基準として使用して、観察された受信データ(例えば、フィードバック信号151y’)と送信データ(例えば、入力信号102x)との間の誤差を最小化し得る。いくつかの例では、DPD適応回路114は、反復技術を使用して、入力信号102xを予歪するためにDPDアクチュエータ回路112によって使用される、cによって表され得るM個の係数のセットを計算し得る。例えば、DPD適応回路114は、(以前の反復において)以前に計算された係数及び現在推定されている係数に基づいて、現在の係数を計算し得る。DPD適応回路114は、係数を計算して、入力信号102xとフィードバック信号151y’との間の差を示す誤差を最小化し得る。DPD適応回路114は、点線の矢印によって示されるように、係数cでDPD作動回路112を更新し得る。
【0048】
いくつかの態様では、
図1Bの間接学習ベースDPD180又は
図1Cの直接学習ベースDPD190のDPDアクチュエータ回路112は、以下に示されるように、Volterraシリーズ又は(Volterraシリーズのサブセットである)GMPモデルを使用してDPD作動を実装し得る。
【0049】
【0050】
式中、z[n]は、予歪された信号104zの第nのサンプルを表し、fk(.)は、DPDモデルの第kの関数を表し(例えば、M個の基底関数のセットを含む)、cijkは、DPD係数のセットを表し(例えば、M個の基底関数のセットを組み合わせるために)、x[n-i]及びx[n-j]は、それぞれ、i及びj個のサンプルによって遅延された入力信号102のサンプルを表し、||x[n-i]||は、サンプルx[n-i]のエンベロープ又は振幅を表す。場合によっては、サンプル遅延i及びjの値は、予歪についての関心のあるPA130の非線形特性に依存し得、x[n-i]及びx[n-j]は、i、jクロスメモリ項と称され得る。式(1)は、GMPモデルが入力信号102xのエンベロープ又は振幅に適用されることを例解するが、態様はそれに限定されない。一般に、DPDアクチュエータ回路112は、振幅関数、振幅二乗、又は任意の好適な関数であり得る、P()によって表される前処理関数に従って、入力信号102xを直接又は前処理した後に、DPD作動を入力信号102xに適用し得る。
【0051】
いくつかの態様では、DPD作動回路112は、1つ以上のルックアップテーブル(LUT)を使用して式(1)を実装し得る。例えば、用語Σkcijkfk(||x[n-i]||)は、LUTに記憶され得、i,jクロスメモリ項のLUTは、以下によって表される。
【0052】
【0053】
したがって、
図3~5を参照して以下でより完全に考察されるように、DPD作動回路112の動作は、入力信号102xから、第1のメモリ項(例えば、x[n-i]及びx[n-j])を選択することと、LUT及び選択された第1のメモリ項に基づいて、予歪された信号104zを生成することと、を含み得る。
図1Cに示される直接学習アーキテクチャを使用するDPD適応の場合、DPD適応回路114の動作は、選択された第1のメモリ項及び基底関数のセットf
kに基づいて、DPD係数(例えば、係数のセットc
k)を計算することと、計算された係数に基づいて、1つ以上のLUTを更新することと、を含み得る。他方、
図1Bに示される間接学習アーキテクチャを使用するDPD適応の場合、DPD適応回路114の動作は、フィードバック信号151y’から、第2のメモリ項(例えば、y’[n-i]及びy’[n-j])を選択することと、選択された第2のメモリ項及び基底関数のセットf
kに基づいて、DPD係数(例えば、係数のセットc
k)を計算することと、計算された係数に基づいて、1つ以上のLUTを更新することと、を含み得る。このように、DPD回路110は、様々なクロスメモリ項のLUTを記憶するためのメモリ、メモリ項選択のためのマルチプレクサ、乗算器、加算器、及びDPD動作(例えば、作動及び適応)を実施するための命令を実行するための様々な他のデジタル回路及び/又はプロセッサなどの様々な回路を含み得る。
【0054】
本開示の態様によれば、パラメータ化されたモデルトレーニングシステム172は、パラメータ化されたモデル170をトレーニングして、DPD作動回路112及び/又はDPD適応回路114を、これらのDPD作動及び適応(間接及び/又は直接学習)動作を実施するように構成し得る。パラメータ化されたモデル170をトレーニングするための機構(例えば、オフラインの間)、及びトレーニングされたパラメータ化されたモデル170に従って、作動及び適応のためのDPDハードウェアを構成すること(例えば、オンラインの間)は、
図2A~2B及び3~14を参照して以下でより完全に考察される。簡潔にするために、
図2A~2B及び3~14は、
図1A~1Cと同じ信号表現を使用して考察される。例えば、記号xは、PAを線形化するDPDアクチュエータ回路への入力信号を指し得、記号zは、DPDによって提供される出力信号(予歪された信号)を指し得、記号yは、PAの出力を指し得、記号y’は、PAの出力を示す観察された受信信号を指し得、記号cは、PAの特徴又は非線形性に関連付けられた基底関数を組み合わせるためのDPD係数を指し得る。更に、入力信号102x及び予歪された信号104zは、伝送データ(TX)と称することができ、フィードバック信号151y’は、観察データ(ORx)と称することができる。
【0055】
例示的なハードウェアのモデルアーキテクチャ検索
本開示の態様は、NN及びディープラーニングアルゴリズム(例えば、DNAS)を使用して、DPDハードウェアブロックにマッピングすることができる最適なカーネルを発見するように構成されたDPD配置を提供する。そのようなDPD配置は、GMPモデル用に設計されたLUTベースDPDアクチュエータに特に好適であり得る(例えば、式(1)に示されるように)。いくつかの実施形態では、LUTベースDPDアクチュエータは、(例えば、メモリ選択のために)複数の入力信号の中から、1つの信号を選択するマルチプレクサを含み得る。いくつかの実施形態では、LUTベースDPDアクチュエータは、
図3~6を参照して以下でより完全に考察されるように、1つの信号を入力とし、入力に従って出力を生成するように構成されたLUT(例えば、式(2)に示されるように)を含み得る。
【0056】
候補ニューラルネットワークアーキテクチャの微分可能なスーパーセット上で最適化が実行され、逆伝播及び勾配降下検索を使用して手元の問題のための1つのニューラルネットワークアーキテクチャを選択する従来のNASとは対照的に、本開示の態様は、微分可能なビルディングブロックを使用して挙動的にハードウェア動作をモデル化し、標的ハードウェア上で収集されたデータセットを用いてDNASを実施する。ハードウェアは、定義された入出力及び制御信号を有する回路、又は定義された方法で接続された複数の回路ブロックを有するサブシステムであり得る。最適化は、機能レベル(すなわち、入出力対応)だけでなく、サブシステムで行われる動作のシーケンスに対しても実施され得る。一実施形態では、DNASを使用するための実装態様は、マイクロプロセッサ上で動作するDPDアクチュエータ、送信信号経路及びDPD適応エンジンを含み得る。
【0057】
図2A及び2Bは、DPDハードウェアに適用されるモデルアーキテクチャ検索機構を例解するために、
図1A~1Cに関連して考察される。
図2Aは、本開示のいくつかの実施形態による、間接学習アーキテクチャベースDPD(例えば、DPD180)に対するオフライントレーニング並びにオンライン適応及び作動のためのスキーム200の例解図を提供する。スキーム200は、
図2Aの左側に示されるオフライントレーニング、及び
図2Aの右側に示されるオンライン適応及び作動DPDを含む。
【0058】
いくつかの実施形態では、オフライントレーニングシステム(例えば、パラメータ化されたモデルトレーニングシステム172)は、トランシーバシステム、プロセッサ、及びメモリシステムを含み得る。トランシーバシステムは、DPD作動及び適応が実装される標的システムと実質的に類似し得る。例えば、トランシーバシステムは、PA(例えば、PA130)、伝送経路(入力信号102xがDPDアクチュエータ回路112によって予歪され得、PA130を介して伝送され得る)、及び観察経路(PA130の出力を示すフィードバック信号151y’が受信され得る)を実質的に
図1AのRFトランシーバ100と同様に含み得る。
【0059】
プロセッサ及びメモリシステム(例えば、
図15に示されるデータ処理システム2300などのコンピュータ実装システム)は、測定された及び/又は信号を含むキャプチャ202として示されるトランシーバシステムの送信及び観察データの複数のキャプチャを実施するように構成され得る。特に、間接学習DPDの場合、キャプチャ202は、標的ハードウェアからキャプチャされた予歪された信号104z及びフィードバック信号151y’、並びに/又は対応する入力信号のための所望の予歪された信号及び/若しくはフィードバック信号を含み得る。より具体的には、キャプチャは、特定の間隔(例えば、0.5秒、1秒、2秒以上ごと)で実施され得、各キャプチャは、入力信号102xのL個のサンプル、予歪された信号104zのM個の連続サンプル、及び/又はフィードバック信号151y’のN個のサンプルを含み得、L、M、Nは、同じであっても異なり得る。
【0060】
プロセッサ及びメモリシステムは、アクチュエータ回路112及びDPD適応回路114におけるハードウェアブロック又は回路に1対1でマッピングするパラメータ化されたモデル170を生成し得る。プロセッサ及びメモリシステムは、アクチュエータ回路112及びDPD適応回路114に関連付けられたハードウェア制約204(例えば、標的リソース使用率又は電力消費)に更に基づいて、パラメータ化されたモデル170を生成し得る。プロセッサ及びメモリシステムは、送信及び観察キャプチャ202を取り込み、パラメータ化されたモデル170のためのアクチュエータモデルパラメータ及び適応モデルパラメータを最適化する最適化アルゴリズムを更に実施し得る。
【0061】
最適化を完了した後、プロセッサ及びメモリシステムは、最適化されたパラメータ化されたモデル170(最適化されたパラメータを有する)を、例えば、オンライン動作のために対応するハードウェアを構成するためのファームウェア上にロードできるアクチュエータ構成212及び適応エンジン構成214などの構成に変換し得る。いくつかの例では、パラメータ化されたモデル170は、特定の非線形特性を有する特定のタイプのPA130に対してトレーニングされ得、したがって、アクチュエータ構成212及び適応エンジン構成214は、それらの非線形特性を事前に補償するようにDPDアクチュエータ及びDPD適応エンジンをそれぞれ構成するためのパラメータを含み得る。いくつかの例では、アクチュエータ構成212は、DPD作動のためのLUTを構成するための情報を示し得、適応エンジン構成214は、DPDアクチュエータによって使用される係数を適応させるために使用される基底関数に関連付けられた情報を示し得る。
【0062】
いくつかの実施形態では、作動及び適応のためのオンチップDPDサブシステムは、
図2Aの右側に示されるように、DPDアクチュエータ回路112、PA130、伝送経路(入力信号102xは、DPDアクチュエータ回路112によって予歪され得、PA130を介して伝送され得る)、観察経路(PA130の出力を示すフィードバック信号151y’が受信され得る)、キャプチャバッファ220、及びプロセッサ及びメモリシステム(例えば、プロセッサコア240を含む)を含み得る。DPDアクチュエータ112は、LUT(例えば、式(2))及びメモリ項プログラマブル遅延及びマルチプレクサを含み得る。プロセッサ及びメモリシステムは、(例えば、アクチュエータ構成212によって示される)オフライントレーニングされたパラメータに従って、DPDアクチュエータ112のメモリ項プログラマブル遅延及びマルチプレクサを構成するように構成され得る。プロセッサ及びメモリシステムは、オフライントレーニングされたパラメータ(例えば、適応エンジン構成214によって示される)及びキャプチャバッファ220内のデータに従って、メモリ項選択及び基底関数生成(DPD適応回路114における特徴生成232によって示される)を実施し得る。特に、間接学習DPDの場合、プロセッサ及びメモリシステムは、DPDアクチュエータ回路112によって出力された予歪された信号104z及びキャプチャバッファ220におけるフィードバック信号151y’をキャプチャすることができる。プロセッサ及びメモリシステムは、選択されたメモリ項及び生成された基底関数を更に使用して、(DPD適応回路114におけるソルバ及びアクチュエータマッピング230によって示される)線形組み合わせ係数のセットを求め得る。いくつかの例では、ソルバ及びアクチュエータマッピング230は、最小二乗近似技術を利用して、線形組み合わせ係数のセットを求めることができる。プロセッサ及びメモリシステムは、(例えば、適応エンジン構成214によって示される)オフライントレーニングされたパラメータに従って、求めた係数及び基底関数から、LUTエントリを更に生成し、対応するメモリ項LUTにマッピングし得る。更に、いくつかの態様では、DPDアクチュエータ回路112は、デジタルハードウェアブロック又は回路によって実装され得、DPD適応回路114は、特徴生成232、並びにソルバ及びアクチュエータマッピング230を実施する命令コード(例えば、ファームウェア)を実行するプロセッサコア240によって実装され得る。
【0063】
図2Bは、本開示のいくつかの実施形態による、直接学習アーキテクチャベースDPD(例えば、DPD190)に対するオフライントレーニング及びオンラインDPD適応及び作動のためのスキーム250の例解図を提供する。
図2Bのスキーム250は、多くの点で
図2Aのスキーム200と類似しており、簡潔にするために、これらの要素の考察は繰り返されず、これらの要素は、本明細書に開示される実施形態のいずれかの形態を採り得る。
【0064】
図1Cを参照して上で言及されるように、直接学習DPDの場合、DPD適応回路114は、係数を計算して、入力信号102xとフィードバック信号151y’との間の差を示す誤差を最小化し得る。したがって、スキーム250では、
図2Bの左側のオフライントレーニングのために、オフラインプロセッサ及びメモリシステム(例えば、
図15に示されるデータ処理システム2300などのコンピュータ実装システム)は、標的ハードウェアからの入力信号102x及びフィードバック信号151y’の複数のキャプチャを実施し得る。すなわち、キャプチャ202は、標的ハードウェアから収集された入力信号102x及びフィードバック信号151y’並びに/又は対応する入力信号のための所望のフィードバック信号を含み得る。更に、
図2Bの右側に示されるように、作動及び適応のためのオンチップDPDサブシステムは、キャプチャバッファ220で入力信号102x及びフィードバック信号151y’をキャプチャし得る。特徴生成232は、入力信号102x及びフィードバック信号151y’に基づき得る。更に、いくつかの例では、ソルバ及びアクチュエータマッピング230は、反復解アプローチを使用して、DPDアクチュエータ回路112によって使用される線形組み合わせ係数のセットを求め得る。
【0065】
モデルアーキテクチャ検索技術を使用した標的ハードウェアの例示的なオフラインパラメータ化されたモデルトレーニング
したがって、特定の態様では、
図2A及び2Bのオフライントレーニングに示されるように、コンピュータ実装システム(例えば、
図1Aのパラメータ化されたモデルトレーニングシステム172及び/又は
図15のデータ処理システム2300)は、モデルアーキテクチャ検索を実施して、標的ハードウェアのハードウェア構成を最適化して、特定のデータ変換(例えば、DPD作動及び/又は適応)を実施するためのオフライントレーニング方法を実装し得る。データ変換は、線形及び/又は非線形動作を含むことができる。標的ハードウェア(例えば、
図2Aの右側に示されるオンチップDPDサブシステム)は、少なくとも算術演算及び/又は信号選択動作(例えば、多重化及び/又は逆多重化)を実施することができる処理ユニットのプールを含み得る。モデルアーキテクチャ検索は、処理ユニットのプール及び関連付けられた能力、所望のハードウェアリソース制約(例えば、HW制約204)、及び/又はデータ変換に関連付けられたハードウェア動作を含む検索空間上で実施され得る。モデルアーキテクチャ検索をまた実施して、データ変換に関連付けられた特定の所望の性能メトリックを実現して、例えば、データ変換に関連付けられた誤差メトリックを最小化することができる。
【0066】
モデルアーキテクチャ検索を実施するために、コンピュータ実装システムは、処理ユニットのプールに関連付けられた情報を受信し得る。受信された情報は、ハードウェアリソース制約(例えば、HW制約204)、ハードウェア動作(例えば、信号選択、乗算、加算、テーブルルックアップのためのアドレス生成など)、及び/又は処理ユニットのプールに関連付けられたハードウェア能力(例えば、速度、遅延など)を含み得る。コンピュータ実装システムは、データ変換動作に関連付けられたデータセット(例えば、キャプチャ202)を更に受信し得る。データセットは、標的ハードウェア上で収集され得、入力データ、出力データ、制御データなどを含み得る。すなわち、データセットは、標的ハードウェアから測定された信号及び/又は所望の信号を含み得る。いくつかの例では、データセットは、例えば、直接学習DPDアーキテクチャ又は間接学習DPDアーキテクチャが使用されるかどうかに応じて、入力信号102x、予歪された信号104z、及び/又はフィードバック信号151y’のキャプチャを含み得る。コンピュータ実装システムは、受信したハードウェア情報及び受信したデータセットを使用して、データ変換に関連付けられたパラメータ化されたモデル(例えば、パラメータ化されたモデル170)をトレーニングすることができる。トレーニングは、プール内の処理ユニットの少なくともサブセットを構成することに関連付けられたパラメータ化されたモデルの少なくとも1つのパラメータを更新して(データ変換を実施する)ことを含み得る。コンピュータ実装システムは、プール内の少なくとも処理ユニットのサブセットのための1つ以上の構成(例えば、アクチュエータ構成212及び適応エンジン構成214)を出力し得る。
【0067】
いくつかの態様では、コンピュータ実装システムは、例えば、プール内の処理ユニットの各々から、複数の微分可能な関数ブロックのうちの異なる1つの間のマッピングを生成することによって、パラメータ化されたモデルを更に生成し得る。すなわち、プール内の各処理ユニットと微分可能な関数ブロックの各々との間には、1対1の対応が存在する。
【0068】
いくつかの態様では、データ変換動作は、少なくとも第1のデータ変換及び第2のデータ変換のシーケンスを含み得、トレーニングは、第1のデータ変換に関連付けられた第1のパラメータ(例えば、第1の学習可能なパラメータ)及び第2のデータ変換に関連付けられた第2のパラメータ(例えば、第2の学習可能なパラメータ)を計算することを含み得る。いくつかの態様では、第1のデータ変換に関連付けられた第1のパラメータ及び第2のデータ変換に関連付けられた第2のパラメータを計算することは、(例えば、勾配降下検索を使用することによって)逆伝播及び損失関数に更に基づき得る。いくつかの態様では、シーケンス内の第1のデータ変換又は第2のデータ変換は、実行可能命令コードに関連付けられ得る。換言すると、パラメータ化されたモデルは、プロセッサによって実行可能なデジタル回路及び/又はアナログ回路及び/又は命令コード(例えば、ファームウェア)によって実装されるハードウェア動作をモデル化することができる。
【0069】
オフライントレーニングのためのDPD作動をモデリングする例では、シーケンス内の第1のデータ変換は、第1のパラメータに基づいて、入力信号(例えば、入力信号102x)から、メモリ項を選択することを含み得る。シーケンス内の第2のデータ変換は、第2のパラメータに基づいて、基底関数のセット(例えば、fk(.))及び選択されたメモリ項を使用して、PA130の非線形特性に関連付けられた特徴パラメータを生成することを含み得る。データ変換動作に関連付けられたシーケンスは、特徴パラメータに基づいて、予歪された信号(例えば、予歪された信号104z)を生成することを含む第3のデータ変換を更に含み得る。
【0070】
オフライントレーニングのためのDPD適応をモデリングする例では、シーケンス内の第1のデータ変換は、第1のパラメータに基づいて、非線形電子コンポーネント又は入力信号の出力を示すフィードバック信号(例えば、フィードバック信号151y’)から、メモリ項を選択することを含み得る。シーケンス内の第2のデータ変換は、第2のパラメータに基づいて、基底関数のセット(例えば、f
k)、DPD係数(例えば、c
k)、及び選択されたメモリ項を使用して、PA130の非線形特性に関連付けられた特徴を生成することを含み得る。データ変換動作に関連付けられたシーケンスは、特徴及び第2の信号に基づいて、係数を更新することを含む第3のデータ変換を更に含み得る。第2の信号は、(例えば、
図1Bに示されるように)間接学習DPDを使用する場合の予歪された信号104zに対応し得る。代替的に、第2の信号は、(例えば、
図1Cに示されるように)直接学習DPDを使用する場合の入力信号102xとフィードバック信号151y’との間の差に対応し得る。
【0071】
モデルアーキテクチャ検索技術を使用してトレーニングされたパラメータ化されたモデルに基づいた例示的なオンラインハードウェア動作
特定の態様では、装置は、オンライン動作について本明細書で考察されるようにトレーニングされたパラメータ化されたモデル(例えば、パラメータ化されたモデル170)に基づいて、構成され得る。例えば、装置は、入力信号を受信するための入力ノードと、1つ以上の算術演算(例えば、乗算、加算など)及び/又は1つ以上の信号選択動作(例えば、多重化及び/又は逆多重化、アドレス生成など)を実行するための処理ユニットのプールと、を含み得る。プール内の処理ユニットの各々は、データ変換(例えば、線形動作、非線形動作、DPD動作などを含む)に対応する少なくとも1つのパラメータ化されたモデル(例えば、NASモデル)に関連付けられ得る。装置は、第1のパラメータ化されたモデル(例えば、パラメータ化されたモデル170)に基づいて、処理ユニットの少なくとも第1のサブセットを構成及び/又は選択して、入力信号を処理して第1の信号を生成する制御ブロック(例えば、制御レジスタ)を更に含み得る。いくつかの態様では、第1のパラメータ化されたモデルは、プール内の処理ユニットの各々から、複数の微分可能なビルディングブロックの異なる1つの間のマッピングと、標的ハードウェア又はハードウェア制約(例えば、標的リソース使用率/又は電力消費)上で収集された入力データセット又は出力データセットのうちの少なくとも1つと、に基づいて、オフラインでトレーニングされ得る。例えば、トレーニングは、本明細書で考察されるように、複数の微分可能なビルディングブロックにわたるNASに基づき得る。
【0072】
いくつかの態様では、データ変換は、データ変換のシーケンスを含み得る。例えば、データ変換は、第1のデータ変換に続いて第2のデータ変換を含み得、第1のデータ変換は、入力信号を第1の信号に変換し、第2のデータ変換は、第1の信号を第2の信号に変換する。いくつかの態様では、データ変換のシーケンスは、命令コード(例えば、ソフトウェア又はファームウェア)を実行するデジタルハードウェアブロック(例えば、デジタル回路)とプロセッサとの組み合わせによって実施され得る。例えば、処理ユニットの第1のサブセットは、第1の変換を実施するためのデジタルハードウェアブロック(例えば、デジタル回路)を含み得、制御ブロックは、プール内の処理ユニットの第2のサブセットを第2の変換を実施するための命令コードを実行するように更に構成することができる。
【0073】
ある特定の態様では、装置は、非線形電子コンポーネントへの入力信号を予歪するためのDPD装置(例えば、DPD回路110)であり得る。例えば、受信された入力信号は、入力信号102xに対応し得、非線形電子コンポーネントは、PA130に対応し得、第1の信号は、予歪された信号104zに対応し得る。装置は、第1のパラメータ化されたモデルに基づいて、非線形電子コンポーネントの1つ以上の非線形特性に関連付けられた1つ以上のルックアップテーブル(LUT)を記憶するためのメモリを更に含み得る。装置は、第1のパラメータ化されたモデルに基づいて、入力信号から、第1のメモリ項(例えば、式(1)に示される[n-i]及びx[n-j]項)を選択するための処理ユニットの第1のサブセットを含むDPDブロックを更に含み得る。処理ユニットの第1のサブセットは、1つ以上のLUT(例えば、式(2)に示されるLi、j)及び選択された第1のメモリ項(例えば、DPD作動のための)に基づいて、予歪された信号を更に生成し得る。いくつかの態様では、処理ユニットの第1のサブセットは、第1のパラメータ化されたモデルに基づいて、非線形電子コンポーネントの出力に関連付けられたフィードバック信号(例えば、フィードバック信号151y’)から、第2のメモリ項(例えば、y’[n-i]及びy’[n-j])を更に選択し得る。制御ブロックは、第1のパラメータ化されたモデルに基づいて、命令コードを実行して、選択された第2のメモリ項及び基底関数のセットに基づいて、DPD係数(例えば、係数のセットck)を計算し、計算された係数及び基底関数のセットに基づいて、1つ以上のLUTのうちの少なくとも1つを(例えば、DPD適応のために)更新するように、処理ユニットの第2のサブセットを更に構成し得る。
【0074】
例示的なLUTベースDPDアクチュエータ実装態様
上で考察されるように、いくつかの実施形態では、LUTベースDPDアクチュエータは、複数の入力信号のうちの1つの信号を選択するマルチプレクサを含み得る。いくつかの実施形態では、LUTベースDPDアクチュエータは、1つの信号を入力とし、入力に従って出力を生成するように構成されたLUTを含む。
図3~5は、LUTベースDPDアクチュエータのための様々な実装態様を例解する。
【0075】
図3は、本開示のいくつかの実施形態による、LUTベースDPDアクチュエータ回路300の例示的な実装態様の例解図を提供する。例えば、
図1A~1C、2A~2BのDPDアクチュエータ回路112は、
図3に示されるように実装され得る。
図3に示されるように、LUTベースDPDアクチュエータ回路300は、複素/大きさ変換回路310、タップ遅延線312、複数のLUT320、322、324、326、複素乗算器330、及び加算器340を含み得る。簡略化のために、
図3は、3つの遅延タップ312を例解する。しかしながら、LUTベースDPDアクチュエータ回路300は、任意の好適な数の遅延タップ312(例えば、1、2、3、4、5、10、100、200、500、1000以上)を含むようにスケーリングされ得る。
【0076】
LUTベースDPDアクチュエータ回路300は、例えば、サンプルx[n]のブロックを含む入力信号102xを受信し得、Nは、0から(N-1)まで変化し得、x
0、x
1、・・・、x
N-1として表され得る。いくつかの場合では、入力信号102xは、デジタルベースバンド複素同相直交位相(IQ)信号であり得る。複素/大きさ変換回路310は、各複素サンプルx[n]について絶対値又は大きさを計算し得る。タップ遅延線312は、入力信号102xの大きさの遅延バージョン、例えば、|x
0|、|x
1|、・・・、|x
N-1|を生成し得る。LUT320(例えば、
【数3】
のLUT)は、信号|x[n]|の大きさを入力とし、出力を生成し得る
【数4】
。同様に、LUT322(例えば、
【数5】
のLUT)は、信号|x[n-1]|の大きさを入力とし、出力を生成し得
【数6】
、LUT324(例えば、
【数7】
のLUT)は、信号|x[n-2]|の大きさを入力とし、出力を生成し得
【数8】
、LUT326(例えば、
【数9】
のLUT)は、信号|x[n-3]|の大きさを入力とし、出力を生成し得る
【数10】
。次いで、LUT320、322、324、326の出力は、それぞれ、複素乗算器330で、x[n-j1]、x[n-j2]、x[n-j3]、及びx[n-j4]と乗算される。複素乗算器330の出力からの積は、加算器340で合計されて、アクチュエータ300に出力z[n]を提供し、出力は、予歪された信号104zに対応し得る。
【0077】
図3は、LUT320、322、324、326を別個のLUTとして例解し、各LUTは、特定のi,jクロスメモリ項に対応する(例えば、PA130の特定の非線形特性をモデリングする)が、一般に、LUTベースDPDアクチュエータ回路400は、LUT320、322、324、326を任意の好適な形態で記憶し得る。
【0078】
図4は、本開示のいくつかの実施形態による、LUTベースDPDアクチュエータ回路400の例示的な実装態様の例解図を提供する。例えば、
図1A~1C、2A~2BのDPDアクチュエータ回路112は、
図4に示されるように実装され得る。
図4のLUTベースDPDアクチュエータ回路400は、多くの点で
図3のLUTベースDPDアクチュエータ回路300と類似しており、簡潔にするために、これらの要素の考察は繰り返されず、これらの要素は、本明細書に開示される実施形態のいずれかの形態を採り得る。
【0079】
図4では、
図3のLUTベースDPDアクチュエータ回路300のように、LUTベースDPDアクチュエータ回路400は、複数のLUTを利用して、予歪されたサンプルz[n]ごとに、単一のLUTの代わりに、予歪された信号サンプルz[n]を生成し得る。簡略化のために、
図4は、LUT A420及びLUT B422という2つのLUTを利用して、各々の予歪されたサンプルz[n]を生成するLUTベースDPDアクチュエータ回路400を例解する。しかしながら、LUTベースDPDアクチュエータ回路400は、任意の好適な数のLUT(例えば、約3、4以上)を使用してスケーリングされて、各々の予歪されたサンプルz[n]を生成し得る。更に、
図4の図面を乱さないようにするために、
図4は、最初の2つのサンプル、x
0及びx
1についてのLUT A420及びLUT B422のみを例解しているが、LUT A420及びLUT422は、遅延サンプルx
2、x
3、・・・、x
N-1の各々について含まれ得る。
【0080】
図4に示されるように、サンプルx[n]について、LUT A420は、信号|x[n]|の大きさを入力とし、出力を生成し得
【数11】
、LUT B422は、信号|x[n]|の大きさを入力とし、出力を生成し得る
【数12】
。同様に、サンプルx[n-1]について、LUT A420は、信号|x[n-1]|の大きさを入力とし、出力
【数13】
を生成し得、LUT B422は、信号|x[n-1]|の大きさを入力とし、出力
【数14】
を生成する、などを行い得る。いくつかの例では、LUT A420及びLUT B422は各々、PA130の異なる非線形特性をモデル化し得る。各サンプルx[n]、x[n-1]、・・・、x[n-N-1]のLUT420及び422の出力は、複素乗算器330でそれぞれのメモリ項x[n-j1]、x[n-j2]、・・・と乗算される。複素乗算器330の出力からの積は、加算器340で合計されて、アクチュエータ300に出力z[n]を提供し、出力は、予歪された信号104zに対応し得る。
【0081】
図4は、LUT420及び422を別個のLUTとして例解しており、各LUTは、特定のi,jクロスメモリ項に対応しているが、一般に、LUTベースDPDアクチュエータ回路400は、LUT420及び422を任意の好適な形態で記憶し得る。
【0082】
図5は、本開示のいくつかの実施形態による、LUTベースDPDアクチュエータ回路500の例示的な実装態様の例解図を提供する。例えば、
図1A~1C、2A~2BのDPDアクチュエータ回路112は、
図5に示されるように実装され得る。
図5のLUTベースDPDアクチュエータ回路500は、多くの点で、
図3のLUTベースDPDアクチュエータ回路300と類似しており、簡潔にするために、これらの要素の考察は繰り返されず、これらの要素は、本明細書に開示される実施形態のいずれかの形態を採り得る。
図5に示されるように、LUTベースDPDアクチュエータ回路500は、タップ遅延ライン312、複数の信号マルチプレクサ510、複数の前処理回路514(例えば、前処理機能P(.)によって表される)、複数のLUT520、複数の信号マルチプレクサ512、複数の乗算器330、及び加算器340を含み得る。
図5の図面を混乱させないようにするために、
図5は、第1のサンプルx
0についての信号マルチプレクサ510、前処理回路514、LUT520、及び信号マルチプレクサ512のみを例解するが、信号マルチプレクサ510、前処理回路514、LUT520、及び信号マルチプレクサ512は、遅延サンプルx
1、x
2、・・・、x
N-1の各々に対して、サンプルx
0と同様の方法で配置され得る。
【0083】
図5に示されるように、タップ遅延線312は、例えば、x
0、x
1、・・・、x
N-1として表される、入力信号102xの遅延バージョンを生成する。各マルチプレクサ510は、選択信号511に基づいて、全ての可能な入力の中から、1つの信号x
iを選択する。各信号マルチプレクサ512は、選択信号513に基づいて、全ての可能な入力の中から、1つの信号x
jを選択する。各前処理回路514は、それぞれ選択された信号x
iを前処理する。前処理は、複雑なエンベロープ又は振幅計算、大きさ二乗、スケーリング関数、又は任意の好適な前処理関数であり得る。各LUT520は、処理された信号P(x
i)を入力とし、出力L
i、j(P(x
i))を生成する。次いで、LUT520の出力は、複素乗算器330で信号マルチプレクサ512によって選択されたそれぞれの信号と乗算される。複素乗算器330の出力からの積は、加算器340で合計されて、アクチュエータ300に出力z[n]を提供し、出力は、予歪された信号104zに対応し得る。
【0084】
図3~5に示されるLUTベースDPDアクチュエータのためのハードウェア実装態様を使用して、DPDブロックのモデルアーキテクチャ検索を駆動し得る。いくつかの態様では、マルチプレクサ510のための選択信号511、マルチプレクサ512のための選択信号513、及びLUT520は、以下でより完全に考察されるように、モデルアーキテクチャ検索の一部としてトレーニングされた学習可能なパラメータにマッピングされ得る。
【0085】
ハードウェアブロックをパラメータ化されたモデル要素にマッピングする
本開示の態様によれば、コンピュータ実装システムは、関連するハードウェア制約(例えば、許可されたメモリ項、LUT、モデルサイズなど)をキャプチャするDPDアクチュエータハードウェア(例えば、
図3~5に示されるLUTベースDPDアクチュエータ)のソフトウェアモデルを作成し得る。ソフトウェアモデルは、(例えば、上記の式(1)に示されるように)DPD係数cのセットを決定するモデル内に適応ステップ(例えば、間接学習DPDの場合の線形最小二乗適応、又は直接学習DPDの場合の反復解)を含むことができる。いくつかの実施形態では、非線形LUT基底関数(例えば、f
k(.))は、任意であり得る(GMPは、それらを多項式に制限する)。例えば、NN層のシーケンスが使用され得る。いくつかの実施形態では、メモリ項多重化は、重みwでパラメータ化されたベクトルドット積を使用してモデル化され得る。
【0086】
非線形関数は、オフラインの事前トレーニング段階におけるメモリ項の選択とともに最適化され得、展開後の動作において適応(すなわち、事前トレーニングされたパラメータを変更する任意の手段)なしで使用され得る。
【0087】
いくつかの実施形態では、「学習可能な」多重化層を使用して、メモリ項の選択の最適化を可能にすることができる。これを行うことで、学習可能なパラメータを用いる「N選択M」(M<N)動作を実施することができる。
【0088】
いくつかの実施形態では、LUT基底関数及び「学習可能な」多重化層のパラメータは、最終的な最小二乗誤差を最小化するようにトレーニングされ得る。例えば、いくつかの実施形態では、これは、逆伝播とともに勾配降下を使用して行われ得る。
【0089】
いくつかの例では、ソフトウェアモデルの生成は、特別に設計された微分可能なビルディングブロックでハードウェア動作を複製することと、一連のハードウェアイベントを微分可能な計算グラフとして再現することと、ハードウェア機能及び制約を用いてハードウェア構成をオフラインで最適化することと、を含み得る。
【0090】
図6は、
図5に関連して考察され、単純化のために、
図5と同じ要素に言及するために、同じ参照番号を使用し得る。
図6は、本開示のいくつかの実施形態による、1対1の機能マッピングを有するハードウェア設計から導出される例示的なソフトウェアモデル600の例解図を提供する。
図6に示されるように、ソフトウェアモデル600は、LUT動作をモデル化する第1の部分602と、メモリ項選択動作をモデル化する第2の部分604と、を含み得る。
【0091】
第1の部分602では、DPDハードウェアのLUT520動作は、入力信号の大きさを入力|x[i]|とし、出力L
i(|x[i]|)を生成し得る。ソフトウェアモデル600は、LUT520を、その入力|x[i]|に関して任意の機能620として表すことができる。LUT520動作は、パラメータ化されたモデル170においてNN層として表すことができ、いくつかの例では、
図7~9を参照して以下でより完全に考察されるように、別のNNを使用してトレーニングすることができる。
【0092】
第2の部分604では、DPDハードウェア上のマルチプレクサ510動作は、選択信号511に基づいて、複数の入力信号x[n]、x[n-1]、x[n-2]、・・・、x[n-M]の中から、1つの信号x[n-i]を選択し得る。ソフトウェアモデル600は、w[0]、w[1]、w[2]、・・・、w[M]として示され、乗算器622で入力信号[n]、x[n-1]、x[n-2]、・・・、x[n-M]を掛けた重み624のセットとしてマルチプレクサ510の動作を表すことができ、積は、610によって示されるように加算器626で合計される。更に示されるように、重みw[i]=1及び他の全ての重みw[k≠i]=0であり、したがって、加算器626の出力は、選択された信号x[n-i]に対応する。ソフトウェアモデル600はまた、610によって示されるような同様の動作を使用して、
図5のマルチプレクサ512の信号選択動作をモデル化し得る。一般に、ソフトウェアモデル600は、マルチプレクサ510及び/又は512の動作を多種多様な方法でモデル化して、同じ信号選択機能を提供し得る。(メモリ項選択のための)マルチプレクサ510動作は、パラメータ化されたモデル170においてNN層として表すことができ、重みw[0]、w[1]、w[M]、…、w[M]は、モデルアーキテクチャ検索の一部としてトレーニングすることができ、
図7~9を参照して以下でより完全に考察される。
【0093】
例示的なDPD配置の自動モデル検出
図7は、本開示のいくつかの実施形態による、DPD動作のためのパラメータ化されたモデルをトレーニングするための例示的な方法700の例解図を提供する。方法700は、コンピュータ実装システム(例えば、
図1Aのパラメータ化されたモデルトレーニングシステム172及び/又は
図15に示されるデータ処理システム2300)によって実装され得る。いくつかの態様では、方法700は、
図2A及び/又は2Bに示されるオフライントレーニングの一部として実装され得る。高レベルでは、方法700は、モデルアーキテクチャ検索を実施して、DPDハードウェア(例えば、
図1A~1C及び2A~2BのDPDアクチュエータ回路112及びDPD適応回路114)のハードウェア構成を最適化し、PA(例えば、
図1A~1C及び2A~2BのPA130)の非線形性を事前に補償する。方法700は、DPD作動回路112及び/又はDPD適応回路114のハードウェア動作を複製し得る。
【0094】
いくつかの態様では、コンピュータ実装システムは、命令を記憶するメモリと、1つ以上のコンピュータプロセッサと、を含み得、命令は、1つ以上のコンピュータプロセッサによって実行されると、1つ以上のコンピュータプロセッサに方法700の動作を実施させる。他の態様では、方法700の動作は、コンピュータ実装システムの1つ以上のコンピュータプロセッサによって実行されると、1つ以上のコンピュータプロセッサに方法700を実施させる、非一時的計算可能可読記憶媒体における符号化された命令の形態であり得る。
【0095】
710において、コンピュータ実装システムは、標的ハードウェア上で収集された測定信号及び/又は所望の信号のキャプチャを受信し得る。標的ハードウェアは、
図1のRFトランシーバ100、
図1Bの間接学習DPD180、及び/又は
図1Cの直接学習DPD190に類似し得る。キャプチャは、キャプチャ202に類似し得る。特に、キャプチャは、標的ハードウェア及び/又は対応する所望の信号からキャプチャされた入力信号102x、予歪された信号104z、及び/又はフィードバック信号151y’を含み得る。
【0096】
712において、コンピュータ実装システムは、(タップ遅延線312を複製するために)キャプチャされた信号の遅延バージョンを生成し得、(マルチプレクサ510及び512動作を複製するために)キャプチャされた信号から、メモリ項を選択し得、及び/又は(特定の基準サンプル時間に従って)キャプチャされた信号を整列させ得る。
【0097】
714において、コンピュータ実装システムは、DPD特徴生成を実施し得る。DPD特徴生成は、様々な基底関数716(例えば、fi、j(P(xi)))を適用して、PA130に関連付けられた特徴(又は非線形特性)を生成することを含み得る。DPD機能生成は、可能な全ての特徴を出力し得る。
【0098】
718において、コンピュータ実装システムは、特徴選択を実施し得る。例えば、特徴選択は、DPD特徴生成によって出力された可能な特徴から、1つ以上の特徴を選択し得る。選択は、例えば、非線形性の特定の順序又は非線形性の組み合わせが閾値を超える場合、特定の基準又は閾値に基づき得る。いくつかの例では、714で特徴生成によって出力された特徴が、三次非線形性の存在を示すが、五次非線形性の存在を示さない場合、特徴選択は、三次非線形性に関連付けられた特徴を選択し得る。更に、基底関数のセットは、三次非線形性について生成され得る。別の例として、特徴生成によって出力された特徴が、三次非線形性及び五次非線形性の存在を示す場合、特徴選択は、三次非線形性に関連付けられた特徴及び五次非線形性に関連付けられた特徴を選択し得る。更に、基底関数のセットは、三次非線形性について生成され得、基底関数の別のセットは、五次非線形性について生成され得る。更なる例として、特徴生成によって出力された特徴が、三次非線形性と五次非線形性との間の相関を示す場合、特徴選択は、三次非線形性に関連付けられた特徴及び五次非線形性に関連付けられた特徴を選択し得る。更に、基底関数のセットは、3次非線形性と5次非線形性の両方について生成され得る。
【0099】
720において、コンピュータ実装システムは、積和を計算して、特徴選択及びDPD係数によって出力された選択された特徴(例えば、メモリ項及び基底関数)に基づいて、
図5に示されるように、予歪された信号104を生成することができる。
【0100】
722において、コンピュータ実装システムは、平均二乗誤差(MSE)損失(例えば、標的又は所望の送信信号と予歪された信号との間の差)を判定し得る。
【0101】
コンピュータ実装システムは、逆伝播を実施して、718での特徴選択、714での特徴生成、及び/又は712での遅延/メモリ項選択を調整し得、MSE損失が特定の基準(例えば、閾値)を満たすまで方法700を繰り返し得る。
【0102】
いくつかの態様では、コンピュータ実装システムは、NN732をトレーニングして、730によって示されるような基底関数を生成し得る。そのために、NN732は、入力信号102x及び/又はフィードバック信号151y’の様々なメモリ項をNN732への入力とし、NN732は、基底関数fi、j(|xi|)を生成し得る。この場合、基底関数は何らかの任意の関数であり得、必ずしも多項式として数学的に表現可能ではない。
【0103】
図8は、本開示のいくつかの実施形態による、微分可能な関数ブロックのシーケンスとしてDPD動作をモデリングする例示的なパラメータ化されたモデル800の概略例解図を提供する。モデル800は、コンピュータ実装システム(例えば、
図1Aのパラメータ化されたモデルトレーニングシステム172及び/又は
図15に示されるデータ処理システム2300)によって生成され得る。モデル800は、パラメータ化されたモデル170に類似し得る。いくつかの態様では、パラメータ化されたモデル800は、
図2A/又は2Bに示されるオフライントレーニングの一部として生成され得る。高レベルでは、DPDハードウェア(例えば、DPD回路110)は、処理ユニットのプール(例えば、デジタルハードウェアブロック若しくは回路、アナログ回路、ASIC、FPGA、及び/又はファームウェアを実行するプロセッサを含む)を含み得、モデル800は、処理ユニットの各々を複数の微分可能な関数ブロックの異なるものにマッピングし得る。いくつかの態様では、コンピュータ実装システムは、
図2A~2Bのオフライントレーニング及び/又は
図7の方法700と実質的に同様の機構を利用して、パラメータ化されたモデル800を生成し得る。
【0104】
図8に示されるように、モデル800は、DPD作動を、学習可能なパラメータ又は重みθによってパラメータ化された特徴生成830、デジタルハードウェアブロック804上で実行される行列乗算器850としてモデル化する。例えば、デジタルハードウェアブロック804は、DPDアクチュエータ回路112内のデジタル回路に対応し得る。モデル800は更に、DPD適応を、プロセッサ上で動作するデジタルハードウェアブロック806及びファームウェア808上で実行されるDPD適応手順を複製する微分可能な関数ブロックとしてモデル化する。例えば、デジタルハードウェアブロック806及びファームウェア808を実行するプロセッサは、DPD適応回路114内のデジタル回路及びプロセッサに対応し得る。いくつかの態様では、デジタルハードウェアブロック804及びデジタルハードウェアブロック806は、同じデジタルハードウェアブロックに対応し得る。他の態様では、デジタルハードウェアブロック804のうちの少なくとも1つのデジタルハードウェアブロックは、デジタルハードウェアブロック806の一部ではない。
【0105】
図8に更に示されるように、モデル800は、データセット802を受信し得る。データセット802は、
図2A~2Bのキャプチャ202及び/又は710におけるキャプチャと実質的に類似し得る。例えば、データセット802は、標的ハードウェア(例えば、RFトランシーバ100)から測定された入力信号102x及び/又はフィードバック信号151y’のキャプチャを含み得る。DPD作動の場合、モデル800は、入力信号102xに基づいて、特徴生成830(学習可能なパラメータ又は重みθによってパラメータ化される)を実施して、特徴行列Aを出力することができる。モデル800は、特徴行列Aと係数のセットとの間の行列乗算850を実施し得る
【数15】
。
【0106】
モデル800は、デジタルハードウェアブロック806上で実施されるキャプチャ動作810及び前処理動作820をモデル化し得る。前処理動作820は、それぞれ、入力信号102x及びフィードバック信号151y’を前処理し、前処理された信号x’及びy’’を出力し得る。いくつかの態様では、前処理動作820は、フィードバック信号151y’を入力信号102xに時間整合させることを含み得る。前処理動作820は、直接学習DPD又は間接学習DPDが使用されるかどうかに依存し得る。直接学習DPDの場合、出力前処理信号x’は、入力信号102xに対応し得、出力前処理信号y’’は、アライメント後の入力信号102xとフィードバック信号151y’との間の差に対応し得る。間接学習DPDの場合、出力された前処理された信号x’は、フィードバック信号151y’に対応し得、出力された前処理された信号y’’は、入力信号102xに対応し得る。DPD適応の場合、モデル800は、DPD適応ファームウェア(例えば、オンライン動作のためのプロセッサ上で実行するための命令コード)の一部である特徴生成840及びソルバ860を実施することを含み得る。図示されるように、モデル800は、出力され前処理された信号x’に基づいて、(DPD作動のための特徴生成830と同じ学習可能なパラメータ又は重みθによってパラメータ化された)特徴生成840を実施して、特徴行列
【数16】
を出力することができる。別の言い方をすれば、特徴行列は、直接学習DPDのための入力信号102xから、又は間接学習DPDのためのフィードバック信号151y’から生成され得る。モデル800は、係数
【数17】
を求めるためにソルバ860を更に適用し得、式中、間接学習DPDアーキテクチャを使用する場合、
【数18】
である。他の例では、ソルバ860は、直接学習DPDアーキテクチャを使用する場合に、反復解(例えば、
【数19】
)を使用して係数
【数20】
を求め得る。モデル800は、(例えば、行列乗算器850に使用される)DPD作動のための更新された係数
【数21】
を更に提供し得る。コンピュータ実装システムは、点線の矢印によって示されるように、逆伝播とともに勾配降下検索を実施することによって、モデル800のパラメータ(例えば、θ)を最適化し得る。
【0107】
図9及び10は、標的DPDハードウェアについてオフラインで実施されるモデルアーキテクチャ検索手順、及び標的DPDハードウェア上での対応するオンラインDPD動作を例解するために、互いに関連して考察される。標的ハードウェアは、DPD作動及びDPD適応を実施するための算術演算及び/又は信号選択動作(例えば、多重化及び/又は逆多重化)を実施できる処理ユニットのプールを含み得る。処理ユニットのプールは、デジタル回路、アナログ回路、プロセッサ、ASIC、FPGAなどを含み得る。特定の態様では、標的DPDハードウェアは、デジタル回路、命令コードを実行することができる少なくともプロセッサを含み得る。
【0108】
図9は、本開示のいくつかの実施形態による、DPDのパラメータ化されたモデルをトレーニングするための例示的な方法900を例解するフロー図である。方法900は、コンピュータ実装システム(例えば、
図1Aのパラメータ化されたモデルトレーニングシステム172及び/又は
図15に示されるデータ処理システム2300)によって実装され得る。いくつかの態様では、方法900は、
図2A及び/又は2Bに示されるオフライントレーニングの一部として実装され得る。高レベルでは、方法900は、モデルアーキテクチャ検索を実施して、DPDハードウェア(例えば、
図1A~1C及び2A~2BのDPDアクチュエータ回路112及びDPD適応回路114)のハードウェア構成を最適化して、PA(例えば、
図1A~1C及び2A~2BのPA130)の非線形性を事前に補償する。方法900は、DPD作動回路112及び/又はDPD適応回路114のハードウェア動作を複製し、オンライン動作のために実際のDPD作動回路112及び/又はDPD適応回路114を構成するためのモデルアーキテクチャを実施することができる。方法900は、
図7の方法700及び
図8のモデル800と同様の機構を利用し得る。
【0109】
いくつかの態様では、コンピュータ実装システムは、命令を記憶するメモリと、1つ以上のコンピュータプロセッサと、を含み得、命令は、1つ以上のコンピュータプロセッサによって実行されると、1つ以上のコンピュータプロセッサに方法900の動作を実施させる。他の態様では、方法900の動作は、コンピュータ実装システムの1つ以上のコンピュータプロセッサによって実行されると、1つ以上のコンピュータプロセッサに方法900を実施させる非一時的計算可能可読記憶媒体における符号化された命令の形態であり得る。
【0110】
910において、コンピュータ実装システムは、標的ハードウェアから収集された測定信号及び/又は所望の信号を含む入力を受信し得る。標的ハードウェアは、
図1のRFトランシーバ100、
図1Bの間接学習DPD180、及び/又は
図1Cの直接学習DPD190に類似し得る。入力は、キャプチャ202及び/又はデータ802に類似し得る。一例では、入力は、(PA130への入力のための)入力信号102x、及びPA130の出力及び/又は所望の信号(例えば、所望のPA入力及び/又は出力信号)を示す観察された受信信号又はフィードバック信号151y’のキャプチャを含み得る。
【0111】
912において、コンピュータ実装システムは、学習可能な重みwに基づいて、プログラマブル遅延を選択し得る。一例では、プログラマブル遅延は、
図3~5のタップ遅延線312に対応し得、学習可能な重みwは、
図6に示されるように、マルチプレクサ510及び512で信号選択をモデリングするために使用される重みwに対応し得る。
【0112】
914において、コンピュータ実装システムは、学習可能な重みwに基づいて、メモリ項を選択し得る。メモリ項は、
図2A~2B及び3~5を参照して上で考察されたi,j個のクロスメモリ項の組み合わせに対応し得る。
【0113】
916において、コンピュータ実装システムは、例えば、
図8の特徴生成840と同様に、学習可能なパラメータθを有する基底関数を使用して特徴Aを生成し得る。上で解説されるように、特徴生成840は、オンライン動作中にプロセッサ上でファームウェア又は命令コードを実行することによって実装され得る。
【0114】
918において、コンピュータ実装システムは、例えば、
図8のソルバ860と同様に、
【数22】
の適応問題を解決し得る。
【0115】
920において、コンピュータ実装システムは、学習可能なパラメータw及びθをトレーニングして、
【数23】
によって表される誤差を最小化し得る。
【0116】
一態様では、方法900の910、912、914、916、918、及び920での動作は、NN層のシーケンスにマッピングされ得るデータ変換902、903、904、905、及び906のシーケンスとして見られ得る。このように、コンピュータ実装システムは、920から912に戻る逆伝播922を更に実行して、学習可能なパラメータw及びθを調整又は更新し得る。逆伝播922の一部として、コンピュータ実装システムは、メモリ項選択のために学習可能なパラメータwを更新し得る。例えば、パラメータwに関する勾配が特定の方向に向いている場合、逆伝播922は、その方向に向かってパラメータwを最適化し得る。同様に、パラメータθに対する勾配が特定の方向に向いている場合、逆伝播922は、その方向に向かってパラメータθを最適化し得る。この逆伝播の後、必要に応じて、900の方法を繰り返し得、別の逆伝播922が続き得る。一般に、このプロセスは、920での誤差が、学習可能なパラメータw及びθがトレーニングされたと見なされる特定の基準を満たすまで継続し得る。次いで、トレーニングされたパラメータ化されたモデルは、(例えば、DPDハードウェアを構成する)推論のために使用される準備ができている。別の言い方をすれば、方法900は、DPDハードウェア動作を複製することによって、パラメータw及びθによって表されるパラメータ化されたモデル(例えば、パラメータ化されたモデル170)をトレーニングし、トレーニングされたパラメータ化されたモデル(例えば、トレーニングされたパラメータw及びθ)を使用して、オンライン適応及び作動のために実際のDPDハードウェア回路を構成することができる。
【0117】
図10は、本開示のいくつかの実施形態による、オンライン作動及び適応のためのDPD動作を実施するための例示的な方法1000を例解するフロー図を提供する。方法1000は、DPD装置(例えば、DPD回路110、間接学習DPD180、及び/又は直接学習DPD190)によって実装され得る。DPD装置は、例えば、
図5のLUTベースDPDアクチュエータ500と同様のLUTベースDPDアクチュエータを含む、LUTベースであり得る。いくつかの態様では、方法1000は、
図2A及び/又は2Bに示されるオンライン適応及び作動の一部として実装され得る。以下に見られるように、方法1000の動作は、DPD装置上で実行され、パラメータ化されたモデル(例えば、学習可能なパラメータw及びθ)をトレーニングするために使用される方法900の動作に対応し、トレーニングされたパラメータw及びθは、オンライン動作で直接使用される。
【0118】
1002において、DPD装置は、測定された及び/又は所望の信号の入力を受信する。いくつかの例では、入力は、DPD装置の入力ノードから受信された入力信号102xを含み得る。いくつかの例では、入力は、DPD装置のキャプチャバッファ(例えば、キャプチャバッファ220)から取得され得る。入力は、(PA130への入力のための)入力信号102x、及びPA130の出力及び/又は所望の信号(例えば、所望のPA入力及び/又は出力信号)を示す観察された受信信号又はフィードバック信号151y’のキャプチャを含み得る。
【0119】
1004において、DPD装置は、例えば、方法900の914における動作に対応するトレーニングされた重みwに基づいて、メモリ項及び遅延サンプルを生成し得る。メモリ項は、
図2A~2B及び3~5を参照して上で考察されたi,j個のクロスメモリ項の組み合わせに対応し得る。
【0120】
DPD作動の場合、1012において、DPD装置は、選択されたメモリ項に基づいて、DPD装置のアクチュエータ(例えば、DPDアクチュエータ回路112)を構成し得る。例えば、アクチュエータは、
図5に示されるように実装され得、DPD装置は、選択されたメモリ項に基づいて、プログラマブル遅延(例えば、遅延312)及びマルチプレクサ(例えば、マルチプレクサ510及び512)を構成し得る。いくつかの場合では、DPD装置はまた、(例えば、式(2)に示されるように)基底関数及び係数の組み合わせを記憶するようにLUTを構成し得る。
【0121】
DPD適応の場合、1006において、DPD装置は、例えば、方法900の916における動作に対応するトレーニングされたパラメータθを有する基底関数を使用して特徴Aを生成し得る。1008において、DPD装置は、例えば、方法900の918における動作に対応する、
【数24】
の適応問題を解決し得る。1010において、DPD装置は、例えば、式(2)に示されるように、求められた係数
【数25】
に基づいて、(DPD装置におけるLUTのための)LUT値をプログラムし得る。
【0122】
例示的な微分可能なシーケンシャル動作
シーケンシャル動作は、微分可能な計算グラフとしてモデル化され得る。動作の同じシーケンスは、微分可能な関数ブロックで再現され得る。
図6~10を参照して上で考察される連続したハードウェア動作の微分可能な関数ブロックのマッピングは、DPD作動及びDPD適応の文脈において考察されるが、同様の技術は、任意の好適なハードウェア動作であり得る。微分可能な連続動作のいくつかの例が、
図11及び12に示される。
【0123】
図11は、本開示のいくつかの実施形態による、ハードウェアブロックのシーケンスの微分関数ブロックのシーケンスへの例示的なマッピング1100の概略例解図を提供する。
図11に示されるように、標的ハードウェア1102は、入力信号xに対して二次関数1110を実施し得、続いて、一次元(1D)畳み込みである有限インパルス応答(FIR)フィルタ1112(Conv 1Dとして示される)を実施し得る。FIRフィルタ1112は、hで表され得るフィルタ係数を含み得る。これらのハードウェア動作は、ハードウェア動作と微分可能な関数ブロックとの間の1-1対応を有するパラメータ化されたモデル1104にマッピングされ得る。図示されるように、ハードウェア上の二次関数1110及びFIR1112のシーケンスは、それぞれ、パラメータ化されたモデル1104内の微分可能な関数ブロック1120及び1122のシーケンスにマッピングされる。勾配降下アルゴリズムは、点線の矢印によって示されるように、損失関数
【数26】
に関して逆伝播が適用され、パラメータ化されたモデル1104を最適化することができる。例えば、二次関数1110及びFIR1112の動作の出力は、所望の基準信号と比較され得、誤差は、関数
【数27】
を用いて計算され得、h(例えば、
【数28】
)及びx(例えば、
【数29】
)に対する勾配は、逆伝播の一部として計算され得る。パラメータ化されたモデル1104がトレーニングされた後、標的ハードウェア1102は、トレーニングされたパラメータ化されたモデル1104(例えば、トレーニングされたFIR係数)に従って構成され得る。
【0124】
図12は、本開示のいくつかの実施形態による、ハードウェアブロックのシーケンスの微分関数ブロックのシーケンスへの例示的なマッピング1200の概略例解図を提供する。
図12に示されるように、標的ハードウェア1202は、事前補償1210(例えば、DPD)を実施して、下流の非線形コンポーネント1220(例えば、PA130)の特定の非線形性を線形化することができる。事前補償1210は、入力信号xに適用されるデータ変換B_1 1212、B_2 1214、B3_1216、・・・、B_N1218のシーケンスを含み得る。これらのデータ変換のうちの少なくともいくつかは、学習可能なパラメータに基づいて構成され得る。これらのハードウェア動作は、ハードウェア動作と微分可能な関数ブロックとの間の1-1対応を有するパラメータ化されたモデル1204にマッピングされ得る。図示されるように、ハードウェア上のデータ変換B_1 1212、B_2 1214、B3_1216、・・・、B_N1218のシーケンスは、それぞれ、パラメータ化されたモデル1204内の微分可能な関数ブロック1222、1224、1226、・・・、1228のシーケンスにマッピングされる。点線の矢印によって示されるように、勾配降下アルゴリズムは、逆伝播が適用されて、パラメータ化されたモデル1204内の学習可能なパラメータを最適化することができる。パラメータ化されたモデル1104がトレーニングされた後、標的ハードウェア1102は、パラメータ化されたモデル1104(例えば、トレーニングされたパラメータ)に従って、構成され得る。
【0125】
標的ハードウェアにマッピングされたパラメータ化されたモデルをトレーニングし、トレーニングされたパラメータ化されたモデルを標的ハードウェアに適用するための例示的な方法
図13は、本開示のいくつかの実施形態による、標的ハードウェアにマッピングされたパラメータ化されたモデルをトレーニングするための方法1300を例解するフロー図を提供する。方法1300は、コンピュータ実装システム(例えば、
図1Aのパラメータ化されたモデルトレーニングシステム172及び/又は
図15に示されるデータ処理システム2300)によって実装され得る。いくつかの態様では、方法1300は、
図2A及び/又は2Bに示されるオフライントレーニングの一部として実装され得る。高レベルでは、方法1300は、モデルアーキテクチャ検索を実施して、DPDハードウェア(例えば、
図1A~1C及び2A~2BのDPDアクチュエータ回路112及びDPD適応回路114)のハードウェア構成を最適化して、PA(例えば、
図1A~1C及び2A~2BのPA130)の非線形性を事前に補償する。動作は、各々一度、及び特定の順序で
図13に例解されているが、動作は、所望される際、並行して実施され得、並べ替えられ得、及び/又は繰り返され得る。
【0126】
いくつかの態様では、コンピュータ実装システムは、命令を記憶するメモリと、1つ以上のコンピュータプロセッサと、を含み得、命令は、1つ以上のコンピュータプロセッサによって実行されると、1つ以上のコンピュータプロセッサに方法1300の動作を実施させる。他の態様では、方法1300の動作は、コンピュータ実装システムの1つ以上のコンピュータプロセッサによって実行されると、1つ以上のコンピュータプロセッサに方法1300を実施させる、非一時的計算可能可読記憶媒体において符号化された命令の形態であり得る。
【0127】
1302において、コンピュータ実装システムは、処理ユニットのプールに関連付けられた情報を受信し得る。処理ユニットのプールは、モデルアーキテクチャ検索(例えば、DNAS)技術を使用してパラメータ化されたモデル(例えば、パラメータ化されたモデル170)がトレーニングされる標的ハードウェアであり得る。処理ユニットのプールは、デジタル回路、アナログ回路、命令コード(例えば、ファームウェア)を実行するためのプロセッサ、ASIC、FPGAなどを含み得る。処理ユニットのプールは、1つ以上の算術演算及び1つ以上の信号選択動作を実施し得る。この情報は、ハードウェア制約、ハードウェア動作、ハードウェア能力を含み得る。
【0128】
1304において、コンピュータ実装システムは、データ変換動作(例えば、非線形動作、線形動作)に関連付けられたデータセットを受信し得る。データセットは、入力信号、標的ハードウェアから測定された入力信号に対応する出力信号、及び/又は所望の信号を含み得る。一例では、データ変換動作はDPD動作であり得、データセットは、入力信号102x(PA130への入力のため)並びにPA130の出力及び/又は所望の信号(例えば、所望のPA入力及び/又は出力信号)を示す観察された受信信号又はフィードバック信号151y’のキャプチャを含み得る。
【0129】
1306において、コンピュータ実装システムは、データセット及び処理ユニットのプールに関連付けられた情報に基づいて、データ変換動作に関連付けられたパラメータ化されたモデルをトレーニングし得る。トレーニングは、プール内の処理ユニットの少なくともサブセットを構成することに関連付けられたパラメータ化されたモデルの少なくとも1つのパラメータ(例えば、学習可能なパラメータ)を更新することを含み得る。
【0130】
1308において、コンピュータ実装システムは、トレーニングに基づいて、プール内の処理ユニットの少なくともサブセットに対する1つ以上の構成を出力し得る。例えば、1つ以上の構成は、トレーニングから更新された少なくともいくつかの学習可能なパラメータに関連付けられた情報を示し得る。
【0131】
いくつかの態様では、方法1300は、パラメータ化されたモデルを更に生成し得る。生成することは、例えば、
図8~12を参照して上で考察されたように、プール内の処理ユニットの各々から、複数の微分可能な関数ブロックのうちの1つの間のマッピングを生成することを含み得る。
【0132】
いくつかの態様では、データ変換動作は、少なくとも第1のデータ変換及び第2のデータ変換のシーケンスを含み得、1306でのトレーニングは、第1のデータ変換に関連付けられた第1のパラメータ(例えば、学習可能なパラメータ)及び第2のデータ変換に関連付けられた第2のパラメータ(例えば、学習可能なパラメータ)を計算することを含み得る。いくつかの態様では、第1のデータ変換に関連付けられた第1のパラメータ及び第2のデータ変換に関連付けられた第2のパラメータを計算することは、逆伝播及び損失関数に更に基づいている。いくつかの態様では、シーケンス内の第1のデータ変換又は第2のデータ変換は、実行可能命令コードに関連付けられる。いくつかの例では、第1のデータ変換は、標的ハードウェアのデジタル回路によって実行され得、第2のデータ変換は、標的ハードウェアのプロセッサによって実行されるファームウェアに実装され得る。
【0133】
特定の態様では、データ変換動作は、非線形電子コンポーネントへの入力信号を予歪するためのDPD(例えば、DPD回路110、直接学習DPD180、及び/又はDPD190)に関連付けられる。例えば、入力信号は、入力信号102xに対応し得、非線形電子コンポーネントは、本明細書で考察されるように、PA130に対応し得る。第1の例では、データ変換は、DPD作動に対応し得る。したがって、シーケンス内の第1のデータ変換は、第1のパラメータ(例えば、
図9を参照して上で考察される学習可能な重みw)に基づいて、入力信号から、メモリ項(例えば、上で考察されるi,j個のクロスメモリ項)を選択することを含み得る。シーケンス内の第2のデータ変換は、基底関数のセット及び選択されたメモリ項を使用して、非線形電子コンポーネントの非線形特性に関連付けられた特徴(例えば、
図8~9を参照して上で考察される特徴行列A)を生成することを含み得、生成することは、第2のパラメータ(例えば、
図8~9を参照して上で考察される学習可能なパラメータθ)に基づき得る。データ変換動作に関連付けられたシーケンスは、特徴に基づいて、予歪された信号を生成することを含む第3のデータ変換を更に含み得る。
【0134】
第2の例では、データ変換は、DPD適応に対応し得る。したがって、シーケンス内の第1のデータ変換は、非線形電子コンポーネント又は入力信号の出力を示すフィードバック信号(例えば、フィードバック信号151y’)から、メモリ項を選択することを含み得、選択は、第1のパラメータ(例えば、
図9を参照して上で考察されるたような学習可能な重みw)に基づいている。シーケンス内の第2のデータ変換は、基底関数のセット及び選択されたメモリ項を使用して、非線形電子コンポーネントの非線形特性に関連付けられた特徴(例えば、
図8~9を参照して上で考察されるような特徴行列A)を生成することを含み得、生成は、第2のパラメータ(例えば、
図8~9を参照して上で考察されるような学習可能なパラメータθ)に基づき得る。データ変換動作に関連付けられたシーケンスは、特徴及び第2の信号に基づいて、係数(例えば、
図1A~1C、2A~2B、8~9を参照して上で考察されるような係数c)を更新することを含む第3のデータ変換を更に含み得る。間接学習DPDの例では、第1のデータ変換は、第1のパラメータに基づいて、フィードバック信号からのメモリ項を選択することを含み得、第3のデータ変換は、
図1Bを参照して上で考察されるように、DPDから生成された予歪された信号(例えば、信号104z)に基づいて、係数を更新することを含み得る。直接学習DPDの例では、第1のデータ変換は、第1のパラメータに基づいて、入力信号からのメモリ項を選択することを含み得、第3のデータ変換は、
図1Cを参照して上で考察されるように、フィードバック信号と入力信号との間の差に基づいて、係数を更新することを含み得る。いくつかの態様では、1306でパラメータ化されたモデルをトレーニングすることの一部として、コンピュータ実装システムは、例えば、
図7及び9を参照して上で考察されるように、逆伝播を実施して第2のパラメータを更新し、基底関数のセットを生成し得る。いくつかの態様では、1308で1つ以上の構成を出力することの一部として、コンピュータ実装システムは、1つ以上の構成を出力し得、メモリ項の選択又は基底関数のセットに関連付けられたルックアップテーブル(LUT)構成のうちの少なくとも1つを更に示し得る。例えば、1つ以上の構成は、
図2A~2Bを参照して上で考察されるように、アクチュエータ構成212及び/又は適応エンジン構成214に類似し得る。
【0135】
図14は、本開示のいくつかの実施形態による、パラメータ化されたモデルに基づいて構成された標的ハードウェア(例えば、装置)上で動作を実施するための方法1400を例解するフロー図を提供する。いくつかの態様では、方法1400は、パラメータ化されたモデルがトレーニングされるDPD装置(例えば、DPD回路110、間接学習DPD180、及び/又は直接学習DPD190)によって実装され得る。いくつかの態様では、方法1400は、
図2A及び/又は2Bに示されるオンライン適応及び作動の一部として実装され得る。動作は、各々一度、及び特定の順序で
図14に例解されているが、動作は、所望される際、並行して実行され得、並べ替えられ得、及び/又は繰り返され得る。
【0136】
1402において、装置は、入力信号を受信し得る。
【0137】
1404において、装置は、データ変換(例えば、非線形動作、線形動作、DPD動作など)に関連付けられたパラメータ化されたモデル(例えば、パラメータ化されたモデル170)に基づいて、処理ユニットのプール内の処理ユニットの少なくとも第1のサブセットを構成し得る。処理ユニットのプールは、デジタルハードウェアブロック又はデジタル回路、アナログハードウェアブロック又はアナログ回路、プロセッサ、ASIC、FPGAなどを含み得る。処理ユニットの第1のサブセットは、1つ以上の信号選択及び1つ以上の算術演算を実施し得る。
【0138】
1406において、装置は、入力信号に対してデータ変換を実施し得、データ変換を実施することは、処理ユニットの第1のサブセットを使用して入力信号を処理して、第1の信号を生成することを含んでよい。
【0139】
いくつかの態様では、方法1400は、パラメータ化されたモデルに基づいて、処理ユニットのプール内の処理ユニットの第2のサブセットを構成する装置を含み得、データ変換を実施することは、処理ユニットの第2のサブセットを使用して第1の信号を処理して、第2の信号を生成することを更に含み得る。すなわち、データ変換は、データ変換のシーケンスを含み得る。いくつかの態様では、処理ユニットの第1のサブセットは、デジタルハードウェアブロック(例えば、デジタル回路)を含み得、処理ユニットの第2のサブセットは、1つ以上のプロセッサを含み得、データ変換を実施することは、デジタルハードウェアブロックを使用して入力信号を処理して第1の信号を生成することと、1つ以上のプロセッサ上で命令コードを実行して、第1の信号を処理して第2の信号を生成することと、を含み得る。いくつかの態様では、方法1400は、パラメータ化されたモデルに基づいて、処理ユニットのプール内の処理ユニットの第3のサブセットを構成する装置を含み得る。データ変換を実施することは、処理ユニットの第3のサブセットを使用して第2の信号を処理して、第3の信号を生成することを更に含み得る。いくつかの態様では、処理ユニットの第1のサブセットは、処理ユニットの第3のサブセットと同じである。他の態様では、処理ユニットの第1のサブセット内の少なくとも1つの処理ユニットは、処理ユニットの第3のサブセット内にはない。
【0140】
いくつかの態様では、処理ユニットの第1のサブセットを構成するためのパラメータ化されたモデルは、プール内の処理ユニットの各々から、複数の微分可能なビルディングブロックの異なる1つの間のマッピング(例えば、
図2A~2B、6、7~12を参照して上で考察されるように)と、標的ハードウェア上で収集された入力データセット、標的ハードウェア上で収集された出力データセット、又はハードウェア制約のうちの少なくとも1つと、に基づいて、トレーニングされ得る。いくつかの態様では、処理ユニットの第1のサブセットの構成のためのパラメータ化されたモデルは、複数の微分可能なビルディングブロックにわたるNASに基づいて、更にトレーニングされる。
【0141】
ある特定の態様では、装置は、DPD作動及びDPD適応を実施するためのDPD装置(例えば、DPD回路110、間接学習DPD180、及び/又は直接学習DPD190)であり得る。DPD作動の例では、入力信号は、非線形電子コンポーネント(例えば、PA130)の入力(例えば、入力信号102x)に関連付けられ得る。1406において入力信号を処理して第1の信号を生成することは、パラメータ化されたモデルに基づいて(例えば、パラメータ化されたモデルのトレーニングされた重みwに基づいて)、入力信号から、第1のメモリ項(例えば、i,j個のクロスメモリ項)を選択することと、非線形電子コンポーネントの1つ以上の非線形特性に関連付けられた1つ以上のLUT(例えば、LUT320、322、324、326、420、422、及び/又は520)と、第1の選択されたメモリ項と、に基づいて、予歪された信号(例えば、出力信号104z)を生成することと、を含み得、第1の信号は、予歪された信号に対応し得る。いくつかの例では、1つ以上のLUTは、パラメータ化されたモデルに基づいて(例えば、パラメータ化されたモデル内のトレーニングされたパラメータθに基づいて)、構成され得る。間接学習を使用するDPD適応の例では(例えば、
図1Bに示されるように)、装置は、パラメータ化されたモデル(例えば、パラメータ化されたモデルのトレーニングされた重みw)に基づいて、非線形電子コンポーネントに関連付けられたフィードバック信号から、第2のメモリ項を更に選択し得る。装置は、パラメータ化されたモデルに基づいて、処理ユニットのプール内の処理ユニットの第2のサブセットを、命令コードを実行して、選択された第2のメモリ項及び基底関数のセットに基づいて、DPD係数(例えば、係数c)を計算するように更に構成し得る。命令コードはまた、処理ユニットの第2のサブセットに、計算された係数及び基底関数のセットに基づいて、1つ以上のLUTのうちの少なくとも1つを更新させ得る。直接学習を使用するDPD適応の例では(例えば、
図1Cに示されるように)、装置は、パラメータ化されたモデルに基づいて、処理ユニットのプール内の処理ユニットの第2のサブセットを、選択された第1のメモリ項及び基底関数のセットに基づいて、DPD係数(例えば、係数c)を計算するための命令コードを実行するように更に構成し得る。命令コードはまた、処理ユニットの第2のサブセットに、計算された係数及び基底関数のセットに基づいて、1つ以上のLUTのうちの少なくとも1つを更新させ得る。
【0142】
図15は、本開示のいくつかの実施形態による、ニューラルネットワークを使用してハードウェアブロック構成の少なくとも一部を実装又は制御するように構成され得る例示的なデータ処理システム2300を例解するブロック図を提供する。一例では、データ処理システム2300は、本明細書で考察されるように、モデルアーキテクチャ検索技術(例えば、DNAS)を使用して標的ハードウェアを構成するためのパラメータ化されたモデル(例えば、パラメータ化されたモデル170)をトレーニングするように構成され得る。別の例では、データ処理システム2300は、本明細書で考察されるように、トレーニングされたパラメータ化されたモデルによって提供される構成に基づいて、DPDハードウェアを構成するように構成され得る。
【0143】
図15に示されるように、データ処理システム2300は、システムバス2306を介してメモリ素子2304に結合された少なくとも1つのプロセッサ2302、例えば、ハードウェアプロセッサ2302を含み得る。このように、データ処理システムは、メモリ素子2304内にプログラムコードを記憶し得る。更に、プロセッサ2302は、システムバス2306を介してメモリ素子2304からアクセスされたプログラムコードを実行することができる。一態様では、データ処理システムは、プログラムコードを記憶及び/又は実行するのに好適であるコンピュータとして実装され得る。しかしながら、データ処理システム2300は、本開示内で説明される機能を実行することができるプロセッサ及びメモリを含む任意のシステムの形態で実装され得ることを理解されたい。
【0144】
いくつかの実施形態では、プロセッサ2302は、ソフトウェア又はアルゴリズムを実行して、本開示で考察されるようなアクティビティ、特に本明細書に説明されるようなニューラルネットワークを使用してDPDを実施することに関連するアクティビティを実行することができる。プロセッサ2302は、非限定的な例として、マイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイFPGA)、プログラマブル論理アレイ(PLA)、特定用途向け集積回路(IC)(ASIC)、又は仮想マシンプロセッサを含む、プログラマブル論理を提供するハードウェア、ソフトウェア、又はファームウェアの任意の組み合わせを含み得る。プロセッサ2302は、例えば、直接メモリアクセス(DMA)構成でメモリ素子2304に通信可能に結合され得、その結果、プロセッサ2302は、メモリ素子2304に対して読み取り又は書き込み得る。
【0145】
一般に、メモリ素子2304は、ダブルデータレート(DDR)ランダムアクセスメモリ(RAM)、同期RAM(SRAM)、ダイナミックRAM(DRAM)、フラッシュ、読み取り専用メモリ(ROM)、光メディア、仮想メモリ領域、磁気又はテープメモリ、又は任意の他の好適な技術を含む任意の好適な揮発性又は不揮発性メモリ技術を含み得る。別段の定めがない限り、本明細書で考察されるメモリ素子のいずれも、「メモリ」という広義の用語内に包含されるものとして解釈されるべきである。データ処理システム2300のコンポーネントのいずれかに測定され、処理され、追跡され、又は送信される情報は、任意のデータベース、レジスタ、制御リスト、キャッシュ、又はストレージ構造に提供され得、これらの全ては、任意の好適な時間枠で参照され得る。任意のそのようなストレージオプションは、本明細書で使用される場合、「メモリ」という広義の用語内に含まれ得る。同様に、本明細書に説明される潜在的な処理要素、モジュール、及びマシンのいずれも、「プロセッサ」という広義の用語内に包含されるものとして解釈されるべきである。本図に示される要素の各々、例えば、
図1~13に示されるようなニューラルネットワークを使用してDPDを実施するためのDPD配置を例解する任意の要素はまた、ネットワーク環境内でデータ又は情報を受信、送信、及び/又は他の方法で通信するための好適なインターフェースを含み得、その結果、それらは、例えば、データ処理システム2300と通信することができる。
【0146】
特定の例示的な実装態様では、本明細書で概説されるようにニューラルネットワークを使用してDPDを実施する機構は、非一時的な媒体、例えば、ASICに提供される埋め込み論理、DSP命令、プロセッサによって実行されるソフトウェア(オブジェクトコード及びソースコードを潜在的に含む)、又は他の同様のマシンなどを含み得る、1つ以上の有形媒体に符号化された論理によって実装され得る。これらの例のいくつかでは、例えば、
図15に示されるメモリ素子2304などのメモリ素子は、本明細書に説明される動作に使用されるデータ又は情報を記憶することができる。これは、本明細書に説明されるアクティビティを実行するために実行されるソフトウェア、論理、コード、又はプロセッサ命令を記憶することができるメモリ素子を含む。プロセッサは、データ又は情報に関連付けられた任意のタイプの命令を実行して、本明細書に詳述される動作を実現することができる。一例では、例えば、
図15に示されるプロセッサ2302などのプロセッサは、要素又は物品(例えば、データ)を1つの状態又は物から、別の状態又は物に変換することができる。別の例では、本明細書で概説されるアクティビティは、固定論理又はプログラマブル論理(例えば、プロセッサによって実行されるソフトウェア/コンピュータ命令)で実装され得、本明細書で識別される要素は、いくつかのタイプのプログラマブルプロセッサ、プログラマブルデジタル論理(例えば、FPGA、DSP、消去可能プログラマブル読み取り専用メモリ(EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM))、又はデジタル論理、ソフトウェア、コード、電子命令、又はそれらの任意の好適な組み合わせを含むASICであり得る。
【0147】
メモリ素子2304は、例えば、ローカルメモリ2308及び1つ以上のバルクストレージデバイス2310などの1つ以上の物理メモリデバイスを含み得る。ローカルメモリは、プログラムコードの実際の実行中に一般的に使用されるRAM又は他の非永続的メモリデバイスを指し得る。バルクストレージデバイスは、ハードドライブ又は他の永続的データストレージデバイスとして実装され得る。処理システム2300はまた、実行中にプログラムコードをバルクストレージデバイス2310から取得する必要がある回数を低減させるために、少なくともいくつかのプログラムコードの一時的なストレージを提供する1つ以上のキャッシュメモリ(図示せず)を含み得る。
【0148】
図15に示されるように、メモリ素子2304は、アプリケーション2318を記憶し得る。様々な実施形態では、アプリケーション2318は、ローカルメモリ2308、1つ以上のバルクストレージデバイス2310に、又はローカルメモリバルクストレージデバイスとは別に記憶され得る。データ処理システム2300は、アプリケーション2318の実行を容易にすることができるオペレーティングシステム(
図15に図示せず)を更に実行できることを理解されたい。実行可能プログラムコードの形態で実装されるアプリケーション2318は、データ処理システム2300によって、例えば、プロセッサ2302によって実行され得る。アプリケーションの実行に応答して、データ処理システム2300は、本明細書に説明される1つ以上の動作又は方法ステップを実施するように構成され得る。
【0149】
入力デバイス2312及び出力デバイス2314として示される入力/出力(I/O)デバイスは、任意選択的に、データ処理システムに結合され得る。入力デバイスの例は、キーボード、マウスなどのポインティングデバイスなどが挙げられるが、これらに限定されない。出力デバイスの例は、モニタ又はディスプレイ、スピーカなどが挙げられるが、これらに限定されない。いくつかの実施形態では、出力デバイス2314は、プラズマディスプレイ、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、電気発光(EL)ディスプレイ、又はダイヤル、気圧計、若しくはLEDなどの任意の他のインジケータなどの任意のタイプのスクリーンディスプレイであり得る。いくつかの実装態様では、システムは、出力デバイス2314のためのドライバ(図示せず)を含み得る。入力及び/又は出力デバイス2312、2314は、直接的に、又は介在するI/Oコントローラを介して、データ処理システムに結合され得る。
【0150】
一実施形態では、入力デバイス及び出力デバイスは、組み合わされた入力/出力デバイスとして実装され得る(入力デバイス2312及び出力デバイス2314を囲む破線で
図15に例解)。このような組み合わされたデバイスの例は、「タッチスクリーンディスプレイ」又は単に「タッチスクリーン」と称されることもあるタッチ感知ディスプレイである。かかる実施形態では、デバイスへの入力は、タッチスクリーンディスプレイ上又はタッチスクリーンディスプレイの近くで、例えば、スタイラス又はユーザの指などの物理的な物体の動きによって提供され得る。
【0151】
ネットワークアダプタ2316はまた、任意選択的に、データ処理システムに結合され得、介在するプライベートネットワーク又はパブリックネットワークを介して他のシステム、コンピュータシステム、リモートネットワークデバイス、及び/又はリモートストレージデバイスに結合されることを可能にする。ネットワークアダプタは、当該システム、デバイス、及び/又はネットワークによってデータ処理システム2300に送信されるデータを受信するためのデータ受信機と、データ処理システム2300から、当該システム、デバイス、及び/又はネットワークにデータを送信するためのデータ送信機と、を備え得る。モデム、ケーブルモデム、及びイーサネットカードは、データ処理システム2300で使用され得る異なるタイプのネットワークアダプタの例である。
【実施例】
【0152】
実施例1は、入力信号を受信するための入力ノードと、1つ以上の算術演算及び1つ以上の信号選択動作を実施するための処理ユニットのプールであって、プール内の処理ユニットの各々は、データ変換動作に対応する少なくとも1つのパラメータ化されたモデルに関連付けられている、処理ユニットのプールと、第1のパラメータ化されたモデルに基づいて、プール内の処理ユニットの第1のサブセットを構成するための制御ブロックと、を含み、処理ユニットの第1のサブセットは、入力信号を処理して、第1の信号を生成する、装置を含む。
【0153】
実施例2では、実施例1の装置は、任意選択的に、処理ユニットの第1のサブセットが、1つ以上の信号選択動作のうちの少なくとも第1の信号選択動作を実施する場合を含むことができる。
【0154】
実施例3では、実施例1又は2に記載の装置は、任意選択的に、データ変換動作が、線形データ変換動作を含む場合を含むことができる。
【0155】
実施例4では、実施例1~3のいずれか1つに記載の装置は、任意選択的に、データ変換動作が、非線形データ変換動作を含む場合を含むことができる。
【0156】
実施例5では、実施例1~4のいずれか1つに記載の装置は、任意選択的に、処理ユニットの第1のサブセットが、入力信号を処理して第1の信号を生成するためのデジタルハードウェアブロックを含み、制御ブロックが、第1の信号を処理して第2の信号を生成するための命令コードを実行するように処理ユニットの第2のサブセットを更に構成し、第1の信号を処理することが、第1のパラメータ化されたモデルに関連付けられる場合を含むことができる。
【0157】
実施例6では、実施例1~5のいずれか1つに記載の装置は、任意選択的に、処理ユニットの第3のサブセットが、第2の信号を処理して第3の信号を生成し、処理ユニットの第3のサブセットが、第1のパラメータ化されたモデルに基づいて構成される場合を含むことができる。
【0158】
実施例7では、実施例1~6のいずれか1つに記載の装置は、任意選択的に、処理ユニットの第1のサブセットが、処理ユニットの第3のサブセットと同じである場合を含むことができる。
【0159】
実施例8では、実施例1~6のいずれか1つに記載の装置は、任意選択的に、処理ユニットの第1のサブセット内の少なくとも1つの処理ユニットが、処理ユニットの第3のサブセット内にない場合を含むことができる。
【0160】
実施例9では、実施例1~8のいずれか1つに記載の装置は、任意選択的に、処理ユニットの第1のサブセットが、入力信号を処理して第1の信号を生成するためのデジタルハードウェアブロックのセットを含み、制御ブロックが、第1の信号を処理して第2の信号を生成するためのデジタルハードウェアブロックの別のセットを含む処理ユニットの第2のサブセットを更に構成する場合を含むことができる。
【0161】
実施例10では、実施例1~9のいずれか1つに記載の装置は、任意選択的に、プール内の処理ユニットの各々から、複数の微分可能なビルディングブロックの異なる1つの間のマッピングと、標的ハードウェア上で収集された入力データセット、標的ハードウェア上で収集された出力データセット、又はハードウェア制約のうちの少なくとも1つと、に基づいて、処理ユニットの第1のサブセットの構成のための第1のパラメータ化されたモデルがトレーニングされる場合を含むことができる。
【0162】
実施例11では、実施例1~10のいずれか1つに記載の装置は、任意選択的に、処理ユニットの第1のサブセットの構成のための第1のパラメータ化されたモデルが、複数の微分可能なビルディングブロックにわたるニューラルアーキテクチャ検索に基づいて、更にトレーニングされる場合を含むことができる。
【0163】
実施例12では、実施例1~11のいずれか1つに記載の装置は、任意選択的に、入力信号が、非線形電子コンポーネントの入力に関連付けられ、装置は、第1のパラメータ化されたモデルに基づいて、非線形電子コンポーネントの1つ以上の非線形特性に関連付けられた1つ以上のルックアップテーブル(LUT)を記憶するためのメモリと、第1のパラメータ化されたモデルに基づいて、入力信号から、第1のメモリ項を選択することと、1つ以上のLUT及び選択された第1のメモリ項に基づいて、予歪された信号を生成することと、を行うための処理ユニットの第1のサブセットを含むデジタル予歪(DPD)ブロックと、を更に含み、第1の信号が、予歪された信号に対応する場合を含むことができる。
【0164】
実施例13において、実施例1~12のいずれか1つに記載の装置は、任意選択的に、処理ユニットの第1のサブセットが、第1のパラメータ化されたモデルに基づいて、非線形電子コンポーネントの出力に関連付けられたフィードバック信号から、第2のメモリ項を更に選択し、制御ブロックが、処理ユニットの第2のサブセットを、第1のパラメータ化されたモデルに基づいて、選択された第2のメモリ項及び基底関数のセットに基づいて、DPD係数を計算することと、計算された係数に基づいて、1つ以上のLUTのうちの少なくとも1つを更新することと、を行うための命令コードを実行するように更に構成する場合を含むことができる。
【0165】
実施例14では、実施例1~13のいずれか1つに記載の装置は、任意選択的に、制御ブロックが、選択された第1のメモリ項及び基底関数のセットに基づいて、DPD係数を計算することと、計算された係数に基づいて、1つ以上のLUTのうちの少なくとも1つを更新することと、を行うための命令コードを実行するように更に構成する場合を含むことができる。
【0166】
実施例15は、デジタル予歪(DPD)を非線形電子コンポーネントの入力信号に適用するための装置であって、装置は、パラメータ化されたモデルに関連付けられた処理ユニットのプールと、パラメータ化されたモデルに基づいて、プール内の処理ユニットの少なくともサブセット処理ユニットの第2のサブセットを選択するための構成コンポーネントを含み、処理ユニットの第1のサブセットは、パラメータ化されたモデル及びDPD係数に基づいて、入力信号を予歪された信号に変換し、処理ユニットの第2のサブセットは、非線形電子コンポーネントの出力を示すフィードバック信号に少なくとも部分的に基づいて、DPD係数を更新する、装置を含む。
【0167】
実施例16では、実施例15に記載の装置は、任意選択的に、パラメータ化されたモデルに基づいて、入力信号から第1のメモリ項を生成することと、第1のメモリ項、基底関数のセット、及びDPD係数に基づいて、予歪された信号を生成することと、によって、処理ユニットの第1のサブセットが、入力信号を予歪された信号に変換する場合を含むことができる。
【0168】
実施例17では、実施例15又は16に記載の装置は、任意選択的に、処理ユニットの第1のサブセットが、パラメータ化されたモデルに基づいて、フィードバック信号又は入力信号から、第2のメモリ項を更に生成し、処理ユニットの第2のサブセットが、第2のメモリ項及び基底関数のセットに更に基づいて、係数のセットを更新する場合を含むことができる。
【0169】
実施例18では、実施例15~17のいずれか1つに記載の装置は、任意選択的に、処理ユニットの第2のサブセットが、入力信号に更に基づいて、係数のセットを更新する場合を含むことができる。
【0170】
実施例19では、実施例15~17のいずれか1つに記載の装置は、任意選択的に、処理ユニットの第2のサブセットが、フィードバック信号と入力信号との間の差を示す誤差に更に基づいて、係数のセットを更新する場合を含むことができる。
【0171】
実施例20では、実施例15~19のいずれか1つに記載の装置は、任意選択的に、フィードバック信号と、入力信号又は予歪された信号のうちの少なくとも1つと、をキャプチャするためのメモリを含み、処理ユニットの第1のサブセットが、フィードバック信号と、入力信号又は予歪された信号のうちの少なくとも1つとの間のアライメントに更に基づいて、第2のメモリ項を生成する場合を含むことができる。
【0172】
実施例21において、実施例15~20のいずれか1つに記載の装置は、任意選択的に、処理ユニットの第1のサブセットが、入力信号を予歪された信号に変換するための1つ以上のデジタルハードウェアブロックを含み、処理ユニットの第2のサブセットが、係数を更新するための命令コードを実行するための少なくともプロセッサを含む場合を含むことができる。
【0173】
実施例22では、実施例15~21のいずれか1つに記載の装置は、任意選択的に、パラメータ化されたモデルが、プール内の処理ユニットに対する1対1対応を有する複数の微分可能な関数ブロックを含み、パラメータ化されたモデルが、勾配降下検索を使用してトレーニングされる場合を含むことができる。
【0174】
実施例23は、入力信号を受信することと、データ変換に関連付けられたパラメータ化されたモデルに基づいて、処理ユニットのプール内の処理ユニットの少なくとも第1のサブセットを構成することであって、処理ユニットの第1のサブセットは、1つ以上の信号選択及び1つ以上の算術演算を実施する、構成することと、入力信号に対してデータ変換を実施することであって、データ変換を実施することは、処理ユニットの第1のサブセットを使用して入力信号を処理して第1の信号を生成することを含む、実施することと、を含む、方法を含む。
【0175】
実施例24では、実施例23に記載の方法は、任意選択的に、パラメータ化されたモデルに基づいて、処理ユニットのプール内の処理ユニットの第2のサブセットを構成することを含み、データ変換を実施することは、処理ユニットの第2のサブセットを使用して、第1の信号を処理して、第2の信号を生成することを更に含むことができる。
【0176】
実施例25では、実施例23又は24に記載の方法は、任意選択的に、処理ユニットの第1のサブセットが、デジタルハードウェアブロックを含み、処理ユニットの第2のサブセットが、1つ以上のプロセッサを含み、データ変換を実施することが、デジタルハードウェアブロックを使用して入力信号を処理して第1の信号を生成することと、1つ以上のプロセッサ上で命令コードを実行して、第1の信号を処理して第2の信号を生成することと、を含む場合を含むことができる。
【0177】
実施例26では、実施例23~25のいずれか1つに記載の方法は、任意選択的に、プール内の処理ユニットの各々から、複数の微分可能なビルディングブロックの異なる1つの間のマッピングと、標的ハードウェア上で収集された入力データセット、標的ハードウェア上で収集された出力データセット、又はハードウェア制約のうちの少なくとも1つと、に基づいて、処理ユニットの第1のサブセットを構成するためのパラメータ化されたモデルが、トレーニングされる場合を含むことができる。
【0178】
実施例27では、実施例23~26のいずれか1つに記載の方法は、任意選択的に、入力信号が、非線形電子コンポーネントの入力に関連付けられ、入力信号を処理して第1の信号を生成することが、パラメータ化されたモデルに基づいて、入力信号から、第1のメモリ項を選択することと、非線形電子コンポーネントの1つ以上の非線形特性に関連付けられた1つ以上のルックアップテーブル(LUT)と、第1の選択されたメモリ項と、に基づいて、予歪された信号を生成することと、を含み、第1の信号は、予歪された信号に対応する場合を含むことができる。
【0179】
実施例28では、実施例23~27のいずれか1つに記載の方法は、任意選択的に、パラメータ化されたモデルに基づいて、非線形電子コンポーネントに関連付けられたフィードバック信号から、第2のメモリ項を選択することと、パラメータ化されたモデルに基づいて、処理ユニットのプール内の処理ユニットの第2のサブセットを、選択された第2のメモリ項及び基底関数のセットに基づいて、DPD係数を計算することと、計算された係数に基づいて、1つ以上のLUTのうちの少なくとも1つを更新することと、を行うための命令コードを実行するように構成することと、を含むことができる。
【0180】
実施例29では、実施例23~27のいずれか1つに記載の方法は、任意選択的に、パラメータ化されたモデルに基づいて、処理ユニットのプール内の処理ユニットの第2のサブセットを、選択された第1のメモリ項及び基底関数のセットに基づいて、DPD係数を計算することと、計算された係数に基づいて、1つ以上のLUTのうちの少なくとも1つを更新することと、を行うための命令コードを実行するように構成することを含むことができる。
【0181】
実施例30は、コンピュータ実装システムによって、処理ユニットのプールに関連付けられた情報を受信することと、コンピュータ実装システムによって、データ変換動作に関連付けられたデータセットを受信することと、データセット処理ユニットのプールに関連付けられた情報に基づいて、データ変換動作に関連付けられたパラメータ化されたモデルをトレーニングすることであって、トレーニングは、プール内の処理ユニットの少なくともサブセットを構成することに関連付けられたパラメータ化されたモデルの少なくとも1つのパラメータを更新することを含む、トレーニングすることと、トレーニングに基づいて、プール内の処理ユニットの少なくともサブセットのための1つ以上の構成を出力することと、を含む、方法を含む。
【0182】
実施例31では、実施例30に記載の方法は、任意選択的に、処理ユニットのプールが、1つ以上の算術演算及び1つ以上の信号選択動作を実施する場合を含むことができる。
【0183】
実施例32では、実施例30又は31に記載の方法は、任意選択的に、パラメータ化されたモデルを生成することであって、生成することは、プール内の処理ユニットの各々から、複数の微分可能な関数ブロックのうちの1つの間のマッピングを生成することを含む、生成することを含むことができる。
【0184】
実施例33において、実施例30~32のいずれか1つに記載の方法は、任意選択的に、パラメータ化されたモデルをトレーニングすることが、処理ユニットのプールに関連付けられた情報によって示されるハードウェアリソース制約に更に基づいている場合を含むことができる。
【0185】
実施例34では、実施例30~33のいずれか1つに記載の方法は、任意選択的に、データ変換動作が、少なくとも第1のデータ変換及び第2のデータ変換のシーケンスを含み、トレーニングが、第1のデータ変換に関連付けられた第1のパラメータ及び第2のデータ変換に関連付けられた第2のパラメータを計算することを含む場合を含むことができる。
【0186】
実施例35では、実施例30~34のいずれか1つに記載の方法は、任意選択的に、第1のデータ変換に関連付けられた第1のパラメータ及び第2のデータ変換に関連付けられた第2のパラメータを計算することが、逆伝播及び損失関数に更に基づいている場合を含むことができる。
【0187】
実施例36では、実施例30~35のいずれか1つに記載の方法は、任意選択的に、シーケンス内の第1のデータ変換又は第2のデータ変換が、実行可能命令コードに関連付けられている場合を含むことができる。
【0188】
実施例37では、実施例30~36のいずれか1つに記載の方法は、任意選択的に、データ変換動作が、非線形電子コンポーネントへの入力信号を予歪するためのデジタル予歪(DPD)に関連付けられ、シーケンス内の第1のデータ変換が、第1のパラメータに基づいて、入力信号からメモリ項を選択することを含み、シーケンス内の第2のデータ変換が、第2のパラメータに基づいて、基底関数のセット及び選択されたメモリ項を使用して、非線形電子コンポーネントの非線形特性に関連付けられた特徴を生成することを含み、データ変換動作に関連付けられたシーケンスが、特徴に基づいて、予歪された信号を生成することを含む第3のデータ変換を更に含む場合を含むことができる。
【0189】
実施例38では、実施例30~37のいずれか1つに記載の方法は、任意選択的に、データ変換動作が、入力信号を非線形電子コンポーネントに予歪するためのデジタル予歪(DPD)に関連付けられ、シーケンス内の第1のデータ変換が、第1のパラメータに基づいて、非線形電子コンポーネント又は入力信号の出力を示すフィードバック信号から、メモリ項を選択することを含み、シーケンス内の第2のデータ変換が、第2のパラメータに基づいて、基底関数のセット及び選択されたメモリ項を使用して、非線形電子コンポーネントの非線形特性に関連付けられた特徴を生成することを含み、データ変換動作に関連付けられたシーケンスが、特徴及び第2の信号に基づいて、係数を更新することを含む第3のデータ変換を更に含む場合を含むことができる。
【0190】
実施例39では、実施例30~38のいずれか1つに記載の方法は、任意選択的に、第1のデータ変換が、第1のパラメータに基づいて、フィードバック信号から、メモリ項を選択することを含み、第3のデータ変換が、DPDから生成された予歪された信号に基づいて、係数を更新することを含む場合を含むことができる。
【0191】
実施例40では、実施例30~39のいずれか1つに記載の方法は、任意選択的に、第1のデータ変換が、第1のパラメータに基づいて、入力信号からのメモリ項を選択することを含み、第3のデータ変換が、フィードバック信号と入力信号との間の差に基づいて、係数を更新することを含む場合を含むことができる。
【0192】
実施例41では、実施例30~40のいずれか1つに記載の方法は、任意選択的に、パラメータ化されたモデルをトレーニングすることが、逆伝播を実施して、メモリ項の選択のために第1のパラメータを更新することを含む場合を含むことができる。
【0193】
実施例42では、実施例30~41のいずれか1つに記載の方法は、任意選択的に、パラメータ化されたモデルをトレーニングすることが、逆伝播を実施して、第2のパラメータを更新して基底関数のセットを生成する場合を更に含むことができる。
【0194】
実施例43では、実施例30~42のいずれか1つに記載の方法は、任意選択的に、1つ以上の構成を出力することが、メモリ項又は基底関数のセットの選択に関連付けられたルックアップテーブル(LUT)構成のうちの少なくとも1つを更に示す1つ以上の構成を出力することを含む場合を含むことができる。
【0195】
実施例44は、命令を含むメモリと、1つ以上のコンピュータプロセッサと、を含むコンピュータ実装システムであって、命令は、1つ以上のコンピュータプロセッサによって実行されると、1つ以上のコンピュータプロセッサに、処理ユニットのプールに関連付けられた情報を受信することであって、処理ユニットのプールは、1つ以上の算術演算及び1つ以上の信号選択を実施する、受信することと、データ変換に関連付けられたデータセットを受信することと、データセット及び処理ユニットのプールに関連付けられた情報に基づいて、データ変換に関連付けられたパラメータ化されたモデルをトレーニングすることであって、パラメータ化されたモデルをトレーニングすることは、プール内の処理ユニットの少なくともサブセットを構成することに関連付けられたパラメータ化されたモデルの少なくとも1つのパラメータを更新することを含む、トレーニングすることと、トレーニングに基づいて、プール内の処理ユニットの少なくともサブセットのための1つ以上の構成を出力することと、を含む動作を実施させる、コンピュータ実装システムを含む。
【0196】
実施例45では、実施例44に記載のコンピュータ実装は、任意選択的に、動作が、プール内の処理ユニットの各々から、複数の微分可能な関数ブロックのうちの1つの間のマッピングを生成することによってパラメータ化されたモデルを生成することを更に含む場合を含むことができる。
【0197】
実施例46では、実施例44又は45に記載のコンピュータ実装は、任意選択的に、データ変換が、少なくとも第1のデータ変換及び第2のデータ変換のシーケンスを含み、パラメータ化されたモデルをトレーニングすることが、逆伝播及び損失関数に基づいて、第1のデータ変換に関連付けられた第1のパラメータ及び第2のデータ変換に関連付けられた第2のパラメータを計算することを含む場合を含むことができる。
【0198】
実施例47では、実施例44~46のいずれか1つに記載のコンピュータ実装は、任意選択的に、処理ユニットのサブセットが、第1のデータ変換に関連付けられた1つ以上のデジタルハードウェアブロックと、第2のデータ変換に関連付けられた命令コードを実行するための1つ以上のプロセッサと、を含む場合を含むことができる。
【0199】
実施例48では、実施例44~47のいずれか1つに記載のコンピュータ実装は、任意選択的に、データ変換動作が、非線形電子コンポーネントへの入力信号を予歪するためのデジタル予歪(DPD)作動又はDPD適応のうちの少なくとも1つに関連付けられ、1つ以上の構成を出力することが、DPD作動構成又はDPD適応構成のうちの少なくとも1つを出力することを含む場合を含むことができる。
【0200】
実施例49は、1つ以上のコンピュータプロセッサによって実行されると、1つ以上のコンピュータプロセッサに、処理ユニットのプールに関連付けられた情報を受信することであって、処理ユニットのプールは、1つ以上の算術演算及び1つ以上の信号選択を実施する、受信することと、プール内の処理ユニットの各々から、複数の微分可能な関数ブロックのうちの1つの間のマッピングを生成することと、データ変換に関連付けられたデータセットを受信することと、プール内の処理ユニットの少なくともサブセットを、データ変換を実施するように構成するためのパラメータ化されたモデルをトレーニングすることであって、トレーニングは、データセット、処理ユニットのプールに関連付けられた情報、及びマッピングに基づいており、プール内の処理ユニットの少なくともサブセットを構成することに関連付けられたパラメータ化されたモデルの少なくとも1つのパラメータを更新することを含む、トレーニングすることと、トレーニングに基づいて、プール内の処理ユニットの少なくともサブセットのための1つ以上の構成を出力することと、を含む動作を実施させる命令を含む非一時的計算可能可読記憶媒体を含む。
【0201】
実施例50では、実施例49に記載の非一時的計算可能可読記憶媒体は、任意選択的に、データ変換が、少なくとも第1のデータ変換及び第2のデータ変換のシーケンスを含み、トレーニングが、逆伝播及び損失関数に基づいて、第1のデータ変換に関連付けられた第1のパラメータ及び第2のデータ変換に関連付けられた第2のパラメータを更新することを更に含む場合を含むことができる。
【0202】
実施例51では、実施例49又は50に記載の非一時的計算可能可読記憶媒体は、任意選択的に、データ変換動作が、非線形電子コンポーネントへの入力信号を予歪するためのデジタル予歪(DPD)に関連付けられ、シーケンス内の第1のデータ変換が、第1のパラメータに基づいて、入力信号からメモリ項を選択することを含み、シーケンス内の第2のデータ変換が、第2のパラメータに基づいて、基底関数のセット及び選択されたメモリ項を使用して非線形電子コンポーネントの非線形特性に関連付けられた特徴を生成することを含み、シーケンスが、特徴に基づいて予歪された信号を生成することを含む第3のデータ変換を更に含む場合を含むことができる。
【0203】
実施例52では、実施例49~51のいずれか1つに記載の非一時的計算可能可読記憶媒体は、任意選択的に、データ変換が、非線形電子コンポーネントへの入力信号を予歪するためのデジタル予歪(DPD)に関連付けられ、シーケンス内の第1のデータ変換が、第1のパラメータに基づいて、非線形電子コンポーネント又は入力信号の出力を示すフィードバック信号からメモリ項を選択することを含み、シーケンス内の第2のデータ変換が、第2のパラメータに基づいて、基底関数のセット及び選択されたメモリ項を使用して、非線形電子コンポーネントの非線形特性に関連付けられた特徴を生成することを含み、シーケンスは、特徴及び第2の信号に基づいて、係数を更新することを含む第3のデータ変換を更に含み、第1のデータ変換及び第2のデータ変換が、処理ユニットのサブセットによって実施され、第3のデータ変換が、プール内の少なくとも別の処理ユニット上で命令コードを実行することによって実施される場合を含むことができる。
【0204】
変形形態及び実装態様
NASを使用してトレーニングされたモデルに基づいて構成されたDPDを実施する様々な実施形態は、本明細書において、「PAのための入力信号」がPAのための駆動信号であること、すなわち、DPD配置がDPD係数に基づいて、予歪を適用する、本明細書に説明される入力信号xに基づいて生成された信号であることを参照して解説される。しかしながら、NASを使用してトレーニングされたモデルに基づいて構成されたDPDの他の実施形態では、「PAのための入力信号」は、N PAをバイアスするために使用されるバイアス信号であり得る。したがって、本開示の実施形態は、本明細書に説明され、図面に例解されるものと同様のNASを使用してトレーニングされたモデルに基づいて構成されたDPD配置も網羅するが、PAのための駆動信号を修正する代わりに、DPD配置は、PAのためのバイアス信号を修正するように構成され得、これは、DPD適応回路(例えば、本明細書に説明されるDPD適応回路)によって生成された制御信号に基づいて行われ得、PAの出力は、PAをバイアスするために使用されるバイアス信号に基づいている。本開示の他の態様では、PAのための駆動信号及びバイアス信号の両方が、本明細書に説明されるように調整されて、ニューラルネットワークを使用してDPDを実装することができる。
【0205】
説明の一部が、PAを参照して本明細書に提供されるが、一般に、本明細書に提示されるNASを使用するモデルに基づいて構成されるDPDの様々な実施形態は、低ノイズアンプ、可変ゲインアンプなどのPA以外のアンプ、並びにアンプ以外のRFトランシーバの非線形電子コンポーネント(すなわち、非線形挙動を示し得るコンポーネント)に適用可能である。更に、説明の一部が、ミリ波/5G技術を参照して本明細書に提供されるが、一般に、本明細書に提示されるニューラルネットワークを使用するDPDの様々な実施形態は、ミリ波/5G以外の任意の技術又は標準の無線通信システム、無線通信システム以外の任意の無線RFシステム、及び/又は無線RFシステム以外のRFシステムに適用可能である。
【0206】
本開示の実施形態は、
図1A~1C、2A~2B、及び3~15に示される例示的な実装態様を参照して上記に説明されたが、当業者は、上で説明される様々な教示が多種多様な他の実装態様に適用可能であることを認識するであろう。
【0207】
特定の文脈では、本明細書で考察される特徴は、自動車システム、セーフティクリティカル産業用アプリケーション、医療システム、科学計装、無線及び有線通信、無線、レーダ、産業プロセス制御、オーディオビデオ機器、電流検出、計装(高精度であり得る)、及び他のデジタル処理ベースのシステムに適用可能であり得る。
【0208】
上記の実施形態の考察では、マルチプレクサ、マルチプライヤ、加算器、遅延タップ、フィルタ、コンバータ、混合器、及び/又は他のコンポーネントなどのシステムのコンポーネントは、特定の回路ニーズに対応するために、容易に交換、置換、又は別様に修正することができる。更に、補完的な電子デバイス、ハードウェア、ソフトウェアなどの使用は、様々な通信システムにおけるハードウェア構成に対するモデルアーキテクチャ検索の適用に関連する本開示の教示を実装するための等しく実行可能な選択肢を提供することに留意されたい。
【0209】
本明細書に提案されるように、ハードウェア構成のためのモデルアーキテクチャ検索技術を使用するための様々なシステムの部分は、本明細書に説明される機能を実施するための電子回路を含むことができる。いくつかの例では、システムの1つ以上の部分は、本明細書に説明される機能を実行するために特別に構成されたプロセッサによって提供され得る。例えば、プロセッサは、1つ以上のアプリケーション固有コンポーネントを含み得るか、又は本明細書に説明される機能を実行するように構成されたプログラマブル論理ゲートを含み得る。回路は、アナログドメイン、デジタルドメイン、又は混合信号ドメインで動作することができる。いくつかの例では、プロセッサは、非一時的コンピュータ可読記憶媒体に記憶された1つ以上の命令を実行することによって、本明細書に説明される機能を実行するように構成され得る。
【0210】
一例の実施形態では、本図の任意の数の電気回路は、関連する電子デバイスの基板上に実装され得る。基板は、電子デバイスの内部電子システムの様々なコンポーネントを保持することができ、更に、他の周辺機器にコネクタを提供することができる一般的な回路基板であり得る。より具体的には、基板は、システムの他のコンポーネントが電気的に通信することができる電気的接続を提供することができる。任意の好適なプロセッサ(DSP、マイクロプロセッサ、支持チップセットなどを含む)、コンピュータ可読非一時的メモリ素子などは、特定の構成ニーズ、処理要求、コンピュータ設計などに基づいて、基板に好適に結合することができる。外部ストレージ、追加のセンサ、オーディオ/ビデオディスプレイ用コントローラ、及び周辺デバイスなどの他のコンポーネントは、プラグインカードとして、ケーブルを介して、又は基板自体に装着され得る。様々な実施形態では、本明細書に説明される機能は、これらの機能をサポートする構造に配置された1つ以上の構成可能な(例えば、プログラマブルな)要素内で実行されるソフトウェア又はファームウェアとしてエミュレーション形式で実装され得る。エミュレーションを提供するソフトウェア又はファームウェアは、プロセッサがそれらの機能を実行することを可能にする命令を含む非一時的コンピュータ可読記憶媒体上に提供され得る。
【0211】
別の例示的な実施形態では、本図の電気回路は、スタンドアロンモジュール(例えば、特定のアプリケーション又は機能を実施するように構成された関連コンポーネント及び回路を有するデバイス)として実装され得るか、又は電子デバイスのアプリケーション固有ハードウェアへのプラグインモジュールとして実装され得る。本開示の特定の実施形態は、一部又は全体のいずれかで、システムオンチップ(SOC)パッケージに容易に含まれ得ることに留意されたい。SOCは、コンピュータ又は他の電子システムのコンポーネントを単一のチップに統合するICを表す。これは、デジタル、アナログ、混合信号、及び多くの場合RF機能を含み得、これらの全ては、単一のチップ基板上に提供され得る。他の実施形態は、単一の電子パッケージ内に配置され、電子パッケージを通して互いに密接に相互作用するように構成された複数の別個のICを有するマルチチップモジュール(MCM)を含み得る。
【0212】
また、本明細書で概説される仕様、寸法、及び関係の全て(例えば、
図1A~1C、2A~2B、3~5、及び15に示される装置及び/又はRFトランシーバのコンポーネントの数)は、例示及び教示のみを目的として提供されていることに留意することが不可欠である。このような情報は、本開示の趣旨、又は添付の特許請求の範囲から逸脱することなく、かなり変化し得る。システムは、任意の好適な方法で統合することができることを理解されたい。同様の設計の代替案に沿って、本図の例解された回路、コンポーネント、モジュール、及び要素のいずれも、様々な可能な構成で組み合わされ得、これらは全て明らかに本明細書の広範な範囲内にある。前述の説明では、例示的な実施形態が、特定のプロセッサ及び/又はコンポーネント配置を参照して説明されてきた。添付の特許請求の範囲から逸脱することなく、そのような実施形態に対して様々な修正及び変更が行われ得る。したがって、説明及び図面は、限定的な意味ではなく、例解的な意味で見なされるべきである。
【0213】
本明細書に提供される多数の例では、相互作用は、2つ、3つ、4つ、又はそれ以上の電気コンポーネントの観点から説明され得ることに留意されたい。しかしながら、これは、明確さ及び例示の目的でのみ行われているシステムは、任意の好適な方法で統合することができることを理解されたい。同様の設計の代替案に沿って、図面の例解されるコンポーネント、モジュール、及び要素のいずれも、様々な可能な構成で組み合わされ得、これらの全ては、明らかに本明細書の広範な範囲内にある。特定のケースでは、限られた数の電気要素のみを参照することによって、所与の一式のフローの機能のうちの1つ以上を説明することがより容易であり得る。図面及びその教示の電気回路は、容易にスケーラブルであり、より複雑/洗練された配置及び構成だけでなく、多数のコンポーネントに対応することができることを理解されたい。したがって、提供される例は、無数の他のアーキテクチャに潜在的に適用されるように、電気回路の範囲を制限する、又は電気回路の広範な教示を阻害するべきではない。
【0214】
本明細書では、「一実施形態」、「例示的な実施形態」、「実施形態」、「別の実施形態」、「いくつかの実施形態」、「様々な実施形態」、「他の実施形態」、「代替的な実施形態」などに含まれる様々な特徴(例えば、要素、構造、モジュール、コンポーネント、ステップ、動作、特性など)への言及は、そのような特徴が本開示の1つ以上の実施形態に含まれることを意味することを意図しているが、同じ実施形態において組み合わされる場合、又は組み合わされない場合がある。また、本明細書で使用される場合、請求項も含めて、項目のリスト(例えば、「のうちの少なくとも1つ」又は「のうちの1つ以上」などの句で始まる項目のリスト)で使用される「又は」は、例えば、[A、B、又はCのうちの少なくとも1つ]のリストが、A又はB又はC又はAB又はAC又はBC又はABC(すなわち、A及びB及びC)を意味するような包括的なリストを示す。
【0215】
例解的な実施形態の様々な態様は、当業者によって一般的に使用される用語を使用して、彼らの作業の内容を他の当業者に伝えるために説明される。例えば、「接続された」という用語は、いかなる中間デバイス/コンポーネントもなしで接続されているものの間の直接的な電気的接続を意味し、「結合された」という用語は、接続されているものの間の直接的な電気的接続、又は1つ以上の受動若しくは能動中間デバイス/コンポーネントを介した間接的な接続のいずれかを意味する。別の例では、「回路」という用語は、所望の機能を提供するために互いに協働するように配置された1つ以上の受動及び/又は能動コンポーネントを意味する。また、本明細書で使用される場合、「実質的に」、「およそ」、「約」などの用語は、本明細書に説明される、又は当技術分野で既知の特定の値の文脈に基づいて、一般に、標的値の+/-20%以内、例えば、標的値の+/-10%以内であることを指すために使用され得る。
【0216】
多くの他の変更、置換、変形、変更、及び修正は、当業者に確認され得、本開示は、実施例及び添付の特許請求の範囲の範囲内に収まるように、そのような全ての変更、置換、変形、変更、及び修正を包含することが意図される。上で説明される装置の全ての任意選択的な特徴は、本明細書に説明される方法又はプロセスに関して実装することもでき、例の詳細は、1つ以上の実施形態のどこでも使用され得ることに留意されたい。
【国際調査報告】