40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  Cryo Lab eLog, Page 3 of 61  Not logged in ELOG logo
ID Date Author Type Category Subject
  2989   Thu Sep 1 18:52:44 2022 aaronDailyProgressLab Workcalibrating error and control signals
  • finished measuring in-loop transfer functions for yesterday's configuration
  • tried to add a box
    • moved REFL PD north 1" so I could avoid HWP2 impinging the box
    • Moved TRANS PD and TRANS BS 1" west to avoid impinging the box
    • MC3 mount is too tall for our existing box. Tried a few things to options to add some height to the box, but ended up finding a taller box with the same footprint in EE shop. Added the holes in the same locations as the old box... the fit was too tight and I badly misaligned MC3.
  • Realigned MC3 by rotating laser polarization to P and locking the cavity the low finesse state
  • Found a good set of filter settings that actually seemed to have more robust lock than yesterday (could tap the table more vigorously; 300 mVpp PDH signal full span compared to 15 mVpp rms while locked). However, after further "improving" (as indicated by TRANS DC / REFL DC ratio, adjusting input alignment with cavity locked) mode matching, I couldn't acquire a steady lock for the rest of the day
  2988   Wed Aug 31 12:49:10 2022 aaronDailyProgressLab Workcalibrating error and control signals

After nulling the PDH offset, I locked the cavity. I noticed that the PDH error signal was actually more like 240 mVpp close to the 00 mode (the error signal had >300 mVpp when the 00 is not flashing, probably due to sideband or HOM).

As mentioned above, I wasn't sure the ratio of HF mon to LB error mon for a 1 MHz tone was giving us the right calibration for the control signal. The overall loop gain is surely small, but the gain due to the cavity pole should already be rolling off by 1 MHz. To see what's going on, I injected tones at a few frequencies at the sweep point

Frequency HF mon (dBm) LB mon (dBm) difference (dB)
1 MHz -92 -76 16
900 kHz -91 -74.7 16.3
500 kHz -85.89 -64.9 20.99
100 kHz -69.59 -38.121 31.47
50 kHz -65.44 -31.597 33.84
10 kHz -81.1 -42.4 38.7

I drew the diagram in attachment 1 to help with the loopology. P_1 takes us from V at HF mon to Hz at the cavity input, which is the transfer function we measured with the DFD. P_2 is the PDH response in V/Hz, appears in (HF mon / LB mon), and falls off at high frequency due to the cavity pole.

Because the sweep injection point has its own gain knob, I don't know the ratios (HF mon / sweep) or (LB mon / sweep) directly, just their ratio. However, I think if I inject a tone well below the cavity pole I'll have made the measurement I want -- the loop suppression is cancelled out in the ratio (HF mon / LB mon), so I'll just see the slope of the PDH error signal.


