Main Content

comm.GeneralQAMModulator

任意の QAM コンスタレーションの変調

説明

comm.GeneralQAMModulator System object™ は、一般的な直交振幅変調 (QAM) 方式を使用して信号を変調します。

一般的な QAM 方式を使用して信号を変調するには、次のようにします。

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

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

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

作成

説明

gqamMod = comm.GeneralQAMModulator は、一般的な QAM 変調器 System object gqamMod を作成します。このオブジェクトは、一般的な QAM 方式を入力信号に適用します。

gqamMod = comm.GeneralQAMModulator(const)Constellation プロパティを const に設定します。

gqamMod = comm.GeneralQAMModulator(___,Name=Value) は、前の構文の任意の入力引数の組み合わせに加えて、オプションの名前と値の引数を 1 つ以上使用してプロパティを設定します。たとえば、OutputDataType="double" は、出力のデータ型を "double" に設定します。

プロパティ

すべて展開する

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

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

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

信号コンスタレーション。信号コンスタレーション内の点をリストしたベクトルとして指定します。コンスタレーション ベクトルの長さによって変調次数が決まります。

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

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

固定小数点プロパティ

出力の固定小数点データ型。Auto の符号属性をもつ numerictype (Fixed-Point Designer) オブジェクトとして指定します。

依存関係

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

使用法

説明

Y = gqamMod(X) は、入力信号 X に一般的な QAM を適用し、ベースバンドの一般的な直交振幅変調信号 Y を返します。

入力引数

すべて展開する

入力データ。非負の整数または非負の整数値の列ベクトルとして指定します。値は範囲 [0, M−1] の整数でなければなりません。ここで、M は信号コンスタレーション内の点の数を表します。入力のデータ型は、数値または語長 ceil(log2(ModulationOrder)) の符号なし固定小数点 (fi オブジェクト) にすることができます。

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

出力引数

すべて展開する

ベースバンド直交振幅変調信号。スカラーまたは列ベクトルとして返されます。

複素数のサポート: あり

オブジェクト関数

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

release(obj)

すべて展開する

stepSystem object のアルゴリズムの実行
releaseリソースを解放し、System object のプロパティ値と入力特性の変更を可能にします。

すべて折りたたむ

任意の 3 点コンスタレーションを使ってデータを変復調します。

一般的な直交振幅変調 (QAM) の 3 点コンスタレーションを定義します。

const = [1 1i -1];

定義されたコンスタレーションを使用して、一般的な QAM の変調器 System object と復調器 System object を作成します。

gqamMod = comm.GeneralQAMModulator (const);
gqamdemod = comm.GeneralQAMDemodulator (const);

エラー レート計算機を作成します。

errorRate = comm.ErrorRate
errorRate = 
  comm.ErrorRate with properties:

        ReceiveDelay: 0
    ComputationDelay: 0
             Samples: 'Entire frame'
      ResetInputPort: false

次の手順に従ってループを実行し、データのフレームを処理します。

  1. ランダムなシンボルのシーケンスを生成します。

  2. ランダム データを変調して、直交振幅変調シンボルを生成します。

  3. 変調されたシンボルを加法性ホワイト ガウス ノイズ (AWGN) チャネル経由で送信します。

  4. ノイズを含む受信シンボルを元のデータに復調します。

  5. 送信データと受信データの間の誤り統計を計算します。

for counter = 1:100
     data = randi([0 2],50,1);
     modSignal = gqamMod(data);
     noisySignal = awgn(modSignal,5);
     receivedData = gqamdemod(noisySignal);
     errorStats = errorRate(data,receivedData);
end

エラー レートと誤り数を出力します。

fprintf("Error rate = %f\nNumber of errors = %d\n", ...
      errorStats(1), errorStats(2))
Error rate = 0.045200
Number of errors = 226

アルゴリズム

一般的な QAM 変調アルゴリズムは次の手順で構成されます。

  1. 信号コンスタレーションをベクトルとして定義します。ベクトルの長さ M は、信号コンスタレーション内の点の数を表します。各点は固有のシンボルに対応します。

  2. 信号をスカラーまたは列ベクトルとして入力します。信号値は範囲 [0, M−1] の整数でなければなりません。

  3. 入力整数 m をコンスタレーション ベクトルの (m+1) 番目の要素にマッピングします。

拡張機能

バージョン履歴

R2012a で導入