% Illustrates the use fo LaguerreGaussianE.m, decompose.m and recompose.m by % defining an off-center Guassian beam (Fig. 1, Col. 1) and recomposing it % in a basis of Laguerre Gaussians defined about the center on the figure. % The recomposed beam is shown in Fig. 1, Col. 2, where we have used the % first 40 Laguerre Gaussian modes. Figure 1, Col. 3 shows the % difference between the recomposed beam and the original. Figure 2 shows % the magnitude of the coefficients of the various modes in the % decomposition. clear domain screensize=0.0125; nptsr=1500; nptstheta=100; accuracy=0.001; n=30; [rmesh,thetamesh,xmesh,ymesh]=polarmesh([0,screensize,nptsr],[0 2*pi nptstheta],'lin'); domain(:,:,1)=rmesh; domain(:,:,2)=thetamesh; w=0.002; R=-1e3; lambda=0.795e-6; q=q_(w,R,lambda); %deltax=1.5*w; %deltay=1.5*w; deltax=0; deltay=0; z_before_mask=LaguerreGaussianE([0,0,q_(w,R,lambda),lambda],xmesh+deltax,ymesh+deltay,'cart'); Np = 1000; apR = linspace(0, 2, Np); % aperture ratio for i = Np:-1:1 mask_R = w*apR(i); % disk mask = 1.0*((xmesh.^2+ymesh.^2) > mask_R^2); zout=mask.*z_before_mask; a_disk(i)=overlap(zout,conj(zout),domain,rmesh); % iris mask = 1.0*((xmesh.^2+ymesh.^2) < mask_R^2); zout=mask.*z_before_mask; a_iris(i)=overlap(zout,conj(zout),domain,rmesh); end plot( a_disk, apR, 'k-', a_iris, apR, 'r-' ); grid on; legend( ['disk'; 'iris'] ); ylabel('Aperture radius R_a/w'); xlabel('Transmitter power ratio') title( 'LG_{00} beam transmission after round disk or aperture');