Shor-time fourier transform?

Is it possible to make a shor-time fourier trasnsform with spectrum1d? I think so but I don’t fully understand how the Welch’s method works so I want it to ask first.

If so, would it be a good/reasonable feature request?

short-time? You mean short time ? What is this specifically? A small number of points? I think anything that has more point that what your -S sets will work.

BTW, Welch method takes your input series, divides it into N sections that are each -Ssize long, takes the FFT, then average the power for the same frequency from the N sections. That is how the uncertainty gets beaten down, otherwise the error bar on each amplitude estimate equals the amplitude itself…

I mean like wikipedia says:

The procedure for computing STFTs is to divide a longer time signal into shorter segments of equal length and then compute the Fourier transform separately on each shorter segment. This reveals the Fourier spectrum on each shorter segment. One then usually plots the changing spectra as a function of time.

As I understand, it helps to see when (or where) there is a change in the signal in time (or along a profile).

Yes I understand. But no, spectrum1d does not do this - you would have to do it by scripting I think. I know lots of people would be intersted in such a tool but I guess none of us in GMT had specific need for it…

Ok. I see.

Yes, I think I could split my dataset and applied the FFT in each half.

I little more difficult would be to make an slidding window.

My idea is to do something like this:


Yep, this is half-way there to a wavelet analysis. I dont know. I am pretty much busy 24/7 this summer with my sabbatical. It could be a new option to spectrum1d but it would produce a grid so not so much 1-d anymore. Maybe cleaner to have a spectrum2d module that would do this, as opposed to grdfft which does the 2-d grid FFTs.

Ok. Don’t worry. I was just cuirios.

If I need it, I think I could try with python or julia. Thanks!