Engee documentation

undershoot

Negative emission metrics for two-level signal transitions.

Library

EngeeDSP

Syntax

Function call

  • us = undershoot(x) — returns a negative outlier expressed as a percentage of the difference between the state levels in the input two-level signal. Values in us correspond to the largest deviations from the levels of the final state of each transition.

  • us = undershoot(x,fs) — determines the sampling rate fs in Hz.

  • us = undershoot(x,t) — determines the sampling moments t.

  • us,uslev,usinst = undershoot(___) — returns levels uslev and sampling moments usinst for each transition. Specify the input combination of any of the previous syntax options.

  • ___ = 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 .

# fs — sampling rate
positive real scalar

Details

The sampling frequency, set as a positive real scalar, expressed in Hz. The sampling frequency determines the sampling moments corresponding to the elements in x.

# t — sampling moments

+ vector

Details

Sampling moments specified as a vector. Vector length t must be equal to the length of the input two-level signal x.

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

Details

Sampling moments of negative outliers of the pre-transition and post-transition, returned as a column vector. If an argument is given fs or t The moments of negative emission are measured in seconds. If fs or t not specified, the negative outlier moments are the indices of the input 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.

  1. Determine the minimum and maximum data amplitudes.

  2. For a given number of histogram columns, determine the column width, which is the ratio of the amplitude range to the number of columns.

  3. Sort data values by histogram columns.

  4. Determine the lowest and highest indexed histogram columns with non-zero values.

  5. Divide the histogram into two sub-histograms.

  6. 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.

Literature

  1. IEEE Standard 181. IEEE® Standard on Transitions, Pulses, and Related Waveforms (2003): 15–17.