istftLayer
Description
An ISTFT layer computes the inverse short-time Fourier transform of the input. Use of this layer requires Deep Learning Toolbox™.
Creation
Description
creates an Inverse Short-Time Fourier Transform (ISTFT) layer. The input to layer = istftLayeristftLayer must be a real-valued dlarray (Deep Learning Toolbox) object in
"CBT" or "SCBT" format.
For
"CBT"inputs, the size of the channel ("C") dimension must be even and divisible byfloor(.FFTLength/2)+1For
"SCBT"inputs, the size of the spatial ("S") dimension must equalfloor(.FFTLength/2)+1
The output of istftLayer is a real-valued array in
"CBT" format. For more information, see Layer Input and Output Formats.
Note
When you initialize the learnable parameters of istftLayer, the
layer weights are set to the synthesis window used to compute the transform. It is not
recommended to initialize the weights directly.
creates an ISTFT layer with properties specified by one or more name-value arguments. You
can specify the analysis window and the number of overlapped samples, among others.layer = istftLayer(PropertyName=Value)
Note
You cannot use this syntax to set the Weights
property.
Example: istfl =
istftLayer(Window=triang(64),OverlapLength=48,FFTLength=512) creates an
ISTFT layer with a 64-sample triangular window, 48 samples of overlap between adjoining
windows, and 512 DFT points.
Properties
Examples
More About
Algorithms
The size of the ISTFT depends on the dimensions and data format of the input STFT, the length of the windowing function, the number of overlapped samples and the number of DFT points.
Define the hop size as hopSize =
length(. The
number of samples in the ISTFT is
Window)-OverlapLengthlength(, where
Window)+(nseg-1)*hopSizenseg is the size of the input in the time ("T") dimension.
If the input to
istftLayeris a"SCBT"formatteddlarray, the number of channels isszC/2, whereszCis the size of the input in the channel ("C") dimension.If the input to
istftLayeris a"CBT"formatteddlarray, the number of channels isszC/(2*nfreq), wherenfreq = floor(.FFTLength/2)+1



