メインコンテンツ

mil188qammod

MIL-STD-188-110 B/C 標準固有の直交振幅変調 (QAM)

説明

Y = mil188qammod(X,M) は、MIL-STD-188-110 と変調次数 M に従って、入力信号 X で QAM 変調を実行します。詳細については、MIL-STD-188-110を参照してください。

Y = mil188qammod(X,M,Name=Value) は、オプションの名前と値の引数を指定します。たとえば、mil188qammod(Y,M,PlotConstellation=true) は、変調次数 M を指定し、コンスタレーションをプロットします。名前と値の引数は、他のすべての入力引数の後で指定します。

すべて折りたたむ

MIL-188-110C 標準で指定されている 32-QAM を使用してデータを変調します。結果を散布図を使用して表示します。

M を 32 に設定し、すべての予想されるシンボルを含むデータ ベクトルを作成します。

M = 32;
x = (0:M-1);

MIL-STD-188-110C で指定されている QAM を使用してデータを変調します。

y = mil188qammod(x,M);

散布図としてコンスタレーションを表示します。

scatterplot(y)

Figure Scatter Plot contains an axes object. The axes object with title Scatter plot, xlabel In-Phase, ylabel Quadrature contains a line object which displays its values using only markers. This object represents Channel 1.

MIL-STD-188-110B 標準で指定されている 16-QAM を使用してデータを変調します。平均信号強度が 1 W になるように変調器出力を正規化します。

M を設定し、ランダム データを生成します。

M = 16;
x = randi([0 M-1],1e5,1);

MIL-STD-188-110B で指定されている 16-QAM を適用してデータを変調します。名前と値のペアを使用して、単位平均パワーを true に設定し、コンスタレーションのプロットを有効にします。

y = mil188qammod(x,M,'UnitAveragePower',true,'PlotConstellation',true);

Figure contains an axes object. The axes object with title MIL188 16-QAM , UnitAveragePower=true, xlabel In-phase Amplitude, ylabel Quadrature Amplitude contains 19 objects of type line, text. One or more of the lines displays its values using only markers

信号がほぼ単位平均パワーをもつことを検証します。

avgPow = mean(abs(y).^2)
avgPow = 
1.0012

MIL-STD188-110B により指定されている 64-QAM を使用してビットのシーケンスを変調します。コンスタレーションを表示します。

変調次数を設定し、ランダム ビットのシーケンスを生成します。

M = 64;
numBitsPerSym = log2(M);
data = randi([0 1],1000*numBitsPerSym,1);

MIL-STD-188-110B により指定されている 64-QAM を適用してデータを変調し、single データ型のコンスタレーション シンボルを出力します。

y = mil188qammod(data,M, ...
    InputType='bit', ...
    OutputDataType='single');

結果のコンスタレーションを、散布図を使用してプロットします。

scatterplot(y)

Figure Scatter Plot contains an axes object. The axes object with title Scatter plot, xlabel In-Phase, ylabel Quadrature contains a line object which displays its values using only markers. This object represents Channel 1.

入力引数

すべて折りたたむ

入力信号。スカラー、ベクトルまたは行列として指定します。X の要素は、バイナリ値または [0, M – 1] の範囲の整数でなければなりません。ここで、M は変調次数です。

メモ

入力信号をバイナリの要素として処理するには、InputType の値を 'bit' に設定します。バイナリ入力の場合、行数は log2(M) の整数倍でなければなりません。列の log2(M) ビットのグループがシンボルにマッピングされます。ここで、最初のビットは MSB を表し、最後のビットは LSB を表します。

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

変調次数。2 の正の整数乗として指定します。変調次数は信号コンスタレーション点の合計数を指定します。

例: 16

データ型: double

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

例: Y = mil188qammod(X,M,InputType='bit',OutputDataType='single');

入力タイプ。'integer' または 'bit' として指定します。

  • 'integer' を指定した場合、入力信号は範囲 [0, M – 1] の整数で構成されなければなりません。

  • 'bit' を指定する場合は、入力信号がバイナリ値を含まなければならず、行数は log2(M) の整数倍でなければなりません。

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

単位平均パワー フラグ。logical の 0 (false) または 1 (true) として指定します。

  • UnitAveragePowertrue の場合、関数は 1 オームを基準とした 1 ワットの平均電力にコンスタレーションをスケーリングします。

  • UnitAveragePowerfalse の場合、関数は[1]で説明されている関連する標準の仕様に基づいてコンスタレーションをスケーリングします。

データ型: logical

コンスタレーションをプロットするためのオプション。logical 0 (false) または logical 1 (true) として指定します。コンスタレーションをプロットするには、PlotConstellationtrue に設定します。

データ型: logical

出力引数

すべて折りたたむ

変調された信号。複素数のスカラー、ベクトル、または行列として返されます。出力の次元は、指定した InputType 値によって異なります。OutputDataType を使用して、出力のデータ型を指定します。

InputType出力の次元
'integer'Y の次元は入力 X と同じになります。
'bit'Y の行数は log2(M) で除算した X の行数と等しくなります。

データ型: double | single

詳細

すべて折りたたむ

参照

[1] MIL-STD-188-110B & C: "Interoperability and Performance Standards for Data Modems." Department of Defense Interface Standard, USA.

拡張機能

すべて展開する

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2018a で導入