40m QIL Cryo_Lab CTN SUS_Lab CAML OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log, Page 3 of 350  Not logged in ELOG logo
ID Datedown Author Type Category Subject
  17514   Mon Mar 20 20:27:30 2023 yutaUpdateBHDLO phase noise contribution in MICH BHD

[Paco, Yuta]

MICH was locked with balanced homodyne readout with LO phase locked using BH55_Q and BH44_Q.
It turned out that BH44_Q gives better LO phase in MICH configuration (in FPMI, BH55_Q is better; see 40m/17506).
LO phase noise seems to contribute to MICH sensitivity in 30-200 Hz region in BH55 case, and 30-100 Hz in BH44 case (this was not the case in FPMI BHD, see 40m/17392).
The mechanism for this coupling needs investigation.

MICH BHD sensing matrix:
 - MICH BHD sensing matrix was measured when MICH is locked with AS55_Q and LO_PHASE is locked with BH55_Q or BH44_Q.
 - MICH UGF was at around 50 Hz, and LO_PHASE UGF was at around 10 Hz.
 - BHDC_DIFF had better sensitivity to MICH when LO_PHASE was locked with BH44_Q.
 - BH44 component was not measured well.

MICH sensing matrix with MICH locked with AS55_Q and LO_PHASE locked with BH55_Q

Sensing matrix with the following demodulation phases (counts/m)
{'AS55': 2.1, 'REFL55': 76.01784975834194, 'BH55': -63.16236453101908, 'BH44': -39.01036239539396}
Sensors       MICH @311.1 Hz           LO1 @315.17 Hz           
AS55_I       (+0.40+/-6.23)e+07 [0]    (-0.83+/-3.01)e+07 [0]    
AS55_Q       (+1.38+/-0.26)e+09 [0]    (+0.76+/-6.58)e+07 [0]   
BH55_I       (-3.22+/-0.37)e+09 [0]    (-0.81+/-8.42)e+07 [0]    
BH55_Q       (+4.03+/-0.52)e+09 [0]    (-4.01+/-1.05)e+08 [0]    
BH44_I       (-0.06+/-4.22)e+10 [0]    (+0.29+/-4.63)e+10 [0]    
BH44_Q       (-0.03+/-3.21)e+11 [0]    (+0.21+/-3.12)e+11 [0]    
BHDC_DIFF       (-1.07+/-0.39)e+09 [0]    
(-3.35+/-7.47)e+07 [0]    
BHDC_SUM       (+2.07+/-0.57)e+08 [0]    (+0.32+/-1.65)e+07 [0]

MICH sensing matrix with MICH locked with AS55_Q and LO_PHASE locked with BH44_Q

Sensing matrix with the following demodulation phases (counts/m)
{'AS55': 2.1, 'REFL55': 76.01784975834194, 'BH55': -63.16236453101908, 'BH44': -39.01036239539396}
Sensors       MICH @311.1 Hz           LO1 @315.17 Hz           
AS55_I       (+0.22+/-5.36)e+07 [0]    (+0.91+/-3.10)e+07 [0]    
AS55_Q       (+1.43+/-0.08)e+09 [0]    (-0.78+/-7.45)e+07 [0]   
BH55_I       (+4.92+/-5.18)e+08 [0]    (-5.20+/-7.93)e+07 [0]    
BH55_Q       (-1.45+/-0.75)e+09 [0]    (+1.76+/-0.59)e+08 [0]    
BH44_I       (+0.01+/-1.14)e+11 [0]    (+0.02+/-1.08)e+11 [0]    
BH44_Q       (+0.03+/-1.95)e+11 [0]    (+0.07+/-1.98)e+11 [0]    
BHDC_DIFF       (+3.05+/-0.17)e+09 [0]    
(+1.70+/-2.51)e+07 [0]    
BHDC_SUM       (-2.33+/-0.23)e+08 [0]    (+0.19+/-1.53)e+07 [0]

  - Jupyter notebook: /opt/rtcds/caltech/c1/Git/40m/scripts/CAL/SensingMatrix/ReadSensMat.ipynb

MICH BHD locking:
 - MICH lock with AS55_Q was handed over to BHD_DIFF using following ratio:
C1:LSC-PD_DOF_MTRX_3_4 = 1 (AS55_Q to MICH_A)
C1:LSC-PD_DOF_MTRX_4_34 = -1.34 (BHDC_DIFF to MICH_B, when BH55_Q is used)
C1:LSC-PD_DOF_MTRX_4_34 = 0.47 (BHDC_DIFF to MICH_B, when BH44_Q is used)

MICH BHD noise budget:
 - FM2 of C1:CAL-MICH_CINV was updated to 1/1.4e9 = 7.14e-10 to use measured optical gain.
 - Dark noise was measured at C1:CAL-MICH_W_OUT with PSL shutter closed, PD DOF matrix at various settings for various readout scheme.
 - Attachment #1 shows MICH sensitivity with MICH locked using AS55_Q (green), BHD_DIFF under BH55_Q (blue), BHD_DIFF under BH44_Q (red). BH44 case gives the least noise due to larger optical gain. However, there are excess noise at around 100 Hz, when MICH is locked with BHD_DIFF. The excess noise (bump at around 50 Hz) was similar to what we saw in LO phase noise estimate (40m/17511).
 - At low frequencies below ~30 Hz, the MICH sensitivity is probably limited by seismic noise, as it alignes with FPMI DARM sensitivity (orange curve; measured in 40m/17468).
 - Attachemnt #2 and #3 show estimate of LO phase noise contribution to MICH sensitivity in BH55 case and BH44 case. The coupling was estimated by measuring a transfer fuction from BH55_Q/BH44_Q to MICH_W_OUT. As there was significant coherence in 30-200 Hz region in BH55 case, and 30-100 Hz in BH44 case, transfer function value in that regions was used to estimate the coupling.
 - The coupling was estimated to be the following

 2e-10 m/count for BH55_Q to MICH_W_OUT (0.035 m/m using BH55_Q calibration factor to LO1 motion of 1.76e8 counts/m)
 2e-11 m/count for BH44_Q to MICH_W_OUT

 - Diaggui file: /opt/rtcds/caltech/c1/Git/40m/measurements/LSC/MICH/MICH_Sensitivity_Live.xml

  - Calibrate BH44_Q to LO1 motion
  - Measure transfer function from LO1 motion to BHD_DIFF under BH44 and BH55
  - Find out the cause of 50 Hz bump in LO phase noise
  - Compare LO phase noise coupling with simulations

  17513   Fri Mar 17 17:27:58 2023 Alex, TomohiroUpdateIMCArm Cavity Noise injection with WFS1/2 PIT and YAW

Tomohiro and I performed some tests under Rana's guidance to find cross corelations between WFS1 and WFS2 output signals in both pitch and yaw. We performed this test to further understand the degree to which our output matrices have been diagonolized.

Seen in attachment 1 is our base level with no injected noise source. In each figure, we also have inlcuded the coherence plot which compares each control signal to the overalll YARM power signal.

Attachments 2-5 display our results for injecting noise into each control signal individually.

We found the following corelations for each respective test:

Control Signal with Noise Corelated signals (order)
WFS1 PIT WFS1 YAW, WFS2PIT, WFS2 YAW (all equally corelated)
WFS1 YAW WFS1 PIT, WFS2 YAW, WFS2 PIT (most to least)
WFS2 PIT WFS1 PIT, WFS2 YAW, WFS1 YAW (most to least)
WFS2 YAW WFS2 PIT, WFS1 YAW (all equally corelated)

We judged our corelated signals by the peaks seen from out noise injection on the power spectrum as well as by their coherence at the same frequencies of our noise (20Hz-30Hz) compared to the overall power spectrum of YARM.


Performing this measurement was done using diaggui and awggui. The diaggui files for each test are saved at: "users/Templates/singleArmCal/ArmCavityNoise_230317_2_WFS1_PIT"

To properly fix each of the control signals to the same magnitude plotted for YARM output, we callibrated each plot using the settings seen in Attachment 7. First the units were changed on the plots to represent the true scale of each measurement:

We found that the ETMY actuation strength is 10.843e-9 / f^2 (from 17376) and used this to clibrate the plots to the nanometer scale. Next the gain was adjusted such that each plot would align over the YARM output when noise was injected onto it, setting a basis for all four measurements.

Finally, some filtering poles were added to the callibration for each plot such that it resembled that of the filters seen by the YARM ouput signal. (RXA: this is the 28 Hz ELP filter to simulate the dewhitening filters)

The measurements were taken with the settings seen in Attachment 8, and noise injected using the parameters seen in attachment 9.

RXA: Some edits/comments:

The noise was injected as band-limited random noise with a Normal distribution. We used noise rather than lines so as to capture the linear and bilinear noise contributions. In the case where the coupling is mostly bilinear, we would not expect to see much coherence.

The first attachment is a ASC noise budget for the single arm - in the high gain mode, the noise does not limit the noise as seen by the arm. Next is to see if its due to the MC dewhitening filters being on/off?

  17512   Thu Mar 16 13:31:25 2023 TomohiroUpdateIMCDiagonalizing YAW output matrix using a different method


  • To adjust the components of the WFS2 column in the YAW output matrix.
  • To check the value of the off-diagonal components of the WFS1 column.


Alex, Anchal, and I used the same method in 40m/17504 to adjust the components of the WFS2 column. And we did the same step response test to check the value of the off-diagonal components in the YAW output matrix.

Used script & file

All the scripts & files are stored in /opt/rtcds/caltech/c1/Git/40m/scripts/MC/WFS/ directory.

  • DiagnoalizatingMethod.ipynb: for adjusting the components and replacing the new output matrix,
  • toggleWFSoffsets.py: for doing the step response test,
  • IOO_WFS_YAW_STEP_RESPONSE_TEST.py: for analyzing the step response result.


We changed the WFS2 column as follows

  From To
MC1 -1.3029 -1.8548
MC2 0.15206 -0.1357
MC3 0.92391 0.40158

We can successfully diagonalize the WFS2 column. The sum of the off-diagonal components is slightly reduced. However, WFS1 has worse diagonalization.

The same step response test should be performed on a different day to see if the results change. It is because the multiple causes could exist: the influence of the changed other columns, the long time drift, the day to day change, and so on.

  17511   Tue Mar 14 18:44:39 2023 yutaUpdateBHDLO phase noise measurements in ITMX single bounce, MICH and FPMI

[Anchal, Yuta]

We have measured LO phase noise in ITMX single bounce, simple MICH and FPMI configurations with LO phase locked with BH55 or BH44.
We found that BH55 and BH44 have almost exactly same noise in ITMX single bounce, but BH44 is noisier than BH55 in MICH and FPMI configurations.
In any case, LO phase can be locked within 0.1 rad RMS, so optical gain fluctuations in BHD_DIFF should be fine for BHD locking.

 - We have locked ITMX single bounce vs LO, AS beam under MICH locked with AS55_Q vs LO, and AS beam under FPMI locked with REFL55 & AS55 vs LO, using BH55_Q or BH44_Q
 - In each IFO configuration, we have minimized I phase to set RF demodulation phases for BH55 and BH44.
 - In each IFO configuration, optical gain of BH55_Q and BH44_Q was measured by elliptic fit of X-Y plot for BH55_Q vs BHDC_A or BH44_Q vs BH55_Q.
 - For each LO_PHASE lock, feedback gain was adjusted to set the UGF to around 50 Hz, and actuator used was LO1.
 - LO_PHASE_IN1 was calibrated using the measured optical gain, and LO_PHASE_OUT was calibrated using LO1 actuator gain of 26.34e-9 /f^2 m/counts measured in 40m/17285.
 - To convert meters in radians, 2*pi/lambda is used (which means dark fringe to dark fringe is pi).
 - Below summarizes the result of RF demodulation phases and optical gains (whitening gains were 45 dB for BH55 and 39 dB for BH44). RF demod phases aligns well with previous measurement, but optical gain for BH44 seems higher by an order of magnitude compared with 40m/17478 (whitening gain changed??). Optical gain for BH55_Q is consistent with previous measurement in 40m/17506 (note the demodulation phase change).

LO_PHASE lock in ITMX single bounce
        Demod phase  Optical gain     filter gain
BH55_Q  -99.8 deg    7.6e9 counts/m   -0.3
BH44_Q  -6.5 deg     1.3e10 counts/m  -0.15

        Demod phase  Optical gain     filter gain
BH55_Q  -67.7 deg    6.1e8 counts/m   -3.9
BH44_Q  -31.9 deg    8.5e8 counts/m   -3.1

        Demod phase  Optical gain     filter gain
BH55_Q  35.7 deg     3.4e9 counts/m   -0.65
BH44_Q  -9.3 deg     4.3e10 4.3e9 counts/m  -0.84  (Typo fixed on Apr 18, 2023 by YM)

 - Attached are calibrated LO phase noise spectrum in different IFO configurations.
 - In ITMX single bounce, LO phase noise estimated using BH55 and BH44 are almost equivalent, and LO phase noise in-loop is ~0.04 rad RMS.
 - In MICH, LO phase noise estimated using BH44 is noisier than BH44 at around 20-60 Hz for some reason. LO phase noise in-loop is ~0.04 rad RMS for both cases.
 - In FPMI, LO phase noise estimated using BH44 is noisier than BH44 above ~20 Hz for some reason. LO phase noise in-loop is ~0.03 rad RMS for both cases. Dark noise is not limiting the measurement at least below 1 kHz.

Jupyter notebook: /opt/rtcds/caltech/c1/Git/40m/measurements/BHD/BH55_BH44_Comparison.ipynb

 - Lock MICH BHD with BH55 and BH44, and compare LO phase noise contributions to MICH sensitivity
 - Investigate why BH44 is noisier than BH55 in MICH and FPMI (offsets? contrast defect? mode-matching?)
 - Reduce 60 Hz + harmonics in BH55 and BH44

  17510   Tue Mar 14 15:46:06 2023 TomohiroUpdateIMCDiagonalizing YAW output matrix using a different method

