image thumbnail

Inverse Short-Time Fourier Transform (ISTFT) with Matlab

version 5.0.0.0 (383 KB) by Hristo Zhivomirov
Time-Frequency resynthesis via Inverse Short-Time Fourier Transform (ISTFT).

7.3K Downloads

Updated 28 Feb 2019

View License

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 (2022). 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
Created with R2014b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!