40m QIL Cryo_Lab CTN SUS_Lab CAML OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log, Page 152 of 357  Not logged in ELOG logo
ID Date Authorup Type Category Subject
  17442   Thu Feb 2 13:21:39 2023 RadhikaUpdateGeneralMephisto laser interlock

Today while aligning optics at the xend, my knee engaged the AUX laser interlock. I spent some time trying to disable the interlock, and I'm putting the solution here for mainly my reference: pull on the red interlock button. This shorts the two pins on the back of the Mephisto controller.

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

[Rana, Radhika]

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

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

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

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

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

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

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

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

[Rana, Radhika]

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

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

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

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

  17533   Mon Apr 3 12:01:59 2023 RadhikaSummaryLSCPRMI sensing matrix and RF demodulation phase tuning

[Paco, Radhika]

We locked PRMI in carrier.

We refereced the old IFOconfigure script (/opt/rtcds/caltech/c1/burt/c1ifoconfigure/C1configurePRM_Carr.sh) to manually configure the LSC screen for PRMI. The final MICH/PRCL gain values used to achieve lock were flipped in sign:

(.snap file ---> final value)

MICH gain: -1.2 ----> 1.2
PRCL gain: 0.021 ---> -0.07

The FM trigger levels (enable/disable) for PRCL and MICH were set to (150/50). The following filter modules were engaged:

MICH: 2, 3, 6, 8
PRCL: 1, 2, 6, 9

During PRMI lock, the POPDC level reached 13130 counts, or 6.8 mW (using calibration of 1.931e6 counts/W). The POPDC counts level was ~1330 with only MICH locked, meaning the PRC gain was ~10. Attachment 1 is an image of REFL, AS, and POP monitors during lock.

Lock was maintained for close to a minute, allowing us to estimate the UGF at around 100 Hz. We used the AA_PRCL_UGF_meas.xml template to measure the loop transfer function. The GPS time (start, end) for a lock stretch with boost on is (1680547905, 1680547933 1364583160, 1364583442).

Next steps

1. Achieve better angular alignment to keep MICH locked to dark fringe - ASS? Seismic FF?

  17536   Wed Apr 5 16:44:31 2023 RadhikaSummaryLSCPRMI sensing matrix and RF demodulation phase tuning

[Paco, Radhika]

We calibrated the PRM oplev.

1. Disabled PRM damping and oplev loops
2. Injected excitation (f = 10 Hz; amplitude = 300 counts) to C1:SUS-PRM_ASCPIT_EXC
3. Measured spectra of C1:SUS-PRM_OL_PIT_IN1
     - 10 Hz spectral peak reached level of 1/rtHz (spectral counts)
4. Repeated steps 2-3 in yaw (excitation in C1:SUS-PRM_ASCYAW_EXC; spectra of C1:SUS-PRM_OL_YAW_IN1)
     - 10 Hz spectral peak also reached level of 1/rtHz (spectral counts)
4. Used PRM POS actuation calibration (-2.01e-8 m/counts/f^2) to estimate angular (PIT, YAW) actuation calibration
     - geometric calculation of angular displacement per count, given spatial displacement per count
     - PIT/YAW actuation calibration: 0.791 µrad/count/f^2
5. Estimated lever arm length of 1.5m (distance from PRM to QPD)
6. Calculated angular excitation amplitude: (300 actuation counts) x 0.791 µrad/count/f^2 = 237 µrad/f^2
7. Calculated calibration for oplev PIT/YAW spectra: spectral counts to radians
    - 1 count(m) = 1.5m * 237 µrad/f^2= 356 m*µrad/f^2.
---> For 10 Hz excitation, spectrum calibration = 3.56 µrad/count.

We took calibrated spectra of oplev PIT and YAW (Attachment 1) with the oplev loops open and closed. We see noise suppression up until a few Hz, as expected. The high-frequency floor appears to be at 1e-9 rad/rtHz with this calibration.

Next steps: improving PRMI angular control


  17539   Fri Apr 7 16:28:34 2023 RadhikaSummaryLSCPRMI sensing matrix and RF demodulation phase tuning

[Paco, Radhika]

To determine the PRM angle-to-length coupling for PRCL, we want to inject pitch/yaw lines into PRM and find the corresponding peaks in the PRCL closed-loop control signal (below loop UGF). Below is a summary of PRMI locking efforts.

Locking PRMI carrier

- Locked arm cavities, ran YARM, XARM ASS to get PR2/PR3 alignment

- Locked MICH to dark fringe

- Aligned PRM by maximizing drop in REFLDC (reaches 2 when well aligned)

         *This was the hurdle when attempting to lock PRMI last week*

- Locked PRMI carrier using configurations in PRMI-AS55_REFL11.yml. There is now a "Lock PRMI (carr) using AS55/REFL11" action on the LSC screen that runs operateLSC.py with the aforementioned yaml file.

- Final DoF gains used: MICH --> 0.8; PRCL --> -0.07. At times BS was being kicked too hard, so we reduced the MICH gain from 1.2.

Lock stability

During PRMI lock, REFLDC was noisy with ~1 Hz fluctuations. We got PRMI to stay locked for a couple minutes at a time. Additionally it couldn't lock the AS port to dark fringe, and it stayed bright while tweaking the BS alignment.

We took spectra of ASDC during a lock stretch to quantify the DC power fluctuations at the AS port [Attachment 1]. The red trace is ASDC with PRMI locked. REF0 (black) is ASDC with MICH locked; REF1/REF2 (blue/green) are ASDC with single-bounce PRCL locked (either ITMX or ITMY misaligned). Note that the PRMI spectrum might need to be normalized by the PRCL gain / PRM transmission: ~ 10/0.057 = 175. The factor difference in ASDC fluctuations between MICH and PRMI for a single test point is ~144 --> with PRMI normalized, the ASDC fluctionations are comparable with MICH.

  17540   Tue Apr 11 19:46:45 2023 RadhikaUpdateALSX end green now indefinitely locking

I measured the OLTF of the XAUX-PDH loop [Attachment 1] now that the green laser is stably locking. I injected an excitation (100mVpp) at the error point of the loop using a Moku:Go. The excitation was summed with the PDH error signal (alpha) using an SR560, and the summed signal (beta) was sent to the PDH servo. (The Moku excitation was buffered with another SR560.) The transfer function beta/alpha was measured on the Moku. 

The loop has a UGF of 26.3 kHz, and a phase margin of ~25º (using 1/1-OLG convention).

Next steps:

- Replace PDH servo demod + controller with Moku:Go lock-in amplifier (ensure loop shape is maintained)

- Deploy digital filters to further increase loop bandwidth/phase margin


  17541   Wed Apr 12 16:11:41 2023 RadhikaSummaryLSCPRMI sensing matrix and RF demodulation phase tuning

[Yuta, Radhika]

We copied the coil balancing procedure found in /scripts/SUS/coilStrengthBalancing/AS1/CoilStrengthBalancing.ipynb to a new PRM directory. After modifying channel names for PRM, we followed the coil balancing procedure:

1. Locked PRY. This was chosen since full PRCL lock was not maintainable for the duration of measurement.

2. Injected 13 Hz line into the butterfly mode and looked for a peak in the LSC PRCL control signal (C1:LSC-PRCL_OUT_DQ). It appeared like the existing coil gains for PRM are already tuned to minimize the but-pos coupling.

3. Injected 13 Hz line into the POS mode and looked for a peak in the PRM oplev pitch and yaw signals (C1:SUS-PRM_OL_PIT_IN1_DQ / C1:SUS-PRM_OL_YAW_IN1_DQ). Like above, the existing coil gains seemed to be tuned to minimize the pos-angle coupling.

