undershoot() - Signal Processing
US = undershoot(X) returns
the greatest deviations below the final state levels of each transition
in the bilevel waveform, 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 upper-state boundary of the low state and
the lower-state boundary of the high 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.US = undershoot(X,FS) specifies
the sampling frequency, 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.US = undershoot(X,T) specifies
the sample instants, T, as a vector with the
same number of elements as X.[US,USLEV,USINST]
= undershoot(...) returns the levels, USLEV,
and sample instants, USINST, of the undershoots
for each transition.[...] = undershoot(...,Name,Value) returns
the greatest deviations below the final state level with additional
options specified by one or more 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 reference-level instants and the associated
reference levels. undershoot also plots the state
levels and associated lower- and upper-state boundaries.
Syntax
US = undershoot(X)US = undershoot(X,FS)US = undershoot(X,T)[US,USLEV,USINST]
= undershoot(...)[...] = undershoot(...,Name,Value)undershoot(...)
Example
Undershoot Percentage in Posttransition Aberration RegionOpen This Example
Determine the maximum percent undershoot relative to the high-state level in a 2.3 V clock waveform.
Load the 2.3 V clock data. Determine the maximum percent undershoot of the transition. Determine also the level and sample instant of the undershoot. In this example, the maximum undershoot in the posttransition region occurs near index 23.load('transitionex.mat','x')
[uu,lv,nst] = undershoot(x)
uu =
4.5012
lv =
2.1826
nst =
23
Plot the waveform. Annotate the overshoot and the corresponding sample instant.undershoot(x);
ax = gca;
ax.XTick = sort([ax.XTick nst]);
Undershoot Percentage, Levels, and Time Instant in Posttransition Aberration RegionOpen This Example
Determine the maximum percent undershoot relative to the high-state level, the level of the undershoot, and the sample instant in a 2.3 V clock waveform.
Load the 2.3 V clock data with sampling instants. The clock data are sampled at 4 MHz.load('transitionex.mat','x','t')
Determine the maximum percent undershoot, the level of the undershoot in volts, and the time instant where the maximum undershoot occurs. Plot the result.[us,uslev,usinst] = undershoot(x,t)
undershoot(x,t);
us =
4.5012
uslev =
2.1826
usinst =
5.5000e-06
Undershoot Percentage, Levels, and Time Instant in Pretransition Aberration RegionOpen This Example
Determine the maximum percent undershoot relative to the low-state level, the level of the undershoot, and the sample instant in a 2.3 V clock waveform. Specify the 'Region' as 'Preshoot' to output pretransition metrics.
Load the 2.3 V clock data with sampling instants. The clock data are sampled at 4 MHz.load('transitionex.mat','x','t')
Determine the maximum percent undershoot, the level of the undershoot in volts, and the sampling instant where the maximum undershoot occurs. Plot the result.[us,uslev,usinst] = undershoot(x,t,'Region','Preshoot')
undershoot(x,t,'Region','Preshoot');
us =
6.1798
uslev =
-0.1500
usinst =
5.0000e-06
Output / Return Value
Limitations
Alternatives / See Also
Reference