Last Modified: June 25, 2019

Decimates an input sequence according to a specific decimating factor and averaging method.

Input sequence.

The number of elements in **signal** must be greater than or equal to **decimating factor**.

This input accepts the following data types:

- Waveform
- Waveform in complex double-precision, floating-point numbers
- 1D array of waveforms
- 1D array of waveforms in complex double-precision, floating-point numbers
- 1D array of double-precision, floating-point numbers
- 2D array of double-precision, floating-point numbers
- 1D array of complex double-precision, floating-point numbers
- 2D array of complex double-precision, floating-point numbers

The factor by which this node decimates the input sequence. **decimating factor** must be greater than zero. If **decimating factor** is greater than the number of elements in **signal** or less than or equal to zero, this node sets **decimated signal** to an empty array and returns an error.

**Default: **1

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

Decimated sequence of the input sequence.

This output can return the following data types:

- Waveform
- Waveform in complex double-precision, floating-point numbers
- 1D array of waveforms
- 1D array of waveforms in complex double-precision, floating-point numbers
- 1D array of double-precision, floating-point numbers
- 2D array of double-precision, floating-point numbers
- 1D array of complex double-precision, floating-point numbers
- 2D array of complex double-precision, floating-point numbers

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.

If *Y* represents the output sequence **decimated signal**, this node obtains the elements of the sequence *Y* using the following equation:

If **averaging?** is False,
${Y}_{i}={x}_{i*m}$

If **averaging?** is True,
${Y}_{i}=\frac{1}{m}\underset{k=0}{\overset{m-1}{\sum}}{x}_{i*m+k}$

for *i* = 0, 1, 2, ..., *size* - 1,

$\mathrm{size}=\lfloor \frac{n}{m}\rfloor $,

where

*x*is**signal***n*is the number of elements in**signal***m*is**decimating factor***size*is the number of elements in the output sequence**decimated signal**- $\lfloor \mathrm{.}\rfloor $ gives the largest integer less than or equal to the number

**Where This Node Can Run: **

Desktop OS: Windows

FPGA: Not supported

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