40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log, Page 189 of 341  Not logged in ELOG logo
ID Date Author Type Categoryup Subject
  16238   Tue Jul 6 10:47:07 2021 Paco, AnchalUpdateIOORestored MC

MC was unlocked and struggling to recover this morning due to misguided WFS offsets. In order to recover from this kind of issue, we

  1. Cleared the bogus WFS offsets
  2. Used the MC alignment sliders to change MC1 YAW from -0.9860 to -0.8750 until we saw the lowest order mode transmission on the video monitor.
  3. With MC Trans sum at around ~ 500 counts, we lowered the C1:IOO-WFS_TRIGGER_THRESH_ON from 5000 to 500, and the C1:IOO-WFS_TRIGGER_MON from 3.0 to 0.0 seconds and let the WFS integrators work out some nonzero angular control offsets.
  4. Then, the MC Trans sum increased to about 2000 counts but started oscillating slowly, so we restored the delayed loop trigger from 0.0 to 3.0 seconds and saw the MC Trans sum reach its nominal value of ~ 14000 counts over a few minutes.

The MC is now restored and the plan is to let it run for a few hours so the offsets converge; then run the WFS relief script.

  16239   Tue Jul 6 16:35:04 2021 Anchal, Paco, GautamUpdateIOORestored MC

We found that megatron is unable to properly run scripts/MC/WFS/mcwfsoff and scripts/MC/WFS/mcwfson scripts. It fails cdsutils commands due to a library conflict. This meant that WFS loops were not turned off when IMC would get unlocked and they would keep integrating noise into offsets. The mcwfsoff script is also supposed to clear up WFS loop offsets, but that wasn't happening either. The mcwfson script was also not bringing back WFS loops on.

Gautam fixed these scripts temprorarily for running on megatron by using ezcawrite and ezcaswitch commands instead of cdsutils commands. Now these scripts are running normally. This could be the reason for wildly fluctuating WFS offsets that we have seen in teh past few months.

gautam: the problem here is that megatron is running Ubuntu18 - I'm not sure if there is any dedicated CDS group packaging for Ubuntu, and so we're using some shared install of the cdsutils (hosted on the shared chiara NFS drive), which is complaining about missing linked lib files. Depending on people's mood, it may be worth biting the bullet and make Megatron run Debian10, for which the CDS group maintains packages.


MC was unlocked and struggling to recover this morning due to misguided WFS offsets. In order to recover from this kind of issue, we

  1. Cleared the bogus WFS offsets
  2. Used the MC alignment sliders to change MC1 YAW from -0.9860 to -0.8750 until we saw the lowest order mode transmission on the video monitor.
  3. With MC Trans sum at around ~ 500 counts, we lowered the C1:IOO-WFS_TRIGGER_THRESH_ON from 5000 to 500, and the C1:IOO-WFS_TRIGGER_MON from 3.0 to 0.0 seconds and let the WFS integrators work out some nonzero angular control offsets.
  4. Then, the MC Trans sum increased to about 2000 counts but started oscillating slowly, so we restored the delayed loop trigger from 0.0 to 3.0 seconds and saw the MC Trans sum reach its nominal value of ~ 14000 counts over a few minutes.

The MC is now restored and the plan is to let it run for a few hours so the offsets converge; then run the WFS relief script.

  16705   Mon Mar 7 10:06:32 2022 YehonathanUpdateIOOIMC unlocked again, completely misaligned

Came this morning and saw that the IMC is unlocked.

Went into MC Lock screen and see that the watchdog is down and the PSL shutter is closed. I tried to open the shutter but nothing happened - no REFL signal or beam on the MC REFL camera .

Thinking this has something to do with the watchdog I upped the watchdog:

ezcawrite C1:SUS-MC2_LATCH_OFF 1

The watchdog on the MEDM screen became green but the shutter still seemed unresponsive. I went to the PSL table and made sure that the shutter is working. I opened the AS table and saw there no MC REFL beam anywhere.

Thinking that MC1 must be completely misaligned I opened the MC align screen to find that indeed all the alignment values has been zeroed! (attachment).

I burt restore c1iooepics from Mar 4th 00:19. Didn't help.

I try to burt restore c1susepics from Mar 1st 13:19. Still zero.

I try to burt restore c1susaux from Mar 1st 00:19 -> seems like alignment values have been restored.

I open the shutter. Beam is flying! MC Watchdogs tripped! I close the shutter. OK, I need to wait until the MCs are dampped enough. MC2 and MC3 have relaxed so I enable their watchdogs. MC1 is still swinging a bit. I turn on damping for MC1 as well.


MC locked immediately but the REFL is still high like 1.2. Is it normal?

I turn on the WFSs and the REFL went down to 0.3 nice. I run the MC WFS relief script.

Attachment 1: Screenshot_2022-03-07_10-15-19.png
  16708   Mon Mar 7 14:55:33 2022 KojiUpdateIOOIMC unlocked again, completely misaligned

Hmm, the bias values were reset at 2022-03-03-20:01UTC which is 2022-03-03-12:01 PST with no apparent disruption of the data acquisition (= no resetting of the RTS). Not sure how this could happen.


  16782   Fri Apr 15 11:59:16 2022 YehonathanUpdateIOOIMC completely misaligned

Came this morning, opened the PSL and there was not even a beam on the MC REFL.

Looking at the big monitor it seems like the WFS signals went through the roof during the "auto-alignment" night session.

I restored the MC alignment from before the misalignment happen and wait for the SUS to damp. Once the RMS values went below 200 I enabled the watchdog and the coil outputs.

I opened the PSL shutter and the IMC locked immediately. I turned on the WFS servo and the MC REFL DC went down to 0.3. I run the WFS relief script.

  16902   Wed Jun 8 16:57:46 2022 KojiUpdateIOOPower Outage 220608: IMC restored

The IMC alignment was restored and the IMC is nicely locking.

Once the vacuum level recovered P<1e-4 torr, the PSL shutter was able to be opened.

The IMC was still flashing, so the lock to TEM00 was possible.

Once it was locked, the MC2 alignment was tweaked and the autolocker and the WFS kicked in to help the locking/alignment.

The transmission is ~13k and seems reasonable considering the low PMC transmission of the PMC (0.672)

  16943   Fri Jun 24 12:13:16 2022 JCUpdateIOOWFS issues

[Yuta, JC]

It seems that early this morning MC got very misaligned. Yuta was able to align the Mode Cleaner again by individually adjusting the MC1 MC2, and MC3. Once transmission reach ~12000, we went ahead and turned on WFS. Oddly enough, the transmission began plummeting and MC fell out of lock. After this, Yuta reset the WFS offsets and realigned the WFS QPDs. We then locked MC and turned on WFS once again, but the same issue happened. After fiddeling around with this, we found the if we set C1:IOO-MC2_TRANS_PIT_OUTPUT and C1:IOO-WFS1_YAW_OUTPUT equal to 0, WFS does not cause this issue. Is there a proper to reset WFS, aside from only zeroing the offsets?

Attachment 1: WFS.png
  16946   Sat Jun 25 14:29:48 2022 AnchalUpdateIOOWFS issues

This issue is very weird and still unresolved. Without WFS loops, we'll have to realign IMC often and we might loose IMC alignment completely during weekends or long weekends.

I tried following things today but nothign worked:

  • Blocked WFS PDs and reset DC offsets (sitemap>C1IOO>C1IOO_WFS_MASTER>! Actions>Correct WFS DC Offsets).
  • Switched off MC chamber lights.
    I felt that they might be on, but later I feel that wasn't the case. Anyways, this didn't help.
  • Algined IMC manually using cavAlign tool with MC2-MC3 and then tweaking MC1 and MC3 a little bit. Reach 13.6k in C1:IOO-MC_TRANS_SUM. Then I unlocked IMC with autolocker off, centered beam on WFSs (they were pretty off even though we have been centering them this week), and then reset RF offsets (sitemap>C1IOO>C1IOO_WFS_MASTER>! Actions>Correct WFS DC Offsets). This did not help either.
  • The fact that IMC started misbehaving since Thursday onwards was bugging me that maybe the FE models did not come online properly, that maybe some RTS link is broken in IOO model which is causing the feedback loop to not work. So I went ahead and restarted all models, that didn't help either.
    • Now we have a restartAllModels.sh script which restarts all cds system and restores state to just before restarting. It also makes sure that watchdogs are engaged safely particularly for new suspesnions where alignment offsets are ramped.

We need to investigate this as first priority. Maybe some cable is loose, some PD power supply not working etc. Until we fix this, people should align IMC to > 12000 transmission counts whenever they have a spare 5 min. We need to work in place of WFS for sometime.

  16947   Sat Jun 25 20:23:59 2022 KojiUpdateIOOWFS issues

I could run the WFS servo (6dofs) for more than 15min by flipping the sign for the MC2 Pit and WFS1 Yaw. (See attachments)

This may mean that the sign of the loops / the input matrix / the output matrix, as well as the sensors and actuators, have the problem.
Isn't it the time to measure the sensing/actuation matrices? Maybe Tomislav already has the data?

I have reverted the changes as you may need more careful investigation.

Attachment 1: Screen_Shot_2022-06-25_at_20.23.21.png
Attachment 2: Screen_Shot_2022-06-25_at_20.29.24.png
  16949   Mon Jun 27 12:32:45 2022 yutaUpdateIOOWFS issues fixed

