Mid-reference level crossing for bilevel waveform
C = midcross(X)
C = midcross(X,FS)
C = midcross(X,T)
[C,MIDLEV] = midcross(...)
C = midcross(X,Name,Value)
C = midcross(
C, of time instants where each transition
of the input signal,
X, crosses the 50% reference
level. The sample instants correspond to the indices of the input
midcross uses interpolation to
determine the crossing instant,
C may contain
values that do not correspond to sampling instants. To determine the
midcross estimates the state levels
X by a histogram method.
all intervals which 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.
the sample rate,
C = midcross(
FS, in hertz as a positive scalar.
The first sample instant corresponds to t=0.
midcross uses interpolation to determine
the crossing instant,
C may contain values that
do not correspond to sampling instants.
specifies the sample instants,
C = midcross(
T, as a vector
with the same number of elements as
interpolation to determine the crossing instant,
contain values that do not correspond to sampling instants.
midcross(...) plots the signal and marks
the location of the mid-crossings (mid-reference level instants) and
the associated reference levels.
plots the state levels with upper and lower state boundaries.
Sample rate in hertz.
Vector of sample instants. The length of
Specify optional comma-separated pairs of
Name is the argument
Value is the corresponding
Name must appear
inside single quotes (
You can specify several name and value pair
arguments in any order as
Mid-reference level as a percentage of the waveform amplitude.
Low and high state levels.
Tolerance levels (lower- and upper-state boundaries) expressed as a percentage. See State-Level Tolerances.
Time instants of the mid-reference level crossings.
Assuming a sampling interval of 1, compute the mid-reference level instant of a bilevel waveform and plot the result.
load('transitionex.mat', 'x'); C = midcross(x); plot(x); hold on; plot([C C],[-0.5 2.5],'r','linewidth',2);
The instant at which the waveform crosses the 50% reference
level is 21.5. Note that this is not a sampling instant present in
the input vector because
midcross uses interpolation
to identify the mid-reference level crossing.
Compute the mid-reference level instant using the sampling rate for a bilevel waveform sampled at 4 MHz.
load('transitionex.mat','x','t'); Fs = 1/(t(2)-t(1)); C = midcross(x,Fs);
Compute the mid-reference level instants using a vector of sample times equal in length to the bilevel waveform. The sampling rate is 4 MHz.
load('transitionex.mat','x','t'); C = midcross(x,t);
Compute the level corresponding to the mid-reference level instant. Plot the result.
load('transitionex.mat','x','t'); [C,MIDLEV] = midcross(x,t); plot(t,x); hold on; plot([C C],[-0.5 2.5],'r','linewidth',2); plot([0 t(end)],[MIDLEV MIDLEV],'r','linewidth',2); axis tight;
Obtain the 60% reference level instant and value for a bilevel waveform.
load('transitionex.mat','x','t'); [C,Lev60] = midcross(x,t,'MidPercentReferenceLevel',60);
The mid-reference level in a bilevel waveform with low-state level, S_1, and high–state level, S_2, is
Let y50% denote the mid–reference level.
Let t50%- and t50%+ denote the two consecutive sampling instants corresponding to the waveform values nearest in value to y50%.
Let y50%- and y50%+ denote the waveform values at t50%- and t50%+.
The mid-reference level instant is
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 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
where S1 is the low-state level and S2 is the high-state level. Replace the first term in the equation with S2 to obtain the α% 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.
 IEEE® Standard on Transitions, Pulses, and Related Waveforms, IEEE Standard 181, 2003. p. 20.