Main Content

MLSE Equalizer

ビタビ アルゴリズムを用いたイコライズ

ライブラリ

Equalizer Block

  • MLSE Equalizer block

説明

MLSE Equalizer ブロックは、ビタビ アルゴリズムを使って、分散チャネルを通る線形変調信号をイコライズします。このブロックは、入力フレームを処理し、有限インパルス応答 (FIR) フィルターとしてモデルが作成されたチャネルの推定を利用して、信号の最尤系列推定 (MLSE) を出力します。

このブロックは single および double データ型をサポートしています。

チャネル推定

このチャネル推定は、FIR フィルターの係数を、降べきの順に含む列ベクトルとして受け取ります。このベクトルの長さはチャネル メモリに一致し、これはブロックの [Samples per input symbol] パラメーターの整数倍でなくてはなりません。

チャネル推定ベクトルを指定するには、次のいずれかの方法を使用します。

  • [Specify channel via][Dialog] に設定して [Channel coefficients] フィールドにベクトルを入力します。

  • [Specify channel via][Input port] に設定すると、列ベクトル入力信号を指定するための Ch とラベル付けされた追加の入力端子がブロックに表示されます。

信号コンスタレーション

[Signal constellation] パラメーターは、変調されたコンスタレーションを指定して、モデルの変調器で特定されるようにします。[Signal constellation] は 1 つの複素数のベクトルで、そのベクトルの第 k 要素が、変調器が整数 k-1 をマップするコンスタレーション点です。

メモ

各コンスタレーション点のシーケンスは、モデル中の変調器と、このブロックの [Signal constellation] パラメーターで一致していなければなりません。

たとえば、次のマッピングで指定されるコンスタレーション点があるとします。

0+1+i11+i21i3+1i

これを指定するには [Signal constellation][1+i, -1+i, -1-i, 1-i] に設定します。このベクトル中の数字のシーケンスが、コンスタレーション点のセットに対して変調器がどのように整数をマップするかを示すことに注意してください。ラベル付けしたコンスタレーション点を以下に示します。

プリアンブルとポストアンブル

プリアンブル (プレフィックス) やポストアンブル (サフィックス) のあるデータの場合は、それに応じたブロックの設定を行います。

  • [Input contains preamble] を選択した場合は、[Expected preamble] パラメーターが、入力信号のデータに先行するプリアンブルを指定します。

  • [Input contains postamble] を選択した場合は、[Expected postamble] パラメーターが、入力信号のデータに続くポストアンブルを指定します。

[Expected preamble] および [Expected postamble] パラメーターは、0 と M-1 の間にある整数のベクトル (M をコンスタレーション点の数) でなくてはなりません。このベクトルの k-1 番目の整数が、[Signal constellation] ベクトルの第 k エントリに対応し、これは変調器への k-1 番目の入力になります。

プリアンブルとポストアンブルは、このブロックへの入力信号のそれぞれ最初と最後にあらかじめ含まれていなければなりません。必要であれば、Matrix Concatenation ブロックを使用して、Simulink® ソフトウェアのベクトルを結合することができます。

ブロックがプリアンブルとポストアンブルをどのように使用するかについては、以下の"各フレームをリセット" 操作モードを参照してください。

"各フレームをリセット" 操作モード

連続したフレーム間をビタビ アルゴリズムが遷移する方法の 1 つは、[Reset every frame] モードと呼ばれるものです。このモードは、[Operation mode] パラメーターを使用して選択することができます。

[Reset every frame] モードの場合、ブロックは個々のフレームを個別に復号化し、各フレームの最後で状態メトリクスをリセットします。トレースバック復号化は、常に最小状態メトリクスで開始します。

