Undershoot metrics of bilevel waveform transitions
US = undershoot(X)
US = undershoot(X,FS)
US = undershoot(X,T)
[US,USLEV,USINST]
= undershoot(...)
[...] = undershoot(...,Name,Value)
undershoot(...)
returns
the greatest deviations below the final state levels of each transition
in the bilevel waveform, US
= undershoot(X
)X
. The undershoots, US
,
are expressed as a percentage of the difference between the state
levels. See Undershoot. The length
of US
corresponds to the number of transitions
detected in the input signal. The sample instants in X
correspond
to the vector indices. To determine the transitions, undershoot
estimates
the state levels of the input waveform by a histogram method. undershoot
identifies
all regions that cross the upperstate boundary of the low state and
the lowerstate boundary of the high state. The lowstate and highstate
boundaries are expressed as the state level plus or minus a multiple
of the difference between the state levels. See StateLevel Tolerances.
specifies
the sampling frequency, US
= undershoot(X
,FS
)FS
, 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.
specifies
the sample instants, US
= undershoot(X
,T
)T
, as a vector with the
same number of elements as X
.
[
returns the levels, US
,USLEV
,USINST
]
= undershoot(...)USLEV
,
and sample instants, USINST
, of the undershoots
for each transition.
[...] = undershoot(...,
returns
the greatest deviations below the final state level with additional
options specified by one or more Name,Value
)Name,Value
pair
arguments.
undershoot(...)
plots the bilevel waveform
and marks the location of the undershoot of each transition as well
as the lower and upper referencelevel instants and the associated
reference levels. undershoot
also plots the state
levels and associated lower and upperstate boundaries.

Bilevel waveform. 

Sample rate in hertz. 

Vector of sample instants. The length of 

Reference levels as a percentage of the waveform amplitude.
The lowerstate level is defined to be 0 percent. The upperstate
level is defined to be 100 percent. The value of Default: 

Specify the region over which to perform the undershoot computation.
Valid values for Default: 

Aberration region duration. Specifies the duration of the region over which to compute the undershoot for each transition as a multiple of the corresponding transition duration. The edge of the waveform may be reached, or a complete intervening transition may be detected, before the duration aberration region duration elapses. In such cases, the duration is truncated to the edge of the waveform or the start of the intervening transition. Default: 

Lower and upperstate levels. Specify the levels to use for the lower and upperstate levels as a 2element real row vector whose first and second elements correspond to the lower and upperstate levels of the input waveform. 

Specify the tolerance that the initial and final levels of each
transition must be within the respective state levels. The Default: 

Undershoots expressed as a percentage of the state levels. The undershoot percentages are computed based on the greatest deviation from the final state level in each transition. By default undershoots are computed for posttransition aberration regions. See Undershoot. 

Level of the pretransition or posttransition undershoot. 

Sample instants of pretransition or posttransition undershoots. If you specify the sampling frequency or sampling instants, the undershoot instants are in seconds. If you do not specify the sampling frequency or sampling instants, the undershoot instants are the indices of the input vector. 
For a positivegoing (positivepolarity) pulse, undershoot expressed as a percentage is
$$100\frac{({S}_{2}U)}{({S}_{2}{S}_{1})}$$
where U is the greatest deviation below the highstate level, S_{2} is the high state, and S_{1} is the low state.
For a negativegoing (negativepolarity) pulse, undershoot expressed as a percentage is
$$100\frac{({S}_{1}U)}{({S}_{2}{S}_{1})}$$
The following figure illustrates the calculation of undershoot for a positivegoing transition.
The red dashed lines indicate the estimated state levels. The doublesided black arrow depicts the difference between the high and lowstate levels. The solid black line indicates the difference between the highstate level and the undershoot value.
Each state level can have associated lower and upperstate boundaries. These state boundaries are defined as the state level plus or minus a scalar multiple of the difference between the high state and 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 α% tolerance region for the low state is defined as
$${S}_{1}\pm {\scriptscriptstyle \frac{\alpha}{100}}({S}_{2}{S}_{1})$$
where S_{1} is the lowstate level and S_{2} is the highstate level. Replace the first term in the equation with S_{2} to obtain the α% tolerance region for the high state.
The following figure illustrates lower and upper 2% state boundaries (tolerance regions) for a positivepolarity bilevel waveform. The red dashed lines indicate the estimated state levels.
[1] IEEE^{®} Standard on Transitions, Pulses, and Related Waveforms, IEEE Standard 181, 2003, pp. 15–17.