Inverse Short-Time Fourier Transform (ISTFT) with Matlab
The present code is a Matlab function that provides an Inverse Short-Time Fourier Transform (ISTFT) of a given spectrogram STFT(k, l) with time across columns and frequency across rows. The output of the function is:
1) the reconstructed signal in time domain;
2) a time vector.
For convenience, the input and output arguments are given in the beginning of the function
An example is given in order to clarify the usage of the function. It represents the time-frequency analysis and then the perfect reconstruction of a given signal x[n], using Blackman and Hamming windows for the analysis and resynthesis, respectively. Also, a GUI named OLAExam is supplied to represent the perfect reconstruction via overlap-add (OLA) method and to assist the choice of the analysis/resynthesis window(s) (their length and hop size).
The code is based on the theory described in:
[1] H. Zhivomirov. On the Development of STFT-analysis and ISTFT-synthesis Routines and their Practical Implementation. TEM Journal, ISSN: 2217-8309, DOI: 10.18421/TEM81-07, Vol. 8, No. 1, pp. 56-64, Feb. 2019. (http://www.temjournal.com/content/81/TEMJournalFebruary2019_56_64.pdf)
Cite As
H. Zhivomirov. On the Development of STFT-analysis and ISTFT-synthesis Routines and their Practical Implementation. TEM Journal, ISSN: 2217-8309, DOI: 10.18421/TEM81-07, Vol. 8, No. 1, pp. 56-64, Feb. 2019. (http://www.temjournal.com/content/81/TEMJournalFebruary2019_56_64.pdf)
Hristo Zhivomirov (2024). Inverse Short-Time Fourier Transform (ISTFT) with Matlab (https://www.mathworks.com/matlabcentral/fileexchange/45577-inverse-short-time-fourier-transform-istft-with-matlab), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- Test and Measurement > Data Acquisition Toolbox > Periodic Waveform Generation >
- Signal Processing > Signal Processing Toolbox > Transforms, Correlation, and Modeling > Transforms > Discrete Fourier and Cosine Transforms > Short-Time Fourier Transform >
Tags
Acknowledgements
Inspired by: Short-Time Fourier Transform (STFT) with Matlab
Inspired: Cross-Synthesis Example with Matlab Implementation
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.