addtool_rise_time

内容

  1. 1 メニュー情報
  2. 2 概要
  3. 3 追加の情報
  4. 4 コマンドラインでの使用法
  5. 5 変数
  6. 6 説明
    1. 6.1 ダイアログ設定の詳細
      1. 6.1.1 設定(trGUI)
      2. 6.1.2 立ち上がり範囲/下降範囲サブツリー
      3. 6.1.3 Quantitiesサブツリー
      4. 6.1.4 出力先サブツリー
      5. 6.1.5 グラフ上の表示サブツリー
      6. 6.1.6 詳細サブツリー
  7. 7 サンプル
  8. 8 アルゴリズム
    1. 8.1 線形探索
    2. 8.2 ヒストグラム
    3. 8.3 最大の三角形

メニュー情報

クィックツール:立ち上がり時間

概要

グラフに四角形を表示して、上昇時間と降下時間を分析します。

追加の情報

これはOriginProのみの機能です。V8.1 SR1で改良されています。

コマンドラインでの使用法

addtool_rise_time trGUI.rectcolor:=21 trGUI.tool:=1 trGUI.method:=1 trGUI.output_to.reslog:=1 trGUI.display.risetime:=1;

変数

表示
変数
I/O

データ型
デフォルト
説明
設定 trGUI

入力

TreeNode

<unassigned>

計算オプションをカスタマイズするのに使用できます。

詳細は以下の説明をご覧下さい。

説明

立ち上がり時間(または下降時間)は、指定した低状態レベルから指定した高状態レベル(または指定した高状態レベルから指定した低状態レベル)に信号が変化するのに必要な時間を参照します。通常、これらの値は、ステップ高さの10%と90%です。この関数を使って、グラフに追加された四角形で直感的にグラフの領域を選択し、領域内の立ち上がり時間または下降時間を計算することができます。

ステップ状の信号で、低状態レベルと高状態レベルが計算されます。そして、ステップ高は、高状態レベルから低状態レベルを差し引くことで計算することができます。そして、低参照レベルと高参照レベルは、ステップ高の2つの指定したパーセントで計算されます。最後に、立ち上がり時間(または下降時間)の区間に位置付け、信号が低参照レベルから高参照レベルに立ち上がる(または高参照レベルから低参照レベルに下降する)のに必要な時間を計算します。これらのパラメータの関係は、下図の通りです。

Image:Addtool_rise_time-5.png

ダイアログ設定の詳細

設定(trGUI)

trGUI ツリーはXファンクションaddtool_rise_time のすべての設定オプションを指定します。

シンタックス:trGUI.Treenode:=<value>

サンプル:trGUI.rectcolor:=23

Treenode ラベル データ型 デフォルト 説明
rectcolor 塗り色 入力 int 21 グラフに追加する矩形の色を指定します。この矩形で、グラフ状の領域を選択し、立ち上がり時間または下降時間の分析を適用します。色の選択は、 色のリストをご覧下さい。
tool ツール 入力 int 0 立ち上がり時間または下降時間のどちらを計算するかを指定します。以下のオプションがあります。
  • 0:立ち上がり時間
立ち上がり時間の分析が適用されます。ツールは、信号が低参照レベルから高参照レベルに立ち上がるのに必要な時間を計算します。
  • 1:下降時間
下降時間の分析が適用されます。ツールは、信号が高参照レベルから低参照レベルに下降するのに必要な時間を計算します。
method 方法 入力 int 0 立ち上がり時間または下降時間の区間に適用される手法を指定します。高状態レベルと低状態レベルの両方が手動で設定されている場合には利用できません。以下のオプションがあります。
  • 0:線形探索
線形探索法を使って、立ち上がり時間または下降時間の分析を行います。詳細は、下記のアルゴリズムをご覧下さい。
  • 1:ヒストグラム
ヒストグラム法を使って、立ち上がり時間または下降時間の分析を行います。詳細は、下記のアルゴリズムをご覧下さい。
  • 2:最大の三角形