Alex, Anchal, and I adjusted the number of the MC2-TRANS column in the YAW output matrix. We used the same method in 40m/17504 but the amplitude of oscillator for Lock In Amplifier is increased from 1 to 4.

The corrected numbers of the column in the output matrix is as follows:

MC1 -5.5196
MC2 -2.8778
MC3 -5.2232

We did the step response test for the corrected output matrix. The sum of off-diagonal terms was 0.62, which is the minimum value. Attachment 1 is the step response test result. From the figure, the reduction of the sum is because the column MC2_TRANS can diagonalize better. We can find out the property from Attachment 2.

  17509   Tue Mar 14 13:59:11 2023 AnchalUpdateIMCIMC WFS aligned and offsets reset

The WFS loops were not maximizing the IMC transmission. The transmission counts remained stuck at around 12500 counts. The reflection DCMON from IMC had reached above 0.35 while nominally it had been around 0.2. So today, I manuaaly aligned the IMC to best transmission and lowest reflection, then unlocked IMC and reset the offsets on WFS1 and WFS2 RF readouts. After the offsets were changed, the error singals were fluctuating around 0 in best algined state. Then turning on the WFS loops made the transmissions slighlty higher to 13250 counts.

  17508   Tue Mar 14 11:38:44 2023 AnchalUpdateIMCTurned on 6:3lead FM7 on WFS1 and WFS2 YAW loops

I realized that for more phase margin, rana added 6:3lead filter on WFS PIT loops. Since we have increased the UGF on YAW loops too, I turned these on the YAW loops as well. The loops remain stable unlike with the previous matrix. Attachment 1 is the repeat of teh emasurement done by rana earlier but with the new matrix and updated gains in PIT loops. The dark green traces are the references from last measurment with higher gain and HEPA off. The remainging colored traces were measured today.

  17507   Tue Mar 14 11:34:05 2023 AlexHowToComputer Scripts / ProgramsSummary Pages Restart

If the summary pages go down, it could be from a break in the script or some small error. The first remedy for fixing this can be to remove the cron jobs in the que and restart the "gw_daily_summary.sub" and "gw_daily_summary_rerun.sub" scripts. 

For more information on how to do this, follow instructions found in the wiki.


  17506   Mon Mar 13 19:53:36 2023 yutaUpdateBHDFPMI BHD sensing matrix measurement with individual lines

FPMI BHD sensing matrix was measured by an updated method with updated RF demodulation phases for REFL55 and AS55.
Now audio demodulation phase for CARM components is 90 deg to make the sign correct.
Also, oscillators are turned on one by one to reduce contamination between DoFs (especially between MICH and CARM).
These helped a lot in reducing errors.

Sensing matrix with FPMI locked in RF, LO_PHASE locked with BH55_Q using LO1

Sensing matrix with the following demodulation phases (counts/m)
{'AS55': -177.9, 'REFL55': 77.06, 'BH55': -110.0, 'BH44': -8.9}
Sensors       DARM @307.88 Hz           CARM @309.21 Hz           MICH @311.1 Hz           LO1 @315.17 Hz           
AS55_I       (+3.25+/-0.67)e+11 [90]    (-8.63+/-0.41)e+11 [90]    (-1.02+/-1.49)e+09 [0]    (+0.44+/-1.39)e+07 [0]    
AS55_Q       (-6.04+/-0.05)e+11 [90]    (+0.92+/-3.10)e+10 [90]    (+9.10+/-6.78)e+08 [0]    (+0.12+/-2.08)e+07 [0]    
REFL55_I       (+1.18+/-0.03)e+11 [90]    (+2.78+/-0.12)e+12 [90]    (-0.35+/-2.34)e+09 [0]    (-0.94+/-2.38)e+07 [0]    
REFL55_Q       (+5.85+/-0.43)e+09 [90]    (-2.34+/-0.13)e+10 [90]    (+2.39+/-0.38)e+08 [0]    (+3.56+/-7.44)e+06 [0]    
BH55_I       (-3.51+/-3.45)e+10 [90]    (-6.65+/-0.82)e+10 [90]    (-4.91+/-3.03)e+08 [0]    (-1.82+/-0.09)e+09 [0]    
BH55_Q       (+7.86+/-0.29)e+11 [90]    (+2.99+/-0.42)e+11 [90]    (-2.87+/-7.76)e+08 [0]    (+2.81+/-0.15)e+09 [0]    
BH44_I       (-0.34+/-1.99)e+12 [90]    (+0.02+/-1.49)e+12 [90]    (-0.42+/-8.53)e+10 [0]    (-0.01+/-3.08)e+10 [0]    
BH44_Q       (-0.60+/-3.95)e+13 [90]    (-0.01+/-3.00)e+13 [90]    (+0.00+/-1.68)e+12 [0]    (-0.15+/-5.77)e+11 [0]    
BHDC_DIFF       (-9.18+/-0.29)e+11 [90]    (-4.11+/-4.66)e+10 [90]    (+1.46+/-0.10)e+09 [0]    (-1.70+/-0.41)e+08 [0]    
BHDC_SUM       (+2.97+/-0.21)e+11 [90]    (+0.44+/-1.57)e+10 [90]    (-1.01+/-0.06)e+09 [0]    (+2.68+/-0.84)e+07 [0]

 - AS55_Q now has 70% more gain to DARM for some reason (see 40m/17478). Whitening gain haven't changed from 24 dB.
 - There's still some room to tune AS55 RF demodulation phase to maximize DARM response.
 - CARM to REFL55_Q is 100 times smaller than that to REFL55_I; this is good.
 - There's still some room to tune BH55 RF demodulation phase to maximize LO1 response.
 - BH44 doesn't have much response to LO1, probably because LO_PHASE is locked with orthogonal BH55.

Sensing matrix with FPMI locked in RF, LO_PHASE locked with BH44_Q using LO1

 Sensing matrix with the following demodulation phases (counts/m)
{'AS55': -177.9, 'REFL55': 77.06, 'BH55': -110.0, 'BH44': -8.9}
Sensors       DARM @307.88 Hz           CARM @309.21 Hz           MICH @311.1 Hz           LO1 @315.17 Hz           
AS55_I       (+3.94+/-0.52)e+11 [90]    (-1.00+/-0.05)e+12 [90]    (-1.61+/-1.17)e+09 [0]    (+0.45+/-1.52)e+07 [0]    
AS55_Q       (-5.52+/-0.24)e+11 [90]    (+1.19+/-2.99)e+10 [90]    (+1.10+/-0.43)e+09 [0]    (-1.06+/-2.30)e+07 [0]    
REFL55_I       (+8.97+/-0.49)e+10 [90]    (+2.71+/-0.11)e+12 [90]    (-0.38+/-2.28)e+09 [0]    (-0.97+/-2.10)e+07 [0]    
REFL55_Q       (+6.30+/-0.65)e+09 [90]    (-2.01+/-0.12)e+10 [90]    (+2.26+/-0.69)e+08 [0]    (-2.61+/-6.97)e+06 [0]    
BH55_I       (+4.46+/-0.52)e+11 [90]    (-1.52+/-0.27)e+11 [90]    (-1.82+/-0.56)e+09 [0]    (+0.68+/-1.24)e+08 [0]    
BH55_Q       (+9.59+/-0.44)e+11 [90]    (+2.79+/-0.52)e+11 [90]    (+2.75+/-2.49)e+08 [0]    (+2.45+/-1.06)e+08 [0]    
BH44_I       (-0.40+/-2.42)e+12 [90]    (-0.03+/-1.88)e+12 [90]    (-0.03+/-1.13)e+11 [0]    (+0.12+/-4.18)e+10 [0]    
BH44_Q       (-0.19+/-1.09)e+13 [90]    (+0.70+/-7.91)e+12 [90]    (-0.09+/-4.65)e+11 [0]    
(+0.11+/-1.34)e+11 [0]    
(+3.90+/-0.46)e+11 [90]    (+1.06+/-0.18)e+11 [90]    (-4.62+/-1.89)e+08 [0]    (+3.60+/-0.40)e+08 [0]    
BHDC_SUM       (+1.96+/-0.18)e+11 [90]    (-1.08+/-1.29)e+10 [90]    (-8.93+/-1.41)e+08 [0]    (-8.67+/-0.81)e+07 [0]

 - BHDC_DIFF sensitivity to DARM is less than that with LO_PHASE locked with BH55.
 - BH44 sensing matrix has too much error. Requires more averaging time and oscillator amplitude.

Jupyter notebook: /opt/rtcds/caltech/c1/Git/40m/scripts/CAL/SensingMatrix/ReadSensMat.ipynb

 - Tune AS55, BH55, BH44 RF demodulation phases
 - Try measuring sensing matrix for BH44 with more averaging time, oscillator amplitude, and PD whitening gain
 - Repeat measurement in 40m/17351 with BH44 under MICH configuration.
 - Compare LO phase noise in MICH configuration when LO_PHASE is locked with BH44 and BH55.
 - Make a noise budget in MICH BHD.
 - Investigate 28 Hz noise in FPMI
 - Tune BS local damping loops

  17505   Mon Mar 13 15:37:13 2023 AlexUpdateIMCStep Response of newly diagonalizing YAW output matrix

From the work that Anchal has completed for diagnolizing the YAW ouput matrix, a step response was taken of this new matrix using our previous methodolgies and the following results:

The step response can be seen plotted in attachment 1. The off diagonal terms of this new matrix sum to 1.24, which is a large decrease from the current matrix and the matrices that were tested from our previous step responses. 

Tomohiro and I are now currently working futher to configure the UGF's for YAW given this new output matrix.


Tomohiro and I have completed testing the YAW Sensor outputs with broadband noise injection and have confirmed that gains currently set on each filter module (which is 1.0 for WFS1, WFS2, and MC Trans) provides us with adequate UGF's. As seen bellow in attachment 2-3, WFS1 and WFS2 have UGF's between 2 and 3 Hz. MC Trans can be seen in attachment 4 and has been confirmed to have a UGF around 0.1 Hz.

Finally, attachment 5 displays the off diagnolized sums and uncertainties for each of our previous step response results and the newest result (labeled "new") for Anchal's OUTPUT YAW matrix. The first graph in blue displays the overall sum and uncertainty related to each step response taken. Then in the following 3 plots, the sum's and uncertaintes for each sensor are displayed individually for each step response test.

For reference:

New: corresponds to Anchal's YAW OUPUT MATRIX

D0: refers to the previously implemented matrix, prior to any testint or updates

D1: refers to the matrix that was computed based off of the first test Tomohiro and I performed

D2: refers to the matrix computed as a secondary result from D1. This matrix was thought to provide a lower off diagonal sum, but did not.

This thoroughly displays our results such that the newly computed matrix from Anchal is much more diagnolized then that of the step response matrices Tomohiro and I have computed.


  17504   Mon Mar 13 14:48:37 2023 AnchalUpdateIMCDiagonalizing YAW output matrix using a different method

I tried a different method today to see if it works. Following are the steps:

  • Run WFS relief.
  • Turn off the WFS loops.
  • Calculate the effective current YAW matrix by transferring C1:IOO-MC#_YAW_GAIN to respective rows of the matrix read from C1:IOO-OUTMATRIX_Y. No need to change the matrix itself.
    • This step should not be required. We should move these gains to the matrices as soon as we can.
  • Put in the first column (corresponds to WFS1_YAW controller output) of this effective current YAW matrix to C1:IOO-LKIN_OUT_MTRX_4_1, C1:IOO-LKIN_OUT_MTRX_5_1, C1:IOO-LKIN_OUT_MTRX_6_1.
    • This is the output matrix of LOCKIN in WFS screens.
    • We are trying to actuate on what we think only affects WFS1_YAW and see if it is crosscoupled to WFS2_YAW or MC2_TRANS.
    • Then we can cancel coupling to the other two sensors by changing our couple vector.
  • Turn on locking at 0.5 Hz with gain 1.
  • Turn on BLP0.3 filter module. This is a 8th order 0.3 Hz butterworth filter.
  • Adjust phases to get all signal in the I quadratures.
  • Using ratio of C1:IOO-WFS_LKIN_I5_OUT16 to C1:IOO-WFS_LKIN_I4_OUTPUT, subtract or add this much factor of the WFS2_YAW column (the second column) of the effective YAW matrix to the column that is put in the LOCKIN output matrix.
    • I was able to subtract to less than 10% cross coupling with the intial matrix I started with.
  • Repeat until no cross-coupling is seen between WFS1_YAW and WFS2_YAW.
  • Repeat the above steps for WFS2_YAW column by putting that into the LOCKIN output matrix. Use the column calculated in last step for adding or subtracting WFS1 actuation.
    • I was able to make WFS2 column very clean with less than 1% measurable crosscoupling to other sensors.
  • I repeated the step for WFS1 column again to remove the cross coupling to WFS2 further to less than 1%.
  • For doing the above steps for MC2_TRANS column, the initial effective matrix column was very bad. The outputs were higher in WFS1 and WFS2 then MC2_TRANS output itself.
  • So I made the first guess by taking a cross-product between the obtained WFS1_YAW and WFS2_YAW columns estimated earleir.
  • Then I repeated the above steps to minimize coupling to WFS1 or WFS2 sensors to less than 10% of MC2_TRANS.
  • THe three column vectors obtained represent the new outpute YAW matrix. I removed the normalization that would be applied by C1:IOO-MC#_YAW filter gains from the rows of this amtrix to get the output matrix that can be put into C1:IOO-OUTMATRIX_Y

