Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

comm.QPSKDemodulator

(削除予定) QPSK メソッドを使用した復調

comm.QPSKDemodulator は将来のリリースで削除される予定です。代わりに pskdemod を使用してください。コードの更新の詳細については、バージョン履歴を参照してください。

説明

comm.QPSKDemodulator オブジェクトは、直交位相偏移変調 (QPSK) メソッドを使用して変調された信号を復調します。入力は、変調信号のベースバンド表現です。

QPSK メソッドを使用して変調された信号を復調するには、次のようにします。

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

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

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

作成

説明

qpskdemod = comm.QPSKDemodulator は、入力 QPSK 信号を復調する System object™ を作成します。

qpskdemod = comm.QPSKDemodulator(Name=Value) は、名前と値の引数を 1 つ以上使用してプロパティを設定します。たとえば、DecisionMethod="Hard decision" は硬判定メソッドを使用する復調を指定します。

qpskdemod = comm.QPSKDemodulator(phase=Name,Value) は、PhaseOffset プロパティを phase に設定し、オプションで名前と値の引数を設定します。phase をラジアン単位で指定します。

プロパティ

すべて展開する

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

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

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

コンスタレーションの 0 番目の点の位相 (ラジアン単位)。スカラーとして指定します。

例: PhaseOffset=0 とすると、QPSK 信号コンスタレーション点が座標軸上で {(1,0), (0,j), (-1,0), (0,-j)} に配置されます。

データ型: double

ビットとしてデータを出力するオプション。logical 0 (false) または logical 1 (true) として指定します。

  • 入力データ ベクトル長と同じ長さで範囲 [0, 3] の整数値としてシンボルを出力するには、このプロパティを false に設定する。

  • 長さが入力データ ベクトル長の 2 倍に等しいビット値の列ベクトルを出力するには、このプロパティを true に設定する。

データ型: logical

コンスタレーション ビットのシンボルの符号化マッピング。'Gray' または 'Binary' として指定します。

設定整数のコンスタレーション マッピングビットのコンスタレーション マッピングコメント

Gray

グレイ符号の順序を使用してシンボルがマッピングされます。

Binary

通常のバイナリ符号の順序を使用してシンボルがマッピングされます。信号コンスタレーションは複素数値 ej(PhaseOffset + (2πm/4)) にマッピングされます。ここで、m は範囲 [0, 3] の整数です。

復調判定メソッド。'Hard decision''Log-likelihood ratio'、または 'Approximate log-likelihood ratio' として指定します。BitOutput プロパティを false に設定すると、オブジェクトは常に硬判定復調を実行します。

依存関係

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

ノイズ分散のソース。'Property' または 'Input port' として指定します。

依存関係

このプロパティを有効にするには、BitOutput プロパティを true に、DecisionMethod プロパティを 'Log-likelihood ratio' または 'Approximate log-likelihood ratio' に設定します。

ノイズ分散。正のスカラーとして指定します。

調整可能: Yes

ヒント

厳密な LLR アルゴリズムは有限の精度演算で指数を計算します。計算に非常に大きな正または負の振幅が含まれる場合、厳密な LLR アルゴリズムの結果は次のようになります。

  • ノイズ分散が極度に大きい値の場合は、Inf または -Inf

  • ノイズ分散と信号強度の両方が非常に小さい値の場合は NaN

近似 LLR アルゴリズムでは指数が計算されません。近似 LLR アルゴリズムを使用することによって、Inf-Inf、および NaN の結果を回避できます。

依存関係

このプロパティを有効にするには、BitOutput プロパティを true に、DecisionMethod プロパティを 'Log-likelihood ratio' または 'Approximate log-likelihood ratio' に、VarianceSource プロパティを 'Property' に設定します。

データ型: double

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

  • 入力データ型が単精度または倍精度で、BitOutput プロパティを true に、DecisionMethod プロパティを 'Hard decision' に、OutputDataType プロパティを 'Full precision' に設定すると、出力のデータ型は入力と同じデータ型になります。

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

  • BitOutputtrue に、DecisionMethod プロパティを 'Hard Decision' に設定すると、'logical' データ型が有効なオプションになります。

  • BitOutput プロパティを true に、DecisionMethod プロパティを 'Log-likelihood ratio' または 'Approximate log-likelihood ratio' に設定すると、入力データ型は必ず単精度または倍精度になり、出力のデータ型は入力のデータ型と同じになります。

