In order to better understand how the composite signal would behave in the presence of noise, I decided to do a simple analysis of the cavity signals while sweeping through resonance.
My noise model was to just assume that a given signal has some rms uncertainty (error bars) and use linear error propagation to propagate from simple signals to more complicated ones.
I used the python package uncertainties to do the error propagation.
I assumed that the ALS signal, the cavity transmission, and the cavity PDH error signal all have some constant noise that is independent of the cavity detuning. Below is a sweep through resonance (x axis is cavity detuning in units of radians).
The shaded region represents the error on each signal.
Next I calculated the 'first order' calculated error signals. These being a raw PDH, normalized PDH, an inverse square root trans, and the normal ALS again. I tuned the gains so they match appropriately.
Here, one can see how the error in the trans signal propagates to the normalized and trans signals and becomes large are the fractional error in the trans signal becomes large.
Next I did some optimization of linear combinations of these signals. I told the code to maximize the total signal to noise ratio, while ensuring that the overall signal had positive gain. I did this again as a function of the cavity detuning.
Each curve represents the optimized weight of the corresponding signal as a function of detuning.
So this is roughly doing what we expect, it prefers ALS far from the resonance, and PDH close to the resonance, while smoothly moving into square root trans in the middle.
It's a little fake, but it gives us an idea of what the 'best' we can do is.
Finally I used these weights to recombine the signals into a composite, to get an idea of the noise of the overall signal. At the same time, I plot the weighting proposed by Koji's mathematica notebook (using trans and 1-trans, and a hard switch to ALS).
So as one can see, at least for the noise levels I chose, the koji weighting is not much worse than the 'optimal' weighting. While it is much simpler.
The code for all this is in the svn at 40mSVN/nicolas/workspace/2014-03-06_compositeerror