最大三角形法を使って、立ち上がり時間または下降時間の分析を行います。詳細は、下記のアルゴリズムをご覧下さい。この手法が選択されているとき、高状態レベル低状態レベル は手動では設定できません。
input 立ち上がり範囲/下降範囲 入力 TreeNode <unassigned> 高/低状態レベルとステップ高に対する高/低参照レベルの比率を指定します。詳細は、下記の立ち上がり範囲/下降範囲サブツリーの表をご覧下さい。
output 入力 TreeNode <unassigned> 出力する量を指定します。詳細は、下記の量サブツリーの表をご覧下さい。
output_to 出力先 入力 TreeNode <unassigned> 結果を出力する場所を指定します。詳細は、下記の出力先サブツリーの表をご覧下さい。
display グラフ上の表示 入力 TreeNode <unassigned> インディケータ表示、状態レベル、立ち上がり/下降時間とグラフ上の立ち上がり/下降範囲のプロパティを指定します。詳細は、下記のグラフ上の表示サブツリーの表をご覧下さい。
adv 詳細 入力 TreeNode <unassigned> 分析を実行する前に行うスムージング操作についての詳細設定、線形探索法で使われるパラメータ、グラフのスケールが変わったときの結果を制御する方法詳細は、下記の詳細サブツリーの表をご覧下さい。

立ち上がり範囲/下降範囲サブツリー

高/低状態レベルと参照レベルを指定します。ツールドロップダウンリストで、立ち上がり時間が選択されている場合、このサブツリーのラベルは立ち上がり範囲となり、下降時間が選択されている場合は、下降範囲となります。

シンタックス:trGUI.input.Treenode:=<value>

サンプル:trGUI.input.from:=20

ツリーノード ラベル データ型 デフォルト 説明
highVolt 高状態レベル 入力 double <unassigned> 高状態レベルを指定します。自動チェックボックスにチェックが付いている場合、この値は指定した手法で計算され、チェックが付いていない場合、値を手動で指定できます。方法最大の三角形 の場合、この変数はGUIには表示されず、値が自動的に計算されます。
lowVolt 低状態レベル 入力 double <unassigned> 低状態レベルを指定します。自動チェックボックスにチェックが付いている場合、この値は指定した手法で計算され、チェックが付いていない場合、値を手動で指定できます。方法最大の三角形 の場合、この変数はGUIには表示されず、値が自動的に計算されます。
from 開始 (ステップ高の%) 入力 double 10 値 n を指定します。低参照レベルがステップ高のn%となります。
to 終了 (ステップ高の%) 入力 double 90 値 m を指定します。高参照レベルがステップ高のm%となります。

量サブツリー

出力する量を指定します。

シンタックス:trGUI.output.Treenode:=<value>

サンプル:trGUI.output.name:=0

ツリーノード ラベル データ型 デフォルト 説明
name データセット名(名前) 入力 int 1 元のデータセットの名前を出力するかどうかを指定します。以下のオプションがあります。
  • 0:チェックなし
元のデータセットの名前を出力しません。
  • 1:チェックあり
元のデータセットの名前を出力します。
VMin 低状態レベル(VMin) 入力 int 1 低状態レベルを出力するかどうかを指定します。以下のオプションがあります。
  • 0:チェックなし
低状態レベルを出力しません。
  • 1:チェックあり
低状態レベルを出力します。
VMax 高状態レベル(VMax) 入力 int 1 高状態レベルを出力するかどうかを指定します。以下のオプションがあります。
  • 0:チェックなし
高状態レベルを出力しません。
  • 1:チェックあり
高状態レベルを出力します。
dV ステップ高さ(dV) 入力 int 0 ステップ高さを出力するかどうかを指定します。以下のオプションがあります。
  • 0:チェックなし
ステップ高さを出力しません。
  • 1:チェックあり
ステップ高さを出力します。
VrefMin 低参照レベル(VrefMin) 入力 int 1 低参照レベルを出力するかどうかを指定します。以下のオプションがあります。
  • 0:チェックなし
低参照レベルを出力しません。
  • 1:チェックあり
低参照レベルを出力します。
VrefMax 高参照レベル(VrefMax) 入力 int 1 高参照レベルを出力するかどうかを指定します。以下のオプションがあります。
  • 0:チェックなし
高参照レベルを出力しません。
  • 1:チェックあり
高参照レベルを出力します。
dVref 立ち上がり範囲(dVref)/下降範囲(dVref) 入力 int 0 立ち上がり範囲/下降範囲を出力するかどうかを指定します。ツールドロップダウンリストで、立ち上がり時間が選択されている場合、このラベルは立ち上がり範囲(dVref)となり、下降時間が選択されている場合は、下降範囲(dVref)となります。以下のオプションがあります。
  • 0:チェックなし
