Main Content

dsp.TimeScope

(削除予定) 時間領域信号の表示と測定

説明

メモ

関数 dsp.TimeScope は推奨されません。代わりに timescope を使用してください。詳細については、互換性の考慮事項を参照してください。

dsp.TimeScope System object™ は時間領域信号を表示します。スコープを使用して、信号値の測定、ピークの検出、バイレベル測定と統計の表示を行うことができます。

スコープで時間領域信号を表示するには、以下を実行します。

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

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

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

オシロスコープの機能:

  • トリガー — イベントが発生したときに反復信号を同期して、表示を一時停止するようにトリガーを設定します。

  • カーソルの測定 — 垂直および水平カーソルを使用して信号値を測定します。

  • 信号の統計 — 選択した信号の最大値、最小値、ピーク間の差、平均値、中央値および RMS 値が表示されます。

  • ピークの検出 — 最大値を検出し、それらが発生する x 軸の値を表示します。

  • バイレベル測定 — 遷移、オーバーシュート、アンダーシュートおよびサイクルを測定します。

測定値とトリガーの詳細情報については、Time Scope ブロックの構成を参照してください。

スコープの表示機能:

  • 複数の信号 — 複数の入力端子を使用して、同じ y 軸 (表示) 上で複数の信号をプロットします。

  • 複数の y 軸 (表示) — 複数の y 軸を表示します。すべての y 軸が x 軸上に共通の時間範囲をもっています。

  • パラメーターの変更 — シミュレーション前およびシミュレーション中にスコープのパラメーター値を変更します。

  • 軸のオートスケーリング — シミュレーション中またはシミュレーションの最後にオートスケーリングします。座標軸の上下に余白が描画されます。

作成

説明

scope = dsp.TimeScope は Time Scope System object の scope を返します。このオブジェクトは、時間領域内の実数値と複素数値の浮動小数点信号と固定小数点信号を表示します。

scope = dsp.TimeScope(numInputs,sampleRate) は Time Scope を作成し、NumInputPorts プロパティを numInputs に、SampleRate プロパティを sampleRate に設定します。

scope = dsp.TimeScope(___,Name,Value) はプロパティを名前と値のペアとして設定します。

プロパティ

すべて展開する

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

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

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

よく使用される項目

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

入力信号のサンプル レート (Hz 単位) を指定します。

スカラー、または NumInputPorts の値に等しい長さをもつ数値ベクトルを指定できます。サンプル レートの逆数によって、表示された信号に存在する時間軸の点の間の間隔が決まります。SampleRate をスカラー値に設定し、NumInputPorts が 1 よりも大きい場合、オブジェクトはすべての入力で同じサンプル レートを使用します。

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

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

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

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

調整可能: Yes

依存関係

このプロパティを使用するには、FrameBasedProcessingfalse に設定するか、あるいは FrameBasedProcessingtrue に、TimeSpanSource'Property' に設定します。

スコープ ウィンドウの使用

[コンフィギュレーション プロパティ] を開きます。[時間] タブで、[時間範囲] を設定します。

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

表示されている時間範囲を超える新規データをスコープが表示する方法を指定します。

  • ラップ — このモードでは、新しいデータが時間軸の範囲の最大値に達するまでスコープはこのデータを表示します。データがスコープ ウィンドウで時間軸の範囲の最大値に到達すると、スコープは表示をクリアします。その後、スコープは時間オフセット値を更新し、後続のデータ点の表示を時間軸の範囲の最小値から開始します。

  • スクロール — このモードでは、スコープは古いデータを左へスクロールして、新しいデータを表示するスペースをスコープ表示の右側に作ります。このモードはグラフィックスの負荷が高いので実行速度に影響が出る場合があります。ただし、デバッグや時変信号の監視には役立ちます。

調整可能: Yes

スコープ ウィンドウの使用

[コンフィギュレーション プロパティ] を開きます。[時間] タブで、[時間範囲オーバーラン アクション] を設定します。

データ型: char | string

フレームベース入力信号の時間範囲のソースを次のように指定します。

  • 'Property' – オブジェクトは x 軸の範囲を TimeDisplayOffset プロパティおよび TimeSpan プロパティから導出します。

  • 'Auto' – 時間軸の範囲は TimeDisplayOffset プロパティと SampleRate プロパティ、および FrameSize (各入力信号の行数) から導出されます。範囲は次のように計算されます。

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

    • 時間軸の範囲の最大値 = max(TimeDisplayOffset) + max(1/SampleRate.*FrameSize)

