メインコンテンツ

DPD

デジタル プリディストーター

  • DPD block

ライブラリ:
Communications Toolbox / RF Impairments Correction

説明

メモリ多項式を使用して複素ベースバンド信号にデジタル プリディストーション (DPD) を適用し、パワー アンプの非線形性を補正します。詳細については、デジタル プリディストーション推定器の多項式の次数とメモリ深さの最適化を参照してください。

このアイコンには、利用可能なすべての端子を使用したブロックが表示されています。

すべて展開する

デジタル プリディストーション (DPD) をランダムなシンボルの 16 QAM 信号に適用します。DPD Coefficient Estimatorブロックは、パワー アンプ (PA) の入出力信号を含む取得した信号を使用して、プリディストーション係数行列を決定します。信号の前提条件のデジタル プリディストーションとは、PA による劣化を補正することです。このモデルには、PA を示すブロックは含まれません。

PreLoadFcn コールバックはモデル パラメーターを初期化し、ワークスペース変数 PA_InputPA_Output をファイル commpowamp_dpd_data.mat から読み込みます。詳細については、モデル コールバック (Simulink)を参照してください。

変数 PA_InputPA_Output は PA の入出力で取得したベースバンド等価信号です。PA_InputPA_Output は、DPD Coefficient Estimator ブロックによって使用され、メモリ多項式の係数を推定します。メモリ多項式の係数は PA 入力信号をプリディストーションするためにDPDブロックに入力されます。

モデルの入力信号パスは、ランダム シンボル ストリームを生成し、16-QAM 変調を適用してから、変調された信号にフィルター処理するレイズド コサイン送信を適用します。

入力信号は、DPD Coefficient Estimator ブロックに生成されたメモリ多項式の係数を使用して DPD ブロックにデジタルでプリディストーションされます。DPD ブロックは、歪んだ PA 出力信号を作成した PA にプリディストーションされた入力信号を返します。

端子

入力

すべて展開する

入力ベースバンド信号。列ベクトルとして指定します。この端子は [Coefficient source] パラメーターを [Input port] に設定するまで、名前は付きません。

データ型: double
複素数のサポート: あり

メモリ多項式の係数。行列として指定します。行列の行数は、メモリ多項式のメモリの深さと等しくなければなりません。

  • [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
複素数のサポート: あり

出力

すべて展開する

プリディストーションされたベースバンド信号。入力信号と同じ長さの列ベクトルとして返されます。

パラメーター

すべて展開する

ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。

プリディストーションに使用される多項式タイプ。以下のいずれかの値として指定します。

  • Memory polynomial — 交差項のないメモリ多項式を使用してプリディストーション係数を計算します。

  • Cross-term memory polynomial — 交差項のあるメモリ多項式を使用してプリディストーション係数を計算します。

詳細については、デジタル プリディストーションを参照してください。

メモリ多項式の係数のソース。以下のいずれかの値として指定します。

  • Property[Coefficients] パラメーターを使用してメモリ多項式の係数を定義するには、この値を指定します。

  • Input port[Coef] 入力端子を使用してメモリ多項式の係数を定義するには、この値を指定します。

メモリ多項式の係数。行列として指定します。行数は、メモリ多項式のメモリの深さと等しくなければなりません。

  • [Polynomial type]Memory polynomial に設定した場合、列数はメモリ多項式の次数です。

  • [Polynomial type]Cross-term memory polynomial に設定した場合、列数は m(n-1)+1 と等しくなければなりません。m は多項式のメモリの深さ、n はメモリ多項式の次数です。

詳細については、デジタル プリディストーションを参照してください。

依存関係

このパラメーターを有効にするには、[Coefficient source]Property に設定します。

実行するシミュレーションのタイプ。[コード生成] または [インタープリター型実行] として指定します。

  • コード生成 — 生成された C コードを使用してモデルをシミュレートします。シミュレーションの初回実行時、Simulink は対象ブロックの C コードを生成します。このモデルは、モデルが変更されない限り以降のシミュレーションで C コードを再利用します。このオプションを使用すると、シミュレーションの起動時間は長くなりますが、以降のシミュレーションの速度は [インタープリター型実行] オプションを使用した場合よりも速くなります。

  • インタープリター型実行 — MATLAB® インタープリターを使用してモデルをシミュレートします。このオプションを使用すると、起動時間が短縮されますが、以降のシミュレーションの速度は [コード生成] オプションを使用した場合よりも遅くなります。このモードで、ブロックのソース コードをデバッグできます。

詳細については、インタープリター型実行とコード生成 (Simulink)を参照してください。

ブロックの特性

データ型

double | single

多次元信号

なし

可変サイズの信号

あり

アルゴリズム

すべて展開する

参照

[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 で導入