How to use POP with lenslet arrays

This article explains how to configure the Physical Optics Propagation calculation to account for propagation through a lenslet array. It also gives some useful setup information when using POP in tricky systems.

Authored By Mark Nicholson


Article Attachments


There are occasions where the ray-tracing capabilities of OpticStudio may have difficulty accurately modeling a system. One example is in a system featuring a lenslet array wherein multiple images are formed. Multiple images make the definition of the exit pupil-less clear, which makes it difficult to run a Huygens PSF or FFT analysis. This is a situation in which Physical Optics Propagation (POP) is useful. POP treats the wavefront as a single complex amplitude array - a more natural analysis technique for dealing with a lenslet array. 

In this article, a sample 7x7 array of lenses will be analyzed using POP. 

System definition

In the attached file, a 7 x 7 array of lenses forms a grid of spots on the image plane:


While all the geometric functions work well, the FFT and Huygens PSF struggle with systems like this because wavefront error is measured relative to a single reference sphere, located in the exit pupil of the system. But what is 'the' exit pupil of a system that forms 49 spatially separate images for each object point? Clearly, there is no single reference sphere that can be applied as the wavefront does not converge towards a single image location. OPD plots, wavefront error, PSF (and even the concept of a 'point-spread function) have no meaning in such a system.

Physical Optics treats the wavefront as a single complex amplitude array and can, therefore, treat the case where the beam interacts with a lenslet array more naturally. There are some setup considerations to be made, but otherwise, analysis with Physical Optics is straightforward.

Setting up POP

In a manner similar to the ray-based wavefront calculations, POP uses a reference so that the sampling requirements can be reduced. Using a reference means that OpticStudio needs only carry the 'difference compared to the reference' phase rather than the absolute phase of the beam. In POP, this reference is computed surface by surface, by using a pilot beam, which is the best-fit Gaussian beam that matches the beam being launched.

The pilot beam is then propagated from surface to surface using the Skew Gaussian Beam calculation. At each surface, new beam parameters, such as the new waist, phase radius, or position are computed. The properties of the pilot beam are then used to determine if the actual distribution is inside or outside the Rayleigh range, and what propagation algorithms are appropriate.

However, the pilot beam approach suffers the exact same problem as the reference sphere when the beam is split into multiple beamlets. The phase reference for one beamlet is not a good reference for its neighbor. So in this case, we turn off the use of the pilot beam reference and use a plane (flat) wavefront reference instead (note if the beam has an existing phase radius of curvature we could choose to use that instead).

Just open the Surface Properties of the Lens Array surface, go to the Physical Optics tab, select Output Pilot Radius, and set it equal to Plane (this is already done in the sample file provided):


The phase of the input beam is now measured relative to a plane, instead of the best-fit Gaussian. The sampling of the beam needs to be set adequately high, of course, and this can be tested by looking at the phase of the beam after refraction through the lenslet array surface:


The beam can then be propagated to the image surface, and an array of spots with the correct relative intensity and diffraction structure can be seen:


although the diffraction structure is easier to see when logarithmic scaling is applied:


Array size

There is one other trick that can be used with a file like this. Don't use the Auto button to set the size of the beam array.

This also arises from the one-beam-in, multiple-beams-out nature of the problem. When OpticStudio uses the pilot beam to do a first-pass analysis of the likely propagation of the beam through this system, it will use this data to compute the beam array size. This calculation will conclude that the incoming beam will form a small spot and attempt to set the input beam size such that we get optimum sampling in both Fourier domains (the input and image domains).

However, the spot diagram on the first page of this article shows that the beam will actually retain its original size. It will be broken up into multiple beamlets, but the overall array size will not change. Therefore, just set the X and Y widths of the array to be some multiple of the input beam width so that there is no significant energy truncated at the edge of the array:


and the setup of this calculation is complete.


Was this article helpful?
5 out of 5 found this helpful



Please sign in to leave a comment.