1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Computer Simulation of Fresnel Diffraction

  1. May 20, 2015 #1
    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. jcsd
  3. May 21, 2015 #2
    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?
  4. May 21, 2015 #3
    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).
  5. May 21, 2015 #4
    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?
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook