ECEN 4616/5616 2/18/20131 GRIN Lenses: A GRadient INdex lens is one in which the index of refraction changes with position. The lens in the Human eye is an example of a natural GRIN lens. It has been recently shown that a normal lens, but with the index a function of Z, can correct for more aberrations than a lens with the index gradient. This material is called Gradium, and is only available from Light Path Technologies, Inc. The GRADIUM surface type is included in the Zemax program, and several stock lenses from Light Path are available in the Zemax lens catalog. This finds uses where there is not room for a more complex lens, but a higher degree of aberration correction is required. The more usual type of GRIN lens is a cylindrical rod of glass with an index that varies in a radial direction with distance from the axis of the cylinder. You can see how this could focus light conceptually by considering a discrete approximation – a cylinder with layered indices: (θi is the angle inside the central layer, w.r.t. the z-axis.) … nk r n3 n2 n0 Φ0 n1 Θ0 n0 z n1 n2 n3 Assuming that n0 > n1 > n2 > n3, we can see that the input ray will have decreasing angles with the axis as it passes each successive interface, until it finally undergoes Total Internal Reflection and heads back to the axis, since ðð sin ðð = ðð+1 sin ðð+1 = ⯠= ðð sin ðð , and θi = 90 – θ0. Assuming that nk is the index of the last layer (which could be air, or a cladding layer), then the ray will escape the rod, if ð0 sin ð0 < ðð . Since sin(θ0) = cos(Φ0) ≡ Z0, the direction cosine of the ray in the 0th layer – and this also holds true for all other layers (i.e., sin(θn) = Zn), we can re-write Snell’s law for GRIN media in terms of Z-direction cosines as: ð(ð) â ð(ð) = ð0 ð0 eq 1 pg. 1 ECEN 4616/5616 2/18/20132 GRINs as Lenses: Under what conditions will a rod with radially dependent index act as a lens? When rays starting from an object point re-collect at an image point, as in the figure below: This will happen if rays from a launch point follow a periodic path whose period remains constant over a range of launch angles. Paraxial Model: By solving the GRIN Snell’s Law (eq. 1) for a function, n(r), which causes to be a sinusoidal path (ð(ð) = ð0 sin(ðŒð§)), in the paraxial approximation (see, for example, Mouroulis & Macdonald, pages 168 – 172) we can arrive at the following results: Y X ïŠ ï¡2 2ï¶ In the paraxial approximation, a quadratic index profile, nïšr ï© ïœ n0 ï§ï§1 ï r ï·ï· will 2 ïš ïž cause rays entering one face of the rod to follow sinusoidal paths of the form r ïœ r0 sin( ï¡ z ), where the amplitude, r0 is related to the angle of incidence at the axis of the rod by tan ïšï± ï© ïœ ï¡ r0 . Z GRIN lenses are characterized by their Pitch Length, P. The pitch length is the number of cycles that light will make in the given length of the GRIN rod. The above GRIN has a pitch length of one. A GRIN with a pitch length of ¼ will focus parallel incoming light to a point on the back of the rod: pg. 2 ECEN 4616/5616 2/18/20133 Pitch slightly < ¼. The referenced text also develops paraxial ray-tracing equations for GRIN lenses: Paraxial transfer equation: h ïœ h0 cos(ï¡ z ) ï« u0 ï¡ sin( ï¡ z ) Paraxial refraction equation: u ïœ ïï¡ h0 sin( ï¡ z ) ï« u0 cos(ï¡ z ) The paraxial equations are useful for calculating the Numerical Aperture of GRIN lenses, for example, by calculating the output ray angles for different aperture heights. Finite Ray Trace Model: For tracing real rays, Zemax approximates a grin lens as a sequence of thin lenses. Consider a thin slice of a GRIN lens: decreasing index pg. 3 ECEN 4616/5616 2/18/20134 Because the index of refraction is less further from the axis, the optical path length is less there and hence the wavefront edges advance more than the center as it traverses the slice. This is, to first order, identical to the effect that a thin lens (shown as dashed lines) would have on the same wavefront. The thin lens has a constant index of refraction, but its thickness is reduced further from the axis. Since the change of index in the GRIN slice corresponds to a change of thickness in the thin lens, it is obvious that the quadratic GRIN profile is equivalent to the quadratic approximation to a spherical lens. Thus, real GRIN profiles often diverge from a pure quadratic profile, to allow non-paraxial rays to focus at a point independent of initial ray angle. When Zemax traces rays through a GRIN lens, it divides the lens into a number of thin slices and treats each as a thin lens. Rays are traced using Snell’s Law and the local index, n(r), at the ray’s intersection with the surface. There is a parameter in the Lens Data Editor, delta-t, which controls the thickness of the slices. By default, Zemax divides a GRIN into 20 slices/pitch. The only way to know if this is enough is to change the delta-t parameter and see if anything changes noticeably. pg. 4 ECEN 4616/5616 2/18/20135 Non-Paraxial GRIN lenses: The quadratic profile was calculated using paraxial assumptions. Often it is desired to use GRIN lenses at higher apertures, hence there are many modifications to the quadratic profile. Zemax lists 10 types of gradient “surface”, which are variations on the index profile formula. A typical one (for the GRADIENT2 surface) is: n ïœ n0 ï« n2 r 2 ï« n4 r 4 ï« n6 r 6 ï« n8 r 8 ï« n10 r 10 ï« n12 r 12 Other surface formulas allow index change in the Z direction, and, of course, the ends of the GRIN rod can also be curved like a normal lens. It is easier to design GRIN lenses than to get them built – usually it is better to stay with commercially available GRINs, unless your budget is very large. Systems that use GRIN lenses: GRIN lenses are useful in a number of optical systems. Many of these are due to the fact that a GRIN rod will act as an image relay: Each integer of pitch acts as a one-to-one, upright image relay: GRIN lenses are regularly used in endoscope relays: The scanner bar on a common photocopy machine is typically a linear array of GRIN lenses arranged to produce a one-to-one, upright, image relay, with images from adjacent pg. 5 ECEN 4616/5616 2/18/20136 lenses overlapping in registration. This works much better than trying to relay each pixel, as that would result in very small lenses with poor resolution. Pinholes and Coded Apertures: There is a long-time use for pinhole optics that hasn’t changed (except for materials and manufacturing quality) in a very long time – perhaps thousands of years. The pinhole “eyeglass”: At the cost of lost light, the pinhole eyeglass will correct all refractive eye problems up to a prescription of –6 diopters. They also work as sun glasses. It’s worth having a pair or to on an expedition for emergencies. Analyzing how they work is somewhat complicated – it appears that the Human visual system learns how to deal with the multiple apertures in a seamless way in a very short time. pg. 6 ECEN 4616/5616 2/18/20137 Coded Apertures: Pinhole cameras are more than just toys. They are a serious way to accomplish imaging with radiation for which no lens materials exist. Examples are Xrays, gamma rays, high energy particles with different energies, etc. While Fresnel zone plates have much higher throughput, they only work with narrow band sources. The focal length of a zone plate is a very strong function of wavelength, which limits their use to artificial sources. A major problem with the standard pinhole camera is low throughput. This is even more of a problem in high-energy imaging tasks where the photon count is low compared to beam power. Overlapping images from pinhole arrays can be cleanly deconvolved, if the spacing between any two pinholes is unique in direction and distance. Arrays like this are called “Non-Redundant” arrays. Each particular spacing between two pinholes can be thought of as sampling one point in the Fourier plane. A small Non-Redundant Array Non-redundant arrays are hard to find – the largest ones found to date have only ~30 holes and still have much less than 50% throughput. An interesting alternate solution is the “Uniformly Redundant Array”, which has each spacing repeated the same (prime) number of times. Some examples of URAs: pg. 7 ECEN 4616/5616 2/18/20138 URAs were introduced (in their modern form) in a paper by Stephen Goptterman and EE Fenimore, Applied Optics, V28, N20, 15 Oct, 1989. The specifications for generating a URA are: Pick an array of numbers, Ai,j that is P x P in size, where P is a prime number. Then ï¬0, i ïœ 0 ï¯1, j ïœ 0, i ï¹ 0 ï¯ Aij ïœ ï P P ï¯1, Ci C j ïœ ï«1 ï¯0, otherwise ï® The C’s are defines as: ï¬ï« 1, if i is a quadratic residue mod P Ci ïœ ï ï®ï 1, otherwise And a “quadratic residue” is defined as: If there exists an integer, x: 0 < x < P, and an integer q, such that x2 = q mod P, Then, q is a quadratic residue of P. pg. 8 ECEN 4616/5616 2/18/20139 In the case of an array constructed as above, it’s convolutional inverse is: ï¬ï« 1 if ïši ï« j ï© ïœ 0 ï¯ Gij ïœ ïï« 1 if Aij ïœ 1, ïši ï« j ï© ï¹ 0 ï¯ ï®ï 1 if Aij ïœ 0, ïši ï« j ï© ï¹ 0 The deconvolution (A*G) of the P=53 URA above is: URAs have ~ 50% throughput, so are very useful for imaging weak, broadband sources. pg. 9 ECEN 4616/5616 2/18/2013 10 Appendix A Matlab code to produce Uniformly Redundant Apertures: function [A,C] = URA2D(P,s) %USAGE: [A,C] = URA2D(P,s); % Returns a square array PxP, of a Uniformly Redundant % Array, A, and it's convolutional inverse, C. %The array is approximately 50% ones, if P is prime. %If parameter s is entered and s==1, then the output arrays % are shifted so that they are symmetric. % %Defaults: if nargin < 2 s = 0; end %Create index arrays: [X,Y] = meshgrid(0:P-1); %Find all quadratic residues of P: Q = QuadRes(P); %Find indices which are quadratic residues of P: Xq = double(ismember(X,Q)); Yq = double(ismember(Y,Q)); %Convert to Jacobis (quadratic residue == 1, else == -1): Xq(Xq==0) = -1; Yq(Yq==0) = -1; %Calculate the URA: XYq = Xq.*Yq; A = zeros(P); A(XYq==1) = 1; A(X==0) = 1; A(Y==0) = 0; %Calculate the inverse: C = A; C(A==0) = -1; C(1) = 1; %Shift arrays, if requested: if s==1 A = fftshift(A); C = fftshift(C); End function Q = QuadRes(P) %USAGE: Q = QuadRes(,P); %Q is the list of all unique numbers which are % quadratic residues of P (not including 0). % %Only test numbers up to P/2: N = floor(P/2); l = 1:N; Q = sort(unique(round(mod(l.^2,P)))); Q(Q==0) = []; pg. 10 ECEN 4616/5616 2/18/2013 11 pg. 11