Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

dutycycle

パルス波形のデューティ比

説明

d = dutycycle(x) は、各正極パルスのパルス周期に対するパルス幅の比を返します。この関数は、Low 状態の上限と High 状態の下限を横断するすべての領域を識別します。各パルスの遷移を判定するため、dutycycle はヒストグラム法により x の状態レベルを推定します。Low 状態と High 状態の上下限は、状態レベル +/- 状態レベル間の差のスカラー倍として表されます。詳細については、状態レベルの許容誤差を参照してください。

d = dutycycle(x,fs)x がサンプリングされるサンプル レートを指定します。x の最初のサンプル瞬時は t = 0 に対応します。

d = dutycycle(x,t)x がサンプリングされる瞬時 t を指定します。

前述の構文からの入力引数をもつ [d,initcross,finalcross,nextcross,midlev] = dutycycle(___) は次も返します。

  • ベクトル initcross。その要素は、対応する nextcross をもつ各パルスの初回遷移の中間点クロッシング (中央基準レベル瞬時) に対応します。

  • ベクトル finalcross。その要素は、対応する nextcross をもつ各パルスの最終遷移の中間点クロッシング (中央基準レベル瞬時) に対応します。

  • ベクトル nextcross。その要素は、各パルスに対して次に検知される遷移の中間点クロッシング (中央基準レベル瞬時) に対応します。

  • スカラー midlev。中央基準レベルに対応します。

[___] = dutycycle(___,Name,Value) は、1 つ以上の Name,Value 引数ペアで指定される追加オプションにより、パルス周期に対するパルス幅の比を返します。

dutycycle(___) は波形、中央基準レベル瞬時の位置、それに関連する基準レベル、状態レベル、およびそれに関連する状態の上下限をプロットします。

d = dutycycle(tau,prf) は、tau 秒のパルス幅と prf のパルス反復周波数について、パルス周期に対するパルス幅の比を返します。

すべて折りたたむ

2 値波形のデューティ比を決定します。ベクトル インデックスをサンプル瞬時として使用します。

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

d = dutycycle(x)
d = 0.3001

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

dutycycle(x);

Figure Duty Cycle Plot contains an axes object. The axes object with xlabel Time (seconds), ylabel Level (Volts) contains 9 objects of type line. One or more of the lines displays its values using only markers These objects represent signal, mid cross, upper boundary, upper state, lower boundary, mid reference, lower state.

2 値波形のデューティ比を決定します。サンプル レートは 4 MHz です。

load('pulseex.mat','x','t')
fs = 1/(t(2)-t(1));

d = dutycycle(x,fs)
d = 0.3001

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

dutycycle(x,fs);

Figure Duty Cycle Plot contains an axes object. The axes object with xlabel Time (seconds), ylabel Level (Volts) contains 9 objects of type line. One or more of the lines displays its values using only markers These objects represent signal, mid cross, upper boundary, upper state, lower boundary, mid reference, lower state.

3 つのパルスを伴うパルス波形を作成します。サンプル レートは 4 MHz です。初回および最終の中央基準レベル瞬時を決定します。結果をプロットします。

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

pulse = x(1:30);
wavef = [pulse;pulse;pulse];
t = (0:length(wavef)-1)/fs;

[~,initcross,finalcross,~,midlev] = dutycycle(wavef,t)
initcross = 2×1
10-4 ×

    0.0312
    0.1062

finalcross = 2×1
10-4 ×

    0.0463
    0.1213

midlev = 2.5177

パルスは 3 つありますが、対応する後続の遷移があるのは 2 つのパルスだけです。結果をプロットします。

plot(t,wavef)
hold on
plot([initcross finalcross],midlev*ones(2),'x','MarkerSize',10)
hold off
legend('Waveform','Initial','Final','Location','best')

Figure contains an axes object. The axes object contains 3 objects of type line. One or more of the lines displays its values using only markers These objects represent Waveform, Initial, Final.

入力引数

すべて折りたたむ

2 値波形。実数値のベクトルとして指定します。

例: pulstran(0:0.1:10,1:2:9,@rectpuls) は 5 つの 1 秒パルスを含む 2 値波形を指定します。

データ型: double

サンプル レート。正のスカラーとして Hz 単位で指定します。

データ型: double

