Download as pdf or txt
Download as pdf or txt
You are on page 1of 26

Menu

Search

Chapter 5
Resist Murphy’s Law: Tolerancing

You are probably familiar with Murphy’s Law: “Anything that can go wrong, will go
wrong.” Tolerancing is an attempt to resist Murphy’s Law, by understanding what
sorts of errors can occur, how badly they will affect optical performance, and what is
the probability of building a system that works.
CODE V has a number of tools for tolerancing, including a powerful feature called
TOR. Other tools are provided for analyzing user-defined tolerance criteria and for
Monte Carlo simulations.

Contents

Murphy’s Law...........................................................................................................120
Tolerancing and TOR................................................................................................123
Tolerance Types ........................................................................................................125
Tolerancing with the LDM and TOR........................................................................126
Understanding TOR Output......................................................................................137
Other Tolerance Analysis Features ...........................................................................142

CODE V Introductory User’s Guide 119


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

Murphy’s Law
Search
Optical systems require precision in fabrication. Errors that might be insignificant
in many mechanical devices can cause terrible performance problems in an optical
system. Yet errors will certainly occur, since nothing can be built perfectly.
Tolerancing is concerned with understanding the types of errors that can occur in
building an optical system, and in predicting their effects before anything is built.
You can’t beat Murphy’s Law, but you can limit your exposure by knowing what
can go wrong, defining the limits of the errors, and predicting their effects.

What Can Go Wrong?


A centered optical system is defined by a few parameters, mainly the curvature,
thickness, and glass at each surface. But there are many things that can go wrong
with these few parameters, including:
• Wrong curvature (usually measured by test plate fit, DLF, plus cylindrical
irregularity, IRR)
• Wrong thickness (glass) or air space (mounting errors), measured by
delta-thickness (DLT)
• Wrong index of refraction or dispersion (DLN, DLV)
• Centering errors (front and back surfaces not on same axis, called wedge, or
total indicator runout—TIR)
• Mounting errors (elements or groups of elements tilted, shifted, or decentered
from their design positions)
In all, there are easily 7 or more potential manufacturing errors associated with each
optical surface. Complex systems with special surface types will have even more
potential errors. Each of these potential errors must be assigned an allowable range
or tolerance. For example, the glass element thickness for surface 8 (THI S8 5.5)
might be required to be held within plus or minus 20 microns (e.g., 5.500 mm ±
0.020 mm, or DLT S8 0.02). Such tolerance values are often simply guessed or they
may be assigned based on the “standard values” or on the assumed capability of the
optical shop or manufacturing process. CODE V offers more systematic ways to
determine these values.

120 CODE V Introductory User’s Guide


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

How Bad Can It Be?


Search With tolerances defined for the various manufacturing errors in the optical model,
the question now is, how bad can it be? This can actually mean two different
things. If you take a given set of tolerance values and say “simulate the
construction of this lens assuming that every construction parameter is correct to
within these tolerances,” then the question might be, what MTF or RMS wavefront
error will I get when I measure a sample lens? This is called sensitivity analysis,
since each error can cause a different effect depending on the sensitivity of the
design to each particular value.
The other way to interpret “how bad can it be?” is to say, how large an error will
cause a specified change in MTF, assuming everything else is perfect? This is
called inverse sensitivity, and it is one of the powerful features of TOR. Applying
this technique to all tolerances is called semi-automatic error budgeting. This
means that each tolerance is scaled to contribute roughly the same amount of error
to the system as any other parameter, which is a reasonable assumption. This is a
very systematic way to answer the question, “How bad can it be?,” although other
factors may affect the tolerance values in many cases (most of these other factors
are handled by tolerance limits, which keep things within practical bounds).

Compensators
An important aspect of optical assembly is the ability to make adjustments during
assembly to compensate partially for the accumulated and random set of errors that
have occurred in the fabrication and assembly. These adjustments are called
compensators. Anything that can be a tolerance can in principle be a compensator.
The most common compensators are focal shifts or other air space adjustments.
You will find that the selection of effective compensators is one of the most
important tolerancing tools, often transforming very tight (small) tolerances to very
reasonable values. Compensator selection requires some familiarity with possible
mounting methods, since there must be a physical means to accomplish the desired
shift over the required range.

