Displaying report 1-1 of 1.
Reports until 17:10, Tuesday 07 May 2024
H1 ISC
jenne.driggers@LIGO.ORG - posted 17:10, Tuesday 07 May 2024 - last comment - 06:39, Friday 10 May 2024(77704)
Re-finding old A2L scripts that look at peak height

Since the A2L script that measures a transfer function isn't quite minimizing our ASC noise in DARM, Sheila suggested re-finding the old A2L script that we used to use, which just looks at the height of the peak in DARM.

I think I've found it, in /opt/rtcds/userapps/release/isc/common/scripts/decoup/al2_min_LHO.py .  I made sure that it, and other scripts in that directory, were checked in to svn (they were last modified somewhere between 2018 and 2019, depending on the script).

The script (as wrtitten) uses the ADS to actuate each of the quads, and uses the demods to find the size of the signal (it does a sum of the squares of the I and Q of the demodulated signal).  The script just guess-and-checks several A2L gain values for each optic, makes a step, and checks again.  Once it's finished, it does a linear fit to find the A2L value at which the peak height is expected to be zero.  The script runs 8 dither lines (pit and yaw from each quad) around 20 Hz, so that it can do this guess-and-check for all the optics at the same time. 

The values in the script are out of date (we've slightly modified the frequencies we use for ADS while locking), so those values and the filter numbers for the matching bandpasses need to be checked.  Also, the excitation amplitude in the script is probably higher than we need (they are set to be 300 counts, but we use 30 counts at full power right now, but we may want a little better SNR so we might want to find a value that is between those two.

Also, we may find that we want to instead do the optics one at a time, at 30 Hz, where the coupling of ASC to DARM is more important to our range.

We can try this out during one of our commissioning windows later this week, to see how it goes.

 

 

Comments related to this report
vladimir.bossilkov@LIGO.ORG - 09:41, Wednesday 08 May 2024 (77712)

Hey Jenne, I did a total rework of the A2L scirpt for LLO [70246, 69555, 70219].
We never did all of the quads at the same time. We only ran 1 QUAD at a time.

Despite that, the biggest issue I found was that running 2 lines (pitch and yaw) at the same time was a big no-no because the sideband noise they create bleeds into eachother's demod bandwidhts, making the data rubbish and consequently the result rubbish.

My new script that now lives in, and is up to date in the svn:

/opt/rtcds/userapps/release/isc/common/scripts/decoup/a2l_min_generic.py

Warning: despite the script living in a common directory, it is infact only for LLO, because it makes calls to our Calibration Guardian to turn off all of the calibration lines, since we chose to run the demod line at the worst decoupled frequency (exactly where our calibration lines are).

Feel free to draw upon my hours of testing this approach :)

jenne.driggers@LIGO.ORG - 17:02, Thursday 09 May 2024 (77739)

I pulled Vlad's LLO script via the svn (thanks!!), and made a copy /opt/rtcds/userapps/release/isc/common/scripts/decoup/a2l_min_generic_LHO.py .  The name is not so good, but at least by knowing that it's the most recently modified file in the folder, we might have some memory of it being the latest.

I lowered the amplitude of excitation to be 30 counts (the same as what we use for ADS after Lownoise_ASC), and when the A2L gains are at the extremal values that the script measures (+/-0.3 from nominal) the line is clear in DARM but not scary-big.  I am using the same 30 Hz that Sheila had been using, so this 30 count amplitude is actually a bit smaller in meters than 30 counts at ~20 Hz for ADS. 

I set up filters in PIT7 / YAW7 and changed the script to use #7 rather than LLO's #2 set of ADS infrastructure, since #7 was unused for us.  I used the same 0.1 Hz half-width for the bandpass that I think Vlad has in place at LLO. 

I commented out the "setting the matrices" section and just did those steps by hand today, since I need to import the correct guardian matrices and double-check the indices, and doing it by hand got me going faster to actually trying the script.

I added _SPOT to the test mass drivealign channel names, since we use those here.

I added a few measurement steps so that it's not just jumping by an A2L gain of 0.3.  The IFO can handle it, and I may take these extra steps back out (where I pause at a value of 0.15 from nominal before finishing to the 0.3 step), but for testing I didn't want to be too risky.

I also added a calculation to Vlad's script (and this is what could easily be the source of the error that I'll talk about next has come from), to take the sqrt of the sum of the squares of the I and Q demod signals, so that I don't have to worry about setting the demod phase of the ADS demodulator. 

However, the answer from the linear fit doesn't seem to make much sense at all.  Again, this could be due to my modification of Vlad's script, so I'll need to come back to this and make sure I'm doing what I think I'm doing, before testing again on the IFO. I was only testing on ETMX P so far, and it's clear by watching the line height in DARM and watching the I and Q demod outputs that the current nominal that Sheila has set of 3.35 P2L gain for ETMX is about as good as we can do.  However, after trying values between 3.05 and 3.65, somehow the fitting function seems to think that it should be set to 1.76(!!).  Thankfully I had forgotten to add the _SPOT to the line that would have written the value and jumped the gain straight to there, so that value didn't actually get written to the IFO.  I've commented out the writing of the value from the script for now, until I figure out what's going on with the fitting.

Next up is to see if I can understand why the fit tried to send me to such a strange A2L gain, then check that this amplitude is okay for other quads both pit and yaw, then actually run it to see it minimize coupling.


Below here is just notes to self, for figuring out what's going on with the fitting.  I should have had the script print out more so I could double check it's sqrt-sum-squares, but I can at least check for the last value. The two long arrays are what are being fit to.  Reminder to self that I got the same gain it wanted to send me to of 1.7-ish, even before I changed / added more steps and re-measuring some values.  But, that was after I added in the summing of the squares.  I didn't ever run the script with just looking at the I output of the demod.

Result in terminal from (lines 279-282 in the script)   

    print(gainList)
    print(meanI)
    print(meanQ)
    print(meanList)

is

[3.2  3.05 3.2  3.35 3.5  3.65 3.5  3.35]
0.0004724146701240291
2.2764012343638282e-05
[0.00614473 0.01331277 0.0065377  0.00075812 0.00755947 0.01463074
 0.00760131 0.00047296]
Want to change gain from 3.35 to 1.779, rounded to 2 decimal places. St.Div is 0.054
 

vladimir.bossilkov@LIGO.ORG - 06:39, Friday 10 May 2024 (77747)

take the sqrt of the sum of the squares of the I and Q demod signals, so that I don't have to worry about setting the demod phase of the ADS demodulator.

I only take the I; I am not sure if the sqrt of I and Q might confise signs: and therefore break the linear fit of the function. Might make it non-linear; which breaks things. I quickly plotted (attachment) what you wrote, and it looks like it isnt going negative because sqrt will only give positive results. It tries to solve for zero crossing, but here zero looks to be near 3.35, but then goes back up.

Actually the reason I only look the I-phase is because I dont want go rephasing the demodulation, and just assume there is some signal in I. Then just solving for zero crossing should not care about actual amplitudes.

However, after trying values between 3.05 and 3.65, somehow the fitting function seems to think that it should be set to 1.76(!!)

Do not trust this! After fixing it such that you preserve sign (so that linear fit solves for zero crossing), always check the output to make sure it is not extrapolating a linear result far away, because at far distances you can't comepletly trust that it is linear.

Want to change gain from 3.35 to 1.779, rounded to 2 decimal places. St.Div is 0.054

For reference: the fitted zero crossing st.div for us is about 0.003. Adjust amplitudes accordingly, after you are getting logical results.

Images attached to this comment
Displaying report 1-1 of 1.