# FFT problem for Fresnel simulation

• MATLAB
• CijiG
In summary, the FFT problem for Fresnel simulation involves using the Fast Fourier Transform algorithm to solve the Fresnel diffraction integral. This is necessary because the traditional method is computationally intensive and time-consuming. The steps for using FFT in Fresnel simulation include defining the aperture or object, dividing it into segments, performing FFT on each segment, and combining the results. However, there are limitations to using FFT, such as assuming a continuous and infinite aperture and being limited by the size of the data set. Despite these limitations, FFT is widely used in various fields beyond Fresnel simulation due to its speed and efficiency.
CijiG
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 :
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

#### Attachments

• resultats.PNG
15.9 KB · Views: 532
• ?temp_hash=56d14646f054d250894410e1fa560812.png
15.9 KB · Views: 611

Dear CijiG,

Thank you for sharing your work on simulating Fresnel diffraction. It seems like you are using the correct expression for the Fresnel diffraction, but you are having trouble with choosing the right frequency for your simulation.

The frequency, in this case, is related to the wavelength and the distance from the grating. So, for each point on the observing plane (z=constant), you need to calculate the corresponding frequency using the expression u = (x'/lambda*z). This will give you the correct frequency for each point on the observing plane.

As for the issue of the light not diverging after the rectangular aperture, it could be due to the size of your aperture or the distance between the grating and the observing plane. You may need to adjust these parameters to see the desired diverging effect.

I hope this helps and good luck with your simulation!

## 1. What is the FFT problem for Fresnel simulation?

The FFT problem for Fresnel simulation refers to the use of the Fast Fourier Transform (FFT) algorithm to solve the Fresnel diffraction integral. This integral is used in wave optics to calculate the diffraction pattern of light as it passes through an aperture or around an object.

## 2. Why is FFT used for Fresnel simulation?

FFT is used for Fresnel simulation because it provides a fast and efficient way to calculate the diffraction pattern. The traditional method of solving the Fresnel diffraction integral is computationally intensive and time-consuming, making it impractical for complex simulations. FFT greatly reduces the computational time and allows for more accurate and detailed simulations.

## 3. What are the steps involved in using FFT for Fresnel simulation?

The steps involved in using FFT for Fresnel simulation include: 1. Defining the aperture or object of interest 2. Dividing the aperture into small segments 3. Performing the FFT on each segment 4. Combining the results from each segment to obtain the diffraction pattern.

## 4. Are there any limitations to using FFT for Fresnel simulation?

One limitation of using FFT for Fresnel simulation is that it assumes a continuous and infinite aperture or object, which may not always accurately represent real-life scenarios. Additionally, FFT is limited by the size of the data set it can handle, so very large or complex simulations may still be challenging to compute.

## 5. Can FFT be used for other types of simulations besides Fresnel?

Yes, FFT can be used for a wide range of simulations in various fields, including image processing, signal processing, and fluid dynamics. Its speed and efficiency make it a popular choice for many scientific and engineering applications.

• MATLAB, Maple, Mathematica, LaTeX
Replies
8
Views
318
• MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
5K
• Optics
Replies
2
Views
1K
• MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
3K
• MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
1K
• MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
1K
Replies
2
Views
976
• MATLAB, Maple, Mathematica, LaTeX
Replies
7
Views
10K
• MATLAB, Maple, Mathematica, LaTeX
Replies
2
Views
2K
• MATLAB, Maple, Mathematica, LaTeX
Replies
6
Views
2K