Main Content

falltime

立ち下がり 2 値波形遷移の立ち下がり時間

説明

f = falltime(x) は、2 値波形 x の各遷移が 90% 基準レベルから 10% 基準レベルまでを横断する際に要する時間を含むベクトル f を返します。

メモ

falltime は内挿を使用するので、f は 2 値波形 x のサンプリング瞬時に対応しない値を含む可能性があります。

f = falltime(x,fs) では、サンプル レートを Hz で指定します。サンプル レートは、x の要素に対応するサンプル瞬時を決定します。

f = falltime(x,t) では、サンプル瞬時 tx と同数の要素を持つベクトルとして指定します。

[f,lt,ut,ll,ul] = falltime(___) はレベル llul を返し、これは下位と上位のパーセント基準レベルに対応します。

[f,lt,ut] = falltime(___) はベクトル ltut を返し、その要素は、x が下位パーセント基準レベルおよび上位パーセント基準レベルと交差する時点にそれぞれ対応します。前の入力構文のいずれでもこの出力構文を使用できます。

[___] = falltime(___,Name=Value) は、1 つ以上の名前と値の引数で指定される追加オプションを使用して、立ち下がり時間を返します。

falltime(___) は信号をプロットし、立ち下がり時間が計算される各遷移の領域を暗い色で表示します。プロットでは、下位および上位でのクロッシングとそれに関連する基準レベルが示されます。プロットでは、状態レベルと、それに関連する状態の上下限も表示されます。

すべて折りたたむ

2.3 V クロック波形用のデータを読み込みます。サンプル単位の立ち下がり時間を決定します。既定の 10% および 90% の基準レベルを使用します。波形をプロットし、立ち下がり時間に注釈を付けます。

load("negtransitionex")

falltime(x)

ans = 0.7200

立ち下がり時間を再度決定し、サンプル瞬時 t を指定します。新規 Figure に結果をプロットします。

figure
falltime(x,t)

ans = 1.8000e-07

4 MHz でサンプリングした 2.3 V クロック波形で、立ち下がり時間を決定します。20% および 80% の基準レベルを使用して立ち下がり時間を計算します。

2.3 V クロックのデータを読み込みます。20% および 80% の基準レベルを使用して、立ち下がり時間を決定し、5% の許容誤差領域を指定します。波形をプロットし、立ち下がり時間に注釈を付けます。

load("negtransitionex")

falltime(x,PercentReferenceLevels=[20 80],Tolerance=5)

ans = 0.5400

4 MHz でサンプリングした 2.3 V クロック波形で、立ち下がり時間、基準レベル瞬時および基準レベルを決定します。

2.3 V クロック波形のデータを読み込みます。

load("negtransitionex")

立ち下がり時間、基準レベル瞬時および基準レベルを決定します。サンプル瞬時 t を指定します。

[f,lt,ut,ll,ul] = falltime(x,t);

下位と上位の基準レベルおよび基準レベル瞬時と共に波形をプロットします。立ち下がり時間が下位と上位の基準レベル瞬時の差であることを示します。

plot(t,x)
xlabel("Seconds")
ylabel("Volts")

hold on
plot([lt ut],[ll ul],"ro")
hold off

fprintf("Fall time is %g seconds.",lt-ut)
Fall time is 1.8e-07 seconds.

入力引数

すべて折りたたむ

2 値波形。実数値のベクトルとして指定します。

サンプル レート。正の実数スカラーとして Hz 単位で指定します。x の最初のサンプル瞬時は t = 0 に対応します。

サンプル瞬時。ベクトルとして指定します。t の長さは、2 値波形 x の長さと等しくなければなりません。

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

例: falltime(x,PercentReferenceLevels=[20 80]) は、20% および 80% の基準レベルを使用して、立ち下がり時間を計算します。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: falltime(x,"PercentReferenceLevels",[20 80])

波形振幅のパーセント比で表した基準レベル。2 要素の正の行ベクトルとして指定します。行ベクトルの要素は、下位と上位のパーセント基準レベルに対応します。High 状態レベルは 100% であると定義され、Low 状態レベルは 0% であると定義されます。詳細については、パーセント基準レベルを参照してください。

