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

dsp.LogicAnalyzer

時間の経過に沿った遷移と状態の可視化、測定および解析

説明

ロジック アナライザー System object™ には、時間領域信号の遷移が表示されます。dsp.LogicAnalyzer を使用して次のことができます。

  • モデルのデバッグと解析

  • 96 の信号の同時トレースおよび相関

  • タイミング違反の検出と解析

  • システムの実行のトレース

  • トリガーを使用した信号の変化の検出

ロジック アナライザーで信号の遷移を表示するには、次のようにします。

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

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

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

ロジック アナライザーの設定およびカスタマイズ方法の詳細については、ロジック アナライザーを参照してください。

作成

説明

scope = dsp.LogicAnalyzer は、ロジック アナライザー System object の scope を作成します。

scope = dsp.LogicAnalyzer(Name,Value) は、1 つ以上の名前と値のペアを使用してプロパティを設定します。各プロパティを、一重引用符で囲みます。たとえば、scope = dsp.LogicAnalyzer('BackgroundColor','White','NumInputPorts',4) のようにします。

プロパティ

すべて展開する

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

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

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

表示の背景色。'Black' または 'White' に指定します。

調整可能: Yes

データ型: char | string

チャネルの表示色。RGB 3 成分として指定します。

RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

調整可能: Yes

データ型: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

チャネルの表示フォント サイズ (ポイント単位)。非負の整数として指定します。

調整可能: Yes

データ型: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

チャネルの表示形式。次のいずれかを指定します。

  • 'Automatic' — 浮動小数点信号は Analog 形式で表示し、整数および固定小数点信号は Digital 形式で表示します。boolean 信号は 0 または 1 として表示されます。

  • 'Analog' — 値をアナログ プロットで表示します。

  • 'Digital' — 値をデジタル遷移で表示します。

調整可能: Yes

データ型: char | string

チャネルの表示の高さ (ピクセル単位)。[8, 200] の範囲の正の実数スカラーで指定します。

調整可能: Yes

データ型: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

このプロパティは固定小数点 (fi) 値にのみ適用されます。

調整可能: Yes

データ型: char | string

チャネルの表示間隔 (ピクセル)。正のスカラー整数で指定します。

調整可能: Yes

データ型: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

スコープ ウィンドウに表示する表題。文字ベクトルまたは string として指定します。

調整可能: Yes

データ型: char | string

入力端子の数。正の整数として指定します。個別の入力から入ってくる各信号はスコープで個別のチャネルになります。このプロパティの値と同じ入力の数でスコープを呼び出さなければなりません。

画面上のスコープ ウィンドウの位置 (ピクセル単位)。[left bottom width height] ベクトルとして指定します。既定の位置は画面の解像度により異なります。既定では、スコープ ウィンドウは幅 800 ピクセル、高さ 600 ピクセルで画面中央に表示されます。

調整可能: Yes

データ型: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

入力のサンプル時間 (秒単位)。有限の数値スカラーとして指定します。同じサンプル時間がすべての入力に使用されます。

データ型: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

時間表示オフセット (秒単位)。非負のスカラーとして指定します。

調整可能: Yes

データ型: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

時間範囲 (秒単位)。正のスカラーとして指定します。x 軸の範囲は、次のように計算されます。

  • x 軸の範囲の最小値 = min(TimeDisplayOffset)

  • x 軸の範囲の最大値 = max(TimeDisplayOffset) + TimeSpan

ここで、TimeDisplayOffsetTimeSpan は、それぞれのプロパティの値です。

調整可能: Yes

データ型: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

使用法

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

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

説明

scope(signal) では、ロジック アナライザー スコープの信号 signal が表示されます。

scope(signal1,signal2,...signalN) では、NumInputPorts プロパティを N に設定している場合にロジック アナライザーに複数の信号が表示されます。信号ごとに、データ型と次元が異なる場合があります。

入力引数

すべて展開する

可視化する 1 つ以上の入力信号を dsp.LogicAnalyzer で指定します。信号はデータ型と次元が異なる場合があります。

整数は 64 ビットまでサポートされ、固定小数点信号は 128 ビットまでサポートされます。

例: scope(signal1,signal2)

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | struct | テーブル | cell

オブジェクト関数

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

release(obj)

すべて展開する

