40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log, Page 16 of 335  Not logged in ELOG logo
ID Date Authorup Type Category Subject
  16728   Tue Mar 15 14:10:41 2022 AnchalSummaryCDSc1su2 model remade, reinstalled, restarted after the update

I have restarted c1su2 model with the connections of Run Acquire switch to analog filters on coil drivers. Following steps were taken:

First ssh to c1sus2 and then:

controls@c1sus2:~ 0$ rtcds make c1su2
buildd: /opt/rtcds/caltech/c1/rtbuild/release
### building c1su2...
Cleaning c1su2...
Parsing the model c1su2...
Building EPICS sequencers...
Building front-end Linux kernel module c1su2...
RCG source code directory:
The following files were used for this build:

Successfully compiled c1su2
Compile Warnings, found in c1su2_warnings.log:
WARNING  *********** No connection to subsystem output named  SUS_DAC1_12  
WARNING  *********** No connection to subsystem output named  SUS_DAC1_13  
WARNING  *********** No connection to subsystem output named  SUS_DAC1_14  
WARNING  *********** No connection to subsystem output named  SUS_DAC1_15  
WARNING  *********** No connection to subsystem output named  SUS_DAC2_7  
WARNING  *********** No connection to subsystem output named  SUS_DAC2_8  
WARNING  *********** No connection to subsystem output named  SUS_DAC2_9  
WARNING  *********** No connection to subsystem output named  SUS_DAC2_10  
WARNING  *********** No connection to subsystem output named  SUS_DAC2_11  
WARNING  *********** No connection to subsystem output named  SUS_DAC2_12  
WARNING  *********** No connection to subsystem output named  SUS_DAC2_13  
WARNING  *********** No connection to subsystem output named  SUS_DAC2_14  
WARNING  *********** No connection to subsystem output named  SUS_DAC2_15  
controls@c1sus2:~ 0$ rtcds install c1su2
buildd: /opt/rtcds/caltech/c1/rtbuild/release
### installing c1su2...
Installing system=c1su2 site=caltech ifo=C1,c1
Installing /opt/rtcds/caltech/c1/chans/C1SU2.txt
Installing /opt/rtcds/caltech/c1/target/c1su2/c1su2epics
Installing /opt/rtcds/caltech/c1/target/c1su2
Installing start and stop scripts
Performing install-daq
Updating testpoint.par config file
/opt/rtcds/rtscore/branches/branch-3.4/src/epics/util/updateTestpointPar.pl -par_file=/opt/rtcds/caltech/c1/target/gds/param/archive/testpoint_220315_135808.par -gds_node=26 -site_letter=C -system=c1su2 -host=c1sus2
Installing GDS node 26 configuration file
Installing auto-generated DAQ configuration file
Installing Epics MEDM screens
Running post-build script

/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 4 5 C1:SUS-AS1_INMATRIX > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_AS1_INMATRIX_KB.adl
/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 2 4 C1:SUS-AS1_LOCKIN_INMTRX > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_AS1_LOCKIN_INMTRX_KB.adl
/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 5 6 C1:SUS-AS1_TO_COIL --fi > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_AS1_TO_COIL_KB.adl
/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 4 5 C1:SUS-AS4_INMATRIX > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_AS4_INMATRIX_KB.adl
/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 2 4 C1:SUS-AS4_LOCKIN_INMTRX > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_AS4_LOCKIN_INMTRX_KB.adl
/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 5 6 C1:SUS-AS4_TO_COIL --fi > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_AS4_TO_COIL_KB.adl
/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 4 5 C1:SUS-LO1_INMATRIX > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_LO1_INMATRIX_KB.adl
/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 2 4 C1:SUS-LO1_LOCKIN_INMTRX > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_LO1_LOCKIN_INMTRX_KB.adl
/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 5 6 C1:SUS-LO1_TO_COIL --fi > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_LO1_TO_COIL_KB.adl
/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 4 5 C1:SUS-LO2_INMATRIX > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_LO2_INMATRIX_KB.adl
/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 2 4 C1:SUS-LO2_LOCKIN_INMTRX > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_LO2_LOCKIN_INMTRX_KB.adl
/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 5 6 C1:SUS-LO2_TO_COIL --fi > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_LO2_TO_COIL_KB.adl
/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 4 5 C1:SUS-PR2_INMATRIX > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_PR2_INMATRIX_KB.adl
/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 2 4 C1:SUS-PR2_LOCKIN_INMTRX > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_PR2_LOCKIN_INMTRX_KB.adl
/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 5 6 C1:SUS-PR2_TO_COIL --fi > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_PR2_TO_COIL_KB.adl
/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 4 5 C1:SUS-PR3_INMATRIX > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_PR3_INMATRIX_KB.adl
/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 2 4 C1:SUS-PR3_LOCKIN_INMTRX > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_PR3_LOCKIN_INMTRX_KB.adl
/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 5 6 C1:SUS-PR3_TO_COIL --fi > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_PR3_TO_COIL_KB.adl
/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 4 5 C1:SUS-SR2_INMATRIX > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_SR2_INMATRIX_KB.adl
/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 2 4 C1:SUS-SR2_LOCKIN_INMTRX > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_SR2_LOCKIN_INMTRX_KB.adl
/opt/rtcds/userapps/release/cds/common/scripts/generate_KisselButton.py 5 6 C1:SUS-SR2_TO_COIL --fi > /opt/rtcds/caltech/c1/medm/c1su2/C1SUS_SR2_TO_COIL_KB.adl
safe.snap exists
controls@c1sus2:~ 0$

Then on rossa, run activateSUS2DQ.py which creates a file C1SU2.ini.NEW. Remove old backup file C1SU2.ini.bak, rename C1SU2.ini to C1SU2.ini.bak and rename C1SU2.ini.NEW to C1SU2.ini:

~> cd /opt/rtcds/caltech/c1/chans/daq/
daq>python2 activateSUS2DQ.py 
daq>rm C1SU2.ini.bak
daq>mv C1SU2.ini C1SU2.ini.bak
daq>mv C1SU2.ini.NEW C1SU2.ini

Then ssh back to c1sus2 and restart the rtcds model:

controls@c1sus2:~ 0$ rtcds restart c1su2
### stopping c1su2...
### starting c1su2...
c1su2epics: no process found
Number of ADC cards on bus = 2
Number of DAC16 cards on bus = 3
Number of DAC18 cards on bus = 0
Number of DAC20 cards on bus = 0
Specified filename iocC1.log does not exist.
c1su2epics C1 IOC Server started
c1su2 RT ready in 4
awg_server Version $Id$
channel_client Version $Id$
testpoint_server Version $Id$
/opt/rtcds/caltech/c1/target/gds/bin/awgtpman -s c1su2 -l /opt/rtcds/caltech/c1/target/gds/awgtpman_logs/c1su2.log started on host c1sus2 hostid ffffffffa8c05771 
awgtpman Version $Id$
controls@c1sus2:~ 0$

Then restart daqd services from rossa and burtrestore to latest snap of c1su2epics.snap:

daq>telnet fb 8083
Connected to fb.martian.
Escape character is '^]'.
daqd> shutdown
Connection closed by foreign host.
>burtwb -f /opt/rtcds/caltech/c1/burt/autoburt/latest/c1su2epics.snap -l /tmp/controls_1220315_140755_0.write.log -o /tmp/controls_1220315_140755_0.nowrite.snap -v <

All suspensions are back online and everything is same as before now. Will test later the Run/Acquire switch functionality.

  16729   Tue Mar 15 18:42:37 2022 AnchalSummaryBHDPart IX of BHR upgrade - AS1 resuspended and OSEMs tuned



  16730   Tue Mar 15 18:45:12 2022 AnchalSummaryBHDPart X of BHR upgrade - BHDBS Path setup

[Paco, Anchal]

BS Chamber work

  • ASL was positioned in nominal place.
  • PR3 was moved to its nominal place from temprorary position.
  • BS Table was rebalanced
  • Earthquake stops were removed from all SOS from BS table (LO2, SR2, BS, PR3)

ITMY Chamber work

  • AS2, AS3, LO3, LO4, and BHDBS were positioned in the nominal place.
  • AS1 was moved to its nominal place from temporary position.
  • ITMY tbale was rebalanced
  • Earthquake stops were removed from all SOS from ITMY table (AS1, AS4, ITMY)
  16733   Thu Mar 17 17:23:22 2022 AnchalSummaryBHDPart IIa of BHR upgrade - Green laser alignment

[Anchal, Yehonathan] (on Y Arm)

We first checked if the PZT mirrors M1 and M2 can be controlled. They indeed show no motion even after being connected with a power supply. So green injection path can not be aligned using cds controls right now.

We also noticed that all ETMY slow controls and monitors are offline. That's because the electronics upgrade did not include acromag chassis. This means that the DC bias adjustment is not accessible for ETMY.

Alignment work:

  • We first aligned the green injection beam to cross two irises in the injection path to ETMY chamber.
  • Then I (Anchal) went inside the ITMY chamber to find the green light. Yehonathan controlled the injection path while I gave feedback from ITMY side. We aligned injection path to get the beam near center of ITMY.
  • Then I aligned ITMY through sitemap>IFO>Align to get counter propagating reflection near the ITMY side.
  • We were able to see reflection from ETMY hitting the beam tube.
  • Since DC alignment controls of ETMY are not accessible, we used the Alignment offset in rtcds model which puts dc offset in the coil driver to get the reflected beam from ETMY to come to ITMY table, about 1 inch above the table and about 3 inch south of ITMY SOS.
  • But we got limitted by the DAC overflow on ETMY at this point. Several back and forth attempts to relief ETMY were unsuccesful.

