Computational Fourier Optics is a text that shows the reader in a tutorial form how to implement Fourier optical theory and analytic methods on the computer. A primary objective is to give students of Fourier optics the capability of programming their own basic wave optic beam propagations and imaging simulations. The book will also be of interest to professional engineers and physicists learning Fourier optics simulation techniques-either as a self-study text or a text for a short course. For more advanced study, the latter chapters and appendices provide methods and examples for modeling beams and pupil functions with more complicated structure, aberrations, and partial coherence.
For a student in a course on Fourier optics, this book is a concise, accessible, and practical companion to any of several excellent textbooks on Fourier optical theory.
This book began as a collection of notes and computer examples prepared for a first-year graduate course on Fourier optics. In teaching Fourier optics over a number of years, I found that I developed a better conceptual understanding of the analytic material after setting up examples for the class on the computer. The examples required careful consideration of the sample coordinates, amplitude scaling, practical dimensions, display settings, sampling conditions, and a number of other issues. It wasn't long before I started designing computer exercises for the students to do - figuring that if it helped me, it would probably help them. In addition, applying the theory to produce a display of a beam pattern or a blurry image of some object seemed to bring the application of Fourier optics to life for many students.
At the same time, the research being performed by my group at New Mexico State University involved wave optics simulation of laser beam propagation through atmospheric turbulence. The synergy of the teaching and research activities led to the idea of a book on computer methods and Fourier optics. I did some research and found a scattering of material on numerical Fourier optics, but no book with the content I envisioned. So with that, the project began.
Computational Fourier Optics is a text that shows the reader in a tutorial form how to implement Fourier optical theory and analytic methods on the computer. A primary objective is to give students of Fourier optics the capability of programming their own basic wave optic beam propagations and imaging simulations. The book will also be of interest to professional engineers and physicists learning Fourier optics simulation techniques - either as a self-study text or a text for a short course. For more advanced study, the latter chapters and appendices provide methods and examples for modeling beams and pupil functions with more complicated structure, aberrations, and partial coherence.
For a student in a course on Fourier optics, I envision this book as a companion to any of several excellent textbooks on Fourier optical theory. I felt a companion book should be concise, accessible, and practical-so those are also goals for this text.
The book begins in Chapter 1 with a short review of the Fourier optical results that are central to wave optics simulation development. The review is intended to be a quick, consolidated reference.
In Chapter 2 the discrete Fourier transform (DFT) is developed, of which the fast Fourier transform (FFT) version is a primary tool for simulations. FFT scaling aspects, index formatting, and other differences from the analytic transform are introduced. These differences later come to play in the scaling and interpretation of the simulation results.
The hands-on tutorial part of the book begins in Chapter 3 where step-by-step examples are presented that involve programming functions, vectors, equations, and taking transforms in MATLAB®. Students with a range of backgrounds - electrical engineers, astronomers, physicists - take my Fourier optics course. The non-engineers often have never used MATLAB, so the idea of combining a MATLAB tutorial with a computational Fourier optics tutorial was natural and led to Chapter 3. The MATLAB programming environment is optimized for vector and matrix operations; therefore, it is a good tool for Fourier optics simulation, which generally involves at least two dimensions. Furthermore, MATLAB has a heritage in this subject since several optical propagation codes, such as the AOTools and WaveProp toolboxes, are written in MATLAB. The material in this chapter has been tested by students in my Fourier optics course, and even those without any MATLAB experience have found they could get up and going quickly with the tutorial.
Chapter 4 is a quick review and summary of scalar diffraction and optical propagation theory. The expressions presented in Chapter 4 are taken into the computer domain in Chapter 5. Implementations of the Fresnel and Fraunhofer diffraction expressions are described with step-by-step coding instructions. The methods are demonstrated for an illuminated aperture. Attention is paid to sampling issues that can be the bane of wave optics propagation simulations.
Chapter 6 covers techniques that add further application to the diffraction simulations. Methods are described for applying tilt and focus to an optical wavefront, and lenses and diffraction gratings are considered.
A review of coherent and incoherent imaging theory and modeling techniques applied to diffraction-limited imaging examples are presented in Chapter 7. Imaging simulation is extended in Chapter 8 to the more practical circumstance involving wavefront aberrations. Chapter 9 provides a short review of coherence theory and demonstrates approaches for simulating partial temporal and partial spatial coherent illumination.
Exercises at the end of each chapter (with answers in the back of the book) give the reader a chance to work with both theory and computer implementations.
The appendices cover: (a) further sampling details for Fresnel diffraction; (b) a two-step diffraction propagation technique that allows arbitrary grid scaling between the source and observation planes; (c) listings of basic MATLAB functions developed in the text; and (d) answers to the exercises.
Please visit http://www.ece.nmsu.edu/~davvoelz/cfo/ for updates, errata, files and other resources.
This book would have never happened were it not for a sabbatical leave in 2008 in the Upper Peninsula of Michigan. I owe Mike Roggemann at Michigan Tech a big debt for all of his care and feeding of a displaced New Mexican. My discussions with him, on and off the lake, helped shape much of the content of this book. I also thank the faculty and staff at Michigan Tech for all their support. Go Huskies!
As this project was getting underway, Jason Schmidt kindly sent a first draft of his book Numerical Simulation of Optical Wave Propagation with Examples in MATLAB®. I tried to avoid studying it too closely as I wanted to put my own spin on related material. But I had to peek from time to time to see what he had to say on certain matters. His book was a valuable resource.
Xifeng Xiao at New Mexico State University deserves credit for pioneering much of the partial coherence material. She also combed through all the chapters, working examples and checking equations. Our discussions over the years on numerical simulation are deeply imbedded in this book. It has been a great pleasure to work with her.
The students of a succession of Fourier optics courses since 2003 at New Mexico State University have been, often unknowingly, a constant source of insight and inspiration for this book. Their reactions and feedback to the material helped change many things for the better and encouraged me to keep going.
For all those spur-of-the-moment questions and sudden inquiries of how-does-that-work, I thank my colleagues at the Klipsch School of ECE at New Mexico State University, especially Deva Borah, Laura Boucheron, Chuck Creusere, Philip DeLeon and Mike Giles - a good group of folks.
Finally I cannot thank my wife, Judi, enough for supporting this project in every way, including proofreading the manuscript. Our children, Alex, Katie and Brian, have had to deal with an absent dad while I worked on this book, so I thank them for their patience. My family is my support and I couldn't do what I do without them!