Retraining the MCL filters resulted in a slight improvement in the performance. Compared to no FF, the RMS in the 0.5-5 Hz range is reduced by approximately a factor of 3.
Attachment #1 shows my re-measurement of the MC2 position drive to MCL transfer function.
- The measurement was made using DTT swept sine, with the amplitude enveloped appropriately to avoid knocking the IMC out of lock.
- Coherence was >0.97 for all datapoints.
- Fitting was done using Lee's IIRrational, with the weighting being the coherence. I think there are some features of the fitting I don't fully understand, but I wanted to try and do everything in python and for this simple fit, it came out nicely I think.
Attachment #2 shows the IIR fits to the FIR filters calculated here.
- Again, IIRrational was used.
- In the frequency band where subtraction is possible, the fit is good.
- But there is definitely room for improvement in the way this is done, for now, I did quite a bit "by eye" and tweaked the order of the filter and the minimum number of excess poles relative to zeros to get the AC coupling, but it'd be nice to make all of this iterative and quantitative (e.g. by minimizing a cost function).
- One nice feature of IIRrational is that it directly gives me a formatted string I can paste into foton. The order of these fits were 22, so I split them into two 19+3 order filters to be compatible with the realtime system before loading the coefficients (the overall gain was allocated to a single filter arbitrarily, with the other filter in the pair set to have unity gain in the zpk representation).
Attachment #3 shows several MCL spectra.
- Blue trace is the unsubtracted test dataset.
- Red is the performance of the calculated FIR filter, but the filtering is done offline.
- Gold is the performance of the IIR fit to the FIR filter, as shown in Attachment #2, applied offline to the test dataset.
- Green is the calculated ASD of MCL from a ~1 hour stretch from earlier tonight, when I left the feedforward loop on. So this is an actual measurement of the online performacne of the filter.
- Grey is the performance of the old filter loaded in the CDS system - the filtering is done using scipy, and the sos coefficients from the C1OAF.txt file.
Conclusions + next steps
- Retraining the filters has resulted in a slight improvement, especially at ~3 Hz.
- More tests need to be done to confirm that noise isn't being reinjected in the frequency bands where subtraction isn't possible (e.g. using arm cavities as OOL sensors).
- The online filter isn't quite as good as what we would expect from calculations (green trace is noisier than gold). Need to think about why this is.
- Why can't we get more subtraction at 1 Hz?
- Now that I have the infrastructure ready, I will attempt to revive the PRC angular FF loops, which was the whole point of this exercise.