Tuesday, April 07, 2009

New Sensor

The new wavefront sensor finally arrived today. I spent the day reorganizing my setup to acommodate it, but since it has many more lenselets than the previous sensor, there's quite a load of code that needs to be rewritten to use it. That'll be the task the next week or so (hopefully).

This came just in time as I was wrapping up my SPGD stuff. The conclusion there is that the algorithm works well when the wavefront norm was is as the objective function. Not a surprise since, according to the model I'm using, its a convex function of the actuator commands. It also works decently when the variance of the beam profile image is used. I altered the algorithm as it appears in Voronstov's papers to produce a least-squares estimate of the gradient, rather than rely on the specifics of the perturbation statistics. Further, orthogonal modes can be used to parametrize the actuator space, thus limiting the number of random perturbations that must be used to provide a gradient estimate.

There are, however, several disadvantages:

1. Gradient algorithms like this will only perform consistently well on convex objective functions. When the maximum intensity is used as an objective, the most obvious cost function for example, the lack of convexity causes performance to vary greatly on the initial starting command.

2. Even when a small number of modes is used, each iteration requires numerous evaluations of the objective functions to estimate the gradient. At least in my experiment, accessing the camera was by far the most time-consuming operation as the sampling rate is effectively limited by the frame rate of the camera/WFS. Worse, using something like the image variance required a composite intensity map composed of several images at different exposures. This problem could be solved by using something analog like a photodiode, but then the convexity problem arises.

3. Using the gradient in this way is essentially a method to solve an unconstrained optimization problem, and its not clear what the best way to handle actuator constraints is in this situation. This is critical in my case; since the static disturbance lies outside the range space of the DM, many of the actuators frequently saturate in steady-state.

4. Its not clear how the algorithm would handle dyanamic disturbances, but I get the feeling that performance would suck unless they were extremely slow. Maybe a stochastic term could be added to the objective function to help this.

2 comments:

wavefront sensor technologies said...

Interesting. What wavefront sensor have you got?

PerfectZero said...

Its basically a shack-hartmann sensor based on an AVT Marlin camera