The attached spectrum was taken when POS was excited at 13 Hz using LOCKIN1. As expected the PRCL control signal sees the actuation, but we do not see a 13 Hz peak in the oplev pitch/yaw signals.

  17548   Wed Apr 19 09:52:50 2023 RadhikaUpdateNeuralNetRayleigh spectrograms

Attached are the Rayleigh spectrograms of the error/control signal channels associated with the NN nonlinear control of IMC (pitch). The 4-hour data stretch starts at 3:45pm PDT on 4/18. The spectrograms were generated with (stride=5, fftlength=2, overlap=1). PNG images are attached for reference; the generated pdf files were too large to include here or send over email.

The Rayleigh statistic measures nongaussianity of the data.

  17566   Wed Apr 26 12:05:10 2023 RadhikaUpdateALSXEND green PDH controller

Tl;dr: Tried to replace of XEND green PDH servo controller with Moku template IIR filter, designed to match PDH servo frequency response. The green laser did not catch lock with this filter.

Attachment 1 plots the measured TF of the PDH servo controller, with boost on and the gain knob set to 7.22 (the current lock configurations). It also plots an 8th order Chebyshev type II low-pass filter, with cutoff frequency and scale chosen to best match the data. (8 was the highest order filter that could be represented by 4 second-order-sections, the maximum allowed by the Moku.) I wanted to test if the XAUX PDH lock could be maintained using this filter as the controller.

The phase of the Chebyshev II filter does not seem to be a good fit to the data, but I wanted to see how far we could get using a template filter already designed for discrete time, and with a magnitude frequency response that approximates the servo. This would bypass having to perform a bilinear transform from the s-domain to the z-domain, which can raise more complications.

The PDH error signal (mixer output) was split and sent to the Moku (input 1) and to the PDH servo input. Closing the loop with the Moku filter output, the green laser was not able to catch lock. Attachment 2 shows the Moku:Go Digital Filter Box configurations, as well as the traces comparing output of the filter and the output of the PDH servo. The red trace is the output of Moku filter, and the blue trace is the output of the PDH servo (input 2) with the loop open (nothing feeding back to laser PZT). The input gain of the filter module was chosen to match the amplitudes of the two control signals. Qualitatively, the filter output contains higher frequency components and preserves the odd polarity of the PDH error signal, compared to the servo output. 

I then tried to directly fit the PDH servo TF data. I fit the (analog) poles and zeros of the TF using vectfit. In theory, using a bilinear transform can convert the analog zpk TF to digital zpk, with some frequency pre-warping required. However, vectfit did not return a "normal" transfer function, defined as having at least as many poles as zeros. This caused the bilinear transform to fail.

Next, I will need to use a different fitting package (perhaps IIRrational) to obtain a nicer TF fit, in normal form. Then I can attemp the bilinear transform, confirm it preserves the desired frequency response, and test it out with the Moku:Go.

  17586   Tue May 9 12:06:35 2023 RadhikaUpdateALSXEND green PDH controller

[Mayank, Radhika]

I retook a transfer function measurement of the uPDH servo closed-loop (using the SR560 to simulate a cavity pole) [Attachment 1]. While some coherence is lost at low frequencies, the servo does not appear to be saturating. Moving forward this measurement is used to design a digital filter that can replicate the uPDH servo box response. *Note: for now the chosen sampling frequency for the discrete filters is 61.04 kHz, the lowest sampling frequency setting of the Moku:Go.

We performed a low-order fit of the TF using vectfit. Vectfit always seems to return 1 more zero than pole - this results in an "improper" transfer function that causes any transformation to the z-domain to fail. Mayank took the fitted zeros and poles from vectfit and manually removed one of the zeros. After transforming the zeros and poles to the z-domain (using control.matlab.c2d), we noticed multiple resonances around 100 kHz that reached 10-20 dB. We decided to estimate poles and zeros by eye instead of using vectfit. 

2 zeros and 2 poles were selected by eye to get an estimated fit in the s-domain. Using continous-to-discrete transforms (tried scipy.signal.bilinear and control.matlab.c2d) resulted in unstable controller responses. Attachment 2 shows the original TF measurement with the designed analog filter and the resulting digital filter. The orange 'x's and 'o's mark the poles and zeros used. The digital filter contains many high-frequencies resonances, the most significant at the sampling frequency, 61.04 kHz, reaching 20 dB. Next we tried to manually load the analog ZPK coefficients into Foton. This resulted in the same digital filter as the python s-domain to z-domain functions [Attachment 3].

**UPDATE** Now looking back it's clear that the high-frequency response is limited by the sampling rate. I will redo this for the highest Moku:Go sampling rate of 3.9 MHz.

  17587   Tue May 9 21:02:55 2023 RadhikaUpdateALSXEND green PDH controller

XAUX laser locked with Moku:Go controller

The analog zeros and poles used to design this filter were:

zeros = [-18849.55592154, -18849.55592154]
poles = [-125.66370614, -238.76104167, -100530.96491487]
gain = 3000

Attachment 1 shows the resulting digital SOS filter (sampling rate: 3.9 MHz) compared to the measured uPDH servo transfer function (loop closed). The filter design was loaded on the Moku:Go.

Lock acquisition

I locked the AUX laser with the uPDH servo box and maximized its transmission to ~0.8. I then fed the Moku digital filter output to the PZT and the laser was able to catch lock. However, the max green transmission I could achieve using the Moku controller was 0.5. Attachment 2 is a screenshot of the green transmission ndscope during a lock sequence.

I measured the OLTF of the loop by injecting an excitation at the error point. An SR560 was used to sum the error signal with the excitation. The Moku multi-instrument mode was configured with the Frequency Response Analyzer and Digital Filter Box; it was able to source the excitation and take a transfer function measurement of error signal / (error signal + excitation), while keeping the loop closed.

The OLTF measurement [Attachment 3] points to a loop UGF of ~4 kHz, and phase margin of ~70 deg. An optimal controller would be able to boost the gain around the UGF without changing the phase too much (lag compensator)?

  17623   Wed Jun 7 10:35:42 2023 RadhikaUpdateDaily ProgressT&R measurement setup for PR2

[Radhika, Aaron, Mayank, Paco]

Here I'll describe the setup for T&R measurements of a PR2 replacement, using the Lightwave NPRO laser located at the S/E corner of the PSL table. Our transmittivity prior for this optic is ~20-30 ppm. Aaron and I outlined the setup for measuring the transmittivity of p- and s-polarizations using a chopper wheel for lock-in detection [Attachment 1]. 

JC found a Lightwave laser controller (in cabinet along YARM). Mayank and Paco helped start it up and adjust the current such that we can align with low power. I used the power meter sitting on PSL to record a quick laser calibration up to 160 mW (plot in Attachment 2 - I can go up to 500 mW in the future). Attachment 3 shows the location of the power meter when these points were collected. For alignment, I set the laser current to 0.94 A (~33 mW). 

I removed most optics in the existing setup downstream of the Faraday isolator. I reused 2 PBS cubes and a HWP from the old setup (I still need a QWP). My progress as of 6/6 can be seen in Attachment 4.


- Acquire QWP
- Set up chopper with lock-in amplifier (SR830 or Moku:Go?)
- Align TRANS and REF PDs (using 2 Thorlabs PDA-100A)
  17627   Fri Jun 9 11:12:05 2023 RadhikaUpdateDaily ProgressT&R measurement setup for PR2

After talking with Koji, the layout was revised as in Attachment 1. Instead of using reflection from the first PBS to obtain s-polarization, we'll use transmitted p-polarization and rotate to s with HWP2. This is because the reflection from a PBS isn't pure s-polarization. A second PBS will be used to verify that we have s-polarization (no light transmitted) and then removed for measurement.

I made changes to the setup as seen in Attachment 2. I found an aluminum block to raise the chopper wheel to the beam path. JC drilled a hole through the block so that the chopper wheel can be secured with a zip tie [Attachments 3-4].