状態メトリクスの初期化は、プリアンブルとポストアンブルの指定に依存します。

  • プリアンブルが未指定の場合、復号化器はデータの各フレーム開始時にすべての状態のメトリクスを 0 に初期化します。

  • プリアンブルが指定されている場合、ブロックは、それを使用してデータの各フレーム開始時に状態メトリクスを初期化します。より具体的には、ブロックはプリアンブルを復号化し、0 のメトリクスを復号化された状態に割り当てます。プリアンブルは一意の状態を復号化しない (プリアンブルの長さがチャネル メモリよりも小さい) 場合、復号化器は 0 のメトリクスをプリアンブルで示されるすべての状態に割り当てます。プリアンブルを指定すると、常にトレースバック パスはプリアンブルで示される状態の 1 つで終わります。

  • ポストアンブルが未指定の場合、トレースバック パスは最小メトリクスの状態で開始します。

  • ポストアンブルが指定された場合、トレースバック パスはポストアンブルで表される状態で開始します。ポストアンブルが一意の状態に復号化しない場合、復号化器はポストアンブルで示されるすべての可能な最小の復号化された状態を識別して、その状態のトレースバック復号化を開始します。

    メモ

    [Reset every frame] モードでは、MLSE Equalizer への入力は、オプションのプリアンブルを除き、最低 T 個のシンボル (T は [Traceback depth] パラメーター) を含んでいなければなりません。

連続操作モード

連続したフレーム間をビタビ アルゴリズムが遷移するもう一つの方法は、[Continuous with reset option] モードと呼ばれるものです。このモードは、[Operation mode] パラメーターを使用して選択することができます。

[Continuous with reset option] モードでは合、シミュレーション開始時にすべての状態のメトリクスを 0 に初期化します。各フレームの最後でブロックは、次のフレームのトレースバック パスの計算で使用するために、その内部状態メトリクスを保存します

[Enable the reset input port] を選択すると、Rst とラベル付けされた別の入力端子がブロックに表示されます。この場合、Rst 端子のスカラー値が非ゼロとなると、常にブロックは状態のメトリクスを初期化します。

復号化遅延

MLSE Equalizer ブロックでは、[Continuous with reset option] モードで [Traceback depth] に等しい出力の遅延を生じますが、[Reset every frame] モードでは遅延は生じません。

パラメーター

Specify channel via

チャネル推定を指定する方法です。[Input port] を選択すると、チャネル推定を受信する 2 番目の入力端子がブロックに表示されます。[Dialog] を選択すると、チャネル推定を、FIR フィルターの係数の列ベクトルとして [Channel coefficients] フィールドに指定することができます。

Channel coefficients

ブロックがチャネル推定に用いる FIR フィルターの係数を含んだベクトルです。このフィールドは、[Specify channel via][Dialog] に設定した場合のみ表示されます。

Signal constellation

変調用のコンスタレーションを指定する複素数のベクトルです。

Traceback depth

ブロックが各トレースバック長を構築するためにビタビ アルゴリズムで使用するトレリス分岐の数 (シンボル数と等価) です。

Operation mode

ビタビ復号化器の操作モードです。選択肢は、[Continuous with reset option][Reset every frame] です。

Input contains preamble

これを有効にした場合、[Expected preamble] フィールドにプリアンブルを設定できます。このフィールドは、[Operation mode][Reset every frame] に設定した場合のみ表示されます。

Expected preamble

プリアンブルを示す 0 から M-1 の間の整数からなるベクトルです (M はコンスタレーションのサイズ)。このフィールドは、[Operation mode][Reset every frame] に設定して [Input contains preamble] を選択した場合にのみ、表示されてアクティブになります。

Input contains postamble

これを有効にした場合、[Expected postamble] フィールドにポストアンブルを設定できます。このフィールドは、[Operation mode][Reset every frame] に設定した場合のみ表示されます。

Expected postamble

ポストアンブルを示す 0 から M-1 の間の整数からなるベクトルです (M はコンスタレーションのサイズ)。このフィールドは、[Operation mode][Reset every frame] に設定して [Input contains postamble] を選択した場合にのみ、表示されてアクティブになります。

Samples per input symbol

各コンスタレーション点での入力サンプルの数です。

Enable the reset input port

このチェック ボックスをオンにすると、Rst というラベルの付いた 2 番目の入力端子がブロックに表示されます。この端子にゼロ以外の入力値を提供することによって、ブロックはその内部メモリを、入力データを処理する前の初期状態に設定します。このフィールドは、[Operation mode][Continuous with reset option] に設定した場合にのみ表示されます。

参考文献

[1] Proakis, John G., Digital Communications, Fourth edition, New York, McGraw-Hill, 2001.

[2] Steele, Raymond, Ed., Mobile Radio Communications, Chichester, England, Wiley, 1996.

拡張機能

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

バージョン履歴

R2006a より前に導入