依存関係

このプロパティを有効にするには、BitOutput プロパティを false に設定するか、BitOutput プロパティを true に設定して DecisionMethod プロパティを 'Hard decision' に設定します。

固定小数点プロパティ

逆回転ファクターのデータ型。'Same word length as input' または 'Custom' として指定します。このオブジェクトは、入力信号が固定小数点型で、PhaseOffset プロパティの値が π/4 の偶数倍ではない場合にのみ、逆回転ファクターを計算に使用します。

依存関係

このプロパティを有効にするには、BitOutput プロパティを false に設定するか、BitOutput プロパティを true に設定して DecisionMethod プロパティを 'Hard decision' に設定します。

逆回転ファクターの固定小数点データ型。AutoSignedness を伴う、スケーリングなしの numerictype (Fixed-Point Designer) オブジェクトとして指定します。

依存関係

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

データ型: numerictype object

使用法

説明

y = qpskdemod(x) は、入力信号に QPSK 復調を適用し、復調された信号を返します。

y = qpskdemod(x,var) は、軟判定復調とノイズ分散 var を使用します。この構文は BitOutput プロパティを true に設定し、DecisionMethod プロパティを 'Approximate log-likelihood ratio' または 'Log-likelihood ratio' に、さらに VarianceSource プロパティを 'Input port' に設定した場合に適用されます。

入力引数

すべて展開する

QPSK 変調された信号。スカラーまたは列ベクトルとして指定します。

依存関係

BitOutput プロパティを false に設定した場合、または DecisionMethod プロパティを 'Hard decision' に設定して BitOutput プロパティを true に設定した場合、オブジェクトは符号付き整数データ型または符号付き固定小数点 (sfi (Fixed-Point Designer)) オブジェクトの入力を受け入れます。

データ型: double | single | int | fi

ノイズ分散。スカラーとして指定します。

依存関係

この引数を有効にするには、VarianceSource プロパティを 'Input port' に、BitOutput プロパティを true に、DecisionMethod プロパティを 'Approximate log-likelihood ratio' または 'Log-likelihood ratio' に設定します。

データ型: single | double

出力引数

すべて展開する

出力信号。スカラーまたは列ベクトルとして返されます。オブジェクトが値を整数として出力するかビットとして出力するかを指定するには、BitOutput プロパティを使用します。出力データ型を指定するには、OutputDataType プロパティを使用します。

オブジェクト関数

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

release(obj)

すべて展開する

constellation理想的な信号コンスタレーションの計算またはプロット
stepSystem object のアルゴリズムの実行
releaseリソースを解放し、System object のプロパティ値と入力特性の変更を可能にします。
resetSystem object の内部状態のリセット

すべて折りたたむ

AWGN チャネルを通してフィルター処理された QPSK 変調信号のビット エラー レートを推定します。

ビットを操作する QPSK 変調器および復調器のペアを作成します。

qpskModulator = comm.QPSKModulator('BitInput',true);
qpskDemodulator = comm.QPSKDemodulator('BitOutput',true);

AWGN チャネル オブジェクトとエラー レート カウンターを作成します。

channel = comm.AWGNChannel('EbNo',4,'BitsPerSymbol',2);
errorRate = comm.ErrorRate;

ランダムなバイナリ データを生成し、QPSK 変調を適用します。

data = randi([0 1],1000,1);
txSig = qpskModulator(data);

AWGN チャネルを通して信号を渡し、復調します。

rxSig = channel(txSig);
rxData = qpskDemodulator(rxSig);

誤り統計を計算します。BER を表示します。

errorStats = errorRate(data,rxData);

errorStats(1)
ans = 0.0100

詳細

すべて展開する

拡張機能

バージョン履歴

R2012a で導入

すべて折りたたむ

R2023a: 削除予定

comm.QPSKDemodulator は将来のリリースで削除される予定です。入力信号を QPSK 復調するには、変調次数を 4 に設定して関数 pskdemod を使用します。