A blog about my journey to learn Fourier algorithms and eventually implementing the FFT. All animations are done on Matlab. I know it seems like cheating to use Matlab, but its a really intuitive visualization software that easily manages complex numbers. I'm still deciding whether to do the final implementation of the FFT in C or in some sort of WebGL or Javascript script that I can run in the browser.
Correlation function by integration
Cross Correlation
Integral Transform
Convolution algorithm
The Fourier Series and its Motivations
A key part that I never really understood, mostly because I am mathematically lazy, is that complex representations of functions ARE STILL REAL. The Complex Fourier Series breaks down the input function into a sum of exponentials with increasing frequency. Even though there are imaginary numbers in the function, the resulting values are REAL. I'm still a noob at imaginary numbers, so my intuition isn't great at seeing that.
Animations below show visualizations of the complex representation of sine and cosine functions.
Complex numbers, complex exponentials, and complex integrals
I always found it difficult to understand mathematics without a visual representation of what my calculations were doing in a geometric sense. Especially in engineering mathematics, many concepts have a very useful visual representation and I really wanted to explore complex numbers in this visual fashion. It is not commonly taught this way in the university classroom, and I always felt that complex numbers were a mystery to me beyond simply memorizing Euler's formula and its identities.
It's kind of a "see it to believe it" syndrome that I have, and I feel like many other people feel. I can't stress how eye-opening the 3blue1brown videos were to my understanding of complex numbers.
Really weird stuff happens with complex numbers when you perform simple operations on them.
From Fourier Series to Fourier Transform