ドキュメンテーション センター

  • 評価版
  • 製品アップデート

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

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 を正のスカラー値としてヘルツ単位で指定します。最初のサンプル 瞬時は 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

ヘルツ単位のサンプルレート。

T

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

名前/値のペアの引数

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

'MidPct'

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

既定値: 50

'StateLevels'

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

'Tolerance'

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

既定値: 2

出力引数

C

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

MIDLEV

中央基準レベル。

すべて展開する

2 値波形の中央基準レベル瞬時

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

load('transitionex.mat', 'x');
C = midcross(x);
plot(x); hold on;
plot([C C],[-0.5 2.5],'r','linewidth',2);

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

サンプリング周波数による中央基準レベル瞬時

4 MHz でサンプリングされた 2 値波形のサンプルレートを使用して、中央基準レベル瞬時を計算します。

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

サンプル瞬時を使用した中央基準レベル瞬時

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

load('transitionex.mat','x','t');
C = midcross(x,t);

2 値波形の中央基準レベル値

中央基準レベル瞬時に対応するレベルを計算します。結果をプロットします。

load('transitionex.mat','x','t');
[C,MIDLEV] = midcross(x,t);
plot(t,x); hold on;
plot([C C],[-0.5 2.5],'r','linewidth',2);
plot([0 t(end)],[MIDLEV MIDLEV],'r','linewidth',2);
axis tight;

60% 基準レベル瞬時と波形の値

60% 基準レベル瞬時と 2 値波形の値を取得します。

load('transitionex.mat','x','t');
[C,Lev60] = midcross(x,t,'MidPercentReferenceLevel',60);

詳細

すべて展開する

中央基準レベル

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

中央基準レベル瞬時

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

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

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

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

状態レベルの許容誤差

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

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

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

参考文献

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

参考

| | | |

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