立ち上がり範囲/下降範囲を出力しません。
  • 1:チェックあり
立ち上がり範囲/下降範囲を出力します。
T1 低参照レベルの時間(T1) 入力 int 1 低参照レベルの時間を出力するかどうかを指定します。以下のオプションがあります。
  • 0:チェックなし
低参照レベルの時間を出力しません。
  • 1:チェックあり
低参照レベルの時間を出力します。
T2 高参照レベルの時間(T2) Inupt int 1 高参照レベルの時間を出力するかどうかを指定します。以下のオプションがあります。
  • 0:チェックなし
高参照レベルの時間を出力しません。
  • 1:チェックあり
高参照レベルの時間を出力します。
dT 立ち上がり時間(dT)/下降時間(dT) 入力 int 1 立ち上がり時間/下降時間を出力するかどうかを指定します。ツールドロップダウンリストで、立ち上がり時間が選択されている場合、このラベルは立ち上がり時間(dT)となり、下降時間が選択されている場合は、下降時間(dT)となります。以下のオプションがあります。
  • 0:チェックなし
立ち上がり時間/下降時間を出力しません。
  • 1:チェックあり
立ち上がり時間/下降時間を出力します。
速度 立ち上がり/降下速度 (速度) 入力 int 0 スムージングされたデータに基づくdVref/dTによって計算された立ち上がり/降下速度を出力するかどうかを指定します。以下のオプションがあります。
  • 0:チェックなし
立ち上がり/降下速度を出力しません。
  • 1:チェックあり
立ち上がり/降下速度を出力します。
最大速度 最大立ち上がり/降下速度 (最大速度) 入力 int 0 T1とT2の間のは最大微分値である、最大立ち上がり時間/下降速度を出力するかどうかを指定します。最大速度はスムージングされたデータに基づき計算されます。以下のオプションがあります。
  • 0:チェックなし
最大立ち上がり時間/下降速度を出力しません。
  • 1:チェックあり
最大立ち上がり/降下速度を出力します。
e1 低ノイズレベル(e1) 入力 int 0 低レベルの基線領域でのノイズレベルを出力するかどうか指定します。以下のオプションがあります。
  • 0:チェックなし
低レベルの基線領域でのノイズレベルを出力しません。
  • 1:チェックあり
低レベルの基線領域でのノイズレベルを出力します。
e2 高ノイズレベル(e2) 入力 int 0 高レベルの基線領域でのノイズレベルを出力するかどうか指定します。以下のオプションがあります。
  • 0:チェックなし
高レベルの基線領域でのノイズレベルを出力しません。
  • 1:チェックあり
高レベルの基線領域でのノイズレベルを出力します。

出力先サブツリー

結果を出力する場所を指定します。

シンタックス:trGUI.output_to.Treenode:=<value>

サンプル:trGUI.output_to.reslog:=1

ツリーノード ラベル データ型 デフォルト 説明
script スクリプトウィンドウ 入力 int 1 スクリプトウィンドウに結果を出力します。以下のオプションがあります。
  • 0:チェックなし
スクリプトウィンドウに結果を出力しません。
  • 1:チェックあり
スクリプトウィンドウに結果を出力します。
reslog 結果ログ 入力 int 0 結果ログに結果を出力します。以下のオプションがあります。
  • 0:チェックなし
結果ログに結果を出力しません。
  • 1:チェックあり
結果ログに結果を出力します。
appendwks ワークシートに追加 入力 int 0 ワークシートに出力結果を追加します。以下のオプションがあります。
  • 0:チェックなし
ワークシートに出力結果を追加しません。
  • 1:チェックあり
ワークシートに結果を追加します。
wbkName 結果のワークシート名 入力 string QkRiseTime ワークシートに追加チェックボックスが選択されているときのみ利用できます。結果が追加されるワークシートの名前を指定しします。

グラフ上の表示サブツリー

シンタックス:trGUI.display.Treenode:=<value>

サンプル:trGUI.display.risetime:=1

