Version:

Last Modified: June 25, 2019

Returns the average and RMS levels of a specific cycle of a periodic signal.

The input signal.

This input can be a waveform or an array of waveforms.

Each waveform is required to contain at least a specific number of complete cycles defined by
**cycle number**, where a cycle is defined as the interval between two consecutive rising middle reference level crossings.

Cycle, or period, of the periodic signal on which to perform the measurement.

High, middle, and low reference levels of a waveform.

High reference level of the waveform.

After the signal crosses the
**mid ref level**
in the rising direction, it must cross the
**high ref level**
before the next falling
**mid ref level**
crossing can be counted.

**Default:
**90

Middle reference level of the waveform.

The interval between consecutive rising
**mid ref level**
crossings defines one cycle, or period, of the waveform. At least one high or low reference level crossing must separate each
**mid ref level**
crossing.

**Default:
**50

Low reference level of the waveform.

After the signal crosses the
**mid ref level**
in the falling direction, it must cross the
**low ref level**
before the next rising
**mid ref level**
crossing can be counted.

**Default:
**10

Units of the high, middle, and low reference levels.

Name | Value | Description |
---|---|---|

absolute | 0 | Interprets the reference levels as absolute levels. |

percent | 1 | Interprets the reference levels as a percentage of the full range of the waveform. |

**Default:
**percent

Error conditions that occur before this node runs.

The node responds to this input according to standard error behavior.

Standard Error Behavior

Many nodes provide an
**error in**
input and an
**error out**
output so that the node can respond to and communicate errors that occur while code is running. The value of
**error in**
specifies whether an error occurred before the node runs. Most nodes respond to values of
**error in**
in a standard, predictable way.

**Default:
**No error

Settings that determine the high and low state levels of a waveform.

Method this node uses to compute the high and low state levels of the waveform.

Name | Description |
---|---|

histogram | Returns the levels of the histogram bins with the maximum number of hits in the upper and lower regions of the waveform. The upper and lower regions of the waveform include the upper and lower 40%, respectively, of the peak-to-peak range of the waveform. |

peak | Searches the entire waveform for its maximum and minimum levels. |

auto select | Determines whether the histogram bins that correspond to the high and low state levels each have over 5% of the total hits. If so, this node returns those results. Otherwise, this node uses the peak method. This ensures a reasonable answer for either a square wave (ignoring the overshoot and undershoot) or a triangle wave (where a histogram fails). |

**Default:
**auto select

Number of bins in the histogram this node uses to determine the high and low state levels of the waveform.

If you select the peak method, this node ignores this input.

**Default:
**256

Method this node uses to compute the histogram. Currently, mode is the only available histogram method.

Name | Description |
---|---|

mode | Uses the mode method. |

Value reserved for future use.

Mean level of one complete period of a periodic input waveform.

This output can return a double-precision, floating-point number or a 1D array of double-precision, floating-point numbers.

Algorithm for Calculating cycle average

The following equation computes the cycle average:

$\text{average}=\frac{1}{\text{numPoints}}\sum _{i=\text{cycle}}\text{waveform}\left[i\right]$

where
*i*
indicates the waveform samples that fall in the single period specified by
**cycle number**
and numPoints is given by the following equation:

$\text{numPoints}=\mathrm{int}(\frac{\text{period}}{dt}+0.5)$

where dt is the time between two samples and int() is a function that returns the integer portion of a floating-point number.

The cycle average of a perfect sine wave is zero, while the average level of the entire waveform can be nonzero due to partial periods at the boundaries of the waveform.

Root mean square value of one complete period of a periodic input waveform.

This output can return a double-precision, floating-point number or a 1D array of double-precision, floating-point numbers.

Algorithm for Calculating cycle RMS

The following equation computes the RMS value:

${\text{RMS}}_{\text{cycle}}=\sqrt{\frac{1}{\text{numPoints}}\sum _{i=\text{cycle}}{\left(\text{waveform}\left[i\right]\right)}^{2}}$

where
*i*
indicates the waveform samples that fall in the single period specific by
**cycle number**
and numPoints is given by the following equation:

$\text{numPoints}=\mathrm{int}(\frac{\text{period}}{dt}+0.5)$

where dt is the time between two points and int() is a function that returns the integer portion of a floating-point number.

Error information.

The node produces this output according to standard error behavior.

Standard Error Behavior

**error in**
input and an
**error out**
output so that the node can respond to and communicate errors that occur while code is running. The value of
**error in**
specifies whether an error occurred before the node runs. Most nodes respond to values of
**error in**
in a standard, predictable way.

Measurement cycle interval end points and the absolute reference levels used to define the measurement cycle.

This output can return a cluster or a 1D array of clusters.

Time of the rising middle reference level crossing that defines the start of the measurement interval.

Time of the rising middle reference level crossing that defines the end of the measurement interval

Three user-defined reference levels of the waveform in absolute units.

The high reference level.

The middle reference level.

The low reference level.

Units of the reference levels.

**ref units**
is always
absolute
in
**measurement info**.

**Where This Node Can Run:
**

Desktop OS: Windows

FPGA: Not supported

Web Server: Not supported in VIs that run in a web application