メインコンテンツ

settlingtime

2 値波形の整定時間

説明

s = settlingtime(x,d) は、中央基準レベル瞬時から、各遷移が最終状態の 2% 許容誤差領域内に入って期間 d を超えて留まるようになる時点までの時間を返します。遷移を判定するため、関数 settlingtime はヒストグラム法により入力波形の状態レベルを推定し、Low 状態の上限と High 状態の下限を横断するすべての領域を識別します。

メモ

任意の遷移について波形のレベルが許容誤差の上下限内に留まらない場合や要求した期間が存在しない場合、あるいは介在する遷移が検出される場合、settlingtimes での対応する要素を NaN とマークします。settlingtimeNaN を返す場合については、シーク整定時間を参照してください。

s = settlingtime(x,Fs,d) では、サンプル レート Fs を指定します。

s = settlingtime(x,t,d) では、サンプル瞬時 t を指定します。

[s,slev,sinst] = settlingtime(___) は各遷移について、整定点のレベル slev とサンプル瞬時 sinst を返します。

[s,slev,sinst] = settlingtime(___,Name,Value) は、1 つ以上の名前と値の引数で指定される追加オプションを使い、整定時間、レベルおよび対応するサンプル瞬時を返します。前の構文の入力を任意に組み合わせて指定できます。

settlingtime(___) は信号をプロットし、整定時間が計算される各遷移の領域を暗い色で表示します。プロットでは各遷移の整定時間の位置、中間点クロッシングおよび関連する基準レベルが示されます。また状態レベルも、対応する許容誤差の上下限と共に表示されます。

すべて折りたたむ

2 値波形の整定点と、それに対応する波形での値を決定します。10 秒のシーク整定時間を指定します。

load('transitionex.mat', 'x')
[s,slev,sinst] = settlingtime(x,10);

波形をプロットして整定点に注釈を付けます。

settlingtime(x,10)

Figure Settling Time Plot contains an axes object. The axes object with xlabel Time (seconds), ylabel Level (Volts) contains 11 objects of type patch, line. One or more of the lines displays its values using only markers These objects represent settling time, signal, mid cross, settling point, upper boundary, upper state, lower boundary, mid reference, lower state.

ans = 
1.8901

3 つの遷移をもつ 2 値波形の整定点を決定します。データは 4 MHz でサンプリングされています。1 μs のシーク整定時間を指定します。

load('transitionex.mat','x')
y = [x; fliplr(x)];
fs = 4e6;
t = 0:1/fs:(length(y)*1/fs)-1/fs;

[s,slev,sinst] = settlingtime(y,fs,1e-6);

波形をプロットして整定点に注釈を付けます。

settlingtime(y,fs,1e-6)

Figure Settling Time Plot contains an axes object. The axes object with xlabel Time (seconds), ylabel Level (Volts) contains 11 objects of type patch, line. One or more of the lines displays its values using only markers These objects represent settling time, signal, mid cross, settling point, upper boundary, upper state, lower boundary, mid reference, lower state.

ans = 3×1
10-6 ×

    0.4725
    0.1181
    0.4725

入力引数

すべて折りたたむ

2 値波形。実数値のベクトルとして指定します。x の最初のサンプル瞬時は t=0 と等しくなります。

シーク整定時間 (秒単位)。正のスカラーとして指定します。この引数は、中央基準レベル瞬時後の、settlingtime によって整定時間が求められる期間を定義します。中央基準レベル瞬時の後 d 秒以内に整定時間が発生しない場合、この関数は NaN を返します。詳細については、整定時間およびシーク整定時間を参照してください。

サンプル レート。正の実数スカラーとして Hz 単位で指定します。

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

名前と値の引数

すべて折りたたむ

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

例: s = settlingtime(x,Fs,Tolerance=5)

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

例: s = settlingtime(x,Fs,'Tolerance',5)

波形振幅のパーセント比で表した中央基準レベル。スカラーとして指定します。詳細については、中央基準レベルを参照してください。

Low 状態レベルおよび High 状態レベル。1 行 2 列の実数値ベクトルとして指定します。最初の要素は Low 状態レベルで、2 番目の要素は High 状態レベルです。'StateLevels' を指定しない場合、この関数はヒストグラム法を使用して入力波形から状態レベルを推定します。

許容誤差レベル (状態の上下限)。スカラーとして指定し、パーセント比として表されます。Low 状態と High 状態の上下限は、状態レベル +/- 状態レベル間の差の倍数として表されます。詳細については、状態レベルの許容誤差を参照してください。

出力引数

すべて折りたたむ

整定時間。ベクトルとして返されます。整定時間は、中央基準レベル瞬時から、各遷移が最終状態の 2% 許容誤差領域内に入って期間 d を超えて留まるようになる時点までの時間に対応します。s の長さは、入力 2 値波形 x で検出された遷移の数と等しくなります。

メモ

settlingtime は、中央基準レベル瞬時を判断するのに内挿を使用するので、s はサンプリング瞬時に対応しない値を含む可能性があります。

整定点における波形での値。ベクトルとして返されます。

整定点の時点。ベクトルとして返されます。

詳細

すべて折りたたむ

参照

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

拡張機能

すべて展開する

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

バージョン履歴

R2012a で導入