## Abstract

Optical waves propagating through atmospheric turbulence develop spatial and temporal variations in their phase. For sufficiently strong turbulence, these phase differences can lead to interference in the propagating wave and the formation of branch points; positions of zero amplitude. Under the assumption of a layered turbulence model, we show that these branch points can be used to estimate the number and velocities of atmospheric layers. We describe how to carry out this estimation process and demonstrate its robustness in the presence of sensor noise.

© 2010 Optical Society of America

## 1. Introduction

The spatial resolution of large-diameter ground-based optical telescopes is typically limited by atmospheric turbulence blurring effects. The magnitude of these effects is often characterized by the spatial coherence length *r*_{0}, whose value is typically between 5 and 30 cm for visible wavelengths. In the absence of atmospheric turbulence, the spatial resolution of a telescope is proportional to 1/*D*, where D is the diameter of the telescope, and is typically a few meters or larger; in the presence of atmospheric turbulence, the spatial resolution is proportional to 1/*r*_{0}. The reduction in resolution as a result of atmospheric turbulence is due to the random index of refraction fluctuations in both position and time. Significant effort has been expended over the past several decades to develop ways to remove atmospheric turbulence blurring in order to increase spatial resolution.

One approach to removing atmospheric blurring is with the use of classical adaptive optics (AO) systems [1]. These systems employ a wavefront sensor (WFS) that measures the spatially-localized gradients of the field’s phase in the pupil of the telescope, a computer that reconstructs the atmospheric portion of the measured phase front from the local gradients, and a deformable mirror (DM) that is shaped to the conjugate of the atmospheric phase front. A telescope that employs an AO system reflects the collected light off of a DM and then directs a portion into the WFS while the rest goes to an imaging sensor. The WFS-driven DM ideally compensates for all of the atmospheric distortions of the light used to form an image. When the atmospheric turbulence is weak (i.e. when the atmospherically-induced fluctuations in the field are predominantly found in the phase), classical AO systems function well. In the presence of strong turbulence, the amplitude fluctuations in the wave are significant and at points where zeros in the amplitude occur the phase of the field is undefined and thus cannot be estimated. The locations of these zeros are called branch points. When many branch points are present, classical AO systems do not perform well. Two key factors feed into this poor performance. Classic AO systems only compensate for phase fluctuations, so all amplitude fluctuations lead directly to degradation in performance. Additionally, WFSs segment and integrate the field over finite areas. This averaging removes zeros from the measurement, but more importantly, it is impossible to reconstruct the complete phase front using standard least-squares solvers where branch points exist [2]. Non-least-squares solvers exist that utilize branch points in their reconstruction of the phase. Typically though, those atmospheric regions where branch points are likely to exist are simply avoided by astronomers. In the context of classical AO systems, branch points are a hindrance to be overcome.

We have been investigating the properties of branch points, with the perspective that they contain information about the atmospheric turbulence that created them. In this paper, we present some results of these investigations. Under the assumption of layered turbulence and branch-point persistence (defined in Section 2), we show that the temporal behavior of turbulence-induced branch points encodes both the number of turbulence layers and their vector velocities. We present a method to decode this information and demonstrate its performance is robust in the presence of measurement noise. We demonstrate the effectiveness of these algorithms using data from the Atmospheric Simulation and Adaptive optics Laboratory Test-bed (ASALT) at the Starfire Optical Range. There has of course been other work on measuring atmospheric turbulence layers [3, 4]. This paper focuses on demonstrating that branch points are encoded with atmospheric information.

To begin, in Section 2, we detail the problem formulation and specific assumptions for our experiments. We discuss how to identify branch points in a robust manner in Section 3. Then detail explanations of our algorithms for isolating branch point velocities to use in identifying the number and velocities of turbulence layers in Section 4. Section 5 demonstrates the application of these algorithms on laboratory data. Finally, in Section 6, we discuss our conclusions and areas for future work.

## 2. Problem formulation and assumptions

Here we describe the measurements that are required to estimate the number and velocities of atmospheric turbulence layers. We include all assumptions underlying the data and our approach to its processing as well as detail their impact.

We begin with a means of sampling the optical wave, at the pupil of the telescope, i.e. a WFS, that returns modulo-2*π* phase of the field on a discrete *N* by *N* spatial grid at discrete time intervals. It is necessary that our WFS provide *F* measurements equally spaced in time by Δ*t* and that the exposure time for each measurement is short enough so that the atmosphere is essentially frozen. Further we expect that these measurements shall include components due to photon and read noise reflecting real-world systems for measuring phase.

For simplicity, imagine that the field being measured is generated by a monochromatic point source sufficiently far away so it provides planar wave fronts at the top of the atmosphere. We also assume that the point source is directly overhead. Both of these assumptions can be generalized in a straightforward manner; we make them in order to improve the clarity of the presentation in the paper and to make use of simple mathematical models of atmospheric turbulence parameters.

We model our atmospheric turbulence profile as consisting of one or more horizontal layers that are separated vertically, with no turbulence in between the layers. Each layer is ‘thin’ in the sense that only spatially-varying phase delays are encountered by a field propagating through the layer. Each layer is assumed to be isotropic, but no correlation of turbulence properties between separate layers is assumed. These are common assumptions in atmospheric turbulence theory that provide a good framework for experimental analysis to be performed [5]. Experimentally, it has been shown at Mauna Kea that layered structures were detected > 94% of the time [6]. Thin layers assure that the physics of light propagation through a turbulence layer can then be modeled using geometric optics, while wave optics can be used to model light propagation between layers. This is typically done in modeling light propagation through weak to moderate turbulence.

Two parameters are commonly used to characterize the atmospheric turbulence strength. These are the Fried parameter, *r*_{0}, given by

*k*

_{0}is the wave number, ${C}_{n}^{2}(z)$ profiles the turbulence strength,

*z*is the altitude with the telescope at

*z*= 0, and

*L*is the maximum height of the turbulence. We have observed experimentally that branch points begin to appear in the data at ${\sigma}_{\chi}^{2}\approx 0.1$. Roggemann and Koivunen identify the first detections of branch points to occur at ${\sigma}_{\chi}^{2}>0.05$ [8]. Under the assumption of a layered turbulence model with

*N*turbulence layers, the ${C}_{n}^{2}(z)$ profile can be approximated as

*h*. Here,

_{i}*δ*represents the standard Delta function. The layered-turbulence-model approximations to

*r*

_{0}and ${\sigma}_{\chi}^{2}$ are obtained by substituting Eq. (1) into Eqs. (2) and (3), respectively. The layered turbulence expressions will be used when presenting our experimental data.

Prior to stating the next assumption, consider how branch points of the field at the pupil of a telescope are produced by turbulence. Under our layered-turbulence model assumption, a field propagating through a turbulence layer undergoes only phase delays; thus, immediately after exiting the turbulence layer, the field still has no branch points. Upon propagation away from the turbulence layer, however, the phase delays eventually result in constructive and destructive interference between portions of the field. Eventually, the likelihood of such interference resulting in zeros in the field increases to the level where branch points are formed. For this reason, a single turbulence layer can produce branch points if the product of its turbulence strength and its altitude is sufficiently large.

The first of our next two assumptions is that any given branch point in the field in the telescope pupil is associated with a single layer of turbulence. The second is the assumption that branch points only move as the turbulence changes, but do not disappear. We call the aggregate of these two properties ‘branch point persistence’. The first assumption implies that, if a branch point is present in the data due to a single turbulence layer, the introduction of an additional turbulence layer between this turbulence layer and the telescope will not cause that branch point to be permanently lost. Through the time elapsed nature of the WFS measurement of the optical field the branch points that will form by the upper layer alone may still be identified at the pupil through additional turbulence. Imagine the detections of a single branch point within our WFS data from a single turbulence layer as a string of beads. The addition of a second layer may affect which beads can be seen but does not remove the entire string. The second assumption requires modeling the temporal behavior of a turbulence layer as translating horizontally without boiling, which is the Taylor’s frozen flow hypothesis. This isn’t too restrictive an assumption as it essentially sets an upper bound on the sampling rate; specifically, frozen flow in turbulence layers has been shown to persist for time intervals as long as 10 seconds [6]. We have observed the validity of these two assumptions in our laboratory turbulence simulation environment (see Section 5) for two turbulence layers. In future work, we plan to investigate the validity of these two assumptions for more-realistic scenarios.

## 3. Branch points

In this section we discuss the properties of branch points in the measurement of the phase that permit us to identify them in discrete and noisy data. To accomplish this, we first describe how to identify branch points in continuous fields. We next extend this discussion to the identification of branch points in continuous fields from discrete measurements of the spatial gradients of the phase. Finally, we discuss the impact of random and fixed-pattern noise on the identification of branch points in the field.

Let *U*(**r**) = *A*(**r**)*expi* [*ϕ* (**r**)] be a two-dimensional complex field with position vector **r**, amplitude *A*(**r**), and phase *ϕ* (**r**). Where bold text is used to identify vector quantities. When *A*(**r**) = 0, *ϕ* (**r**) is undefined and the field is said to have a branch point at **r**. Because the presence of any uncertainty or spatial or temporal averaging of the values of *U*(**r**) will make it effectively impossible to identify locations where *A*(**r**) = 0 in the field, a more robust method of identifying branch points is needed. To this end, let **g*** _{ϕ}* (

**r**) be the spatial gradient of

*ϕ*(

**r**) at

**r**. Then the optical field is said to have a branch point at

**r**′ if, for any arbitrarily small contour

*C*enclosing

**r**′, we have

*μ*is a parameter defining a location on contour

*C*,

**r**(

*μ*) is the corresponding location, and

**t**(

*μ*) is a vector tangent to the contour at

**r**(

*μ*) such that |

**t**(

*μ*)|

*dμ*is the length of the contour between

*μ*and

*μ*+

*dμ*[9]. The sign on the right hand side is said to be the polarity of the branch point. If there is no branch point, then the right hand side of Eq. (3) equals 0.

For real-world scenarios, we must contend with data that is spatially integrated and discrete because sensors are made up of collections of finite-sized pixels. Because of the spatial integration, the calculated field amplitude (the square root of the measurable light intensity in the pupil) is always non-zero. Therefore, it is necessary to use a discrete form of Eq. (3) to locate branch points, where the field phase is sampled by a WFS such as a self-referencing interferometer (SRI). As for the case of continuous data, any closed contour enclosing a branch point can be used to identify that the branch point exists inside the contour. To most precisely locate a branch point, the smallest-possible contour should be used. Typically, Eq. (3) is discretized and the phase gradients are summed around a 2*x*2 block of pixels for every 2*x*2 block possible in the *N* by *N* frame of phase data.

In addition to spatially integrated and discrete data, real-world data is also corrupted by noise sources such as photon noise, detector read noise, and detector fixed-pattern noise. Because of these noise sources, a non-zero value from Eq. (3) does not necessarily mean that a branch point is present. Furthermore, these noise sources blur the three possible values of Eq. (3), zero and ±2*π*; instead, a continuum of values clustered about zero, +2*π* and −2*π* will be computed. To account for this noise, we say that a branch point exists when

*ɛ*a small constant. For the purposes of discussion, at any

**r**for which Eq. (4) holds, we will say that a “circulation” in phase exists at that point and simply call it a “circulation”.

Using Eq. (4) as an estimator is simple but robust. Other methods [10] can be used. However, as will be discussed in Section 4 and demonstrated in Section 5, the use of branch points to identify the number and velocities of turbulence layers is fairly insensitive to the estimator. Further, we have found that use of Eq. (4) with *ɛ* = 0 to be adequate for our purposes and is what is used in processing all our experimental data.

## 4. Application of branch points to identifying turbulence properties

In this section we present our method for identifying the number and velocities of turbulence layers from a temporal sequence of estimated spatial phase gradients in the presence of noise. We first illustrate our method for the simplified case of a single turbulence layer in the presence of a single noise-generated circulation. We then describe our method for the case of *N* turbulence layers with measurements in the presence of random and fixed-pattern noise.

#### 4.1. Illustrative example

To illustrate our method, suppose that the field we measure is due to a single turbulence layer, moving horizontally at a vector velocity **v**_{1}, sufficiently distant from the telescope that branch points can form. Consider the situation where we have three frames of measured phase of the pupil field, collected at times *t*_{1}, *t*_{2}, and *t*_{3}, where *t _{i}*

_{+1}=

*t*+ Δ

_{i}*t*. Assume that, after estimating the locations of the circulations in each of the frames, each frame is found to contain two circulations. One of the circulations in each frame is due to the turbulence layer and the other is due to spatially-random measurement noise.

The first step of our method is to calculate vector velocities between the circulations of different frames. More specifically, we start with all circulations from time *t*_{1} and draw vectors from those at time *t*_{1} to each circulation from times *t*_{2} and *t*_{3}. Similarly we connect those from time *t*_{2} to the ones from time *t*_{3}. These vectors appear as arrows in Fig. 1, with arrows originating from circulations at *t*_{1} in blue and those from *t*_{2} in black. Due to the simplified example, the circulations due to branch points are known, and vectors in Fig. 1 between branch points are shown with thick lines.

The second step is to sort the velocity vectors according to their frequency. In this example there are eleven vectors. The three bold arrows, two blue and one black, share a common direction and speed, while the remaining eight vectors all have different directions and speeds. The common vector of the bold arrows identifies the direction and speed of the branch points in this simple model. We call this grouping of branch point velocity measurements a set.

The third step of our method is to identify the number of turbulence layers. In general, the number of turbulence layers is equal to the number of unique branch point sets identified through the isolation of velocities. For this simple example, there is only one turbulence layer.

The fourth and final step calculates the vector velocity of the turbulence layer. The three bold arrows shown in Fig. 1 constitute a velocity set. They have the same direction, *θ* with respect to the horizontal axis, and speed, |Δ**r**/Δ*t*|. In this simple example, all of the vectors in the set have exactly the same velocity vector. Let *M* be the demagnification factor mapping distance on the sky to distance in the measurement plane, and let *θ _{r}* be the rotation of the on-sky coordinate system relative to the measurement plane coordinate system. Then our estimate of the velocity vector direction is equal to