Statistics
Unfortunately, there is no way to hold everything perfectly except for a single error.
In reality, all errors will occur simultaneously and randomly, although within the
assigned tolerance limits (you hope). This means there is no way to predict the
exact performance of a particular real lens built with a given set of tolerances. If
you build 1,000 lenses, each will have slightly different performance. The best you
can do is to predict the statistical distribution of the results. You can say something
like, “If I build 1,000 lenses, 980 of them will have a performance within 11% of
the nominal design.” If 11% degradation is acceptable, and if 98% yield is

CODE V Introductory User’s Guide 121


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

acceptable, you are done. If not, then you need to do something—perhaps tighten
some tolerances, or provide some adjustment (a compensator) that improves the
Search
quality or yield. In the worst case, you may need to redesign the lens to be less
sensitive.
CODE V’s tolerance features (TOR and others) offer exactly these types of
statistical predictions, and allow you to change tolerances, adjustments
(compensators), and other assumptions in order to find solutions before hardware is
built.

The Cost of Failure


Successful tolerancing allows you to specify a set of realistic tolerances and
effective compensators that will allow the optics to be built with good performance
and yield. One alternative is to assign the tightest possible tolerance to every
parameter and not worry about the compensation (or “just tweak the focus”). The
cost of this can be very high—working to unnecessarily tight tolerances raises
fabrication time and cost. Even worse is the possibility that the tightest possible
tolerances, combined with ineffective compensators, will lead to expensive optics
that don't perform well.

122 CODE V Introductory User’s Guide


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

Tolerancing and TOR


Search
The previous section was intended to give a general introduction to the problem of
optical tolerancing, without a lot of technical detail. Now we will start to consider
how you can actually solve these problems with CODE V.

Tolerancing Goals
The primary objective in tolerancing an optical system is to determine the
combination of dimensional ranges for fabricated elements which will minimize
manufacturing cost while satisfying performance, packaging, and appearance
requirements. It is an important part of the lens design process. The TOR option,
found on the Analysis > Tolerancing menu, has been developed to eliminate most
of the practical difficulties involved in tolerancing. TOR enables the designer to
concentrate on the optical system and its performance, rather than on extensive and
costly calculations and indirect results that may be difficult to interpret.

TOR Functions
TOR directly relates the manufacturing errors to measurable performance
requirements, either polychromatic diffraction MTF (at a specified frequency and
orientation), RMS wave front error, fiber coupling efficiency, or polarization
dependent loss. Four separate menu items access the four quality modes (MTF,
RMS Wavefront Error, Fiber Coupling Efficiency, and Polarization Dependent
Loss) all found on the Analysis > Tolerancing menu). TOR’s basic unit of
information is the change in the quality criterion (MTF, RMS wavefront, coupling
efficiency, or polarization dependent loss) caused by a parameter change of a
certain amount. This sensitivity calculation includes the effect of adjustable
parameters (compensators) specified by the user to simulate the assembly
procedures of focusing, tilting the image plane, etc., to maximize the performance.
Boresight (i.e., shift of line of sight) correction and distortion change output are
available as options.
In some of the following discussions we will occasionally use the term MTF drop
to describe a performance degradation due to manufacturing errors. You should
recognize that the discussion applies equally well to degradation in the other quality
criteria used in TOR, RMS wavefront error, fiber coupling efficiency, or
polarization dependent loss, depending on what you choose to use for your optical
system.

CODE V Introductory User’s Guide 123


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

Semi-Automatic Error Budgeting


Search Semi-automatic error budgeting (also called inverse sensitivity mode) means that
the program can select an appropriate set of tolerance parameters, ranges for the
parameters, and specific values that provide a predetermined individual MTF drop.
As with other CODE V features, the extensive defaults used in these calculations
can be easily overridden in part or in full (this is why it is only semi-automatic).
Statistical calculations are automatically done to predict overall system
performance. Well-labeled tolerance output tables aid in communication with other
technical staff.

