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

Fourier transforms and optical lenses

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!

Continue reading on scottsievert.github.io