Short-Time FFT

Nonparametric estimate of spectrum using short-time, fast Fourier transform (FFT) method

Library

Transforms

dspxfrm3

Description

The Short-Time FFT block computes a nonparametric estimate of the spectrum. The block buffers, applies a window, and zero pads the input signal. The block then takes the FFT of the signal, transforming it into the frequency domain.

Connect your single-channel analysis window to the w(n) port. For the Analysis window length parameter, enter the length of the analysis window, W. The block buffers the input signal such that it has a frame length of W

Connect your single-channel or multichannel input signal to the x(n) port. After the block buffers and windows this signal, it zero-pads the signal before computing the FFT. For the FFT length parameter, enter the length to which the block pads the input signal. For the Overlap between consecutive windows (in samples) parameter, enter the number of samples to overlap each frame of the input signal.

The block outputs the complex-valued, single-channel or multichannel short-time FFT at port X(n,k).

Fixed-Point Data Types

The following diagram shows the data types used within the Short-Time FFT subsystem block for fixed-point signals.

The settings for the fixed-point parameters of the Array-Vector Multiply block in the diagram above are as follows:

  • Rounding ModeFloor

  • Overflow ModeWrap

  • Product outputInherit via internal rule

  • AccumulatorInherit via internal rule

  • OutputSame as first input

The settings for the fixed-point parameters of the FFT block in the diagram above are as follows:

  • Rounding ModeFloor

  • Overflow ModeWrap

  • Sine tableSame word length as input

  • Product outputInherit via internal rule

  • AccumulatorInherit via internal rule

  • OutputInherit via internal rule

See the FFT and Array-Vector Multiply block reference pages for more information.

Examples

The dspstsa example illustrates how to use the Short-Time FFT and Inverse Short-Time FFT blocks to remove the background noise from a speech signal.

open_system('dspstsa')

Dialog Box

Analysis window length

Specify the frame length of the analysis window. The Analysis window length must be a positive integer value greater than one.

Overlap between consecutive windows (in samples)

Enter the number of samples of overlap for each frame of the input signal.

FFT length

Enter the length to which the block pads the input signal.

Treat Mx1 and unoriented sample-based signals as

Specify how the block treats sample-based M-by-1 column vectors and unoriented sample-based vectors of length M. You can select one of the following options:

  • One channel — When you select this option, the block treats M-by-1 and unoriented sample-based inputs as a column vector (one channel).

  • M channels (this choice will be removed – see release notes) — When you select this option, the block treats M-by-1 and unoriented sample-based inputs as a 1-by-M row vector.

    Note:   This parameter will be removed in a future release. See the DSP System Toolbox™ Release Notes for more information.

References

Quatieri, Thomas E. Discrete-Time Speech Signal Processing. Englewood Cliffs, NJ: Prentice-Hall, 2001.

Supported Data Types

PortSupported Data Types

x(n)

  • Double-precision floating point

  • Single-precision floating point

  • Fixed point (signed only)

  • 8-, 16-, and 32-bit signed integers

w(n)

  • Double-precision floating point

  • Single-precision floating point

  • Fixed point (signed only)

  • 8-, 16-, and 32-bit signed integers

X(n,k)

  • Double-precision floating point

  • Single-precision floating point

  • Fixed point (signed only)

  • 8-, 16-, and 32-bit signed integers

See Also

Burg MethodDSP System Toolbox
Inverse Short-Time FFTDSP System Toolbox
Magnitude FFTDSP System Toolbox
PeriodogramDSP System Toolbox
Spectrum AnalyzerDSP System Toolbox
Window FunctionDSP System Toolbox
Yule-Walker MethodDSP System Toolbox
pwelchSignal Processing Toolbox

See Spectral Analysis for related information.

Was this topic helpful?