Next, I'll mount one of the optics previously used by Anchal for T&R measurements. I'll see if this setup yields consistent results, and then proceed to the PR2 mirror. 

  17640   Tue Jun 20 11:53:09 2023 RadhikaUpdateDaily ProgressT&R measurement setup for PR2

The transmissivity setup layout can be seen in Attachment 1. As in Aaron's measurements in cryo lab, the DUT beam passes through the outer spokes of the chopper wheel (frequency ftest). The reference beam passes through the inner spokes of the wheel (fref). The TRANS PD receives both beams; the REF PD only receives the reference beam. The DUT can be removed from the primary beam path. The only change to the initial design was the addition of a few folding mirrors to deal with space constraints.

The formula used for calculating the transmissivity: 

T = \frac{ \frac{P_{trans}^{DUT}(f_{test})}{P_{trans}^{DUT}(f_{ref}) P_{ref}^{DUT}(f_{ref})}} {\frac{P_{trans}^0(f_{test})}{P_{trans}^0(f_{ref}) P_{ref}^0(f_{ref})}} (1).

Here, Ptrans and Pref refer to the signals on the TRANS and REF PDs. The DUT superscript indicates the presence of the DUT; the 0 superscripts indicates the DUT has been removed from the path. Note that the naive T calculation (below) would not be sensitive to laser intensity fluctuations, or PD gain changes between the DUT and 0 measurements:

 T = \frac{P_{trans}^{DUT}(f_{test})} {P_{trans}^0(f_{test})} (2).

I chose to test this setup with a known 90-10 beam splitter mounted at 45º of incidence. However, it's transmissivity calculated from equation (1) came out to be 4.5% - half of the expected value. The naive transmissivity from equation (2) came out to less: 3.5%. It is possible that the angle of incidence was off from 45º, but I would be surprised if it were that significantly off.

Next I set up a simpler DC measurement of the same 90-10 BS [Attachment 2]. After a HWP and PBS, the beam transmitted through the optic to the PD. The transmission through the DUT was 359.1 mV. Removing the DUT, the PD measured 5.266 V. This results in a transmissivity of 6.9% - around double the naive T calculation from the full setup, but still not quite 10%. Looks like there's a mystery factor of 2 somewhere.


  17666   Wed Jul 5 10:25:31 2023 RadhikaUpdateDaily ProgressT&R measurement setup for PR2

After recovering a transmissivity of ~7% for the 90-10 BS (in AC chopper configuration), I moved on to PR2. I mounted PR2 on a rotation stage to control the angle of incidence (AOI) [Attachment 1]. I did a quick check to see if transmitted light through the DUT was measureable on the TRANS PD on its existing gain setting (0 dB). It was, which means the dynamic range of the PD at that gain setting is large enough and the PD gain does not need to be adjusted when placing/removing the DUT. This simplified the transmissivity calculation, since the extra gain reference was no longer needed (the power reference from REF PD remains). The p-polarization setup can be seen in Attachment 2. For each AOI i:

T_i = \frac{ P_{trans}^{DUT_i}(f_{test})/P_{ref}^{DUT_i}(f_{ref})} { P_{trans}^{0}(f_{test})/P_{ref}^{0}(f_{ref}) }.

During measurement, for each AOI I measured the spectra of the TRANS and REF PDs with the Moku:Go Spectrum Analyzer [Attachment 3]. I found their spectral peaks at ftest and fref respectively. Attachment 4 shows the p-polarization results for transmissivity vs. AOI. The blue points are calculated from the peak values found by Moku:Go spectrum analyzer; the orange points are calculated from manual peak finding from taking an FFT of the time-series data. Excluding the 45deg AOI, the transmissivies are below 1000 ppm and are even smaller if using the manual FFT analysis. I will tweak the setup for s-polarization measurements this afternoon.

  17688   Mon Jul 17 07:47:32 2023 RadhikaUpdateDaily ProgressT&R measurement setup for PR2

Just realized I wrote out but failed to post this ELOG update before I left last week:

On Thursday 07/05, I simplified the transmission measurement setup since a gain reference signal was no longer needed [Attachment 1]. (This is because the reference beam previously had to hit the TRANS PD, and now this wasn’t needed).

For the s-polarization measurements, I placed a HWP after the PBS to rotate the polarization. I used another PBS to ensure that the light was being reflected and tuned the HWP angle to minimize transmission [Attachment 2].

I’ve included transmissivity plots as a function of angle of incidence, for s and p polarizations [Attachments 3, 4]. For each point, I include the result from the Moku:Go spectral peak finder and the result from performing a FFT on the time series data.

I unmounted the PR2 optic and placed it back in its original case. I’ve left it on my desk if anyone needs it [Attachment 5].

  17749   Wed Aug 2 17:56:25 2023 RadhikaSummaryGeneralADC/DAC Noise of Moku:GO [Reprinted elog from Ando Lab at University of Tokyo]

Repeating ADC/DAC noise measurements

I carried out the same measurements of the Moku:Go ADC and DAC noise to compare to the results from Ando Lab. Instead of a flat filter with 50dB of gain, I used the uPDH box fitted filter shape. I recorded spectral densities with an SR785; results are in Attachment 1. These measurements are consistent with those measured in Ando Lab. I included the SR785 noise floor, measured by terminating its input.

DAC noise measurement with single-tone input

Next I tried to measure the Moku's DAC noise using its Waveform Generator and Digital Filter Box in multi-instrument mode. I generated a single-tone digital signal and passed it to an elliptic bandstop filter (fit tightly around the tone). The filtered signal was measured by the SR785. I performed this measurement with 1 kHz and 10 kHz tones [Attachement 2]. While the fundamental peak is suppressed, we still see it and its harmonics (not DAC noise). The floor of these measurements is consistent with the DAC noise reference from the first test, and we can say that the Moku:Go's DAC noise above 100 Hz is below 1 µV/rtHz.

Further ADC noise measurements to come.

  17759   Mon Aug 7 14:02:52 2023 RadhikaUpdateAUXxend AUX fully locking with Moku:Go

Moku:Go used for full locking of green laser - OLTF to come

Picking up from where Reuben left off, I used the Moku:Go in multi-instrument mode to replace the signal generator and uPDH box entirely (Moku:Go setup shown in Attachments 1+2). The lock-in amplifier sourced the modulation for the PZT: 210.5 kHz, 1.4 Vpp amplitude (consistent with 7dBm used by the uPDH box) This LO was used to demodulate the REFL signal input. I coarsely tuned the demodulation phase to 90 degrees until the PDH error signal looked reasonable. The PDH error signal was passed to the digital filter box using the same filter as before. After slightly adjusting the gain knob in the filter module (-8 dB), the lock seemed reasonably stable - transmission screenshot in Attachment 3. I got transmission to ~0.8 with the analog loop today, so it was exciting to see this level maintained with the Moku:Go lock (ignoring oscillations from test mass motion). The system remains locked to TEM00 for 5-10 minutes before mode hopping, which is qualitatively comparable to the analog loop as well.

An OLTF of the Moku:Go loop still needs to be taken. Since the loop error point isn't outputted from the Moku (passed direclty between instruments), I'll need to inject an excitation at the control point. When I fed the control signal to input A of the SR560 and tried to lock with the direct output, the lock would repeatedly break. I noticed that the BATT light of the SR560 was on - I'll repeat this with another SR560, but the lock might be breaking due to an offset. Once this is debugged, I can inject an excitation and measure the loop OLTF.

  17773   Thu Aug 10 14:35:13 2023 RadhikaUpdateAUXXAUX out of loop error

[Radhika, Yuta, Hiroki, Paco]

