Time-Frequency Analysis Software

This is a collection of Matlab files for computing time-frequency distributions or time-frequency representations. (However, if you don't have Matlab, you can try Octave or SciLab.)

These programs are either a result of my research or something that I found useful enough to spend the time to implement. Included are a rigorous implementation of time-frequency distributions (Cohen class), some quartic time-frequency distributions, chirplet decomposition based on maximum likelihood estimation, fractional Fourier transform, time-varying filtering, and other useful utilities.

The image on the right is a spectrogram of a hermite function.
x = hermite(63,15); s = spec2(x,1,64,1,2.2); ptfd(s)

SourceForge.net Logo Support This Project

Please support this project.


The image on the right shows example output from DiscreteTFDs. The main image is a spectrogram of a whale whistle. Below the spectrogram is the envelope of the time series and to the left of the spectrogram is spectrum in dBs. You can listen to the whale whistle.

For more examples, see the demonstration of chirplet decomposition of whale whistles.


New release of DiscreteTFD-v1.2 includes the recent development in parameterized time-frequency representation (PTFR). Thanks to Zhike Peng for providing the update. Three typical PTFRs have been added into the new version, i.e., polynomial chirplet transform, spline chirplet transform and generalized warblet transform. The parameter estimation examples associated to the respect PTFRs have been provided for the beginners who attempt to devote their efforts to this area.

Version 1.2 is available for download.

After 14 years, a new release of DiscreteTFDs!!! The only change is that the Chirplet code has been updated to work with the latest version of the Optimization Toolbox. Thanks to Steven Van Vaerenbergh for providing the update. This is likely the last ever update to DiscreteTFDs.

Version 1.0 is available for download.


There is no manual, but there are several sources to obtain information about the software:

Version 1.2

Version 1.0

Jeffrey C. O'Neill (jco8 at cornell.edu)