調整可能: Yes

依存関係

このプロパティを使用するには、FrameBasedProcessingtrue に設定します。

スコープ ウィンドウの使用

[コンフィギュレーション プロパティ] を開きます。[時間] タブで、[時間範囲] を設定します。

データ型: char | string

スコープによる座標軸のスケーリングのタイミングを指定します。有効な値は、次のとおりです。

  • "Auto" — シミュレーションの実行中および実行後に、データを近似させるためにスコープが必要に応じて座標軸をスケーリングします。

  • "Manual" — スコープは座標軸を自動スケーリングしません。

  • "OnceAtStop" — シミュレーションが停止したときに、スコープは座標軸をスケーリングします。

  • "Updates" — スコープは 10 回の更新後に 1 回のみ座標軸をスケーリングします。

スコープ ウィンドウの使用

[ツール][座標軸のスケーリング] を選択します。

データ型: char | string

詳細設定

スコープの名前を文字ベクトルまたは string スカラーとして指定します。この名前はスコープの Figure ウィンドウのタイトルとして表示されます。スコープ プロットのタイトルを指定するには、Title プロパティを使用します。

調整可能: Yes

データ型: char | string

ピクセル単位でのスコープ ウィンドウの位置。[left bottom width height] という形式の 4 要素ベクトルとしてスコープ ウィンドウのサイズと位置で指定します。このプロパティの値を変更することで、スコープ ウィンドウを画面上の特定の位置に配置できます。

既定の設定では、ウィンドウは幅 410 ピクセル、高さ 300 ピクセルで画面中央に表示されます。厳密な位置の値は画面の解像度により異なります。

調整可能: Yes

  • true — スコープは後で使用するためにデータのログを記録し、ウィンドウを定期的に更新します。

  • false — スコープはスコープが呼び出されるたびに更新されます。

シミュレーション速度は、このプロパティが true に設定されているときのほうが高速になります。

調整可能: Yes

スコープ ウィンドウの使用

[シミュレーション][更新を減らして性能を改善] を選択します。

レイアウト グリッドの次元を 2 要素ベクトルで指定します。[numberOfRows,numberOfColumns]。最大 16 行および 16 列を使用できます。

例: scope.LayoutDimensions = [2,4]

調整可能: Yes

スコープ ウィンドウの使用

[ビュー][レイアウト] を選択します。

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

使用するプロットのタイプを指定します。

  • Line — 線グラフ。関数 line または plot に似ています。

  • Stairs — 階段状グラフ。関数 stairs に似ています。階段状グラフは、デジタル的にサンプリングされたデータの時間履歴のグラフを描画する際に有効です。

調整可能: Yes

スコープ ウィンドウの使用

[スタイル] プロパティを開きます。[プロット タイプ] を設定します。

データ型: char | string

スコープのメモリ キャッシュに保持するバッファーのサイズを指定します。メモリはシステムで利用可能な容量に制限されます。信号に M 行のデータがあり、各行のデータ点が N 個の場合、タイム ステップあたりのデータ点の数は M x N です。これにモデルのタイム ステップの数を掛けると必要なバッファー長を計算できます。たとえば、10 行のデータがあり、各行のデータ点の数が 100 個の場合、タイム ステップが 10 であれば、バッファー長として 10,000 (10 x 100 x 10) を入力します。

スコープ ウィンドウの使用

[データ履歴プロパティ] を開きます。[バッファー長] を設定します。

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

  • true — フレームベースの処理を有効にします。

  • false — サンプルベースの処理を有効にします。

スコープ ウィンドウの使用

[コンフィギュレーション プロパティ] を開きます。[メイン] タブで [入力処理] を設定します。

時間軸の記述に使用する単位を指定します。以下のオプションのいずれかを選択します。

  • Metric — このモードでは、スコープは時間軸上の時間を最も適切な測定単位に変換します。使用される単位には、ミリ秒、マイクロ秒、ナノ秒、分、日などがあります。スコープは、スコープ ウィンドウの時間軸の範囲の最小値と時間軸の範囲の最大値に基づいて適切な測定単位を選択します。

  • Seconds — このモードでは、スコープは時間軸上の単位を常に秒で表示します。

  • None — このモードでは、スコープは時間軸上に単位を表示しません。時間軸には、Time という単語のみが表示されます。

調整可能: Yes

スコープ ウィンドウの使用

[コンフィギュレーション プロパティ] を開きます。[時間] タブで、[時間単位] を設定します。

データ型: char | string