During YAUX noise measurements, we also locked IR and green lasers in xarm (using Moku:Go lock-in amplifier + digital controller) to look at ALS noise in XARM. I adjusted the controller gain until green transmission looked tightly controlled (less fuzzy). We measured the out-of-loop ALS X beat note fluctuations at 2 gain levels: -12 dB and -14 dB down from the uPDH box fitted response. These are Attachments 1 and 2 respectively.

Note that there was some mirror motion at 1 Hz that is reflected in the spectral densities (coil balancing of ETMX had just been taking place). The -12dB gain adjustment causes frequency noise ~3x higher than the reference above ~70Hz. The -14dB gain adjustment has higher noise from 70-400 Hz, but has slightly suppressed noise above 1 kHz (relative to -12dB gain).

Moku:Go delay measurements will help clarify if this excess noise is a fundamental limitation of the device, or if there is room for improvement by optimizing the controller or further tweaking the gain/offset.

  17789   Wed Aug 16 16:42:22 2023 RadhikaSummaryGeneralMoku Go/Pro delay measurements

I measured the Moku:Go and Moku:Pro delay using a Agilent 4395A network analyzer. I considered the PID controller (0 dB gain); the IIR filter box with a 2nd-order low-pass filter; the FIR filter box with 2 coefficients and 201 coefficients (both low-pass). The current XAUX laser lock is done with a Moku:Go using the IIR filter box, so we would expect ~12 µs of delay.

  17803   Tue Aug 22 16:44:08 2023 RadhikaSummaryGeneralMoku Go/Pro delay measurements

Here are the results for Moku Go/Pro delay measurements with the filter shapes removed [Attachments 1, 2]. The PID controller, IIR filter, and FIR filter were all flat in magnitude and phase. The PID controller was the same as before: P=1, I=D=0. The IIR filter was given the form H(s) = 1. The FIR filter was given an exponential form e^(-10t), as done here. The configurations for the Moku:Go (same for the Pro, just 10x higher sampling rate) can be found in Attachments 3-5.

The Agilent 4395A was used once again for measurement. Excluding the FIR low-pass with 201 coefficients, the old measurements with low-pass filters and these flat filters have consistent delay. The Moku:Go IIR filter box used for locking the green laser would still give us a delay of ~12 seconds. 

  17815   Tue Aug 29 18:02:35 2023 RadhikaUpdateDaily ProgressT&R measurement setup for PR2

The intented AOI for PR2 is 1.5 degrees. I averaged the peak measurements from the Moku:Go spectrum analyzer and from manual python FFT.

The transmissivities for p- and s-polarizations are:

p-pol (972 ± 59.4) ppm
s-pol (1105 ± 125) ppm


  17819   Thu Aug 31 10:15:21 2023 RadhikaUpdate Electronic CARM to ALS CARM handoff

[Paco, Radhika]

ALS control of CARM

Yesterday evening, Paco and I aimed to:

1. lock electronic FPMI (e-CARM = POX + POY; e-DARM = AS55)
2. hand off CARM control to ALS (CARM = BEATX + BEATY)
3. add a CARM offset

Once e-FPMI was locked (POX + POY --> CARM_A), we fed the ALS beatnote error signals to CARM_B and slowly mixed CARM_A and CARM_B. ALS control of CARM was successful.

The final values used in C1LSC_AUX_ERR_MTRX were (-0.3 ALSX + 0.3 ALSY) --> CARM_B. Note that these signs depend on the sign of each beatnote. The sign of ALSY could be determined by giving an offset, but without an Acromag we had to use trial and error for the sign of ALSX. We observed that using 0.5 magnitude for each signal resulted in too high of a CARM UGF, making the loop unstable. The magnitudes were reduced to 0.3 to give us a comparable UGF to POX/POY control of CARM.

The final ALS CARM OLTF can be found in Attachment 1. Some "wobblyness" was observed in the OLTF. Attachment 2 shows the suppressed in-loop CARM_B error and the out-of-loop CARM_A error. We couldn't identify why CARM_A error has a notch ~325 Hz; this is also present when closing the loop with CARM_A.

We tried to add an LSC CARM offset (would push the PSL frequency away) but could not see the transmission in the arms drop.

Next steps

Increase stability of ALS CARM, turning loop gains

Achieve a CARM offset maintaining lock

Then proceed to lock PRMI sidebands and reduce the CARM offset for PRFPMI

  17835   Sat Sep 9 16:25:07 2023 RadhikaUpdateASSReducing XARM-ASS Errors

[Radhika, Murtaza]

This post summarizes XARM ASS efforts from Friday 9/8 and Saturday 9/9.


On Friday, we continued with our previous output matrix that used the length error signals (ITM/ETM PIT/YAW L) to feed back to ITMX and ETMX (see the previous ELOG). In that state we did not use the transmission error signals and had no feedback going to the BS. We then tried to use the transmission error signals ITM PIT/YAW L as a proxy for BS input pointing and feed them back to the BS. For both PIT and YAW, both signs of feedback resulted in diverging T error signals and a decrease in transmission.


On Saturday, we used the transmission error signals (ITM/ETM PIT/YAW T) in the sensing matrix to build the output matrix. We got it to a state where we could get the controlled error signals to converge by just feeding back to the ITMX and ETMX (Attachments 1,2). Once we had this working, we tried to feed back a combination of (ETM PIT/YAW L and ITM PIT/YAW T) to correct BS pointing. However, any combinations and signs to the BS dropped transmission and led to diverging error signals.
We then attempted to use the latest working XASS output matrix (before the acromags were pulled out) and see the effect of flipping signs in there (one optic+DOF at a time) We then tried to use the sign logic from the previously working ETM/ITM feedback we got partially working; however the error signals did not converge with any combination.


- We are able to successfully feed back to ITMX and ETMX, using either length or transmission error signals. It is when we try to add BS feedback that ASS fails. This can be due to the fact that we need to consider the relative servo gains when treating these loops separately, like Koji mentioned.

- The sensing matrix approach might be the only way to simultaneously optimize feedback for all optics, avoiding the need to tune servo gains. We will revisit this approach on Monday.

     - Koji pointed out that we are reading out the low-passed error signals in order to calculate each step response - we will need to consider our sampling rate and duration of averaging accordingly.

     - It will be harder to iteratively flip signs of each matrix element for this dense matrix, and we will have to be clever about which sign combinations we try for actuation.

  17836   Mon Sep 11 19:35:27 2023 RadhikaUpdateASSReducing XARM-ASS Errors

[Radhika, Murtaza, Paco]

Today we decided to take a closer look at the demod phases of the T and L error signals for XARM ASS. By eye we tuned the phases to minimize the signal in Q. Here are the new demod phases:


We also noticed that MEDM indicator for dithering on (white --> green LO symbol) for ETM_YAW_L_OSC was tied to the wrong excitation gain channel (C1:ASS-XARM_ITM_YAW_OSC_CLKGAIN instead of C1:ASS-XARM_ETM_YAW_OSC_CLKGAIN). We went ahead and changed this in [insert medm file location]. So now the right green LO symbol appears when the appropriate excitation is turned on.

  17841   Wed Sep 13 13:50:48 2023 RadhikaSummaryElectronicsVertex Electronics Transition ~ final prep

OSEM values for 8 vertex optics ~before~ electronics upgrade (averaged over 60 s):


[1943.7368693033854, 1597.8396443684896, 1667.4166076660156, 1709.3347656250003, 1760.058290608724, 1013.2686828613281, 1833.5396423339844, 2096.6071411132816, 786.2030975341798, 1152.7826700846356, 923.4767690022786, 447.51257578531903, 678.4539184570312, 971.2538736979167, 720.261508178711, 2458.092639160156, 2245.09764811198, 710.1112263997396, 258.2382120768228, 1225.202982584636, 3048.1043741861986, 3092.901733398437, 77.94405148824053, 181.08351745605466, 5145.644441731771, -6879.474226888021, -6954.500219726562, -3615.385673014323, -5468.913354492189, -3260.200516764323, 1555.9213073730468, 1625.1883911132813, 348.9968526204428, 1011.3114247639974, 1386.0941060384114, 1014.3825622558594, 1218.7048522949217, 1642.9303202311198, 1621.7448221842449, 720.2911783854166]

  17849   Mon Sep 18 18:38:02 2023 RadhikaSummaryElectronicsVertex Electronics Transition ~ DAY 4

