Graphical explanation of why the FT equation works
This set of animations attempts to explain the general equation for Fourier transforms
in an intuitive and pleasing way. It draws heavily from the beautiful explanation given in the YouTube video channel of 3Blue1Brown (Grant Sanderson) to be found at https://www.youtube.com/watch?v=spUNpyF58BY&list=WL&index=72&t=836s which is definitely worth looking at if you have a free 20 minutes.
The animation “EulerCircle” simply shows the path around the unitary circle in the complex plane of the expression and is thus a graphical representation of Euler’s formula .
The animation “FTs_explained1” then takes a function g(x), which here is a simple sinusoidal wave (plus a constant) and maps it on to the Euler circle, resulting in a pleasing “spirograph-style” petal pattern. One can think of this pattern as being the integrand of our expression for an FT.
The animations “FTs_explained2”, “FTs_explained3”, and “FTs_explained4” then integrate this pattern in the real direction, imaginary direction, and absolute-magnitude direction (blue, red, and green curves, respectively) and are thus the FT-components of g(x). Only when the rotation rate around the Euler circle matches a frequency component of g(x) do the integrals deviate significantly from zero, thus picking this frequency out (note, however, that there is also a zero-frequency maximum associated with the constant in two of the three videos). In “FTs_explained3”, the function g(x) is a sum of two sinusoidal waves with a frequency ratio of 1.5, simply to demonstrate that the FT picks out all frequencies. In “FTs_explained4”, the function g(x) is a square wave, and thus has odd-harmonic components, which I show up to n = 9.
In “FTs_explained5”, I demonstrate that this approach works for nonperiodic functions as well, in this case, a square pulse (or single slit, if considering the spatial rather than temporal domain). The FT is identical to the far-field pattern produced in the last animation, described next, in the animation “Fresnel2Fraunhofer”, namely .
Finally, in “FTs_explained6”, I take the FT of the square aperture/pulse from “FTs_explained5” and inverse Fourier transform it to obtain (the positive half of) the original square function, or at least, an approximation thereof. Had I taken a larger frequency range for the input, the resulting IFFT would have smaller-amplitude and more rapid oscillations and the drop-off to zero intensity would have been swifter. Why not try to modify the code to see this?
Fourier transforms represent the far-field elastic-scattering pattern of objects in the so-called “Fraunhofer regime”. In mathematically deriving the expression for this, two assumptions are made - first, that the observation point is sufficiently far away from the scattering object that all paths from the object to that point can be considered to be parallel (the “paraxial” approximation); and second, that the scattering object is much larger in spatial extent than the wavelength of radiation being employed. In the animation “Fresnel2Fraunhofer”, the evolution of the scattering pattern as a function of object - observation-screen distance is provided using numerical integration.
I decided not to include links to pages containing the matlab codes, as this takes up so much space, but instead simply a direct download to each code in the “Matlab code” fields.