x 軸上のデータをどの程度移動させるかを秒単位で指定します。信号の値は変更されず、表示される x 軸のみが変更されます。

このプロパティをスカラーとして指定すると、この値は全チャネルの時間表示のオフセットになります。

ベクトルを指定すると、各ベクトル要素が対応するチャネルの時間オフセットになります。入力チャネルの数よりも小さい長さのベクトルでは、残りのチャネルで時間表示のオフセットは 0 に設定されます。入力チャネルの数よりも大きい長さのベクトルでは、余分なベクトル要素は無視されます。

調整可能: Yes

スコープ ウィンドウの使用

[コンフィギュレーション プロパティ] を開きます。[時間] タブで、[時間表示オフセット] を設定します。

時間軸のラベルをスコープ表示にどのように表示するかを指定します。

  • 'All' — 時間軸ラベルはすべての表示領域で表示されます。

  • 'Bottom' — 時間軸ラベルは各列の一番下の表示領域に表示されます。

  • 'None' — ラベルは表示領域に表示されません。

調整可能: Yes

スコープ ウィンドウの使用

[コンフィギュレーション プロパティ] を開きます。[時間] タブで、[時間軸ラベル] を設定します。

データ型: char | string

スコープを座標軸の最大化モードで表示するかどうかを指定します。このモードでは、座標軸は表示領域全体に適合するように拡張されます。表示スペースを確保するために、ラベルは表示されません。その代わり、プロットされたデータの上に目盛りの値が表示されます。以下のオプションのいずれかを選択します。

  • "Auto" — すべての表示に対して Title プロパティおよび YLabel プロパティが空の場合にのみ、すべての表示で軸が最大化されて表示されます。これらのプロパティのどちらか一方にでも表示の値を入力すると、軸は最大化されません。

  • "On" — すべての表示で座標軸が最大化されます。Title および YLabel プロパティに入力した値はすべて非表示になります。

  • "Off" — いずれの軸も最大化されません。

調整可能: Yes

スコープ ウィンドウの使用

[コンフィギュレーション プロパティ] を開きます。[メイン] タブで、[座標軸の最大化] を設定します。

データ型: char | string

Display

整数の表示番号でアクティブ表示を指定し、関連するプロパティを取得または設定します。表示領域の番号は、その列方向の配置インデックスに対応します。このプロパティで、どの表示領域の座標軸の色、ラインのプロパティ、マーカーのプロパティ、表示/非表示を変更するかを制御します。

調整可能: Yes

スコープ ウィンドウの使用

[コンフィギュレーション プロパティ] を開きます。[表示] タブで、[アクティブな表示] を設定します。

表示タイトル。文字ベクトルまたは string スカラーとして指定します。

調整可能: Yes

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [アナライザー] タブをクリックします。[構成] セクションで [設定] をクリックします。開いた [スペクトル アナライザーの設定] ウィンドウの [表示とラベル][タイトル] を入力します。

データ型: char | string

凡例を表示するフラグ。true または false として指定します。入力名を付けた凡例を表示するには、このプロパティを true に設定します。

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

調整可能: Yes

依存関係

このプロパティを有効にするには、ViewType プロパティを "Spectrum" または "Spectrum and spectrogram" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [アナライザー] タブをクリックします。凡例を表示するには、[構成] セクションで [凡例] をクリックします。

[凡例] を有効にするには、[アナライザー] タブで [スペクトル] を選択します。

データ型: logical

このプロパティを true に設定すると、スコープの時間軸ラベルが表示されます。このプロパティを false に設定すると、スコープの時間軸ラベルは表示されませんが、目盛りと時間軸の他の項目は表示されます。このプロパティが適用されるのは、TimeAxisLabels プロパティが All または Bottom の場合だけです。

調整可能: Yes

依存関係

ラベル付けされる表示領域の軸を制御するには、ActiveDisplay プロパティを使用します。

スコープ ウィンドウの使用

[コンフィギュレーション プロパティ] を開きます。[時間] タブで、[時間軸ラベルの表示] を設定します。

入力データ内のチャネルの名前。文字ベクトルの cell 配列または string の配列として指定します。このプロパティで指定した名前は、次の場所に表示されます。

  • 凡例

  • [スペクトル アナライザーの設定][色とスタイル] セクション

  • [測定値] タブと [チャネル測定] タブ

チャネル名を指定しない場合、スペクトル アナライザーはチャネルに Channel 1Channel 2 などの名前を付けます。

調整可能: Yes

依存関係

