Table Of Contents

FFT Power Spectrum and PSD (Power Spectrum » Single-shot) (G Dataflow)

Version:
    Last Modified: March 30, 2017

    Computes the single-sided or double-sided power spectrum of a time-domain signal.

    connector_pane_image
    datatype_icon

    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

    datatype_icon

    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

    datatype_icon

    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

    datatype_icon

    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
    datatype_icon

    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

    datatype_icon

    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

    datatype_icon

    single-sided

    A Boolean specifying whether this node computes the single-sided or double-sided power spectrum.

    True Computes the single-sided power spectrum.
    False Computes the double-sided power spectrum.

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

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

    Default: False

    datatype_icon

    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

    datatype_icon

    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

    datatype_icon

    power spectrum

    Power spectrum of the input signal.

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

    datatype_icon

    f0

    Start frequency, in Hz, of the spectrum.

    datatype_icon

    df

    Frequency resolution, in Hz, of the spectrum.

    datatype_icon

    magnitude

    Magnitude of the power spectrum.

    Determining the unit of measurement

    If the input signal is in volts (V), the unit of this output is volts-rms squared (Vrms2 ) for power spectrum. If the input signal is not in volts, the units of this output is the input signal unit-rms squared for power spectrum. If this node returns results in decibels, and the input signal is in volts, the units of this output is dBV for power spectrum.

    datatype_icon

    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 Computing the Power Spectrum

    If single-sided is True, this node first computes the double-sided power spectrum, and then converts the power spectrum into a single-sided power spectrum.

    This node uses the fast Fourier transform (FFT) and discrete Fourier transform (DFT) routines to compute the double-sided power spectrum, which is given by the following equation:

    S x x = | F { X } | 2 n 2

    where

    • x is the input signal
    • Sxx is the output sequence power spectrum
    • n is the number of samples in the input signal

    When the number of samples in the input signal is a valid power of 2, such that n = 2 m for m = 1 , 2 , 3 , ... , 23 , this node computes the fast Fourier transform of a real-valued sequence using the fast radix-2 FFT algorithm and efficiently scales the magnitude square. The largest power spectrum the node can compute using the FFT is 223 (8,388,608 or 8M).

    When the number of samples in the input signal is not a valid power of 2 but is factorable as the product of small prime numbers, this node computes the discrete Fourier transform of a real-valued sequence using an efficient DFT algorithm and scales the magnitude square. The largest power spectrum the node can compute using the fast DFT is 222 - 1 (4,194,303 or 4M - 1).

    Let Y be the Fourier transform of the input signal and n be the number of samples in it. Then the following equation is true.

    | Y n i | 2 = | Y i 2 |

    You can interpret the power in the (n - i)th element of Y as the power in the -ith element of the sequence, which represents the power in the -ith harmonic. You can find the total power for the ith harmonic (excluding DC and Nyquist components) by using the following equation.

    2 | Y i | 2 = | Y i | 2 + | Y n 1 | 2 0 < i < n 2

    The total power in the DC and Nyquist components are | Y 0 | 2 and | Y n 2 | 2 respectively.

    If n is even, let k = n 2 . The following table shows the format of the output sequence Sxx corresponding to power spectrum.

    Array Element of Double-Sided Spectrum Array Element of Single-Sided Spectrum Interpretation
    Sxx0 Sxx0 Power in DC component
    Sxx1 = Sxx(n-1) Sxx1 * 2 Power at frequency Δf
    Sxx2 = Sxx(n-2) Sxx2 * 2 Power at frequency 2Δf
    Sxx3 = Sxx(n-3) Sxx3 * 2 Power at frequency 3Δf
    Sxx(K-2) = Sxxn-(k-2) Sxx(k-2) * 2 Power at frequency (k - 2)Δf
    Sxx(K-1) = Sxxn-(k-1) Sxx(K-1) * 2 Power at frequency (k - 1)Δf
    SXXk SXXk Power in Nyquist harmonic

    If n is odd, let k = n 1 2 . The following table shows the format of the output sequence Sxx corresponding to power spectrum.

    Array Element of Double-Sided Spectrum Array Element of Single-Sided Spectrum Interpretation
    Sxx0 Sxx0 Power in DC component
    Sxx1 = Sxx(n-1) Sxx1 * 2 Power at frequency Δf
    Sxx2 = Sxx(n-2) Sxx2 * 2 Power at frequency 2Δf
    Sxx3 = Sxx(n-3) Sxx3 * 2 Power at frequency 3Δf
    Sxx(K-2) = Sxxn-(k-2) Sxx(K-2) * 2 Power at frequency (k - 2)Δf
    Sxx(K-1) = Sxxn-(k-1) Sxx(K-1) * 2 Power at frequency (k - 1)Δf
    SXX(n-k) Sxxk * 2 Power at frequency kΔf

    Where This Node Can Run:

    Desktop OS: Windows

    FPGA: This product does not support FPGA devices


    Recently Viewed Topics