Displaying report 1-1 of 1.
Reports until 16:38, Wednesday 27 February 2019
H1 SUS (CAL, ISC)
jeffrey.kissel@LIGO.ORG - posted 16:38, Wednesday 27 February 2019 (47166)
Fits to ETMX PUM Driver Electronics
J. Kissel

I've finally got results for updating the PUM driver compensation filters. Many excruciating details below, 

The final answers, listed in [zeros]:[poles] format,
    (ACQ OFF) SUMMARY (simAcqOFF filters)
        UL = [11.3742] : [117.3675]
        LL = [11.9118] : [115.3799]
        UR = [11.6034] : [119.1647]
        LR = [11.5558] : [119.1031]
     (ACQ ON) SUMMARY (simAcqON filters)
        UL = [1.3262] : [113.6504]
        LL = [1.4191] : [113.8817]
        UR = [1.3412] : [115.0913]
        LR = [1.3421] : [115.1311]
     (LP) SUMMARY (simLP filters)
        UL = [ 5.5323 22.4187] : [0.4979 245.6072]
        LL = [ 5.4697 21.8761] : [0.4915 240.0583]
        UR = [ 5.5514 22.1419] : [0.4988 243.0059]
        LR = [ 5.5456 22.2043] : [0.4989 243.4424]
the updates to the antiAcqOFF, antiAcqON, and antiLP filters are the same, but with the zeros and poles flipped.

And here are the details of how I've arrived at these numbers.
It took a *very* long time to arrive at what data gathering technique to use:
    (1) measuring the driver in analog, fully differential (a la diagram in LHO:24725) >> tried to take data on 2019-01-29 but ran out of time during maintenace
    (2) measuring the driver in analog, single ended (a la diagram in LHO:46927) >> took data on 2019-02-03, results confusing, good enough to fit the LP circuit
    (3) measuring a combination of broad-band and swept sine excitations through the coil driver monitor circuits (a la diagram in LHO:21232) >> took data on 2019-02-07, results confusing/ not good enough
    (4) measuring only broad-band excitations through the coil driver with very well-tuned drives (same as above) >>  good enough to finally fit the ACQ circuits.

The well-tuned templates for (4) live here:
    /ligo/svncommon/CalSVN/aligocalibration/trunk/Common/Electronics/H1/Data/SUSElectronics/ETMX/PUM/2019-02-26/
        2019-02-26_H1SUSETMX_PUMDriver_WhiteNoise_0p05to5Hz_State1_TF.xml
        2019-02-26_H1SUSETMX_PUMDriver_WhiteNoise_0p05to5Hz_State2_TF.xml
        2019-02-26_H1SUSETMX_PUMDriver_WhiteNoise_0p05to5Hz_State3_TF.xml
        2019-02-26_H1SUSETMX_PUMDriver_WhiteNoise_0p05to5Hz_State4_TF.xml
        2019-02-26_H1SUSETMX_PUMDriver_WhiteNoise_0p1to7000Hz_State1_TF.xml
        2019-02-26_H1SUSETMX_PUMDriver_WhiteNoise_0p1to7000Hz_State2_TF.xml
        2019-02-26_H1SUSETMX_PUMDriver_WhiteNoise_0p1to7000Hz_State3_TF.xml
        2019-02-26_H1SUSETMX_PUMDriver_WhiteNoise_0p1to7000Hz_State4_TF.xml

You can find all of 
- the explanations and demonstration of how the data from (2) and (3) were bad, and 
- how I arrived at these poles and zeros by plugging ratios of states into IIRrational V2
in a presentation I gave the CAL group today, G1900321, but for brevity, I'll not repeat the saga here.

However, the final data was processed using
    /ligo/svncommon/CalSVN/aligocalibration/trunk/Common/Electronics/H1/Scripts/
        model_ETMX_PUM_driver_20190226.m
which produced (a) plots showing all of the steps in the data conditioning, and (b) plots which helped aide the choice about which data I used for fitting,

and fit the data using
    /ligo/svncommon/CalSVN/aligocalibration/trunk/Common/Electronics/H1/Scripts
        fit_ETMX_PUM_driver_20190226.py

The resulting cleaned data sets are saved to text files (for future IIRrational use-case testing) here:
    /ligo/svncommon/CalSVN/aligocalibration/trunk/Common/Electronics/H1/Results/SUSElectronics/ETMX/PUM/2019-02-26
        2019-02-26_H1SUSETMX_PUM_Driver_${FilterStage}_${Coil}_tf.txt
where ${FilterStage} = [LP, ACQOFF, ACQON], and ${Coil} = [UL, LL, UR, LR].

All plots are all in the same directory, but I attach the highlights here.
2019-02-26_H1SUSETMX_PUM_Driver_summary.pdf Summary of data conditioning.
    - pgs 1-16 show the import of the data, and how the two frequency ranges of broadband injections are combined, and filtered for *very* high coherence (coh > 0.998!)
    - pgs 17-32 show the comparison of coil driver monitor circuit measurement (4) results (called "DTT"), compared against the analog measurement (2) results (called "SR785").
    - pgs 33-44 show the ratios of transfer functions that were used in the fitting routine (SR785 data for the LP stage, and DTT for the ACQ stages)
2019-02-26_H1SUSETMX_PUM_Driver_${FilterStage}_FitResults.pdf
    - Shows the result of the fitting algorithm for each filter stage and coil.
2019-02-26_H1SUSETMX_PUM_Driver_State3_FitvsModel_TFImpact.pdf
    - Shows the expected change in the PUM stage's longitudinal drive response as a result of these changes. This shows that the impact is (of course, frequency dependent, but at worst) at the 5% / ~few deg level.

Conclusions after all this work (repeated from the end of G1900321):
- Use coil driver monitor path measurement technique. It’s “less” confusing (though still confusing), much quicker, and contains everything we need.
- Analog measurements expose the impedance of the OSEM, so they’re interesting, but one *cannot* use single-ended drive (without further exploration) and must be careful not to saturate the circuit, lest you get even more confusing results.
- Use ratios of transfer functions to simplify what work the fitting routines need to do.
- I've been able to use the newest fitting program on the block – IIRrational (see Documentation, but it didn’t come with out several hours talking to the author of the code), and it’s python friendly (though data processing is still easiest in matlab).
- We need to get residual between data and fit below 1% and 1 deg, and we’ve achieved it.
- When compensation is updated, will claw back ~5% / few deg in systematic error.

    
Non-image files attached to this report
Displaying report 1-1 of 1.