use "Angular-Spectrum Propagation" to calculate intensity distribution at focal plane of a lens, but the outcome is not only a central spot, but accompanying with some "diffraction order" as shown below:
46 views (last 30 days)
Show older comments
clear,clc
lamuda=550e-9;k=2*pi/lamuda; radius=2e-3;diameter=2*radius; foc_length=400e-3;
L=255; x=linspace(-radius,radius,L);delt=x(2)-x(1); [x,y]=meshgrid(x,x);
E=exp(-i*k*(x.^2+y.^2)./2/foc_length); intensity=angular_spectrum(E,delt,L,foc_length); figure(4),mesh(x,y,intensity)
%% This is a user-defined fuction:
function intensity=angular_spectrum(E,delta_x,L,z) % This function compute focal spot intensity distribution, using angular % spectrum methord.
% *E is amplitude of light field after lens. % *delta_x is sampling interval of pupil or lenslet. %% System parameters i=sqrt(-1); lamuda=551e-9;k=2*pi/lamuda; % wavelength of light.
%% Generation of Fourier transfrom of propogator fx=1/2/delta_x*linspace(-1,1,L);fy=fx; [fx,fy]=meshgrid(fx,fy); r2=fx.^2+fy.^2; Fh=1/i/lamuda/z.*exp(i*z*k.*sqrt(1-lamuda^2*r2)); % Fh is fourier transform of propogator.
%% Generation of Trasnform of diffract spot FU0=fft2(E); % fourier transform of optical amplitude.
Fh=ifftshift(Fh); FU=FU0.*Fh; % FU is transform of light amplitude at observatory plane. We use this equation because amplitude on observatory plane is convolution of pupil amplitude and propogator. U=ifft2(FU); intensity=abs(U).^2; end
1 Comment
Image Analyst
on 9 Dec 2014
Do you have a question?
I can see that you have some that will be answered by these links: http://www.mathworks.com/matlabcentral/answers/13205-tutorial-how-to-format-your-question-with-markup
Answers (1)
Han St
on 6 Aug 2019
Hi. The function for angular spectrum propagation needs to apply the same wavelength as you use for creating the initial field...I suggest using lamuda as an additional input constant for the function: intensity = angular_spectrum(E,delta_x,L,z, lamuda).
0 Comments
See Also
Categories
Find more on Accelerators & Beams in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!