Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Fresnel propagation using matlab

  1. Jul 4, 2008 #1
    Hi!

    Didnt know where to post this..
    I was trying to fresnel propogate a spherical beam using the formula

    [tex]U(x,y)=\frac{e^{jkz}e^{\frac{jk(x^{2}+y^{2})}{2z}}}{j\lambda z}\int^{\infty}_{-\infty}\int^{\infty}_{-\infty}{U(\xi,\eta)e^{\frac{jk(\xi^{2}+\eta^{2})}{2z}}}e^{-j\frac{2\pi}{\lambda z}(x\xi+y\eta)} d\xi d\eta[/tex]

    [Ref. Intro. to Fourier Optics by Goodman pg 67]

    which is basically the Fourier Transform of the product of the complex field just to the right of the aperture and a quadratic phase exponential, aside from the multiplicative factors.

    I useed the following matlab code..

    clc;
    clf
    clear;

    %Parameters
    N=512;
    L=0.001;
    dx=2*L/N;
    [x y]=meshgrid(-L:dx:L-dx,-L:dx:L-dx);%plane1
    x0=0;y0=0;z0=0;
    [X Y]=meshgrid(-L:dx:L-dx,-L:dx:L-dx);%plane2 for fresnel prop
    lambda=532*10^(-9);
    k=2*pi/lambda;
    %sigma=j*k/(2*z);

    z=0.1;
    z2=0.2;

    %r=sqrt((x-x0).^2+(y-y0).^2+(z-z0)^2);
    psi1=zeros(N);
    psi1(128:384,128:384)=exp(j*k*z); %sigma ignored since its too large
    F1=psi1.*exp(j*k*(x.^2+y.^2)/(2*(z2-z)));
    FFT1=fftshift(fft2(F1));
    F2=exp(j*k*(z2-z))*exp(j*k*(X.^2+Y.^2)/(2*(z2-z)))/(j*lambda*(z2-z));
    U=FFT1;

    figure(1)
    I=psi1.*conj(psi1);
    imagesc(I);
    axis square;
    colormap(gray);

    figure(2)
    I=U.*conj(U);
    imagesc(I);
    axis square;
    colormap(gray);

    where I have used a square aperture at z=0.1 m and tried to propogate it till z=0.2 m
    But the propogated image, instead of being diffracted more is coming out to be focussed..

    I would be grateful for any help
     
  2. jcsd
  3. Jul 4, 2008 #2
    hmm i guess too long for anyone to read fully..

    suppose I have a point source at z=z0. What will be the equation of the Spherical wave which originates from there?

    I tried using [tex]\frac{(z-z0)}{r^{2}}e^{jkr}[/tex]

    when is this valid?
     
  4. Jul 5, 2008 #3
    hmm....will moving this to advanced physics forum help?
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?



Similar Discussions: Fresnel propagation using matlab
  1. 3D plot using Matlab (Replies: 1)

  2. SHO using MATLAB (Replies: 7)

Loading...