*θ*+

*θ*, and our estimate of the velocity magnitude is equal to

_{r}*M*Δ|

**r**/Δ

*t*|.

#### 4.2. Generalization of the method

To expand this concept to a more realistic data set, consider the most general conditions permitted under the assumptions stated in Section 2. These conditions are the following: (1) an arbitrary but finite number of turbulence layers, (2) the random disappearance of turbulence-induced branch points as a result of measurement noise or or interaction of turbulence layers, (3) numbers and locations of measurement-noise-induced circulations that vary randomly from frame to frame, (4) fixed-pattern measurement noise that produces a random number of fixed-location circulations, and (5) interactions between different branch points and between branch points and other types of circulations.

First, let the number of turbulence layers be some arbitrary but finite number *N*. In this case, we can identify the existence of *N* turbulence layers by the presence of *N* unique velocity sets. A velocity set is a collection of measurements of the same velocity vector within WFS phase data. However, if two turbulence layers are translating in the same direction and at the same angular velocity, they will be indistinguishable and identified as a single layer

Next, consider the random disappearance of turbulence-induced branch points as a result of measurement noise. As can be seen from the simple example, the number of branch point velocity measurements contributed to the velocity set from the passage of a single branch point goes as ${\mathrm{\Sigma}}_{n=1}^{B}(n-1)$ where B is the number of detections. Because of our assumption of turbulence layers translating at a fixed velocity and direction, the random disappearance will only produce gaps in the lines or trails produced by the turbulence layer branch points. As long as the number of gaps does not obscure the existence of all of the trails for a given turbulence layer, that layer will be identified as existing and it’s vector velocity can be calculated.

