DSP Blockset    
Short-Time FFT

Compute a nonparametric estimate of the spectrum using the short-time, fast Fourier transform (ST-FFT) method.

Library

Estimation / Power Spectrum Estimation

Description

The Short-Time FFT block computes a nonparametric estimate of the spectrum. The block averages the squared magnitude of the FFT computed over windowed sections of the input, and normalizes the spectral average by the square of the sum of the window samples.

Both an M-by-N frame-based matrix input and an M-by-N sample-based matrix input are treated as M sequential time samples from N independent channels. The block computes a separate estimate for each of the N independent channels and generates an Nfft-by-N matrix output. When Inherit FFT length from input dimensions is selected, Nfft is specified by the frame size of the input, which must be a power of 2. When Inherit FFT length from input dimensions is not selected, Nfft is specified as a power of 2 by the FFT length parameter, and the block zero pads or truncates the input to Nfft before computing the FFT.

Each column of the output matrix contains the estimate of the corresponding input column's power spectral density at Nfft equally spaced frequency points in the range [0,Fs), where Fs is the signal's sample frequency. The output is always sample-based.

The Number of spectral averages specifies the number of spectra to average. Setting this parameter to 1 effectively disables averaging.

The Window type, Stopband ripple, Beta, and Window sampling parameters all apply to the specification of the window function; see the reference page for the Window Function block for more details on these four parameters.

Example

The dspstfft demo provides an illustration of using the Short-Time FFT and Matrix Viewer blocks to create a spectrogram. The dspsacomp demo compares the ST-FFT with several other spectral estimation methods.

Dialog Box

Window type
The type of window to apply. (See the Window Function block reference.) Tunable.
Stopband attenuation in dB
The level (dB) of stopband attenuation, Rs, for the Chebyshev window. Disabled for other Window type selections. Tunable.
Beta
The parameter for the Kaiser window. Disabled for other Window type selections. Increasing Beta widens the mainlobe and decreases the amplitude of the window sidelobes in the window's frequency magnitude response. Tunable.
Window sampling
The window sampling, symmetric or periodic. Tunable.
Inherit FFT length from input dimensions
When selected, uses the input frame size as the number of data points, Nfft, on which to perform the FFT.
FFT length
The number of data points, Nfft, on which to perform the FFT. If Nfft exceeds the input frame size, the frame is zero-padded as needed. This parameter is enabled when Inherit FFT length from input dimensions is not selected.
Number of spectral averages
The number of spectra to average; setting this parameter to 1 effectively disables averaging.

References

Oppenheim, A. V. and R. W. Schafer. Discrete-Time Signal Processing. Englewood Cliffs, NJ: Prentice Hall, 1989.

Proakis, J. and D. Manolakis. Digital Signal Processing. 3rd ed. Englewood Cliffs, NJ: Prentice-Hall, 1996.

Supported Data Types

To learn how to convert to the above data types in MATLAB and Simulink, see Supported Data Types and How to Convert to Them.

See Also

Burg Method
DSP Blockset
Magnitude FFT
DSP Blockset
Window Function
DSP Blockset
Spectrum Scope
DSP Blockset
Yule-Walker Method
DSP Blockset
pwelch
Signal Processing Toolbox

See Power Spectrum Estimation for related information. Also see a list of all blocks in the Power Spectrum Estimation library.


  Sample and Hold Signal From Workspace