Possible issues:

  • We think having the HV coil driver set up for ETMY is important for this alignment work if not essential. The coil drivers of ETMY are near saturation.
  • We also think that addition of two new suspensions in ITMY table and then counter weights to balance the table, has depressed table height slightly. We need to work out how to change injection path height and angle accordingly.

[Paco, Ian] (on X Arm)


  16734   Thu Mar 17 19:12:44 2022 AnchalSummaryCDSc1auxey1 slow controls acromag chassis installed, not powered

[Anchal, Tega]

We installed c1auxey1 computer and the acromag chassis in 1Y4. The computer has been configured properly for nfs mounts to happen and we have initialized a git repo for /cvs/cds/caltech/target/c1auxey1 directory which stores all files for running modbusIOC service on this computer. We connected 18V power source but have not connected the 24V power yet  as we need to make a new connector for it. Going on what Koji recommended, we'll connect the 24V power input to 18 V strip as well as the acromags can run on that voltage too.

  16737   Fri Mar 18 19:10:51 2022 AnchalSummaryCDSc1auxey1 slow controls issues

I started the modbusIOC service on c1auxey1 and added PD variance channels for UR and SD as well.  There are unfortunately two issues here:

  • The enable monitors are reading NOT of what they should read. The optical isolator circuit might need to be changed.
  • ETMY is not damping now. This is strange and was seen in the use to other acromag chassis as well where AS4 and PR2 are unable to damp. This is weird since the acromag chassis are not part of the damping loop, maybe it is a coincidence. Next time we should check if we still have this issue when acromag chassis is disconnected from ETMY.


  16738   Mon Mar 21 14:22:52 2022 AnchalUpdateSUSETMY Alignmnet offsets needed to be changed

I'm not sure why but the PIT and YAW offset values of +2725 and -2341 were not sufficient for the reflected OPLEV beam to reach the OPLEV QPD. I had to change the C1:SUS-ETMY_PIT_OFFSET to 5641 and C1:SUS-ETMY_YAW_OFFSET to -4820 to come back to center of the OPLEV QPD. We aligned the Oplevs to center before venting, so hopefully this is our desired ETMY position.

On another note, the issue of ETMY unable to damp was simple. The alignment offsets were on to begin with with values above 1000. This meant that whenever we enabled coil output, ETMY would necessarily get a kick. All I had to do was keep alignment offsets off before starting the damping and slowly increase the alignment offsets to desired position.


- This modification allowed me to align the oplev spot to the center of the QPD. C1:SUS-ETMY_PIT_OFFSET and C1:SUS-ETMY_YAW_OFFSE are +2725 (8%FS) and -2341 (7%FS), respectively.

  16740   Mon Mar 21 18:24:07 2022 AnchalSummaryBHDPart IIa of BHR upgrade - Green laser alignment on Yarm

[Anchal, Tega]

We did the following alignment steps on Yarm today:

  • We aligned the green beam going into the ETMY chamber to the three irises on the path.
  • We aligned ETMY to get counter-propagating prompt reflection from ETMY.
  • We were able to see light in the reflection photodiode for the green PDH loop.
  • Then we went to ITMY chamber and checked where the beam is coming to. It was coming very low in height.
  • We walked the beam on the end to get it near the center of ITMY.
  • Then we changed the ETMY alignment again to get back the reflection beam on the reflection photodiode.
  • Then we went again to ITMY chamber and changed the ITMY alignment to get counter-propagating reflection from ITMY.

After this, we came back to the control room. One peculiar thing to note is that the C1:LS-Y_REFL_DC_OUT channel is inverted i.e. it is showing negative values for the reflection DC voltage. On this signal, we see a little bit higher-order mode flashing but it is not bright enough to be seen on the face camera of the suspension. We'll continue aligning the cavity using CDS now to get TEM00 mode.

After trying for a bit, we were able to get flash of about 2000 counts which is about 16% of the max value of 12200 counts. We adjusted the ITMY angular position using the IFO_ALIGN screen but used the OPTICAL_ALIGN offset screen to adjust the angular position of ETMY. The pitch and yaw values for ITMY are 1.0360 and -0.260 respectively whereas the pitch and yaw values for ETMY are 5664.0 and -4937.0 respectively. 

  16741   Mon Mar 21 18:42:06 2022 AnchalSummaryCDSc1auxey1 slow controls issues

Another issue, Green Y Shutter can not be controlled with the EPICS controls right now. This needs to be investigated.

  16742   Thu Mar 24 19:20:28 2022 AnchalSummaryBHDPart IIa of BHR upgrade - Green laser alignment on Yarm

[Anchal, Paco]

Uneloged: yesterday, Paco and Ian tried locking the green laser on Yend to the Y-arm. Nothing noteworthy happened, no luck.

  • Started with aligning the green injection to the Iris on table (it was misaligned) and getting it on the ITMY center.
  • Then we realized that the beam is going through the focusing leans very offceter. This makes the beam warped and deflected inside that needs to be corrected by mirrors.
  • So we decided to adjust the lens position first.
  • We realized that lens position is hard to adjust along with keeping the beam hiting ITMY.
  • So, we decided to remove the lens first and just align the green beam directly with the Iris on the table and the ITMY center. The beam became as big as ITMY when it reached there without the lens in path. We aligned it to fall on the mirror.
  • Then we placed the lens back so that the beam goes through the center of the lens.
  • Then we aligned ETMY to get the reflection back to the reflection PD.
  • But then when we checked the beam at ITMY again, it was severely missing ITMY. The possible reason is that ETMY is a diverging lens for the beam as well and changing its position changed the beam direction in the beam tube.
  • We decided to do another iteration of lens positioning with the new ETMY position. So same steps, removed lens, aligned beam with iris and ITMY, placed back the lens, aligned ETMY again to get reflection back on the PD.
  • This time the beam was still reaching ITMY. So we were glad that our iterations converged in 2 repititions.
  • Then we aligned ITMY to get counter propagating beam.
  • At the end of this alignment:
    • We see dips in relfection photodiode counts from 12200 to 9500.
    • The ETMY oplev is partially out of range (only 1 of the quadrant seeing light) but that could be because we changed the lens position. So Oplev servo is off.
  • We confirmed that the PDH servo is properly connected and loop is on. But we see no HOM catching lock for YARM even after us doing about 10 min search with ITMY-ETMY alignments.
  • We are leaving things as it is. We'll continue trying to align the cavity tomorrow. Everyone is welcome to try as long as they restore the positions of the optics to a good state at the end.



  16743   Fri Mar 25 11:39:14 2022 AnchalUpdateSUSETMY SUS Electronics Replacement - Questions

After Ian updated the cts2um filters for OSEM, shouldn't the damping gains be increased back by factor of 10 to previos values? Was the damping gain for SIDE ever changed? we found it at 250.

Can you explain why gain_offset filter was required and why this wasn't done for the side coil?


I updated the gain of the ct2um filter on the OSEMS for ETMY and decreased their gain by a factor of 9 from 0.36 to 0.04.

I added a filter called "gain_offset" to all the coils except for side and added a gain of 0.48.

together these should negate the added gain from the electronics replacement of the ETMY


  16744   Fri Mar 25 18:20:28 2022 AnchalSummaryBHDPart IIa of BHR upgrade - Green laser alignment on Yarm

[Anchal, Paco, Shruti]

  • Today we found out that the laser controller at the Yend had it's inputs disconnected for the FAST PZT input and the Slow temperature control input. The cables were also not labeled that were lying nearby.
  • I tracked the cables and connected the Fast input adn the slow input.
  • We then adjusted the temperature slider to go to previously marked laser crystal temperature of 40.1 degrees celsius. But we could not find the the beatnote of Y end IR with teh Main laser IR.
  • We scanned the laser crystal temeprature until we could see a beatntoe with the main IR laser and stopped in that region.
  • Then we continued looking for flashing and HOM, but no luck.
  • It was interesting that when the PDH loop was closed, we saw fluctuations in relfection photodiode DC value, but not so much when the loop was not closed.
  • We tried flipping the sign of the loop with no luck and we tried changing the gain of the loop as well, but no luck.
  • The behavior of this Yend laser and its controller is still suspicious to us. When the loop is closed, the PZT feedback signal should not cause a change in amplitude of the light so much as we see it.
  • Also the fact that when loop is clsoed we do not see signs of flashing in the reflection photodiode is interesting. If anyone has any ideas, that would be good.
  16756   Mon Apr 4 17:03:47 2022 AnchalSummaryCDSc1susaux2 slow controls acromag chassis fixed and installed

[Anchal, JC, Ian, Paco]

We have now fixed all issues with the PD mons of c1susaux2 chassis. The slow channels are now reading same values as the fast channels and there is no arbitrary offset. The binary channels are all working now except for LO2 UL which keeps showing ENABLE OFF. This was an issue earlier on LO1 UR and it magically disappeared and now is on LO2. I think the optical isolators aren't very robust. But anyways, now our watchdog system is fully functional for all BHD suspended optics.

  16757   Tue Apr 5 18:15:06 2022 AnchalSummaryBHDPart IIa of BHR upgrade - IR laser alignment on Xarm

[Paco, Anchal, Ian, JC]

We attempted the alignment of IR beam into the arm cavities. We used PR2 and PR3 (moved manually as well as using cdsutils) and got the YAW aligned pretty good on both X and Y directions. PIT alignment however turned out to be much harder to align. PR2 PR3 didn't have much range, so we zeroed there offset and tried to use TT1, TT2, MMT1, and MMT2 to align the PIT but it would get clipped before reaching BS table if we were to correct for PIT misalignment happening downstream. We concluded that the issue is that one of the PR2, PR3 mirrors have too much PIT offset in equilibrium position. We have requested Koji to change the output resistors in the coil drivers of PR2 and PR3 so that we can correct for the PIT offset in them directly using the coils and reduce load on upstream optics. We have tweaked TT1, TT2, MMT1, and MMT2 positions today, so we do not have the previous reference anymore.

  16759   Wed Apr 6 12:03:51 2022 AnchalSummaryBHDPart IIa of BHR upgrade - IR laser alignment on Yarm