The issue of the numbers and locations of measurement-noise-induced circulations varying randomly from frame to frame is handled the same way as for the simple example described above. The randomness of location and number ensures that they will not result in frequent repetitions of velocity vectors. The larger the number of these circulations, the higher the probability that there will be some repeated vectors due to noise, but the frequency will be significantly lower than for the turbulence-induced ones.

Fixed-pattern-noise-induced circulations have fixed locations leading to repeating vectors all with zero velocity. Hence, under our assumption of turbulence layers translating along a constant velocity vector, fixed-pattern-noise vectors will always be separate from those due to turbulence.

The largest obstacle to this technique comes from the contribution of velocity vectors between different branch points and between branch points and other circulations. This is most easily visualized by imagining two branch points from the same layer moving through the WFS data. Each of these branch points will individually contribute to their velocity set as before; however, since they are from the same layer and thus moving parallel to one another, they will contribute broadly to the set of all possible velocity vectors in the measurement. This situation is further complicated with multiple layers providing multiple branch points, along with random and fixed pattern noise. We refer to this undesired noise component in the calculations of vector velocities as ‘cross-term’ noise. These effects produce many different velocity vectors. And while they are more likely than random noise to produce repeating vectors they don’t benefit from overlapping measurements of the velocity produced by branch points lying along the same trail.

## 5. Experimental verification of theory

Now we turn our attention to demonstrating this approach experimentally. We will begin by presenting the key components of our experimental test-bed as well as a description of the implementation of this technique on large numbers of frames. First, we present a few examples in Section 5.2 that show some important characteristics of our measurements. In Section 5.3, we examine the method’s ability to determine the individual turbulence layer velocities. Finally, we demonstrate the effectiveness of this approach in predicting the number of turbulence layers with a simulated ten layer atmosphere, in Section 5.4.

#### 5.1. The experimental apparatus

We conducted these experimental measurements using a calibrated atmospheric turbulence simulator [11] consisting of two 6-inch disks etched with a Kolmogorov structure function. A range of 0 – 2.4 in the Rytov parameter and approximately 4 – 30 cm in the Fried parameter can be obtained with this set-up. These numbers include scaling of our bench-top system to represent a 1.5 m pupil diameter and a 1 kHz open loop AO system. For the data collected for this paper, the coordinates on the optical bench were aligned such that the turbulence layer velocity is along the x direction.

The locations of the circulations are obtained from the wave’s phase using measurements from a self-referencing interferometer (SRI) wavefront sensor [12] with a frame size of 256*x*256. For all of the turbulence conditions used we collected 200 frames of data producing phase data arrays 256*x*256*x*200 in size. We also define a new array with size 255*x*255*x*200, called the polarity array, *p*(*x,y,t*). The positions, (*x,y*), of the polarity array correspond to the locations of the intersections of the four wavefront sensor pixels for each frame *t*. The locations of the circulations in each frame of the phase data are found as described in Section 3. At the location of each identified circulation, a ±1 is placed, depending on the sign of Equation 4, in the polarity array. This transforms the collected frames of phase data to a series of maps of the positions and polarities of the identified circulations indicated by values of 0, ±1.

