Computer Simulation of Fresnel Diffraction

Click For Summary

Discussion Overview

The discussion revolves around the computer simulation of Fresnel diffraction, focusing on the mathematical formulation and computational methods involved in simulating diffraction patterns. Participants explore the use of numerical integration and Fourier transforms in the context of simulating diffraction from an aperture.

Discussion Character

  • Exploratory
  • Technical explanation
  • Mathematical reasoning

Main Points Raised

  • One participant presents a mathematical expression for Fresnel diffraction and describes their integration approach using the Trapezoidal Rule, questioning the correctness of their results.
  • Another participant mentions the long computing times for larger images and suggests the use of the Fourier Transform as a potential solution.
  • A third participant advises against implementing the Fast Fourier Transform (FFT) from scratch, recommending existing libraries like FFTW for C++.
  • The original poster expresses a preference for using MATLAB's FFT function but raises concerns about the approximations involved in the Fourier Transform, seeking alternatives that avoid these approximations.

Areas of Agreement / Disagreement

Participants do not reach a consensus on the correctness of the initial diffraction results or the best approach to implement the Fourier Transform without approximations. Multiple viewpoints regarding the use of FFT and numerical methods are presented.

Contextual Notes

The discussion includes assumptions about the aperture size and the implications of using approximations in Fourier transforms, which remain unresolved. The limitations of numerical integration methods and their dependence on step length are also noted.

Who May Find This Useful

This discussion may be useful for individuals interested in computational physics, particularly those working on simulations involving diffraction and numerical methods in optics.

ecastro
Messages
249
Reaction score
8
Considering this system (from Wikipedia),

685px-Diffraction_geometry.svg.png


The Fresnel Diffraction at x, y, and z is

##E \left(x, y, z\right) = \frac{z}{i \lambda} \int \int^{+\infty}_{-\infty} E \left(x', y', 0\right) \frac{e^{ikr}}{r^2} dx' dy'##

where ##r = \sqrt{\left(x - x'\right)^2 + \left(y - y'\right)^2 + z^2}##, ##E \left(x', y', 0\right)## is the aperture, and ##i## is the imaginary unit. The integration process I used to solve the integral is the Trapezoidal Rule (I don't know any good processes that is not step length dependent, and this is the one I am most familiar with).

As of now, the aperture size is infinite, so the image at ##z = 0## is unobstructed. I tried using the Fresnel Diffraction with this image:

Sample.png


And this was the corresponding Fresnel Diffraction at 4 meters with a wavelength of 700 nm:

new_sample.png


Is this correct?
 
Science news on Phys.org
Anyway, I was told it was correct. However, the computing time for larger images are extremely long, so I might need the Fourier Transform. Can anyone help me on how to implement it?
 
As a general rule, you don't implement the FFT yourself (except for educational purposes) :)
There are myriad free implementations of it out there, e.g. FFTW for C++ (the only one I have ever dealt with).
 
So, I think it is alright if I used the function FFT of MatLab. But (according to Wikipedia, again), the function they used in the Fourier Transform is an approximation. Is there such a way that the equation at my first post can be transformed without the approximation?
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 4 ·
Replies
4
Views
3K