Once this matrix was in, I quickly tested it by closing the loop and making gain sign flips if required. Then I took quick swept sine transfer functions to estimate UGFs and scaled the columns of the output matrix to get UGF of 2.5 Hs for WFS1_YAW and WFS2_YAW loops and 0.1 Hz for MC2_TRANS YAW loop when all filter gains are 1 and overall gain C1:IOO-WFS_GAIN is 4. See attached plots.

Old matrix:

-4.094  ,  -3.0383 ,  34.0917
-0.1259 ,   0.27008, -16.081  
-7.1811 ,   0.74271,  28.9458

This was used with gains: 0.5 for WFS1_YAW loop, 0.6 for WFS2_YAW loop and 0.3 for MC2_TRANS_YAW loop.

New matrix:

-1.48948, -1.3029 , -4.93096
-0.05839,  0.15206, -3.66245
-2.82285,  0.92391, -4.68009

All loop gains 1.

Alex and Tomohiro are characterizing this matrix with step response and UGF measurements.

  17503   Fri Mar 10 16:42:16 2023 TomohiroUpdateIMCStep response test on MC1, MC2, and MC3 YAW


  • We compared the new output matrix with old one by the step response test.
  • We focused on the off-diagonal components of the step response result to compare the output matrix.
  • We found that the old one is relatively good to WFS1/2 and MC2_TRANS whereas the new one is useful only to WFS1.
  • Also we found that the new output matrix made from the sensing matrix was not significantly better than the original one.


Alex, Anchal, and I did the experiment to find out the better output matrix. We got the new output matrix from the step response test in 40m/17500, so we checked whether the output matrix is good or not.


We used the following method to check the output matrix. In the previous step response test, we applied the step offset to ``ExciteIn'' points, and measure the step response at ``SensOut'' points. These points are defined in Attatchment 4. From the test, we got the matrix A. Thus, we derived the new output matrix O_1 from taking the inverse of AO_1 = A^{-1}. If the new output matrix is well derived, the matrix can diagonalize the product of A and O_1A O_1 = \bf{I}, where \bf{I} is the identity matrix. AO_1 can be measured by the step response test from ``SensIn'' to ``SensOut.'' Therefore we checked the output matrix by measuring AO_1. We call the measured matrix S_1 (\equiv A O_1) as a sensing matrix.

To evaluate that S_1 is diagonalized, we computed the sum of the absolute values of the off-diagonal components in S_1

D_1 \equiv \sum_{j \neq k} \left| S_1 (j, k) \right| .

Note that each column of the matrix was normalized by its diagonal component.

We tried to find out the better output matrix as the following method. We created new output matrix O_2 from O_2 \equiv O_1 {S_1}^{-1}, and did the same step response test with O_2. Then we got the new sensing matrix S_2. We computed the sum of the absolute values of the off-diagonal components in S_2D_2. We can get the relation D_1 > D_2 if O_2 is better than O_1. Therefore we compared D_2 with D_1.

Note: If D_n and D_{n+1} have the relation D_n > D_{n+1} (\geq 0), the output matrix O_n \equiv O_{n-1} {S_{n-1}}^{-1} will get better and better.

We also did the step response test with O_0, which is defined as the output matrix now used. Then we compare D_0 with D_{1, 2}.


Before doing each step response test, we did the following processes:

  • MC WFS relief for 60 secs with closed loops,
  • turn off the WFS servo,
  • turn off all the filters (WFS1/2: FM3, 4, 6; MC2-TRANS: FM1, 3, 4, 6),
  • change the output matrix,
  • set all the gain as unity,
  • adjust each step offset.

We used the python script, toggleWFSoffsets.py, for testing the step response. The script is stored in /opt/rtcds/caltech/c1/Git/40m/scripts/MC/WFS/. The time appling each step offset is set as 120 secs. O_i~(i = 0, 1, 2) are specifically the following matrix:

O_0 = \begin{pmatrix} -4.0940 & -3.0383 & 34.0917 \\ -0.1259 & 0.27008 & -16.081 \\ -7.1811 & 0.74271 & 28.9458 \end{pmatrix}  O_1 = \begin{pmatrix} 0.342 & 0.117 & 1.967 \\ -0.016 & 0.036 & 2.82 \\ 0.732 & -0.042 & 1.873 \end{pmatrix}  O_2 = \begin{pmatrix} 0.812 & -0.819 & -2.289 \\ -0.036 & 0.761 & 2.998 \\ 0.085 & 0.386 & 2.835 \end{pmatrix}

Note: O_1 is different from [-0.188, -0.009, ...] in 40m/17500 because the previous calculation had a mistake.

The step response data is analyzed for making plot and calculating O_{1, 2} and D_{0, 1, 2} by the python script, /opt/rtcds/caltech/c1/Git/40m/scripts/MC/WFS/IOO_WFS_YAW_RESPONSE_TEST_100323.ipynb. 


The step response results for S_{1, 2, 0} are represented in Attachment 1, 2, 3, respectively. In each plot, upper left shows all the data for WFS1 (solid green), WFS2 (solid blue), and MC2_TRANS (solid brown). Also upper right, lower left, and lower right shows the result of WFS1, WFS2, and MC2_TRANS, respectively. The plots except for the upper left have the applied step offset drawed by dashed line. The three step offsets were applied in the order of WFS1 (dashed green in the upper right), WFS2 (dashed blue in the lower left), and MC2_TRANS (dashed brown in the lower right). The high-frequency components of all the plots are removed with a second-order Butterworth low-pass filter and then plotted. Dotted line and its surrounding area show the mean value for each step response or existing offset without the step offset, and its standard deviation, respectively.

We summarize each plot:

  • S_1

The matrix of S_1 is written from Attachment 1:

S_1 = \begin{pmatrix} -140 \pm 10 & 90 \pm 10 & 290 \pm 10 \\ 2 \pm 1 & -32 \pm 1 & 28 \pm 1 \\ -9 \pm 7 & -40 \pm 7 & -234 \pm 7 \end{pmatrix} .

Focusing on each column in S_1 and the plot, only the step response for WFS1 is well diagonalized. The result of D_1 is D_1 = 5.6 \pm 0.8. Note that all the sign of the step offset in Attachment 1 is negative because we set each gain of the filter as -1.

  • S_2

The matrix of S_2 is written from Attachment 2:

S_2 = \begin{pmatrix} 140 \pm 10 & 206 \pm 9 & -102 \pm 7 \\ 50 \pm 20 & 360 \pm 10 & -340 \pm 10 \\ -11 \pm 3 & -55 \pm 2 & 84 \pm 2 \end{pmatrix} .

The output matrix O_2 has worse normalization to WFS1 than O_1 from comparing S_2 with S_1D_2 also gets worse value than D_1D_2 = 6.4 \pm 0.4.

  • S_0

The matrix of S_0 is written from Attachment 3:

S_0 = \begin{pmatrix} -1700 \pm 100 & -130 \pm 120 & 2100 \pm 100 \\ -240 \pm 80 & -1100 \pm 70 & 1440 \pm 60 \\ 110 \pm 160 & 200 \pm 100 & -1400 \pm 100 \end{pmatrix} .

Although S_0 has relatively better normalization to WFS1 and 2 than S_{1, 2}, it is characterized by a large overall error. D_0 has minimum value with relatively large uncertainty: D_0 = 3.1 \pm 0.7.


We compare each value D_{1, 2, 0}, which is plotted in the left of Attachment 5. From the figure, we can find D_1 and D_2 agree within the margin of error, and D_0 is significantly smaller than D_1 and D_2. Also we compare D_{1, 2, 0} focusing on WFS1 column shown in the right of Attachment 5. D_{1, 0} have almost the same value, and D_2 has slightly larger value than other. This result shows O_0 is relatively good to WFS1/2 and MC2_TRANS whereas O_1 is useful only to WFS1.

  17502   Thu Mar 9 19:20:44 2023 AnchalConfigurationCalibrationFPMI DARM calibration run set to happen at 1 am

Running this test again tonight. Will probably run it every night now.


  17501   Thu Mar 9 14:22:24 2023 AlexUpdateComputer Scripts / ProgramsUpdate to toggleWFSoffsets.py for step response testing

I have pushed changes made to the toggleWFSoffsets.py script to the git.

This file may be found in: "/opt/rtcds/caltech/c1/Git/40m/scripts/MC/WFS/"

The changes made are:

Updated the script to allow for toggling step responses on either optics or sensors (default = optics), chosen by user

The script orignally asked user to make any last changes to the offsets before hitting enter to run without displaying the new changes.

Now the script checks for changes made by the user to the offsets and displays them if detected. If no changes are made, the code starts running the steps.



  17500   Thu Mar 9 10:29:15 2023 AlexUpdateIMCStep response test on MC1, MC2, and MC3 YAW

Tomohiro, Anchal and I completed the following processs for acquiring a new Output Yaw matrix for the "C1IOO_WFS_OUTMATRIX".

To did this by following the same process in 17493 but instead of adding our offsets in the WFS1, WFS2 and MC Trans filter banks, offsets were added at the end of the feedback loop at the optics, MC1, MC2 and MC3 YAW.

Optimal offset values were found such that the offset change did not disrupt the output WFS transmission signal by more than about a one thousand counts. Each limit was set to come close to this limit.

Our final offset values were:


Offset Value

MC1 55
MC2 15
MC3 35

The step response was than observed in Diaggui, but the entire 800 s run was unable to be viewed at once. We then utilized our python script from the previous step response data that we took to develop the following:

The measured response from stepping the optics was:

\begin{pmatrix} 1.31\pm0.24 & 54.2\pm1.3 & -0.28\pm0.03\\ -2.13\pm0.23 & -20.7\pm1.6 & 1.11\pm0.03\\ 1.82\pm0.27 & -25.8\pm1.5 & 0.16\pm0.03\\ \end{pmatrix} \begin{pmatrix} MC_{1Y}\\ MC_{2Y}\\ MC_{3Y}\\ \end{pmatrix} = \begin{pmatrix} WFS_{1Y}\\ WFS_{2Y}\\ MC_{2Y-TRANS}\\ \end{pmatrix}

*The values in this matrix represent the number of counts/offset count. Thus all ovalues found from the step response were divided by the number of counts on each offset.

To find the new yaw matrix, we then take the inverse of the step response output matrix to get:

\begin{pmatrix} MC_{1Y}\\ MC_{2Y}\\ MC_{3Y}\\ \end{pmatrix} = \begin{pmatrix} 0.188 & -0.009 & 0.403 \\ 0.017 & 0.005 & -0.006 \\ 0.689 & 0.987 & 0.656 \end{pmatrix} \begin{pmatrix} WFS_{1Y}\\ WFS_{2Y}\\ MC_{2Y-TRANS}\\ \end{pmatrix}

The results from the step response may also be seen graphically in attachment 1. The first plot shows all 3 response signals. Then each following plot shows the individual signals and the step responses overlayed for each one.

The plots also include horizontal lines that represent the average for the stepped signals and the average of the signal at rest along with shading for their associated uncertainties.


This was then tested in C1IOO_WFS_BASIS Yaw matrix, and at first did not work well. The WFS1 Yaw output would rail toward the limits. To fix this, the sign of the gain was flipped (from 0.5 to -0.5) which seemed to solve this issue.

This was then transmitted to the matrix to give:

\begin{pmatrix} MC_{1Y}\\ MC_{2Y}\\ MC_{3Y}\\ \end{pmatrix} = \begin{pmatrix} -0.188 & -0.009 & 0.403 \\ - 0.017 & 0.005 & -0.006 \\ -0.689 & 0.987 & 0.656 \end{pmatrix} \begin{pmatrix} WFS_{1Y}\\ WFS_{2Y}\\ MC_{2Y-TRANS}\\ \end{pmatrix}

This did not solve all issues, the overall ouput signals from the WFS filters still seemed to have large fluctuations. I then began adjusting the gains of the WFS1, WFS2 and MC Trans yaw output filters and achieved much steadier signals.

The following table describes the current best gain valuse for our Yaw matrix:

Sensor Gain Value
WFS1 YAW 5.94
WFS2 YAW 6.44

The results from our found matrix and gain changes can be seen on the left of attachement 2 that displays the ouputs on the Error Signal Monitor. The original output yaw matrix signals can be seen on the right hand side. There is work to still be done on adressing these issues, but overall this may be improved by some additional changes in the gains on each channel.

  17499   Wed Mar 8 18:32:22 2023 AnchalConfigurationCalibrationFPMI DARM calibration run set to happen at 1 am

On rossa in tmux session name FPMI_DARM_Cal, a script is running to take FPMI DARM calibration data at 1:00 am on March 9th. Please do not disturb the experiment untill 6 am. To stop the script do following on rossa:

tmux a -t FPMI_DARM_Cal

The script will lock both arms, run ASS, then lock FPMI, then tune beatnote frequency with Y AUX laser to around 40 MHz, set phase tracked UGF to 2 kHz, clear phase history, take OLTF of DARM from 2 kHz to 10 Hz, take OLTF of CARM and AUX loop at calibration line frequencies, turn on the calibration lines, and wait for FPMI to unlock or 5 hours to pass, whatever happens first. At the end it will turn off the calibration lines.

  17498   Wed Mar 8 09:58:24 2023 ranaUpdateIMCTransfer Function for IMC mirrors using appropriately filtered noise

does Anyone understand why the broadband noise injection is so bad around 1 Hz? we do not see this issue with swept sine. noise seems good at other frequencies.

Does it have anything to do with the time constant of the resonances?

  17497   Wed Mar 8 09:17:21 2023 ranaUpdateIMCWFS noise ON/OFF

WFS error signal spectra w loops ON (G=4) and OFF.

Current output matrix also attached.

  17496   Tue Mar 7 23:32:54 2023 ranaUpdateIMCStep response test on WFS 1, 2 and MC2_TRANS YAW

this measured Yaw matrix seems very different from the previous one. How can they really both be stable?

  17495   Tue Mar 7 23:15:16 2023 ranaUpdateIOOIMC WFS summary pages updated

