メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Linear Equalizer

線形フィルターを使用した変調信号のイコライズ

  • Linear Equalizer block

ライブラリ:
Communications Toolbox / Equalizers

説明

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

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

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

すべて展開する

最小平均二乗 (LMS) アルゴリズムを使用した線形イコライズを適用して、AWGN チャネル経由で渡した QPSK シンボルを復元します。

slex_lineq_qpsk_signal モデルは Random Integer Generator ブロックを使用して M=4 シーケンスを生成します。シーケンスは、M-PSK Modulator Baseband ブロックで変調され、Discrete FIR Filter ブロックでフィルター処理されて、AWGN ブロックで劣化します。Linear Equalizer ブロックはデータ シーケンスをイコライズし、データは M-PSK Demodulator Baseband ブロックで復調されて、ビット エラー レートが計算されます。変調器からの信号パスは、Selector ブロックに分割されます。これにより、変調信号の最初の 1000 シンボルが初期トレーニング シーケンスとしてイコライザーに提供されます。

最大タップ値が Discrete FIR Filter の最初のタップであり、イコライザー リファレンス タップが 1 であるため、送信信号と受信信号間での遅延は発生しません。イコライザーは 1000 シンボルあたりから収束します。そのため、この値は Error Rate Calculation ブロックの計算遅延に使用されます。

計算されたエラー レートが表示され、プロットにはイコライズされたコンスタレーション、イコライズされたタップ重み、および信号エラーの大きさが表示されます。

Computed error rate = 0.0021111

拡張例

端子

入力

すべて展開する

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

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

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

依存関係

この端子を有効にするには、[適応アルゴリズム] パラメーターを LMS または RLS に設定します。

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

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

依存関係

この端子を有効にするには、[適応アルゴリズム] パラメーターを [LMS] または [RLS] に設定して、[学習制御入力の有効化] パラメーターを選択します。

データ型: Boolean

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

依存関係

この端子を有効にするには、[適応アルゴリズム] パラメーターを [CMA] に設定して、[重み適応フラグのソース] パラメーターを [入力端子] に設定します。

データ型: Boolean

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

依存関係

この端子を有効にするには、[リセット入力を有効にする] パラメーターを選択します。

データ型: Boolean

出力

すべて展開する

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

[誤差信号の出力] パラメーターまたは [タップ重みの出力] パラメーターを選択するまで、この端子は名前なしになります。

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

依存関係

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

タップ重み。NTaps 行 1 列のベクトルとして返されます。ここで、NTaps[タップ数] パラメーターの値です。w には最新のタップ重みの更新からのタップ重みが含まれます。

依存関係

この端子を有効にするには、[タップ重みの出力] パラメーターを選択します。

パラメーター

すべて展開する

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

構造体パラメーター

イコライザーのタップ数。正の整数として指定します。イコライザーのタップ数は、[シンボルあたりの入力サンプル数] パラメーターの値以上でなければなりません。

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

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

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

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

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

調整可能: Yes

依存関係

このパラメーターを有効にするには、[適応アルゴリズム][LMS] または [CMA] に設定します。

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

調整可能: Yes

依存関係

このパラメーターを有効にするには、[適応アルゴリズム][RLS] に設定します。

初期逆相関行列。スカラーまたは NTapsNTaps 列の行列として指定します。NTaps[タップ数] パラメーターの値と等しくなります。この値をスカラー a として指定した場合、イコライザーは初期逆相関行列を、単位行列を a 倍した a(eye(NTaps)) に設定します。

依存関係

このパラメーターを有効にするには、[適応アルゴリズム][RLS] に設定します。

制御パラメーター

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

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

依存関係

このパラメーターを有効にするには、[適応アルゴリズム][LMS] または [RLS] に設定します。

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

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

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

依存関係

このパラメーターを有効にするには、[適応アルゴリズム]CMA に設定します。

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

依存関係

このパラメーターを有効にするには、[適応アルゴリズム]CMA に設定して、[重み適応フラグのソース][プロパティ] に設定します。

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

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

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

適応アルゴリズムで使用される初期タップ重み。スカラーまたは NTaps 行 1 列のベクトルとして指定します。NTaps[タップ数] パラメーターの値と等しくなります。[適応アルゴリズム] パラメーターが LMS または RLS に設定されている場合、既定は 0 です。[適応アルゴリズム] パラメーターが CMA に設定されている場合、既定は [0;0;1;0;0] です。

[初期重み] をベクトルとして指定した場合、ベクトルの長さは [タップ数] パラメーター値と等しくなければなりません。[初期重み] をスカラーとして指定した場合、イコライザーはスカラー拡張を使用して、[タップ数] ですべての値が [初期重み] に設定された長さのベクトルを作成します。

依存関係

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

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

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

依存関係

このパラメーターを有効にするには、[適応アルゴリズム]LMS または RLS に設定します。

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

依存関係

このパラメーターを有効にするには、[適応アルゴリズム][LMS] または [RLS] に設定します。

入力端子 Reset を有効にするには、このパラメーターを選択します。このパラメーターがオフになっている場合、ブロックは入力信号を処理する前にタップ重みをリセットしません。

[情報] を選択すると、適用された設定の線形イコライザーの情報が表示されます。

診断パラメーター

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

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

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

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

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

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

ブロックの特性

データ型

double | single

多次元信号

なし

可変サイズの信号

あり

詳細

すべて展開する

アルゴリズム

すべて展開する

拡張機能

すべて展開する

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

バージョン履歴

R2019a で導入