Main Content

comm.CCDF

相補累積分布関数 (CCDF) 測定値

説明

comm.CCDF System object™ は、入力信号の CCDF 測定値を取得します。CCDF は、信号の瞬時電力が平均電力よりも上の指定されたレベルになる確率を測定します。

入力信号の CCDF 測定値を取得するには、次のようにします。

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

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

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

作成

説明

ccdf = comm.CCDF は、CCDF 測定 System object を作成します。

ccdf = comm.CCDF(Name,Value) は、名前と値からなる 1 つ以上の引数を使用してプロパティを設定します。たとえば、comm.CCDF('NumPoints',2000) は 2,000 の CCDF 点を持つ CCDF 測定オブジェクトを作成します。

プロパティ

すべて展開する

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

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

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

CCDF 点の数。正の整数として指定します。このプロパティと MaximumPowerLimit プロパティによって、オブジェクトが CCDF 曲線の推定に使用するヒストグラム ビンのサイズが制御されます。ヒストグラム ビンのサイズにより、曲線の解像度が決まります。すべての入力チャネルには、同数の CCDF 点があります。

データ型: double

予想される最大入力信号強度の上限。次のいずれかのオプションを指定します。

  • 数値スカラー — 入力信号のすべてのチャネルにおいて、予想される最大強度は同じです。

  • 数値行ベクトル — ベクトルの i 番目の要素が、入力信号の i 番目のチャネルで予想される最大電力です。

それぞれの入力チャネルに対し、オブジェクトは、瞬時入力信号強度のヒストグラムを積分して CCDF 結果を取得します。オブジェクトは、このプロパティで指定された強度以上のすべての強度の発生が最後のビンに収集されるように、ヒストグラムのビンを設定します。オブジェクトは、入力信号がその指定された最大強度の上限を超えると、警告を発行します。

このプロパティと NumPoints プロパティによって、オブジェクトが CCDF 曲線の推定に使用するヒストグラム ビンのサイズが制御されます。ヒストグラム ビンのサイズにより、曲線の解像度が決まります。

このプロパティの単位を指定するには、PowerUnits プロパティを使用します。

データ型: double

電力測定値の単位。次のいずれかの値を指定します。

  • 'dBm' または 'dBW' — オブジェクトは相対電力値を dB スケールで返します。

  • 'Watts' — オブジェクトは相対電力値を線形スケールで返します。

このプロパティにより、MaximumPowerLimit プロパティの電力の単位が決まります。

データ型: char | string

平均電力測定出力を有効にするオプション。論理値 0 (false) または 1 (true) として指定します。このプロパティを true に設定すると、オブジェクトはランニング平均の電力の測定値を返します。

データ型: logical | double

ピーク電力測定出力を有効にするオプション。論理値 0 (false) または 1 (true) として指定します。このプロパティを true に設定すると、オブジェクトは実行中のピーク電力測定の結果を返します。

データ型: logical | double

ピーク/平均強度比 (PAPR) 測定出力を有効にするオプション。論理値 0 (false) または 1 (true) として指定します。このプロパティを true に設定すると、オブジェクトは実行中の PAPR 測定の結果を返します。

データ型: logical | double

使用法

説明

[ccdfy,ccdfx] = ccdf(signal) は、入力 signal の各チャネルの CCDF 曲線の y 軸上と x 軸上の点を返します。

[ccdfy,ccdfx,avg] = ccdf(signal) は、入力信号の各チャネルの平均電力測定値も返します。この構文を使用するには、AveragePowerOutputPort プロパティを true に設定します。

[ccdfy,ccdfx,peak] = ccdf(signal) は、入力信号の各チャネルのピーク電力測定値も返します。この構文を使用するには、PeakPowerOutputPort プロパティを true に設定します。

[ccdfy,ccdfx,papr] = ccdf(signal) は、入力信号の各チャネルの PAPR 測定値を返します。この構文を使用するには、PAPROutputPort プロパティを true に設定します。

[ccdfy,ccdfx,avg,peak,papr] = ccdf(signal) は、すべての CCDF 測定値を返します。この構文を使用するには、AveragePowerOutputPortPeakPowerOutputPortPAPROutputPort の各プロパティを true に設定します。

入力引数

すべて展開する

入力信号。M 行 N 列の複素数値の行列として指定します。M は時間サンプルの数、N は入力チャネルの数です。

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

出力引数

すべて展開する

各チャネルの CCDF 曲線の y 軸上の点。(NumPoints+1) 行 N 列の形式の数値行列として返されます。ここで、N は入力 signal の列数です。この行列の i 番目の列に、signal の i 番目の列で指定されているチャネルで測定された確率値が格納されます。確率値は範囲 [0, 100] のパーセント値です。

データ型: double

各チャネルの CCDF 曲線の x 軸上の点。(NumPoints+1) 行 N 列の形式の数値行列として返されます。ここで、N は入力 signal のチャネル数です。この行列の i 番目の列に、signal の i 番目の列で指定されているチャネルで測定された瞬時/平均電力比が格納されます。

データ型: double

各チャネルの平均電力測定値。数値列ベクトルとして返されます。i 番目の要素が、入力 signal の i 番目に指定されているチャネルの平均電力測定値に対応します。オブジェクトはこの値を、PowerUnits プロパティで指定されている単位で返します。

データ型: double

各チャネルのピーク電力測定値。数値列ベクトルとして返されます。i 番目の要素が、入力 signal の i 番目に指定されているチャネルのピーク電力測定値に対応します。オブジェクトはこの値を、PowerUnits プロパティで指定されている単位で返します。

データ型: double

各チャネルの PAPR 測定値。数値列ベクトルとして返されます。i 番目の要素が、入力 signal の i 番目に指定されているチャネルの PAPR 測定値に対応します。オブジェクトはこの値を、PowerUnits プロパティで指定されている単位で返します。

データ型: double

オブジェクト関数

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

release(obj)

すべて展開する

getPercentileRelativePowerCCDF を使用する与えられた百分位数の相対電力値
getProbabilityCCDF を使用する相対電力値の確率
plotCCDF 曲線の 2 次元ライン プロット
stepSystem object のアルゴリズムの実行
releaseリソースを解放し、System object のプロパティ値と入力特性の変更を可能にします。
resetSystem object の内部状態のリセット

すべて折りたたむ

16-QAM および QPSK で変調された信号を生成します。

qamTxSig = qammod(randi([0 15],20e3,1),16,'UnitAveragePower',true);
qpskTxSig = pskmod(randi([0 3],20e3,1),4,pi/4);

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

qamRxSig = awgn(qamTxSig,15);
qpskRxSig = awgn(qpskTxSig,15);

CCDF 測定オブジェクトを作成し、平均電力の測定値とピーク電力の測定値を出力できるようにします。

ccdf = comm.CCDF(...
    'AveragePowerOutputPort',true, ...
    'PeakPowerOutputPort',true);

2 つの波形の CCDF 測定値を取得します。

[ccdfy,ccdfx,avg,peak] = ccdf([qamRxSig qpskRxSig]);

両方の信号の CCDF 曲線をプロットします。

plot(ccdf)
legend('16-QAM','QPSK')

Figure contains an axes object. The axes object with title CCDF Measurement contains 2 objects of type line. These objects represent 16-QAM, QPSK.

拡張機能

バージョン履歴

R2012a で導入

参考

オブジェクト