最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

comm.ConstellationDiagram

入力信号のコンスタレーション ダイアグラムの表示

説明

comm.ConstellationDiagram System object™ は、実数および複素数値の浮動小数点信号および固定小数点信号を IQ 平面に表示します。この System object を使用して、変調された単一搬送波信号の定性解析と定量解析を実行します。

コンスタレーション ダイアグラム スコープ ウィンドウで、次のことができます。

  • 複数の信号を単一のコンスタレーション ダイアグラムに入力してプロットします。入力信号ごとに 1 つの基準コンスタレーションを定義できます。詳細については、ReferenceConstellation を参照してください。

  • 凡例で信号を選択することによって表示されるチャネルを選択します。ShowLegend プロパティを使用して、凡例を表示します。マルチチャネル信号の場合は、行列の列に個々の信号が定義された行列として入力を指定します。

  • 計算されたエラー ベクトル振幅 (EVM) と変調誤差比 (MER) の測定値が表示されるEVM/MER の測定パネルを表示します。comm.ConstellationDiagram System object に複数の信号が入力される場合は、[トレース選択] ペインを使用して測定される信号を選択します。

コンスタレーション ダイアグラムを表示するには、次の操作を行います。

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

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

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

作成

説明

constdiag = comm.ConstellationDiagram は、実数および複素数値の浮動小数点信号および固定小数点信号を IQ 平面に表示する comm.ConstellationDiagram System object を返します。

constdiag = comm.ConstellationDiagram(Name,Value) は、(Name1,Value1,...,NameN,ValueN) のように、任意の順番で 1 つ以上の名前と値のペアの引数を使用して System object のプロパティを設定します。

例: constdiag = comm.ConstellationDiagram('SampleOffset',1e3) は、最初の 1000 個の受信サンプルが表示されないことを指定します。

プロパティ

すべて展開する

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

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

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

コンスタレーション ダイアグラム ウィンドウのタイトル。文字ベクトルとして指定します。

各シンボルを表示するために使用されるサンプル数。正の整数として指定します。SamplesPerSymbol プロパティが 1 より大きい場合、信号はプロットされる前にダウンサンプリングされます。

調整可能: Yes

点をプロットする前にスキップするサンプル数。SamplesPerSymbol より小さい非負の整数として指定します。このプロパティは、入力信号をダウンサンプリングするときにスキップするサンプル数を指定します。

調整可能: Yes

表示するシンボルのソース。次のように指定します。

  • 'Input frame length' — 表示するシンボル数は、入力フレーム長を SamplesPerSymbol で除算したものと等しくなります。

  • 'Property'SymbolsToDisplay は、表示するシンボルの最大数を指定します。

調整可能: Yes

表示するシンボルの最大数。正の整数として指定します。長い信号が入力されたときに表示されるシンボルの最大数を制限するには、SymbolsToDisplay を使用します。プロット済みシンボルは、受信した最新のシンボルです。

調整可能: Yes

依存関係

このプロパティは、SymbolsToDisplaySource'Property' に設定されている場合に適用されます。

入力信号の基準コンスタレーション。各入力信号の理想的なコンスタレーション点を定義する行ベクトルまたはベクトルの cell 配列として指定します。入力信号は単一チャネルまたはマルチチャネルです。入力信号ごとに 1 つの基準コンスタレーションを定義できます。マルチチャネル入力信号の場合は、1 つの基準コンスタレーション仕様が、その入力信号内の個々の信号すべてに適用されます。EVM/MER の測定を取得するには、[ReferenceConstellation] プロパティを設定しなければなりません。

調整可能: Yes

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

参照表示用のマーカーを、string または string の cell 配列として指定します。マーカー記号に、次の表のいずれかのマーカーを選択します。

説明
'o'
'+'プラス記号
'*'アスタリスク
'.'
'x'十字
'square' または 's'正方形
'diamond' または 'd'菱形
'^'上向き三角形
'v'下向き三角形
'>'右向き三角形
'<'左向き三角形
'pentagram' または 'p'星形五角形
'hexagram' または 'h'星形六角形
'none'マーカーなし

調整可能: Yes

データ型: string

基準コンスタレーションの表示色。各入力信号の RGB 成分の色を示す 3 要素の行ベクトル、または RGB 成分の色を含む cell 配列として指定します。

データ型: double

基準コンスタレーションを表示します。true または false として指定します。

調整可能: Yes

データ型: logical

信号軌跡プロットをオンにします。false または true として指定します。信号の軌跡とは、変調信号の直交成分に対する同相成分のプロットです。信号の表示のツール バーの Show Signal Trajectory ボタンを参照してください。

調整可能: Yes

データ型: logical

