# Decimate (Continuous) (G Dataflow)

Continuously decimates an input sequence according to a specific decimating factor and averaging method.  ## reset

A Boolean that specifies whether to initialize the decimation.

 True Initializes the decimation. False Does not initialize the decimation.

If reset is True or if this node runs for the first time, this node initializes the decimation from the sample of x specified by start index. When the node runs again with reset set to False, this node initializes the decimation from the final state of the previous call to the node.

Processing a Large Data Sequence Consisting of Smaller Blocks

To process a large data sequence that consists of smaller blocks, set reset to True for the first block and to False for all remaining blocks. You also can set reset to True at regular intervals of blocks to periodically reset the sample from which the decimation begins.

Default: False ## signal

Input sequence.

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 ## decimating factor

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 ## start index

Index of the sample from which the node starts to decimate the input sequence. start index must be greater than or equal to zero.

This input is available only if you wire one of the following data types to signal:

• 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

This input changes to start time when the data type of signal is a waveform or a 1D array of waveforms.

Default: 0 ## start time

Time at which the node starts to decimate the input sequence.

This input is available only if you wire one of the following data types to signal:

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

This input changes to start index when the data type of signal is an array of numbers. ## error in

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.

error in does not contain an error error in contains an error  If no error occurred before the node runs, the node begins execution normally.

If no error occurs while the node runs, it returns no error. If an error does occur while the node runs, it returns that error information as error out.

If an error occurred before the node runs, the node does not execute. Instead, it returns the error in value as error out.

Default: No error ## averaging

A Boolean that determines the method this node uses to handle the data points in the input sequence.

 True Each output point in decimated signal is the mean of the decimating factor input points. False Keeps every decimating factor point from signal.

Default: False ## decimated signal

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 out

Error information.

The node produces this output 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.

error in does not contain an error error in contains an error  If no error occurred before the node runs, the node begins execution normally.

If no error occurs while the node runs, it returns no error. If an error does occur while the node runs, it returns that error information as error out.

If an error occurred before the node runs, the node does not execute. Instead, it returns the error in value as error out.

## Algorithm for Continuous Decimation

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+s}$

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

$\mathrm{size}=⌈\frac{n-s}{m}⌉$,

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

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

$\mathrm{size}=⌊\frac{n-s}{m}⌋$,

where

• x is signal
• n is the number of elements in signal
• m is decimating factor
• s is start index
• size is the number of elements in the output sequence decimated signal
• $⌈.⌉$ gives the smallest integer greater than or equal to the number
• $⌊.⌋$ 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