チャネル名を表示するには、ShowLegendtrue に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [アナライザー] タブをクリックします。凡例を表示するには、[構成] セクションで [凡例] をクリックします。

データ型: char

このプロパティを true に設定すると、プロットでグリッド線が表示されます。

調整可能: Yes

スコープ ウィンドウの使用

[コンフィギュレーション プロパティ] を開きます。[表示] タブで、[グリッド表示] を設定します。

このプロパティを true に設定した場合、スコープは同一のアクティブな表示内で、入力信号の振幅と位相を 2 つの個別の軸でプロットします。このプロパティを false に設定した場合、スコープは同一のアクティブな表示内で、入力信号の実数部と虚数部を 2 つの個別の軸でプロットします。

このプロパティは、入力信号が複素数値の場合に便利です。このプロパティをオンにすると、実数値の入力信号の位相に影響を及ぼします。入力信号の振幅が非負である場合、位相は 0 度です。入力信号の振幅が負である場合、位相は 180 度です。

調整可能: Yes

スコープ ウィンドウの使用

[コンフィギュレーション プロパティ] を開きます。[表示] タブで [信号を振幅および位相としてプロット] を選択します。

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

PlotAsMagnitudePhasefalse の場合、既定の設定は [-10,10] です。PlotAsMagnitudePhasetrue の場合、既定の設定は [0,10] です。

調整可能: Yes

依存関係

PlotAsMagnitudePhasetrue に設定すると、このプロパティにより振幅プロットの y 軸範囲のみ指定されます。位相プロットの y 軸範囲は常に [-180,180] となります。

スコープ ウィンドウの使用

[コンフィギュレーション プロパティ] を開きます。[表示] タブで、[Y 軸範囲 (最小)][Y 軸範囲 (最大)] を設定します。

y 軸の左に表示するスコープの文字を指定します。

調整可能: Yes

依存関係

このプロパティは PlotAsMagnitudePhasefalse である場合にのみ適用されます。PlotAsMagnitudePhasetrue に設定すると、2 つの y 軸ラベルが読み取り専用の値になります。振幅プロットおよび位相プロットにおける y 軸のラベルは、それぞれ "Magnitude" および "Phase" に設定されます。

スコープ ウィンドウの使用

[コンフィギュレーション プロパティ] を開きます。[表示] タブで [Y ラベル] を設定します。

データ型: char | string

使用法

説明

scope(signal) は Time Scope 表示領域で信号 signal を表示します。

NumInputPorts プロパティを N に設定すると、scope(signal,signal2,...,signalN) は信号 signalsignal2、...、signalN を Time Scope 表示領域に表示します。この場合、signal1signal2、...、signalN は異なるデータ型と次元をもつ可能性があります。

入力引数

すべて展開する

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

例: scope(signal1,signal2)

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

オブジェクト関数

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

release(obj)

すべて展開する

showDisplay scope window
hideHide scope window
isVisibleDetermine visibility of scope
stepSystem object のアルゴリズムの実行
releaseリソースを解放し、System object のプロパティ値と入力特性の変更を可能にします。
resetSystem object の内部状態のリセット

シミュレーションを最初から再開するには、reset を呼び出してスコープ ウィンドウの表示をクリアします。release の呼び出し後に reset を呼び出さないでください。

すべて折りたたむ

dsp.SineWave オブジェクトと dsp.TimeScope オブジェクトを作成します。スコープを実行して信号を表示します。

sine = dsp.SineWave('Frequency',100,'SampleRate',1000);
sine.SamplesPerFrame = 10;
scope = dsp.TimeScope('SampleRate',sine.SampleRate,'TimeSpan',0.1);
for ii = 1:10
     x = sine();
     scope(x);
end

release メソッドを実行してプロパティ値と入力特性を変更できるようにします。スコープは座標軸を自動スケーリングします。

release(scope)

ヒント

  • スコープ ウィンドウを閉じて、関連するデータをクリアするには、MATLAB® の関数 clear を使用します。

  • スコープ ウィンドウを非表示または表示するには、関数 hideshow を使用します。

  • MATLAB の関数 mcc を使用して、Scope を含むコードをコンパイルします。

    アプリケーション内に複数のコンパイル済みコンポーネントがある場合、スコープ コンフィギュレーション ダイアログを開くことができません。

拡張機能

バージョン履歴

R2011a で導入

すべて折りたたむ

R2021a: dsp.TimeScope は削除予定

dsp.TimeScope は将来のリリースで削除される予定です。代わりに timescope を使用してください。

参考

オブジェクト

オブジェクト

ブロック