Monday, August 29, 2011

8.29.11

I defended today. It went well, no difficult questions, conversational, just like I wanted. I brought coffee and muffins which seemed to be adequate.

Hard to believe its almost over. I still have to file the damned thing, and there are major sections I want to add. Otherwise, the librarian is the only person left in my way.

I already received my first email with the salutation "Hello Dr. ___" Sure it was automated, but still. I paused.

Substantial amount of drinking has gone one now, but to be honest its sort of anticlimactic. I'm full of confusing emo thoughts, but I think they're only temporary. I want to celebrate, but common kid, don't get cocky.

Friday, August 26, 2011

8.26.11

So close now. The book has been written, and I'm building up defenses as we speak.

Last month or so has been spent living in latex and matlab generating plots. In a way its anticlimactic. After the last post the experiment worked. I generated some great data. I wrote about it. I went to a few conferences where people didn't violently object. San Diego was nice. Hawaii was nicer.

I didn't get to every topic I wanted to, but soon it'll be over and I'll move on to something else. Some day. Probably.

Friday, June 17, 2011

6.17.11

I've gone this far, so I guess the least I could do it make a concerted effort to keep this POS updated during the final stretch (I hope). This means I'm going to have to skip all the intriguing stuff I've been up to the last few weeks, so I'll just say its classified.

Amazingly, even at this stage I'm being pushed to increase the frame rate of the experiment. To that end I'm going to set things up to use pixel subsampling, which reduces the sensitivity of the WFS but results in about a 4x increase in the max WFS camera frame rate. I estimate that with this change I should be able to get shit done at around 70-80Hz instead of the 25 currently. At that rate I should be able to crap out volumes of data at an even higher speed. Hooray.

To that end I generated a new reference image/AOI grid today by blocking the DMs and using the reference mirrors. After establishing an oh-shit backup I'll make changes to the slope code tomorrow to get the new WFS image resolution working.

The good news is that at this point I can do stuff like this pretty quickly. Almost too quickly, since I tend to forget what I changed if I screw things up. Soon it'll be time to retire to a rocking chair by the fire, light up a pipe, and stroke by beard longingly while I tell the next generation of students tall tales about fast centroid code and spatial filter alignment.

Friday, June 03, 2011

6.2.11

Christ, will I ever update this thing? I guess that's the paradox of a blog, the more real shit gets, the less time there is to write about it.

Today was the first time I got results I'm really happy with, and which I think are really publishable. Basically, after countless diversions and problems, the experiment is essentially working as planned. Better yet, I was able to get my hands on some experimental aero-optics data, and after even more diversions and problems, was able to use some semblance of those as disturbances.

If I say a prayer and the stars align, I can get a 20-30% improvement in the average target intensity with these disturbances over the integrator. Astoundingly I've been able to use an "optimal" integrator gain found by toying with the sensitivity transfer function.

Anyway, the main point of this right now is that I'm drinking in celebration. And that's no time to waste writing on the googles.

Thursday, April 28, 2011

4.28.11

Holy shit this thing is out of date now. That's what happens when you get busy [not]working.

Since February I've gotten things working relatively well, with one major realignment along the way to remove some barrel distortion that (I think) was caused by the beam getting too close to the edge of a lens. I've also placed L4 on a stage to mitigate the bias WF rather than manually moving L2. Relatively speaking, this lens only needs to be moved a few mm to correct for the DM bias, and using a stage keeps everything in alignment. True the imaging planes of all the following components changes, but so far that effect seems to be negligible. One boring day I'll write a long post about my thoughts on the alignment procedure.

I've also installed plane mirrors, which bypass the DMs, to create a absolute reference WF that I used to generate a SHWFS reference grid. With this latest setup I'm usually able to get the actual beam (w/ DMs) pretty close to this original position.

At the moment I've settled on using the number of modes to control the saturation problem, which seems to be less of an issue than before. Amazingly, the system seems robust enough that I can actually use the "optimal" integrator gain of 0.5 as determined from a sensitivity Bode plot, nearly an order of magnitude larger than the gain I was using before. As a result, the difference in performance between the integrator and LTI controller isn't nearly as wide as before, but now I at least have a reasonable "best case" classical controller to compare it to.