[Koji, Paco, Radhika]

We recorded the 5 OSEM sensor readings for each of the 8 upgraded optics.

1. The correct scale factor seems to be 9x for the sensible OSEM readings. This is consistent with the scale factor calculated here.

2. The expected counts for each sensor is between 10,000-15,000 cts.

3. Several OSEM sensor values have bad readings of ~0 cts, or a few orders of magnitude smaller than expected:

      - ITMX UL/UR/LR/LL
      - ITMY LR/LL/SD
      - SRM UL/UR/LL
      - MC3 UL/UR

4. Several OSEM sensor values have readings < 0 (there's overlap with the previous group):

      - ITMX UR/LR/LL/SD
      - ITMY SD
      - PRM SD
      - SRM UL/UR/LL
      - MC3 UL/UR

5. MC1 has a consistent scale factor of 2.15, quite smaller than expected. Note that its OSEM readings were negative before the upgrade and now positive; hence negative MC1 ratios below.

Here is the full matrix of OSEM ratios after/before upgrade:

BS 7.53508553 9.80529834 10.82905875 8.61769586 1.02324445
ITMX 2.18227361e-03 -2.45700834e-03 -2.88710265e-03 -7.09635068e-03 -8.06591717
ITMY 5.11154762 3.57325499e+01 9.24866311e-03 9.05692306e-01 -3.00528448e-02
PRM 7.22051955 7.45579712 4.8889959 84.63438221 -1.4148838
SRM -8.86075335e-04 -8.39000436e-04 1.68963158e+02 -3.14350110e-02 1.12586402
MC1 -2.15229241 -2.14837141  -2.14954979 -2.16571496 -2.13574099
MC2 9.09337655 9.17967725  25.52931668 9.03775091 8.89290556
MC3 -4.60602513e-03 -1.06510781e-03 9.05368452 8.99212312 9.07521747

Next steps

We will debug the corresponding circuits tomorrow.

  17854   Tue Sep 19 17:25:38 2023 RadhikaSummaryElectronicsVertex Electronics Transition ~ DAY 5

MCs OSEM input / coil output gain tuning

Seeing that MC1, MC2, MC3 OSEM readings looked reasonable and consistent, I worked on updating the input OSEM cts2um filter for the 3 suspensions. MC1 OSEM input gains were changed by a factor of 2.15; MC2 and MC3 OSEM input gains were changed by a factor of 8.64 (see previous ELOG for source of these factors).

OLD cts2um gains (units are um/ct):

MC1 0.105 0.078 0.065 0.087 0.09
MC2 0.415 0.361 0.782 0.415 0.36
MC3 0.509 0.424 0.365 0.376 0.36

NEW cts2um gains (units are um/ct):

MC1 0.0488 0.0363 0.0302 0.0405 0.0419
MC2 0.0480 0.0418 0.0905 0.0480 0.0417
MC3 0.0589 0.0491 0.0422 0.0435 0.0417

Next, I moved onto the coil output filters for MC1, MC2, MC3. There was no gain filter already in place for these coil outputs, so I created one called V2A. (This name can be changed. Note: for other optics the coil actuation scaling filters are titled "xN" for scaling N. Eventually we will find an elegant way to set these scalings.)  The coil outputs for MC1, MC2, MC3 were changed by a factor of 1/2.6, or 0.385 (see previous ELOG for source of this factor).

I ran into an issue saving the foton filter coefficients: the filters appear to be saved; however, "Load Coefficients" does not load them onto the medm screen for MC2_URCOIL and all MC3 coils. I've tried toggling the save button and Load Coefficients button, but no luck. I checked and the filters are saved in opt/rtcds/caltech/c1/chans/C1MCS.txt. When changing an existing filter gain, the change is not being applied to the output channel.

MC1 damping

Since all MC1 coil filters saved and loaded successfully but not MC2 or MC3, I was only able to test the damping of MC1. Turning on the damping filters did not supress motion, so I made the following changes:

1. Prior to the upgrade, MC1 OSEM readings were all negative. Now they are positive, so I reversed the signs of all OSEM input gains (-1 -----> +1) [Attachment 1]. This is now consistent with all other optics' OSEM sensor gains.
2. I noticed that all MC1 coil output gains were negative. The [UL, UR, LR, LL, SD] coil output sign convention for each other optic is [+, -, +, -, +], or that but flipped. So I flipped the signs of MC1 UL/LR/SD coil output gains to match the [+, -, +, -, +] pattern.

Attachment 2 shows the damping of MC1 after these changes were made. It looks side the SIDE mode is underdamped and we may want to increase its servo gain. (I flipped the sign of the coil output and confirmed it ringed up, so the sign is correct.)

Next steps

1. Debug why foton is not saving new coil output scaling filters for MC2 UR and all MC3 coils.

2. Assess MC2 and MC3 damping.


  17855   Tue Sep 19 19:21:10 2023 RadhikaSummaryElectronicsVertex Electronics Transition ~ DAY 5

[Koji, Radhika]

Update to the Foton/Load Coefficients issue:

- "Save" in foton writes/updates filters correctly to chans/C1MCS.txt. However, "Load Coefficients" is currently not reading C1MCS.txt and therefore not loading any changes at all.

    - We saved a backup of C1MCS.txt and replaced it with one from this morning, hoping to see that the new V2A filters vanish from MC1 coil outputs. When we loaded coefficients, the V2A filters remained.

- We then checked if this issue was happening with C1SUS by adding a test filter to ETMY_ULCOIL. Indeed "Load Coefficients" loaded the filter. So it seems to just be a C1MCS issue.

- We restarted C1MCS twice and no change.

  17861   Wed Sep 20 14:04:58 2023 RadhikaSummaryElectronicsVertex Electronics ~ change in the actuator calibration

MC1/MC2/MC3 damping restored

I tweaked the coil actuation gains for MC1/MC2/MC3 according to Koji's updated calculations:

1/9.6 for face coils
1/0.87 for side coils

With foton and load coefficients working as expected, these coil output filters were successfully added to MC2 and MC3.

Damping tests

Note: While burt restoring C1MCS to a pre-upgrade state, a "NOT OK" flag popped up and the coil balancing gains for MC1/MC2/MC3 were reset to +-1. Koji showed me how to access the original values in c1mcs.snap (using grep) and I restored the coil gains to their values from 9/12/2023.

- *Recall from past ELOG that MC1 OSEM input gains all switched from -1 ---> +1; and MC1 coil output gains changed signs from [-,-,-,-,-] ----> [+,-,+,-,+]. No changes were made to MC2 or MC3.*
- Turned on damping filters
- Gave an offset of 10000 cts to C1:SUS-MC1/2/3_ULCOIL_OFFSET. OSEM striptools can be found in Attachments 1,2,3.

Next steps

- Get BS/ITMX/ITMY/PRM/SRM online and apply new sensor/actuator scaling factors
- Confirm damping works as expected for above suspensions
- Bring IFO to nominal alignment
- Revisit upgraded suspensions and perform fine tuning (input matrix diagonalization, coil balancing)
  17862   Wed Sep 20 17:02:22 2023 RadhikaSummaryElectronicsVertex Electronics ~ change in the actuator calibration

[Paco, Radhika]


We used the pre-upgrade C1:SUS-MC1/2/3_SUSPIT/YAW/POS_INMON values as a baseline to restore IMC alignment.

Procedure we followed:

1. Use MCR spot position to align MC1.
2. Move MC3 to try to hit OSEMs on MC2F. Note down these MC3 PIT/YAW offset values and navigate to their center to align MC3.
3. Now move MC2 to steer the beam back around the cavity and hit MC2 OSEMs once again. Alignment is very close! Continue to move until flashing is observed.
4. IMC autolocker kicks in; burt restore c1iooepics.snap to restore WFS.
  17863   Wed Sep 20 17:28:17 2023 RadhikaSummaryElectronicsre: Filter Coefficient Loading Issue

I noticed the same issue today with C1RMS.txt, when trying to update the coil actuation gains for SRM. The filter changes were saved to chans/C1RMS.txt, so next I checked chans/tmp/. There is no chans/tmp/C1RMS.txt, or chans/tmp/C1RMS.diff. The updated filters do not load.

Update from Chris:

C1RMS.txt is a remnant from some model that doesn't exist anymore. It can be removed.

I went ahead and deleted chans/C1RMS.txt and chans/tmp/C1RMS.txt.

  17866   Thu Sep 21 14:22:02 2023 RadhikaSummaryElectronicsVertex Electronics CDS Update

I recalculated the scale factors between OSEM sensor readings after/before the upgrade. The expected factor is 8.64, although we may want to rethink this if measurements are disagreeing.]