To reduce computational time, the calculated velocities are handled in component form, *V⃗* = *V _{x}î* +

*V*

_{y}*ĵ*. To determine the x-component of the velocity we begin with a cross section of the polarity array identified by

*p*(

*x*, 1,

*t*). This ‘x-t slice’ is of size, 255

*x*200. This slice will contain both positive and negative circulations and though we don’t know which circulations are branch points and which are noise, we do know that branch points don’t change polarity. So we only calculate velocities,

*V*= Δ

_{x}*x*/Δ

*t*, between like circulations. The determined velocities are arranged as a histogram in what we call the velocity distribution,

*D*(

*v*), for the x-component. More velocities are calculated from each of the remaining 254 ‘x-t’ slices and added to the velocity distribution to create a full image of all possible velocities for the x-component. The velocity distribution for the y-component is compiled in the same manner, using ‘y-t’ slices of the polarity array.

_{x}The higher frequency of velocity vectors associated with the moving branch points create strong spikes in *D*(*v _{x}*) and

*D*(

*v*) when plotted against the range of possible velocities. These spikes occur at the locations of the branch points respective velocity components as will be seen in the experimental demonstration.

_{y}#### 5.2. Initial demonstration

In our first experimental demonstration, we look at a few examples that show some interesting characteristics of our measurements. Here we take three atmospheric configurations each with two turbulence layers and each with a moderate phase coherence radius but different scintillation. The atmospheric configurations were chosen to present the production of branch points in different ways. In the first two configurations only one of the two layers is producing branch points. In the first case, the branch point producing layer is the lower of the two, but in the second case the branch points are produced by the higher altitude layer and must pass through the lower layer to reach the pupil. The third configuration is sufficiently strong to produce branch points from both layers. The bench settings required to obtain these conditions are shown in Table 1; the turbulence layer parameters relating to the branch point producing layers are identified in bold text. Also, branch point density is known to increase with the Rytov parameter [13], so increased scintillation indicates higher branch point density. The data was collected and the polarity array, *p*(*x,y,t*), calculated for each atmospheric configuration. Since the direction of the turbulence motion is parallel to the x-axis of our WFS we will focus on the x-component of the results. For ease of viewing the polarity array as a whole, summations of the array along the y-axis are shown in Fig. 2 plots (a), (c), and (e) for each configuration. These are projections of array onto the *x* – *t* plane, identified as *Proj _{x–t}*

