Main Content

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

comm.CPFSKDemodulator

CPFSK メソッドとビタビ アルゴリズムを使用した復調

説明

CPFSKDemodulator オブジェクトは、連続位相周波数シフト キーイング メソッドを使用して変調された信号を復調します。入力は、変調信号のベースバンド表現です。

連続位相周波数シフト キーイング メソッドを使用して変調された信号を復調するには、以下の手順に従います。

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

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

メモ

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

構築

H = comm.CPFSKDemodulator は復調器 System object H を作成します。オブジェクトは、連続位相周波数シフト キーイング (CPFSK) で変調された入力データを、ビタビ アルゴリズムを使用して復調します。

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

H = comm.CPFSKDemodulator(M,Name,Value) は、CPFSK 復調器オブジェクト H を作成します。このオブジェクトは、ModulationOrder プロパティを M に設定し、指定の他のプロパティは指定の値に設定しています。

プロパティ

ModulationOrder

シンボル アルファベットのサイズ

シンボル アルファベットのサイズを指定します。このプロパティの値は、2 の累乗の実数、整数スカラーを必要とします。既定の設定は 4 です。

BitOutput

ビットとしての出力データ

出力がビットのグループまたは整数値で構成されているかどうかを指定します。既定の設定は false です。

このプロパティを false に設定すると、step メソッドは、N/SamplesPerSymbol に等しい長さで、-(ModulationOrder-1) から ModulationOrder–1 までの整数の要素の列ベクトルを出力します。ここで、N は、入力ベースバンド変調されたシンボルの数を示す入力信号の長さです。

このプロパティを true に設定すると、step メソッドは P×(N/SamplesPerSymbol) に等しい長さのバイナリ列ベクトルを出力します。ここで、P = log2(ModulationOrder) です。出力には長さ -P ビット ワードが含まれています。このシナリオでは、オブジェクトはまず –(ModulationOrder-1) から ModulationOrder–1 までの奇数の整数値 K に復調された各シンボルをマップします。次に、オブジェクトは、K を非負の整数 (K+ModulationOrder–1)/2 にマップします。最後に、オブジェクトは、それぞれの非負の整数を、SymbolMapping プロパティに指定されたマッピングを使用して、長さ -P のバイナリ ワードにマップします。

SymbolMapping

シンボルの符号化

変調されたシンボルのマッピングを Binary または Gray のどちらかで指定します。既定の設定は Binary です。このプロパティは、オブジェクトがそれぞれの復調された整数シンボル値 (0 から ModulationOrder–1 までの範囲) を P- 長さのビット ワードにマップする方法を決定します。ここで、P = ModulationOrder(ModulationOrder) です。

このプロパティを Binary に設定すると、オブジェクトは通常の 2 値符号の順序を使用します。

このプロパティを Gray に設定すると、オブジェクトはグレイ符号順を使用します。

このプロパティは、BitOutput プロパティを true に設定した場合に適用されます。

ModulationIndex

変調指数

変調指数を指定します。既定の設定は 0.5 です。このプロパティの値には、スカラー値 h、または列ベクトル [h0, h1, …hH-1] を指定できます。

ここで、H-1 は列ベクトルの長さです。

hi が区間によって異なるときは、オブジェクトは多重 h で動作します。オブジェクトが多重 h で動作するときは、hi は有理数でなければなりません。

InitialPhaseOffset

初期位相オフセット

入力変調波形の初期位相オフセットをラジアン単位の実数の数値スカラーで指定します。既定の設定は 0 です。

SamplesPerSymbol

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

入力シンボルごとの予想サンプル数を正の整数スカラーで指定します。既定の設定は 8 です。

TracebackDepth

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

ビタビ アルゴリズムが各トレースバック長を構築するときに使用するトレリス分岐の数を正の整数スカラーで指定します。既定の設定は 16 です。このプロパティの値は出力遅延の値でもあります。この値は、出力内の復調された最初の有意なシンボルに先立つ 0 シンボルの数です。

OutputDataType

出力のデータ型

BitOutput プロパティを false に設定する場合、出力データ型を int8int16int32 または double のいずれかに指定します。既定の設定は double です。

BitOutput プロパティを true に設定する場合、出力データ型を logical または double のいずれかに指定します。

メソッド

resetCPFSK 復調器オブジェクトの状態のリセット
stepCPFSK メソッドとビタビ アルゴリズムを使用した復調
すべての System object に共通
release

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

すべて折りたたむ

% Create a CPFSK modulator, an AWGN channel, and a CPFSK demodulator
    hMod = comm.CPFSKModulator(8, 'BitInput', true, ...
                         'SymbolMapping', 'Gray');
    hAWGN = comm.AWGNChannel('NoiseMethod', ...
                         'Signal to noise ratio (SNR)','SNR',0);
    hDemod = comm.CPFSKDemodulator(8, 'BitOutput', true, ...
                         'SymbolMapping', 'Gray');

 % Create an error rate calculator, account for the delay caused by the Viterbi algorithm.
    delay = log2(hDemod.ModulationOrder)*hDemod.TracebackDepth;
    hError = comm.ErrorRate('ReceiveDelay', delay);
    for counter = 1:100
        % Transmit 100 3-bit words
        data = randi([0 1],300,1);
        modSignal = step(hMod, data);
        noisySignal = step(hAWGN, modSignal);
        receivedData = step(hDemod, noisySignal);
        errorStats = step(hError, data, receivedData);
    end

    fprintf('Error rate = %f\nNumber of errors = %d\n', ...
      errorStats(1), errorStats(2))
Error rate = 0.004006
Number of errors = 120

アルゴリズム

このオブジェクトは、CPFSK Demodulator Baseband ブロックのリファレンス ページで説明されているアルゴリズム、入力、および出力を実装しています。オブジェクト プロパティはブロック パラメーターに対応します。CPFSK の場合、シンボルごとの位相シフトは、π × h です。h は変調指数です。

拡張機能

R2012a で導入