# Computer Simulation of Fresnel Diffraction

Tags:
1. May 20, 2015

### ecastro

Considering this system (from Wikipedia),

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:

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

Is this correct?

2. May 21, 2015

### ecastro

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?

3. May 21, 2015

### rumborak

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).

4. May 21, 2015

### ecastro

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?