[Anchal, Yuta]

We found that MC1 local damping loop signs were revereted to the state before our standardization on June 7th (40m/16898), but the WFS output matrix was not reverted.
This caused the sign flip in the feedback to MC1, which caused the IMC WFS issue.
This probably happened when we were restarting the models after RTS modeling (40m/16935). We might have used wrong snap files for burt-restoring.

We went back to the snapshot taken at 09:19 June 21, 2022 and now the IMC WFS is working,

  16969   Fri Jul 1 12:49:52 2022 KojiUpdateIOOMC2 seemed misaligned / fixed

I found the IMC was largely misaligned and was not locking. The WFS feedback signals were saturated and MC2 was still largely misaligned in yaw after resetting the saturation.
It seemed that the MC WFS started to put the large offset at 6:30AM~7:00AM (local).
MC2 was aligned and the lock was recovered then the MC WFS seems working for ~10min now.

Attachment 1: C1-MULTI_FBDB3F_TIMESERIES-1340668818-86400.png
Attachment 2: C1-LOCKED_MC_5E4267_TIMESERIES-1340668818-86400.png
  16990   Tue Jul 12 09:25:09 2022 ranaUpdateIOOIMC WFS

MC WFS Demod board needs some attention.

Tomislav has been measuring a very high noise level in the MC WFS demod output (which he promised to elog today!). I thought this was a bogus measurement, but when he, and Paco and I tried to measure the MC WFS sensing matrix, we noticed that there is no response in any WFS, although there are beams on the WFS heads. There is a large response in MC2 TRANS QPD, so we know that there is real motion.

I suspect that the demod board needs to be reset somehow. Maybe the PLL is unlocked or some cable is wonky. Hopefully not both demod boards are fried.

Please leave the WFS loops off until demod board has been assessed.

  17001   Wed Jul 13 18:58:17 2022 KojiUpdateIOOIMC suspecion

This is just my intuition but the IMC servo seems not so optimized. I can increase the servo gain by 6~10dB easily. And I couldn't see that the PC drive went mad (red) as I increase the gain (=UGF).
The IMC needs careful OLTF measurements as well as the high freq spectrum observation.

It seems that I have worked on the IMC servo tuning in 2014 July/Aug. Checking these elogs would be helpful.

  17004   Thu Jul 14 19:56:15 2022 ranaUpdateIOOmc wfs demod

It looks like Tomislav's measurements of the WFS demod board noise were actually of the cable that goes from the whitening to the ADC. So the huge low frequency excess that he saw is not due to wind, but just the inverse whitening of the digital system?

In any case, today, I looked at the connections from the Whitening to the ADC. It goes through an interface chassis to go from ribbon to SCSI. The D-Sub connectors there have the common problem in many of the LIGO D-sub connectors: namely that the strain relief nuts are too tall and so the D connector doesn't seat firmly - its always about to fall out. JC, can you please take a look at this and order a set of low profile nuts so that we can rework this chassis? Its the one between the WFS whitening and the SCSI cables which go to the ADCs.

After pushing them in, I confirmed that the WFS are working, by moving all 6 DoF of the MC mirrors via bias slider, and looking at the step responses (attached). As you can see, all sensors see all mirrors, even if they are noisy.

Next up: get a breakout for the demod output connector and measure the noise there.

For today, I aligned the IMC by hand, then centred the WFS beams by unlocking the IMC and aligning the bright beam. I noticed that the WFS1 beam was being dumped randomly, so I angled the WFS1 by ~3 deg and dumped the specular reflection on a razor blade dump. To handle the sign change in the MC1 actuation (?), I changed the sign in the MC1 ASC filter banks. MCWFS loops still nto closing, but they respond to mirror alignment.

Attachment 1: mcwfs-steps.pdf
  17009   Sat Jul 16 02:44:10 2022 KojiUpdateIOOIMC servo tuning

I wasn't sure how the IMC servo was optimized recently. We used to have the FSS over all gain (C1:PSL-FSS_MGAIN) of +6dB a few years back. It is not 0dB. So I decided to do a couple of measurements.

1) Default setting:


2) Looked at the power spectrum at TEST1A output (error signal)
TEST1A is the signal right after the input gain stage (C1:IOO-MC_REFL_GAIN). Prior to the measurement, I've confirmed that the UGF is ~100Hz even at +0dB (see next section). It was not too bad even with the current default. Just wanted to check if we can increase the gain a bit more.
The input gain was fixed at +4dB and the FSS overall gain C1:PSL-FSS_MGAIN was swept from +0 to +6.
At +5dB and +6dB, the servo bump was very much visible (Attachment 1).
I decided to set the default to be +4dB (Attachment 3).

3) Took OLTF at 0dB and 4dB for the FSS overall gain.

Now the comparison of the opel loop transfer functions (OLTF) for C1:PSL-FSS_MGAIN at 0dB and 4dB. The OLTF were taken by injectiong the network analyzer signal into EXCA and measure the ratio between TEST1A and TEST1B (A/B).

C1:PSL-FSS_MGAIN +0 -> UGF 100kHz / Phase Margin ~50deg
C1:PSL-FSS_MGAIN +4 -> UGF 200kHz / Phase Margin 25~30deg

The phase margin was a bit less but it was acceptable.


Took the opportunity to check the FSR of the IMC. Connected a cable to the RF MON of the IMC REFL demod board. Looked at the peak at 40.56MHz (29.5MHz + 11.066MHz). The peak was not so clear at 11.066195MHz (see 40m ELOG 15845). The peak was anyway minimized and the new modulation frequency was set to be 11.066081MHz (new FSR). The change is 10ppm level and it is within the range of the temp drift.

Attachment 1: ErrorPSD.pdf
Attachment 2: OLTF.pdf
Attachment 3: Screen_Shot_2022-07-16_at_03.59.05.png
  17048   Fri Jul 29 22:37:54 2022 KojiUpdateIOOWFS investigation

I wanted to check what's wrong with the WFS.

I played with MC2 misalignment to check the error signals.
MC2 pitch and yaw misalignment optically produce a vertical translation and horizontal rotation of the cavity axis at the waist, respectively. So it is thought to be a more separated excitation of the cavity axis.
Then I noticed that WFS2 error signals in general has high (~100%) pitch-yaw coupling. So it was suspicious.

I went to the rack and found that WFS2 SEG4 RF input (labeled "8") was not completely inserted. (Attachment 1)
It seemed that the LEMO connector or the receptacle didn't latch properly anymore and could be easily pulled.
I gave some elbow grease to fix this but in vain. I ended up to use LEMO-BNC adapters which somehow offered a robust connection.

Desipite the insightful discovery, this was not the intrinsic solution to the issue. I checked the past signal history, but I don't think this loose connection caused the missing signal.

Next, I needed to go a bit deeper. The WFS sensors are supposed to be adjusted to I phase where the PDH signal maximally shows up. And all the segments are supposed to have the same sign in terms of the PDH signal.

I've unlocked the IMC and turned on MC2 tickling. This swept the cavity over the resonances.
WFS1 SEG1I~3I showed about the same waveform, but SEG4 Q shows the PDH signal rather than SEG 4 I.
Then tried the same test for WFS2. The SEG4 I signal has the sign-flipped PDH signal compared to WFS2 SEG1I-SEG3I.

I quickly adjusted the demod phase of WFS1 SEG4 and WFS2 SEG4 to correct them,

WFS1 SEG4 103.9-> -20
WFS1 SEG4 -58  -> 120

This in fact made the pitch and yaw separated but flipped (Pitch signal shows up in WFS1Y and yaw signal shows up in WFS1P. Same for WFS2)

These modifications were reverted upon my leaving.

Now things are much more subtle now. And I need to do a more careful quantitative analysis of the demodulation phases / input matrix / output matrix.

Note: It seems that I had worked on IMCWFS on Dec 21, 2016

Attachment 1: PXL_20220730_040900843.jpg
Attachment 2: PXL_20220730_041216848.jpg
  17053   Tue Aug 2 01:10:26 2022 KojiUpdateIOOWFS investigation

Continued to work on the WFS repair

Demod phase adjustment:

- Use the PDH signal to adjust the demodulation phase to have uniform signals between the segments.

- Excited laser frequency at 1234Hz by injecting 10mVpp into IMC Servo Board IN2. The input was enabled on the MC Servo screen and given the input gain of 0dB.

- Looked at the ~real time spectrum in WFS1/2 SEG1/2/3/4 I&Q after the phase rotators. Changed the demod phases 1) to have ~0deg transfer function between C1:IOO-MC_F to C1:IOO-WFSi_Ij 2) to minimize the freq signal in Q phases.
(See Attachment 1)

- Resulting change of the demod phases:

WFS1 SEG1  52.0 -> 38.0deg
WFS1 SEG2  54.0 -> 53.0deg
WFS1 SEG3  16.6 -> 33.2deg
WFS1 SEG4 103.9 ->-37.1deg

WFS2 SEG1  17.0 -> 57.8deg
WFS2 SEG2  26.6 -> 51.5deg
WFS2 SEG3  24.5 -> 44.0deg
WFS2 SEG4 -58.0 ->103.7deg

