- #1
- 1
- 0
Hi all,
I'm trying to simulate the Fresnel diffraction by using this expersion :
$$ A(x')=\frac{1}{j\lambda z}e^{jk(z+\frac{x'^2}{2z})}F(A^{trans}(x)e^{jk\frac{x^2}{2z}})_{u=\frac{x'}{\lambda z}} $$
So when I use this formula my problem is that I don't know how to take the good frequency, here ## \frac{x'}{\lambda z}##
and in my simulation, the result is that the light is not diverging after the rectangular aperture. I don't know how to fix this problem, because I wan't to plot the (x,z) plan so z is not constant. When I plot only one column, which corresponf to a z fix, I've the good profile of intensity but it's steel not diverging when I choose different z value. So here is my Matlab (R2017b) simulation code :
I used python color to make it easier to read, but the % are not seen as comments sorry. And here you have the results :
On the right, what we see is the light intensity, the x-axis correspond to the vertical axis and the z axis to the horizontal axis.
thanking you ,
CijiG
I'm trying to simulate the Fresnel diffraction by using this expersion :
$$ A(x')=\frac{1}{j\lambda z}e^{jk(z+\frac{x'^2}{2z})}F(A^{trans}(x)e^{jk\frac{x^2}{2z}})_{u=\frac{x'}{\lambda z}} $$
So when I use this formula my problem is that I don't know how to take the good frequency, here ## \frac{x'}{\lambda z}##
and in my simulation, the result is that the light is not diverging after the rectangular aperture. I don't know how to fix this problem, because I wan't to plot the (x,z) plan so z is not constant. When I plot only one column, which corresponf to a z fix, I've the good profile of intensity but it's steel not diverging when I choose different z value. So here is my Matlab (R2017b) simulation code :
Python:
%%%%%% Simulation of the Fresnel Diffraction, Matlab %%%%%%%
%% Initialization %%
clear all
close all
%% Grating %%
for i_grating = 1:250 % creation of a rectangular aperture
A_t(i_grating) = 0;
end
for i_grating = 251:350;
A_t(i_grating) = 1;
end
for i_grating = 351:601
A_t(i_grating) = 0;
end
%% Parameters %%
Lambda = 795e-9; % wavelength
k = 2*pi/Lambda; % the wave vector
z = [0.06 :0.01: 6]; % distance from the grating
dx = 20e-6; % size of a pixel in micrometer
x =[-6000e-6 :dx: 6000e-6]; % coordinate on the grating plane
x2 =[-6000e-6 :dx: 6000e-6]; % coordinate on the screen plane
plot(A_t) % show the amplitude just after the grating(z=0+)
%% Simulation %%
for i_z = 1:length(z) % first loop on the distance to the grating
for i_x = 1:length(x) % loop on all point of the grating
f(i_x)=A_t(i_x)*exp(1i*k*((x(i_x))^2)/(2*z(i_z)));
end
A = fftshift(fft(f));
for i_x2 = 1:length(x2) % we do a loop for all point in the observing plane at z = cst
C =(1/(1i*Lambda*z(i_z)))*exp(1i*k*(z(i_z)+(x2(i_x2))^2)/(2*z(i_z)));
A_p(i_x2,i_z) = abs(C*A(i_x2));
end
end
%% 2D Map %%
figure;
imagesc(A_p);
colormap jet; % color representing the light intensity
I used python color to make it easier to read, but the % are not seen as comments sorry. And here you have the results :
On the right, what we see is the light intensity, the x-axis correspond to the vertical axis and the z axis to the horizontal axis.
thanking you ,
CijiG