40m QIL Cryo_Lab CTN SUS_Lab CAML OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log, Page 3 of 349  Not logged in ELOG logo
New entries since:Wed Dec 31 16:00:00 1969
ID Date Author Type Category Subject
  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.

Attachment 1: step_response_YAW_S1_100323.pdf
Attachment 2: step_response_YAW_S2_100323.pdf
Attachment 3: step_response_YAW_S0_100323.pdf
Attachment 4: Mar10_FlowDiagram.pdf
Attachment 5: Mar10_Dfactor.pdf
  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.

Attachment 1: step_response_080323.pdf
Attachment 2: Screenshot_2023-03-08_18-17-35.png
  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.

Attachment 1: mcwfs-output-matrix.png.png
Attachment 2: wfsnoise_onoff_230308.pdf
  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


Attachment 1: WFS1_YAW_OLTF_NI.png
Attachment 2: WFS2_YAW_OLTF_NI.png
Attachment 3: MC2_YAW_OLTF_NI.png
  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.

Attachment 1: step_response_060323.pdf
  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)

Attachment 1: lophasenoise_bh55Qcontrol.png
Attachment 2: bhnoisecoupling_excscreenshot.png
Attachment 3: bh55q_noisecoupling.png
Attachment 4: bh44q_noisecoupling.png
  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.


Attachment 1: NoiseFilter_TF.png
Attachment 2: TF-MeasureExample.png
Attachment 3: WFS1_YAW_OLTF_NI.png
Attachment 4: WFS2_YAW_OLTF_NI.png
  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.

Attachment 1: uncalibrated_lo_phase_errctrl_ADW.png
  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.

Attachment 1: uncalibrated_lo_phase_errctrl.png
  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.

Attachment 1: WFS1_PIT_OLTF.pdf
Attachment 2: WFS2_PIT_OLTF.pdf
Attachment 3: MC2_TRANS_PIT_OLTF.pdf
  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.

Attachment 1: Capture.PNG
Attachment 2: Capture1.PNG
  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.

Attachment 1: angActCal_C1-SUS-MC1_BIASPIT_OFFSET_to_C1-IOO-MC_TRANS_SUMFILT_OUT_1361152703.png
Attachment 2: Screenshot_2023-02-23_16-47-58.png
Attachment 3: InkedScreenshot_2023-02-23_17-02-13.jpg
Attachment 4: InkedScreenshot_2023-02-23_17-02-49.jpg
  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

Attachment 1: LSC-BH44_Q_ERR_DQ_20230223.pdf
LSC-BH44_Q_ERR_DQ_20230223.pdf LSC-BH44_Q_ERR_DQ_20230223.pdf LSC-BH44_Q_ERR_DQ_20230223.pdf LSC-BH44_Q_ERR_DQ_20230223.pdf
  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.

Attachment 2: InkedScreenshot_2023-02-22_18-28-41.jpg
Attachment 3: InkedScreenshot_2023-02-22_18-29-00.jpg
  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).

Attachment 1: BH55BH44.JPG
Attachment 2: Sorensen.JPG
Attachment 3: Screenshot_2023-02-22_17-35-27_BH55BH44.png
  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.

Attachment 1: beatx_beaty_spectrum_hepa_on_off.pdf
  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.


Attachment 1: wfs1-gain-tuning.png
Attachment 2: mcwfs-servo.png
  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.

Attachment 1: wfs1pit.pdf
  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. 

Attachment 1: IMG_4494.JPG
  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.

Attachment 1: xaux_pdh_err_spectrum.pdf
Attachment 2: beatx_beaty_spectrum1.pdf
Attachment 3: beatx_beaty_spectrum2.pdf
  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

Attachment 1: FPMI_calibrated_noise_20230216.pdf
Attachment 2: FPMI_calibrated_noise_20230216_60Hz.pdf
  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.

Attachment 1: Screenshot_2023-02-15_12-09-10.png
  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.

Attachment 1: ITMX_sus_sensors.pdf
Attachment 2: ITMX_sus_sensors_zoomed.pdf
Attachment 3: ITMX_sus_bounceroll.pdf
ITMX_sus_bounceroll.pdf ITMX_sus_bounceroll.pdf
  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

  17462   Mon Feb 13 17:35:20 2023 AnchalSummaryBHD60 Hz frequency noise is coming from MC1 coils