If ITMY can be restored, we can proceed to locking the YARM while PRM/ITMX/BS are worked on.

1. BS values seem reasonable

[UL: 7.52500126;  UR: 9.78603403;  LR: 10.80333519;  LL: 8.58031299;  SD: 4.90237845]

The SD reading is positive and nonzero, even though its still smaller than the face sensor readings by a factor of 2.

2. ITMX SD still negative

[UL: 12.76223943;  UR: 6.40189513;  LR: 8.52507381;  LL: 21.55229024;  SD: -7.9675249]

3. ITMY SD flipped from positive to negative ~3pm 9/21. LL is too small.

[UL: 5.21918023;  UR: 35.90315905;  LR: 19.1338805;  LL: 0.90731276;  SD: -3.68291338]

4. PRM still not reliable

[UL: -0.00064235;  UR: -0.00061758;  LR: -0.00154483;  LL: -0.00583698;  SD: -0.00283635]

5. SRM positive but scale factors widely inconsistent, order of magnitude greater than expected (~8.64).

[UL: 7.22499189;  UR: 3.36944117;  LR: 116.14296786;  LL: 114.59917629;  SD: 1.91497475]
  17867   Fri Sep 22 16:20:25 2023 RadhikaSummaryElectronicsVertex Electronics CDS Update

Today we tried to debug the unreasonable OSEM readings (see previous ELOG)

PRM process

Starting state: PRM face + side values bogus (~0)

1. Somehow through retightening connections, PRM LR+SD counts looked reasonable (and positive). Yay!

2. Toggled on and off the PRM SATAMP; removed Ch1-4 and Ch5-8 PRM inputs

    - Result: BS SD becomes negative when PRM SATAMP is on and Ch 5-8 cable is connected.

2. We disconnected the PRM SATAMP and plugged the PRM inputs into the SRM SATAMP. The SRM SATAMP output was routed to the PRM input on the SATAMP adapter.

    - Result: PRM UL/UR/LL readings still 0.

                 BS SD still negative when SRM SATAMP is turned on and Ch 5-8 from PRM are connected.

                   ---> SRM SATAMP gives same results as PRM SATAMP; PRM SATAMP likely not faulty.

3. Replaced PRM chamber connections with satellite test box for channels 1-4.

    - Result: reasonable PRM UL/UR/LL readings ---> Pin 5 shorting on chamber side is causing issues with Ch1-4.

ITMX - ITMY process

Starting state: ITMX SD counts negative, ITMY SD counts negative (depends on ITMX connection)
To test ITMX (SD negative since change), ITMY (SD negative dependent on ITMX)


 We first switched [ITMX, ITMY]  in the following sequence to get the following results (F = average face values, S = side value)(0 = OFF, 1 = ON)

- [0,0] -> ITMX[F,S] = [300, -5000] ITMY[F,S] = [0, -800]

- [1,0] -> ITMX[F,S] = [~, ~] ITMY[F,S] = [1000, -3000]

- [0,1] -> ITMX[F,S] = [-30, -3000] ITMY[F,S] = [~, ~]

- [1,1] -> ITMX[F,S] = [15000, -10000] ITMY[F,S] = [10000, -3000]


A separate test was done to test ITMX-ITMY coupling on ITMY-side






To check if ITMX was faulty from the chamber end for the SIDE DOF, the satellite test box was used for CH 5-8



For the final sanity check for the effect of ITMX on ITMY side sign, we swapped the ITMX and SRM SAT AMPS ({front -> PD OUT 1, 2}, {back -> Ch 1-4, Ch 5-8})




PRM Ch1-4 shorting issue on chamber side (UL/UR/LL)

BS/ITMY/ITMX SD <0 all seem to be caused by SATAMP adapter or downsteam in ADC2


  17868   Fri Sep 22 18:26:08 2023 RadhikaSummaryElectronicsVertex Electronics CDS Update

[Koji, Radhika, Murtaza]

All upgraded suspensions have reasonable OSEM readings! Ready for damping tests and alignment next week.

We fixed PRM OSEM reading by isolating pin5 of the first DB25 [17871]. This makes the PRM UL unbiased by the PD seems to be receiving some light.

The PRM/BS/ITMX/ITMY SATAMP adapter was removed and the front-end pins were checked for shorting. Indeed, a short was found in the SIDE1-4 ribbon cable inside the sat-amp adapter, from the wires being compressed to one side of the dsub-ribbon adapter at the input joint [Attachment 1]. We reclamped the ribbon and verified there was no shorting and that the pins were properly aligned [Attachment 2]. This means PRM/BS and ITMX/ITMY SIDE signals should no longer be cross coupled.

All OSEM counts looked good after these fixes. Only a few ITMY OSEMS looked low, but Koji checked both PDMON voltages for ITMY, and we confirmed with calibration that the OSEM counts were reasonable.

  17877   Thu Sep 28 11:27:24 2023 RadhikaUpdateSUSPRM/SRM damping/alignment

PRM/SRM OSEM input calibration

- I realized I had not yet updated the input OSEM cts2um calibration. For PRM and SRM, I changed each cts2um filter gain from 0.36 ---> 0.0417 (factor of 8.64).

- The coil output filters (V2A) had already been updated according to new actuation calibration.

PRM damping/alignment

- As noted in the previous ELOG, PRM SDSEN gain was 0.2 instead of 1. I turned on damping filters for PRM and noticed SD motion was underdamped. I changed PRM SDSEN GAIN from 0.2 ---> 1. Final PRM damping test in Attachment 1.

- With PRM alignment restored (no PIT offset in output matrix), the PRM oplev is aligned and is recording light.

- I left PRM with a misalignment offset (damping loops on; oplev loops off).

SRM damping/alignment

- I performed a damping test of SRM with the optic alignment restored (no PIT offset in output matrix). This way the OSEMs were not saturated. In this configuration, SRM passed a damping test [Attachment 2].

- However in this configuration, no light was hitting the oplev. I tried to manually align but gave up after I saw no improvement. Which raises the question, was the SRM oplev ever (recently) aligned?

- I left SRM with a misalignment offset, but in this state the OSEMs saturate and the damping loops drive unstable motion. So SRM damping loops are off.


  17879   Thu Sep 28 12:43:02 2023 RadhikaUpdate IFO ALIGNED (WITH SOME ISSUES)

While aligning today I realized the cavAlign step sizes and step factors had not been updated after the upgrade.