changed some y-scale limits on the WFS summary pages to zoom in better

  17494   Tue Mar 7 15:02:43 2023 TomohiroUpdateIMCTransfer Function for IMC mirrors using appropriately filtered noise


  • Alex, Anchal, and I adjusted the every overall gain iin P/Y of WFS1, 2 and MC2_TRANS loop.
  • We set the WFS1, 2 P/Y UGFs to be ~2-3 Hz, and the MC2_TRANS loops to have a UGF of ~0.1 Hz.


From the previous results (40m/17489) and measuring the open-loop transfer function (OLTF) by broadband noise, we adjusted the overall gain in P/Y of WFS1, 2 and MC2_TRANS loop. The table represents the changed values.

  From To Place

We also note the overall gain of the injecting noise: WFS1_PIT 52345, WFS2_PIT 152345, MC2_TRANS_PIT 152345, WFS1_YAW 152345, WFS2_YAW 102345, and MC2_TRANS_YAW 102345. The values are used in the awggui window.

We measured the OLTF by the appropriately filtered noise. The filter we used is the same as that of the previous measurement.


Attachment 1 shows the OLTF whose gain is adjusted.

  UGF Phase margin
WFS1_PIT 2.4 Hz 40 deg
WFS2_PIT 2.4 Hz 40 deg
MC2_TRANS_PIT 0.1 Hz 100 deg
WFS1_YAW 2.6 Hz 20 deg
WFS2_YAW 2.7 Hz 20 deg
MC2_TRANS_YAW 0.13 Hz 100 deg


  17493   Mon Mar 6 13:03:37 2023 TomohiroUpdateIMCStep response test on WFS 1, 2 and MC2_TRANS YAW


  • We do the step responce test on WFS 1, 2 and MC2_TRANS YAW for correcting the output matrix.
  • We add each offset value to each YAW actuator in IMC, and measure the time-series of the signals.
  • From the input offset value and the output values, we get the values in the output matrix.


The purpose of the measurement is to correct the values in the output matrix between YAW actuator and YAW signals of WFS and MC2_TRANS.


Alex, Anchal, and I did the following measurement. The method follows to the previous measurement held by Anchal in 40m/17311. Before we did the experiment, we took these actions.

  • We reliefed MC SUS ASC Input values to zero
  • We made the overall WFS gain to zero in C1IOO_WFS_MASTER window.
  • We turned off (0; 0.8) FM3 filter of servo section in WFS1, 2_YAW and MC2_TRANS_YAW.
  • We checked the ramp time is set as 2 s.

We set every offset value by monitoring the change in WFS and MC2 YAW signals due to the offset. The monitoring points are WFS1_IY_DQ, WFS2_IY_DQ, and MC_TRANS_Y_DQ. We got the offset values as listed. We also monitored TRANS_SUMFILT_OUTPUT because we check the transmitted light changes.

  Value Transmitted light
WFS1_YAW 10,000 about 10 % reduction
WFS2_YAW 7,000 almost nothing
MC2_TRANS_YAW 7,000 about 10 % reduction

We used the python script toggleWFSoffsets.py to add the offset separately. The script is in /opt/rtcds/caltech/c1/Git/40m/scripts/MC/WFS/. The averaging time is set as 120 s to reduce the influence of the dominant fluctuation by factor of 1/100. The dominant fluctuation has the frequency around 1 Hz.

For obtaining the time-series datas and caluclating the mean values of the changed WFS and MC2 YAW signals due to every offset, we created new python script named IOO_WFS_YAW_STEP_RESPONSE_TEST.py, which is saved in /opt/rtcds/caltech/c1/Git/40m/scripts/MC/WFS/. The script uses the getdata function in cdsutils to get time-series data referring to GPS time.

We picked out a portion of the datas for step responce results. The selected time is [20 s, 120 s], [260 s, 360 s], and [500 s, 600 s]. Each time datas are averaged. The datas also have background offset, so the datas of time [140 s, 240 s], [380 s, 480 s], and [620 s, 720 s] are used to calculate the average of the background offset. The step responce results are obtained by the differential between the averaged datas in the picked out time and that of the background offset. And the results are normalized by the offset values.

The results make the matrix from injection points to measured points. The injection points are WFS1, 2_YAW and MC2_TRANS_YAW, thus the matrix is not the output matrix from the injection points to MC1, 2, 3_YAW. We get new output matrix by multiplying the inversed result matrix and the current output matrix.


The Attachment 1 plots the time-series datas. For visibility and less file size, the figure is drawn with a reduced number of samples filtered by 2nd order Butterworth filter. We referenced to /measurements/AWS/YARM_WFS_DC_Sensitng_Matrix_New.ipynb to draw the figure. 

The new output matrix is written here.

  • Current matrix

\begin{pmatrix} \mathrm{MC}_{1\mathrm{Y}} \\ \mathrm{MC}_{2\mathrm{Y}} \\ \mathrm{MC}_{3\mathrm{Y}} \end{pmatrix} = \begin{pmatrix} -4.4094 & -3.0383 & 34.0917 \\ -0.1259 & -0.27008 & -16.081 \\ -71811 & 0.74271 & 28.9458 \end{pmatrix} \begin{pmatrix} \mathrm{WFS}_1 \\ \mathrm{WFS}_2 \\ \mathrm{MC}_{2-\mathrm{TRANS}} \end{pmatrix}

  • New matrix

\begin{pmatrix} \mathrm{MC}_{1\mathrm{Y}} \\ \mathrm{MC}_{2\mathrm{Y}} \\ \mathrm{MC}_{3\mathrm{Y}} \end{pmatrix} = \begin{pmatrix} -0.2702 & -0.2540 & -0.4758 \\ 0.2727 & 0.2545 & 0.4728 \\ -0.2645 & -0.2607 & -0.4748 \end{pmatrix} \begin{pmatrix} \mathrm{WFS}_1 \\ \mathrm{WFS}_2 \\ \mathrm{MC}_{2-\mathrm{TRANS}} \end{pmatrix}

We temporarily replaced the new matrix from the current one. The loop was still stable and the matrix worked well. To know whether the matrix properly works or not, we will test the same step response to the new matrix. We will confirm that the measured matrix is diagonalized.

  17492   Sat Mar 4 18:57:18 2023 PacoConfigurationCalibrationFPMI DARM calibration run

Locked FPMI, measured DARM and CARM OLTFs, locked YAUX and measured the analog loop TF at the cal line frequencies. Turned the cal lines on with the new filters Anchal added on MC2 (ResGain within and Notches outside the CARM bandwidth which is set to 200 Hz), and hope to get 3600 seconds of data this evening. Log and measurement data are saved under /opt/rtcds/caltech/c1/Git/40m/scripts/CAL/FPMI

  17491   Fri Mar 3 18:47:13 2023 PacoSummaryBHDLO phase POS noise coupling - I

I tried some LO PHASE noise coupling measurements today. With MICH locked using AS55_Q, I control the LO phase using the single RF (BH55_Q) or double RF (BH44_Q) demodulation error signals. The calibrated error and control points for single RF sideband sensing are shown in Attachment #1. In either case feedback loop is closed using FM5, FM8 first with a gain of 1.5 and then a "boost" using FM4. The actuation point is LO1 POS and the UGF was measured to be ~ 35 Hz for both.

** While doing this measurement, I noticed our LO_PHASE dark noise is significantly contributing 180 Hz, 300 Hz and other high line harmonics into the control signal rms so that may be something to look into soon.

I first thought I could use the remaining sensor to measure the noise coupling (e.g. BH44 locks LO phase and BH55 senses injected noise or viceversa), but these two sensing schemes give two different LO phase sensitivities so I decided to just use the calibrated control signals.

-- Noise coupling for BH55_Q --

After locking the LO_PHASE I inject 2 Hz wide uniform noise into three different frequency bands *within the control bandwidth* through C1:SUS-LO2_LSC_EXC, C1:SUS-AS1_LSC_EXC, and C1:SUS-AS4_LSC_EXC. The injected noise settings are captured by Attachment #2 (the screenshot of the excitation settings in diaggui).

I read back the calibrated C1:HPC-LO_PHASE_OUT_DQ representing the true LO_PHASE noise within the control bandwidth and also calibrate the injected noise spectra with the help of the actuation coefficients in [elog40m:17274]. The result is summarized in Attachment #3.

The diaggui template and data for this measurement are saved under /opt/rtcds/caltech/c1/Git/40m/measurements/BHD/BH55Q_NoiseCoupling.xml

-- Noise coupling for BH44_Q -- 

I repeat the same procedure as above and the injected noise settings, and the result is summarized in Attachment #4. 

The diaggui template and data for this measurement are saved under /opt/rtcds/caltech/c1/Git/40m/measurements/BHD/BH44Q_NoiseCoupling.xml

- Discussion -

