dsp.ISTFT
Inverse short-time FFT
Description
The dsp.ISTFT
object computes the inverse short-time Fourier
transform (ISTFT) of the frequency-domain input signal and returns the time-domain output. The
object accepts frames of Fourier-transformed data, converts these frames into the time domain
using the IFFT operation, and performs overlap-add to reconstruct the data. The output of the
object is the reconstructed signal normalized by a factor that depends on the hop length and
sum(
. For more details, see Algorithms.window
)
Creation
Syntax
Description
returns an object,
istf
= dsp.ISTFTistf
, that implements inverse short-time FFT. The object processes
the data independently across each input channel over time.
returns an inverse short-time FFT object with the Window property
set to istf
= dsp.ISTFT(window
)window
.
returns an inverse short-time FFT object with the Window property
set to istf
= dsp.ISTFT(window
,overlap
)window
and the OverlapLength
property set to overlap
.
returns an inverse short-time FFT object with the istf
= dsp.ISTFT(window
,overlap
,isconjsym
)Window
property set
to window
, OverlapLength
property set to
overlap
, and the ConjugateSymmetricInput property set to
isconjsym
.
returns an inverse short-time FFT object with the istf
= dsp.ISTFT(window
,overlap
,isconjsym
,woa
)Window
property set
to window
, with the OverlapLength
property set
to overlap
, the ConjugateSymmetricInput
property
set to isconjsym
, and the WeightedOverlapAdd property set to woa
.
returns an inverse short-time FFT object with each specified property name set to the
specified value. You can specify additional name-value pair arguments in any order.istf
= dsp.ISTFT(Name,Value
)
Properties
Usage
Syntax
Description
Input Arguments
Output Arguments
Object Functions
Examples
More About
Algorithms
Here is a sketch of how the algorithm is implemented without weighted overlap-add (WOLA):
The frequency-domain input is inverted using IFFT, and then overlap-add is performed. Note
that each run of the algorithm generates R new output time-domain samples,
where R is the hop length. The hop length is defined as
WL − OL, where WL is the window
length and OL is the overlap length. The normalization stage multiplies the
output by , where win is the window vector specified in the
Window
property.
Here is a sketch of how the algorithm is implemented with Weighted Overlap-Add (WOLA):
In WOLA, a second window (usually called the synthesis window) is applied after the IFFT operation and before overlap-add. WOLA is used to suppress discontinuities at frame boundaries caused by nonlinear processing of the STFT. For more details, see More About.
Here is an illustration of how the input frequency subbands look when inverted with IFFT and overlap-added together to reconstruct a time-domain signal.
The analysis window (on the STFT side) and the synthesis window (on the ISTFT side) are
typically identical. To ensure perfect reconstruction, the windows are usually obtained by
taking the square root of windows satisfying the constant overlap-add (COLA) property. For
details on the COLA property and how perfect reconstruction is defined, see the More About in
dsp.STFT
page.
References
[1] Allen, J.B., and L. R. Rabiner. "A Unified Approach to Short-Time Fourier Analysis and Synthesis,'' Proceedings of the IEEE, Vol. 65, pp. 1558–1564, Nov. 1977.
Extended Capabilities
Version History
Introduced in R2019a