[Anchal, Paco]

After Koji reduced the output resistors on PR2/PR3 coil drivers, we got much better actuation range. We aligned TT1 TT2 again to get beam centered on PR2 and PR3. Then we used only PR2 and PR3 to do the input beam alignment to Y arm cavity. Using access in ETMY chamber, we aligned the input beam parallel to cavity axis. Slight changes were required in ETMY alignment offsets to get first roundtrip in same spot on ITMY. remaining alignment is finer and needs to be done with a help of a reflection photodiode and cameras in the control room. Immediate next step is to setup POY path for locking the Yarm with IR.

Side note: Because of the large PIT correction required in PR3, we found that our upper OSEMs were hitting totally bright limit and lower OSEMs were hitting totally dark limit on PR3. This also destablized our damping loops. We pushed the upper OSEMs slighlty and pulled back the lower OSEMs slightly to get the PD signal in half shadow region again. This worked and our damping loops are stable again. However, we think we should repeat free swing test in future to diagonalize the input matrix for new OSEM positions.

  16762   Thu Apr 7 17:59:51 2022 AnchalSummaryBHDPart IIa of BHR upgrade - IR laser alignment on Yarm

[Anchal, Paco, JC, Tega]

Today we have aligned the Yarm cavity for IR, with verified 1.5 roundtrips. We also placed following optics in the BS table.

  • POXM1 (installed earlier, not eloged)
  • SRMOL2
  • POYM1
  • SRMOL1
  • POYM2

We also cleared the in-air BS table of all previous optics. JC and Tega setup HeNe laser for Oplevs roughly for now. Tega also transported the POY RFPD from ITMY in-air table to the BS in-air table. We aligned the POY path to the table, but we had to move ITMY after that to get 2nd roundtrip in the arm cavity, which misaligned our POY path again. POY path would need to be modified tomorrow.


  16804   Fri Apr 22 12:09:51 2022 AnchalUpdateCoil DriversPlease update DCC pages

Nice. Please put this information on the DCC pages of the coil driver units. You'll find links to all the units in this document tree LIGO-E2100447. For each page, click on "Change Metadata" from the left panel and add the change made to the resistor (including the resistor name on PCB, previous and new value), and add a link to your previous elog post which has more details like photos, to "Notes and Changes", and upload an updated version of the circuit schematic by creating an annotation in the previous circuit schematic pdf. Every unit that has a serial number in the lab has a DCC page (if not, we should create one) where we should track all such hard changes.


  16805   Fri Apr 22 12:15:08 2022 AnchalUpdateBHDCable post installation

If someone gets time, let's put in all the cable posts and clean up our cable routing on the tables.


  16810   Mon Apr 25 16:57:57 2022 AnchalUpdateBHDCable post installation

[Anchal, Tega, JC]

We installed cable posts in ITMY, BS, and ITMX chambers for all the new suspensions. Now, there is no point where the OSEM connections are hanging freely.

In BS chamber, we installed one post for LO2 near the north edge of the table and another post for PR3 on the Western edge with the blue cable running around the table on the floor.

In ITMY chamber, we installed the cable post in between AS1 and AS4 with the blue cables running around the table on the floor. This is to ensure the useful part of the table remains empty for future and none of the OSEM cables are taught in air.


  16811   Mon Apr 25 17:24:06 2022 AnchalUpdateCDSDAQ still down

I investigated this issue today. At first, it seemed that only new suspension testpoints are inaccessible. I was able to use diaggui for a measurement on MC2. The DAQ network cable between 1X4 and 1Y1 was tied and is very taught now (we should relieve this as soon as possible, best solution is to lay down a longer cable over the bridge). My hypothesis is that the DAQ network might have broken while tying this cable and it probably did not come back since then.

The simplest solution would have been to restart c1su2 models. As I restarted those models though, I found that c1lsc and c1sus models failed. This is very unusual as c1su2 models are independent and share nothing with the other vertex models. So I had to restart all the FE computers eventually. But this did not solve the issue. Worse, now the DAQ isn't working for the vertex machiens as well.

Next step was to try restarting fb1 itself. We switched off all the FE computers, restarted fb1, stopped daqd_* processes, reloaded gpstime module, restarted open-mx, mx, nds and daqd_* process. But the mx.service failed to load with following error message:

● mx.service - LSB: starts MX driver for Myrinet card
   Loaded: loaded (/etc/init.d/mx)
   Active: failed (Result: exit-code) since Mon 2022-04-25 17:18:02 PDT; 1s ago
  Process: 4261 ExecStart=/etc/init.d/mx start (code=exited, status=1/FAILURE)

Apr 25 17:18:02 fb1 mx[4261]: Loading mx driver
Apr 25 17:18:02 fb1 mx[4261]: insmod: ERROR: could not insert module /opt/mx/sbin/mx_mcp.ko: File exists
Apr 25 17:18:02 fb1 mx[4261]: insmod: ERROR: could not insert module /opt/mx/sbin/mx_driver.ko: File exists
Apr 25 17:18:02 fb1 systemd[1]: mx.service: control process exited, code=exited status=1
Apr 25 17:18:02 fb1 systemd[1]: Failed to start LSB: starts MX driver for Myrinet card.
Apr 25 17:18:02 fb1 systemd[1]: Unit mx.service entered failed state.

(Ignore the timestamp above, I ran the command again to capture the error message.)

However, I was able to start all the FE models without any errors and daqd processes are also all running without showing any errors. Everything is green in CDS screen with no error messages. But the only thing still wrong is mx.service which is not running.

From my limited knowledge and experience, mx.service is a one-time script that mounts mx devices in /dev and loads the mx driver. I tried running the script /opt/mx/sbin/mx_start_stop :

controls@fb1:/opt/mx/sbin 1$ sudo ./mx_start_stop start
Loading mx driver
insmod: ERROR: could not insert module /opt/mx/sbin/mx_mcp.ko: File exists
insmod: ERROR: could not insert module /opt/mx/sbin/mx_driver.ko: File exists

This gave the same error. On searching little bit online, "insmod: ERROR; cound not insert module" error comes up when the kernel version of the driver doesnot match the Linux kernel (whatever that means!). Such deep issues should not appear out of nowhere in a previosuly perfectly runnig system. I'll check around more what changed in fb1, network cables etc.

  16815   Wed Apr 27 16:28:57 2022 AnchalSummaryBHDBHD Upgrade - Retreiving arm cavity alignment

[Anchal, Paco, JC]

We had to open ITMY, ETMY chamber doors to get the cavity aligned again. Once we did that, we regained cavity flashing and were able to align the input injection and cavity alignment to get transmission flashing to 1.0 (C1:LSC-TRY_OUT_DQ). JC later centered both ITMY and ETMY oplevs. The ITMY oplev had become completely out of range.

We also opened ITMX, ETMX chamber doors to get Xarm alignment. Again, it seems that ITMX had moved a lot due to cable post installation.

To be continued

  16816   Thu Apr 28 09:12:18 2022 AnchalUpdateBHDRestoring arm alignment

This would be a daily first task in the morning. We'll need to check the status of arm alignment and optimize it back to maximum every morning for the rest of the day's work.

Today, when I came, on openin gthe PSL shutter, IMC was aligned good, both arms were flashing but YARM maximum transmission count was around 0.7 (as opposed to 1 from yesterday) and XARM maximum transmission count was 0.5 (as opposed to 1 from yesterday). I did not change the input alignment to the interferometer. I only used ITMY-ETMY to regain flashing count of 1 on YARM and used BS and tehn ITMX-ETMX to regain flashing count of 0.9 to 1 in XARM.

Even thought the oplevs were centered yesterday, I found the oplev had drifted from the center and the optimal position also is different for all ooptics except EMTY and BS. It is worth nothign that in optimal position both PIT and YAW of ITMY and ITMX are off by 70-90 uradians and ETMX Pit oplev is off by 55 uradians.


  16817   Thu Apr 28 11:53:10 2022 AnchalSummaryBHDPOP_SM4 and POP_SM5 Assembly


I tried out this stack today and found some change of plans.

  • The attachment in elog 40m/16640 says to use 1/4-20 silver coated non-vented screws for joining BA2V to PLS-T238, however PLS-T238's bottom hole is a blind hole and is not vented. So we actually required <1 in long silver plated vented 1/4-20 cap screw for this purpose. Jordan and I were only able to find the correct length silver plated screw but it is not vented. So we decided to make a venting hole on the post from the side.
  • I had to use a 0.14" spacer as washer between PLS-T238 and BA1V. The 1" post shim that Koji got for this purpose had too small a hole in the center to let the 8-32 screw pass (I know, weird). but I think we had 3 spare 0.14" ad we bought 10 when we required 7, so we should be good.
  • The attachment in elog 40m/16640 also says to use 8-32 silver coated vented setscrew for joining TR-1.5 to LMR1V mount. I found one vented silver coated set screw nearby in the clean room but it turned out to be too long. Worse, I overtightened the setscrew when trying this connection which damaged the inner threads of one of the LMR1V. So we need to buy one more LMR1V (maybe an additional spare too) for future installation of OMC1R1/OMC2R1.
    • Then Jordan and I searched for a smaller silver coated and vented 8-32 setscrew but didn't find any. Jordan also noted that LMR1V is an aluminium mount and we should not use silver coated setscrew with it. Since the TR-1.5 mount is ok to be sacrificed if a cold weld happens, we'll just use an uncoated SS 8-32 setscrew to join TR-1.5 and LMR1V. We could not such vented setscrews, but we have plenty of non-vented once. So Jordan is going to make a venthole in TR1.5 top end as well. LMR1V already has a vent hole on its side.

