Copyright © 1995-2002 MZA Associates Corporation

**WaveTrain Glossary**

**A B
C D E F
G H I J K
L M N O P Q R S T U V W X
Y Z**

**Absorbing boundaries**

Absorbing boundaries are a mechanism sometimes used when simulating
optical propagation to avoid **wraparound**.
Absorbing boundaries avoid this problem by multiplying the light after
each propagation step by a filter ( in the spatial domain, not the spatial
frequency domain), which is unity over the central region, then falls smoothly
to zero at the edge of the mesh. Absorbing boundaries can themselves produce
artifacts, because some light moving toward the edge of the mesh may be
reflected back into the inner portion of the mesh, but this is generally
less of a problem than wraparound. Absorbing boundaries are often used
in combination with **spatial filtering**,
i.e. filtering in the spatial frequency domain. Under some circumstances
these techniques can make it possible to use a smaller propagation mesh
than would otherwise be needed, reducing simulation execution time.

**AcsAtmSpec**

AcsAtmSpec is a C++ class which defines an *atmospheric specification*,
used for a parameter to the WaveTrain components **AtmoPath**
and **GeneralAtmosphere**.
This specifies the detailed modeling parameters for a particular optical
propagation path through the atmosphere: the path length, the altitude
at each end, the number and placement of phase screens, the integrated
turbulence strength (C_{n}^{2}) and inner scale for each
screen, and so forth. Atmosphere specifications can be created using **turbtool**,
and for certain common cases (e.g. uniformed turbulence, or scaled Clear1)
we have also provided a more convenient function call interface. Also
see this link.

**AoTool**

AoTool is a special purpose graphical interface used for setting up
adaptive optics geometries. This includes wavefront sensor subaperture
geometries and deformable mirror actuator geometries, influence functions,
and slaving relationships. AoTool is implemented using the Matlab^{TM}
graphical user interface facility, and comes with a number of Matlab m-files
for use in analyzing the properties of candidate geometries and setting
up wavefront reconstructor matrices.

Birefringence is a property associated with anisotropic optical media, such as certain types of crystals or materials under stress, where the index of refraction differs for different polarization components.

One of a number of well-known models for the variation of turbulence strength with altitude, derived from experimental data.

The coherence diameter, sometimes called the “Fried coherence diameter”

Collimated light is light which as it propagates remains compact in the dimensions perpendicular to the direction of propagation. Generally a beam of light will be collimated if and only if it is coherent, the transverse diameter of the beam is very large compared to the wavelength, and the phasefront is very nearly flat.

Cn2 is a measure of the strength of turbulence, defined in terms of random variations in the index of refraction. For a detailed description, see Goodman, Statistical Optics.

**Coordinate systems**

In WaveTrain different coordinate systems can be used in different
parts of a system model, so that in setting up each part of the model you
can work in whatever coordinate system is most convenient. Thus for setting
up a model of a moving you would generally choose to work in a coordinate
system moving with the target, while for modeling a moving optical system
you would work in a coordinate system moving with it. Then, at the interfaces
between coordinate systems, you use **TransverseVelocity**
components to perform the appropriate coordinate transformations in x and
y. Displacements in z involve optical propagations, which can be modeled
using **AtmoPath**, **GeneralAtmosphere**,
or **VacuumPropagator**. Velocity
differences in z can generally be neglected.

DMModel is a C++ class, part of the WaveTrain class library, which is used to carry all the information necessary to describe a complete adaptive optics geometry (deformable mirror and wavefront sensor), plus the reconstructor matrix used to compute DM actuator commands from wavefront sensor subaperture slopes.

**FieldSensor**

FieldSensor is the base class for all non-realistic (field sensing)
optical sensor models in the WaveTrain component library. It in turn is
derived from **WaveSensor** which is the base
class optical sensor models, both realistic and nonrealistic. WaveSensor
takes care of the logic related to opening and closing the shutter, remeasuring
the detected light incident illumination changes, readout lag, and so forth;
FieldSensor assumes that the quantity measured is the complex field, defined
on a rectangular mesh.

Filter is a C++ class, part of the WaveTrain class library, which is used to specify spatial filters and absorbing boundaries for use in modeling optical propagation.

To propagate a wavefront
from one plane to another in WaveTrain, we make use of the fact that in scalar
diffraction theory the field at one plane can be computed from the field at
another plane using Fourier transforms in combination with quadratic phase
factors, as can be seen by inspecting the form of the Fresnel propagation
integral. (see Goodman, __Introduction
to Fourier Optics__) Also, it turns
out that by using two Fourier transform rather than just one, one can control
the mesh spacing at the propagated plane, which is crucial in wave optics
simulation, so wave optics codes generally use a “two-step” Fourier optics propagator.