Here are the new MEDM command arguments to launch cavAlign. Only factors not equal to 1 are listed. The updates made by me are in red

Optic pair Step size Step factor
PR3-ETMY 1  
TT1-TT2 0.001  
PR2-PR3 1  
TT2-PR3 0.001 1000
PR3-ITMY 1  
SR2-AS1 1  
SR2-AS4 1 3.6
LO1-AS4 1  
PRM-PR2 1  
TT2-PRM 0.001 1000

Interesting notes:

- the factor of 3.6 for AS4 relative to SR2 is interesting - don't know where this comes from.
- LO1-AS4 step size was never updated from 0.001 to 1. I made the change.
- ITMX-ITMY step size for MICH was originally 0.0001. I've set the new step size to 0.1 to reflect this.
  17903   Tue Oct 17 19:35:31 2023 RadhikaUpdateASSReducing XARM-ASS Errors

I resumed work to restore XARM ASS

I manually aligned XARM and calculated the output matrix using scripts/ASS/getASSOutMat.py. This script gives an offset to the ETM/ITM/BS in pitch and yaw and records all error signals to construct a sensing matrix (8 err signals x 6 actuators). Then the ITMX PIT/YAW L error signal rows are removed (as per XASS historical practice) and the resulting square matrix is inverted.

A few times I loaded the output matrix and turned up the ASS servo gain, but this caused error signals to diverge and transmission to drop. I realigned XARM in between each time and recalcuated the output matrix until one looked promising [Attachment 1].

- From a decently aligned state, the servo maintained transmission and controlled error signals began to converge to 0.

- However when I gave an offset to some optic, transmission started to recover but then dropped even as all controlled error signals were minimized [Attachment 2]. A zoomed version of this is in Attachment 3.

     - ITMX PIT L (light blue) / ITMX YAW L (light pink) are uncontrolled

     - ETMX PIT L (dark blue) has a ~0.2 Hz oscillation, but its mean error is roughly 0. This behavior has been present since XASS stopped working, but it is yet to be understood.

The output matrix is successfully reducing the error signals it controls, but transmission is not maximized. I wonder if it's stuck in a local minimum, but I haven't convinced myself that these error signals can be 0 when the beam spots aren't centeredand cavity/beam axes aren't matched. Maybe we need to use the ITMX PIT/YAW L error signals.

Things to try:

1. Assume pitch and yaw are decoupled and calculate a checkerboard output matrix, and debug each angular DOF at a time. I briefly did this today and got the pitch loop to increase transmission, but not the yaw loop.

2. Altering the sensing matrix to include ITMX PIT/YAW L error signals. Then I'll use the same script to compute the output matrix.

  17920   Wed Oct 25 14:03:17 2023 RadhikaUpdateLSCFPMI CARM with CM board

I drew a block diagram to work through the high-bandwidth CARM feedback using the CM board. The goal was to obtain a derivation for the loop algebra used in CM board YARM locking here, applied to CARM locking. Attachment 1 is the diagram with the following blocks:

CIMC: IMC cavity TF (incl. pole, optical gain)
CCARM: CARM cavity TF (incl. pole, optical gain)
FIMC: MC servo board TF
FCMB: CM servo board TF
FLSC: digital CARM controller TF

Below are the independent, decoupled OLTF expressions for each loop (other loops off):

1. GIMC is the OLTF of the IMC-->PSL loop (middle loop in diagram):

G_{IMC} = F_{IMC}\,C_{IMC}

2. GLSC is the OLTF of the slow LSC loop (bottom loop in diagram):

G_{LSC} = G_{IMC}\,C_{CARM}\,F_{LSC}

3. GCMB is the OLTF of the fast CM board loop (top loop in diagram):

G_{CMB} = G_{IMC}\,C_{CARM}\,F_{CMB}

Now that the independent loop OLTFs are defined, we can interpret the loops that have been measured:

1. The LSC slow CARM loop is always measured with the IMC locked, so the measured TF will include the IMC loop supression:

G_{LSC}^{IMC_{on}, CMB_{off}} = \frac{G_{LSC}}{1-G_{IMC}}

2. The CMB TF measurement is taken with the IMC locked and the slow LSC loop enabled (all 3 loop on). The measured TF will include IMC loop supression and suppression from the LSC loop, which is further suppressed by the IMC loop. The expression below is what you obtain when calculating i1/i2 in Attachment 1 (see derivation in Attachment 2):

G_{CMB}^{IMC_{on}, LSC_{on}} = \frac{G_{CMB}}{(1-G_{IMC})(1 - \frac{G_{LSC}}{1-G_{IMC}})} = \frac{G_{IMC}\,C_{CARM}\,F_{CMB}}{(1-G_{IMC})(1-G_{LSC}^{IMC_{on},CMB_{off}})}

Note that the final expression is in terms of known or measured quantitites. 

  17924   Thu Oct 26 19:40:57 2023 RadhikaUpdateASSXARM ASS Working

XARM ASS Fixed (hopefully)

The winning approach was considering T and L loops separately, and adjusting the gain hierarchy. After chatting with Rana, we reconfirmed that the centering length (L) loop should feed back to the cavity optics, and the pointing transmission (T) loop should feed back to the BS. We discussed dithering the BS to generate a pointing error signal, but it turned out this wasn't necessary since a solution was found with just dithering the ITM and ETM. I decided to make the T loop fast and the L loop slow, as was done previously by Anchal.

Attachment 1 shows the final servo gains and output matrix, along with the Striptool showing maximized transmission and suppression of error signals.

T loop

The intuition was to use the ITM T signals (transmission demodulated at ITM dither freq) as a proxy for the BS pointing error, as was done previously:


Next, ETM T signals were fed back to the ETM to maximize transmission. This has always worked:


The signs were chosen based on what suppressed the error signals.

L loop

On paper I worked through how ITM/ETM misalignment shifts the beam spot on both the ITM and ETM. This was mainly a helpful exercise to gain intuition for the centering. I made small angle assumptions and ended up with:

\begin{pmatrix} d_{ETM} \\ d_{ITM} \end{pmatrix} = \begin{pmatrix} r & r \\ r & r-l \end{pmatrix} \begin{pmatrix} \theta_{ETM} \\ \theta_{ITM} \end{pmatrix}

Here r is the radius of curvature of the ETM (57.37cm); l is the length of the arm cavity (40m); d is the displacement from center of the optic; θ is the angular misalignment of each optic.

In practice, we do not care about the centering of the beam on the ITM. So in reality the useful takeaway was that ETM and ITM angular misalignment both shift the beamspot on the ETM by roughly the same amount.



Again the signs were chosen to suppress the ETM L error signals without the T loop on.

Lastly, I chose the T loop gain 0.1 and L loop gain 0.2.

Instructions for running

The servo gains and output matrix have been updated in ASS_Settings_XARM.snap. Just hit "Run ASS".

  17964   Tue Nov 7 16:29:23 2023 RadhikaUpdateGeneralPhotos and e-level measurements of ITMY/BS/ITMX tables

[Yuta, Vittoria, Radhika]

All photo documentation of the open chambers can be found on the 40m google photos account (foteee@gmail.com). Here are the albums for the ITMY, BS, ITMX tables.

We opened each chamber and captured photos of each suspension below. The photos on the google drive have the name of the suspension in the description.

ITMY table: ITMY, AS1, AS4, SRM
BS table: LO2, SR2, BS, PR3, PRM
ITMX table: ITMX, LO1, PR2

The digital tilt-meters (henceforth called e-bubbles) were assigned a label for each table by Yuta. We zeroed their level readings on the PSL table, assuming it is the most level surface around. We placed the e-bubbles as centered as possible on each table keeping distance from the suspensions. *Note: we didn't think to align the e-bubble with the tapped holes of the breadboard, so next time we'll make sure to do this.* These readings can be seen in Attachments 1-3 (ITMY, BS, ITMX).

