Main Content

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

comm.QPSKDemodulator

QPSK メソッドを使用した復調

説明

QPSKDemodulator オブジェクトは、直交位相シフト キーイング メソッドを使用して変調された信号を復調します。入力は、変調信号のベースバンド表現です。

直交位相シフト キーイングを使用して変調された信号を復調するには、以下の手順に従います。

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

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

メモ

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

構築

H = comm.QPSKDemodulator は復調器 System object H を作成します。このオブジェクトは、直交位相シフト キーイング (QPSK) メソッドを使用して、入力信号を復調します。

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

H = comm.QPSKDemodulator(PHASE,Name,Value) は QPSK 復調器オブジェクト H を作成します。このオブジェクトは、PhaseOffset プロパティを PHASE に設定し、指定の他のプロパティは指定の値に設定しています。

プロパティ

PhaseOffset

コンスタレーションの 0 番目の点の位相

コンスタレーションの 0 番目の点の位相オフセット (ラジアン) を実数のスカラー値として指定します。既定の設定は pi/4 です。

BitOutput

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

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

このプロパティを true に設定すると、step メソッドは、復調シンボルの数の 2 倍に等しい長さでビット値の列ベクトルを出力します。

このプロパティを false に設定すると、step メソッドは入力データ ベクトルと同じ長さの列ベクトルを出力します。このベクトルには、03 の間の整数シンボル値が含まれます。既定の設定は false です。

SymbolMapping

コンスタレーション符号化

オブジェクトが整数または 2 ビットのグループを対応するシンボルに Binary または Gray のいずれか 1 つでマップする方法を指定します。既定の設定は Gray です。

このプロパティを Gray に設定すると、オブジェクトはグレイ符号コンスタレーションを使用します。

このプロパティを Binary に設定すると、0m3 の間の整数 m が複素数値 exp(j×PhaseOffset + j×2π×m4) にマップされます。

DecisionMethod

復調判定メソッド

オブジェクトが使用する判定メソッドを Hard decisionLog-likelihood ratio または Approximate log-likelihood ratio として指定します。既定の設定は Hard decision です。

BitOutput プロパティを false に設定すると、このオブジェクトは常に硬判定復調を実行します。このプロパティは、BitOutput プロパティを true に設定した場合に適用されます。

VarianceSource

ノイズ分散のソース

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

Variance

ノイズ分散

ノイズの分散を正の実数スカラー値として指定します。既定の設定は 1 です。この値が非常に小さい (つまり、SNR が非常に高い) 場合、対数尤度比 (LLR) 計算で Inf または -Inf が出力されることがあります。これは、LLR アルゴリズムによって非常に大きい数または非常に小さい数の指数計算に有限精度演算が使用されるためです。このような場合は、そのオプションのアルゴリズムで指数が計算されないため、近似 LLR を使用します。

このプロパティは、BitOutput プロパティを true に設定し、DecisionMethod プロパティを Log-likelihood ratio または Approximate log-likelihood ratio に設定し、なおかつ VarianceSource プロパティを Property に設定した場合に適用されます。このプロパティは調整可能です。

OutputDataType

出力のデータ型

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

このプロパティは、BitOutput プロパティを false に設定した場合に適用されます。このプロパティはまた BitOutput プロパティを true に設定し、DecisionMethod プロパティを Hard decision に設定した場合にも適用されます。この 2 番目の場合、OutputDataType プロパティを Full precision に設定すると、入力データ型は単精度または倍精度になり、出力データは入力と同じになります。

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

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

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

 固定小数点プロパティ

メソッド

constellation理想的なコンスタレーションの計算またはプロット
stepQPSK メソッドを使用した復調
すべての System object に共通
release

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

すべて折りたたむ

QPSK 変調器を作成します。

mod = comm.QPSKModulator;

基準コンスタレーション点を決定します。

refC = constellation(mod)
refC = 4×1 complex

   0.7071 + 0.7071i
  -0.7071 + 0.7071i
  -0.7071 - 0.7071i
   0.7071 - 0.7071i

コンスタレーションをプロットします。

constellation(mod)

位相オフセットが 0 の PSK 復調器を作成します。

demod = comm.QPSKDemodulator('PhaseOffset',0);

その基準コンスタレーションをプロットします。constellation メソッドは、変調器オブジェクトと復調器オブジェクトの両方に働きます。

constellation(demod)

ビットを操作する 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

アルゴリズム

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

拡張機能

R2012a で導入