40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log, Page 69 of 339  Not logged in ELOG logo
ID Date Author Typeup Category Subject
  16070   Thu Apr 22 01:42:38 2021 KojiSummaryElectronicsHV Supply Comparison

New HV power supply from Company 'M' has been delivered. So I decided to compare the noise levels of some HV supplies in the lab. There are three models from companies 'H', 'K', and 'M'.

The noise level was measured with SR785 via Gautam's HP filter with protection diodes.

'H' is a fully analog HV supply and the indicator is analog meters.
'K' is a model with a LCD digital display and numerical keypad.
'M' is a model with a knob and digital displays.

All the models showed that the noise levels increased with increased output voltage.

Among these three, H showed the lowest noise. (<~1uV/rtHz@10Hz and <50nV/rtHz@100Hz) (Attachment 1)

K is quite noisy all over the measured freq range and the level was <50uV/rtHz. Also the PSD has lots of 5Hz harmonics. (Attachment 2)

M has a modest noise level (<~30uV/rtHz@10Hz and <1uV/rtHz@100Hz)except for the noticeable line noise (ripple). (Attachment 3)

The comparison of the three models at 300V is Attachment 4. The other day Gautam and I checked the power spectrum of the HV coil driver with KEPCO and the output noise level of the coil driver was acceptable. So I expect that we will be able to use the HV supply from Company M. Next step is to check the HV driver noise with the model by M used as the supply.

Attachment 1: HV_Supply_PSD_H.pdf
HV_Supply_PSD_H.pdf
Attachment 2: HV_Supply_PSD_K.pdf
HV_Supply_PSD_K.pdf
Attachment 3: HV_Supply_PSD_M.pdf
HV_Supply_PSD_M.pdf
Attachment 4: HV_Supply_PSD.pdf
HV_Supply_PSD.pdf
  16095   Thu Apr 29 11:51:27 2021 AnchalSummaryLSCStart of measuring IMC WFS noise contribution in ar cavity length noise

Tried locking the arms

  • Ran IFO > Configure > ! (YARM) > Restore YARM. Nothing happened.
  • Trying to align through tip-tilt:
    • Previous values: TT1: PIT: -1.7845, YAW: -0.2775; TT2: PIT: -1.3376, YAW: -0.0436
    • Couldn't get flashing of light in the arms at all.
    • Restored values to previous values.
  • Noticed that ITMY OPLEV YAWW Error has gone very high overnight while other oplevs remained the same.
  • Trying to change the C1:SUS-ITMY_YAW_OFFSET to bring this oplev yaw error back to near zero.
  • Changed C1:SUS-ITMY_YAW_OFFSET from -34 to 50. OPLEV_YEROR reduced to around -23 from -70.
  • Same thing with BS PIT. OPLEV_PERROR is highlighted in red at -52.
  • Changing C1:SUS-BS_PIT_OFFSET from 55 to 30. This brought OPLEV_PERROR to -15 from -52.
  • Trying to align PRM by changing C1:SUS-PRM_PIT_OFFSET and C1:SUS-PRM_YAW_OFFSET.
  • Inital values: C1:SUS-PRM_PIT_OFFSET: -20 , C1:SUS-PRM_YAW_OFFSET: 39.

Did the WFS step response test on IMC in between while waiting for help. See 16094.


Back to trying arm locking

  • Tried IFO > Configure > ! (XARM) > Restore YARM. Nothing happened.
  • Tried IFO > Configure > ! (YARM) > Restore YARM. Nothing happened again.
  • Tried Movie Capture of AS screen from VIDEO > Movie Capture > AS. But the script failed due to module not present error.

PMC got unlocked

  • Infront of me, PMC got unlocked. I did not go to PMC locking the screen at all since morning.
  • I opened the C1PSL_PMC screen. The PSL Autolocker blinker is not blinking but the switch is set to Enable. 
  • I do not see any automatic effort happening for regaining lock at PMC.
  • I'll try it manually. I was able to get the PMC locked again. C1:PSL-PMC_PMCTRANSPD is showing 0.761 V and C1:PSL-PMC_RFPDDC is showing 0.053 V.
  • Now IMC auto locker seems to be trying to get the lock acquired.
  • It acquired a lock a few times but struggled to keep it on. I reduced C1:IOO-WFS_GAIN to 0 and then the lock could stay on. Seemed like the accumulated offsets were not good.
  • So I cleared the history on WFS1, TRANS and WFS2 filter banks and then ramped the WFS overall gain (C1:IOO-WFS_GAIN) back to 1 and now IMC seems to stay locked in a stable configuration.
  • However, I still don't know what caused the PMC to get unlocked in the first place. Did my repeated arm locking attempts did something to the main laser frequency?

Back to trying arm locking

  • Tried IFO > Configure > ! (YARM) > Restore YARM again. Nothing happened again.
  16101   Thu Apr 29 17:51:19 2021 AnchalSummaryLSCStart of measuring IMC WFS noise contribution in arm cavity length noise

t Both arms were locked simply by using IFO > Configure > ! (YARM) > Restore YARM. I had to use ASS to improve the TRX/TRY to ~0.95.

I measured C1:LSC-XARM_IN1_DQ and C1:LSC-YARM_IN1_DQ while injecting band limited noise in C1:IOO-WFS1_PIT_EXC using uniform noise with amplitude 1000 along with filter defined by string: cheby1("BandPass",4,1,80,100). I calibrated the control arms signals by 2.44 nm/cts calibration factor directly picked up from 13984.

For the duration of this test, all LIMIT switches in the WFS loops were switched OFF.

I do not see any affect on the arm control signal power spectrums with or without the noise injection. Attachement 1 shows the PSD along with PSD of the injection site IN2 signal. I must be doing something wrong, so would like feedback before I go further.

Attachment 1: WFS1_PIT_exc_80-100Hz_Arms_ASD.pdf
WFS1_PIT_exc_80-100Hz_Arms_ASD.pdf
  16104   Fri Apr 30 00:18:40 2021 gautamSummaryLSCStart of measuring IMC WFS noise contribution in arm cavity length noise

This is the actuator calibration. For the error point calibration, you have to look at the filter in the calibration model. I think it's something like 8e-13m/ct for POX and similar for POY.

Quote:

I calibrated the control arms signals by 2.44 nm/cts calibration factor directly picked up from 13984.

  16113   Mon May 3 18:59:58 2021 AnchalSummaryGeneralWeird gas leakagr kind of noise in 40m control room

For past few days, a weird sound of decaying gas leakage comes in the 40m control room from the south west corner of ceiling. Attached is an audio capture. This comes about every 10 min or so. 

Attachment 1: 40mNoiseFinal.mp3
  16115   Mon May 3 23:28:56 2021 KojiSummaryGeneralWeird gas leakagr kind of noise in 40m control room

