TFA STFT Spectrogram VI

LabVIEW 2014 Advanced Signal Processing Toolkit Help

Edition Date: June 2014

Part Number: 372656C-01

»View Product Info
Download Help (Windows Only)

Owning Palette: Time Frequency Spectrogram VIs

Requires: Advanced Signal Processing Toolkit

Computes the short-time Fourier transform (STFT)-based spectrogram of signal. Wire data to the signal input to determine the polymorphic instance to use or manually select the instance.

STFT spectrogram is the most effective and widely used quadratic time-frequency analysis method. However, the time-frequency resolution is relatively lower because of the window effect.

Details  Examples

Use the pull-down menu to select an instance of this VI.

TFA STFT Spectrogram (Waveform)

reassigned? specifies whether to reassign the spectrogram by moving dispersed energy to the local center of gravity in the joint time-frequency domain. The reassignment can improve the readability of the spectrogram. The default is FALSE.
extension specifies the method to use to pad data at the borders of the input signal to lessen discontinuity. The extension length is half the window length.

0Zero padding (default)—Uses zeros to pad the input data. Watch for abrupt transitions between the padded zeros and the input data, which causes large artifacts near the transition.
1Symmetric—Uses replications of the input data to pad the data, except that this VI left-flips the block at the input and right-flips the block at the end.
2Periodic—Adds a replication of the input data block before and another replication after the input data block to pad the data.
signal specifies the input signal.
time-frequency sampling info specifies the density to use to sample the signal in the joint time-frequency domain and defines the size of the resulting 2D time-frequency array.
time steps specifies the sampling period, in samples, along the time axis in the joint time-frequency domain. The default is –1, which specifies that this VI adjusts time steps automatically so that no more than 512 rows exist in spectrogram. The number of rows in spectrogram equals the signal length divided by time steps.

National Instruments recommends that you set time steps such that the number of rows in spectrogram does not exceed 512. If you specify a small value for time steps, this VI might return a large spectrogram, which requires a long computation time and more memory.

If you need a small sampling period to observe more details and the signal length is large, divide the signal into smaller segments and compute the spectrogram for each segment. If the signal is oversampled, you also can downsample the signal. The scale info output contains the actual sampling period, in seconds, along the time axis.
frequency bins specifies the number of bins along the frequency axis to sample the signal in the joint time-frequency domain. frequency bins must be a power of 2 and greater than 0. The scale info output contains the actual sampling period in hertz along the frequency axis.
window info specifies the sliding window to use to compute the STFT and defines the resolution of the resulting time-frequency representation. Use the user defined window input to specify a customized window.
type specifies the type of the sliding window.
length specifies the length, in samples, of the sliding window. The default is –1, which indicates that this VI sets the window length to four times time steps. Thus, the overlap between sliding windows is 75 percent. However, this VI wraps the default window length to 64 when time steps is less than 16. length controls the relationship between the time resolution and the frequency resolution of the time-frequency representation. A large window length provides better frequency resolution but poorer time resolution.
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
user defined window specifies the coefficients of the sliding window to use to compute the STFT. If you specify a value for user defined window, this VI ignores the settings in the window info input. Use window info to specify a commonly used sliding window, such as the hanning window or the hamming window.
spectrogram returns the quadratic time-frequency representation of the signal. Each row corresponds to the instantaneous power spectrum at a certain time. Use the TFA Spectrogram Indicator to display the spectrogram on an intensity graph. You can save the time-dependent 2D array to a text file for use in another software environment. The resulting text file contains only Z values and does not retain the time axis information or the frequency axis information. You can use the TFA Get Time and Freq Scale Info VI to compute the time scale information and the frequency scale information of the time-frequency representation.
scale info returns the time scale and the frequency scale information of the time-frequency representation, including the time offset, the time interval between every two contiguous rows, the frequency offset, and the frequency interval between every two contiguous columns of spectrogram. Use the TFA Get Time and Freq Scale Info VI to return detailed information about the time scale and the frequency scale.
error out contains error information. This output provides standard error out functionality.

