At a Glance

_______________________

II-VI's approach to compensating the atmospheric effects combines advanced wavefront sensors with an optimization algorithm called SPGD, for "stochastic parallel gradient descent." This approach has many applications including:

- Remote sensing
- Laser communications
- Beam combining

- Beam shaping
- Directed energy
- Laser target tracking

At a Glance

_______________________

WONAT is a Wave Optics Analysis Toolbox Software which presents these key features and benefits:

Fast

_____________________

Propogation through colume turbulence at ten's of Hz

Interactive

_____________________

User can change parameters as the simulation is running

Simple to use

_____________________

Organized in optimized building blocks; no need to implement common components

previous arrow
next arrow
Slider

Optical applications such as astronomy, remote sensing, and laser communications are adversely affected by atmospheric effects such as turbulence. A fairly common approach to compensating for these atmospheric effects is to use a standard statistical model, such as the Kolmogorov model, to calculate the parameters needed to build compensating systems based on wavefront sensors and phase conjugation by means of deformable mirrors. However, the performance of such adaptive optics systems is often disappointing, as the real-world atmosphere does not necessarily conform to a standard statistical model.

WONAT Toolboxes

The WONAT library includes unique mathematical methods and computational techniques developed by II-VI A&D's team, which allows comprehensive numerical analysis of atmospheric optical systems in realistic operating conditions.

The enhanced by the GPU*/CUDA** technology WONAT library allows from 10x to 100x acceleration of routine wave-optics simulations. (* GPU - Graphics Processing Unit ,** CUDA - Compute Unified Device Architecture, NVIDIA's parallel computing platform and programming model.)

WONAT Toolboxes

SPGD Controller Unit

The SPGD+ CU presents multiple benefits:

Multi-use:

The control unit can be used for various optimization tasks including phase locking of fiber-array systems, compensation of optical phase distortions, mitigation of mechanical and/or acoustical jitter and to drive deformable mirrors for adaptive optic applications.

Electronics:

  • Input voltage range: 0–10 V with input level control
  • Programmable analog output levels with amplitude range of ±25V per channel
  • Advanced stochastic parallel gradient descent (SPGD+) control algorithm with controllable iteration rate from 10 to 250,000 SPGD iterations per second
  • Full LAN remote control through 10/100Base-TX Ethernet Interface
SPGD Controller Unit (CU)

Software:

  • Graphical user interface
  • Real-time display of the analog input signal and each channel’s output voltage
  • Setting of a fixed output voltage per individual channel
  • Setting the limits of the output voltage range per individual channel
  • Options for setting or updating the SPGD control parameters
  • Windows XP or later, Linux or Mac
  • TCP/IP connection between a computer and the INFOCO SPGD+ CU required

Digital-Analog co-design:

The SPGD+ CU receives an analog input signal that is used as the metric input to the  SPGD+ control algorithm running simultaneously on each individual channel’s processor. The SPGD+ algorithm computes a digital output value based on the current input metric value. This digital value is then converted to the individual channel’s analog output signal. In addition, a communication controller provides the interface between the end-user computer and the SPGD+ CU, sending and receiving commands and system data through a local area network (LAN).

SPGD Graph

SPGD control of WACO DM via GUI Software

The SPGD algorithm starts with an essentially random set of control parameters and rapidly adapts to the fluctuations in the atmosphere based on the measurement of some metric, such as reflected optical signal strength. II-IV's Chief Scientist, Dr. Vorontsov, has been a major developer of this algorithm for quite some time. Because of its high rate of convergence, it is especially suited to be used with our high-speed fiber positioners (for tip-tilt control) and phase shifters (for phase control.) This approach is much more effective than traditional adaptive optics at coping with combinations of effects such as turbulence, scintillation, and aerosol diffusion over significant distances (> 1 km.) in the atmosphere. We can also combine these methods with traditional adaptive optics, but using advanced wavefront sensing techniques such as our Multi-Aperture (MAPR) wavefront sensor and WACO deformable mirrors, to correct larger amplitude and static aberrations, such as defects in the optical system itself.

We use SPGD in our 2-channel and 24-channel SPGD fiber positioner controllers, and in the controller for the WACO DM. Other components, such as the MAPR wavefront sensor, are in development.

SPGD is "stochastic" in the sense that it uses a starting set of values that are more or less random. It is "parallel" because it optimizes all of the control values at the same time. "Gradient" refers to the fact that the algorithm only operates on a function (or region of a function) that is everywhere differentiable. In fact, a naïve implementation of SPGD would be subject to finding false "local" minima or maxima of the function. Finally, the process is a "descent" as it should ideally yield smaller and smaller differences between the current and updated values of the control variables.

A flow-chart diagram of the algorithm appears in the next figure. Optonicus has developed several key modifications and enhancements to this algorithm, to improve its speed and to cope with problems such as local function minima and delays in the control loop. As a result, SPGD provides a key ingredient to several of our hardware and software products.

SPGD flowchart. u represents the set of control values being optimized, and J is the "metric" output of the function. γ is a control parameter, commonly called "gain", and k is the iteration number (initially zero.)