Fraunhofer Diffraction - Multiple Square Apertures

17 views (last 30 days)
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.

Answers (1)

Cédric Pereira
Cédric Pereira on 2 Nov 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 Comment
Divya P
Divya P on 25 Jun 2022
Hey could you tell me that what you have reffered to get this code ? And is this has any article?

Sign in to comment.

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!