Main Content

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

pulseperiod

構文

P = pulseperiod(X)
P = pulseperiod(X,FS)
P = pulseperiod(X,T)
[P,INITCROSS] = pulseperiod(...)
[P,INITCROSS,FINALCROSS] = pulseperiod(...)
[P,INITCROSS,FINALCROSS,NEXTCROSS] = pulseperiod(...)
[P,INITCROSS,FINALCROSS,NEXTCROSS,MIDLEV] = pulseperiod(...)
[P,INITCROSS,FINALCROSS,NEXTCROSS,MIDLEV] = pulseperiod(...,Name,Value)
pulseperiod(...)

説明

P = pulseperiod(X) は、2 値波形 X における、各正極性パルスの初回遷移と次の立ち上がり遷移の中央基準レベル瞬時間の差を含んだベクトル P を返します。pulseperiod で 2 つの正極性遷移が見つからない場合、P は空になります。各パルスの遷移を判定するため、pulseperiod はヒストグラム法を使って入力波形の状態レベルを推定し、Low 状態の上限と High 状態の下限を横断するすべての領域を識別します。Low 状態と High 状態の上下限は、状態レベル +/- 状態レベル間の差の倍数として表されます。状態レベルの許容誤差を参照してください。pulseperiod は中央基準レベル瞬時を判別するのに内挿を使用するので、P は 2 値波形 X のサンプリング瞬時に対応しない値を含む可能性があります。

P = pulseperiod(X,FS) では、サンプルレートを正のスカラーとして Hz 単位で指定します。X の最初のサンプル瞬時は t=0 に対応します。pulseperiod は中央基準レベル瞬時を判別するのに内挿を使用するので、P は 2 値波形 X のサンプリング瞬時に対応しない値を含む可能性があります。

P = pulseperiod(X,T) では、X と長さの等しいベクトルでサンプリング瞬時を指定します。pulseperiod は中央基準レベル瞬時を判別するのに内挿を使用するので、P は 2 値波形 X のサンプリング瞬時に対応しない値を含む可能性があります。

[P,INITCROSS] = pulseperiod(...) は、各パルスの最初の遷移の中央基準レベル瞬時を返します。

[P,INITCROSS,FINALCROSS] = pulseperiod(...) は、各パルスの最終遷移の中央基準レベル瞬時を返します。

[P,INITCROSS,FINALCROSS,NEXTCROSS] = pulseperiod(...) は、各パルスの後で次に検知される遷移の中央基準レベル瞬時を返します。

[P,INITCROSS,FINALCROSS,NEXTCROSS,MIDLEV] = pulseperiod(...) は中央基準レベル MIDLEV を返します。

[P,INITCROSS,FINALCROSS,NEXTCROSS,MIDLEV] = pulseperiod(...,Name,Value) は、1 つまたは複数の Name,Value 引数ペアで指定される追加オプションを使用して、パルスの周期を返します。

pulseperiod(...) は信号をプロットし、識別されたパルスを 1 つおきに暗色で表示します。これにより中間点クロッシングの位置と、関連する基準レベルがマークされます。状態レベルと、それに関連する上限および下限もプロットされます ('Tolerance' という名前の Name,Value ペアで調整可能)。

入力引数

X

2 値波形。波形 X に最小限で 2 つの遷移が含まれていない場合、pulseperiod は空の行列を出力します。

FS

Hz のサンプルレート。

T

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

名前と値のペアの引数

MidPercentReferenceLevel

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

既定値: 50

Polarity

パルスの極性。極性を 'positive' または 'negative' として指定します。'positive' を指定する場合、pulseperiod は初回遷移が立ち上がり (正極性) のパルスを探します。'negative' を指定する場合、pulseperiod は初回遷移が立ち下がり (負極性) のパルスを探します。

既定値: 'positive'

StateLevels

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

Tolerance

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

既定値: 2

出力引数

P

秒単位のパルス周期。パルス周期は、2 つの連続する遷移の中央基準レベル瞬時間の時間として定義されます。

INITCROSS

初回遷移の中央基準レベル瞬時。

FINALCROSS

最終遷移の中央基準レベル瞬時。

NEXTCROSS

先行するパルスの最終遷移の後に続く、最初のパルス遷移の中央基準レベル瞬時。

MIDLEV

中央基準レベルに対応する波形での値。

すべて折りたたむ

2 つの正極性遷移を伴う 2 値波形のパルス周期を計算します。サンプルレートは 4 MHz です。

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

p = pulseperiod(x,t)
p = 5.0030e-06

波形のプロット上のパルス周期に注釈を付けます。

pulseperiod(x,t);

Figure Pulse Period Plot contains an axes. The axes contains 10 objects of type patch, line. These objects represent pulse period, signal, mid cross, upper boundary, upper state, lower boundary, mid reference, lower state.

2 値波形のパルス周期を定義する中央基準レベル瞬時を決定します。

load('pulseex.mat','x','t')
[~,initcross,~,nextcross] = pulseperiod(x,t)
initcross = 3.1240e-06
nextcross = 8.1270e-06

パルス周期を出力します。データのプロット上に中央基準レベル瞬時を示します。

pulseperiod(x,t)

Figure Pulse Period Plot contains an axes. The axes contains 10 objects of type patch, line. These objects represent pulse period, signal, mid cross, upper boundary, upper state, lower boundary, mid reference, lower state.

ans = 5.0030e-06

詳細

すべて折りたたむ

中央基準レベル

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 状態の $\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 で導入