undershoot
Negative emission metrics for two-level signal transitions.
| Library |
|
Syntax
Function call
-
___ = undershoot(___,Name,Value)— sets additional parameters using one or more name-value arguments.
-
undershoot(___, out=:plot)— builds a two-level signal and marks the location of the negative emission of each transition. The function also plots the moments of the lower and upper reference levels, as well as the corresponding reference levels and state levels and the corresponding lower and upper bounds of the states.
Arguments
Input arguments
# x is a two— level signal
+
the real vector
Details
A two-level signal defined as a real row vector or column vector. Sampling moments in x correspond to the indexes of the vector. The first moment in time in x respond .
Name-value input arguments
Specify optional argument pairs as Name,Value, where Name — the name of the argument, and Value — the appropriate value. Name-value arguments should be placed after other arguments, but the order of the pairs does not matter.
Use commas to separate the name and value, and Name put it in quotation marks.
# PercentReferenceLevels — reference levels
+
[10 90] (by default) | the real vector
Details
Reference levels as a percentage of the signal amplitude, set as a real vector of size 1 on 2. The function defines the lower level as 0 percent, and the top one is like 100 percent. The first element corresponds to the lower percentage reference level, and the second element corresponds to the upper percentage reference level.
# Region — area of aberration
+
"Postshoot" (by default) | "Preshoot"
Details
The area of aberration for which the negative outlier is calculated, defined as "Preshoot" or "Postshoot". If the value is specified "Preshoot", the function defines the end of the pre-transition aberration region as the last moment when the signal exits the first state. If the value is specified "Postshoot", the function defines the beginning of the post-transition aberration region as the moment when the signal transitions to the second state. By default, the function calculates negative outliers for post-transition areas of aberration.
# SeekFactor — duration of the aberration area
+
3 (by default) | the real scalar
Details
The duration of the aberration region, set as a real scalar. The function calculates the negative outlier for the specified duration for each transition as a multiple of the duration of the corresponding transition. If the edge of the signal is reached or a complete intermediate transition is detected before the duration of the aberration area expires, the duration is truncated to the edge of the signal or the beginning of the intermediate transition.
# StateLevels — lower and upper state levels
+
the real vector
Details
The levels of the lower and upper states, defined as a real vector of size 1 on 2. The first element corresponds to the lower state level, and the second element corresponds to the upper state level of the input signal.
# Tolerance — tolerance level
+
2 (by default) | the real scalar
Details
The tolerance level, set as a real scalar. The function expresses the tolerance as a percentage of the difference between the levels of the upper and lower states. The initial and final levels of each transition must be within the corresponding state levels.
Output arguments
# us — negative emissions
+
vector
Details
Negative outliers, expressed as a percentage of the state levels, returned as a vector. Length us corresponds to the number of transitions detected in the input signal. For more information, see Negative emission.
# uslev — negative emission level
+
column vector
Details
The level of negative emissions returned as a column vector.
# usinst — sampling points
+
column vector
Additional Info
Assessment at the state level
Details
To determine transitions, the function undershoot evaluates the levels of the lower and upper states of the input signal x using the histogram method in the following steps.
-
Determine the minimum and maximum data amplitudes.
-
For a given number of histogram columns, determine the column width, which is the ratio of the amplitude range to the number of columns.
-
Sort data values by histogram columns.
-
Determine the lowest and highest indexed histogram columns with non-zero values.
-
Divide the histogram into two sub-histograms.
-
Calculate the state levels by determining the mode or the average of the upper and lower histograms.
The function identifies all regions that intersect the upper boundary of the lower state and the lower boundary of the upper state. The boundaries of the lower and upper states are expressed as the state level plus or minus a multiple of the difference between the state levels.
Negative emission
Details
The function calculates the percentage negative outlier based on the largest deviation from the end state level in each transition.
For a positive pulse (having a positive polarity), the negative emission is determined by the formula
where — the greatest deviation from the level of the upper state, — top condition, eh — the lower state.
For a negative pulse (having a negative polarity), the negative emission is defined as
State level tolerances
Details
You can specify the boundaries of the lower and upper states for each state level. Define boundaries as the level of states plus or minus a scalar value that is a multiple of the difference between the upper and lower states. To set a useful tolerance range, specify a scalar value as a small number, for example or . In the general case, the area for the lower state, it is defined as
where — the level of the lower state, and — the level of the upper state. Replace the first term in the equation with to get the tolerance area for the upper state level.