SEG4 of both WFSs had significant phase rotation. A quick check of the power spectrum indicates that the Q signals have significantly (<x1/10) lower signals (Attachment 2/3/4). So that's good.

Transfer function measurement

Now the ASCPIT/ASCYAW of the MC1/2/3 suspension were excited and the transfer functions to WFS1/2 SEG1/2/3/4 and MC Trans P/Y were measured. The analysis will come later.

Again here the Q signals have significantly lower sensitivity to the mirror motion. So it is consistent with the above observation of the spectra.

However, the quick check of the transfer functions indicated that the conventional input matrices result in the flipped dependence of the combined error signals in pitch and yaw.
This might indicate that some of the cables were not inserted into the demod board properly although the cables at the demod boards show no indication of anomaly. (See the photos in ELOG 17048)

It might be the case that the cable had been inserted with a special unusual arrangement.

In any case, this can be fixed at the input matrix. Native change of the input matrix made WFS1PIT/WFS1YAW/WFS2PIT/WFS2YAW/MC2Trans YAW servos running (after some adjustment of the servo signs).
The MC2TRANS PIT servo didn't seem to settle and run away no matter which sign is used.

It's probably better to look at the sensing matrix and figure out the proper input/output matrix carefully. So at this moment, no WFSs are working.

Note that I left the new demod phases in the system

During the transfer function measurement some filters were turned off to make the shaking smoother:

IMC ASC filters were turned off to make the FResp flat:

60Hz comb OSEM Input filters were also turned off to make the transfer functions simpler:
- MC1 INPUT FM2 OFF (60Hz comb)
- MC2 INPUT FM2 OFF (60Hz comb)
- MC3 INPUT FM2 OFF (60Hz comb)

cf. Past IMCWFS commissioning http://nodus.ligo.caltech.edu:8080/40m/12684

Attachment 1: 220801_IMC_WFS_DEMOD.pdf
Attachment 2: 220801_IMC_WFS_DEMOD2.pdf
Attachment 3: WFS1.png
Attachment 4: WFS2.png
  17059   Thu Aug 4 21:58:18 2022 KojiUpdateIOOWFS investigation

OK... It seems that all the 6 dof of the IMC WFS servo loops were closed with some condition...

- Measured the transfer functions from ASCPIT/YAW_EXC of each suspensions to WFS segs.
- FInd the proper input matrix for PIT and YAW for WFS1 and WFS2
- Closed loops one by one => This was not so successful because the loop shape was quite conditional.
- Closed WFS1/WFS2 loops one by one only with FM4 (0.8Hz Zero / (100Hz pole)^2). Adjust the gains to have the UGF at a few Hz.

- Found that the separation between WFS1P and WFS2P was not good. This caused instability of these loops when the gains were matched. I ended up lowering the gain of WFS1P by a factor of 10. This made the loop OK to work. FM3 (Integrator below 0.8Hz) worked fine.

- FM9 Rolloff filters (RLP12) makes the loops unstable.

- The MC2 spot loops (MC2_TRANS_PIT/YAW) are supposed to be slow loops. From the time series behavior it looks they are working.

MEDM Snapshots (Attchaments 1~4)

Attachment 1: Screenshot_2022-08-04_22-10-57.png
Attachment 2: Screenshot_2022-08-04_22-11-16.png
Attachment 3: Screenshot_2022-08-04_22-11-53.png
Attachment 4: Screenshot_2022-08-04_22-12-39.png
  17060   Thu Aug 4 22:14:20 2022 KojiUpdateIOOWFS investigation

Sensing matrix measurement

MCx_ASCyyy_EXC was shaken with the amplitude of 3000 cnt. Measure the transfer functions to each segment of the WFS I&Q demod outputs.

- Pitch excitations consistently indicated WFS1 SEG2&3 / SEG1&4, and WFS2 SEG 1&2 / SEG 3&4 are the pairs.
- Yaw excitations consistently indicated WFS1 SEG1&2 / SEG3&4, and WFS2 SEG 1&4 / SEG 2&3 are the pairs.

---> WFS1P matrix {1,-1,-1,1}, WFS1Y matrix {1,1,-1,-1}, WFS2P matrix {1,1,-1,-1}, WFS2Y matrix {-1,1,1,-1}

Now look at the servo input. The following lists show the important numbers for the actuation to sensor matrices. The numbers were the measured transfer function between 7~10Hz and the unit is 1/f^2 [cnt/cnt].

CHA:, C1:SUS-MC1_ASCPIT_EXC, CHB:, C1:IOO-WFS1_I_PIT_OUT, -77.4602 +/- 18.4495
CHA:, C1:SUS-MC1_ASCPIT_EXC, CHB:, C1:IOO-WFS2_I_PIT_OUT, -22.6042 +/- 5.289
CHA:, C1:SUS-MC1_ASCPIT_EXC, CHB:, C1:IOO-MC_TRANS_PIT_OUT, -0.0007949 +/- 0.00019046
CHA:, C1:SUS-MC1_ASCYAW_EXC, CHB:, C1:IOO-WFS1_I_YAW_OUT, -60.5557 +/- 14.1008
CHA:, C1:SUS-MC1_ASCYAW_EXC, CHB:, C1:IOO-WFS2_I_YAW_OUT, -206.3526 +/- 47.1332
CHA:, C1:SUS-MC1_ASCYAW_EXC, CHB:, C1:IOO-MC_TRANS_YAW_OUT, 0.00027094 +/- 6.6131e-05

CHA:, C1:SUS-MC2_ASCPIT_EXC, CHB:, C1:IOO-WFS1_I_PIT_OUT, 57.8636 +/- 35.3874
CHA:, C1:SUS-MC2_ASCPIT_EXC, CHB:, C1:IOO-WFS2_I_PIT_OUT, -185.079 +/- 104.679
CHA:, C1:SUS-MC2_ASCPIT_EXC, CHB:, C1:IOO-MC_TRANS_PIT_OUT, 0.00089367 +/- 0.00052603
CHA:, C1:SUS-MC2_ASCYAW_EXC, CHB:, C1:IOO-WFS1_I_YAW_OUT, -349.7898 +/- 202.967
CHA:, C1:SUS-MC2_ASCYAW_EXC, CHB:, C1:IOO-WFS2_I_YAW_OUT, -193.7146 +/- 111.2871
CHA:, C1:SUS-MC2_ASCYAW_EXC, CHB:, C1:IOO-MC_TRANS_YAW_OUT, 0.003911 +/- 0.0023028

CHA:, C1:SUS-MC3_ASCPIT_EXC, CHB:, C1:IOO-WFS1_I_PIT_OUT, 65.5405 +/- 14.305
CHA:, C1:SUS-MC3_ASCPIT_EXC, CHB:, C1:IOO-WFS2_I_PIT_OUT, 78.8535 +/- 17.1719
CHA:, C1:SUS-MC3_ASCPIT_EXC, CHB:, C1:IOO-MC_TRANS_PIT_OUT, -0.00087661 +/- 0.00020837
CHA:, C1:SUS-MC3_ASCYAW_EXC, CHB:, C1:IOO-WFS1_I_YAW_OUT, -130.7286 +/- 29.6898
CHA:, C1:SUS-MC3_ASCYAW_EXC, CHB:, C1:IOO-WFS2_I_YAW_OUT, 129.0654 +/- 28.6328
CHA:, C1:SUS-MC3_ASCYAW_EXC, CHB:, C1:IOO-MC_TRANS_YAW_OUT, -0.00024944 +/- 5.9112e-05

Put these numbers in the matrix calculation and take the inverse for pitch and yaw separately.

We obtained

WFS1P    WFS2P    MCTP    
-4.017   -4.783   -7.306e5   MC1P
 3.611   -5.252   -2.025e5   MC2P
 7.323   -1.017   -6.847e5   MC3P

WFS1Y    WFS2Y    MCTY    
-3.457   -4.532   -5.336e5   MC1Y
-0.1249   0.3826   2.635e5   MC2Y
-5.714    1.076   -4.578e5   MC3Y

Basically we can put these numbers into the output matrix. The last column corresponds to the spot position servo and we want to make this slow.
So used x1e-5 values (i.e. removed e5) instead of these huge numbers.


Attachment 1: IMC_SUS_channels_TF.pdf
Attachment 2: IMC_WFS_channels_TF.pdf
Attachment 3: IMC_WFS_segment_TF.pdf
Attachment 4: IMC_WFS_220804.xlsx
  17061   Thu Aug 4 22:14:38 2022 KojiUpdateIOOWFS investigation


Attachment 1: HEPA ON

WFS1/2 PIT/YAW Spectra are stabilized below 1Hz (0.1Hz for WFS1P)

MC2 TRANS PIT is largely contaminated by the other WFS loops.
MC2 TRANS YAW is slightly contaminated but not much compared to the one for pitch.

Attachment 2: HEPA OFF

Again, WFS1/2 PIT/YAW Spectra are stabilized below 1Hz (0.1Hz for WFS1P)

MC2 TRANS PIT is still contaminated but better.
MC2 TRANS YAW is not contaminated.


WFS1/2 signals are largely disturbed when PSL HEPA is ON. Probably the amount of HEPA air flow was not optimized.
Above 1Hz, invacuum suspension are quieter than the beam incident on the IMC.

The dirty WFS signals are fedback to the mirrors. Due the large motion of the beam and also the imperfection of the actuator matrix cause the MC2 spot rather moves than stabilized.

