Fraunhofer Diffraction - Multiple Square Apertures

17 visualizaciones (últimos 30 días)
Cédric Pereira
Cédric Pereira el 24 de Sept. de 2020
Comentada: Divya P el 25 de Jun. de 2022
Hello all!
I'm stuck for some days trying to get the diffraction pattern from a binary grating / square period grating / multi-aperture square screen... whatever you want to call it.
Imagine I have a 8 * 5 square apertures grating. Something like this:
The intensity profile from a single aperture is easy to calculate:
% Clean all
clc;
close all;
clear all;
% Light Source
lambda = 550e-9; % Wavelength [m]
k = (2*pi)/lambda; % Wavenumber [m^-1]
Io = 100; % Relative intensity
% Aperture
a = 1e-6; % Aperture size X-axis [m]
b = 1e-6; % Aperture size Y-axis [m]
% Screen
R = 1e-3; % Distance aperture-screen [m]
dsize = 0.5e-2; % Square size [m]
dpix = 1000; % Dimension [pixel]
X = -dsize:2*dsize/dpix:dsize; % Screen X-axis
Y = X; % Screen Y-axis
% Intensity Profile
alpha = k*a*X/(2*pi*R); % Periodic parameter X-axis
beta = k*b*Y/(2*pi*R); % Periodic parameter Y-axis
I = Io*(sinc(alpha).^2)'*(sinc(beta).^2); % Intensity profile
% Print
fig = figure();
imshow(I);
To calculate the same for a 8 * 5 grating, I have to do a convolution of my unit-square aperture by a comb function. I will get an infinite pattern.
I already search and according with some answers I could use the "repmat" function to get a 8*5 section of that infinite pattern
Then I just have to multiply it by rectangular (sinc) function to get a non-infinite pattern. But I'm struggle with it.
Could you advise me?
Thank you in advance.

Respuestas (1)

Cédric Pereira
Cédric Pereira el 2 de Nov. de 2020
Could it be right?
% Clean all
clc;
close all;
clear all;
% Light Source
lambda = 550e-9; % Wavelength [m]
k = (2*pi)/lambda; % Wavenumber [m^-1]
Io = 100; % Relative intensity
% Aperture
a = 1e-6; % Aperture size X-axis [m]
b = 1e-6; % Aperture size Y-axis [m]
% Screen
R = 1e-3; % Distance aperture-screen [m]
dsize = 0.5e-2; % Square size [m]
dpix = 1000; % Dimension [pixel]
X = -dsize:2*dsize/dpix:dsize; % Screen X-axis
Y = X; % Screen Y-axis
% Intensity Profile
alpha = k*a*X/(2*pi*R); % Periodic parameter X-axis
beta = k*b*Y/(2*pi*R); % Periodic parameter Y-axis
I = Io*(sinc(alpha).^2)'*(sinc(beta).^2); % Intensity profile
% Square Aperture on Matrix
I2 = repmat(I,16); % Replicate square aperture on matrix
% Total Area
V = linspace(-8008,8008,16016);
M = sinc(V).^2'*sinc(V).^2; % Rectangular area
% Final Result
I3 = I2.*M*10^16;
% Print
fig = figure();
imshow(I3);
Why do I have some bright central lines?
  1 comentario
Divya P
Divya P el 25 de Jun. de 2022
Hey could you tell me that what you have reffered to get this code ? And is this has any article?

Iniciar sesión para comentar.

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by