最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Decision Feedback Equalizer

判定フィードバック フィルター処理を使用した変調信号のイコライズ

  • ライブラリ:
  • Communications Toolbox / Equalizers

説明

Decision Feedback Equalizer ブロックは、重み付き和をもつ判定フィードバック フィルター タップ付き遅延線を使用して、分散チャネルを介して送信される変調信号をイコライズします。有限入力応答 (FIR) フィルターとしてモデル化されたチャネルの推定を使用して、このブロックは入力フレームを処理し、推定信号を出力します。

このアイコンは、LMS または RLS 適応アルゴリズムを使用する構成に対してすべての端子が有効になっているブロックを示しています。

このアイコンは、CMA 適応アルゴリズムを使用する構成に対してすべての端子が有効になっているブロックを示しています。

端子

入力

すべて展開する

入力信号。列ベクトルで指定します。[in] のベクトル長は、[Number of input samples per symbol] パラメーターの整数倍でなければなりません。詳細については、シンボル タップ間隔を参照してください。

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

トレーニング シンボル。列ベクトルとして指定します。[Desired] のベクトル長は、入力 [in] の長さ以下でなければなりません。[Train] 入力端子が 0 の場合、[Desired] 入力端子は無視されます。

依存関係

この端子を有効にするには、[Adaptive algorithm] パラメーターを LMS または RLS に設定します。

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

イコライザーの学習フラグ。1 または 0 として指定します。(立ち上がりエッジで) この値が 0 から 1 に変化すると、ブロックが学習を開始します。ブロックは、[Desired] 入力端子のすべてのシンボルが処理されるまで学習を続けます。

依存関係

この端子を有効にするには、[Adaptive algorithm] パラメーターを LMS または RLS に設定して、[Enable training control input] パラメーターを選択します。

データ型: boolean

タップ重みの更新フラグ。1 または 0 として指定します。この値が 1 になるとタップ重みが更新されます。

依存関係

この端子を有効にするには、[Adaptive algorithm] パラメーターを CMA に設定して、[Source of adapt weights flag] パラメーターを Input port に設定します。

データ型: boolean

イコライザーのリセット フラグ。1 または 0 として指定します。[Reset]1 に設定されると、ブロックが入力信号を処理する前にタップ重みをリセットします。ブロックは、[Desired] 入力端子のすべてのシンボルが処理されるまで初期学習を実行します。

依存関係

この端子を有効にするには、[Enable reset input] パラメーターを選択します。

データ型: boolean

出力

すべて展開する

イコライズされたシンボル。入力信号 [in] と同じ長さの列ベクトルとして返されます。

[Output error signal] または [Output taps weights] パラメーターを選択するまで、この端子は名前なしになります。

誤差信号。入力信号 [in] と同じ長さの列ベクトルとして返されます。

タップ重み。NTaps 行 1 列のベクトルとして返されます。ここで、NTaps[Number of forward taps] および [Number of feedback taps] パラメーター値の和と同じ値です。[w] には最新のタップ重みの更新からのタップ重みが含まれます。

パラメーター

すべて展開する

構造体パラメーター

フォワード イコライザーのタップ数。正の整数として指定します。

フィードバック イコライザーのタップ数。正の整数として指定します。

コンスタレーション。ベクトルとして指定します。既定値は、次のコードを使用して生成された QPSK コンスタレーションです: pskmod(0:3,4,pi/4)

調整可能: Yes

シンボルごとの入力サンプル数。正の整数として指定します。このパラメーターを 1 より大きい数値に設定すると、分数間隔イコライザーが効率的に作成されます。詳細については、シンボル タップ間隔を参照してください。

アルゴリズム パラメーター

イコライズに使用される適応アルゴリズム。以下のいずれかの値として指定します。

適応アルゴリズムで使用されるステップ サイズ。正のスカラーとして指定します。ステップ サイズを大きくすると、イコライザーの収束時間が短縮されますが、イコライザーの出力推定の安定性が低下します。

調整可能: Yes

依存関係

このパラメーターを有効にするには、[Adaptive algorithm]LMS または CMA に設定します。

適応アルゴリズムで使用される忘却係数。範囲 (0, 1] のスカラーとして指定します。忘却係数を小さくすると、イコライザーの収束時間が短縮されますが、イコライザーの出力推定の安定性が低下します。

調整可能: Yes

依存関係

このパラメーターを有効にするには、[Adaptive algorithm]RLS に設定します。