This means that the WFS loops should leave the mirrors untouched above 1Hz i.e. The loop bandwidths should be low (~<0.1Hz). (Yes I know)
However, the simple gain reduction (x10) does make the servos unstable. So more adjustment is necessary. (<-Not for today)

Attachment 1: Screenshot_2022-08-04_22-17-19.png
Attachment 2: Screenshot_2022-08-04_22-18-45.png
  17062   Thu Aug 4 22:32:31 2022 KojiUpdateIOOUpon leaving the lab (WFS investigation)

Upon leaving the lab:

- HEPA is ON at the original speed (i.e. same speed at 5PM today)

- WFS servo is ON, partly because we want to see how stable it is. It is not handled with the autolocker right now.
So there is a possibility that the WFS servo goes wild and make the IMC totally misaligned (and does not come back)
In such a case, go to the WFS servo screen and push "CH" (clear history) of each servo filters.

  17063   Fri Aug 5 12:42:12 2022 KojiUpdateIOOIMC WFS: Overnight observation

The IMC lock survived overnight and the WFS servo loops kept it aligned. The IMC was unlocked in the morning.
The left 6 plots are the WFS servo outputs and the right most two plot show the transmission and reflection of the IMC.

If the WFS is making the lock unstable under high seismic conditions, please turn the loops off.


Attachment 1: Screen_Shot_2022-08-05_at_12.04.01.png
  7964   Wed Jan 30 14:00:02 2013 CharlesUpdateISSISS Design and Prototyping

Attached are both the circuit diagram and the liso formatted *.fil for the main branch of the ISS, as well as the resulting transfer function when analyzed. Unfortunately, as noted in the file, not all of the elements are possible to analyze in liso, such as any type of op-amp with more than two inputs and one output (AD602 used in this design has 16 pins with two distinct amplifiers contained within).

I have begun prototyping this circuit on a breadboard.

Attachment 1: ISS.fil
## ISS Main Branch
## All circuit elements are named according to the circuit diagram 
## "D020241-D2.pdf" by R. Abbott.

# Stages are separated by empty lines and elements between stages are
# also separated by empty lines for easy file navigation
# Before the first stage there is a 'fully differentiable' op-amp
# that I believe serves to isolate the device from the power supply
# However, liso does not have the capability to analyze such an op-amp,
... 79 more lines ...
Attachment 2: ISS_Transfer_Function.png
Attachment 3: D020241-D2.pdf
D020241-D2.pdf D020241-D2.pdf D020241-D2.pdf
  7965   Wed Jan 30 14:37:01 2013 ZachUpdateISSISS Design and Prototyping


Unfortunately, as noted in the file, not all of the elements are possible to analyze in liso, such as any type of op-amp with more than two inputs and one output (AD602 used in this design has 16 pins with two distinct amplifiers contained within).

Typically, you can still find a way to model the important parts of the stages that are not as simply added. In the case of the differential input stage, in particular, it is important to include it because it will usually set the input noise level of the circuit. In this case, the noise is the same as the second stage (U5) and it has a gain of 1, so there is essentially no difference (up to factors of sqrt(2) or 2).

You can edit the opamp.lib file and add in custom components. For the input stage, you can just pretend it is a simple non-inverting amplifier with the specified noise characteristics from the datasheet: un = 1.3n, uc = 50 Hz (see below).

For dual op amps, you can usually just model each part separately. For example, the OPA2604 is a dual op amp that is included in the opamp.lib and can be treated as a single one in a model.



  8110   Tue Feb 19 15:40:34 2013 CharlesUpdateISSISS Prototype

After spending a good deal of time learning how to use the SR785, I was able to characterize my prototype circuit. The transfer function from a swept sine measurement looks very similar to the theoretically calculated transfer function (both of which are attached). The frequency response of the circuit was considered over the range 10 Hz - 10 kHz, which contains the eventual working range of the ISS (at least to my knowledge).

Note that OP27 op-amps were used instead of the high-speed AD829 op-amps that will be implemented in the actual design. This was done as a result of the limitations and inherent noise characteristics of the breadboard on which the prototype was built.

Unfortunately, I saved the wrong dataset (i.e. phase of the transfer function, not magnitude) and thus the presented function here is image generated by the SR785.

RXA: One must learn to use the python-GPIB interface to not lose data in the future.

Attachment 1: Prototype_Transfer_Function.png
Attachment 2: Theoretical_Transfer_Function.png
  8359   Tue Mar 26 20:20:10 2013 CharlesUpdateISSISS Design Plans - Servo Noise Analysis

In order to allow other individuals besides myself to consider the proposed design of the ISS, I have created a publicly available CircuitLab drawing, which can be found here: CircuitLab Drawing. For simplicity, I have used ideal op-amps without voltage rails or their associated power supplies. In the actual implementation of the ISS, we will most likely also have trim resistors to ensure a zero offset for each op-amp. We interpret the PD as a voltage source for simplicity and I will use an actual summing amplifier in place of the summing junction used in the diagram.

The diagram linked above is simply a naive copy of a design by Rich Abbott so there are most likely mistakes and/or unnecessary elements, but it is a work in progress. I began discussing, with Jamie, the relative use of the first few filter stages in the servo. As far as my understanding goes, the first 'stage' was part of cascade of op-amps that served to convert a differential input from the PD into a single DC signal referenced to ground. Indeed, the first stage of my diagram (U1) is simply a unity-gain low-pass filter with f~5 MHz. Additionally, the second filter 'stage', U2, is also a unity-gain low-pass filter although it introduces a phase shift of 180 deg as the input to the second stage is on the inverting input of the op-amp. These characteristics were determined using LISO and examining the transfer function.

Noise analysis was also performed for the above circuit. The noise from various elements is examined at the output of the servo (labeled as 'outU6' in my LISO file). In the attached diagram, we see the voltage noise at the output from each op-amp as well as the sum of all the various noises, which includes resistor noise and current noise from the inputs of each op-amp. These are LISO's standard considerations and it is also worthwhile to note that the result is not referred to the circuit input, but as we have the transfer function of the whole servo, referring the noise to the input is trivial.

I have also included the following output for the sake of completeness.

from 1 Hz onwards noise by OP:I+ (U3) dominates.

from 38.6812 Hz onwards noise by R(R24) dominates.

from 115.478 Hz onwards noise by R(R11) dominates.



Attachment 1: ISS.pdf
  8448   Fri Apr 12 10:33:42 2013 CharlesSummaryISSDC-Coupled ISS Servo Design

General ISS Design

Signals through the ISS are directed as follows:  an error signal is obtained by summing the ~5 V signal from the PD with a -5 V signal from a high precision voltage regulator (which is first filtered with an ~ 30 mHz low-pass Sallen-Key filter).  It is this signal that is processed/amplified by the servo. The output from the servo is then used to drive an AOM (it is not known exactly how this is done and whether or not any preamplifier/extra circuitry is necessary). The resulting modulation, hopefully, reduces fluctuations in the laser intensity incident on the PD, lowering the relative intensity noise.

Servo Design

Almost the entirety of my focus has been directed toward designing the servo portion of the ISS. Speaking in general terms, the currently proposed design consists of stages of active op-amp filters, but now the stages will have internal switches that allow them to switch between ‘flat’ gain buffers and more complicated filters with our desired behavior. Consider some Example Filter Stages where I have demonstrated a typical switching filter with the switch open and closed. When the switch is closed, the capacitor is shorted and we simply have a variable gain buffer (variable in the sense that its gain can be tuned by proper choice of the resistances) with no frequency dependence. When the switch is open, the capacitor introduces a pole at ~100 Hz and a zero at ~1 kHz.

CircuitLab has decent analysis capabilities and attached are plots generated by CircuitLab. The first plot corresponds to a frequency analysis of the voltage gain of op-amp U1 and the ‘flat’ ~20 dBV gain filter with the switch closed and the capacitor shorted. The second plot is the same frequency analysis, but now with op-amp U2 and the filter with the switch open and the capacitor introduced into signal processing. This particular combination of resistors and capacitors produce a DC gain of 60 dBV, a pole at ~100 Hz, a zero at ~10 kHz and high frequency behavior of ~constant gain of 20 dBV. In this simulation, the gain-bandwidth product of the simulated op-amp (the standard op-amp CircuitLab uses) was artificially increased in order to see more ideal behavior in the higher frequency domain.

Switches like the above can be used to add boosts to some initial filter state (which could be like the above or possibly a simple integrator to achieve high DC gain) and change it into a more complex and more useful filter state advantageous for desired noise suppression. Cascades of these switching filters could be used to create very complicated transfer function behavior. No general servo has yet been designed as the exact details of the intensity noise requirements are still being determined.

With regards to the implementation of the switches, some ‘smart’ signal will be used to trigger a switch opening and the boost being introduced to the signal processing. The switches will be opened (open corresponds to adding the boost) in a manner that maintains stability of the servo circuit. Essentially, some sort of time delay or power monitor induced signal (power from the PD output) will be used to modify the servo's behavior.


How exactly the signal will drive the AOM for correct noise suppression is unknown currently.


Attachment 1: Example_Switching_Filter_Transfer_Function_-_Switch_Closed.png
Attachment 2: Example_Switching_Filter_Transfer_Function_-_Switch_Open.png
  8474   Mon Apr 22 20:17:05 2013 CharlesUpdateISSNew Servo w/switching filters


