DPD Coefficient Estimator
デジタル プリディストーションに用いるメモリ多項式の係数の推定
ライブラリ:
Communications Toolbox /
RF Impairments Correction
説明
パワー アンプのベースバンド等価入力とベースバンド等価出力が指定されると、非線形パワー アンプのデジタル プリディストーション (DPD) に用いるメモリ多項式の係数を推定します。詳細については、デジタル プリディストーションと推定器の多項式の次数とメモリ深さの最適化を参照してください。
このアイコンには、利用可能なすべての端子を使用したブロックが表示されています。
例
端子
入力
PA In — パワー アンプのベースバンド等価入力
列ベクトル
パワー アンプのベースバンド等価入力。列ベクトルとして指定します。
データ型: double
複素数のサポート: あり
PA Out — パワー アンプのベースバンド等価出力
列ベクトル
パワー アンプのベースバンド等価出力。[PA In] と同じ長さの列ベクトルとして指定します。
データ型: double
複素数のサポート: あり
Forgetting Factor — 忘却係数
範囲 (0, 1] のスカラー
再帰的最小二乗アルゴリズムで使用される忘却係数。範囲 (0, 1] のスカラーとして指定します。忘却係数を小さくすると、収束時間が短縮されますが、出力推定の安定性が低下します。
依存関係
この端子を有効にするには、[Algorithm] を Recursive least squares
に設定して、[Forgetting factor source] を [Input port]
に設定します。
データ型: double
出力
Out — メモリ多項式の係数
行列
メモリ多項式の係数。行列として返されます。詳細については、デジタル プリディストーションを参照してください。
パラメーター
Desired amplitude gain (dB) — 目的の振幅ゲイン
10
(既定値) | スカラー
dB 単位の目的の振幅ゲイン。スカラーとして指定します。このパラメーター値は、補正された増幅器出力での目的の信号ゲインを表します。
DPD では、線形化に加えて、DPD 入力からパワー アンプ出力までの総合ゲインをできる限り想定ゲインに近づける必要があります。したがって、このパラメーターは、PA 特徴付けの際に取得したパワー アンプの想定ゲインに基づいて設定されます。
調整可能: Yes
Polynomial type — 多項式タイプ
Memory polynomial
(既定値) | Cross-term memory polynomial
プリディストーションに使用される多項式タイプ。以下のいずれかの値として指定します。
Memory polynomial
— 交差項のないメモリ多項式を使用してプリディストーション係数を計算します。Cross-term memory polynomial
— 交差項のあるメモリ多項式を使用してプリディストーション係数を計算します。
詳細については、デジタル プリディストーションを参照してください。
Degree — メモリ多項式の次数
5
(既定値) | 正の整数
メモリ多項式の次数。正の整数として指定します。
Memory depth — メモリ多項式の深さ
3
(既定値) | 正の整数
サンプル単位のメモリ多項式の深さ。正の整数として指定します。
Forgetting factor source — 忘却係数のソース
Property
(既定値) | 入力端子
忘却係数のソース。以下のいずれかの値として指定します。
Property
— [Forgetting factor] パラメーターを使用して忘却係数を指定するには、この値を指定します。Input port
— [Forgetting Factor] 入力端子を使用して忘却係数を指定するには、この値を指定します。
依存関係
このパラメーターを有効にするには、[Algorithm] を Recursive least squares
に設定します。
忘却係数 — 忘却係数
0.99
(既定値) | 範囲 (0, 1] のスカラー
再帰的最小二乗アルゴリズムで使用される忘却係数。範囲 (0, 1] のスカラーとして指定します。忘却係数を小さくすると、収束時間が短縮されますが、出力推定の安定性が低下します。
依存関係
このパラメーターを有効にするには、[Algorithm] を Recursive least squares
に設定して、[Forgetting factor source] を [Property]
に設定します。
Initial coefficient estimate — 係数の初期推定値
[]
(既定値) | 行列
再帰的最小二乗アルゴリズムの係数の初期推定値。実数値または複素数値から成る行列として指定します。
この値を空行列として指定した場合、再帰的最小二乗アルゴリズムの係数の初期推定値は、恒等関数であるメモリ多項式に対応するように自動的に選択されるため、出力は入力と等しくなります。
この値を空でない行列として指定した場合、行数は [Memory depth] パラメーター値と等しくなければなりません。
[Polynomial type] パラメーターを
Memory polynomial
に設定した場合、列数はメモリ多項式の次数です。[Polynomial type] パラメーターを
Cross-term memory polynomial
に設定した場合、列数は m(n-1)+1 と等しくなければなりません。m は多項式のメモリの深さ、n はメモリ多項式の次数です。
詳細については、デジタル プリディストーションを参照してください。
依存関係
このパラメーターを有効にするには、[Algorithm] を Recursive least squares
に設定します。
Simulate using — 実行するシミュレーションのタイプ
コード生成
(既定値) | インタープリター型実行
実行するシミュレーションのタイプ。[コード生成]
または [インタープリター型実行]
として指定します。
コード生成
— 生成された C コードを使用してモデルをシミュレートします。シミュレーションの初回実行時、Simulink® は対象ブロックの C コードを生成します。このモデルは、モデルが変更されない限り以降のシミュレーションで C コードを再利用します。このオプションを使用すると、シミュレーションの起動時間は長くなりますが、以降のシミュレーションの速度は[インタープリター型実行]
オプションを使用した場合よりも速くなります。インタープリター型実行
— MATLAB® インタープリターを使用してモデルをシミュレートします。このオプションを使用すると、起動時間が短縮されますが、以降のシミュレーションの速度は[コード生成]
オプションを使用した場合よりも遅くなります。このモードで、ブロックのソース コードをデバッグできます。
詳細については、シミュレーション モード (Simulink)を参照してください。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
アルゴリズム
デジタル プリディストーション
無線通信の伝送では、一般的に、広い信号ダイナミック レンジにわたる広い帯域幅の信号伝送が必要となります。広いダイナミック レンジにわたって信号を送信し、高い効率を実現するために、一般的に RF パワー アンプ (PA) が非線形領域で運用されます。このコンスタレーション ダイアグラムが示すように、PA の非線形動作が信号コンスタレーションの歪みを引き起こして、振幅が縮小し (AM-AM 歪み)、コンスタレーション点の振幅に比例してコンスタレーション点の位相がねじれます (AM-PM 歪み)。
デジタル プリディストーションの目的は、PA の動作範囲全体における、PA 出力での PA の非線形動作の正味の影響を線形化する非線形関数を見つけることです。PA 入力が x(n) の場合、プリディストーション関数は f(u(n)) です。ここで、u(n) は増幅される実際の信号です。PA 出力は G×u(n) にほぼ等しくなります。ここで、G は PA の目的の振幅ゲインです。
デジタル プリディストーターは、交差項のあるメモリ多項式または交差項のないメモリ多項式を使用するように構成できます。
交差項のあるメモリ多項式は、入力信号を次のようにプリディストーションします。
交差項のあるメモリ多項式には、cm および amjk に対して (M+M×M×(K-1)) 個の係数があります。
交差項のないメモリ多項式は、入力信号を次のようにプリディストーションします。
交差項のない多項式には、amk に対して M×K 個の係数があります。
プリディストーション関数と係数の推定
DPD 係数推定は、間接学習アーキテクチャを使用して、PA 入力に先行する入力信号 u(n) をプリディストーションするための関数 f(u(n)) を求めます。
DPD 係数推定アルゴリズムは、Volterra システム用に開発された理論的基礎を使用して、Morgan ら [1] および Schetzen [2] による参考文献での研究に基づいて、非線形 PA メモリの影響をモデル化します。
具体的には、PA ゲインにより正規化された PA 出力 ({y(n)/G}) から PA 入力 ({x(n)}) への逆マッピングにより、{u(n)} をプリディストーションして {x(n)} を生成するために必要な関数 f(u(n)) への適切な近似が得られます。
上記のメモリ多項方程式に関して、メモリ多項式の係数の推定値が計算されます。
交差項のあるメモリ多項式の場合は cm および amjk
交差項のないメモリ多項式の場合は amk
メモリ多項式の係数は、最小二乗近似アルゴリズムまたは再帰的最小二乗アルゴリズムを使用して推定されます。最小二乗近似アルゴリズムまたは再帰的最小二乗アルゴリズムは、交差項のあるメモリ多項式または交差項のないメモリ多項式用の上記のメモリ多項方程式で、{u(n)} を {y(n)/G} に置き換えて使用します。関数の次数と係数行列の次元は、メモリ多項式の次数と深さによって定義されます。
メモリ多項式の係数を正確に推定して、PA 入力信号をプリディストーションするプロセスの詳細を示す例については、パワー アンプの非線形性を補正するデジタル プリディストーションを参照してください。
推定器の多項式の次数とメモリ深さの最適化
[1]に基づく DPD 係数推定器は、ある特定の間接学習アーキテクチャを提供しますが、最適な推定器であるとは限りません。直接学習アーキテクチャを使用する推定器など、その他の推定器は、より優れた DPD の結果を出す可能性があります。
間接学習アーキテクチャを使用する係数推定器の場合、DPD 係数推定器の最適な次数とメモリ深さの選択は、手動による反復的プロセスで行います。DPD の結果を比較するため、まず、PA モデルと同じ次数とメモリ深さをもつ DPD 係数推定器を使用することを検討します。結果が良好に思われる場合は、DPD 係数推定器の次数とメモリ深さを減らすことを試みます。DPD の結果が概ね同じかそれより良好である場合は、計算量を少なくするために DPD 係数推定器の次数とメモリ深さを減らすことを検討します。PA モデルの次数とメモリ深さよりも大きな次数とメモリ深さでも実験する必要があります。DPD のパフォーマンスが改善される場合は、DPD 係数推定器でより大きな次数またはメモリ深さを使用する方が望ましいです。
推定器で使用する多項式次数にかかわらず、非線形性によるエイリアシングを防ぐため、DPD 入力信号の帯域幅を制御しなければなりません。一般に、DPD 入力信号に対し、DPD メモリ多項式の次数以上のオーバーサンプリング比を設定します。
参照
[1] Morgan, Dennis R., Zhengxiang Ma, Jaehyeong Kim, Michael G. Zierdt, and John Pastalan. "A Generalized Memory Polynomial Model for Digital Predistortion of Power Amplifiers." IEEE® Transactions on Signal Processing. Vol. 54, Number 10, October 2006, pp. 3852–3860.
[2] M. Schetzen. The Volterra and Wiener Theories of Nonlinear Systems. New York: Wiley, 1980.
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2019a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)