40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log, Page 133 of 341  Not logged in ELOG logo
ID Date Author Type Category Subjectup
  7717   Fri Nov 16 00:08:36 2012 KojiUpdateSUSMC2 woes

People complained about the MC instability: If we aligned the MC, it locked nicely for a while.
Then suddenly you find that it got totally misaligned with the order of 0.2 with the alignment slider.
This misalignment usually happens for MC2, but it happend on MC3 once.

Surprisingly to me, this instability happened even without MCL and WFS, not only once but at least three times.
This suggests that the suspensions are the cause of the trouble.

I played with the MC2 suspension for a while in the afternoon. It seems that it has a hysteresis (or say, bistablity).
And the nominal alignment of MC2 seems close to the point where the transition happens. (Dunno why)

I further played with MC2 and found that a step of POS actuation by +/-10000 induces this transition go and back.
When the POS kick is in the negative direction (-10000), the MC2 seems to return to the preferrable
position. Therefore, I applied DC position force of -5000 to pull the mirror a bit from the nominal position.

I let the MC locked for ~4hours without MCL and WFS, it kept good alignment and the lock was stable
except for unlocks because of the activties by Den and Ayaka.

All of them has been done without previous monitor data as the tools were available.

The MC2 situation is not conclusive but we should check how we can prevent the bistable transition
by restricting MCL/WFS.

  9886   Wed Apr 30 21:57:07 2014 ranaSummaryIOOMC2_TRANS QPD Servo now on for real


During a lull in Koji vs. The Arm, I switched on the MC2_TRANSQPD feedback path to check out its UGF. In the past months, when its been on, it has had a gain of ~0.03 - 0.1.

Today, I found that with the gain turned up to 11, it has a ~1 minute step response time (as you see in the above Strip chart). So its had a UGF of ~2 hours or so during the times when we thought it might be doing bad or good or magic.

I leave it on now to see if it behaves well over the next days. Let's see if Steve thinks its good or not based on his trend monitoring.

** also touched up the PMC pointing (using the PMC REFL image / please never align the beam into the PMC without this camera image)

  9857   Fri Apr 25 23:08:57 2014 ranaSummaryIOOMC2_TRANS QPD Servo re-re-engaged again

We turned on the MC2_TRANS paths for both PIT/YAW tonight.

I turned off the BLP200 and turned on the RLP7 (RLP always are better than BLP). G_PIT = -0.111, G_YAW = 0.111. On Monday, let's let Steve look at the trends and determine if this centering servo is bad or good.

  9858   Sat Apr 26 13:19:59 2014 ericqSummaryIOOMC2_TRANS QPD Servo re-re-engaged again


We turned on the MC2_TRANS paths for both PIT/YAW tonight.

I should've included this in my Thursday night ELOG... That evening, I aligned the mode cleaner with reasonable MC1/3 spot positions, and the MC2 spots very close to centered, and recentered the WFS and MC2 Trans QPDs. The mode cleaner held up very well over the course of that evening, even when actuating CARM on MC2 with WFS engaged (which previously wasn't very stable when the WFS weren't well aligned).

  9869   Mon Apr 28 15:47:57 2014 manasaSummaryIOOMC2_TRANS QPD Servo trend


We turned on the MC2_TRANS paths for both PIT/YAW tonight.

I turned off the BLP200 and turned on the RLP7 (RLP always are better than BLP). G_PIT = -0.111, G_YAW = 0.111. On Monday, let's let Steve look at the trends and determine if this centering servo is bad or good.

The MC was showing slow but periodic alignment drifts and eventually unlocked around noon. I looked up the alignment trend (Attach: 2 day trend)

MC_TRANS_PIT_ERR and MC_TRANS_Y_ERR show that the MC_TRANS servo slowly drifted the IMC alignment causing it to lose lock from time to time (mostly in yaw).

To confirm that the drift was NOT due to off-centering in the MC2_TRANS QPD, I turned off the WFS servo, moved MC2 to recenter the trans beam on the QPD, and re-enabled WFS servo.

MC_TRANS path in WFS is still left enabled.

Attachment 1: MC_TRANSservoApr28.png
  9871   Mon Apr 28 20:31:38 2014 ranaSummaryIOOMC2_TRANS QPD Servo trend

This is a 4-day trend. I don't see any difference here which is significant. My guess is that the MC_TRANS servo gain is so low that its not really doing anything.

I'll turn it on periodically this week and then on Monday people can look at the trend again to see if they can identify when the servo is ON and when its OFF.

Attachment 1: Untitled.png
  9794   Thu Apr 10 10:52:15 2014 manasaSummaryIOOMC2_TRANS path in WFS servo



I've also turned on the MC2 TRANS path to gather some data over the weekend on how well or bad it works. Please turn it off on Monday.

 MC2_TRANS path in WFS servo turned OFF.

[From yesterday]

The MC had not been stable lately with WFS drifting constantly. I checked the servo and found that the MC_TRANS path was still running. It turned out that the autolocker script enables the TRANS path in the locking process. I have turned the MC_TRANS path servo inputs OFF and now it is no more a part of the WFS servo.

P.S. Jenne fixed the PMC alignment mostly in pitch to bring it up to 0.81 from 0.77. But the temperature fluctuations have still not got us to the sweet spot for optimum PMC trans.

  6681   Fri May 25 13:24:48 2012 DenUpdateSUSMC3

AA IN -> COIL DRIVER IN transfer function for MC3


I've provided excitation to the AA input, the same for all OSEM channels. In the digital domain coherence between C1:SUS-MC3_ULSEN_INMON / C1:SUS-MC3_ULCOIL_INMON and other channels OSEM -> COIL is 1 starting from 0.1Hz.


The only thing left to understand is why the coherence AA IN / COIL DRIVER IN measured in the analog domain is not 1 in the frequency range 0.1 - 1 Hz. It does not look like just SRS noise. I've connected Ch 1 and 2 to the source, coherence is close to 1.

  4685   Wed May 11 10:49:16 2011 valeraConfigurationElectronicsMC3 LL PD has no signal