tl,dr; Jordan is preparing PLS-T238 and TR-1.5 with venting holes and C&B and they would be ready by tomorrow. I have collected all other parts for assembly, still looking for the mirror but I know other lab members know where it is, so no big issue there.


The assemly of this mirror is complete. A slight change here as well, we were supposed to use the former POYM1 (Y1-2037-0) mirror for POP_SM5 but I could not find it. It was stored on the right most edge of the table (see 40m/16450), but it is not there anymore. I found another undocumented mirror on the flow bench on the left edge marked (2010 July: Y1-LW1-2037-UV-0-AR) which means this mirror has a wedge of 1 degree and an AR coating as well. We do not need or care about the wedge or AR coating, so we can use this mirror for POP_SM5. Please let me know if someone was saving this mirror for some other purpose.

I'll finish assembly of POP_SM4 tomorrow and install them in ITMX chamber and resurrect POP path.


Here is more detail of the POP_SM4 mount assembly.

It's a combination of BA2V + PLS-T238 + BA1V + TR-1.5 + LMR1V + Mirror: CM254-750-E03
Between BA1V and PLS-T238, we have to do a washer action to fix the post (8-32) with a 1/4-20 slot. Maybe we can use a 1" post shim from thorlabs/newport.
Otherwise, we should be able to fasten the other joints with silver-plated screws we already have/ordered.

I think TR-1.5 (and a shim) has not been given to Jordan for C&B. I'll take a look at these.


  16818   Thu Apr 28 17:45:53 2022 AnchalUpdateBHDPOX Beam issues

[Anchal, Paco]

We investigated the low power issue with POX11 photodiode.

  • We used a power meter to confirm that above 12 uW of power is reaching the ITMX oplev table.
  • But the power reaching the photodiode was only 3 uW, because the 2 steering mirrors used were discarding half of the light. These mirrors were taken from former POP setup and are probably BS or meant for different incidence angle/polarization.
  • We used flashlight to test that the photodiode gives a response, so it is not dead.
  • We also put in a db15 breakout board in line to the PD and confirmed that power input is correct, temperature is nominal, enable is ON, and DC out is responsive to flashlight.
  • So we decided to redo the path with Y1-45P 1inch mirrors. I found two such mirrors in the lab.
  • When setting up the path again, I realized that the beam shape is not even. I took a photo of the beam on the card (see attachment 1) and indeed the POX beam that is coming to the table is half clipped.
  • So tomorrow, we'll open the chamber and find out where this is happening. For now, I've setup a nominal path to the POX11 photodiode, but we'll tune it after we get a clear POX beam on the table.
  16819   Thu Apr 28 18:07:04 2022 AnchalUpdateBHDRestoring arm alignment at EOD

Restored arm algiment to get 0.8 max flashing on YARM and 1 max flashing on XARM. I had to move input alignment using TT2-PR3 pair and realign YARM cavity axis using ITMY-ETMY pair.

I would like to advertise this useful tool that I've been using for moving cavity axis or input beam direction. It's a simple code that makes your terminal kind of videogame area. It moves two optics together (either in same direction or opposite direction) by arrow key strokes (left, right for YAW, up, down for PIT). Since it moves two optics together, you actually control the cavity axis or input beam angle or position depening on the mode.


  16824   Mon May 2 17:51:30 2022 AnchalUpdateBHDPOX Beam aligned on RFPD, YARM locked

[Paco, Anchal]

We found that one of the Y1-1037-45P marked mirror that we used was actually curved. So we removed it and used a different Y1-1037-45P mirror, adjusted the position of the lens and got the beam to land on POX11 RFPD successfully.

Then in control room, we maximized the POX11_I_ERR PDH signal amplitude by changing C1:LSC-POX11_PHASE_R to 42.95 from -67.7. We kept the C1:LSC-POX11_PHASE_D same at 90. We were getting +/- 200 PDH signal on POX_I_ERR.

Then in our attempt to lock the XARM, when we ran the "Restore XARM (POX)" script, YARM locked!

We are not sure why the YARM locked, we might have gotten lucky today. So we ran ASS on YARM and got the transmission (TRY_OUT) stable at 1. The lock is very robust and retrievable.

Coming back to XARM, we realized that the transmission photodiode used for XARM was the low-gain QPD instead of the thorlabs high gain photodiode. The high-gain photodiode was outputing large negative counts for some reason. We went to the Xend to investigate and found that the high gain photodiode was disconnected for some reason. Does anyone know/remember why we disconnected this photodiode?

We connected the photodiode back and it seems to work normally. We changed the photodiode selection back to high gain photodiode for TRX and on 40 dB attenuation, we see flashing between 1.4 to 1.6. However, we were unable to lock the XARM. We tried changing the gain of the loop, played a little bit with the trigger levels etc but couldn't get it to lock. Next shift team, please try to lock XARM.


[Paco, Anchal, Yuta]

We opened the BSC and ITMX chamber in the morning (Friday) to investigate POX11 beam clipping. We immediately found that the POX11 beam was clipping by the recently installed cable posts, so luckily no major realingment had to be done after reinstalling the cable post in a better location.

Because we had the BSC open, we decided to steer the AS1 mirror to align the AS path from ITMY all the way to the vertex chamber.  Relatively small AS1 offsets (of ~ 2000 counts each) were added on PIT / YAW to center the beam on ASL (there is slight clipping along PIT, potentially because of the AS2 aperture. We then opened the vertex chamber and located the AS beam with relative ease. We decided to work on this chamber, since major changes propagate heavily downstream (simply changing the IMC pointing).

Anchal removed old optics from the vertex chamber and we installed the steering pair of mirrors for AS path. This changed the balance of the vertex table by a lot. By using the MC REFL camera beam spot we managed to coarsely balance the counterweights and recover the nominal IMC injection pointing. Simply reenabling the IMC autolocker gave us high transmission (~ 970 counts out of the typical 1200 these days).

The final IMC alignment was done by Anchal with delicate PIT motion on the input injection IMC miror to maximize the transmission (to our satisfaction, Anchal's motion was fine enough to keep the IMC locked). The end result was quite satisfying, as we recovered ~ 1200 counts of MC transmission.

Finally, we looked at the arm cavity transmission to see if we were lucky enough to see flashing. After not seeing it, we adjusted TT1 / TT2 to correct for any MMTT1 pitch adjustment needed after the vertex table rebalancing. Suprisingly, we didn't take too long and recovered the nominal arm cavity pointing after a little adjustment. We stopped here, but now the vertex table layout is final, and AS beam still needs to be aligned to the vertex in-air table.


  16826   Tue May 3 14:02:09 2022 AnchalSummaryBHDInstalled POP path in ITMX Chamber

[Anchal, JC]

I installed POP_SM4 and POP_SM5 in the ITMX chamber in the nominal positions. This must have affected the ITMX Oplev because I could see that one of the ITMX oplev beam was going through POP_SM5. It needs to be changed in order to follow the original plan. However, since POP_SM5 is a 1064 line mirror, it is transparent to the opleve beam, so maybe we can just use the ITMX oplev in the current fashion.

Next steps:

  • Get flashing back on the XARM.
  • Try to get the correct phase angle in POX11 so that we can lock XARM with IR too.
  • Inspect ITMX Oplev. The quadrant sum is low so maybe it needs adjustment in the in-ar table.
  • Check if ITMX oplev path needs to be adjusted inside the chamber.
  16829   Wed May 4 13:09:42 2022 AnchalUpdateBHDIMC table balanced again, IMC is locking, YARM is locking

[Paco, JC, Anchal]

We balanced the IMC table back again to point that got us 50% of nominal transmission from IMC. Then we tweaked the steering mirror for injection to IMC to get up to 90% of nominal transmission. Finally, we used WFS servo loop to get to the 100% nominal transmission from IMC. However, we found that the WFS loop has been compromised now. It eventually misaligns IMC if left running for a few minutes. This needs to be investigated and fixed.

Next steps:

  • Align X-arm cavity and regain flashing.
  • Fix the Oplev path for ITMX.
  • Tune POX11 phase angle to get an error signal with which we can lock the cavity.
  • Finish AS beam path setup.
  16832   Thu May 5 14:46:22 2022 AnchalUpdateBHDPOP beam height lowered, POP_SM4 raised

[Anchal, JC]

We first aligned the single arm cavity resonance for both arms to get maximum flashing. As we opened the chamber, I found that the POP beam was mostly hitting the POP_SM4 mirror but was clipping about 2 mm on the top edge.

I used TT2-PR3 to lower the injection beam angle and moved pairs of ITMY-ETMY, and ITMX-ETMX to recover as much flashing as I could in the both arms. Then, I moved PR2 in pitch from 49 to 71 to maximize the arm flashing again. After these steps, the POP beam was clearly within the POP_SM4 mirror but still in the upper half of the optic and there was maybe just a mm of clearance from the top edge. I decided to raise POP_SM4 mirror by 0.14" spacer. Now the beam is still in upper half of the mirror but has a good clearance from the edge.

The POP beam is coming outside in the in-air table at as a rising beam in the nominal path near the center of the window. This beam needs to be directed to the POP camera and RFPD on the far-side of the table.

Next steps:

  • In-air table work: Setup POP camera and RFPD.
  • In ITMX chamber, rotate ITMX Oplev mirror to clear the oplev beam off POP_SM5. Change oplev beam path outside accordingly.
  • Install green transmission from X-arm steering mirrors in BS chamber.
  • Install 4 steering mirrors in ITMY chamber at the two outputs of BHD BS to direct the beam outside.
  • Figure out POX11 rotation angle and get XARM locking as well.


  16835   Fri May 6 13:48:34 2022 AnchalUpdateBHDWFS loop instability fixed

[Yuta, Anchal]

We investigated why WFS loop wasn't working. It seemed like WFS1 PIT error signal has a huge offset which would push the loop to misalign all optics' PIT. So we did the following steps:

  • Cover the WFS with Aluminium foils. Run Sitemap>IOO>C1_IOO_WFS_MASTER>!Actions>Correct WFS DC offsets.
  • Then center the WFS beams on the QPDS while looking at C1:IOO-WFS1/2_PIT/YAW_DC channels.
  • Then Switch off WFS loop, Switch off Autolocker, toggler the PSL Shutter so that IMC unlocks and does not catch lock back, and tehn run Sitemap>IOO>C1_IOO_WFS_MASTER>!Actions>Correct WFS RF offsets.
  • The above script found significant changes required in WFS1 RF offsets. After this, we opened the shutter and WFS loops were working fine.
  16837   Mon May 9 18:43:03 2022 AnchalUpdateBHDITMX table layout corrected

As I went to correct the ITMX Oplev mirrors, I found that both mirrors were placed in very different positions than the design position. Part of the reason I think was to preserve outside oplev path, and party because a counterweight was in ITMXOL1 position. I had to do following steps to correct this:

  • I noted down level meter readings of the table before making any changes.
  • I removed the counter weight from near the center of the table.
  • I placed the Oplev mirrors in the nominal positions.
  • I placed the counter weight near previous position.
  • I moved a edge hanging counter weight to get back the level meter to its previous state coarsely.
  • Then I used dataviewer to find the previous OSEM PD monitor values and changed ITMX PIT and YAW to come closer to those PD values. And voila, I regained the flashing on Xarm. I nudged the ITMX pit and yaw bit more to maximize it.
  • I then went back to aligning the Oplevs properly.
  • Then I adjusted the POP mirrors to get the beam back through center of window. This was very tricky and took a lot of time.
  • Now the beam is going through near center and the oplev beams are far away enough from POP_SM5.
  • On the outside table, I noted the POP beam and the oplev beam. I corrected the pit of the returning beam to get the oplev beam at nominal height on outside table.

ITMX Sat Amp is flaky

[Anchal, Paco]

During the above work, i must have kicked the cable between the vacuum flange and the satellite amplifier box for ITMX. This disconnected all the OSEMs and Coils. We tried several things to debug this and finally found that nudging the connections on Sat Amp box brought the OSEMs and coils back online. Note that the connector was not partially out or in a state that obviously showed disconnection of the pins. I'm glad we are putting in new electronics soon for the vertex optics as well.

Next steps:

  • I showed Tega the returning oplev beam and the POP beam coming out of the ITMX chamber.
  • The Oplev beam paths need to be adjusted.
    • The ongoing beam steering mirror is blocking the returning beam, so the ongoing path needs to be changed.
    • First setup two irises to save ingoing path.
    • Then make space for the returning beam by changing the steering mirror positions.
    • Then recover the ingoing path to the center of irises.
    • Steer the returning beam to the QPD.
    • Then maximize the flashing on XARM and center the oplev to save this position.
  • POP beam needs to be directed to previous setup on far side of table.
    • The POP beam is coming out at the rising angle.
    • This is good for us if we do bit unconventional stuff and transfer the beam to other side of table at an elevated height. Given how close all the beams are coming out of the viewport, I think this is the best solution in terms of saving time.
    • Get the beam down to the old setup which was camera and photodiodes all aligned.



  16849   Thu May 12 20:11:18 2022 AnchalUpdateBHDBHDBS Output beams steered out to ITMY table

I successfully steered out the two output beams from BHD BS to ITMY table today. This required significant changes on the table, but I was able to bring back the table to balance coarsely and then recover YARM flashing with fine tuning of ITMY.

  • The counterweights were kept at the North end of the table which was in way of one of the output beams of BHD.
  • So I saved the level meter positions in my head and removed those counterweights.
  • I also needed to remove the cable post for ITMY and SRM that was in the center of the table.
  • I installed a new cable post which is just for SRM and is behind AS2. ITMY's cable post is next to it on the other edge of the table. This is to ensure that BHD board can come in later without disturbing existing layout.
  • I got 3 Y1-45P and 1 Y1-0 mirror. The Y1-0 mirror was not installed on a mount, so I removed an older optic which was unlabeled and put this on it's mount.
  • Note that I noticed that some light (significant enough to be visible on my card) is leaking out of the 45P mirrors. We need to make sure we aren't loosing too much power due to this.
  • Both beams are steered through the center of the window, they are separating outside and not clipping on any of the existing optics outside. (See attachment 1, the red beam in the center is the ITMY oplev input beam and the two IR beams are the outputs from BHD BS).
  • Also note that I didn't find any LO beam while doing this work. I only used AS beam to align the path.
  • I centered the ITMY oplev at the end.

Next steps:

  • LO path needs to be tuned up and cleared off again. We need to match the beams on BHD BS as well.
  • Setup steering mirrors and photodiodes on the outside table on ITMY.
  16854   Mon May 16 10:49:01 2022 AnchalUpdateDAQDAQ troubleshooting

[Anchal, Paco, JC]

Thanks Chris for the fix. We are able to access the testpoints now but we started facing another issue this morning, not sure how it is related to what you did.

  • The C1:LSC-TRX_OUT and C1:LSC-TRY_OUT channels are stuck to zero value.
  • These were the channels we used until last friday to align the interferometer.
  • These channels are routed through the c1rfm FE model (Reflected Memory model is the name, I think). These channels carry the IR transmission photodiode monitors at the two ends of the interferometer, where they are first logged into the local FEs as C1:SUS-ETMX_TRX and C1:SUS-ETMY_TRY .
  • These channels are then fed to C1:SCX-RFM_TRX -> C1:RFM_TRX -> C1:RFM-LSC_TRX -> C1:LSC-TRX and similar for Y side.
  • We are able to see channels in the end FE filtermodule testpoints (C1:SUS-ETMX_TRX_OUT & C1:SUS-ETMY_TRY_OUT)
  • However, we are unable to see the same signal in c1rfm filter module testpoints like C1:RFM_TRX_IN1, C1:RFM_TRY_IN1 etc
  • There is an IPC error shown in CDS FE status screen for c1rfm in c1sus. But we remember seeing this red for a long time and have been ignoring it so far as everything was working regardless.

The steps we have tried to fix this are:

  • Restart all the FE models in c1lsc, c1sus, and c1ioo (without restarting the computers themselves) , and then burt restore.
  • Restart all the FE models in c1iscex, and c1iscey (only c1iscey computer was restarted) , and then burt restore.

These above steps did not fix the issue. Since we have  the testpoints (C1:SUS-ETMX_TRX_OUT & C1:SUS-ETMY_TRY_OUT) for now to monitor the transmission levels, we are going ahead with our upgrade work without resovling this issue. Please let us know if you have any insights.

  16859   Mon May 16 19:14:17 2022 AnchalUpdateBHDCamera set on AS path and BHDBS output path

[Anchal, Paco, Yuta]

  • We aligned AS path avoiding any clipping to the AP table where we setup a camera with a lens.
    • To do this we had to move AS6 in North direction for ~1cm.
    • The Injection table was imbalanced by this move to drop the IMC transmission to half.
    • We did not balance the table again, we steered the input mirror to reach to 1000 counts (out of 1200 nominal) and then used WFS loop to get to the last bit.
    • The input to the arm cavities did not change much, XARM was still flashing to 0.8 max height and YARM to 0.2. We recovered these easily using the cavity mirror pair.
  • We aligned the LO beam to be spatially matched on BHDBS with AS path.
    • The LO beam was steered to roughly overlap with the AS beam outputs on the BHDBS.
    • However, the LO beam size is very large and diverges after LO4.
    • According to 40m/15379, the 0.15m ROC of LO4 right after the beam waist is supposed to collimate the beam to a 522 um waist.
    • We confirmed that LO4 is marked as a 0.15m ROC mirror on its edge and the HR coating is facing the incident beam.
      • Conjecture (AG): The coating was applied to the flat side of the optic instead of the curved side.
      • This would explain why the beam is continuing to diverge after reflecting from LO4, and diverging fast.
    • We need to fix this issue before pumping down otherwise the mode matching would be too poor in BHDBS to have any meaningful results.
  • The output of BHDBS was steered out and a GigE camera is set up to see this path.
    • The camera is set to see the transmitted AS beam from BHD BS (and reflected LO beam).
    • But the camera is unable to see any LO beam due to large divergence.
    • The LO beam essentially disappears after ~30 cm from the BHDBS.


  16860   Tue May 17 18:43:38 2022 AnchalUpdateBHDPlaced SRM in ITMY Chamber

[Anchal, Paco, Yuta]

SRM Placement

  • SRM was moved from its parked location to the nominal position in the ITMY chamber.
  • This imbalanced the table a lot as all SOS towers ended up on the south side of the table.
  • I needed additionally three SOS tower side walls to recover the balance of the table.
    • I initially tried to use a level meter on my phone which claimed to have 0.1 degrees of accuracy. But it turned out to be a bad idea.
    • Eventually, I used the spirit bubble level meter we have, along with the OSEM values of ITMY, AS1, and AS4.
  • At the end, the table is balanced as it was before, all SOS are damping usually.

SRM Sat Amp Box setup

  • SRM Gold Box Sat Amp was found near the BS chamber.
  • This box was moved to the ITMY chamber.
  • The new flange on the East end was marked earlier for SRM. This flange on the vacuum side was connected with new in-vacuum blue ribbon cables.
  • We had previously moved the cable post for SRM (40m/16849) behind AS2. This cable post is connected to the old in-vacuum cable.
  • It would have changed the table balance to remove this cable post and connect new in-vacuum cables to it, so we decided to do this in the next vent when we put the BHD board on the table.
  • For now, we connected the old in-vacuum cable to the new in-vacuum blue ribbon cables inside.
    • Note, that the old in-vacuum cable has a gender flipping section which also mirrors the pin layout.
    • We installed pin mirroring cables on the outside between the Sat Amp Box and the vacuum flange to revert back the additional mirroring.
    • However it happened, now the Sat Amp Box is working, with all OSEMs and coils alive.
  • One peculiarity we found was that the SRM face OSEMs have only about 250-300 um of range, which is roughly 3 times less than the other OSEMs in other SOSs.
  • SRM side OSEM however behaves normally.
  • After installment, at the free-hanging state, SRM LL OSEM is saturated (too bright) and other face OSEMs are close to total brightness state.
  • We'll first put the alignment offsets to get the SRM perpendicular to the beam coming from SR2 and then center the OSEMs in this tiny range.
  • The low OSEM range could be due to improper biasing from the Sat Amp Box. Hopefully, with new electronics, this issue would go away in future.
  16862   Wed May 18 09:02:52 2022 AnchalUpdateBHDWFS1 PD centered

I centered WFS1 PD so that IMC WFS Servo does not go out of range.


  16863   Wed May 18 17:23:15 2022 AnchalUpdateBHDPlaced PRM in BS Chamber

[Anchal, Paco, Yuta, JC]

SRM Oplev setup

  • We setup SRM oplev path for the aligned position of SRM.
  • This was bit hard, because the return beam was following almost the same path as the input beam, and the return beam had become about 1 cm in diameter.
  • We replaced one of the in-air steering mirror of SRM op-lev input beam with a 1 inch BS on a non-steeerable mount.
  • The returning oplev beam is picked at transmission from this BS.
  • Note: we are not sure if this BS is actually coated for IR or Visible. We couldn't find a visible BS in the lab. We should order a 2 in diameter visible BS to be placed in this position.
  • Half of the input beam would be used for PRM Oplev input.
  • The returning beam was focused with a 100mm focal length lens. Again, this lens is not verified to be for visible wavelength. We think it might have an AR coating for IR. We should get a visible lens for this position also.

PRM Placement

  • PRM placed in nominal position + 2 cm, East.
  • Currently, PRM SOS tower is blocking BS oplev input beam, this needs to be adjusted.
  • Installed PRMOL at nominal position + 2 cm East (to clear path from TT2)
  • I balanced the table succesfully, first using spirit bubble level and then OSEM levels of BS, SR2, PR3 and LO2.
    • Note, that we need to adjust OSEM positions in many of these SOS before pumping down.
  • Input beam from TT2 is going through center of PRM but the reflction is not coming back from PR2, maybe it is missing PR2 or PR2 alignment needs to be adjusted.
  16866   Thu May 19 19:05:59 2022 AnchalUpdateBHDBS Chamber all work finished, BHD path setup

[Anchal, Paco, Yuta]

BS Oplev Path

  • The changed position of PRM (40m/16863) meant that BS oplev path is getting clipped by the PRM SOS tower.
  • We had to move BSOL ~ 16 cm North and ~ 1.7 cm East.
  • This means that the BS Oplev input beam is now coming behind TT2 instead of infront of it.
  • We also had to align the beam such that input and returning beam are colinear.
  • This meant we, had to change the mount of the upstream beamsplitter in the in-air table so that we can use that for separating the return beam.
  • Again, we should order 2 inc visible BS for this path.
  • Half of the return beam is making its way all the way back to the laser head. I'm not sure if that can be an issue for our oplev loops.
  • We kept the SRM Oplev path same using irises on the table.

PRM Oplev

  • Again, due to changed position of PRM and BS Oplev, it became very hard to setup oplev for PRM.
  • We found a special position which allows us to catch returning beam through the center of the window.
    • But this returning beam is not prompt reflection from PRM, it is reflection of the HR surface.
    • We are hitting about ~5 mm from the edge of PRMOL mirror (because we cannot move the mirror anymore south to avoid clipping BS and SRM input oplev beams)
    • We put in a 1.1m focal length lens in the input beam to narrow the beam on PRMOL so that it doesn't clip
  • We did not put any lens for the return beam. The sensitivity of this oplev might be low due to slighlty bigger beam on the QPD than others (SRM, BS). We can revisit and insert a lens later if required.

Interferometer alignment and PRM alignment

  • The work on BS table did not change the table balance much. We got back the alignment pretty much instantly.
  • We were able to maximize the arm transmissions.
  • Then we used a beam card with hole to check for reflection from PRM and used PRM (mostly pitch correction) to get the return beam back in same way.
  • This recovered REFL beam on the camera. We used REFLDC signal to align PRM better and maximized it.
  • We centered BS, SRM and PRM oplevs after this point.

LO beam mode correction and spatial overlap

  • We tried changing the distance between LO3 and LO4 to get a better output LO beam.
  • We also tried to swap the LO4 mirror with the spare mirror but we had the same result.
  • Eventually, we decided to move LO3 back to East and LO4 to the west edge of the table. This made the beam sizes comparable.
    • Future exercise: We think that LO1 or LO2 might be significantly off-spec in their ROCs which might cause this issue.
    • We should rerun the calculations with the ROC values of LO1 and LO2 written in the datasheets and figure out the correct LO3-LO4 length required.
    • We can make this change in the next vent if required.
  • After the beam sizes were looking approximately similar but more iterations of changing length and realigning are required.

Remaining tasks before pumpdown

  • Push/pull too bright/dark OSEMs in the SOSs (40m/16865).
  • Finish LO beam mode correction and spatial overlap.
  • Center all oplevs, note all beam positions on camera, and note down all DC PD values at proper alignment.
  16872   Tue May 24 15:21:13 2022 AnchalUpdateBHDFreeswing tests of new SOS started

I modified the script freeSwing.py to use damping loop output switches to free the optic instead of watchdog or coil output filters. This ensures that the free swing test is being done at the nominal position of the optic. I started tests for LO1, LO2, As2, As4, PR2, PR3, and SR2 in a tmux session names freeSwing on rossa.

Note: LO2 face OSEMs are hardly sensitive to any motion right now due to excessive pitch offset required for LO beam. We should relieve this offset to LO1 and rerun this test later.

  15851   Mon Mar 1 11:40:15 2021 Anchal, PacoSummaryIMCgetting familiar with IMC controls

[Paco, Anchal]

tl;dr: Done no harm, no lasting change.

Learn burtgooey

- 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)

Identifying video monitors

- 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]