I also noticed some sound in the control room. (didn't open the MP3 yet)

I'm afraid that the hard disk in the control room iMac is dying.

 

  16125   Thu May 6 16:13:39 2021 AnchalSummaryIMCAngular actuation calibration for IMC mirrors

Here's my first attempt at doing angular actuation calibration for IMC mirrors using the method descibed in /users/OLD/kakeru/oplev_calibration/oplev.pdf by Kakeru Takahashi. The key is to see how much is the cavity mode misaligned from the input mode of beam as the mirrors are moved along PIT or YAW.

There two possible kinds of mismatch:

  • Parallel displacement of cavity mode axis:
    • In this kind of mismatch, the cavity mode is simply away from input mode by some distance \large \beta.
    • This results in transmitted power reduction by the gaussian factor of \large e^{-\frac{\beta^2}{w_0^2}} where \large w_0 is the beam waist of input mode (or nominal waist of cavity).
    • For some mismatch, we can approximate this to
                                                                               \large 1 - \frac{\beta^2}{w_0^2}
  • Angular mismatch of cavity mode axis:
    • The cavity mode axis could be tilted with respect to input mode by some angle \large \alpha.
    • This results in transmitted power reduction by the gaussian factor of \large e^{- \frac{\alpha^2}{\alpha_0^2}}  where \large \alpha_0 is the beam divergence angle of input mode (or nominal waist of cavity) given by \large \frac{\lambda}{\pi w_0}.
    • or some mismatch, we can approximate this to
                                                                                \large 1 - \frac{\alpha^2}{\alpha_0^2}

Kakeru's document goes through cases for linear cavities. For IMC, the mode mismatches are bit different. Here's my take on them:

MC2:

  • MC2 is the easiest case in IMC as it is similar to the end mirror for linear cavity with plane input mirror (the case of which is already studies in sec 0.3.2 in Kaker's document).
  • PIT:
    • When MC2 PIT is changed, the cavity mode simple shifts upwards (or downwards) to the point where the normal from MC2 is horizontal.
    • Since, MC1 and MC3 are plane mirrors, they support this mode just with a different beam spot position, shifted up by \large (R-L)\theta.
    • So the mismatch is simple of the first kind. In my calculations however, I counted the two beams on MC1 and MC3 separately, so the factor is twice as much.
    • Calling the coefficient to square of angular change \large \eta, we get:
                                     \large \eta_{._{2P}} = \frac{2 (R-L)^2}{w_0^2}
    • Here, R is radius of curvature of MC1/3 taken as 21.21m and L is the cavity half-length of IMC taken as 13.545417m.
  • YAW:
    • For YAW, the case is bit more complicated. Similar to PIT, there will be a horizontal shift of the cavity mode by \large (R-L)\theta.
    • But since the MC1 and MC3 mirrors will be fixed, the angle of the two beams from MC1 and MC3 to MC2 will have to shift by \large \theta/2.
    • So the overall coefficient would be:
                                     \large \eta_{._{2Y}} = \frac{2 (R-L)^2}{w_0^2} + \frac{2}{4\alpha_0^2}
    • The factor of 4 in denominator of seconf term on RHS above comes because only half og angular actuation is felt per arm. The factor of 2 in numerator for for the 2 arms.

MC1/3:

  • First, let's establish that the case of MC1 and MC3 is same as the cavity mode must change identically when the two mirrors are moved similarly.
  • YAW:
    • By tilting MC1 by \large \theta, we increase the YAW angle between MC1 and MC3 by \large \theta.
    • Beam spot on both MC1 and MC3 moves by \large (R-L)\theta.
    • The beam angles on both arms get shifted by \large \theta/2.
    • So the overall coefficient would be:
                                     \large \eta_{._{13Y}} = \frac{2 (R-L)^2}{w_0^2} + \frac{2}{4\alpha_0^2}
    • Note, this coefficient is same as MC2, so it si equivalent to moving teh MC2 by same angle in YAW.
  • PIT:
    • I'm not very sure of my caluculation here (hence presented last).
    • Changing PIT on MC1, should change the beam spot on MC2 but not on MC3. Only the angle of MC3-MC2 arm should deflect by \large \theta/2.
    • While on MC1, the beam spot must change by \large (R-L)\theta/2 and the MC1-MC2 arm should deflect by \large \theta/2.
    • So the overall coefficient would be:
                                     \large \eta_{._{13P}} = \frac{(R-L)^2}{4 w_0^2} + \frac{2}{4\alpha_0^2}

Test procedure:

  • We first clicked on MC WFS Relief (on C1:IOO-WFS_MASTER) to reduce the large offsets accumulated on WFS outputs. This script took 10 minutes and reduced the offsets to single digits and IMC remained locked throughout the process.
  • Then we switched off the WFS to freeze the outputs.
  • We moved the MC#_PIT/YAW_OFFSET up and down and measured the C1:IOO-MC_TRANS_SUMFILT_OUT channel as an indicater of IMC mode matching.
  • Attachement 1 are the 6 measurements and there fits to a parabola. Fitting code and plots are thanks to Paco.
  • We got the curvature of parabolas \large \gammafrom these fits in units of 1/cts^2.
  • The \large \eta coefficients calculated above are in units of 1/rad^2.
  • We got the angular actuation calibration from these offsets to physical angular dispalcement in units of rad/cts by \large \sqrt{\gamma / \eta}.
  • AC calibration:
    • I parked the offset to some value to get to the side of parabola. I was trying to reduce transmission from about 14000 cts to 10000-12000 cts in each case.
    • Sent excitation using MC#_ASCPIT/YAW_EXC using awg at 77 Hz and 10000 cts.
    • Measured the cts on transmission channel at 77 Hz. Divided it by 2 and by the dc offset provided. And divided by the amplitude of cts set in excitation. This gives \large \eta_{ac} analogous to above DC case.
    • Then angular actuation calibration at 77 Hz from these offsets to physical angular dispalcement in units of rad/cts by \large \sqrt{\gamma/\eta_{ac}}.
  • Following are the results:
    Optic Act
    Calibration factor at DC [µrad/cts]
    Calibration factor at 77 Hz [prad/cts]
    MC1 PIT 7.931+/-0.029 906.99
    MC1 YAW 5.22+/-0.04 382.42
    MC2 PIT 13.53+/-0.08 869.01
    MC2 YAW 14.41+/-0.21 206.67
    MC3 PIT 10.088+/-0.026 331.83
    MC3 YAW 9.75+/-0.05 838.44

     


  • Note these values are measured with the new settings in effect from 16120. If these are changed, this measurement will not be valid anymore.
  • I believe the small values for MC1 actuation have to do with the fact that coil output gains for MC1 are very weird and small, which limit the actuation strength.
  • TAbove the resonance frequencies, they will fall off by 1/f^2 from the DC value. I've confirmed that the above numbers are of correct order of magnitude atleast.
  • Please let me know if you can point out any mistakes in the calculations above.
Attachment 1: IMC_Ang_Act_Cal_Kakeru_Tests.pdf
IMC_Ang_Act_Cal_Kakeru_Tests.pdf IMC_Ang_Act_Cal_Kakeru_Tests.pdf IMC_Ang_Act_Cal_Kakeru_Tests.pdf IMC_Ang_Act_Cal_Kakeru_Tests.pdf IMC_Ang_Act_Cal_Kakeru_Tests.pdf IMC_Ang_Act_Cal_Kakeru_Tests.pdf
  16128   Mon May 10 10:57:54 2021 Anchal, PacoSummaryCalibrationUsing ALS beatnote for calibration, test

Test details:

  • We locked both arms and opened the shutter for Yend green laser.
  • After toggling the shutter on.off, we got a TEM00 mode of green laser locked to YARM.
  • We then cleared the phase Y history by clicking "CLEAR PHASE Y HISTROY" on C1LSC_ALS.adl (opened from sitemap > ALS > ALS).
  • We sent excitation signal at ITMY_LSC_EXC using awggui at 43Hz, 77Hz and 57Hz.
  • We measured the power spectrum and coherence of C1:ALS-BEATY_FINE_PHASE_OUT_HZ_DQ and C1:SUS-ITMY_LSC_OUT_DQ.
  • The BEATY_FINE_PHASE_OUT_HZ is already calibrated in Hz. This we assume is done by multip[lying the VCO slope in Hz/cts to the error signal of the digital PLL loop that tracks the phase of beatnote.
  • We calibrated C1:SUS-ITMY_LSC_OUT_DQ by multiplying with
    \large 3 \times \frac{2.44 \, nm/cts}{f^2} \times \frac{c}{1064\,nm \times 37.79\, m} = \frac{54.77}{f^2} kHz/cts where f is in Hz.
    The 2.44/f2 nm/cts is taken from 13984.
  • We added the calibration as Poles/zeros option in diaggui using gain=54.577e3 and poles as "0, 0".
  • We found that ITMY_LSC_OUT_DQ calibration matches well at 57Hz but overshoots (80 vs 40) at 43 Hz and undershoots (50 vs 80) at 77Hz.

Conclusions:

  • If we had DRFPMI locked, we could have used the beatnote spectrum as independent measurement of arm lengths to calibrate the interferometer output.
  • We can also use the beatnote to confirm or correct the ITM actuator calibrations. Maybe shape is not exactly 1/f2 unless we did something wrong here or the PLL bandwidth is too short.
Attachment 1: BeatY_ITMY_CalibrationAt57Hz.pdf
BeatY_ITMY_CalibrationAt57Hz.pdf BeatY_ITMY_CalibrationAt57Hz.pdf
Attachment 2: BeatY_ITMY_CalibrationAt43Hz.pdf
BeatY_ITMY_CalibrationAt43Hz.pdf BeatY_ITMY_CalibrationAt43Hz.pdf
Attachment 3: BeatY_ITMY_CalibrationAt77Hz.pdf
BeatY_ITMY_CalibrationAt77Hz.pdf BeatY_ITMY_CalibrationAt77Hz.pdf
  16133   Wed May 12 11:45:13 2021 Anchal, PacoSummarySUSNew IMC Settings are miserable

We picked a few parameters from 40m summary page and plotted them to see the effect of new settings. On April 4th, old settings were present. On April 28th (16091), new input matrices and F2A filters were uploaded but suspension gains remained the same. On May 5th (16120), we uploaded new (higher) suspension gains. We chose Sundays on UTC so that it lies on weekends for us. Most probably nobody entered 40m and it was calmer in the institute as well.

  • On MC_F spectrum, we see that that noise decreased in 0.3-0.7 Hz but there is more noise from 1-1.5 Hz.
  • On MC_TRANS_QPD, we see that both TRANS PIT and YAW signals were almost twice as noisy.
  • On MC_REFL_DC too, we see that the noise during the locked state seems to be higher in the new configuration.

We can download data and plot comparisons ourselves and maybe calculate the spectrums of MC_TRANS_PIT/YAW and MC_REFL_DC when IMC was locked. But we want to know if anyone has better ways of characterizing the settings that we should know of before we get into this large data handling which might be time-consuming. From this preliminary 40m summary page plots, maybe it is already clear that we should go back to old settings. Awaiting orders.

 

Attachment 1: MC_F_Comparison.pdf
MC_F_Comparison.pdf
Attachment 2: MC_TRANS_QPD_Comparison.pdf
MC_TRANS_QPD_Comparison.pdf
Attachment 3: IMC_REFL_DC_Comparison.pdf
IMC_REFL_DC_Comparison.pdf
  16157   Mon May 24 19:14:15 2021 Anchal, PacoSummarySUSMC1 Free Swing Test set to trigger

We've set a free swing test to trigger at 3:30 am tomorrow for MC1. The script for tests is running on tmux session named 'freeSwingMC1' on rossa. The script will run for about 4.5 hrs and we'll correct the input matrix tomorrow from the results. If anyone wants to work during this time (3:30 am to 8:00 am), you can just kill the script by killing tmux session on rossa. ssh into rossa and type tmux kill-session -t freeSwingMC1.

Quote:
 

We should redo the MC1 input matrix optimization and the coil balancing afterward as we did everything based on the noisy UL OSEM values.

 

  16158   Mon May 24 20:55:00 2021 KojiSummaryBHDHow to align two OMCs on the BHD platform?

Differential misalignment of the OMCs

40m BHD will employ two OMCs on the BHD platform. We will have two SOSs for each of the LO and AS beams. The challenge here is that the input beam must optimally couple to the OMCs simultaneously. This is not easy as we won't have independent actuators for each OMC. e.g. The alignment of the LO beam can be optimally adjusted to the OMC1, but this, in general, does not mean the beam is optimally aligned to the OMC2.

Requirement

When a beam with the matched mode to an optical cavity has a misalignment, the power coupling C can be reduced from the unity as

C = 1 - \left(\frac{a}{\omega_0}\right)^2 - \left(\frac{\alpha}{\theta_0}\right)^2

where \omega_0 is the waist radius, \theta_0 is the divergence angle defined as \theta_0 \equiv \lambda/ \pi \omega, a and \alpha are the beam lateral translation and rotation at the waist position.

The waist size of the OMC is 500um. Therefore \omega_0 = 500um and \theta_0 = 0.68 mrad. If we require C to be better than 0.995 according to the design requirement document (T1900761). This corresponds to a (only) to be 35um and \alpha (only) to be 48urad. These numbers are quite tough to be realized without post-installation adjustment. Moreover, the OMCs themselves have individual differences in the beam axis. So no matter how we set the mechanical precision of the OMC installation, we will introduce a maximum of 1mm and ~5mrad uncertainty of the optical axis.

Adjustment

Suppose we adjust the incident beam to the OMC placed at the transmission side of the BHD BS. The reflected beam at the BS can be steered by picomotors. The distance from the BS to the OMC waist is 12.7" (322mm) according to the drawing.
So we can absorb the misalignment mode of (a, \alpha) = (0.322 \theta, \theta). This is a bit unfortunate. 0.322m is about 1/2 of the rayleigh range. Therefore, this actuation is still angle-dominated but a bit of translation is still coupled.

If we enable to use the third picomotor on the BHD BS mount, we can introduce the translation of the beam in the horiz direction. This is not too huge therefore we still want to prepare the method to align the OMC in the horiz direction.

The difficult problem is the vertical alignment. This requires the vertical displacement of the OMC. And we will not have the option to lower the OMC. Therefore if the OMC2 is too high, we have to raise the OMC1 so that the resulting beam is aligned to the OMC2. i.e. we need to maintain the method to raise both OMCs. (... or swap the OMCs). From the images of the OMC beam spots, we'll probably be able to analyze the intracavity axes of the OMCs. So we can always place the OMC with a higher optical axis at the transmission side of the BHD BS.

 

 

  16159   Tue May 25 10:22:16 2021 Anchal, PacoSummarySUSMC1 new input matrix calculated and uploaded

The test was succesful and brought back the IMC to lock point at the end.

We calculated new input matrix using same code in scripts/SUS/InMatCalc/sus_diagonalization.py . Attachment 1 shows the results.

The calculations are present in scripts/SUS/InMatCalc/MC1.


We uploaded the new MC1 input matrix at:

Unix Time = 1621963200

UTC May 25, 2021 17:20:00 UTC
Central May 25, 2021 12:20:00 CDT
Pacific May 25, 2021 10:20:00 PDT

GPS Time = 1305998418

This was done by running python scripts/SUS/general/20210525_NewMC1Settings/uploadNewConfigIMC.py on allegra. Old IMC settings (before Paco and I started workin on 40m) can be restored by running python scripts/SUS/general/20210525_NewMC1Settings/restoreOldConfigIMC.py on allegra.

Everything looks as stable as before. We'll look into long term trends in a week to see if this helped at all.

Attachment 1: SUS_Input_Matrix_Diagonalization.pdf
SUS_Input_Matrix_Diagonalization.pdf
  16161   Tue May 25 17:42:11 2021 Anchal, PacoSummaryALSALS Single Arm Noise Budget

Here is our first attempt at a single-arm noise budget for ALS.

Attachment 1 shows the loop diagram we used to calculate the contribution of different noises.

Attachment 2 shows the measured noise at C1:ALS-BEATX_PHASE_FINE_OUT_HZ when XARM was locked to the main laser and Xend Green laser was locked to XARM.

  • The brown curve shows the measured noise.
  • The black curve shows total estimated noise from various noise sources (some of these sources have not been plotted as their contribution falls off the plotting y-lims.)
  • The residual frequency noise of Xend green laser (AUX) is measured by measuring the PDH error monitor spectrum from C1:ALS-X_ERR_MON_OUT_DQ. This measurement was converted into units of V by multiplying it by 6.285e-4 V/cts. This factor was measured by sending a 43 Hz 100 mV sine wave at the readout point and measuring the output in the channel.
  • This error signal is referred to AUX_Freq input in the loop diagram (see attachment 1) and then injected from there.
  • All measurements were taken to Res_Disp port in the 'Out-of-Loop Beat Note' block (see attachment 1).
  • In this measurement, we did not DAC noise that gets added when ALS loop is closed.
  • We added ADC noise from Kiwamu's ALS paper after referring it to DFD input. DFD noise is also taken from Kiwamu's ALS paper data.

Inference:

  • Something is wrong above 200 Hz for the inclusion of AUX residual displacement noise. It is coming off as higher than the direct measured residual noise, so something is wrong with our loop diagram. But I'm not sure what.
  • There is a lot of unaccounted noise everywhere from 1 Hz to 200 Hz.
  • Rana said noise budget below 1 Hz is level 9 stuff while we are at level 2, so I'll just assume the excess noise below 1 Hz is level 9 stuff.
  • We did include seismic noise taken from 40m noise budget in 40m/pygwinc. But it seems to affect below the plotted ylims. I'm not sure if that is correct either.

Unrelated questions:

  • There is a slow servo feeding back to Green Laser's crystal temperature by integrating PZT out signal. This is OFF right now. Should we keep it on?
  • The green laser lock is very unreliable and it unlocks soon after any signal is being fed back to the ETMX position.
  • This means, keeping both IR and green light locked in XARM is hard and simultaneous oscillation does not last longer than 10s of seconds. Why is it like this?
  • We notice that multiple higher-order modes from the green laser reach the arm cavity. The HOMs are powerful enough that PDH locks to them as well and we toggle the shutter to come to TEM00 mode. These HOMs must be degrading the PDH error signal. Should we consider installing PMCs at end tables too?
Attachment 1: ALS_IR_b.svg
ALS_IR_b.svg
Attachment 2: ALS_Single_Arm_IR.pdf
ALS_Single_Arm_IR.pdf
  16164   Thu May 27 11:03:15 2021 Anchal, PacoSummaryALSALS Single Arm Noise Budget

Here's an updated X ARM ALS noise budget.

Things to remember:

  • Major mistake we were making earlier was that we were missing the step of clicking  'Set Phase UGF' before taking the measurement.
  • Click the clear phase history just before taking measure.
  • Make sure the IR beatnotes are less than 50 MHz (or the left half of HP8591E on water crate). The DFD is designed for this much beatnote frequency (from Gautum).
  • We took this measurement with old IMC settings.
  • We have saved a template file in users/Templates/ALS/ALS_outOfLoop_Ref_DQ.xml . This si same as ALS_outOfLoop_Ref.xml except we changed all channels to _DQ.

Conclusions:

  • Attachment 1 shows the updated noisebudget. The estimated and measured RMS noise are very close to eachother.
  • However, there is significant excess noise between 4 Hz and 200 Hz. We're still thinking on what could be the source of these.
  • From 200 Hz to about 3 kHz, the beatnote noise is dominated by AUX residual frequency noise. This can be verified with page 2 of Attachment 2 where coherence between AUX PDH Error signal and BEATX signal is high.
  • One mystery is how the measured beatnote noise is below the residual green laser noise above 3 kHz. Could this be just because the phase tracker can't measure noise above 3kHz?
  • We have used estimated open loop transfer function for AUX from poles/zeros for uPDH box used (this was done months ago by me when I was working on ALS noise budget from home). We should verify it with a fresh OLTF measurement of AUX PDH loop. That's next on our list.
Attachment 1: ALS_Single_X_Arm_IR.pdf
ALS_Single_X_Arm_IR.pdf
Attachment 2: ALS_OOL_with_Ref.pdf
ALS_OOL_with_Ref.pdf ALS_OOL_with_Ref.pdf ALS_OOL_with_Ref.pdf ALS_OOL_with_Ref.pdf
  16168   Fri May 28 17:32:48 2021 AnchalSummaryALSSingle Arm Actuation Calibration with IR ALS Beat

I attempted a single arm actuation calibration using IR beatnote (in the directions of soCal idea for DARM calibration)


Measurement and Inferences:

  • I sent 4 excitation signals at C1:SUS-ITM_LSC_EXC wit 30cts at 31Hz, 200cts at 197Hz, 600cts at 619Hz and 1000cts at 1069 Hz.
  • These were sent simultaneously using compose function in python awg.
  • The XARM was locked to mai laser and alignment was optimized with ASS.
  • The Xend Green laser was locked to XARM and alignment was optimized.
    • Sidenote: GTRX is now normalized to give 1 at near maximum power.
    • Green lasers can be locked with script instead of toggling.
    • Script can be called from sitemap->ALS->! Toggle Shutters->Lock X Green
    • Script is present at scripts/ALS/lockGreen.py.
  • C1:ALS-BEATX_FINE_PHASE_OUT_HZ_DQ was measured for 60s.
  • Also, measured C1:LSC-XARM_OUT_DQ and C1:SUS-ITMX_LSC_OUT_DQ.
  • Attachment 1 shows the measured beatnote spectrum with excitations on in units of m/rtHz.
  • It also shows resdiual displacement contribution PSD of (output referred) XARM_OUT and ITMX_LSC_OUT to the same point in the state space model.
    • Note: that XARM_OUT and ITMX_LSC_OUT (excitation signal) get coherently added in reality and hence the beatnote spectrum at each excitation frequency is lower than both of them.
    • The remaining task is to figure out how to calculate the calibration constant for ITMX actuation from this information.
    • I need more time to understand the mixture of XARM_OUT and ITMX_LSC_OUT in the XARM length node in control loop.
    • Beatnote signal tells us the actual motion of the arm length, not how much ITMX would have actuated if the arm was not locked.
  • Attachment 2 has the A,B,C,D matrices for the full state space model used. These were fed to python controls package to get transfer functions from one point to another in this MIMO.
    • Note, that here I used the calibration of XARM_OUT we measured earlies in 16127.
    • On second thought, maybe I should first send excitation in ETMX_LSC_EXC. Then, I can just measure ETMX_LSC_OUT which includes XARM_OUT due to the lock and use that to get calibration of ETMX actuation directly.

Attachment 1: SingleArmActCalwithIRALSBeat.pdf
SingleArmActCalwithIRALSBeat.pdf
Attachment 2: stateSpaceModel.zip
  16171   Tue Jun 1 16:55:32 2021 Anchal, PacoSummaryALSSingle Arm Actuation Calibration with IR ALS Beat

Rana suggested in today's meeting to put in a notch filter in the XARM IR PDH loop to avoid suppressing the excitation line. We tried this today first with just one notch at 1069 Hz and then with an additional notch at 619 Hz and sent two simultaneous excitations.


Measurement and Analysis:

  • We added notch filters with Q=10, depth=50dB, freq=619 Hz and 1069 Hz using foton in SUS-ETMX_LSC filter bank at FM10.
  • We sent excitation signals with amplitudes 600cts and 1000 cts for 619 Hz and 1069 Hz signals respectively.
  • We measured time series data of C1:SUS-ITMX_LSC_OUT_DQ and C1:ALS-BEATX_FINE_PHASE_OUT_HZ_DQ for 60s.
  • Then, spectrum of both signals is measured with Hanning window using scipy.welch function with scaling set to  'spectrum', binwidth=1Hz.
  • The beatnote signal was converted into length units by multiplying it by 1064nm * 37.79m / c.
  • The ratio of the two spectrums at teh excitation frequency multiplies by excitation frequency squared gives us teh calibration constant in units of nm Hz^2/cts.
  • At 619 Hz, we got \frac{5.01}{f^2}nm/cts
  • At 1069 Hz, we got \frac{5.64}{f^2}nm/cts.
  • The calibration factor in use is from \frac{7.32}{f^2} nm/cts from 13984.
  • So, the calibration factor from this methos is about 23% smaller than measured using freeswinging MICH in 13984.
  • One possiblity is that our notch filter is not as effective in avoiding suppresion of excitation.
    • We tried increasing the notch filter depths to 100 dB but got the same result within 2%.
    • We tried changing the position of notch filters. We put them in POX filter banks. Again the result did not change more than 2%.
  • The open loop gain of green PDH at 619 Hz and 1069 Hz must be large enough for our assumption of green laser perfectly following length motion to be true. The UGF of green laser is near 11 kHz.
  • The discrepancy could be due to outdated freeswinging MICH measurement that was done 3 years ago. Maybe we should learn how to do the ITMX calibration using this method and compare our own two measurements.
Attachment 1: SingleArmActCalwithIRALSBeat-1306624785.pdf
SingleArmActCalwithIRALSBeat-1306624785.pdf
  16174   Wed Jun 2 09:43:30 2021 Anchal, PacoSummarySUSIMC Settings characterization

Plot description:

  • We picked up three 10 min times belonging to the three different configurations:
    • 'Old Settings': IMC Suspension settings before Paco and I changed anything. Data taken from Apr 26, 2021, 00:30:42 PDT (GPS 1303457460).
    • 'New Settings': New input matrices uploaded on April 28th, along with F2A filters and AC coil balancing gains (see 16091). Data taken from May 01, 2021, 00:30:42 PDT (GPS 1303889460).
    • 'New settings with new gains' Above and new suspension damping gains uploaded on May5th, 2021 (see 16120). Data taken from May 07, 2021, 03:10:42 PDT (GPS 1304417460).
  • Attachment 1  shows the RMS seismic noise along X direction between 1 Hz and 3 Hz picked from C1:PEM-RMS_BS_X_1_3 during the three time durations chosen. This plot is to establish that RMS noise levels were similar and mostly constant. Page 2 shows the mean ampltidue spectral density of seismic noise in x-direction over the 3 durations.
  • Attachment 2 shows the transfer function estimate of seismic noise to MC_F during the three durations. Page 1 shows ratio of ASDs taken with median averaging while page 2 shows the same for mean averaging.
  • Attachment 3 shows the transfer function estimate of seismic noise to MC_TRANS_PIT during the three durations. Page 1 shows ratio of ASDs taken with median averaging while page 2 shows the same for mean averaging.
  • Attachment 4 shows the transfer function estimate of seismic noise to MC_TRANS_YAW during the three durations. Page 1 shows ratio of ASDs taken with median averaging while page 2 shows the same for mean averaging.

Inferences:

  • From Attachment 2 Page 1:
    • We see that 'old settings' caused the least coupling of seismic noise to MC_F signal in most of the low frequency band except between 1.5 to 3 Hz where the 'new settings' were slightly better.
    • 'new settings' also show less coupling in 4 Hz to 6 Hz band, but at these frequencies, seismix noise is filtered out by suspension, so this could be just coincidental and is not really a sign of better configuration.
    • There is excess noise coupling seen with 'new settings' between 0.4 Hz and 1.5 Hz. We're not sure why this coupling increased.
    • 'new settings with new gains' show the most coupling in most of the frequency band. Clearly, the increased suspension damping gains did not behaved well with rest of the system.
  • From Attachment 3 Page 1:
    • Coupling to MC_TRANS_PIT error signal is reduced for 'new settings' in almost all of the frequency band in comparison to the 'old settings'.
    • 'new settings with new gains' did even better below 1 Hz but had excess noise in 1 Hz to 6 Hz band. Again increased suspension damping gains did not help much.
    • But low coupling to PIT error for 'new settings' suggest that our decoupling efforts in matrix diagonalization, F2A filters and ac coil balancing worked to some extent.
  • From Attachment 4 Page 1:
    • 'new settings' and 'old settings' have the same coupling of seismic noise to MC_TRANS_YAW in all of the frequency band. This is in-line witht eh fact that we found very little POS to YAW couping in our analysis before and there was little to no change for these settings.
    • 'new settings with new gains' did better below 1 Hz but here too there was excess coupling between 1 Hz to 9 Hz.
  • Page 1 vs Page 2:
    • Mean and median should be same if the data sample was large enough and noise was stationary. A difference between the two suggests existence of outliers in the data set and median provides a better central estimate in such case.
    • MC_F: Mean and median are same below 4 hz. There are high frequency outliers above 4 Hz in 'new settings with new gains' and 'old settings' data sets, maybe due to transient higher free running laser frequency noise. But since, suspension settigns affect below 1 Hz mostly, the data sets chosen are stationary enough for us.
    • MC_TRANS_PIT: Mean ratio is lower for 'new settings' and 'old settings' in 0.3 hz to 0.8 Hz band. Same case above 4 Hz as listed above.
    • MC_TRANS_YAW:  Same as above.
  • Conclusion 1:  The 'new settings with new gains' cause more coupling to seismic noise, probably due to low phase margin in control loops. We should revert back the suspension damping gains.
  • Conclusion 2: The 'new settings' work as expected and can be kept when WFS loops are optimized further.
  • Conjecture: From our experience over last 2 weeks, locking the arms to the main laser with 'new settings with new gains' introduces noise in the arm length large enough that the Xend green laser does not remain locked to the arm for longer than tens of seconds. So this is definitely not a configuration in which we can carry out other measurements and experiments in the interferometer.
Attachment 1: seismicX.pdf
seismicX.pdf seismicX.pdf
Attachment 2: seismicXtoMC_F_TFest.pdf
seismicXtoMC_F_TFest.pdf seismicXtoMC_F_TFest.pdf
Attachment 3: seismicXtoMC_TRANS_PIT_TFest.pdf
seismicXtoMC_TRANS_PIT_TFest.pdf seismicXtoMC_TRANS_PIT_TFest.pdf
Attachment 4: seismicXtoMC_TRANS_YAW_TFest.pdf
seismicXtoMC_TRANS_YAW_TFest.pdf seismicXtoMC_TRANS_YAW_TFest.pdf
  16175   Wed Jun 2 16:20:59 2021 Anchal, PacoSummarySUSIMC Suspension gains reverted to old values

Following the conclusion, we are reverting the suspension gains to old values, i.e.

IMC Suspension Gains
  MC1 MC2 MC3
SUSPOS 120 150 200
SUSPIT 60 10 12
SUSYAW 60 10 8

While the F2A filters, AC coil gains and input matrices are changed to as mentioned in 16066 and 16072.

The changes can be reverted all the way back to old settings (before Paco and I changed anything in the IMC suspensions) by running python scripts/SUS/general/20210602_NewIMCOldGains/restoreOldConfigIMC.py on allegra. The new settings can be uploaded back by running python scripts/SUS/general/20210602_NewIMCOldGains/uploadNewConfigIMC.py on allegra.


Change time:

Unix Time = 1622676038

UTC Jun 02, 2021 23:20:38 UTC
Central Jun 02, 2021 18:20:38 CDT
Pacific Jun 02, 2021 16:20:38 PDT

GPS Time = 1306711256

Quote:
 
  • Conclusion 1:  The 'new settings with new gains' cause more coupling to seismic noise, probably due to low phase margin in control loops. We should revert back the suspension damping gains.
  • Conclusion 2: The 'new settings' work as expected and can be kept when WFS loops are optimized further.
  • Conjecture: From our experience over last 2 weeks, locking the arms to the main laser with 'new settings with new gains' introduces noise in the arm length large enough that the Xend green laser does not remain locked to the arm for longer than tens of seconds. So this is definitely not a configuration in which we can carry out other measurements and experiments in the interferometer.

 

  16179   Thu Jun 3 17:35:31 2021 AnchalSummaryIMCFixed medm button

I fixed the PSL shutter button on Shutters summary page C1IOO_Mech_Shutter.adl. Now PSL switch changes C1:PSL-PSL_ShutterRqst channel. Earlier it was C1:AUX-PSL_ShutterRqst which doesn't do anything.

 

Attachment 1: C1IOO_Mech_Shutters.png
C1IOO_Mech_Shutters.png
  16190   Mon Jun 7 15:37:01 2021 Anchal, Paco, YehonathanSummaryCamerasMon 7 in Control Room Died

We found Mon7 in control room dead today afternoon. It's front power on green light is not lighting up. All other monitors are working as normal.

This monitor was used for looking at IMC camera analog feed. It is one of the most important monitors for us, so we should replace it with a different monitor.

Yehonathan and Paco disconnected the monitor and brought it down. We put it under the back table if anyone wants to fix it. Paco has ordered a BNC to VGA/HDMI converter to put in any normal monitor up there. It will happen this Wednesday. Meanwhile, I have changed the MON4 assignment from POP to Quad2 to be used for IMC.

  16192   Tue Jun 8 11:40:53 2021 Anchal, PacoSummaryALSSingle Arm Actuation Calibration with IR ALS Beat

We attempted to simulate "oscillator based realtime calibration noise monitoring" in offline analysis with python. This helped us in finding about a factor of sqrt(2) that we were missing earlier in 16171. we measured C1:ALS-BEATX_FINE_PHASE_OUT_HZ_DQ when X-ARM was locked to main laser and Xend green laser was locked to XARM. An excitation signal of amplitude 600 was setn at 619 hz at C1:ITMX_LSC_EXC.

Signal analysis flow:

  • The C1:ALS-BEATX_FINE_PHASE_OUT_HZ_DQ is calibrated to give value of beatntoe frequency in Hz. But we are interested in the fluctuations of this value at the excitation frequency. So the beatnote signal is first high passed with 50 hz cut-off. This value can be reduced a lot more in realtime system. We only took 60s of data and had to remove first 2 seconds for removing transients so we didn't reduce this cut-off further.
  • The I and Q demodulated beatntoe signal is combined to get a complex beatnote signal amplitude at excitation frequency.
  • This signal is divided by cts amplitude of excitation and multiplied by square of excitation frequency to get calibration factor for ITMX in units of nm/cts/Hz^2.
  • The noise spectrum of absolute value of  the calibration factor is plotted in attachment 1, along with its RMS. The calibration factor was detrended linearly so the the DC value was removed before taking the spectrum.
  • So Attachment 1 is the spectrum of noise in calibration factor when measured with this method. The shaded region is 15.865% - 84.135% percentile region around the solid median curves.

We got a value of \frac{7.3 \pm 3.9}{f^2}\, \frac{nm}{cts}.  The calibration factor in use is from \frac{7.32}{f^2} nm/cts from 13984.

Next steps could be to budget this noise while we setup some way of having this calibration factor generated in realitime using oscillators on a FE model. Calibrating actuation of a single optic in a single arm is easy, so this is a good test setup for getting a noise budget of this calibration method.

Attachment 1: ITMX_Cal_Noise_Spectrum_1307143423.pdf
ITMX_Cal_Noise_Spectrum_1307143423.pdf
  16194   Wed Jun 9 11:46:01 2021 Anchal, PacoSummaryAUXXend Green Laser PDH OLTF measurement

We measured the Xend green laser PDH Open loop transfer function by following method:

  • We first measured the feedback transfer function 'K' directly.
    • See attachment 2 for this measurement. We measured Out2/exc here.
  • Then, we closed the loop as shown in attachment 1with SR560 as a summing juntion at error point.
    • We injected excitation through B channel in SR560 and measured transfer function Out1/Out2.
    • This measurement should give us G_{OL} / K by loop alegbra.
  • Then we multiplied the two transfer function measurements to get open loop transfer function.

Result:

  • Our measurement gives the same UGF of 10kHz and phase margin of 53.5 degrees as reported in 13238.
  • The shape of measurement also follows 1/f above 10 Hz atleast.
  • Our measurement might not be correct below 10 Hz but we did not see any saturation or loss of lock in 1Hz to 10 Hz measurement.
  • This OLTF is different from the modelled OLTF here even though the UGF matches.
  • The feedback gain is supposed to roll-off faster than 1/f in 30Hz to 1kHz region but it does not seem to in our measurement.
  • This suggests that the actual uPDH box is shaping the loop different from what schematic suggests. This might mean that the gain is much lower in the low frequency region than we would like it to be.
  • We will investigate the reason of difference between model and measurement unless someone has a better explaination for the descripancy.
Attachment 1: image-6f2923a3-01ce-4d04-bc53-d8db0238e195.jpg
image-6f2923a3-01ce-4d04-bc53-d8db0238e195.jpg
Attachment 2: image-72223f4b-3b74-4574-a7ad-de6628a2c5e9.jpg
image-72223f4b-3b74-4574-a7ad-de6628a2c5e9.jpg
Attachment 3: X_Green_ARM_PDH_OLTF.pdf
X_Green_ARM_PDH_OLTF.pdf
  16196   Wed Jun 9 18:29:13 2021 Anchal, PacoSummaryALSCheck for saturation in ITMX SOS Driver

We did a quick check to make sure there is no saturation in the C1:SUS-ITMX_LSC_EXC analog path. For this, we looked at the SOS driver output monitors from the 1X4 chassis near MC2 on a scope. We found that even with 600 x 10 = 6000 counts of our 619 Hz excitation these outputs in particular are not saturating (highest mon signal was UL coil with 5.2 Vpp). In comparison, the calibration trials we have done before had 600 counts of amplitude, so we can safely increase our oscillator strength by that much yes


Things that remain to be investigated -->

  • What is the actual saturation level?
  • Two-tone intermodulation?
  16197   Thu Jun 10 14:01:36 2021 AnchalSummaryAUXXend Green Laser PDH OLTF measurement loop algebra

Attachment 1 shows the closed loop of Xend Green laser Arm PDH lock loop. Free running laser noise gets injected at laser head after the PZT actuation as \eta. The PDH error signal at output of miser is fed to a gain 1 SR560 used as summing junction here. Used in 'A-B mode', the B port is used for sending in excitation \nu_e e^{st} where s = i\omega.

We have access to three ports for measurement, marked \alpha at output of mixer, \beta at output of SR560, and \gamma at PZT out monitor port in uPDH box. From loop algebra, we get following:

\large \left[ (\alpha - \nu_e) K(s)A(s) + \eta \right ]C(s)D(s) = \alpha

\large \Rightarrow (\alpha - \nu_e) G_{OL}(s) + \eta C(s)D(s) = \alpha, where \large G_{OL}(s) = C(s) D(s) K(s) A(s) is the open loop transfer function of the loop.

\large \Rightarrow \alpha = \eta \frac{C(s) D(s)}{1 - G_{OL}(s)} \quad -\quad \nu_e\frac{G_{OL}(s)}{1 - G_{OL}(s)}

\large \Rightarrow \beta = \eta \frac{C(s) D(s)}{1 - G_{OL}(s)} \quad -\quad \nu_e\frac{1}{1 - G_{OL}(s)}

\large \Rightarrow \gamma = \eta \frac{1}{K(s)} \frac{G_{OL}(s)}{1 - G_{OL}(s)} \quad -\quad \nu_e\frac{K(s)}{1 - G_{OL}(s)}

So measurement of \large G_{OL}(s) can be done in following two ways (not a complete set):

  1. \large G_{OL}(s) \approx \frac{\alpha}{\beta} = \frac{G_{OL}(s) - \frac{\eta C(s)D(s)}{\nu_e}}{1 - \frac{\eta C(s)D(s)}{\nu_e}}, if excitation amplitude is large enough such that \large \frac{\eta C(s)D(s)}{\nu_e} \ll 1over all frequencies.
    • In this method however, note that SR785 would be taking ratio of unsuppresed excitation at \large \alpha with suppressed excitation at \large \beta.
    • If the closed loop gain (suppression) \large 1/(1 - G_{OL}(s))is too much, the excitation signal might drop below noise floor of SR785 while measuring \large \beta.
    • This would then appear as a flat response in the transfer function.
    • This happened with us when we tried to measure this transfer function using this method. Below few hundered Hz, the measurement will become flat at around 40 dB.
    • Increasing the excitation amplitude where suppression is large should ideally work. We even tried to use Auto level reference option in SR785.
    • But the PDH loop gets unlocked as soon as we put exciation above 35 mV at this point in this loop.
  2. \large \frac{G_{OL}(s)}{K(s)} \approx \frac{\alpha}{\gamma} = \frac{G_{OL}(s) - \frac{\eta C(s)D(s)}{\nu_e}}{K(s)\left(1 - \frac{\eta C(s)D(s)}{\nu_e}\right )}, if excitation amplitude is large enough such that \large \frac{\eta C(s)D(s)}{\nu_e} \ll 1over all frequencies.
    • In this method, channel 1 (denominator) on SR785 would remain high in amplitude throughout the measurement avoiding the above issue of suppression below noise floor.
    • We can easily measure the feedback transfer funciton \large K(s) with the loop open. Then multiplying the two measurements should give us estimate of open loop transfer function.
    • This is waht we did in 16194. But we still could not increase the excitation amplitude beyond 35 mV at injection point and got a noisy measurement.
    • We checked yesterday coherence of excitation signal with the three measurment points \large \alpha, \beta, \gamma and it was 1 throughout the frequency region of measurement for excitation amplitudes above 20 mV.
    • So as of now, we are not sure why our signal to noise was so poor in lower frequency measurement.
Attachment 1: AUX_PDH_LOOP.pdf
AUX_PDH_LOOP.pdf
  16198   Fri Jun 11 20:19:50 2021 KojiSummaryBHDBHD OMC invacuum wiring

Stephen and I discussed the in-vacuum OMC wiring.

- One of the OMCs has already been completed. (Blue)
- The other OMC is still being built. It means that these cables need to be built. (Pink)
- However, the cables for the former OMC should also be replaced because the cable harness needs to be replaced from the metal one to the PEEK one.
- The replacement of the harness can be done by releasing the Glenair Mighty Mouse connectors from the harness. (This probably requires a special tool)
- The link to the harness photo is here: https://photos.app.goo.gl/3XsUKaDePbxbmWdY7

- We want to combine the signals for the two OMCs into three DB25s. (Green)
- These cables are custom and need to be designed.

- The three standard aLIGO-style cables are going to be used. (Yellow)

- The cable stand here should be the aLIGO style.

Attachment 1: 40mBHD_OMC_wiring.pdf
40mBHD_OMC_wiring.pdf
  16202   Tue Jun 15 15:26:43 2021 Anchal, PacoSummaryAUXXend Green Laser PDH OLTF measurement loop algebra, excitation at control point

Attachment 1 shows the case when excitation is sent at control point i.e. the PZT output. As before, free running laser noise \eta in units of Hz/rtHz is added after the actuator and I've also shown shot noise being added just before the detector.

Again, we have a access to three output points for measurement. \alpha right at the output of mixer (the PDH error signal), \beta the feedback signal to be applied by uPDH box (PZT Mon) and \gamma the output of the summing box SR560.

Doing loop algebra as before, we get:

\large \alpha = \frac{\eta}{K(s) A(s)} \frac{G_{OL}(s)}{1 - G_{OL}(s)} + \frac{\chi}{C(s) K(s) A(s)} \frac{G_{OL}(s)}{1 - G_{OL}(s)} - \frac{\nu_e}{K(s) } \frac{G_{OL}(s)}{1 - G_{OL}(s)}

\large \beta = \frac{\eta}{A(s)} \frac{G_{OL}(s)}{1 - G_{OL}(s)} + \frac{\chi}{C(s) A(s)} \frac{G_{OL}(s)}{1 - G_{OL}(s)} - \nu_e \frac{G_{OL}(s)}{1 - G_{OL}(s)}

\large \gamma= \frac{\eta}{A(s)} \frac{G_{OL}(s)}{1 - G_{OL}(s)} + \frac{\chi}{C(s) A(s)} \frac{G_{OL}(s)}{1 - G_{OL}(s)} - \nu_e \frac{1}{1 - G_{OL}(s)}

So measurement of \large G_{OL}(s) can be done by

\large G_{OL}(s) \approx \frac{\beta}{\gamma}

  • For frequencies, where \large G_{OL}(s) is large enough, to have an SNR of 100, we need that ratio of \large \nu_e to integrated noise is 100.
  • Assuming you are averaging for 'm' number of cycles in your swept sine measurement, time of integration for the noise signal would be \large \frac{m}{f}where f is the frequency point of the seeping sine wave.
    • This means, the amplitude of integrated laser frequency noise at either \large \beta or \large \gamma would be \large \sqrt{\left(\frac{\eta(f)}{A(f)}\right)^2\frac{f}{m}} = \frac{\eta(f) \sqrt{f}}{A(f)\sqrt{m}}
    • Therefore, signal to laser free running noise ratio at f would be \large S = \frac{\nu_eA(f)\sqrt{m}}{\eta(f) \sqrt{f}}.
    • This means to keep a constant SNR of S, we need to shape the excitation amplitude as \large \nu_e \sim S \frac{\eta(f) \sqrt{f}}{A(f)\sqrt{m}}
    • Putting in numbers for X end Green PDH loop, laser free-running frequency noise ASD is 1e4/f Hz/rtHz, laser PZT actuation is 1MHz/V, then for 10 integration cycles and SNR of 100, we get: \large \nu_e \sim 100 \times \frac{10^4 \sqrt{f}}{f \times10^6 \sqrt{10}} = \frac{30\, mV}{\sqrt{f}}
  • Assuming you are averaging for a constant time \large \tau in swept sine measurement, then the amplitude of integrated laser free noise would be \large \sqrt{\left(\frac{\eta(f)}{A(f)}\right)^2 \frac{1}{\tau}} = \frac{\eta(f) }{A(f)\sqrt{\tau}}
    • In this case, signal to laser free-running noise ratio at f would be \large S = \frac{\nu_eA(f)\sqrt{\tau}}{\eta(f)}
    • This means to keep a constant SNR of S, we need to shape the excitation amplitude as \large \nu_e \sim S\frac{\eta(f)}{A(f)\sqrt{\tau}}
    • Again putting in numbers as above and integration time of 1s, we need an excitation amplitude shape \large \nu_e \sim 100 \times \frac{10^4 }{f \times10^6 \sqrt{1}} = \frac{1\, V}{f}

This means at 100 Hz, with 10 integration cycles, we should have needed only 3 mV of excitation signal to get an SNR of 100. However, we have been unable to get good measurements with even 25 mV of excitation. We tried increasing the cycles, that did not work either.

This post is to summarize this analysis. We need more tests to get any conclusions.

Attachment 1: AuxPDHloop.pdf
AuxPDHloop.pdf
  16204   Wed Jun 16 13:20:19 2021 Anchal, PacoSummaryCamerasMon 7 in Control Room Replaced

We replaced the Mon 7 with an LCD monitor from back bench. It is fed the analog signal from BNC converted into VGS with a converter box that Paco bought. We can replace this monitor with another monitor if it is required on the back bench. For now, we definitely need a monitor to show IMC camera's up there.

Attachment 1: IMG_20210616_083810.jpg
IMG_20210616_083810.jpg
  16213   Fri Jun 18 10:07:23 2021 Anchal, PacoSummaryAUXXend Green Laser PDH OLTF with coherence

We did the measurement of OLTF for Xend green laser PDH loop with excitation added at control point using a SR560 as shown in attachment 1 of 16202. We also measured coherence in our measurement, see attachment 1.


Measurement details:

  • We took the \beta/\gamma measurement as per 16202.
  • We did measurement in two pieces. First in High frequency region, from 1 kHz to 100 kHz.
    • In this setup, the excitation amplitude was kept constant to 5 mV.
    • In this region, the OLTF is small enough that signal to noise ratio is maintained in \gamma (SR560 sum output, measured on CH1). The coherence can be seen to be constant 1 throughout for CH1 in this region.
    • But for \beta (PZT Mon, measured on CH2), the low OLTF actually starts damping both signal and noise and to elevate it above SR785 noise floor, we had a high pass (z:0Hz, p:100kHz, k:1000) SR560 amplifying \beta before measurement (see attachment 2). This amplification has been corrected in Attachment 1. This allowed us to improve the coherence on CH2 to above 0.5 mostly.
  • Second region is from 3 Hz to 1 kHz.
    • In this setup, the excitation was shaped with a low pass (p: 1Hz, k:5) SR560 filter with SR785 source amplitude as 1V.
    • We took 40 averaging cycles in this measurement to improve the coherence further.
    • In this freqeuency region, \beta is mostly coherent as we shaped the excitation as 1/f and due to constant cycle number averaging, the integrated noise goes as 1/\sqrt{f}(see 16202 for math).
    • We still lost coherence in \gamma (CH1) for frequencyes below 100 Hz. the reason is that the excitation is suppressed by OLTF while the noise is not for this channel. So the 1/f shaping of excitation only helps fight against the suppression of OLTF somewhat and not against the noise.
      \gamma = \left( \frac{\eta}{A(s)} - \frac{\nu_e}{G_{OL}(s)} + \frac{\chi}{A(s) C(s)} \right)\frac{G_{OL}(s)}{1-G_{OL}(s)}
    • We need 1/f^2 shaping for this purpose but we were loosing lock with that shaping so we shifted back to 1/f shaping and captured whatever we could.
    • It is clear that the noise takes over below 100 Hz and coherence in CH1 is lost there.

Inferences:

  • Yes, the OLTF does not look how it should look but:
  • The green region in attachment 1 shows the data points where coherence on both CH1 and CH2 was higher than 0.75.  So the saturation measured below 1 kHz, particularly in 100 Hz to 500 Hz (where coherence on both channels is almost 1) is real.
  • This brings the question, what is saturating. As has been suggested before, our excitation signal is probably saturating some internal stage in the uPDH box. We need to investigate this next.
    • It is however very non-intuitive to why this saturation is so non-uniform (zig-zaggy) in both magnitude and phase.
    • In past experiences, whenever I saw somehting saturating, it would cause a flat top response in transfer function.
  • Another interesting thing to note is the reduced UGF in this measurement.
  • UGF is about 40-45 kHz. This we believe is due to reduced mode matching of the green light to the XARM when temperature of the end increases too much. We took the measurement at 6 pm and Koji posted the Xend's temperature to be 30 C at 7 pm in 16206. It certainly becomes harder to lock at hot temperatures, probably due to reduced phase margin and loop gain.
Attachment 1: XEND_PDH_OLTF_with_Coherence.pdf
XEND_PDH_OLTF_with_Coherence.pdf
Attachment 2: Beta_Amp.pdf
Beta_Amp.pdf
  16214   Fri Jun 18 14:53:37 2021 AnchalSummaryPEMTemperature sensor network proposal

I propose we set up a temperature sensor network as described in attachment 1.

Here there are two types of units:

  • BASE-GATEWAY
    • Holds the processor to talk to the network through Modbus TCP/IP protocol.
    • This unit itself has a temperature sensor in it. It is powered by a power adaptor or PoE from the switch.
    • Each base unit can have at max 2 extended temperature probes ENV-TEMP.
  • ENV-TEMP
    • This is just a temperature probe with no other capabilities.
    • It is powered via PoE from the BASE-GATEWAY unit.

Proposal is

  • to put 2 ENV-TEMP sensors (#1 and #2) along the Y-arm at the end and midway. These are powered and read through a BASE-GATEWAY (#A) at the vertex. The BASE-GATEWAY (#A) will serve as temperature sensor for the vertex.
  • We put one ENV-TEMP(#3) at the X-end powered and read through by another BASE-GATEWAY (#B) at the midpoint of X-arm.
  • Both BASE-GATEWAY are connected by ethernet cables to the network switch. That's it.

These sensors can be configured over network by going to their assigned IP addresses. I'm not sure at the moment how to configure the dB files to get them to write on slow EPICS channels.

We will have an unused port on the BASE-GATEWAY (#B) which can be used to run another temperature sensor, maybe at an important rack, PSL table or somewhere else.

In future, if more sensors are required, there are expansion (network switch like) options for BASE-GATEWAY or daisy-chain options for the probes.



Edit Fri Jun 18 16:28:13 2021 :

See this [wiki page](https://wiki-40m.ligo.caltech.edu/Physical_Environment_Monitoring/Thermometers) for updated plan and final quote.

Attachment 1: 40mTempSensors.pdf
40mTempSensors.pdf
  16228   Tue Jun 29 17:42:06 2021 Anchal, Paco, GautamSummaryLSCMICH locking tutorial with Gautam

Today we went through LSC locking mechanics with Gautam and as a "Hello World" example, worked on locking michelson cavity.


MICH settings changed:

  • Gautam at some point added 9 dB attenuation filters in MICH filter module in LSC to match the 9 dB pre-amplifier before digitization.
  • This required changing teh trigger thresholds, C1:LSC-MICH_TRIG_THRESH_ON and C1:LSC-MICH_TRIG_THRESH_OFF.
  • We looked at C1:LSC-AS55_Q_ERR_DQ and C1:LSC-ASDC_OUT_DQ on ndscope.
  • The zero crossings in AS55_Q correspond to ASDC going to zero. We found the threshold values of ASDC by finding the linear region in zero crossing of AS55_Q.
  • We changed the thresold values to UP: -0.3mW and DOWN -0.05mW. The thresholds were also changed in C1LSC_FM_TRIG.
  • We also set FM2,3,6 and 8 to be triggered on threshold.

We characterized the loop OLTF, found the UGF to be 90 Hz and measured the noise at error and control points.

gautam: one aim of this work was to demonstrate that the "Lock Michelson (dark)" script call from the IFOconfigure screen worked - it did, reliably, after the setting changes mentioned above.

  16231   Wed Jun 30 15:31:35 2021 AnchalSummaryOptical LeversCentered optical levers on ITMY, BS, PRM and ETMY

When both arms were locked, we found that ITMY optical lever was very off-center. This seems to have happened after the c1susaux rebooting we did in June 17th. I opened the ITMY table and realigned the OPLev beam to the center when the arm was locked. I repeated this process for BS, PRM and ETMY. I did PRM because I've known that we have been keeping its OpLev off. The reason was clear once I opened the table. The oplev reflection beam was hitting the PD box instead of the PD. After correcting, I was able to swithc on PRM opLev loops and saw normal functioning.

  16232   Wed Jun 30 18:44:11 2021 AnchalSummaryLSCTried fixing ETMY QPD

I worked in Yend station, trying to get the ETMY QPD to work properly. When I started, only one (quadrant #3) of the 4 quadrants were seeing any lights. By just changing the beam splitter that reflects some light off to the QPD, I was able to get some amount of light in quadrant #2. However, no amount of steering would show any light in any other quadrants.

The only reason I could think of is that the incoming beam gets partially clipped as it seems to be hitting the beam splitter near the top edge. So for this to work properly, a mirror upstream needs to be adjusted which would change the alignment of TRX photodiode. Without the light on TRX photodiode, there is no lock and there is no light. So one can't steer this beam without lossing lock.

I tried one trick, in which, I changed the YARM lock trigger to POY DC signal. I got it to work to get the lock going even when TRY was covered by a beam finder card. However, this lock was still bit finicky and would loose lock very frequently. It didn't seem worth it to potentially break the YARM locking system for ETMY QPD before running this by anyone and this late in evening. So I reset everything to how it was (except the beam splitter that reflects light to EMTY QPD. That now has equal ligth falling on quadrant #2 and #3.

The settings I temporarily changed were:

  • C1:LSC-TRIG_MTRX_7_10 changed from 0 to -1 (uses POY DC as trigger)
  • C1:LSC-TRIG_MTRX_7_13 changed from 1 to 0 (stops using TRY DC as trigger)
  • C1:LSC-YARM_TRIG_THRESH_ON changed from 0.3 to -22
  • C1:LSC-YARM_TRIG_THRESH_OFF changed from 0.1 to -23.6
  • C1:LSC-YARM_FM_TRIG_THRESH_ON changed from 0.5 to -22
  • C1:LSC-YARM_FM_TRIG_THRESH_OFF changed from 0.1 to -23.6

All these were reverted back to there previous values manually at the end.

 

  16233   Thu Jul 1 10:34:51 2021 Paco, AnchalSummaryLSCETMY QPD fixed

Paco worked on alignign the beam splitter to get light on the ETMY QPD and was successful in centering it without any other changes in the settings.

  16236   Thu Jul 1 16:55:21 2021 AnchalSummaryOptical LeversFixed Centeringoptical levers PRM

This was a mistake. When arms are locked, PRM is misaligned by setting -800 offset in PIT dof of PRM. The oplev is set to function in normal state not this misalgined configuration. I undid my changes today by switching off the offset, realigning the oplev to center and then restoring the single arm locked state. The PRM OpLevs loops are off now.

Quote:

 PRM because I've known that we have been keeping its OpLev off. The reason was clear once I opened the table. The oplev reflection beam was hitting the PD box instead of the PD. After correcting, I was able to swithc on PRM opLev loops and saw normal functioning.

 

  16237   Fri Jul 2 12:42:56 2021 Anchal, Paco, GautamSummaryLSCsnap file changed for MICH

We corrected the MICH locking snap file C1configure_MI.req and saved an updated C1configure_MI.snap. Now the 'Restore MICH' script in IFO_CONFIGURE>!MICH>Restore MICH works. The corrections included adding the correct rows of PD_DOF matrices to be at the right settings (use AS55 as error signal). The MICH_A_GAIN and MICH_B_GAIN needed to be saved as well.

We also were able to get to PRMI SB resonance. PRM was misalgined earlier from optimal position and after some manual aligning, we were able to get it to lock just by hitting IFO_CONFIGURE>!PRMI>Restore PRMI SB (3f).

  16240   Tue Jul 6 17:40:32 2021 KojiSummaryGeneralLab cleaning

We held the lab cleaning for the first time since the campus reopening (Attachment 1).
Now we can use some of the desks for the people to live! Thanks for the cooperation.

We relocated a lot of items into the lab.

  • The entrance area was cleaned up. We believe that there is no 40m lab stuff left.
    • BHD BS optics was moved to the south optics cabinet. (Attachment 2)
    • DSUB feedthrough flanges were moved to the vacuum area (Attachment 3)
  • Some instruments were moved into the lab.
    • The Zurich instrument box
    • KEPCO HV supplies
    • Matsusada HV supplies
  • We moved the large pile of SUPERMICROs in the lab. They are around MC2 while the PPE boxes there were moved behind the tube around MC2 area. (Attachment 4)
  • We have moved PPE boxes behind the beam tube on XARM behind the SUPERMICRO computer boxes. (Attachment 7)
  • ISC/WFS left over components were moved to the pile of the BHD electronics.
    • Front panels (Attachment 5)
    • Components in the boxes (Attachment 6)

We still want to make some more cleaning:

- Electronics workbenches
- Stray setup (cart/wagon in the lab)
- Some leftover on the desks
- Instruments scattered all over the lab
- Ewaste removal

Attachment 1: P_20210706_163456.jpg
P_20210706_163456.jpg
Attachment 2: P_20210706_161725.jpg
P_20210706_161725.jpg
Attachment 3: P_20210706_145210.jpg
P_20210706_145210.jpg
Attachment 4: P_20210706_161255.jpg
P_20210706_161255.jpg
Attachment 5: P_20210706_145815.jpg
P_20210706_145815.jpg
Attachment 6: P_20210706_145805.jpg
P_20210706_145805.jpg
Attachment 7: PXL_20210707_005717772.jpg
PXL_20210707_005717772.jpg
  16241   Thu Jul 8 11:20:38 2021 Anchal, Paco, GautamSummaryLSCPRFPMI locking attempts

Last night Gautam walked us through the algorithm used to lock PRFPMI. We tried it several times with the PSL HEPA filter off between 10:00 pm July 7th to 1:00 am July 8th. None of our attempts were successful. In between, we tried to do the locking with old IMC settings as well, but it did not change the result for us. In most attempts, the arms would start to resonate with PRMI with about 200 times the power than without power recycling while the arms are still controlled by ALS beatnote. The handover of lock controls "CARM+DARM locked to ALS beatnote" to "Main laser + IMC locked to the CARM+DARM" would always fail. More specifically, we were seeing that as soon as we hand over the DC control of CARM from ALS beatnote to IR by feeding back to MC2, the lock would inevitably fail before the rest of the high-frequency control can be transferred over.

Nonetheless, Paco and I got a good demo of how to do PRFPMI locking if the need appears. With more practice and attempts, we should be able to achieve the lock at some point in the future. The issues in handover could be due to any of the following:

  • Although it seems like ALS beatnote fed control of arms keep them within the CARM IR linewidth as we see the IR resonating, there still could be some excess noise that needs to be dealt with.
  • Gautam conjectures, that the presence of high power in the arms connects the ITMs and the ETMs with an optical spring changing the transfer function of the pendula. This in turn changes the phase margin and possibly makes the CARM loop in IR PRFPMI unstable.
  • We should also investigate the loop transfer functions near the handover point for the ALS beatnote loop and the IR CARM loop and calculate the crossover frequency and gain/phase margins there.

More insights or suggestions are welcome.


Note; An earthquake came around lunch time and tripped all watchdogs. Most suspensions were recovered without issues, but ITMX appeared to be stuck. We tried the shaking procedure, but after this we couldn't restore the XARM lock. From alignment, we tried optimizing the TRX but we only got up to ~0.5 and ASS wouldn't work as usual. In the end the issue was that we had forgotten to enable the LL coil output devil so after we did this, we managed to recover the XARM.

  16242   Fri Jul 9 15:39:08 2021 AnchalSummaryALSSingle Arm Actuation Calibration with IR ALS Beat [Correction]

I did this analysis again by just doing demodulation go 5s time segments of the 60s excitation signal. The major difference is that I was not summing up the sine-cosine multiplied signals, so the error associated was a lot more. If I simply multpy the whole beatnote signal with digital LO created at excitation frequency, divide it up in 12 segments of 5 s each, sum them up individually, then take the mean and standard deviation, I get the answer as:
\frac{6.88 \pm 0.05}{f^2} nm/ctsas opposed to \frac{7.32 \pm 0.03}{f^2} nm/ctsthat was calculated using MICH signal earlier by gautum in 13984.

Attachment 1 shows the scatter plot for the complex calibration factors found for the 12 segments.

My aim in the previous post was however to get a time series of the complex calibration factor from which I can take a noise spectral density measurement of the calibration. I'll still look into how I can do that. I'll have to add a low pass filter to integrate the signal. Then the noise spectrum up to the low pass pole frequency would be available. But what would this noise spectrum really mean? I still have to think a bit about it. I'll put another post soon.

Quote:

We attempted to simulate "oscillator based realtime calibration noise monitoring" in offline analysis with python. This helped us in finding about a factor of sqrt(2) that we were missing earlier in 16171. we measured C1:ALS-BEATX_FINE_PHASE_OUT_HZ_DQ when X-ARM was locked to main laser and Xend green laser was locked to XARM. An excitation signal of amplitude 600 was setn at 619 hz at C1:ITMX_LSC_EXC.

Signal analysis flow:

  • The C1:ALS-BEATX_FINE_PHASE_OUT_HZ_DQ is calibrated to give value of beatntoe frequency in Hz. But we are interested in the fluctuations of this value at the excitation frequency. So the beatnote signal is first high passed with 50 hz cut-off. This value can be reduced a lot more in realtime system. We only took 60s of data and had to remove first 2 seconds for removing transients so we didn't reduce this cut-off further.
  • The I and Q demodulated beatntoe signal is combined to get a complex beatnote signal amplitude at excitation frequency.
  • This signal is divided by cts amplitude of excitation and multiplied by square of excitation frequency to get calibration factor for ITMX in units of nm/cts/Hz^2.
  • The noise spectrum of absolute value of  the calibration factor is plotted in attachment 1, along with its RMS. The calibration factor was detrended linearly so the the DC value was removed before taking the spectrum.
  • So Attachment 1 is the spectrum of noise in calibration factor when measured with this method. The shaded region is 15.865% - 84.135% percentile region around the solid median curves.

We got a value of \frac{7.3 \pm 3.9}{f^2}\, \frac{nm}{cts}.  The calibration factor in use is from \frac{7.32}{f^2} nm/cts from 13984.

Next steps could be to budget this noise while we setup some way of having this calibration factor generated in realitime using oscillators on a FE model. Calibrating actuation of a single optic in a single arm is easy, so this is a good test setup for getting a noise budget of this calibration method.

 

Attachment 1: ITMX_calibration_With_ALS_Beat.pdf
ITMX_calibration_With_ALS_Beat.pdf
  16287   Mon Aug 23 10:17:21 2021 PacoSummaryComputerssystem reboot glitch

[paco]

At 09:34 PST I noted a glitch in the controls room as the machines went down except for c1ioo. Briefly, the video feeds disappeared from the screens, though the screens themselves didn't lose power. At first I though this was some kind of power glitch, but upon checking with Jordan, it most likely was related to some system crash. Coming back to the controls room, I could see the MC reflection beam swinging, but unfortunately all the FE models came down. I noticed that the DAQ status channels were blank.

I ssh into c1ioo no problem and ran "rtcds stop c1ioo c1als c1omc", then "rtcds restart c1x03" to do a soft restart. This worked, but the DAQ status was still blank. I then tried to ssh into c1sus and c1lsc without success, similarly c1iscex and c1iscey were unreachable. I went and did a hard restart on c1iscex by switching it off, then its extension chassis, then unplugging the power cords, then inverting these steps, and could ssh into it from rossa. I ran "rtcds start c1x01" and saw the same blank DAQ status. I noticed the elog was also down... so nodus was also affected?

[paco, anchal]

Anchal got on zoom to offer some assistance. We discovered that the fb1 and nodus were subject to some kind of system reboot at precisely 09:34. The "systemctl --failed" command on fb1 displayed both the daqd_dc.service and rc-local.service as loaded but failed (inactive). Is it a good idea to try and reboot the fb1 machine? ... Anchal was able to bring elog back up from nodus (ergo, this post).

[paco]

Although it probably needs the DAQ service from the fb1 machine to be up and running, I tried running the scripts/cds/rebootC1LSC.sh script. This didn't work. I tried running sudo systemctl restart daqd_dc from the fb1 machine without success. Running systemctl reset-failed "worked" for daqd_dc and rc-local services on fb1 in the sense that they were no longer output from systemctl --failed, but they remained inactive (dead) when running systemctl status on them. Following from  15303   I succeeded in restarting the daqd services. Turned out I needed to manually start the open-mx and mx services in fb1. I rerun the restartC1LSC script without success. The script fails because some machines need to be rebooted by hand.
 

  16303   Mon Aug 30 17:49:43 2021 PacoSummaryLSCXARM POX OLTF

Used diaggui to get OLTF in preparation for optimal system identification / calibration. The excitation was injected at the control point of the XARM loop C1:LSC-XARM_EXC. Attachment 1 shows the TF (red scatter) taken from 35 Hz to 2.3 kHz with 201 points. The swept sine excitation had an envelope amplitude of 50 counts at 35 Hz, 0.2 counts at 100 Hz, and 0.2 at 200 Hz. In purple continous line, the model for the OLTF using all the digital control filters as well as a simple 1 degree of freedom plant (single pole at 0.99 Hz) is overlaid. Note the disagreement of the OLTF "model" at higher frequencies which we may be able to improve upon using vector fitting.

Attachment 2 shows the coherence (part of this initial measurement was to identify an appropriately large frequency range where the coherence is good before we script it).

Attachment 1: XARM_POX_OLTF.pdf
XARM_POX_OLTF.pdf
Attachment 2: XARM_POX_Coh.pdf
XARM_POX_Coh.pdf
  16304   Tue Aug 31 14:55:24 2021 ranaSummaryLSCXARM POX OLTF

this model doesn't seem to include the analog AA, analog AI, digital AA, digital AI, or data transfer delays in the system. I think if you include those you will get more accuracy at high frequencies. Probably Anchal has those included in his DARM loop model?

 

  16306   Wed Sep 1 21:55:14 2021 KojiSummaryGeneralTowards the end upgrade

- Sat amp mod and test: on going (Tega)
- Coil driver mod and test: on going (Tega)

- Acromag: almost ready (Yehonathan)

- IDC10-DB9 cable / D2100641 / IDC10F for ribbon in hand / Dsub9M ribbon brought from Downs / QTY 2 for two ends -> Made 2 (stored in the DSUB connector plastic box)
- IDC40-DB9 cable / D2100640 / IDC40F for ribbon in hand / DB9F solder brought from Downs  / QTY 4 for two ends -> Made 4 0.5m cables (stored in the DSUB connector plastic box)

- DB15-DB9 reducer cable / ETMX2+ETMY2+VERTEX16+NewSOS14 = 34 / to be ordered

- End DAC signal adapter with Dewhitening (with DIFF/SE converter) / to be designed & built
- End ADC adapter (with SE/DIFF converter) / to be designed & built


MISC Ordering

  • 3.5 x Sat Amp Adapter made (order more DSUB25 conns)
    • -> Gave 2 to Tega, 1.5 in the DSUB box
    • 5747842-4 A32100-ND -> ‎5747842-3‎ A32099-ND‎ Qty40
    • 5747846-3 A32125-ND -> ‎747846-3‎ A23311-ND‎ Qty40
  • Tega's sat amp components
    • 499Ω P499BCCT-ND 78 -> Backorder -> ‎RG32P499BCT-ND‎ Qty 100
    • 4.99KΩ TNPW12064K99BEEA 56 -> Qty 100
    • 75Ω YAG5096CT-ND 180 -> Qty 200
    • 1.82KΩ P18391CT-ND 103 -> Qty 120
    • 68 nF P10965-ND 209
  • Order more DB9s for Tega's sat amp adapter 4 units (look at the AA IO BOM) 
    • 4x 8x 5747840-4 DB9M PCB A32092-ND -> 6-747840-9‎ A123182-ND‎ Qty 35
    • 4x 5x 5747844-4 A32117-ND -> Qty 25
    • 4x 5x DB9M ribbon MMR09K-ND -> 8209-8000‎ 8209-8000-ND‎ Qty 25
    • 4x 5x 5746861-4 DB9F ribbon 5746861-4-ND -> 400F0-09-1-00 ‎LFR09H-ND‎ Qty 35
  • Order 18bit DAC AI -> 16bit DAC AI components 4 units
    • 4x 4x 5747150-8 DSUB9F PCB A34072-ND -> ‎D09S24A4PX00LF‎609-6357-ND‎ Qty 20
    • 4x 1x 787082-7 CONN D-TYPE RCPT 68POS R/A SLDR (SCSI Female) A3321-ND -> ‎5787082-7‎ A31814-ND‎ Qty 5
    • 4x 1x 22-23-2021 Connector Header Through Hole 2 position 0.100" (2.54mm)    WM4200-ND -> Qty5

 

 

  16307   Thu Sep 2 17:53:15 2021 PacoSummaryComputerschiara down, vac interlock tripped

[paco, koji, tega, ian]

Today in the morning the name server / network file system running in chiara failed. This resulted in donatella/pianosa/rossa shell prompts to hang forever. It also made sitemap crash and even dropping into a bash shell and just listing files from some directory in the file system froze the computer. Remote ssh sessions on nodus also had the same symptoms.

A little after 1 pm, we started debugging this issue with help from Koji. He suggested we hook a monitor, keyboard, and mouse onto chiara as it should still work locally even if something with the NFS (network file system) failed. We did this and then we tried for a while to unmount the /dev/sdc1/ from /home/cds/ (main file system) and mount /dev/sdb1/ from /media/40mBackup (backup copy) such that they swap places. We had no trouble unmounting the backup drive, but only succeeded in unmounting the main drive with the "lazy" unmount, or running "umount -l". Running "df" we could see that the disk space was 100% used, with only ~ 1 GB of free space which may have been the cause for the issue. After swapping these disks by editing the /etc/fstab file to implement the aforementioned swapping, we rebooted chiara and we recovered the shell prompts in all workstations, sitemap, etc... due to the backup drive mounting. We then started investigating what caused the main drive to fill up that quickly, and noted that weirdly now the capacity was at 85% or about 500GB less than before (after reboot and remount), so some large file was probably dumped into chiara that froze the NFS causing the issue.

At this point we tried opening the PSL shutter to recover the IMC. The shutter would not open and we suspected the vacuum interlock was still tripped... and indeed there was an uncleared error in the VAC screen. So with Koji's guidance we walked to the c1vac near the HV station and did the following at ~ 5:13 PM -->

  1. Open V4; apart from a brief pressure spike in PTP2, everything looked ok so we proceeded to
  2. Open V1; P2 spiked briefly and then started to drop. Then, Koji suggested that we could
  3. Close V4; but we saw P2 increasing by a factor of~ 10 in a few seconds, so we
  4. Reopened V4;

We made sure that P1a (main vacuum pressure) was dropping and before continuing we decided to look back to see what the nominal vacuum state was that we should try to restore.

We are currently searching the two systems for diffrences to see if we can narrow down the culprit of the failure.

 

  16312   Thu Sep 2 21:21:14 2021 KojiSummaryComputersVacuum recovery 2

Attachment 1:
We are pumping the main volume with TP2. Once P1a reached the pressure ~2.2mtorr, we could open the PSL shutter. The TP2 voltage went up once but came down to ~20V. It's close to nominal now.
We wondered if we should use TP3 or not. I checked the vacuum pressure trends and found that the annulus pressures were going up. So we decided to open the annulus valves.

Attachment 2:
The current vacuum status is as shown in the MEDM screenshot.

There is no trend data of the valve status (sad)

Attachment 1: Screenshot_2021-09-02_21-20-24.png
Screenshot_2021-09-02_21-20-24.png
Attachment 2: Screenshot_2021-09-02_21-20-48.png
Screenshot_2021-09-02_21-20-48.png
  16313   Thu Sep 2 21:49:03 2021 PacoSummaryComputerschiara down, vac interlock tripped

[tega, paco]

We found the files that took excess space in the chiara filesystem (see Attachment 1). They were error files from the summary pages that were ~ 50 GB in size or so located under /home/cds/caltech/users/public_html/detcharsummary/logs/. We manually removed them and then copied the rest of the summary page contents into the main file system drive (this is to preserve the information backup before it gets deleted by the cron job at the end of today) and checked carefully to identify the actual issue for why these files were as large in the first place.

We then copied the /detcharsummary directory from /media/40mBackup into /home/cds to match the two disks.

Attachment 1: 2021-09-02_21-51-15.png
2021-09-02_21-51-15.png
  16314   Fri Sep 3 02:03:15 2021 TegaSummaryComputersStrip down large error files

Also deleted the ~50GB error files from ldas to prevent rsync from copying them to nodus again. With the new update to GWsumm, there are new error messages that initially didn't seem to affect the summary pages functionality, but in the extreme case can populated the error files the repeated warnings on the form "Loading: FrSerData", "Loading: FrSerData::n4294967295", "Loading: FrSummary","Loading: FrSerDataLoading: FrSerData" and many more combinations until we get file sizes of the order of ~50GB. So I have updated the checkstatus script to parse the error files and strip out the majority of these error messages. Work is ongoing to get them all.

In light of these large files generation, I decided to look in the summary pages folder to see if there are other large files that we need to keep track of and it turns there are indeed a collection of files in the archive folder that bloats the summary pages on ldas to ~1TB. Luckily these are not synced to nodus so no problem here. However, since the beginning of the year, the archive folders that hold data used for each day's computation have not been cleared. We have a script for doing this but it has not been run for a while now and it only delete archive files for a specific month which is hardcoded to two months from the date the file is run. I have modified the code to allow archive deletion for a range of months so we can clear data from Jan to July. 

Quote:

[tega, paco]

We found the files that took excess space in the chiara filesystem (see Attachment 1). They were error files from the summary pages that were ~ 50 GB in size or so located under /home/cds/caltech/users/public_html/detcharsummary/logs/. We manually removed them and then copied the rest of the summary page contents into the main file system drive (this is to preserve the information backup before it gets deleted by the cron job at the end of today) and checked carefully to identify the actual issue for why these files were as large in the first place.

We then copied the /detcharsummary directory from /media/40mBackup into /home/cds to match the two disks.

 

  16315   Tue Sep 7 18:00:54 2021 TegaSummaryCalibrationSystem Identification via line injection

[paco]

This morning, I spent some time restoring the jupyter notebook server running in allegra. This server was first set up by Anchal to be able to use the latest nds python API tools which is handy for the calibration stuff. The process to restore the environment was to run "source ~/bashrc.d/*" to restore some of the aliases, variables, paths, etc... that made the nds server work. I then ran ssh -N -f -L localhost:8888:localhost:8888 controls@allegra from pianosa and carry on with the experiment.


[paco, hang, tega]

We started a notebook under /users/paco/20210906_XARM_Cal/XARM_Cal.ipynb on which the first part was doing the following;

  • Set up list of excitations for C1:LSC-XARM_EXC (for example three sine waveforms) using awg.py
  • Make sure the arm is locked
  • Read a reference time trace of the C1:LSC-XARM_IN2 channel for some duration
  • Start excitations (one by one at the moment, ramptime ~ 3 seconds, same duration as above)
  • Get data for C1:LSC-XARM_IN2 for an equal duration (raw data in Attachment #1)
  • Generate the excitation sine and cosine waveforms using numpy and demodulate the raw timeseries using a 4th order lowpass filter with fc ~ 10 Hz
  • Estimate the correct demod phase by computing arctan(Q / I) and rerunning the demodulation to dump the information into the I quadrature (Attachment #2).
  • Plot the estimated ASD of all the quadratures (Attachment #3)

[paco, hang, tega]

Estimation of open loop gain:

  • Grab data from the C1:LSC-XARM_IN1 and C1:LSC-XARM_IN2 test points
  • Infer excitation from their differnce, i.e. C1:LSC-XARM_EXC = C1:LSC-XARM_IN2 - C1:LSC-XARM_IN1
  • Compute the open loop gain as follows : G(f) = csd(EXC,IN1)/csd(EXC,IN2), where csd computes the cross spectra density of the input arguments
  • For the uncertainty in G, dG, we repeat steps (1) to (3) with & without signal injection in the C1:LSC-XARM_EXC channel. In the absence of signal injection, the signal in C1:LSC-XARM_IN2 is of the form: Y_ref = Noise/(1-G), whereas with nonzero signal injection, the signal in C1:LSC-XARM_IN2 has the form: Y_cal = EXC/(1-G) + Noise/(1-G), so their ratio, Y_cal/Y_ref = EXC/Noise, gives the SNR, which we can then invert to give the uncertainty in our estimation of G, i.e dG = Y_ref/Y_cal.
  • For the excitation at 53 Hz, our measurtement for the open loop gain comes out to about 5 dB whiich is consistent with previous measurement.
  • We seem to have an SNR in excess of 100 at measurement time of 35 seconds and 1 count of amplitude which gives a relative uncertainty of G of 0.1%
  • The analysis details are ongoing. Feedback is welcome.
Attachment 1: raw_timeseries.pdf
raw_timeseries.pdf
Attachment 2: demod_signals.pdf
demod_signals.pdf
Attachment 3: cal_noise_asd.pdf
cal_noise_asd.pdf
  16318   Thu Sep 9 09:54:41 2021 StephenSummaryBHDBHD OMC invacuum wiring - cable lengths

[Koji, Stephen - updated 30 September]

Cable lengths task - in vacuum cabling for the green section (new, custom for 40m) and yellow section (per aLIGO, except likely with cheaper FEP ribbon cable material) from 40m/16198. These arethe myriad of cables extending from the in vacuum flange to the aLIGO-style on-table Cable Stand (think, for example, D1001347), then from the cable stand to the OMCs.

a) select a position for the cable stand.

 - Koji and I discussed and elected to place in the (-X, -Y) corner of the table (Northwest in the typical diagram) and near the table edge. This is adjacent to the intended exit flange for the last cable.

b) measure distances and cable routing approximations for cable bracket junctions

- Near OMC bracket to the cable stand, point to point = 17.2, routing estimate = 24.4.
- Far OMC bracket to the cable stand, point to point = 20.5, routing estimate = 32.2.

  - Recommendation = 48" for all green section cables (using one length for each OMC, with extra slack to account for routing variation).

c) (outdated - see item (b) and attachment 3) measure distances (point to point) and cable routing approximations for all items.

 +X OMC (long edge aligned with +Y beam axis) (overview image in Attachment 1)

- QPDs to the cable stand, point to point = 12, routing estimate = 20.
- DCPDs to the cable stand, point to point = 25, routing estimate = 32.
- PZTs to the cable stand, point to point = 21, routing estimate = 32.

+Y OMC (long edge aligned with +Y beam axis) (overview image in Attachment 1)

- QPDs to the cable stand, point to point = 16, routing estimate = 23.
- DCPDs to the cable stand, point to point = 26, routing estimate = 38.
- PZTs to the cable stand, point to point = 24, routing estimate = 33.

Cable stand to flange (Attachment 2) (specific image in Attachment 2)

- point to point = 35, routing estimate = 42

  - Recommendation = 120" for all yellow section cables, per Koji's preferences for zigzag cable routing on stack and coiling of slack.

Attachment 1: bhd_cable_length_check_cable_bracket_to_components.png
bhd_cable_length_check_cable_bracket_to_components.png
Attachment 2: bhd_cable_length_check_flange_to_cable_bracket.png
bhd_cable_length_check_flange_to_cable_bracket.png
Attachment 3: bhd_cable_length_check_cable_bracket_to_omc_bracket.png
bhd_cable_length_check_cable_bracket_to_omc_bracket.png
  16323   Mon Sep 13 17:05:04 2021 TegaSummaryPEMInfrasensing temperature sensor modbus configuration

Anchal mentioned it would be good to put more details about how I arrived at the values needed to configure the modbus drive for the temperature sensor, since this information is not in the manual and is hard to find on the internet, so here is a breakdown.

So the generic format is:

drvAsynIPPortConfigure("<TCP_PORT_NAME>","<UNIT_IP_ADDRESS>:502",0,0,1)
modbusInterposeConfig("<TCP_PORT_NAME>",0,5000,0)
drvModbusAsynConfigure("<PORT_NAME>","<TCP_PORT_NAME>",<slaveAddress>,<modbusFunction>,<modbusStartAddress>,<modbusLength>,<dataType>,<pollMsec>,<plcType>)

which in our case become:

drvAsynIPPortConfigure("c1pemxendtemp","192.168.113.240:502",0,0,1)
modbusInterposeConfig("c1pemxendtemp",0,5000,0)
drvModbusAsynConfigure("C1PEMXENDTEMP","c1pemxendtemp",0,4,199,2,0,1000,"ServerCheck")

As can be seen, the parameters of the first two functions "drvAsynIPPortConfigure" and "modbusInterposeConfig" are straight forward, so we restrict our discussion to the case of third function "drvModbusAsynConfigure". Well, after hours of trolling the internet, I was able to piece together a coherent picture of what needs doing and I have summarised them in the table below.

 

drvModbusAsynConfigure

Once the asyn IP or serial port driver has been created, and the modbusInterpose driver has been configured, a modbus port driver is created with the following command:

drvModbusAsynConfigure(portName,                # used by channel definitions in .db file to reference this unit)
                       tcpPortName,             # reference to portName created with drvAsynIPPortConfigure command
                       slaveAddress,            # 
                       modbusFunction,          # 
                       modbusStartAddress,      # 
                       modbusLength,            # length in dataType units
                       dataType,                # 
                       pollMsec,                # how frequently to request a value in [ms]
                       plcType);                #

drvModbusAsynConfigure command
Parameter Data type Description
portName string Name of the modbus port to be created.
 
tcpPortName string Name of the asyn IP or serial port previously created.

tcpPortName = { 192.168.113.240:502192.168.113.241:502192.168.113.242:502 }
 
slaveAddress int The address of the Modbus slave. This must match the configuration of the Modbus slave (PLC) for RTU and ASCII. For TCP the slave address is used for the "unit identifier", the last field in the MBAP header. The "unit identifier" is ignored by most PLCs, but may be required by some.

ServersCheck API ignores this value, as confirmed with pymodbus query, so set to default value: 
slaveAddress = 0
 
modbusFunction int

modbus supports the following 8 Modbus function codes:

Modbus Function Codes
Access Function description Function code
Bit access Read Coils 1
Bit access Read Discrete Inputs 2
Bit access Write Single Coil 5
Bit access Write Multiple Coils 15
16-bit word access Read Input Registers 4
16-bit word access Read Holding Registers 3
16-bit word access Write Single Register 6
16-bit word access Write Multiple Registers 16
modbusStartAddress int Start address for the Modbus data segment to be accessed.
(0-65535 decimal, 0-0177777 octal).

Modbus addresses are specified by a 16-bit integer address. The location of inputs and outputs within the 16-bit address space is not defined by the Modbus protocol, it is vendor-specific. Note that 16-bit Modbus addresses are commonly specified with an offset of 400001 (or 300001). This offset is not used by the modbus driver, it uses only the 16-bit address, not the offset.

For ServersCheck, the offset is "30001", so that

modbusStartAddress = 30200 - 30001 = 199

modbusLength int The length of the Modbus data segment to be accessed.
This is specified in bits for Modbus functions 1, 2, 5 and 15.
It is specified in 16-bit words for Modbus functions 3, 4, 6 and 16.
Length limit is 2000 for functions 1 and 2, 1968 for functions 5 and 15,
125 for functions 3 and 4, and 123 for functions 6 and 16.

ServersCheck uses two's complement 32-bits word (with big-endian byte order & little-endian word order) format to store floating-point data, as confirmed with pymodbus query, so that:

modbusLength = 2
 
modbusDataType int The modbusDataType is used to tell the driver the format of the Modbus data. The driver uses this information to convert the number between EPICS and Modbus. Data is transferred to and from EPICS as epicsUInt32, epicsInt32, and epicsFloat64 numbers.

Modbus data type:
0 = binary, twos-complement format
1 = binary, sign and magnitude format
2 = BCD, unsigned
3 = BCD, signed

Some Modbus devices (including ServersCheck) use floating point numbers, typically by storing a 32-bit float in two consecutive 16-bit registers. This is not supported by the Modbus specification, which only supports 16-bit registers and single-bit data. The modbus driver does not directly support reading such values, because the word order and floating point format is not specified.

Note that if it is desired to transmit BCD numbers untranslated to EPICS over the asynInt32 interface, then data type 0 should be used, because no translation is done in this case. 

For ServersCheck, we wish to transmit the untranslated data, so:

modbusDataType = 0
 
pollMsec int Polling delay time in msec for the polling thread for read functions.
For write functions, a non-zero value means that the Modbus data should
be read once when the port driver is first created.

ServersCheck recommends setting sensor polling interval between 1-5 seconds, so we can try:

pollMsec = 1000
 
plcType string Type of PLC (e.g. Koyo, Modicon, etc.).
This parameter is currently used only to print information in asynReport.
In the future it could be used to modify the driver behavior for a specific PLC.

plcType = "ServersCheck"
 

 

Useful links

https://nodus.ligo.caltech.edu:8081/40m/16214

https://nodus.ligo.caltech.edu:8081/40m/16269

https://nodus.ligo.caltech.edu:8081/40m/16270

https://nodus.ligo.caltech.edu:8081/40m/16274

 

http://manuals.serverscheck.com/InfraSensing_Sensors_Platform.pdf

http://manuals.serverscheck.com/InfraSensing_Modbus_manualv5.pdf

https://community.serverscheck.com/discussion/comment/7419#Comment_7419

 

https://wiki-40m.ligo.caltech.edu/CDS/SlowControls

https://www.slac.stanford.edu/grp/ssrl/spear/epics/site/modbus/modbusDoc.html#Creating_a_modbus_port_driver

 

https://github.com/riptideio/pymodbus

 

https://en.wikipedia.org/wiki/Modbus

https://deltamotion.com/support/webhelp/rmctools/Communications/Ethernet/Supported_Protocols/Ethernet_Modbus_TCP.htm

  16329   Tue Sep 14 17:19:38 2021 PacoSummaryPEMExcess seismic noise in 0.1 - 0.3 Hz band

For the past couple of days the 0.1 to 0.3 Hz RMS seismic noise along BS-X has increased. Attachment 1 shows the hour trend in the last ~ 10 days. We'll keep monitoring it, but one thing to note is how uncorrelated it seems to be from other frequency bands. The vertical axis in the plot is in um / s

Attachment 1: SEIS_2021-09-14_17-33-12.png
SEIS_2021-09-14_17-33-12.png
ELOG V3.1.3-