[Anchal, Yuta]

We think we have narrowed down the source of 60 Hz noise to one fo the following possibilities:

  • Ground loop present along the MC1 suspension damping loop
  • 60 Hz DAC noise on inputs of MC1 coil driver
  • 60 Hz noise injected at dewhitening board before the dewhitening filter

The second and third cases are unlikely because we see 60 Hz noise present only in MC1 coils, not MC3 coils while they both share the same connection from DAC to SOS dewhitening filter boards as they share the SOS dewhitening board D000316-A. So it is unlikely that only the MC1 channels have this noise while the MC3 channels do not.

This inference was made from following observations:

Change Reduction in noise at C1:LSC-YARM_IN1_DQ (dB)
Turn off damping loops, keep coil output enabled 0
Turn off coil outputs (only fast actuation) 43
Turn ON Analog Coil Dewhitening Filter on one face coil only 30
Turn ON Analog Coil Dewhitening Filter on all face coils (attachment 1) 43

Note: Turning ON analog dewhitenign on MC1 coil is done by turning off FM9 switch which is the simulated digital dewhitening filter. Also note that theanalog dewhitening filter has an attenuation of 30 dB at 60 Hz.

MC1 has an unconvetional setup where the satellite amplifier is from the new generation while the coil driver and dewhitening boards are from the old generation. The new generation satellite amplifiers sen PD signal through differential ended signals but the old generation PD whitening interface expects single ended inputs, so we ahve been using PD monitor outputs from the satellite amplifier which connects the ground of the two boards to each other. Maybe this is the reason for the ground loop.

Attachment 1: YARM_calibrated_noise_20230213_Hz_MC1SimDWOnOff.pdf
  17461   Mon Feb 13 11:54:54 2023 yutaSummaryBHD60 Hz frequency noise is coming from MC1 coils

[JC, Yuta]

We have found that MC1 coils are causing 60 Hz noise.
Tripping watchdogs for MC1 coils reduced 60 Hz noise seen in YARM by a factor of 100.

 - Locked YARM with POY11 and measured YARM sensitivity to use it for 60 Hz frequency noise monitor0.187493**0.5
 - Tripped MC1, MC2, MC3 coil output watchdogs to see if they are causing this 60 Hz frequency noise. IMC WFS were turned off.

 - Attachment #1 is YARM sensitivity and MC_F in Hz with MC1,2,3 untripped (dotted) and MC1 tripped (solid).

YARM (PSL locked vs Yarm), MC1,2,3 untripped: 6.0e2 Hz/rtHz (2.6e2 Hz RMS)
MC_F (sum of noises in IMC loop), MC1,2,3 untripped: 4.8e4 Hz/rtHz (2.1e4 Hz RMS)
YARM (PSL locked vs Yarm), MC1 tripped: 6.6e0 Hz/rtHz (2.9e0 Hz RMS) -- reduced by a factor of 100
MC_F (sum of noises in IMC loop), MC1 tripped: 4.7e4 Hz/rtHz (2.0e4 Hz RMS)

 - We have also tried tripping MC2 and MC3 coils, but they didn't make much difference.
 - Untripping only one of MC1 face coils created 60 Hz frequency noise, so all the face coils seem to have the same level of 60 Hz noise.

 - Inspect around MC1 coil driver

Attachment 1: YARM_calibrated_noise_20230213_Hz.pdf
Attachment 2: Screenshot_2023-02-13_12-23-23_TrippingMC1.png
  17460   Thu Feb 9 17:33:34 2023 yutaSummaryBHD60 Hz noise investigations around IMC, part 6, TTFSS

[Anchal, Yuta]

Measurements yesterday (40m/17458) suggested that 60 Hz noise is injected after MC_F is picked-off.
So, we terminated PSL PZT input at several points to see where 60 Hz noise is injected.
It seems like the 60 Hz frequncy noise we see in MC_F is from TTFSS box, but the 60 Hz noise we see in YARM is not limited by this.

