FLENS Fresnel lens and zone plate figures
by Chuck DiMarzio Northeastern University November 2008
!! This file may be copied, used, or modified for educational and !! research purposes provided that this header information is not !! removed or altered, and provided that the book is cited in !! publications, as DiMarzio, Charles A., Optics for Engineers, !! CRC Press, Boca Raton, FL, 2011. !! http://www.crcpress.com !! Other distribution is prohibited without permission.
Figure numbers 56 phase in a lens 57 phase in a Fresnel lens 58 real field through fresnel zone plate 59 imaginary field through fresnel zone plate 60 Fresnel diffraction from uniform aperture 61 Fresnel diffraction focused case 62 zone plate pattern 63 Fresnel lens drawing
counter=56; lambda=0.5145e-6; % Meters - Argon ion green line k=2*pi/lambda; z=10; xx=(-0.01:0.0001:0.01); [cx,cy]=meshgrid(xx,xx); rsq=cx.^2+cy.^2; phi=k*rsq/2/z;phi(rsq>0.01^2)=0; cz=cos(phi);cz(rsq>0.01^2)=0; sz=sin(phi);sz(rsq>0.01^2)=0; ez=exp(1i*phi);ez(rsq>0.01^2)=0; fig56=figure(counter);imagesc(xx*100,xx*100,phi); % Plot the actual phase axis image;colormap(flipud(gray));colorbar; xlabel('x, cm'); ylabel('y, cm'); %print('-depsc',['8-',num2str(counter),'-fresd.eps']); counter=counter+1; % fig57=figure(counter);imagesc(xx*100,xx*100,angle(ez)); % Plot the wrapped phase axis image;colormap(flipud(gray));colorbar; xlabel('x, cm'); ylabel('y, cm'); %print('-depsc',['8-',num2str(counter),'-fresd.eps']); counter=counter+1; zp=ez.*(cz>0); fig58=figure(counter);imagesc(xx*100,xx*100,real(zp)); % Real and imaginary % parts of zone plate axis image;colormap(flipud(gray));colorbar; xlabel('x, cm'); ylabel('y, cm'); %print('-depsc',['8-',num2str(counter),'-fresd.eps']); counter=counter+1; % fig59=figure(counter);imagesc(xx*100,xx*100,imag(zp)); axis image;colormap(flipud(gray));colorbar; xlabel('x, cm'); ylabel('y, cm'); %print('-depsc',['8-',num2str(counter),'-fresd.eps']); counter=counter+1; % fx=fftaxisshift(fftaxis(xx)); % FFT of uniform aperture fig60=figure(counter);imagesc(fx/100,fx/100,fftshift(10*log10(abs(fft2(ez))))); caxis([20,40]); axis image;colormap(flipud(gray));colorbar; xlabel('f_x, /cm'); ylabel('f_y, /cm'); %print('-depsc',['8-',num2str(counter),'-fresd.eps']); counter=counter+1; % fx=fftaxisshift(fftaxis(xx)); % FFT with Fraunhofer lens fig61=figure(counter);imagesc(fx/100,fx/100,fftshift(10*log10(abs(fft2(rsq<0.01^2))))); caxis([20,40]); axis image;colormap(flipud(gray));colorbar; xlabel('f_x, /cm'); ylabel('f_y, /cm'); %print('-depsc',['8-',num2str(counter),'-fresd.eps']); counter=counter+1; % % FFT of zone plate fig62=figure(counter);imagesc(fx/100,fx/100,fftshift(10*log10(abs(fft2(zp))))); caxis([20,40]); axis image;colormap(flipud(gray));colorbar; xlabel('f_x, /cm'); ylabel('f_y, /cm'); %print('-depsc',['8-',num2str(counter),'-fresd.eps']); counter=counter+1; % % Drawing of Fresnel lens phi1d=max(max(phi))-phi(:,floor(length(xx)/2)); fl1d=pi-angle(ez(:,floor(length(xx)/2))); opphi1d=phi1d*lambda/2/pi; opfl1d=fl1d*lambda/2/pi; fig63=figure(counter); plot(opphi1d/2*1e6,xx*1000,'k-',-opphi1d/2*1e6,xx*1000,'k-',... opfl1d/2*1e6,xx*1000,'k-',-opfl1d/2*1e6,xx*1000,'k-'); xlabel('OPD, \mu m');ylabel('height, mm'); axis image; %print('-depsc',['8-',num2str(counter),'-fresd.eps']); counter=counter+1; %







