Main Content

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

comm.CPFSKModulator

CPFSK メソッドを使用した変調

説明

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

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

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

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

メモ

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

構築

H = comm.CPFSKModulator は変調器 System object H を作成します。このオブジェクトは、連続位相周波数シフト キーイング (CPFSK) 変調メソッドを使って入力信号を変調します。

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

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

プロパティ

ModulationOrder

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

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

BitInput

ビット入力を想定する

入力がビットか整数かを指定します。既定の設定は false です。このプロパティを false に設定する場合は、step メソッド入力は、倍精度または符号付き整数データ型列ベクトルでなければなりません。このベクトルは、–(ModulationOrder–1) から ModulationOrder–1 までの奇数の整数値を構成します。

このプロパティを true に設定すると、step メソッド入力は P-長さビット ワードの列ベクトルでなければなりません。ここで、P = log2(ModulationOrder) です。入力データは倍精度または logical のデータ型でなければなりません。オブジェクトは、SymbolMapping プロパティで指定されたマッピングを使用して、0 から ModulationOrder–1 までの整数 K に各ビット ワードをマップします。次に、オブジェクトは整数 K を中間値 2K–(ModulationOrder–1) にマップし、BitInput プロパティが falseに設定されている場合と同様に先に進みます

SymbolMapping

シンボルの符号化

ビット入力のマッピングを Binary または Gray のいずれかに指定します。既定の設定は Binary です。このプロパティは、各入力 P-長ビット ワード (P = log2(ModulationOrder)) を 0 から ModulationOrder–1 までの整数にマップする方法を決定します。

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

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

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

ModulationIndex

変調指数

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

ここで、H-1 は列ベクトルの長さです。シンボル上の位相シフトは、π × h です。

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

InitialPhaseOffset

初期位相オフセット

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

SamplesPerSymbol

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

出力のアップサンプリング係数を実数の、正の整数スカラーで指定します。既定の設定は 8 です。アップサンプリング係数は、各入力サンプルに対して step メソッドが生成する出力サンプルの数です。

OutputDataType

出力のデータ型

出力データ型を double または single のいずれかとして指定します。既定の設定は 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 Modulator Baseband ブロックのリファレンス ページで説明されているアルゴリズム、入力、および出力を実装しています。オブジェクト プロパティはブロック パラメーターに対応します。CPFSK の場合、シンボルごとの位相シフトは、π × h です。h は変調指数です。

拡張機能

R2012a で導入