In my previous post here, a new servo design was discussed. Although the exact design used will depend on the particular noise requirements for the 40m and the Bridge Labs (requirements will be considered separately for each application), I still have to yet to see those formalized. Despite this, I have been simulating an example servo circuit with three switchable stages. The design can be found at: New Servo.

Essentially, this circuit consists of three unity gain buffers that can be switched into different filtering states. Attached is a plot of the transfer function of this particular circuit with successive stages turned on. The curve (0) corresponds to all of the filters being switched off, so the total behavior is that of a unity gain buffer. The curve (1) corresponds to the first stage being turned on with the 2nd and 3rd still acting as unity gain buffers. This first state has a gain of ~80 dB at DC and a pole at ~10 Hz which sets the unity gain crossing at ~100 kHz. The curves (2) and (3) correspond to the second and third stage being turned on, respectively. Each of these stages has a pole at DC (i.e. ~infinite gain) and a zero at 10^4 Hz. For f > 10^4 Hz, these stages have gain ~ 1, as we can see in the transfer function below.

I have also performed some noise analysis of this circuit. Attached are a few plots produced by LISO showing the resistor and op-amp noise separately (it was too cluttered on one plot) at the output node of the servo. Both of these plots have a "Sum Noise" trace, which is the sum for every circuit element and is thus identical between plots. The third noise spectrum included is simply the noise at the output referenced to the input with the previously computed transfer function. I'm not sure if there is a simple method embedded in LISO to reference the noise at the output node to the input, but it should be as simple as numerically dividing the noise spectrum by the transfer function between input and output. 

Next, I will be attempting time-dependent simulations of this simple circuit using delayed switches instead of manually controlled ones.

Attachment 1: Servo_v0.1.png
Attachment 2: Example_Filter_-_Transfer_Function_(mag).png
Attachment 3: Example_Filter_-_Transfer_Function_(phase_in_final_state_only).png
Attachment 4: New_Servo_-_Op-Amp_Noise.jpg
Attachment 5: New_Servo_-_Resistor_Noise.jpg
Attachment 6: New_Servo_-_Total_Noise_Input-Referenced.png
  8748   Tue Jun 25 22:57:01 2013 CharlesUpdateISSProposed ISS for CTN Experiment

Following Tara's noise budget, I have developed the following ISS, whose transfer function was computed with LISO and is also displayed below. The transfer function was computed from the output of the differential amplifier circuit (i.e. it does not include the portion of the schematic in the dashed box). The differential amplifier is included for completeness. Essentially, the resistor values of this portion (and even the voltage reference if need be) can be modified to handle various signals from PDs in different experiments. Some filtering may also be applied to the signal from the voltage reference. In previous designs for the ISS, a ~30 mHz low-pass filter applied to the output of the voltage reference has also been proposed.



LISO was also used to compute the input-referred noise of this circuit. Using the response function of Tara's PD the noise spectrum was converted from [V / sqrt(Hz)] to [W / sqrt(Hz)] and then subsequently converted to a frequency noise spectrum, specifically [W / sqrt(Hz)] to [Hz / sqrt(Hz)], using the following transfer function which couples RIN to frequency noise in the CTN experiment. In these particular units, we can make a direct comparison between the inherent noise contribution from the servo itself and other more significant noise contributions shown earlier in Tara's noise budget. Indeed, the servo contributes significantly less noise.


This servo has been prototyped on a breadboard and will soon be characterized with the SR785. Additionally, schematics will be drawn up in Altium and eventually put on PCB.

Additional servos for other experiments can be designed once various requirements for noise suppression are explicitly formalized.

  8759   Wed Jun 26 21:52:55 2013 CharlesUpdateISSCTN Servo Prototype Characterization

Following the circuit design in elog 8748, I constructed a prototype for the servo portion of the ISS (not including the differential amp) to be used in the CTN experiment. The device was built on a breadboard and its transfer function was measured with the Swept Sine measurement group of an SR785. For various excitation amplitudes, the transfer function (TF) was not consistent.


Recall the ideal transfer function for this particular servo and consider the following comparisons.

  • The unity gain frequency is consistent, and the measured TFs all exhibit some amount of 1/f behavior up to this point, but there is no zero around f~10^3 and individual low-frequency poles/zeros are not visible.
  • For each of the inputs, there is a feature that is not exhibited in the ideal TF. We see a large drop in gain a little past 10^3 Hz for a 100mV input, just past 10^2 Hz for a 10 mV input and around 10^1 Hz for a 1 mV input.
  • The ideal TF also goes as 1/f for f < 10 Hz, so I believe the low-frequency behavior of each of the above transfer functions is simply a physical limitation of the breadboard or the SR785, although I don't think this is caused by the circuit elements themselves. I used OP27 op-amps in the prototype as opposed to AD829 op-amps which are must faster and end up amplifying noise. To ensure that these op-amps were not the source of the gain limitation, I also tried using AD829 op-amps. The resulting transfer functions are shown below.
  • Both the frequency at which we see the anomalous feature and the maximum gain increase nearly proportional to the increasing input excitation amplitude.

This gain limitation is problematic for characterizing prototypes as my particular servo has very large gain at low frequencies. 


At the risk of looking too deeply into the above data,

  • It appears there is a slight change in slope around f ~ 10^3 Hz which would be consistent with the ideal TF.
  • For f > 10^3 Hz, one can easily see the TF goes as 1/f. The slope for f < 10^3 Hz is not as clear, although it obviously does not show 1/f^2 behavior as we would expect from the ideal TF.
  • We see the same gain limitation around G ~ 55 as we did with OP27 op-amps.

Unfortunately, the noise was too large for lower excitation amplitudes to be used to any effect. I'll try this again tomorrow, just as a sanity check, but otherwise I will proceed with learning Altium and drawing up schematics for this servo.


  8771   Thu Jun 27 18:24:25 2013 CharlesUpdateISSCTN Servo Prototype Characterization - Done Correctly

As I showed in [elog 8759], measuring the transfer function of my prototype servo was difficult due to physical limitations of either some portion of the construction or even the SR785 itself. To get around this, I tried using lower input excitation amplitudes, but ran into problems with noise.

Finding a TF consistent with theoretical predictions made by LISO was easy enough when I simply measured the TF of each of the two filter stages individually and then multiplied them to obtain the TF for the full servo. I still noticed some amount of gain limitation for 100 mV and 10 mV inputs, although I only had to lower the input to 5 mV to avoid this and thus did not see significant amounts of noise as I did with a 1 mV input. The individual transfer functions for each stage are shown below. Note that the SR785 has an upper cutoff frequency of 100 kHz so I could analyze the TF beyond this frequency. Additionally, the limited Gain Bandwidth Product of OP27 op-amps (used in the prototype) causes the magnitude and phase to drop off for f > 10^5 Hz approximately. The actual servo will use AD829 op-amps which have a much larger GBWP.


The measured TFs above are very close to ideal and agree quite well with theoretical predictions. Based on the [circuit schematics],

  • Stage 1 should have Gain ~ 10^3 until the pole at f ~ 10 Hz  
  • Stage 2 should exhibit a DC pole, a zero at f ~ 10^3 Hz and then unity gain for f > 10^3 Hz

Indeed, this is exactly what we can see from the above two TFs. We can also multiply the magnitudes and add the phases (full_phase = phase1 + phase2 - 180) to find the TF for the full servo and compare that to the ideal TF produced by LISO,


And we find exceptionally consistent transfer functions, which speaks to the functionality of my prototype 

As such, I'll proceed with designing this servo in Altium (most of which will be learning how to use the software)

Note that all TFs were taken using the netgpibdata python module. Measurement parameters were entered remotely using the TFSR785.py function (via control room computers) and following the examples on the 40m Wiki.

Attachment 3: TF-CTNServo_v2_Prototype-Individual_Stages.fig
Attachment 4: TF-CTNServo_v2_Prototype-Calc_vs_Meas.fig
  8786   Fri Jun 28 16:19:06 2013 CharlesUpdateISS40m Noise Budget - Seismic Contribution

 I'm working on developing a full noise budget for the 40m. To that end, I'll use measurements from the GUR1 seismometer to characterize seismic noise. Without any unit calibration, I found the following spectrum,


To extract useful information from this data, I first used the calibration from "/users/Templates/Seismic-Spectra_121213.xml" to obtain the spectrum in [m / s / sqrt(Hz)].

calibrated_data = raw_data * 3.8e-09

I then divided each point in the power spectrum by the frequency of said point to obtain [m / sqrt(Hz)]. I don't think we can simply divide the whole spectrum by 40 meters to obtain [RIN / sqrt(Hz)], although that was my immediate intuition. Having power spectra of all the major noise contributions in units of [RIN / sqrt(Hz)] would make designing an appropriate filtering servo fairly straightforward.