サンプル瞬時。x と長さが同じベクトルとして指定します。

データ型: double

パルス幅と反復周波数。スカラーとして指定します。パルス幅は秒単位、反復周波数はパルス/秒で表します。tauprf の積は 1 以下でなければなりません。

データ型: double

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: 'MidPercentReferenceLevel',90,'Tolerance',0.5 は中央基準レベルが波形振幅の 90%、状態の上下限の許容誤差が 0.5% であることを指定します。

中央基準レベル。'MidPercentReferenceLevel' と波形振幅の割合で表される正のスカラーから構成されるコンマ区切りのペアとして指定します。

データ型: double

パルスの極性。'Polarity'、および 'positive' または 'negative' のいずれかで構成されるコンマ区切りのペアとして指定します。

  • 'positive' を指定する場合、dutycycle は初回遷移が立ち上がり (正極性) のパルスを探します。

  • 'negative' を指定する場合、dutycycle は初回遷移が立ち下がり (負極性) のパルスを探します。

正極性パルスおよび負極性パルスの例は、パルスの極性を参照してください。

データ型: char

Low 状態レベルおよび High 状態レベル。'StateLevels' および 1 行 2 列の実数値のベクトルで構成されるコンマ区切りのペアとして指定します。最初の要素は Low 状態レベルです。2 番目の要素は High 状態レベルです。Low 状態レベルおよび High 状態レベルを指定しない場合、dutycycle ではヒストグラム法を使用して入力波形から状態レベルを推定します。

データ型: double

許容誤差レベル (状態の上下限)。'Tolerance' および割合として表される正のスカラーから構成されるコンマ区切りのペアとして指定します。詳細については、状態レベルの許容誤差を参照してください。

データ型: double

出力引数

すべて折りたたむ

デューティ比。ベクトルまたはスカラーとして返されます。d の要素は、x における各パルスのパルス周期に対するパルス幅の比に対応します。パルス幅がパルス周期を超えることはないため、d0 ≤ d ≤ 1 に従います。d の長さは x におけるパルス周期の数と等しくなります。tau および prf を引数として指定する場合、d はスカラーとなります。

初回遷移の中央基準レベル瞬時。ベクトルとして返されます。initcross の要素は、対応する nextcross をもつ各パルスの初回遷移の中間点クロッシング (中央基準レベル瞬時) に対応します。

最終遷移の中央基準レベル瞬時。ベクトルとして返されます。finalcross の要素は、対応する nextcross をもつ各パルスの最終遷移の中間点クロッシング (中央基準レベル瞬時) に対応します。

次の遷移の中間点クロッシング。ベクトルとして返されます。nextcross の要素は、各パルスに対して次に検知される遷移の中間点クロッシング (中央基準レベル瞬時) に対応します。

中央基準レベル波形値。スカラーとして返されます。2 値パルス波形では状態レベルが定数のため、midlevel はスカラーとなります。

詳細

すべて折りたたむ

デューティ比

2 値パルスの "デューティ比" は、ピーク パワーに対する平均パワーの比となります。

2 値、すなわち矩形のパルスのエネルギーは、ピーク パワー Pt とパルス幅 τ の積に等しくなります。波形のエネルギーを測定するデバイスは、単一パルスの継続時間よりも長い時間スケールで稼動します。したがって、通常は以下のように平均パワーを測定します。

Pav=PtτT,

ここで、T はパルス周期です。

ピーク パワーに対する平均パワーの比がデューティ比となります。

D=Ptτ/TPt

パルスの極性

パルスの "極性" は、その初回遷移の方向によって定義されます。

パルスの初回遷移が立ち上がりである場合、パルスは正極性となります。次の図は正極性のパルスを示しています。

すなわち、正極性 (立ち上がり) パルスの終端状態は開始状態よりも正方向に大きな値をとることになります。

パルスの初回遷移が立ち下がりである場合、パルスは負極性となります。次の図は負極性のパルスを示しています。

すなわち、負極性 (立ち下がり) パルスの開始状態は終端状態よりも正方向に大きな値をとることになります。

状態レベルの許容誤差

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

参照

[1] Skolnik, M. I. Introduction to Radar Systems. New York, NY: McGraw-Hill, 1980.

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

拡張機能

バージョン履歴

R2012a で導入