Main Content

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

slewrate

2 値波形のスルー レート

構文

S = slewrate(X)
S = slewrate(X,Fs)
S = slewrate(X,T)
[S,LT,UT] = slewrate(...)
[S,LT,UT,LL,UL] = slewrate(...)
S = slewrate(...,Name,Value)
slewrate(...)

説明

S = slewrate(X) は、2 値波形 X で見つかるすべての遷移についてスルー レートを返します。スルー レートは 10% 基準レベルと 90% 基準レベルを接続するラインの勾配です。X のサンプル瞬時はベクトルのインデックスです。遷移を判定するため、slewrate はヒストグラム法により入力波形の状態レベルを推定します。slewrate は、Low 状態の上限と High 状態の下限を横断するすべての領域を識別します。Low 状態と High 状態の上下限は、状態レベル +/- 状態レベル間の差の倍数として表されます。状態レベルの許容誤差を参照してください。

S = slewrate(X,Fs) では、サンプルレート Fs を Hz で指定します。X の最初の時点は t=0 に対応します。

S = slewrate(X,T) では、ベクトル T でサンプル瞬時を指定します。T の長さは X の長さに等しくなければなりません。

[S,LT,UT] = slewrate(...) は、波形が下位パーセント基準レベルと交差する瞬時 LT と、上位パーセント基準レベルと交差する瞬時 UT を返します。下位と上位のパーセント基準レベルを指定しない場合、各レベルは既定の設定で 10% と 90% となります。

[S,LT,UT,LL,UL] = slewrate(...) は、下位基準レベルに対応する波形での値 LL と、上位基準レベルに対応する波形での値 UL を返します。

S = slewrate(...,Name,Value) は、1 つまたは複数の Name,Value 引数ペアで指定される追加オプションを使って、すべての遷移のスルー レートを返します。

slewrate(...) は 2 値波形をプロットし、スルー レートが計算される各遷移の領域を暗い色で表示します。プロットでは、下位および上位の基準レベルのクロッシングとそれぞれに関連する基準レベルが示されます。プロットでは状態レベルと、それに関連する許容誤差の上下限も示されます。

入力引数

X

実数値の列ベクトルまたは行ベクトルで表される 2 値波形。入力波形に少なくとも 1 つの遷移がない場合、slewrate は空行列を返します。

Fs

Hz のサンプルレート。

T

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

名前と値のペアの引数

PercentReferenceLevels

パーセント基準レベル。定義については、パーセント基準レベルを参照してください。

既定値: [10,90]

StateLevels

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

Tolerance

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

既定値: 2

出力引数

S

実数値スカラーとして表されるスルー レート。正のスルー レートは、上位パーセント基準レベルが下位パーセント基準レベルよりも後に発生することを示します。負のスルー レートは、上位パーセント基準レベルが下位パーセント基準レベルよりも先に発生することを示します。

LT

信号が下位パーセント基準レベルと交差するときの時点。'PercentReferenceLevels' の名前と値のペアで下位パーセント基準レベルを指定しない場合、下位パーセント基準レベルは 10% となります。

UT

信号が上位パーセント基準レベルと交差するときの時点。'PercentReferenceLevels' の名前と値のペアで上位パーセント基準レベルを指定しない場合、上位パーセント基準レベルは 90% となります。

LL

下位基準レベルにおける波形での値。

UL

上位基準レベルにおける波形での値。

すべて折りたたむ

出力引数なしで slewrate を使用して、4 MHz でサンプリングしたステップ波形のスルー レート情報をプロットします。

transitionex.mat ファイルを読み込んでスルー レートを計算します。波形のプロットのスルー レートに注釈を付けます。

load('transitionex.mat','x','t')

slewrate(x,t)

Figure Slew Rate Plot contains an axes. The axes contains 12 objects of type patch, line. These objects represent slew rate, signal, upper cross, lower cross, upper boundary, upper state, lower boundary, upper reference, lower reference, lower state.

ans = 1.0310e+07

2 つが正で 1 つが負の 3 つの遷移をもつ 2 値波形を作成します。サンプルレートは 4 MHz です。3 つの遷移のスルー レートを取得します。

load('transitionex.mat','x')
fs = 4e6;

y = [x;fliplr(x)];
t = (0:length(y)-1)/4e6;

S = slewrate(y,t)
S = 3×1
107 ×

    1.0310
   -0.9320
    1.0310

波形のプロット上の結果に注釈を付けます。

slewrate(y,t);

Figure Slew Rate Plot contains an axes. The axes contains 12 objects of type patch, line. These objects represent slew rate, signal, upper cross, lower cross, upper boundary, upper state, lower boundary, upper reference, lower reference, lower state.

4 MHz でサンプリングされた 3 つの遷移をもつ波形について、下位遷移および上位遷移の時間を返します。

load('transitionex.mat','x')
fs = 4e6;

y = [x;fliplr(x)];
t = (0:length(y)-1)/fs;

[~,LT,UT] = slewrate(y,t)
LT = 3×1
10-4 ×

    0.0504
    0.0998
    0.1504

UT = 3×1
10-4 ×

    0.0521
    0.0978
    0.1521

時間ベクトルの代わりにサンプルレートを使用して繰り返します。

[~,LT,UT] = slewrate(y,fs)
LT = 3×1
10-4 ×

    0.0504
    0.0998
    0.1504

UT = 3×1
10-4 ×

    0.0521
    0.0978
    0.1521

波形のプロット上の結果に注釈を付けます。

slewrate(y,fs);

Figure Slew Rate Plot contains an axes. The axes contains 12 objects of type patch, line. These objects represent slew rate, signal, upper cross, lower cross, upper boundary, upper state, lower boundary, upper reference, lower reference, lower state.

4 MHz でサンプリングされた 3 つの遷移をもつ波形について、下位および上位の基準レベルに対応する波形での値を返します。これらの値を既定のレベルである 10% と 90% で計算します。

load('transitionex.mat','x')
fs = 4e6;

y = [x;fliplr(x)];
t = (0:length(y)-1)/fs;

[~,~,~,LL,UL] = slewrate(y,t)
LL = 0.2212
UL = 2.0564

20% と 80% で計算を繰り返します。波形のプロット上の結果に注釈を付けます。

slewrate(y,t,'PercentReferenceLevels',[20 80]);

Figure Slew Rate Plot contains an axes. The axes contains 12 objects of type patch, line. These objects represent slew rate, signal, upper cross, lower cross, upper boundary, upper state, lower boundary, upper reference, lower reference, lower state.

詳細

すべて折りたたむ

パーセント基準レベル

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

S1+U100(S2S1).

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

S1+L100(S2S1).

スルー レート

スルー レートは上位パーセント基準レベルと下位パーセント基準レベルを接続するラインの勾配です。tL によって波形が下位基準レベルを交差するときの時点を示し、tU によって波形が上位基準レベル交差するときの時点を示すものとします。パーセント基準レベルで与えられている上位と下位のパーセント基準レベルの定義を使用すると、スルー レートは次のようになります。

S1+U100(S2S1){S1+L100(S2S1)}tUtL=UL100S2S1tUtL.

tL が tU よりも先に発生する場合、スルー レートは正になります。tU が tL よりも先に発生する場合、スルー レートは負になります。

状態レベルの許容誤差

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

参考文献

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

R2012a で導入