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

comm.MLSEEqualizer

最尤系列推定を使用したイコライズ

説明

MLSEEqualizer オブジェクトはビタビ アルゴリズムを使用して、分散チャネル経由で線形変調信号を等化します。オブジェクトは入力フレームを処理し、信号の最尤系列推定 (MLSE) を出力します。この処理では、有限インパルス応答 (FIR) フィルターとしてモデル化されたチャネルの推定を使用します。

線形変調信号を等化し、最尤系列推定を出力するには、次を行います。

  1. 最尤系列推定イコライザー オブジェクトを定義および設定します。構築を参照してください。

  2. step を呼び出して、comm.MLSEEqualizer のプロパティに従い、線形変調信号を等化し、最尤系列推定を出力します。step の動作は、ツールボックスの各オブジェクト固有のものです。

メモ

R2016b 以降では、step メソッドを使用して、System object™ によって定義された演算を実行する代わりに、引数を関数であるかのように使ってオブジェクトを呼び出すことができます。たとえば、y = step(obj,x)y = obj(x) は同等の演算を実行します。

構築

H = comm.MLSEEqualizer は、最尤系列推定イコライザー (MLSEE) System object H を作成します。このオブジェクトは、ビタビ アルゴリズムとチャネル推定を使用して、分散チャネル経由で送信された線形変調信号を等化します。

H = comm.MLSEEqualizer(Name,Value) は、指定された各プロパティを指定値に設定して、MLSEE オブジェクト H を作成します。(Name1,Value1,...,NameN,ValueN) のように、追加の名前と値のペアの引数を任意の順番で指定できます。

H = comm.MLSEEqualizer(CHANNEL,Name,Value) は、MLSEE オブジェクト H を作成します。このオブジェクトは、Channel プロパティを CHANNEL に設定し、指定の他のプロパティは指定の値に設定しています。

プロパティ

ChannelSource

チャネル係数のソース

チャネル係数のソースとして Input port または Property を指定します。既定の設定は Property です。

Channel

チャネル係数

FIR フィルターの係数を含む数値の列ベクトルでチャネルを指定します。既定の設定は [1;0.7;0.5;0.3] です。このベクトルの長さが、チャネルのメモリの長さを決定します。これは、SamplesPerSymbol プロパティに指定された、シンボルあたりのサンプルの整数倍でなければなりません。このプロパティは、ChannelSource プロパティを Property に設定した場合に適用されます。

Constellation

入力コンスタレーション

入力変調信号のコンスタレーションを複素数ベクトルで指定します。既定の設定は [1+1i -1+1i -1-1i 1-1i] です。

TracebackDepth

ビタビ アルゴリズムのトレースバック長

ビタビ アルゴリズムが各トレースバック パスを構築するために使用する、トレリス分岐の数 (シンボルの数) を指定します。既定の設定は 21 です。トレースバック長は復号化の精度と遅延に影響を与えます。復号化遅延は、出力の最初の復号化されたシンボルよりも前のゼロ シンボルの数を表します。TerminationMethod プロパティを Continuous に設定した場合、復号化遅延はこのプロパティのゼロ シンボルの数と等しい値です。TerminationMethod プロパティを Truncated に設定すると、出力遅延は発生しません。

TerminationMethod

ビタビ アルゴリズムの終了方法

ビタビ アルゴリズムの終了方法を Continuous または Truncated に指定します。既定の設定は Truncated です。このプロパティを Continuous に設定すると、step メソッドの初回呼び出し時に、オブジェクトがビタビ アルゴリズムのすべての状態のメトリクスを 0 に初期化します。その後、次のフレームで使用できるように、各フレームの最後に内部状態メトリクスを保存します。このプロパティを Truncated に設定した場合、オブジェクトはフレームごとにリセットします。ビタビ アルゴリズムは各フレームのデータを個別に処理し、各フレームの最後に状態メトリクスをリセットします。トレースバック パスは、常に最小メトリクスの状態で開始します。状態メトリクスの初期化は、プリアンブルまたはポストアンブルの指定に依存します。PreambleSource プロパティを None に設定した場合、オブジェクトは各データ フレームを開始するときにすべての状態のメトリクスを 0 に初期化します。PreambleSource プロパティを Property に設定した場合、オブジェクトは Preamble プロパティに指定されたプリアンブルを使用して、各データ フレームが開始するときに状態メトリクスを初期化します。プリアンブルを指定すると、トレースバック パスはそのプリアンブルで示される状態の 1 つで終わります。PostambleSource プロパティが None に設定されている場合、トレースバック パスは最小メトリクスの状態で開始します。PostambleSource プロパティが Property に設定されている場合、Postamble プロパティに指定されたポストアンブルで示される状態で、トレースバック パスが開始します。ポストアンブルが一意の状態に復号化しない場合、復号化器はポストアンブルで示されるすべての可能な復号化された状態のうち最小の状態を識別します。復号化器は、その後、その状態でトレースバックの復号化を開始します。このプロパティを Truncated に設定した場合、step メソッドの入力データ信号はオプションのプリアンブルを除き、少なくとも TracebackDepth 個のシンボルが含まれていなければなりません。

