focusing LG beam by a lens using Angular Spectrum Method #41
DongjingtaoHFUT
started this conversation in
General
Replies: 1 comment
-
This is Fourier aliasing. You need to increase the sizes of your planes radically |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi,
I tried to simulate LG beam focusing using lens transmittance equation T = exp(-1i.*k./(2.fL).(X0.^2+Y0.^2)), where k is wavenumber and fL is focal length. The strange thing is that when the focal length is small, say 250 mm, the beam intensity distribution after the lens shows grid-like pattern. However, when the focal length becomes large, say 1 m, the grid is gone.
What is the reason? How can I fix it ?
clc; clear
% beam LG mode
lambda = 0.633e-6; % wavelength, m
k = 2.*pi./lambda; % wavenumber, rad/m
w0 = 1e-3; % waist radius at z=0, m
z_R = pi.*w0.^2./lambda; % Rayleigh range, m
% Space variables at the LG waist, z=0
x0 = linspace(-6.*w0, 6.*w0, 256);
y0 = x0;
[X0,Y0] = meshgrid(x0,y0);
[THETA0,RR0] = cart2pol(X0,Y0);
% LG mode at z=0
E_z0 = fun_LGmode_z0(8,4,RR0,THETA0,w0); % l=8,p=4
% beam undergoes Lens
fL = 250e-3; % focal length of lens, m
LensTranMtx = exp(-1i.*k./(2.fL).(X0.^2+Y0.^2)); % lens transmission matrix
E_bhLens = E_z0.*LensTranMtx;
% beam after Lens
z = fL+(-200e-3); % focal length + defocus distance, m
Lx = x0(end)-x0(1); % side length of observation screen
Ly = y0(end)-y0(1);
E_afterLens = fun_AngularSpectrum_FreeSpace_ForwProp(E_bhLens,z,lambda,Lx,Ly);
subplot(3,2,1); imagesc(x0.*1e3,y0.*1e3,abs(E_z0).^2); axis equal; axis tight; colorbar
title('E_z0','Interpreter','none');
subplot(3,2,3); imagesc(x0.*1e3,y0.*1e3,angle(E_z0)); axis equal; axis tight; colorbar
title('E_z0','Interpreter','none');
subplot(3,2,2); imagesc(x0.*1e3,y0.*1e3,abs(E_afterLens).^2); axis equal; axis tight; colorbar
title('E_afterLens','Interpreter','none');
subplot(3,2,4); imagesc(x0.*1e3,y0.*1e3,angle(E_afterLens)); axis equal; axis tight; colorbar
title('E_afterLens','Interpreter','none');
subplot(3,2,5); imagesc(x0.*1e3,y0.*1e3,angle(LensTranMtx)); axis equal; axis tight; colorbar
title('Lens f=250 mm','Interpreter','none');
Beta Was this translation helpful? Give feedback.
All reactions