Unlocking MC

- 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.


  15982   Wed Mar 31 22:58:32 2021 Anchal, PacoUpdateSUSMC2 Coil Balancing Test

A cross-coupling test has been set to trigger at 05:00 am on April 1st, 2021. The script is waiting on tmux session 'cB' on pianosa. /scripts/SUS/OutMatCalc/MC2crossCoupleTest.py is being used here. The script will switch on oscillator in LOCKIN1 of MC2 at 13 Hz and 200 counts and would send it along the POS, PIT and YAW vectors on output matrix one by one, each for 2 minutes. It will take data from C1:IOO-MC_F_DQ, C1:IOO-MC_TRANS_PIT_ERR and C1:IOO-MC_TRANS_YAW_ERR and use it to measure 'sensing matrix' S. Sensing matrix S is defined as the cross-coupling between excited and sensed DOF and we ideally want it to be an identity matrix. The code will use the measured S to create a guess matrix A which on being multiplied by ideal coil output matrix would give us a rotated coil output matrix O. This guess O will be applied and the measurement will be repeated. On each iteration, next, A matrix is defined by:

A_{k+1} = (1 + \beta) A_k - \beta S_k A_k

This recursive algorithm converges A to the inverse of initial S. The above relation is derived by noticing that in steady state A S = \mathrm{I} \Rightarrow A = A S A \Rightarrow A = A - \beta(A S A - A). I've taken this idea from a mathematics paper I found on some more complex stuff (c.f. https://doi.org/10.31219/osf.io/yrvck).

At each iteration, all three matrices A, O and S will be stored in a text file for analysis later.

The code has the error-catching capability and would restore the optic to the status quo if an error occurs or watchdogs trip due to earthquakes.

  15984   Thu Apr 1 13:56:49 2021 Anchal, PacoUpdateSUSMC2 Coil Balancing Test Results

The coil balancing attempt failed. The off-diagonal values in the measured sensing matrices either remained the same or increased.

The attempt in the morning was too slow. By the time we reached, it had reached to iteration 7 only and still nowhere near optimum sensing matrix had reached. We still needed to see if the optimum would eventually reach if more iterations happened.

<Radhika came for shadowing us and learning about 40m>

So we worked a bit on speeding up the data loading process and then ran the code again which now was running much faster. Still within 1 hr or so, we saw it had reached to iteration 7 with no sign of sensing matrix getting any better.

<Paco left for vaccination>

To determine if the method would work in principle, I decided to stop the current run and start with a 0.5 Hz bandwidth run (so about 7 averages with 8s duration data and welch method). This completed 20 iterations before Gautum came. But it was clear now that the method is not converging to a better solution. Need to find a bug in the implementation of the algorithm mentioned in last post or find a better algoritm.

Attachment 1 is the plot of how the sensing matrix's distance from the identity matrix increased over iterations in the last run.

Attachment 2 is the plot for different off-diagonal terms in the sensing matrix. It is clear that POS->PIT,YAW coupling is not being measured properly as it remains constant.

Attachment 3 Gautum told us that there is some naming error in nds and MC_TRANS_PIT/YAW can be read through C1:IOO-MC_TRANS_PIT_ERR and C1:IOO-MC_TRANS_YAW_ERR channels instead. To test if they indeed point to same values, we did a test of exciting YAW degree through LOCKIN1 and seeing if the peaks are visible in the channels. This was also done to give Radhika an opportunity to do something I could confidently mentor about. and to experience using diaggui.

  15985   Thu Apr 1 18:01:06 2021 Anchal, PacoUpdateSUSMC2 Coil Balancing Test Results Success??

