Modelling a holographic waveguide for Augmented Reality (AR) systems: part 2

AR systems often use holograms to couple light into waveguides. This article shows how to improve the simple design modelled in part one of this two-series article.

Authored By Sean Lin and Michael Cheng


Article Attachments


AR is a technology that allows the virtual world on the screen to combine and interact with real-world scenes.

This article demonstrates how to enhance the optical system designed in article Modelling a holographic waveguide for Augmented Reality (AR) systems: part 1.

Improve the design

Continuing from the last optimized system on the Part 1 article, we need to further optimize the system to improve its optical performance. First, let's tighten some specs.

  • Set Entrance Pupil Diameter = 4 mm
  • Enlarge FOV to +/-8°
  • Make waveguide thinner, at 6 mm, as shown below

At this time, you will find that when we try to tighten the parameters, the design becomes unrealistic. To solve this problem, we need to constrain the design to ensure rays follow physically meaninguful paths. We will enforce the following 3 conditions using relevant operands in the Merit Function.

  1. Rays cannot propagate outside of the waveguide while they’re supposed to be inside
  2. Rays cannot go behind the Hologram surface
  3. Rays must exit through the top of the waveguide without hitting the sides


In order to facilitate the optimization, we first add one dummy surface after surface 13 (set Material = PMMA). This surface will be used as a reference surface to ensure the system geometry is correct. Next, add one more Coordinate Break at surface 17, right after the Exit Waveguide. Then cut the thickness from existing surface, and paste to the new Coordinate Break thickness. This new surface will be used to tilt the Image surface.

Then for a cleaner view of the system, make the following change to Surface Properties…Draw of surface 14.

In the meantime, to achieve our goals more easily, we can allow more freedom by adding more variables to the design. First, allow the hologram to shift and tilt with the following settings:

  1. Link Thickness of surface 5 to the Thickness of surface 2 with a Pickup solve, Scale Factor -1
  2. Set the Thickness of surface 2 to be variable
  3. Set the Tilt X of the hologram to be variable

Second, set the parameters Construct Z1, Y2 and Z2 of the Hologram 2 surface to be variable, so that the construction beams are fully modifiable.

Third, set the Thickness and Tilt about X of surfaces 15 and 17 to be variable so that the exit surface of the waveguide can shift and tilt.

Constrain system to be realistic

After adding the surfaces and setting the variables, the next step is to use the merit function to control the system to be realistic. We build a Merit Function which uses the default criterion on spot size, and places detailed constraints on the positions of the surfaces. All newly added operands are meant to provide a physically practical solution from the optimizer. You just need to download the file “ARWaveguide.MF” from the Article Attachments and copying it into your Documents\Zemax\MeritFunction folder, then load it from inside the Merit Function Editor using the Load Merit Function button. All operands making this merit function are described below.

Constrain system to be real – step 1

First, we’ll prevent the hologram from overlapping the side of the waveguide. From the following picture you can see that point A is on the right side of the surface 9. We use RAGZ to find the position of point A on surface 4 and constrain its z position to be less than the z position of surface 9. Next, the distance from the waveguide entrance to the hologram must be positive. Use PLEN to directly specify that this length should be greater than zero.


Constrain system to be real – step 2

Second, we’ll constrain Point A to be at left side of line BC as shown. One useful concept to be applied here is the cross product. According to the right-hand rule, if you want to keep line BA  to the left of line BC  then the trick is to calculate the determinant of line BA  and line BC  as criterion, and target the value to be less than zero. Use RAGY and RAGZ to get coordinates for points B and A. The unit vector of line BC can be easily obtained with RAGB and RAGC operands.


Constrain system to be real – step 3

The next step is to ensure that the ray propagation between the surfaces 13 and 16 and between surfaces 16 and 19 is realistic. You can do this by ensuring all relevant PLEN operands are positive.


Constrain system to be real – step 4

In the fourth step, follow the techniques of the step 2 to control point D to be at left side of line EF. This time, we calculate the determinant between two vectors EF  and ED to achieve this constraint.


Constrain system to be real – step 5

The final constraint is the y position of point F (marginal ray crosses surface 14) must be larger than y position of the point D as shown in the below picture. To get position of point F, we need use the dummy surface 14.


Once all these constraints are in place, optimizing the system will result in a design that is physically realistic. You will find that the performance of this system is limited by astigmatism, which can be solved by replacing the surface of Hologram 2 with an Optically Manufactured Hologram.

The final system can be found in the Article Attachments.


1. Konica Minolta Technology Report Vol.1 (2004)

2. OpticStudio help files

Previous Article: Modelling a holographic waveguide for Augmented Reality (AR) systems: part 1


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



Article is closed for comments.