TFA STFT Spectrogram (Real)

reassigned? specifies whether to reassign the spectrogram by moving dispersed energy to the local center of gravity in the joint time-frequency domain. The reassignment can improve the readability of the spectrogram. The default is FALSE.
extension specifies the method to use to pad data at the borders of the input signal to lessen discontinuity. The extension length is half the window length.

0Zero padding (default)—Uses zeros to pad the input data. Watch for abrupt transitions between the padded zeros and the input data, which causes large artifacts near the transition.
1Symmetric—Uses replications of the input data to pad the data, except that this VI left-flips the block at the input and right-flips the block at the end.
2Periodic—Adds a replication of the input data block before and another replication after the input data block to pad the data.
signal specifies the input signal.
time-frequency sampling info specifies the density to use to sample the signal in the joint time-frequency domain and defines the size of the resulting 2D time-frequency array.
time steps specifies the sampling period, in samples, along the time axis in the joint time-frequency domain. The default is –1, which specifies that this VI adjusts time steps automatically so that no more than 512 rows exist in spectrogram. The number of rows in spectrogram equals the signal length divided by time steps.

National Instruments recommends that you set time steps such that the number of rows in spectrogram does not exceed 512. If you specify a small value for time steps, this VI might return a large spectrogram, which requires a long computation time and more memory.

If you need a small sampling period to observe more details and the signal length is large, divide the signal into smaller segments and compute the spectrogram for each segment. If the signal is oversampled, you also can downsample the signal. The scale info output contains the actual sampling period, in seconds, along the time axis.
frequency bins specifies the number of bins along the frequency axis to sample the signal in the joint time-frequency domain. frequency bins must be a power of 2 and greater than 0. The scale info output contains the actual sampling period in hertz along the frequency axis.
window info specifies the sliding window to use to compute the STFT and defines the resolution of the resulting time-frequency representation. Use the user defined window input to specify a customized window.
type specifies the type of the sliding window.
length specifies the length, in samples, of the sliding window. The default is –1, which indicates that this VI sets the window length to four times time steps. Thus, the overlap between sliding windows is 75 percent. However, this VI wraps the default window length to 64 when time steps is less than 16. length controls the relationship between the time resolution and the frequency resolution of the time-frequency representation. A large window length provides better frequency resolution but poorer time resolution.
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
user defined window specifies the coefficients of the sliding window to use to compute the STFT. If you specify a value for user defined window, this VI ignores the settings in the window info input. Use window info to specify a commonly used sliding window, such as the hanning window or the hamming window.
sampling rate specifies the sampling rate of signal in hertz. sampling rate must be greater than 0, or this VI sets sampling rate to 1 automatically. The default is 1.
spectrogram returns the quadratic time-frequency representation of the signal. Each row corresponds to the instantaneous power spectrum at a certain time. Use the TFA Spectrogram Indicator to display the spectrogram on an intensity graph. You can save the time-dependent 2D array to a text file for use in another software environment. The resulting text file contains only Z values and does not retain the time axis information or the frequency axis information. You can use the TFA Get Time and Freq Scale Info VI to compute the time scale information and the frequency scale information of the time-frequency representation.
scale info returns the time scale and the frequency scale information of the time-frequency representation, including the time offset, the time interval between every two contiguous rows, the frequency offset, and the frequency interval between every two contiguous columns of spectrogram. Use the TFA Get Time and Freq Scale Info VI to return detailed information about the time scale and the frequency scale.
error out contains error information. This output provides standard error out functionality.

TFA STFT Spectrogram (Complex)

reassigned? specifies whether to reassign the spectrogram by moving dispersed energy to the local center of gravity in the joint time-frequency domain. The reassignment can improve the readability of the spectrogram. The default is FALSE.
extension specifies the method to use to pad data at the borders of the input signal to lessen discontinuity. The extension length is half the window length.