スコープ ウィンドウの位置とサイズ (ピクセル)。[left bottom width height] の形式の 4 要素ベクトルとして指定します。ベクトルの最初の 2 つの要素は左下隅の位置を指定し、最後の 2 つの要素はウィンドウのサイズを指定します。位置の既定値は画面の解像度により異なります。既定では、ウィンドウは画面の中央に配置され、幅と高さはそれぞれ 410 ピクセルと 300 ピクセルです。

調整可能: Yes

データ型: double

入力端子の数を、[1, 20] の範囲の整数で指定します。各入力信号は、マルチチャネル信号でも単一チャネル信号でも、スコープ内で個別の入力端子になります。

マルチチャネル入力信号が指定されている場合、入力端子の最大数は定義されている入力信号の総数によって制限されます。入力信号の総数は 20 を超えることはできません。

グリッドをオンにします。true または false として指定します。

調整可能: Yes

データ型: 論理値

入力チャネルの名前。string または文字ベクトルの cell 配列として指定します。名前が指定されない場合、チャネルには Channel 1Channel 2 などのラベルが付けられます。

入力チャネルに割り当てられた名前は、凡例と [測定値][トレース選択] ペインに表示されます。

凡例を表示するには、ShowLegendtrue に設定します。凡例は、comm.ConstellationDiagramSystem object に入力信号を指定すると表示されます。

[トレース選択] ペインを表示するには、[ツール][測定値][トレース選択] を選択します。[トレース選択] ペインを有効にするには、まず comm.ConstellationDiagramSystem object に入力信号を指定しなければなりません。

例: constDiag = comm.ConstellationDiagram('ChannelNames',{'8-QAM','8-PSK'}) は、2 つの入力チャネルの名前を 8-QAM8-PSK に割り当てます。

調整可能: Yes

凡例を表示します。false または true として指定します。凡例にリストされている名前は ChannelNames プロパティにより指定された信号名です。

プロットする信号を凡例から制御できます。スコープの凡例で、信号名をクリックするとそのスコープ内の信号が非表示になります。信号を表示する場合は、信号名を再度クリックします。信号を 1 つのみ表示してその他の信号を非表示にするには、信号名を右クリックします。すべての信号を表示するには Esc キーを押します。

調整可能: Yes

データ型: logical

退色効果を追加します。false または true として指定します。このプロパティを true に設定すると、画面上に最初にプロットされた点からの時間間隔が開くにつれて点の色が薄くなります。このアニメーションはオシロスコープ表示に似ています。

データ型: logical

プロットのタイトル。文字ベクトルまたは string として指定します。

調整可能: Yes

x 軸の範囲。[xmin xmax] の形式の、2 要素の数値ベクトルとして指定します。

調整可能: Yes

y 軸の範囲。[ymin ymax] の形式の、2 要素の数値ベクトルとして指定します。

調整可能: Yes

x 軸のラベル。文字ベクトルまたは文字列として指定します。

調整可能: Yes

y 軸のラベル。文字ベクトルまたは string として指定します。

調整可能: Yes

測定値ペインを表示します。false または true として指定します。EVM または MER の測定値を計算して表示するには、このペインをアクティブにします。

調整可能: Yes

データ型: logical

測定間隔。'Current Display''All displays'、または [2 SymbolsToDisplay] の範囲内の正の整数として指定します。このプロパティは EVM と MER の測定の時間ウィンドウの長さを指定します。

入力信号のシンボルあたりのサンプル数が 1 で、基準コンスタレーションが提供されている場合、コンスタレーション ダイアグラム表示では信号品質を EVM および MER で測定できます。EVM/MER の測定ペインは、Signal Quality ボタンをクリックすることで表示できます。信号の表示のツール バーを参照してください。入力データ サンプルの数が MeasurementInterval よりも大きくなると、EVM と MER の測定値が計算されます。

調整可能: Yes

EVM 正規化方式。'Average constellation power' または 'Peak constellation power' として指定します。詳細については、EVM/MER の測定を参照してください。

調整可能: Yes

使用法

R2016b より前のバージョンでは、関数 step を使用して System object アルゴリズムを実行します。step に対する引数は作成したオブジェクトであり、この節で示す引数が次に続きます。

たとえば、y = step(obj,x)y = obj(x) は同等の演算を実行します。

説明

constdiag(signal1,signal2,...,signalN) は、最大で NumInputPorts 個の信号を 1 つのコンスタレーション ダイアグラムに表示します。

入力引数

すべて展開する

comm.ConstellationDiagram でプロットする 1 つ以上の入力信号を指定します。信号はデータ型と次元が異なる場合があります。マルチチャネル信号を作成するには、行列の列に個々の信号が定義された行列を指定します。