Much more has happened, but in a nutshell I spent today writing some code to compute the encircled energy. I'm still exploring just how much improvement I can eek out of the LTI controller, so tomorrow and next week I plan to experiment with progressively stronger disturbance scales and control modes to find what I can get away with.

Thursday, February 10, 2011

Woops

I was wrong. The file problem wasn't the only cause of the saturation although it definitely contributed. After some heavy drinking, I realized that the saturation issue is just something I'm going to have to deal with. Luckily its much more predictable now, which is almost as good as not having it at all.

At the moment its manageable unless the number of modes gets in the neighborhood of 20. Another trick that helped is eliminating the influence of the edge subapertures while identifying the poke matrix. Because these lenslets are on the edge, their centroids can experience sudden jumps if an adjacent spot edges into the wrong measurement error. This is a serious nonlinear source of noise that can create large spikes at the edges of the identified influence functions/mode. As a result, if a large disturbance shows up at an edge and is subsequently projected onto one of these erroneous spikes, the actuators pertaining to that mode can saturate almost immediately. I surmise this is why the edge actuators are the first to go.

I've been looking at ways to just reduce the influence of the edge subapertures instead of eliminating them completely. If I identify the reconstructor directly instead of the poke matrix this could be done by adding a regularization term to the least-squares problem. That route has run into some trouble with the rank of the matrix containing the slope vectors though, so I haven't gone back to it.

Another option is to identify the poke matrix, but regularize the actuator influence functions themselves. This is basically the method in [Hin07a], but obviously choosing the regularization matrix is more art than science...i.e. a pain in the ass.

Lets see, what else. We also finally got some real life, flesh and blood wavefront data. The problem (isn't there always one?) is that there's a large occlusion in the middle of the wavefront sensor image. This is a common geometry in a lot of AO telescopes. I've spent quite a bit of effort on interesting ways to fill in the hole so I can apply the wavefronts on the DM, but eventually settled on plain old least-squares. Because there's significant flow in the data, I can basically identify a "predictor" (smoother?) that fills in the hole based on the future and past sequence of wavefronts in the region around it.

Although its a Matlab indexing nightmare, the results look relatively convincing. The edge pixels aren't quite continuous all the time, but I think that can be fixed by (again) using regularization to enforce boundary conditions. If I can prove that the filled images have the same second order statistics (esp. structure function) as the original data I might be able to squeeze a short paper on it. Bonus.

In other news, I finally got my shit together wrt the target camera. Basically what I learned from that has led to even more modifications to the hardware. That deserves another post.

Somewhere in all this the driver boxes for DM31 crapped out...both of them. In the mean time its just me and my old friend Simulink working simulations.

Friday, January 14, 2011

1.14.11

Don't know what's worse, having a problem or knowing that it was something incredibly stupid all along.

Changing the disturbances didn't directly change the saturation issue, although it did help lower the prediction error greatly, probably since there was actually something to predict. But I noticed that there was this persistent static wavefront that even the classical loop had no effect on. Right now I'm storing the reference centroid info in a particular file that I occasionally refresh, and it turns out that there was a duplicate in a different directory...generated about the same time I started having these problems. The result was that this file would occasionally be used in stead of the correct reference, causing a "fake" bias that the actuator's couldn't reduce. Genius.

This explains a lot. The bias was usually tilt-like, explaining why the edge actuators were the first to saturate. I suspect that the main issue was that with this shit stuck in the system the disturbance sequences weren't anywhere near zero mean, and that this possibly screwed up the predictor.

Its still early, so I guess its possible this isn't the actual problem. But things got better immediately after removing the ghost file. Here are some sweet results using (fairly strong) disturbances and 25 modes



Obviously the LTI controller is obliterating much of the disturbance. There's still some high frequency amplification, but I think that can be knocked out with some frequency weighting. Looking at the rms values basically tells the whole story

Note that now I'm multiplying each mode by the norm of the phase profiles they produce, so you can compare their rms values relative to each other.

Even with stuff "fixed" though, saturation can still happen. Here's what the commands look like when the LTI controller is switched on suddently

As you might expect there's a jump when the loop is closed. But even this brief foray into shit-town doesn't destabilize the system. At some point it might be interesting to embed the saturation in the internal plant model.

Next week its back to target measurements. There has to be something that works with this kind of reduction in the RMS wavefront. Also, some new disturbance models might be interesting, since this current one is basically the easiest case.