Decision Feedback Equalizer
判定フィードバック フィルター処理を使用した変調信号のイコライズ
ライブラリ:
Communications Toolbox /
Equalizers
説明
Decision Feedback Equalizer ブロックは、重み付き和をもつ判定フィードバック フィルター タップ付き遅延線を使用して、分散チャネルを介して送信される変調信号をイコライズします。有限入力応答 (FIR) フィルターとしてモデル化されたチャネルの推定を使用して、このブロックは入力フレームを処理し、推定信号を出力します。
このアイコンは、LMS または RLS 適応アルゴリズムを使用する構成に対してすべての端子が有効になっているブロックを示しています。
このアイコンは、CMA 適応アルゴリズムを使用する構成に対してすべての端子が有効になっているブロックを示しています。
端子
入力
in — 入力信号
列ベクトル
入力信号。列ベクトルで指定します。[in] のベクトル長は、[Number of input samples per symbol] パラメーターの整数倍でなければなりません。詳細については、シンボル タップ間隔を参照してください。
データ型: double
複素数のサポート: あり
Desired — トレーニング シンボル
列ベクトル
トレーニング シンボル。列ベクトルとして指定します。[Desired] のベクトル長は、入力 [in] の長さ以下でなければなりません。[Train] 入力端子が 0
の場合、[Desired] 入力端子は無視されます。
依存関係
この端子を有効にするには、[Adaptive algorithm] パラメーターを LMS
または RLS
に設定します。
データ型: double
複素数のサポート: あり
Train — イコライザーの学習フラグ
boolean スカラー
イコライザーの学習フラグ。1
または 0
として指定します。(立ち上がりエッジで) この値が 0
から 1
に変化すると、ブロックが学習を開始します。ブロックは、[Desired] 入力端子のすべてのシンボルが処理されるまで学習を続けます。
依存関係
この端子を有効にするには、[Adaptive algorithm] パラメーターを LMS
または RLS
に設定して、[Enable training control input] パラメーターを選択します。
データ型: Boolean
Update — タップ重みの更新フラグ
1
| 0
タップ重みの更新フラグ。1
または 0
として指定します。この値が 1
になるとタップ重みが更新されます。
依存関係
この端子を有効にするには、[Adaptive algorithm] パラメーターを CMA
に設定して、[Source of adapt weights flag] パラメーターを Input port
に設定します。
データ型: Boolean
Reset — イコライザーのリセット フラグ
1
| 0
イコライザーのリセット フラグ。1
または 0
として指定します。[Reset] が 1
に設定されると、ブロックが入力信号を処理する前にタップ重みをリセットします。ブロックは、[Desired] 入力端子のすべてのシンボルが処理されるまで初期学習を実行します。
依存関係
この端子を有効にするには、[Enable reset input] パラメーターを選択します。
データ型: Boolean
出力
Out — イコライズされたシンボル
列ベクトル
イコライズされたシンボル。入力信号 [in] と同じ長さの列ベクトルとして返されます。
[Output error signal] または [Output taps weights] パラメーターを選択するまで、この端子は名前なしになります。
Err — 誤差信号
列ベクトル
誤差信号。入力信号 [in] と同じ長さの列ベクトルとして返されます。
w — タップ重み
列ベクトル
タップ重み。NTaps 行 1 列のベクトルとして返されます。ここで、NTaps は [Number of forward taps] および [Number of feedback taps] パラメーター値の和と同じ値です。[w] には最新のタップ重みの更新からのタップ重みが含まれます。
パラメーター
Number of forward taps — フォワード イコライザーのタップ数
5
(既定値) | 正の整数
フォワード イコライザーのタップ数。正の整数として指定します。フォワード イコライザーのタップ数は、[Number of input samples per symbol] パラメーターの値以上でなければなりません。
Number of feedback taps — フィードバック イコライザーのタップ数
3
(既定値) | 正の整数
フィードバック イコライザーのタップ数。正の整数として指定します。
Signal constellation — 信号コンスタレーション
pskmod(0:3,4,pi/4)
(既定値) | ベクトル
信号コンスタレーション。ベクトルとして指定します。既定値は、次のコードを使用して生成された QPSK コンスタレーションです: pskmod(0:3,4,pi/4)
。
Number of input samples per symbol — シンボルあたりの入力サンプル数
1
(既定値) | 正の整数
シンボルあたりの入力サンプル数。正の整数として指定します。このパラメーターを 1
より大きい数値に設定すると、分数間隔イコライザーが効率的に作成されます。詳細については、シンボル タップ間隔を参照してください。
Adaptive algorithm — 適応アルゴリズム
LMS
(既定値) | RLS
| CMA
イコライズに使用される適応アルゴリズム。以下のいずれかの値として指定します。
LMS
— 最小平均二乗 (LMS) アルゴリズムを使用してイコライザーのタップ重みを更新します。RLS
— 再帰的最小二乗 (RLS) アルゴリズムを使用してイコライザーのタップ重みを更新します。CMA
— 定包絡線基準アルゴリズム (CMA)を使用してイコライザーのタップ重みを更新します。
Step size — ステップ サイズ
0.01
(既定値) | 正のスカラー
適応アルゴリズムで使用されるステップ サイズ。正のスカラーとして指定します。ステップ サイズを大きくすると、イコライザーの収束時間が短縮されますが、イコライザーの出力推定の安定性が低下します。
調整可能: Yes
依存関係
このパラメーターを有効にするには、[Adaptive algorithm] を LMS
または CMA
に設定します。
忘却係数 — 忘却係数
0.99
(既定値) | 範囲 (0, 1] のスカラー
適応アルゴリズムで使用される忘却係数。範囲 (0, 1] のスカラーとして指定します。忘却係数を小さくすると、イコライザーの収束時間が短縮されますが、イコライザーの出力推定の安定性が低下します。
調整可能: Yes
依存関係
このパラメーターを有効にするには、[Adaptive algorithm] を RLS
に設定します。
Initial inverse correlation matrix — 初期逆相関行列
0.1
(既定値) | スカラー | 行列
初期逆相関行列。スカラーまたは NTaps 行 NTaps 列の行列として指定します。NTaps は、[Number of forward taps] および [Number of feedback taps] パラメーター値の和と同じ値です。この値をスカラー a として指定した場合、イコライザーは初期逆相関行列を、単位行列を a 倍した a(eye
(NTaps)) に設定します。
依存関係
このパラメーターを有効にするには、[Adaptive algorithm] を RLS
に設定します。
Reference tap — Reference tap
3
(既定値) | 正の整数
リファレンス タップ。[Number of forward taps] パラメーター値以下の正の整数として指定します。イコライザーは、リファレンス タップ位置を使用してチャネルのメイン エネルギーを追跡します。
Input signal delay (samples) — 入力信号遅延
0
(既定値) | 非負の整数
イコライザーのリセット時間に関連するサンプル単位の入力信号遅延。非負の整数として指定します。入力信号が 1 よりも大きい長さのベクトルの場合、入力遅延は入力ベクトルの始点に相対します。入力信号がスカラーの場合、入力遅延はブロックの最初の呼び出しと、[Reset] 入力端子が 1
に切り替わった後のブロックの最初の呼び出しに相対します。
依存関係
このパラメーターを有効にするには、[Adaptive algorithm] を LMS
または RLS
に設定します。
Source of adapt weights flag — タップ重みの適応要求のソース
Property
(既定値) | 入力端子
タップ重みの適応要求のソース。以下のいずれかの値として指定します。
Property
— ブロックがタップ重みをいつ適応させるかを制御するために [Adaptive algorithm] パラメーターを使用するには、この値を指定します。Input port
— ブロックがタップ重みをいつ適応させるかを制御するために [Update] 入力端子を使用するには、この値を指定します。
依存関係
このパラメーターを有効にするには、[Adaptive algorithm] を CMA
に設定します。
Adapt tap weights — タップ重みの適応
on
(既定値) | off
イコライザーのタップ重みを適応的に更新するには、このパラメーターを選択します。このパラメーターがオフになっている場合、ブロックはイコライザーのタップ重みを変更せずに維持します。
依存関係
このパラメーターを有効にするには、[Adaptive algorithm] を CMA
に設定して、[Source of adapt weights flag] を [Property]
に設定します。
Initial tap weights source — 初期タップ重みのソース
自動
(既定値) | Property
初期タップ重みのソース。以下のいずれかの値として指定します。
[Auto]
— [Initial weights] パラメーターで説明されているように、タップ重みをアルゴリズム固有の既定値に初期化します。[Property]
— [Initial weights] パラメーター値を使用してタップ重みを初期化します。
Initial weights — 初期タップ重み
0
または [0;0;1;0;0]
(既定値) | スカラー | 列ベクトル
適応アルゴリズムで使用される初期タップ重み。スカラーまたは 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 のベクトルを作成します。
依存関係
このパラメーターを有効にするには、[Initial tap weights source] を Property
に設定します。
Tap weight update period (symbols) — タップ重みの更新周期
1
(既定値) | 正の整数
シンボル単位のタップ重みの更新周期。正の整数として指定します。イコライザーは、この数のシンボルを処理した後にタップ重みを更新します。
Enable training control input — 学習制御入力の有効化
off
(既定値) | on
入力端子 [Train] を有効にするには、このパラメーターを選択します。このパラメーターがオフになっている場合、ブロックは初期タップ学習の後にトレーニング モードを再度開始しません。
依存関係
このパラメーターを有効にするには、[Adaptive algorithm] を LMS
または RLS
に設定します。
Update tap weights when not training — 学習中でないときにタップ重みを更新
on
(既定値) | off
判定指向モードを使用してイコライザーのタップ重みを更新するには、このパラメーターを選択します。このパラメーターがオフになっている場合、ブロックは学習後にイコライザーのタップ重みを変更せずに維持します。
依存関係
このパラメーターを有効にするには、[Adaptive algorithm] を LMS
または RLS
に設定します。
Enable reset input — リセット入力の有効化
off
(既定値) | on
入力端子 [Train] を有効にするには、このパラメーターを選択します。このパラメーターがオフになっている場合、ブロックは初期タップ学習の後にトレーニング モードを再度開始しません。
Output error signal — 誤差信号の出力の有効化
off
(既定値) | on
イコライザーの誤差信号を含む出力端子 [Err] を有効にするには、このパラメーターを選択します。
Output taps weights — タップ重みの出力の有効化
off
(既定値) | on
最新のタップ重みの更新からのタップ重みを含む出力端子 [w] を有効にするには、このパラメーターを選択します。
Simulate using — 実行するシミュレーションのタイプ
コード生成
(既定値) | インタープリター型実行
実行するシミュレーションのタイプ。[コード生成]
または [インタープリター型実行]
として指定します。
コード生成
— 生成された C コードを使用してモデルをシミュレートします。シミュレーションの初回実行時、Simulink® は対象ブロックの C コードを生成します。このモデルは、モデルが変更されない限り以降のシミュレーションで C コードを再利用します。このオプションを使用すると、シミュレーションの起動時間は長くなりますが、以降のシミュレーションの速度は[インタープリター型実行]
オプションを使用した場合よりも速くなります。インタープリター型実行
— MATLAB® インタープリターを使用してモデルをシミュレートします。このオプションを使用すると、起動時間が短縮されますが、以降のシミュレーションの速度は[コード生成]
オプションを使用した場合よりも遅くなります。このモードで、ブロックのソース コードをデバッグできます。
詳細については、シミュレーション モード (Simulink)を参照してください。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
詳細
シンボル タップ間隔
シンボル間隔イコライザーまたは分数シンボル間隔イコライザーとして動作するようにイコライザーを構成できます。
シンボル間隔レートでイコライザーを動作させるには、シンボルあたりのサンプル数を
1
に指定します。シンボル レート イコライザーでは、タップはシンボル区間の間隔で配置されます。シンボル レート イコライザーはタイミング位相の影響を受けます。分数シンボル間隔レートでイコライザーを動作させるには、シンボルあたりの入力サンプル数を
1
より大きい整数に指定し、そのサンプリング レートでオーバーサンプリングされた入力信号を指定します。分数シンボル間隔イコライザーでは、入力シンボル区間の整数分の 1 の間隔でタップが配置されています。分数シンボル間隔イコライザーはタイミング位相の影響を受けません。
アルゴリズム
判定フィードバック イコライザー
判定フィードバック イコライザー (DFE) は、周波数選択性チャネルでの符号間干渉 (ISI) を軽減する非線形イコライザーです。チャネルの周波数応答に null が存在する場合、DFE はノイズを強調しません。DFE は、入力信号からのサンプルを格納し、フォワード フィルターとフィードバック フィルターを含む、タップ付き遅延線で構成されます。フォワード フィルターは、線形イコライザーに類似しています。フィードバック フィルターは、入力がイコライズされた信号に行われる判定であるようなタップ付き遅延線を含みます。シンボル周期ごとに一度、イコライザーは遅延ラインで値の重み付き総和を出力し、次のシンボル周期のための準備として重みを更新します。
DFE はシンボル間隔または分数シンボル間隔にすることができます。
シンボル間隔イコライザーの場合、シンボルあたりのサンプル数 K は 1 です。出力サンプル レートは入力サンプル レートと等しくなります。
分数シンボル間隔イコライザーの場合、シンボルあたりのサンプル数 K は 1 より大きい整数です。通常、分数シンボル間隔イコライザーの K は 4 です。出力サンプルレートは 1/T、入力サンプルレートは K/T になります。タップ重みの更新は、出力レートで起こります。
この図は、合計 N 個の重みをもち、シンボル周期が T で、シンボルあたりのサンプル数が K 個の分数シンボル間隔 DFE を示しています。フィルターには、L 個のフォワードの重みと N-L 個のフィードバックの重みがあります。フォワード フィルターは最上部にあり、フィードバック フィルターは最下部にあります。K が 1 の場合、結果は分数シンボル間隔 DFE ではなくシンボル間隔 DFE です。
各シンボル周期において、イコライザーは、フォワード フィルターで K 個の入力サンプルを受信し、フィードバック フィルターで 1 つの判定またはトレーニング サンプルを受信します。それから、イコライザーは、フォワードおよびフィードバック遅延線に、値の重み付き総和を出力し、重みを更新して次のシンボル周期に備えます。
メモ
図の Adaptive Algorithm ブロックに対するアルゴリズムは、フォワードおよびフィードバックの重みを同時に最適化します。同時最適化は、再帰的最小二乗 (RLS) アルゴリズムの収束のために特に重要です。
詳細については、イコライズを参照してください。
最小平均二乗 (LMS) アルゴリズム
LMS アルゴリズムの場合、前の図の w はすべての重み wi のベクトル、u はすべての入力 ui のベクトルです。現在の重み集合に基づき、LMS アルゴリズムは次の式で新しい重み集合を作成します。
wnew = wcurrent + (StepSize) ue*.
適応アルゴリズムで使用されるステップ サイズは、正のスカラーとして指定します。ステップ サイズを大きくすると、イコライザーの収束時間が短縮されますが、イコライズされた出力信号の安定性は低下します。LMS 適応アルゴリズムを使用する際に許容される最大ステップ サイズを決定するには、オブジェクト関数 maxstep
を使用します。* 演算子は複素共役を表し、誤り計算は e = d - y を表します。
再帰的最小二乗 (RLS) アルゴリズム
RLS アルゴリズムの場合、前の図の w はすべての重み wi のベクトル、u はすべての入力 ui のベクトルです。現在の入力の集合 u と逆相関行列 P を基に、RLS アルゴリズムは最初にカルマン ゲイン ベクトル K を次のように計算します。
適応アルゴリズムで使用される忘却係数は、範囲 (0, 1] のスカラーとして指定します。忘却係数を小さくすると、イコライザーの収束時間が短縮されますが、イコライズされた出力信号の安定性は低下します。H はエルミート転置を表します。現在の逆相関行列に基づき、新しい逆相関行列は次のようになります。
現在の重み集合に基づき、RLS アルゴリズムは次の式で新しい重み集合を作成します。
wnew = wcurrent+K*e.
* 演算子は複素共役を表し、誤り計算は e = d - y を表します。
定包絡線基準アルゴリズム (CMA)
CMA 適応アルゴリズムの場合、前の図の w はすべての重み wi のベクトル、u はすべての入力 ui のベクトルです。現在の重み集合に基づき、CMA 適応アルゴリズムは次の式で新しい重み集合を作成します。
wnew = wcurrent + (StepSize) u*e.
適応アルゴリズムで使用されるステップ サイズは、正のスカラーとして指定します。ステップ サイズを大きくすると、イコライザーの収束時間が短縮されますが、イコライズされた出力信号の安定性は低下します。CMA 適応アルゴリズムにより許容される最大ステップ サイズを決定するには、オブジェクト関数 maxstep
を使用します。* 演算子は複素共役を表し、誤り計算は e = y(R - |y|2) です。ここで、R は信号コンスタレーションに関連する定数です。
拡張機能
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)