Main Content

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

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) では、1 つ以上の名前と値のペアの引数を使用してオプションを指定します。たとえば、'OutputDataType','double' では目的の出力データ型を double として指定します。名前と値のペアの引数は、他のすべての入力引数の後で指定します。

すべて折りたたむ

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. The axes with title Scatter plot contains an object of type line. 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. The axes with title MIL188 16-QAM , UnitAveragePower=true contains 19 objects of type line, text.

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

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. The axes with title Scatter plot contains an object of type line. 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

名前と値のペアの引数

オプションの引数 Name,Value のコンマ区切りペアを指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を、任意の順番で指定できます。

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

入力タイプ。'InputType''integer' または 'bit' のどちらかで構成されるコンマ区切りのペアとして指定します。'integer' を指定する場合、入力信号は 0 ~ M – 1 の整数で構成されなければなりません。'bit' を指定する場合は、入力信号がバイナリ値を含まなければならず、行数は log2(M) の整数倍でなければなりません。

データ型: char | string

出力データ型。OutputDataType'double' または 'single' で構成されるコンマ区切りのペアとして指定します。

データ型: char | string

単位平均パワー フラグ。'UnitAveragePower' と論理スカラーとで構成されるコンマ区切りペアとして指定します。このフラグが true の場合、関数は 1 オームを基準とした 1 ワットの平均電力にコンスタレーションをスケーリングします。このフラグが false の場合、関数は[1]で説明されている関連する標準の仕様に基づいてコンスタレーションをスケーリングします。

データ型: logical

コンスタレーションをプロットするためのオプション。'PlotConstellation' と論理スカラーとで構成されるコンマ区切りペアで指定します。コンスタレーションをプロットするには、PlotConstellationtrue に設定します。

データ型: logical

出力引数

すべて折りたたむ

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

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

データ型: double | single

詳細

すべて折りたたむ

MIL-STD-188-110

MIL-STD-188-110 は、データ信号および音声信号両方のシリアル PSK モードを使用した HF 通信のための、米国国防総省の規格です。

この規格では、戦術および長距離通信のための物理層の変調方式が指定されています。この規格により指定されている変調方式は、QAM と APSK の混合です。変調方式の詳細については、[1]を参照してください。

参照

[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 で導入