Along the way, I measured some in-loop transfer functions with the HP spectrum analyzer and Moku from 1 Hz to 1 MHz, injecting both at the sweep and excitation points in attachment 1. I did get a satisfactory transfer function at low frequency. Maybe should try with the digital system so I can check the coherence (I've just been heuristically looking for the phase to converge).

[rana, shruti, aaron]

Rana helped us improve the transfer function measurement. Also pointed out that our previous estimate of the in-loop noise looked fine -- the control signal had noise above the electronics floor at low frequency, crossover b/w error and control traces showed that the UGF was approx in the right place, about 40 dB difference between control and error at 10 Hz, and 40 kHz/rtHz noise at 10 Hz is consistent with our estimate of the actuator gain + 1e-4 Vrms/rtHz noise on the control signal at 10 Hz. All consistent with slightly more than laser noise.

  • I was already injecting at the error point and measuring after the summation point (LB error mon), which is good because we won't be comparing two signals that differ by G/(1-G)~1 in the high gain region, but instead signals that differ by 1/(1-G)
  • Switched to the SR785, since we are measuring at low frequency
  • Added a low passing SR560 to the swept sine injection path. Because we are injecting at the error point where our noise is ~1/f, shaping the excitation like 1/f will maintain a more uniform SNR for the excitation.
  • Exciting with 10 mVpp does not give quite enough coherence below 1 kHz; exciting with 100 mVpp causes the loop to lose lock
  • Eventually we gave up trying to get the LB servo to relock. Rana suggests adding a pomona box with a switch at the input to the servo so we filter out the step function transient a bit when engaging the loop.


magnitude part of the transfer function attached in #2 (I know I know, what use is it without the phase...)

This is LB mon / excitation as measured as described in attachment 1. The magnitude is


I don't know why I had GAP_1P_2 in the numerator in my handwritten note, obviously wrong today.

From the plot in attachment 2 and the ~10 Hz/rtHz @ 1 kHz in-loop noise from yesterday's elog, we can estimate that the frequency noise at 1 kHz is about (1e1 Hz/rtHz + 50 dB) = 3 kHz/rtHz. This is suggests ~ MHz/rtHz noise at 1 Hz, if the noise is falling like 1/f.

  2987   Tue Aug 30 10:00:12 2022 aaronDailyProgressLab Workcalibrating error and control signals

This morning, I locked the cavity and finished measuring the PDH response.

PDH response

With the cavity unlocked but flashing 00, I observed the PDH error signal fluctuating with 330 mVpp (note-- more than yesterday, but I didn't change anything from end of day yesterday).

I was able to get the LB servo switch working well enough to lock the cavity. With the cavity locked, there are 28.5 mV rms fluctuations in the PDH error signal, which is less than 10% of the full range (though pkpk is almost half the PDH range). The fluctuations on the control signal (measured at the HF mon point of the current driver) are dominated by compensating the cantilever's 40 Hz mode, and are 713 mVrms (2.92 Vpp). See attachment 1, where the cavity is locked.

Note that I see 40 Hz fluctuations in the transmitted and reflected DC signals with the cavity locked, indicating some nonlinearity in the loop (I did change the PDH offset while acquiring lock, so I could be locking slightly off resonance). See attachment 2.

With the cavity locked, I injected a 1 MHz modulation from a function generator to the sweep port of the LB servo controller. The tone was -95.158 dBm at the current driver's HF mon, and -78.986 dBm at the LB servo's error mon, indicating the gain from the HF mon point to PDH error point is 16.17 dB (see attachment 3). This tells us the PDH response (since we already know the frequency response of the HF mon point in Hz/V).

actuator response

Attachment 4 is the actuator transfer function measured yesterday, calibrated into frequency in Hz of the South laser per volt measured at the HF mon point. Our DFD calibration assumes a flat frequency response, so I don't think the phase should be believed.

The actuator transfer function plot was generated by cryo_lab/scripts/calibrate_noise/LaserTF.ipynb. The transfer function data are in data/calibration/220829_Imon_to_DFD.txt. Parameters and single-number measurements related to calibration are in cryo_lab/scripts/calibrate_noise/calpars.yml. We'll be describing the calibration pipeline on the PSOMA wiki soon.

Frequency noise spectrum

Attachment 5 is the noise ASD measured in V/rtHz at the LB controller's error mon point and at the current driver's HF mon point.

I did the following to turn this into a frequency noise ASD at the cavity input:

  • for the control signal trace
    1. Multiplied by the fitted magnitude transfer function in attachment 4. This is immediately referred to laser frequency.
  • for the error signal trace
    1. Divide by the cavity pole and the PDH sensitivity as measured at 1 MHz (above the UGF) to refer the error ASD to the HF mon point
    2. Multiply by the fitted magnitude transfer function in attachment 4 to get the frequency ASD

The procedures for the control and error traces don't agree (attachment 6). I'm uncertain about going from error signal -> HFmon

  • I found the PDH sensitivity by driving the control signal at 1 MHz, which is above the loop UGF. However, my cavity pole is something like 20 kHz (I think, based on fineses ~ 10,000 for a ~18" traveling wave cavity). I would think the PDH response below the cavity pole should be larger than my measurement at 1 MHz.
  • Might have just applied the cavity pole incorrectly? We had a function that reversed the cavity pole that seemed needlessly vectorized, but maybe I simply broke it.

loop TFs

I also tried measuring the transfer function of the loop with the Moku and HP SA, but couldn't get both coherence and a stable loop.

Update: found a flat scaling error, updating noise spectra.

  2986   Mon Aug 29 14:38:04 2022 shruti, aaronDailyProgressLab Workcalibrating error and control signals

[aaron, shruti, chris, rana]

delay line box returned to 'high sensitivity' configuration

Changed delay line length on the RF side in the delay line box from 20 cm to 1.5 m (Attachment 1).

Attachment 2 shows a sweep of the Marconi frequency just to roughly locate a null in the delay line output.

Attachment 3 is the transfer function of the new box used with a buffer SR 560 and low pass at 1 MHz.

For 300 kHz/V FM dev. 50 mV

We calibrated the DFD by observing a 300 mVpp output range (with a G=1 buffer). There is a peak at 210 MHz, a zero at 182 MHz, and a trough at 146 MHz, so the full range frequency span (pi radians) is 64 MHz. This implies that the slope of the DFD response near the null is 7.4 mV / MHz.

Actuator transfer function

We sent the beat note through an RF amplifier and -5 dB mixer to drive the DFD with a 10 dBm signal, and tuned the North laser TEC to put the beat note near a null of the DFD.

Then, we used the HP spectrum analyzer to drive the HF input of the S laser current driver, while measuring the DFD output on the A input and the current driver's HF monitor point on the R input. We recorded the transfer function from current monitor to DFD output, and we can use the calibration above to turn this into Hz/V as measured at the current monitor point.

Switched from moku laser lock instrument controller to LB servo controller

Switched the PDH error and control cables from the Moku to LB servo controller.

We reconnected the REFL RF cable to the analog PDH mixer box, and delivered a 7 dBm LO from our OCXO. The EOM is driven by a -16 dBm modulation from the OCXO, which is about 100 mVpp (same as we had before from the Moku controller). I turned off the HEPA FFU and blocked the cavity to set the LB controller's input offset. Messed with the gain until I saw flashes.

We sometimes acquire lock with the loop left unattended, but found that the on/off switch of the LB servo controller is not functioning, and can't reliably be used to turn off the control loop. This basically made it impossible to actively acquire lock, since turning off the servo could not be used to reset the controller's integrator.

We did note that with the cavity flashing 00, the PDH error signal was 230 mV pkpk on an oscilloscope.

  2985   Thu Aug 25 20:01:23 2022 aaronUpdateControl Systemclosed loop noise spectrum

Based on my updated calculation of the modulation depth above, I increased the amplitude of the RF modulation from 50 mVpp to 100 mVpp. I then observed that the ratio between the f_0 and f_1 beat notes was about 26.4, which my calculation suggests is modulation depth 0.096.

I observed that the amplitude of the 33.59 MHz tone on REFL AC is maximized when REFL DC is around 1V, so I'm keeping REFL DC less than 1 V to avoid saturation.

I'm able to lock with the same filter parameters, and find a very stable lock (>10 minutes, doesn't lose lock when tapping the table, etc). I note

  • REFL DC ~ 925 mV
  • TEC ~ 7.749 kOhm
  • PDH error signal fluctuating +- 2 mV (mostly at 40 Hz)
  • control signal fluctuating +- 200 mV (mostly at 40 Hz)

Note that this is without the boost filter in place.

I recorded the error and control signals at 1 MHz sampling for 1 minute, and verified that I have all of the data. I also located the .li files containing the full recorded data from Aug 23.

To get a rough calibration of the closed-loop frequency noise, I recorded the beat note frequency (unlocked, but with the same settings) with the Moku phasemeter while driving the control point at 10 mVpp at 1 Hz.

I transferred the files to my laptop for analysis, but frankly if I do it tonight it will be rife with errors. I'll post the closed-loop noise spectra from today and Aug 23 first thing tomorrow.


Attachment 1 is the closed-loop noise mentioned above as measured at the control point. The plotting script is in cryo_lab/scripts/calibrate_noise/LaserNoise.ipynb, and the data are in cryo_lab/data/NoiseSpectra/20220825/ and cryo_lab/data/calibration. The calibration from control point to frequency deviation of the S laser is estimated at 408 MHz/V at 1 Hz, which I applied across the spectrum assuming a flat actuator response. There are probably a number of issues, and it's hard to say if it's plausible without the loop transfer functions... but it doesn't look consistent to me compared to the last time we made such a measurement with the lower finesse cavity. To estimate the open loop gain without transfer function measurements:

  • The control filter provides about +46 dB, and the Moku input stage attenuates -20 dB
  • Actuator is 408 MHz/V
  • The PDH error signal before we increased the cavity finesse was O(MHz/V), and the finesse increased two orders of magnitude.
  2984   Thu Aug 25 18:57:41 2022 aaronUpdateControl Systemlocking again

I tried modifying the DFD to let me measure the frequency noise spectrum directly from the beat note, but was unsuccessful. The mixer in the DFD is a ZFM-3-S+, which "only" operates up to 1 GHz. I had been using a 500 MHz RF amplifier to get my beat note up to the required +10 dBm, but switched to a ZHL-2010+ which also functions up to 1 GHz.

Since the RF electronics in the DFD work up to 1 GHz, if I place the zero crossing of the delay line interferometer at 1 GHz I'll be losing half of the linear range (or a bit more). To calculate the appropriate delay, refer to Rana's note. One half cycle of the delay line is over \delta \phi = \pi, which means if we want the frequency difference across 1/2 cycle of the DFD output to be  \delta f_\mathrm{span}, we should set the cable length difference at

\Delta L=\frac{c_\mathrm{cable}}{2\delta f_\mathrm{span}}

Where c_\mathrm{cable}\approx 2e8 is the speed of light in coax.

I made two versions of the high dynamic range DFD, first with \delta f_\mathrm{span}\approx 1 GHz. The short cable is about 15 cm long, so I cut a 25 cm length of coax cable and crimped on two SMA connectors. I then drove the DFD with a 10 dBm carrier wave from the Marconi, and swept the frequency from 1 MHz to 1200 MHz. I measured the output of the DFD with the SR560 sent to an oscilloscope. The result is in attachment 1. I must be missing a factor of 2 in the DFD output, because attachment 1 shows one full cycle over 1 GHz. The DFD is only "by-eye" linear for about 50 mV around its zero crossing.

Since I could get some extra range by looking at only 1/2 cycle in 1 GHz, I shortened the 'delay' cable to 20 cm, so \Delta L = 5 cm. Attachment 2 shows the same frequency sweep from the Marconi driving the new DFD. We can see that the high frequency part of the sweep is flat, presumably because some of the electronics don't function above 1 GHz. The response looks about linear from 613.8 MHz to 698.8 MHz.

I then sent the +20 dB amplified beat note to the DFD. With the cavity unlocked and the beat note tuned to the center of the DFD linear range (about 650 MHz), the RMS noise on the DFD output is about 25.6 mV (similar to the noise driven by the Marconi, though I forgot to note it). However, with the cavity locked the frequency deviations drove the DFD to nearly twice its linear range, with clear signs of saturation at the extremes of the 40 Hz tone (see attachment 3).

  2983   Wed Aug 24 19:05:17 2022 aaronUpdateControl Systemmodulation depth

I measured the modulation depth of the 50 mVpp, 33.59 MHz modulation provided by Moku's laser lock box driving our iXBlue MPX-LN-0.1 EOM.

cavity wasn't locking

Cavity wasn't locking initially.

I had turned the HEPA FFU off. The polarization was still nearly pure S (1.883 mW before MC1 without PBS, 1.501 mW before MC1 when PBS is inserted between HWP1 and ML2, rotating HWP1 recovered 1.524 mW before MC1. Only about 1% misalignment).

Qfter adjusting input polarization, I noticed that the Moku input impedance had changed to 1 MOhm. I should really set up a script to control the Moku's multi-instrument setup over ethernet so I have an unambiguous starting state, because the load function doesn't seem to always load what I expect (and always will load the 'last saved' configuration, which is dicey). After changing the Moku's input impedance to 50 Ohms, the cavity locks again.

Finding the beat note

On Moku spectrum analyzer, the f_1 sideband amplitude on the S laser is only -95 dBm, so I wouldn't expect to see that sideband on the 4395A at full span and 1 MHz RBW (the floor was -85 dBm). I expect the (f_{0, south} \times f_{0, north}) sideband to be somewhat higher amplitude than (f_{0, south} \times f_{1, south}) because the north laser doesn't see the loss of an EOM before the beat note PD. Nonetheless, I sent the beat note through a ZHL-1A RF amplifier (+18 dB gain) before the 4395A. With the extra gain, I quickly found the peak... though the amplifier wasn't necessary, as the f_0 and f_1 signals on the south laser mixed with north laser f_0 both appeared with plenty of SNR even after removing the amplifier. Must have just been unlucky and impatient yesterday.

modulation depth

I observed the beat note between the north and south carrier fields at -33 dBm, while the beat notes between the north carrier field and south f_1 sideband had amplitude -67 dBm.

The intensity ratio of the North carrier x South carrier beat note to the North carrier x South sideband beat note is

\left( \frac{J_0(\beta)}{J_1(\beta)}\right )^2

Where \beta is defined in the equation for the modulated field

E(t)=E_0e^{i(\omega_0 t + \beta \cos (\omega_m t))}

Hm. This seems wrong, since it implies a modulation depth \beta below 0.001. Found at least one mistake, redoing this morning. I think the above is now correct, but possibly off by a factor of root 2. See my modulation depth notebook on the cryo scripts repo

This implies a modulation depth index \beta of 0.05. Because there are two sidebands and the modulation depth is defined as the maximum deviation over the mean value, the modulation depth is m=2*\beta, implying that the modulation depth I observed was indeed 0.1.

As a sanity check, the spec sheet for our EOM suggests that 3.5 V at 50 kHz modulates a 1550 nm beam by pi, so a 50 mVpp modulation should be closer to modulation depth 0.01. That said, the actuation strength could be stronger at higher frequency, or maybe I'm misinterpreting the specification.

Attachment 1 is a photo of the spectrum analyzer with the data I'm referring to above. The scan is from 20 MHz to 100 MHz with RBW=300 Hz. The narrow peak between the left sideband and carrier is the direct sideband on the south laser at 33.59 MHz (the other peaks are wider because the north carrier is wandering relative to the south carrier).

Side note -- moku cross coupling

Made an observation about the Moku cross coupling. I noticed that the 33.59 MHz sideband sent to Moku's input 1 shows up in the power spectrum for input 2 as measured by Moku's spectrum analyzer.

  2982   Wed Aug 24 17:50:33 2022 ranaUpdateControl Systemlocking again

In the case that the free frequency deviations are too large, just decrease the asymmetry in the DFD cable lengths so that the linear range is ~100 MHz. Once you finish this calibration, you can restore it to nominal.


  2981   Tue Aug 23 18:16:34 2022 aaronUpdateControl Systemlocking again

I don't have a beat note, but I can try it again tomorrow.

Update: Realized we've considered this before. We can use the beat note to measure the actuation gain (current-to-frequency), but can't do the calibration in one shot unless both lasers are locked to the cavity. With only one laser locked, the beat note's frequency deviations are larger than the linear range of the DFD, and too fast for our usual PLLs (marconi, Moku phasemeter, etc).

As an aside, using the Moku's internal oscillator for RF modulation in our PDH loops could let us lock both lasers to the cavity without notching out the unwanted sidebands at (f_mod1 - f_mod2), since we can choose an arbitrary modulation frequency.


If you have the beat note, perhaps you can use the DFD and/or Moku Phase Tracker to measure the calibration of the servo control signal. Then we can put that calibration into the CDS system so that the control signal recorded in frames as a DQ signal is in units of kHz.


  2980   Tue Aug 23 18:16:14 2022 aaronUpdateControl Systemlocking again

I found a reliable lock point for the cavity, and recorded a video (google drive link) of myself sweeping the TEC setpoint by about 1 kOhm with the cavity catching many lock points on the way down. I tried to measure the loop transfer functions, but couldn't easily make a measurement with high coherence. Nonetheless, I'll attach the noise curves, PDH calibration, and transfer functions with low coherence, and note some issues with the measurements today.

What happened

  1. Tried to improve the stability of the lock
    1. I nulled the PDH offset by adjusting HWP1 and HWP2 as above, then blocking the cavity and changing the PDH error point offset until the error signal was nulled (loop disengaged, sweep off). This resulted in a 1.7 mV PDH offset.
    2. Increased integrator saturation slightly (from 47.1 dB to 48 dB)
    3. Tried adjusting other filter parameters to qualitatively improve lock, but didn't find anything better. Overall system was the same as this morning.
  2. Tried to measure and calibrate the noise spectrum
    1. Recorded 1 min of control and error signal data at 300 kHz sampling in the Moku laser lock box
    2. Observed that the PDH error signal was a mess... there was a large, non-monotonic drift in the error signal roughly periodic at the sweep frequency (at any sweep frequency, in decades from 3 Hz to 30 kHz). The drift was about 100 mV pkpk, comparable to the PDH error signal
    3. I attempted several things to clean up the PDH error signal, none of which changed much.
      1. Adjusting the phase at the PDH mixer by first tuning the phase to minimize the PDH mixer output (with the cavity blocked), then increasing the phase by 90 degrees. This choice of phase maximizes the DC level out of the PDH mixer. I then adjusted the PDH setpoint to null the error signal, then unblocked the cavity. Not much change after this procedure.
      2. Introduced a DC offset to the RF modulation signal going to the EOM. I was able to null the DC offset after the mixer without changing the PDH setpoint by adjusting the RF modulation offset to -273 mV. Qualitatively better lock, but the PDH error signal still had a large drift.
      3. I noticed that holding the patch fiber in my hand rotated the polarization of the launched beam (the REFL_MON level increased severalfold). The last patch fiber just before the beam leaves the fiber box wasn't properly secured and was touching the laser diode's heat sink, so I re-laid it and taped it down.
      4. Tried adding a PBS after HWP1 to fix the polarization into the cavity at "S". This PBS was already on the table, and mounted such that the P polarized light is directed upwards. I used HWP1 to maximize power transmitted through the PBS (about 1.7 mW). However, as before the transmitted beam was misaligned into the cavity and I couldn't observe flashing (tried changing the orientation of the HWP with the kinematic mount, no luck). I didn't want to lose our "good enough" alignment, so I removed the PBS. I left HWP1 at its new setting, which should be closer to true "S" polarization than my previous method.
    4. After removing the PBS, I noticed that the PDH error signal was somewhat larger and the periodic drift was reduced. However, this was only true if I allowed enough power incident on REFL for REFL_MON to be about 1-2 V. See attachments for some examples.
  3. Found a qualitatively stable loop configuration (mentioned in the video above), and recorded the control and error signals for 1 min at 1 MHz. Settings were (also in attachment)
    • 1.920 MHz lowpass filter
    • 83.041001 degree LO phase shift, 33.59 MHz LO
    • 0 V PDH setpoint, control signal offset, RF modulation offset
    • Control filter is inverted, integrator gain is 1 at 2.383 kHz, integrator saturation is +47.2 dB
    • Could acquire lock anywhere between TEC setpoint 7 kOhms and 9 kOhms, but I measured around 8.2 kOhms
    • Current driver settings unchanged
    • Moku input/output stages introduce extra 20 dB attenuation for RF input to ch1; 14 dB gain for control signal out of output ch 1
  4. Tried to measure some loop transfer functions by injecting at the control point, but couldn't maintain both lock and coherence (excitations in sections from 3 Hz to 3 MHz, excitation amplitudes 1 mVpp to 20 mVpp). Observed REFL_MON and TRANS_MON flashing, and error signal exceeding 10% of PDH range.
  5. Noted that REFL_MON had 20% dips when the cavity was flashing (relative to 'cavity unlocked,' not relative to the maximum attained REFL_MON level when the cavity loses lock)

Notes, issues

  • The Moku laser lock box using its internal oscillator as LO only exposes the control signal for further summing or measurement, not the error signal; to measure or inject an excitation at the error point, I'd have to reconfigure the instruments.
  • Need to check whether the RFPD is saturating again. I only got stable locks and a clean(ish) PDH error signal with REFL_MON well above 500 mV, but Rana and I observed saturation there earlier.
  • I noticed that the sampling rate of the Moku laser lock box lowpass filter is only 78.125 MHz... but I've been using the same LO frequency as our OCXO, 33.59 MHz. Feels dangerously close to the Nyquist frequency. Might briefly try out a lower modulation frequency, at risk of changing Shruti's mode spectrum calculations.


  1. Nulling error signal with DC offset on RF modulation. The O(1 Hz) breathing on the error signal is approximately in time with the noise from Rocket Lake hard drive bay, but that could be incidental.
  2. PDH error signal sweep representative of what I was getting before adjusting the polarization with PBS and increasing power incident on REFL PD.
  3. PDH error signal sweep with a strange choice of RF modulation offset and PDH setpoint (1 V and 0 V respectively; 1 V is the maximum allowed RF modulation offset, and wasn't quite enough to null the error signal offset at that time). I only include it because it's the cleanest error signal I saw.
  4. PDH error signal for the "final" system as described in (3) above. Swept at 314 Hz.
  5. PDH error signal for the "final" system as described in (3) above. Swept at 3.14 kHz. Surely I should be able to explain the difference between attachment 4 and 5?
  6. Moku multi-instrument setup for measuring transfer functions. The frequency response instrument has unity gain, and currently just passes (A-B, aka control - excitation) to its output.

I thought I recorded noise spectra over almost a minute for the "final" system, but alas only about 400 us saved. Anyway, can't calibrate it yet. Next time.

Set the HEPA FFUs on "High" before leaving

  2979   Tue Aug 23 11:55:31 2022 ranaUpdateControl Systemlocking again

If you have the beat note, perhaps you can use the DFD and/or Moku Phase Tracker to measure the calibration of the servo control signal. Then we can put that calibration into the CDS system so that the control signal recorded in frames as a DQ signal is in units of kHz.

  2978   Tue Aug 23 11:09:21 2022 aaronUpdateControl Systemlocking again

At Rana's direction, I switched back to using Moku's laser lock instrument as the PDH control servo (we're hoping to eventually implement a digital resonant gain filter to damp the 40 Hz cantilever mode). The system is now as in attachment 1.

I adjusted the halfwave plate WP1 to minimize transmitted power through MC1. Then, I adjusted the halfwaveplate WP2 such that the DC level on REFL is about 500 mV. Then, I closed the enclosure doors and turned off the HEPA FFUs.

Attachment 2 shows the state of the Moku laser lock box. The Moku's aux modulator (which is phase-locked to its internal LO) is set to 50 mVpp at 33.59 MHz. The scan is off, lowpass filter is 1.920 MHz, and the controller is inverted. I found that a 90 degrees phase shift on the LO produced a reasonably strong PDH error signal at testpoint A.

Without changing the laser current driver settings (coarse: 4.88, fine: 5.00) and with the control loop disengaged after the "Fast controller" filter, I adjusted the TEC setpoint until I saw flashes on the REFL and TRANS monitor channels on an oscilloscope and on the transmission CCD camera (around 8.128 Ohms). I then engaged the control loop (exactly as in attachment 2), and adjusted the "Fast controller" filter until the cavity locked for O(10s) without interruption. Attachment 3 shows the final settings on the control filter: an integrator with G=1 at 2.383 kHz, and saturates at +46 dB. Below the filter in attachment 3 are the error (probe A, red) and control (probe B, blue) signals with the cavity locked.


  •  I originally was attempting to lock with the TEC setpoint lower, around 7.1, but found that when the control signal saturated the current changed enough for the laser to fall off its hysterisis curve; at the final TEC setting, the laser is on a single branch of its hysterisis curve no matter how the control signal adjusts the laser current.
  • I've seen the cavity locked more stably. If I tap the table, the cantilever is sufficiently excited to lose lock (cavity flashes at 40 Hz until the cantilever motion decays)
  • Before locking, I tried to observe the beat note between N and S Rio lasers on an HP 4395A. I mixed the 10% pickoff of the N laser and 10% pickoff of the S laser (after the S EOM) on a 50-50 fiber BS, sent to an FC1611. I then scanned the N laser TEC setpoint through one round trip of its hysterisis curve at several laser current settings between 100 mA and 128 mA. However, I never found the beat note. The spectrum analyzer was at full span (500 MHz), with a 1 MHz BW, which put its noise floor around -60 dBm. I probably could have tried this longer, but might find a faster spectrum analyzer instead.

I'll measure transfer functions, estimate the noise budget, and try to improve the stability this afternoon.


  2977   Mon Aug 22 15:14:07 2022 JCLab InfrastructureGeneralNew bolts on panel door handles and HEPA filter

[Aaron, JC]

There was an issue of the metal screws from the handles scratching the plastic panels from the sliding doors. To fix this, I ordered some Nylon nuts and bolts from McMaster as replacements. The previous screws were 1" in length as the new ones are 0.75". 

Along with this, Aaron and I also decided to mount the 2nd hepa filter. The procedure went smoth and we decided to put tape over the remaining gap around the edges of both filters. 

  2976   Thu Aug 18 18:01:53 2022 aaronDailyProgressControl Systemlocking

spent the afternoon locking the cavity. I switched back to the analog mixer-lowpass + LB servo controller. Cavity locked but was using most of the controller range (40 Hz oscillation on control signal was several volts out of +- 10 V), and the PDH signal wasn't clean (not improved by lengthening either the EOM modulation or LO cable length by 1m).

  2975   Thu Aug 18 15:27:09 2022 aaronLab InfrastructureLab Workparticle counts, uncovering experiments.

Great, thanks Chris for resetting the DAQ!

Here's one more trend plot for completion... the y-axis is log(counts), though I can't seem to change the axis label in ndscope.

  2974   Wed Aug 17 17:39:05 2022 ChrisLab InfrastructureLab Workparticle counts, uncovering experiments.

The timeline so far as I’m aware:

  • Around 5pm yesterday, the cymac was restarted to restore the DAQ.
  • The Rocket Lake machine has been in the rack since last Friday. It’s a short-term loan to us from LDAS for testing purposes. Nothing was happening with it last night around 11pm.
  2973   Wed Aug 17 10:43:05 2022 aaronLab InfrastructureLab Workparticle counts, uncovering experiments.

Not sure what happened between yesterday and today, but dataviewer is now reporting particle counts data that vary with time, including trends. The data only start at around 5pm on Tuesday, so don't capture the time when the work was being done.

The particle counter recorded a large spike in dust around 11 pm last night -- not sure what that would be associated with, since the lab was empty. When was the hard drive bay "Rocket Lake" installed into Aux rack? If it was last night, it's plausible the fans would have directed dust towards the particle counter.

The last spike in dust is from my mopping with a pre-wetted cloth this morning. Here were my uncovering steps:

  1. Uncover cryo cantilevers experiment, and throw away its cover in the hallways. A large amount of dust had accumulated on top of the plastic.
  2. mop the floors
  3. wipe down large horizontal surfaces like desks, tops of spectrum analyzers
  4. Unwrap the PSOMA table, folding up the plastic from bottom to top so the plastic above the enclosure is covered before being moved
  5. Turn on the PSOMA table HEPA FFU, set to high
  2972   Tue Aug 16 08:55:24 2022 aaronLab InfrastructureLab Workparticle count debug

So what's going on with this leap second error?

I found some entries from the 40m with suggested steps on fixing the annual 0x4000 error for realtime models. Looking in the referenced file, I see some lines commented out that look like Anchal's reference elog, followed by a call to some ligo function that might (or might not) take care of the leap second offset issue.

# pHardware->gpsOffset += #######;
pHardware->gpsOffset = ligo_get_gps_driver_offset( );

Since I'm unfamiliar with the functions, I'm letting Chris know so I don't break anything.

  2971   Tue Aug 16 07:06:10 2022 aaronLab InfrastructureLab Workmoving cryo lab light fixture

This morning, JC and I finished covering the cryo cavs table and cantilever Qs workbench. Moving the light fixture was completed by the afternoon. Photos and video from today are available on the cryo lab google drive.

Particle counts

I tried grabbing the recent particle count trends... but am getting an error when plotting trends with dataviewer (nds). Opening the same channels in ndscope gives the error

Leap second data is expired.

There are no problems with length of frames as checked by /frames/trend/minute_raw/find_bogus_lengths. The counter is still connected directly to cominaux as earlier this year.

The raw data are plausible but inconsistent with the reading from the particle counter display panel (in particular, the recorded counts for 0.7 um and 0.5 um seem to be swapped). The table below is manually recorded from the particle counter. The counter is updating every other minute, and I confirmed the particle count on the front panel does change with each measurement... so its odd that the data recorded by cominaux is constant in time (attachment 1, data over previous two days. x-axis is in GPS units).

Time count @ 0.3 um (CF) count @ 0.5 um (CF) count @ 0.7 um (CF) count @ 1.0 um (CF) count @ 2.0 um (CF) count @ 5.0 um (CF) Rel Hum % Temp (F) Note
Tue Aug 16 07:14:46 2022 63,790 3,630 690 280 140 70 37 82 start of day
Tue Aug 16 08:(20):21 2022 57,300 4,630 1,350 720 490 200 39 80 after covering remaining tables
Tue Aug 16 08:43:47 2022 53,210 4,140 1,090 610 320 90 39 81 starting to expose light fixtures
Tue Aug 16 09:20:43 2022 43,720 3,090 720 430 250 80 38 81 before drilling
Tue Aug 16 09:42:50 2022 51,410 8,740 4,610 3,530 2,130 570 37 81 after drilling with vacuum
Tue Aug 16 10:02:34 2022 94,600 30,780 18,590 13,950 9,000 2,770 37 81 after drilling w/o vacuum
Tue Aug 16 10:05:33 2022 80,960 17,410 9,580 6,860 3,990 900 37 81 after drilling fourth hole w/ vacuum
Tue Aug 16 10:58:40 2022 48,910 2,770 490 170 100 60 37 80 before moving light
Tue Aug 16 11:12:33 2022 52,630 6,510 3,400 2,510 1,800 810 38 80 after moving light
Tue Aug 16 14:45:47 2022 52,970 3,450 1,160 680 420 170 38 80 end of job

Derek arrived to start working on the lights around 8:20 am. After removing the light bulbs and covers down to the fixture, he measured the location of the new holes and started drilling around 9:20 am. He drilled two holes where the North end of the fixture attaches to the ceiling beam, using a vacuum attachment that collects most dust during the drilling and then vacuumed the area with a shop vac. In the center of the fixture, the enclosure prevented the vacuum-endowed drill from being used, so he put a drop cloth directly under the drilling area to catch falling debris while drilling a single hole. He drilled one more hole (using the vacuum attachment) for the far South end of the fixture.

Tue Aug 16 10:12:42 2022  We're taking a 30 min break for another facilities worker to join Derek to move the fixture itself.

Tue Aug 16 10:59:09 2022  Back in the lab, setting up to move the fixture itself.

Tue Aug 16 11:15:47 2022 Fixture moved, mandatory lunch break and will finish installing the light bulbs in the early afternoon.

Tue Aug 16 14:45:26 2022 Job completed.

  2970   Mon Aug 15 15:05:25 2022 aaronLab InfrastructureLab Workmoving cryo lab light fixture

[aaron, jc, derek]

Derek from facilities came to help JC and me cover our tables and optics cabinets in preparation for moving the cryo lab light fixture tomorrow morning (7 am). We used plastic wrap to cover:

  • PSOMA table
  • cryo cavs table
  • silicon cabinet (NW corner of the lab)
  • optics cabinet (S wall of the lab, next to the sink)

Tomorrow morning we will finish wrapping

  • cantilever Qs experiment
  • roof of the cryo cavs table

Photos of the wrapped equipment attached.

PS: Chub also came by and re-mounted our laser safety goggles. Thanks Chub!

  2969   Thu Aug 11 16:44:10 2022 OjoSummary Q Factor Code

As suggested by Rana I added 2 extra parameters to the fit for the ringdowns and created a data sample to test it. The d parameter which dictates the vertical shift has to be really small or the fit goes extremely off and doesn't work. With the data sample used the sum of square error is about 0.6 where closer to 0 indicates the better fit. Later I'll see how it works with real data but Matlab has been running real slow.

  2968   Thu Aug 11 12:54:42 2022 rana, aaronDailyProgressPSOMAcavity locking again after RF scrubbing

[rana, aaron]

To debug the cavity locking we looked at the RF chain (RFPD to demod) and made several changes. Cavity is now locking again!

  1. Inserted PBC cube upstream of the focusing lens for the RFPD (old model New Focus 1811).
  2. There was already a 1/2 wave plate installed upstream of the cube's mount, so this allows us to continuously adjust the power.
  3. We confirmed that this 1811 is the old model with Zrf = 40 kOhms, and Zdc = 1 kOhm. We labeled this 1811 as such.
  4. The 1811 was saturating on both the DC and RF ports (see attached movie).
  5. Aaron lowered the modulation depth by 10x. From 500 mVpp to 50 mVpp. Check to make sure the Moku has a 50 Ohm output and that the EOM has a 50 Ohm input.
  6. Rotated the waveplate to turn the DC level down to 500 mV. Previously @ 2 Vdc.
  7. So the RF signal is now ~40x smaller, and the RF output (directly into a 100 MHz scope (should use a faster scope for looking at 33 MHz RF, because...harmonics)), is now, ~1 Vrms into 50 Ohms.
  8. The ixBLue phase modulator has a mod coeff of 3.5 V / pi radians, or ~ 1 V/rad. A modulation depth of ~0.1 is reasonable, so now we're in a good place.
  9. We also replaced the flaky BNC cable with a new SMA LMR cable to go directly from the PD output to the Moku input.
  10. Aaron replaced (and labelled) the other permanent or semi-permanent cables in the PDH loop with new SMA LMR cables -- no more lossy pink SMA cables!
  11. The REFL DC signal is up to 350 mV with the cavity unlocked, and 296 mV with the cavity blocked. The cavity flashes have ~50% dips in REFL DC

To do:

  • verify Moku PLL and PDH functions with fast scope and 785 SA -- are there glitches at high frequency? how's the noise of the PLL? How do Moku's input stage attenuators work?
    • There are four modes for operating the Moku laser lock box, all of which have tradeoffs. Personally, I think option (5) below has the right balance of Moku convenience and analog reliability.
      1. Use the Moku's internal oscillator to demodulate REFL. This is nice because we can easily change the demod phase, but if we want to use the same LO and RF modulation we must send Moku's aux oscillator (which is "phase-locked to LO", though I don't know what the PLL parameters or performance are) to one of the Moku's outputs. This also means we can't use the slow path of the Moku laser lock box as a temperature controller, and instead need to use a separate PID instrument in multi-instrument mode.
      2. Demodulate with an external signal. Requires setting the demod phase with cables outside of the Moku, and uses one additional Moku input to deliver the LO. Has the benefit of using a (presumably) cleaner LO and mod sine wave, no PLL, and lets us use the slow controller path of Moku's laser lock module freeing up one instrument slot in multi-instrument mode. Personally, I like that tradeoff.
      3. Demodulate with a sine wave generated by Moku and phase locked to an external modulation by PLL. Relative to case (2), this is nice because we can digitally change the demod phase. The downside is our LO has extra noise from the PLL.
      4. No demodulation. In this case, we would use an analog mixer before the Moku. The benefit is we are only sending IF to the Moku's BNC inputs, but it's a bit awkward because there's no way to shunt Moku's lowpass filter in the laser lock module.
      5. Forget the laser lock box module, and instead use an analog mixer and lowpass filter then send the IF to Moku's PID controller. This is the closest analogue to how we were using the LB servo. But, since the PID controller module has a 2x2 control matrix, each output of which is sent to two cascaded PID filters, we could handle both fast and slow control with a single PID controller. We could use two such PID controller modules to control both laser frequencies, and still have two inputs and two instrument slots available for spectrum analyzer, phasemeter, function generator (for sweeping), etc.
    • I also note that the sampling rate of Moku's lowpass filter in the laser lock box instrument is only 78.125 MHz, compared to our 33.59 MHz modulation... hm, what's happening at the 2f harmonic?
  • more sticky mats (JC)
  • order RF couplers
  • hang SMA cables
  2967   Fri Aug 5 15:12:34 2022 OjoSummaryGeneralQ Factor Calcalculation

Altered the Q Factor code by starting the 0 point at the beginning of the sine wave. First it calculates the period using peak finder and gets the mean difference between the peaks in the sample, once the frequency is calculated this can be used for the fit approximation. The Q factor is around 2000 in these data samples. The code needs some improvement since the start point can be wrong for a bad data sample. When the oscilloscope and QPD is first turned on the oscillation data was distorted but after a while went back to normal. The vacuum chamber has gone down to 10^-3 torr though not sure why.

  2966   Tue Aug 2 16:32:51 2022 Ojo Summary  

Adjusted the optical lever with Chris so that the laser was centered on the QPD. The oscillations are now double sided so the data collection is improved. It may be easier to do alignment with the lights off. The Q Calculation needs some work to ensure accuracy.

  2965   Fri Jul 29 16:57:42 2022 OjoSummaryGeneralQ factor collection of cantilever in vacuum chamber

Took 10 sets of data for the cantilever ringdowns. The updated code to calculate the Q fits the data to an exponentially decaying sine wave which makes it much more accurate.

Q Factors calculated: 424, 5800, 894, 912, 6000, 2200, 2600, 10000, 1900, 2082. The current method still needs more improvement to be accurate. The force with which you drive the cantilever to oscillate affects the ringdown so its hard to calculate a consistent Q when the data is inconsistent. You also have to manually adjust the bounds because the ringdown start time changes with each set, so automating that step out would improve the code as well. The next steps are refining the ringdown technique or exploring other options and estimating the Q limits from thermoelastic and gas damping losses.



  2964   Wed Jul 27 16:13:27 2022 Ojo SummaryGeneralVacuum Chamber Setup

Me and Aaron attached the tubes and vacuum pump and activated it. There could be a leak limiting the vacuum suction to look at later. It's essential to let the turbine completely stop before the pressure is changed. The ndscope shows the pressure data in the figure below.

  2963   Tue Jul 26 17:34:26 2022 aaronDailyProgressLab Workcharacterizing pdh loop - beat setup

[aaron, shruti]

We adjusted the PDH servo controller but couldn't get a stable lock with the boost in place. After removing the boost filter, we got a more or less stable lock but couldn't turn on the temperature loop. We continued to be puzzled by why our servo must have such a high gain after our cavity finesse increased...

Eventually we noticed two things:

  • the polarization had again drifted. We adjusted the input HWP to send S polarization to the cavity
  • 12 mVpp would imply 0.005 rad phase deviations according to the spec sheet of our EOM. We want more like 0.3 rad phase deviations (not sure we've understood phase modulation amplitude to modulation depth correctly, we should measure the resulting sideband amplitudes on a spectrum analyzer). Anyway, we increased the modulation amplitude to 500 mVpp (still well within the acceptable range for our EOM) and the PDH error signal looks much cleaner (100s mV range compared to 10s mV range)


later, I added back the boost filter since in principle increasing we'd just increased our PDH responsivity.

I noticed that changing the PDH LO phase also changes the DC level of the PDH error signal (even with the beam blocked inside the cavity). This offset could be due to the EOM applying some amplitude modulation at the RF frequency. If so, the offset would be minimized when the LO is exactly out of phase with the signal at the mixer. Indeed, when I adjust the LO phase to minimize the offset, then unblock the cavity, I do not get a clean PDH signal; rotating the LO phase 90 degrees recovers a clean PDH signal but also introduces a 25 mV or more offset.

I adjusted the 'setpoint' after the lowpass filter to null the DC offset.

The offset level drifts by O(mV) on 100 s timescales. Note that before increasing the modulation dept, the offset was only up to about 5 mV.

Attachments help explain the discussion of offsets above.

  2962   Tue Jul 26 17:26:08 2022 OjoSummaryGeneralQ Data

Switched out the oscilloscope and made the optical lever more stable. Using the ethernet port directly from the oscilloscope to get data instead of from the nds board.

  2961   Mon Jul 25 14:19:23 2022 aaronDailyProgressLab Workcharacterizing pdh loop - beat setup

I found some suitable settings for the Moku lock box, but the loop is only marginally stable and needs some tuning. Will try to measure a transfer function to point in the right direction.


  2960   Thu Jul 21 17:16:58 2022 OjoSummaryGeneralCryo Chamber set up

Discussed with Aaron using a Spectrum Analyzer to see the noise the nds2 board is picking up but the signal wasn't strong enough. Will use the oscilloscope directly to get the ringdowns. Ordering an adapter for the cryostat to do the pump down.

  2959   Thu Jul 21 12:11:53 2022 aaronDailyProgressLab Workcharacterizing pdh loop

The reason the analog boost wasn't working most recently is... the solder broke. I'm remaking our Pomona filter and closing the lid this time so I can get the appropriate pole-zero pair on Moku without translating foton-to-moku data structures.

I removed the old R1/R2/C1 from the Pomona box, stuffed it with new resistors and caps with the same values, and relabeled and closed the lid. Then, I measured the attached transfer function (50 Ohm moku output to 1 MOhm moku input across the Pomona boost filter). I see qualitative agreement with the analytic model from Shruti above, and since we didn't fine tune filter parameters it's good enough (vertical reference lines in the figures attached are at the same frequencies as above, I haven't fitted the data to a pole-zero model).

The data for attachment 1 will be in git lfs at cryo_lab/data/TFs/*20220721*PomonaBoost*

  2958   Wed Jul 20 16:11:55 2022 aaronDailyProgressLab Workcharacterizing pdh loop - beat setup

I removed the PBS between MC1 and REFL PD to avoid the unnecessary output polarization tuning.

I also tried adding a PBS between the first and second input steering mirrors to reject P polarization up (towards the ceiling). However, I couldn't get the cavity flashing again, so removed the input PBS and went back to improving lock acquisition.

After adjusting the focusing lens into REFL PD (1.8 mW out of 2.5 mW reported by REFL DC mon), I could obtain stable locks with the LB servo. I then switched over to locking with the Moku laser lock application, since we want to implement digital filtering (and zero PDH offsets).

I managed to get a stable lock with the Moku laser lock box after much messing with filters, but to add a resonant pole-zero boost requires uploading custom filter coefficients to the filter module. I'll try that tomorrow.

  2957   Fri Jul 15 17:37:04 2022 ranaNotesControl Systemhelp! I'm worried about stability in the Lyapunov sense

I sense that there are issues with loop stability in these designs. Generally, Bode plots are not trusted was of determining loop stability. I usually use things like impulse response and step response to characterize stability. Its also possible to use Nyquist plots.

Take a look in Astrom and Murray. Also, I've left a new controls textbook on your desk the coffee table - I haven't read it yet, but its supposed to be useful.

  2956   Fri Jul 15 14:13:20 2022 aaronNotesControl Systemcontrols model status update

I'm modeling the PSOMA control system for the configuration with a Mach-Zehnder to cancel pump noise, but only one cavity (so the MZ is unbalanced). Here's an update on the current state of the model, and some plots. I'm adjusting some parts of the model (especially sensor response calibration and control filter design) to match reality, and will highlight some features that still don't make sense to me.

Description of loops and model

  1. Lock pump frequency to cavity frequency by sensing PDH signal at symmetric output port RF PD
  2. Lock signal frequency to pump frequency by sensing beat note between pump sideband and DC signal
  3. Lock Mach Zehnder length to a dark fringe by introducing a macroscopic offset to the MZ arm length and measuring the sideband at the antisymmetric output port
  4. Lock the homodyne angle by zeroing the BHD difference channel
  5. lock the pump and signal relative phase by feeding back the BHD sum channel?

A while ago, I made a qlance-Finesse version of our PSOMA 'theoretical' model. I've built a control system around this model using the qlance controls toolkit. The relevant files on the PSOMA repo are:

  • optomechanical + controls model: PSOMA/experiment/csPSOMA.py
  • parameters file: PSOMA/experiment/parcsPSOMA.py
  • plotting notebook: PSOMA/experiment/Controls.ipynb


I'll let most of the plots live in the notebook, but will highlight a few in attachments. Much credit to Kevin Kuns for creating an extremely user friendly 'quantum optomechanics loop and noise calculation' engine. The code to generate these plots is almost directly copied from his FPMI control system example, which I just updated with my own topology and labels.

  1. Control filters
  2. Open loop transfer functions
  3. Closed loop transfer functions
  4. Cross coupling between signal frequency and the other degrees of freedom
  5. calibration of the pump frequency control loop (transfer function from pump frequency to the error point)
  6. Sensing noises referred to the signal frequency
  7. Residual pump and signal laser frequency noise (due to sensing noises)
  8. Overview of the controls system

(the attachments are examples of the plots when I hadn't implemented loop (5) to lock the pump and signal relative phase, but the updated figures are available in Control.ipynb on github)

Questions and complaints

  • The loop controlling the pump frequency (1) has a pole in the OLTF at the mechanical frequency of the light suspended optic. I guess this is an optical spring effect... but I was a bit surprised because we haven't measured the resulting 1/f^4 OLTF (for a pure I controller) in the lab. Is the pole more prominent due to some effect of the Mach Zehnder? For now, I've placed the PI corner of the pump frequency servo controller at 40 Hz to compensate the mechanical resonance.
  • I haven't taken particular care to calibrate or shape the signal frequency, MZ length, or homodyne angle loops
  • The colors and line types of the plots aren't carefully chosen. Also, should add units to some of the transfer function plots (like the calibrations, which have nontrivial dimension)
  • Need to implement loop (5) to stabilize pump and signal relative phase. I'm looking into what's been done for the waveguide squeezer or our other labs with this problem.
  • The mirrors have no actuation transfer function (it's the identity by default, so uniformly 1 m / V response to the control signal)
  • All degrees of freedom are controlled by only one sensor, but one could imagine a combination of sensors providing more optical control
  • The pump-signal relative phase (5) is controlled by feeding back to a steering mirror, but in the lab we would probably instead feed back to EOM or the DC offset of the pump-signal PLL
  2955   Wed Jul 13 17:55:06 2022 aaronSummaryGeneralOptical Lever and QPD

Nice. You also re-mounted most of the optics using proper screws-and-washers technique. Note that the shadow laser was a back reflection from one of the vacuum chamber's windows, and adding the extra mirror let us move the QPD farther from the chamber so the ghost beams could be separated from the main beam.

Could you please post your measurement data and fit each time? It's useful to see what's going on in detail.

We noticed that the laser power is at least 10x less in this new setup (mostly due to using a less powerful laser), which means the electronics noise floor is a bit higher relative to the maximum excitable cantilever amplitude. Also noted that it is possible to saturate the optical lever, that is excite the cantilever enough that the beam moves completely to one side of the other of the QPD. We need to make sure to fit the ringdown only for data that are neither saturating the optical lever nor dominated by electronics noise. We could increase the laser power and add lenses to the optical lever to improve our sensitivity and dynamic range.


Added an extra mirror to eliminate the shadow laser that was reflected onto the QPD. Cantilever broke (Put cantilever on clamp before it goes in the vaccuum chamber); trying to pick it up if it falls is difficult and causes it to break. The Q factor of the first cantilever was around 600. The 2nd is about 500.


  2954   Wed Jul 13 17:00:19 2022 Ojo AkinwaleSummaryGeneralOptical Lever and QPD

Added an extra mirror to eliminate the shadow laser that was reflected onto the QPD. Cantilever broke (Put cantilever on clamp before it goes in the vaccuum chamber); trying to pick it up if it falls is difficult and causes it to break. The Q factor of the first cantilever was around 600. The 2nd is about 500.

  2953   Wed Jul 13 10:23:14 2022 aaronSummaryGeneralOptical Lever Setup

I found one port of the vacuum chamber opened without foil covering. Reminder to always close all vacuum ports when not actively working on the chamber. If left open, dust will settle and spoil your vacuum, optics, and Qs. You'll waste a week or more cleaning everything off.

I covered the port with HV aluminum foil.

  2952   Wed Jul 13 10:21:48 2022 aaronDailyProgressLab Workcharacterizing pdh loop - beat setup

Since I haven't been with Shruti in the lab, I'm doing a sanity check for myself that might repeat some of Shruti's checks.

  • The power out of the S EOM is 5 mW, but after the 90-10 BS only 2.5 mW. This is much more excess loss than we would expect from this beamsplitter, so we should clean the fiber tips and look for our missing power.
  • According to the 1611 1811 manual, the DC bias monitor gain is 10 V/mA (which for 1550nm light implies 10 V/mW). Despite ~2.4 mW reflected from the cavity, I was only seeing ~215 mV on the DC bias monitor (implying 21.5 uW incident power). That could be our factor of 100!
    • I removed the reflective ND=0.6 filter from the lens in front of REFL PD, and immediately saw 58 uW on the REFL PD.
    • I also adjusted the ND filter between MC1 and REFL PD to maximize REFL DC signal. I now see 150 uW on REFL PD.
  • The REFL DC monitor has dips up to 30% of its maximum level (from 1.5 V to 1.0 V)
  • At this point, I'm able to locked easily and stably (10s of s can touch the table) to a higher order (vertical) mode
  • I'm still a bit suspicious about the polarization into the cavity. I know Shruti recently changed the input polarization to recover resonant flashing after making some changes to the fiber path, but since the launching fiber is polarization maintaining it's surprising to me that up stream modifications would change the free space polarization substantially.
    • I placed a PBS in between the first two steering mirrors, and indeed find that most of light is transmitted (P polarized) with only about 119 uW reflected (S polarized).
    • I adjust the half waveplate from 201 degrees to 250 degrees, where the reflected power is maximized (2.31 mW reflected)
    • I then remove the PBS from the beam path... I still see resonances but they are much narrower. See attachments 1 (P laser) and 2 (S laser). Whereas before the cavity was essentially always moving through a broad resonance (such that even sweeping the laser current at 1 kHz, it was challenging to observe a PDH error signal), now the cavity is occassionally moving through a narrow resonance.
  • Because the cavity is so much easier to lock in the low-finesse state with P-polarized light, I'm cleaning up the mode matching a bit with the input waveplate set to 201 degrees; I adjusted the output waveplate to maximize the DC power on REFL. I adjusted the input alignment until I reliably lock on the 00 mode, and maximize the TRANS mon signal relative to REFL mon signal.
    • Even after improving mode matching, the power incident on the TRANS PD is less than 1 uW when locked
  • After switching back to S polarization (rotated both HWP by 45 degrees), I can still see flashing but can't get the cavity locked...

Note that the Pomona box filter was not connected during all of the above; I tried adding the Pomona boost to help lock with S polarization, but still wasn't able to do so.

[after lunch]

  • I measured the transmissivity of MC1 using both S and P polarization.
    • S polarized: 1300 ppm (based on 2.5 mW incident on MC1, 3.2 uW is transmitted after subtracting ~85 nW visible with the beam blocked)
    • P polarized: 22% (based on 2.5 mW incident on MC1, 550 uW is transmitted)
    • This transmissivity is higher than I expected, and indeed even the S polarization transmission is higher than I thought we had measured... but I'll take it.
  • I tuned the laser to S polarization by monitoring the power transmission through MC1 and rotating the input HWP until the transmitted power is minimized; is this cleaner than using a PBS?
  • Then, I spent some time tuning the temperature to find flashes and adjusting the gain... not much luck here.
  • Finally, with the lock 'on' and gain knob at 8.55, I fiddled the LB servo's input offset until, lo, the laser locks to a bright 00 mode. The lock is stable for minutes, and I can tap the table without losing lock (google drive link).


To summarize, I improved the lock stability by the following key steps:

  1. Increased incident power on the REFL PD by removing an unnecessary (until we inject high power TeraXion laser) ND filter
  2. Increased incident power on the REFL PD by rotating output HWP to maximize laser power reaching the REFL PD
  3. Increased cavity finesse by rotating the laser to S polarization, specifically by minimizing the transmission through MC1
  4. Adjusted the PDH servo's input offset so the loop is stabilized to the true resonant condition

I tweaked the mode matching a bit with the cavity locked (S polarization). Here are some parameters of the new system:

  • Mode matching efficiency about 7% (REFL mon is 1.28 V unlocked, 1.2 V locked)
  • TRANS PD sees 0.35 uW when locked (compared to 18 uW in front of the transmission camera, implying the pickoff BS is something like 98-2 or 99-1)
  • Input offset adjustment
    • Wed Jul 13 16:46:01 2022 adjusted input offset until mean PDH error signal under +- 100 uV
    • Wed Jul 13 17:18:34 2022 offset is now over 2 mV
    • Wed Jul 13 17:37:20 2022 offset now -4 mV
  • tweaked the mode matching for a couple hours by adjusting the input steering mirrors to increase TRANS_MON/REFL_MON, then adjusting the output steering mirror to center the beam on REFL PD. Still only about 12% efficiency (based on min(REFL)/max(REFL) when tapping the table to move the cantilever with the loop off)
  • looks like the polarization might also be drifting? The transmission through MC1 can be reduced by adjusting the input polarization, despite already minimizing this transmission earlier in the day.


  2951   Tue Jul 12 11:00:00 2022 ranaSummaryGeneralQ Factor Code

From the waveform, it looks like the mode is ringing down at first, but then rings up. Why is that?


The Q code has 2 Q values. First the oscillation data finds the maximum amplitude then cuts the data to a few seconds after that. The first q calculation part uses Matlab's built in exponential fit to calculate the time constant. The 2nd finds the x value of the time data where the amplitude is the max amplitude/e which gives you the time constant manually. The 2 Q values are relatively close. The python script should get the data from the ports run the matlab code to calculate the Q then add the Q value and time stamp to a file.


  2950   Tue Jul 12 10:46:42 2022 aaronSummaryGeneralQ Factor Code

Cool, thanks for the code and plot! If I understand correctly (for my own sanity check), the code does the following

  1. Use a Hilbert transform to estimate the instantaneous amplitude of the dominant sine wave during the measurement window (that's the envelope you've plotted).
  2. Fit the function a e^{bx} to the envelope, and extract the time constant of the exponential decay as \tau = 1/b
  3. Compute a Q estimate using your fitted time constant by assuming the mode frequency is 120 Hz
  4. Assuming the maximum observed signal on the QPD is the initial mode amplitude, divide by 'e' to get the mode amplitude after one decay time elapses. Then, shift the data series down by the desired mode amplitude and find the times where the shifted data are close to zero (within some tolerance). Finally, compute the Q by multiplying the resulting decay times by your mode frequency.
    • You sort of lucked out here, I don't think this procedure will always work. I tried to reproduce it with some generated data, and ended up with no candidate decay times. It would usually work for high Q samples, but depends on you observing the top of some oscillation just as the mode amplitude reaches 1/e of the initial amplitude. I think the fitting method is the way to go.

For the next iteration, here are some suggestions

  • It looks like the ringdown doesn't really start until about t=0.5s. For a single exponential decay, the slode of the amplitude envelope is typically steepest at the beginning of the decay, but the log(amplitude) slope is constant. Likewise, as Rana suggests it's suprising that the mode amplitude appears to ring up again after 2.5s. You should restrict your fit to just the data undergoing a clean exponential decay. And, come up with some reasoning as to why the ringdown doesn't start at t=0s or rings up after apparently decaying to the level of background.
  • Instead of the generic matlab fitting functions, fit the product of an exponential decay and a sine wave. This will let you jointly estimate the mode frequency and Q.
  • Plot your fitted exponential decay curve to give a visual check that the fit is reasonable. Better yet, plot the best fit curve and a shaded region representing the uncertainty on your fit.
  • You might also plot the exponential decay you expect to observe if the Q is limited by gas damping (for the in-air measurement) or thermoelastic loss (for the in-vacuum measurement).
  • Add this code to the Qryo git repo so you can version control your progress (and easily share the code with collaborators)
  • Export the plot to a pdf so you have a nicely formatted reference version that's convenient to add to your report or elog later
  • Please also use git-lfs to share your raw data on the github. Git-lfs lets you store large data files on github without wasting space by version controlling a bunch of binaries. This lets others run your code and reproduce your plots.
    • git lfs track filename.dat
      git add .gitattributes filename.dat
      git commit -m "adding data files to git lfs"
      git push


  2948   Mon Jul 11 16:53:04 2022 OjoSummaryGeneralQ Factor Code

The Q code has 2 Q values. First the oscillation data finds the maximum amplitude then cuts the data to a few seconds after that. The first q calculation part uses Matlab's built in exponential fit to calculate the time constant. The 2nd finds the x value of the time data where the amplitude is the max amplitude/e which gives you the time constant manually. The 2 Q values are relatively close. The python script should get the data from the ports run the matlab code to calculate the Q then add the Q value and time stamp to a file.

  2947   Mon Jul 11 16:03:01 2022 PeterUpdateOpticsMode Matching Update
  2946   Mon Jul 11 12:09:51 2022 shrutiDailyProgressLab Workcharacterizing pdh loop - beat setup

- Updated the Moku firmware. Have not tried using the phasetracker yet, but the settings in the phasetracker app say the bandwidth is now 1 MHz for the digital PLL and max acquisition rate is 152 kHz.

- I saw that the beat between the two lasers was actually not set up currently. I also set it up differently from before, with the EOM before the beat BS on the south laser path so the RF mod depth can be measured. I made the followinig changes:

  • South laser-> FI -> EOM -> 90-10 BS -> (10% sent to 50-50 beat BS, 90% sent to the free space coupler/cavity).
  • North laser-> FI -> 50-50 beat BS -> (50-50 mixed signal (with South laser)) 90-10 BS -> 10% output sent to Newfocus 1611 fiber coupled

DC level at 1611: -240 mV

Beat (from AC out): -45 dBm peak on spectum analyzer, rougly the 33 MHz sidebands on this spectrum appear with levels ~ -56 dBm. Roughly translates to modulation depth amplitude of 0.3. I will measure this again with the delay line / phase meter.

- I had to change the polarization angle with the first half-wave plate in order to once again see resonances after making the above changes in the fiber setup. Power at the free space coupler is now a little less than 3 mW.

  2945   Fri Jul 8 15:50:53 2022 OjoSummaryGeneralOptical Lever Setup

Changed the clamp of the cantilever since the laser was pointing to high to reach the QPD. Hooked up the oscilloscope to do the ring-down measurements but could not get a signal from the QPD.

  2944   Thu Jul 7 17:35:05 2022 OjoSummaryGeneralCantilevber Optical lever setup

I added a mirror to better aim the laser at the cantilever and attempted to get the right angles to get the maximum signal on the QPD. I didn't hook up the oscilloscope this time but it looks like the laser was able to reach the photodiode.

  2943   Thu Jul 7 12:21:23 2022 shrutiDailyProgressLab Workcharacterizing pdh loop

(Updated 11 -Jul-22)

1. (Coming soon: setting up beat measurement)

2. (I have not yet been able to get a stable lock for long enough to measure this).  But in the free state 88 microW on the power meter corresponded to 98 mV DC at the 1811 output, but we would expect ~800 mV. I tried moving around the alignment quite a bit but could not make it higher. Earlier we actually had > 300 microW incident on the diode to show ~ 300 mW we were seeing -- I decreased the level because this is over the 100 microW of max prescribed power.

3. While unlocked, the dips seem 40% lower than the maximum. Comparing to the locked it is difficult to estimate mode-matching percentage because there seems to be a DC shift in the current/power provided by the LB1005.

4. AC-coupled 1811: 40V /mA AC, 10 V/mA DC


How to increase gain for this loop? What we want is an overall gain increase wihtout any shaping.

  1. What is the RF modulation depth? it should be ~0.2-0.4 radians. This should be measured, not inferred from the data sheets.
  2. What is the power level on the reflected PD, when the cavity is locked?
  3. What is the mode matching fraction?
  4. What is the AC transimpedance of the RFPD?

We are missing a factor of ~100x in the gain here, so most likely there is something broken. The RF phase most likely can give us a factor of a few if we're way off.

It would be good to see the modeled servo loop Bode plot on this plot (modeled using knowledge of all the pieces, rather than a fit).


  2942   Thu Jul 7 11:32:25 2022 PeterNotesLab WorkMeasuring cavity parameters

I just spent about an hour taking measurements of all the distances of the optical components in the PSOMA cavity. ie, the distance from the laser to lens1, distance from lens1 to SM1, SM1t to WP, and so on. I was just using a ruler.  Overall, I got some fairly accurate measurements. Kind of hard to measure with the setup since I didn't want to actually get close and touch anything, and I succeeded since nothing was touched. This data will be useful for me in creating a working model of the cavity in FINESSE.

Shruti and I then decided to try and measure the beam profile. However, the computer died on us before we could get it working. Even before then, we were experiencing some problems in actually collecting that data. The computer was reading the beam, but it wasn't giving us any output. We'll try again after lunch most likely.

Until then I'm going to get this code of the cavity parameters working. Now that I have the distances, I can create a model of the mode matching tolerances of this cavity with hopefully some accurate data.

  2941   Wed Jul 6 17:23:08 2022 Ojo AkinwaleSummaryGeneralOptical Lever and vacuum chamber setup

Me and Aaron put the vacuum chamber and helium laser on a breadboard to prepare the optical setup for the cantilever measurements. The cantilever will have the clamp's base replaced for stability. The plan is for a mirror to reflect the laser onto the cantilever and then to the quadrant photodiode.












  2940   Thu Jun 30 19:33:16 2022 ranaDailyProgressLab Workcharacterizing pdh loop

How to increase gain for this loop? What we want is an overall gain increase wihtout any shaping.

  1. What is the RF modulation depth? it should be ~0.2-0.4 radians. This should be measured, not inferred from the data sheets.
  2. What is the power level on the reflected PD, when the cavity is locked?
  3. What is the mode matching fraction?
  4. What is the AC transimpedance of the RFPD?

We are missing a factor of ~100x in the gain here, so most likely there is something broken. The RF phase most likely can give us a factor of a few if we're way off.

It would be good to see the modeled servo loop Bode plot on this plot (modeled using knowledge of all the pieces, rather than a fit).

  2939   Thu Jun 30 10:35:55 2022 shrutiDailyProgressLab Workcharacterizing pdh loop

[aaron, shruti]


  • Estimating that the cavity pole is around 100 kHz, I played with the PI corner and locked the cavity with the corner at 100 kHz in hope that that would increase our UGF. The transmitted beam always looked very dim on the monitor in this configuration so we switched back to a pure integrator
  • We're also adjusting the cable lengths to optimize the PDH signal
  • Added a lambda/2 filter to make the beam into the cavity s-polarized. Added the lambda/2 followed by a PBS, rotated the polarization to maximize the power of reflected light, then removed the PBS.
ELOG V3.1.3-