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.
The timeline so far as I’m aware:
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:
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.
Since I'm unfamiliar with the functions, I'm letting Chris know so I don't break anything.
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.
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
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).
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.
[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:
Tomorrow morning we will finish wrapping
Photos of the wrapped equipment attached.
PS: Chub also came by and re-mounted our laser safety goggles. Thanks Chub!
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.
To debug the cavity locking we looked at the RF chain (RFPD to demod) and made several changes. Cavity is now locking again!
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.
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.
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.
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.
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:
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.
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.
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.
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.
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*
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.
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.
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.
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:
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.
(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)
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.
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.
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.
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.
To summarize, I improved the lock stability by the following key steps:
I tweaked the mode matching a bit with the cavity locked (S polarization). Here are some parameters of the new system:
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.
Cool, thanks for the code and plot! If I understand correctly (for my own sanity check), the code does the following
For the next iteration, here are some suggestions
- 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:
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.
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.
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.
(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.
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).
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.
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.
I tried measuring some open loop transfer functions while keeping the cavity locked without slow control.
The red line is the measured open loop TF dividing the PDH/LB error mon after injecting a small signal at the -B port of the LB1005 controller. There seems to be a kink in the measured curve at ~ 1 kHz so we would have to repeat this measurement.
The gain being used is nearly at the limit of what the LB1005 can provide but the UGF is only a few kHz. Adding the pomona filter with design in Attachment 2 required us to increase the servo gain by ~18 dB to recover the UGF we had earlier. But seems like we could only increase it by ~ 6 dB with the knob.
How can we increase the gain further?
While chatting with Aaron, we realized since new cables were added, the PDH demod phase might not be optimized and could be the cause of the lower open loop gain.
Used exponential fits in matlab to measure the quality factor of the cantilever from the optical lever setup of last week. The Q factor was around 800. Will look at contributing losses from the clamp and gas damping in the future and look at optically contacting silicon to reduce losses.
[shruti, aaron, ojo, peter]
Attachment 2 is the transfer function of the updated Pomona box and was measured with 1 kOhm in parallel with the output (assuming the current driver has a 1 kOhm input impedance which was what it seemed from the dcc data sheet)
The RF Frequenct Counter from Mini-Circuits is a counter with a very wide range, 1 - 6000 MHz. The module has a REF-IN (BNC) port, RF-IN (SMA) port, and a USB Port. The device receives its input frequency from the SMA port and uses the BNC Port as a refernce, or guide. After I installed the software for the device and grabbed some data, it seemed the program only repeats what is said on the screen of the frequency counter. The advantage is that you are able to grab the data and save it for a specified time interval. As for the accuracy, this device has about a 100 Hz uncertainty. As frequency increase, the uncertainty rises aswell. For calibrating the device, the manual states calibration is not necessary. Although, after a bit more digging, there is a calibration service number.
The objective today was to determine the frequency spectrum of noise in the cantilever.
We started by creating a mount for the cantilever and making space on the east side of the table for beam alignment. We then created a setup that had the laser hitting the cantilever first, which was then directed into a mirror, and then reflected into the QPD and then into the dump. The mirror was used as a way of giving us degrees of freedom to center the beam on the QPD.
The oscilloscope wiring had already been done by Chris before the lab had started, and Ojo centered the beam on the QPD to give us minimal pitch and yaw readings.
Once the laser was on and running, Chris then used Simulink to script the ADC input into channels giving us pitch and yaw in. He then showed us how to use Linux commands in the terminal:
We saw that there was a resonant frequency near 120Hz (but not a power line harmonic), primarily in the pitch spectrum. This leads us to believe that it's the cantilever producing this noise, since the fundamental mode of the cantilever mostly produces displacement and pitch motion of the surface, with little yaw motion.
We were able to get a much better understanding of how experimentalists probe for unknown noises and uncertainties in their setup, and we now have a better way of utilizing this thought process for future problems in our SURF projects.
[attach spectrum plot]
Today we moved some of the mirrors and lenses on the back end of the table where the 630nm laser is. We wanted to prepare a space to be able to test the optical lever. We learned a bit about what the setup of a model cavity looks like within the lab. We were also introduced to some of the PDH locking and control systems.
it was said that we couldn't determine if the PSOMA cavity was locked to the 00 mode, or to a higher-order mode, so Shruti, Dr. Chris, Ojo, and Peter did a small bit of preparation to test the optical lever and see how it's aligned.
Next time, we plan on creating clamps of one of the cantilevers and setting up the photodiodes.
Attachment 1 shows 4 composite posts that I placed around the cantilever for some minimal protection.
After aligning to see some resonances in the transmission and reflection, I turned off the teraxion laser and switched the fibers to send the light after South Rio laser->Faraday->EOM chain to the fiber launch to begin locking. Attachment 2 shows the reflected light (blue) and transmitted light (yellow) before I optimized the mode-matching further.
For attempting the locking, I am now just using the Laser Lock Box on the Moku:Pro. The error signal looks weird even after checking with multiple phase offsets. Not sure what's happening. (Attachment 3)
See attached screenshot for the status. To connect, it was necessary to switch the serial port to COM3 in the connection settings dialog.
I have de-bonded the mirror from the other cantilever also following this procedure re-using this setup. It took about 10 minutes or so to de-bond.
I saw that there were two cantilevers (possibly selected earlier by Aaron) left in the 'clean' part of our enclosure that looked good to bond the mirrors to.
Then, with cryo varnish borrowed from QIL, we followed this procedure and bonded the AR surface of the mirror to the cantilever.
After roughly 3-4 hrs, the mirrors seemed to have bonded to the cantilever. I checked this by picking up the cantilever by holding the mirror edges with ceramic tipped tweezers. I clamped one of them and placed it roughly where it should be in the setup and stored the other one in a wafer case.
Images can be found here.
Rana: photos from my phone and somewhat processed here in the ligo.wbridge Google Photos account. I'm also attaching one showing that the second mirror we bonded is most likely cracked, rather than scratched as I previously thought. It still might be fine for in air testing.
I took microscope photos of the mirror surface (attachment 1, 2)
I'm de-bonding the mirror following the procedure used previously. (attachment 3)
Spent 4 hours aligning today (mostly just chasing my tail) before breaking another cantilever.
When I tried to take pictures of the HR surface of the mirror on the broken cantilever using the USB microscope, I noticed a fingerprint and some fibers.
Initially I thought of drag wiping the surface to get a better image of the actual surface but with the fibers I am not sure how (or if?) to proceed.
Also, there appears to be something like a scratch in the center.
After taking these pictures, I placed the broken cantilever and optic in the enclosure with some lens tissue.
I cleaned the optic and took more pictures. All images (before, after) and a video while drag-wiping are on the ligo.wbridge google drive.
Attachment 1 and 2 are representative before and after pictures respectively.