4 ms·
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
by laszlokorte 1y ago
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/src https://github.com/laszlokorte/svelte-rust-fft/tree/master/s...
[2]: https://nalag.cs.kuleuven.be/research/software/FRFT/ https://nalag.cs.kuleuven.be/research/software/FRFT/
- xphos 1y agoI made a cool rust fft tui a long time ago too https://github.com/lquinn2015/FFT-tui https://github.com/lquinn2015/FFT-tui
- laszlokorte 1y agoLook great! I was already thinking about reimplementing mine as TUI