Esa Vilkama, President and Founder at Process Data Insights, LLC


In signal processing, time–frequency analysis comprises those techniques that study a signal in both the time and frequency domains simultaneously, using various time–frequency representations. The motivation for this analysis is that variables and their transform representation are often tightly connected, and they can be understood better by studying them jointly, as a two-dimensional object, rather than separately.

Frequency domain data analysis, like the Fast Fourier Transform (FTT), is a powerful tool in many applications. It can reveal periodic variation in time series data indicating e.g. mechanical problems in a manufacturing process. One drawback is that it does not work well for a time series in which the frequencies vary over time. The frequency spectrum does not show the time instant when the frequency changed. For that we need time-frequency analysis methods and representations.

My previous blog covered Hilbert transforms used for nonstationary and nonlinear signals in time-frequency analysis. This blog discusses Wigner distributions functions.

Wigner (or Wigner-Ville) distribution function (WDF)

The WDF is used in signal processing, as a transform in time-frequency analysis. It provides a high-resolution time-frequency representation of a nonstationary signal. The WDF has applications also in signal visualization, detection, and estimation. Compared to a short-time Fourier transform, such as the Gabor transform, the Wigner distribution function provides the highest possible temporal vs. frequency resolution which is mathematically possible within the limitations of uncertainty in quantum wave theory. When analyzing multi-component signals, the WDF does suffer from an inherent undesirable cross-term contamination, due to its quadratic nature, that often complicates its interpretation.

Example: the signal to be analyzed contains two chirps, each with a different slope. The FFT and Hilbert transform plots below do not readily show this information as the Wigner-Ville distribution (from tftb.processing) does. The cross-term interference between two chirps can be seen. TFTB (time-frequency toolbox) is a Python module for time-frequency analysis and visualization built with SciPy and matplotlib. A chirp is a signal in which the frequency increases or decreases with time. Normalized frequency is a unit of measurement of frequency equivalent to cycles/sample.

No alt text provided for this image

The same signal is also analyzed by the windowed spectrogram (imported in Python from tftb.processing) using a Gaussian window function that has a long length, relative to the length of a signal. The two chirps can clearly be seen.

No alt text provided for this image

Modified Wigner distribution functions

Modifications of the Wigner distribution function can be used to reduce or removed cross-terms. By using a carefully chosen window function(s), the interference can be significantly mitigated, at the expense of resolution. Several methods have been proposed to reduce the cross terms. For example, the S-method that is a combination between the spectrogram and the Pseudo Wigner Distribution (PWD), the windowed version of the WD.


various areas of signal processing: amplitude and phase retrieval, signal recognition, characterization of arbitrary signals, optical systems and devices, and coupling coefficient estimation in phase space

provide a more accurate diagnostics and indication of faults in a gearbox using both acoustic and vibration measurements

apply to the signaturing, detection, and identification of specific machine sounds of a marine engine

in interference detection for Global Navigation Satellite System (GNSS) receivers

apply to temperature gradient microstructure records to compute the local instantaneous and maximum frequencies of the signal as a function of depth, and these frequencies are then related to the dissipation of turbulent kinetic energy

high-resolution time-frequency analysis of neurovascular responses to ischemic challenges

Python libraries for time-frequency analysis: TFTBPyTFTB MATLAB wvd

Thanks everyone for reading! I’m looking forward to bringing you the next article.

Please contact us at Process Data Insights, LLC, if you are interested in a comprehensive time-frequency analysis of your manufacturing process.