**Learn more.**

# How to design afocal systems

Summary:

Authored By:

Published On:

Sample File:

Applies to:

Sequential Ray Tracing

Article:

**Introduction**

The strict definition of an afocal system is a system in which both object and image conjugates are at infinity. Such systems would include, for example, a laser beam expander in which both input and output beams are collimated. Another example is a system like binoculars where light is brought to focus by the eye, and the binocular design itself relays light from an infinite object conjugate to an infinite image conjugate, with some angular magnification. The term "afocal" is also used sometimes to mean any system in which the image conjugate is at infinity.

OpticStudio uses the term "afocal image space" to describe any system in this category or in the full afocal category. While simulation of these types of systems has little difference from focal systems, analysis requires a different reference or units in most cases. OpticStudio handles this behind the scenes when the user engages Afocal Image Space mode.

**Afocal Image Space mode**

Whether OpticStudio uses focal or afocal units is set by a control on the **System Explore...Units tab...Afocal Image Space**:

The major consequence is that the units we use to describe optical performance in the image space change from spatial units to angular units. Different units are used in different applications, and the choice of units is made on the Units tab of the **System Explorer...Units tab**:

As a result, the various OpticStudio analysis features will report in different units:

Other than the change of units, the other primary difference between focal and afocal mode is the reference wavefront (the “perfect” wavefront against which the actual wavefront of the system is compared). In focal mode, the reference wavefront is spherical, whereas in afocal mode, the reference wavefront is planar. This affects the results of all wavefront-based analyses, as well as wavefront optimization.

Most OpticStudio features work exactly the same with focal or afocal image spaces. Some features are specific to focal systems: relative illumination, for example, has no physical meaning in an afocal system. In addition there are default merit functions for either mode: Spot Radius can be used for focal systems, and Angular for afocal systems. Wavefront error can be used in either mode; the reference wavefront is either spherical or planar, depending on if afocal mode is being used.

In this article we will design two simple systems: a laser beam expander which is a true afocal system, and a cylindrical lens which is focal in one direction and afocal in the other.

**Optimizing afocal systems**

The zip archive which accompanies this article (which can be downloaded from the final page of the article) contains a starting point design beam_expander.zmx. This is intended to be a 5x beam expander, working at the red He-Ne line, and to have minimum RMS wavefront error. In the starting design there is no power in the optics and therefore no beam expansion:

Click on **System Explorer...Aperture** and choose **Afocal Image Space** so that OpticStudio computes all parameters in afocal units:

Then open the merit function (**Optimize menu...Merit Function Editor**) and select **Optimization Wizard**:

Note that we can build a default Merit Function to minimize wavefront error, spot radius (and x, y individually) or angular error as a radius or as x and y separately. In this case, we will choose Wavefront, and use 5 rings in the Gaussian Quadrature algorithm because we want a well-corrected system. Press **OK** to build the default merit function.

The only extra information OpticStudio needs is the size of the output beam. The input beam is 5 mm, and the magnification is x5, so the output beam should have a diameter of 25 mm. Insert a new operand before the DMFS statement in the merit function, and enter the REAY operand as follows:

This requires the real ray y-coordinate on surface 6 (the image surface) to have a height of 12.5 mm. Then click **Optimize Ribbon...Optimize!** and press the **Start** button.

OpticStudio quickly optimizes the afocal system:

**Analysing data in angular units**

So how good is our afocal system? Look in the Merit Function, at the value of the REAY operand. It should show a value of exactly 12.5. So, we are getting the beam expansion we asked for. Then open the OPD, Ray-Fan, Point Spread Function and Modulation Transfer Function windows. The OPD should appear like so:

This shows focus, spherical and higher-order spherical all balancing, and the system's PTV wavefront error to be less than 5.0*10-4 waves. The ray-fan plot is also interesting:

Note the focus, spherical and higher order spherical are also clearly shown, but also note that the units used are arc-min. This plot is showing the deviation from perfect collimation directly. The spot diagram also shows this:

The RMS angular deviation is less than 0.001 arc-min. Of course, diffraction effects are much larger: on the settings of the spot diagram, click the button **Show Airy Disc**. Diffraction effects limit the resolution to about 0.107 arc-min.

To see this, look at **Analyze Ribbon...PSF...FFT...PSF...Cross-Section**:

This shows that diffraction effects produce an Airy disc of around 0.107 arc-min. **Analyze Ribbon...MTF...FFT MTF** shows the contrast ratio of the system in units of cycles per arc-min:

**Cylindrical systems**

Cylindrical systems are only a little more complex, because these systems are focal in one plane and afocal in the other plane. From the zip archive, open the file cylindrical_lens.zmx:

This shows a cylindrical lens, which has a flat rear surface, and a toroidal front surface. This lens is intended to produce a line focus, with the smallest spatial extent in y and the smallest angular divergence in x. This is easy to do.

Again, open the Optimization Wizard tool. Set this as follows:

This will build a Merit Function that will minimize the y-spot size. Scroll to the end of the merit function, and note that OpticStudio has entered 41 lines of operands. Then use the Optimization Wizard tool again:

This build the operands to control the angular spread of the beam in x. The reason we start at line 43 is that we want to keep the spot-in-y operands: so, this merit function will require the smallest spatial extent in y, and the smallest angular extent in x: a line focus. The optimization variables are the y-radius, x-radius and back focal distance. Optimize, and OpticStudio again quickly produces the best system.

Note that this technique can be extended using the IMSF operand. IMSF allows the image surface to be re-defined on the fly in the merit function. Therefore, if a system is focal on surface 10, but afocal on surface 6, it can be easily modelled by building an Angular Radius merit function, with IMSF=6 immediately before it in the merit function, and then adding an RMS Spot merit function with IMSF=10 immediately before that.

Note also that the multi-configuration operand AFOC allows the afocal mode to be zoomed between configurations. The ZPL keywords GETSYSTEMDATA and SETSYSTEMPROPERTY allow control of the Afocal Image Space switch from within a ZPL macro.

**Summary**

This article has discussed how to design afocal systems in OpticStudio. The main points are:- The major difference between focal and afocal systems is that focal systems are measured in spatial units and afocal systems are measured in angular units
- The Afocal Image Space switch switches OpticStudio from using spatial units to angular units where appropriate
- The default merit function tool allows you to easily target both spatial and angular properties of the beam
- The IMSF operand allows you to target spatial properties at one surface, and angular properties at another (for example) to control both focal and afocal properties of the optical system at any surface
- The AFOC multi-configuration operand lets you define focal and afocal configurations of a design.
- The ZPL keywords GETSYSTEMDATA and SETSYSTEMPROPERTY allow control of the Afocal Image Space switch from within a ZPL macro