例: constDiag([siganl1_1,signal1_2],signal2) は、マルチチャネルおよび多入力のコンスタレーション ダイアグラムを表示します。最初の入力は N 行 2 列の行列入力信号を作成するための長さ N の 2 つの連結列ベクトルで、2 番目の入力は単一チャネル信号です。

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

オブジェクト関数

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

release(obj)

すべて展開する

showスコープ ウィンドウの表示
hideスコープ ウィンドウを非表示にする
isVisibleスコープ ウィンドウの可視性の決定
stepSystem object のアルゴリズムの実行
releaseリソースを解放し、System object のプロパティ値と入力特性の変更を可能にします。
resetSystem object の内部状態のリセット

すべて展開する

ランダム データ シンボルを QPSK 変調して、信号に振幅の不均衡を適用します。ノイズの多いチャネルを通して信号を渡します。結果のコンスタレーションをプロットします。

コンスタレーション ダイアグラム オブジェクトを作成します。comm.ConstellationDiagram System object の既定の基準コンスタレーションは QPSK であるため、追加のプロパティを設定する必要はありません。

constDiagram = comm.ConstellationDiagram;

ランダム データ シンボルを生成して QPSK 変調を適用します。

data = randi([0 3],1000,1);
modData = pskmod(data,4,pi/4);

振幅の不均衡を変調信号に適用します。

txSig = iqimbal(modData,5);

送信信号を、AWGN チャネルから渡してコンスタレーション ダイアグラムを表示します。データ点が理想的な場所から移動していることを確認します。

rxSig = awgn(txSig,20);
constDiagram(rxSig)

16-QAM 変調を適用し、AWGN チャネルを使用してデータを送信して、コンスタレーションをプロットします。

16-QAM 基準コンスタレーションを作成します。

M = 16;
refC = qammod(0:M-1,M);

comm.ConstellationDiagram System object を作成します。名前と値のペアを使用してコンスタレーション基準点と座標軸の範囲を指定します。

constDiagram = comm.ConstellationDiagram('ReferenceConstellation',refC, ...
    'XLimits',[-4 4],'YLimits',[-4 4]);

ランダムな 16 値データ シンボルを生成します。

data = randi([0 M-1],1000,1);

16-QAM 変調を適用します。

sym = qammod(data,M);

AWGN チャネルを通して、変調された信号を渡します。

rcv = awgn(sym,15);

コンスタレーション ダイアグラムを表示します。

constDiagram(rcv)

comm.ConstellationDiagramSystem object を使用して、多入力およびマルチチャネルの変調信号のコンスタレーションを可視化します。最初の入力に SNR が 10 と 20 の 2 つの 16-QAM 信号を含み、2 番目の入力に 1 つの 8-PSK 信号を含むマルチチャネル信号をプロットします。

16-QAM および 8-PSK の基準コンスタレーションを作成します。

M = 16;
refQAM = qammod(0:M-1,M);
S = 8;
refPSK = pskmod(0:S-1,S,pi/8);

comm.ConstellationDiagram object™ を作成します。

constDiag = comm.ConstellationDiagram(2,...
      'ReferenceConstellation',{refQAM,refPSK},'ShowLegend',true,...
      'XLimits',[-6 6],'YLimits',[-6 6], ...
      'ChannelNames',{'16-QAM , SNR 10 dB','16-QAM , SNR 20 dB','8-PSK'});

ランダム データ シンボルを生成し、シンボルを変調して、2 つの異なる SNR をもつ AWGN を追加して 2 つの受信信号を得ます。

d = randi([0 M-1],1000,1);
dQAM = qammod(d,M);
rcv1_1 = awgn(dQAM,10);
rcv1_2 = awgn(dQAM,20);
d = randi([0 S-1],1000,1);
dPSK = pskmod(d,S,pi/8);
rcv2 = awgn(dPSK,20);

最初の入力では、2 つの受信 16-QAM 信号を連結して、マルチチャネル信号を作成します。1 つの入力のすべてのマルチチャネル信号に単一の基準コンスタレーションが適用されます。2 番目の入力では単一チャネルの 8-PSK 信号を使用します。この入力には個別の基準コンスタレーションがあります。

多入力およびマルチチャネルの信号を表示します。

constDiag([rcv1_1,rcv1_2],rcv2);

詳細

すべて展開する

ヒント

  • 次のいずれかの機能が必要な場合は、comm.ConstellationDiagram System object を使用します。

    • 測定値

    • 標準の基準コンスタレーション

    • 信号軌跡プロット

    • 呼び出し間の状態の維持

  • 簡単なコンスタレーションのスナップショットが必要な場合は、関数 scatterplot を使用します。

拡張機能

参考

ブロック

System object

関数

R2013a で導入