# FFT Spectrum (Magnitude-Phase » Single-shot) (G Dataflow)

Computes the single-sided, scaled amplitude spectrum of a time-domain signal.

## window parameter

A value that affects the output coefficients when window type is Kaiser, Gaussian, or Dolph-Chebyshev.

If window type is any other type of window, this node ignores this input.

This input represents the following information for each type of window:

• Kaiser—Beta parameter
• Gaussian—Standard deviation
• Dolph-Chebyshev—The ratio, s, of the main lobe to the side lobe

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
• 1D array of double-precision, floating-point numbers
• 1D array of complex double-precision, floating-point numbers
• 2D array of double-precision, floating-point numbers
• 2D array of complex double-precision, floating-point numbers

Default: NaN—Causes this node to set beta to 0 for a Kaiser window, the standard deviation to 0.2 for a Gaussian window, and s to 60 for a Dolph-Chebyshev window

## window type

Time-domain window to apply to the signal.

Name Value Description
Rectangle 0 Applies a rectangle window.
Hanning 1 Applies a Hanning window.
Hamming 2 Applies a Hamming window.
Blackman-Harris 3 Applies a Blackman-Harris window.
Exact Blackman 4 Applies an Exact Blackman window.
Blackman 5 Applies a Blackman window.
Flat Top 6 Applies a Flat Top window.
4 Term B-Harris 7 Applies a 4 Term B-Harris window.
7 Term B-Harris 8 Applies a 7 Term B-Harris window.
Low Sidelobe 9 Applies a Low Sidelobe window.
Blackman Nutall 11 Applies a Blackman Nutall window.
Triangle 30 Applies a Triangle window.
Bartlett-Hanning 31 Applies a Bartlett-Hanning window.
Bohman 32 Applies a Bohman window.
Parzen 33 Applies a Parzen window.
Welch 34 Applies a Welch window.
Kaiser 60 Applies a Kaiser window.
Dolph-Chebyshev 61 Applies a Dolph-Chebyshev window.
Gaussian 62 Applies a Gaussian window.
Force 64 Applies a Force window.
Exponential 65 Applies an Exponential window.

Default: Rectangle

## reset

A Boolean that specifies whether to reset the internal state of the node.

 True Resets the internal state of the node. False Does not reset the internal state of the node.

This input is available only if you wire a double-precision, floating-point number to signal.

Default: False

## signal

The input time-domain signal, usually in volts.

The time-domain record must contain at least three cycles of the signal for a valid estimate.

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
• Double-precision, floating-point number
• 1D array of double-precision, floating-point numbers
• 1D array of complex double-precision, floating-point numbers
• 2D array of double-precision, floating-point numbers
• 2D array of complex double-precision, floating-point numbers

## sample length

Length of each set of data.

The node performs computation for each set of data. sample length must be greater than zero.

This input is available only if you wire a double-precision, floating-point number to signal.

Default: 100

## view

Settings that define how this node returns results.

### dB on

A Boolean that specifies whether this node returns the results in decibels.

 True Returns the results in decibels. False Returns the results in the original units.

Default: False

### unwrap phase

A Boolean specifying whether to unwrap the phase.

 True Unwraps the phase. False Does not unwrap the phase.

Unwrapping eliminates discontinuities that have an absolute value greater than pi.

Default: False

### convert to degree

A Boolean specifying whether this node converts the phase results from radians to degrees.

 True Returns the phase results in degrees. False Returns the phase results in radians.

Default: False

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

## dt

Sample period of the time-domain signal in seconds.

Set this input to 1/fs, where fs is the sampling frequency of the time-domain signal.

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

• Double-precision, floating-point number
• 1D array of double-precision, floating-point numbers
• 1D array of complex double-precision, floating-point numbers
• 2D array of double-precision, floating-point numbers
• 2D array of complex double-precision, floating-point numbers

Default: 1

## magnitude

Magnitude of the FFT spectrum of the input signal.

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

### f0

Start frequency, in Hz, of the spectrum.

### df

Frequency resolution, in Hz, of the spectrum.

### magnitude

Magnitude of the FFT spectrum.

If the input signal is in volts (V), this output has units of volts-rms (Vrms). If the input signal is not in volts, this output has units of the input signal unit-rms. If the results are in decibels and the input signal is in volts, this output has units of dBV.

## phase

Phase of the FFT spectrum of the input signal.

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

### f0

Start frequency, in Hz, of the spectrum.

### df

Frequency resolution, in Hz, of the spectrum.

### phase

Phase, in radians, of the FFT spectrum.

## 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 Calculating the Amplitude Spectrum

To compute the single-sided, scaled amplitude spectrum, this node first uses the following equation to compute the two-sided amplitude spectrum:

$\begin{array}{cc}A\left(i\right)=\frac{X\left(i\right)}{N}& i=0,\text{}1,\text{}...,\text{}N-1\end{array}$

where

• A is the two-sided amplitude spectrum
• X is the discrete Fourier transform of signal
• N is the number of points in signal

Then, this node uses the following equation to convert the two-sided amplitude spectrum to the single-sided amplitude spectrum:

$B\left(i\right)=\left\{\begin{array}{cc}A\left(0\right)& i=0\\ \sqrt{2}A\left(i\right)& i=1,\text{}2,\text{}...,\text{}⌊\frac{N}{2}-1⌋\end{array}$

where B is the single-sided amplitude spectrum and $⌊⌋$ is the floor operation.

This node computes the magnitude of the single-sided amplitude spectrum B as magnitude = B and the phase as phase(B).

Where This Node Can Run:

Desktop OS: Windows

FPGA: Not supported

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