samples of the input signal
into a local buffer of
which is initially zeroed
- Multiply the data frame pointwise by a length
to obtain the
windowed data frame (time normalized):
with zeros on both sides to obtain a
where is chosen to be a power of two larger than . The number is the zero-padding factor. As discussed in §2.5.3, the zero-padding factor is the interpolation factor for the spectrum, i.e., each FFT bin is replaced by bins, interpolating the spectrum using ideal bandlimited interpolation , where the ``band'' in this case is the -sample nonzero duration of in the time domain.
- Take a length
to obtain the time-normalized,
frequency-sampled STFT at time
where , and is the sampling rate in Hz. As in any FFT, we call the bin number.
- If needed, time normalization may be removed using a
linear phase term to yield the sampled STFT:
The (continuous-frequency) STFT may be approached arbitrarily closely by using more zero padding and/or other interpolation methods. Note that there is no irreversible time-aliasing when the STFT frequency axis is sampled to the points , provided the FFT size is greater than or equal to the window length .
Two Dual Interpretations of the STFT
Practical Computation of the STFT