メインコンテンツ

comm.PAMModulator

(非推奨) M-ary パルス振幅変調を使用した変調

関数 comm.PAMModulator は推奨されません。代わりに pammod を使用してください。詳細については、バージョン履歴を参照してください。

説明

comm.PAMModulator System object™ は、M-ary パルス振幅変調 (PAM) 手法を使用して信号を変調します。出力は、変調信号のベースバンド表現です。

M-ary パルス振幅変調を使用して信号を変調するには、次のようにします。

  1. comm.PAMModulator オブジェクトを作成し、そのプロパティを設定します。

  2. 関数と同様に、引数を指定してオブジェクトを呼び出します。

System object の機能の詳細については、System object とはを参照してください。

作成

説明

pammodulator = comm.PAMModulator は、M-PAM 手法を使用して入力信号を変調する変調器 System object を作成します。

pammodulator = comm.PAMModulator(Name=Value) は、名前と値の引数を 1 つ以上使用してプロパティを設定します。たとえば、comm.PAMModulator(ModulationOrder=2) は、信号コンスタレーションの点の数を 2 に設定します。

pammodulator = comm.PAMModulator(M,Name=Value) は、入力引数 M を使用して ModulationOrder プロパティを設定します。

入力引数

すべて展開する

変調次数。正の偶数として指定します。M は信号コンスタレーションの点の数を表します。

データ型: double

プロパティ

すべて展開する

特に指定がない限り、プロパティは "調整不可能" です。つまり、オブジェクトの呼び出し後に値を変更することはできません。オブジェクトは呼び出すとロックされ、ロックを解除するには関数 release を使用します。

プロパティが "調整可能" の場合、その値をいつでも変更できます。

プロパティ値の変更の詳細については、System object を使用した MATLAB でのシステム設計を参照してください。

一般的なプロパティ

信号コンスタレーション点の数。次のオプションのいずれかとして指定します。

  • BitInput プロパティを false に設定した場合、ModulationOrder は正の偶数でなければなりません。

  • BitInput プロパティを true に設定した場合、ModulationOrder は 2 の整数乗でなければなりません。

comm.PAMModulatorSystem object は、NormalizationMethod プロパティの設定に基づいて信号コンスタレーションをスケーリングします。詳細については、コンスタレーション サイズとスケーリングを参照してください。

ビット入力。数値または logical の 0 (false) または 1 (true) として指定します。

  • 1(true) — このオプションを使用して、オブジェクト入力 x を、整数を表すビット値からなる列ベクトルとして指定します。このバイナリ値の信号は K = log2(M) ビットにグループ化されます。ここで、K はシンボルあたりのビット数、M は変調次数です。

  • 0 (false) — このオプションを使用して、オブジェクト入力 x を [0, M - 1] の範囲内の整数シンボル値からなる列ベクトルとして指定します。M は変調次数です。

データ型: logical

コンスタレーション符号化。次のオプションのいずれかとして指定します。"Gray" または "Binary"

シンボル マッピングは、オブジェクトが整数または log2(ModulationOrder) 入力ビットのグループを対応するシンボルにマッピングする方法を指定します。

  • このプロパティを "Gray" に設定すると、オブジェクトはグレイ符号化された信号コンスタレーションを使用します。

  • このプロパティを "Binary" に設定すると、入力整数 m は複素数値 2mM + 1 にマップされます。M はプロパティ ModulationOrder の値であり、m は [0, (M – 1)] の範囲内にあります。

信号コンスタレーションを正規化するために使用されるコンスタレーション正規化メソッド。"Minimum distance between symbols""Average power"、または "Peak power" として指定します。詳細については、コンスタレーション サイズとスケーリングを参照してください。

2 つのシンボル間の最小距離。正のスカラーとして指定します。

依存関係

このプロパティを有効にするには、NormalizationMethod プロパティを "Minimum distance between symbols" に設定します。

データ型: double

コンスタレーション内のシンボルの平均電力。正のスカラーとして指定します。

依存関係

このプロパティを有効にするには、NormalizationMethod プロパティを "Average power" に設定します。

データ型: double

コンスタレーション内のシンボルのピーク電力。正のスカラーとして指定します。

依存関係

このプロパティを有効にするには、NormalizationMethod プロパティを "Peak power" に設定します。

データ型: double

出力のデータ型。"double""single"、または "Custom" として指定します。

固定小数点プロパティ

出力の固定小数点データ型。名前と値の引数 Signedness"Auto" に設定した、関数 numerictype (Fixed-Point Designer) として指定します。

依存関係

このプロパティを有効にするには、OutputDataType プロパティを "Custom" に設定します。

使用法

説明

Y = pammodulator(X) は、M-PAM 手法を使用して入力信号を変調します。出力はベースバンド変調信号です。

入力引数

すべて展開する

入力信号。スカラーまたは列ベクトルとして指定します。

BitInput プロパティの値に従い、入力 X は、整数、または、数値、logical、あるいは固定小数点データ型のビット値の列ベクトルにできます。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical | fi

出力引数

すべて展開する

変調されたベースバンド信号。スカラーまたは列ベクトルとして返されます。出力データ型を指定するには、OutputDataType プロパティを使用します。

データ型: single | double | fi
複素数のサポート: あり

オブジェクト関数

オブジェクト関数を使用するには、System object を最初の入力引数として指定します。たとえば、obj という名前の System object のシステム リソースを解放するには、次の構文を使用します。

release(obj)

すべて展開する

constellation理想的な信号コンスタレーションの計算またはプロット
stepSystem object のアルゴリズムの実行
releaseリソースを解放し、System object のプロパティ値と入力特性の変更を可能にします。
cloneSystem object の複製
isLockedSystem object が使用中かどうかの判定

すべて折りたたむ

16-PAM 変調方式を使用して、信号を変調および復調します。

hMod = comm.PAMModulator(16);
hAWGN = comm.AWGNChannel("NoiseMethod", ...
    "Signal to noise ratio (SNR)", ...
    SNR=20, SignalPower=85);
hDemod = comm.PAMDemodulator(16);
% Create an error rate calculator
hError = comm.ErrorRate;
for counter = 1:100
    % Transmit a 50-symbol frame
    data = randi([0 hMod.ModulationOrder-1],50,1);
    modSignal = hMod(data);
    noisySignal = hAWGN(modSignal);
    receivedData = hDemod(noisySignal);
    errorStats = hError(data,receivedData);
end
fprintf('Error rate = %f\nNumber of errors = %d\n', ...
    errorStats(1), errorStats(2))
Error rate = 0.112600
Number of errors = 563

アルゴリズム

すべて展開する

拡張機能

すべて展開する

バージョン履歴

R2012a で導入

すべて折りたたむ