Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

settlingtime

2 値波形の整定時間

構文

S = settlingtime(X,D)
S = settlingtime(X,FS,D)
S = settlingtime(X,T,D)
[S,SLEV,SINST] = settlingtime(...)
[S,SLEV,SINST] = settlingtime(...,Name,Value)
settlingtime(...)

説明

S = settlingtime(X,D) は、中央基準レベル瞬時から、各遷移が最終状態の 2% 許容誤差領域内に入って期間 D を超えて留まるようになる時点までの時間 S を返します。D は正のスカラー値です。settlingtime は、中央基準レベル瞬時を判断するのに内挿を使用するので、S はサンプリング瞬時に対応しない値を含む可能性があります。S の長さは、入力信号 X で検出された遷移の数と等しくなります。任意の遷移について波形のレベルが許容誤差の上下限内に留まらない場合や要求した期間が存在しない場合、あるいは介在する遷移が検出される場合、settlingtimeS での対応する要素を NaN とマークします。settlingtimeNaN を返す場合については、整定シーク時間を参照してください。遷移を判定するため、settlingtime はヒストグラム法により入力波形の状態レベルを推定します。settlingtime は、Low 状態の上限と High 状態の下限を横断するすべての領域を識別します。Low 状態と High 状態の上下限は、状態レベル +/- 状態レベル間の差の倍数として表されます。状態レベルの許容誤差を参照してください。

S = settlingtime(X,FS,D) では、2 値波形 X のサンプルレートを Hz で指定します。X の最初のサンプル瞬時は t = 0 と等しくなります。settlingtime は、中央基準レベル瞬時を判断するのに内挿を使用するので、S はサンプリング瞬時に対応しない値を含む可能性があります。

S = settlingtime(X,T,D) では、サンプル瞬時 TX と同数の要素をもつベクトルとして指定します。

[S,SLEV,SINST] = settlingtime(...) はベクトル SLEVSINST を返し、その要素は各遷移の整定点のレベルとサンプル瞬時に対応します。

[S,SLEV,SINST] = settlingtime(...,Name,Value) は、1 つまたは複数の Name,Value 引数ペアで指定される追加オプションを使い、整定時間、レベルおよび対応するサンプル瞬時を返します。

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

入力引数

X

2 値波形。X は実数値の行ベクトルまたは列ベクトルです。

D

整定シーク時間。D は正のスカラーで、中央基準レベル瞬時後の、settlingtime によって整定時間が求められる期間を定義します。中央基準レベル瞬時の後 D 秒以内に整定時間が発生しない場合、settlingtimeNaN を返します。整定時間および整定シーク時間を参照してください。

FS

Hz のサンプルレート。

T

サンプル瞬時のベクトル。T の長さは、2 値波形 X の長さと等しくなければなりません。

名前と値のペアの引数

MidPercentReferenceLevel

波形振幅のパーセント比で表した中央基準レベル。中央基準レベルを参照してください。

既定値: 50

StateLevels

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

Tolerance

割合として表される許容誤差レベル (状態の上下限)。状態レベルの許容誤差を参照してください。

既定値: 2

出力引数

S

中央基準レベル瞬時から、各遷移が最終状態の 2% 許容誤差領域内に入って期間 D を超えて留まるようになる時点までの時間。

SLEV

整定点における波形での値。

SINST

整定点の時点。

すべて折りたたむ

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

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

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

settlingtime(x,10)

Figure Settling Time Plot contains an axes. The axes contains 11 objects of type patch, line. 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. The axes contains 11 objects of type patch, line. 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% 許容誤差領域に信号が入ったまま留まるようになった時間です。整定時間を次の図に示します。Low 状態レベルおよび High 状態レベルは黒い破線で示されています。状態レベルの上下 2% の許容誤差は赤い破線で表示され、整定時間は黄色い丸印で示されています。

中央基準レベル

Low 状態レベルが S_1、High 状態レベルが S_2 の 2 値波形における中央基準レベルは次のようになります。

S1+12(S2S1)

中央基準レベル瞬時

y50% によって中央基準レベルを示します。

t50%- および t50%+ によって、y50% の値に最も近い波形での値に対応する 2 つの連続するサンプリング瞬時を示します。

y50%- および y50%+ によって、t50%- および t50%+ における波形での値を示します。

中央基準レベル瞬時は次になります。

t50%=t50%+(t50%+t50%y50%+y50%)(y50%+y50%)

状態レベルの許容誤差

各状態レベルには、状態の上下限を関連付けることができます。状態のこうした上下限は、「状態レベル +/- 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 値波形における各状態の 2% の上下限 (許容誤差領域) を示したものです。赤い破線は、推定された状態レベルを示します。

整定シーク時間

整定シーク時間は、settlingtime によって整定点が求められる中央基準レベル瞬時後の時間間隔を定義します。settlingtime により整定シーク時間内に整定点が検知されない場合、settlingtime はその整定時間に対し NaN を返します。次の図は 10 サンプルの整定シーク時間を示しています。

settlingtime は、以下のいずれかの条件が発生した場合、指定した整定シーク時間内に整定点を見つけられないことがあります。

  • 整定シーク間隔における波形の最後の値が、指定された許容誤差によって決まる状態の上限と下限の間にない場合。次の図は、8 サンプルの整定シーク時間と 2% 許容誤差領域でのこの条件を示しています。

    前図では、整定シーク間隔の最後のサンプルが状態の上限を越えているのがわかります。この例では、整定シーク時間を増減させることで有効な整定時間を得ることが可能です。

  • 指定した整定シーク時間に対して十分な数の波形サンプルがない場合。次の図は、20 サンプルの整定シーク時間でのこの条件を示しています。整定シーク時間の範囲が波形の最後のサンプルを超えています。

  • 指定した整定シーク時間が終了する前に、介在する遷移が検出される場合。次の図は、22 サンプルの整定シーク時間でのこの条件を示しています。22 サンプルの整定シーク時間が終了する前に、介在する遷移が検出されています。

参考文献

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

R2012a で導入