DIFFR3 Diffraction patterns
by Chuck DiMarzio Northeastern University 2010
!! 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.
Contents
Start
fcount=5; % for generating figure numbers xaxis=fftaxisshift((0:1023)*16/1024); subregion=(floor(length(xaxis)/4):floor(length(xaxis)*3/4)); [x,y]=meshgrid(xaxis,xaxis); % uniformly illuminated circular aperture r=sqrt(x.^2+y.^2); pup=double((r<1/2)); fig6=figure;imagesc(xaxis(subregion),xaxis(subregion),pup(subregion,subregion)); axis image;colormap(flipud(gray));colorbar; fcount=fcount+1; %print('-depsc',[epspath,'8-',num2strz(fcount,2),'-diffr']); img=fftshift(fft2(fftshift(pup))); faxis=fftaxisshift(fftaxis(xaxis)); fig7=figure;imagesc(faxis(subregion),faxis(subregion),... 20*log10(abs(img(subregion,subregion)))); moose=caxis;caxis(max(abs(moose))+[-30,0]); axis image;colormap(flipud(gray));colorbar; fcount=fcount+1; fig8=figure; plot(faxis(subregion),20*log10(abs(img(floor(length(faxis)/2), ... subregion)))); grid on; plotaxis=axis;plotaxis(4)=80; axis([plotaxis(1)/2,plotaxis(2)/2,plotaxis(4)+[-50,0]]); fcount=fcount+1; % uniformly illuminated square aperture pup=zeros(size(x)); pup(find((abs(x)<1/2) & (abs(y)<1/2)))=1; fig9=figure;imagesc(xaxis(subregion),xaxis(subregion),pup(subregion,subregion)); axis image;colormap(flipud(gray));colorbar; fcount=fcount+1; img=fftshift(fft2(fftshift(pup))); faxis=fftaxisshift(fftaxis(xaxis)); fig10=figure;imagesc(faxis(subregion),faxis(subregion),... 20*log10(abs(img(subregion,subregion)))); caxis(max(abs(moose))+[-30,0]); axis image;colormap(flipud(gray));colorbar; fcount=fcount+1; %print('-depsc',[epspath,'8-',num2strz(fcount,2),'-diffr']); fig11=figure; plot(faxis(subregion),20*log10(abs(img(floor(length(faxis)/2), ... subregion)))); grid on; axis([plotaxis(1)/2,plotaxis(2)/2,plotaxis(4)+[-50,0]]); fcount=fcount+1; %print('-depsc',[epspath,'8-',num2strz(fcount,2),'-diffr']); % Gaussian no aperture pup=zeros(size(x)); r=sqrt(x.^2+y.^2); w=1/2; pup=sqrt(2/(pi*w^2))*exp(-r.^2/w^2); fig12=figure;imagesc(xaxis(subregion),xaxis(subregion),pup(subregion,subregion)); axis image;colormap(flipud(gray));colorbar; fcount=fcount+1; %print('-depsc',[epspath,'8-',num2strz(fcount,2),'-diffr']); img=fftshift(fft2(fftshift(pup))); faxis=fftaxisshift(fftaxis(xaxis)); fig13=figure;imagesc(faxis(subregion),faxis(subregion),... 20*log10(abs(img(subregion,subregion)))); axis image;colormap(flipud(gray));colorbar; caxis(max(abs(moose))+[-30,0]); fcount=fcount+1; %print('-depsc',[epspath,'8-',num2strz(fcount,2),'-diffr']); fig14=figure; plot(faxis(subregion),20*log10(abs(img(floor(length(faxis)/2), ... subregion)))); grid on; fcount=fcount+1; axis([plotaxis(1)/2,plotaxis(2)/2,plotaxis(4)+[-50,0]]); %print('-depsc',[epspath,'8-',num2strz(fcount,2),'-diffr']);








