analytical solution of Fraunhofer diffraction farfield diffraction from hole?

9 次查看(过去 30 天)
hi
i am looking for analytical solution Fraunhofer diffraction farfield of diffraction from nano hole?
most of available exapmles are of antennas.

回答(1 个)

Shaik
Shaik 2023-5-12
% Define the aperture diameter
D = 100e-9; % m
% Define the wavelength of the incident light
lambda = 500e-9; % m
% Define the observation distance from the aperture
L = 1; % m
% Define the spatial frequency variable
u = linspace(-1, 1, 1000);
% Compute the diffraction pattern using the Jinc function
sin_u = sin(pi*D*u/(lambda*L))./u;
Jinc = (2*pi*D/(lambda*L))*abs(sin_u).^2;
% Plot the diffraction pattern
plot(u, Jinc);
xlabel('u');
ylabel('Jinc(u)');
Try this
  2 个评论
Sean
Sean 2023-5-14
thanks,
i got one more reference, could you check if this ok?
clc
close all
clear all
lambda = 332.8e-9; % wavelength of light in vacuum
k = 2*pi/lambda;
a = 3e-7; % radius of diffracting circular aperture
Io = 1.0; % relative intensity
R = 1; % distance of screen from aperture
half_angle = 13.3; % half angle of light cone
center_angle = 0; % center angle of light cone
Y = (-0.55e-0:1e-3:0.9e-0);
Z = Y; % coordinates of the screen
I(1:length(Y),1:length(Z))=0;
for i=1:length(Y)
for j=1:length(Z)
q = (Y(i).^2+Z(j).^2).^0.5;
beta = k*a*q/R;
I(i,j) = Io.*((besselj(1,(beta))/(beta+1e-12)).^2);
end
end
% Calculate fraction of power in cone
theta = atan2(Y,Z);
cone_indices = (theta > center_angle-half_angle) & (theta < center_angle+half_angle);
power_fraction = sum(sum(I(cone_indices)))/sum(sum(I));
% Calculate far field using Fraunhofer approximation
N = 1000; % number of points in far field
theta = linspace(-pi/2,pi/2,N); % angular coordinates in far field
E_theta = zeros(1,N);
for i=1:length(theta)
q = k*a*sin(theta(i)); % distance from center of aperture in far field
E_theta(i) = (Io/(2*pi*R*q))*((2*besselj(1,beta)/(beta+1e-12))*exp(-1i*k*q))/(q);
end
% Calculate power in cone in far field
theta = abs(theta)*180/pi;
cone_indices = (theta > center_angle-half_angle) & (theta < center_angle+half_angle);
power_fraction_farfield = sum(abs(E_theta(cone_indices)).^2)/sum(abs(E_theta).^2);
disp(['Power fraction within cone: ' num2str(power_fraction_farfield)]);
Shaik
Shaik 2023-5-14
Hi Sean,
The code you provided appears to be related to diffraction and the calculation of power fraction within a cone. It calculates the diffraction pattern produced by a circular aperture and then evaluates the power fraction within a specified cone angle.
The code seems to be structured correctly, and it performs the calculations using the Bessel function and the Fraunhofer approximation for the far field. It generates a 2D intensity pattern on a screen, calculates the power fraction within a cone angle for the pattern, and then computes the far-field diffraction pattern using the Fraunhofer approximation.
It's important to note that the results obtained from the Fraunhofer approximation are valid only in the far field, where the distance from the aperture to the screen is much larger than the size of the aperture. If you intend to use this code, make sure it suits your specific application and requirements. Feel free to accept the answer if it is helpful!

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Applications 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by