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:
49 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Image Analyst
2014 年 12 月 9 日
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
回答 (1 件)
Han St
2019 年 8 月 6 日
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 件のコメント
参考
カテゴリ
Help Center および File Exchange で Accelerators & Beams についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!