Main Content

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

comm.GeneralQAMDemodulator

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

説明

GeneralQAMDemodulator オブジェクトは、直交振幅変調を使用して変調された信号を復調します。入力は、変調信号のベースバンド表現です。

直交振幅変調を使用して変調された信号を復調するには、以下の手順に従います。

  1. QAM 復調器オブジェクトを定義および設定します。構築を参照してください。

  2. step を呼び出して、comm.GeneralQAMModulator のプロパティに従い、信号を復調します。step の動作は、ツールボックスの各オブジェクト固有のものです。

メモ

R2016b 以降では、step メソッドを使用して、System object™ によって定義された演算を実行する代わりに、引数を関数であるかのように使ってオブジェクトを呼び出すことができます。たとえば、y = step(obj,x)y = obj(x) は同等の演算を実行します。

構築

H = comm.GeneralQAMDemodulator は復調器 System object H を作成します。このオブジェクトは、一般的な直交振幅変調 (QAM) メソッドを使用する入力信号を復調します。

H = comm.GeneralQAMDemodulator(Name,Value) は、指定の各プロパティが指定の値に設定された一般的な QAM 復調器オブジェクト H を作成します。(Name1,Value1,...,NameN,ValueN) のように、追加の名前と値のペアの引数を任意の順番で指定できます。

H = comm.GeneralQAMDemodulator(CONST,Name,Value) は、一般的な QAM 復調器オブジェクト H を作成します。このオブジェクトは、Constellation プロパティを CONST に設定し、指定の他のプロパティは指定の値に設定しています。

プロパティ

Constellation

コンスタレーション

コンスタレーション点を実数または複素数の倍精度データ型ベクトルとして指定します。既定の設定は exp(2×π×1i×(0:7)8) です。ベクトルの長さが変調次数を決定します。

BitOutput プロパティを false に設定すると、step メソッドは整数値のベクトルを出力します。これらの整数の範囲は 0 から M–1 までであり、M はこのプロパティ ベクトルの長さです。出力ベクトルの長さは、入力信号の長さと同じです。

BitOutput プロパティを true に設定するとき、出力信号にはビットが含まれます。ビット出力に対して、コンスタレーションのサイズは 2 のべき乗の整数を必要とし、出力長はシンボルあたりのビット数の整数倍です。

BitOutput

ビットとしての出力データ

出力がビットのグループまたは整数シンボル値で構成されているかどうかを指定します。既定の設定は false です。

このプロパティを true に設定すると、step メソッドは log2(M) と復調シンボル数との積に等しい長さのビット値の列ベクトルを出力します。ここで、M は Constellation プロパティに指定したコンスタレーションの長さです。長さ M は変調次数を決定します。

このプロパティを false に設定すると、step メソッドは入力データ ベクトルと同じ長さの列ベクトルを出力します。ベクトルには、0 から M–1 の範囲にある整数シンボル値が含まれます。

DecisionMethod

復調判定メソッド

オブジェクトが使用する判定方法を、Hard decisionLog-likelihood ratio または Approximate log-likelihood ratio のいずれかとして指定します。既定の設定は Hard decision です。BitOutput プロパティを false に設定すると、オブジェクトは常に硬判定復調を実行します。このプロパティは、BitOutput プロパティを true に設定した場合に適用されます。

VarianceSource

ノイズ分散のソース

ノイズ分散のソースを、Property または Input port のいずれかとして指定します。既定の設定は Property です。このプロパティは、DecisionMethod プロパティを Log-likelihood ratio または Approximate log-likelihood ratio に設定した場合に適用されます。

Variance

ノイズ分散

ノイズの分散を非ゼロの実数スカラー値として指定します。既定の設定は 1 です。この値が非常に小さい (つまり、SNR が非常に大きい) 場合、対数尤度比 (LLR) 計算は Inf または -Inf を生成することがあります。この結果は、LLR アルゴリズムが非常に大きいまたは小さい数値の指数関数を有限精度の演算により計算することにより発生します。このような場合は、指数計算を行わないアルゴリズムをもつ近似 LLR の使用をお勧めします。このプロパティは、VarianceSource プロパティを Property に設定した場合に適用されます。このプロパティは調整可能です。

OutputDataType

出力のデータ型

出力データ型を Full precisionSmallest unsigned integerdoublesingleint8uint8int16uint16int32 または uint32 のいずれかに指定します。既定の設定は Full precision です。

このプロパティは、BitOutput プロパティを false に設定、または BitOutput プロパティを true に設定し、かつ DecisionMethod プロパティを Hard decision または Approximate log-likelihood ratio に設定する場合にのみ適用されます。この場合、OutputDataType プロパティを Full precision に設定すると、入力データが単精度または倍精度のデータ型であるときに、出力データ型は入力のデータ型と同じになります。

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

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

BitOutput プロパティを true に設定し、DecisionMethod プロパティを Hard Decision に設定すると、logical データ型は有効なオプションになります。

BitOutput プロパティを true に、DecisionMethod プロパティを Approximate log-likelihood ratio に設定すると、このプロパティは Full precision または Custom にのみ設定できます。

BitOutput プロパティを true に、DecisionMethod プロパティを Log-likelihood ratio に設定した場合、出力データは入力と同じデータ型になります。この場合、その値は単精度または倍精度のみになります。

 固定小数点プロパティ

メソッド

step任意の QAM コンスタレーションの復調
すべての System object に共通
release

System object のプロパティ値の変更の許可

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

 % Setup a three point constellation
 c = [1 1i -1];
 hQAMMod = comm.GeneralQAMModulator(c);
 hAWGN = comm.AWGNChannel('NoiseMethod', ...
     'Signal to noise ratio (SNR)','SNR',15,'SignalPower',0.89);
 hQAMDemod = comm.GeneralQAMDemodulator(c);

 %Create an error rate calculator
 hError = comm.ErrorRate;
 for counter = 1:100
     % Transmit a 50-symbol frame
     data = randi([0 2],50,1);
     modSignal = step(hQAMMod, data);
     noisySignal = step(hAWGN, modSignal);
     receivedData = step(hQAMDemod, noisySignal);
     errorStats = step(hError, data, receivedData);
 end
 fprintf('Error rate = %f\nNumber of errors = %d\n', ...
      errorStats(1), errorStats(2))

詳細

すべて展開する

アルゴリズム

このオブジェクトは、General QAM Demodulator Baseband ブロックのリファレンス ページで説明されているアルゴリズム、入力、および出力を実装しています。オブジェクト プロパティはブロック パラメーターに対応します。

拡張機能

R2012a で導入