←back to thread

What Is the Fourier Transform?

(www.quantamagazine.org)
474 points rbanffy | 2 comments | | HN request time: 0s | source
Show context
laszlokorte ◴[] No.45133410[source]
Shameless plug: If you are interested in Fourier Transform and signal processing you might enjoy my somewhat artistic 3D visualisation of the fourier transform as well as the fractional fourier transform [1]

(Fractional fourier transform on the top face of the cube)

And for short time fourier transform showing how a filter kernel is shiftes across the signal. [2]

[1]: https://static.laszlokorte.de/frft-cube/

[2]: https://static.laszlokorte.de/time-frequency/

replies(4): >>45133539 #>>45134038 #>>45134221 #>>45134718 #
yshklarov ◴[] No.45133539[source]
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?

replies(1): >>45133601 #
laszlokorte ◴[] No.45133601[source]
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...

[2]: https://nalag.cs.kuleuven.be/research/software/FRFT/

replies(1): >>45134102 #
1. xphos ◴[] No.45134102[source]
I made a cool rust fft tui a long time ago too

https://github.com/lquinn2015/FFT-tui

replies(1): >>45134230 #
2. laszlokorte ◴[] No.45134230[source]
Look great! I was already thinking about reimplementing mine as TUI