It seems that noise injected along the AS beam path (AS1-AS4 dither) couples more into the control point of the LO phase. I also seem to be off in terms of calibrating the noise excitation (even though I scaled using the suspension actuation from [elog40m:17274]. General feedback on the methods used for this measurement are welcome of course. 

- Next steps - 

    - Extend this to single RF + audio dither scheme and double audio dither schemes (although it's hard because the control bandwidth is pretty low already)
    - Investigate line noise in RFPD + demod chain (present on the dark noise). 
    - Investigate other more interesting noise couplings, e.g. angular degrees of freedom, RIN, laser freq noise, etc...
    - Repeat under more relevant IFO configurations (e.g. FPMI)

  17490   Fri Mar 3 16:52:57 2023 ranaUpdateIMCTransfer Function for IMC mirrors using appropriately filtered noise

that is great

I think we would like to set the WFS1 P/Y UGFs to be ~2-3 Hz, and the MC_TRANS loops to have a UGF of ~0.1 Hz.

Could you use your loop gain measurements to set the _GAIN values for those UGFs? I am curious to see if the system is stable with that control.

  17489   Thu Mar 2 18:37:05 2023 TomohiroUpdateIMCTransfer Function for IMC mirrors using appropriately filtered noise


  • Alex, Anchal, and I measure the open-loop transfer function for WFS and MC2_TRANS signal.
  • We utilize Fourier transform of appropriately filtered Gaussian noise to obtain the transfer function.
  • With appropriate frequency-dependant noise and appropriate overall gain, the transfer function at lower frequency around 1 Hz can be roughly measured in shorter time and with a narrower resolution than those of the swept sine.


The purpose is to roughly measure the open-loop transfer function in shorter time and with a narrower resolution. The transfer function can usually be obtained the following process. We measure two points before (IN1) and after (IN2) the excitation signal injection point. We can get the transfer function by dividing IN1 signal by IN2 signal. However, this method has some difficulties: longer time to finish one measurement in lower frequency and less measuring points. These are because the frequency of excitation signal is fixed for every measuring point. The ordinary method is not suitable for rough measurement. Therefore, we try to utilize frequency-dependant noise for measuring the transfer function (Rana teaches us the method).


We utilize the Gaussian noise instead of the fixed sine wave. We inject the noise, which is properly filtered, into the exciting point (such as C1:IOO-MC2_TRANS_YAW_EXC in C1IOO_WFS_MASTER window), and measure two signals in the points IN1 and IN2. The two signals are Fourier transformed. And we obtain the transfer function by dividing the transformed signal IN1 by that of IN2.

To get good SNR, the frequency dependence of the injecting noise signal is important. We use the awggui command to create the appropriately filtered noise. We decide the dependence from the coherence between the IN1 signal and the excitation signal. The coherence around 1 shows the good SNR. So the dependence is adjusted so that the coherence approaches 1 in the observation frequency range. Attachment 1 shows the frequency dependence of the filter. We cut the gain below 0.1 Hz and above 10 Hz to limit frequency range, and use Zero-Pole gain to treat the influence of the mirrors' suspension in the frequency range. The filter we used is 

  • cheby1("BandPass", 6, 2, 0.1, 10)
  • zpk([3], [0.3], 1, "n")
  • zpk([0.375 + i*0.649519; 0.375 - i*0.649519], [0.75; 2.5 + i*14.7902; 2.5 - i*14.7902], 1, "n")gain(4.46889)
  • zpk([13], [3], 1, "n")gain(1.05099)

The file is saved in /users/Templates/MC/wfsTFs/WFS_noise_injection_profile-230302, but the saved file loses some filter information... So we write all the filters above.

Note: The noise filter has a ripple around the cutoff frequency. It comes from cheby1. Chebyshev Type 1 filter can drop the gain rapidly but has the ripple around the cutoff frequency.

Longer averaging time is also important to get the better SNR. The time is estimated from the resolution frequency and overwrap of the time-series data. We set the resolution as 0.01 Hz and the overwrap as 50 %, so the 10 times averaging takes about 8 minutes. In contrast, it takes about 2 hours if we measure 10 cycles of sine wave for every frequency with the ordinary transfer function measurement. The method of using the noise signal can inject multiple frequencies simultaneously into the excitation points, and can reduce the total measuring time.

We use the diaggui command for measuring the transfer function. Fourier Tools in Measurement tab translates the time-series signals, and the transfer function is obtained by Graph, Transfer function, in Result tab. Fig 2 is an example. The settings are saved, for example, in /users/Templates/MC/wfsTFs/MC2-TRANS_YAW_230302.xml.

In every measurement, we inject the noise into every excitation point of WFS1, 2 and MC2_TRANS, and PIT and YAW, and take every transfer function. We change overall gain of the filter in every measurement. The values are listed as follows.

Note: The gain of the transfer function is changed from 0.7 to 21 in the WFS1_PIT case only. The value of the case is much bigger than other measurements. After the experiment, the gain is put back.

WFS1 value WFS2 value MC2 value
PIT 1002345 PIT 152345 PIT 123456
YAW 52345 YAW 52345 YAW 183456


We show some results (YAW of WFS1, 2, and MC2_TRANS) as an example. The MC2_TRANS_YAW data only has structures around 3 Hz and 7 Hz shown in Attachment 2. The coherence of all measurements in the frequency range [0.1 Hz, 10 Hz] is around 1 except for the pendulum frequency of IMC mirrors. All the results have similar trend, which is low-pass like frequency dependence and has resonant of the pendulum. The trend is also obtained in the previous measurement using the ordinary method such as 40m/17486 and 40m/17472.


Phase margin result for every measurement is listed. MC2_PIT data is 'N/A' because the transfer function does not exceed 0 dB at the observation frequency range. The phase margin values except for WFS1_PIT case are small, that is, the servos are nearly unstable. In WFS1_PIT, the phase margin is larger than other data because we increase the overall gain of the loop from 0.7 to 21 during measurement. This indicates the overall gain of the loop should be increased.

WFS1 value WFS2 value MC2 value
PIT 40 deg PIT 20 deg PIT N/A
YAW 10 deg YAW 20 deg YAW 20 deg

The pendulum resonance reduces the coherence. The coherence shows the signal relevance at the excitation point (input) and the measurement point (output). We can estimate whether the injecting signal is buried by background noise. The noise filter is not optimized yet, and we use the same filter for all the measurements. It causes the reduction of the coherence around the pendulum resonance. To increase the coherence and take better measurement, we have to optimize the frequency-dependance of the noise filter and increase averaging times for every measurement.

Only in the case of MC2_TRANS_YAW, the sudden gain changes exist around 3 Hz and 7 Hz. The sudden change is small peak at 3 Hz and large dip at 7 Hz. The result in 40m/5928 has a structure at 3 Hz, but we cannot find the structure at 7 Hz in the past entry... But both sudden changes do not make the loop unstable because the gain at the frequencies are smaller than 0 dB. We will check the detail and the origin.

In Future

  • The overall open-loop gain should be increased.
  • If necessary, we have to optimize the noise filter for every measurement.
  • If necessary, we will check the detail and the origin of the sudden gain changes around 3 Hz and 7 Hz in MC2_TRANS_YAW.


  17488   Thu Mar 2 10:54:25 2023 PacoUpdateSUSLO1 dewhitening

We added the DB9 short connectors to all coil drivers in the BHD suspensions and updated FM9-FM10 for LO1, LO2, AS1, AS4, SR2, PR2 and PR3 to match the work on LO1 yesterday. We then locked the LO phase using BH55 and took noise spectra for the error and control points; Attachment #1 shows the comparison before and after these changes were made.

  17487   Wed Mar 1 19:18:18 2023 PacoUpdateSUSLO1 dewhitening

[Paco, Anchal]

Today we invested some time in the DW filters for LO1 supension. We discovered that the binary DW enable/disable channels were not connected, and we had basically postponed testing this final bit on the chain of new SUS electronics since the upgrade took place. A quick noise spectrum of error and control points (uncalibrated) show that outside of the ~ 40 Hz control bandwidht, the LO phase noise rms is dominated by line noise (mostly 180 Hz) (Attachment #1).

We checked the BIO inputs, but failed to make them work from the c1su2 model and Anchal spotted an error in the model; so maybe to speed up the proper dewhitening tests, we override the acromag enabling BIO interface and just short the coil driver BI to always enable the Analog DW filter. Then, using the measured DW transfer function with z = [130 + 0j; 233+0j], p=[10+0j; 2845+0j], k=2.0, we corrected the FM9 and FM10 in the coil outputs (this is different from the other DW filters). Today we just did this for LO1, but the next step is to replicate this for the other BHD SOS so that we have a consistent test.

So for now, the LO1 coil drivers at 1Y0 have shorted binary inputs to enable watchdog + Analog dewhitening filters. This needs to happen on LO2, AS1 and AS4, and then the noise spectra should be measured again.

  17486   Wed Mar 1 17:13:38 2023 AlexUpdateIMCTransfer Function for IMC mirrors using sine sweep

The following work has been done by Tomohiro, Anchal and I:

To acquire the transfer functions for each of the IMC mirrors, we utilized diaggui, the CDS Diagnostic Test tool. We would like to measure the open loop transfer function, which is the ratio of In1 and In2, corresponding to before and after the injection point of the excitation signal.

A sinusoidal excitation signal was swept from 0,2 Hz to 5 Hz and includes 11 data points from an average of 10 cylcles per point.

NOTE: the WFS gain must be adjusted from 1.0 to 4.0 for these measurements (this is the slider underneath the "Turn WFS ON/OFF" button in C1:IOO_WFS_MASTER.

For the three sets of data taken for Pitch in WFS1, WFS2, and MC2 Trans, the amplitude of the excitation wave was 30,000.

In each measurement, the injection point is "C1:IOO-X_EXCMON", where X is the WFS or MC2 + Pitch or Yaw.


We will be conculding our measurements tomorrow and will report the findings for YAW in WFS1, WFS2, and MC Trans2.

  17485   Wed Mar 1 10:16:31 2023 TomohiroUpdateIMCAngular actuation calibration for IMC mirrors using AC sine wave

Alex, Anchal, and I did the following experiment to obtain calibration constants by oscillating IMC mirrors.


In previous experiment, we measured transmission counts at some offset values, and fitted the curve in order to get the curvature of transmitted power at MC2. In this time, we use not offset but AC oscillation to get the curvature \gamma.

The shape of the transmitted power is quadratic with respect to the tilt of each mirror:

y = a_0 + a_1 x + a_2 x^2.

Here x is the parameter including the tilt of each mirror, and y is the signal of the transmitted power at MC2. Oscillating the mirror shows that x has a time-dependance x = A_0 \cos (\omega t + \phi_0) using an angular frequency \omega, an initial phase \phi_0, and an amplitude A_0. What we want to get is the curvature of the quadratic function, that is, the coefficient a_2. So we focus on the frequency-doubled term. By substituting x(t) to y, we get the time-dependent y

y(t) = \left( a_0 + \frac{a_2}{2} {A_0}^2 \right) + a_1 A_0 \cos(\omega t + \phi_0) + \frac{a_2}{2} {A_0}^2 \cos( 2\omega t + \phi_0).

We can get a_2 value as a_2 {A_0}^2 / 4 by multipling \cos(2 \omega t + \phi_0) and taking time average. This a_2 is the same as \gamma used in 16125 by Anchal when the unit of x is cts.


Before the experiment, we changed some settings

  • Turn off servo in the WFS servo,
  • Turn off limits in MC SUS ASC inputs,
  • Turn off ELP28 FH6 in MC2 Damp Filter.

After the experiment, we restored all the changed settings.

We decided the oscillation frequency, 27.25 Hz and 37 Hz, by monitoring the background PSD at MC2. But we totally took the time-dependent datas using 37 Hz because the pole frequency of some filters is around 27.25 Hz. We used python script that Alex wrote (MC_TRANS_SUM_PLOTS.ipynb, URL: /opt/rtcds/caltech/c1/Git/40m/measurements/IMC) for taking the datas. We took each data by oscillating PIT or YAW of each mirror in IMC. Measuring time was set as 10 s. The time is longer than the 100 times of 1/37 Hz. Oscillating amplitude is tabled below.

MC1P Amplitude MC1Y Amplitude
Take 1 4,500 Take 1 30
Take 2 Forget taking value... Take 2 80
Take 3 3,000 Take 3 75
MC2P   MC2Y  
Take 1 75 Take 1 10,000
MC3P   Take 2 17,500
Take 1 30 MC3Y  
Take 2 50 Take 1 100
    Take 2 70

In order to analyze the datas, we make python script named MC_TRANS_SUM_ANALYZE.ipynb (URL: /opt/rtcds/caltech/c1/Git/40m/measurements/IMC). We can get a_2 but I have some questions as listed below:

  • How can we treat error of a_2?
  • What is the unit of A_0? and How much value is it? If the unit of A_0 is cts, we can use each oscillating amplitude.

In this time, we use the error of a_2 as the quadrature component. And we use A_0 as the oscillating amplitude as listed above. 


The result is shown in the table.

MC1P 87 \pm 2 prad/cts
MC1Y 787 \pm 2 prad/cts
MC2P 533 \pm 8 prad/cts
MC2Y 2.38 \pm 0.04 prad/cts
MC3P 2.77 \pm 0.01 urad/cts
MC3Y 786 \pm 6 prad/cts

Comparing with the Anchal's result, we get much smaller error and different order... We have to reconsider the calculation method.

  17484   Sun Feb 26 00:13:55 2023 AlexConfigurationASCIOO MC PIT/YAW gain change

The following changes were made to the WFS MASTER IMC Pitch and Yaw gains:

Gain values for the pitch and yaw on MC1, MC2, and MC3 filters on the SUS ASC inputs have been carried over to the WFS MASTER output filters.
This was done such that Tomohiro and I could take AC measurements at an oscillation freq of 77 Hz on the pitch and yaw mirrors, while being sure that the amplitude of the AC signal being applied to each mirror is the same. The filters on the WFS output will have gains changed from 1.0 to the previously mentioned calibration values described in ELOG 17481

The values calculated for each filter were inverses of the callibration constants. The filters at the SUS ASC inputs were modified to read gain values of 1.0 again.
See the table bellow for the values passed to each filter.
In summary:
originally IOO-MC1,2,3_PIT/YAW_GAIN = 1.0. Now:



IOO-MC1,2,3_PIT/YAW_GAIN >> 1.0

  17483   Fri Feb 24 15:21:39 2023 JCUpdateGeneralLarge Optical Table Movement Solidworks

I sketched up the first encounter we will have when moving the optical table out. I'm assuming the table has already been turned onto its side. Next will be manuevering the table into the aisle along X-Arm. Solidworks' "Move Component" feature always me to move the table and see collisions. The feature stops the component from dragging and highlights the two faces which have made contact. I have not yet gotten to take the dimensions of the MC2 chamber and table, this will bethe tightest spot, so I want to get precise measurements. Though, it looks like we wont have any issues getting the table into the aisle. Atachment #1 is a top view that shows we have clearence, ~5 -7.5 in on both sides, and attachment #2 is a sectional view to show a clear pathway for pulling the table into the aisle.


Object that are Red are computer racks and Wood are walls.

  17482   Fri Feb 24 13:33:22 2023 TomohiroSummaryIMCUpdated angular actuation calibration for IMC mirrors

Alex, Anchal, and I did the following to make updated angular actuation calibration for IMC mirrors. This is the revised version of Anchal's: 40m/16125.

In order to make the calibration formulas, we consider a matrix A: connecting displacements and rotations of the IMC's beam waist to PIT and YAW rotations of every mirror

\begin{pmatrix} x_\mathrm{c} \\ y_\mathrm{c} \\ \theta_\mathrm{c} \\ \phi_\mathrm{c} \end{pmatrix} = A \begin{pmatrix} \theta_1 \\ \theta_2 \\ \theta_3 \\ \phi_1 \\ \phi_2 \\ \phi_3 \end{pmatrix}.

The parameters used in the above equation are listed in the next table.

x horizontal displacement of beam waist position
y vertical displacement of beam waist position
\theta PIT of the beam axis and/or each mirror
\phi YAW of the beam axis and/or each mirror
c (subscript) parameters for the beam
i = 1, 2, 3 (subscript) parameters for \mathrm{MC}_i

\mathrm{MC}_{1, 3} are the flat mirrors and \mathrm{MC}_2 is the curved mirror in IMC. Components in A are refered from F. Kawazoe+ 2011 (doi: 10.1088/2040-8978/13/5/055504). In the paper, displacement and/or rotation of the beam parameters obtained from the PIT and YAW of each mirror are obtained not by \theta_{1, 3}, \phi_{1, 3} but by common or differential rotation of both two flat mirrors \theta_\pm \equiv \theta_1 \pm \theta_3, \phi_\pm \equiv \phi_1 \pm \phi_3. Therefore, we divide A into two parts A_1, A_2 (relation A = A_1 A_2):

  • A_1: relation between the beam parameters and the PIT and YAW rotation with \theta_\pm, \phi_\pm

\begin{pmatrix} x_\mathrm{c} \\ y_\mathrm{c} \\ \theta_\mathrm{c} \\ \phi_\mathrm{c} \end{pmatrix} = A_1 \begin{pmatrix} \theta_+ \\ \theta_- \\ \theta_2 \\ \phi_+ \\ \phi_- \\ \phi_2 \end{pmatrix}.

  • A_2: relation between \theta_\pm, \phi_\pm and \theta_{1, 3}, \phi_{1, 3}

\begin{pmatrix} \theta_+ \\ \theta_- \\ \theta_2 \\ \phi_+ \\ \phi_- \\ \phi_2 \end{pmatrix} = A_2 \begin{pmatrix} \theta_1 \\ \theta_2 \\ \theta_3 \\ \phi_1 \\ \phi_2 \\ \phi_3 \end{pmatrix} = \begin{pmatrix} 1 & 0 & 1 & 0 & 0 & 0 \\ 1 & 0 & -1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 1 \\ 0 & 0 & 0 & 1 & 0 & -1 \\ 0 & 0 & 0 & 0 & 1 & 0 \\ \end{pmatrix} \begin{pmatrix} \theta_1 \\ \theta_2 \\ \theta_3 \\ \phi_1 \\ \phi_2 \\ \phi_3 \end{pmatrix}.

A_1 is represented by revewing F. Kawazoe+ (2011):

A_1 = \begin{pmatrix} 0 & 0 & 0 & 0 & - \sqrt{L^2 + d^2} & 0 \\ \dfrac{R - L}{\sqrt{2}} & 0 & -R & 0 & 0 & 0 \\ 0 & \dfrac{1}{\sqrt{2}} & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & \dfrac{R - L}{R - (L + d)} & 0 & - \dfrac{R}{R - (L + d)} \end{pmatrix}.

Here we use R as RoC of \mathrm{MC}_2L as height from the shorter side of the isoscele triangle, and d as half-long length of the shorter side. Intuitive discussion about the components are written in the last of the log.

Transmitted power is reduced by the small displacement and/or the small rotation of the beam axis, and can be represented by the Gaussian factor. It is described in /users/OLD/kakeru/oplev_calibration/oplev.pdf by Takahashi-san:

  • parallel displacement

\left( \mathrm{e}^{- \frac{\beta^2}{{2w_0}^2}} \right)^2 \approx 1 - \frac{\beta^2}{{w_0}^2}

where \beta is the small displacement of the beam waist. It corresponds to x_\mathrm{c},~y_\mathrm{c}w_0 is beam waist diameter inside IMC.

  • beam axis rotation

\left( \mathrm{e}^{- \frac{\alpha^2}{{2\alpha_0}^2}} \right)^2 \approx 1 - \frac{\alpha^2}{{\alpha_0}^2}

where \alpha is the small rotation of the beam axis. It corresponds to \theta_\mathrm{c}, \phi_\mathrm{c}\alpha_0 is divergence angle of the beam and is written by w_0 and wavelength of laser \lambda

\alpha_0 = \frac{\lambda}{\pi w_0}.

Total power reduction is measured by multiplied gaussian factor of the displacement and the rotation. We can obtain the calibration formulas \eta with summed reduction Gaussian factor

\begin{align} &\frac{\beta (x_c (\vec{\Theta}), y_c (\vec{\Theta}))^2}{{w_0}^2} + \frac{\alpha (\theta_c (\vec{\Theta}), \phi_c (\vec{\Theta}))^2}{{\alpha_0}^2} \notag \\ &\qquad\quad= \eta_{\cdot 1\mathrm{P}}~{\theta_1}^2 + \eta_{\cdot 2\mathrm{P}}~{\theta_2}^2 + \eta_{\cdot 3\mathrm{P}}~{\theta_3}^2 + \eta_{\cdot 1\mathrm{Y}}~{\phi_1}^2 + \eta_{\cdot 2\mathrm{Y}}~{\phi_2}^2 + \eta_{\cdot 3\mathrm{Y}}~{\phi_3}^2 \notag \end{align}

where \vec{\Theta} is the vector of the PIT and YAW rotation \vec{\Theta} \equiv \left( \theta_1, \theta_2, \theta_3, \phi_1, \phi_2, \phi_3 \right)^\mathrm{T}. \eta_{\cdot i \mathrm{P}}, \eta_{\cdot i \mathrm{Y}} are the calibration fomulas of PIT and YAW in 40m/16125 defined by Anchal, respectively, and have a unit of \mathrm{1/rad^2}. Every calibration fomula is expressed as follows:

\eta_{\cdot 1,3 \mathrm{P}} = \frac{(R - L)^2}{2 {w_0}^2} + \frac{1}{2 {\alpha_0}^2}~,~~\eta_{\cdot 2\mathrm{P}} = \frac{R^2}{{w_0}^2},

\eta_{\cdot 1,3 \mathrm{Y}} = \frac{L^2 + d^2}{{w_0}^2} + \frac{(R - L)^2}{{\alpha_0}^2 \left\{ R - (L + d) \right\}^2}~,~~\eta_{\cdot 2\mathrm{Y}} = \frac{R^2}{{\alpha_0}^2 \left\{ R - (L + d) \right\}^2}.

We intuitively describe how to obtain the components in A_1. The detail is discussed in F. Kawazoe+ (2011).

  • A_1 (1, 5): 2-flat mirrors rotate with differential YAW \phi_-

When the 2-flat mirrors rotate, the shape of the isoscele triangle is thick, that is, the beam waist does not rotate but slightly displaces from its original one. Considering that the longer side of the triangle are almost perpendicular to the shorter side and \phi_- \ll 1x_\mathrm{c} can be obtained by focusing on the right triangle shown in the following picture

x_\mathrm{c} = - \sqrt{L^2 + d^2} \tan \phi_- \approx - \sqrt{L^2 + d^2} \phi_-.

  • A_1 (4, 4): 2-flat mirrors rotate with common YAW \phi_+

From \phi_+ \ll 1, new triangle beam line is very similar to the isoscele triangle by rotating \phi_+ from original one. So \phi_c is approximated to \phi_+, but actually the new one is breaked its symmetry. The result becomes as follows

\phi_\mathrm{c} = \frac{R - L}{R - (L + d)} \phi_+.

  • A_1 (4, 6): curved mirror rotates by \phi_2

It is similar to the case of \phi_+. But the pivot to rotate the triangle is near than the case \phi_+, so \phi_\mathrm{c} has bigger factor than that of \phi_-

\phi_\mathrm{c} = - \frac{R}{R - (L + d)} \phi_2.

  • A_1 (2, 3): curved mirror rotates by \theta_2

It is completely the same as the discussion of linear cavity which has flat end mirror and curved input mirror.

y_\mathrm{c} = - R \tan \theta_2 \approx - R \theta_2.

  • A_1 (2, 1): 2-flat mirrors rotate with common PIT \theta_+

It is also the same as the linear one except that 2-flat mirrors are angled by 45 degrees. Angled 45 degrees reduce the effective rotation by factor of 1/\sqrt{2}. The detail is discussed in A. Freise (2010).

y_\mathrm{c} = (R - L) \tan \left( \frac{\theta_+}{\sqrt{2}} \right) \approx (R - L) \frac{\theta_+}{\sqrt{2}}.

  • A_1 (3,2): 2-flat mirrors rotate with differential PIT \theta_-

The differential rotation with the effect of 1/\sqrt{2} directly reflects to the PIT rotation of the beam

\theta_\mathrm{c} = \frac{\theta_-}{\sqrt{2}}.

  17481   Fri Feb 24 13:29:16 2023 AlexSummaryIMCUpdated angular actuation calibration for IMC mirrors

Also reply to: 40m/17352

Tomohiro, Anchal, and I did the following to make updates to the calibration constants for pitch and yaw on MC1, MC2 and MC3.

To acquire the data used for fitting a curve respective to the change in counts per change in mirror pitch and yaw, we utilized some code that Anchal has already developed.

The scripts used to take time averaged data points of the IMC mirrors can be found by entering the command $ s into a terminal window to enter the scripts folder. Then enter the path "SUS/angActCal"

The following scripts will be found there to be used for this experiment:

angActCal.py & parabolaFit.py

To take data we used the angActCal.py function with set values for the time averaging = 5 s, settle time = 5 s, and adjusted the offset such that we would acquire approximately 20 data points given our ASC Bias limits. We defined the limits for each plot based on where the transmission fall off from the maximum value reached an average range of 10,000 counts.

The "readChannel" for each was the "C1:IOO-MC_TRANS_SUMFILT_OUTPUT" and can be found from the site map at IOO>Lock MC> see MC2_TRANS

The adjustment channels for Pitch and yaw on each IMC mirror were entered as the offset value found in the IMC screen at ALIGNMENT OFFSETS > BIASPIT/BIASYAW > OFFSET

For the code to work, the offset switch must be turned on. parabolaFit.py 

The data from MC1, MC2, and MC3 for pitch and yaw was saved to individual text files which were then entered into the parabolaFit.py function to get the results seen in attachment 1 and 2.


The above images show the printout from the plot fitting function and one of the graphs produced.

Optic ACT

Fit curve factor for DC (1/cts^2)


2.41 +/- 0.01 e-3


4.12 +/- 0.02 e-3


5.75 +/- 0.03 e-3


8.48 +/- 0.13 e-3


1.83 +/- 0.03 e-3


4.52 +/- 0.05 e-3

From the fitted curve values we then derived the equations that will soon be described further by Tomohiro (see entry _____) to arrive at the final callibration constants.


Optic ACT

Callibration constant at DC (urad/cts)


12.66 +/- 0.03


6.64 +/- 0.02


lock6.83 +/- 0.02


4.69 +/- 0.04


11.03 +/- 0.09


6.96 +/- 0.04

Final Calibration Constants for MC1, MC2, & MC3


We then utilized our calculated calibration constants (as seen bellow) to adjust the following filter parameters in the IMC control panel.


To make the updates such that the IMC screens show the correct urad values at the output of the filter banks, we must do the following steps to MC1, MC2, and MC3:

First, to make changes to our calibration filters, we must first shut off the pitch and yaw feedback loop controls.

TO do so for the Lock Filters, we will set the pitch and yaw SUS ASC inputs to 0 but entering the sitemap > IOO > C1IOO_WFS_MASTER

Nex head to action at the top right, and we can select "MC WFS relief 60s", this will relieve the values from the pitch and yaw inputs to the 40m Mode Cleaner Alignment settings to save the overall alignment and allow us to turn off the WFS servos to make the necessary adjustments on the lock filters.

Once we have waited a sufficient amount of time for the values on the ASC inputs to hover around 0, select Turn WFS ON/OFF button and choose "Turn OFF MCWFS Servo"


Next, we will press on the "on/off" button (see attachment 3 - circled in orange) for pitch and yaw found in just the LOCK FILTERS windows.

Once these are off we will stay in the same screen and adjust the gain values (boxed in yellow) for pitch and yaw.

Next, we will take the current value and divide it by the newly found corresponding calibration constant. This is to adjust for the changes we will be making on the output end of the filter banks such that all values in the feedback controls are normalized to the same scale.

The changes made here can be seen bellow:


Damp Filter Orig

Damp Filter NEW

Lock Filter Orig

Lock Filter New
































Now that these changes have been made in the damp and lock filter banks, with the pitch and yaw feedback loops STILL OFF, we may adjust the newly made calibration filters for pitch and yaw (as seen in attachment 4).

The "P" and "Y" filters may be opened (boxed in red) and we may adjust the gain (circled in yellow). Because each of these filters have just been created, the value is set to 1. This value can be completely replaced with the calibration constant found in our table above. Thus we will now change MC1 Pitch to have a "gain" of 12.66 and so forth.

Once each of the calibration filters have been updated, you may go back into the damp filters and reinitiate the feedback loops.

Once all values have been entered,

This concludes the updating of the IMC filter calibration constants at DC.

  17478   Thu Feb 23 14:55:49 2023 yutaUpdateBHDBH55 and BH44 orthogonality checks

Ideally, BH55 and BH44 should give orthogonal signals to lock LO phase (40m/17302).
This was checked with various interferometer configurations.
BH55 and BH44 are indeed orthogonal in ITM single bounce and MICH, but was not measurable in FPMI.
Maybe we should investigate BH44 in MICH BHD configuration first to see why BH44 is very noisy in FPMI.

 - X-Y plotted BH55_Q and BH44_Q and fitted with an ellipse to derive amplitude of each signal and phase difference between them.
 - Amplitude and phase differences are calculated using the following equations, where (ap, bp) are the semi-major and semi-minor axes, respectively, and phi is the rotation of the semi-major axis from the x-axis. (Thanks to Tomohiro for checking the calculations!)

 xAmp = np.sqrt((ap * np.cos(phi))**2 + (bp * np.sin(phi))**2)
 yAmp = np.sqrt((ap * np.sin(phi))**2 + (bp * np.cos(phi))**2)
 phaseDiff = np.arctan(bp/ap*np.tan(phi)) + np.arctan(bp/ap/np.tan(phi))

Jupyter notebook: /opt/rtcds/caltech/c1/Git/40m/scripts/CAL/BHD/MeasurePhaseDiff.ipynb

 - This was done un following 4 configurations.
  - ITMX single bounce vs LO
  - ITMY single bounce vs LO
  - AS beam in MICH locked with AS55_Q vs LO
  - AS beam in FPMI locked with REFL55/AS455 vs LO
 - For each configuration, RF demodulation phases were tuned to minimize I.
 - Statistical error was estimated by calculating the standard deviation of 3 measurements.

 - Also, FPMI BHD sensing matrix was measured when FPMI is locked with REFL55/AS55, and LO_PHASE is locked with BH55_Q or BH44_Q.

Jupyter notebook: /opt/rtcds/caltech/c1/Git/40m/scripts/CAL/SensingMatrix/ReadSensMat.ipynb

Result of BH55/BH44 orthogonality check:
 - ITMX single bounce vs LO
            Demod phase         Amplitude       Phase Diff
    BH55_Q  -94.4 +/- 0.2 deg   600.4 +/- 0.6   
    BH44_Q  -9.0 +/- 0.2 deg    124.3 +/- 0.2   -86.7 +/- 0.1 deg

 - ITMY single bounce vs LO
            Demod phase         Amplitude       Phase Diff
    BH55_Q  -92.9 +/- 0.3 deg   588.0 +/- 0.3   
    BH44_Q  -8.9 +/- 0.3 deg    123.0 +/- 0.1   -87.2 +/- 0.1 deg

 - AS beam in MICH locked with AS55_Q vs LO
            Demod phase         Amplitude       Phase Diff
    BH55_Q  -68.7 +/- 0.8 deg   44 +/- 1   
    BH44_Q  -28.5 +/- 1.7 deg   10.3 +/- 0.1   -84 +/- 2 deg

 - AS beam in FPMI locked with REFL55/AS455 vs LO
            Demod phase         Amplitude       Phase Diff
    BH55_Q  35 +/- 3 deg        257 +/- 4   
    BH44_Q  -16 +/- 3 deg       44 +/- 1        -77 +/- 3 deg

 - Attachmented pdf contain example X-Y plots from each configuration. For ITM single bounce and MICH, BH55 and BH44 seems to be orthogonal, but for FPMI, ellipse fit does not go well.
 - Difference in the BH55 demodulation phase for ITMX single bounce and ITMY single bounce (1.5 +/- 0.4 deg) agrees with past measurement and agree marginally with Schnupp asymmetry (40m/17274).
 - Maybe we can derive some length differences using these demodulation phases.

Result of FPMI sensing matrix measurements:
 - Below is the sensing matrix when FPMI is locked with REFL55/AS55, and LO_PHASE is locked with BH55_Q. BH44 is noisier than BH55, and the response to LO1 is consistent with zero. This is also consistent with BH44 being orthogonal to BH55, but the error bar is too large to say.

Sensing matrix with the following demodulation phases (counts/m)
{'AS55': -168.5, 'REFL55': 92.32, 'BH55': -110.0, 'BH44': -8.93097234187195}
Sensors       DARM @307.88 Hz           CARM @309.21 Hz           MICH @311.1 Hz           LO1 @315.17 Hz           
AS55_I       (-2.49+/-8.35)e+10 [90]    (+2.36+/-0.85)e+11 [0]    (-0.64+/-3.99)e+10 [0]    (+0.57+/-4.07)e+09 [0]    
AS55_Q       (-3.50+/-0.08)e+11 [90]    (+0.09+/-1.20)e+11 [0]    (-0.79+/-8.66)e+09 [0]    (-0.70+/-5.96)e+08 [0]    
REFL55_I       (+0.72+/-8.09)e+11 [90]    (-1.42+/-2.75)e+12 [0]    (+0.00+/-1.37)e+11 [0]    (-0.38+/-2.78)e+09 [0]    
REFL55_Q       (+0.19+/-1.93)e+11 [90]    (-2.14+/-6.92)e+11 [0]    (+0.00+/-3.16)e+10 [0]    (+0.17+/-1.19)e+09 [0]    
BH55_I       (-1.41+/-0.55)e+11 [90]    (+1.46+/-2.28)e+11 [0]    (-1.60+/-3.72)e+10 [0]    (-0.07+/-3.05)e+09 [0]    
BH55_Q       (+2.05+/-3.10)e+10 [90]    (-1.72+/-4.86)e+10 [0]    (-0.31+/-2.19)e+10 [0]    (-3.06+/-0.87)e+09 [0]    
BH44_I       (-0.41+/-2.03)e+11 [90]    (+0.10+/-2.39)e+11 [0]    (+0.06+/-1.31)e+11 [0]    (-0.01+/-2.71)e+10 [0]    
BH44_Q       (+0.14+/-3.23)e+12 [90]    (+0.02+/-3.67)e+12 [0]    (+0.07+/-2.03)e+12 [0]    
(-0.02+/-4.22)e+11 [0]    
BHDC_DIFF       (+8.49+/-0.47)e+11 [90]    (-0.06+/-2.93)e+11 [0]    (-0.16+/-1.01)e+10 [0]    (-0.27+/-2.04)e+09 [0]    
BHDC_SUM       (-2.30+/-0.11)e+11 [90]    (+0.68+/-7.92)e+10 [0]    (-0.44+/-3.33)e+09 [0]    (-0.63+/-5.63)e+08 [0]  

 - Below is the sensing matrix when FPMI is locked with REFL55/AS55, and LO_PHASE is locked with BH44_Q. BH44 response to LO1 is again consistent with zero. Locking LO_PHASE with BH44 is not robust. Also, BHDC_DIFF response to DARM is less, compared with LO_PHASE locked with BH55_Q. This means that BH55 is somehow better than BH44 in our FPMI BHD, which contradicts with simulations (with no contrast defect and DARM offset).

Sensing matrix with the following demodulation phases (counts/m)
{'AS55': -168.5, 'REFL55': 92.32, 'BH55': -110.0, 'BH44': -8.93097234187195}
Sensors       DARM @307.88 Hz           CARM @309.21 Hz           MICH @311.1 Hz           LO1 @315.17 Hz           
AS55_I       (-7.56+/-4.89)e+10 [90]    (+1.61+/-1.05)e+11 [0]    (+0.51+/-2.48)e+10 [0]    (+0.88+/-8.02)e+08 [0]    
AS55_Q       (-3.62+/-0.05)e+11 [90]    (+0.02+/-1.23)e+11 [0]    (+0.67+/-3.73)e+09 [0]    (+0.02+/-1.28)e+08 [0]    
REFL55_I       (+1.09+/-8.12)e+11 [90]    (-1.47+/-2.82)e+12 [0]    (+0.01+/-1.34)e+11 [0]    (+2.20+/-5.29)e+08 [0]    
REFL55_Q       (+0.22+/-1.93)e+11 [90]    (-1.83+/-7.23)e+11 [0]    (+0.02+/-3.18)e+10 [0]    (+0.56+/-1.17)e+08 [0]    
BH55_I       (-1.21+/-0.08)e+12 [90]    (+0.17+/-4.31)e+11 [0]    (-1.24+/-3.02)e+10 [0]    (-0.30+/-3.55)e+09 [0]    
BH55_Q       (-3.83+/-0.30)e+11 [90]    (-0.12+/-1.42)e+11 [0]    (-0.61+/-1.96)e+10 [0]    (-0.21+/-1.49)e+09 [0]    
BH44_I       (-0.22+/-2.01)e+11 [90]    (-0.07+/-2.30)e+11 [0]    (-0.02+/-1.27)e+11 [0]    (+0.08+/-2.62)e+10 [0]    
BH44_Q       (-0.77+/-8.27)e+11 [90]    (-0.13+/-9.51)e+11 [0]    (-0.04+/-5.23)e+11 [0]    (+0.02+/-1.08)e+11 [0]    
(+1.94+/-0.81)e+11 [90]    (-0.58+/-1.84)e+11 [0]    (+0.18+/-3.53)e+10 [0]    (-0.49+/-3.84)e+09 [0]    
BHDC_SUM       (-2.22+/-0.12)e+11 [90]    (+0.66+/-7.70)e+10 [0]    (-1.04+/-3.97)e+09 [0]    (+0.31+/-6.10)e+08 [0]

Other notes:
 - TRX and TRY are noisier at ~28 Hz when locked with REFL55/AS55 than when locked with POX/POY. DARM signal seems to be contaminated with broad 28 Hz noise. Needs investigation of the cause.
 - BS oplev loops seem to be close to unstable. When FPMI is unlocked, BS is kicked significantly.

 - Repeat measurement in 40m/17351 with BH44.
 - Compare LO phase noise in MICH configuration when LO_PHASE is locked with BH44 and BH55.
 - Investigate 28 Hz noise in FPMI
 - Tune BS local damping loops

  17477   Wed Feb 22 23:40:48 2023 AlexUpdateCalibrationAdding calibration constants for sus matrix and filter control buttons to the sus control screen

The callibration constants were updated for the oplev pitch and yaw. The values were changed as denoted in 17471 were:

     PITH: 175.7→ 155 cts/urad

     YAW: 193 → 241 cts/urad

To make these changes for the oplev callibration constants I went to ETMY - SELECTED OPLEV SERVO BOX

I then opened OLMATRIX and turned off PITCH and YAW servos in the ETMY SUSPENSION SCREEN such that the system does not attempt to actively make corrections while values are being changed. 

Then I adjusted the matrix to include our updated calibration constants and reinitiated the oplev ptich and yaw servo's

This updated the calibration constants for everything


The next change that was made was the addition of the calibration filters for position, pitch, yaw and side into the sitemap view for the suspension systems.

Adding calibration filters will allow us to callibrate the pos, pitch, yaw, and side to true values of urad and umeters (see 17459)

The final screen may be seen bellow (the updated area is outlined in red):


When each of the filter buttons is clicked, the following screen will now appear (circled in yellow is the calibration constant gain we will be calculating and entering into the system):


To create the edits to the controls screen we must complete the following process

We can edit the original screen - right click > evaluate > edit this screen

Then I adjusted the width of the overall screen, and moved the right half of the modules over to the right so I could fit in some filter buttons. I then Navigated to the c1ioo wfs master screen using the open feature to copy a pre existing filter module

I then adjusted the filter module and its contents to correspond to the features and autogenerated model files from RTCDS

There was some rearranging and adjusting needed to get these files in place first. The autogenerated files from the RTCDS can be found in dir = "/opt/rtcds/caltech/c1/medm/c1sus/"

They were autogenerated with names "C1SUS_BS_PITCAL.adl", "C1SUS_BS_POSCAL.adl", "C1SUS_BS_YAWCAL.adl","C1SUS_BS_SIDECAL.adl" 

We copied these files to dir = "/opt/rtcds/userapps/trunk/sus/c1/medm/templates/NEW_SUS_SCREENS/"

The file names were changed to "SUS_PITCAL.adl", "SUS_POSCAL.adl", "SUS_YAWCAL.adl", "SUS_SIDECAL.adl" 

The directory we placed them in is where the models for c1 sus can be found that are referenced by the sitemap suspension monitor screen

Each file was then opened in Vscode and a few changes were made such that the specific naming values referenced by the different screens of the sitemap and different optics, are replaced by the overarching values seen in each instance of the screens.

There are approximately 50 referenced file names of "C1:SUS-BS_PITCAL" etc. In each instance we made the following changes:

"-BS" was changed to "-$(OPTIC)"

"C1:" was changed to "$(IFO):"

The new strings should read "$(IFO):SUS-$(OPTIC)_PITCAL"

Once this change was made we can now right click on the filter module box, click on "Label/Name/Args" button

In the display file, we must add the path name for the calibration directory "/opt/rtcds/userapps/trunk/sus/c1/medm/templates/NEW_SUS_SCREENS/SUS_POSCAL.adl"

And for the arguments box we will enter OPTIC=$(OPTIC), IFO=$(IFO)

You can also copy and paste the directory names in the file boxes using right click copy from the file manager and paste into the box using a single click of the mouse scroller wheel

Lastly, the PV limits were changed for each number output right click value box > PV limits > Precision > Source changed to "Default" with a value of 1.

The shown value of the position, pitch, yaw, and side was then changed to show the output from the newly added filter. This is done also by right clicking the value box and adjusting the "Readback Channel".

Value changed from "$(IFO):SUS-$(OPTIC)_TO_COIL_1_#_INMON" to the outputs from the filters which are

       "$(IFO):SUS-$(OPTIC)_POSCAL_OUTMON" (for others changing POSCAL to the appropriate variable)

This is how to edit and add the Medm screens for single suspension optics into the sitemap IFO SUS screen


Lastly, Tomohiro and I worked on acquiring 6 data sets from DC stepping through adjustments in pitch and yaw for MC1, MC2 and MC3. These datasets will be fit quadratically and combined with more tests dine by AC driving the stepper motors tomorrow to find the calibration constants for the mirrors.

  17476   Wed Feb 22 17:32:16 2023 yutaUpdateBHDBH55 and BH44 both amplified

Since we need more signal for both BH55 and BH44 to compare LO phase locking scheme, BH55 and BH44 RF outputs are now amplified with ZFL-1000LN+ and ZFL-500HLN+ respectively (see Attachment #1).
The amplifiers each draw ~0.1 A current of 15V DC power supply, and Sorensen power supply now reads 6.9 A (see Attachment #2).
With ITMX single bounce and LO beam fringing, BH55_Q (45 dB whitening gain, C1:LSC-BH55_PHASE_R=-110 deg) gives ~500 counts in amplitude, and BH44_Q (24 dB whitening gain, C1:LSC-BH44_PHASE_R=4.387 deg) gives ~100 counts in amplitude (and they are orthogonal) (see Attachment #3).

  17475   Tue Feb 21 19:04:15 2023 RadhikaUpdateALSXARM green laser lock debugging

I retook the last spectrum measurement of ALS beatnote fluctuations, with the HEPA on and off. The top plot corresponds to BEATY, and the bottom plot corresponds to BEATX. The 560 Hz peak doesn't seem to be dependent on the status of the HEPA. The noise floor change in BEATY is probably due to drift of the beatnote frequency.

  17474   Mon Feb 20 16:35:15 2023 ranaUpdateIOOMC WFS Work1

I added a less agressive low pass filter to give some more phase margin, and then increased the overall gain by 4x. There is now some suppression around 1 Hz.


In the attached plot:

  1. HEPA ON is the grey traces. Nothing surprising there.
  2. The dark PURPLE traces are HEPA OFF, old gain/filter settings.
  3. Colorful traces: RLP20 instead of RLP12. input gain slider = 4.0

Its clear from this that the WFS2 PIT servo has a very low gain. There's no UGF bump in the spectra.

I also added a 6 Hz : 3 Hz pole:zero pair to give some phase lead. Turning this on reduces some gain bump in pitch, but makes the WFS1 Yaw loop oscillate.


  17473   Mon Feb 20 15:27:32 2023 ranaUpdateComputerspianosa software issues

notes 20-Feb-2023

* emacs doesn't run in base conda path (cds). LD_LIBRARY_PATH errors

* works fine if I do 'conda deactivate'. Something weird with our conda env?

* did apt install emacs, xemacs, terminator,

* these should be in the default workstation install

* arrgg!
(cds) ~>dataviewer
bash: dataviewer: command not found

* looks    like apt installs, made    dataviewer executable disappear?

  17472   Mon Feb 20 14:20:04 2023 ranaUpdateIOOMC WFS Work1

Made a comparison plot between the WFS1 PIT loop and the model. There is good agreement.

  • I have had trouble increasing the UGF to > 1 Hz. Usually some instability ~1 Hz.
  • Took a swept sine TF of WFS1 P, with the all 6 angular loops closed. The UGFs are all <0.1 Hz or so, so I think it doesn''t affect the loop shapes around 1 Hz.
  • The model was not agreeing with the measurement. In addition to the pendulum TF and the WFS1 PIT filters, I had to add the Bounce/Roll mode bandstop filters, and the 28 Hz elliptic low pass which is the post DAC low pass (aka dewhitening filters).
  • I expect that some of the wiggles around 1 Hz are due to modeling the pendulum as a viscous damped pendulum, rather than the OSEM damping loop.

Next, I will try to do some loopology to increase the phase margin around 1-3 Hz. HEPA in OFF state for now - please turn on in the morning.

  17471   Thu Feb 16 23:54:11 2023 AlexUpdateDaily ProgressYaw and Pitch Calibration constants for ETMY op-lev

This work was done by Ancal and I. 

To recallibrate the op-lev for ETMY, a python script was first written to calculate the change in distance in x or y that the photodiode array will see when the mirror incurs a change in yaw or pitch. The python script approximates d by integrating, using a reimann sum, the area under a gaussian curve, given by I(r)= Iexp(−2r2/ 2w(z)2), where r is the radial position, and w(z) is the waist (radius) size of the gaussian beam where power reaches 1/eof its maximum. The distance d, is the difference from the center of the gaussian to the point at which the beam profile has a normalized area under the curve equal to that of the percent of the beam profile showing on one half of the circular photodiode array.

     Above, the gaussian is related to the translation of the beam profile on the photodiode where the area calculated under the curve of the gaussian, is equivalent to the ratio of the beam profile in 2 adjacent quaters of the photodiode array. 

The gaussian, is directly related to the waist size of the laser beam profile, and thus a beam profiler was used to calculate the waist size over an average of 100 takes. Due to the thickness of the beam profiler, we were unable to get a direct measurement of the size of the beam at the exact location of the photodiode. Instead, we took two seperate measurements while moving the profiler 1 inch further away from the photodiode and back calculated the average size of the beam at the photodiode assuming that at this distance away from the source, the beams width would expand linearly. This provided a 2*waist size of 1625 ± 40 um. 

     image above displays the laser beam profiler used to approximate the waist size of the op-lev laser.

The physically calculated translation of the beam profile, d, can then be used to determine the overall angle, theta, that the mirror has moved to create this offset. The relation between distance and theta is Theta = d/2R, where R is the length from the mirror surface to the photodiode. R was then measured by hand over the optics table, and estimated to the best of our ability using the accurate autocad drawings of ETMY. This provided us with an R length of 1.76 ± 0.02 meters. 

     Image above shows the current system in place for converting the photodiode counts into microradians. The calibration constant is implemented at the last green filter boxes for pitch and yaw. 

Lastly, to calculate the callibration constants, a series of tests were run on the ETMY suspeneded mirror. First, a time averaged value of the photodiode counts was taken with the mirror locked in place. Next, pitch and yaw were adjusted by 10 counts seperately, and the photodiode outputs recorded. This was done again but by moving the mirror 50 counts in pitch and yaw (seperately). The final result of the difference of the calculated theta values over the difference of pitch or yaw counts provided the following callibration constants:

      Pitch moved +10 counts: 131 ± 5 cts/urad

      Pitch moved +50 counts: 155 ± 5 cts/urad

      Yaw moved +10 counts: 237 ± 5 cts/urad

      Yaw moved +50 counts: 241 ± 5 cts/urad

Given our results, we believe that the values found for our 50 count translation to be the best approximation of the calibration constant due to its movement being more significant than that of the change seen from adjusting yaw or pitch by only 10 counts. 

Next steps will be to update the values in the controls system and improve the python script to be more autonomous rather than a a step by step calculation. 


  17470   Thu Feb 16 18:40:13 2023 RadhikaUpdateALSXARM green laser lock debugging

[Rana, Radhika]

Yesterday we looked at the out-of-loop PDH error signal of the AUX laser and determined that the LO phase needed significant adjustment. Previously I suspected that the LO phase knob was not actually connected to the circuitry, and we confirmed this looking inside the PDH servo box. Instead we shifted the modulation frequency towards a large PZT resonance in order to obtain a phase shift. (Original frequency: 231.25 kHz.) On a scope it looked like the PDH error signal was improving.

Today I manually swept across modulation frequency in increments of 5 kHz. Qualitatively the PDH signal looked the cleanest between 285 and 290 kHz [Attachment 1]. Here the linear region spans 2V, although it could still be larger in amplitude relative to the side peaks. More fine tuning is still remaining, and at this frequency I'll measure spectra + time series of the err and control signals. 

  17469   Thu Feb 16 15:25:52 2023 RadhikaUpdateALSXARM green laser lock debugging

After seeing a 560 Hz peak in the XAUX REFL PD signal, I took spectra of the PDH error signal (post-demod) [Attachment 1]. The peak remained, warranting further investigation.

I disconnected the XAUX PDH loop (including PZT modulation) and looked at the beatnote between the PSL (locked to IMC) and the free-running XAUX laser. Attachment 2 shows the PSL-XAUX beatnote alongside the PSL-YAUX beatnote (both around 60 MHz). Note that the YAUX PDH loop was already disconnected, but I added a terminator to the PZT input BNC. Here the 560 Hz peak originating from the XAUX laser is clear. (It is also interesting that the BEATY signal has a significant comb structure compared to BEATX.)

Anchal suggested I tune the XAUX temperature for the frequency difference to switch signs (keeping magnitude at 60 MHz). The result is in Attachment 3 - the 560 Hz peak remained, showing it's not a local temperature-dependent feature.

From this is seems the 560 Hz noise is coming from the XAUX laser.

  17468   Thu Feb 16 14:44:06 2023 yutaUpdateBHDFPMI BHD with BH55 recovered

FPMI BHD with LO phase locked using BH55 is recovered after 60 Hz frequency noise saga.
Attachment #1 shows the calibrated FPMI spectrum with RF(AS55_Q) readout and BHD, compared with those taken on January 13 (40m/17400, before BH44 installation).
There is unknown excess noise at round 30-40 Hz. This is not from MC2 DAC noise, as turning on/off dewhitening filters didn't make a difference.
Attachment #2 shows the samething but zoomed at 60 Hz. 60 Hz noise is actually reduced by an order of magnitude compared with what we had before BH44 installation.
Note that RF amp for BH55 which was there on January 13 was removed now (40m/17413).
LO_PHASE is locked with BH55_Q, under whitening gain of 45 dB, whitening filter on, C1:LSC-BH55_PHASE_R=-110 deg, C1:HPC-LO_PHASE_GAIN=-10, FM5 and FM8. This gives UGF of ~20 Hz (we used to be able to get ~100 Hz, but not possible now).

Locking LO_PHASE with BH44 is not stable now, probably due to small optical gain. We might have to install RF amp for BH44.

 - Check the beam alignment to BH44 RF PD
 - Install RF amp for BH44
 - Re-install RF amp for BH55

  17467   Wed Feb 15 20:08:18 2023 ranaUpdateIOOIMC WFS obs
  • looking at some IMC WFS swept sines, it seems like there is poor margin around 1 Hz
  • increasing the overall gain (input) by 2x makes the whole system shake a lot at ~1Hz
  • increasing the input gain from 1 to 4 makes the lock break due to oscillations
  • I have turned the input slider to 0.5 just now, but it will revert to 1 after the next lock loss for tonights testing
  • we can use the observations from now for an hour or so to see if 0.5 is better for the 1 Hz behavior (lets look at the summary pages)
  17466   Wed Feb 15 16:16:59 2023 AnchalSummaryBHDIMC optics Coil Output Filter corrections

Overtime the coil output filters on IMC optics have drifted into a bad configuration. Today at the meeting, Rana told us the correct configuration for these filters. I'll summarize this here and we have changes the filters on all IMC optics, MC1, MC2, and MC3 to match this configurations:

MC1 and MC3

Analog side:

Both MC1 and MC3 have a 28 Hz 5th order elliptical low pass filter as teh dewhitening filter in LIGO-D000316

Digital side:

At the coil output filters named as C1:SUS-MC1_ULCOIL, the filter module FM9 is connectd in RTCDS to the analog dewhitening filter such that only one of the two can remain ON. So For MC1 and MC3, we put a ellip("LowPass", 5, 1, 50, 28) filter on FM9 for all 5 coil output filters.

Note: We do not add a inverse dewhitening filter at FM10 like most other optics as inverting this filter will create resonant peaks at the dips of the elliptical filter which we want to avoid and we anyways do not use MC1 and MC3 optics for any kind of actuation above 20 Hz.


Analog side:

For MC2, the dewhitening filter is a 10 Hz pole, 30Hz zero like most other suspended optic.

Digital side:

At the coil output filters named as C1:SUS-MC2_ULCOIL, the filter module FM9 is connectd in RTCDS to the analog dewhitening filter such that only one of the two can remain ON. So For MC2 we put a SimDW filter which is matched to the anlog filter. We also put a InvDW filter on FM10, which is the analytical inverse of the SimDW filter. This filter does the anti-dewhitening required on the digital side and should be always ON.

To MC2 equivalent to other IMC optics in terms of overall transfer function for the local damping loops and ASC loops, we need additional 28 Hz elliptical low pass filter in these loops. But such a filter should not be in the path of LSC feedback when MC2 is used for locking CARM with a bandwidth of ~100 Hz. Thus, we put a ellip("LowPass", 5, 1, 50, 28) filter on FM6 of the following filters, which should be always ON as well:


Effect on 60 Hz Noise

With the above changes, we see that the 60 Hz noise is same as the previous levels when we use the analog dewhitening filter (28 Hz elliptical filter) for MC1. We can move forward with our science experiments with that configuration but there is still something fishy about MC1 in comparison to MC3 which does not have this behavior. So this still needs to be looked at in future.

Wiki page for filter details and configurations

Information of this kind should be stored in a wiki page in my opinion. We should have a page where we list all common filter configurations for our suspensions and other loops, that can be generally classified and is useful for understanding legacy configuration for future folks who work here. I'm starting such a wiki page here, where I'll dump more information as I collect it and get time. Everyone is encouraged to update this in there free/procrastination times.



  17465   Wed Feb 15 12:07:35 2023 AnchalUpdateASCASC model updated to take inputs from IMC WFS

I have updates the ASC model inside c1ioo.mdl file to take inputs from IMC WFS when selected with AS option (on the left side of AS WFS block. I've also implemented the missing lockin option in this model. Currently the old AWS model is still in c1ioo which will be removed once we have successfully used the new ASC model for locking AS WFS loops for YARM. Now ETMX and ETMY QPD signals are also available in the input matrix for use and available outputs are ETMs, ITMs, BS, PRM, and SRM.

While changing these models, I also removed use of RFM model in ASC as this is not required anymore. The IPC from any model to any model can be done directly now. Overtime, c1rfm would be retired by removing one channel connection at a time.

  17464   Tue Feb 14 18:39:53 2023 RadhikaUpdateSUSBandstop widened for ITMX BounceRoll filter module

[Rana, Radhika]

While discussing xarm AUX laser locking, we noticed excess motion of ITMX. We took spectra of all ITMX sensor outputs and observed a 16 Hz peak, corresponding to the bounce mode of the optic [Attachment 1, 2 (zoomed)]. The UL sensor in particular is sensitive to the bounce DOF. A peak at the roll resonance can also be seen.

To suppress the bounce resonance, we altered the BounceRoll filter in the SUSPOS, SUSPIT, and SUSYAW filter modules. The bounce bandstop filter was widened to the range 15.25-17 Hz [Attachment 2]. The roll bandstop filter was left as is.

  17463   Tue Feb 14 10:49:04 2023 yutaSummaryBHDMC1 electronics diagram and cable diconnection tests

Below are summary of electronics around MC1 and cable disconnection tests.
These suggest that the 60 Hz noise is probably from somewhere between DAC and the coil driver.
For now, we can work on IFO with SimDW off.

MC1 local damping electronics diagram:
Vacuum Flange
|| DB25 cable x2
Satellite Amp Chassis (LIGO-S2100029, LIGO-D1002818)
|| DB9 split cable
Suspension PD Whitening and Interface Board (LIGO-D000210)
||| 4pin LEMO x3
Anti-aliasing filter
 (SimDW is zpk([35.3553+i*35.3553;35.3553-i*35.3553;250],[4.94975+i*4.94975;4.94975-i*4.94975;2500],1,"n") gain(1.020); InvDW is the inverse)
SOS Dewhitening and Anti-Image Filter (LIGO-D000316) Shared with MC3
 (has 2ea. 800 Hz LPF & 5th order, 1 dB ripple, 50 dB atten, 28Hz elliptic LPF that can be turned on or bypassed)
||||| SMA-LEMO cable x5
 ("test in" are used; inputs can be disconnected with watchdogs)
SOS Coil Driver Module (LIGO-D010001, LIGO-D1700218)
 (HV offsets from Acromag are added at the output (independent from watchdogs))
|| DB9 split cable
Satellite Amp Chassis

Disconnecting cables:
 - Disconnecting cables between Satellite Amp Chassis and Suspension PD Whitening and Interface Board didn't help reducing 60 Hz noise.
 - Disconnecting LEMO cables between Suspension PD Whitening and Interface Board and Anti-aliasing filter didn't help reducing 60 Hz noise.
 - Turning off C1:SUS-MC1_SUSPOS/PIT/YAW/SIDE outputs didn't help reducing 60 Hz noise.
 - Turning off SimDW reduced 60 Hz noise.
 - Turning off watchdogs reduced 60 Hz noise.

Dewhitening filters:
 - When 60 Hz frequency noise was high, SimDW was on, but InvDW was off, which is in a weired state.
 - Now, all the MC suspensions have SimDW turned off and InvDW turned on (which supposed to turn on analog dewhitening filter, which is probably 28 Hz ELP which has a notch at 60 Hz)
 - Probably, when realtime model modifications for BH44 was made on Jan 17, coil dewhitening filter situation was not burt restored correctly, and we started to notice 60 Hz noise (which was already there but didn't notice because of dewhitening).
 - See 40m/17431 for the timeline, possibly related elogs 40m/17359, 40m/17361 about MC1 dewhitening switching on Dec 14-16.

 - Check if analong dewhitening filter actually has 28 Hz ELP by measuring transfer functions
 - Design SimDW and InvDW to correctly take into account of real dewhitening filters

ELOG V3.1.3-