メインコンテンツ

comm.PAMDemodulator

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

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

説明

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

M-PAM 手法を使用して変調された信号を復調するには、次のようにします。

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

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

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

作成

説明

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

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

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

入力引数

すべて展開する

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

データ型: double

プロパティ

すべて展開する

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

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

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

一般的なプロパティ

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

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

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

comm.PAMDemodulatorSystem object は、NormalizationMethod プロパティの設定に基づいて信号コンスタレーションをスケーリングします。

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

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

  • 0 (false) — このオプションを使用して、オブジェクト出力 Y を、入力ベクトル 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

出力のデータ型。"Full precision""Smallest unsigned integer""double""single""int8""uint8""int16""uint16""int32""uint32"、または "logical" として指定します。

  • このプロパティを "Full precision" に設定し、入力データ型が単精度または倍精度の場合、出力データは入力と同じデータ型になります。

  • 入力信号が整数データ型のとき、"Smallest unsigned integer" または "Full precision" モードでこのプロパティを使用するには Fixed-Point Designer™ ユーザー ライセンスがなければなりません。

  • 入力データが固定小数点データ型の場合、出力データ型は OutputDataType プロパティを "Smallest unsigned integer" に設定した場合と同様に動作します。

  • BitOutput プロパティを true に設定すると、"logical" データ型が有効なオプションになります。

固定小数点プロパティ

固定小数点演算に対する完全精度オーバーライド。数値または logical の 0 (false) または 1 (true) として指定します。

  • このプロパティを true に設定した場合、オブジェクトは完全精度規則を使用してすべての内部演算と出力データ型を計算します。これらの規則は、最も正確な固定長数値を提供します。また、他の固定長プロパティは個別には適用されないため、それらの表示はオフにされます。これらの規則は、オブジェクト内で量子化が発生しないことを保証します。必要に応じてビットが追加されて、丸めやオーバーフローが発生しないことを確実にします。

  • このプロパティを false に設定した場合、固定長データ型は個別の固定長プロパティ設定によって制御されます。

詳細については、固定小数点 System object の完全精度を参照してください。

データ型: logical

非正規化係数のデータ型。"Same word length as input" または "Custom" として指定します。

非正規化係数の固定小数点データ型。名前と値の引数 Signedness"Auto" に設定した、スケールされていない関数 numerictype (Fixed-Point Designer) として指定します。

依存関係

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

積のデータ型。"Full precision" または "Custom" として指定します。このプロパティを "Full precision" に設定すると、comm.PAMDemodulator は完全精度の積の語長と小数部の長さを計算します。

依存関係

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

積の固定小数点データ型。名前と値の引数 Signedness"Auto" に設定した、スケールされていない関数 numerictype (Fixed-Point Designer) として指定します。

依存関係

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

積の固定小数点値の丸め。"Ceiling""Convergent""Floor""Nearest""Round""Simplest"、または "Zero" のいずれかとして指定します。

このプロパティは、オブジェクトが完全精度構成ではないときに適用されます。

積の固定小数点値がオーバーフローした場合の積のオーバーフロー アクション。"Wrap" または "Saturate" として指定します。

このプロパティは、オブジェクトが完全精度構成ではないときに適用されます。

加算のデータ型。"Full precision""Same as product"、または "Custom" のいずれかとして指定します。このプロパティを "Full precision" に設定すると、オブジェクトは完全精度の加算の語長と小数部の長さを計算します。

依存関係

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

加算の固定小数点データ型。名前と値の引数 Signedness"Auto" に設定した、スケールされていない関数 numerictype (Fixed-Point Designer) として指定します。

依存関係

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

使用法

説明

Y = comm.PAMDemodulator(X) は、M-PAM 復調器 System object を使用して入力データを復調します。出力は復調されたデータです。

入力引数

すべて展開する

M-PAM 変調されたベースバンド信号。スカラーまたは列ベクトルとして指定します。

データ型: single | double | int8 | int16 | int32 | int64 | signed fi
複素数のサポート: あり

出力引数

すべて展開する

復調されたデータ。スカラーまたは列ベクトルとして返されます。

BitOutput プロパティの値に応じて、Y は整数またはビット値になります。復調された信号の次元は、OutputDataType プロパティに指定した値によって異なります。

オブジェクト関数

オブジェクト関数を使用するには、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 で導入

すべて折りたたむ