Interactive Tolerancing
After any initial TOR run, sensitivities are saved with the lens data so certain
subsequent tolerance analysis can be done more quickly (no ray tracing is required),
provided the lens data remains unchanged. Interactive tolerancing uses this saved
data to allow you to change tolerance values and immediately see their effects on
predicted performance. This is found on the Analysis > Tolerancing > Interactive
Tolerancing menu and can only be accessed after a standard TOR run has been
done (MTF, RMS Wavefront Eror, Fiber Coupling Efficiency, and Polarization
Dependent Loss).
If you are going to close the lens before using interactive tolerancing, you can save
it with Save Lens As. You can then restore the lens with the saved TOR coefficient
data and immediately use interactive tolerancing.

Other Tolerancing Options


In addition to the TOR option, CODE V has several other tolerancing features.
TOD (Analysis > Tolerancing > Distortion menu) is nearly identical in operation
to TOR, but uses chief ray distortion derived from wave front differentials as its
quality criterion. TOL is an older option based on primary aberrations (available
only on the command line; see Chapter 22 in the CODE V Reference Manual for
more information on this feature). Two macro-based user-defined tolerancing
features are also available, TOLFDIF (Analysis > Tolerancing > User- Finite
Differences menu) and TOLMONTE (Analysis > Tolerancing > User- Monte
Carlo menu). Both of these features require that you define a set of tolerance values
to evaluate and that you save the lens with these values before using the feature.
This chapter will focus primarily on the TOR option, although other features will be
discussed in a section at the end.
See the CODE V Reference Manual or Help for complete information on any of
these features.

124 CODE V Introductory User’s Guide


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