The Hill bump is a feature of the power spectrum of fluctuations in the refractive index of air due to turbulence. Based on work by the Russian mathematician Kolmogorov, the power spectral density curves is expected to consist of three distinct regions: At low frequencies and large scales we expect to see features related to the processes with give rise to the turbulence in the first place; little is known about the actual shape of the spectrum in this regime. At intermediate frequencies and scales the spectrum goes over to a straight power law, reflecting the self-similarity of the energy cascade as larger turbules contribute energy to smaller turbules; the a slope is –11/3. At the highest frequencies and smallest scales viscosity becomes a factor, breaking the self-similarity, and the downward slope of the power spectrum increases rapidly. However just before it does so, there is a small region where the power actually goes up appreciably above the –11/3 line; this is the Hill bump.

One of a number of well-known models for the variation of turbulence strength with altitude, derived from experimental data.

**Incoming (describing a WaveTrain input or
output ) **

Many WaveTrain optical components can act upon light incident upon
them from either of two opposite directions, and typically these components
have two or more WaveTrain inputs and two or more WaveTrain outputs. To
help the user keep track of which inputs are related to which outputs,
we have adopted a convention of referring to one direction as *incoming*
and the other as *outgoing*, which by convention refer to light propagating
in the direction of decreasing and increasing **z**, respectively. In
general there is nothing to prevent one from connecting a component the
opposite way, but for components which act upon the phase of the light
one must take the sign reversal into account.

The inner scale is a feature of the power spectrum of fluctuations in the refractive index of air due to turbulence. Based on work by the Russian mathematician Kolmogorov, the power spectral density curves is expected to consist of three distinct regions: At low frequencies and large scales we expect to see features related to the processes with give rise to the turbulence in the first place; little is known about the actual shape of the spectrum in this regime. At intermediate frequencies and scales the spectrum goes over to a straight power law, reflecting the self-similarity of the energy cascade as larger turbules contribute energy to smaller turbules; the a slope is –11/3. At the highest frequencies and smallest scales viscosity becomes a factor, breaking the self-similarity, and the downward slope of the power spectrum increases rapidly. The scale size marking the transition between these two parts of the spectrum is called the “inner scale”.

**IntensitySensor**

IntensitySensor is the base class for all realistic (intensity sensing)
optical sensor models in the WaveTrain component library. It in turn is
derived from **WaveSensor** which is the base
class optical sensor models, both realistic and nonrealistic. **WaveSensor**
takes care of the logic related to opening and closing the shutter, remeasuring
the detected light incident illumination changes, readout lag, and so forth;
IntensitySensor assumes that the quantity measured is intensity, defined
on a rectangular mesh, and integrates it for each exposure interval.

**Markov approximation**

A mathematical approximation underlying the standard wave optics approach
for modeling propagation through the turbulent atmosphere. The import in
this context is that the turbulence realizations for different phase screens
may be generated independently, because the correlation length for phase
perturbations is much much smaller than the distances between phase screens.

The outer scale is a feature of the power spectrum of fluctuations in the refractive index of air due to turbulence. Based on work by the Russian mathematician Kolmogorov, the power spectral density curves is expected to consist of three distinct regions: At low frequencies and large scales we expect to see features related to the processes with give rise to the turbulence in the first place; little is known about the actual shape of the spectrum in this regime. At intermediate frequencies and scales the spectrum goes over to a straight power law, reflecting the self-similarity of the energy cascade as larger turbules contribute energy to smaller turbules; the a slope is –11/3. The scale size marking the transition between these two parts of the spectrum is called the “outer scale”.

**Outgoing (describing a WaveTrain input or
output**
** )**

Many WaveTrain optical components can act upon light incident upon
them from either of two opposite directions, and typically these components
have two or more WaveTrain inputs and two or more WaveTrain outputs. To
help the user keep track of which inputs are related to which outputs,
we have adopted a convention of referring to one direction as *incoming*
and the other as *outgoing*, which by convention refer to light propagating
in the direction of decreasing and increasing **z**, respectively. In
general there is nothing to prevent one from connecting a component the
opposite way, but for components which act upon the phase of the light
one must take the sign reversal into account.

**Phase screens**

Phase screens are surfaces perpendicular to an optical propagation
path defining an optical path difference as a function of position in the
**x**-**y
**plane.
Phase screens are used in combination with vacuum propagations to model
propagation through the turbulent atmosphere. Phase screens are typically
generated randomly, but made to conform to a specified power spectrum characteristic
of a particular turbulence model, such as the classic
**Kolmogorov
model**.