*p*(

*x, y,t*) in the plots. Branch point trajectories, called trails, are clearly visible in these projections. The velocity distribution for the x-components,

*D*(

*v*) are shown in Figs. 2 plots (b), (d), and (f) for each configuration. The peaks, characteristic of turbulence layers, are readily apparent.

_{x}For Configuration 1, shown in Figs. 2(a) and (b), there is one branch point producing turbulence layer at low altitude with a low Rytov parameter (low branch point density). The velocity distribution is almost entirely described by a single strong peak centered at 0.5 *pixel*/*frame*. The contribution from noise terms is nearly non-existent as would be expected be for low density.

Configuration 2, shown in Fig. 2(c) and (d), also has only one branch point producing turbulence layer. However, in this case the branch point producing layer is above the other layer. The velocity distribution is again almost entirely described by a single strong peak this time at −1.5 *pixel*/*frame*. The contribution from noise is still very weak however in the projection of the x-t slices there is evidence of more noise circulations than in the previous case. This case demonstrates the validity of the assumption of branch point persistence for the frozen flow model. Even though both phase wheels are moving, the strong narrow peak indicates there isn’t a significant interaction between these branch points and the low altitude phase wheel.

For Configuration 3, shown in Fig. 2(e) and (f), both layers are producing branch points at the pupil and the scintillation is higher than the other configurations. The velocity distribution is no longer described by a delta function; it has significant width as well as multiple peaks. There are clearly three dominant peaks in addition to a broad distribution centered at zero with the peaks occurring at 0.0, −1.5 and 0.5 *pixel/frame*. The zero term is part of the cross-term noise and the other two peaks match those found for the same velocities in the previous two configurations. Also, the broad distribution is indicative of noise and cross terms beginning to be non-negligible in the velocity distribution.

This initial demonstration has shown a few important aspects of this measurement technique. The changes in the turbulence conditions between the three examples does not affect either the identification or the location of the peaks indicating that the strength of the turbulence does not affect our ability to determine the branch point velocity. Further, the strong narrow peaks identified through additional turbulence as in configurations 2 and 3 demonstrate the validity of our assumption of branch point persistence.

#### 5.3. Experimental measurement of turbulence layer velocity

Now we turn our attention to the ability of this technique to determine the velocities of the turbulence layers. Since the previous subsection demonstrated the invariance of the technique with respect to turbulence strength, here we choose five sets of data each with two turbulence layers at different velocities but constant strength. These turbulence layer strengths and velocities are described on Table 2 along with the bench-top parameters required to produce these atmospheric conditions. Note, that since the altitudes and turbulence strength are constant the branch point density will be constant as well which will keep the broad cross terms in the velocity distribution comparable in each test.

The left column of Fig. 3 plots projections onto an *x* – *t* plane, and the right column the resulting *D*(*v _{x}*). The slowest turbulence layer velocities are plotted on the top row increasing to the bottom. The characteristic peaks in