初期逆相関行列。スカラーまたは NTaps 行 NTaps 列の行列として指定します。NTaps は、[Number of forward taps] および [Number of feedback taps] パラメーター値の和と同じ値です。この値をスカラー a として指定した場合、イコライザーは初期逆相関行列を、単位行列を a 倍した a(eye(NTaps)) に設定します。

調整可能: Yes

依存関係

このパラメーターを有効にするには、[Adaptive algorithm]RLS に設定します。

制御パラメーター

リファレンス タップ。[Number of forward taps] パラメーター値以下の正の整数として指定します。イコライザーは、リファレンス タップ位置を使用してチャネルのメイン エネルギーを追跡します。

イコライザーのリセット時間に関連するサンプル単位の入力信号遅延。非負の整数として指定します。入力信号が 1 よりも大きい長さのベクトルの場合、入力遅延は入力ベクトルの始点に相対します。入力信号がスカラーの場合、入力遅延はブロックの最初の呼び出しと、[Reset] 入力端子が 1 に切り替わった後のブロックの最初の呼び出しに相対します。

依存関係

このパラメーターを有効にするには、[Adaptive algorithm]LMS または RLS に設定します。

タップ重みの適応要求のソース。以下のいずれかの値として指定します。

  • Property — ブロックがタップ重みをいつ適応させるかを制御するために [Adaptive algorithm] パラメーターを使用するには、この値を指定します。

  • Input port — ブロックがタップ重みをいつ適応させるかを制御するために [Update] 入力端子を使用するには、この値を指定します。

依存関係

このパラメーターを有効にするには、[Adaptive algorithm]CMA に設定します。

イコライザーのタップ重みを適応的に更新するには、このパラメーターを選択します。このパラメーターがオフになっている場合、ブロックはイコライザーのタップ重みを変更せずに維持します。

調整可能: Yes

依存関係

このパラメーターを有効にするには、[Adaptive algorithm]CMA に設定して、[Source of adapt weights flag][Property] に設定します。

初期タップ重みのソース。以下のいずれかの値として指定します。

  • [Auto][Initial weights] パラメーターで説明されているように、タップ重みをアルゴリズム固有の既定値に初期化します。

  • [Property][Initial weights] パラメーター値を使用してタップ重みを初期化します。

適応アルゴリズムで使用される初期タップ重み。スカラーまたは NTaps 行 1 列のベクトルとして指定します。NTaps は、[Number of forward taps] および [Number of feedback taps] パラメーター値の和と同じ値です。[Adaptive algorithm] パラメーターが LMS または RLS に設定されている場合、既定は 0 です。[Adaptive algorithm] パラメーターが CMA に設定されている場合、既定は [0;0;1;0;0] です。

[Initial weights] をベクトルとして指定する場合、ベクトル長は NTaps でなければなりません。[Initial weights] をスカラーとして指定した場合、イコライザーはスカラー拡張を使用して、すべての値が [Initial weights] に設定された長さ NTaps のベクトルを作成します。

調整可能: Yes

依存関係

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

シンボル単位のタップ重みの更新周期。正の整数として指定します。イコライザーは、この数のシンボルを処理した後にタップ重みを更新します。

入力端子 [Train] を有効にするには、このパラメーターを選択します。このパラメーターがオフになっている場合、ブロックは初期タップ学習の後にトレーニング モードを再度開始しません。

調整可能: Yes

依存関係

このパラメーターを有効にするには、[Adaptive algorithm]LMS または RLS に設定します。

判定指向モードを使用してイコライザーのタップ重みを更新するには、このパラメーターを選択します。このパラメーターがオフになっている場合、ブロックは学習後にイコライザーのタップ重みを変更せずに維持します。

調整可能: Yes

依存関係

このパラメーターを有効にするには、[Adaptive algorithm]LMS または RLS に設定します。

入力端子 [Train] を有効にするには、このパラメーターを選択します。このパラメーターがオフになっている場合、ブロックは初期タップ学習の後にトレーニング モードを再度開始しません。

調整可能: Yes

診断パラメーター

イコライザーの誤差信号を含む出力端子 [Err] を有効にするには、このパラメーターを選択します。

調整可能: Yes

最新のタップ重みの更新からのタップ重みを含む出力端子 [w] を有効にするには、このパラメーターを選択します。

調整可能: Yes

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

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

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

ブロックの特性

データ型

double | single

多次元信号

no

可変サイズの信号

yes

詳細

すべて展開する

アルゴリズム

すべて展開する

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

R2019a で導入