Time-frequency Analysis in Engineering

This page demonstrates the use of our time-frequency analysis add-on package for Mathematica. For an introduction to time-frequency analysis, read our tutorial.

Engineering example

Many signals found in engineering can be productively analyzed using the continuous wavelet transform. Non-destructive integrity testing is one such application.

data = Get["Engineering/sonic.mx"] ;



interp = Interpolation[data] ;

Plot[interp[t], {t, 0, .01}, PlotRangeAll, AxesLabel {"t", "f(t)"}] ;


sonictfr = FunctionTFR[interp[t], {t, data〚1, 1〛, data〚 -1, 1〛, Length[data]}, Parameter12] ;//Timing

{4.42533 Second, Null}

{{ωmin, ωmax}, {tmin, tmax}} = {GetTFRωRange[sonictfr], GetTFRtRange[sonictfr]}

{{314.159, 125978.}, {0., 0.01}}

10^(-3) ωmin/(2π)


Plot3D[Log @ Abs[sonictfr[10^(-3) t, 2π 10^3ν]], {t, 10^3tmin, 10^3tmax}, {ν, ...                                                                                                f


ContourPlot[Log @ Abs[sonictfr[10^(-3) t, 2π 10^3ν]], {t, 0, 8}, {ν, 10^(-3) ωmin/(2π), 7}, FrameLabel {"t (ms)", "ν (kHz)"}] ;


In this case, the signal is seen to decay in amplitude with respect to time with the exception of a surge at around t = 4ms due to the reflected sonic signal.

Time-frequency analysis is known to be a powerful method for studying many signals found in engineering, including sonic signals.