Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

comm.PSKTCMDemodulator

M-ary の PSK コンスタレーションにマップされた符号化データの畳み込み復調

説明

PSKTCMDemodulator オブジェクトは、PSK のコンスタレーションを用いて変調されたトレリス符号変調 (TCM) の信号を、ビタビ アルゴリズムを使用して復号化します。

トレリス符号変調を使用して変調された信号は次により復調します。

  1. PSK TCM 復調器オブジェクトを定義および設定します。構築を参照してください。

  2. step を呼び出して、comm.PSKTCMDemodulator のプロパティに従い、信号を復調します。step の動作は、ツールボックスの各オブジェクト固有のものです。

メモ

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

構築

H = comm.PSKTCMDemodulator はトレリス符号の M-ary 位相シフト キーイング (PSK TCM) 復調器 System object H を作成します。このオブジェクトは、M-PSK コンスタレーションにマップされた、符号化データを畳み込み復調します。

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

H = comm.PSKTCMDemodulator(TRELLIS,Name,Value) は PSK TCM 復調器 System object H を作成します。このオブジェクトは、TrellisStructure プロパティを TRELLIS に設定しており、指定の他のプロパティは指定の値に設定しています。

プロパティ

TrellisStructure

畳み込み符号のトレリス構造体

トレリスを、畳み込み符号のトレリス表現を含む MATLAB 構造体として指定します。トレリス構造体が有効かどうかを確認するには、関数 istrellis を使用します。既定の設定は、poly2trellis([1 3], [1 0 0; 0 5 2]) の結果です。

TerminationMethod

符号化フレームの終了方法

終了方法を、ContinuousTruncated または Terminated のいずれかで指定します。既定の設定は Continuous です。

このプロパティを Continuous に設定すると、オブジェクトは各フレームの最後で内部状態メトリクスを保存します。次のフレームは同じ状態メトリクスを使用します。オブジェクトは、各トレースバック パスを個別に扱います。入力信号が 1 つのシンボルしか含んでいない場合は Continuous モードを使用します。

このプロパティを Truncated に設定すると、オブジェクトは各入力ベクトルを個別に扱います。トレースバック パスは最良のメトリクスで始まり、常にすべて 0 の状態で終了します。

プロパティを Terminated に設定すると、オブジェクトは各入力ベクトルを個別に扱い、トレースバック パスはすべて 0 の状態で開始し、終了します。

TracebackDepth

ビタビ復号化器のトレースバック長

各トレースバック パスを構築する、トレリス分岐のスカラーの整数を指定します。既定の設定は 21 です。トレースバック長は復号化の精度と遅延に影響を与えます。復号化遅延は、出力の最初に復号化されるシンボルよりも前の 0 シンボルの数です。

TerminationMethod プロパティを Continuous に設定した場合、復号化遅延は符号化率 K/N の畳み込み符号の TracebackDepth ゼロ シンボルまたは TracebackDepth×K ゼロ ビットで構成されます。

TerminationMethod プロパティを Truncated または Terminated に設定すると、出力遅延は発生せず、トレースバック長は各入力ベクトルでシンボルの数以下でなければなりません。

ResetInputPort

復調器リセット入力を有効にする

このプロパティを true に設定して、step メソッドに対する追加の入力を有効にします。既定の設定は false です。この追加のリセット入力が非ゼロ値の場合、符号化器の内部状態は初期条件にリセットされます。このプロパティは、TerminationMethod プロパティを Continuous に設定した場合に適用されます。

ModulationOrder

コンスタレーション点の数

畳み込み符号化されたデータのマップに使用するコンスタレーションの点の数を正の整数のスカラー値として指定します。点の数は 48 または 16 でなければなりません。既定の設定は 8 です。ModulationOrder プロパティ値は PSK TCM 復調器オブジェクトの畳み込み復号化器への入力シンボルとして想定される数に等しくなければなりません。ModulationOrder プロパティは符号化率 K/N の畳み込み符号の 2N に等しくなければなりません。

OutputDataType

出力のデータ型

出力データ型を logical または double として指定します。既定の設定は double です。

メソッド

resetPSK TCM 復調器オブジェクトの状態のリセット
stepM-ary の PSK コンスタレーションにマップされた符号化データを畳み込み復調
すべての System object に共通
release

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

すべて折りたたむ

8-PSK TCM 変調方式を使用して、AWGN チャネルのデータを変調および復調します。結果の誤り率を推定します。

入力シンボル 4 つと出力シンボル 8 つをもつトレリス構造体を定義します。

t =  poly2trellis([5 4],[23 35 0; 0 5 13]);

トレリス t を使用して、変調次数 8 の変復調器 System object™ を作成します。

hMod = comm.PSKTCMModulator(t,'ModulationOrder',8);
hDemod = comm.PSKTCMDemodulator(t,'ModulationOrder',8, ...
    'TracebackDepth',16);

AWGN チャネル オブジェクトを作成します。

hAWGN = comm.AWGNChannel('NoiseMethod','Signal to noise ratio (SNR)', ...
    'SNR',7);

シンボルあたりのビット数の TracebackDepth 倍に等しい遅延 (ビット) をもつ誤り率計算機を作成します。

hError = comm.ErrorRate('ReceiveDelay',...
    hDemod.TracebackDepth*log2(t.numInputSymbols));

ランダムなバイナリ データを生成して 8-PSK TCM で変調します。変調信号を AWGN チャネルを介して渡して復調します。誤り統計を計算します。

for counter = 1:10
    % Transmit frames of 250 2-bit symbols
    data = randi([0 1],500,1);
    % Modulate
    modSignal = step(hMod,data);
    % Pass through AWGN channel
    noisySignal = step(hAWGN,modSignal);
    % Demodulate
    receivedData = step(hDemod,noisySignal);
    % Calculate error statistics
    errorStats = step(hError,data,receivedData);
end

BER とビット誤り数を表示します。

fprintf('Error rate = %5.2e\nNumber of errors = %d\n', ...
    errorStats(1),errorStats(2))
Error rate = 2.17e-02
Number of errors = 108

アルゴリズム

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

拡張機能

R2012a で導入