addCursorAdd cursor to Logic Analyzer
addDividerAdd divider to Logic Analyzer
addWaveAdd wave to Logic Analyzer
deleteCursorDelete Logic Analyzer cursor
deleteDisplayChannelDelete Logic Analyzer channel
getCursorInfoReturn settings for Logic Analyzer cursor
getCursorTagsReturn all Logic Analyzer cursor tags
getDisplayChannelInfoReturn settings for Logic Analyzer display channel
getDisplayChannelTagsReturn all Logic Analyzer display channel tags
modifyCursorModify properties of Logic Analyzer cursor
modifyDisplayChannelModify properties of Logic Analyzer display channel
moveDisplayChannelMove position of Logic Analyzer display channel
showDisplay scope window
hideHide scope window
isVisibleDetermine visibility of scope
stepSystem object のアルゴリズムの実行
releaseリソースを解放し、System object のプロパティ値と入力特性の変更を可能にします。
resetSystem object の内部状態のリセット

すべて展開する

dsp.LogicAnalyzer オブジェクトを作成します。ループ内のスコープを呼び出して信号を表示します。

scope = dsp.LogicAnalyzer('NumInputPorts',3);
for ii = 1:20
    scope(ii,10*ii,20*ii);
end

4 つのチャネルをもつ dsp.LogicAnalyzer オブジェクトを作成します。modifyDisplayChannel を呼び出して、各チャネルの基数を設定します。ループ内のスコープを実行して波形を表示します。

scope = dsp.LogicAnalyzer('NumInputPorts',4,'DisplayChannelFormat','Digital');
scope.TimeSpan = 12;

modifyDisplayChannel(scope,1,'Name','Index','Radix','Unsigned decimal'); 
modifyDisplayChannel(scope,2,'Name','Fi_hex','Radix','Hexadecimal'); 
modifyDisplayChannel(scope,3,'Name','Fi_bin','Radix','Binary'); 
modifyDisplayChannel(scope,4,'Name','Fi_actual','Radix','Signed decimal'); 

for ii = 1:20 
    fival = fi((ii-1)/16,0,4,4); 
    scope(ii,fival,fival,fival); 
end

曜日の値の列挙型リストを保持する WeekDaysInt クラスを定義します。次のクラス定義ファイルを作成および保存します。

classdef WeekDaysInt < int32
  enumeration
    Monday(1), Tuesday(2), Wednesday(3), Thursday(4), Friday(5)
  end
end

dsp.LogicAnalyzer オブジェクトを作成し、ベクトル、複素数および列挙型データ信号を設定します。

scope = dsp.LogicAnalyzer('NumInputPorts',6);
waves = getDisplayChannelTags(scope);

modifyDisplayChannel(scope,waves{1},'InputChannel',1,'Name','Vector Digital');
modifyDisplayChannel(scope,waves{2},'InputChannel',2,'Name','Vector Analog',...
    'Format','Analog','Height',80);
modifyDisplayChannel(scope,waves{3},'InputChannel',3,'Name','Complex Digital');
modifyDisplayChannel(scope,waves{4},'InputChannel',4,'Name','Complex Analog',...
    'Format','Analog','Height',80,'Color','Green');
modifyDisplayChannel(scope,waves{5},'InputChannel',5,'Name','Enum Digital');
modifyDisplayChannel(scope,waves{6},'InputChannel',6,'Name','Enum Analog',...
    'Format','Analog','Height',80);

ループ内のスコープ オブジェクトを呼び出して信号を表示します。

stop = 30;
for count = 1:stop
    sinValVec       = sin(count/stop*2*pi);
    cosValVec       = cos(count/stop*2*pi);
    cosValVecOffset = cos((count+10)/stop*2*pi);
    sinValReal      = sin((count+2)/stop*2*pi);
    cosValImag      = cos((count+2)/stop*2*pi);

    % Create a weekday enumerated value by wrapping the index
    day = WeekDaysInt(1+mod(count-1,5));

    scope(...
          [count (count-(stop/2))],...              % digital vector
          [sinValVec cosValVec cosValVecOffset],... % analog vector
          complex((count-(stop/2)),count),...       % digital complex
          complex(sinValReal, cosValImag),...       % analog complex
          day,...                                   % digital enum
          day...                                    % analog enum
          )
end

ヒント

ロジック アナライザー ウィンドウを閉じ、その関連データをクリアするには、MATLAB® の関数 clear を使用します。

R2013a で導入