Attachment 2: seismic_noise_6-28-13_raw.fig
Attachment 4: seismic_noise_6-28-13_meters.fig
  8791   Tue Jul 2 12:59:46 2013 CharlesUpdateISSGeneral Design for ISS Applicable to Multiple Applications

 While attempting to develop a somewhat accurate noise budget for the 40m, I reasoned that while the shape of the transfer function for the ISS is important, the degree to which we can 'tune' it to a particular experiment/application is limited.

  • Since we're using a DC-coupled servo, the TF magnitude will go like f^k with k < 0 for low frequency.
  • The UGF will be somewhere around 10 kHz to 1 MHz (most likely right around 100 kHz) as beyond 1 MHz, the gain of our servo is limited by the GBWP of the op-amps.
  • We need around 3 or 4 orders of magnitude of gain in the 1-100 Hz range based on this, with gain > 10 for f < 10 kHz

Beyond that, we're sort of limited by the desired high and low frequency behavior as well as the general principle that more electronics = more noise so we probably don't want more than 3 or 4 filter stages, if that. Additionally, the ISS can be over-engineered so that it suppresses the laser noise to levels well below other fundamental noise sources over the important regime ~10 - 10^3 Hz without particular regard to a noise budget.

The design I propose is very similar to a previous design, with a few adjustments. It consists of 3 filter stages that easily be modified to increase gain for higher frequencies if it is known/determined that the laser being stabilized has a lot of high frequency noise.


Stage 1: Basic LP Filter + Establish UGF (each stage 'turning on' will not change the UGF),  Stage 2: Integrator with zero @ 10 kHz,  Stage 3: Optional extra gain if necessary


With the full TF given by,


As usual we consider the noise caused by the servo itself. Noise analysis in LISO is done with a 1 V input excitation.


This servo should function sufficiently for the 40m.

  8799   Wed Jul 3 20:51:43 2013 CharlesUpdateISSProposed ISS for CTN Experiment - Altium Schematic

 After familiarizing myself with Altium, I drew up the attached schematic for the ISS to be used in the CTN experiment. The filename includes 'abbott-switch' as I am using an Altium component (the switch, in particular), that he created. The MAX333A actually has 20 pins on a single component, but the distributed component that he created is useful for drawing uncluttered schematics. I won't be using all of the pins on this switch, but for completeness, I have included the 3rd and 4th portion of the full component in the upper right hand corner.

Currently, the schematic includes the voltage reference (AD586), a LP filter for the reference signal, the differential amplifier stage to obtain the error signal and then finally all of the filter stages. The schematic does not include the RMS detection and subsequent triggering of each filter stage. The TRIGGER 1 signal is a user input (essentially the on button) while the TRIGGER 2 signal will flip the second switch when the RMS noise has decreased sufficiently after the first filter stage has been turned on. 

PCB layouts will be done once I understand that part of Altium 



I wanted this elog to be in reply to a previous one and I couldn't figure out how to change that in an elog I already submitted.




Attachment 1: CTNServo_v2_abbott-switch.pdf
  8830   Thu Jul 11 13:52:51 2013 CharlesUpdateISSRMS threshold detection and triggering

There are essentially two major portions of the ISS I am designing. One system has the voltage reference, differential amplifier and filtering servo (schematic attached) while the other has a comparator circuit and a triggering mechanism. The first system amplifies an error signal obtained from the PD output and the voltage reference, which is then fed back through the AOM. I've done a lot of work designing/prototyping this first half and now I'm starting to design the second half.

The second system's main purpose is to maintain loop stability as the ISS is engaged. Let's assume a user has decided they want noise suppression. They would first close the ISS feedback loop and an error signal would pass through three unity-gain buffers, providing minimal noise reduction. The user can then send a signal to theTRIGGER 1 port to switch the first stage from its unity-gain position to its filtering position and reduce the intensity noise further. This signal will most likely be digital in origin. Alternatively, when the user first closes the ISS loop, the first stage can already be in its filtering position rather than necessitating two commands.

A test channel (not drawn in the included schematic) will monitor the RMS level of the incoming signal from the PD. This noisy AC signal will first be amplified and then passed through an RMS-to-DC converter. The resulting DC signal is used as a part of the triggering mechanism for later stages. Once the first stage has been switched manually, and the DC signal corresponding to RMS noise of the PD output drops below a certain threshold, stages 2 and 3 will be internally triggered with a short delay between them. Toward being able to detect this threshold, I have designed a simple comparator circuit with an LT1016. The circuit has a fairly low-level output when the input voltage is larger than the threshold (about 1.6 V for my simple prototype), but when the input passes below the threshold, the comparator puts out almost 4 V, a number limited by the supply voltage. The schematic is shown below.


The component V2 and the various voltage dividers serve to establish the reference/threshold voltage. Note that although the LT1016 is not powered in the schematic, it requires ±5 V (a max of 7 V). The above circuit was also prototyped on a breadboard and I characterized it with an oscilloscope. Using a CFG253, I made a low frequency (~0.3 Hz) triangle wave with an amplitude and DC offset such that it oscillates between 0 and 5 V. This was applied to the IN node in the above schematic. The input waveform and the circuit's response (voltage at the OUT node) are shown below. As expected, R2 serves to establish hysteresis. The comparator switches to 'high' output until the input drops below 1.6 V, and then it doesn't switch back to the 'low' output until the input goes up to ~3.4 V.


This behavior is ideal for our application as we can detect when the DC signal from the RMS-to-DC converter drops below a certain level (i.e. the first stage that has been activated does some amount of filtering to lower RMS noise), and then we can trigger subsequent filter stages off of the comparators high-level output. 

This circuit could easily be used to drive the MAX333a switches shown in the first schematic attached. I believe the low-level output is not sufficient to switch the MAX333a although the ~4 V high-level output is quite sufficient. Regardless, these exact values (thresholds, outputs etc) will be determined after I have a better idea of the RMS noise of the laser without any intensity stabilization as well as a solid understanding of how the AD8436 RMS-to-DC converter works. This was simply a proof of concept for lower threshold detection using basic Schmitt trigger topology.

Attachment 1: 40mServo_v1.pdf
  8836   Fri Jul 12 12:51:13 2013 CharlesUpdateISSRMS Noise from PMC Transmission

I went out on the floor to look at the transmitted signal from the PMC to get a rough idea of the noise of the unstabilized laser. There was already a scope hooked up so I just used the measurement features to find the following:

Signal average = 875 mV.  Peak-to-Peak noise = 45 mV