0Zero padding (default)—Uses zeros to pad the input data. Watch for abrupt transitions between the padded zeros and the input data, which causes large artifacts near the transition.
1Symmetric—Uses replications of the input data to pad the data, except that this VI left-flips the block at the input and right-flips the block at the end.
2Periodic—Adds a replication of the input data block before and another replication after the input data block to pad the data.
signal specifies the input signal.
time-frequency sampling info specifies the density to use to sample the signal in the joint time-frequency domain and defines the size of the resulting 2D time-frequency array.
time steps specifies the sampling period, in samples, along the time axis in the joint time-frequency domain. The default is –1, which specifies that this VI adjusts time steps automatically so that no more than 512 rows exist in spectrogram. The number of rows in spectrogram equals the signal length divided by time steps.

National Instruments recommends that you set time steps such that the number of rows in spectrogram does not exceed 512. If you specify a small value for time steps, this VI might return a large spectrogram, which requires a long computation time and more memory.

If you need a small sampling period to observe more details and the signal length is large, divide the signal into smaller segments and compute the spectrogram for each segment. If the signal is oversampled, you also can downsample the signal. The scale info output contains the actual sampling period, in seconds, along the time axis.
frequency bins specifies the number of bins along the frequency axis to sample the signal in the joint time-frequency domain. frequency bins must be a power of 2 and greater than 0. The scale info output contains the actual sampling period in hertz along the frequency axis.
window info specifies the sliding window to use to compute the STFT and defines the resolution of the resulting time-frequency representation. Use the user defined window input to specify a customized window.
type specifies the type of the sliding window.
length specifies the length, in samples, of the sliding window. The default is –1, which indicates that this VI sets the window length to four times time steps. Thus, the overlap between sliding windows is 75 percent. However, this VI wraps the default window length to 64 when time steps is less than 16. length controls the relationship between the time resolution and the frequency resolution of the time-frequency representation. A large window length provides better frequency resolution but poorer time resolution.
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
user defined window specifies the coefficients of the sliding window to use to compute the STFT. If you specify a value for user defined window, this VI ignores the settings in the window info input. Use window info to specify a commonly used sliding window, such as the hanning window or the hamming window.
sampling rate specifies the sampling rate of signal in hertz. sampling rate must be greater than 0, or this VI sets sampling rate to 1 automatically. The default is 1.
spectrogram returns the quadratic time-frequency representation of the signal. Each row corresponds to the instantaneous power spectrum at a certain time. Use the TFA Spectrogram Indicator to display the spectrogram on an intensity graph. You can save the time-dependent 2D array to a text file for use in another software environment. The resulting text file contains only Z values and does not retain the time axis information or the frequency axis information. You can use the TFA Get Time and Freq Scale Info VI to compute the time scale information and the frequency scale information of the time-frequency representation.
scale info returns the time scale and the frequency scale information of the time-frequency representation, including the time offset, the time interval between every two contiguous rows, the frequency offset, and the frequency interval between every two contiguous columns of spectrogram. Use the TFA Get Time and Freq Scale Info VI to return detailed information about the time scale and the frequency scale.
error out contains error information. This output provides standard error out functionality.

TFA STFT Spectrogram Details

The STFT spectrogram is the square of the magnitude of the resulting coefficients from the STFT. The STFT spectrogram is non-negative. All the values of the STFT spectrogram are positive. The other time-frequency representations, such as the Wigner-Ville Distribution, the Choi-Williams Distribution, the Cone-Shaped Distribution, and the Gabor spectrogram, can be negative.

Refer to the book Introduction to Time-Frequency and Wavelet Transforms for more information about reassignment.

Examples

Refer to the following VIs for examples of using the TFA STFT Spectrogram VI:

  • Color Tables for Displaying the Spectrogram VI: labview\examples\Time Frequency Analysis\TFAGettingStarted
  • Group Delay VI: labview\examples\Time Frequency Analysis\TFAFunctions
  • Mean Instantaneous Frequency or Bandwidth (MIF or MIB) VI: labview\examples\Time Frequency Analysis\TFAFunctions
  • Time-Frequency Resolution VI: labview\examples\Time Frequency Analysis\TFAGettingStarted

WAS THIS ARTICLE HELPFUL?

Not Helpful