このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
overshoot
2 値波形遷移のオーバーシュート計量
構文
説明
[___] = overshoot(___,
は、1 つ以上の Name,Value
)Name,Value
引数を使用して追加のオプションを指定します。前の構文の出力を任意に組み合わせて使用できます。
overshoot(___)
は 2 値波形をプロットし、各遷移のオーバーシュートの位置を示します。また、この関数は、下位および上位の基準レベル瞬時とそれに関連する基準レベル、および状態レベルとそれに関連する状態の上下限をプロットします。
例
遷移後の逸脱領域におけるオーバーシュート比率
2.3 V クロック波形における、High 状態レベルに対する最大オーバーシュート率を決定します。
2.3 V クロックのデータを読み込みます。遷移の最大オーバーシュート率を決定します。オーバーシュートのレベルおよびサンプル瞬時も決定します。この例では、遷移後の領域における最大のオーバーシュートはインデックス 22 付近で発生します。
load('transitionex.mat','x') [oo,lv,nst] = overshoot(x)
oo = 6.1798
lv = 2.4276
nst = 22
波形をプロットします。オーバーシュートおよび対応するサンプル瞬時に注釈を付けます。
overshoot(x); ax = gca; ax.XTick = sort([ax.XTick nst]);
遷移後の逸脱領域におけるオーバーシュート比率、レベルおよび時点
2.3 V クロック波形において、High 状態レベルに対する最大オーバーシュート率、オーバーシュートのレベルおよびサンプル瞬時を決定します。
2.3 V クロックのデータをサンプリング瞬時と共に読み込みます。クロック データは 4 MHz でサンプリングされています。
load('transitionex.mat','x','t')
最大のオーバーシュートが発生する位置の、最大オーバーシュート率、ボルト単位でのオーバーシュートのレベルおよび時点を決定します。結果をプロットします。
[os,oslev,osinst] = overshoot(x,t)
os = 6.1798
oslev = 2.4276
osinst = 5.2500e-06
overshoot(x,t);
遷移前の逸脱領域におけるオーバーシュート比率、レベルおよび時点
2.3 V クロック波形において、Low 状態レベルに対する最大オーバーシュート率、オーバーシュートのレベルおよびサンプル瞬時を決定します。'Region'
を 'Preshoot'
に指定して遷移前の計量を出力します。
2.3 V クロックのデータをサンプリング瞬時と共に読み込みます。クロック データは 4 MHz でサンプリングされています。
load('transitionex.mat','x','t')
最大のオーバーシュートが発生する位置の、最大オーバーシュート率、ボルト単位でのオーバーシュートのレベルおよびサンプリング瞬時を決定します。結果をプロットします。
[os,oslev,osinst] = overshoot(x,t,'Region','Preshoot')
os = 4.8050
oslev = 0.1020
osinst = 4.7500e-06
overshoot(x,t,'Region','Preshoot');
入力引数
x
— 2 値波形
実数値のベクトル
2 値波形。実数値のベクトルとして指定します。x
のサンプル瞬時は、ベクトルのインデックスに対応します。x
の最初のサンプル瞬時は t = 0 に対応します。
fs
— サンプル レート
実数の正のスカラー
サンプル レート (ヘルツ単位)。実数の正のスカラーとして指定します。サンプル レートは、x
の要素に対応するサンプル瞬時を決定します。
t
— サンプル瞬時
ベクトル
サンプル瞬時。ベクトルとして指定します。t
の長さは、入力 2 値波形 x
の長さと等しくなければなりません。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name
を引用符で囲みます。
例: 'Region','Preshoot'
は、遷移前の逸脱領域を指定します。
PercentReferenceLevels
— 基準レベル
[10 90]
(既定値) | 1 行 2 列の実数値のベクトル
波形振幅のパーセント比で表した基準レベル。1 行 2 列の実数値ベクトルとして指定します。この関数は、Low 状態レベルを 0% として定義し、High 状態レベルを 100% として定義します。最初の要素は下位パーセント基準レベルに対応し、2 番目の要素は上位パーセント基準レベルに対応します。
Region
— 逸脱領域
'Postshoot'
(既定値) | 'Preshoot'
オーバーシュートを計算する逸脱領域。'Preshoot'
または 'Postshoot'
で指定します。'Preshoot'
を指定する場合、この関数は遷移前の逸脱領域の終了を、信号が最初の状態から抜け出る際の最終時点として定義します。'Postshoot'
を指定する場合、この関数は遷移後の逸脱領域の開始を、信号が 2 番目の状態に入る時点として定義します。既定では、この関数はオーバーシュートを遷移後の逸脱領域について計算します。
SeekFactor
— 逸脱領域の継続時間
3
(既定値) | 実数値のスカラー
逸脱領域の継続時間。実数値スカラーとして指定します。この関数は、各遷移の指定した継続時間のオーバーシュートを、対応する遷移の継続時間の倍数として計算します。逸脱領域の継続時間が経過する前に波形のエッジに到達した場合、あるいは完全な遷移の介在が検出された場合、継続時間は波形のエッジまたは介在する遷移の開始で打ち切られます。
StateLevels
— Low 状態レベルおよび High 状態レベル
1 行 2 列の実数値のベクトル
Low 状態レベルおよび High 状態レベル。1 行 2 列の実数値ベクトルとして指定します。最初の要素は入力波形の Low 状態レベルに対応し、2 番目の要素は High 状態レベルに対応します。
Tolerance
— 許容誤差レベル
2
(既定値) | 実数値のスカラー
許容誤差レベル。実数値スカラーとして指定します。この関数は、許容誤差を High と Low の状態レベル間の差のパーセント比として表します。各遷移の初期レベルと最終レベルは、それぞれの状態レベル内でなければなりません。
出力引数
os
— オーバーシュート
ベクトル
状態レベル間の差のパーセント比として表されるオーバーシュート。ベクトルとして返されます。OS
の長さは入力信号で検出された遷移の数に対応します。詳細については、オーバーシュートを参照してください。
oslev
— オーバーシュート レベル
列ベクトル
オーバーシュート レベル。列ベクトルとして返されます。
詳細
状態レベルの推定
遷移を判定するため、関数 overshoot
はヒストグラム法により、次の手順で入力 2 値波形 x
の状態レベルを推定します。
データの最小および最大振幅を決定します。
指定したヒストグラムのビンの数について、ビン幅を決定します。これは、ビン数に対する振幅範囲の比です。
データ値をヒストグラムのビンに振り分けます。
カウントが非ゼロの最小および最大インデックスのヒストグラム ビンを特定します。
ヒストグラムを 2 つのサブヒストグラムに分割します。
上位および下位ヒストグラムのモードまたは平均を決定して状態レベルを計算します。
この関数は、Low 状態の上限と High 状態の下限を横断するすべての間隔を識別します。Low 状態と High 状態の上下限は、状態レベル +/- 状態レベル間の差の倍数として表されます。
オーバーシュート
この関数は、各遷移の最終状態レベルからの最大偏差に基づいてオーバーシュートのパーセント比を計算します。
立ち上がり (正極性) パルスでは、オーバーシュートは次のように表されます。
ここで、O は High 状態レベルを超える最大偏差、S2 は High 状態、S1 は Low 状態です。
立ち下がり (負極性) パルスでは、オーバーシュートは次のように表されます。
この図は、立ち上がり遷移のオーバーシュートの計算を示しています。
赤い破線は、推定された状態レベルを示します。双方向の黒い矢印は High と Low の状態レベル間の差を示しています。黒い実線は、オーバーシュートの値と High 状態レベルとの差を示しています。
状態レベルの許容誤差
状態レベルごとに、上下限を指定することができます。こうした上下限は、「状態レベル +/- High 状態と Low 状態間の差のスカラー倍」として定義します。有用な許容誤差領域を提供するために、このスカラー値は 2/100 や 3/100 のような小さい数として指定します。一般に、Low 状態の 領域は次のように定義されます。
ここで、 は Low 状態レベル、
は High 状態レベルです。High 状態の
許容誤差領域を得るには、式の最初の項を
で置き換えます。
次の図は、正極性 2 値波形における各状態の 5% の上下限 (許容誤差領域) を示したものです。太い破線は、推定された状態レベルを示します。
参照
[1] IEEE Standard 181. IEEE® Standard on Transitions, Pulses, and Related Waveforms (2003): 15–17.
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2012a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)