How to use the Zernike Sag surface to model an all-reflective system

This article shows how to model an all-reflective system with Zernike Standard Sag surface. An all-reflective system is a special case in which the Zernike Sag surface can be used to model performance at all wavelengths for a given field point. The Zernike Sag surface is used instead of the Zernike Phase because diffractive power is different than the reflective power as the wavelength changes. One wave of phase is one wave at any wavelength, but one wave of sag at 0.5 microns is only half a wave at 1.0 microns.

Authored By Mark Nicholson


Article Attachments


This is a companion article to "How to model a black-box optical system using Zernike coefficients". That article should be read before this one.

Zernike data represents a measurement of the performance of an optical system at a specific field and wavelength. Because information about the glasses, radii of curvature, aspheric coefficients etc. are not part of the Zernike data, there is no way to scale Zernike data to a different field or wavelength.

If you are working with an all-reflective design, then you can use the Zernike Standard Sag surface to describe the aberrations of the optical system at all wavelengths for a given field, since all-mirror systems do not suffer chromatic aberration.

Yolo telescope example

For example, consider a Yolo telescope-like so:


(This file is included in the zip file at the bottom of this page). This unobscured telescope produces a wavefront like so:


Now, to make an equivalent system using the Zernike sag surface, we just need the exit pupil position and diameter, as in the previous article. This data is:

Exit Pupil Diameter = 701.681 mm
Exit Pupil Position = 9484.22 mm

Still following the previous article, a first-order equivalent system can be produced as follows:


In which the entrance pupil diameter of the system is set to the exit pupil diameter of the original Yolo, and the focal length of the paraxial lens is set to the same value as the exit pupil position. This gives us a first-order system with the same reference sphere radius as the original.

We then export the Zernike data in units of sag. The macro that performs this is similar to that provided in the original article but adds an extra scaling factor:

SUB get_scale

! Get the conversion factor to take phase to sag in mm

! Assume mm for all lens units: will need to modify if not the case

! Get the wavelength, in microns

primary = WAVL(PWAV())

! to mm...

primary = primary/1000

! Scale factor is one wavelength equals this much sag

! Factor of two because the surface is used in reflection

scale = -1 * primary/2


which is then used to scale the Zernike data into sag units prior to saving to disk:

FOR order = 1, max_order, 1

    z_term = order + 8 # offset to the correct location in the data structure, see Help Files!

    PRINT VEC1(z_term)*scale

NEXT order

The Zernike data is then imported into the Zernike Standard Sag surface using the Import tool, and the same wavefront error and other ray-tracing results can be seen:


Both the original and Zernike-equivalent files are in the zip file at the bottom of this page. If you add further wavelengths, you will see that both files give the same results at any wavelength. Detailed transmission and other polarization data will not be equivalent, however, as the Zernike file has no knowledge of the coatings used in the original file, and there is still no way to predict how the behavior of the telescope will change with field: a set of Zernike coefficients per field is still needed.


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



Please sign in to leave a comment.