dsp.LogicAnalyzer
時間の経過に沿った遷移と状態の可視化、測定および解析
説明
ロジック アナライザー System object™ には、時間領域信号の遷移が表示されます。dsp.LogicAnalyzer
を使用して次のことができます。
モデルのデバッグと解析
96 の信号の同時トレースおよび相関
タイミング違反の検出と解析
システムの実行のトレース
トリガーを使用した信号の変化の検出
ロジック アナライザーで信号の遷移を表示するには、次のようにします。
dsp.LogicAnalyzer
オブジェクトを作成し、そのプロパティを設定します。関数と同様に、引数を指定してオブジェクトを呼び出します。
System object の機能の詳細については、System object とはを参照してください。
ロジック アナライザーの設定およびカスタマイズ方法の詳細については、ロジック アナライザーを参照してください。
作成
説明
scope = dsp.LogicAnalyzer
は、ロジック アナライザー System object の scope
を作成します。
scope = dsp.LogicAnalyzer(Name,Value)
は、1 つ以上の名前と値のペアを使用してプロパティを設定します。各プロパティ名を一重引用符で囲みます。たとえば、scope = dsp.LogicAnalyzer('BackgroundColor','White','NumInputPorts',4)
のようにします。
プロパティ
特に指定がない限り、プロパティは "調整不可能" です。つまり、オブジェクトの呼び出し後に値を変更することはできません。オブジェクトは呼び出すとロックされ、ロックを解除するには関数 release
を使用します。
プロパティが "調整可能" の場合、その値をいつでも変更できます。
プロパティ値の変更の詳細については、System object を使用した MATLAB でのシステム設計を参照してください。
BackgroundColor
— 表示の背景色
'Black'
(既定値) | 'White'
表示の背景色。'Black'
または 'White'
に指定します。
調整可能: Yes
データ型: char
| string
DisplayChannelColor
— チャネルの表示色
[0.0588 1 1]
(既定値) | RGB 3 成分
チャネルの表示色。RGB 3 成分として指定します。
RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7]
のようになります。
調整可能: Yes
データ型: double
| single
| uint8
| uint16
| uint32
| uint64
| int8
| int16
| int32
| int64
DisplayChannelFontSize
— チャネルの表示フォント サイズ
12
(既定値) | 非負のスカラー整数
チャネルの表示フォント サイズ (ポイント単位)。非負の整数として指定します。
調整可能: Yes
データ型: double
| single
| uint8
| uint16
| uint32
| uint64
| int8
| int16
| int32
| int64
DisplayChannelFormat
— チャネルの表示形式
'Automatic'
(既定値) | 'Analog'
| 'Digital'
チャネルの表示形式。次のいずれかを指定します。
'Automatic'
— 浮動小数点信号はAnalog
形式で表示し、整数および固定小数点信号はDigital
形式で表示します。boolean 信号は 0 または 1 として表示されます。'Analog'
— 値をアナログ プロットで表示します。'Digital'
— 値をデジタル遷移で表示します。
調整可能: Yes
データ型: char
| string
DisplayChannelHeight
— チャネルの表示の高さ
12
(既定値) | 正の実数のスカラー
チャネルの表示の高さ (ピクセル単位)。[8, 200] の範囲の正の実数スカラーで指定します。
調整可能: Yes
データ型: double
| single
| uint8
| uint16
| uint32
| uint64
| int8
| int16
| int32
| int64
DisplayChannelRadix
— 値の表示で使用される基底
'Hexadecimal'
(既定値) | 'Binary'
| 'Octal'
| 'Signed decimal'
| 'Unsigned decimal'
このプロパティは固定小数点 (fi
) 値にのみ適用されます。
調整可能: Yes
データ型: char
| string
DisplayChannelSpacing
— チャネルの表示間隔 (ピクセル)
4 (既定値) | 正の整数
チャネルの表示間隔 (ピクセル)。正のスカラー整数で指定します。
調整可能: Yes
データ型: double
| single
| uint8
| uint16
| uint32
| uint64
| int8
| int16
| int32
| int64
Name
— スコープ ウィンドウに表示する表題
'Logic Analyzer'
(既定値) | 文字ベクトル | string スカラー
スコープ ウィンドウに表示する表題。文字ベクトルまたは string として指定します。
調整可能: Yes
データ型: char
| string
NumInputPorts
— 入力端子の数
1
(既定値) | [1, 96] の間の整数
入力端子の数。正の整数として指定します。個別の入力から入ってくる各信号はスコープで個別のチャネルになります。このプロパティの値と同じ入力の数でスコープを呼び出さなければなりません。
Position
— スコープ ウィンドウの位置
[left bottom width height]
ベクトル
画面上のスコープ ウィンドウの位置 (ピクセル単位)。[left bottom width height]
ベクトルとして指定します。既定の位置は画面の解像度により異なります。既定では、スコープ ウィンドウは幅 800
ピクセル、高さ 600
ピクセルで画面中央に表示されます。
調整可能: Yes
データ型: double
| single
| uint8
| uint16
| uint32
| uint64
| int8
| int16
| int32
| int64
SampleTime
— 入力サンプル時間
1
(既定値) | スカラー
入力のサンプル時間 (秒単位)。有限の数値スカラーとして指定します。同じサンプル時間がすべての入力に使用されます。
データ型: double
| single
| uint8
| uint16
| uint32
| uint64
| int8
| int16
| int32
| int64
TimeDisplayOffset
— 時間表示オフセット
0
(既定値) | 非負のスカラー
時間表示オフセット (秒単位)。非負のスカラーとして指定します。
調整可能: Yes
データ型: double
| single
| uint8
| uint16
| uint32
| uint64
| int8
| int16
| int32
| int64
TimeSpan
— 時間範囲
10
| 正のスカラー
時間範囲 (秒単位)。正のスカラーとして指定します。x 軸の範囲は、次のように計算されます。
x 軸の範囲の最小値 = min(
TimeDisplayOffset
)x 軸の範囲の最大値 = max(
TimeDisplayOffset
) +TimeSpan
ここで、TimeDisplayOffset
と TimeSpan
は、それぞれのプロパティの値です。
調整可能: Yes
データ型: double
| single
| uint8
| uint16
| uint32
| uint64
| int8
| int16
| int32
| int64
使用法
説明
入力引数
signal
— 可視化する入力信号
スカラー | ベクトル | 行列
可視化する 1 つ以上の入力信号を dsp.LogicAnalyzer
で指定します。信号はデータ型と次元が異なる場合があります。
整数は 64 ビットまでサポートされ、固定小数点信号は 128 ビットまでサポートされます。
例: scope(signal1,signal2)
データ型: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| logical
| struct
| table
| cell
オブジェクト関数
オブジェクト関数を使用するには、System object を最初の入力引数として指定します。たとえば、obj
という名前の System object のシステム リソースを解放するには、次の構文を使用します。
release(obj)
dsp.LogicAnalyzer に固有
addCursor | Add cursor to Logic Analyzer |
addDivider | ロジック アナライザーへのデバイダーの追加 |
addWave | Add wave to Logic Analyzer |
deleteCursor | Delete Logic Analyzer cursor |
deleteDisplayChannel | Delete Logic Analyzer channel |
getCursorInfo | Return settings for Logic Analyzer cursor |
getCursorTags | Return all Logic Analyzer cursor tags |
getDisplayChannelInfo | Return settings for Logic Analyzer display channel |
getDisplayChannelTags | Return all Logic Analyzer display channel tags |
modifyCursor | Modify properties of Logic Analyzer cursor |
modifyDisplayChannel | Modify properties of Logic Analyzer display channel |
moveDisplayChannel | Move position of Logic Analyzer display channel |
例
シンプルなランプ信号の表示
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 で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)