ツリーノード ラベル データ型 デフォルト 説明
indicator インディケータ 入力 TreeNode <unassigned> インジケータの設定を指定します。詳細は、下記のインジケーターの表をご覧下さい。
statelevel 状態レベル 入力 int 1 低/高状態レベルを作成する2つの水平線を表示するかどうかを指定します。
risetime 立ち上がり時間/下降時間 入力 int 0 立ち上がり時間/下降時間を作成するために2つのインジケータを通じて2つの垂直線を表示するかどうかを指定します。ツールドロップダウンリストで、立ち上がり時間が選択されている場合、このラベルは立ち上がり時間となり、下降時間が選択されている場合は、下降時間となります。
riserange 立ち上がり範囲/下降範囲 入力 int 0 立ち上がり範囲/下降範囲を作成する2つのインジケータを通る2つの水平線を表示するかどうかを指定します。ツールドロップダウンリストで、立ち上がり時間が選択されている場合、このサブツリーのラベルは立ち上がり範囲となり、下降時間が選択されている場合は、下降範囲となります。

インジケータテーブル

シンタックス:trGUI.display.indicator.Treenode:=<value>

サンプル:trGUI.display.indicator.size:=11

ツリーノード ラベル データ型 デフォルト 説明
size サイズ 入力 int 10 インジケータサイズを選択します。
shape シンボル 入力 int 0 インジケータのシンボルを選択します。シンボルについての詳細は、 作図の詳細のシンボルタブを参照して下さい。
edgecolor 縁の色 入力 int 0 低/高参照レベルを示すインジケータの縁の色を指定します。色の選択は、 色のリストをご覧下さい。
fillcolor 塗り色 入力 int 1 低/高参照レベルを示すインジケータを塗りつぶす色を指定します。色の選択は、 色のリストをご覧下さい。

詳細なサブツリー

立ち上がり時間/下降時間の分析を実行する前のスムージングについての詳細な設定

シンタックス:trGUI.adv.Treenode:=<value>

サンプル:trGUI.adv.pts:=60

ツリーノード ラベル データ型 デフォルト 説明
lnsearch 高低レベルの決定項目 入力 int 0 手法線形探索にセットされている場合のみ利用できます。低/高状態レベルをどのように探索するかを指定する際に使用します。以下のオプションがあります。
  • 0:平均
    高/低状態レベルとして、隣接平均スムージングデータの平均と見なします。下記のアルゴリズムで 線形探索 手法をご覧下さい。
  • 1:最大平均
    高/低状態レベルとして、隣接平均スムージングデータの最小/最大と見なします。下記のアルゴリズムで 線形探索 手法をご覧下さい。
pts スムージングポイント 入力 int 50 手法線形探索にセットされている場合のみ利用できます。立ち上がり時間/下降時間の分析を実行する前にデータセット全体に実行されるスムージングで使われるポイント数を指定するのに使われます。この値は1から200までの整数値です。
pts2 立ち上がり/下降領域でのスムーズポイント数 入力 int 1 立ち上がり領域/下降領域に適用されるスムージングで使われるポイント数を指定します。この値は1から50までの整数値です。
tol 許容値(パーセント) 入力 double 0.03 レベル値の許容値を指定します。この値より小さい値は、ノイズとして扱われます。手法線形探索またはヒストグラムにセットされている場合のみ利用できます。
bins ビンの数 入力 int 256 方法ヒストグラムにセットされている場合のみ利用できます。ヒストグラム法で使用されるビンの数を指定します。
onrescale グラフのスケールの変化時 入力 int 0 グラフスケールが変わったときに実行される操作を指定します。以下のオプションがあります。
  • 結果の更新
    グラフスケールが変わったとき、結果を更新します。
  • 結果を無効にする
    グラフスケールが変わったとき、結果を無効にします。結果が無効になると、グラフ上に十字が表示されます。
noiseUnit ノイズレベル単位 入力 int 0 ノイズレベルの単位を指定します。以下のオプションがあります。
  • 絶対値
    ノイズレベルは絶対値となります。
  • ステップサイズに対する相対値
    ノイズレベルはステップ高さの相対値となります。

サンプル