*D*(

*v*) are clearly visible in all cases. The measured velocities corresponding to these peaks is presented in the next section on Table 3.

_{x}As the turbulence layer velocities increase, the relative strength of the peaks to the broad noise distribution decreases. This decrease presents a limiting constraint on this measurement. Here the turbulence strength was held constant over these five configurations and a fixed number of frames was collected for each. So the broad distribution due to cross-term noise holds fairly constant as the wind speed increases, while the number of detections of each passing branch point is decreasing. Increasing the number of frames collected is a straight forward method to pushing off this limit. The broad noise distribution would also increase but much more slowly in amplitude than the branch point velocity peaks.

In our system, the motion of the turbulence is parallel to one axis of our WFS system. Given that the noise terms in the velocity distribution are isotropic, we can subtract the distribution for the y-component from the distribution for the x-component to reduce the impact of noise in the identification of the peaks due to branch points. For the work presented here this noise reduction technique wasn’t necessary, however comparing the x ad y components might be useful in more real-world applications.

As described in Section 4, the velocity of the turbulence layers is calculated from the measured velocity by projecting the velocities into output space, i.e.

where*v*is the turbulence layer velocity (in meters/second),

_{turb}*v*is the measured velocity assigned to the branch point motion (in pixels/frame). The constants for conversion to output space are obtained by noting the pupil occupies 240 pixels on the WFS camera and a sensor pixel in output space is 1.5 m / 240 and the system frame rate is 1 kHz.

_{bp}The results of this calculation, based on the identified peaks from Figure 3, are displayed on Table 3. There is very good agreement between the estimated and theoretical velocities. This is shown graphically in Fig. 4, where the magnitudes of the theoretical and measured velocities are plotted against one another. For comparison, the idealized case of perfect agreement is indicated by the red line.

#### 5.4. Measurement of the number of turbulence layers

As stated in Section 4, the number of branch point producing layers equals the number of unique velocity sets identified from the velocity distribution. Referring to Figs. 2 and 3, the velocity distributions clearly contain either one or two distinct peaks, indicating one or two branch point producing turbulence layers. Checking the experimentally-set number of layers, given in Tables 1 and 2, the number of these layers is identical in each case.

### An Artificially Large Number of Turbulence Layers

To demonstrate the effectiveness of this technique in isolating a large number of layers, a polarity array with ten layers was created. Specifically, a *p*(*x,y,t*) was constructed from the compilation of the five data sets shown in Fig. 3 and this amalgamated data set is plotted in Fig. 5(a). *D*(*v _{x}*) was then calculated as before and is plotted in Fig. 5(b). As can be seen,

*p*(

*x, y,t*) is filled with large numbers of branch point trails and also noise. Even so, after processing, peaks in the velocity distribution are still seen in

*D*(

*v*).

_{x}To determine if these peaks are the velocities of the ten turbulence layers, Fig. 5(c) zooms in on the center part of the velocity distribution and overlays red vertical lines at the experimentally set velocities. Nine of the ten set velocities are apparent (recall two of the velocities are identical) with the slowest velocities most readily apparent. Also note, however, that at high velocities additional peaks are seen that are of similar strength to the experimentally-set values. Without the a priori knowledge, a choice would have to be made to exclude all high frequency peaks or include the noise peaks, either choice would result in errors.

This demonstration shows that the number of velocity layers can easily be detected even in a highly layered atmosphere. This also shows the limitation of the technique in detecting layers; the routine cannot distinguish degenerate layer velocity, i.e. degenerate layer velocity leads to missed layers. Also when the cross terms are large, they can obscure the peaks due to branch point velocity.

## 6. Discussion and summary

We have identified an untapped source of information for characterizing atmospheric turbulence; pupil plane branch points. While branch points are only a hinderance for classic AO systems, we have demonstrated a technique that extracts useful information from them utilizing data readily accessible to typical adaptive optics systems. This technique estimates both the number and velocity of branch point producing atmospheric turbulence layers. This technique was validated by experimental results within the constraints of our atmospheric simulator. Additionally, it has been observed that this technique is insensitive to changes in the turbulence strength.

