(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-11
(45)【発行日】2023-05-19
(54)【発明の名称】モデルの識別およびプリディストーションのための方法と装置
(51)【国際特許分類】
H03F 1/32 20060101AFI20230512BHJP
H03F 3/24 20060101ALI20230512BHJP
H03M 1/12 20060101ALI20230512BHJP
H04B 1/04 20060101ALI20230512BHJP
【FI】
H03F1/32 158
H03F3/24
H03M1/12 C
H04B1/04 R
(21)【出願番号】P 2019548588
(86)(22)【出願日】2018-02-26
(86)【国際出願番号】 US2018019657
(87)【国際公開番号】W WO2018164866
(87)【国際公開日】2018-09-13
【審査請求日】2021-02-10
(32)【優先日】2017-03-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】591025439
【氏名又は名称】ザイリンクス インコーポレイテッド
【氏名又は名称原語表記】XILINX INCORPORATED
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】ハンムラー, ニコラウス エイチ.
(72)【発明者】
【氏名】ディック, クリストファー エイチ.
【審査官】工藤 一光
(56)【参考文献】
【文献】特表2012-531095(JP,A)
【文献】特開2010-17557(JP,A)
【文献】特開2015-5965(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H03F1/00-3/72
H03M1/12-1/64
H04B1/04
(57)【特許請求の範囲】
【請求項1】
アナログデジタルコンバータ(ADC)を含むモデル識別システムであって、前記アナログデジタルコンバータ(ADC)は、
第1のアナログ信号を受信し、第1のレートで前記第1のアナログ信号をサンプリングすることにより、前記第1のレートを有するサンプルを含む第1のデジタル信号を生成するように構成された変換回路と、
複数の対角ブロックを含むブロック対角行列であり、各対角ブロックが複数の要素を含む行ベクトルである第1のサンプリング行列を受信し、
前記第1のデジタル信号のいくつかのサンプルを組み合わせることにより、前記第1のレートよりも低い第2のレートを有するサンプルを含む第2のデジタル信号を生成する
ように構成された第1のデジタル信号処理(DSP)回路と、
を含み、
前記第1のDSP回路は、前記第1のデジタル信号の複数の連続サンプルを組み合わせることにより前記第2のデジタル信号の第1のサンプルを生成するようにさらに構成され、前記複数の連続サンプルの第1のサイズは、前記行ベクトルの前記要素の第2のサイズに等しく、
前記いくつかのサンプルは、前記ブロック対角行列の対応する前記
行ベクトルに基づいて決定される、モデル識別システム。
【請求項2】
第2のアナログ信号を受信し、前記ADCに前記第1のアナログ信号を供給するように構成された第1のシステムであって、前記第2のアナログ信号は、デジタルアナログコンバータ(DAC)により第3のデジタル信号に基づいて生成される、第1のシステムと、
前記ADCに結合された第2のDSP回路と、をさらに含み、前記第2のDSP回路は、
前記第2のデジタル信号および前記第3のデジタル信号を受信し、前記第2のデジタル信号、前記第3のデジタル信号、および第2のサンプリング行列に基づいて、前記第1のシステムのモデルの係数を決定するように構成されたモデル識別ユニットを含む、請求項1に記載のモデル識別システム。
【請求項3】
前記第1のDSP回路および前記第2のDSP回路は同期している、請求項2に記載のモデル識別システム。
【請求項4】
前記モデル識別ユニットは、最小二乗法(LS)を使用して前記第1のシステムの前記モデルの前記係数を決定するように構成される、請求項2に記載のモデル識別システム。
【請求項5】
前記第2のDSP回路は、
第4のデジタル信号を受信し、前記第1のシステムの前記モデルの前記係数に基づいて前記第4のデジタル信号をプリディストーションすることにより、前記第3のデジタル信号を生成するように構成されたプリディストーションユニット
を含む、請求項2に記載のモデル識別システム。
【請求項6】
前記第1のサンプリング行列は、対角ブロックランダム符号行列であり、
前記第1のDSP回路は、
前記第1のサンプリング行列にランダムな符号の第1のシーケンスを提供するように構成された第1の乱数発生器
を含む、請求項2に記載のモデル識別システム。
【請求項7】
前記モデル識別ユニットは、
前記第2のサンプリング行列にランダム符号の第2のシーケンスを提供するように構成された第2の乱数発生器を含み、前記ランダム符号の第2のシーケンスは、前記ランダム符号の第1のシーケンスと一致する、請求項6に記載のモデル識別システム。
【請求項8】
複数の対角ブロックを含むブロック対角行列であり、各対角ブロックが複数の要素を含む行ベクトルである第1のサンプリング行列を受信することと、
アナログデジタルコンバータ(ADC)により、第1のアナログ信号を受信することと、
前記ADCの変換回路により、第1のレートで前記第1のアナログ信号をサンプリングすることにより、前記第1のレートを有するサンプルを含む第1のデジタル信号を生成することと、
前記ADCの第1のデジタル信号処理(DSP)回路により、前記第1のデジタル信号のいくつかのサンプルを組み合わせることにより、前記第1のレートよりも低い第2のレートを有するサンプルを含む第2のデジタル信号を生成することと、
を含み、
前記第1のデジタル信号の複数の連続サンプルを組み合わせることにより前記第2のデジタル信号の第1のサンプルを生成することであって、前記複数の連続サンプルの第1のサイズは、前記第1のサンプリング行列の前記行ベクトルの前記要素の第2のサイズに等しい、前記第1のサンプルを生成することと
を含み
前記いくつかのサンプルは、前記ブロック対角行列の対応する前記
行ベクトルに基づいて決定される、方法。
【請求項9】
第1のシステムにより、第2のアナログ信号を受信することと、
前記第1のシステムにより、前記第1のアナログ信号を前記ADCに供給することであって、前記第2のアナログ信号は、デジタルアナログコンバータ(DAC)により第3のデジタル信号に基づいて生成される、供給することと、
第2のDSP回路のモデル識別ユニットにより、前記ADCからの前記第2のデジタル信号および前記第3のデジタル信号を受信することと、
モデル識別ユニットにより、前記第2のデジタル信号、前記第3のデジタル信号、および第2のサンプリング行列に基づいて、前記第1のシステムのモデルの係数を決定することと、
をさらに含む、請求項8に記載の方法。
【請求項10】
前記第1のDSP回路と前記第2のDSP回路とを同期させることと、
最小二乗法(LS)を使用して、前記第1のシステムの前記モデルの前記係数を決定することと、
をさらに含む、請求項9に記載の方法。
【請求項11】
第4のデジタル信号を受信することと、
前記第1のシステムの前記モデルの前記係数に基づいて前記第4のデジタル信号をプリディストーションすることにより、前記第3のデジタル信号を生成することと、
をさらに含む、請求項9に記載の方法。
【請求項12】
前記第1のサンプリング行列は、対角ブロックランダム符号行列であり、
第1の乱数発生器により、前記第1のサンプリング行列にランダム符号の第1のシーケンスを提供すること
をさらに含む、請求項9に記載の方法。
【請求項13】
第2の乱数発生器により、前記ランダム符号の第1のシーケンスに一致するランダム符号の第2のシーケンスを生成することと、
前記ランダム符号の第1のシーケンスを使用して前記第2のサンプリング行列を生成することと、
をさらに含む、請求項12に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の例は、一般に集積回路(「IC」)に関し、特に、未知のシステムのモデルを識別し、未知のシステムのデジタルプリディストーションを実行することに関する実施形態に関する。
【背景技術】
【0002】
集積回路は、通信システムでデータを送信するために使用することができる。通信システムの重要な構成要素の1つは、電力増幅器である。電力増幅器の非直線性は、特定のチャネルの信号帯域幅を超えるスペクトル成長(拡大)を引き起こし、スペクトル成長(拡大)は隣接チャネルと干渉する。また、特定のチャネルの信号帯域幅内で歪みが発生し、ビットエラーレート(BER)のパフォーマンスが低下する。デジタルプリディストーション(DPD)技術を使用して非線形電力増幅器を線形化することもできるが、無線通信における新しい応用によって課せられる性能要件の増大に対応することは困難である。
【発明の概要】
【発明が解決しようとする課題】
【0003】
したがって、改善されたDPDシステムが望ましい。
【課題を解決するための手段】
【0004】
本開示によるいくつかの実施形態では、モデル識別システムは、アナログデジタルコンバータ(ADC)を含み、アナログデジタルコンバータ(ADC)は、第1のアナログ信号を受信し、第1のレートで第1のアナログ信号をサンプリングすることにより、第1のレートを有するサンプルを含む第1のデジタル信号を生成するように構成された変換回路を含む。ADCは、第1のデジタル信号および第1のサンプリング行列に基づいて、第1のレートよりも低い第2のレートを有するサンプルを含む第2のデジタル信号を生成するように構成された第1のデジタル信号処理(DSP)回路をさらに含む。第1のサンプリング行列は、複数の対角ブロックを含むブロック対角行列であり、各対角ブロックは、複数の要素を含む行ベクトルである。
【0005】
いくつかの実施形態では、モデル識別システムは、第2のアナログ信号に基づいて第1のアナログ信号を生成し、ADCに第1のアナログ信号を供給するように構成された第1のシステムであって、第2のアナログ信号は、第3のデジタル信号に基づいて生成される、第1のシステムと、ADCに結合された第2のDSP回路と、を含む。第2のDSP回路は、第2のデジタル信号および第3のデジタル信号を受信し、第2のデジタル信号および第3のデジタル信号、ならびに第1のサンプリング行列に一致する第2のサンプリング行列に基づいて、第1のシステムのモデルの係数を決定するように構成されたモデル識別ユニットを含む。
【0006】
いくつかの実施形態では、第1のDSP回路と第2のDSP回路とは同期している。
【0007】
いくつかの実施形態では、モデル識別ユニットは、最小二乗法(LS)または特異値分解法(SVD)を使用して第1のシステムのモデルの係数を決定するように構成される。
【0008】
いくつかの実施形態では、第2のDSP回路は、第4のデジタル信号を受信し、第1のシステムのモデルの係数に基づいて第4のデジタル信号をプリディストーションすることにより、第3のデジタル信号を生成するように構成されたプリディストーションユニットを含む。
【0009】
いくつかの実施形態では、第1のシステムは非線形電力増幅器である。
【0010】
いくつかの実施形態では、第1のサンプリング行列は、対角ブロックランダム符号行列である。第1のDSP回路は、第1のサンプリング行列にランダムな符号の第1のシーケンスを提供するように構成された第1の乱数発生器を含む。
【0011】
いくつかの実施形態では、第1の乱数発生器は、ランダム符号の第1のシーケンスを生成するように構成された第1の線形フィードバックシフトレジスタを含む。
【0012】
いくつかの実施形態では、モデル識別ユニットは、第2のサンプリング行列にランダム符号の第2のシーケンスを提供するように構成された第2の乱数発生器を含み、ランダム符号の第2のシーケンスは、ランダム符号の第1のシーケンスと一致する。
【0013】
いくつかの実施形態では、第1のDSP回路は、第1のデジタル信号の複数の連続サンプルに基づいて第2のデジタル信号の第1のサンプルを生成し、複数の連続サンプルの第1のサイズは、行ベクトルの要素の第2のサイズに等しい。
【0014】
いくつかの実施形態では、方法は、アナログデジタルコンバータ(ADC)により、第1のアナログ信号を受信することと、ADCの変換回路により、第1のレートで第1のアナログ信号をサンプリングすることにより、第1のレートを有するサンプルを含む第1のデジタル信号を生成することと、ADCの第1のデジタル信号処理(DSP)回路により、第1のデジタル信号および第1のサンプリング行列に基づいて、第1のレートよりも低い第2のレートを有するサンプルを含む第2のデジタル信号を生成することと、を含み、第1のサンプリング行列は、複数の対角ブロックを含むブロック対角行列であり、各対角ブロックは、複数の要素を含む行ベクトルである。
【0015】
いくつかの実施形態では、本方法は、第1のシステムにより、第3のデジタル信号に基づいて生成された第2のアナログ信号に基づいて第1のアナログ信号を生成し、第1のアナログ信号をADCに供給することと、第2のDSP回路のモデル識別ユニットにより、ADCからの第2のデジタル信号および第3のデジタル信号を受信することと、モデル識別ユニットにより、第2のデジタル信号、第3のデジタル信号、および第1のサンプリング行列に一致する第2のサンプリング行列に基づいて、第1のシステムのモデルの係数を決定することと、を含む。
【0016】
いくつかの実施形態では、本方法は、第1のDSP回路と第2のDSP回路とを同期させることを含む。
【0017】
いくつかの実施形態では、本方法は、第4のデジタル信号を受信することと、第1のシステムのモデルの係数に基づいて第4のデジタル信号をプリディストーションすることにより、第3のデジタル信号を生成することと、を含む。
【0018】
いくつかの実施形態では、第1のサンプリング行列は対角ブロックランダム符号行列であり、本方法は、第1の乱数発生器により、第1のサンプリング行列のランダム符号の第1のシーケンスを生成することを含む。
【0019】
いくつかの実施形態では、本方法は、第1の線形フィードバックシフトレジスタにより、ランダム符号の第1のシーケンスを提供することを含む。
【0020】
いくつかの実施形態では、本方法は、第2の乱数発生器により、ランダム符号の第1のシーケンスに一致するランダム符号の第2のシーケンスを生成することと、ランダム符号の第1のシーケンスを使用して第2のサンプリング行列を生成することと、を含む。
【0021】
いくつかの実施形態では、本方法は、第1のデジタル信号の複数の連続サンプルに基づいて第2のデジタル信号の第1のサンプルを生成することを含み、複数の連続サンプルの第1のサイズは、第1のサンプリング行列の行ベクトルの要素の第2のサイズに等しい。
【0022】
他の態様および特徴は、以下の詳細な説明および添付図面を読むことにより明らかになるであろう。
【図面の簡単な説明】
【0023】
【
図1】本開示のいくつかの実施形態によるICの例示的なアーキテクチャを示すブロック図である。
【
図2】本開示のいくつかの実施形態によるDPDシステムを示すブロック図である。
【
図3】本開示のいくつかの実施形態によるモデル識別問題を示すブロック図である。
【
図4】本開示のいくつかの実施形態によるモデル識別問題を示すブロック図である。
【
図5】本開示のいくつかの実施形態によるモデル識別問題を示すブロック図である。
【
図6】本開示のいくつかの実施形態によるDPDシステムを示すブロック図である。
【
図7】本開示のいくつかの実施形態によるモデル識別方法を示すフローチャートである。
【
図8A】本開示のいくつかの実施形態によるDPDシステムを示すブロック図である。
【
図8B】本開示のいくつかの実施形態によるDPDシステムを示すブロック図である。
【
図9】本開示のいくつかの実施形態によるモデル識別問題を示すブロック図である。
【
図10】本開示のいくつかの実施形態によるDPDシステムの様々なデジタル信号を示す図である。
【
図11A】本開示による様々な実施形態の性能比較を示す図である。
【
図11B】本開示による様々な実施形態の性能比較を示す図である。
【
図11C】本開示による様々な実施形態の性能比較を示す図である。
【
図11D】本開示による様々な実施形態の性能比較を示す図である。
【
図11E】本開示による様々な実施形態の性能比較を示す図である。
【
図11F】本開示による様々な実施形態の性能比較を示す図である。
【
図12A】本開示による様々な実施形態の性能比較を示す図である。
【
図12B】本開示による様々な実施形態の性能比較を示す図である。
【
図13】本開示による様々な実施形態の性能比較を示す図である。
【
図14A】本開示による様々な実施形態の性能比較を示す図である。
【
図14B】本開示による様々な実施形態の性能比較を示す図である。
【
図14C】本開示による様々な実施形態の性能比較を示す図である。
【
図14D】本開示による様々な実施形態の性能比較を示す図である。
【
図15A】本開示による様々な実施形態の性能比較を示す図である。
【
図15B】本開示による様々な実施形態の性能比較を示す図である。
【
図16A】本開示による様々な実施形態の性能比較を示す図である。
【
図16B】本開示による様々な実施形態の性能比較を示す図である。
【
図16C】本開示による様々な実施形態の性能比較を示す図である。
【
図16D】本開示による様々な実施形態の性能比較を示す図である。
【発明を実施するための形態】
【0024】
様々な実施形態が、例示的な実施形態が示されている図面を参照して以下に説明される。しかし、特許請求される発明は、異なる形態で具体化されてもよく、本明細書に記載される実施形態に限定されると解釈されるべきではない。全体を通して同様の符号は同様の要素を指す。したがって、同様の要素は、各図面の説明に関して詳細には説明されない。また、図面は、実施形態の説明を容易にすることのみを目的としていることにも留意されたい。それらは、特許請求される発明の網羅的な説明として、または特許請求される発明の範囲に対する限定として意図されていない。さらに、例示された実施形態は、示されたすべての態様または利点を有する必要はない。特定の実施形態に関連して説明される態様または利点は、必ずしもその実施形態に限定されず、そのように例示されない場合であっても、または明示的に説明されない場合であっても、他の任意の実施形態で実施することができる。特徴、機能、および利点は、様々な実施形態で独立して達成されてもよく、またはさらに他の実施形態で組み合わされてもよい。
【0025】
いくつかの図面に例示的に示す例示的な実施形態を説明する前に、さらなる理解のために一般的な導入が提供される。電力増幅器は通信システムの重要な構成要素の1つであり、本質的に非線形である。電力増幅器の非線形性により、特定のチャネルの信号帯域幅を超えてスペクトル成長を引き起こし、隣接チャネルと干渉する。また、信号帯域幅内で歪みが発生し、受信器でビットエラーレートが増加する。様々な実施形態では、DPDシステムを使用して電力増幅器の様々な歪みを補償し、それにより通信システムの隣接チャネル電力比(ACPR)を低減することができる。例えば、大規模多入力多出力(MIMO)通信システムの基地局では、複数の送信アンテナの各々をDPDシステムに関連付けることができる。各DPDシステムは、高レート、高分解能ADC(例えば、サンプリングレートが491.52MHzの16ビットADC)を使用したフィードバックパスを有してもよく、その結果、そのADCから基地局のDSPユニットへの高いデータレート(例えば、8Gbit/s)転送が得られる。そのため、その大規模MIMOシステムの基地局は、DPDシステムのADCと基地局のDSPとの間で0.5Tbit/sを超える総データレートを必要とする場合があり、それが接続を困難にしている。DPDシステムは、ADCのサンプリングレートよりも低いレートでサンプルを出力するように構成されたADCを使用する場合があり、その結果、ADCと基地局のDSPとの間のデータレートが低下し、複雑な乗算の数を減らすことにより、計算の複雑さが軽減される。
【0026】
上記の一般的な理解を念頭に置いて、モデルの識別とプリディストーションの様々な実施形態を以下に説明する。上記の実施形態の1つまたは複数が特定のタイプのICを使用して例示されているため、そのようなICの詳細な説明を以下に提供する。しかしながら、他のタイプのICは、本明細書で説明される実施形態の1つまたは複数から利益を得ることができることを理解されたい。
【0027】
プログラマブル論理デバイス(「PLD」)は、指定された論理機能を実行するようにプログラムすることができる、周知のタイプの集積回路である。PLDの1つのタイプであるフィールドプログラマブルゲートアレイ(FPGA)は、通常、プログラマブルタイルのアレイを含む。これらのプログラマブルタイルは、例えば、入力/出力ブロック(「IOB」)、構成可能論理ブロック(「CLB」)、専用ランダムアクセスメモリブロック(「BRAM」)、乗算器、デジタル信号処理ブロック(「DSP」)、プロセッサ、クロックマネージャ、遅延ロックループ(「DLL」)などを含むことができる。本明細書で使用される場合、「含む」は限定することなく含むことを意味する。
【0028】
通常、各プログラマブルタイルは、プログラマブル相互接続とプログラマブル論理の両方を含む。プログラマブル相互接続は、通常、プログラマブル相互接続点(「PIP」)によって相互接続された様々な長さの多数の相互接続ラインを含む。プログラマブル論理は、例えば関数発生器、レジスタ、算術論理などを含むことができるプログラマブル素子を使用して、ユーザデザインの論理を実装する。
【0029】
プログラマブル相互接続およびプログラマブル論理は、通常、プログラマブル素子を構成する方法を定義する内部構成メモリセルに構成データのストリームをロードすることによりプログラムされる。構成データは、メモリから(例えば、外部PROMから)読み出すか、外部デバイスによってFPGAに書き込むことができる。個々のメモリセルの集合的な状態が、FPGAの機能を決定する。
【0030】
PLDの別のタイプは、複合プログラマブル論理デバイス(CPLD)である。CPLDは、相互接続スイッチ行列によって互いに接続され、入力/出力(「I/O」)リソースに接続された2つ以上の「機能ブロック」を含む。CPLDの各機能ブロックは、プログラマブル論理アレイ(「PLA」)およびプログラマブルアレイ論理(「PAL」)デバイスで使用されるものと同様の2レベルAND/OR構造を含む。CPLDでは、通常、構成データは不揮発性メモリにオンチップで格納される。一部のCPLDでは、構成データは不揮発性メモリにオンチップで格納され、初期構成(プログラミング)シーケンスの一部として揮発性メモリにダウンロードされる。
【0031】
一般に、これらのプログラマブル論理デバイス(「PLD」)の各々では、デバイスの機能は、その目的のためにデバイスに提供される構成データによって制御される。構成データは、揮発性メモリ(FPGAおよび一部のCPLDで一般的なスタティックメモリセルなど)、不揮発性メモリ(一部のCPLDのようにフラッシュメモリなど)、または他の任意のタイプのメモリセルに格納することができる。
【0032】
他のPLDは、デバイス上の様々な素子をプログラム可能に相互接続する金属層などの処理層を適用することによってプログラムされる。これらのPLDは、マスクプログラマブルデバイスとして知られている。PLDは、他の方法、例えば、ヒューズまたはアンチヒューズ技術を使用して実装することもできる。「PLD」および「プログラマブル論理デバイス」という用語には、これらの例示的なデバイス、ならびに部分的にのみプログラム可能なデバイスが含まれるが、これらに限定されない。例えば、PLDの1つのタイプには、ハードコーディングされたトランジスタ論理と、ハードコーディングされたトランジスタ論理をプログラム可能に相互接続するプログラム可能なスイッチファブリックと、の組み合わせが含まれる。
【0033】
上記のように、高度なFPGAには、アレイに複数の異なるタイプのプログラマブル論理ブロックを含めることができる。例えば、
図1は、例示的なFPGAアーキテクチャ100を示している。FPGAアーキテクチャ100は、多数の異なるプログラマブルタイルを含み、それには、マルチギガビットトランシーバ(「MGT」)101、構成可能論理ブロック(「CLB」)102、ランダムアクセスメモリブロック(「BRAM」)103、入力/出力ブロック(「IOB」)104、構成およびクロック論理(「CONFIG/CLOCKS」)105、デジタル信号処理ブロック(「DSP」)106、特殊な入力/出力ブロック(「I/O」)107(例えば、構成ポートおよびクロックポート)、ならびに、デジタルクロックマネージャ、アナログデジタルコンバータ、システム監視論理などの他のプログラマブル論理108が含まれる。一部のFPGAには、専用プロセッサブロック(「PROC」)110も含まれている。
【0034】
いくつかのFPGAでは、各プログラマブルタイルは、
図1の上部に含まれる例によって示されるように、同じタイル内のプログラマブル論理素子の入力および出力端子120への接続を有する少なくとも1つのプログラマブル相互接続素子(「INT」)111を含むことができる。各プログラマブル相互接続素子111は、同じタイルまたは他のタイル内の隣接するプログラマブル相互接続素子の相互接続セグメント122への接続も含むことができる。各プログラマブル相互接続素子111は、論理ブロック(図示せず)間の一般的なルーティングリソースの相互接続セグメント124への接続も含むことができる。一般的なルーティングリソースは、相互接続セグメント(例えば、相互接続セグメント124)のトラックを含む論理ブロック(図示せず)と相互接続セグメントを接続するためのスイッチブロック(図示せず)との間のルーティングチャネルを含むことができる。一般的なルーティングリソースの相互接続セグメント(例えば、相互接続セグメント124)は、1つまたは複数の論理ブロックにまたがることができる。プログラマブル相互接続素子111は、一般的なルーティングリソースと共に、図示したFPGA用のプログラム可能な相互接続構造(「プログラム可能な相互接続」)を実装する。
【0035】
例示的な実施態様では、CLB102は、ユーザ論理に加えて単一のプログラマブル相互接続素子(「INT」)111を実装するようにプログラム可能な構成可能論理素子(「CLE」)112を含むことができる。BRAM103は、1つまたは複数のプログラム可能な相互接続素子に加えて、BRAM論理素子(「BRL」)113を含むことができる。通常、タイルに含まれる相互接続素子の数は、タイルの高さに依存する。図示した例では、BRAMタイルの高さは5つのCLBと同じであるが、他の数字(4など)を使用することもできる。DSPタイル106は、適切な数のプログラム可能な相互接続素子に加えて、DSP論理素子(「DSPL」)114を含むことができる。IOB104は、例えば、プログラマブル相互接続素子111の1つのインスタンスに加えて、入力/出力論理素子(「IOL」)115の2つのインスタンスを含むことができる。当業者には明らかであるように、例えばI/O論理素子115に接続された実際のI/Oパッドは、通常は入力/出力論理素子115の領域に限定されない。
【0036】
図1の例では、ダイ(例えば、
図1に示す領域105、107、108で形成)の中心付近の領域(水平方向に表示)を構成、クロック、およびその他の制御論理に使用できる。この水平領域から延在する列109(垂直に描かれている)または他の列を使用して、FPGAの幅全体にクロックと構成信号を分配することができる。
【0037】
図1に示すアーキテクチャを利用するいくつかのFPGAは、FPGAの大部分を構成する通常のカラム構造を破壊する追加の論理ブロックを含む。追加の論理ブロックは、プログラム可能なブロックおよび/または専用論理であり得る。例えば、PROC110はCLBとBRAMの複数の列にまたがっている。PROC110は、単一のマイクロプロセッサから、マイクロプロセッサ、メモリコントローラ、周辺機器などの完全なプログラム可能な処理システムに及ぶ様々な構成要素を含むことができる。
【0038】
一態様では、PROC110は、ICのプログラム可能回路を実装するダイの一部として製造される専用回路、例えばハードワイヤードプロセッサとして実装される。PROC110は、個々のプロセッサ、例えば、プログラムコードを実行可能な単一コアから、1つまたは複数のコア、モジュール、コプロセッサ、インターフェースなどを有するプロセッサシステム全体まで、複雑さの範囲にわたる様々な異なるプロセッサタイプおよび/またはシステムのいずれかを表すことができる。
【0039】
別の態様では、PROC110はアーキテクチャ100から省略され、記載されたプログラム可能ブロックの他の種類のうちの1つまたは複数と置き換えることができる。さらに、そのようなブロックは、PROC110の場合のように、プログラム可能回路の様々なブロックを使用してプログラムコードを実行できるプロセッサを形成することができるという点で、「ソフトプロセッサ」を形成するために利用することができる。
【0040】
「プログラム可能回路」という語句は、IC内のプログラム可能な回路素子、例えば、本明細書で説明する様々なプログラム可能または構成可能な回路ブロックまたはタイル、ならびに様々な回路ブロック、タイル、および/または素子を、ICにロードされた構成データに従って選択的に結合する相互接続回路を指すことができる。例えば、CLB102およびBRAM103などのPROC110の外部にある
図1に示す部分は、ICのプログラム可能回路と見なすことができる。
【0041】
いくつかの実施形態では、プログラム可能回路の機能および接続性は、構成データがICにロードされるまで確立されない。構成データのセットを使用して、FPGAなどのICのプログラム可能回路をプログラムできる。構成データは、場合によっては「構成ビットストリーム」と呼ばれる。一般に、プログラム可能回路は、最初に構成ビットストリームをICにロードしないと動作も機能もしない。構成ビットストリームは、プログラム可能回路内の特定の回路設計を効果的に実装またはインスタンス化する。回路設計は、例えば、プログラム可能回路ブロックの機能的側面と、様々なプログラム可能回路ブロック間の物理的接続性を指定する。
【0042】
いくつかの実施形態では、「ハードワイヤード」または「ハード化」された、すなわちプログラム可能でない回路がICの一部として製造される。プログラム可能回路とは異なり、ハードワイヤード回路または回路ブロックは、ICの製造後に構成ビットストリームのロードにより実装されない。ハードワイヤード回路は一般に、専用の回路ブロックと相互接続を備えていると一般に考えられており、例えば、最初に構成ビットストリームをIC、例えばPROC110にロードすることなく機能する。
【0043】
場合によっては、ハードワイヤード回路は、IC内の1つまたは複数のメモリ素子に保存されているレジスタ設定または値に従って設定または選択できる1つまたは複数の動作モードを有することができる。動作モードは、例えば、構成ビットストリームをICにロードすることで設定することができる。この機能にもかかわらず、ハードワイヤード回路は、ICの一部として製造されたときに動作可能であって、特定の機能を有するので、ハードワイヤード回路はプログラム可能回路とは見なされない。
【0044】
図1は、プログラム可能回路、例えばプログラマブルファブリックを含むICを実装するために使用できる例示的なアーキテクチャを示すことを意図している。例えば、行の論理ブロックの数、行の相対的な幅、行の数と順序、行に含まれる論理ブロックのタイプ、論理ブロックの相対的なサイズ、および
図1の上部に含まれる相互接続/論理実装は、純粋に例示的なものである。例えば、実際のICでは、ユーザ論理の効率的な実装を容易にするために、通常CLBが表示される場所に複数のCLBの隣接する行が含まれるが、隣接するCLBの行の数はICの全体的なサイズによって異なる。さらに、
図1のFPGAは、本明細書で説明される相互接続回路の例を採用することができるプログラム可能なICの一例を示している。本明細書で説明される相互接続回路は、CPLDまたは論理素子を選択的に結合するためのプログラム可能な相互接続構造を有する任意のタイプのプログラム可能なICなどの他のタイプのプログラム可能なICで使用することができる。
【0045】
電力増幅器の歪みを補償するためにDPDシステムを実装することができるICは、
図1に示した例示的なICに限定されず、他の構成または他のタイプのICを備えたICもモデル識別およびプリディストーション機能を実装することができることに留意されたい。
【0046】
図2を参照すると、DPDシステム200(モデル識別システム200とも呼ばれる)が示されている。デジタル信号x(n)202は、デジタルアナログコンバータ(DAC)204に入力される。DAC204は、所定のサンプリングレートf
S1でデジタル信号x(n)202をサンプリングすることができる。所定のサンプリングレートf
S1は、所定の周期(T
S1)ごとにサンプリングが行われることを示している。一部の実施形態では、所定のサンプリングレートf
S1は、システム200のナイキストレート(f
S)に対応する。次に、DAC204は、サンプルをアナログ信号x(t)205に変換し、アナログ信号x(t)205を、非線形の周波数依存電力増幅器および/または1つもしくは複数の他の構成要素などの未知のシステム206に出力することができる。未知のシステム206のシステムモデルは、未知のシステム206の特性を表すことができ、システムモデルの係数は未知である。
【0047】
未知のシステム206は、アナログ信号x(t)205を受信し、アナログ信号y(t)208をADC210に出力する。ADC210は、所定のサンプリングレートfS2でアナログ信号y(t)208をサンプリングし、サンプルをデジタル信号y(n)214のデジタル信号値に変換する変換ユニット212を含む。所定のサンプリングレートfS2は、所定の周期(TS2)ごとにサンプリングが行われることを示している。いくつかの実施形態では、所定のサンプリングレートfS2は、システム200のナイキストレート(fS)に対応する。
【0048】
いくつかの実施形態では、ADC210はデジタル信号y(n)214をDSPユニット220に供給する。そのような実施形態では、ADC210とDSPユニット220との間の接続は、変換ユニット212によって生成されたデジタル信号y(n)214のデータレートと同じデータレートを有してもよい。DSPユニット220は、モデル識別プロセスを実行し得るモデル識別ユニット222と、デジタルプリディストーションプロセスを実行し得るプリディストーションユニット228と、を含む。いくつかの実施形態では、DSPユニット220およびその構成要素は、クロック信号232を使用してADC210と同期することができる。
【0049】
一部の実施形態では、モデル識別ユニット222は、プリディストーションユニットからデジタル信号値x(n)を含むデジタル信号224を受信し、ADC210からデジタル信号y(n)214を受信し、未知のシステム206のシステムモデルの係数を決定するためのモデル識別プロセスを実行する。モデル識別ユニット222は、様々な方法(例えば、最小二乗(LS)法、特異値分解(SVD)法)を使用して、信号224から受信したデジタル信号x(n)およびデジタル信号y(n)214のサンプルに基づいて係数を決定することができ、モデル識別問題は次のように提供される。
ここで、yはデジタル信号y(n)からのN個の利用可能なサンプルを含むN×1ベクトルであり、Xはデジタル信号x(n)からの対応するサンプルを含むN×L行列であり、cは未知のシステム206のシステムモデルのL個の未知の係数を含むL×1ベクトルであり、eはエラーベクトルである。例では、eはi.i.d.ガウスノイズである。
図3を参照すると、モデル識別問題、ならびに簡略化された式(1)によるy、X、およびcの間の関係を示すブロック図が示されている。
【0050】
そのため、モデル識別ユニット222は、以下のように未知のシステム206のシステムモデルの係数
を計算することができる。
ここで、
モデル係数である。
【0051】
様々な実施形態では、Nは非常に大きな数(例えば、4,915,200)であってもよいことに留意されたい。様々な実施形態では、x(n)およびy(n)の利用可能な全サンプルのより小さい測定数M(例えば、M=4096)が、モデル識別問題を解決するために使用される。このような場合、M行を有するサンプリング行列Dを導入して、式(1)の線形行列変換を実行することにより、モデル識別問題は次のように記述することができる。
式(2)は次のように書き直すことができる。
ここで、z=Dy、およびA=DXである。zとDの行数は同じであり、zとDの行数は測定値Mとも呼ばれることに留意されたい。
【0052】
図4を参照すると、モデル識別問題と、式(2)および(3)によるz、D、X、A、およびcの間の関係を示すブロック図が示されている。
【0053】
モデル識別問題がy(n)を直接使用して解決される例では、サンプリング行列Dは次のように表される対角行列D
diagになり得る。
ここで、y(n)の選択されたサンプルの数とzおよびD
diagの行数との両方が測定数Mと等しくなる。
図5を参照すると、モデル識別問題と、式(2)および(3)によるz、D
diag、X、A、およびcの間の関係を示すブロック図が示されている。
【0054】
したがって、モデル識別ユニット222は、モデル識別問題の係数
を次のように計算することができる。
【0055】
いくつかの実施形態では、MはLよりも大きくなるように選択された整数である。いくつかの実施形態では、ノイズ、モデルの不一致、および不完全性のために、MはLよりもはるかに大きい整数であり得る。Lが約20~100の例では、Mは4096以上であり得る。Mが増加すると、係数
の精度は向上するが、係数
を決定するのに必要な時間も増加する。
【0056】
いくつかの実施形態では、平均二乗誤差(MSE)を使用して、係数
の誤差を決定することができる。最尤推定量の場合、共分散行列はグラム行列A
HAの逆行列である。モデル係数
の平均二乗誤差(MSE)は、次のように計算できる。
ここで、
は測定ノイズの分散を表す。実験計画では、これはA最適計画に対応し、そのようなMSEを使用して係数
の特性を評価することができる。以下の説明では、Tr((A
HA)
-1)がMSEに比例するため、Tr((A
HA)
-1)の値を使用してMSEの動作を説明することができる。
【0057】
いくつかの実施形態では、DPDシステム200の関心のあるパラメータには、例えば、正規化された平均二乗誤差(NMSE)およびACPRが含まれる。NMSEとACPRはどちらもMSEに依存し、MSEは、Aのスペクトル特性によって定義することができ、Tr((A
HA)
-1)および条件数κを含む。Tr((A
HA)
-1)は(例えば、MSEを使用して)平均エラー動作を記述することができるが、条件数κは最悪の場合を記述する。条件数κは、次のように計算できる。
ここで、σ
max(A)、およびσ
min(A)は、それぞれAの最大および最小特異値である。
【0058】
いくつかの実施形態では、様々なシステムモデルを使用して、未知のシステム206の特性をモデル化することができる。いくつかの例では、システムモデルはパラメータの線形モデルである。いくつかの例では、システムモデルはメモリ効果のない非線形メモリレスモデルである。そのような非線形メモリレスモデルは、例えば、多項式モデルを含んでもよい。
【0059】
いくつかの例では、システムモデルは非線形メモリモデルであり、未知のシステム206のメモリ効果を考慮している。そのようなメモリモデルは、例えば、一般化されたメモリ多項式モデル(GPM)およびVolterraモデルを含んでもよい。複雑さとパフォーマンスの適切なトレードオフを提供するメモリ多項式モデルの例は、以下のように提供される。
ここで、c
p,qは未知のシステム206のモデルの係数であり、Pは多項式の次数であり、Qはメモリの深さである。この例では、未知の係数c
p,qの総数LはP*(Q+1)に等しくなる。
【0060】
様々な実施形態では、サンプリング行列D
diagを使用してもAの条件は改善されない可能性があることに留意されたい。例えば、Taylor級数を使用する非線形メモリレスモデルは次のように表現できる。
ここで、Lは正の整数であり、係数c
lの総数である。
【0061】
したがって、行列Xは次のように因数分解できる。
ここで、Vは実数値Vandermonde行列であり、条件が悪い可能性がある。VにD
diagを掛けた後もAはVandermondeのままなので、サンプリング行列D
diagを使用してもAの状態が改善されない場合がある。
【0062】
未知のシステム206のシステムモデルの係数
を決定した後に、モデル識別ユニット222は、係数
をDSPユニット220のプリディストーションユニット228に送る。プリディストーションユニット228は、デジタル信号230を受信し、未知のシステム206のシステムモデル(係数
を含む)に従ってデジタル信号230にプリディストーションを実行して、デジタル信号x(n)202を生成することができ、デジタル信号x(n)202は、プリディストーションされたデジタル信号x(n)202とも呼ばれる。プリディストーションは、未知のシステム206の様々な歪(例えば、非線形性)を補償し、それによりDPDシステム200の性能を改善することができる。
【0063】
プリディストーションユニット228は、例えば、直接学習自己調整レギュレータ(STR)法、直接学習モデル参照適応システム(MRAS)を含む様々な方法を使用して実行することができる。特定の例では、プリディストーションユニット228は、p次の事前逆開ループ直接学習モデルを使用する。その特定の例では、プリディストーションユニット228は、モデル識別ユニット222によって提供される係数
によって提供されるシステムモデルを反転し、反転したシステムモデルに従ってプリディストーションを実行することができる。
【0064】
図6を参照すると、DPDシステム600(モデル識別システム600とも呼ばれる)のブロック図が示されており、これは、以下で説明する違いを除いて、上述の
図2のDPDシステム200と実質的に同様である。DPDシステム600は、無線トランシーバ(例えば、大規模MIMO通信システムの基地局)の送信部分(例えば、送信機)であってもよい。
図6の例に示すように、DPDシステム600はDSPユニット220を含む。DSPユニット220のプリディストーションユニット228は、送信アンテナ608などの1つまたは複数の送信アンテナによって無線送信されるデジタル信号230を受信する。プリディストーションユニット228は、デジタル信号230にデジタルプリディストーションを実行して、プリディストーションデジタル信号x(n)を生成する。
【0065】
図6に示すように、DAC204は、プリディストーションされたデジタル信号x(n)202をアナログ信号x(t)に変換し、アナログ信号x(t)を電力増幅器604に出力する。電力増幅器604は、未知の係数を含むシステムモデルを使用してモデル化され得る特性を有し、DPDシステム200の未知のシステム206に対応する。電力増幅器604は、アナログ信号x(t)を増幅し、増幅されたアナログ信号を送信アンテナ608に印加して、無線通信を実行する。ほんの一例として、無線通信は、IEEE 802.11通信規格または別の無線通信規格に準拠してもよい。
図6の例では、アナログ信号x(t)は、電力増幅器604に入力される前に、アップコンバータ602を使用してアップコンバートされる。
【0066】
図6に示すように、増幅されたアナログ信号y(t)208は、ADC210を含むフィードバック経路に送られ、変換ユニット212は、アナログ信号y(t)208をデジタル信号y(n)214に変換することができる。
図6の例では、アナログ信号y(t)208は、ADC210に入力される前に、ダウンコンバータ610を使用してダウンコンバートされる。
【0067】
モデル識別ユニット222は、ADC210からデジタル信号y(n)214を受け取り、デジタル信号x(n)およびデジタル信号y(n)に基づいて電力増幅器604のシステムモデルの係数を決定する。プリディストーションユニット228は、信号226を通じてモデル識別ユニットから電力増幅器604のシステムモデルの係数を含む信号226を受信し、電力増幅器604のシステムモデルに従ってデジタル信号230にプリディストーションを実行する。
【0068】
様々な実施形態では、大規模MIMO通信システムでDPDシステム600を使用することは、様々な課題を課す場合がある。一例では、大規模MIMO通信システムの基地局は、100個の対応するDPDシステムを備えた100個の送信アンテナを含む。基地局は、これらのすべてのDPDシステムに対してデジタル信号プロセスを実行するDSPユニットを含むことができる。これらのDPDシステムのADCとDSPユニットとの間の接続は、総データレートが大きいため、ボトルネックになる可能性がある。各DPDシステムが491.51MHzのサンプリングレートで16ビットADCを使用する例では、8Gbit/sのデータレートが単一のADCからDSPユニットに転送される場合がある。そのため、100個の送信アンテナを持つ大規模MIMO通信システムでは、DSPユニットとADCとの間の接続の総データレートが0.5Tbit/sを超える場合があり、ADCとDSPユニットとの間の接続が困難になる。
図7から
図16Dを参照すると、ADCとDSPユニットとの間のデータレートを低減するためのモデル識別方法が説明されている。以下で詳細に説明するように、ADCのDSPブロックを使用してサンプルを圧縮することにより、ADCはADCのサンプリングレートよりも低いデータレートを有するデジタル信号を出力することができ、ADCとDSPユニットとの間のデータレートの低減を達成することができる。
【0069】
図7を参照すると、電力増幅器モデルの係数を決定し、DPDシステムでデジタルプリディストーションを実行する方法700が示されている。
図8Aおよび
図8Bを参照すると、方法700を実行することができるDPDシステムの例が示されている。具体的には、
図8AのDPDシステム800および
図8BのDPDシステム850は、以下で説明する違いを除いて、
図2のDPDシステム200および
図6のDPDシステム600と実質的に同様である。
【0070】
方法700はブロック702で始まり、DACが第1のデジタル信号を受信し、第1のデジタル信号をアナログ信号に変換する。
図8Aおよび
図8Bを参照すると、ブロック702で、DAC204はデジタル信号x(n)202を受信し、アナログ信号x(t)を出力する。一例では、DAC204は、所定のサンプリングレートでデジタル信号x(n)202をサンプリングし、サンプルをアナログ信号x(t)205に変換し、アナログ信号x(t)205を出力する。
【0071】
次に、方法700はブロック704に進み、未知のシステムが第1のアナログ信号を受信し、第1のアナログ信号に基づいて第2のアナログ信号を生成する。
図8Aを参照すると、未知のシステム206が、アナログ信号x(t)205を受信し、アナログシステムx(t)に基づいてアナログ信号y(t)208を生成する。
図8Bを参照すると、電力増幅器604を含む未知のシステムが、アナログ信号x(t)を受信し、アナログ信号x(t)を増幅することによりアナログ信号y(t)を生成する。
【0072】
次に、方法700はブロック706に進み、第2のアナログ信号をサンプリングすることにより、第1のデータレートを有する第2のデジタル信号が生成される。
図8Aおよび
図8Bを参照すると、ADC210の変換ユニット212が、アナログ信号y(t)208を受信し、アナログ信号y(t)208を所定のサンプリングレートでサンプリングし、サンプルをデジタル信号y(n)214に変換する。一例では、所定のサンプリングレートはナイキストレート(f
S)であり、デジタル信号y(n)214はナイキストレート(f
S)に対応するデータレートを有し得る。例えば、16ビットの分解能を持ち、491.52MHzのナイキストレート(f
S)をサンプリングレートとして使用するADCの場合、デジタル信号y(n)214のデータレートは16*f
Sに等しくなり、それは約8ギガビット/秒である。
【0073】
次に、方法700はブロック708に進み、第1のデータレートよりも低い第2のデータレートを有する第3のデジタル信号が生成される。
図8Aを参照すると、ADC210はDSPユニット802を含み、DSPユニット802が変換ユニット212からデジタル信号y(n)214を受信し、デジタル信号y(n)214のデータレートより低いデータレートを有するデジタル信号z(n)804を生成する。一例では、ADC210およびそのDSPユニット802は同じダイに含まれる。
【0074】
図8Bを参照すると、DSPユニット802は、アキュムレータ852Aおよびサンプリング行列ユニット854Aを含む。様々な実施形態では、サンプリング行列ユニット854Aは、サンプリング行列Dの要素を提供してもよい。アキュムレータ852Aは、サンプリング行列Dまたはその要素を受け取り、サンプリング行列Dの対応する要素に基づいてデジタル信号y(n)のサンプルを組み合わせることにより圧縮プロセスを実行し、得られたサンプルを含むデジタル信号z(n)を生成することができる。一例では、アキュムレータ852Aは、y(n)のサンプルを加算または減算するための加算器/減算器を含むことができる。したがって、DSPユニット802は、以下の説明では圧縮ユニット802と呼ばれる。適切なサンプリング行列Dを選択することにより、デジタル信号z(n)は、所望のデータレート(例えば、デジタル信号y(n)のデータレートより低い)を有することができる。
【0075】
様々な実施形態では、サンプリング行列Dは、以下のように表されるブロック対角行列D
blkdiagであり得る。
ここで、D
blkdiagはM行とN列を有し、d
iは1xRベクトルであり、M、N、およびRは正の整数であり、Rは1より大きく、正規子(normalizer)(例えば、
)はデジタル信号z(n)の圧縮されたサンプルを正規化するために用いられる。ベクトルd
iは、ブロック対角行列D
blkdiagのi番目の対角ブロックとも呼ばれる。整数Rは、対角ブロックd
iの対角ブロック幅とも呼ばれる。D
blkdiagにより、y(n)の選択されたサンプルの数は測定数Mと等しくないことに留意されたい。代わりに、y(n)の選択されたサンプルの数がM*Rに等しくなる。いくつかの実施形態では、サンプリング行列D
blkdiagを使用すると、式(3)によって提供されるモデル識別問題を解決するために利用される追加の自由度が導入される。
【0076】
一例では、対角ブロック行列D
blkdiagは、その1番目からM番目の対角ブロックの各要素が1に等しい対角ブロック行列D
blkonesであってもよい。D
blkdiagの各d
iを1
1×Rに設定することにより、次のように対角ブロック行列D
blkonesが得られる。
【0077】
図9を参照すると、モデル識別問題、およびサンプリング行列D
blkonesを使用する式(2)および(3)によるz、D
blkones、X、A、およびcの間の関係を示す図が示されている。
図9に示すように、iが1とLの間の整数である行列Xのi番目の列について、Aを生成するためのD
blkonesとXのi番目の列との行列乗算にはM個の累積プロセスが含まれてもよく、各累積プロセスは、対応するXのi番目の列の連続したRサンプルを加算して、Aの対応する要素を生成する。
【0078】
同様に、zを生成するためのDblkonesとyの行列乗算はM個の累積プロセスを含むことができ、各累積プロセスはy(n)の対応する連続したRサンプルを加算してzの対応する要素を生成する。
【0079】
したがって、圧縮ユニット802は、サンプリング行列D
blkonesに従ってy(n)の対応する連続するRサンプルを結合することにより、式(3)のzに対応するデジタル信号z(n)を生成するためにデジタル信号y(n)を使用することができる。デジタル信号z(n)のm番目のサンプルは、次のように表現できる。
【0080】
図10を参照すると、デジタル信号z(n)804のサンプルおよびデジタル信号y(n)214の対応するサンプルが示されている。図示する例では、圧縮ユニット802は、デジタル信号y(n)214およびサンプリング行列D
blkonesに基づいてデジタル信号z(n)804を生成し、サンプリング行列D
blkonesの対角ブロック幅Rは3の値を有する。
図10に示すように、サンプル1002-1~1002-12は、y(n)の連続するサンプルに対応し、各サンプルはT
sの期間をとることができる。サンプル1004-1~1004-4は、y(n)のサンプルに基づいて生成されたz(n)の連続サンプルに対応する。具体的には、z(n)のサンプル1004-1は、y(n)のサンプル1002-1、1002-2、および1002-3を追加することで生成される。z(n)のサンプル1004-2、サンプル1002-4、1002-5、および1002-6。z(n)のサンプル1004-3は、y(n)のサンプル1002-7、1002-8、および1002-9を追加することで生成することができる。サンプル1002-4は、サンプル1002-10、1002-11、および1002-12を追加することにより生成することができる。
図10に示すように、z(n)のサンプル1004-1~1004-4の各々は、R*T
sの期間をとることができる。一例では、ADCの出力804でのz(n)のデータレートDR
blkdiagは、次のように計算することができる。
ここで、wはADC210の解像度(例えば、16ビット)である。一方、
図2および
図6のDPDシステム200、600におけるADC210の出力データレートであるデジタル信号y(n)のデータレートは、以下のように計算することができる。
【0081】
このように、圧縮ユニット802を使用してサンプリング行列D
blkonesに従って圧縮プロセスを実行することにより、ADC210の出力データレートは、
図2および
図6のDPDシステム200、600のADC210と比較してRの因子だけ低減され得る。
【0082】
サンプリング行列D
blkdiagを使用することにより、同じ測定数Mが使用される場合、DPDシステム850の識別時間は、
図2および
図6のDPDシステム200、600と比較してRの因子だけ増加することに留意されたい。例えば、
図10に示すように、DPDシステム850では、z(n)の各サンプルはR*T
sを使用して生成される。したがって、M個のサンプルを生成するためのDPDシステム850の識別時間は、M*(R*T
s)に等しい。一方、DPDシステム200では、y(n)の各サンプルはT
sを使用して生成されるため、その識別時間はM*T
sである。
【0083】
サンプリング行列D
blkdiagを使用することにより、ADC210は、データレートが低下したデジタル信号を出力し、それによりADC210とDSPユニット220との間の接続性を改善することができる。例えば、サンプリング行列D
blkonesを使用するDPDシステム850は、未知のシステムのシステムモデルが非線形メモリレスモデルである
図6のDPDシステム600よりも優れた性能を達成することができる。しかし、いくつかの例では、未知のシステムのシステムモデルは非線形メモリモデルであり、サンプリング行列D
blkonesを使用するそのようなDPDシステム850は、望ましい性能を達成できない場合がある。これらの例では、非線形メモリモデルは周波数に依存する。しかし、サンプリング行列D
blkonesを使用することにより、DPDシステム850は直流情報のみを取得し、メモリ非線形モデルに必要な周波数情報を提供しない。
【0084】
未知のシステムのシステムモデルが非線形メモリモデルである様々な実施形態では、ブロック対角行列D
randblkおよびD
radeblkをサンプリング行列として使用してもよい。ブロック対角行列D
randblkおよびD
radeblkは、次のように表現できる。
ここで、f
iは1×R複素ガウスランダムベクトルであり、
ここで、g
iはランダムな符号のみを含む1×Rベクトルである。いくつかの例では、D
radeblkはブロック対角ランダム符号行列またはRademacher行列と呼ばれる。f
iおよびg
iの要素をランダムに選択することにより、すべての周波数の混合が考慮される。そのため、ブロック対角行列D
randblkおよびD
radeblkを、非線形メモリレスモデルと非線形メモリモデルの両方に使用することができる。
【0085】
図8Bの例では、サンプリング行列ユニット854Aは、サンプリング行列D
radeblkの擬似ランダム符号を生成するための乱数発生器(RNG)856Aを含むことができる。RNG856Aは、クロック信号232によってクロックされる線形フィードバックシフトレジスタ(LFSR)を含むことができ、LFSRは擬似乱数の反復シーケンスを生成する。一例では、LFSRはハードウェアに実装されているため、非常に高速な擬似乱数生成が可能である。さらなる例として、RNG856Aは、例えば線形合同発生器を含む様々な擬似乱数発生器アルゴリズムを使用してもよい。いくつかの例では、RNG856Aによって生成される一連の数値は、擬似乱数発生器アルゴリズムおよびシードによって決定される。様々な実施形態では、アキュムレータ852Aは、RNG856Aおよび/またはサンプリング行列D
radeblkによって生成されたランダムな符号に従ってデジタル信号y(n)のサンプルを組み合わせることにより(例えば、加算または減算することにより)、z(n)のサンプルを生成することができる。
【0086】
いくつかの実施形態では、
図8Bに示すように、サンプリング行列ユニット854Aは、サンプリング行列D
radeblkの対角ブロック幅Rを調整するために使用され得る対角ブロック幅ユニット858Aを含むことができる。DPDシステム850の性能(例えば、モデル識別時間、MSE、モデル誤差のNMSE、DPD NMSE、DPD ACPR)は、対角ブロック幅Rを変更することにより調整することができる。
【0087】
次に、方法700は、ブロック710に進み、モデル識別プロセスを実行して、未知のシステムのモデルの係数を決定する。
図8Bを参照すると、DSPユニット220のモデル識別ユニット222は、係数決定ユニット860、サンプリング行列ユニット854B、列信号発生器851、およびアキュムレータ852Bを含む。いくつかの実施形態では、DSPユニット220およびそのDSPユニット802を含むADC210は、同じダイ上に配置される。いくつかの例では、ADC210のDSPユニット802はADC210の変換ユニット212に隣接して配置されるが、DSPユニット220はADC210に隣接していない。あるいは、いくつかの例では、ADC210はDSPユニット220に隣接している。いくつかの実施形態では、そのDSPユニット802を含むADC210は第1のダイに配置され、DSPユニット220は第1のダイとは異なる第2のダイに配置される。いくつかの実施形態では、DSPユニット802は、ADC210内の特定用途向け集積回路(ASIC)を使用して実装される。いくつかの実施形態では、DSPユニット220は、PLD(例えば、FPGA)で実装される。いくつかの例では、ADC210は、サンプリング行列D
radeblkをモデル識別ユニット222に送ることができる。しかしながら、そのような例では、ADC210からDSPユニット220に転送されるデータレートは、サンプリング行列D
radeblkのそのような転送により増加され得る。あるいは、
図8Bに示すいくつかの例では、ADC210からサンプリング行列D
radeblkを受け取る代わりに、モデル識別ユニット222がサンプリング行列ユニット854Bを使用して、ADC210のサンプリング行列D
radeblkと一致するサンプリング行列D
radeblk’を生成する。
図8Bに示すように、サンプリング行列ユニット854Bは、それぞれRNG856Aおよび対角ブロック幅ユニット858Aに一致するRNG856Bおよび対角ブロック幅ユニット858Bを含むことができる。一例では、RNG856Bは擬似乱数の同じシーケンスを生成する。例えば、RNG856Bは、RNG856AのLFSRに一致するハードウェアに実装されたLFSRを含み、RNG856AおよびRNG856BのLFSRは(例えば、クロック信号232を使用して)同期される。別の例では、RNG856AとRNG856Bの両方が同じ擬似乱数発生器アルゴリズムおよび同じシードを使用するため、擬似乱数の同じシーケンスを生成する。いくつかの例では、対角ブロック幅ユニット858A、858Bは、ADC210のサンプリング行列D
radeblkおよびサンプリング行列D
radeblk’の対角ブロック幅Rに同じ値を提供する。
【0088】
いくつかの実施形態では、列信号発生器851は、プリディストーションユニット228からの信号224によりデジタル信号x(n)のサンプルを受信することができ、x(n)をデジタル信号864-1から864-Lに変換し、各々は行列Xの列(カーネル)に対応する。デジタル信号864-1から864-Lは、未知のシステム206のモデルに基づいて生成することができる。一例では、式(4)の非線形メモリレスモデルが未知のシステム206のモデルとして使用される。そのため、デジタル信号864-1から864-Lはそれぞれ
および
に対応し、lは1~Lの整数である。別の例では、式(3)のメモリ多項式が未知のシステム206のモデルとして使用される。その例では、デジタル信号864-1から864-Lはそれぞれ
に対応し、ここでLはP*(Q+1)に等しい。
【0089】
アキュムレータ852Bは、列信号発生器851からデジタル信号864-1~864-Lを受信することができる。行列XのL個の列の各列(カーネル)について、アキュムレータ852Bは、サンプリング行列Dradeblk’の対応する要素に従って、対応するデジタル信号864-iのサンプルを結合(例えば、加算または減算)することにより、行列Aの要素を生成し、ここで、iは特定の列の列インデックスである。次に、アキュムレータ852Bは、行列Aの得られた値を係数決定ユニット860に送信することができる。
【0090】
いくつかの実施形態では、係数決定ユニット860は、アキュムレータ852Bから行列Aを含む信号862を受信し、ADC210の圧縮ユニット802からz(n)のサンプルを含む信号804を受信する。次いで、係数決定ユニット860は、以下のように係数
を計算することができる。
【0091】
いくつかの実施形態では、係数決定ユニット860は、計算された係数
を含む信号226をプリディストーションユニット228に送信する。
【0092】
次いで、方法700は、ブロック712に進み、未知のシステムによって引き起こされた歪みを補償するために第4のデジタル信号に対してプリディストーションプロセスが実行されて、第1のデジタル信号が生成される。
図8Aおよび
図8Bを参照すると、プリディストーションユニット228は、未知のシステム206/電力増幅器604のモデルの係数
を含む信号226を受信し、未知のシステムの係数
および識別モデルに基づいて信号226をプリディストーションする。
【0093】
図11Aから
図11Eを参照すると、サンプリング行列D
blkonesを使用するDPDシステム850とDPDシステム600の性能比較が示されている。
図11Aから
図11Eに示すように、未知のシステムの非線形メモリレスモデルにより、DPDシステムの性能が改善される。図示する例では、式(4)に示すような9次のテイラー級数を含む非線形メモリレスモデルが使用され、ここで、未知の係数の数Lは9である。DPDシステム850は、64の値を有する対角ブロック幅Rを有するサンプリング行列D
blkonesを使用する。曲線1102A、1102B、1102C、1102D、1102E、1102Fは、DPDシステム600の性能曲線に対応する。曲線1104A、1104B、1104C、1104D、1104E、1104Fは、DPDシステム850の性能曲線に対応する。具体的には、
図11Aの曲線1102A、1104Aは、測定数Mに関する条件数κを示す。
図11Bの曲線1102B、1104Bは、測定数Mに関するTr((A
HA)
-1)を示す。
図11Cの曲線1102C、1104Cは、測定数Mに関するMSEを示す。
【0094】
図11Dを参照すると、曲線1102D、1104Dは、測定数Mに関するモデル誤差のNMSEを示している。
図11Dに示すように、測定数M
diagを使用するDPDシステム600と同じ誤差(例えば、モデル誤差のNMSE)を達成しながら、DPDシステム850で著しく小さい測定数M
blkonesを使用することができる。測定数低減係数RED
Mは、次のように定義することができる。
【0095】
図11Eを参照すると、曲線1102E、1104Eは、測定数Mに関するDPDシステムのNMSEを示している。
図11Fを参照すると、曲線1102F、1104Fは、測定数Mに関するDPDシステムのACPRを示している。
図11A~
図11Fに示すように、サンプリング行列D
blkonesを使用することにより、DPDシステムの性能が改善される。測定数M
blkonesはサンプリング行列D
blkonesの行数に対応し、DPDシステム850の各測定はy(n)のR個のサンプルに対応することに留意されたい。
【0096】
図12Aおよび
図12Bを参照すると、サンプリング行列D
blkdiagを使用するDPDシステム850は、サンプリング行列D
blkdiagの対角ブロック幅Rを調整することにより所望の性能を達成するように調整することができる。特定の例では、サンプリング行列D
radeblkが使用され、式(3)のメモリ多項式が使用される。このメモリ多項式は11の非線形次数Lと3のメモリ深度Qを有し、未知のシステムをモデル化するために非線形メモリレスモデルが使用される。
図12Aおよび
図12Bを参照すると、いくつかの実施形態では、Aのスペクトル特性を改善するために対角ブロック幅Rを調整することができる。
図12Aに示すように、より大きな対角ブロック幅Rを使用することにより、条件数κが改善される。
図12Aは、それぞれ1、2、5、10、20、60、および100の値を有する対角ブロック幅Rに対応する曲線1202A、1204A、1206A、1208A、1210A、1212A、および1214Aを含む。特定の測定数Mについて、対角ブロック幅Rが増加すると条件数κは減少する。圧縮サンプル数Rの増加によって達成される条件数κの改善(減少)は、すぐに飽和することに留意されたい。例えば、曲線1204A、1206Aに示すように、対角ブロック幅Rを2から5に増やすことで達成される条件数κの改善は、曲線1206A、1208Aで示すように対角ブロック幅Rを5から10に増やすことで達成される改善よりもはるかに大きい。
【0097】
同様に、
図12Bに示すように、より大きな対角ブロック幅Rを使用することにより、Tr((A
HA)
-1)が改善される。
図12Bは、それぞれ1、2、5、10、20、60、および100の値を有する対角ブロック幅Rに対応する1202B、1204B、1206B、1208B、1210B、1212B、および1214Bを含む。曲線1202B~1214Bで示すように、特定の測定数Mの場合、対角ブロック幅Rが増加するとTr((A
HA)
-1)が減少する。いくつかの実施形態では、対角ブロック幅Rを増加させることにより達成されるTr((A
HA)
-1)の改善(減少)は、すぐに飽和する。例えば、曲線1204B、1206Bに示すように対角ブロック幅Rを2から5に増やすことによって達成されるTr((A
HA)
-1)の改善は、曲線1206B、1208Bで示すように対角ブロック幅Rを5から10に増やすことによって達成される改善よりもはるかに大きい。
【0098】
様々な実施形態では、D
blkdiagを使用するDPDシステム(例えば、DPDシステム800、850)は、未知のシステム/電力増幅器のための様々なタイプの基底関数を含むモデルと共に使用することができる。例えば、モデルは任意の基底関数を使用することができる。さらなる例として、モデルは、分解ベクトル回転(DVR)モデルであってもよく、区分的線形(PWL)基底関数を使用してもよい。さらなる例として、モデルは計算的に複雑な直交多項式基底関数を含んでもよい。様々な実施形態では、モデルがより高い非線形性次数を有する場合、D
blkdiagを使用するDPDシステムの性能上の利点は、サンプリング行列D
diagを使用するDPDシステム(例えば、DPDシステム200、600)と比較して大きくなり得る。
図13を参照すると、D
diagを使用する第1のDPDシステムおよびD
blkdiagを使用する第2のDPDシステムのモデル誤差のNMSEを示す曲線1302-1、1302-2、1304-1、1304-2、1306-1、および1306-2が示されている。第1および第2のDPDシステムは、異なる項が切り捨てられた同じモデル(例えば、テイラー級数を使用した非線形メモリレスモデル)を使用する。曲線1302-1、1302-2は、3に等しい非線形次数を有する項が切り捨てられたモデルに対応する。曲線1304-1、1304-2は、5に等しい非線形次数を有する項が切り捨てられたモデルに対応する。曲線1306-1、1306-2は、9に等しい非線形次数を有する項が切り捨てられたモデルに対応する。さらに、曲線1302-1、1304-1、1306-1は、第1のDPDシステムに対応し、曲線1302-2、1304-2、1306-2は、第2のDPDシステムに対応する。
図13に示すように、第2のDPDシステムは、第1のDPDシステムよりも優れた性能を有し、モデルの非線形性次数がより高い場合には、第2のDPDシステムの利点はより大きくなる。例えば、曲線1302-1と曲線1302-2との間の差は、曲線1306-1と曲線1306-2との間の差よりも小さい。
【0099】
図14A、
図14B、
図14C、および
図14Dを参照すると、それぞれD
diag、D
blkones、D
radeblk、およびD
randblkを使用したDPDシステムの性能比較が示されており、未知のシステムのモデルはメモリ効果を含む。式(3)のメモリ多項式が使用されており、これは、11の非線形次数Lと3のメモリ深度Qを有する。
図14Aの曲線1402A、
図14Bの曲線1402B、
図14Cの曲線1402C、および
図14Dの曲線1402Dは、サンプリング行列D
diagを使用する第1のDPDシステム(例えば、DPDシステム600)に対応する。
図14Aの曲線1404A、
図14Bの曲線1404B、
図14Cの曲線1404C、および
図14Dの曲線1404Dは、サンプリング行列D
blkonesを使用する第2のDPDシステム(例えば、DPDシステム850)に対応する。
図14Aの曲線1406A、
図14Bの曲線1406B、
図14Cの曲線1406C、および
図14Dの曲線1406Dは、サンプリング行列D
radeblkを使用する第3のDPDシステム(例えば、DPDシステム850)に対応する。
図14Aの曲線1408A、
図14Bの曲線1408B、
図14Cの曲線1408C、および
図14Dの曲線1408Dは、サンプリング行列D
randblkを使用する第4のDPDシステム(例えば、DPDシステム850)に対応する。
【0100】
図14A~
図14Dに示すように、DPDシステムの性能は、サンプリング行列にランダムな要素を含めることによりすべての周波数の混合を考慮する、D
radeblk(例えば、第3のDPDシステム)およびD
randblk(例えば、第4のDPDシステム)を使用することにより著しく改善される。さらに、D
radeblkを使用する第3のDPDシステムとD
randblkを使用する第4のDPDシステムの性能に大きな違いはない。したがって、いくつかの実施形態では、D
radeblkを使用する実装はD
randblkを使用するよりもはるかに単純であるため、DPDシステムの性能を改善するためにD
randblkにわたってD
radeblkを選択することができる。
【0101】
図15Aおよび
図15Bを参照すると、測定数低減係数RED
Mに関するDPDシステムの計算複雑度曲線1502および識別時間曲線1550がそれぞれ示されている。測定数低減係数RED
Mは、サンプリング行列D
diagを使用する第1のDPDシステムおよびサンプリング行列D
blkdiagを使用する第2のDPDシステムの測定数によって定義される。測定数低減係数RED
Mは、次のように定義できる。
ここで、M
diagは第1のDPDシステムの測定数であり、M
blkdiagは第2のDPDシステムの測定数である。
【0102】
様々な実施形態では、第2のDPDシステムは、同じNMSEおよび/またはACPRを依然としてもたらしながら、M
diagよりも少ない測定数M
blkdiagを使用することができるので、モデル識別問題は、以下のようにより小さい最小二乗システムを解くことができる。
ここで、Lは未知のシステムのシステムモデルの係数の総数である。
【0103】
サンプリング行列Dblkdiagの使用によって生じるオーバーヘッドの大部分には加算と減算のみが含まれるため、より小さな最小二乗システムをモデル識別システム用に解くことにより、DPDシステムの計算の複雑さが軽減される。
【0104】
図15Aおよび
図15Bの例では、第2のDPDシステムはサンプリング行列D
radeblkを使用する。
図15Aに示すように、点1504は、第1のDPDシステムと第2のDPDシステムが同じACPRを有する第1の構成に対応する。点1506は、第1のDPDシステムのACPR性能と比較して第2のDPDシステムのACPR性能に約1dBの低下がある第2の構成に対応する。点1504で示すように、第1の構成では、測定数係数RED
Mの値は4であり、計算複雑度係数の値は約0.2596である。これは、第2のDPDシステムでサンプリング行列D
radeblkを使用することで、第1のDPDシステムと比較して計算の複雑さが約75%低減されることを示している。点1506に示すように、第2の構成では、測定数係数RED
Mの値は10であり、計算複雑度係数の値は約0.1116であり、これは、第1のDPDシステムでサンプリング行列D
radeblkを使用することにより、第2のDPDシステムと比較して、計算の複雑さが約90%低減されることを示している。
【0105】
図15Bに示すように、点1552は、第1のDPDシステムと第2のDPDシステムが同じACPRを有する第1の構成に対応する。点1554は、第1のDPDシステムのACPR性能と比較して第2のDPDシステムのACPR性能に約1dBの低下がある第2の構成に対応する。点1552に示すように、第1の構成では、測定数係数RED
Mの値は4であり、識別時間係数の値は30であり、これは、第2のDPDシステムの識別時間が第1のDPDシステムの識別時間の3倍であることを示している。点1554に示すように、第2の構成では、測定数係数RED
Mの値は10であり、識別時間係数の値は約12であり、これは、第2のDPDシステムの識別時間が第1のDPDシステムの識別時間の12倍であることを示す。
【0106】
様々な実施形態では、より小さい対角ブロック幅R(例えば、120から60まで)を使用することにより、D
blkdiagを使用するDPDシステムの識別時間も短縮できることに留意されたい。いくつかの例では、サンプリング行列D
diagを使用したDPDシステムの識別時間T
id、diagは、次のように計算できる。
【0107】
サンプリング行列D
blkdiagを使用したDPDシステムの識別時間T
id、blkdiagは、次のように計算できる。
【0108】
一方、ADC210とDSPユニット220との間のデータレートは、対角ブロック幅Rが増加すると増加する。したがって、対角ブロック幅Rと測定数Mblkdiagを調整することにより、識別時間、ADC210とDSPユニット220との間のデータレート、計算の複雑さ、および精度(例えば、DPD NMSEおよびDPD ACPRにより測定)のバランスをとることによって、サンプリング行列Dblkdiagを使用するDPDシステムで所望の性能を実現することができる。
【0109】
図16A、
図16B、
図16C、および
図16Dを参照すると、様々な対角ブロック幅Rを有するサンプリング行列D
radeblkおよびD
randblkを使用するDPDシステム850と、D
diagを使用するDPDシステム600と、の性能比較が示されている。これらのDPDシステムは、同じ未知のシステムおよび式(3)の同じメモリ多項式モデルを使用する。具体的には、9に等しい多項式次数Pと3に等しいメモリ深度Qを有するメモリ多項式モデルを使用して、その未知のシステムをモデル化する。
図16Aから
図16Dに示すように、DPDシステムの性能は、対角ブロック幅Rが増加すると改善される。
図16Aを参照すると、曲線1602A、1604A、1606A、1608A、1610A、および1612Aは、測定数Mに関する様々なDPDシステムの条件数κを示している。
図16Bを参照すると、曲線1602B、1604B、B1606B、1608B、1610B、および1612Bは、測定数Mに関する様々なDPDシステムのモデル誤差のNMSEを示している。
図16Cを参照すると、曲線1602C、1604C、1606C、1608C、1610C、および1612Cは、測定数Mに関するDPDシステムのNMSEを示している。
図16Dを参照すると、曲線1602D、1604D、1606D、1608D、1610D、および1612Dは、DPDシステムのACPRを示している。
【0110】
具体的には、曲線1602A、1602B、1602C、および1602Dは、Ddiagを使用するDPDシステム600の性能に対応する。曲線1604A、1604B、1604C、および1604Dは、4の値を有する対角ブロック幅RのDradeblkを使用するDPDシステム850の性能に対応する。曲線1606A、1606B、1606C、および1606Dは、32の値を有する対角ブロック幅RのDradeblkを使用するDPDシステム850の性能に対応する。曲線1608A、1608B、1608C、および1608Dは、64の値を有する対角ブロック幅RのDradeblkを使用するDPDシステム850の性能に対応する。曲線1610A、1610B、1610C、および1610Dは、128の値を有する対角ブロック幅RのDradeblkを使用するDPDシステム850の性能に対応する。曲線1612A、1612B、1612C、および1612Dは、128の値を有する対角ブロック幅RのDrandblkを使用するDPDシステム850の性能に対応する。
【0111】
図16Aから
図16Dの図示した例に示すように、対角ブロックサンプリング行列D
radeblkまたはD
randblkを使用することにより、DPDシステムの性能が改善される。さらに、対角ブロックサンプリング行列D
radeblkの対角ブロック幅Rを大きくすることにより、DPDシステムの性能が向上する。加えて、曲線1610Aから1610Cおよび曲線1612Aから1612Cで示すように、同じ対角ブロック幅Rを有するサンプリング行列D
radeblkおよびD
randblkを使用するDPDシステム850の性能の間に有意差はない。したがって、サンプリング行列D
radeblkを使用すると実装が大幅に簡素化されるので、DPDシステムのサンプリング行列D
radeblkにわたってサンプリング行列D
radeblkを選択することができる。
【0112】
図2~
図16Dに示す様々な構成(例えば、R、M、L、P、Q、ADCサンプリングレートf
s、サンプリング行列D、未知のシステム、未知のシステムのモデル)は例示にすぎず、添付の特許請求の範囲に具体的に列挙されているものを超えて限定することを意図していないことに留意されたい。当業者であれば、他の構成を使用できることを理解するであろう。様々な例では、DPDシステムの構成(例えば、RおよびM)を使用して、DPDシステムの所望の性能を達成することができる。
【0113】
本開示の様々な用途には様々な利点が存在し得る。すべての実施形態に特定の利点は必要なく、異なる実施形態は異なる利点を提供してもよい。いくつかの実施形態の利点の1つは、ADCのサンプリングレートでサンプルを得た後にデータを事前圧縮することにより、ADCの出力データレートが低減することである。例えば、ADCはRサンプルを累積して累積サンプルを生成し、ADCのサンプリングレートよりR倍低いレートで累積サンプルを出力する。いくつかの実施形態の別の利点は、未知のシステムのモデルに基づいて選択されたサンプリング行列を使用することにより、DPDシステムが性能(例えば、NMSE、ACPR)の劣化なしにモデル識別のためにより少数の測定を使用できることである。そのため、適切なサンプリング行列を使用することにより、モデルの識別とプリディストーションプロセスの計算効率が向上する。いくつかの実施形態のさらに別の利点は、サンプリング行列を使用することにより、(例えば、Rと測定数Mで対角ブロックを調整することにより)DPDシステムが識別時間とより良いデータレート、精度、および計算性能と、ならびにそれらの逆をトレードオフする柔軟性を提供することである。
【0114】
特定の実施形態が示され、説明されたが、請求された発明を好ましい実施形態に限定することを意図するものではないことが理解されよう。また、特許請求の範囲に記載された発明の趣旨および範囲から逸脱することなく、様々な変更および修正を行うことができることが当業者には明らかであろう。したがって、明細書と図面は、限定的な意味ではなく、例示的な意味で考慮されるべきである。特許請求された発明は、代替例、修正例、および均等例を網羅することを意図している。