After fixing a few things we felt were wrong in our implementation of the algorithm, we ran the coil balancing for 12 iterations with just 11s per excitation and still taking CSD with 0.1 Hz bandwidth. This time we saw the distance of sensing matrix from identity going down.

Performance Analysis

  • Attachment 1 shows the trend of distance of Sensing matrix from identity matrix over iterations.
  • Attachment 2 shows the trend of off-diagonal terms in sensing matrix over iterations.
  • Attachment 3 shows the ASD for the different sensed DOF when excited in different DOFs with the new output matrix. This is the better truth of what happened by the end. The true sensing matrix is proportional to the peak heights in this plot. Rows are different sensed DOFs (POS, PIT, YAW) and columns are excited DOFs (POS, PIT, YAW). The black dotted curves are ASD when no excitation was present.

Next step

  • We want to run it for longer, more iterations and more duration to get better averaging. Hopefully, this will do a better job. We'll try running this new code tomorrow at 5:00am.
  • We'll work on using uncertainties of measured data.
  • Use awg to excite all DOF together at different frequencies and make the code faster.
  15995   Mon Apr 5 08:25:59 2021 Anchal, PacoUpdateGeneralRestore MC from early quakes

[Paco, Anchal]

Came in a little bit after 8 and found the MC unlocked and struggling to lock for the past 3 hours. Looking at the SUS overview, both MC1 and ITMX Watchdogs had tripped so we damped the suspensions and brought them back to a good state. The autolocker was still not able to catch lock, so we cleared the WFS filter history to remove large angular offsets in MC1 and after this the MC caught its lock again.

Looks like two EQs came in at around 4:45 AM (Pacific) suggested by a couple of spikes in the seismic rainbow, and this.

  16001   Tue Apr 6 18:46:36 2021 Anchal, PacoUpdateSUSUpdates on recent efforts

As mentioned in last post, we earlier made an error in making sure that all time series arrays go in with same sampling rate in CSD calculation. When we fixed that, our recursive method just blew out in all the efforts since then.

We suspect a major issue is how our measured sensing matrix (the cross-coupling matrix between different degrees of freedom on excitation) has significant imaginary parts in it. We discard the imaginary vaues and only use real parts for iterative method, but we think this is not the solution.

Here we present cross-spectral density of different channels representing the three sensed DOFs (normalized by ASD of no excitation data for each involved component) and the sensing matrix (TF estimate) calculated by normalizing the first cross spectral density plots column wise by the diagonal values. These are measured with existing ideal output matrix but with the new input matrix. This is to get an idea of how these elements look when we use them.

Note, that we used only 10 seconds of data in this run and used binwidth of 0.25Hz. When we used binwidth of 0.1 Hz, we found that the peaks were broad and highest at 13.1 Hz instead of 13 Hz which is the excitation frequency used in these measurements.

How should we proceed?

  • We feel that we should figure out a way to use the imaginary value of the sensing matrix, either directly or as weights representing noise in that particular data point.
  • Should we increase the excitation amplitude? We are currently using 500 counts of excitation on coil output.
  • Are there any other iterative methods for finding the inverse of the matrix that we should be aware of? Our current method is rudimentary and converges linearly.
  • Should we use the absolute value of the sensing matrix instead? In our experience, that is equivalent to simply taking ratios of the PSD of each channel and does not work as well as the TF estimate method.
  16007   Thu Apr 8 17:04:43 2021 Anchal, PacoUpdateSUSFirst Successful Coil Balancing

Today, we finally crossed the last hurdle and got a successful converging coil balancing run. laugh

What was the issue with POS?

  • Position of the MC2 mirror is being sensed using C1:IOO-MC_F_DQ channel which is proportional to the resonant frequency of the locked IMC.
  • However, this sensor is always 180 degrees out of phase of our actuator, the coils.
  • When the coils push the mirror forward, the length of the cavity actually decreases.
  • We added an extra option of providing a sign to the sensors such that -1 will be multiplied to sensed values for sensors which measure in opposite direction to the actuation.
  • This is important, because the feedback is applied to the coil output matrix assuming a particular direction of acctuation.
  • When we gave negative sign for the position sensor, it all started making sense and the algorithm started converging.

First run parameters:

  • We used binwidth of 0.25 Hz and duration of excitation as 41s. This would give welch and csd averaging of 19. We used median averaging to ignore outliers.
  • This iteration was run after PIT and YAW were separetly uncoupled before. We'll post a clean start to end run results in near future.
  • The iteration works in following manner:
    • Define a constant coil matrix C = [[1, 1, 1], [1, 1, -1], [1, -1, 1], [1, -1, -1]] which is ideal coil output matrix.
    • In each iteration, the output matrix Ok is defined as (note @ is the matmul operator):
      Ok = C @ Ak
      where Ak is a 3x3 matrix. A-1 is identity matrix.
    • At the end of each iteration, a sensing matrix is calculated in dimensions sensedDOF x excitedDOF, Sk
    • For next iteration, Ak+1 is calcualted by:
      Ak+1 = Ak - b * (Sk - I)
      where I is the identity matrix.
    • At convergence, the sensing matrix would become same as identity and matrix A will stop updating.
  • For this run, we kept the parameter b to be 0.05. This is similar to the KP parameter in PID loops. It should be between 0 and 1.
  • Since b value was small enough to allow for convergence from the inital point, but later it slowed down the process a lot.
  • Ideally, we should figure out a way to increase this paramter when the coil has been balanced somewhat, to increase the speed of the algorithm.
  • Secondly, we have a code which excites all DOFs at different frequencies directly using excitation channels in coil output matrix using awg.py. But for some reason, the excitation channel for 4th row in the output matrix column only connects intermittantly. Because of this, we can't use this method reliably yet. We can investigate more into it if suggested.

Balancing characteristics:

  • Attachment 1 shows how the distance of sensing matrix falls as iterations increase. We only ran for 50 iterations.
  • Attachment 2 shows how different off-diagonal terms of sensing matrix decreased.
    • Note that POS -> PIT, POS -> YAW and PIT-YAW have settled down to the noise floor.
    • The noise floor can be improved by increasing the excitation amplitude and/or increasing the duration of measurement.
  • Attachment 3 shows the evolution of sensing matrix as iterations move.

Final balanced output matrix:

Final balanced output coil matrix for MC2
1.02956 1.13053 1.19116 UL
1.01210 1.09188 -0.74832 UR
0.98737 -0.85502 0.70485 LR
0.96991 -0.89366 -1.23463 LR
Final Sensing Matrix
  Exc POS Exc PIT Exc YAW
Sens POS 1 -2.96e-2 8.00e-3
Sens PIT 8.58e-4 1 -4.84e-3
Sens YAW 5.97e-4 -1.15e-3 1

Code features and next:

  • Majority of the code is in two files: scripts/SUS/OutMatCalc/MC2crossCoupleTest.py and scripts/SUS/OutMatCalc/crossCoupleTest.py .
  • The code runs from start to end without human involevement and restores the state of channels in any case (error, kyboard interrupt, end of code) using finally statement.
  • Currently, each excitation is done one at a time through LockIn1. As mentioned above, this can be sped up 3 times if we get the awg.py to work reliably.
  • The complete code is in python3 and currently is run through native python3 on allegra (a new debian10 workstation with latest cds-workstation installed).
  • The code can be easily generalized for balancing any optic. Please let us know if we should work on making the generalized optic.
  • We're also working on thinking about increasing b as iterations move forward and the error signal becomes smaller.
  • We can also include the uncertainty in the Sensing matrix measurement to provide a weighted feedback. That way, we can probably increase b more.
  16009   Fri Apr 9 13:13:00 2021 Anchal, PacoUpdateSUSFaster coil balancing

We ran again this method but with the 'b' parameter as a matrix instead. This provides more gain on some off-diagonal terms than others. This gave us a better convergence with the code reaching to the tolerance level provided (0.01 distance of S matrix from identity) within 16 iterations (~17 mins).

Attachment 1 again shows how the off-diagonal terms go down and how the overall distance of sensing matrix from identity goes down. This is 'Cross coupling budget' of the coils as iterations move forward.

Jumping to near zero-crossing:

  • Rana mentioned a ezlockin code which first makes 5 step changes in output matrix without using feedback and calculates the changes required to reach zero-crossing in the behavior of the off-diagonal terms during these steps.
  • This is similar to what we did above by hand where we increased the value of b for slowly converging off-diagonal elements.
  • We plan to implement this 'jump' to near zero-crossing method next. Aim is to get a coil balancing code that does the job in ~5 min.
  • We have been throwing away imaginary part of sensing matrix so far. We wanted to get to some owrking solution before we try more complex stuff. We have to figure out global phases in each transfer function estimate to rotate the measured transfer function appropriately.
  16016   Mon Apr 12 08:32:54 2021 Anchal, PacoSummaryPSLPMC unlocked at 2pm on Sunday; ~ Restored

PMC lost lock between 21:00 and 22:00 UTC on April 11th as seen in the summary pages:


That's between 2pm and 3pm on Sunday for us. We're not sure what caused it. We will attempt to lock it back.

Mon Apr 12 08:45:53 2021: we used milind's python script in scripts/PSL/PMC/pmc_autolocker.py. It locked the PMC in about a minute and then IMC catched lock succefully.

However, the PMC transmission PD shows voltage level of about 0.7V. On medm, it is set to turn red below 0.7 and yellow above. In Summary pages in the past, it seems like this value has typically been around 0.74V. Simil;arly, the reflection RFPD DC voltage is around 0.063 V right now while it is supposed to be around 0.04 nominally So the lock is not so healthy.

