ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

midcross

2 値波形での中央基準レベル クロッシング

構文

C = midcross(X)
C = midcross(X,FS)
C = midcross(X,T)
[C,MIDLEV] = midcross(...)
C = midcross(X,Name,Value)
midcross(...)

説明

C = midcross(X) は、入力信号 X の各遷移が 50% 基準レベルと交差する時点のベクトル C を返します。サンプル瞬時は、入力ベクトルのインデックスに対応します。midcross は、交差する瞬間を判断するのに内挿を使用するので、C はサンプリング瞬時に対応しない値を含む可能性があります。遷移を判定するため、midcross ではヒストグラム法により X の状態レベルを推定します。midcross は、Low 状態の上限と High 状態の下限を横断するすべての区間を識別します。Low 状態と High 状態の上下限は、状態レベル +/- 状態レベル間の差の倍数として表されます。状態レベルの許容誤差を参照してください。

C = midcross(X,FS) では、サンプルレート FS を正のスカラー値として Hz で指定します。最初のサンプル 瞬時は t=0 に対応します。midcross は、交差する瞬間を判断するのに内挿を使用するので、C はサンプリング瞬時に対応しない値を含む可能性があります。

C = midcross(X,T) では、サンプル瞬時 TX と同数の要素をもつベクトルとして指定します。midcross は、交差する瞬間を判断するのに内挿を使用するので、C はサンプリング瞬時に対応しない値を含む可能性があります。

[C,MIDLEV] = midcross(...) は、中央基準レベルに対応する波形での値を返します。

C = midcross(X,Name,Value) は、1 つまたは複数の Name,Value 引数ペアで指定される追加オプションにより、中央基準レベル クロッシングに対応する時点を返します。

midcross(...) は信号をプロットし、中間点クロッシング (中央基準レベル瞬時) の位置とそれに関連する基準レベルを示します。midcross ではまた、状態レベルを状態の上下限と共にプロットします。

入力引数

X

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

FS

Hz のサンプルレート。

T

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

名前/値のペアの引数

オプションのコンマ区切りの Name,Value の引数ペアを指定します。Name は引数の名前、Value は対応する値です。Name は単一引用符 (' ') で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前/値の引数ペアを任意の順番で指定できます。

'MidPercentReferenceLevel'

波形振幅のパーセント比で表した中央基準レベル。

既定値: 50

'StateLevels'

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

'Tolerance'

パーセント比で表される許容誤差レベル (状態の上下限)。状態レベルの許容誤差を参照してください。

既定値: 2

出力引数

C

中央基準レベルとのクロッシング時点。

MIDLEV

中央基準レベル。

すべて折りたたむ

サンプリング間隔を 1 と仮定し、2 値波形の中央基準レベル瞬時を計算します。結果をプロットします。

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

midcross(x)
ans =

   21.5000

波形が 50% の基準レベルと交差する瞬間は 21.5 です。これは入力ベクトルに存在するサンプリング瞬時ではありません。midcross は、内挿を使用して中央基準レベル クロッシングを識別します。

サンプリングされた 2 値波形の中央基準レベル瞬時を計算します。時間情報を使用してサンプルレートを決定します。ここでは 4 MHz になります。

load('transitionex.mat','x','t')
Fs = 1/(t(2)-t(1))
Fs =

     4000000

サンプルレートを使用して、中央基準レベル瞬時を秒単位で表します。波形をプロットして、結果に注釈を付けます。

midcross(x,Fs)
ans =

   5.1250e-06

2 値波形と長さの等しいサンプル時間のベクトルを使用して、中央基準レベル瞬時を計算します。サンプルレートは 4 MHz です。

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

C = midcross(x,t)
C =

   5.1250e-06

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

midcross(x,t);

中央基準レベル瞬時に対応するレベルを計算します。

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

[~,midlev] = midcross(x,t)
midlev =

    1.1388

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

midcross(x,t);

60% 基準レベル瞬時と 4 MHz でサンプリングした 2 値波形の値を取得します。

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

[mc,Lev60] = midcross(x,t,'MidPercentReferenceLevel',60)
mc =

   5.1473e-06


Lev60 =

    1.3682

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

midcross(x,t,'MidPercentReferenceLevel',60);

詳細

すべて折りたたむ

中央基準レベル

Low 状態レベルが S1、High 状態レベルが S2 の 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 状態の α% 許容誤差領域は次のように定義されます。

S1±α100(S2S1)

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

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

参考文献

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

R2012a で導入

この情報は役に立ちましたか?