Assuming the noise can be approximated as Gaussian noise, the heuristic for converting to RMS noise of the signal is RMS = Peak-to-Peak / 8 (or Peak-to-Peak / 6, I've used both...)

-> RMS Noise ~ 6.5 mV

When designing my filtering stages and RMS detection/triggering, I'll use relative RMS, i.e. 6 mV / 875 mV = 0.007, as a measure of unstabilized laser noise.

  8838   Fri Jul 12 13:15:43 2013 KojiUpdateISSRMS Noise from PMC Transmission

It would be better to measure the power spectrum density of the fluctuation.
The RMS does not tell enough information how the servo should be.
In deed, the power spctrum density gives you how much the RMS is in the entire or a specific frequency range.

  8839   Fri Jul 12 18:30:20 2013 CharlesUpdateISSRMS Noise from PMC Transmission


It would be better to measure the power spectrum density of the fluctuation.
The RMS does not tell enough information how the servo should be.
In deed, the power spctrum density gives you how much the RMS is in the entire or a specific frequency range.

I wanted the RMS noise simply to establish a very rough estimate of thresholds on RMS detectors that will be part of my device. If you refer to elog 8830, I explain it there. Essentially, when the ISS is first engaged, only one of the 2 or 3 filter stages will be active. Internal RMS threshold detection serves to create a logic input to switch subsequent filters to their 'on' stage.

  8876   Thu Jul 18 21:45:36 2013 CharlesUpdateISSISS - Full Schematic

 Here I have included the full schematic (so far) of the proposed ISS. There are two sheets: the first schematic details the filter stages and their accompanying circuitry while the second schematic details the RMS threshold detection and subsequent triggering.

The first schematic is fairly self explanatory as to what different portions do, and I have annotated much of the second schematic as there are some non-traditional components etc.

I have not yet included some mechanism to adjust the threshold voltage in real time or any of the power regulation, but these should follow fairly quickly.

Attachment 1: 40mServo_v1.pdf
40mServo_v1.pdf 40mServo_v1.pdf
  8920   Wed Jul 24 22:58:03 2013 CharlesUpdateISSISS - Full Schematic - Updated

 I have made significant changes to the ISS schematic, mostly in the form of adding necessary subsystems.

Some changes I have made:

  • Added a front page with sheet symbols that are representations of the other schematic sheets.
  • Added an 'Excitation' subsystem for use in determining the closed-loop transfer function
  • Added an instrumentation amplifier (with ADA4004s at Rana's recent suggestion) to handle the differential input from the PD
  • Included a switchable inverting amplifier (Gain of 1 or -1) to ensure we have the correct polarity
  • Made it so the first filtering stage is immediately active when the ISS loop is closed
  • Added LP filters with large time constants to buffer/delay trigger signals
  • Added test points all over the board
  • Refined a few buffer amplifiers

On the front page, all inputs and outputs are currently BNC ports, although this is most likely not the final design that will be used. For instance, the ports ENABLE, INPUT GND and INVERT are supposed to be logic inputs for a MAX333a switch. These will most likely be front panel switches that either connect the switch's logic pin to GND (Logic 0) or something like a +5 V supply (Logic 1).

I also have not included power regulation for my board although I have some of the actual D1000217 Chasis Power Regulator boards and I'll incorporate those in my design soon.

Attachment 1: 40mServo_v1.pdf
40mServo_v1.pdf 40mServo_v1.pdf 40mServo_v1.pdf 40mServo_v1.pdf 40mServo_v1.pdf
  8922   Thu Jul 25 12:53:45 2013 CharlesUpdateISSComparator + Triggering Prototype

 I realized I totally forgot to post this last week, but I prototyped the comparator and boost triggering portion of the ISS, at least in part. Below is a schematic that shows the prototype circuit I made. Note that it includes ports for the oscilloscope channels that appear in the second image included. Essentially, I was able to verify that the output from the LT1016, as it's currently constructed in the ISS schematic, would be sufficient logic to switch the MAX333a.


Below, we can first see that the comparator is switching its output as desired. When the DC level of the input drops below a certain threshold (~1.6 V) the output of the comparator switches on to ~4 V. When the DC level of the input goes back up above the upper threshold (~3.2 V), the comparator switches off to ~0.3 V. The exact values of the threshold voltages can be determined/tuned at a later date, but this is the basic behavior that the comparator circuit will have.

To detect whether or not the MAX333a was switching properly, I connected the common terminal of one of the switches to a +5 V supply, and looked at the voltage coming off both the 'open' and 'closed' terminals of said SPDT switch. We can see that with Logic 0 (comparator output ~0.3 V) Channel 4 exhibits a ~5 V signal, just as we would expect from the above schematic. With Logic 1 (comparator output ~4 V), Channel 3 exhibits the characteristic 5 V signal.


  8927   Fri Jul 26 14:39:08 2013 CharlesUpdateISSPower Regulation for ISS Board

I constructed a regulator board that can take ±24 V and supply a regulated ±15 V or ±5 V. I followed the schematics from LIGO-D1000217-v1.

I was going to make 2 boards, one for ±15 V and one for ±5, but Chub just gave me a second assembled board when I asked him for the parts to construct it 


  8928   Fri Jul 26 22:19:24 2013 CharlesUpdateISSISS - Full Schematic - Updated


 I have made significant changes to the ISS schematic, mostly in the form of adding necessary subsystems.

Some changes I have made:

  • Added a front page with sheet symbols that are representations of the other schematic sheets.
  • Added an 'Excitation' subsystem for use in determining the closed-loop transfer function
  • Added an instrumentation amplifier (with ADA4004s at Rana's recent suggestion) to handle the differential input from the PD
  • Included a switchable inverting amplifier (Gain of 1 or -1) to ensure we have the correct polarity
  • Made it so the first filtering stage is immediately active when the ISS loop is closed
  • Added LP filters with large time constants to buffer/delay trigger signals
  • Added test points all over the board
  • Refined a few buffer amplifiers

On the front page, all inputs and outputs are currently BNC ports, although this is most likely not the final design that will be used. For instance, the ports ENABLE, INPUT GND and INVERT are supposed to be logic inputs for a MAX333a switch. These will most likely be front panel switches that either connect the switch's logic pin to GND (Logic 0) or something like a +5 V supply (Logic 1).

I also have not included power regulation for my board although I have some of the actual D1000217 Chasis Power Regulator boards and I'll incorporate those in my design soon.

 More changes that I've made:

  • Added daughter boards for power regulation. Currently I have ±24V going into two boards, with ±15V coming out of one and ±5V coming out of the other. Again, these are based off of LIGO-D1000217
  • Added an optional Dewhitening filter (with p=1Hz and z=100Hz, although these can easily be changed) to accommodate any PD's that have whitening
  • Added a bypass to allow the boosts (stages 2 and 3 of the filtering servo) to be enabled/disabled by a front panel switch
  • I also put in jumpers that can be used to provide Logic 1 (boost enabled) to both Boost 1 and Boost 2 without depending on the internal RMS detection/triggering
  • Changed the input grounding switch so that it's set up correctly. Before, it was taking the PD signal and sending it to GND, not actually grounding the input to the rest of the ISS 
Attachment 1: 40mServo_v1.pdf
40mServo_v1.pdf 40mServo_v1.pdf 40mServo_v1.pdf 40mServo_v1.pdf 40mServo_v1.pdf
  8959   Thu Aug 1 22:58:45 2013 CharlesUpdateISSCTN Servo - Explicit Requirement and Proposed Servo

 In PSL elog 1270, Evan elucidated the explicit requirements for the CTN ISS board. Essentially, the transfer function of the ISS should be something like:

     TF_mag = (Unstabilized RIN) / (Calculated RIN Requirement)

I took Evan's data and did exactly this. I then designed a servo (using the general design I proposed here) to meet this requirement with a safety factor of ~10. By safety factor, I mean that if the ISS operates exactly according to theory, it should suppress the noise by a factor of 10 more than what is necessary/set out by the requirement. Below is a plot of the loop gain obtained directly from the requirement (the above expression for TF_mag) and the transfer function of the servo I am proposing.


I don't have the actual schematics attached as I was working with a LISO file and have yet to update the corresponding Altium schematic. The LISO file is attached and I will add the schematics later, although one can reference the second link to find a simple drawing.

Attachment 2: CTNServo_v3.fil
# Stage 1
r R31 1.58k in n_inU3
op U3 ad829 p_inU3 n_inU3 outU3
r R35 1k p_inU3 gnd
c C33 1u p_inU3 gnd
c C32 10n n_inU3 outU3
r R34 158k n_inU3 outU3

# Stage 2
#r R41 15.8 outU3 n_inU4U5
... 24 more lines ...
  8961   Fri Aug 2 21:59:36 2013 CharlesUpdateISSFinalized ISS Schematic (hopefully)

Attached is the finalized schematic. The general circuit topology should remain the same from this point forward, although individual component values are subject to change. I will also be adding some more annotations to ensure everything on the board is clear.

In general, I have finally included all of the correct components (i.e. front panel switches are now actually switches and front panel LEDs are now included). I also added an external 'Boost' switch, which can be used to enable or disable the boosts. The motivation for including this switch is that one might want to test functionality of the ISS without using the 'fancy' RMS detection and triggering circuitry. Additionally, one can disable the boosts when all the circuitry is stuffed in order to troubleshoot, so it essentially grants the board some flexibility in its operation.

I am now working on the PCB layout and I should hopefully have that done next week. 

Attachment 1: ISS_v3.pdf
ISS_v3.pdf ISS_v3.pdf ISS_v3.pdf ISS_v3.pdf ISS_v3.pdf
Attachment 2: ISS_v3-Power_Reg.pdf
  8964   Mon Aug 5 11:53:45 2013 EvanUpdateISSCTN Servo - Explicit Requirement and Proposed Servo

I goofed on the transfer function requirement by not giving you the plant transfer function, which looks to be about 0.014 V/V, independent of frequency (PSL:1278). This needs to be compensated for in the electronic transfer function.

  9016   Thu Aug 15 21:42:53 2013 CharlesUpdateISSISS - Schematic + PCB Layout

 After many, many moons of getting to know exactly how frustrating Altium can be, I have completed the PCB layout for my ISS board (final page of ISS_v3.pdf).

Before I get into detail about the PCB, there is one significant schematic change to note: the comparator circuit was changed (with significant help from Koji) so that the voltage reference for boost triggering is established in a more logical way. Instead of the somewhat convoluted topology I had before, now there are only two feedback resistors, R82 and R83. Because their resistances (500k and 50k respectively) are so much larger than the total resistance of the 1k potentiometer (used to establish a tunable threshold voltage), the current flowing through the feedback loop is negligible compared to the 5 mA current flowing through the potentiometer (the pot is rated for 2 W and with 5 mA -> 25 mW dissapation). This allows one to set the threshold voltage for my schmitt trigger, at pin 2 of both the pot and the comparator, entirely with the pot. This trigger also has hysteresis given by the relation deltaV ~ (R83/R82) * (Voh - Vol) where deltaV is the separation between threshold voltages, Voh is the high-level comparator ouput and Vol is the low-level comparator output. Koji simulated this using CircuitLab and I plan to verify the behavior by making a quick prototype circuit.

Now, on to the PCB. The board itself is of a 'standard' LIGO size (11" x 6") has 3 routing layers and 3 internal planes, one for +15 V, one for -15 V and one for GND. In the attached pdf, red is the top routing layer, blue is the bottom layer and brown is the middle routing layer (used for ±5 V exclusively). The grey circles are pads and vias (drilled through) and anything in black is silkscreen overlay. I placed each component and track by hand, attempting to minimize the signal path and following the general rules below,

  • Headers for power, ±5 V and ±15V, are at the back of the board
  • For sections of the board such as filter stages or buffers, resistors and capacitors were grouped around their respective op-amps.
  • As often as was possible, routing was confined to the top layer. Tracks on the bottom layer were placed mostly out of necessity (i.e. no possible connection on top routing layer).
  • The signal generally proceeds from left to right (directions with respect to the attached printout) in the same logical order as on the schematic sheets. Refer to the global sheet (page 1) of the attached "ISS_v3.pdf".
  • External ports such as the PD input, various monitoring ports and panel mounted switches/LEDs were all connected to the board via headers located along the front edge. These are also ordered following the schematic layout.
  • Occasionally, similar signal paths were grouped together although this was a rarity on my board

Sections of the board have been partitioned and labeled with silkscreen overlay to help in both signal pathway recognition as well as eventual troubleshooting.

On the board, I have also included holes so that it can be mounted inside of an enclosure. There is a DCC number printed as well as a 'barcode' (TrueType font: IDAutomationC39S), although they both contain filler asterisks as I haven't published this to the DCC and thus do not have a number.

Attachment 1: ISS_v3.pdf
ISS_v3.pdf ISS_v3.pdf ISS_v3.pdf ISS_v3.pdf ISS_v3.pdf ISS_v3.pdf
Attachment 2: ISS_v3-Power_Reg.pdf
  9328   Fri Nov 1 18:59:41 2013 EvanConfigurationISSAOM cabling

[Rana, Nic, Evan]

We did some work today on getting the AOM back up and running so that we can implement an SR560-based ISS.

We've removed the 18 AWG wire that was previously used to power the driver and have replaced it with a 12 AWG twisted pair (black and white, enclosed in a single gray cladding). This pair runs into the PSL rack's 24 V terminal block with a 2 A fuse. We've also replaced the cable connecting the AOM to the driver; it's now RG405.

Also disconnected the power to the old Kalmus FSS crystal driver box and turned it off. It was powered illegally. Also disconnected the power connection between the Sorensen and the old ISS AA chassis since it was wired directly without any fuse (which is a code violation). It will stay off until someone uses a proper fuse and wiring to hook it back up.

Attachment 1: aom.jpg
Attachment 2: aom_driver.jpg
Attachment 3: aom_driver_power.jpg
Attachment 4: 20131101_170120.jpg
  9331   Sat Nov 2 22:49:44 2013 CharlesUpdateISSCTN ISS Noise Suppression Requirement - Updated 10/27

 Previously in elog 8959, I gave a very simple method for determining the noise suppression behavior of the ISS. Recently, I recalculated this requirement in a more correct fashion and again redesigned the ISS to be used in the CTN experiment.

  • Determining the Requirement

Just as before, the data from PSL elog 1270 is necessary to infer a noise suppression requirement. The data presented there by Evan consists of two noise spectra, 1) the unstabilized RIN presently observed in the CTN experiment readout and 2) the theoretical brownian noise produced by thermal processes in the mirror coating+substrate. The statement "TF_mag = (Unstabilized RIN) / (Calculated Brownian Noise Limit)", where TF_mag refers to the required open-loop gain of the ISS, is actually a first order approximation of the 'required' noise suppression. In fact if we wanted the laser noise to be suppressed below the calculated brownian noise level, it is more correct to say 

        Closed-loop ISS gain = (Calculated Brownian Noise Limit) / (Unstabilized RIN)

As this essentially gives a noise suppression spectrum i.e. a closed-loop gain in linear control theory. Below is a very simple block diagram showing how the ISS fits into the CTN experiment. The F(f) block represents my full servo board.


Some of the relevant quantities involved:



So looking at the block diagram, our full closed-loop transfer function is given by,


So then to determine the required F(f), i.e. the required transfer function for my servo, we consider the expression 


The plant transfer function is simply Plant = (C(f) * a * P * A) ~ 0.014 V/V, where I have ignored the cavity pole around 97 kHz as our open-loop transfer function ends up crossing unity gain around 10 kHz. In the above, I have included what I call a 'safety factor' of 10. Essentially, I want to design my servo such that it suppresses noise well beyond what is actually required so that we can be sure noise contributions to experiment readouts are not significantly influenced by the laser intensity noise.

  • Proposed Servo Design

Using the data Evan reported for the brownian noise and free-running RIN, I came up with an F(f) to the meet the requirement as shown below.


 Where the blue curve includes the safety factor mentioned before. This plot just demonstrates that using my modular ISS design, I can meet the given noise suppression requirements.

To be complete, I'll say a little more about the final design.  As usual, the servo consists of three stages. The first is the usual LP filter that is always 'on' when the ISS loop is closed. The boosts I have chosen to use consist of an integrator with a single zero and a filter that looks somewhat like a de-whitening filter. The simulated open-loop transfer functions are shown below.










  9332   Sun Nov 3 00:05:52 2013 CharlesSummaryISSISS Update - Bout' time

Right near the end of summer, I had an ISS board that was nominally working, but had a few problems I couldn't really sort out. Since I've been back, I've spent a lot of time just replacing parts, trying different circuit topologies and generally attempting to make the board function as I hoped it might in all those design stages. Below is a brief list of some of the problems I've been fixing as well as the first good characterization of the board transfer function that I've been able to get.

We'll start with some of the simple problems and proceed to more complicated ones.

  • The 5V reference I was using to obtain an error signal from some arbitrary DC photodiode readout was only producing ~2.5 V. 
    • Turns out I just need a FET type op-amp for the Sallen-Key Filter that I was using to clean up any noise in the reference output, as the leakage current in a AD829 was causing a significant voltage drop. I put in an OPA140 and everything worked marvelously.
  • The way I set up input grounding (i.e. send a ~0 amplitude signal through the board as an input) passed a few Amps through one of my chips causing it to burn out rather fantastically.
    • There isn't a good way to fix this on the current board (besides just getting rid of the functionality altogether) so my solution so far has just been to redesign that particular sub-system/feature and when we implement the second version of the ISS, the input grounding will be done correctly
  • One of the ICs I'm using, specifically the AD8436 RMS-to-DC converter, causes some super strange oscillations in -5V power line. When this chip is soldered onto the board, the -5V supply jumps between -3V and -10V rather sporadically and the DC power-supply used to provide that -5V says that board is drawing ~600 mA on that particular power line.
    • To date, I don't really have any idea what's going with this chip, and I've tried a lot of things to remedy the problem. My first thought was that I had some sort of short somewhere so I took the chip off the board, cleaned up all the excess solder and flux around the chip's footprint and then meticulously soldered a new chip on (when I say meticulously, it took over an hour to solder 20 little feet. I really really didn't want to short anything accidentally as the chip only comes in a package with ridicously small spacing between the leads). Lo and behold, nothing happened. I still saw the same oscillations in power supply and the board was still drawing between >500 mA on that line. Just to be sure, I soldered on a third chip taking the same amount of care and had the same problems.
    • I went over the schematic in Altium that we used to order the board, and unless the manufacturer made a mistake somewhere, there aren't any incorrectly routed signals would cause, say, two active devices to try setting the voltage of a particular node to different values.
    • I got some QSOP-to-DIP package converters so that I could mess around with the AD8436 on a breadboard to make sure it functioned correctly. I set up an identical circuit to the one on the PCB and didn't see any oscillations in the power supply, both for +-5V and +-15V as the chip can handle both supply voltages. I'm not really sure how to interpret this...
    • I'm still actively trying to figure this particular problem out, but I'm shooting in the dark at this point. 
  • Initial attempts to measure the transfer-function of the board were wrought with failure.
    • I figured out, with Nic's help, that the board needs the 'loop closed' with a significant broadband attenuator (to simulate the plant optics discussed in elog 9331) in order to not have constant railing of the high gain op-amp filter stages. Even after I did this, the measured transfer functions were not at all consistent with simulation. I wasn't sure if it was just a part issue, a design issue or a misunderstanding/bad data collection on my part so I just redesigned the whole servo and stuffed the board with entirely new components from around the 40m. Turns out the newly designed servo behaved more properly, as I will show below.

The above list encompasses all the issues I've had in making the ISS board function correctly. No other major problems exist to my knowledge.

I was able to measure both the open- and closed-loop transfer functions of the servo with the SR785. The results are shown below.


The transfer function with the boosts on caps at a particular value set by op-amp railing, i.e. below 100 Hz, the op-amps are already putting out their max voltage. This is the usual physical limitation when measuring the transfer function of an integrator. We can also see that the measured phase follows the simulated phase above ~300 Hz. The 'phase matching' at low frequency is again do to the op-amp railing in the servo output..

The closed-loop gain is shown below,


The measured closed-loop gain with the boosts on again matches the LISO simulation quite well except at low frequency where we are limited by op-amp railing. We compare the measured closed-loop transfer function to the desired noise suppression stipulated in my previous elog 9331,


 And we might hopefully conclude that my servo functions as desired. One should note that the op-amp railing seen in these measurements is not indicative of limitations we might face in some application of the ISS for the following reason. These transfer functions were measured with a 100 mV excitation signal (it is necessary to keep this signal amplitude large enough so that the inherent signal-to-noise ratio of the excitation source is large enough for accurate measurement) which leads to somewhat prompt railing of the op-amps. When the ISS operates to actually stabilize a laser, the input error signal will be much smaller (on the order of a few 10's of mV or less) and will decrease significantly assuming correct operation of the ISS. This means we won't see the same type of gain limitations.


What now, you ask?

Aside from the problem with the AD8436 chip, the ISS board seems to be functioning correctly. The transfer functions we have measured are correct to within the component tolerances and all of the various subsystems are behaving as they were designed to. Moving toward the goal of having this system work in situ for the CTN experiment, I need to do the following things,

  • Design a housing for the board -> order said housing and the front panel previously designed
  • Make sure the power supply daughter PCB boards are compatible with the ISS board and can provide power correctly
  • Talk to Evan and Tara about integrating the ISS with their experiment and make sure my board can do everything it needs to in that context.

So close, or so I say all the time 


ELOG V3.1.3-