40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log, Page 101 of 337  Not logged in ELOG logo
ID Date Author Type Category Subject
  11881   Mon Dec 14 23:49:03 2015 ericqUpdateOptical LeversCalibration of oplevs for ITMX/ETMX

Based on calibration measurement I have done (elog 11785, 11831), I updated calibration factors of oplevs on medm screen as follows. Not to change loop gain oplev servo, I also changed oplev servo gain.

After making sure that the upper UGFs were properly in place, I saved these settings to the SDF files. Thanks Yutaro!

  11880   Mon Dec 14 16:46:42 2015 ericqUpdateWienerFilteringNoise Subtraction Puzzler

Here's something to ponder.

Our online MCL feedforward uses perpendicular vertex T240 seismometer signals as input. When designing a feedforward filter, whether FIR Wiener or otherwise, we posit that the PSD of the best linear subtraction one can theoretically achieve is given by the coherence, via Psub = P(1-C). 

If we have more than one witness input, but they are completely uncorrelated, then this extends to Psub = P(1-C1)(1-C2). However, in reality, there are correlations between the witnesses, which would make this an overestimate of how much noise power can be subtracted. 

Now, I present the actual MCL situation. [According to Ignacio's ELOG (11584), the online performance is not far from this offline prediction]

Somehow, we are able to subtract much more noise at ~1Hz than the coherence would lead you to believe. One suspicion of mine is that the noise at 1Hz is quite nonstationary. Using median [C/P]SDs should help with this in principle, but the above was all done with medians, and using the mean is not much different.

Thinking back to one of the metrics that Eve and Koji were talking about this summer, (std(S)/mean(S), where S is the spectrogram of the signal) gives an answer of ~2.3 at that peak at 1.4Hz, which is definitely in the nonstationary regieme, but I don't have much intution into just how severe that value is.

So, what's the point of all this? We generally use coherence as a heuristic to judge whether we should bother attempting any noise subtraction in the first place, so I'm troubled by a circumstance in which there is much more subtraction to be had than coherence leads us to believe. I would like to come up with a way of predicting MISO subtraction results of nonstationary couplings more reliably.

Attachment 1: subpuzz.pdf
  11879   Mon Dec 14 16:27:11 2015 gautamUpdateGreen LockingY-end AUX PDH noise breakdown


I've attached the results from my measurements of the noise characteristics of the Y-end auxiliary PDH system.


The following spectra were measured, in the range DC-1MHz:

  1. Analyzer noise floor (measured with input terminated)
  2. Green REFL PD dark noise (measured with the Y-end green shutter closed)
  3. Mixer noise (measured with input to mixer terminated - measured with an SR560 with a gain of 100)
  4. Servo noise (measured with input to servo terminated)
  5. In loop error signal (measured with green locked to Y-arm, LSC off - using monitor point on PDH box)
  6. In loop control signal (measured with green locked to Y-arm, LSC off - using monitor point on PDH box)

In order to have good spectral resolution, the frequency range was divided into 5 subsections: DC-200Hz, 200Hz-3.4kHz, 3.4kHz-16.2kHz, 10kHz-100kHz, 100kHz-1MHz. The first three are measured using the SR785, while the last two ranges are measured with the Agilent network analyzer. The spectrum of the mixer output with its input terminated was quite close to the analyzer noise floor - hence, this was measured with an S560 preamplifier set to a gain of 100, and subsequently dividing the ASD by 100. To convert the Y-axis from V/rtHz to Hz/rtHz, I used two conversion factors: for the analyzer noise floor, PD dark noise, mixer noise and in-loop error signal, I made an Optickle simulation of a simple FP cavity (all parameters taken from the wiki optics page, except that I put in Yutaro's measured values for the arm loss and a modulation depth of 0.21 which I estimated as detailed here), and played around with the demodulation phase until I got an error signal that had the same qualitative shape as what I observed on an oscilloscope with the arms freely swinging (feedback to the laser PZT disabled). The number I finally used is 45.648 kHz/V (the main horns were 800mV peak-to-peak on an oscilloscope trace, results of the Optickle FP cavity simulation shown in Attachment #2 used to calibrate the X-axis). For the servo noise spectrum and in-loop control signal, I used the value of 2.43 MHz/V as determined here

I'm not sure what to make of the strong peaks in the mixer noise spectrum between ~60Hz and 10kHz - some of the more prominent peaks are 60Hz harmonics, but there are several peaks in between as well (these have been confusing me for some time now, they were present even when I made the measurement in this frequency range using the Agilent network analyzer. My plan is to repeat these measurements for the Xend now. 

Attachment 1: YAUX_NB_Dec2015.pdf
Attachment 2: PDH_errSig_Calib.pdf
  11878   Mon Dec 14 14:08:49 2015 SteveUpdateSUSRuby wire standoffs update

Two companies are willing to  make the ruby grooves and the third one is still working on their quote.

The price is ~$100 each. The cost goes down 10% if we  order 50 instead of 30 pieces.

How many should we get ?

  11877   Sun Dec 13 21:55:28 2015 gautamUpdateGreen LockingY end laser (Lightwave) PZT calibration


After the discussions at the Wednesday meeting, I redid this measurement using a sinusoidal excitation summed at the error-point of the PDH servo as opposed to a DC offset. From the data I collected, I measured the actuator gain to be 2.43 +/- 0.04 MHz/V. This is almost half the value we expect, I'm not sure if I'm missing something obvious.


  1. Attachment #1 is a sketch of the measurement setup and points at which signals are measured/calculated. Some important changes:
    • I am now using the channel C1:ALS-Y_ERR_MON_OUT to directly measure the input signal to the servo. In order to get the calibration constant for this channel from counts to volts, I simply hooked up the input to the channel to an oscilloscope and noted the amplitude of the signal seen on the scope in volts. The number I have used is 52uV/count (note that the signal to the ADC is amplified by a factor of 10 by an SR560).
    • I measured the transfer function from the input to the servo (marked "A" in the sketch) to the output of the Pomona box going to the laser PZT (marked "B" on the sketch) using an SR785 - see Attachment #2. This allowed me to convert the amplitude of excitation at A to an amplitude at B, which is what we need, as we want to measure C/B.
  2. The measurement itself was done by locking the arms to IR, running ASS to maximize IR transmission, setting up a green beat note, and then measuring the two channels of interest with the excitation to the error-point on. 
  3. I was initially trying to use time-series plots to measure these amplitudes - Koji suggested I use the Fourier domain instead, and so I took FFTs of the two channels we are interested in (using a flat-top window with 0.1 Hz BW) and estimated the RMS values at the frequency at which I had injected an excitation. Data+code used is in Attachment #3. In particular, I was integrating the PSD over 1Hz centered at the excitation frequency in order to calculate the RMS power at the excitation frequency - it could be that for C1:ALS-BEATY_FINE_PHASE_OUT_HZ, the spectral leakage into neighbouring bins is more significant than for C1:ALS-Y_ERR_MON_OUT (see Attachment #4)?
  4. With the amplitudes thus obtained, I took the ratio C/B (see sketch) to determine the MHz/V actuator gain. I had injected excitations at 5 frequencies (916Hz, 933Hz, 977Hz, 1030Hz and 1067Hz, choses in relatively "quiet" parts of the spectrum of C1:ALS-Y_ERR_MON_OUT with no excitations), and the result reported is the average from these five measurements, while the error is the standard deviation in the 5 measurements.
  5. Unrelated to this meaurement - while I had the SR560 hooked up to the input of the PDH box, I inverted the mixer output to the servo input, as I thought I could use this method to estimate the modulation depth. I did so by locking the Y arm green to the sideband TEM00 mode, and comparing the green transmission in this state to that when the Y arm is locked to a carrier TEM00 mode. I averaged C1:ALS-TRY_OUT for 10 seconds in 3 cases: (i) Carrier TEM00, (ii)sideband TEM00, and (iii) shutter closed - from this measurement, I estimate the modulation depth to be 0.209 +/- 0.006 (errors used to calculate the total error were the standard deviations of the measured transmission). 

Next steps:

  1. Check that I have not missed out anything obvious in estimating the actuator gain - particularly the spectral leakage bit I mentioned above.
  2. If this methodology and measurement is legitimate, repeat for the X end, and complete the noise budgeting for both AUX PDH loops.
Attachment 1: IMG_5972.JPG
Attachment 2: ServoY_TF_13Dec2015.pdf
Attachment 3: DatanCode.zip
Attachment 4: PSD_916Hz.pdf
  11876   Fri Dec 11 23:12:09 2015 KojiSummaryCOCLoss map measurement document

Yutaro left detailed slides for his loss map measurement


  11875   Fri Dec 11 16:16:36 2015 yutaroUpdateOptical LeversCalibration of oplevs for ITMX/ETMX

Based on calibration measurement I have done (elog 11785, 11831), I updated calibration factors of oplevs on medm screen as follows. Not to change loop gain oplev servo, I also changed oplev servo gain.


(45.1,16) => (200,3.5)


(85.6,8) => (222,3.0) 


(26,-16) => (140,-3.0) 


(31,-21) => (143,-4.5) 


(110,8) => (122,7.2) 


(81,-11) => (147,-6) 


(159,15) => (239,10) 


(174,-21) => (226,-16) 


  11874   Fri Dec 11 15:37:50 2015 yutaroUpdateLSCPower recycling gain estimation from arm loss measurement

Attached is the plot of relation between the average arm round trip loss and power recycling gain. 2 % loss due to PR3 AR reflection is taken into account.

Attachment 1: PRG_plot.png
  11873   Fri Dec 11 13:28:36 2015 KojiUpdateLSCPower recycling gain estimation from arm loss measurement

Can I ask you to make a plot of the power recycling gain as a function of the average arm loss, indicating the current loss value?

  11872   Fri Dec 11 09:35:44 2015 yutaroUpdateLSCPower recycling gain estimation from arm loss measurement

I took PR3 AR reflectivity and calculated PRG (PR3 is flipped and so AR surface is inside PRC).

As shown in attached figure, which shows AR specification of the LaserOptik mirror (PR3 is this mirror), AR reflectivity of PR3 is ~0.5 %. Since resonant light in PRC goes through AR surface of PR3 4 times per round trip, round trip loss due to this is ~2 %. Then I got

PRG = 7.8.    


Attachment 1: LaserOptikAR.png
  11871   Thu Dec 10 19:53:22 2015 yutaroUpdateLSCstrange behavior of ASDC

To check if the strange behavior of ASDC is caused by SR2/SR3 or not, I did the following measurement:

ASDC measures the power of the light reflected by ITMX. POXDC measures the power of the light reflected by ITMX and SRM successively. Then I varied the angle of ITMX in YAW direction and compared the behaviors of ASDC and POXDC.

The results are shown in Attachments 1-3.

As you can see in these figures, the strange up-and-down behavior appeared ONLY in ASDC. Therefore, the cause of this behavior exists between AS table and SRM (I had confirmed that the angle of SRM did not affect ASDC).

And this behavior is fringe-like, as can be seen in the figures (there seems to be 3 "peaks" and 2 "valleys"), so the cause could be interference between main path and not good AR reflection at a mirror after SRM before AS table (I suspect a mirror is flipped mistakenly).   

Attachment 1: 30.png
Attachment 2: 11.png
Attachment 3: 49.png
  11870   Thu Dec 10 12:33:04 2015 yutaroUpdateLSCstrange behavior of ASDC

I did additional tests for the strange behavior of ASCD. ETMY, ETMX and ITMY were misaligned so that only light reflected by ITMX went into AS port. I had done similar measurement before with ITMY YAW varied.

Attachment 1 shows how ASDC level changed when ITMX PIT varied.

Attachment 2 shows how ASDC level changed when ITMX YAW varied.

Attachment 3 shows how the power of light measured by a power meter just after the AS view port varied when ITMX YAW varied.


Comparing 1 & 2, we can say that this behavior is not unique to YAW direction.

From 2 & 3, we can say something strange is happening inside the chamber.   


Attachment 1: 07.png
Attachment 2: 28.png
Attachment 3: ASDC.png
  11869   Wed Dec 9 23:16:13 2015 ranaUpdateComputer Scripts / ProgramsNodus security

NDS2 and the usual ports so that we can use optimus as a comsol server.



I don't think there are any other ports we need open, but I could be wrong. Let me know if I broke something you need!


  11868   Wed Dec 9 19:01:45 2015 jamieUpdateCDSback to fb1

I spent this afternoon trying to debug fb1, with very little to show for it.  We're back to running from fb.

The first thing I did was to recompile EPICS from source, so that all the libraries needed by daqd were compiled for the system at hand.  I compiled epics-3.14-12-2_long from source, and installed it at /opt/rtapps/epics on local disk, not on the /opt/rtapps network mount.  I then recompiled daqd against that, and the framecpp, gds, etc from the LSCSoft packages.  So everything has been compiled for this version of the OS.  The compilation goes smoothly.

There are two things that I see while running this new daqd on fb1:

instability with mx_streams

The mx stream connection between the front ends and the daqd is flaky.  Everything will run fine for a while, the spontaneously one or all of the mx_stream processes on the front ends will die.  It appears more likely that all mx_stream processes will die at the same time.  It's unclear if this is some sort of chain reaction thing, or if something in daqd or in the network itself is causing them all to die at the same time.  It is independent of whether or not we're using multiple mx "end points" (i.e. a different one for each front end and separate receiver threads in the daqd) or just a single one (all front ends connecting to a single mx receiver thread in daqd).

Frequently daqd will recover from this.  The monit processes on the front ends restart the mx_stream processes and all will be recovered.  However occaissionally, possibly if the mx_streams do not recover fast enough (which seems to be related to how frequently the receiver threads in daqd can clear themselves), daqd will start to choke and will start spitting out the "empty blocks" messages that are harbirnger of doom:

Aborted 2 send requests due to remote peer 00:30:48:be:11:5d (c1iscex:0) disconnected
00:30:48:d6:11:17 (c1iscey:0) disconnected
mx_wait failed in rcvr eid=005, reqn=182; wait did not complete; status code is Remote endpoint is closed
disconnected from the sender on endpoint 005
mx_wait failed in rcvr eid=001, reqn=24; wait did not complete; status code is Remote endpoint is closed
disconnected from the sender on endpoint 001
[Wed Dec  9 18:40:14 2015] main profiler warning: 1 empty blocks in the buffer
[Wed Dec  9 18:40:15 2015] main profiler warning: 0 empty blocks in the buffer
[Wed Dec  9 18:40:16 2015] main profiler warning: 0 empty blocks in the buffer

My suspicion is that this time of failure is tied to the mx stream failures, so we should be looking at the mx connections and network to solve this problem.

frame writing troubles

There's possibly a separate issue associated with writing the second or minute trend files to disk.  With fair regularity daqd will die soon after it starts to write out the trend frames, producing the similar "empty blocks" messages.

  11867   Wed Dec 9 18:45:58 2015 KojiSummaryGeneralNetwork Topology Check

[Eric Q, Gautam, Koji]

We went through the network connections to produce the mapping of the instruments.
Gautam summarized the notes into a spread sheet. See attachments.

We didn't find any irregular connections except for the connection of NETMGR port of c1ioo to Martian Network.
This cable was removed.

Attachment 1: Network_topology_9Dec2015.xlsx
Attachment 2: Network_topology_9Dec2015.pdf
Network_topology_9Dec2015.pdf Network_topology_9Dec2015.pdf Network_topology_9Dec2015.pdf
  11866   Wed Dec 9 11:25:55 2015 SteveUpdateVACnormal RGA scan at day 435-436

Glitches are gone. Rga scan is good


Attachment 1: glichesGone.png
Attachment 2: d436.png
  11865   Tue Dec 8 23:24:08 2015 gautamUpdateGreen LockingY end laser (Lightwave) PZT calibration


I measured the PZT actuator gain for the Lightwave NPRO at the Y-end to be 3.6 +/- 0.3 MHz/V. This is somewhat lower than the value of 5 MHz/V reported here, but I think is consistent with that measurement. 


In order to calibrate the Y-axis of my Aux PDH loop noise budget plots, I wanted a measurement of the end laser actuator gain. I proceeded to measure this as follows:

  1. Use a function generator to add a DC offset to the error point - I did this by taking the output of the RF mixer -> Input A of an SR560, output of the function generator -> input B of the SR560 (via a 20 Ohm attenuator, and with a 50ohm T-eed to the input for impedance matching), and setting the output to A-B, and feeding that to the "Servo Input" on the PDH box.
  2. I then locked the arm to IR, ran the dither to maximize the green transmission, and set up a beat note at ~39 MHz with the help of the analyzer in the control room.
  3. Set phase tracker UGF, clear phase history.
  4. Vary the DC offset to the error point by using the offset on the function generator. I varied the offset until the green TEM00 lock was lost, in steps of 0.1 V. At each step, I averaged the output of the phase tracker for 15 seconds.
  5. Convert the applied DC offset to the DC offset appearing at the servo output using the transfer function of the servo box (DC gain measured to be ~65 dB), taking into account the 20dB attenuator also.

The attached plot shows the measured data. The X-axis is shown after the conversion mentioned in the last bullet point. The error bars are the standard deviations of the averaging at each DC offset. 

To do:

  1. The value of the DC gain of the servo, 65 dB, is an approximate one based on a rough measurement I did earlier today. I'll take a TF measurement with an SR785 tomorrow, but I think this shouldn't change the number too much.
  2. Upload the noise budget measurements for the Y-end PDH loop.
Attachment 1: Ycalib_8Dec.pdf
  11864   Tue Dec 8 15:57:16 2015 yutaroSummaryLSCPower recycling gain estimation from arm loss measurement

I estimated power recycling gain with the results of arm loss measurement.

From elog 11818 and 11857, round trip losses including transmittivity of ETM of Y arm and X arm (let us call them T_\mathrm{loss,Y} and T_\mathrm{loss,X}) are 229+13.7=243 ppm and 483+13.7=495 ppm, respectively.


How I calculated:

I used the following formula.

Amplitude reflectivity of an arm cavity r_\mathrm{FP}

r_\mathrm{FP}=\sqrt{1-\frac{4T_\mathrm{ITM}T_\mathrm{loss}}{T^2_\mathrm{tot}}}   (see elog 11816)

Amplitude reflectivity of FPMI r_\mathrm{FPMI}


With power transmittivity of PRM T_\mathrm{PRM} and amplitude reflectivity of PRM r_\mathrm{PRM}, power recycling gain is


 I assumed T_\mathrm{ITM}\simeq T_\mathrm{tot}=\frac{2\pi}{401}=0.01566T_\mathrm{PRM}=0.05637, and r_\mathrm{PRM}=\sqrt{1-T_\mathrm{PRM}}, and then I got

PRG = 9.8.

Since both round trip losses have relative error of ~ 4 % and PRG is proportional to inverse square of T_\mathrm{loss} up to the leading order of it, relative error of PRG can be estimated as ~ 8 %, so PRG = 9.8 +/- 0.8



According to elog 11691, which says TRX and TRY level was ~125 when DRFPMI was locked, power recycling gain was \mathrm{PRG}=125\times T_\mathrm{PRM}=7.0 at the last DRFPMI lock.

Measured PRG is lower than PRG estimated here, but it is natural because various causes such as mode mismatch between PRC mode and arm cavity mode, imperfect contrast of FPMI, and so on could decrease PRG, which Eric suggested to me. 


Added on Dec 9

If T_\mathrm{loss,X} were as small as T_\mathrm{loss,Y}, PRG would be 16.0. PRC would be still under coupled.  

  11863   Tue Dec 8 15:40:48 2015 SteveUpdateVACglitchy RGA scan at day 434

The noise floor of the Rga scan is glitching less today


Attachment 1: lessGlichingToday.png
  11862   Tue Dec 8 15:18:29 2015 ericqUpdateComputer Scripts / ProgramsNodus security

I've done a couple things to try and make nodus a little more secure. Some have worried that nodus may be susceptible to being drafted into a botnet, slowing down our operations. 

1. I configured the ssh server settings to disallow logins as root. Ubuntu doesn't enable the root account by default anyways, but it doesn't hurt.

2. I installed fail2ban. Function: If some IP address fails to authenticate an ssh connection 3 times, it is banned from trying to connect for 10 minutes. This is mostly for thwarting mass brute force attacks. Looking at /var/log/auth.log doesn't indicate any of this kind of thing going on in the past week, at least.

3. I set up and enabled ufw (uncomplicated firewall) to only allow incoming traffic for:

  • ssh
  • ELOG
  • Nodus apache stuff (svn, wikis, etc.)

I don't think there are any other ports we need open, but I could be wrong. Let me know if I broke something you need!

  11861   Tue Dec 8 11:24:45 2015 yutaroSummaryComputer Scripts / ProgramsScripts for loss map measurement

Here I explain usage of my scripts for loss map measurement. There are 7 script files in a same directory /opt/rtcds/caltech/c1/scripts/lossmap_scripts. With these scripts, round trip loss of an arm cavity with the beam spot on one mirror shifted to 5x5 (option: 3x3) points is measured. You can choose on which cavity you measure, the beam spot on which mirror you shift, and maximum shift of the beam spot in vertical and horizontal direction.


To start measurement from the beginning

Run the following command in an arbitrary directory and you will get several text files including the result of loss map measurement:

> python /opt/rtcds/caltech/c1/scripts/lossmap_scripts/lossmap.py [maximum shift in mm (PIT)] [maximum shift in mm (YAW)] [arm name (XorY)] [mirror name (E or I)]

Optionally, you can add "AUTO" at the end of the above command. Without "AUTO", you will be asked if the dithering has already settled down or not after each shift of the beam spot and you can let the scripts wait until the dithering settles down sufficiently. If you add "AUTO", it will be judged if the dithering has settled down or not according to some criteria, and the measurement will continue without your response to the terminal.

The files to be created in the current directory by the scripts are:

- lossmapETMX1-1.txt                                # [POX power (locked)] / [POX power (misaligned)]

- lossmapETMX1-2.txt                                # standard deviation of [POX power (locked)] / [POX power (misaligned)]

- lossmapETMX1-3.txt                                # TRX

- lossmapETMX1-1_converted.txt               # round trip loss (ppm) calculated from lossmapETMX1-1.txt

- lossmapETMX1-1_converted_sigma.txt     # standard deviation of round trip loss calculated from 1-1.txt and 1-2.txt

- lossmapETMX_result.txt                           # round trip loss and its error in a clear form.

The name of the files would be "lossmapITMY1-1.txt" etc. depending on which mirror you have chosen.


To restart measurement from a certain point

Run the following command in a directory containing "lossmap(mirror name)1-1.txt", "lossmap(mirror name)1-2.txt" and "lossmap(mirrorname)1-3.txt" which are created by previous not-completed measurement:

> python /opt/rtcds/caltech/c1/scripts/lossmap_scripts/lossmap.py [maximum shift in mm (PIT)] [maximum shift in mm (YAW)] [arm name (XorY)] [mirror name (E or I)] [restart point (PIT)] [restart point (YAW)]​ 

You can also add "AUTO".

How to designate the restart point:

Matrix elements of output of this measurement procedure are characterized by a pair of two numbers as the following shows.

   (-1,-1) ->  (-1,-0.5) ->  (-1,0) ->   (-1,0.5)  ->   (-1,1)
   (-0.5,1) <- (-0.5,0.5) <- (-0.5,0) <- (-0.5,-0.5) <- (0.5,-1)
   (0,-1) ->   (0,-0.5)  ->  (0,0)  ->   (0,0.5)  ->    (0,1)   
   (0.5,1)  <- (0.5,0.5)  <- (0.5,0)  <- (0.5,-0.5)  <- (0.5,-1)
   (1,-1) ->   (1,-0.5) ->   (1,0)  ->   (1,0.5)   ->   (1,1)

Please write the numbers that correspond to the matrix element you want to restart at. Arrows show the order of sequence of measurement. About the correspondence between the matrix elements and real position on the ETMY and ETMX, see elog 11818 and 11857, respectively. 

This script will overwrite the files (~1-1.txt etc.) so it is safer to make backup of the files before you run this script.


Some notes on the scripts and measurement

- Calibration has been done only for ETMs, i.e. for ITMs unit of [maximum shift] is not mm, but the values written in [maximum shift] equal to the maximum offsets added just after demodulation of ASS loop (ex. C1:ASS-YARM_ITM_PIT_L_DEMOD_I_OFFSET).

- It should be checked before doing measurement if the following parameters are correct or not.

POXzero (L47 in lossmapx.py and L52 in lossmapx_resume.py: the value of C1:LSC-POXDC_OUTPUT when no light injects into POXPD.)

POYzero (L45 in lossmapy.py and L50 in lossmapy_resume.py: the value of C1:LSC-POYDC_OUTPUT when no light injects into POYPD.)

mmr (L11 in lossmap_convert.py: (mode matching carrier power)/(total power))

Tf (L12 in lossmap_convert.py; transmittivity of ITM) 

Tetm (L13 in lossmap_convert.py: transmittivity of ETM in ppm)

- Changing n (L50 in lossmap.py) from 5 to 3, the grid points will be 3x3 changed from the default value of 5x5. If 3x3, the matrix elements are characterized by

   (-1,-1) -> (-1,0) -> (-1,1)
   (0,1)  <-  (0,0) <-  (0,-1)   
   (1,-1) ->  (1,0) ->  (1,1)  

similarly to the case of 5x5.

- You can copy the directory lossmap_scripts anywhere in controls and use it. These scripts will work as long as all the 7 scripts exist in a same directory. 

  11860   Mon Dec 7 15:56:35 2015 yutaroUpdateLSCXARM lock with ITMX actuated and related change on ASS

I changed the snapshot file for ASS, /opt/rtcds/caltech/c1/scripts/ASS_DITHER_ON.snap as follows:

L124 >  C1:ASS-XARM_ETM_PIT_GAIN 1 -5.000000000000000e-02

        => C1:ASS-XARM_ETM_PIT_GAIN 1 -1.500000000000000e-02

L128>   C1:ASS-XARM_ETM_YAW_GAIN 1 5.000000000000000e-02

        => C1:ASS-XARM_ETM_YAW_GAIN 1 1.500000000000000e-02

The purpose of this change is to avoid the oscillation when the dithering of X arm is running.

  11859   Mon Dec 7 11:25:10 2015 jamieUpdateCDSdaqd is mad

A question to Jamie: although the new framebuilder prototype still had the same problem with trend writing, can it handle this higher testpoint/DQ channel load?

The new fb1 daqd was also crashing even without the trend writing enabled.  I'm not sure how much that's affected by the load, though, e.g. it might be able to handle the extra load fine but then die because of some other issue not related to the number of channels being acquired.

We should schedule some time this week to work on fb1 some more.

  11858   Mon Dec 7 11:17:51 2015 SteveUpdateVACnoisy RGA scan at day 433



CC1 and CC2 are working again. Why did they start working  again ?



Attachment 1: 433dRGAscan.png
  11857   Mon Dec 7 11:11:25 2015 yutaroSummaryLSCround trip loss of X arm

On the day before yesterday and in this morning, I measured loss map of ETMX. I reported the method I used to change the beam spot on ETMX below.

Round trip loss was measured for 5 x 5 points. The result is below.

(unit: ppm)

455.4 +/- 21.1       437.1 +/- 21.8       482.3 +/- 21.8       461.6 +/- 22.5       507.9 +/- 20.1      
448.4 +/- 20.7       457.3 +/- 21.2       495.6 +/- 20.2       483.1 +/- 20.8       472.2 +/- 19.8      
436.9 +/- 19.3       444.6 +/- 19.7       483.0 +/- 19.5       474.9 +/- 20.9       498.3 +/- 18.7      
454.4 +/- 18.7       474.4 +/- 20.6       487.7 +/- 21.4       482.6 +/- 20.7       487.0 +/- 19.9      
443.7 +/- 18.6       469.9 +/- 20.2       482.8 +/- 18.7       480.9 +/- 19.5       486.1 +/- 19.2 

The correspondence between the loss shown above and the beam spot on ETMX is shown in the attached figure. In the figure, "up" and "right" indicate direction of shift of the beam spot when you watch it via the camera (ex. 455.4 ppm corresponds to the highest and rightest point in the view via the camera). 

This result is consistent withe previous result of 561.19 +/- 14.57 ppm ericq got with ASDC and reported in elog 10248 if the discussion I reported in 11819 is taken into account. Elog 11819 says in short that the strange behavior of ASDC could give us 60-70 ppm error.

The reason why the error is larger than that of the measurement for ETMY is that the noise of POX is larger than that of POY. But I am not sure to what extent the statistical error needs to be reduced.

How I shifted the beam spot on ETMX:   

Basically, the method was same as one used for Y arm. Different point is: for Y arm we have two steering mirrors TT1&2, but for X arm we have only one steering mirror BS. Then in order to shift incident beam so that the beam spot on ITMX does not change, I ran the dithering of X arm as well as that of Y arm and added offsets to both dither loops that caused same amount of shift on ETMX and ETMX. Thanks to the symmetry between X arm and Y arm, the dithering of Y arm ensured that the beam spot on ITMX was unchanged as well as that of ITMY. The idea of this method is schematically shown in Attachment 2. 

The calibration of how much the beam spot shifted is based on the results of elog 11846 . The offset was [-15,-7.5,0,7.5,15]x[-5,-2.5,0,2.5,5] for pitch and yaw, respectively.  


Attachment 1: image1-2.JPG
Attachment 2: symmetry.png
  11856   Mon Dec 7 10:45:21 2015 ericqUpdateCDSdaqd is mad

Since removing c1pem from the daqd master file, daqd has not crashed. I suppose we're running into the stability issue that motivated us to disable some of the other models (IOPs, RFM, etc.) during the RCG upgrade. 

A question to Jamie: although the new framebuilder prototype still had the same problem with trend writing, can it handle this higher testpoint/DQ channel load?

  11855   Mon Dec 7 10:40:09 2015 yutaroUpdateComputer Scripts / ProgramsAdded 1 line to UNFREEZE_DITHER.py

I added 1 line to one of the ASS scripts, UNFREEZE_DITHER.py like this:

L29>   ez.cawrite('C1:ASS-'+dof+'_GAIN', 0)   

The reason why I added this is: without this line, C1:ASS-'+dof+'_GAIN become larger that 1.0, which is nomial value, if you UNFREEZE DITHER when the dither is already running or C1:ASS-'+dof+'_GAIN is not 0.0.  

  11854   Mon Dec 7 00:45:28 2015 ericqUpdateCDSdaqd is mad

I glanced at the summary pages and noticed that, since Friday around when we first loaded up the new BLRMS parts, daqd has crashing very frequently (few times per hour). 

I'm going to comment out the c1pem lines from the daqd master file for tonight, and see if that helps. 

  11853   Sat Dec 5 21:57:32 2015 yutaroHowToCamerasWhen image capture does not work...

I don't know if just running "modprobe" will work or not, because I didn't try it...  When the same problem happens again, we can try just running "modprobe" first.

  11852   Sat Dec 5 21:28:33 2015 KojiHowToCamerasWhen image capture does not work...

Do we need "make" everytime? Do you mean just running "modprobe" didn't work?

  11851   Sat Dec 5 12:02:25 2015 yutaroHowToCamerasWhen image capture does not work...

Today image capture did not work again, though it had worked 3 days before. I also found that red indicator light on the front pannel of SENSORAY was not turned on, which had been turned on 3 days before (you can find SENSORAY on the floor near Pianosa). Possible reason that it did not work again was I restarted Pianosa last night. Anyway, it works now. Here I report what I did to make it work.


I ran thes commands in shell, following the instruction of the manual of SENSORAY 2253 (Page 5; link or you can find the manual in /users/sensoray; I put it there). 

> cd /users/sensoray/sdk_2253_1.2.2_linux

> make all

> sudo make install

> modprobe s2253

Then the red light got turned on, and image capture worked.


If you recieve an error like "No such file or directory: /dev/video0" at the beginning of the error message when you run image capture scripts from the medm screen, or if you notice that the red indicator light of SENSORAY is not on, this procedure could help you. 

  11850   Fri Dec 4 23:02:13 2015 yutaroUpdateLSCBeam on POX11 is possibly not centered well

[yutaro, Koji]

Now, the beam on POX11 PD is well centered and well focused.

We found out why POXDC had behaved as reported in elog 11839. There were a few reasons: the beam was not focused enough, hight of a mirror was not matched to the beam well, path of the light reflected by misaligned SRM was occasionally close to the path of POX beam.

Then, What we did is following:

- changed orientation of SRM slightly

- changed the hight of the mirror whose hight had not matched well, by changing the pedestal (hight of which mirror was changed is shown in Attachment 1.)

- put a lens with f=250 mm (where the lens is located is shown in Attachment 1.)

- refined alignment for the POX beam to hit on the center of POX11 PD.  

As a result, POX DC level behaved as shown in Attachment 2&3 when the orientation of ITMX was varied (Attachment 2: POX DC vs ITMX PIT, Attachment 3: POX DC vs ITMX YAW). 

You can see broad plateau when varied in both PIT and YAW directions, and the beam is at the center of the plateau if ITMX is aligned ideally.



Attachment 1: image1.JPG
Attachment 2: 56.png
Attachment 3: 04.png
  11849   Fri Dec 4 18:20:36 2015 gautamUpdateCDSBLRMS for IMC setup

[ericq, gautam]

BLRMS filters have been set up for the coil outputs and shadow sensor signals. The signals are sent to the C1PEM model from C1MCS, where I use the library block mentioned in the previous elog to put the filters in place. Some preliminary observations:

  1. The entire operation seems to be computationally quite expensive - just for the 3 IMC mirrors, the average CPU time for C1PEM increased from ~50 usec (before any changes were made to C1PEM) to ~105 usec just as a result of installing 420 filter modules with no filter coefficients loaded (3 optics x 10 channels x 14 filter banks) to ~120 usec when all the BP and LP filters for the BLRMS blocks have been loaded and turned on (Attachment #1). Eric suggested that it may be computationally more efficient to do this without using the BLRMS library part - i.e. rather than having so many filter modules, do the RMS-ing using a piece of C code that essentially just implements the same SOS filters that FOTON generates, I will work on setting this up and checking if it makes a difference. The fact that just having empty filter modules in the model almost doubled the computation time suggests that this approach may help, but I have to think about how to implement some of the automatic checks that having a filter bank in place gives us, or if these are strictly necessary at all...
  2. While restarting the C1PEM model, we noticed that some of the optics were shaking - looking at the CPU timing signals for all the models on C1SUS revealed that both the C1SUS model and the C1MCS model were geting overclocked when C1PEM was killed (see the sharp spikes in the red and green traces in Attachment #2 - the Y scale in this plot is poor and doesnt put numbers to the overclocking, I will upload a better screenshot that Eric took once I find it). The cause is unknown.
  3. Yesterday, I noticed that when C1PEM was restarted, the states of the filter bank switches were not reverted to their states in the SDF tables. They are showing up as changes, but it is unclear why we have to manually revert them. I have also not yet added the states of the newly installed filters (BPs and LPs for the MC BLRMS blocks) to the SDF tables. 

Unrelated to this work: we cleaned up the correspondence between the accelerometer numbers and channels in the C1PEM model. Also, the 3 unused ADC blocks in C1PEM (ADC0, ADC1 and ADC2) are required and cannot be removed as the ADC blocks have to be numbered sequentially and the signals needed in C1PEM come from ADC3 (as we found out when we tried recompiling the model after deleting these blocks).

Attachment 1: c1pem_timing.png
Attachment 2: C1SUS_overclocked.png
  11848   Fri Dec 4 13:12:41 2015 ericqUpdateCDSc1ioo Timing Overruns Solved

I had noticed for a while that the c1ioo frontend model had much higher variability than any of the other other 16k models, and would run longer than 60us multiple times an hour. This struck me as odd, since all it does is control the WFS loops. (You can see this on the Nov17 Summary page. (But somehow, the CDS tab seems broken since then, and I'm not sure why...))

This has happily now been solved! While poking around the model, I noticed that the MC2 transmission QPD data streams being sent over from c1mcs were using RFM blocks. This seemed weird to me, since I wasn't even aware that c1ioo had an RFM card. Since the c1sus and c1ioo frontends are both on the Dolphin network, I changed them to Dolphin blocks and voila! The cylce time now holds steady at 21usec. 

Update: I think I figured out the problem with the CDS summary pages. Looking at the .err files in /home/40m/public_html/summary/logs on the 40m LDAS account showed that C1:FEC-33_CPU_METER wasn't found in the frame files. Indeed, this channel was commented out in c1/chans/daq/C0EDCU.ini. I enabled it and restarted daqd. Hopefully the CDS tab will come back soon...

  11847   Fri Dec 4 12:33:52 2015 yutaroUpdateLSCBeam on POX11 is possibly not centered well

To focus POX beam on POX11 PD, I added an iris and a lens before POX11 PD as you can see in Attachment 1.

It seemed that the beam is well focused, but the behavior of POXDC has not changed, as shown in Attachments 2 & 3.    

Attachment 1: image1-3.JPG
Attachment 2: 07.png
Attachment 3: 47.png
  11846   Fri Dec 4 10:18:33 2015 yutaroUpdateASSOffset in the dither loop of XARM vs beam spot shift on ETMX

As I did for YARM (elog 11779), I measured the relation between offsets added just after the demodulation of the dithering loop of XARM and beam spot shift on ETMX. Defferent from YARM, the beam spot on ITMX DOES change because only BS is used as a steering mirror (TT1&2 are used for the dithering of YARM). Instead, the beam spot on BS DOES NOT change.

This time, I measured by oplevs the angles of both ETMX and ITMX for each value of offset, and using these angles I calculated the shift of the beam spot on ETMX so that I got two independent estimations (one from ETMX oplev, and the other from ITMX oplev) as shown below. The calibration of the oplevs reported in elog 11831 is taken into account. 

The difference of two estimations comes from the error of calibration of oplevs and/or imperfect alignment, I think. 

Attachment 1: offset-angleETMXPIT.png
Attachment 2: offset-angleETMXYAW.png
  11845   Thu Dec 3 19:10:28 2015 yutaroUpdateLSCXARM lock with ITMX actuated and related change on ASS

To avoid the strange kicking of ETMX, I locked XARM with ITMX actuated instead of ETMX so that I changed elements of C1LSC_OUTPUT_MTRX; before: XARM=ETMX, after: XARM=ITMX.

And I change C1:LSC-XARM_GAIN from 0.007 to 0.022.


With this setup, I ran dither but then error signals of dithering oscillated as shown in the figure below.

Then I found that if C1:ASS-XARM_ETM_PIT_L_DEMOD_SIG_GAIN / C1:ASS-XARM_ETM_YAW_L_DEMOD_SIG_GAIN in C1ASS_LOCKINS_XARM.adl are changed as 0.200 -> 0.100 and 0.200 -> 0.100, respectively, the dithering works well.

But the burt file that is loaded when you let dithering "ON" is not changed, because now I don't know how to update a burt file. So, if you let dithering "ON", the dithering will run with the condition that C1:ASS-XARM_ETM_PIT_L_DEMOD_SIG_GAIN / C1:ASS-XARM_ETM_YAW_L_DEMOD_SIG_GAIN are not 0.100 but 0.200.



Attachment 1: 40.png
  11844   Thu Dec 3 18:18:48 2015 gautamUpdateCDSBLRMS for optics suspensions - library block

In order to be consistent with the naming conventions for the new BLRMS filters, I made a library block that takes all the input signals of interest (i.e. for a generic optic, the coil signals, the local damping shadow sensors, and the Oplev Pitch and Yaw signals - so a total of 12 signals, unused ones can be grounded). The block is called "sus_single_BLRMS". Inside the block, I've put in 12 BLRMS library blocks, with each input signal going to one of them. All the 7 outputs of the BLRMS block are terminated (I got a compiling error if I did not do this). The idea is to identify the optic using this block, e.g. MC2_BLRMS. The BLRMS filters inside are called UL_COIL, UR_COIL etc, so the BLRMS channels will end up being called C1:SUS-MC2_BLRMS_UL_COIL_0p01_0p03 and so on. I tried implementing this in C1PEM, but immediately after compiling and restarting the model, I noticed some strange behaviour in the seismic rainbow STS strip in the control room - this was right after the model was restarted, before I attempted to make any changes to the C1PEM.txt file and add filters. I then manually opened up the filter bank screens for the RMS_STS1Z bandpass and lowpass filters, and saw that the filter switches were OFF - I wonder if this has something to do with these settings not being updated in the SDF tables? So I manually turned them on and cleared the filter hitsory for all 7 low pass and band pass filter banks, but the traces on the seismic striptool did not return to their nominal levels. I manually checked the filter shapes with Foton and they seem alright. Anyways, for now, I've reverted to the C1PEM model before I made any changes, and the seismic strip looks to be back at its normal level - when I recompiled and restarted the model with the changes I made removed, the STS1Z BLRMS bandpass and lowpass filters were ON by default again! I'm not sure what I'm doing wrong here, I will investigate this further. 

  11843   Thu Dec 3 10:05:07 2015 yutaroUpdateOptical LeversCalibration of oplevs for ITMX/ETMX

I updated the figures. I think it's easier to read now.

  11842   Thu Dec 3 06:15:38 2015 ranaUpdateOptical LeversCalibration of oplevs for ITMX/ETMX


Let Loren help you make your Oplev data readable to humans.cool

  11841   Thu Dec 3 03:01:07 2015 gautamUpdateLSCCalibration of C1CAL

[ericq, gautam]

While trying to resolve the strange SRCL loop shape seen yesterday (which has been resolved, eric will elog about it later), we got a chance to put in the correct filters to the "CINV" branch in the C1CAL model for MICH, PRCL, and SRCL - so we have some calibrated spectra now (Attachment #1). The procedure followed was as follows:

  1. Turn on the LO gain for the relevant channel (we used 50 for MICH and SRCL, 5 for PRCL)
  2. Look at the power spectra of the outputs of the "A" and "CINV" filter banks - the former has some calibrated filters in place already (though I believe they have not accounted for everything).
  3. Find the peak height at the LO excitation frequency for the two spectra, and calculate their ratio. Use this to install a gain filter in the CINV filter module for that channel. 
  4. Look at the spectrum of the output of the "W" filter bank for that channel - the plot attached shows this information.

The final set of gains used were:

MICH: -247 dB

PRCL: -256 dB

SRCL: -212 dB

and the gain-only filters in the CINV filter banks are all called "DRMI1f".

Once we are able to lock the DRFPMI again, we can do the same for CARM and DARM as well...

Attachment 1: 2015-12-C1CAL_Calibration.pdf
  11840   Wed Dec 2 18:54:20 2015 gautamUpdateCDSChanges to C1MCS, C1PEM


I've made several changes to the C1MCS model and C1PEM model, and have installed BLRMS filters for the MC mirror coils, which are now running. The main idea behind this test was to see how much CPU time was added as a result of setting up IPC channels to take the signals from C1MCS to C1PEM (where the BLRMS filtering happens) - I checked the average CPU time before and after installing the BLRMS filters, and saw that the increase was about 1 usec for 15 IPC channels installed (it increased from ~27usec to 28usec). A direct scaling would suggest that setting up the BLRMS for the vertex optics might push the c1sus model close to timing out - it is at ~50usec right now, and I would need, per optic, 12 IPC channels, and so for the 5 vertex optics, this would suggest that the CPU timing would be ~55usecI have not committed either of the changed models to the SVN just yet


  1. On Eric's suggestion, I edited the C1_SUS_SINGLE_CONTROL library part to tap the signal at the input to the output filters to the coils, as this is what we want the BLRMS of. I essentially added 5 more outputs to this part, one for each of the coils, and they are named ULIn etc to differentiate it from the signal after the output filters. I have not committed the changed library part to the SVN just yet
  2. I used the cdsIPCx_SHMEM part to pipe the signals from C1MCS to C1PEM - a total of 15 such channels were required for the three IMC mirrors.
  3. I added the same cdsIPCx_SHMEM parts to the C1PEM model in the receiving configuration, and connected their outputs to BLRMS blocks. The BLRMS blocks themselves are named as RMS_MC2_UL_COIL_IN and so on.
  4. I shutdown the watchdogs to MC1, MC2 and MC3, and restarted the C1PEM and C1MCS models on C1SUS. Yutaro pointed out that on restarting C1MCS, the IMC autolocker was disabled by default - I have enabled it again manually.
  5. I was under the impression that each time a BLRMS block is added, a filter bank is automatically added to the C1PEM.txt file in /opt/rtcds/caltech/c1/chans - turns out, it doesn't and my script for copying the template bandpass and lowpass filtes into the .txt files was needlessly complicated. It suffices to change the filter names in the template file, and append the template file to C1PEM.txt using the cat command: i.e. cat template.txt > C1PEM.txt. The computer generated file seems to organize the filters in alphabetical order, and my approach obviously does not do so, but the coefficients are loaded correctlty and the filters seem to be functioning correctly so I don't think this is a problem (I measured the transfer function of one of the filters with DTT, it seems to match up well with the Foton bode plot). 
  6. I added a few lines to the script to also turn on the filter switches after loading the filter coefficients.

Next steps:

Now that I have a procedure in place to install the BLRMS filters, we can do so for other channels as well, such as for the coils and Oplevs of the vertex optics, and the remaining PEM channels (SEIS, accelerometers, microphones?). For the vertex optics though, I am not sure if we need to do some rearrangement to the c1sus model to make sure it does not time out...

  11839   Wed Dec 2 17:14:33 2015 yutaroUpdateLSCBeam on POX11 is possibly not centered well

I checked how POXDC level changes when the angle of ITMX is varied. ETMX was misaligned.

Then I found that in YAW direction the POXDC level is maximized but it doesnt have plateau, and in PIT direction it is not maximized so that it is at the slope and it doesnt have plateau, as shown in attached figures. These results indicate that the beam size on POX11 is not small enough compared to the size of the diode and it is not centered well.

Attachment 1: 47.png
Attachment 2: 41.png
  11838   Wed Dec 2 15:52:28 2015 yutaroUpdateLSCrestoration of POXDC

I disconnected the cable that was connected to CH6 of the whitening filter in 1Y2, then connected POXDC cable to there (CH6). This channel is where POXDC used to connect.

Then I turned on the whitening filter for POXDC and POYDC (C1:LSC-POXDC FM1, C1:LSC-POYDC FM1) and changed the gain of analog whitening filter for POXDC and POYDC from 0 dB to 45 dB and from 0 dB to 39 dB, respectively (C1:LSC-POXDC_WhiteGain, C1:LSC-POYDC_WhiteGain).

  11837   Wed Dec 2 15:08:41 2015 ericqUpdateComputer Scripts / ProgramsDonatella sudo problem resolved

Somehow, the controls user account on donatella lost its membership to the sudoers group, which meant doing anything that needs root authentication was impossible. 

I fixed this by booting up from a Linux install USB drive, mounting the HD, and running useradd controls sudo

  11836   Wed Dec 2 03:34:30 2015 ericqUpdateLSCSRCL OLG weirdness

[gautam, ericq]

Since ETMX seems to have been on good behavior lately, we tried to fire the IFO back up. 

We had a fair amount of trouble locking the DRMI with the arms held off resonance. For reasons yet to be understood, we discovered that the SRCL OLG looks totally bananas. It isn't possible to hold the DRMI for very long with this shape, obviously. 

With the arms misaligned and the DRMI locked on 1F, the loop shape is totally normal. I haven't yet tried 3F locking with the arms misaligned, but this is a logical next step; I just need to look up the old demod angles used for this, since it wasn't quickly possible with the 3F demod angles that are currently set for the DRFPMI. 

Attachment 1: weirdSRCLG.pdf
  11835   Tue Dec 1 20:20:16 2015 KojiUpdateGeneralMegatron maitenence

MC Autolocker got stack somewhere. I had to go to megatron and kill MC Autolocker.

init relaunched the autolocker automatically, and now it started properly.

  11834   Tue Dec 1 17:26:14 2015 KojiUpdateGeneralMegatron maitenence

SLOWDC servo was dead. I followed EricQ's instruction.

  11833   Tue Dec 1 17:16:31 2015 gautamUpdateCDSScript for copying BLRMS filters

We've been talking about putting in BLRMS filters for several channels - it would be a pain to manually copy over the correct bandpass and lowpass filter coefficients into the newly created filter banks, and so I've set up a script (attached) that can do the job. As template filters, I'vm using the filters rana detailed here. Essentially, what the script does is identify the (empty on creation) block of text for a given filter: e.g. RMS_STS1Z_BP_0p01_0p03 for STS1Z), and appends the template filter coefficients. To test my script, I first backed up the original C1PEM.txt file from /opt/rtcds/caltech/c1/chans, removed all the filter coefficients for the STS1Z BLRMS filters, and then replaced it with one generated using my script. I then loaded the coefficients for all the filters in the C1PEM modules, without any obvious error messages being generated. I also checked that foton could read the new file, and checked tmake sure that sensible filter shapes were seen for some channels. Since this seems to be working, I'm going to start putting in BLRMS blocks into the models tomorrow.

Attachment 1: makeFilterFiles.bash.zip
  11832   Tue Dec 1 16:55:04 2015 SteveUpdateVACDataviewer fixed

Q adjusted the Dataviewer so it is not chopping of data any more. Thanks.


Cold cathode gauge reading of 10 years.


Attachment 1: 10yrsCC1&4M.png
ELOG V3.1.3-