次のステップは、グラフにあるステップ状信号の立ち上がり時間を計算するものです。

  1. 新しいプロジェクトを作成し、ファイル<Originフォルダ>\Samples\Signal Processing\Step Signal with Random Noise.datをインポートします。
    Image:Addtool_rise_time-5.png
  2. 列Bを選択し、2Dグラフギャラリーツールバーで折れ線グラフボタンをクリックし、グラフを作成します。
  3. プロット操作・オブジェクト作成ツールバーのスケール拡大ボタンをクリックし、グラフ上の700から800の時間範囲を拡大します。
    Image:Addtool_rise_time_2.png
  4. Originメニューからガジェット:立ち上がり時間ROIツールを選択(または、コマンドウィンドウでスクリプト addtool_rise_time -d; を実行)し、このXファンクションのダイアログボックスを開きます。
  5. ROIボックスタブで、色を緑に変更します。ツールドロップダウンリストから立ち上がり時間を選び、方法ドロップダウンリストからヒストグラムを選びます。立ち上がり時間グループのデフォルト設定はそのままにし、グループを次のようにします。出力先グループで、結果ログチェックボックスだけを選択します。グラフ上の表示グループ、詳細グループはデフォルトのままにします。
    Image:Addtool_rise_time_3.png
  6. OKボタンをクリックします。緑の四角形がグラフに追加されます。四角形を水平に移動し、信号のステップが四角形の中に収まるようにします。(Note:(Note: 四角形が下図と一致していないと、異なる結果になる場合があります。)
    Image:Addtool_rise_time_4.png
  7. 四角形の右上付近にある Image:Arrow_button.png ボタンをクリックし、新しい出力を選択します。結果が結果ログに出力されます。(Note: 四角形が上図と一致していないと、異なる結果になる場合があります。)
    Image:Addtool_rise_time_6.png

アルゴリズム

この関数は、立ち上がり/下降時間を計算する3つの手法を提供しています。線形探索とヒストグラムの2つです。

線形探索

立ち上がり時間の計算を例に取ります。ステップ高さのdTol1%からステップ高さのdTol2%まで信号が立ち上がる時間を計算します。(ここで 0<dTol1<dTol2<100です。)

ステップ:

  1. 隣接平均法によるスムージングが元のデータに適用されます。
  2. 高状態レベルと低状態レベルに位置づけます。低/高状態レベルを得るには2つの方法があります。1つ目は、高状態レベルと低状態レベルが最初の1%のデータポイントと最後の1%のデータポイントそれぞれの平均から計算されます。(詳細ブランチで、高低レベルの決定項目平均と設定します。)2つ目は、隣接平均、最小と最大がそれぞれ低状態レベルと高状態レベルと見なされます。 (詳細ブランチで、高低レベルの決定項目最大平均と設定します。)
  3. 線形探索が実行され、次のように左から右へ2つのポイントt1 および t2を見つけます。
    y(t1) > lowerbase + (upperbase-lowerbase)*dTol1\,
    y(t2) < lowerbase + (upperbase-lowerbase)*dTol2\,.
    ここで、上面は高状態レベルで、下面は低状態レベルです。

そして、t1とt2の間の領域が立ち上がり領域で、 risetime = t2 - t1\,.

ヒストグラム

この手法が使われるとき、状態レベルのヒストグラムがデータから作成されます。このヒストグラムの限界値は、データセットの最小値と最大値でセットされ、ビン数はデフォルトで256となります。そして、各ビンに入るデータ標本の数が数えられます。次の図は、ヒストグラムのサンプルです。このグラフから下側40%のビンの中に入る最大数を持つビン(グラフの下側ビン)の平均値が低状態レベルとして計算されます。上側の40%にあるビン(グラフの上側ビン)対して同じ計算で高状態レベルを計算します。

Image:Addtool_rise_time_7.PNG

ヒストグラムを使って低状態レベルと高状態レベルの位置を決めた後、線形探索のステップ3方法で、立ち上がり時間または下降時間を計算します。

最大の三角形

下図から、開始点と終了点を通る線が構築されます。この線は、ベースラインと呼ばれます。そして、ベースラインの左上にある点を探します。点とベースラインによって構築された三角形が最大の領域を持つとき、この点の垂直な座標は高状態レベルとなります。同じような探索が、低状態レベルの値を見つけるためにベースラインの右下にある点にも実行されます。

Image:Addtool_rise_time_8.png

低状態レベルと高状態レベルの位置を決めた後、線形探索のステップ3方法で、立ち上がり時間または下降時間を計算します。