sfltft (Local Time-Frequency Transform) decomposes input data into frequency components.
The algorithm is described in the paper Seismic data analysis using local time-frequency decomposition and is based on regularized non-stationary regression. The following example from tccs/ltft/timefreq shows 1-D synthetic data composed of two chirp signals and the magnitude of coefficients in its time-frequency decomposition:
The frequency sampling in the output of sfltft is controled by nw=, w0=, and dw=. By default, these parameters correspond to the sampling of the discrete Fourier transform. The critical parameters for regularized regression are rect= (smoothing radius in time, in samples) and niter= (number of iterations). To output the details of iterative regularization, use verb=y. The frequency sampling and the rect= parameter provide explicit controls on time-frequency resolution. In the example above, rect=7. It is possible to change smoothing radius with frequency by using alpha= parameter. The iterative inversion can be controlled additionally by specifying a data weight (with mask=) or a model weight (with weight=). Optionally, the Fourier basis used in the decomposition can be extracted from the program by specifying basis= file.
To perform the inverse transform from time-frequency back to time domain, use inv=y. sfltft takes real-valued input and produces complex-valued output.
An analogous program for transforming complex-valued data is sfcltft. A related program is sftimefreq described in Time-frequency analysis of seismic data using local attributes.