This technique will ultimately be limited by the cross terms that appear in the velocity distribution. These terms have two deleterious effects when finding the peaks due to the branch point velocity, first they broaden the distributions of the peaks themselves, and second, they create broad distributions whose amplitude is a function of branch point density.

Finally, while the focus of this work is to establish that branch points contain information about the turbulence distribution that created them, we have two other works in preparation that further expand this research. One paper demonstrates that these same branch points can be used to measure the altitude and strength of atmospheric turbulence layers. The other paper presents a sensor, capable of being used at any observatory that measures the number, velocity, strength and altitude of atmospheric turbulence layers using these techniques, even where branch points do not naturally occur.

## Acknowledgments

We would like to express our gratitude to the Air Force Office of Scientific Research for their support of this research.

## References and links

**1. **J. W. Hardy, *Adaptive Optics for Astronomical Telescopes* (Oxford University Press Inc., New York, NY, USA, 1998), 1st ed.

**2. **D. C. Ghiglia and M. D. Pritt, *Two Dimensional Phase Unwrapping: Theory, Algorithms, and Software* (John Wiley and Sons, Inc., New York, NY, 1998).

**3. **M. Schöck and E. J. Spillar, “Analyzing atmospheric turbulence with a shack-hartmann wavefront sensor,” SPIE **3353**, 1092–1099 (1998). [CrossRef]

**4. **M. Schöck and E. J. Spillar, “Method for a quantitative investiagation of the frozen flow hypothesis,” J. Opt. Soc. Am. **17**, 1650–1658 (2000). [CrossRef]

**5. **D. C. Johnston and B. M. Welsh, “Estimating the contribution of different parts of the atmosphere to optical wavefront aberration,” Comput. Elect. Eng. **18**, 467–483 (1992). [CrossRef]

**6. **L. Poyneer, M. van Dam, and J. P. Véran, “Experimental verification of the frozen flow atmospheric turbulence assumption with use of astronomical adaptive optics telemetry,” J. Opt. Soc. Am **26**, 833–846 (2009). [CrossRef]

**7. **R. J. Sasiela, *Electromagnetic Wave Propagation in Turbulence: Evaluation and Application of Mellin Transforms* (Bellingham, Wa, USA, 2007), 1st ed.

**8. **M. C. Roggemann and A. C. Koivunen, “Branch-point reconstruction in laser beam projection through turbulence with finite-degree-of-freedom phase-only wave-front correction,” J. Opt. Soc. Am. **17**, 53–62 (2000). [CrossRef]

**9. **D. L. Fried, “Branch point problem in adaptive optics,” J. Opt. Soc. Am. **15**, 2759–2768 (1998). [CrossRef]

**10. **E. O. Le Bigot and W. J. Wild, “Theory of branch-point detection and its implementation,” J. Opt. Soc. Am. **16**, 1724–1729 (1999). [CrossRef]

**11. **S. V. Mantravadi, T. A. Rhoadarmer, and R. S. Glas, “Simple laboratory system for generating well-controlled atmospheric-like turbulence,” in “Advanced Wavefront Control: Methods, Devices, and Applications II,”, *Presented at the Society of Photo-Optical Instrumentation Engineers (SPIE) Conference*, M. K. Giles, J. D. Gonglewshi, and R. A. Carerras, eds. (2004), vol. 5553, pp. 290–300.

**12. **T. A. Rhoadarmer, “Development of a self-referencing interferometer wavefront sensor,” in “Advanced Wavefront Control: Methods, Devices, and Applications II,” , *Presented at the Society of Photo-Optical Instrumentation Engineers (SPIE) Conference*, M. K. Giles, J. D. Gonglewshi, and R. A. Carerras, eds. (2004), vol. 5553.

**13. **D. W. Oesch, D. J. Sanchez, C. M. Tewksbury-Christle, and P. R. Kelly, “The Aggregate Behavior of Branch Points - Branch Point Density as a Characteristic of an Atmospheric Turbulence Simulator,” in “*2009 SPIE Annual Conference*,” , R. Carerras, T. Rhoadharmer, and D. Dayton, eds. (SPIE, 2009).