▲ | yshklarov 5 days ago | ||||||||||||||||
I love the visualization! Thanks for sharing. How do you compute the fractional FT? My guess is by interpolating the DFT matrix (via matrix logarithm & exponential) -- is that right, or do you use some other method? | |||||||||||||||||
▲ | laszlokorte 5 days ago | parent [-] | ||||||||||||||||
I am glad you like it! Yes the simplest way to think of it is to exponentiate the dft matrix to an exponent between 0 and 1 (1 being the classic dft). But then the runtime complexity is O(n^2) (vector multiplied with precomputed matrix) or O(n^3) opposed to the O(n log n) of fast fourier transform. There are tricks to do a fast fractional fourier transform by multiplying and convolving with a chirp signal. My implementation is in rust [1] compiled to web assembly, but it is based on the matlab of [2] who gladly answered all my mails asking many questions despite already being retired. [1]: https://github.com/laszlokorte/svelte-rust-fft/tree/master/s... | |||||||||||||||||
|