ResetInputPort

イコライザーのリセット入力を有効化

このプロパティを true に設定して、step メソッドに対する追加の入力を有効にします。既定の設定は false です。この入力が非ゼロ、倍精度または論理スカラー値である場合、オブジェクトはイコライザーの状態をリセットします。このプロパティは、TerminationMethod プロパティを Continuous に設定した場合に適用されます。

PreambleSource

プリアンブルのソース

入力信号に先行するプリアンブルのソースを指定します。None または Property を選択します。既定の設定は None です。このプロパティを Property に設定し、Preamble プロパティでプリアンブルを指定します。このプロパティは、TerminationMethod プロパティを Truncated に設定した場合に適用されます。

Preamble

入力信号に先行するプリアンブル

入力信号でデータに先行するプリアンブルを、整数の行ベクトルで指定します。既定の設定は [0 3 2 1] です。プリアンブルの値は、0 から M-1 までの値です。ここで M は、Constellation プロパティに指定されたコンスタレーションの長さです。ベクトル内の k–1 の整数値は、Constellation プロパティに保存されたベクトル内の k 番目のエントリに対応します。このプロパティは、TerminationMethod プロパティを Truncated に、PreambleSource プロパティを Property に設定した場合に適用されます。

PostambleSource

ポストアンブルのソース

入力信号に続くポストアンブルのソースを指定します。None または Property を選択します。既定の設定は None です。このプロパティを Property に設定し、Postamble プロパティでポストアンブルを指定します。このプロパティは、TerminationMethod プロパティを Truncated に設定した場合に適用されます。

Postamble

入力信号に続くポストアンブル

入力信号のデータに続くポストアンブルを、整数の行ベクトルで指定します。既定の設定は [0 2 3 1] です。ポストアンブルの値は、0 から M–1 までの値です。この場合、M は、Constellation プロパティの長さを示します。ベクトル内の k–1 の整数値は、Constellation プロパティに指定されたベクトル内の k 番目のエントリに対応します。このプロパティは、TerminationMethod プロパティを Truncated に、PostambleSource プロパティを Property に設定した場合に適用されます。既定の設定は [0 2 3 1] です。

SamplesPerSymbol

シンボルあたりのサンプル数

入力信号でシンボルあたりのサンプル数を、整数のスカラー値で指定します。既定の設定は 1 です。

メソッド

resetMLSEE オブジェクトの状態のリセット
step最尤系列推定を使用したイコライズ
すべての System object に共通
release

System object のプロパティ値の変更の許可

すべて折りたたむ

この例では、MLSE イコライザーを使用して周波数選択性チャネルの影響を除去する方法を説明します。

静的チャネル係数を指定します。

chCoeffs = [.986; .845; .237; .12345+.31i];

MLSE イコライザー オブジェクトを作成します。誤り率計算機オブジェクトを作成します。

mlse = comm.MLSEEqualizer('TracebackDepth',10,...
    'Channel',chCoeffs,'Constellation',pskmod(0:3,4,pi/4));
errorRate = comm.ErrorRate;

主処理ループには以下のステップが含まれます。

  • データ生成

  • QPSK 変調

  • チャネル フィルター処理

  • 信号のイコライズ

  • QPSK 復調

  • 誤りの計算

for n = 1:50
    data= randi([0 3],100,1);
    modSignal = pskmod(data,4,pi/4,'gray');

    % Introduce channel distortion.
    chanOutput = filter(chCoeffs,1,modSignal);

    % Equalize the channel output and demodulate.
    eqSignal = mlse(chanOutput);
    demodData = pskdemod(eqSignal,4,pi/4,'gray');

    % Compute BER.
    errorStats = errorRate(data,demodData);
end

ビット誤り率および誤り数を表示します。

ber = errorStats(1)
numErrors = errorStats(2)
ber =

     0


numErrors =

     0

イコライズの前にコンスタレーションをプロットします。

constDiagram = comm.ConstellationDiagram;
constDiagram(chanOutput)

イコライズの後にコンスタレーションをプロットします。

constDiagram(eqSignal)

イコライズされたシンボルは QPSK 基準コンスタレーションに完全に一致しています。

アルゴリズム

このオブジェクトは、MLSE Equalizer ブロックのリファレンス ページで説明されているアルゴリズム、入力、および出力を実装しています。オブジェクト プロパティはブロック パラメーターに対応します。

拡張機能

R2012a で導入