このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
DPD

ライブラリ:
Communications Toolbox /
RF Impairments Correction
説明
メモリ多項式を使用して複素ベースバンド信号にデジタル プリディストーション (DPD) を適用し、パワー アンプの非線形性を補正します。詳細については、デジタル プリディストーションを参照してください。
このアイコンには、利用可能なすべての端子を使用したブロックが表示されています。
例
端子
入力
In — 入力ベースバンド信号
列ベクトル
入力ベースバンド信号。列ベクトルとして指定します。この端子は [Coefficient source] パラメーターを [Input port]
に設定するまで、名前は付きません。
データ型: double
複素数のサポート: あり
Coef — メモリ多項式の係数
行列
メモリ多項式の係数。行列として指定します。行列の行数は、メモリ多項式のメモリの深さと等しくなければなりません。
[Polynomial type] パラメーターを
Memory polynomial
に設定した場合、行列の列数はメモリ多項式の次数です。[Polynomial type] を
Cross-term memory polynomial
に設定した場合、行列の列数は m(n-1)+1 と等しくなければなりません。m は多項式のメモリの深さ、n はメモリ多項式の次数です。
例: complex([1 0 0 0 0; 0 0 0 0 0; 0 0 0 0 0])
依存関係
この端子を有効にするには、[Coefficient source] パラメーターを Input port
に設定します。
データ型: double
複素数のサポート: あり
出力
Out — プリディストーションされたベースバンド信号
列ベクトル
プリディストーションされたベースバンド信号。入力信号と同じ長さの列ベクトルとして返されます。
パラメーター
Polynomial type — 多項式タイプ
Memory polynomial
(既定値) | Cross-term memory polynomial
プリディストーションに使用される多項式タイプ。以下のいずれかの値として指定します。
Memory polynomial
— 交差項のないメモリ多項式を使用してプリディストーション係数を計算します。Cross-term memory polynomial
— 交差項のあるメモリ多項式を使用してプリディストーション係数を計算します。
詳細については、デジタル プリディストーションを参照してください。
Coefficient source — メモリ多項式の係数のソース
Property
(既定値) | 入力端子
メモリ多項式の係数のソース。以下のいずれかの値として指定します。
Property
— [Coefficients] パラメーターを使用してメモリ多項式の係数を定義するには、この値を指定します。Input port
— [Coef] 入力端子を使用してメモリ多項式の係数を定義するには、この値を指定します。
Coefficients — メモリ多項式の係数
complex([1 0 0 0 0; 0 0 0 0 0; 0 0 0 0 0])
(既定値) | 行列
メモリ多項式の係数。行列として指定します。行数は、メモリ多項式のメモリの深さと等しくなければなりません。
[Polynomial type] を
Memory polynomial
に設定した場合、列数はメモリ多項式の次数です。[Polynomial type] を
Cross-term memory polynomial
に設定した場合、列数は m(n-1)+1 と等しくなければなりません。m は多項式のメモリの深さ、n はメモリ多項式の次数です。
詳細については、デジタル プリディストーションを参照してください。
依存関係
このパラメーターを有効にするには、[Coefficient source] を Property
に設定します。
データ型: double
複素数のサポート: あり
Simulate using — 実行するシミュレーションのタイプ
コード生成
(既定値) | インタープリター型実行
実行するシミュレーションのタイプ。[コード生成]
または [インタープリター型実行]
として指定します。
コード生成
— 生成された C コードを使用してモデルをシミュレートします。シミュレーションの初回実行時、Simulink® は対象ブロックの C コードを生成します。この C コードは、モデルが変更されない限り以降のシミュレーションで再利用されます。このオプションを使用すると、シミュレーションの起動時間は長くなりますが、以降のシミュレーションの速度は[インタープリター型実行]
よりも速くなります。インタープリター型実行
— MATLAB® インタープリターを使用してモデルをシミュレートします。このオプションを使用すると、[コード生成]
オプションよりも必要な起動時間が短縮されますが、以降のシミュレーションの速度が遅くなります。このモードで、ブロックのソース コードをデバッグできます。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
詳細
デジタル プリディストーション
無線通信の伝送では、一般的に、広い信号ダイナミック レンジにわたる広い帯域幅の信号伝送が必要となります。広いダイナミック レンジにわたって信号を送信し、高い効率を実現するために、一般的に 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] 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)