image thumbnail


version 1.0.0 (16.8 KB) by Kohei Yatabe
A simple and user-friendly tool for computing STFT/DGT


Updated 22 Jun 2021

From GitHub

View license on GitHub

DGTtool for computing STFT/DGT

A simple and user-friendly MATLAB tool for computing the short-time Fourier transform (STFT) and the discrete Gabor transform (DGT). It is designed to be easy and fast for practical use.

The following features of DGTtool might be different from the other tools:

  1. Parameters are stored inside DGTtool object for user-friendliness.
  2. All pre-computation runs only once so that repeated computation of DGT/STFT is fast.
  3. Many computations run in parallel for all channels (for multi-channel signal).
  4. Perfect reconstruction is very easily realized.
  5. Number of frequency bins can be smaller than the window length.
  6. Dual and tight windows can be computed easily.
  7. Sparse time-frequency representation (reassigned spectrogram) is implemented.
  8. Phase visualization tool (plotPhase) is implemented.
  9. STFT/DGT can be written in an operator form.

View DGTtool on File Exchange

How to Use

Download DGTtool.m and place it in the Current Folder.

1. Create DGTtool object

Create a DGTtool object F by specifying its parameters.

F = DGTtool('windowShift',500,'windowLength',1500,'FFTnum',2000,'windowName','Blackman')

(Note: This step can be done without parameters: F = DGTtool. Unspecified parameters are set to default values.)

2. Compute spectrogram

Compute a spectrogram X from a signal x.

X = F(x);

3. Convert spectrogram back to signal

Compute the signal x from its spectrogram X.

x = F.pinv(X);

4. Visualize spectrogram

Three visualization functions are implemented. A spectrogram is computed and plotted from a time-domain signal x (and sampling frequency fs, optional).



To check all functions in DGTtool, please read and run demo.m.

help DGTtool


doc DGTtool

provide detailed usage.

Cite As

Yatabe, Kohei. DGTtool. Zenodo, 2021, doi:10.5281/ZENODO.5010751.

View more styles

Kohei Yatabe (2021). DGTtool (, GitHub.

MATLAB Release Compatibility
Created with R2021a
Compatible with R2020b and later releases
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Community Treasure Hunt

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

Start Hunting!
To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.