The last time Hackerfall tried to access this page, it returned a not found error. A cached version of the page is below, or clickhereto continue anyway

The Fourier transform and its closely related cousin the discrete time Fourier transform (computed by the FFT) is a powerful mathematical concept. It breaks an input signal down into its frequency components. The best example is lifted from Wikipedia.

The Fourier transform is used in almost every type of analysis. Ive seen the discrete Fourier Transform used to detect vehicles smuggling contraband across borders and to seperate harmonic overtones from a cello. It can transform convolution into a simple (and fast!) multiplication and multiply incredibly long polynomials. These might seem pointless, but theyre useful with any nice system and complicated stability problems, respectively. The Fourier transform is perhaps the most useful abstract athematical concept.

We can see that its very abstract and mathematical just by looking at its definition: $\newcommand{\fourier}[1]{\mathbb{F}\left[ #1 \right]} $

The Fourier transform is so useful, the discrete version is implemented in
probably every programming language through `fft`

and there are even dedicated
chips to perform this efficiently. The last thing we would expect is for this
abstract and mathematical concept to be implemented by physical devices.

We could easily have some integrated chip call `fft`

, but thats not
interesting. If a physical device that has some completely unrelated purpose
but can still perform an Fourier transform without human intervention (read:
programming), thatd be interesting. For example, an optical lens is shaped
solely to produce an image, not to take a Fourier transform but thats
exactly what it does.

Let me repeat: a *lens can take an exact spatial Fourier transform.* This does
have some limitations1, mainly that it only works under coherent light. A
coherent light source is simply defined a source thats not random. Natural
light is random as there are many different wavelengths coming in at random
times. Laser light is very coherent theres a very precise wavelength and
every individual ray is in phase2.

Goodman, the textbook that almost every Fourier optics course uses, says3 that the field for a lens of focal length $f$ is

When $d=f$, *thats exactly the definition of a Fourier transform.* Meaning we
can expect $U_f(u,v) \propto \fourier{U_i(x,y)}\big|_{f_x = u/\lambda f} $. Minus
some physical scaling, thats an *exact* Fourier transform.

You may know that a purely real values input to a Fourier transform gives a
complex output. We have no way of detecting this complexity or phase. Instead,
our eyes (and cameras/etc) detect *intensity* or the *magnitude* of
$U_f(x,y)$. That is, they detect $I_f(x,y) = \left|U_f(x,y)\right| ^2$. This function is
purely real, although theres some fancy ways4 to detect phase as well.

No matter how elegant this math was, I wanted to see it in the real world and
compare the computer FFT with the lens Fourier transform. The setup for this
experiment was rather involved, and I would like to give a resounding thanks to
Mint Kunkel. Without his help, I *never* could have gotten an image, much less
a decent one.

I was taking an image of a grid, illuminated by a infinite5 plane wave generated by a laser. The computer generated image and discrete Fourier Transform are shown below.

We cant expect the lens Fourier transform to look exactly like this. The first issue that jumps to mind is discrete vs continuous time, but that should hopefully play a small role. The equipment required to get this image is highly specialized and costs more than I want to know. But even more significantly, the tuning of this equipment is critical and almost impossible to get right. Plus, theres detail like grid spacing/size/etc missing, the reason the two images arent almost exactly identical.

Regardless, the Fourier transform by lens shows remarkable similarity to the Fourier transform done on the computer.

This is a real world example of how a lens, a simple object used for photography performs perhaps the most powerful concept in signal processing. This alone is cool, but it shows itself elsewhere. The transfer function is just the pupil function or ($c$ is a constant, only works under coherent light, but has similar effect in incoherent light). If you want to resolve a higher frequency (aka more detail), you need your pupil function to extend further.

Animals have different shaped *pupils* or different *pupil functions* for their
eye. A cat has a very vertical pupil, a zebras pupil is horizontal and an
eagles pupil is round6. There are different evolutionary reasons why an animal
needs to see more detail in the vertical or horizontal directions (ie, jumping
vs hunting) and this shows itself with their pupils. Animals see more detail in
the horizontal or vertical directions if thats what they care about!