Yesterday we found that MC3 OSEM LL PD did not have a sensible signal - the readback was close to zero and it was making MC move around. I disabled the PD LL so that the damping is done with just three face plus side PDs. There still no signal from MC3 LL PD today. It needs debugging.

  9208   Sun Oct 6 22:27:35 2013 ranaFrogsElectronicsMC3 LL sensor cable was loose

I noticed that the MC3 LL sensor was apparently dead according to its suspension screen. Since it was only the fast ADC channel and not the SLOW PDmon, I could tell that it was just in the ADC cabling. I pushed in a few of the MC3 sensor cables on the front and back of the PD whitening board and it came back OK. According to this trend of the past 40 days and 40 nights, it started slipping on this past Wednesday morning.

Was anyone walking near MC2 or the suspension electronics racks before noon on Wednesday (Oct. 2nd)?

Attachment 1: MC3_LL.png
  13901   Thu May 31 10:19:42 2018 gautamUpdateSUSMC3 glitchy

Seems like as a result of my recent poking around at 1X6, MC3 is more glitchy than usual (I've noticed that the IMC lock duty cycle seems degraded since Tuesday). I'll try the usual cable squishing voodo.

gautam 8.15pm: Glitches persisted despite my usual cable squishing. I've left PSL shutter closed and MC watchdog shutdown to see if the glitches persist. I'll restore the MC a little later in the eve.

Attachment 1: MC3_glitchy.png
  6680   Fri May 25 02:56:44 2012 DenUpdateSUSMC3 local damping

I've terminated input to AA filters and measured signal to coils C1:SUS-MC3_??COIL_OUT.



I compared this noise to the signal when OSEM are connected to ADC.



I made BNC -> LEMO board such that all LEMOs have the same signal equal to BNC signal. I provided excitation of 50 mV as white noise to the input of the AA filter and measured coherence between excitation and MC3 coil driver. The path is

AA -> ICS 110 -> Pentium -> Pentek -> AI -> Univ Dewhitening -> Coil Driver

As all inputs have the same signal, matrices that recombine the signals should not affect coherence. But what I got for coherence between AA IN / Dewhitening OUT is


  15957   Wed Mar 24 09:23:49 2021 PacoUpdateSUSMC3 new Input Matrix


  • Found IMC locked upon arrival
  • Loaded newest MC3 Input Matrix coefficients using /scripts/SUS/InMatCalc/writeMatrix.py after unlocking the MC, and disabling the watchdog. 
  • Again, the sens signals started increasing after the WD is reenabled with the new Input matrix, so I manually tripped it and restored the old matrix; recovered MC lock.
  • Something is still off with this input matrix that makes the MC3 loop unstable.
  15971   Sun Mar 28 14:16:25 2021 AnchalSummarySUSMC3 new Input Matrix not providing stable loop

Rana asked us to write out here the new MC3 input matrix we have calculated along with the old one. The new matrix is not working out for us as it can't keep the suspension loops stable.


Old (Current) MC3 Input Matrix (C1:SUS-MC3_INMATRIX_ii_jj)
POS 0.288 0.284 0.212 0.216 -0.406
PIT 2.658 0.041 -3.291 -0.674 -0.721
YAW 0.605 -2.714 0.014 3.332 0.666
SIDE 0.166 0.197 0.105 0.074 1


New MC3 Input Matrix (C1:SUS-MC3_INMATRIX_ii_jj)
POS 0.144 0.182 0.124 0.086 0.586
PIT 2.328 0.059 -3.399 -1.13 -0.786
YAW 0.552 -2.591 0.263 3.406 0.768
SIDE -0.287 -0.304 -0.282 -0.265 0.871

Note that the new matrix has been made so that the norm of each row is the same as the norm of the corresponding row in the old (current) input matrix.

Peak finding results:

  Guess Values Fittted Values
PIT Resonant Freq. (Hz) 0.771 0.771
YAW Resonant Freq. (Hz) 0.841 0.846
POS Resonant Freq. (Hz) 0.969 0.969
SIDE Resonant Freq. (Hz) 0.978 0.978
PIT Resonance Q 600 345
YAW Resonance Q 230 120
POS Resonance Q 200 436
SIDE Resonance Q 460 282
PIT Resonance Amplitude 500 750
YAW Resonance Amplitude 1500 3872
POS Resonance Amplitude 3800 363
SIDE Resonance Amplitude 170 282

Note: The highest peak on SIDE OSEM sensor free swinging data as well as the DOF basis data created using existing input matrix, comes at 0.978 Hz. Ideally, this should be 1 Hz and in MC1 and MC2, we see the resonance on SIDE DOF to show near 0.99 Hz. If you look closely, there is a small peak present near 1 Hz actually, but it is too small to be the SIDE DOF eigenfrequency. And if it is indeed that, then which of the other 4 peaks is not the DOF we are interested in?

On possiblity is that the POS eigenfrequency which is supposed to be around 0.97 Hz is split off in two peaks due to some sideways vibration and hence these peaks get strongly coupled to SIDE OSEM as well.

P.S. I think something is wrong and out limited experience is not enough to pinpoint it. I can show up more data or plots if required to understand this issue. Let us know what you all think.

Attachment 1: MC3_Input_Matrix_Diagonalization.pdf
  15973   Mon Mar 29 17:07:17 2021 gautamSummarySUSMC3 new Input Matrix not providing stable loop

I suppose you've tried doing the submatrix approach, where SIDE is excluded for the face DoFs? Does that give a better matrix? To me, it's unreasonable that the side OSEM senses POS motion more than any single face OSEM, as your matrix suggests (indeed the old one does too). If/when we vent, we can try positioning the OSEMs better.

  5068   Sat Jul 30 07:07:28 2011 kiwamuUpdateASCMCASS status

Since we will measure (and hopefully adjust) the spot positions on the MC suspensions prior to the vent, MCASS is necessary for it.



Here is the MCASS status so far:

  + Valera worked on MCASS on the last February, and basically no progress after he left.

  + The MCASS model had been completed in C1IOO.mdl.

  + He made some useful scripts, including mcassup, mcassOn/Off, senseMCdecenter, senseMCmirrro and senseMCdofs.

       Summary of those scripts can be found in his entry #4355.

  + We haven't closed the MCASS loops.

  + The control filters are still blank.

  + We haven't put any elements on the input and output matrices.

  + Some parameters for the dithering oscillators and demodulation systems were properly set.

     So we can get the demodulated signals by simply running mcassUp and mcassOn. (This essentially corresponds to the A2L measurement.)

  + The PIT motions are driven at 10, 11 and 12 Hz for MC1, 2 and 3 respectively. For YAW, the frequencies were chosen to be 11.5, 12.5 and 13.5 Hz.

  + Some medm windows were prepared but not as refined as that of ASS.

  + Valera performed a measurement of the spot positions by using MCASS. The results are summarized in #4660.

  + We made an estimation about the beam clearance on the Faraday based on the measured spot positions (#4674)



So, it seems we should be able to at least measure the spot positions soon by using his scripts.

  12723   Mon Jan 16 21:03:47 2017 ranaSummaryIOOMCL / MCF / Calibration

Oot on the streets and in the chat rooms, people often ask, "What is up with the MC_F calibration?".

Not being sure of the wiring in the c1ioo model, I have formed this screencap of today's model and put it here. The MC_LENGTH and MC_FREQ are the filter banks which would calibrate these channels. In the filter banks there were various version of a 'dewhite' filter. They were all approximately z=150, p=15, g =1 @ DC, but with ~1% differences. I don't trust their provenance and so I've enforced symmetry and fixed their names to reflect what they are (150:15). I have also turned on one filter in MC_FREQ so that now the whitening of the Pentek Interface board is compensated.

Why is this TF 1/f? It should be -20 dB/decade if MC_F is in units of Hz* and MCL is a pendulum response. Perhaps its because the combination of the Koji summing box, the Thorlabs HV driver, and the Pomona box forms an additional 1/f ? IF so, this would explain the TF we see. Once we get confirmation from Koji, we can load the TF into the MC_FREQ filter bank and then MC_F will be in units of Hz (as will the summary pages).

(along the way I've also turned off the craaaazzzy servo input enable tickling that gets put in the MC AutoLocker every April Fool's leap year - resist the temptation)

Since we have a frequency counter system here and some oscillators, I wonder if we can just calibrate the MC_L and MC_F directly using a mixer lashed up to one of the counters. If so, and we can get the stabilized laser frequency noise down below 10 mHz/rHz, maybe this is a viable alternative method to the photon calibrators. Counting zero crossings is more honest than counting photons.

Attachment 1: c1ioo_zoom_MCLF.png
Attachment 2: MCL.pdf
  12732   Wed Jan 18 12:34:21 2017 ericqSummaryIOOMCL / MCF / Calibration

In the filter banks there were various version of a 'dewhite' filter. They were all approximately z=150, p=15, g =1 @ DC, but with ~1% differences. I don't trust their provenance and so I've enforced symmetry and fixed their names to reflect what they are (150:15).

The filters were made in response to a measurement of the pentek whitening boards in 2015 (ELOG 11550), but this level of accuracy probably isn't important.

  12757   Wed Jan 25 18:18:08 2017 KojiSummaryIOOMCL / MCF / Calibration

jiSome notes on the FSS configuration: ELOG 10321

  12905   Fri Mar 24 12:21:27 2017 gautamSummaryIOOMCL / MCF / Calibration

I repeated this measurement as follows:

  1. Added a filter in the MC_F filterbank (FM9) to account for the Pomona box between the PZT control signal and the laser PZT (pole@2.9Hz). So the filter bank at the time of TF measurement looks like this:
  2. Measured TF from driving MC2 (with C1:SUS-MC2_MCL_OUT channel) to C1:IOO-MC_F, which is the output of the above filter bank. The response is the expected 1/f^2 shape of the free optic
  3. From this transfer function, the magnitude is 0.0316 ct/ct. Using the value of 6nm/ct for the MC2 actuator gain that I found in a previous elog entry, I calibrated the MC_F output into Hz using the calibration factor 3.95MHz/ct (FM10 in the above filterbank).

Here is a calibrated MC_F spectrum:

RXA: I've added this plot of the free-running noise of the Lightwave NPRO which is probably similar to our Innolight Mephisto. Seems like the laser is quieter than MC_F everywhere below 100 Hz.

Attachment 2: MCF_cal.pdf
Attachment 3: MCFTF_mag.pdf
Attachment 4: MCFTF_phase.pdf
Attachment 5: MCFTF_coh.pdf
Attachment 6: FreqNoiseReq.pdf
  12907   Mon Mar 27 12:48:36 2017 ranaSummaryIOOMCL / MCF / Calibration

What readouts do we have for the PMC length? If we could have a calibrated & whitened error and control signal for the PMC up to 16 kHz, perhaps we could see at what frequencies we can use it as a faux-RefCav.

  12912   Mon Mar 27 22:40:44 2017 KojiSummaryIOOMCL / MCF / Calibration

In http://nodus.ligo.caltech.edu:8080/40m/11793 I posted the calibrated PMC free-running displcament with/without IMC locked. Unfortunately, this measurement was done with a part of the IMC electronics not perfect (https://nodus.ligo.caltech.edu:8081/40m/11794). I did the same measurement after the fix, but there is no low freq data http://nodus.ligo.caltech.edu:8080/40m/11795.

Assuming we have the similar error signal leve in the low freq band as The entry 11793, the IMC is considered to be noisier than the PMC between 0.8 and 4Hz. But we should do the same measurement with the current electronics.

The PMC calibration can be found in this entry http://nodus.ligo.caltech.edu:8080/40m/11780

  11552   Tue Sep 1 06:58:11 2015 IgnacioUpdateWienerFilteringMCL FF => WFS1 and WFS2 FF => ARMS FF

I took some training data during Sunday night/Monday morning while the MCL MISO FF was turned on. We wanted to see how much residual noise was left in the WFS1/WFS2 YAW and PITCH signals. 

The offline subtractions that can be achieved are:

For WFS1


For WFS2

I need to download data for these signals while the MCL FF is off in order to measure how much subtraction was achived indirectly with the MCL FF. In a previous elog:11472, I showed some offline subtractions for the WFS1 YAW and PITCH before any online FF was implemented either by me or Jessica. From the plots of that eLOG, one can clearly see that the YAW1 signal is clearly unchanged in the sense of how much seismic noise was mitigated indirectly torugh MCL. 

Koji has implemented the FF paths (thank you based Koji) necessary for these subtractions to be implemented. The thing to figure out now is where we want to actually actuate and to measure the corresponding transfer functions. I will try to have either Koji or Eric help me measure some of these transfer functions.

Finally, I looked at the ARMS and see what residual seismic noise can be subtracted


I'm not too concerned about noise in the arms as if the WFS subtractions turn out to be promising then I expect for some of the arms seismic noise to go down a bit further. We also don't need to measure an actuator transfer function for arm subtractions, give that its essentially flat at low frequencies, (less than 50 Hz).


  11510   Sat Aug 15 02:10:35 2015 IgnacioUpdateLSCMCL FF => YARM FF

In my last post I calculated the different subtractions (offline) that could be done to YARM alone just to get a sense of what seismometers were better witnesses for the Wiener filter calculation. 

In this eLOG I show what subtractions can be done when the MCL has FF on (as well as Eric's PRC FF), with the SISO filter described on elog:11496.

The plot below shows what can be done offline,

What is great about this results is that the T240-X and T240-Y channels are plenty enough to mitigate any remaining YARM seismic noise but also to get rid of that nasty peak at 55 Hz induced by the MCL FF filter.

The caviat, I haven't measured the TF for the ETMY actuator to YARM control signal. I need to do this and recompute the FIR filters with the prefiltered witnesses in order to move on to the IIR converions and online FF!


Attachment 1: YARM_LIVES.png
  15054   Wed Nov 27 17:51:52 2019 gautamUpdateWienerMCL FF status

The old MCL filters are not completely useless - I find a factor of ~2 reduction in the MCL RMS when I turn the FF on. It'd be interesting to see how effective the FF is during the periods of enhanced seismic activity we see. I also wonder if this means the old PRC angular FF filters are also working, it'd help locking, tbc with PRMI carrrier...

Update: The PRC angular FF loops also do some good it seems - though the PIT loop probably needs some retuning.

Attachment 1: MCL_FF.pdf
Attachment 2: PRC_FF.pdf
  12623   Thu Nov 17 15:17:16 2016 gautamUpdateIMCMCL Feedback

As a starting point, I was looking at some of the old elogs and tried turning on the MCL feedback path with the existing control filters today. I tried various combinations of MCL Feedback and FF on and off, and looked at the MCL error signal (which I believe comes from the analog MC servo board?) spectrum for each case. We had used this earlier this year when EricQ and I were debugging the EX laser frequency noise to stabilize the low frequency excursions of the PSL frequency. The low frequency suppression can be seen in Attachment #1, there looks to be some excess MCL noise around 16Hz when the servo is turned on. But the MC transmission (and hence the arm transmission) decays and gets noisier when the MCL feedback path is turned on (see Attached StripTool screenshots).

Attachment 1: MCLerror.pdf
Attachment 2: MCLtest.png
Attachment 3: YarmCtrl.pdf
  12635   Wed Nov 23 01:13:02 2016 gautamUpdateIMCMCL Feedback

I wanted to get a clearer idea of the FSS servo and the various boxes in the signal chain and so Lydia and I poked around the IOO rack and the PSL table - I will post a diagram here tomorrow.

We then wanted to characterize the existing loop. It occurred to me later in the evening to measure the plant itself to verify the model shape used to construct the invP filter in the feedback path. I made the measurement with a unity gain control path, and I think there may be an extra zero @10Hz in the model.

Earlier in the evening, we measured the OLG of the MCL loop using the usual IN1/IN2 prescription, in which above 10Hz, the measurement and FOTON disagree, which is not surprising given Attachment #1.

I didn't play around with the loop shape too much tonight, but we did perform some trials using the existing loop, taking into account some things I realized since my previous attempts. The summary of the performanceof the existing loop is:

  • Below 1Hz, MCL loop injects noise to the arm control signal. I need to think about why this is, but perhaps it is IMC sensing noise?
  • Between 1-4Hz, the MCL loop suppresses the arm control signal
  • Between 4-10Hz (and also between 60-100Hz for the Xarm), the MCL loop injects noise. Earlier in the evening, we had noticed that there was a bump in the X arm control signal between 60-100Hz (which was absent in the Y arm control signal). Koji later helped me diagnose this as too low loop gain, this has since been rectified, but the HF noise of the X arm remains somewhat higher than the Y arm.

All of the above is summarized in the below plots - this behaviour is (not surprisingly) in line with what Den observed back when he put these in.



The eventual goal here is to figure out if we can get an adaptive feedback loop working in this path, which can take into account prevailing environmental conditions and optimally shape the servo to make the arms follow the laser frequency more closely at low frequencies (i.e. minimize the effect of the noise injected by IMC length fluctuations at low frequency). But first we need to make a robust 'static' feedback path that doesn't inject control noise at higher frequencies, I need to think a little more about this and work out the loop algebra to figure out how to best do this...

Attachment 1: MCL_plant.pdf
Attachment 2: OLG.pdf
Attachment 3: MC_armSpectra_X.pdf
Attachment 4: MC_armSpectra_Y.pdf
  12637   Wed Nov 23 15:08:56 2016 ranaUpdateIMCMCL Feedback

In the Generic Pentek interface board, which is used to take in the analog 2-pin LEMO cable from the MC Servo board, there is some analog whitening before the signal is sent into the ADC.

There are jumpers in there to set whether it is 0, 1, or 2 stages of 150:15 (z:p) whitening.

  12812   Wed Feb 8 19:13:02 2017 gautamUpdateIMCMCL Feedback - TF measurements

Quick summary elog, details to follow. I did the following:

  • Updated the Simulink model based on Koji's feedback. 
  • Today morning, I measured the (electronic) open-loop TFs of
    • MC Servo Board
    • FSS Fast path (PZT)
    • FSS PC Drive path
  • The summing amplifiers in the latter two paths are assumed to be broadband for the purposes of this model.

The measurements I have look reasonable. But I had a hard time trying to look at the schematic and determine what is the appropriate number and locations of poles/zeros with which to fit the measured transfer function. Koji and I spent some time trying to go through the MC Servo board schematic, but looks like the version uploaded on the 40m DCC tree doesn't have changes made to it reflected (we compared to pictures on the 40m google photos page and saw a number of component values were different). Since the deviation between fit and measurement only occurs above 1MHz (while using poles/zeros inferred from the schematic), we decided against pulling out the servo board and investigating further - but this should be done at the next opportunity. I've marked the changes we caught on a schematic and will upload it to the 40m DCC page, and we can update this when we get the chance.

So it remains to fit the other two measured TFs, and add them to the Simulink model. Then the only unknown will be the PDH discriminant, which we anyway want to characterize given that we will soon have much more modulation.  

Data + plots + fits + updated schematics to follow...


  12815   Thu Feb 9 23:35:34 2017 gautamUpdateIMCMCL Feedback - TF measurements

Here are the details as promised.

Attachment #1: Updated simulink model. Since I haven't actually run this model, all the TF blocks are annotated "???", but I will post an updated version once I have run the model (and fix some of the questionable aesthetic choices)

Attachment #2: Measured and fitted transfer functions from the "IN1" input (where the demodulated MC REFL goes) to the "SERVO" output of the MC servo board (to FSS box). As mentioned in my previous elog, I had to put in a pole (fitted to be at ~2MHz, called pole 9 in the plot) in order to get good agreement between fit an measurement up to 10MHz. I didn't bother fitting all the high frequency features. Both gain sliders on the MEDM screen ("IN1 Gain" and "VCO gain") were set to 0dB for this measurement, while the super boosts were all OFF.

Attachment #3: Measured and fitted transfer function from "TEST 1 IN" to "FAST OUT" of the FSS box. Both gains on the FSS MEDM screen ("Common gain adjust" and "fast gain adjust") were set to 0dB for this measurement. I didn't need any ad-hoc poles and zeros for this fit (i.e. I can map all the fitted poles and zeros to the schematic), but the fit starts to deviate from the measurement just below 1 MHz.. perhaps I need to add a zero above 1MHz, but I can't see why from the schematic...

Attachment #4: Measured TF from "TEST 1 IN" to "PC OUT" on the FSS box. MEDM gains were once again 0dB. I can't get a good fit to this, mainly because I can't decipher the poles and zeros for this path from the schematic (there are actually deviations from the schematic posted on the 40m DCC page in terms of component values, I will try and correct whatever I notice. I'll work on this...

Attachment #5: Data files + .fil files used to fit the data with LISO



Data + plots + fits + updated schematics to follow...

Most of the model has come together, I am not too far from matching the modelled OLG to the measured OLG. So I will now start thinking about designing the controller for the MCL part (there are a couple of TFs that have to be measured for this path).

Attachment 1: mc40_v1.pdf
Attachment 2: CMboard_OLTF_fit.pdf
Attachment 3: FSSFast_OLTF_fit.pdf
Attachment 4: PCdrive_OLTF_measured.pdf
Attachment 5: data.zip
  12793   Fri Feb 3 00:36:52 2017 gautamUpdateIMCMCL Feedback - framing the problem

Rana motivated me to take a step back and reframe the objectives and approach for this project, so I am collecting some thoughts here on my understanding of it. As I write this, some things still remain unclear to me, so I am leaving these as questions here for me to think about...


  1. The PSL is locked to the IMC cavity - but at frequencies near 1 Hz, the laser frequency is forced to follow the IMC cavity length fluctuations, even though the free-running PSL frequency noise at those frequencies is lower. This excess is also imprinted on the arms when locked to the IR. We would like to improve the situation by feeding back a portion of the MC PDH error signal to the cavity length actuator to stabilize the MC cavity length at low frequencies. Moreover, we would like this loop to not imprint additional control noise in the arm control signals, which is a problem we have observed with the existing MCL loop. 
  2. The borader goal here is to use this project as a case study for designing the optimal loop and adaptive feedback. Can we come up with an algorithm, which takes
    • A model of our system (made with measured data where possible)
    • A list of our requirements (e.g. in this case, frequency noise requirements in various frequency bands, smooth crossovers between the various loops that enable locking the PSL to the IMC cavity and avoid injecting excess control noise into the plant)

and come up with the best loop that meets all our rquirements? What constitutes the "best" loop? How do we weight the relative importance of our various requirements? 

Proposed approach:

For the specific problem of making the MCL feedback loop better, the approach I have in mind right now is the following:

  1. Build a model of the 40m IMC loop. Ultimately the performance of the loop we implement will depend on the transfer function from various additive noise sources and disturbances in the feedback loop (e.g. electronics noise) to the output (i.e. laser frequency). Building an accurate model will allow us to quantify the performance of the proposed control loop, and hence, optimize it with some algorithm. I did some work on a simplistic, purely analytical model of the two MC loops (MCF and MCL), but Rana pointed out that it is better to have something more realistic for this purpose. I have inherited his Simulink models, which I will now adapt to reflect the 40m topology. 
  2. Come up with a list of requirements for the MCL controller. Some things that come to mind:
    • Reduce the arm control signal spectral amplitude below 20 Hz
    • Not increase the arm control signal spectral amplitude above 20 Hz
    • Crossover smoothly with the FSS slow temperature control loop and the MCF loop. 
    • What factor of suppression are we looking for? What is achievable? Once I build the model, it should shed some light on these..
    • Is the PMC a more stable frequency reference than the NPRO crystal at low frequencies? This measurement by Koji seems to suggest that it isn't (assuming the 1e4 product for the NPRO free-running frequency noise)..
  3. Once we have a model and a satisfactory list of requirements, design a control loop that meets these using traditional techniques, i.e. desired tracking error in the control band of 0.1-20 Hz (is this possible? The model will tell us...), gain and phase margin requirements etc. But this need not necessarily be the optimal controller that meets all of our requirements
  4. Optimize the controller - how? Can we define an objective function that, for example, rewards arm control signal suppression and penalizes injection of control noise, and just fminsearch in the [z,p,k] parameter space of the controller? Is there a smarter way to do this?
  5. Can this algorithm be adaptive, and optimize the controller to adapt to prevailing seismic conditions for example? Is this the same as saying we have a model that is accurate enough for us to predict the response of the plant to environmental disturbances? 

My immediate goal is to have the Simulink model updated.

Thoughts/comments on the above will be appreciated...

  12795   Fri Feb 3 11:40:09 2017 ranaUpdateIMCMCL Feedback - framing the problem

In working on automatic DARM loop design, we have this code:


the things in there like mkCost*, etc. have examples of the cost functions that are used. It may be useful to look at those and then make a similar cost function calculation for the MCL/MCF loop.

  12804   Mon Feb 6 17:03:41 2017 gautamUpdateIMCMCL Feedback - simulink model updated

I've edited Rana's Simulink model to reflect the current IMC servo topology (to the best of my understanding). I've tried to use Transfer Function blocks wherever possible so that we can just put in the appropriate zpk model in the script that will linearize the whole loop. I've also omitted the FSS SLOW loop for now.

I've been looking through some old elogs and it looks like there have been several modifications to both the MC servo board (D040180) and the TT FSS Box (D040105). I think it is easiest just to measure these TFs since the IMC is still down, so I will set about doing that today. There is also a Pomona Box between the broadband EOM and the output of the TT FSS box, which is meant to sum in the modulation for PMC locking, about which I have not yet found anything on the elog.

So the next steps are:

  1. Measure/estimate all the unknown TFs and gains in this schematic
  2. Linearize the model, get the OLG, see if the model matches previously measured OLGs (with the MCL part disabled)
  3. Once the model is verified to be correct, look at couplings of various noise sources in the MCL part of the loop, and come up with a suitable controller.

If anyone sees something wrong with this topology, please let me know so that I can make the required changes.

Attachment 1: mc40_v1.pdf
  12805   Mon Feb 6 18:20:08 2017 KojiUpdateIMCMCL Feedback - simulink model updated

It is more accurate to model the physical frequency noises at various places.

cf. See also 40m ALS paper or Shigeo Nagano PDH thesis on https://wiki-40m.ligo.caltech.edu/40m_Library

- The output 4 should be "Laser frequency"

- Seismic path should be excluded from the summing node

- The output after the PMC: "Laser frequency after the PMC"

- "Laser frequency after the PMC" is compared (diffed) with the output 1 "mirror motion in Hz"

- The comparator output goes to the cav pole, the PD, and the PDH gain: This is the output named "PDH Error"

- Tap a new path from "Laser frequency after the PMC" and multiply with the cav pole (C_IMC)
- Tap a new path from "Mirror motion" and multiply with the cavity high pass  (s C_IMC/omega)
- Add these two: This is the output named "Frequency noise transmitted by IMC"

  11495   Tue Aug 11 18:43:42 2015 JessicaUpdateIOOMCL Online Subtraction

Today I finished fitting the transfer function to a vectfit model for seismometers T240_X and T240_Y, and then used these to filter noise online from the mode cleaner. 

The Bode plot for T240_X is in figure 1, and T240_Y is in figure 2. I made sure to weight the edges of the fit so that no DC coupling or excessive injection of high frequency noise occurs at the edges of the fit.

I used C1:IOO-MC_L_DQ as the first channel I filtered, with C1:IOO-MC_L_DQ(RMS) for RMS data. I took reference data first, without my filter on. I then turned the filter on and took data from the same channel again. The filtered data, plotted in red, subtracted from the reference and did not inject noise anywhere in the mode cleaner. 

I also looked at C1:LSC-YARM_OUT_DQ and C1:LSC-YARM_OUT_DQ(RMS) for its RMS to see if noise was being injected into the Y-Arm when my filter was implemented. I took reference data here also, shown in blue, and compared it to data taken with the filter on. My filter, in pink, subtracted from the Y-Arm and injected no noise in the region up to 10 Hz, and only minimal noise at frequencies ~80 Hz. Frequencies this high are noisy and difficult to filter anyways, so the noise injection was minimal in the Y-Arm. 

Attachment 1: SeisX_bode.png
Attachment 2: SeisY_bode.png
Attachment 3: MCL_first.png
Attachment 4: Yarm_first.png
  11541   Sat Aug 29 04:53:24 2015 IgnacioUpdateIOOMCL Wiener Feedforward Final Results

After fighting relentlessly with the mode cleaner, I believe I have achieved final results

I have mostly been focusing on Wiener filtering MCL with a SISO Wiener filter for a reason, simplicity. This simplicity allowed me to understand the dificulties of getting a filter to work on the online system properly and to develope a systematic way of making this online Wiener filters. The next logical step after achieving my final SISO Wiener filter using the T240-X seismometer as witness for MCL (see elog:11535) and learning how to produce good conditioned Wiener filters was to give MISO Wiener filtering of MCL a try. 

I tried performing some MISO filtering on MCL using the T240-X and T240-Y as witnesses but the procedure that I used to develope the Wiener filters did not work as well here. I made the decision to ditch it and use some of the training data I saved when the SISO (T240-X) filter was runing overnight to develope another SISO Wiener filter for MCL but this time using T240-Y as witness. I will compare how much more we gain when doing MISO Wiener filtering compared to just a bunch of SISO filtering in series, maybe a lot, or little.

I left both filters running overnight in order to get trainining data for arm and WFS yaw and pitch subtractions.

The SISO filters for MCL are shown below:

The theoretical FIR and IIR subtractions using the above filters:


Running the filters on the online system gave the following subtractions for MCL and YARM:


Comparing the subtractions using only the T240-X filter versus the T240-X and T240-Y:



  11542   Sun Aug 30 00:03:13 2015 ranaUpdateIOOMCL Wiener Feedforward Final Results

Somehow it seems like the ELOG makes all of the thumbnails way too big by default. Did we get some sneaky upgrade recently?

I would only plot your results below 50 Hz. We don't care about the RMS at high frequencies and it can make the RMS misleading.

We definitely need to include one vertical Wilconox at each MC chamber so that it can subtract all of that junk at 10-20 Hz.

  11543   Sun Aug 30 10:57:29 2015 IgnacioUpdateIOOMCL Wiener Feedforward Final Results

Big thumbnails? Could it have been this? elog:11498.

Anyways, I fixed the plots and plotted an RMS that can actaully be read in my original eLOG. I'll see what can be done with the MC1 and MC2 Wilcoxon (z-channel) for online subtractions. 

  11544   Sun Aug 30 12:20:08 2015 ericqUpdateIOOMCL Wiener Feedforward Final Results

Big thumbnails? Could it have been this? elog:11498.

Ignacio is correct; I forgot to shrink the value back down after testing the PDF thumbnails. Default thumbnail size is now back to 600px. 

  11545   Sun Aug 30 13:31:48 2015 ranaUpdateIOOMCL Wiener Feedforward Final Results

I'm not totally sure, but by eyeball, this seems like the best online MCL reduction we've ever had. Nice work.

The 3 Hz performance is the same as usual, but we've never had such good 1 Hz reduction in the online subtraction.

I would like to see a plot of the X & Y arm control signals with only the MCL filter ON/OFF. This would tell us how much of the arm signals were truly frequency noise.

  814   Fri Aug 8 11:04:34 2008 SharonUpdate MCL Wiener filter
I took some old data from Rana and converted the units of the Weiner filter to m/m so to make the effect of the seismometer and accelerometers more obvious.

The data is in counts, and so to convert to m this is what I did:

%%% MC_L calibration
v_per_counts = 5/32768;
v_per_v = 3;
amp_per_N = 1/0.064;

%%% Accelerometers calibration
v_per_counts_acc = 61.045e-6;
g_per_v = 9.8/100;

%%% Seismometer calibration
v_per_counts_seis = 61.045e-6;
m_per_s_per_s_per_volt = 9.8/100;
m_per_v_per_s = 1/345;

for jj=1:6
hfmatm(:,jj)=hfmat(:,jj).*(v_per_counts.*v_per_v.*amp_per_N.*f)./(v_per_counts_acc*g_per_v); %%% accelerometers' data
hfmatm(:,7)=hfmat(:,7).*(v_per_counts.*v_per_v.*amp_per_N)./(v_per_counts_seis*m_per_v_per_s); %%% Seismometer data
Attachment 1: m_per_m.png
  11424   Fri Jul 17 04:56:37 2015 IgnacioUpdateGeneralMCL Wiener filtering + FIR to IIR conversion using vectfit


We took data for the mode cleaner a while ago, June 30th I believe. This data contained signals from the six accelerometers and the three seismometers. In here I have only focused on the seimometer signals as witnesses in order to construct Wiener filters for each of the three seismometer signals (x,y,z) and for the combined seismometers signal. The following plot showing the ASD's shows the results,

 Wiener filtering works beautifully for the seismometers. Note that subtraction is best when we use all three seismometers as the witnesses in the Wiener filter calculation, as can be clearly seen in the first plot above.

Now, I used vectfit to conver the Wiener FIR filters for each seismometer to their IIR versions. The following are the bode plots for the IIR filters,

For the x-direction seismometer,


For the y-direction seismometer



And for the z-direction seismometer,

 The IIR filters were computed using 5 zeros and 5 poles using vectfit. That was the maximum number of poles that I could use wihtout running into trouble with matrices being almost singular in Matlab. I still need to figure out how to deal with this issue in more detail as fitting the y-seismometer was a bit problematic. I think having a greater number of poles will make the fitting a bit easier.

Attachment 1: Wiener_MCL_seismometers.png
Attachment 2: seisx_mag.png
Attachment 3: seisx_mag.png
Attachment 4: seisx_mag.png
Attachment 5: seisx_phase.png
Attachment 6: seisy_mag.png
Attachment 7: seisy_phase.png
Attachment 8: seisz_mag.png
Attachment 9: seisz_phase.png
  11425   Sat Jul 18 06:12:07 2015 IgnacioUpdateGeneralMCL Wiener filtering + FIR to IIR conversion using vectfit (Update)

(updateAfter Eric gave me feedback on my previous elog post, I went back and fixed some of the silly stuff I stated.

First of all, I have come to realized that it makes zero sense to plot the ASD's of the mode cleaner against the seismometer noise. These measurements are not only quite different, but elementary, they posess different units. I have focused my attention to the MCL being Wiener filtered with the three siesmometer signals. 

One of the major improvements that I make in the following analysis is,

1) Prefiltering; a band pass filter from 1 to 5 Hz, in order to emphasize subtraction of the bump shown in the figure below.

2) I have used vectfit exclusively in the 1 to ~5 Hz range, in order to model the FIR filter properly, as in, the kind of subtraction that we care about. Limiting myself to the 1 - 5 Hz range has allowed me to play freeley with the number of poles, hence being able to fit the FIIR filter properly with an IIR rational transfer function properly,

The resulting ASD's are shown below, in blue we show the raw MCL output, in blac the Wiener filter (FIR) result, and finally in black, the resultant data being filtered with the calculated IIR Wiener filter.


Now, in the following plots I show the IIR Wiener filters for each of the three seismometers, 

X Seismometer,

For the Y seismometer,

and for the Z seismometer,


The matlab code for this work is attached: code.zip

Attachment 1: Wiener_MCL_seismometers_iir.png
Attachment 2: seisx_mag.png
Attachment 3: seisx_mag.png
Attachment 4: seisx_mag.png
Attachment 5: seisx_ph.png
Attachment 6: seisy_mag.png
Attachment 7: seisy_mag.png
Attachment 8: seisy_mag.png
Attachment 9: seisy_ph.png
Attachment 10: seisz_ph.png
Attachment 11: seisz_ph.png
Attachment 12: code.zip
Attachment 13: seisz_mag.png
Attachment 14: seisz_mag.png
Attachment 15: seisz_ph.png
  7737   Wed Nov 21 01:36:36 2012 KojiUpdateIOOMCL disabled / WFS clear history restored

As MCL is disturbing arm locking by injecting a lot of noise, I have modified 'mcup'  to disable MCL

As MC WFS keeps failing to start up when it is locked, the lines in 'mcwfsoff' to clear WFS filter history were restored.

  8440   Thu Apr 11 03:23:12 2013 DenUpdateGeneralMCL threshold

MC down script is too slow to block MC_L when the cavity goes out of lock. As a result the loop strongly kicks MC2. We decided to make a threshold inside MCS model on MC TRANS that will block MC_L during lock loss. This is a lower threshold. Upper threshold can be slow and is implemented inside MC up script.

Fast threshold can be set inside MC2 POS. I did not correct MC2 top level medm screen as it is the same for all core optics.

Note: Fast trigger will also block ALS signal if MC loose lock.

  7263   Thu Aug 23 22:21:13 2012 ranaConfigurationIOOMCL turned back on

I turned on some filters and gain in the SUS-MC2_MCL filter bank tonight so as suppress the seismic noise influence on MC_F. This may help the MC stay in lock in the daytime.

Koji updated the mcdown and mcup scripts to turn the MCL path on and off and to engage the Boost filters at the right time.

The attached PNG shows the MCL screen with the filters all ON. In this state the crossover frequency is ~45 Hz. MC_F at low frequencies is reduced by more than 10x.

I also think that this may help the X-Arm lock. The number of fringes per second should be 2-3x less.

Attachment 1: mcl-screen.png
Attachment 2: mcf-noise.pdf
  6996   Fri Jul 20 14:18:15 2012 DenUpdatePEMMCL, GUR calibration

I did a raw calibration of MCL and GUR. Accuracy is a factor of 2.

GUR path : 800 V/m/s => readout box (G~100) => ADC (0.7 mV/count)

MCL path : laser 1 MHz / V, cavity length ~ 25 m

I measured feedback signal before the laser with SR and avoided whitening filters for MC_F.


  7522   Wed Oct 10 20:27:40 2012 DenUpdateIOOMCL, WFS triggers

I've added MCL and WFS stop triggers into C1MCS/SUS model. Threshold value of MC_TRANS can be changed in the text entry located in MC2_POSITION medm screen. I tried 2 cases: trigger either blocks signal before MCL filter bank input or after output. Due to filter history in the 1 case MC2 was still slightly disturbed (C1:SUS-MC2_ULPD_VAR ~= 15) right after unlock. In the second case there was no disturbance as we zero output signal, but then I had to add "clear history" command to the mcup script.

WFS triggers block the signal before ASCPIT/YAW filter bank.


Attachment 2: mcl.pdf
  7572   Thu Oct 18 03:45:56 2012 JenneUpdateIOOMCL, WFS triggers


I've added MCL and WFS stop triggers into C1MCS/SUS model. Threshold value of MC_TRANS can be changed in the text entry located in MC2_POSITION medm screen. I tried 2 cases: trigger either blocks signal before MCL filter bank input or after output. Due to filter history in the 1 case MC2 was still slightly disturbed (C1:SUS-MC2_ULPD_VAR ~= 15) right after unlock. In the second case there was no disturbance as we zero output signal, but then I had to add "clear history" command to the mcup script.

WFS triggers block the signal before ASCPIT/YAW filter bank.

 I've redone the WFS triggers.  I left the MCL trigger alone (for now....I'll come back to it). 

The trigger was setup such that (a) it was totally unclear what was going on, by looking at the WFS screen.  Koji and I spent some time confused before I remembered that Den did this work recently.  Also, for some reason, the triggers were just plain thresholding, not a schmidt trigger, so any time the cavity flashed, the WFS came on.  Since the cavity can flash before the mcdown script has a chance to turn off the WFS servos, the outputs of the WFS filters are trying to output thousands of counts, and the signal goes through any time the cavity flashes.  Not so good.

I have removed the triggering for the angular DoFs from the mcs model (leaving the MCL triggering for now).  I have put new triggering into the ioo model, at the error point of the WFS loops.  The idea is that if the cavity unlocks, we don't want to lose the current pointing of the mirrors.  If the WFS servos were doing a lot of DC work, the bias sliders won't have the full information about where we want the mirrors to point.  Since we have the integrators in FM1, removing the input signal should freeze the output signal.  I need to modify the WFS on / off script so that this doesn't get turned off every lockloss.

Also, I have implemented (for the first time in a useful model, although I've done some testing in the tst model) the "wait" delay between a cavity locking and the trigger going through.  The idea is that we don't necessarily want the WFS to come on simultaneously with the cavity lock.  Since the wait delay resets any time it is un-triggered, this also prevents any signals from going through during cavity flashes.  The wait block has 3 inputs:  (1) a trigger, the output of some kind of trigger block, (2) a number of seconds to wait and (3) the model rate in Hz.  The model rate should be set with a constant in the model, the trigger passed from the trigger block, and the wait time in seconds should be available as an epics input. 

So far it looks like it's working as I expect, although I'm honestly too tired to do enough testing that I'm satisfied with, so I'm leaving the WFS off for the night.

  7575   Thu Oct 18 12:02:32 2012 DenUpdateIOOMCL, WFS triggers



 I've redone the WFS triggers.  I left the MCL trigger alone (for now....I'll come back to it). 

The trigger was setup such that (a) it was totally unclear what was going on, by looking at the WFS screen.  Koji and I spent some time confused before I remembered that Den did this work recently.  Also, for some reason, the triggers were just plain thresholding, not a schmidt trigger, so any time the cavity flashed, the WFS came on.  Since the cavity can flash before the mcdown script has a chance to turn off the WFS servos, the outputs of the WFS filters are trying to output thousands of counts, and the signal goes through any time the cavity flashes.  Not so good.

 Your schmitt trigger has 2 threshold values - min and max. Set thresholding value in my trigger to the max of your schmitt trigger and you get the same behavior for MC,  triggers are not supposed to turn anything on in this realization as they do for locking with flashing.

ELOG V3.1.3-