Title: Using MATLAB to Compute Diffraction Patterns of Complex Apertures
1Using MATLAB to Compute Diffraction Patterns of
Complex Apertures
Stephen SchultzDepartment of Electrical and
Computer EngineeringBrigham Young University
2Lens Focus
- Fresnel becomes Fraunhofer at focal plane
- 2D Fourier transform
- Take 2D transform of complex structures
- Slits
- Multiple slits
- Letters
- Pictures
- Fingerprints
3Fourier Transform with MATLAB
- Built-in Fast Fourier Transform (FFT)
- Y fft2(X)
- Performs a Discrete Fourier Transform (DFT)
- Uses the Cooley-Tukey algorithm
- Fastest with sizes 2n
- Process
- Discretize the aperture
- Compute DFT
- Relate integer parameter to spatial coordinates
4MATLAB Fourier Transform1. Aperture
discretization
- Create gray scale image in graphics program
- Black is blocking
- White is transmitting
- Gray scale would be variable amplitude
- Save as a gif file (In illustrator)
- Save for Web and Devices
- Set the image size (faster with 2n pixels)
- No transparency, not interlaced
- Read file into MATLAB
- Aimread(slit, gif)
5MATLAB Fourier Transform2. Computing DFT
- Computing DFT
- Use the two-dimensional FFT command
- Efft2(A)
- Puts center of the beam in the corners
- Use the fftshift command to put it into the
center - Efftshift(fft2(A))
Aimread(slit, gif)
fft2( A )
fftshift( fft2( A ) )
6Convert FFT to Continuous Fourier Transform
(FT)3. Spatial Coordinates
- FFT is a Discrete Fourier Transform (DFT)
- We need to relate the DFT to the FT
- We will do this with a 1D analysis and then
extend it to 2D by just replacing the FFT command
with FFT2 - Start with a sampled version of the g(x)
7Convert FFT to Continuous Fourier Transform
(FT)3. Spatial Coordinates
- Use an FFT, which is a discrete Fourier Transform
(DFT) - MATLAB assumes that it starts at zero rather than
x so you need to shift it using the fftshift
command
8Convert FFT to Continuous Fourier Transform
(FT)3. Spatial Coordinates
- Convert the DFT to a discrete time Fourier
transform (DTFT) - The index is scaled by the number in the array
- fp/N
9Convert FFT to Continuous Fourier Transform
(FT)3. Spatial Coordinates
- Convert the DTFT into a continuous Fourier
transform (FT) - Use the sampling period scaling factor xDx n
- fxf/Dx
- Compare this to the analytic triangle function
10Convert FFT to Continuous Fourier Transform
(FT)3. Spatial Coordinates
- Summary of spatial coordinates
- Relate to discrete frequency
- Relate to spatial frequency
- Fraunhofer diffraction relationship
- Spatial coordinates
11MATLAB Fourier Transform 3. Spatial Coordinates
- For the FFT the number of frequency points equals
the initial spatial points - The spatial extent of the diffraction pattern
- More pixels causes the analysis plane to be
bigger
M64
M256
12Spatial Resolution 3. Spatial Coordinates
- Spatial resolution, Dx, independent of number of
pixels - Need larger image, W, without increasing slit
size - Accomplished with zero padding
13Summary of MATLAB Code (2. Fraunhofer
Diffraction)
- Fairly simple MATLAB coding (9 lines of code)
- A imread('slit','gif')
- M,N size(A)
- lambda 600e-9
- f 16.5e-3
- W 4e-3
- I (fftshift(fft2(A))).2
- x linspace(-lambdafN/(2W),
lambdafN/(2W), N) - y linspace(-lambdafM/(2W),
lambdafM/(2W), M) - pcolor(x, y, I)
- Most work done using graphics program
14Aperture Diffraction
- Rectangular aperture
- Slit size
- Cassegrain telescope
- Obscuration size
- Struts
15Fourier Transform of a Letter (2. Fraunhofer
Diffraction)
16Fourier Transform of a Word (2. Fraunhofer
Diffraction)
17Pattern Recognition(2. Fraunhofer Diffraction)
18Optical Image Processing (2. Fraunhofer
Diffraction)
- Perform Fourier transform on an image
- Filter the image (low pass or high pass filter)
- Perform another Fourier transform
19Experimental Implementation(3. Experimental)
- Helps solidify what is happening
- Complimentary to simulations
- No approximations but few aperture variations
- Easy to look at transition between regimes
- Students learn sensitivities of optical image
processing - Alignment
- Opaqueness
20Experimental Implementation(3. Experimental)
- Requirement to make the implementation practical
- Long focal length lenses
- Easier focusing
- Larger features (fxx/lf)
- Opaque masks
- Transparencies transferred to chrome mask
- Put various patterns on same mask
- Spatial filtered red laser
- Object is a simple transparency
21Implementation of 4F project (3. Experimental)
22Fourier Plane Mask(3. Experimental)
- Chrome on glass
- Multiple patterns on the same mask
- Sizes from 10-370 mm
- Patterns
- Rectangular slits
- Rectangular blocks
- Circular holes
- Circular blocks
23Grid Filtering(3. Experimental)
- Grid transparency
- Slit image plane mask
- Switch filter pattern by small shifts in mask
2.7 mm Grid with 30mm Filter Slit
2.7 mm Grid with 110mm Filter Slit
24Image Filtering (3. Experimental)
25Blurring of an Image (3. Experimental)
Original Image
Blurred Image
26Transition (3. Experimental)
- Transition from image to spatial frequency
Image off-focus
Image at focus