Each chamber was closed and nothing was moved from any of the tables.

  17968   Wed Nov 8 16:57:00 2023 RadhikaSummaryGeneralBeam centering strategies around vertex

[Murtaza, Tomo, Radhika]

In preparation for alignment of vertex optics, went through the exercise of acquiring low-power IR lock of the arm cavities. Arm transmission ndscope in Attachment 1 (max transmission 0.1).

YARM and XARM LSC servo gains: 0.015
LSC_TRIG_MTRX elements for TRX/TRY DC: 10

LSC settings and oplev positions in Attachment 2.

Tomorrow morning we plan to complete the alignment work.

  17969   Thu Nov 9 15:18:50 2023 RadhikaSummaryGeneralIn-vacuum beam centering for input optics

[Murtaza, Tomo, Paco, Radhika]

LInk to google photos album for today.


We first started with vertical beam spot centering. To recap, the IR beamspot started off being high on TT2/PRM and PR2 (see Attachment 1 for starting spot position at TT2). We wanted to vertically center each beamspot while monitoring the spot position at the BS (using the YAUX green spot as a reference.

Vertical alignment steps (all centering below is implied vertical):

1. Opened BS chamber

2. Adjusted TT1 to lower spot position on TT2 (lowered every downstream beamspot)

3. Adjusted PR2 to correct for TT1 motion, keeping beam spot at BS fixed (relative to green reference)

4. Iteratively performed steps 2 and 3; realized our step sizes were too small and that we should work sequentially downstream

5. Opened the ITMX chamber and saw spot position was centered on PR2

5. Moved TT1 and TT2 in differential mode until beam spot was centered on TT2; hoping to keep PR2 centering [Attachment 3]

6. Needed to compensate by moving TT2 to center on beam on PR2 [Attachment 4]

7. Adjusted PR2 to center beam on PR3/BS (relative to green reference) [Attachment 5]


To correct the clipping of GTRY on PR3, we needed to shift PR3 along its axis. 

1. There was a counterweight on the table blocking PR3 from being shifted longitudinally (towards table edge). Paco moved a cable clamp to make room to slide the counterweight and shift PR3.


3. Shifting PR3 affected GTRY reaching the camera. Steering mirrors were adjusted to realign the green beam with the camera. One of the GTRY steering mirrors was shifted to prevent it from blocking the IR beam between TT1-TT2.

4. We lost the beamspot on BS after moving PR3. We'll start with moving PR2-PR3 in YAW until the IR is pointed correctly on the BS tomorrow.


1. To wrap up for the day we realigned the arms using the AUX lasers as a reference. With this configuration, the oplevs on the test masses were centered to use as a reference point [Attachment 2].



  17970   Fri Nov 10 16:59:15 2023 RadhikaSummaryGeneralIn-vacuum beam centering for input optics

[Murtaza, Paco, Shoki, Radhika]

IR arm cavity flashing recovered after input optic beam centering - arms locked

Today we picked up from yesterday's work aligning input optics. First we confirmed that the beam spots were still centered vertically after yesterday's progress. Today's goal was to recover IR horizontal alignment on PR3 and BS, and further downstream. Since the PR3 suspension was translated towards the edge of the table (GTRY now unclipped), we now had to consider the risk of the PR2-PR3 path clipping on the bellows of the vacuum tube. 

1. Visually observed IR beam hitting edge of PR3

2. Adjusted PR2 yaw to shift IR beamspot on PR3 towards green spot reference.

3. Tested limits of PR2 yaw adjustment - scanned until beam was clipped by bellows (video of this in google photos album).

4. Once the IR and green spots were aligned on PR3, we tried to steer PR3 to hit BS. We maxed out the range of the CDS offsets, so physically rotating PR3 proved necessary.

5. Paco rotated PR3 and recovered its alignment. Once the IR beam was hitting the BS, fine tuning was performed to ensure the GTRY reference spot and IR coincided at each optic [Attachment 1 at BS; Attachment 2 at PR3; Attachment 3 at PR2 - note distance between green and IR].

Arm cavity flashing was recovered and the arms were locked at low power [Attachment 4].

  17978   Tue Nov 14 18:30:45 2023 RadhikaUpdateGeneralBeam spot position measurements after in-chamber alignment

[Murtaza, Paco, Radhika]

After the input beam path alignment was complete (arm flashing recovered), we attempted to run Yuta's beam centering measurement script (scripts/ASC/measureALLBeamSpotPosition.py). I was able to align and lock the arms at low power following the procedure here. The resulting ITM/ETM beam mis-centering measurements can be seen below.

Next I struggled to lock MICH to measure mis-centering on the BS using Yuta's instructions. We noticed the AS beam was clipping horizontally. Paco and I aligned the AS beam using SR2/AS1 and the beam now appears unclipped. We found the demod angle that minimized AS55_I to be 86.56 deg, not far off from Yuta's value. We mananged to lock MICH with: 1. ASDC trigger matrix element: -30; trigger threshold lowered to -0.5 (enable). We then obtained the BS mis-centering measurement below. Note that the uncertainties here are on the order of the mis-centering value.

Attachments 1 and 2 compare the vertical and horizontal beam mis-centering values before and after the in-chamber alignment. In summary, beam spots on ETMs and ITMs have more or less converged towards center vertically (BS is the exception). However, the beam spots seem to have diverged horizontally from center. This means our pitch corrections were in the right direction, but we'll need to take measurements on PRM/PR2/PR3 to confirm this. It seems like trying to mitigate horizontal clipping at PR3 has propagated mis-centering downstream.

Measuring the beam spot on PRM/PR2/PR3 requires PRY locking, but it seems that little to no light is hitting REFLDC or any of the RF REFL PDs. This will be debugged next.

  Vertical (mm) Horizontal (mm)
ETMY 0.97 +- 0.43 -0.39 +- 0.65
ITMY 1.89 +- 0.22 2.07 +- 0.24
ETMX 2.56 +- 0.26 7.86 +- 0.50
ITMX 2.19 +- 0.20 -1.62 +- 0.12
BS 5.15 +- 5.05 -6.43 +- 3.88
  17981   Wed Nov 15 18:50:23 2023 RadhikaUpdateGeneralREFL path bug hunting

[Paco, Vittoria, Radhika]

Yesterday and today I noticed that REFLDC/REFL RF PDs sense verry little light, under 0.02 counts [Attachment 1]. We opened the table with REFL PDs and observed the beam, trying to steer it onto REFL55. No increase in counts was observed. The optical response of REFL55 was verified by shining a flashlight on it (reached 2 counts). We tried touching the RF PD box and wires to ground them in case there was some weird electrical response. The counts did not increase on the PD. 

We then borrowed the power meter from the PSL table to measure the REFL beam power in watts. Oddly, measuring the beam as upstream as possible (before all the beamsplitters) only recorded 5 mW of light. This was bizarre, since by eye the beam is quite bright on the beam card. Such low power would explain the PDs not picking up the light; Koji theorized that it might be a ghost beam and the actual REFL path might be blocked inside the vacuum volume. On the other hand, PRM alignment shouldn't have changed that much to result in a misdirected REFL beam. We will investigate tomorrow.

  17983   Thu Nov 16 18:29:52 2023 RadhikaUpdateGeneralREFL path bug hunting

Today Yuta and I opened the BS chamber and found that the REFL beam was misaligned in pitch and yaw [Attachment 1]. We steered PRM until REFL and input beams overlapped [Attachment 2]. From there, we moved PRM around until we recovered the REFL beam on the camera. This means bright REFL (prompt reflection from PRM) is aligned onto the AP table. Now some steering mirror alignment on the AP table should recover REFLDC/REFL55 signal response.

ELOG V3.1.3-