DPD Coefficient Estimator
デジタル プリディストーションに用いるメモリ多項式の係数の推定

ライブラリ:
Communications Toolbox /
RF Impairments Correction
説明
パワー アンプのベースバンド等価入力とベースバンド等価出力が指定されると、非線形パワー アンプのデジタル プリディストーション (DPD) に用いるメモリ多項式の係数を推定します。詳細については、デジタル プリディストーションと推定器の多項式の次数とメモリ深さの最適化を参照してください。
このアイコンには、利用可能なすべての端子を使用したブロックが表示されています。
例
デジタル プリディストーション (DPD) をランダムなシンボルの 16 QAM 信号に適用します。DPD Coefficient Estimatorブロックは、パワー アンプ (PA) の入出力信号を含む取得した信号を使用して、プリディストーション係数行列を決定します。信号の前提条件のデジタル プリディストーションとは、PA による劣化を補正することです。このモデルには、PA を示すブロックは含まれません。
PreLoadFcn
コールバックはモデル パラメーターを初期化し、ワークスペース変数 PA_Input
と PA_Output
をファイル commpowamp_dpd_data.mat
から読み込みます。詳細については、モデル コールバック (Simulink)を参照してください。
変数 PA_Input
と PA_Output
は PA の入出力で取得したベースバンド等価信号です。PA_Input
と PA_Output
は、DPD Coefficient Estimator ブロックによって使用され、メモリ多項式の係数を推定します。メモリ多項式の係数は PA 入力信号をプリディストーションするためにDPDブロックに入力されます。
モデルの入力信号パスは、ランダム シンボル ストリームを生成し、16-QAM 変調を適用してから、変調された信号にフィルター処理するレイズド コサイン送信を適用します。
入力信号は、DPD Coefficient Estimator ブロックに生成されたメモリ多項式の係数を使用して DPD ブロックにデジタルでプリディストーションされます。DPD ブロックは、歪んだ PA 出力信号を作成した PA にプリディストーションされた入力信号を返します。
端子
入力
パワー アンプのベースバンド等価入力。列ベクトルとして指定します。
データ型: double
複素数のサポート: あり
パワー アンプのベースバンド等価出力。PA In と同じ長さの列ベクトルとして指定します。
データ型: double
複素数のサポート: あり
出力
メモリ多項式の係数。行列として返されます。詳細については、デジタル プリディストーションを参照してください。
この端子はブロックで名前なしになります。
パラメーター
ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。
dB 単位の目的の振幅ゲイン。スカラーとして指定します。このパラメーター値は、補正された増幅器出力での目的の信号ゲインを表します。
DPD では、線形化に加えて、DPD 入力からパワー アンプ出力までの総合ゲインをできる限り想定ゲインに近づける必要があります。したがって、このパラメーターは、PA 特徴付けの際に取得したパワー アンプの想定ゲインに基づいて設定されます。
調整可能: Yes
プリディストーションに使用される多項式タイプ。以下のいずれかの値として指定します。
Memory polynomial
— 交差項のないメモリ多項式を使用してプリディストーション係数を計算します。Cross-term memory polynomial
— 交差項のあるメモリ多項式を使用してプリディストーション係数を計算します。
詳細については、デジタル プリディストーションを参照してください。
メモリ多項式の次数。正の整数として指定します。
サンプル単位のメモリ多項式の深さ。正の整数として指定します。
再帰的最小二乗アルゴリズムの係数の初期推定値。実数値または複素数値から成る行列として指定します。
この値を空行列として指定した場合、再帰的最小二乗アルゴリズムの係数の初期推定値は、恒等関数であるメモリ多項式に対応するように自動的に選択されるため、出力は入力と等しくなります。
この値を空でない行列として指定した場合、行数は [メモリ深さ] パラメーター値と等しくなければなりません。
詳細については、デジタル プリディストーションを参照してください。
依存関係
このパラメーターを有効にするには、[Algorithm] を Recursive least squares
に設定します。
実行するシミュレーションのタイプ。[コード生成]
または [インタープリター型実行]
として指定します。
コード生成
— 生成された 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 Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)