このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Linear Equalizer
線形フィルターを使用した変調信号のイコライズ

ライブラリ:
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
拡張例
フィルター処理とフェージング チャネルによる適応イコライズ
このモデルでは、フェージング チャネルのある通信リンクでの、選択された適応イコライザーの動作を示します。送信側と受信側は、ルート レイズド コサインのパルス整形フィルター処理を行います。subsystem ブロックにより、最小平均二乗 (LMS) または再帰的最小二乗 (RLS) 適応アルゴリズムを使用する、線形イコライザーまたは判定フィードバック イコライザーを選択できます。
端子
入力
入力信号。列ベクトルで指定します。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
として指定します。Reset が 1
に設定されると、ブロックが入力信号を処理する前にタップ重みをリセットします。ブロックは、Desired 入力端子のすべてのシンボルが処理されるまで初期学習を実行します。
依存関係
この端子を有効にするには、[リセット入力を有効にする] パラメーターを選択します。
データ型: Boolean
出力
イコライズされたシンボル。入力信号 in と同じ長さの列ベクトルとして返されます。
[誤差信号の出力] パラメーターまたは [タップ重みの出力] パラメーターを選択するまで、この端子は名前なしになります。
タップ重み。NTaps 行 1 列のベクトルとして返されます。ここで、NTaps は [タップ数] パラメーターの値です。w には最新のタップ重みの更新からのタップ重みが含まれます。
依存関係
この端子を有効にするには、[タップ重みの出力] パラメーターを選択します。
パラメーター
ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。
構造体パラメーター
イコライザーのタップ数。正の整数として指定します。イコライザーのタップ数は、[シンボルあたりの入力サンプル数] パラメーターの値以上でなければなりません。
信号コンスタレーション。ベクトルとして指定します。既定値は、次のコードを使用して生成された QPSK コンスタレーションです: pskmod(0:3,4,pi/4)
。
シンボルあたりの入力サンプル数。正の整数として指定します。このパラメーターを 1
より大きい数値に設定すると、分数間隔イコライザーが効率的に作成されます。詳細については、シンボル タップ間隔を参照してください。
アルゴリズム パラメーター
イコライズに使用される適応アルゴリズム。以下のいずれかの値として指定します。
LMS
— 最小平均二乗 (LMS) アルゴリズムを使用してイコライザーのタップ重みを更新します。RLS
— 再帰的最小二乗 (RLS) アルゴリズムを使用してイコライザーのタップ重みを更新します。CMA
— 定包絡線基準アルゴリズム (CMA)を使用してイコライザーのタップ重みを更新します。
適応アルゴリズムで使用されるステップ サイズ。正のスカラーとして指定します。ステップ サイズを大きくすると、イコライザーの収束時間が短縮されますが、イコライザーの出力推定の安定性が低下します。
調整可能: Yes
依存関係
このパラメーターを有効にするには、[適応アルゴリズム] を [LMS]
または [CMA]
に設定します。
適応アルゴリズムで使用される忘却係数。範囲 (0, 1] のスカラーとして指定します。忘却係数を小さくすると、イコライザーの収束時間が短縮されますが、イコライザーの出力推定の安定性が低下します。
調整可能: Yes
依存関係
このパラメーターを有効にするには、[適応アルゴリズム] を [RLS]
に設定します。
初期逆相関行列。スカラーまたは NTaps 行 NTaps 列の行列として指定します。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)を参照してください。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
詳細
シンボル間隔イコライザーまたは分数シンボル間隔イコライザーとして動作するようにイコライザーを構成できます。
シンボル間隔レートでイコライザーを動作させるには、シンボルあたりのサンプル数を
1
に指定します。シンボル レート イコライザーでは、タップはシンボル区間の間隔で配置されます。シンボル レート イコライザーはタイミング位相の影響を受けます。分数シンボル間隔レートでイコライザーを動作させるには、シンボルあたりの入力サンプル数を
1
より大きい整数に指定し、そのサンプル レートでオーバーサンプリングされた入力信号を指定します。分数シンボル間隔イコライザーでは、入力シンボル区間の整数分の 1 の間隔でタップが配置されています。分数シンボル間隔イコライザーはタイミング位相の影響を受けません。
アルゴリズム
線形イコライザーは、チャネルの周波数応答に null が存在しない場合、符号間干渉 (ISI) を削除できます。チャネルの周波数応答に null が存在する場合、線形イコライザーはノイズを強調する傾向があります。この場合は、ノイズが強調されないように判定フィードバック イコライザーを使用します。
線形イコライザーは、入力信号からのサンプルを格納するタップ付き遅延線で構成されます。シンボル周期ごとに一度、イコライザーは遅延ラインで値の重み付き総和を出力し、次のシンボル周期のための準備として重みを更新します。
線形イコライザーはシンボル間隔または分数シンボル間隔にすることができます。
シンボル間隔イコライザーの場合、シンボルあたりのサンプル数 K は 1 です。出力サンプル レートは入力サンプル レートと等しくなります。
分数シンボル間隔イコライザーの場合、シンボルあたりのサンプル数 K は 1 より大きい整数です。通常、分数間隔イコライザーの K は 4 です。出力サンプルレートは 1/T、入力サンプルレートは K/T になります。ここで、T はシンボル周期です。タップ重みの更新は、出力レートで起こります。
この図は、重みが L、シンボル周期が T、シンボルあたりのサンプル数が K の線形イコライザーを示しています。K が 1 の場合、結果は分数シンボル間隔線形イコライザーではなくシンボル間隔線形イコライザーです。
シンボル周期ごとに、イコライザーはタップ付き遅延線で K 個の入力サンプルを受信します。イコライザーはその後、遅延線で値の重み付き総和を出力し、次のシンボル周期のための準備として重みを更新します。
詳細については、イコライズを参照してください。
LMS アルゴリズムの場合、前の図の w はすべての重み wi のベクトル、u はすべての入力 ui のベクトルです。現在の重み集合に基づき、LMS アルゴリズムは次の式で新しい重み集合を作成します。
wnew = wcurrent + (StepSize) ue*.
適応アルゴリズムで使用されるステップ サイズは、正のスカラーとして指定します。ステップ サイズを大きくすると、イコライザーの収束時間が短縮されますが、イコライズされた出力信号の安定性は低下します。LMS 適応アルゴリズムを使用する際に許容される最大ステップ サイズを決定するには、オブジェクト関数 maxstep
を使用します。* 演算子は複素共役を表し、誤り計算は e = d - y を表します。
RLS アルゴリズムの場合、前の図の w はすべての重み wi のベクトル、u はすべての入力 ui のベクトルです。現在の入力の集合 u と逆相関行列 P を基に、RLS アルゴリズムは最初にカルマン ゲイン ベクトル K を次のように計算します。
適応アルゴリズムで使用される忘却係数は、範囲 (0, 1] のスカラーとして指定します。忘却係数を小さくすると、イコライザーの収束時間が短縮されますが、イコライズされた出力信号の安定性は低下します。H はエルミート転置を表します。現在の逆相関行列に基づき、新しい逆相関行列は次のようになります。
現在の重み集合に基づき、RLS アルゴリズムは次の式で新しい重み集合を作成します。
wnew = wcurrent+K*e.
* 演算子は複素共役を表し、誤り計算は e = d - y を表します。
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 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)