Using WaveHolder to Avoid Performing Redundant Propagations

Top  Previous  Next

Under certain circumstances it is useful to look at the performance of an optical system when the illumination entering the system is held constant; this effectively removes the effects of finite controls bandwidth, and can therefore help one to characterize the fundamental performance limits of the particular sensing and compensation scheme.  For example, the optimum performance, in terms of Strehl, for a given adaptive optics system and given turbulence conditions can generally be obtained by closing the loop on a point source, holding both the platform and the target fixed, and setting the wind velocity to zero, so that outside of the optical system itself nothing is changing.  Because the illumination reaching the system is unchanging in such cases, there is no reason to perform the FFT propagations used to compute the illumination more than once, but that is what would happen, unless you take special care to prevent it.   This is done by inserting a special component, called WaveHolder anywhere along the common path of all the sensors looking at that illumination, prior to any active elements, such as a steering mirror or a deformable mirror, that would act on the illumination.  Then, the first time the sensors try to look at the light incident upon them, the request will work its way all the way back to the point source, and propagations will be performed as usual.  But after that, for the rest of the simulation run, WaveHolder will keep sending exactly the same light, and no further propagations will be performed.  WaveHolder has three parameters, min_wavelength, max_wavelength, and polarization, which can be used to make it act only on part of the light that reaches it: Only light with wavelengths between min_wavelength and max_wavelength will be held, and if polarization is set to any value other than zero, only light with that same polarization state will be held. (seeusing Polarizers to separate light from different sources)

CAUTION:  Be careful never to use WaveHolder when the incident illumination is changing; this will cause your simulation results to be wrong, and it may not be obvious.  This is an easy mistake to make, because it is a common practice to first look at static cases, where the use of WaveHolder would be appropriate, and then to switch to dynamic cases, where would not be.