In wave optics simulation optical wavefronts are represented using a complex mesh, where the complex amplitude corresponds to the field amplitude, and the complex phase angle corresponds to the phase of the wavefront with respect to some “reference wave”. Depending on the particular modeling problem, one might choose to use a planar or spherical reference wave, converging or diverging, depending on the nature of the light sources and sensors to be modeled and the size of the regions of interest at either end of the propagation path. You can use different reference waves for different light sources, as described in (ADD LINK TO USER’S GUIDE).

speedOfLight is a constant,
equal to the speed of light in vacuum (c = 2.997925x10^{8} m/s), defined in the file “PhysicalConstants.h”,
which is used by the WaveTrain library, so the symbol speedOfLight is always
available for use in setting expressions.
It is most often useful for synchronizing event timing between one end
of the optical propagation path and the other, as described in (ADD LINK TO
USER’S GUIDE). It can also be useful in
computing the lead ahead angles (e.g. v/c) for applications involving active
illumination imaging and/or beam projection.

**Speckle realizations**

Speckle realizations are used to model the light from an incoherent
source. First, the total intensity incident on the reflector is computed,
then multiplied by the specified reflectance map to obtain the reflected
intensity. For each speckle realization, we create a field with that intensity
pattern and a random phase pattern. Two different approaches for generating
the random phase pattern are presently supported. In the first approach
the phase is uniformly distributed on [-p:p]
and delta-correlated. This results in putting significant energy into the
highest spatial frequencies (highest angles) represented on the propgation
mesh; depending on the mesh spacing, mesh size, propagation distance, and
wavelength this can lead to wraparound when we propagate, where energy
leaves one side of the mesh, then reappears on the other. To avoid this,
we can use **spatial filtering** and/or
**absorbing
boundaries**, or we can turn to the second speckle approach. In the
second approach we generate a delta-correlated phase pattern as before,
and combine it with the reflected intensity to create a field, also as
before. However we then perform a vacuum propagation back to the target
plane, then multiply the resulting field by a (spatial domain) filter which
is set to unity over a region somewhat larger than the receiving aperture,
then rolls off smoothly to zero. Finally, we do a second vacuum propagation,
back to the source plane, and that gives us the speckle field. The net
result is similar to spatial filtering, except that the effective spatial
filter varies gradually as one moves across the source mesh, at each point
preserving just that part of the radiation which after propagation will
wind up near the receiver aperture. For large incoherent sources this can
sometimes reduce the size of the propagation mesh required significantly,
reducing simulation execution time.

The Strehl ratio is one of the most commonly used performance metrics for both imaging and beam projection systems. It is defined as the ratio of the on-axis intensity obtained for a given system under given conditions to the on-axis intensity which would have been obtained with a diffraction limited system with the same aperture and total power at the same range. A rated quantity, sometimes called “peak Strehl” is often used for systems operating under conditions where the maximum of the intensity is not necessarily expected to occur on-axis. Peak Strehl is defined as the ratio of maximum of the long-term average intensity to the on-axis intensity for the corresponding diffraction limited system.

Wave optics, or wave optics
simulation, is a well-established paradigm for the numerical modeling of
optical effects, including diffraction effects. Wave optics is based upon scalar diffraction theory, as described
in Goodman, __Fourier Optics__.

WaveReceiverDescription is a C++ class, part of the WaveTrain library, used to carry all them information about an optical receiver, e.g. a sensor, necessary for the correct modeling the propagation of light from an arbitrary light source to that receiver. This includes, for example, the minimum and maximum wavelength the receiver is sensitive to, and the physical location of the receiver.

WaveTrain is a C++ class, part of the WaveTrain library, used to model optical interfaces, such as the interfaces between different optical components. Most subsystems in the WaveTrain component library have one or more inputs and/or outrputs of type WaveTrain. Light sources, e.g. lasers, generally have a single WaveTrain input, while optical sensors, e.g. cameras generally have a single WaveTrain input. Two-way optical components, e.g. lens and mirrors, typically have two WaveTrain inputs and two WaveTrain outputs, one of each for each propagation direction.

**Wraparound**

Wraparound is a common problem encountered when simulating optical
propagation, a consequence of the finite extent of the propagation mesh:
any light which in the course of propagation goes past the edge of the
mesh on one side immediately reappears on the other. This is a simulation
artifact, not representative of the behavior of the physical system being
modeled, so it is a source of error.

**Z (coordinate axis)**

The z axis of all coordinate systems used in WaveTrain is defined to
lie along the nominal propagation direction. By convention z=0 corresponds
to the aperture of the main optical system, while the object being imaged
or illuminated lies at some z>0. For purposes of labeling the WaveTrain
input and outputs of two-way optical systems, the direction of increasing
and decreasing z is referred to as **outgoing**
and **incoming** respectively.