40m QIL Cryo_Lab CTN SUS_Lab CAML OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m elog, Page 25 of 357  Not logged in ELOG logo
ID Date Author Type Category Subjectup
  14559   Fri Apr 19 19:22:15 2019 ranaUpdateSUSActuation matrix still not orthogonal

If thy left hand troubles thee

then let the mirror show the right

for if it troubles enough to cut it off

it would not offend thy sight

  16929   Fri Jun 17 16:22:21 2022 yutaUpdateLSCActuator calibration of BS. ITMX, ITMY, updated MICH displacement spectra from c1cal

Following what we have done in 2013 (40m/8242), actuator calibration was done using MICH.

AS55_Q in MICH : 9.74e8 counts/m
BS   : 26.08e-9 /f^2 m/counts
ITMX : 5.29e-9 /f^2 m/counts
ITMY : 4.74e-9 /f^2 m/counts

Optical gain is 25% lower than the measurement in June 6 (40m/16892), probably because our estimate was too rough then and also we now have ~15% lower IMC transmission.
Actuator gains are 2-30% higher than the measurement in 2013.

MICH error signal calibration:
 C1:LSC-AS55_Q_ERR was calibrated by taking data with C1:LSC-ASDC_OUT, when Michelson was aligned and free swinging (Attachment #1).
 AS55_Q and ASDC were X-Y plotted and fitted with ellipse to get an amplitude of AS55_Q to be 82.51 counts (Attachment #2).
 4*pi*A/lambda gives you 9.74e8 counts/m, where meters are in terms of difference between BS to ITMX length and BS to ITMY length.
 Jupyter notebook: https://git.ligo.org/40m/scripts/-/blob/main/CAL/MICH/MICHOpticalGainCalibration.ipynb

Openloop transfer function for actuator calibration:
 C1:LSC-MICH_GAIN was lowered to -1 (instead of -6), and some of filters are turned off to make the MICH UGF to be ~10.
 Also, ellip("LowPass",4,1,40,50) was added to C1:LSC-MICH_A filter bank to cut the feedback above 50 Hz, so that the loop does not suppress the measurement.
 The configuration is in Attachment #3.

Actuator calibration of BS, ITMX, ITMY:
 With this MICH OLG, transfer functions from C1:LSC-BS,ITMX,ITMY_EXC to C1:LSC-AS55_Q_ERR were measured.
 AS55_Q was calibrated to meters using the calibration factor above, and fitted the transfer function with 1/f^2 in 70-150 Hz range to get the actuator efficiency mentioned above (Attachement #4).
 Thus, meters in this calibration is in terms of ITM POS motion (not in BS POS motion).
 Jupyter notebook: https://git.ligo.org/40m/scripts/-/blob/main/CAL/MICH/MICHActuatorCalibration.ipynb

MICH displacement noise:
 Measured values were added to c1cal model as follows.
  C1:CAL-MICH_CINV FM2: 1/9.74e8 = 1.03e-9
  C1:CAL-MICH_A FM2: 2.608e-8 (it was 2.07e-8 from 2013!)
  C1:CAL-MICH_A_GAIN = 0.5 to take into account of C1:LSC-OUTPUT_MTRX_8_2=0.5 in the LSC output matrix for BS
 Spectrum of C1:CAL-MICH_W_OUT (now calibrated in nm) with configuration in Attachment #5 was taken.
 Attachement #6 is the result. I also took the spectrum with PSL shutter off to measure the sensing noise. The sensing noise limits our sensitivity above ~40 Hz at 5e-11 m/rtHz.

Attachment 1: MICHOpticalGainCalibrationFig1.png
MICHOpticalGainCalibrationFig1.png
Attachment 2: MICHOpticalGainCalibrationFig2.png
MICHOpticalGainCalibrationFig2.png
Attachment 3: Screenshot_2022-06-17_14-23-04_MICHOLTF_ActuatorCalibration.png
Screenshot_2022-06-17_14-23-04_MICHOLTF_ActuatorCalibration.png
Attachment 4: MICHActuatorCalibration.png
MICHActuatorCalibration.png
Attachment 5: Screenshot_2022-06-17_15-54-41_MICHCalibrationFilters.png
Screenshot_2022-06-17_15-54-41_MICHCalibrationFilters.png
Attachment 6: Screenshot_2022-06-17_15-53-41_MICHDisplacement.png
Screenshot_2022-06-17_15-53-41_MICHDisplacement.png
  16977   Thu Jul 7 18:18:19 2022 yutaUpdateLSCActuator calibration of ETMX and ETMX

(This is a complete restore of elog 40m/16970 from July 5, 2022 at 14:34)

ETMX and ETMY actuators were calibrated using single arm lock by taking the actuation efficiency ratio between ITMs. Below is the result.

ETMX :  2.65e-9 /f^2 m/counts (0.5007 times ITMX)
ETMY : 10.91e-9 /f^2 m/counts (2.3017 times ITMY)

Motivation:
- ETMX and ETMY actuators seemed to be unbalanced when locking DARM (see 40m/16968)

What we did:
- Reverted to C1:LSC-ETMX_GAIN = 1
- XARM was locked using POX11_I_ERR (42dB whitening gain, 132.95 deg for demod phase) with ETMX and C1:LSC-XARM_GAIN=0.06
- YARM was locked using POY11_I_ERR (18dB whitening gain, -66.00 deg for demod phase) with ETMX and C1:LSC-YARM_GAIN=0.02
- OLTFs for each was measured to be Attachment #1; UGF was ~180 Hz for XARM, ~200 Hz for YARM.
- Measured TF from C1:LSC-(E|I)TM(X|Y)_EXC to C1:LSC-(X|Y)ARM_IN1 (see Attachment #2)
- Took the ratio between ITM actuation and ETM actuation to calculate ETM actuation. For ITM actuation, we used the value measured using MICH (see 40m/16929). The average of the ratio in the frequency range 70-150 Hz was used.

Files:
- Measurement files live in https://git.ligo.org/40m/measurements/-/tree/main/LSC/XARM and YARM
- Script for calculation lives at https://git.ligo.org/40m/scripts/-/blob/main/CAL/ARM/ETMActuatorCalibration.ipynb

Discussion:
- ETMX actuation is 4.12 times less compared with ETMY. This is more or less consistent with what we measured in 40m/16968, but we didn't do loop-correction at that time.
- We should check if this imbalance is as expected or not.

Summary of actuation calibration so far:
BS   : 26.08e-9 /f^2 m/counts (see 40m/16929)
ITMX :  5.29e-9 /f^2 m/counts (see 40m/16929)
ITMY :  4.74e-9 /f^2 m/counts (see 40m/16929)
ETMX :  2.65e-9 /f^2 m/counts (0.5007 times ITMX)
ETMY : 10.91e-9 /f^2 m/counts (2.3017 times ITMY)

 

Attachment 1: Screenshot_2022-07-05_14-52-01_OLTF.png
Screenshot_2022-07-05_14-52-01_OLTF.png
Attachment 2: Screenshot_2022-07-05_14-54-03_TF.png
Screenshot_2022-07-05_14-54-03_TF.png
Attachment 3: Screenshot_2022-07-05_14-56-41_Ratio.png
Screenshot_2022-07-05_14-56-41_Ratio.png
  16978   Thu Jul 7 18:22:12 2022 yutaUpdateLSCActuator calibration of MC2 using Yarm

(This is also a restore of elog 40m/16971 from Jul 5, 2022 at 17:36)

MC2 actuator calibration was also done using Yarm in the same way as we did in 40m/16970 (now 40m/16977).
The result is the following;
MC2 : -14.17e-9 /f^2 m/counts in arm length (-2.9905 times ITMY)
MC2 :   5.06e-9 /f^2 m/counts in IMC length
MC2 :  1.06e+05 /f^2 Hz/counts in IR laser frequency

What we did:
- Measured TF from C1:LSC-MC2_EXC to C1:LSC-YARM_IN1 during YARM lock using ETMY (see Attachment #1). Note that the sign of MC2 actuation and ITMY actuation is flipped.
- Took the ratio between ITM actuation and MC2 actuation to calculate MC2 actuation. For ITM actuation, we used the value measured using MICH (see 40m/16929). The average of the ratio in the frequency range 70-150 Hz was used (see Attachment #2).
- The actuation efficiency in meters in arm length was converted into meters in IMC length by multiplying it by IMCLength/ArmLength, where IMCLength=13.5 m is half of IMC round-trip length, ArmLength=37.79 m is the arm length.
- The actuation efficiency in meters in arm length was converted into Hz in IR laser frequency by multiplying it by LaserFreq/ArmLength, where LaserFreq=1064 nm / c is the laser frequency.

Files:
- Measurement files live in https://git.ligo.org/40m/measurements/-/tree/main/LSC/YARM
- Script for calculation lives at https://git.ligo.org/40m/scripts/-/blob/main/CAL/ARM/ETMActuatorCalibration.ipynb

Summary of actuation calibration so far:
BS   : 26.08e-9 /f^2 m/counts (see 40m/16929)
ITMX :  5.29e-9 /f^2 m/counts (see
40m/16929)
ITMY :  4.74e-9 /f^2 m/counts (see
40m/16929)
ETMX :  2.65e-9 /f^2 m/counts (0.5007 times ITMX)
ETMY : 10.91e-9 /f^2 m/counts (2.3017 times ITMY)

MC2 : -14.17e-9 /f^2 m/counts in arm length (-2.9905 times ITMY)
MC2 :   5.06e-9 /f^2 m/counts in IMC length

 

NOTE ADDED by YM on July 7, 2022

To account for the gain imbalance in ETMX, ETMY, MC2, LSC violin filter gains were set to:
C1:LSC-ETMX_GAIN = 4.12
C1:LSC-MC2_GAIN = -0.77
This is a temporary solution to make ETMX and MC2 actuation efficiencies from LSC in terms of arm length to be the same as ETMY 10.91e-9 /f^2 m/counts.

I think it is better to make C1:LSC-ETMX_GAIN = 1, and put 4.12 in C1:SUS-ETMX_TO_COIL gains. We need to adjust local damping gains and XARM ASS afterwards.
As for MC2, it is better to put -0.77 in LSC output matrix, since this balancing depends on LSC topology.

Attachment 1: TF.png
TF.png
Attachment 2: MC2.png
MC2.png
  16981   Fri Jul 8 16:18:35 2022 ranaUpdateLSCActuator calibration of MC2 using Yarm

although I know that Yuta knows this, I will just put this here to be clear: the NNN/f^2 calibration is only accurate abouve the pendulum POS eiegenfrequency, so when we estimate the DC part (in diaggui, for example), we have to assume that we have a pendulum with f = 1 Hz and Q ~5, to get the value of DC gain to put into the diaggui Gain field in the calibration tab.

  17522   Fri Mar 24 12:54:51 2023 yutaSummaryLSCActuator calibration of PRM using PRY

PRM actuator was calibrated using PRY by comparing the actuation ratio between ITMY.
It was measured to be

PRM : -20.10e-9 /f^2 m/counts

This is consistent with what we have measured in 2013! (40m/8255)

Method:
 - Locked PRY using REFL55_I using the configuration described in 40m/17521 (UGF of ~100 Hz)
 - Measured transfer function from C1:LSC-(ITMY|PRM)_EXC to C1:LSC-PRCL_IN1
 - Took the ratio between ITMY actuation and PRM actuation to calculate PRM actuation, as ITMY actuation is known to be 4.90e-9 /f^2 m/counts (40m/17285).

Result:
 - Attachment #1 is the measured TF, and Attachment #2 is the actuator ratio PRM/ITMY.
 - The ratio was -4.10 on average in 70-150 Hz region, and PRM actuation was estimated to be 4.90e-9 * -4.10 /f^2 m/counts.

MICH actuator for PRMI lock:
 - When BS moves in POS by 1, BS-ITMX length stays the same, but BS-ITMY length changes by sqrt(2), so MICH changes by sqrt(2) and PRCL changes by -sqrt(2)/2.
 - So PRM needs to be used to compensate for this, and the ratio will be BS + k * PRM, where

 k = 26.54e-9/sqrt(2) / -20.10e-9 * sqrt(2)/2 = -0.66

 - So, good MICH actuator will be 0.5 * BS - 0.33 * PRM, which is not quite consistent with the rough number we had yesterday (-0.275; 40m/17521), but agrees with the Gautam number (-0.34; 40m/15996).
 - PRMI sensing matrix for REFL55 needs to be checked again.

Summary of actuation calibration so far:
 They are all actuator efficiency from C1:LSC-{$OPTIC}_EXC

BS   : 26.54e-9 /f^2 m/counts in MICH (40m/17285)
ITMX :  4.93e-9 /f^2 m/counts (
40m/17285)
ITMY :  4.90e-9 /f^2 m/counts (
40m/17285)
LO1  : 26.34e-9 /f^2 m/counts (
40m/17285)
LO2  :  9.81e-9 /f^2 m/counts (
40m/17285)
AS1  : 23.35e-9 /f^2 m/counts (
40m/17285)
AS4  : 24.07e-9 /f^2 m/counts (
40m/17285)
ETMX : 10.91e-9 /f^2 m/counts (
40m/16977, 40m/17014)
ETMY : 10.91e-9 /f^2 m/counts (
40m/16977)
MC2 : -14.17e-9 /f^2 m/counts in arm length (
40m/16978)
MC2 :   5.06e-9 /f^2 m/counts in IMC length (
40m/16978)
MC2 :  1.06e+05 /f^2 Hz/counts in IR laser frequency (
40m/16978)
PRM : -20.10e-9 /f^2 m/counts (
40m/17522)

Attachment 1: PRMActuatorTF.png
PRMActuatorTF.png
Attachment 2: PRMActuatorRatio.png
PRMActuatorRatio.png
  17886   Thu Oct 5 13:29:58 2023 yutaUpdateSUSActuator calibrations after vertex coil driver upgrade

We calibrated actuators for the first time after the vertex coil driver upgrade.
Most of results look consistent with previous measurements thanks to "V2A" balancing, but PRM and MC2 now have about half of the actuation efficiency we used to have.
Any way, the actuation efficiencies between all the optics are now consistent with each other.

Summary of calibrations today:
AS55_Q in MICH : 1.32e9 counts/m (consistent with previous measurements)
BS     : 69.54e-9 /f^2 m/counts (about 40% higher than the previous measurement) V2A=3.0072*0.773=2.32
(sqrt(2) larger efficiency than ITMs due to 45 deg in MICH)
ITMX   : 14.73e-9 /f^2 m/counts (about 40% higher than the previous measurement) V2A=2.9966*0.218=0.653
ITMY   : 14.50e-9 /f^2 m/counts (about 40% higher than the previous measurement) V2A=3.025*0.218=0.659
PRM    : -19.00e-9 /f^2 m/counts (about 2 times less than the previous measurement) V2A=0.773
ETMX   : 12.20e-9 /f^2 m/counts (about 20% higher than the previous measurement) has x0.414
ETMY   : 10.66e-9 /f^2 m/counts (consistent with the previous measurement) has x0.48
MC2    : -6.35e-9 /f^2 m/counts in arm length (about 2 times less than the previous measurement) V2A=0.105
MC2    : 2.27e-9 /f^2 m/counts in IMC length (about 2 times less than the previous measurement) V2A=0.105
MC2    : 4.73e+4 /f^2 Hz/counts in IR laser frequuency

Methods:
 - Aligned both arms (YARM ASS seems to be working. TRY ~ 1.05. XARM ASS does not. TRX ~ 0.91).
 - Misaligned ETMs, aligned MICH (MICH seems to be noisier than before...).
 - Run /opt/rtcds/caltech/c1/Git/40m/scripts/CAL/OpticalGain/getOpticalGain.py C1:LSC-ASDC_OUT C1:LSC-AS55_Q_ERR to get MICH optical gain for AS55_Q (see Attachment #1).
 - Calibrated BS, ITMX and ITMY using the method described in 40m/17752 (Attachment #2). MICH was locked with BS, ITMX and ITMY when measuring respective transfer functions.
 - Calibrated PRM using the method described in 40m/17752, using ITMY as reference (Attachment #3 and #4). PRCL was locked with PRM and ITMY when measuring respective transfer functions.
 - Calibrated ETMX, ETMY and MC2 using the method described in 40m/17679 (Attachment #5-#9).

Some notes:
 - I noticed that C1:SUS-ITMX_POS_OFFSET has an offset of 4203. Any reason for this?

Discussion:
 - Measured values divided by "V2A" filters (which are calculated from Old/New ratio in 40m/17860) are the following, and they are more or less the same between suspensions. GOOD!yes
BS     : 69.54e-9 /f^2 m/counts / 2.32 / sqrt(2) = 21.20 /f^2 m/counts
ITMX   : 14.73e-9 /f^2 m/counts / 0.653 = 22.56 /f^2 m/counts
ITMY   : 14.50e-9 /f^2 m/counts / 0.659
= 21.67 /f^2 m/counts
PRM    : -19.00e-9 /f^2 m/counts / 0.773
= 24.58 /f^2 m/counts
ETMX   : 12.20e-9 /f^2 m/counts / 0.414
= 29.47 /f^2 m/counts
ETMY   : 10.66e-9 /f^2 m/counts / 0.48
= 22.21 /f^2 m/counts
MC2    : 2.27e-9 /f^2 m/counts in IMC length / 0.105 = 21.62 /f^2 m/counts

Previous values:
AS55_Q in MICH : 9.2e8 counts/m (40m/17752)
BS     : 50.88e-9 /f^2 m/counts (40m/17752)
ITMX   : 9.50e-9 /f^2 m/counts (40m/17752)
ITMY   : 9.75e-9 /f^2 m/counts (40m/17752)
PRM    : -41.40e-9 /f^2 m/counts (40m/17752)
ETMX   : 10.99e-9 /f^2 m/counts (40m/17679)
ETMY   : 10.99e-9 /f^2 m/counts (40m/17679)
MC2    : -14.27e-9 /f^2 m/counts in arm length (40m/17679)
MC2    : 5.10e-9 /f^2 m/counts in IMC length (40m/17679)
MC2    : 1.06e+5 /f^2 Hz/counts in IR laser frequuency (40m/17679)


Next:
 - Find out why PRM and MC2 now has half the actuation efficiency (something related to DAC differential/single-ended 40m/17738?).
 - Check dewhitening status of MC1,2,3

Attachment 1: LSC-AS55_Q_ERR_1380565513.pdf
LSC-AS55_Q_ERR_1380565513.pdf
Attachment 2: actcalibITMBS_20231005.pdf
actcalibITMBS_20231005.pdf
Attachment 3: PRMActuatorTF_20231005.pdf
PRMActuatorTF_20231005.pdf
Attachment 4: PRMActuatorRatio_20231005.pdf
PRMActuatorRatio_20231005.pdf
Attachment 5: ETMXActuatorCalibration_20231005.pdf
ETMXActuatorCalibration_20231005.pdf
Attachment 6: ETMYActuatorCalibration_20231005.pdf
ETMYActuatorCalibration_20231005.pdf
Attachment 7: ETMActuatorCalibration_Raito_X_20231005.pdf
ETMActuatorCalibration_Raito_X_20231005.pdf
Attachment 8: ETMActuatorCalibration_Raito_Y_20231005.pdf
ETMActuatorCalibration_Raito_Y_20231005.pdf
Attachment 9: ETMActuatorCalibration_Raito_MC2_20231005.pdf
ETMActuatorCalibration_Raito_MC2_20231005.pdf
  17285   Fri Nov 18 16:58:39 2022 yutaSummaryBHDActuator calibrations for MICH BHD

As there is some confusion in actuator calibration, we have done the measurement again from scratch.
Results are the following.
New values for LO1, LO2, AS1, AS4 are obtained from free swinging ITMY-LO, so it should be more robust.

BS   : 26.54e-9 /f^2 m/counts
ITMX :  4.93e-9 /f^2 m/counts
ITMY :  4.90e-9 /f^2 m/counts
LO1  : 26.34e-9 /f^2 m/counts
LO2  :  9.81e-9 /f^2 m/counts
AS1  : 23.35e-9 /f^2 m/counts
AS4  : 24.07e-9 /f^2 m/counts

BS, ITMX, and ITMY actuator calibration:
 Followed the procedure in 40m/16929.
 Calibrated AS55_Q using X-Y plot to be 9.72e8 counts/m (Attachment #1), locked MICH with UGF of 10 Hz, and measured the transfer function from C1:LSC-BS,ITMX,ITMY_EXC to C1:LSC-AS55_Q_ERR.
 The result is Attachment #2. They are consistent with 40m/16929.

LO1, LO2, AS1, and AS4 actuator calibration:
 Followed similar steps with ITMY-LO fringe.
 Calibrated BH55_Q using X-Y plot to be 7.40e9 counts/m (Attachment #3), locked ITMY-LO with UGF of ~15 Hz (Attachment #4), and measured the transfer function from C1:SUS-LO1,LO2,AS1,AS4_LSC_EXC to C1:LSC-BH55_Q_ERR.
 The result is Attachment #5. They are inconsistent with 40m/17284, but this one should be more robust (see discussions below).


LO1, LO2, AS1, and AS4 actuator calibration by taking the ratio between ITMY:
 We have also followed the steps in 40m/17206 to calibrate BHD actuators.
 This method does not depend on BH55_Q optical gain calibration, but depends on ITMY calibration.
 Measured OLTFs for ITMY-LO fringe locking is Attachment #6, and actuator ratio with respect to ITMY is Attachment #7. In this measurement, Bandstop filter at 96.7 Hz for AS4 was turned off, and gain was lowered by a factor of 2 to avoid AS4 oscillating.
 This gives

LO1  : 116.81e-9 /f^2 m/counts
LO2  :  51.69e-9 /f^2 m/counts
AS1  : 101.48e-9 /f^2 m/counts
AS4  : 117.84e-9 /f^2 m/counts

 These are not consistent with 40m/17284, and larger by a factor of ~2-3.
 These are also not consistent with the values from free swinging measurement, and are larger by a factor of ~4-5.
 I guess there are some gains missing when comparing ITMY loop in c1lsc and other loops in c1hpc.

Attachment 1: AS55QMICH20221118.png
AS55QMICH20221118.png
Attachment 2: ActBSITMXITMY20221118.png
ActBSITMXITMY20221118.png
Attachment 3: BH55QITMYLO20221118.png
BH55QITMYLO20221118.png
Attachment 4: Screenshot_2022-11-18_14-41-57_LO-ITMY_LowUGF.png
Screenshot_2022-11-18_14-41-57_LO-ITMY_LowUGF.png
Attachment 5: ActLOAS20221118.png
ActLOAS20221118.png
Attachment 6: ITMY-LO-OLTF20221118.png
ITMY-LO-OLTF20221118.png
Attachment 7: ITMY-LO-OLTFRatio20221118.png
ITMY-LO-OLTFRatio20221118.png
  17918   Tue Oct 24 18:19:44 2023 yutaUpdateSUSActuator calibrations of BHD optics

[Begüm, Vittoria, Yuta]

We calibrated actuators for BHD optics under PRY and ITMY-LO fringe configurations using ITMY as a reference.

Method:
 - For calibration PR2 and PR3, we locked PRY using REFL55_I as an error signal and PRM as an actuator. We measured transfer functions from C1:LSC-ITMY_IN2 or C1:SUS-(PR2|PR3)_LSC_IN2 to C1:LSC-REFL11_I_ERR. Took the ratio of TFs with respect to ITMY (measured in 40m/17886) to calibrate PR2 and PR3 (Attachment #1 and #2).
 - For calibration of LO1, LO2, AS1, AS4, SR2, we locked ITMY single bounce vs LO fringe using BH55_Q as an error signal and BS as an actuator. We measured transfer functions from C1:LSC-ITMY_IN2 or C1:SUS-(XXX)_LSC_IN2 to C1:LSC-BH55_Q_ERR. Took the ratio of TFs with respect to ITMY to calibrate them (Attachment #3 and #4).

Summary of results:
 - Summarized in the floowing table. Results are in the unit of /f^2 nm/counts. If you divide the raw measurement (labeled Meas. nm/count) by "V2A" filters used for gain adjustments and are compensated by AoI or BS to MICH (factor of sqrt(2)) or PR2/3 to PRY (factor of 2), they are all in the range of 18-30 /f^2 nm/counts. LO2 have small actuation efficiency which was known because of too much pitch alignment offset. LO1, LO2, AS1, AS4 were calibrated before in 40m/17285, and the new measurements are consistent. PR2, PR3, SR2 calibration were done for the first time.

Susp. | Meas. nm/count | Gain adj. | AoI deg | nm/count
BS   +69.54 +2.325 45 +21.15
ITMX +14.73 +0.653  0 +22.55
ITMY +14.50 +0.659  0 +21.99
ETMX +12.20 +0.414  0 +29.47
ETMY +10.66 +0.480  0 +22.21
MC2  +2.27 +0.105  0 +21.62
PRM  -19.00 +0.773  0 -24.58
PR2  -36.19 +1.000  0 -18.09
PR3  -29.57 +1.000 45 -20.91
LO1  +28.25 +1.000  0 +28.25
LO2  +11.19 +1.000 45 +15.83
AS1  -25.92 +1.000  0 -25.92
AS4  +25.82 +1.000  0 +25.82
SR2  -16.63 +1.000 45 -23.52


Next:
 - Use these actuation efficiencies to dither each optic and see beam spot positions on them

Attachment 1: PR23ActuatorTF_20231024.pdf
PR23ActuatorTF_20231024.pdf
Attachment 2: PR23ActuatorRatio_20231024.pdf
PR23ActuatorRatio_20231024.pdf
Attachment 3: BHDActuatorTF_20231024.pdf
BHDActuatorTF_20231024.pdf
Attachment 4: BHDActuatorRatio_20231024.pdf
BHDActuatorRatio_20231024.pdf
  6163   Tue Jan 3 20:42:05 2012 Leo SingerUpdateGeneralActuators for Stewart platform

 I checked on the two single-axis shakers that are present at the 40m that Steve pointed out:

  • Brüel & Kjær type 4809, rated for 45 N peak, and
  • Brüel & Kjær type 4810, rated for 10 N peak.

Neither of these meet the force requirement of 2.04 kN peak.

  6165   Wed Jan 4 02:43:40 2012 ranaUpdateGeneralActuators for Stewart platform

Quote:

 I checked on the two single-axis shakers that are present at the 40m that Steve pointed out:

  • Brüel & Kjær type 4809, rated for 45 N peak, and
  • Brüel & Kjær type 4810, rated for 10 N peak.

Neither of these meet the force requirement of 2.04 kN peak.

 Time to lower your expectations!

Do we really need 40 microns at 500 Hz? Or perhaps should there be a frequency dependent displacement requirement?

  5811   Fri Nov 4 15:24:13 2011 MirkoUpdateAdaptive FilteringAdaptive FF on the MC doesn't make sense

[Den, Jenne, Mirko]

DSC_3585.JPG

Here is the story:

1. High gain
The control loop has a high gain at the interesting frequencies. The error point (EP) before the servo is approx. zero and the information how much the mirror would move is in the feedback point (FB) behind the servo. The mirror doesn’t actually move because of the high gain. This is the case of the grav. wave detectors and medium frequencies (> approx. 50Hz, <<1kHz). Adding feed-forward (FF) to this doesn’t actually keep the mirror quieter. In fact if you look into the FB and subtract the seismic you make the mirror move more. Yes this is the case we have for the mode cleaner, doesn’t make sense.
In a real GW detector FF however isn’t totally useless. The FB tells you how much the mirror moves, due to GWs, seismic etc. When you record the FB and subtract (offline) the seismic you get closer to the real GW signal.

2. Low gain
When you, for technical reasons, can’t have a high gain in your control loop the EP contains information of how the mirror actually moves. You can then feed this into the adaptive filter and add its output to the FB. This will minimize the EP reducing the actual mirror motion. This is the case we will have for most or all other degrees of freedom in the 40m.

The reason we have so much gain in the mode cleaner length control is that we don’t actually move mirrors around. We change the frequency of the incoming laser light. You can do that crazy fast with a big amplitude. This gives us a high UGF and lots of gain in the 1Hz range we are interested in.

We now change the adaptive filter to look at the EP for all DOFs except for the MC. We calculate the effect of the FF on the MC length signal without ever applying the FF to the MC length control.

  384   Mon Mar 17 18:30:48 2008 mevansConfigurationPEMAdaptive Filtering
It seems that adaptive filtering can achieve results similar to those of the MISO FIR Wiener (entry 369). The adaptive code simulates real-time operation, but uses the same data used by Rana for the Wiener filter. I ran the adaptive filter over the data 100 times to ensure that it was well trained... maybe too well.
Attachment 1: mcacc_adaptive.png
mcacc_adaptive.png
  387   Thu Mar 20 17:45:36 2008 ranaSummaryASSAdaptive Filtering in the ASS system
Over the past couple weeks we (Matt, Alex, Rob, me) have worked on getting an adaptive filter
system working. We wanted to load this system into c1ass to use this processor. The dither alignment
system hasn't been employed here for awhile and so we have just used this box.

The signals are acquired in the PEM ADCU. Alex modified the code there to send the signals over to
the new system. We also get the SUS-LSC_OUT signals from each of the suspensions so that we can
try to minimize them.

The outputs of the adaptive filter go into the unused SUS-MCL inputs of all the suspensions (except
for MC2). In the current setup, we have 6 accelerometers and 1 seismometer around the MC to be used
to demonstrate the principle of the whole thing.

Much more documentation and description of everything is necessary. We'll try to get Matt, Rob, and Alex
to use the elog.
  563   Wed Jun 25 09:46:45 2008 SharonUpdate Adaptive Filters
I have been learning about different methods for applying adaptive filters to improve the Mode Cleaner lock in specific, and other LIGO systems in general.
Finding the exact number of coeffs we would like to apply for our FIR adaptive filter is very important to the efficiency of the filter. Getting this number higher might improve the accuracy of the filter, but costs time we do not have. Another important number to find is the step size. The step size is the variable that controls how far back we want to look into our data for finding the new coeffs. To understand more about the step size it is necessary to learn about the standard deviation of our input and output signals. By getting the step size too big, we are considering long term behavior, but might be missing out on a short term one.
In the near future I will be learning about the meanings of these variables and their contribution to the over all accuracy of our filters.
Results will be posted.
  704   Mon Jul 21 09:52:05 2008 SharonUpdate Adaptive code changes
Thanks to Alex, we now save the coefficients of the adaptive filter every cycle. When we choose ENABLE: OFF on the MEDM screen, suppressing the signal to the MC1, we stop and save the last coefficients. When enabling it again, it starts from the last coefficients saved. I will take some measurements today to check how this contributes to the adaptation rate. If you change the number of taps or the number of AUX channels, the coefficients are again set to zero.
  5738   Tue Oct 25 20:04:40 2011 MirkoUpdateAdaptive FilteringAdaptive filter witness and EP SNR

We currently have the code running for all DOFs using all witness channels. By default nothing is applied. C-Code parameters can be changed via the respective EPICS variables. Sanity checks in the C-Code make sure the code doesn't crash when nothing / zeros are fed to the code. Let's look into applying FF to one DOF only as a starting point. We start with MCL.

Remember there are two possible signals to look into MC-F and MC-Servo. See page 5695 http://nodus.ligo.caltech.edu:8080/40m/5695

Dark noise: MC-F over MC-Servo which is unconnected in this measurement:
MC-F_SNR_to_Dark_noise.png

=> At least 20dB SNR. ADC noise should not be an issue. Of course more is always better.

Coherence of seismometers to MCL:


STS1 is located at the vertex. x-axis along the x arm.
GUR1 is located at the IMC MC2 mirror. Same orientation.
Coherence.png

=> 1. Only the x-direction has good coherence (to be expected)
     2. Only good coherence at 1.5-4Hz (huh?)

So probably other noise sources are dominating. Let's look into noise projections. Remember IMC autoalignment is off.

A quick adaptive filter run with only the GUR1 and STS1 witnesses applied only to MCL didn't really do anything. Some more thought needs to be invested into the AA and shaping filters.

  5740   Tue Oct 25 21:49:13 2011 DenUpdateAdaptive FilteringAdaptive filter witness and EP SNR

Quote

Coherence of seismometers to MCL:


STS1 is located at the vertex. x-axis along the x arm.
GUR1 is located at the IMC MC2 mirror. Same orientation.
Coherence.png

=> 1. Only the x-direction has good coherence (to be expected)
     2. Only good coherence at 1.5-4Hz (huh?)

So probably other noise sources are dominating. Let's look into noise projections. Remember IMC autoalignment is off.

A quick adaptive filter run with only the GUR1 and STS1 witnesses applied only to MCL didn't really do anything. Some more thought needs to be invested into the AA and shaping filters.

Indeed, only GUR1_X is reasonable. Static Wiener filtering (length = 2500) of MCL with witness channels GUR_1_X, GUR_1_Y, GUR_1_Z proves your measurements.

We need to callibrate seimometers. I think that now we see velocity, not displacement. It might be useful to amplify the seimometer singal before ADC to make sure that our signal is not ADC noise.

Attachment 1: gur1_x.jpg
gur1_x.jpg
Attachment 2: gur1_y.jpg
gur1_y.jpg
Attachment 3: gur1_z.jpg
gur1_z.jpg
  5777   Tue Nov 1 18:16:50 2011 DenUpdateAdaptive FilteringAdaptive filter witness and EP SNR

Quote:

 

Coherence of seismometers to MCL:


STS1 is located at the vertex. x-axis along the x arm.
GUR1 is located at the IMC MC2 mirror. Same orientation.
Coherence.png

=> 1. Only the x-direction has good coherence (to be expected)
     2. Only good coherence at 1.5-4Hz (huh?)

So probably other noise sources are dominating. Let's look into noise projections. Remember IMC autoalignment is off.

A quick adaptive filter run with only the GUR1 and STS1 witnesses applied only to MCL didn't really do anything. Some more thought needs to be invested into the AA and shaping filters.

The possible explanation to this effect is the following:

Seismic noise mainly consists of the Love and Rayleigh surface waves. In the simulations we've taken 2 perpendicular Love waves and 2 perpendicular Rayleigh waves that interfere under the test mirrors. This interference produces both translational and tilt movements. Then we can see the coherence between translational motion and cavity length.

translation_length.jpg

1. The coherence at big frequencies is small due to the passive isolation.

2. The coherence at 1 Hz is 0 due to the wire resonance.

3. The coherence between 1 and 10 Hz is reasonable. At the real 40m's measurements we can see only good coherence for gur1_x and sts1_x but this is the matter of adjusting seismic waves amplitude and direction. In the simulation we've assumed that all waves are of the same amplitude. The really interesting thing is that

4. The coherence below 0.8 Hz began to grow. We don't see this in real measurements.

But let's simulate the seismometer measurements. It measures not only translational motion but also tilt and with amplitude proportional to g / omega^2. On the Figure below the spectrum of translation motion, tilt and tilt as seen by seismometer is presented. We can see that at low frequencies tilt begins to dominate over the translational motion. We assumed the speed of waves in the region 30 - 60 m/sec.

trans_tilt.jpg

Let's now plot the coherence between the cavity length and seismometer signal.

seismic_length.jpg

We can see that the coherence between seismic signal from measured by seismometer and cavity length is gone below 1 Hz where tilt becomes important.

Now let's try to filter out the seismic noise from the cavity length using both static Wiener filtering and adaptive Mfxlms algorithm. For both filters we've used AA filter before the filters and also AI filter after adaptive filter. The downsampling ratio was 4, the sample frequency 256. We can see that nothing is really subtracted due to the pollution of the seismometer signal due to tilt motion.

tilt_filtering.jpg

Assume we do the same computational experiment but with the seismometers that measure only ground translational motion and tilt do not affect on them. Then we have a reasonable subraction of seismic noise at low frequencies even with the filters of the length 100 as shown on the figure below.

filtering.jpg

Let's look through an order of magnitude analysis. Assume ground motion consists of only one wave with amplitude A and only vertical movement:  z(t) = A*sin(2 pi 0.1 t). So the frequency of the wave is 0.1 Hz. If A = 10-6 m => the amplitude of the suspended mirror motion is also approximately 10-6 m, as we have no isolation at low frequencies. The tilt angle has the amplitude alpha = 2*pi*A/lambda, where lambda - wavelength of the ground wave, lambda = v/f = 40/0.1 = 400 m, v - speed of the wave, f - frequency. Then alpha = 10-8 rad. If the distance between ground and mirror suspension point is 1 m, then mirror motion amplitude due to tilt is B = 10-8 m << A. 
It turns out that tilt does not effect much on the cavity length compared to the ground translational motion, but it affects a lot on the seismometer signals, that are used as witness signals in the filtering. For that reason we need tiltmeters to filter seismometer signals in order to obtain pure translational ground motion.
  11855   Mon Dec 7 10:40:09 2015 yutaroUpdateComputer Scripts / ProgramsAdded 1 line to UNFREEZE_DITHER.py

I added 1 line to one of the ASS scripts, UNFREEZE_DITHER.py like this:

L29>   ez.cawrite('C1:ASS-'+dof+'_GAIN', 0)   

The reason why I added this is: without this line, C1:ASS-'+dof+'_GAIN become larger that 1.0, which is nomial value, if you UNFREEZE DITHER when the dither is already running or C1:ASS-'+dof+'_GAIN is not 0.0.  

  11793   Fri Nov 20 15:44:12 2015 KojiSummaryPSLAdded 17.5kHz LPF to the PMC servo

As a final tune of the PMC servo, I've added 1nF cap at the error signal amplification stage. The diagram has been updated and uploaded to DCC. https://dcc.ligo.org/D1400221

It should be noted that this modification yielded the error signal to have 17.5kHz roll off.


The openloop TF after the modification has been measured. (Attachment 1)

With the new nominal gain of 9dB, almost the same gain margin for the 28kHz peak has been realized.
=> We have 6dB (factor of 2) more gain at low frequency. Currently, the feature at 8kHz causes the oscillation when the gain is further increased.
 

Here is the model function for the OLTF.

function cmpOLTFc = PMC_OLTF_model(freqOLTFc)

cmpOLTFc = -9.5e5*pole1(freqOLTFc,0.162).*zero1(freqOLTFc,491)... % from the circuit diagram
    .*pole1(freqOLTFc,17.5e3)... % Newly implemented input filter => GBW pole was replaced with this
    .*zero2(freqOLTFc,12.5e3,100)... % eye-fit
    .*pole2(freqOLTFc,12.2e3,6)... % eye-fit
    .*pole2(freqOLTFc,28.8e3, 12)... % eye-fit
    .*pole1(freqOLTFc,150e3)... % Mixer LPF estimated from Circuit Lab Simulation
    .*pole1(freqOLTFc,11.3)... % Output Impedance + PZT LPF
    .*pole1(freqOLTFc,3e4); % Unknown
   
end


The free-running round-trip displacement (roundtrip) / frequency noise is shown in Attachments. There we compare the spectra with and without IMC locked.

i.e. When the IMC is not locked, we are measuring the laser frequency noise with the sensor (PMC cavity) that is noisy due to the PMC displacement.
When the IMC is locked, the laser frequency is further stabilized while the sensor (PMC) noise is not changed.

- Without IMC locked

Can we see the laser freq noise? It seems that it is visible above 100Hz.
The red curve is the measured noise level. The NPRO (although it is LWE NPRO) noise level from S. Nagano's thesis (see our wiki) is shown there.

- With IMC locked

When the IC is locked, we see the increase of the noise between 1~4Hz. It means that the IMC is not only noisier than the laser, but also noisier than the PMC cavity.
Sounds reasonable. And the PMC is capable to handle this motion.

The reduction of the frequency noise is seen from 100Hz to 30kHz.

The interesting point is that we can see the noise increase above 30kHz when the IMC is locked.
I believe that the phase correction EOM is shared with the PMC modulation. i.e. PMC sees the corrected laser frequency.

We expect that the frequency noise is reduced at this frequency. But in reality not.

In addition, there is a sharp peak at ~35kHz. I wonder If this is caused by the IMC servo. It is worse to investigate.

Attachment 1: PMC_OLTF.pdf
PMC_OLTF.pdf
Attachment 2: PMC_noise_comparison.pdf
PMC_noise_comparison.pdf
  16957   Tue Jun 28 17:07:47 2022 AnchalUpdateCalibrationAdded Beatnote channels in demodulation of c1cal

I added today demodulation of C1:LSC-BEATX/Y_FINE_I/Q in the c1cal demodulation where different degrees of freedom can be dithered. For McCal (formerly soCal), we'll dither the arm cavity for which we can use any of the DOFs (like DARM) to send the dither to ETMX/ETMY. Then with green laser locked as well, we'll get the calibration signal from the beatnotes in the demodulaed channels. We can also read right after the mixing in c1cal model and try differnt poles for integration .

I've also added medm screens in the sensing matrix part of LSC screen. These let you see demodulation of beatnote frequency signals.

  11421   Thu Jul 16 16:33:56 2015 JessicaUpdateGeneralAdded Bode Plots of Bandpass Filter

I updated the bandpass filter I was using, finding that having different stopband attenuations before and after the passband better emphasized the area from 3 Hz to 20 Hz. I chose a low passband ripple but high stopband attenuation to do this. My passband ripple was 2 dB, the first stopband was 25 dB, and the second stopband attenuation was 40 dB. As can be seen in the filter Magnitude plot, this resulted in a fairly smooth passband and a fairly step dropoff to the stopband, which will better emphasize the region I am trying to isolate. My goal was to emphasize the 3-20 Hz region 10-30 times more than the outside regions. I think I accomplished this by looking at the Bode plot, but I may have chosen the second stopband attenuation to be slightly too high for this. 

Attachment 1: acc1_update.png
acc1_update.png
Attachment 2: acc2_update.png
acc2_update.png
Attachment 3: acc3_update.png
acc3_update.png
Attachment 4: bp_BodeMag.png
bp_BodeMag.png
Attachment 5: bp_BodePhase.png
bp_BodePhase.png
  1782   Thu Jul 23 07:34:45 2009 AidanUpdateCDSAdded C2 MEDM screens to 40m SVN.

 

See Adhikari eLOG entry: http://nodus.ligo.caltech.edu:8080/AdhikariLab/194

  707   Mon Jul 21 14:26:11 2008 MaxSummaryPEMAdded Channels
The following channels have been added.

Channel Name DAQ port
C1 : PEM-MAG_BSC_X 27
C1 : PEM-MAG_BSC_Y 28
C1 : PEM-MAG_BSC_Z 29

Jenne and I ran the wires from near the beam splitter chamber (as described in a previous elog) to the rack Y7 and plugged the labeled BNC's into ports 27-29. The computer was c0dcu1. John then restarted the frame builder and Alberto and I restarted the front end of c0dcu1 as per the wiki's instructions. The channels seem to be working. - Max.
  18012   Tue Dec 5 14:20:57 2023 RadhikaSummaryCDSAdded EPICS channels for lab temperature in F

[Yuta, Paco, Radhika]

Fahrenheit lab temperature channels added

First I located the existing .db file for lab temperature monitoring: /cvs/cds/caltech/target/c1pem1/tempsensor/C1PEMaux.db.

I added the following CALC channels:

C1:PEM-XEND_TEMP_F
C1:PEM-YEND_TEMP_F
C1:PEM-VERTEX_TEMP_F

Here is the example for XEND temp:

record(calc,"C1:PEM-XEND_TEMP_F") {
   field(SCAN, ".1 second")
   field(DESC, "XEND temperature from SensorGateway, in F")
   field(INPA, "C1:PEM-XEND_TEMP")
   field(CALC, "(1.8*A+32)")
   field(PREC, "4")
}

*Note that the SCAN field was required for the channels to update. The SCAN field was added to the original (degC) channel entries as well.

Next, C1PEMaux_modbusIOC.service was restarted (running on c1susaux). At this point the new degF channels were accessible via caget.

To add the new channels to fb, we followed Koji's instructions here - added the new channel names to C0EDCU.ini; restarted fb; restarted rts-edc_c1sus.

We could pull up the new channels on ndscope [Attachment 1].

Attachment 1: 2023-12-05_lab_temp_degF.png
2023-12-05_lab_temp_degF.png
  17220   Tue Nov 1 17:59:23 2022 AnchalUpdateSUSAdded F2A filters on MC1, MC2, and MC3

I've cleared all old attempts on F2A filters on MC1, MC2, and MC3, and added the default F2A filter described in the last post. I added 3 such sets of filters, with Q=3, 7, and 10. I have turned on Q=3 filter for all IMC optics right now. I'll setup some test of switching between different Q filters in future.

  2275   Mon Nov 16 15:58:02 2009 josephbConfigurationGeneralAdded Gige camera to AP table, added some screens

I placed a GC750 gige camera looking at a pickoff of the AS port, basically next to the analog camera, on the AP table.

I've modified the main sitemap to include a CAM button, for the digital cameras.  There's a half done screen associated with it.  At the moment, it reports on the X and Y center of mass calculation, the exposure setting, and displays a little graph with a dot indicating the COM of mass location.  Currently this screen is associated a GC750 camera looking at pickoff of the AS port.  I'm having some issues with getting shell scripts to run from it, as well as a slider having limits other than 0 and 0.

  3880   Mon Nov 8 14:30:15 2010 josephb, yutaUpdateCDSAdded LIGONDSIP setting to cshrc.40m

We added the following line to the cshrc.40m file in the 64-bit linux and 32-bit linux sections:

setenv LIGONDSIP fb

This allows codes like tdsdmd to work properly on the linux machines (seemed to already work fine on the solaris op440m without this change).

  6831   Mon Jun 18 23:38:39 2012 JenneUpdateLSCAdded LSC channels to frames

Since the .ini files get overwritten every time a model is compiled now, we need to put all channels we want saved to frames in the DAQ Channels list inside the model.

I added the _ERR channels for all RFPDs (I and Q for each), as well as the _OUT channels for the DCPDs.  I also added the _OUT channels for the DoF servos (ex. C1:LSC-DARM_OUT).  I don't remember off the top of my head what else we used to save from the LSC model, but those all seemed like ones we'll possibly want access to later. 

We need to go through and do this to all the models we use regularly.

Since SUS hasn't been recompiled in a while, all those channels are saved (until such time as someone does a recompile).  Den has gone through and edited the PEM and OAF .ini files by hand each time he recompiles, so we have that data, although we need to put it into the model (which is the new proper way to acquire channels).

  1661   Mon Jun 8 18:22:27 2009 AlbertoDAQLSCAdded PD11 I amd Q slow channels

I just added two slow channels to C0EDCUEPICS to monitor the input of PD11. The names are:

[C1:LSC-PD11_I_INMON]
[C1:LSC-PD11_Q_INMON]

  3634   Fri Oct 1 11:53:42 2010 josephbConfigurationCDSAdded RCG simlink files to the 40m svn

I've added a new directory in /opt/rtcds/caltech/c1/core called rts_simlink.  This directory is now in the 40m svn.  Unfortunately, the simlink files used to generate the front end c codes live in a directory controlled by the CDS svn.  So I've copied the .mdl files from /opt/rtcds/caltech/c1/core/advLigoRTS/src/epics/simLink/ into this new directory and added them into the 40m svn.  When making changes to the simlink files, please copy them to this new directory and check them in so we can a useful history of the models.

 

  3178   Thu Jul 8 15:19:27 2010 josephb, kojiConfigurationComputersAdded Zonet camera to IP table on linux1

We gave the Zonet camera the IP 192.168.113.26 and the name Zonet1.

We did this by modifying the /var/named/chroot/var/named/113.168.192.in-addr.arpa.zone and martian.zone files on linux1 as root.

  4460   Wed Mar 30 16:32:29 2011 AidanConfigurationComputer Scripts / ProgramsAdded a sitemap alias

I added an alias to the sitemap MEDM screen in /cvs/cds/caltech/target/cshrc.40m

Now you can enjoy launching sitemap from a terminal.

alias sitemap 'medm -x /cvs/cds/rtcds/caltech/c1/medm/sitemap.adl'

  4463   Wed Mar 30 18:50:57 2011 KojiConfigurationComputer Scripts / ProgramsAdded a sitemap alias

I thought that "m40m" was the traditional alias for the sitemap...

rossa:~>alias
...

m40m ${medm_base} ${medm_newtail} &
...
sitemap medm -x /cvs/cds/rtcds/caltech/c1/medm/sitemap.adl

rossa:~>set|grep medm
medm_base       medm
medm_newtail    -x /opt/rtcds/caltech/c1/medm/sitemap.adl

medm_tail       -x /cvs/cds/caltech/medm/sitemap.adl

Quote:

I added an alias to the sitemap MEDM screen in /cvs/cds/caltech/target/cshrc.40m

Now you can enjoy launching sitemap from a terminal.

alias sitemap 'medm -x /cvs/cds/rtcds/caltech/c1/medm/sitemap.adl'

 

 

  3226   Thu Jul 15 11:58:50 2010 josephbUpdateComputersAdded channel to ADCU_PEM (C0DCU1)

I modified the C1ADCU_PEM.ini file in /cvs/cds/caltech/chans/daq/ (after making a backup), and added a temporary channel called C1:PEM-TEMP_9, the 9 corresponding to the labeled 9 channel on the front of the BNC breakout in the 1Y7 rack.  The chnnum it was set to is 15008 (it was commented out and called C1:PEM-PETER_FE).  I also set the data rate to 2048.

I then did telnet fb40m 8087, and shutdown, and also hit the blue reconfig button on the DAQ status screen for the C0DCU1 machine.  The framebuilder came back up.  I confirmed the temporary channel, as well as the Guralp channels were still working from C0DCU1.

We have strung a cable in the cable trays from the SP table to the 1Y7 rack, which has been labeled as "Phasecam PD".  This will be used to record the output of an additional photodiode.

 

  7521   Wed Oct 10 19:22:03 2012 jamieUpdateIOOAdded control for input tip-tilts to c1ass

I have added some control logic and appropriate output DAC channels for the input tip-tilts (TT1 and TT2) to the c1ass model.

The plan is for all the tip-tilt drive electronics to live in a Eurocrate in 1Y2.  They will then interface with a DAC in c1lsc.

c1ass runs on the c1lsc front-end machine, and therefore seemed like an appropriate place for the control logic to go.

I added and interface to DAC0, and a top_named IOO block, to c1ass:

2012-10-10-185707_566x330_scrot.png

The IOO block includes two TT_CONTROL library parts, one for each of TT1 and TT2:

2012-10-10-191013_470x277_scrot.png

This is just a start so that I can start testing the DAC output.

I have not recompiled c1ass yet.  I will do that tomorrow.

  4396   Thu Mar 10 13:44:56 2011 josephbUpdateCDSAdded digitization noise to the c1spy model for simulated ADCs/DACs

To simulate digitization noise, the easiest way I found was to use the MathFunction block, found in the CDS_PARTS model, under simLinkParts. 

The MathFunction block supports square of input value, square root of input value, reciprocal of input value, and modulo of two input values.

The last is useful because it casts the input values as integers before taking the modulo.By placing this block after the saturation block (set to +/- 32768), adding 32768.5, choosing the 2nd input to be larger than 2 * 32768 (100,000 in this case), and then subtracting 32768, we wind up with a rounding function. 

The above method has been applied to the c1spy model in the CI and SO out sub-blocks.

  16269   Wed Aug 4 18:19:26 2021 pacoUpdateGeneralAdded infrasensing temperature unit to martian network

[ian, anchal, paco]

We hooked up the infrasensing unit to power and changed its default IP address from 192.168.11.160 (factory default) to 192.168.113.240 in the martian network. The sensor is online with user controls and the usual password for most workstations in that IP address.

  6869   Mon Jun 25 15:19:07 2012 YaakovUpdatePEMAdded microphone channels, moved accelorometer channels

Jenne and I renamed the mic channels Den created (elog 6664) to MIC_1, MIC_2, etc from the original accelerometer names to keep things clear. We then added 6 new channels (22-27) for the accelerometers, named ACC_MC1_X, Y, Z, ACC_MC2_X, Y, Z, etc. (See the screenshot below). We also added a DAQ channel block and listed out the IN1 channel of all the sensors. We compiled and started the model, and checked that all the channels were there in DataViewer.

channels.png

  2477   Tue Jan 5 10:26:32 2010 Alberto, SteveOmnistructureEnvironmentAdded new wall cable-racks

we hung two new WALL cable racks. One is on the pillar next to the Sp table, the other is next to the PSL computer rack.

To do that we had to drill holes in the wall since the simple screws weren't strong enough to keep them up.

One of the racks, the yellow, is dedicated to 4-pin lemos and other thick cables.

DSC_1068-1.JPGDSC_1070-1.JPG

  2478   Tue Jan 5 11:00:04 2010 ranaOmnistructureEnvironmentAdded new wall cable-racks

Quote:

we hung two new WALL cable racks. One is on the pillar next to the Sp table, the other is next to the PSL computer rack.

 awesome - I have ordered 5 blue racks so that we can hang power cables. The fat BLUE ones are for fat cables and the orange ones for the coax cables.

  15275   Fri Mar 13 14:28:39 2020 gautamUpdatePSLAdded tees to PMC Trans and REFL

I want to monitor the PMC TRANS and REFL levels on the PSL table - previously there were some cables going to the oscilloscope on the shelf but someone had removed these. I re-installed them just now. While there, I disconnected the drive to the AOM - there must've been some DC signal going to it because when I removed the cable, the PMC and IMC transmission were recovered to their nominal levels.

  16330   Tue Sep 14 17:22:21 2021 AnchalUpdateCDSAdded temp sensor channels to DAQ list

[Tega, Paco, Anchal]

We attempted to reboot fb1 daqd today to get the new temperature sensor channels recording. However, the FE models got stuck, apparantely due to reasons explaine din 40m/16325. Jamie cleared the /var/logs in fb1 so that FE can reboot. We were able to reboot the FE machines after this work successfully and get the models running too. During the day, the FE machines were shut down manually and brought back on manually, a couple of times on the c1iscex machine. Only change in fb1 is in the /opt/rtcds/caltech/c1/chans/daq/C0EDCU.ini where the new channels were added, and some hacking was done by Jamie in gpstime module (See 40m/16327).

  16270   Thu Aug 5 14:59:31 2021 AnchalUpdateGeneralAdded temperature sensors at Yend and Vertex too

I've added the other two temperature sensor modules on Y end (on 1Y4, IP: 192.168.113.241) and in the vertex on (1X2, IP: 192.168.113.242). I've updated the martian host table accordingly. From inside martian network, one can go to the browser and go to the IP address to see the temperature sensor status . These sensors can be set to trigger alarm and send emails/sms etc if temperature goes out of a defined range.

I feel something is off though. The vertex sensor shows temperature of ~28 degrees C, Xend says 20 degrees C and Yend says 26 degrees C. I believe these sensors might need calibration.

Remaining tasks are following:

  • Modbus TCP solution:
    • If we get it right, this will be easiest solution.
    • We just need to add these sensors as streaming devices in some slow EPICS machine in there .cmd file and add the temperature sensing channels in a corresponding database file.
  • Python workaround:
    • Might be faster but dirty.
    • We run a python script on megatron which requests temperature values every second or so from the IP addresses and write them on a soft EPICs channel.
    • We still would need to create a soft EPICs channel fro this and add it to framebuilder data acquisition list.
    • Even shorted workaround for near future could be to just write temperature every 30 min to a log file in some location.

[anchal, paco]

We made a script under scripts/PEM/temp_logger.py and ran it on megatron. The script uses the requests package to query the latest sensor data from the three sensors every 10 minutes as a json file and outputs accordingly. This is not a permanent solution.

  16319   Mon Sep 13 04:12:01 2021 TegaUpdateGeneralAdded temperature sensors at Yend and Vertex too

I finally got the modbus part working on chiara, so we can now view the temperature data on any machine on the martian network, see Attachment 1. 

I also updated the entries on /opt/rtcds/caltech/c1/chans/daq/C0EDCU.ini, as suggested by Koji, to include the SensorGatway temperature channels, but I still don't see their EPICs channels on https://ldvw.ligo.caltech.edu/ldvw/view. This means the channels are not available via nds so I think the temperature data is not being to be written to frame files on framebuilder but I am not sure what this entails, since I assumed C0EDCU.ini is the framebuilder daq channel list.

When the EPICs channels are available via nds, we should be able to display the temperature data on the summary pages.

Quote:

I've added the other two temperature sensor modules on Y end (on 1Y4, IP: 192.168.113.241) and in the vertex on (1X2, IP: 192.168.113.242). I've updated the martian host table accordingly. From inside martian network, one can go to the browser and go to the IP address to see the temperature sensor status . These sensors can be set to trigger alarm and send emails/sms etc if temperature goes out of a defined range.

I feel something is off though. The vertex sensor shows temperature of ~28 degrees C, Xend says 20 degrees C and Yend says 26 degrees C. I believe these sensors might need calibration.

Remaining tasks are following:

  • Modbus TCP solution:
    • If we get it right, this will be easiest solution.
    • We just need to add these sensors as streaming devices in some slow EPICS machine in there .cmd file and add the temperature sensing channels in a corresponding database file.
  • Python workaround:
    • Might be faster but dirty.
    • We run a python script on megatron which requests temperature values every second or so from the IP addresses and write them on a soft EPICs channel.
    • We still would need to create a soft EPICs channel fro this and add it to framebuilder data acquisition list.
    • Even shorted workaround for near future could be to just write temperature every 30 min to a log file in some location.

[anchal, paco]

We made a script under scripts/PEM/temp_logger.py and ran it on megatron. The script uses the requests package to query the latest sensor data from the three sensors every 10 minutes as a json file and outputs accordingly. This is not a permanent solution.

 

Attachment 1: Screen_Shot_2021-09-13_at_4.16.22_AM.png
Screen_Shot_2021-09-13_at_4.16.22_AM.png
  4243   Thu Feb 3 04:43:58 2011 SureshUpdateElectronicsAdded two new DAQ channels

[Suresh, Joe]

We added the following two new DAQ channels into the c1:GCV model.  The daq:analog input channels are on card ADC0 and correspond to channels 3 and 4 on the card.

c1:GCV-EXT_REF_OUT_DAQ   Sampling rate=2kHz  acquiring a 1Hz sine wave from the SRS Function Generator DS345.  This is using the Rb 10MHz signal as an external frequency reference.

c1:GCV-PLL_OUT_DAQ    Sa.rate=2kHz acquiring the demodulated signal from the PLL servo.

This work is connected to the study of VCO PLL loop noise at frequencies below 0.1Hz.    We are trying to measure phase noise in the VCO PLL servo at low frequencies as this noise would result in arm length fluctuations in the green-locking scheme.

 

 

 

  17169   Mon Oct 3 08:35:59 2022 TegaUpdateIMCAdding IMC channels to frames for NN test

[Rana]

For the upcoming NN test on the IMC, we need to add some more channels to the frames. Can someone please add the MC2 TRANS SUM, PIT, YAW at 256 Hz? and then make sure they're in frames.

and even though its not working correctly, it would be good if someone can turn the MC WFS on for a little while. I'd just like to get some data to test some code. If its easy to roughly close the loops, that would be helpful too.


[Anchal]

Currently, none of these channels are being written on frames. From simulink model, it seems the channels:

  • C1:IOO-MC_TRANS_SUMFILT_OUT_DQ

  • C1:IOO-MC_TRANS_PIT_OUT_DQ

  • C1:IOO-MC_TRANS_YAW_OUT_DQ

are supposed to be DQed but are not present in the /opt/rtcds/caltech/c1/chans/daq/C1MCS.ini file. I tried simply adding these channels to the file and rerunning the daqd_ services but that caused 0x2000 error on c1mcs model. In my attempt, I did not know what chnnum to give for these channels so I omitted that and maybe that is the issue.

The only way I know to fix this is to make and install c1mcs model again which would bring these channels into C1MCS.ini file. But We'll have to run activateDQ.py if we do that which I am not totally sure if it is in running condition right now. @Christopher Wipf do you have any suggestions?


[Rana]

aren't they all filtered? If so, perhaps we can choose whatever is the equivalent naming at the LIGO sites rather than roll our own again.

@Tega Edo can we run activateDQ.py or will that break everything now?


[Tega]

@Rana Adhikari Looking into this now.

@Anchal Gupta The only problem I see with activateDQ.py is the use of the deprecated print function, i.e. print var instead of print(var). After fixing that, it runs OK and does not change the input INI files as they already have the required channel names. I have created a temporary folder, /opt/rtcds/caltech/c1/chans/daq/activateDQtests/, which is populated with copies of the original INI files, a modified version of activateDQ.py that does not overwrite the original input files, and a script file difftest.sh that compares the input and output files so we can test the functionality of activateDQ.py in isolation. Furthermore, looking through the code suggests that all is well. Can you look at what I have done to check that this is indeed the case? If so, your suggestion of rebuilding and installing the updated c1mcs model and running activateDQ.py afterward should do the trick.

I tested the code with:

cd /opt/rtcds/caltech/c1/chans/daq/activateDQtests/

./activateDQ.py

which creates output files with an _ prefix, for example _C1MCS.ini is the output file for C1MCS.ini, then I ran

./difftest

to compare all the input and corresponding output files.

Note that the channel names you are proposing would change after running activateDQ.py, i.e.

C1:IOO-MC_TRANS_SUMFILT_OUT_DQ -> C1:IOO-MC_TRANS_SUM_ERR

C1:IOO-MC_TRANS_PIT_OUT_DQ -> C1:IOO-MC_TRANS_PIT_ERR

C1:IOO-MC_TRANS_YAW_OUT_DQ -> C1:IOO-MC_TRANS_YAW_ERR

My question is this: why aren't we using the correct channel names in the first place so that we have less work to do later on when we finally decide to stop using this postbuild script?


[Anchal]

Yeah I found that these ERR channels are acquired and stored. I don't think we should do this either. Not sure what was the original motivation for this change. I tried commenting out this part of activateDQ.py and remaking and reinstalled c1mcs but it seems that activateDQ.py is called as postbuild script automatically on install and it uses some other copy of this file as my changes did not take affect and the DQ name change still happened.


[Tega]

Ah, we encountered the same puzzle as well. Chris found out that our models have `SCRIPT=activateDQ.py` embedded in the cds parameter block description, see attached image. We believe this is what triggers the postbuild script call to `activateDQ.py`. As for the file location, modern rtcds would have it in /opt/rtcds/caltech/c1/post_build, but I am not sure where ours is located. I did a quick search for this but could not find it in the usual place so I looked around for a bit and found this:

controls@rossa> find /opt/rtcds/userapps/ -name "activateDQ.py"

/opt/rtcds/userapps/trunk.bak/cds/c1/scripts/activateDQ.py

/opt/rtcds/userapps/tags/H2OAT_RCG2.5.1/cds/c1/scripts/activateDQ.py

/opt/rtcds/userapps/branches/StanfordGuardianDev/cds/c1/scripts/activateDQ.py

/opt/rtcds/userapps/branches/branch-2.3/cds/c1/scripts/activateDQ.py

/opt/rtcds/userapps/branches/branch-2.4/cds/c1/scripts/activateDQ.py

/opt/rtcds/userapps/trunk/cds/c1/scripts/activateDQ.py

My guess is the last one /opt/rtcds/userapps/trunk/cds/c1/scripts/activateDQ.py.

Maybe we can ask @Yuta Michimura since he wrote this script?

Anyway, we could also try removing SCRIPT=activateDQ.py from the cds parameter block description to see if that stops the postbuild script call, but keep in mind that doing so would also stop the update of the OSEM and oplev channel names. This way we know what script is being used since we will have to run it after every install (this is a bad idea).

controls@c1sus:~ 0$ env | grep script

CDS_SCRIPTS_PATH=:/opt/rtcds/userapps/release/cds/c1/scripts:/opt/rtcds/userapps/release/cds/common/scripts:/opt/rtcds/userapps/release/isc/c1/scripts:/opt/rtcds/userapps/release/isc/common/scripts:/opt/rtcds/userapps/release/sus/c1/scripts:/opt/rtcds/userapps/release/sus/common/scripts

It looks like the guess was correct. Note that in the newer version of rtcds, we can use `rtcds env` instead of `env` to see what is going on.

Attachment 1: Screen_Shot_2022-09-30_at_9.52.39_AM.png
Screen_Shot_2022-09-30_at_9.52.39_AM.png
  16802   Fri Apr 22 07:01:58 2022 JcUpdateCoil DriversAdding Resistors and Reinstalling

[Koji, JC]

Coil Drivers LO2, SR2, AS4, and AS1 have been updated a reinstalled into the system. 

LO2 Coil Driver 1 (UL/LL/UR)now has R=100 // 1.2k ~ 92Ohm for CH1/2/3        Unit: S2100008

LO2 Coil Driver 2 (LR/SD)now has R=100 // 1.2k ~ 92Ohm for CH3                    Unit: S2100530

SR2 Coil Driver 1 (UL/LL/UR)now has R=100 // 1.2k ~ 92Ohm for CH1/2/3        Unit: S2100614

SR2 Coil Driver 2 (LR/SD)now has R=100 // 1.2k ~ 92Ohm for CH3                    Unit: S2100615

AS1 Coil Driver 1 (UL/LL/UR)now has R=100 // 1.2k ~ 92Ohm for CH1/2/3        Unit: S2100610

AS1 Coil Driver 2 (LR/SD)now has R=100 // 1.2k ~ 92Ohm for CH3                    Unit: S2100611

AS4 Coil Driver 1 (UL/LL/UR)now has R=100 // 1.2k ~ 92Ohm for CH1/2/3        Unit: S2100612

AS4 Coil Driver 2 (LR/SD)now has R=100 // 1.2k ~ 92Ohm for CH3                    Unit: S2100613

Attachment 1: IMG_0536.jpeg
IMG_0536.jpeg
Attachment 2: IMG_0539.jpeg
IMG_0539.jpeg
Attachment 3: IMG_0542.jpeg
IMG_0542.jpeg
Attachment 4: IMG_0545.jpeg
IMG_0545.jpeg
Attachment 5: IMG_0548.jpeg
IMG_0548.jpeg
Attachment 6: IMG_0551.jpeg
IMG_0551.jpeg
Attachment 7: IMG_0554.jpeg
IMG_0554.jpeg
Attachment 8: IMG_0557.jpeg
IMG_0557.jpeg
  10130   Sat Jul 5 04:18:45 2014 AndresUpdate40m Xend Table upgradeAdding Two Lenses After the Second Steering Mirror in Order Two Increase the Gouy Phase Difference Between the Sterring Mirrors

I had been working on the Xend table optical layout update. Since the two steering mirrors in the Xend green are too close to each, there is a very small Gouy Phase different between these two mirrors. It was suggested to place two lenses so that we can increase the Gouy Phase. I have been working with Nick on this problem, and we had found a solution by using a la mode. We had written an a la mode code that optimize the Gouy Phase and the Mode Matching at the same time. After trying different lenses, we found the following results: a mode matching of 0.9939 as it is show in the first attachment below, and we found a Gouy Phase different between the two mirrors of about 60 degrees. I took photos of the Xend Table. The first photo is the Xend table as we had it right now. In the second photo, I moved the 2nd lens, and I placed the two more lenses that we need it, with more or lenses the correct position where they will be placed. The three old lenses will be replaced by three lenses of different focal length as it can be seen in the first attachment below. The first lens and third lens will stay in the same position where the old first lens and old third lens are, and the second lens will be moved by about half of an inch. We might have one or two of the lenses that we need, but we will have to order the rest of the lenses that need. My plan is to verify the lenses that we already have. Then, I need to let Nick know with lenses we need to order. Hopefully, we will be able to update the table by the end of this week if everything turn out fine.

Attachment 1: OverlapAndComponentsOfTheSolution.png
OverlapAndComponentsOfTheSolution.png
Attachment 2: CloseLookToTheGouyPhaseBetweenMirr1AndMirr2.jpg
CloseLookToTheGouyPhaseBetweenMirr1AndMirr2.jpg
Attachment 3: EntireRangeOfBeamPath.jpg
EntireRangeOfBeamPath.jpg
Attachment 4: XendTableWithTwoNeedLensesAdding.JPG
XendTableWithTwoNeedLensesAdding.JPG
Attachment 5: SchematicOfSolutionForTheLensesGouyPhase.jpeg
SchematicOfSolutionForTheLensesGouyPhase.jpeg
Attachment 6: XendGreenModeMatchingAndGouyPhaseOptimization.m
clear all
% In this code we are using a la mode to optimatize the mode matching and
% to optimatize the Gouy phase between mirror 1 and mirror 2. All the units
% are in meter

w0=2.943*1e-5; % The Waist of the laser measured before the faraday
z0_laser=-0.039; % position measured where the waist is located 
lamb= 532*10^-9; % wavelength of green light in mm
lFaraday=.0638; % Length of the faraday

... 148 more lines ...
Attachment 7: BeforeIncludingLensesORMovingLenses.JPG
BeforeIncludingLensesORMovingLenses.JPG
ELOG V3.1.3-