Tolerance Types
Search
CODE V supports many types of tolerances, a few of which are listed here.
Tolerances are considered to be part of the lens data and thus are defined and
reviewed in the LDM, as will be shown in the next section. Most tolerances are
linear quantities that are measured in lens units (most often mm). Angular errors are
measured in radians (this is different from construction data tilts and field angles,
which are measured in degrees). Not all possible tolerances are included in
automatically generated default sets; you can always add or remove tolerances from
default sets, using the Review > Tolerances menu. Some tolerance types have
special definitions. Here are just three examples of the many tolerance types.
Test plate fit (DLF)—A measure of the closeness of fit between a surface and a
reference test plate surface, measured as the number of interference fringes
(Newton's Rings). Irregularity (IRR) is also measured in this test, as elliptical
deviations from the nominally circular rings.
Wedge—When the front and rear surfaces of an element do not share a common
axis, the error can be described as surface tilt, or more commonly as a wedge,
described as TIR (total indicator runout), from the device and method of
measurement in the shop.
Barrel Tilts (BTI)—When a group of surfaces is tilted as a unit, this is called a
barrel tilt (in radians). Barrel tilts require a surface range, and the first surface in the
range is the default pivot point, though this can be changed with offsets in X, Y,
and Z.

Note: The only groups of surfaces that CODE V can recognize for default tolerance
purposes are single and cemented lens elements. Although other groups of surfaces
may form a group for construction purposes, CODE V does not know the mount
structure, and thus has no way to know that this is a group. For example, if you know
that surfaces 8 through 15 are a subassembly, you must add BTI S8..15 (and other
group tolerances) to the default set, or the errors of placement of this group will not
be simulated.

Starting on page 10-4 the CODE V Reference Manual has descriptions of all
available tolerances.

CODE V Introductory User’s Guide 125


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

Tolerancing with the LDM and TOR


Search
You can run TOR in several ways, with various degrees of control over the
tolerances and compensators that are used, the type of calculations done, and the
amount of output. Although you can make an all-default TOR run, you usually use
the LDM to prepare the lens and define tolerances before running TOR.

All-default TOR Run


An all-default TOR run is the quickest way to run TOR, since it lets CODE V do all
the work. If you open a lens file that contains no tolerances and run TOR, the
program will automatically generate a default set of tolerances and compensators
before doing the TOR calculations.
1. Choose the File > Open menu and locate the lens file cooke1.len in the
CODE V supplied lens directory, which is at C:\CODEVxxx\lens in a default
installation.
The figure below illustrates this lens system:

The lens is a Cooke triplet (f/4.5, 20° semi-FOV, 50 mm focal length). This
sample lens has no pre-defined tolerances.
2. Choose the Analysis > Tolerancing > RMS Wavefront Error menu.
The RMS wavefront error dialog box is displayed, with Polychromatic RMS
selected as the quality criterion.

126 CODE V Introductory User’s Guide


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

Search

3. Click OK to start the run.


The program will produce many lines of output from this small amount of input
(the equivalent command input for this run is TOR;GO). The tolerances are a
standard default set, used in inverse sensitivity mode with a single compensator
(Z shift of the image surface, i.e., re-focus). Scroll the output window text tab
to see the output. We won’t explain this particular output, since you will per-
form a similar run in a moment. That run will be more typical, with explicit
definition of tolerances, a compensator, and some TOR control settings. We
will discuss the output of that run.

CODE V Introductory User’s Guide 127


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

Setting Up Tolerances
Search As mentioned earlier, tolerances are actually considered to be part of the lens data,
and as such they are defined, viewed, and edited in the LDM. They are also saved in
the .len file when the lens is saved.
1. Choose the File > Open menu and locate the lens file cooke1.len in the
CODE V supplied lens directory.
This is the same predefined lens file that you opened in the previous procedure;
you need to reopen this lens file to ensure the correct results in this procedure.
2. Choose the Review > Tolerances menu.
The Tolerances and Compensators window is displayed. Note that this win-
dow is empty, since cooke1.len does not include any tolerances by default.
3. Click the Autofill button at the top of the spreadsheet to open the Tolerance
Spreadsheet Autofill dialog box.

The default settings (generate default tolerances for all surfaces) are good in this
case.
4. Click OK to define the tolerances.
The tolerances displayed in the Tolerances and Compensators window are
standard default values. Scroll down and notice that 53 default tolerances have
been generated for this six-surface centered lens. You could use right-click to

128 CODE V Introductory User’s Guide


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

add (Insert) or remove (Delete) tolerances from this list. Every cell that is not
grayed-out is editable (e.g., double-click a Type item to change it to a different
Search
type).

Tip: To change the width of any columns in this window, right-click on a column
header and choose Column Width (120 works pretty well for the Type column).

No calculations have yet been done to see the effect of these tolerances (that’s
what TOR will do). You must still define a defocus compensator; once you start
to define tolerances and compensators, CODE V assumes you will define all
that you need, and nothing is generated automatically.
5. Right-click on the End of Data line in the Compensators spreadsheet at the
bottom of the Tolerances and Compensators window.
6. Choose Insert from the shortcut menu.
7. Double click the Start Surface cell and select Image surface.
8. Double-click the Type cell for this new compensator and scroll to locate and
select DLZ - Surface Z-Displacement as the compensator, as shown below.

CODE V Introductory User’s Guide 129


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

Search

In the case of the image surface, thickness (DLT) and Z displacement (DLZ) are
equivalent, and you don't really need to change from the default value except as
a demonstration. In general, DLT changes the thickness by pushing back follow-
ing surfaces, while DLZ only shifts the surface, leaving other surfaces
unchanged.
9. Click the Commit button at the top, or click anywhere in the tolerance list to
commit the data for the DLZ Si compensator just defined.
10. Choose the File > Save Lens As menu to save a copy of the lens with the newly
defined tolerances and compensator.

TOR Lens Preparations


Now you are almost ready to run TOR, this time with diffraction MTF. Before you
do, you should make sure that the lens is at its best focus position. Although TOR
uses wave-based calculations (RMS or diffraction MTF), it will work fine with
even a poorly corrected lens. But the lens should be adjusted to simulate as closely
as possible the end-use configuration. Since most optical systems are used at best
focus, you should normally be sure the lens model is at best focus. Results from
TOR can change substantially with focus.
1. Choose the Analysis > Diffraction > MTF menu to display the MTF dialog
box.
2. On the Frequency/Calculation tab, enter 75 for the maximum frequency and
15 for the increment in frequency.
3. Click the Graphics tab and enter 75 for the maximum plot frequency.
4. Click OK to run MTF.

130 CODE V Introductory User’s Guide


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

5. Click the Quick Best Focus icon on the Quick Analysis tool bar:
Search This will run Wavefront Analysis option with the Replace Focus command,
analyzing the RMS wavefront error of the system and setting the image surface
defocus (THI Si) to maximize it. This is not exactly the same as optimizing the
MTF, but it's a reasonable approximation.
6. Re-run the MTF calculation by clicking the Execute button on the MTF
window.
Notice that the MTF curves are slightly improved. We will use 15 cycles/mm
as the tolerancing frequency. Note that the radial (0°) and tangential (90°) azi-
muth MTF curves for the off-axis fields are substantially different. You could
choose one of the azimuths for tolerancing (TAN is the default) though it is best
to include both. To do so requires duplicating the off-axis fields.

7. Choose the Lens > System Data menu and go to the Fields/Vignetting page in
the System Data window.
8. Insert two new fields into the spreadsheet on the Fields/Vignetting page. You
can insert a field by right-clicking over an existing field row and choosing
Insert from the shortcut menu. Once you’ve added two new rows, copy and
paste values from existing fields into the new fields (you can use the Copy and

CODE V Introductory User’s Guide 131


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

Paste features in the Edit menu to do this). The result should be five fields, with
the field data matching what is shown in the following illustration.
Search

9. Choose the File > Save Lens menu to update the saved copy of the lens, which
will now include the tolerance definitions and the five fields (YAN 0 14 14
20 20).

TOR Input Dialog


To begin the TOR run, choose the Analysis > Tolerancing > MTF menu to open
the Tolerancing - MTF dialog box. You will make changes on two of the six tabs,
and review the default settings on two others.

Performance Measures Tab


By default, the Performance Measures tab is in the foreground when you open the
TOR dialog box. This time you will use polychromatic MTF as the tolerance
criterion, and this is already highlighted. For MTF, you must select the spatial
frequency and azimuth (target orientation) for each field point. You will use 15
cycles/mm for all fields, and enter RAD for fields 3 and 5, leaving the default of
TAN for the other fields (RAD and TAN will be identical for the axis due to
symmetry).

132 CODE V Introductory User’s Guide


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

Search

1. For Spatial Frequency, enter 15 in the Lines per MM field for all five fields.
2. For Azimuth, click in the initially blank Lines Orientation cell and use the
down arrow four times to create 5 field entries (or use right-click Insert).
Double-click the Field row and set row 2 to field 2, row 3 to field 3, etc. Change
the orientation from TAN to RAD for fields 3 and 5, as shown above.

Computational Controls Tab


Settings on the Computational Controls tab determine how the tolerances will be
calculated. There are two modes, inverse sensitivity (the default) and sensitivity.
Inverse sensitivity mode will generate tolerance values by trying to set values that
produce a predetermined change in the performance measure (a 0.01 drop in MTF
by default). Sensitivity mode will calculate the MTF change caused by the current
set of tolerances (with values supplied by you, from defaults, or some
combination). Inverse mode is the most useful mode in early tolerancing phases,
and you can use it with the default drop of 0.01 for this example.

CODE V Introductory User’s Guide 133


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

Search

No inputs are required on this tab.

Output Controls Tab


The Output Controls tab affects the amount and type of output that TOR gives
you. The extended output mode (command FUL) lists coefficient values that allow
you to manually recalculate individual sensitivities without redoing an entire run.
You can use the default mode of “Standard” for this run. The Output Threshold
(SEL) controls the sensitivity values that are displayed, selecting only those
parameters whose MTF change exceeds the threshold. This reduces the amount of
output and helps you to focus on those tolerances that are driving the performance
(for various reasons, primarily tolerance limits, the MTF change for many
parameters is small). You can use the default. Distortion evaluation (DST) adds a
table showing how the tolerances affect chief ray positions. Use the default for this
as well.

134 CODE V Introductory User’s Guide


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

Search

No inputs are required on this tab.

Tolerance Limits Tab


The Tolerance Limits tab allows you to edit the limiting values used for all
tolerance types. The default values reflect typical industry practices for moderately
high quality optical fabrication. If you are designing specialized, high quality
optics, or high-volume plastic optics, the limits should be modified to reflect actual
fabrication practices that may be tighter or looser than the default settings.

Tip: Although the limits only apply to the current TOR calculation, you can
enter the limits for your optical shop and use Option Set to save this as a
“template” for future TOR runs (you might call it “My Shop Limits”). Start
every TOR input by loading this option set, then modify other tabs as needed.

CODE V Introductory User’s Guide 135


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

Search

• No inputs are required on this tab.


• Click OK to start the calculation.

136 CODE V Introductory User’s Guide


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

Understanding TOR Output


Search
With the LDM tolerance inputs and TOR settings just described, you have asked
TOR to use the tangential and radial MTF at 15 cycles/mm as the quality criterion,
and for each manufacturing error, to find the value of the error that produces an
MTF drop of 0.01 for the most sensitive of the three field angles. In fact, you may
not see the value 0.01 very often in the output, as other factors often prevent the
0.01 drop from being reached.

Sensitivity Tables
There is one sensitivity table for each field (the 20° full-field is shown below, for
tangential MTF). The table starts with information about the number of rays traced
(always worth a look to check for problems) and the nominal performance at this
field point. This is followed by the long list of sensitivities.

You can interpret the sensitivity data in the following way (taking DLF S2 as an
example): an error of 2 fringes of power on surface 2 will cause a change of MTF of
+0.008 if positive, and -0.007 if negative. These changes assume that the

CODE V Introductory User’s Guide 137


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

compensating parameter (DLZ S7, image surface defocus) is changed by


+0.038 mm and -0.038 mm, respectively. Scrolling down the table, you will find the
Search
following line:
DSY S1..2 0.0200000v 0.026 -0.031 0.000000
This shows that the largest MTF change (-0.031) is caused by a -0.020 mm
y-decentration of the front element (DSY S1..2). Notice that the compensator value
for this tolerance is zero. This is because a centered tolerance (DLZ Si or focus)
cannot compensate for an asymmetric error. You could add decentered
compensators (there is no specific limit on the number of tolerances or
compensators), assuming that it were mechanically and economically feasible to
test and make such adjustments.

Note: There can only be one value for each tolerance and compensator, as you
can verify by comparing particular tolerance entries between fields. Each
tolerance will produce a different effect on each field, and in fact one field will
always be the worst case that determines the tolerance value in an inverse
sensitivity run.

Probable Change in MTF is a statistical value based on combining all the defined
tolerances. Additional statistics are printed at the end of each sensitivity table and
are explained below.

Can errors make things better?


Many of the errors introduce positive changes in MTF. But how can an error cause
the MTF to increase? The reason is that the system is not optimized specifically for
this MTF frequency at this field. We assume that the overall design is optimized to
its purpose and that any single tolerance error of a particular sign might improve
this particular MTF value. But when many errors are applied simultaneously, the
likelihood of an overall improvement is virtually nil.
Note also that when compensators are calculated, they are limited to removing the
degradation of performance caused by the error, but they cannot improve the
system beyond the nominal performance.

Effects of Limits and Rounding


The Manufacturing Errors in the table are obtained by trying to make each value
give a change specified drop (0.01 default) in MTF, including the effect of any
applicable compensators. Very few parameters reach this, however, and most are
nowhere near this. Rounding of tolerances to convenient values limits the range in

138 CODE V Introductory User’s Guide


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

some cases. But the most common cause of this is the use of limits: TOR places
upper and lower bounds on all tolerances to prevent unrealistic values
Search
(microscopically tight or very loose). These limits are displayed in the text output.
The centered limits are shown below (note that the program also displays the limits
for decentered tolerances).

As discussed earlier, you can modify the limits on the Tolerance Limits tab in the
TOR dialog box. The TOR section of the CODE V Reference Manual (Chapter 22)
explains the factors that determine values in more detail.

Probability Distributions, Cross Terms, and Statistics


After all the sensitivities are calculated, they must be used to make statistical
predictions. The assumptions, calculations, methods, and output tables are
discussed in the CODE V Reference Manual (Chapter 22, Tolerancing; see
especially the sections titled, “Description of Output” on page 22-46 and
“Technical Notes” on page 22-65). Here are a few of the key points:
• Errors are assumed to lie within the tolerance bounds and to follow a specific
probability distribution (you can change some aspects of this on the Probability
Functions tab—click on this tab and press F1 for help on this subject).
• Statistical predictions are based on an algebraic formulation. This “simulated
Monte Carlo” is valid for large numbers (N > 10) of independent errors. A
macro for true Monte Carlo simulation is also available (tolmonte.seq).

CODE V Introductory User’s Guide 139


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

• Cross terms are included in the statistics, i.e., errors can combine with or
partially cancel the effects of other errors.
Search
A table such as the one below is displayed for each field.

The interpretation of the cumulative probability table is that 97.7% of the systems
built will have a change in MTF of -0.054 or smaller from the design MTF for this
field, assuming the lens is built to the tolerances used in the lens model. The other
percentages can be interpreted the same way (50% represents the mean, while
84.1%, 97.7%, and 99.9% represent confidence levels of 1σ, 2σ, and 3σ,
respectively). The note on the right side of the table describes what is something
like a worst case, assuming that all parameters are fabricated at the extremes of the
allowable range.

Compensator Range
The probable change of compensator also approximates the 2σ level. This means
that if the compensator (focus shift in this case) can vary by ±0.5 mm, this range
will allow compensation for about 98% of the systems built (i.e., 2% of the systems
will have combinations of centered errors too large to be focused out by this range
of motion). This information provides guidance for mount designers as well.

140 CODE V Introductory User’s Guide


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

Tolerance Output Tables


Search At the end of every TOR run, tables of centered and decentered tolerances are
displayed, collecting all the data from the sensitivity tables in a compact format.
The tolerance limits are displayed following each table. The Decentered
Tolerances table is shown below.

Performance Summary Table


The Performance Summary table collects in a single table the nominal and
probable change values (for system performance and for compensator range). This
is where you can take a quick look at the results of the tolerance run and see if the
Design + Tol column will meet your as-built performance specification.

CODE V Introductory User’s Guide 141


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

Other Tolerance Analysis Features


Search
As mentioned earlier in this chapter, there are other tolerance features in CODE V,
including TOD (chief ray distortion tolerancing) and TOL (primary aberration
tolerancing, an older tolerance method included for compatibility with older
versions of CODE V). In addition, there are two forms of user-defined tolerancing
that are implemented as CODE V macros for maximum user flexibility.
User-defined tolerancing means that the quality criterion is defined by you in the
form of a macro that follows a certain format. This means that you must be able to
write such a macro if you can’t use one of the supplied examples. User-defined
tolerancing is also restricted to sensitivity mode, which means you must somehow
determine a reasonable set of tolerance values to evaluate. In most cases, an inverse
sensitivity TOR run for RMS wavefront error is a good way to determine a
reasonable starting set of tolerances (just using the default values may not be
reasonable for a particular optical system). You must also save the lens in a .len file
including the calculated tolerance values.
The two forms of user-defined tolerancing are:
• TOLFDIF.SEQ—FDIF means “finite differences,” and this is a difference
from TOR, which uses differential methods to evaluate tolerances. Finite
difference means that the lens is evaluated in its nominal state, then perturbed,
and the nominal result subtracted from the perturbed result to get the difference
caused by the perturbation. Once all the errors are evaluated (one tolerance at a
time), statistics are done similar to those in TOR.
• TOLMONTE.SEQ—This macro applies perturbations for all tolerances
simultaneously to create a “Monte Carlo sample,” which is evaluated by the
user’s evaluation macro. When a fairly large number of samples is generated
(50 or more), statistics and probability curves are generated based on all the
samples.
You can start each of these macros from the menu at Analysis > Tolerancing >
User - Finite Differences or User - Monte Carlo. A dialog box for the macro will
open. How to use these macros is described in detail in the CODE V Reference
Manual, in “User-Defined Tolerancing” on page 22-107.
The following table compares the basic capabilities of TOR, TOLFDIF, and
TOLMONTE.

142 CODE V Introductory User’s Guide


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

Search
Supported
Tolerancing Supported
Algorithm Performance Comments
Method Tolerances
Metric

TOR Wavefront RMS Wavefront CODE V- Fast and accurate for


Differentials Error supported small tolerances.
tolerances Includes cross-terms.
Diffraction MTF (e.g., DLR,
DLT, etc.)
Fiber Coupling
Efficiency

Polarization
Dependent Loss

TOLFDIF Finite Any that CODE V CODE V- Reasonably fast, but


Macro Differences can compute supported does not include
tolerances & cross-terms. May not
user-defined be as accurate for
tolerances some performance
metrics

TOLMONTE Monte Carlo Any that CODE V CODE V- Accurate if many


Macro Simulation can compute supported trials are run, but slow
tolerances & (can be > 100x slower
user-defined than TOR)
tolerances

CODE V Introductory User’s Guide 143


Chapter 5 Resist Murphy’s Law: Tolerancing
Menu

Search

144 CODE V Introductory User’s Guide

You might also like