I found out an error I did in copying some control model values from Kiwamu's matlab code. On fixing those, we get a considerably reduced amount of total noise. However, there was still an unstable region around the unity gain frequency because of a very small phase margin. Attachment 3 shows the noise budget, ALS open-loop transfer function, and AUX PDH open-loop transfer function with ALS disengaged. Attachment 4 is the yaml file containing all required zpk values for the control model used. Note that the noise budget shows out-of-loop residual arm length fluctuations with respect to PSL frequency. The RMS curve on this plot is integrated for the shown frequency region.
Adding two more poles at 100 Hz in the ALS digital filter seems to work in making the ALS loop stable everywhere and additionally provides a steeper roll-off after 100 Hz. Attachment 1 shows the noise budget, ALS open-loop transfer function, and AUX PDH open-loop transfer function with ALS disengaged. Attachment 2 is the yaml file containing all required zpk values for the control model used. Note that the noise budget shows out-of-loop residual arm length fluctuations with respect to PSL frequency. The RMS curve on this plot is integrated for the shown frequency region.
But is it really more stable?
For that, we'll have to take present noise source estimates but Gautum vaguely confirmed that this looked more realistic now 'shape-wise'. If I remember correctly, he mentioned that we currently can achieve 8 pm of residual rms motion in the arm cavity with respect to the PSL frequency. So we might be overestimating our loop's capability or underestimating some noise source. More feedback on this welcome and required.
The code used to calculate the transfer functions and plot them is in the repo 40m/ALS/noiseBudget
Attachment 5 here shows a block diagram for the control loop model used. Output port 'Res_Disp' is used for referring all the noise sources at the residual arm length fluctuation in the noise budget. The open-loop transfer function for ALS is calculated by -(ALS_DAC->ALS_Out1 / ALS_DAC->ALS_Out2) (removing the -1 negative feedback by putting in the negative sign.) While the AUX PDH open-loop transfer function is calculated by python controls package with simple series cascading of all the loop elements.
## Cavity Pole
I think the digital loop in the ALS budget is too optimistic. You have to include all the digital delays and anti-aliasing filters to get the real response.
aslo, I recommend grabbing some of the actual spectra from the in-lock times with nds and using the calibrated spectra as inputs to this mode. Although we don't have good models of the stack, you can sort of infer it by using the calibrated seismometer data and the calibrated MC_F or MC_L channels (for IMC) or XARM/YARM signals for those.
This is not a reply to comments given to the last post; Still working on incorporating those suggestions.
Rana suggested looking first at what needs to be suppressed and then create a filter suited for the noise from scratch. So I discarded all earlier poles and zeros and just kept the resonant gains in the digital filter. With that, I found that all we need is three poles at 1 Hz and a gain of 8.1e5 gives the lowest RMS noise value I could get.
Now there can be some practical reasons unknown to me because of which this filter is not possible, but I just wanted to put it here as I'll add the actual noise spectra into this model now.
This ALS loop is not stable. Its one of those traps that comes from using only the Bode plot to estimate the loop stability. You have to also look at the time domain response - you can look at my feedback lecture for the SURF students for some functions.
Yes, that loop was unstable. I started using the time domain response to check for the stability of loops now. I have been able to improve the filter slightly with more suppression below 20 Hz but still poor phase margin as before. This removes the lower frequency region bump due to seismic noise. The RMS noise improved only slightly with the bump near UGF still the main contributor to the noise.
For inclusion of real spectra, time delays and the anti-aliasing filters, I still need some more information.
Related Elog post with more details: 40m/15587
I used D1400293 to get the latest logged details about the universal PDH box used to lock the green laser at X end. The uPDH_X_boost.fil file present there was used to obtain the control model for this box. See attachment one for the code used. Since there is a variable gain stage in the box, I tuned the gain of the filter model F_AUX in ALS_controls.yml to get the maximum phase margin in the PDH lock of the green laser. Unity gain frequency of 8.3 kHz can be achieved in this loop and as Gautam pointed out earlier, it can't be increased much further without changes in the box.
The ALS control model remains stable with a reduction in total estimate noise because of the above update. There are few things to change though:
For all the loops where we drive the NPRO PZT, there is some notch/resonance feature due to the PZT mechanical resonance. In the IMC loop this limits the PZT/EOM crossove to be less than 25 kHz. I don't have a model for this, btu it should be included.
If you hunt through the elogs, people have measured the TF of ALS NPRO PZT to phase/frequency. Probably there's also a measured ALS PDH loop somewhere that you could use to verify your model.
The only two PZT Phase modulation transfer function measurements I could find are 40m/15206 and 40m/12077. Both these measurements were made to find a good modulation frequency and do not go below 50 kHz. So I don't think these will help us. We'll have to do a frequency transfer function measurement at lower frequencies.
I'm still looking for ALS PDH loop measurements to verify the model. I found this 40m/15059 but it is only near the UGF. The UGF measured here though looks very similar to the model prediction. A bit older measurement in 2017 was this 40m/13238 where I assume by ALS OLTF gautum meant the green laser PDH OLTF. It had similar UGF but the model I have has more phase lag, probably because of a 31.5 kHz pole which comes at U7 through the input low pass coupling through R28, C20 and R29 (See D1400293)
If the green laser is not being used, can I go and take some of these measurements myself?
Koji recommended that I can add whitening filters to suppress ADC noise easily. I added a filter before ADC in ALS loop with 4 zeros at 1.5 Hz and 4 poles at 100 Hz and added a reversed filter in the digital filter of ALS. This did not change the performance of the loop but significantly reduced the contribution of ADC noise above 1 Hz. One can see ALS_controls.yaml for the filter description. Please let me know if this does not make sense or there is something that I have overlooked.
Now, the dominant noise source is DFD noise below 100 Hz and green laser frequency noise above that. For DFD noise, I used data dating back to Kiwamu's paper. The noise contribution from DFD in the model is lower than the latest measured ALS noise budget post on elog. I'll look further into design details and noise of DFD.
Code, data, and schematics
I entered 40m today at around 1:20 pm and left by 1:45 pm. I entered 104 through the machine shop entry. I did the following:
The AC cord from the PSL HEPA variac to the junction box was replaced.
Now the HEPA is running at 70%
Showed up at the 40m at 7pm
Closing the work
Leaving the 40m at 9:30pm
Memo: 40m wiring/Mask/Camera/Red Pitaya/Particle Counter
I entered 40m today at around 1:10 pm and left by 1:50 pm. I entered 104 through the machine shop entry. I took top view single picture photos of ITMY, BS, AP, ITMX, ETMX and ETMY tables. The latest photos will be put here on the wiki soon.
I set up an action cam (DJI OSMO Pocket) and brought it back to the 40m. The kit is now placed in the control room cabinet together with the Canon DSLR.
I might have left the USBC chaging cable at home this time. Will bring it back next time.-> The cable was returned to the kit on Oct 23rd.
The particle counter on the 40m PSL was removed. The package was made together with the OMC lab particle counter (see the packing list below).
The kit was picked up by Radhika for a python code to read out the numbers.
=== Packing List ===
I went to 40m yesterday at around 2:30 pm and Koji showed me how to acquire lock in different arms and for different lasers. Finally, we took a preliminary measurement of shaking the ETMX at some discrete frequencies and looking at the beatnote frequency spectrum of X-end laser's fiber-coupled IR and Main laser's IR pick-off.
We verified that we can send discrete frequency excitation signals to ETMX actuators directly and see a corresponding peak in the spectrum of beatnote frequency between fiber-coupled X-end IR laser and main laser IR pickoff.
If full interferometer had been locked, we could have used the DARM error signal output to calibrate it against this measurement.
Last week and this week I've been working on the characterization of the Q3000 QPDs. The QPDs were named 81, 82, 83, and 94.
My recommendation is to use #81 and #84 as they have similar dark current characteristics between the segments. But basically, all the QPDs look fine.
The actual junction capacitance and the RF dark noise should be characterized by the actual WFS head circuit.
The QPD packages were labeled and returned to Gautam to be implemented in the WFS heads.
gautam: S/N #84 was installed as the AS WFS QPD. The remaining 3 are stored in the clean cabinet at EX (where the rest of the RF photodiodes are).
Given the similarities between the MDT694B (single channel piezo controller) and TC200 (temperature controller) serial interfaces, I added the pyserial driver here.
*Warning* this first version of the driver remains untested
FYI, there is this. Seems pretty well maintained, and so might be more useful in the long run. The available catalog of instruments is quite impressive - TC200 temp controller and SRS345 func gen are included and are things we use in the lab. maybe you can make a pull request to add MDT694B (there is some nice API already built I think). We should also put our netgpibdata stuff and the vacuum gauge control (basically everything that isn't rtcds) on there (unless there is some intellectual property rights issues that the Caltech lawyers have to sort out).
I have taken transfer functions and noise measurements of the two HAM-A coil driver boxes D1100687 #S2100027 and #S2100028. All transfer functions look as expected. I'm not sure about the noise measurements. If anyone sees flaw in my measurement method, please let me know. I'm not sure why in some channels I got 10Hz harmoni peaks in the noise. That was very strange. Also let me know if my current noise estimate is wrong.
I took transfer function and noise measurement of satellite amplifier box's photodiode transimpedance circuit. For the measurement, I created a makeshift connector to convert backside DB25 into DB9 with the 4 channels for PDA input. The output was taken in differential form at the front PD Output port. To feed current to the circuit, I put in 12 kOhm resistors in series at the inputs, so the V/V transfer function measured was multiplied by 12 kOhm to get the transimpedance of the circuit.
Edit Wed Feb 10 15:14:13 2021 :
THE NOISE MEASUREMENT WAS WRONG HERE. SEE 40m/15799.
I took some steps to reduce the coupling of 60 Hz harmonics in noise measurement. The box was transferred to the floor instead of on top of another instrument. Measurement was immediately converted into single-ended using SR560 in battery mode with a gain of 10. All of the setups was covered in aluminum foil to increase isolation.
I did the recommended modifications on of the boards with serial number S2100028. These included:
I took transfer function measurements with same method as in 40m/15774 and I'm presenting it here to ensure the modifications are correct and if I should proceed to the next board as well. I didn't have the data used to make plots in here but I think the poles and zeros have landed in the right spot. I'll wait for comments until tomorrow to proceed with changes in the other board as well. I'll do noise measurements tomorrow.
Looks fine to me visually but the verdict can only be made once the z:p locations are quantitatively confirmed, and the noise tests pass. It would be interesting to see what kind of time-domain transient (in N of force) switching on the de-whitening introduces, i guess best done interferometrically.
I'll wait for comments until tomorrow to proceed with changes in the other board as well. I'll do noise measurements tomorrow.
I fitted zeros and poles in the measured transfer function of D1100687 S2100027 and got zeros at 130 Hz and 234 Hz and poles at 10Hz and 2845 Hz. These values are different from the aimed values in this doc, particularly the 234Hz zero which was aimed at 530 Hz in the doc.
I also took the noise measurement using the same method as described in 40m/15780. The noise in Acquisition mode seems to have gone up in 10 Hz - 500 Hz region compared to the measurement in 40m/15780 before the modifications.
All channels are consistent with each other.
Edit Mon Feb 1 12:24:14 2021:
Added zero model prediction after the changes. The measurements match with the predictions.
Edit Wed Feb 3 16:46:59 2021:
Added zero modeled noise in the noise spectrum curves. The acquisition mode curves are in agreement with the model. The noise in Run mode is weirdly lower than predicted by zero.
I have made the modifications on the other board D1100687 S2100028 as well. The measurements were taken as mentioned in 40m/15784. All conclusions remain the same as 40m/15784. The attached zip file contains all measurement data, before and after the modifications.
Edit Wed Feb 3 16:44:51 2021 :
I have made modifications recommended in this doc. The changes made are:
I took transfer function measurements, fitted them with zeros and poles and plotted it against the zero model of the circuit. The zeros and poles we intended to shift are matching well with 3Hz zero and 30 Hz pole. The later pole at 1500 Hz is at a higher value from what is predicted by zero.
I also took noise measurements and they are in good agreement with the noise predicted by zero.
As suggested, I wrapped the satellite amplifier box D10028128 S2100029 in blanket and foam and took very low frequency spectrum starting from 32 mHz to 3 Hz. The results are attached along with stiched high frequency measurements from 40m/15793.
THIS MEASUREMENT WAS WRONG. SEE 40m/15799.
I measured the output DC voltage of the satellite amplifier box at PDMon port when the PDA input was shorted and got following offsets:
However, I think I'm making a mistake while measuring this offset as well as all the noise measurements of this satellite amplifier box so far. Since it is a current input, transimpedance circuit, the noise of the circuit should be measured with open input, not closed. Infact, by shorting the PDA input, I'm giving DC path to input bias current of AD833 transimpedance amplifier to create this huge DC offset. This won't be the case when a photodiode is connected at the input which is a capacitor and hence no DC path is allowed. So my issue of offset was bogus and past two noise measurements in 40m/15797 and 40m/15793 are wrong.
Why not just do this test with the dummy suspension box and CDS system? I think Rich's claim was that the intrinsic LED RIN was dominant over any drive current noise but we can at least measure the quadrature sum of the two (which is after all the relevant quantity in terms of what performance we can realize) and compare to a model.
Testing the satellite amp i.e. PD driver
- To test the noise of the PD transimpedance amps: Leave the PD input open (do not short the terminal goes to the PD)
- To test the current noise of the LED drivers: Short the output with an appropriate Rs to have the nominal current.
- To test the overall noise level together with the LED/PD pair: Connect the dummy OSEM module.
Testing the coil drivers
- Short the output with an appropriate Rs.
Here is a proper measurement for PD transimpedance amplifier circuit in the Satellite amplifier box D1002818 S2100029. The input from rear DB25 connector was left open and measurement was taken with AC coupling with correction by the AC coupling transfer function (Zero at 0, pole at 160 mHz). I have calculated the input referred displacement noise by calculating the conversion factor of OSEM in A/m. From 40m/12470, old conversion factor of OSEM to output of sat amplifier was 1.6 V/mm. then, the transimpedance was 39.2 kOhm, so that must mean a conversion factor of 1.6e3/39.2 A/m. This I scaled with increased drive current by factor of 35/25 as mentioned in this document. The final conversion factor turned out to be around 57 mA / m. If someone finds error in this, please let me know.
There is excess noise in the low-frequency region below 5-6 Hz. If people think I should make a measurement of amplified noise to go further away from the instrument noise floor, let me know.
I expect that a single OSEM channel can't be better than 1e-10 m/rHz above 5 Hz, so probably something wrong in the calibration. 1.6 V/mm seems right to me, so could be some place else.
For your planning:
Todd provided us a bunch of electronics. I went to Downs to pick them up this afternoon and checked the contents in the box. Basically, the boxes are pretty comprehensive to produce the following chassis
Some panels are missing (we cannibalized them for the WFS electronics). Otherwise, it seems that we will be able to assemble these chassis listed.
They have placed inside the lab as seen in the attached photo.
HAM-A COIL DRIVER (Req Qty 28+8)
- 8 Chassis
- 8 Front Panels
- 8 Rear Panels
- 8 HAM-A Driver PCBs
- 8 D1000217 DC Power board
- 8 D1000217 DC Power board
16bit AA (Req Qty 7)
- 7 CHASSIS
- 6 7 Front Panels (1 missing -> [Ed 2/22/2021] Asked Chub to order -> Received on 3/5/2021)
- 7 Rear Panels
- 28 AA/AI board S2001472-486, 499-511
- 7 D070100 ADC AA I/F
- 7 D1000217 DC Power board
18bit AI (Req Qty 4)
- 4 CHASSIS
- 4 Front Panels
- 4 Rear Panels
- 8 AA/AI board S2001463-67, 90-92
- 4 D1000551 18bit DAC AI I/F
- 4 D1000217 DC Power board
- bunch of excess components
16bit AI (Req Qty 5)
- 5 CHASSIS
- 4 5 Front Panels (D1101522) (1 missing -> [Ed 2/22/2021] Asked Chub to order -> Received on 3/5/2021)
- 3 5 Rear Panels (D0902784) (2 missing -> [Ed 2/22/2021] Asked Chub to order -> Received on 3/5/2021)
- 10 AA/AI board S2001468-71, 93-98
- 5 D1000217 DC Power board
- 5 D070101 DAC AI I/F
Internal Wiring Kit
Asked Chub to order:
- Qty 12 1U Hamilton Chassis
- Qty 5 x Front/Rear Panels/Internal PCBs for D1002593 BIO I/F (The parts and connectors to be ordered separately)
-> Front/Rear Panels received (3/5/2021)
-> PCBs (unpopulated) received (3/5/2021)
-> Components ordered by KA (3/7/2021)
Will we also be receiving the additional 34 Satellite Amplifier PCBs?
We received currently available sets. We are supposed to receive more coil drivers and sat amps, etc. But they are not ready yet.
This is my current understanding of the in-vacuum wiring:
2. From the above facts, the in-vacuum cable is
Accuglass has the DSUB25 F-F cable off-the-shelf. However, this cable mirrors the pinout (see the datasheet on the pdf in the following link)
3. The options are
- ask Accuglass to make a twisted version so that the pinout is not mirrored.
- combine Accuglass female-male cable (https://www.accuglassproducts.com/connector-connector-extension-cable-25-way-femalemale) and a gender changer (https://www.accuglassproducts.com/gender-adapter-25d)
4. The length will be routed from the feedthrough to the table via the stacks like a snake to be soft. So, it will require some extra length.
5. Also, the Accuglass cables don't have a flap and holes to fix the connector to a cable post (tower). If we use a conventional 40m-style DSUB25 post (D010194), it will be compatible with their cables. But this will not let us use a DSUB25 male connector to mate. In the future, the suspension will be upgraded and we will need an updated cable post that somehow holds the connectors without fastening the screws...
tl;dr: Done no harm, no lasting change.
- Use /cvs/cds/caltech/target/c1psl/autoBurt.req as input to test snapshot "/users/anchal/BURTsnaps/controls_1210301_101310_0.snap" on rossa after not succeeding in donatella
- Browse /opt/rtcds/caltech/c1/burt/autoburt/snapshots/TODAY just to know where the snapshots are living. Will store our morning work specific snapshots in local user directories (e.g. /users/anchal/BURTsnaps)
- Switched channels around on video controls; changed C1:VID-MON7 to 16, back to 30, then C1:VID-QUAD2_4 to 16, to 18, then 20, back to 16, to 14 (which identified as PMCT), to 1 (IMC). Anyways, looks like IMC is locked.
[Yehonathan, Paco, Anchal]
- From IOO/LockMC, MC_Servo, FSS --> closed PSL shutter, reopen it and see the lock recovers almost instantly. Try MCRFL shutter, no effect. Toggled PSL shutter one more time, lock recovered.
- From IOO/LockMC, MC_Servo, toggle OPTION (after IP2A), lose and recover lock in similar fashion. MCRFL gets most of the light.
- Looked at IFO_OVERVIEW just to get familiar with the various signals.
Pretty minor thing - but PMCT and PMCR were switched on Quad 2 for whatever reason. I switched them back because I prefer the way it was. I have saved snapshots of the preferred monitor config for locking but I guess I didn't freeze the arrangement of the individual quadrants within a quad. This would be more of a problem if the ITMs and ETMs are shuffled around or something like that.
- First ran burtgooey as last time.
- Installed pyepics on base environment of donatella
- Clicked on ON in the drop down of "! More Scripts" below "! Scripts XARM" in C1ASS.adl
- Clicked on "Freeze Outputs" in the same menu after some time.
- Noticed that the sensing and output matrix of ASS on XARM and YARM look very different. The reason probably is because the YARM outputs have 4 TT1/2 P/Y dof instead of BS P/Y on the XARM. What are these TT1/2?
(Probably, unrelated but MC Unlocked and kept on trying to lock for about 10 minutes attaining the lock eventually.)
- From scripts/XARM we ran lockXarm.py from outside any conda environment using python command.
- Weirdly, we see that YARM is locked??? But XARM is not. Maybe this script is old.
- C1:LSC-TRY-OUTPUT went to around 0.75 (units unknown) while C1:LSC-TRX-OUTPUT is fluctuating around 0 only.
POY11 Spectrum measurement when YARM is locked:
- Created our own template as we couldn't find an existing one in users/Templates.
- Template file and data in Attachment 2.
- It is interesting to see most of the noise is in I quadrature with most noise in 10 to 100 Hz.
- Given the ARM is supposed to be much calmer than MC, this noise should be mostly due to the mode cleaner noise.
- We are not sure what units C1:LSC-POY11_I_ERR_DQ have, so Y scale is shown with out units.
Trying to lock Green YEND laser to YARM:
- We opened the Green Y shutter.
- We ensured that when temperature slider og green Y is moved up, the beatnote goes up.
- ARM was POY locked from previous step.
- Ran script scripts/YARM/Lock_ALS_YARM.py from outside any conda environment using python command.
- This locked green laser but unlocked the YARM POY.
Things moving around:
- Last step must have made all the suspension controls unstable.
- We see PRM and SRM QPDs moving a lot.
- Then we did burt restore to /opt/rtcds/caltech/c1/burt/autoburt/today/08:19/*.snap to go back to the state before we started changing things today.
[Paco left for vaccine appointment]
- However the unstable state didn't change from restore. I see a lot of movement in ITMX/Y. PRM and BS also now. Movement in WFS1 and MC2T as well.
- I closed PSL shutter as well to hopefully disengage any loops that are still running unstably.
- But at this point, it seems that the optics are just oscillating and need time to come back to rest. Hopefully we din't cause too much harm today :(.
My guess on what happened:
Gautam came in and noted that the optics damping watchdogs had been tripped by a >5 magnitude earthquake somewhere off the coast of Australia. So, under guided assistance, we manually damped the optics using following:
Gautum also noticed that MC autolocker got turned OFF by me (Anchal), we turned it back on and MC engaged the lock again. All good, no harm done.
EQs seen on Summary pages
I made the inspection of the new custom DSub cables (came from Texas).
The shelled version gives us some chance to inspect/modify the internal connections. (good)
The wires are well insulated. The conductors are wrapped with the foils and then everything is in the braid tube shield. The braid is soldered on one of the connectors. (Attachment 3/4 shows the soldering of the conductor by intentionally removing one of the insulations).
It wasn't clear that if the conductors are twisted or not (probably not).
Received additional front/rear panels. Updated the original entry and Wiki [Link]
The PCBs for the D1002593 BIO I/F (5pcs ea of D1001050 and D1001266) were received (from JLCPCB) today. idk what the status of the parts (digikey?) is.
The parts will be ordered by Koji The components for the additional BIO I/F have been ordered.
- Started zoom stream; thanks to whoever installed it!
- Spent some time trying to understand how anything we did last thursday lead to the sensing matrix change, but still cannot figure it out.
- Tracking back on our actions, at ~10:30 we ran burt Restore with the 08:19/.*snap and in lack of a better suspect, we blame it on that action for now.
# ARM locking??
- Reading (not running) the scripts/XARM/lockXarm.py script and try to understand the workflow. It is pretty confusing that the result was to lock Yarm last time.
- It looks like this script was a copy of lockYarm.py, and was never updated (there's a chance we ran it for the first time last thursday)
- *Is there a script to lock the Arms?* Or should we write one? To write one, we first attempt a manual procedure;
1. No need to change RFPD InMTRX
2. All filters inputs / outputs are enabled
3. Outputs from XARM and YARM in the Output matrix are already going to ETMX and ETMY
- Maybe we can have the ARM lock engage by changing the MC directly?
4. Change C1:SUS-MC2_POS_OFFSET from -38 to -0, and enable C1:SUS-MC2_POS_OFFSET_ON
5. Manually scan MC2_POS_OFFSET to 250 (nothing happens), then -250, then back to -38 (WFS1 PIT and YAW changed a little, but then returned to their nominal values)
- Or maybe we need to provide the right gain...
6. Disabled C1:SUS-MC2_POS_OFFSET_ON (back to nominal state)
7. Look into manually changing C1:LSC-XARM_GAIN;
From the command line using python:
>> import epics
>> ch_name = 'C1:LSC-XARM_GAIN'
>> epics.caput(ch_name, 0.155) # nominal = 0.150
- Could be unrelated, but we noted a slow spike on C1:PSL-FSS_PCDRIVE (definitely from before we changed anything)
- Still nothing is happening
8. Changed the gain to 0.175, then back to 0.150, no effect... then 0.2, 0.3 ...
- Stop and check SUS_Watchdogs (should not have changed?) and everything remains nominal
- Revert all changes symmetrically.
- Could we have missed enabling FM1?
- Briefly lost MC lock, but it came back on its own (probably unrelated)
- Wrap it up for the day. In summary; no harm done to our knowledge.
For the arm locking, the "Restore Xarm (XARM POX)" script from the "IFO_CONFIGURE" MEDM screen should get you there (I just checked it and it works fine). It is worth getting a hang of the PDH signal chain (read what the script is doing and map it to the signal chain) so you get a feel for where there may be offsets, saturations, what the trigger logic is etc. The LSC overview screen is supposed to be pretty intuitive (if you think it can be improved, I'd love to hear it but please don't change it without documenting) and there are also the webviews of the simulink models (these are RO so feel free to click around, for the LSC the c1lsc model is the relevant one).
Herewith, I describe an adventure
gautam: For those like me who don't know what the AAA representation is: the original algorithm is here, and Lee claims his implementation of it in IIRrational is better, see his slides.
- Upon arrival, MC is locked, and we can see light in MON5 (PRM) (usually dark).
# XARM locking
- Read through "XARM POX" script (path='/cvs/cds/rtcds/caltech/c1/burt/c1configure/c1configureXarm')
- Before running the script, we noticed the PRM watchdog is down, so we manually repeat the procedure from last time, but see more swinging even though the watchdog is active.
- Run a reEnablePRMWatchdogs.py script (a copy of reEnableWatchdogs.py with optics=['PRM']), which had the same effect.
- We manually disable the watchdog to recover the state we first encountered, and wait for the beam in MON5 to come to rest.
- The question is; is it fine to lock Xarm with PRM watchdog down?
- To investigate this, we look at the effect of the offset on the unwatchdog-PRM.
- Manually change 'PRM_POS_OFFSET' to 200, and -800 (which is the value used in the script) with no effect on the PRM swinging.
- Moving on, run IFO > CONFIGURE > ! (X Arm) > RESTORE XARM (XARM POX), and ... success.
# MC-POX noise spectra
- With XARM locked, open diaggui and take spectra for C1:LSC-POX11_I_ERR_DQ, C1:LSC-POX11_Q_ERR_DQ, C1:IOO-MC_F_DQ
- Lost XARM lock while we were figuring out unit conversions...
- Assuming 2.631e-13 m/counts (6941) and using 37.79 m (arm length), 1064.1 nm wavelength, we get a calibration factor of 2.631e-13 * c / (2*L*lambda) ~ 0.9809 Hz/count
- (FAQ?, how to find/compute/measure the correct calibration factors?)
- Relock XARM, retake spectra. Attachment 1 has plots for POX11_I/Q_ERR_DQ spectrum (cts/rtHz, we couldn't find relevant calibration) and MC_F_DQ in (Hz/rtHz from referring to 15576, we couldn't get the units to show on y scale.)
# MC-POY noise spectra (attempt)
- Now, run IFO > CONFIGURE > ! (Y Arm) > RESTORE YARM (YARM POY), and XARM locks (why?)
- Could PRM watchdog being down be the cause?
- Try C1ASS > (YARM) ! More Scripts > ON, and looked at YARM PIT/YAW striptool.
- C1ASS > (YARM) ! Freeze Outputs, then OFF
- Go back to IFO > CONFIGURE > ! (Y Arm) > Align YARM (ASS ON: Unfreeze), try running this then Freeze, then OFF Zero Outputs.
- Try RESTORE YARM (POY) again, still not working.
- Try RESTORE YARM ALS, then try again after opening the shutter, but also fail to lock AUX.
- Is the PRM WD behind some evil misalignment? Will move forward with XARM bc it is happy.
# ARM locking
- Attempted the IFO > CONFIGURE > ! (X Arm) > RESTORE Xarm (XARM ALS) but green failed to lock and we lost XARM lock.
- Try to recover XARM lock... success. It's nice to have a (repeatable) checkpoint.
- Attempt YARM lock. Not successful. It just seems like the lock Triggers are not raised (misalignment?)
- From C1SUS_ETMY, try changing the bias "C1:SUS-ETMY_YAW_OFFSET" manually to reduce the OPLEV_YERROR. Changed from -47 to -57.
- Retry YARM lock script... no luck
- From C1SUS_PRM, try changing the bias "C1:SUS-PRM_PIT_OFFSET" manually to reduce OPLEV errors. Changed from 34 to 22 with no effect, then realized the coil outputs are disabled because the WD is down...
- So we do the following BIAS changes "C1:SUS-PRM_PIT_OFFSET" = 34 > 770 and "C1:SUS-PRM_YAW_OFFSET" = 134 > -6
- Enable all Coil Outputs, turn WD to Normal, turn OPLEVs ON, (this time the beam does not swing like crazy).
- Fine tune BIASes "C1:SUS-PRM_PIT_OFFSET" = 770 > 805 and "C1:SUS-PRM_YAW_OFFSET" = -6 > 65
- Saw YARM locking briefly, then unlocking, but we stopped once the OPLEV_ERRs no longer overloaded (from magnitudes > 50 to ~ 40).
- Retry YARM lock... no luck
- From C1SUS_ETMY, try changing the bias "C1:SUS-ETMY_PIT_OFFSET" from -1 to 6.
Stop for the day. Leave XARM locked, MC locked.