We tried running this script and the bashscript version too (scripts/PSL/PMC/PMCAutolocker) a couple of times but it was unable to acquire lock.

Then we manually tried to acquire lock by varying the C1:PSL-PMC_RAMP (with gain set to -10 dB) and resetting PZT position by toggling Blank. After a few attempts, we were able to find the lock with transmission PD value around 0.73V and reflection RFPD value around 0.043. PZT control voltage was 30V and shown in red in medm to begin with. So we adjusted the output ramp again to let it come to above 50V (or maybe it just drifted to that value by itself as we could se some slow drift too). At Mon Apr 12 09:50:12 2021 , the PZT voltage was around 58V and shown in green.

We assume this is a good enough point for PMC lock and move on.

  16042   Fri Apr 16 11:36:36 2021 Anchal, PacoUpdateSUSTested proposed filters for POS colum in MC2 output matrix

We tried two sets of filters on the output matrix POS column in MC2. Both versions failed. Following are some details.

How test was done:

  • PSL shutter was closed and autolocker was switch off.
  • Turned off damping on POS, PIT, and YAW using C1:SUS-MC2_SUSPOS_SW2, C1:SUS-MC2_SUSPIT_SW2, and C1:SUS-MC2_SUSYAW_SW2.
  • Reference data was taken with no excitation to get relative increase at excitation.
  • Frist we sent an excitation through LOCKIN1 at 0.11 Hz and 500 counts amplitude.
  • LOCKIN column in MC2 output matrix was kept identical to POS column, so all ones.
  • This formed our reference data set when no filters were used. Attachment 1.
  • Note that the peak at 0.03 Hz is due to LOCKIN2 that was left switched on due to autolocker.
  • Then the calculated filters were loaded using foton. Procedure:
    • Right click on filter bank med. Got to Execute-> Foton.
    • Go to File and uncheck 'Read Only'.
    • Find the filter module name in Module drop down.
    • Select an empty module section in Sections.
    • Write a name for the filter. We used DCcoupF2A and DCcouF2A2 for the two version respectively.
    • Paste the zpk foton format in Command.
    • Check with Bode plot if these are correct filters. Then click on Save. It will take about 30s to become responsive again.
    • GO back to filter bank medm screen and click on 'Load Coefficients'. This should start displaying your new filter module.
    • To switch on the module, click on the button below its name.
  • Once fitlers were loaded, we realized we can not use the LOCKIn to excite anymore as it comes as separate excitation.
  • So we used awggui to excite C1:SUS-MC2_LSCEXC at 0.11 Hz and 500 counts.
  • Then we retook the data and checked if the peaks are visible on PIT and YAW channels and how high they are.

Filer version 1

  • This was calculated by starting from ideal output matrix elements as they are currently loaded. All 1's for POS and so on.
  • The calculations were done in scripts/SUS/OutMatCalc/coilBalanceDC.py.
  • This file uses a state space model of the suspension and calculated the cross-coupling. Then the cross coupling is inverted and applied to the current output matrix elements to get correction DC gains.
  • These corrected DC gains are then used to create the filters as described in last post.
  • Attachment 2 shows the filter transfer functions and Attachment 3 shows the test results. Failed :(.
  • There was practivally no change in cross coupling that we can see.

Filter version 2:

  • In this version we used the output matrix optimized at high frequencies earlier (16009).
  • While testing this version, we also uploaded this optimised output amtrix at high frequency.
  • In this test, we realized the LOCKIN2 was on and switched it off manually. All excitations were done through awggui.
  • Attachment 4 shows the filter transfer functions and Attachment 5 shows the test results. Failed :(.
  • There was again practivally no change in cross coupling that we can see.

Forgot to upload new MC2 input matrix:

  • In hindsight, we should have uploaded our diagonalized suspension input matrix in MC2.
  • Without it, there was cross-coupling the in the sensor data to begin with.
  • But this can only be part of the reason why all our filters failed miserably.
  • Because the output matrix was not diagonalized earlier but it was not so bad. Onyl a fresh test can tell if it was the culprit.
  16049   Mon Apr 19 12:18:19 2021 Anchal, PacoUpdateSUSTested proposed filters for POS colum in MC2 output matrix

The filters were somewhat successful, how much we can see in attachment 1. The tip about difference between eigenmode basis and cartesian basis was the main thing that helped us take data properly. We still used OSEM data but rotated the output from POS, PIT, YAW to x, theta, phi (cartesian basis where x is also measured as angle projected by suspension length).

Eigenmode basis and Cartesian basis:

  • It is important to understand the difference between these two and what channels/sensors read what.
  • Eigenmode basis as the name suggests is the natural basis for the suspended pendulum.
    • It signifies the motion along three independent and orthogonal modes of motion: POS (longitudinal pendulum oscillation), PIT, and YAW.
    • The position of optic can be written in eigenmode basis as three numbers:
      • POS: Angle made by the center of mass of optic with verticle line from suspension point.
      • PIT: Angle made by the optic face with the suspension wires (this is important to note).
      • YAW: Angle made by optic surface with the nominal plane of suspension wires. (the yaw angle basically).
  • Cartesian basis is the lab reference frame.
    • Here we define three variables that can also represent an optic positioned and orientation:
      • x: Angle made by the center of mass of optic with verticle line from suspension point. (Same as POS)
      • \large \theta: Angle made by the optic surface with absolute verticle (z-axis) in lab frame.
      • \large \phi: Twist of the optic around the z-axis. Same as YAW angle above.
  • We want to apply the feedback gains and filters in eigenmode basis because they are a set of known independent modes. (RXA: NOOO!!!!!! read me elog entry on this topic)
  • Hence, the output from input matrix of suspensions comes out at POS, PIT and YAW in the eigenmode basis.
  • However, the sensors of optic positional, and orientation such at MC_F, wave front sensors and optical levers measure it in lab frame and thus in cartesian basis.
  • Essentially, the \large \theta measured by these sensors is different from the PIT calculated using the OSEM sensor data and is related by:
    • \large \theta = PIT - POS, where PIT and POS both are in radians as defined above.
  • When we optimized the cross-coupling in output matrix at high frequencies using the MC_F and WFS data, we actually optimized it In cartesian basis.
  • The three feedback filters from POS, PIT and YAW which carry data in the eigenmode basis need to be rotated into the cartesian basis in the output matrix before application to the coils.
  • The so-called F2A and A2L filters are essentially doing this rotation.
  • Above the resonant frequencies, the PIT and \large \theta become identical. Hence we want our filters to go to unity

The two filter sets:

  • The filters are named Eg2Ctv1 and Eg2Ctv2 on the POS column of MC2 output matrix.
  • This is to signify that these filters convert the POS, PIT, and YAW basis data (eigenmode basis data) into the cartesian basis (x, theta, phi) in which the output matrix is already optimized at higher frequencies.
  • v1 filter used an ideal output matrix during the calculation of filter as described in 16042 (script at scripts/SUS/OutMatCalc/coilBalanceDC.py).
  • Attachment 2 shows these filter transfer functions.
  • v2 filter use the output matrix optimized to reduce cross-coupling amount cartesian basis modes (MC_F, WFS_PIT and WFS_YAW) in 16009.
  • Attachment 3 shows these filter transfer funcitons.
  • Because of this, the v2 filter is different among right and left coils as well. We do see in Attachment 1 that this version of filter helps in reducing POS->YAW coupling too.

Test procedure:

  • We uploaded both the diagonalized input matrix and the diagonalized output matrix as calculated earlier.
  • We measured channels C1:SUS-MC2_SUSPOS_IN1_DQ, C1:SUS-MC2_SUSPIT_IN1_DQ, and C1:SUS-MC2_SUSYAW_IN1_DQ throughout this test.
  • These channels give output in an eigenmode basis (POS, PIT, and YAW) and the rows of the input matrix have some arbitrary normalization.
  • We normalize these channels to have same input matrix normalization as would be for ideal matrix (2 in each row).
  • Then, assuming the UL_SENS, UR_SENS, LR_SENS, and LL_SENS channels that come at input of the input matrix are calibrated in units of um, we calculate the cartesian angles x, theta, phi. for this calculation, we used the distance between coils as 49.4 mm (got it from Koji) and length of suspension as 0.2489 m and offset of suspension points from COM, b = 0.9 mm.
  • Now that we have true measures of angles in cartesian basis, we can use them to understand the effect on cross coupling from the filters we used.
  • PSL shutter is closed and autolocker is disabled. During all data measurements, we switched of suspension damping loops. This would ensure that our low frequency excitation survives for measurement at the measurement channels.
  • We first took reference data with no excitation and no filters for getting a baseline on each channel (dotted curves in Attachment 1).
  • We then send excitation of 0.03 Hz with 500 counts amplitude at C1:SUS-MC2_LSC_EXC and switched on LSC output.
  • One set of data is taken with no filters active (dashed curve in attachment 1).
  • Then two sets of data are taken with the two filters. Each data set was of 500s in length.
  • Welch function is used to take the PSD of data with bin widht of  0.01Hz and 9 averages.


  • Filter v1 was the most successful in reducing \large x \rightarrow \theta coupling by factor of 17.5.
    • The reduction in \large x \rightarrow \phi coupling was less. By a factor of 1.4.
  • Filter v2 was worse but still did a reduction of \large x \rightarrow \theta coupling by factor of 7.8.
    • The reduction in \large x \rightarrow \phi coupling was better. By a factor of 3.3.

Next, filters in PIT columns too

  • We do have filters calculated for PIT as well.
  • Now that we know how to test these properly, we can test them tomorrow fairly quickly.
  • For the YAW column though, the filters would probably just undo the output matrix optimization as they are derived from ideal transfer function models and ideally there is no coupling between YAW and other DOFs. So maybe, we should skip putting these on.
ELOG V3.1.3-