The 60 Hz noise we see in YARM is probably limited by IMC length noise.

 - We terminated PZT input to the PSL laser at various points one by one and monitored 60 Hz frequency noise using BEATX. PSL shutter was closed and IMC was not locked.

 - Below is the result at 60 Hz (RMS is calculated using a bandwidth of 0.187493 Hz)

Reference from 40m/17458, YARM (PSL locked vs Yarm): 6.5e2 Hz/rtHz (2.8e2 Hz RMS)
Reference from 40m/17458, MC_F (sum of noises in IMC loop): 4.9e4 Hz/rtHz (2.2e4 Hz RMS)
MC_F when PSL shutter is closed but MC servo board configuration at IMC locked state: 2.7e2 Hz/rtHz (1.2e2 Hz RMS) -- this gives IMC loop gain enhanced sensing noise

BEATX free (PSL free vs Xend free): 3.5e3 Hz/rtHz (1.5e3 Hz RMS) -- consistent with previous measurements
With PZT input to NPRO terminated (Attachment #1): 8.1e2 Hz/rtHz (3.5e2 Hz RMS)
Connected a terminated small box (we see in Attachment #1) before NPRO PZT: 6.3e2 Hz/rtHz (2.7e2 Hz RMS)
Connected input terminated Thorlabs PZT driver (MDT694): 5.9e2 Hz/rtHz (2.6e2 Hz RMS)
Connected input terminated summing amp (Attachment#2): 4.4e2 Hz/rtHz (1.9e2 Hz RMS)
Connected input terminated TTFSS (C1:PSL-FSS_MGAIN=-10dB, C1:PSL-FSS_FASTGAIN=-10dB): 3.9e3 Hz/rtHz (1.7e3 Hz RMS) -- consistent with "BEATX free (PSL free vs Xend free)" measurement
Connected input terminated TTFSS (C1:PSL-FSS_MGAIN=-10dB, C1:PSL-FSS_FASTGAIN=+10dB): 7.6e3 Hz/rtHz (3.3e3 Hz RMS)
Connected input terminated TTFSS (C1:PSL-FSS_MGAIN=+4dB, C1:PSL-FSS_FASTGAIN=+19dB): 2.9e4 Hz/rtHz (1.3e4 Hz RMS) -- Nominal gains when IMC is locked; consistent with "MC_F" measurement 40m/17458
Connected input terminated TTFSS (C1:PSL-FSS_MGAIN=+19dB, C1:PSL-FSS_FASTGAIN=+4dB): 1.1e4 Hz/rtHz (4.8e3 Hz RMS)

 - Connecting TTFSS increased 60 Hz frequency noise, which suggests that TTFSS is creating this 60 Hz frequency noise.
 - Setting TTFSS gains to nominal gains to IMC locked, 60 Hz frequency noise matched with frequency noise measurement using MC_F. This quantitatively supports that TTFSS is creating this 60 Hz frequency noise.
 - Increasing C1:PSL-FSS_MGAIN and reducing C1:PSL-FSS_FASTGAIN reduced 60 Hz frequency nosie. This means that some portion of 60 Hz noise is from between these two gains.
 - Note that having 60 Hz noise in TTFSS does not necessarily mean that our YARM noise is limited by this, because IMC loop suppresses the TTFSS noise. Assuming all 1.3e4 Hz RMS is all from TTFSS noise, it is suppressed to less than 1.3e4 Hz RMS/2e5 = 6.5e-2 Hz RMS (where 2e5 is IMC loop gain without super boosts, but it is actually higher with them) as frequency noise we see in YARM. YARM noise is measured to be 6.5e2 Hz/rtHz (2.8e2 Hz RMS), so it is not limited by TTFSS noise.
 - Also dark noise measured at MC_F (1.2e2 Hz RMS) tells you that the dark noise is not limiting the frequency noise we see in YARM.

Touching various parts around TTFSS:
 - We moved on to touch various parts around TTFSS to see if 60 Hz noise reduces in MC_F. We removed unused cables around TTFSS interface, touched power cables into TTFSS (both at TTFSS interface in the rack and TTFSS box on PSL table), BNC cables into TTFSS, disconnected slow controls, tried to avoid grounding of cables going into EOM (there is a small box that sums FSS feedback signal and 33.5 MHz; Attachment #3), but 60 Hz noise we see in MC_F didn't change significantly.

 - Check grounding situation around TTFSS box.
 - Check IMC length noise and error point noise by monitoring BEATX.
 - Check coil drivers for MC1, MC2, MC3 by disconnecting drivers while IMC is locked.
 - Try feeding back IMC servo also to MC2 with 60 Hz resonant gain to cancel 60 Hz noise

Note added at 23:50 to clarify:
nIMC : IMC length noise in frequency
nPSL: PSL free run noise in frequency
ne: sensing noise in frequency
nf: feedback noise in frequency
G: IMC loop gain (estimated to be 2e5 at 60 Hz without boosts)

MC_F = G/(1+G) * (nIMC + nPSL + ne + nf) + [noises in MC_F DAQ]
 = 2.2e4 Hz RMS
 MC_F when dark, MC servo nominal gain = G * ne
 = 1.2e2 Hz RMS
PSL frequency noise after IMC lock = G/(1+G) * (nIMC + ne) + 1/(1+G) * (nPSL + nf)
YARM = [PSL frequency noise after IMC lock] + [noises from YARM loop]
 = 2.8e2 Hz RMS
BEATX when PSL is free run, TTFSS low gain connected = nPSL + [noises from Xend AUX and BEATX sensing]
 = 1.7e3 Hz RMS
BEATX when PSL is free run, TTFSS nominal gain connected = nPSL + nf + [noises from Xend AUX and BEATX sensing]
 = 2.9e4 Hz RMS
BEATX when IMC is locked = [PSL frequency noise after IMC lock] + [noises from Xend AUX and BEATX sensing]
 = 3.8e2 Hz RMS
So, our estimate is
ne ~ 1.2e2/G Hz RMS (small)
nPSL ~ 1.7e3 Hz RMS
nf ~ 2e4 Hz RMS (this dominates MC_F, but already suppressed enough in [PSL frequency noise after IMC lock])
[PSL frequency after IMC lock] ~ 3e2 Hz RMS (this dominates YARM and BEATX when IMC is locked)
nIMC ~ 3e2 Hz RMS (this dominates [PSL frequency noise after IMC lock])

Attachment 1: NPROandSmallBox.JPG
Attachment 2: TerminatingSummingBox.JPG
Attachment 3: EOMSmallBox.JPG
  17459   Thu Feb 9 11:07:38 2023 AlexUpdateCDSAdding callibration filters to c1sus

Today I updated the ETMY suspension model to include 4 new filters at the output of the position, pitch, yaw and side summers and before the "To Coil Matrix". The library that was changed and updated is "sus_single_control_new". These callibration filters are labeled in the orange box as POSCAL, PITCAL, YAWCAL, and SIDECAL. The four filters are important as the will allow us to callibrate the position and side from counts to micro meters, and pitch and yaw from counts to micro radians.

The next steps for utilizing this update will be

    - create a few experiments to find the callibration constants for the 4 degrees of freedom

    - edit and update the ETMY Suspension screen to include selectable filter boxes to implement the callibration constants


For future reference, preform the update and restore the models to their previous states you may use the following:

to install the models we ssh into the computers running the ETMY suspension models (for example)

     ssh c1sus

then for each model using the suspension library (we used c1sus c1mcs c1scx c1scy c1su2 c1su3) do

     rtcds build-install c1sus

the watchdogs will need to be shut down for c1sus and the model will need to be restarted next

     rtcds restart c1sus

Now we restore the filter values to the last saved point (about an hour before the update) in cds folder

     python burtRestoreRTSepics.py -m c1sus c1mcs c1scx c1scy c1su2 c1su3 -o 10

Last we reset the watchdogs again using the following script in SUS>medm

     python resetFromWatchdogTrip.py MC1 MC2 MC3 BS PRM SRM ITMX ITMY ETMX ETMY

  17458   Thu Feb 9 10:19:22 2023 yutaSummaryBHD60 Hz noise investigations around IMC, part 4, using ALS BEAT

[Anchal, Yuta]

Yesterday, we have measured the frequency noise of PSL with IMC locked/unlocked using ALS BEATX/Y to narrow down where the 60 Hz is coming from.
All the measurements so far is consistent with a hypothesis that 60 Hz noise injected after MC_F is picked-off (it could be from MC_F DAQ readout or something in the IMC loop).

 - Measured YARM noise spectra when YARM is locked with POY11 to measure the frequency noise with respect to YARM, and compared with MC_F
 - Measured ALS BEATX and BEATY spectra when PSL is free running and when IMC is locked. Here, when "PSL is free running" is done with PSL shutter closed, but all the cables remained the same and FSS loop was in "down" state. Shutters at both ends were closed, and PZT inputs to AUX lasers were terminated to avoid noise injection from PDH locking with dark noise (this was necessary to reduce noise in BEATY).

 - Attachment #1 is YARM noise calibrated into Hz, and Attachment #2 is BEATX and BEATY spectra with PSL free running (solid lines) and IMC locked (dotted lines). Below are summary of noise level at 60 Hz (RMS is calculated using a bandwidth of 0.187493 Hz)

YARM (PSL locked vs Yarm): 6.5e2 Hz/rtHz (2.8e2 Hz RMS)
MC_F (sum of noises in IMC loop): 4.9e4 Hz/rtHz (2.2e4 Hz RMS)
BEATX free (PSL free vs Xend free): 3.3e3 Hz/rtHz (1.4e3 Hz RMS)
BEATX locked (PSL locked vs Xend free): 8.8e2 Hz/rtHz (3.8e2 Hz RMS)
BEATY free (PSL free vs Yend free): 1.6e4 Hz/rtHz (6.9e3 Hz RMS)
BEATY locked (PSL locked vs Yend free): 1.5e4 Hz/rtHz (6.5e3 Hz RMS)

 - "BEATX locked" measurement suggests that PSL locked to IMC (and Xend free) has noise less than 3.8e2 Hz RMS. This is roughly consistent with YARM measurement of frequency noise, and suggests that Yarm is stable enough to measure the PSL locked frequency noise.
 - "BEATX free" measurement suggests that PSL free run (with cables connected) has noise of 1.4e3 Hz RMS (note that Xend free is less than 3.8e2 Hz RMS).
 - MC_F measurement is the sum of noises in IMC loop, including IMC length noise + noise injected at error point (3.8e2 Hz RMS), PSL free run noise (1.4e3 Hz RMS), noise injected at feedback. Therefore, this suggests that 2.2e4 Hz RMS we see in MC_F is from noise injected after MC_F pickoff point (or in the MC_F DAQ readout).
 - BEATY having large 60 Hz noise probably comes from noise in the beat measurement.

 - Use BEATX to monitor 60 Hz noise.
 - Try terminating PZT input to see if 60 Hz noise reduces. Try different gains at different point of MC servo board and TTFSS when IMC is unlocked to see where exactly 60 Hz noise is coming from.

Attachment 1: YARM_calibrated_noise_20230208_Hz.pdf
Attachment 2: BEATX_BEATY_MCF.pdf
  17457   Thu Feb 9 10:05:37 2023 yutaUpdateCDSc1sus2 all FE models crashed spontaneously again

I just noticed that c1sus2 crashed again. Following 40m/17335, I fixed it by running

controls@c1sus2:~$ rtcds restart --all

"global diag reset" made all FE STATUS green.
Burt restored at 2023/Feb/8/19:19 for c1sus2 models.
Watchdogs reset for BHD optics and now all look fine.

  17456   Wed Feb 8 12:25:42 2023 AnchalUpdateASCYARM WFS Loop Step Response

I did a quick step response test today with YARM WFS loops running. Steps were put in as offsets in channels C1:SUS-I/ETMY_ASCPIT/YAW_OFFSET to not let transmission go below 0.6-0.7 out of 1. I waited 30 seconds between each step by simply running sleep 30 on my terminal. Once finished, dtt still was taking a long time to get recently measured data even for 16 Hz channels. I used cdsutils getdata to get the measurement and calculate time constants for each loop. Time constant is defined by the time it took for C1;SUS-I/ETMY_ASCPIT/YAW_OUT16 channel to come to 1/e of the offsetted value. Inverse of this time constant is also printed as text on the plot. Note that I redid step on ETMY PIT as the first pass seemed not strong enough to me. See attachment 2 for settings.

The Pit loops seem to be bit faster with about 5s time constant while YAW loops have about 10s.

Attachment 1: YARM_WFS_Loop_Step_Response_1359920994.pdf
Attachment 2: Screenshot_2023-02-08_12-30-21.png
  17455   Tue Feb 7 20:10:05 2023 yutaSummaryBHD60 Hz noise investigations around IMC, part 3

[Anchal, Yuta]

We have measured OLTF of IMC loop, and revisited IMC error point calibration again.
Also, we have tried to break the ground loop between MC servo board and TTFSS, but didn't help.

IMC OLTF measurement:
 - IMC OLTF was measured using SR785 at TP1A and TP1B. MC servo board settings are the following.
   - +4 dB in IN1
   - 40 Hz pole, 4000 Hz zero filter was on
   - 0 boost
 - Eye-ball fit of OLTF gives zeros at [30e3,30e3] Hz, poles at [40,3e3,3e3] Hz (Attachment #1). 40 Hz pole is from 40:4000 Hz fiter in MC servo board and 4kHz zero is compensated by IMC cavity pole (~ 3.79 kHz). We are not sure where two 3k:30k are from.
 - Anyway, eye-ball fit gives OLTF gain of 1.7e5 at 60 Hz, which is accidentally roughly the same as previous estimate (40m/17446).

Revisiting IMC error point calibrations:
 - We realized that error signal calibration of 13kHz/V a while ago in 2018 (from 40m/14691, which is from 40m/13696) is a calibration for IN1.
 - So, 70 uV/rtHz at 60 Hz at TP1A corresponds to 70 uV/rtHz / 4dB / (4e3/60) * 13kHz/V = 0.009 Hz/rtHz, which corresponds to 1.2e-15 m/rtHz.
 - The estimated frequency noise at the output of IMC in terms of arm length is 1.2e-15 m/Hz * (1+G) = 2.0e-10 m/rtHz (or 1.4e-10 m RMS considering 0.5 Hz bandwith).
 - Noise measured with the same condition but PSL shutter closed was 7 uV/rtHz at 60 Hz (40m/17431). This correspond to 1.2e-16 m/rtHz (or 8.5e-17 m RMS), which is an estimated dark noise.

Summary of frequency noise measurements at 60 Hz:
 - 1.4e-10 m RMS (or 1.0e3 Hz RMS) as measured at TP1A (estimate of unsuppressed noise difference between IMC and PSL)
  - This being smaller than MC_F measurement is strange, as this should be an estimate of total unsuppressed noise (if 60 Hz noise is coherently cancelling each other, this can be explained).
 - 3.1e-9 m RMS (or 2.2e4 Hz RMS) as measured at MC_F
 - 4.3e-11 m RMS (or 3.1e2 Hz RMS)  as measured using XARM and YARM
 - 1.8e-10 m RMS as measured using FPMI DARM

Buffering MC servo board output to TTFSS:
 - We have inserted a battery-powered SR560 in between MC servo board output to TTFSS, trying to break the possible ground loop between 1X2 rack and PSL.
 - To do this, we had to lower IN1 gain to -6dB, to avoid saturation of SR560.
 - This didn't make any difference in MC_F or POY during YARM lock.

Attachment 1: IMC_OLTF.png
  17454   Tue Feb 7 11:12:44 2023 ranaUpdateASCYARM WFS First Attempt - Success

It would be great if you could calibrate these ASC channels into physical units (e.g. urad or nrad). I am curious to see how the noise spectra compares to the IMC WFS.

Since the data is still on disk, you can probably use the oplev channels to calibrate the WFS. Also, you can calibrate either WFS or oplev by moving the SUS alignment sliders until the arm power goes down by sqrt(2) or 2.

To get data faster with DTT, I ask only for data sampled at 16 Hz. You can either just read the EPICS channels (OUT16) or ask DTT for a BW=16 Hz for the fast channels. No need for high sample rate for step response plots.


  17453   Mon Feb 6 20:44:34 2023 AnchalUpdateASCYARM WFS First Attempt - Success

I uploaded this measured output matrix to the YARM WFS model:

                                                         YARM WFS Estimated Output Matrix
        WFS1 PIT         WFS2 PIT         WFS1 YAW         WFS2 YAW
   0.628+/-0.022   -0.031+/-0.007   -0.027+/-0.020    0.039+/-0.004  to ITMY PIT
  -0.431+/-0.020    0.146+/-0.007   -0.002+/-0.018 -0.0099+/-0.0030  to ETMY PIT
  -0.086+/-0.031    0.078+/-0.010    0.728+/-0.029   -0.029+/-0.008  to ITMY YAW
   0.097+/-0.009 -0.0377+/-0.0030    0.126+/-0.008 -0.0555+/-0.0020  to ETMY YAW

Then I played witht the signs of the gains and their values in the C1:AWS-YARM_WFS1/2_PIT/YAW filter banks until I saw a correct response for steps on ETMY and correction within 10-20 s.

I measured the OLTF of the loops with noise injection in each loop simultaneously. This test takes ~10 min. Except for the WFS2 YAW loop, all other loops behaved as expected with UGFs in WFS1 PIT 0.02 Hz, WFS1 YAW 0.04 Hz, and WFS2 PIT 0.035 Hz.

I left this state On for 1 hour and the YARM retained transmission. Attachment 2 shows the history.

Then I conducted another toggle test to see how the step response is. Attachment 3 shows the same results as last post for the new output matrix. Note high sensitivity of WFS2 YAW signal to PIT actuations. The worst row was for WFS2 YAW degree as expected (see page 3 attachment 3).

The new calculated output matrix (after product with the existing matrix) is:

                                                         YARM WFS Estimated Output Matrix

        WFS1 PIT         WFS2 PIT         WFS1 YAW         WFS2 YAW
     0.70+/-0.05    0.011+/-0.014   -0.203+/-0.032   -0.093+/-0.010  to ITMY PIT
    -0.42+/-0.04   -0.111+/-0.010    0.025+/-0.025    0.019+/-0.007  to ETMY PIT
    -0.00+/-0.05   -0.091+/-0.016      0.76+/-0.04    0.041+/-0.013  to ITMY YAW
   0.201+/-0.022    0.062+/-0.007    0.244+/-0.015    0.067+/-0.005  to ETMY YAW

With this matrix in, I had to change all gain signs to negative and teh loop was stable to my kick test on ITMY and ETMY on both PIT and YAW DOFs. OLTFs can be tuned further. Maybe later, I'll do another toggle testin hope of getting an identity matrix.

Attachment 1: YARM_WFS_OLTF.pdf
Attachment 2: YARM_WFS_First_Attempt_1hr_history.pdf
Attachment 3: YARM_WFS_DC_Sensing_Matrix_Step_Response_Test_1359774014.pdf
YARM_WFS_DC_Sensing_Matrix_Step_Response_Test_1359774014.pdf YARM_WFS_DC_Sensing_Matrix_Step_Response_Test_1359774014.pdf YARM_WFS_DC_Sensing_Matrix_Step_Response_Test_1359774014.pdf
  17452   Mon Feb 6 11:50:44 2023 AnchalSummaryPowerShutdownMain laser tripping

[Anchal, JC]

During shimmer test yesterday, the man laser tripped again. This morning, JC and I went to inspect the situation closer. We figured that if we can take a look inside the controller, we can get the replacement fan part number. Attached are some photos of inside. To open the controller, all you need to do is take out the two standoffs that are at the edges in the back side, then the top or botttom cover can slide out. Inside, all heatsinks of heat generating ICs are clamped to a larged metal heat sink which is covered on all side but one at the rear end. Through two holes in the top of this cavity, two fan push air through the heat sink to the back. This prompted us to understand that if the externam cooling fan direction is wrong, it would be pshing in air rather than pulling it out. So we decided to try the configuration where the fan is pulling out air. We think the direction of the fan was wrong till now which might be causing the laser controller to shut down. Now we need to wait and watch. For now, the laser is up and running.

Bt the way, we could not get any part number from the fans inside. We are still looking around in the lab if we have the replacement fans in hand as steve said they procured some.


I came in today and it seems like the main laser tripped again yesterday around 3:00 pm.


Attachment 1: IMG_6489.JPG
Attachment 2: IMG_6483.JPG
ELOG V3.1.3-