Low 状態レベルおよび High 状態レベル。2 要素の行ベクトルとして指定します。ベクトルの最初と 2 番目の要素が、Low 状態レベルと High 状態レベルに対応します。

状態の上下限。割合値として実数の正のスカラーで指定します。詳細については、状態レベルの許容誤差を参照してください。

出力引数

すべて折りたたむ

立ち下がり遷移の持続時間。ベクトルとして返されます。サンプル レート fs またはサンプル瞬時 t を指定すると、立ち下がり時間の単位は秒になります。サンプル レートやサンプル瞬時を指定しない場合、立ち下がり時間はサンプル単位になります。

下位基準レベルのクロッシング瞬時。ベクトルとして返されます。ベクトル lt には、立ち下がり遷移が下位基準レベルと交差する時点が含まれています。既定の設定では、下位基準レベルは 10% 基準レベルです。PercentReferenceLevels を指定して、既定の基準レベルを変更できます。

上位基準レベルのクロッシング瞬時。ベクトルとして返されます。ベクトル ut には、立ち下がり遷移が上位基準レベルと交差する時点が含まれています。既定の設定では、上位基準レベルは 90% 基準レベルです。PercentReferenceLevels を指定して、既定の基準レベルを変更できます。

波形振幅単位で定めた下位基準レベル。実数の数値スカラーとして返されます。ll は、各立ち下がり遷移における下位基準レベルに対応する波形での値を含んだベクトルです。既定の設定では、下位基準レベルは 10% 基準レベルです。PercentReferenceLevels を指定して、既定の基準レベルを変更できます。

波形振幅単位で定めた上位基準レベル。実数の数値スカラーとして返されます。ul は、各立ち下がり遷移における上位基準レベルに対応する波形での値を含んだベクトルです。既定の設定では、上位基準レベルは 90% 基準レベルです。PercentReferenceLevels を指定して、既定の基準レベルを変更できます。

詳細

すべて折りたたむ

遷移

遷移を判定するため、関数 falltime はヒストグラム法により、入力波形の状態レベルを推定します。この関数は、High 状態の下限と Low 状態の上限を横断するすべての領域を識別します。Low 状態と High 状態の上下限は、状態レベル +/- 状態レベル間の差の倍数として表されます。

立ち下がり遷移

2 値波形での "立ち下がり遷移" は、High 状態レベルから Low 状態レベルへの遷移です。波形が遷移近傍で微分可能な場合、負の 1 次導関数を伴う遷移が等価な定義として与えられます。この図は立ち下がり遷移を示しています。

前図では、立ち下がり遷移は実際の波形での値に依存しないため、波形の振幅値は表示されていません。立ち下がり遷移は遷移の方向によって定義されます。

パーセント基準レベル

S1 が Low 状態、S2 が High 状態、U が上位パーセント基準レベルであるとします。上位パーセント基準レベルに対応する波形での値は次のようになります。

S1+U100(S2S1).

L が下位パーセント基準レベルであるとすると、下位パーセント基準レベルに対応する波形での値は次のようになります。

S1+L100(S2S1).

状態レベルの許容誤差

状態レベルごとに、上下限を指定することができます。こうした上下限は、「状態レベル +/- High 状態と Low 状態間の差のスカラー倍」として定義します。有用な許容誤差領域を提供するために、このスカラー値は 2/100 や 3/100 のような小さい数として指定します。一般に、Low 状態の $\alpha\%$ 領域は次のように定義されます。

$$S_1\pm{\alpha\over{100}}(S_2-S_1),$$

ここで、$S_1$ は Low 状態レベル、$S_2$ は High 状態レベルです。High 状態の $\alpha\%$ 許容誤差領域を得るには、式の最初の項を $S_2$ で置き換えます。

次の図は、正極性 2 値波形における各状態の 5% の上下限 (許容誤差領域) を示したものです。太い破線は、推定された状態レベルを示します。

参照

[1] IEEE® Standard on Transitions, Pulses, and Related Waveforms, IEEE Standard 181, 2003, pp. 15–17.

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2012a で導入