Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

falltime

Fall time of negative-going bilevel waveform transitions

Syntax

F = falltime(X)
F = falltime(X,FS)
F = falltime(X,T)
[F,LT,UT] = falltime(...)
[F,LT,UT,LL,UL] = falltime(...)
[...] = falltime(...,Name,Value)
falltime(...)

Description

F = falltime(X) returns a vector, F, containing the time each transition of the bilevel waveform, X, takes to cross from the 90% to 10% reference levels. See Percent Reference Levels. To determine the transitions, falltime estimates the state levels of the input waveform by a histogram method. falltime identifies all regions, which cross the lower-state boundary of the high state and the upper-state boundary of the low state. The low-state and high-state boundaries are expressed as the state level plus or minus a multiple of the difference between the state levels. See State-Level Tolerances. Because falltime uses interpolation, F may contain values that do not correspond to sampling instants of the bilevel waveform, X.

F = falltime(X,FS) specifies the sampling frequency in hertz. The sampling frequency determines the sample instants corresponding to the elements in X. The first sample instant in X corresponds to t=0. Because falltime uses interpolation, F may contain values that do not correspond to sampling instants of the bilevel waveform, X.

F = falltime(X,T) specifies the sample instants, T, as a vector with the same number of elements as X.

[F,LT,UT] = falltime(...) returns vectors, LT and UT, whose elements correspond to the time instants where X crosses the lower and upper percent reference levels.

[F,LT,UT,LL,UL] = falltime(...) returns the levels, LL and UL, corresponding to the lower- and upper-percent reference levels.

[...] = falltime(...,Name,Value) returns the fall times with additional options specified by one or more Name,Value pair arguments.

falltime(...) plots the signal and darkens the regions of each transition where fall time is computed. The plot marks the lower and upper crossings and the associated reference levels. The state levels and the associated lower- and upper-state boundaries are also displayed.

Input Arguments

X

Bilevel waveform. X is a real-valued row or column vector.

FS

Sample rate in hertz.

T

Vector of sample instants. The length of T must equal the length of the bilevel waveform, X.

Name-Value Pair Arguments

'PercentReferenceLevels'

Reference levels as a percentage of the waveform amplitude. The low-state level is defined to be 0 percent. The high-state level is defined to be 100 percent. See Percent Reference Levels. 'PercentReferenceLevels' is a 2-element real row vector whose elements correspond to the lower- and upper-percent reference levels.

Default: [10 90]

'StateLevels'

Low and high-state levels. Specifies the levels to use for the low- and high-state levels as a 2-element real-valued row vector whose first and second elements correspond to the low- and high-state levels.

'Tolerance'

Tolerance levels (lower- and upper-state boundaries) expressed as a percentage. See State-Level Tolerances.

Default: 2

Output Arguments

F

Fall times. F is a vector containing the duration of each negative-going transition. If you specify the sampling rate, FS, or the sampling instants, T, fall times are in seconds. If you do not specify a sampling rate, or sampling instants, fall times are in samples.

LT

Instants when negative-going transition crosses the lower-reference level. By default, the lower-reference level is the 10% reference level. You can change the default reference levels by specifying the 'PercentReferenceLevels' name-value pair.

UT

Instants when negative-going transition crosses the upper-reference level. By default, the upper reference level is the 90% reference level. You can change the default reference levels by specifying the 'PercentReferenceLevels' name-value pair.

LL

Lower-reference level in waveform amplitude units. LL is a vector containing the waveform values corresponding to the lower-reference level in each negative-going transition. By default, the lower-reference level is the 10% reference level. You can change the default reference levels by specifying the 'PercentReferenceLevels' name-value pair.

UL

Upper-reference level in waveform amplitude units. LL is a vector containing the waveform values corresponding to the upper-reference level in each negative-going transition. By default, the upper-reference level is the 90% reference level. You can change the default reference levels by specifying the 'PercentReferenceLevels' name-value pair.

Examples

collapse all

Determine the fall time in samples for a 2.3 V clock waveform.

Load the 2.3 V clock data. Determine the fall time in samples. Use the default 10% and 90% percent reference levels. Plot the waveform and annotate the fall time.

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

falltime(x)
ans =

    0.7200

Determine the fall time in a 2.3 V clock waveform sampled at 4 MHz. Compute the fall time using the 20% and 80% reference levels.

Load the 2.3 V clock data with sampling instants. Determine the fall time using 20% and 80% reference levels. Plot the waveform and annotate the fall time.

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

falltime(x,'PercentReferenceLevels',[20 80])
ans =

    0.5400

Determine the fall time, reference-level instants, and reference levels in a 2.3 V clock waveform sampled at 4 MHz.

Load the 2.3 V clock waveform along with the sampling instants.

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

Determine the fall time, reference-level instants, and reference levels.

[f,lt,ut,ll,ul] = falltime(x,t);

Plot the waveform with the upper and lower reference levels and reference level instants. Show that the fall time is the difference between the lower- and upper-reference level instants.

plot(t,x)

xlabel('seconds')
ylabel('Volts')

hold on
plot([lt ut],[ll ul],'ro')
hold off

fprintf('Rise time is %g seconds.',lt-ut)
Rise time is 1.8e-07 seconds.

More About

collapse all

Negative-Going Transition

A negative-going transition in a bilevel waveform is a transition from the high–state level to the low-state level. If the waveform is differentiable in the neighborhood of the transition, an equivalent definition is a transition with a negative first derivative. The following figure shows a negative-going transition.

In the preceding figure, the amplitude values of the waveform are not displayed because a negative-going transition does not depend on the actual waveform values. A negative-going transition is defined by the direction of the transition.

Percent Reference Levels

If S1 is the low state, S2 is the high state, and U is the upper-percent reference level. The waveform value corresponding to the upper percent reference level is

S1+U100(S2S1).

If L is the lower percent reference level, the waveform value corresponding to the lower percent reference level is

S1+L100(S2S1).

State-Level Tolerances

Each state level can have associated lower- and upper-state boundaries. These state boundaries are defined as the state level plus or minus a scalar multiple of the difference between the high state and the low state. To provide a useful tolerance region, the scalar is typically a small number such as 2/100 or 3/100. In general, the $\alpha\%$ region for the low state is defined as

$$S_1\pm{\alpha\over{100}}(S_2-S_1),$$

where $S_1$ is the low-state level and $S_2$ is the high-state level. Replace the first term in the equation with $S_2$ to obtain the $\alpha\%$ tolerance region for the high state.

The following figure illustrates lower and upper 2% state boundaries (tolerance regions) for a positive-polarity bilevel waveform. The red dashed lines indicate the estimated state levels.

References

[1] IEEE® Standard on Transitions, Pulses, and Related Waveforms, IEEE Standard 181, 2003, pp. 15–17.

Introduced in R2012a

Was this topic helpful?