I found an old piece of code I wrote that calculates Fractional Fourier Transforms (FRFT) in python. Here it is on github.

I’m surprised FRFT’s aren’t talked about more often, since they’re a generalization of normal Fourier Transforms that give you a little bit more power. The image above (courtesy of wikipedia) shows a spectogram of a very simple signal: a short tone at a consistent frequency (the parallel bars), but on top of it is another noise whose frequency is increasing linearly (aka a chirp).

The FRFT allows you to rotate the entire spectogram by a specified degree before applying a filter in the frequency domain. This is incredibly useful for removing any unwanted time-dependent frequencies from your original signal, by essentially changing the passband as a function of time.

The code is a few years old and was a prototype for a c++ version that had to fit nicely into somebody else’s project, which is why the implementation is a little non-standard. I’ll clean it up soon, but what’s theres should work.