40m QIL Cryo_Lab CTN SUS_Lab CAML OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log, Page 25 of 355  Not logged in ELOG logo
ID Date Author Type Category Subjectup
  17285   Fri Nov 18 16:58:39 2022 yutaSummaryBHDActuator calibrations for MICH BHD

As there is some confusion in actuator calibration, we have done the measurement again from scratch.
Results are the following.
New values for LO1, LO2, AS1, AS4 are obtained from free swinging ITMY-LO, so it should be more robust.

BS   : 26.54e-9 /f^2 m/counts
ITMX :  4.93e-9 /f^2 m/counts
ITMY :  4.90e-9 /f^2 m/counts
LO1  : 26.34e-9 /f^2 m/counts
LO2  :  9.81e-9 /f^2 m/counts
AS1  : 23.35e-9 /f^2 m/counts
AS4  : 24.07e-9 /f^2 m/counts

BS, ITMX, and ITMY actuator calibration:
 Followed the procedure in 40m/16929.
 Calibrated AS55_Q using X-Y plot to be 9.72e8 counts/m (Attachment #1), locked MICH with UGF of 10 Hz, and measured the transfer function from C1:LSC-BS,ITMX,ITMY_EXC to C1:LSC-AS55_Q_ERR.
 The result is Attachment #2. They are consistent with 40m/16929.

LO1, LO2, AS1, and AS4 actuator calibration:
 Followed similar steps with ITMY-LO fringe.
 Calibrated BH55_Q using X-Y plot to be 7.40e9 counts/m (Attachment #3), locked ITMY-LO with UGF of ~15 Hz (Attachment #4), and measured the transfer function from C1:SUS-LO1,LO2,AS1,AS4_LSC_EXC to C1:LSC-BH55_Q_ERR.
 The result is Attachment #5. They are inconsistent with 40m/17284, but this one should be more robust (see discussions below).

LO1, LO2, AS1, and AS4 actuator calibration by taking the ratio between ITMY:
 We have also followed the steps in 40m/17206 to calibrate BHD actuators.
 This method does not depend on BH55_Q optical gain calibration, but depends on ITMY calibration.
 Measured OLTFs for ITMY-LO fringe locking is Attachment #6, and actuator ratio with respect to ITMY is Attachment #7. In this measurement, Bandstop filter at 96.7 Hz for AS4 was turned off, and gain was lowered by a factor of 2 to avoid AS4 oscillating.
 This gives

LO1  : 116.81e-9 /f^2 m/counts
LO2  :  51.69e-9 /f^2 m/counts
AS1  : 101.48e-9 /f^2 m/counts
AS4  : 117.84e-9 /f^2 m/counts

 These are not consistent with 40m/17284, and larger by a factor of ~2-3.
 These are also not consistent with the values from free swinging measurement, and are larger by a factor of ~4-5.
 I guess there are some gains missing when comparing ITMY loop in c1lsc and other loops in c1hpc.

Attachment 1: AS55QMICH20221118.png
Attachment 2: ActBSITMXITMY20221118.png
Attachment 3: BH55QITMYLO20221118.png
Attachment 4: Screenshot_2022-11-18_14-41-57_LO-ITMY_LowUGF.png
Attachment 5: ActLOAS20221118.png
Attachment 6: ITMY-LO-OLTF20221118.png
Attachment 7: ITMY-LO-OLTFRatio20221118.png
  6163   Tue Jan 3 20:42:05 2012 Leo SingerUpdateGeneralActuators for Stewart platform

 I checked on the two single-axis shakers that are present at the 40m that Steve pointed out:

  • Brüel & Kjær type 4809, rated for 45 N peak, and
  • Brüel & Kjær type 4810, rated for 10 N peak.

Neither of these meet the force requirement of 2.04 kN peak.

  6165   Wed Jan 4 02:43:40 2012 ranaUpdateGeneralActuators for Stewart platform


 I checked on the two single-axis shakers that are present at the 40m that Steve pointed out:

  • Brüel & Kjær type 4809, rated for 45 N peak, and
  • Brüel & Kjær type 4810, rated for 10 N peak.

Neither of these meet the force requirement of 2.04 kN peak.

 Time to lower your expectations!

Do we really need 40 microns at 500 Hz? Or perhaps should there be a frequency dependent displacement requirement?

  5811   Fri Nov 4 15:24:13 2011 MirkoUpdateAdaptive FilteringAdaptive FF on the MC doesn't make sense

[Den, Jenne, Mirko]


Here is the story:

1. High gain
The control loop has a high gain at the interesting frequencies. The error point (EP) before the servo is approx. zero and the information how much the mirror would move is in the feedback point (FB) behind the servo. The mirror doesn’t actually move because of the high gain. This is the case of the grav. wave detectors and medium frequencies (> approx. 50Hz, <<1kHz). Adding feed-forward (FF) to this doesn’t actually keep the mirror quieter. In fact if you look into the FB and subtract the seismic you make the mirror move more. Yes this is the case we have for the mode cleaner, doesn’t make sense.
In a real GW detector FF however isn’t totally useless. The FB tells you how much the mirror moves, due to GWs, seismic etc. When you record the FB and subtract (offline) the seismic you get closer to the real GW signal.

2. Low gain
When you, for technical reasons, can’t have a high gain in your control loop the EP contains information of how the mirror actually moves. You can then feed this into the adaptive filter and add its output to the FB. This will minimize the EP reducing the actual mirror motion. This is the case we will have for most or all other degrees of freedom in the 40m.

The reason we have so much gain in the mode cleaner length control is that we don’t actually move mirrors around. We change the frequency of the incoming laser light. You can do that crazy fast with a big amplitude. This gives us a high UGF and lots of gain in the 1Hz range we are interested in.

We now change the adaptive filter to look at the EP for all DOFs except for the MC. We calculate the effect of the FF on the MC length signal without ever applying the FF to the MC length control.

  384   Mon Mar 17 18:30:48 2008 mevansConfigurationPEMAdaptive Filtering
It seems that adaptive filtering can achieve results similar to those of the MISO FIR Wiener (entry 369). The adaptive code simulates real-time operation, but uses the same data used by Rana for the Wiener filter. I ran the adaptive filter over the data 100 times to ensure that it was well trained... maybe too well.
Attachment 1: mcacc_adaptive.png
  387   Thu Mar 20 17:45:36 2008 ranaSummaryASSAdaptive Filtering in the ASS system
Over the past couple weeks we (Matt, Alex, Rob, me) have worked on getting an adaptive filter
system working. We wanted to load this system into c1ass to use this processor. The dither alignment
system hasn't been employed here for awhile and so we have just used this box.

The signals are acquired in the PEM ADCU. Alex modified the code there to send the signals over to
the new system. We also get the SUS-LSC_OUT signals from each of the suspensions so that we can
try to minimize them.

The outputs of the adaptive filter go into the unused SUS-MCL inputs of all the suspensions (except
for MC2). In the current setup, we have 6 accelerometers and 1 seismometer around the MC to be used
to demonstrate the principle of the whole thing.

Much more documentation and description of everything is necessary. We'll try to get Matt, Rob, and Alex
to use the elog.
  563   Wed Jun 25 09:46:45 2008 SharonUpdate Adaptive Filters
I have been learning about different methods for applying adaptive filters to improve the Mode Cleaner lock in specific, and other LIGO systems in general.
Finding the exact number of coeffs we would like to apply for our FIR adaptive filter is very important to the efficiency of the filter. Getting this number higher might improve the accuracy of the filter, but costs time we do not have. Another important number to find is the step size. The step size is the variable that controls how far back we want to look into our data for finding the new coeffs. To understand more about the step size it is necessary to learn about the standard deviation of our input and output signals. By getting the step size too big, we are considering long term behavior, but might be missing out on a short term one.
In the near future I will be learning about the meanings of these variables and their contribution to the over all accuracy of our filters.
Results will be posted.
  704   Mon Jul 21 09:52:05 2008 SharonUpdate Adaptive code changes
Thanks to Alex, we now save the coefficients of the adaptive filter every cycle. When we choose ENABLE: OFF on the MEDM screen, suppressing the signal to the MC1, we stop and save the last coefficients. When enabling it again, it starts from the last coefficients saved. I will take some measurements today to check how this contributes to the adaptation rate. If you change the number of taps or the number of AUX channels, the coefficients are again set to zero.
  5738   Tue Oct 25 20:04:40 2011 MirkoUpdateAdaptive FilteringAdaptive filter witness and EP SNR

We currently have the code running for all DOFs using all witness channels. By default nothing is applied. C-Code parameters can be changed via the respective EPICS variables. Sanity checks in the C-Code make sure the code doesn't crash when nothing / zeros are fed to the code. Let's look into applying FF to one DOF only as a starting point. We start with MCL.

Remember there are two possible signals to look into MC-F and MC-Servo. See page 5695 http://nodus.ligo.caltech.edu:8080/40m/5695

Dark noise: MC-F over MC-Servo which is unconnected in this measurement:

=> At least 20dB SNR. ADC noise should not be an issue. Of course more is always better.

Coherence of seismometers to MCL:

STS1 is located at the vertex. x-axis along the x arm.
GUR1 is located at the IMC MC2 mirror. Same orientation.

=> 1. Only the x-direction has good coherence (to be expected)
     2. Only good coherence at 1.5-4Hz (huh?)

So probably other noise sources are dominating. Let's look into noise projections. Remember IMC autoalignment is off.

A quick adaptive filter run with only the GUR1 and STS1 witnesses applied only to MCL didn't really do anything. Some more thought needs to be invested into the AA and shaping filters.

  5740   Tue Oct 25 21:49:13 2011 DenUpdateAdaptive FilteringAdaptive filter witness and EP SNR


Coherence of seismometers to MCL:

STS1 is located at the vertex. x-axis along the x arm.
GUR1 is located at the IMC MC2 mirror. Same orientation.

=> 1. Only the x-direction has good coherence (to be expected)
     2. Only good coherence at 1.5-4Hz (huh?)

So probably other noise sources are dominating. Let's look into noise projections. Remember IMC autoalignment is off.

A quick adaptive filter run with only the GUR1 and STS1 witnesses applied only to MCL didn't really do anything. Some more thought needs to be invested into the AA and shaping filters.

Indeed, only GUR1_X is reasonable. Static Wiener filtering (length = 2500) of MCL with witness channels GUR_1_X, GUR_1_Y, GUR_1_Z proves your measurements.

We need to callibrate seimometers. I think that now we see velocity, not displacement. It might be useful to amplify the seimometer singal before ADC to make sure that our signal is not ADC noise.

Attachment 1: gur1_x.jpg
Attachment 2: gur1_y.jpg
Attachment 3: gur1_z.jpg
  5777   Tue Nov 1 18:16:50 2011 DenUpdateAdaptive FilteringAdaptive filter witness and EP SNR



Coherence of seismometers to MCL:

STS1 is located at the vertex. x-axis along the x arm.
GUR1 is located at the IMC MC2 mirror. Same orientation.

=> 1. Only the x-direction has good coherence (to be expected)
     2. Only good coherence at 1.5-4Hz (huh?)

So probably other noise sources are dominating. Let's look into noise projections. Remember IMC autoalignment is off.

A quick adaptive filter run with only the GUR1 and STS1 witnesses applied only to MCL didn't really do anything. Some more thought needs to be invested into the AA and shaping filters.

The possible explanation to this effect is the following:

Seismic noise mainly consists of the Love and Rayleigh surface waves. In the simulations we've taken 2 perpendicular Love waves and 2 perpendicular Rayleigh waves that interfere under the test mirrors. This interference produces both translational and tilt movements. Then we can see the coherence between translational motion and cavity length.


1. The coherence at big frequencies is small due to the passive isolation.

2. The coherence at 1 Hz is 0 due to the wire resonance.

3. The coherence between 1 and 10 Hz is reasonable. At the real 40m's measurements we can see only good coherence for gur1_x and sts1_x but this is the matter of adjusting seismic waves amplitude and direction. In the simulation we've assumed that all waves are of the same amplitude. The really interesting thing is that

4. The coherence below 0.8 Hz began to grow. We don't see this in real measurements.

But let's simulate the seismometer measurements. It measures not only translational motion but also tilt and with amplitude proportional to g / omega^2. On the Figure below the spectrum of translation motion, tilt and tilt as seen by seismometer is presented. We can see that at low frequencies tilt begins to dominate over the translational motion. We assumed the speed of waves in the region 30 - 60 m/sec.


Let's now plot the coherence between the cavity length and seismometer signal.


We can see that the coherence between seismic signal from measured by seismometer and cavity length is gone below 1 Hz where tilt becomes important.

Now let's try to filter out the seismic noise from the cavity length using both static Wiener filtering and adaptive Mfxlms algorithm. For both filters we've used AA filter before the filters and also AI filter after adaptive filter. The downsampling ratio was 4, the sample frequency 256. We can see that nothing is really subtracted due to the pollution of the seismometer signal due to tilt motion.


Assume we do the same computational experiment but with the seismometers that measure only ground translational motion and tilt do not affect on them. Then we have a reasonable subraction of seismic noise at low frequencies even with the filters of the length 100 as shown on the figure below.


Let's look through an order of magnitude analysis. Assume ground motion consists of only one wave with amplitude A and only vertical movement:  z(t) = A*sin(2 pi 0.1 t). So the frequency of the wave is 0.1 Hz. If A = 10-6 m => the amplitude of the suspended mirror motion is also approximately 10-6 m, as we have no isolation at low frequencies. The tilt angle has the amplitude alpha = 2*pi*A/lambda, where lambda - wavelength of the ground wave, lambda = v/f = 40/0.1 = 400 m, v - speed of the wave, f - frequency. Then alpha = 10-8 rad. If the distance between ground and mirror suspension point is 1 m, then mirror motion amplitude due to tilt is B = 10-8 m << A. 
It turns out that tilt does not effect much on the cavity length compared to the ground translational motion, but it affects a lot on the seismometer signals, that are used as witness signals in the filtering. For that reason we need tiltmeters to filter seismometer signals in order to obtain pure translational ground motion.
  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.  

  11793   Fri Nov 20 15:44:12 2015 KojiSummaryPSLAdded 17.5kHz LPF to the PMC servo

As a final tune of the PMC servo, I've added 1nF cap at the error signal amplification stage. The diagram has been updated and uploaded to DCC. https://dcc.ligo.org/D1400221

It should be noted that this modification yielded the error signal to have 17.5kHz roll off.

The openloop TF after the modification has been measured. (Attachment 1)

With the new nominal gain of 9dB, almost the same gain margin for the 28kHz peak has been realized.
=> We have 6dB (factor of 2) more gain at low frequency. Currently, the feature at 8kHz causes the oscillation when the gain is further increased.

Here is the model function for the OLTF.

function cmpOLTFc = PMC_OLTF_model(freqOLTFc)

cmpOLTFc = -9.5e5*pole1(freqOLTFc,0.162).*zero1(freqOLTFc,491)... % from the circuit diagram
    .*pole1(freqOLTFc,17.5e3)... % Newly implemented input filter => GBW pole was replaced with this
    .*zero2(freqOLTFc,12.5e3,100)... % eye-fit
    .*pole2(freqOLTFc,12.2e3,6)... % eye-fit
    .*pole2(freqOLTFc,28.8e3, 12)... % eye-fit
    .*pole1(freqOLTFc,150e3)... % Mixer LPF estimated from Circuit Lab Simulation
    .*pole1(freqOLTFc,11.3)... % Output Impedance + PZT LPF
    .*pole1(freqOLTFc,3e4); % Unknown

The free-running round-trip displacement (roundtrip) / frequency noise is shown in Attachments. There we compare the spectra with and without IMC locked.

i.e. When the IMC is not locked, we are measuring the laser frequency noise with the sensor (PMC cavity) that is noisy due to the PMC displacement.
When the IMC is locked, the laser frequency is further stabilized while the sensor (PMC) noise is not changed.

- Without IMC locked

Can we see the laser freq noise? It seems that it is visible above 100Hz.
The red curve is the measured noise level. The NPRO (although it is LWE NPRO) noise level from S. Nagano's thesis (see our wiki) is shown there.

- With IMC locked

When the IC is locked, we see the increase of the noise between 1~4Hz. It means that the IMC is not only noisier than the laser, but also noisier than the PMC cavity.
Sounds reasonable. And the PMC is capable to handle this motion.

The reduction of the frequency noise is seen from 100Hz to 30kHz.

The interesting point is that we can see the noise increase above 30kHz when the IMC is locked.
I believe that the phase correction EOM is shared with the PMC modulation. i.e. PMC sees the corrected laser frequency.

We expect that the frequency noise is reduced at this frequency. But in reality not.

In addition, there is a sharp peak at ~35kHz. I wonder If this is caused by the IMC servo. It is worse to investigate.

Attachment 1: PMC_OLTF.pdf
Attachment 2: PMC_noise_comparison.pdf
  16957   Tue Jun 28 17:07:47 2022 AnchalUpdateCalibrationAdded Beatnote channels in demodulation of c1cal

I added today demodulation of C1:LSC-BEATX/Y_FINE_I/Q in the c1cal demodulation where different degrees of freedom can be dithered. For McCal (formerly soCal), we'll dither the arm cavity for which we can use any of the DOFs (like DARM) to send the dither to ETMX/ETMY. Then with green laser locked as well, we'll get the calibration signal from the beatnotes in the demodulaed channels. We can also read right after the mixing in c1cal model and try differnt poles for integration .

I've also added medm screens in the sensing matrix part of LSC screen. These let you see demodulation of beatnote frequency signals.

  11421   Thu Jul 16 16:33:56 2015 JessicaUpdateGeneralAdded Bode Plots of Bandpass Filter

I updated the bandpass filter I was using, finding that having different stopband attenuations before and after the passband better emphasized the area from 3 Hz to 20 Hz. I chose a low passband ripple but high stopband attenuation to do this. My passband ripple was 2 dB, the first stopband was 25 dB, and the second stopband attenuation was 40 dB. As can be seen in the filter Magnitude plot, this resulted in a fairly smooth passband and a fairly step dropoff to the stopband, which will better emphasize the region I am trying to isolate. My goal was to emphasize the 3-20 Hz region 10-30 times more than the outside regions. I think I accomplished this by looking at the Bode plot, but I may have chosen the second stopband attenuation to be slightly too high for this. 

Attachment 1: acc1_update.png
Attachment 2: acc2_update.png
Attachment 3: acc3_update.png
Attachment 4: bp_BodeMag.png
Attachment 5: bp_BodePhase.png
  1782   Thu Jul 23 07:34:45 2009 AidanUpdateCDSAdded C2 MEDM screens to 40m SVN.


See Adhikari eLOG entry: http://nodus.ligo.caltech.edu:8080/AdhikariLab/194

  707   Mon Jul 21 14:26:11 2008 MaxSummaryPEMAdded Channels
The following channels have been added.

Channel Name DAQ port

Jenne and I ran the wires from near the beam splitter chamber (as described in a previous elog) to the rack Y7 and plugged the labeled BNC's into ports 27-29. The computer was c0dcu1. John then restarted the frame builder and Alberto and I restarted the front end of c0dcu1 as per the wiki's instructions. The channels seem to be working. - Max.
  17220   Tue Nov 1 17:59:23 2022 AnchalUpdateSUSAdded F2A filters on MC1, MC2, and MC3

I've cleared all old attempts on F2A filters on MC1, MC2, and MC3, and added the default F2A filter described in the last post. I added 3 such sets of filters, with Q=3, 7, and 10. I have turned on Q=3 filter for all IMC optics right now. I'll setup some test of switching between different Q filters in future.

  2275   Mon Nov 16 15:58:02 2009 josephbConfigurationGeneralAdded Gige camera to AP table, added some screens

I placed a GC750 gige camera looking at a pickoff of the AS port, basically next to the analog camera, on the AP table.

I've modified the main sitemap to include a CAM button, for the digital cameras.  There's a half done screen associated with it.  At the moment, it reports on the X and Y center of mass calculation, the exposure setting, and displays a little graph with a dot indicating the COM of mass location.  Currently this screen is associated a GC750 camera looking at pickoff of the AS port.  I'm having some issues with getting shell scripts to run from it, as well as a slider having limits other than 0 and 0.

  3880   Mon Nov 8 14:30:15 2010 josephb, yutaUpdateCDSAdded LIGONDSIP setting to cshrc.40m

We added the following line to the cshrc.40m file in the 64-bit linux and 32-bit linux sections:

setenv LIGONDSIP fb

This allows codes like tdsdmd to work properly on the linux machines (seemed to already work fine on the solaris op440m without this change).

  6831   Mon Jun 18 23:38:39 2012 JenneUpdateLSCAdded LSC channels to frames

Since the .ini files get overwritten every time a model is compiled now, we need to put all channels we want saved to frames in the DAQ Channels list inside the model.

I added the _ERR channels for all RFPDs (I and Q for each), as well as the _OUT channels for the DCPDs.  I also added the _OUT channels for the DoF servos (ex. C1:LSC-DARM_OUT).  I don't remember off the top of my head what else we used to save from the LSC model, but those all seemed like ones we'll possibly want access to later. 

We need to go through and do this to all the models we use regularly.

Since SUS hasn't been recompiled in a while, all those channels are saved (until such time as someone does a recompile).  Den has gone through and edited the PEM and OAF .ini files by hand each time he recompiles, so we have that data, although we need to put it into the model (which is the new proper way to acquire channels).

  1661   Mon Jun 8 18:22:27 2009 AlbertoDAQLSCAdded PD11 I amd Q slow channels

I just added two slow channels to C0EDCUEPICS to monitor the input of PD11. The names are:


  3634   Fri Oct 1 11:53:42 2010 josephbConfigurationCDSAdded RCG simlink files to the 40m svn

I've added a new directory in /opt/rtcds/caltech/c1/core called rts_simlink.  This directory is now in the 40m svn.  Unfortunately, the simlink files used to generate the front end c codes live in a directory controlled by the CDS svn.  So I've copied the .mdl files from /opt/rtcds/caltech/c1/core/advLigoRTS/src/epics/simLink/ into this new directory and added them into the 40m svn.  When making changes to the simlink files, please copy them to this new directory and check them in so we can a useful history of the models.


  3178   Thu Jul 8 15:19:27 2010 josephb, kojiConfigurationComputersAdded Zonet camera to IP table on linux1

We gave the Zonet camera the IP and the name Zonet1.

We did this by modifying the /var/named/chroot/var/named/113.168.192.in-addr.arpa.zone and martian.zone files on linux1 as root.

  4460   Wed Mar 30 16:32:29 2011 AidanConfigurationComputer Scripts / ProgramsAdded a sitemap alias

I added an alias to the sitemap MEDM screen in /cvs/cds/caltech/target/cshrc.40m

Now you can enjoy launching sitemap from a terminal.

alias sitemap 'medm -x /cvs/cds/rtcds/caltech/c1/medm/sitemap.adl'

  4463   Wed Mar 30 18:50:57 2011 KojiConfigurationComputer Scripts / ProgramsAdded a sitemap alias

I thought that "m40m" was the traditional alias for the sitemap...


m40m ${medm_base} ${medm_newtail} &
sitemap medm -x /cvs/cds/rtcds/caltech/c1/medm/sitemap.adl

rossa:~>set|grep medm
medm_base       medm
medm_newtail    -x /opt/rtcds/caltech/c1/medm/sitemap.adl

medm_tail       -x /cvs/cds/caltech/medm/sitemap.adl


I added an alias to the sitemap MEDM screen in /cvs/cds/caltech/target/cshrc.40m

Now you can enjoy launching sitemap from a terminal.

alias sitemap 'medm -x /cvs/cds/rtcds/caltech/c1/medm/sitemap.adl'



  3226   Thu Jul 15 11:58:50 2010 josephbUpdateComputersAdded channel to ADCU_PEM (C0DCU1)

I modified the C1ADCU_PEM.ini file in /cvs/cds/caltech/chans/daq/ (after making a backup), and added a temporary channel called C1:PEM-TEMP_9, the 9 corresponding to the labeled 9 channel on the front of the BNC breakout in the 1Y7 rack.  The chnnum it was set to is 15008 (it was commented out and called C1:PEM-PETER_FE).  I also set the data rate to 2048.

I then did telnet fb40m 8087, and shutdown, and also hit the blue reconfig button on the DAQ status screen for the C0DCU1 machine.  The framebuilder came back up.  I confirmed the temporary channel, as well as the Guralp channels were still working from C0DCU1.

We have strung a cable in the cable trays from the SP table to the 1Y7 rack, which has been labeled as "Phasecam PD".  This will be used to record the output of an additional photodiode.


  7521   Wed Oct 10 19:22:03 2012 jamieUpdateIOOAdded control for input tip-tilts to c1ass

I have added some control logic and appropriate output DAC channels for the input tip-tilts (TT1 and TT2) to the c1ass model.

The plan is for all the tip-tilt drive electronics to live in a Eurocrate in 1Y2.  They will then interface with a DAC in c1lsc.

c1ass runs on the c1lsc front-end machine, and therefore seemed like an appropriate place for the control logic to go.

I added and interface to DAC0, and a top_named IOO block, to c1ass:


The IOO block includes two TT_CONTROL library parts, one for each of TT1 and TT2:


This is just a start so that I can start testing the DAC output.

I have not recompiled c1ass yet.  I will do that tomorrow.

  4396   Thu Mar 10 13:44:56 2011 josephbUpdateCDSAdded digitization noise to the c1spy model for simulated ADCs/DACs

To simulate digitization noise, the easiest way I found was to use the MathFunction block, found in the CDS_PARTS model, under simLinkParts. 

The MathFunction block supports square of input value, square root of input value, reciprocal of input value, and modulo of two input values.

The last is useful because it casts the input values as integers before taking the modulo.By placing this block after the saturation block (set to +/- 32768), adding 32768.5, choosing the 2nd input to be larger than 2 * 32768 (100,000 in this case), and then subtracting 32768, we wind up with a rounding function. 

The above method has been applied to the c1spy model in the CI and SO out sub-blocks.

  16269   Wed Aug 4 18:19:26 2021 pacoUpdateGeneralAdded infrasensing temperature unit to martian network

[ian, anchal, paco]

We hooked up the infrasensing unit to power and changed its default IP address from (factory default) to in the martian network. The sensor is online with user controls and the usual password for most workstations in that IP address.

  6869   Mon Jun 25 15:19:07 2012 YaakovUpdatePEMAdded microphone channels, moved accelorometer channels

Jenne and I renamed the mic channels Den created (elog 6664) to MIC_1, MIC_2, etc from the original accelerometer names to keep things clear. We then added 6 new channels (22-27) for the accelerometers, named ACC_MC1_X, Y, Z, ACC_MC2_X, Y, Z, etc. (See the screenshot below). We also added a DAQ channel block and listed out the IN1 channel of all the sensors. We compiled and started the model, and checked that all the channels were there in DataViewer.


  2477   Tue Jan 5 10:26:32 2010 Alberto, SteveOmnistructureEnvironmentAdded new wall cable-racks

we hung two new WALL cable racks. One is on the pillar next to the Sp table, the other is next to the PSL computer rack.

To do that we had to drill holes in the wall since the simple screws weren't strong enough to keep them up.

One of the racks, the yellow, is dedicated to 4-pin lemos and other thick cables.


  2478   Tue Jan 5 11:00:04 2010 ranaOmnistructureEnvironmentAdded new wall cable-racks


we hung two new WALL cable racks. One is on the pillar next to the Sp table, the other is next to the PSL computer rack.

 awesome - I have ordered 5 blue racks so that we can hang power cables. The fat BLUE ones are for fat cables and the orange ones for the coax cables.

  15275   Fri Mar 13 14:28:39 2020 gautamUpdatePSLAdded tees to PMC Trans and REFL

I want to monitor the PMC TRANS and REFL levels on the PSL table - previously there were some cables going to the oscilloscope on the shelf but someone had removed these. I re-installed them just now. While there, I disconnected the drive to the AOM - there must've been some DC signal going to it because when I removed the cable, the PMC and IMC transmission were recovered to their nominal levels.

  16330   Tue Sep 14 17:22:21 2021 AnchalUpdateCDSAdded temp sensor channels to DAQ list

[Tega, Paco, Anchal]

We attempted to reboot fb1 daqd today to get the new temperature sensor channels recording. However, the FE models got stuck, apparantely due to reasons explaine din 40m/16325. Jamie cleared the /var/logs in fb1 so that FE can reboot. We were able to reboot the FE machines after this work successfully and get the models running too. During the day, the FE machines were shut down manually and brought back on manually, a couple of times on the c1iscex machine. Only change in fb1 is in the /opt/rtcds/caltech/c1/chans/daq/C0EDCU.ini where the new channels were added, and some hacking was done by Jamie in gpstime module (See 40m/16327).

  16270   Thu Aug 5 14:59:31 2021 AnchalUpdateGeneralAdded temperature sensors at Yend and Vertex too

I've added the other two temperature sensor modules on Y end (on 1Y4, IP: and in the vertex on (1X2, IP: I've updated the martian host table accordingly. From inside martian network, one can go to the browser and go to the IP address to see the temperature sensor status . These sensors can be set to trigger alarm and send emails/sms etc if temperature goes out of a defined range.

I feel something is off though. The vertex sensor shows temperature of ~28 degrees C, Xend says 20 degrees C and Yend says 26 degrees C. I believe these sensors might need calibration.

Remaining tasks are following:

  • Modbus TCP solution:
    • If we get it right, this will be easiest solution.
    • We just need to add these sensors as streaming devices in some slow EPICS machine in there .cmd file and add the temperature sensing channels in a corresponding database file.
  • Python workaround:
    • Might be faster but dirty.
    • We run a python script on megatron which requests temperature values every second or so from the IP addresses and write them on a soft EPICs channel.
    • We still would need to create a soft EPICs channel fro this and add it to framebuilder data acquisition list.
    • Even shorted workaround for near future could be to just write temperature every 30 min to a log file in some location.

[anchal, paco]

We made a script under scripts/PEM/temp_logger.py and ran it on megatron. The script uses the requests package to query the latest sensor data from the three sensors every 10 minutes as a json file and outputs accordingly. This is not a permanent solution.

  16319   Mon Sep 13 04:12:01 2021 TegaUpdateGeneralAdded temperature sensors at Yend and Vertex too

I finally got the modbus part working on chiara, so we can now view the temperature data on any machine on the martian network, see Attachment 1. 

I also updated the entries on /opt/rtcds/caltech/c1/chans/daq/C0EDCU.ini, as suggested by Koji, to include the SensorGatway temperature channels, but I still don't see their EPICs channels on https://ldvw.ligo.caltech.edu/ldvw/view. This means the channels are not available via nds so I think the temperature data is not being to be written to frame files on framebuilder but I am not sure what this entails, since I assumed C0EDCU.ini is the framebuilder daq channel list.

When the EPICs channels are available via nds, we should be able to display the temperature data on the summary pages.


I've added the other two temperature sensor modules on Y end (on 1Y4, IP: and in the vertex on (1X2, IP: I've updated the martian host table accordingly. From inside martian network, one can go to the browser and go to the IP address to see the temperature sensor status . These sensors can be set to trigger alarm and send emails/sms etc if temperature goes out of a defined range.

I feel something is off though. The vertex sensor shows temperature of ~28 degrees C, Xend says 20 degrees C and Yend says 26 degrees C. I believe these sensors might need calibration.

Remaining tasks are following:

  • Modbus TCP solution:
    • If we get it right, this will be easiest solution.
    • We just need to add these sensors as streaming devices in some slow EPICS machine in there .cmd file and add the temperature sensing channels in a corresponding database file.
  • Python workaround:
    • Might be faster but dirty.
    • We run a python script on megatron which requests temperature values every second or so from the IP addresses and write them on a soft EPICs channel.
    • We still would need to create a soft EPICs channel fro this and add it to framebuilder data acquisition list.
    • Even shorted workaround for near future could be to just write temperature every 30 min to a log file in some location.

[anchal, paco]

We made a script under scripts/PEM/temp_logger.py and ran it on megatron. The script uses the requests package to query the latest sensor data from the three sensors every 10 minutes as a json file and outputs accordingly. This is not a permanent solution.


Attachment 1: Screen_Shot_2021-09-13_at_4.16.22_AM.png
  4243   Thu Feb 3 04:43:58 2011 SureshUpdateElectronicsAdded two new DAQ channels

[Suresh, Joe]

We added the following two new DAQ channels into the c1:GCV model.  The daq:analog input channels are on card ADC0 and correspond to channels 3 and 4 on the card.

c1:GCV-EXT_REF_OUT_DAQ   Sampling rate=2kHz  acquiring a 1Hz sine wave from the SRS Function Generator DS345.  This is using the Rb 10MHz signal as an external frequency reference.

c1:GCV-PLL_OUT_DAQ    Sa.rate=2kHz acquiring the demodulated signal from the PLL servo.

This work is connected to the study of VCO PLL loop noise at frequencies below 0.1Hz.    We are trying to measure phase noise in the VCO PLL servo at low frequencies as this noise would result in arm length fluctuations in the green-locking scheme.




  17169   Mon Oct 3 08:35:59 2022 TegaUpdateIMCAdding IMC channels to frames for NN test


For the upcoming NN test on the IMC, we need to add some more channels to the frames. Can someone please add the MC2 TRANS SUM, PIT, YAW at 256 Hz? and then make sure they're in frames.

and even though its not working correctly, it would be good if someone can turn the MC WFS on for a little while. I'd just like to get some data to test some code. If its easy to roughly close the loops, that would be helpful too.


Currently, none of these channels are being written on frames. From simulink model, it seems the channels:




are supposed to be DQed but are not present in the /opt/rtcds/caltech/c1/chans/daq/C1MCS.ini file. I tried simply adding these channels to the file and rerunning the daqd_ services but that caused 0x2000 error on c1mcs model. In my attempt, I did not know what chnnum to give for these channels so I omitted that and maybe that is the issue.

The only way I know to fix this is to make and install c1mcs model again which would bring these channels into C1MCS.ini file. But We'll have to run activateDQ.py if we do that which I am not totally sure if it is in running condition right now. @Christopher Wipf do you have any suggestions?


aren't they all filtered? If so, perhaps we can choose whatever is the equivalent naming at the LIGO sites rather than roll our own again.

@Tega Edo can we run activateDQ.py or will that break everything now?


@Rana Adhikari Looking into this now.

@Anchal Gupta The only problem I see with activateDQ.py is the use of the deprecated print function, i.e. print var instead of print(var). After fixing that, it runs OK and does not change the input INI files as they already have the required channel names. I have created a temporary folder, /opt/rtcds/caltech/c1/chans/daq/activateDQtests/, which is populated with copies of the original INI files, a modified version of activateDQ.py that does not overwrite the original input files, and a script file difftest.sh that compares the input and output files so we can test the functionality of activateDQ.py in isolation. Furthermore, looking through the code suggests that all is well. Can you look at what I have done to check that this is indeed the case? If so, your suggestion of rebuilding and installing the updated c1mcs model and running activateDQ.py afterward should do the trick.

I tested the code with:

cd /opt/rtcds/caltech/c1/chans/daq/activateDQtests/


which creates output files with an _ prefix, for example _C1MCS.ini is the output file for C1MCS.ini, then I ran


to compare all the input and corresponding output files.

Note that the channel names you are proposing would change after running activateDQ.py, i.e.




My question is this: why aren't we using the correct channel names in the first place so that we have less work to do later on when we finally decide to stop using this postbuild script?


Yeah I found that these ERR channels are acquired and stored. I don't think we should do this either. Not sure what was the original motivation for this change. I tried commenting out this part of activateDQ.py and remaking and reinstalled c1mcs but it seems that activateDQ.py is called as postbuild script automatically on install and it uses some other copy of this file as my changes did not take affect and the DQ name change still happened.


Ah, we encountered the same puzzle as well. Chris found out that our models have `SCRIPT=activateDQ.py` embedded in the cds parameter block description, see attached image. We believe this is what triggers the postbuild script call to `activateDQ.py`. As for the file location, modern rtcds would have it in /opt/rtcds/caltech/c1/post_build, but I am not sure where ours is located. I did a quick search for this but could not find it in the usual place so I looked around for a bit and found this:

controls@rossa> find /opt/rtcds/userapps/ -name "activateDQ.py"







My guess is the last one /opt/rtcds/userapps/trunk/cds/c1/scripts/activateDQ.py.

Maybe we can ask @Yuta Michimura since he wrote this script?

Anyway, we could also try removing SCRIPT=activateDQ.py from the cds parameter block description to see if that stops the postbuild script call, but keep in mind that doing so would also stop the update of the OSEM and oplev channel names. This way we know what script is being used since we will have to run it after every install (this is a bad idea).

controls@c1sus:~ 0$ env | grep script


It looks like the guess was correct. Note that in the newer version of rtcds, we can use `rtcds env` instead of `env` to see what is going on.

Attachment 1: Screen_Shot_2022-09-30_at_9.52.39_AM.png
  16802   Fri Apr 22 07:01:58 2022 JcUpdateCoil DriversAdding Resistors and Reinstalling

[Koji, JC]

Coil Drivers LO2, SR2, AS4, and AS1 have been updated a reinstalled into the system. 

LO2 Coil Driver 1 (UL/LL/UR)now has R=100 // 1.2k ~ 92Ohm for CH1/2/3        Unit: S2100008

LO2 Coil Driver 2 (LR/SD)now has R=100 // 1.2k ~ 92Ohm for CH3                    Unit: S2100530

SR2 Coil Driver 1 (UL/LL/UR)now has R=100 // 1.2k ~ 92Ohm for CH1/2/3        Unit: S2100614

SR2 Coil Driver 2 (LR/SD)now has R=100 // 1.2k ~ 92Ohm for CH3                    Unit: S2100615

AS1 Coil Driver 1 (UL/LL/UR)now has R=100 // 1.2k ~ 92Ohm for CH1/2/3        Unit: S2100610

AS1 Coil Driver 2 (LR/SD)now has R=100 // 1.2k ~ 92Ohm for CH3                    Unit: S2100611

AS4 Coil Driver 1 (UL/LL/UR)now has R=100 // 1.2k ~ 92Ohm for CH1/2/3        Unit: S2100612

AS4 Coil Driver 2 (LR/SD)now has R=100 // 1.2k ~ 92Ohm for CH3                    Unit: S2100613

Attachment 1: IMG_0536.jpeg
Attachment 2: IMG_0539.jpeg
Attachment 3: IMG_0542.jpeg
Attachment 4: IMG_0545.jpeg
Attachment 5: IMG_0548.jpeg
Attachment 6: IMG_0551.jpeg
Attachment 7: IMG_0554.jpeg
Attachment 8: IMG_0557.jpeg
  10130   Sat Jul 5 04:18:45 2014 AndresUpdate40m Xend Table upgradeAdding Two Lenses After the Second Steering Mirror in Order Two Increase the Gouy Phase Difference Between the Sterring Mirrors

I had been working on the Xend table optical layout update. Since the two steering mirrors in the Xend green are too close to each, there is a very small Gouy Phase different between these two mirrors. It was suggested to place two lenses so that we can increase the Gouy Phase. I have been working with Nick on this problem, and we had found a solution by using a la mode. We had written an a la mode code that optimize the Gouy Phase and the Mode Matching at the same time. After trying different lenses, we found the following results: a mode matching of 0.9939 as it is show in the first attachment below, and we found a Gouy Phase different between the two mirrors of about 60 degrees. I took photos of the Xend Table. The first photo is the Xend table as we had it right now. In the second photo, I moved the 2nd lens, and I placed the two more lenses that we need it, with more or lenses the correct position where they will be placed. The three old lenses will be replaced by three lenses of different focal length as it can be seen in the first attachment below. The first lens and third lens will stay in the same position where the old first lens and old third lens are, and the second lens will be moved by about half of an inch. We might have one or two of the lenses that we need, but we will have to order the rest of the lenses that need. My plan is to verify the lenses that we already have. Then, I need to let Nick know with lenses we need to order. Hopefully, we will be able to update the table by the end of this week if everything turn out fine.

Attachment 1: OverlapAndComponentsOfTheSolution.png
Attachment 2: CloseLookToTheGouyPhaseBetweenMirr1AndMirr2.jpg
Attachment 3: EntireRangeOfBeamPath.jpg
Attachment 4: XendTableWithTwoNeedLensesAdding.JPG
Attachment 5: SchematicOfSolutionForTheLensesGouyPhase.jpeg
Attachment 6: XendGreenModeMatchingAndGouyPhaseOptimization.m
clear all
% In this code we are using a la mode to optimatize the mode matching and
% to optimatize the Gouy phase between mirror 1 and mirror 2. All the units
% are in meter

w0=2.943*1e-5; % The Waist of the laser measured before the faraday
z0_laser=-0.039; % position measured where the waist is located 
lamb= 532*10^-9; % wavelength of green light in mm
lFaraday=.0638; % Length of the faraday

... 148 more lines ...
Attachment 7: BeforeIncludingLensesORMovingLenses.JPG
  14074   Mon Jul 16 18:12:00 2018 KojiUpdateVACAdding a manual gate valve between TP1 and V1/VM2

[Steve Koji]

We are in the process of adding a manual gate valve between TP1 (Osaka Maglev) and the other gate valves (I suppose V1 and VM2).
The work is still on going and we will continue to work on this tomorrow. Because this section is isolated from the main volume, this work does not hold off the possible rough pumping tomorrow morning.

The motivation of this work is as follows:
- Since TP2 failed, the main vacuum volume has been pumped down by TP1 and TP3. However TP3 is not capable to handle the large pressure difference at the early stage of the turbo pumping. This cause TP3 to have excessive heating or even thermal shutdown.
- The remedy is to put a gate valve between TPs and the main vacuum to limit the amount of gas flowing into the TPs. This indeed slows down the pumping speed of turbo, but this is not the dominant part of the pumping time.

Actual work:
- Comfirmed TP1 is isolated.
- Unscrewed the flange of TP1.
- Remove TP1. This required to lift up TP1 with some shim as the nuts interferes with the TP1 body. (Attachment1, 2, 3)
- Now remove 10inch flange adapter. (Attachment4)
Attach 10"-8" adapter and 8" rotational sleeve. (Attachment5)

Attachment 1: P_20180716_155413.jpg
Attachment 2: P_20180716_155645.jpg
Attachment 3: P_20180716_155738.jpg
Attachment 4: P_20180716_162307.jpg
Attachment 5: P_20180716_172000.jpg
  17477   Wed Feb 22 23:40:48 2023 AlexUpdateCalibrationAdding calibration constants for sus matrix and filter control buttons to the sus control screen

The callibration constants were updated for the oplev pitch and yaw. The values were changed as denoted in 17471 were:

     PITH: 175.7→ 155 cts/urad

     YAW: 193 → 241 cts/urad

To make these changes for the oplev callibration constants I went to ETMY - SELECTED OPLEV SERVO BOX

I then opened OLMATRIX and turned off PITCH and YAW servos in the ETMY SUSPENSION SCREEN such that the system does not attempt to actively make corrections while values are being changed. 

Then I adjusted the matrix to include our updated calibration constants and reinitiated the oplev ptich and yaw servo's

This updated the calibration constants for everything


The next change that was made was the addition of the calibration filters for position, pitch, yaw and side into the sitemap view for the suspension systems.

Adding calibration filters will allow us to callibrate the pos, pitch, yaw, and side to true values of urad and umeters (see 17459)

The final screen may be seen bellow (the updated area is outlined in red):


When each of the filter buttons is clicked, the following screen will now appear (circled in yellow is the calibration constant gain we will be calculating and entering into the system):


To create the edits to the controls screen we must complete the following process

We can edit the original screen - right click > evaluate > edit this screen

Then I adjusted the width of the overall screen, and moved the right half of the modules over to the right so I could fit in some filter buttons. I then Navigated to the c1ioo wfs master screen using the open feature to copy a pre existing filter module

I then adjusted the filter module and its contents to correspond to the features and autogenerated model files from RTCDS

There was some rearranging and adjusting needed to get these files in place first. The autogenerated files from the RTCDS can be found in dir = "/opt/rtcds/caltech/c1/medm/c1sus/"

They were autogenerated with names "C1SUS_BS_PITCAL.adl", "C1SUS_BS_POSCAL.adl", "C1SUS_BS_YAWCAL.adl","C1SUS_BS_SIDECAL.adl" 

We copied these files to dir = "/opt/rtcds/userapps/trunk/sus/c1/medm/templates/NEW_SUS_SCREENS/"

The file names were changed to "SUS_PITCAL.adl", "SUS_POSCAL.adl", "SUS_YAWCAL.adl", "SUS_SIDECAL.adl" 

The directory we placed them in is where the models for c1 sus can be found that are referenced by the sitemap suspension monitor screen

Each file was then opened in Vscode and a few changes were made such that the specific naming values referenced by the different screens of the sitemap and different optics, are replaced by the overarching values seen in each instance of the screens.

There are approximately 50 referenced file names of "C1:SUS-BS_PITCAL" etc. In each instance we made the following changes:

"-BS" was changed to "-$(OPTIC)"

"C1:" was changed to "$(IFO):"

The new strings should read "$(IFO):SUS-$(OPTIC)_PITCAL"

Once this change was made we can now right click on the filter module box, click on "Label/Name/Args" button

In the display file, we must add the path name for the calibration directory "/opt/rtcds/userapps/trunk/sus/c1/medm/templates/NEW_SUS_SCREENS/SUS_POSCAL.adl"

And for the arguments box we will enter OPTIC=$(OPTIC), IFO=$(IFO)

You can also copy and paste the directory names in the file boxes using right click copy from the file manager and paste into the box using a single click of the mouse scroller wheel

Lastly, the PV limits were changed for each number output right click value box > PV limits > Precision > Source changed to "Default" with a value of 1.

The shown value of the position, pitch, yaw, and side was then changed to show the output from the newly added filter. This is done also by right clicking the value box and adjusting the "Readback Channel".

Value changed from "$(IFO):SUS-$(OPTIC)_TO_COIL_1_#_INMON" to the outputs from the filters which are

       "$(IFO):SUS-$(OPTIC)_POSCAL_OUTMON" (for others changing POSCAL to the appropriate variable)

This is how to edit and add the Medm screens for single suspension optics into the sitemap IFO SUS screen


Lastly, Tomohiro and I worked on acquiring 6 data sets from DC stepping through adjustments in pitch and yaw for MC1, MC2 and MC3. These datasets will be fit quadratically and combined with more tests dine by AC driving the stepper motors tomorrow to find the calibration constants for the mirrors.

Attachment 2: InkedScreenshot_2023-02-22_18-28-41.jpg
Attachment 3: InkedScreenshot_2023-02-22_18-29-00.jpg
  17459   Thu Feb 9 11:07:38 2023 AlexUpdateCDSAdding callibration filters to c1sus

Today I updated the ETMY suspension model to include 4 new filters at the output of the position, pitch, yaw and side summers and before the "To Coil Matrix". The library that was changed and updated is "sus_single_control_new". These callibration filters are labeled in the orange box as POSCAL, PITCAL, YAWCAL, and SIDECAL. The four filters are important as the will allow us to callibrate the position and side from counts to micro meters, and pitch and yaw from counts to micro radians.

The next steps for utilizing this update will be

    - create a few experiments to find the callibration constants for the 4 degrees of freedom

    - edit and update the ETMY Suspension screen to include selectable filter boxes to implement the callibration constants


For future reference, preform the update and restore the models to their previous states you may use the following:

to install the models we ssh into the computers running the ETMY suspension models (for example)

     ssh c1sus

then for each model using the suspension library (we used c1sus c1mcs c1scx c1scy c1su2 c1su3) do

     rtcds build-install c1sus

the watchdogs will need to be shut down for c1sus and the model will need to be restarted next

     rtcds restart c1sus

Now we restore the filter values to the last saved point (about an hour before the update) in cds folder

     python burtRestoreRTSepics.py -m c1sus c1mcs c1scx c1scy c1su2 c1su3 -o 10

Last we reset the watchdogs again using the following script in SUS>medm

     python resetFromWatchdogTrip.py MC1 MC2 MC3 BS PRM SRM ITMX ITMY ETMX ETMY

  4271   Thu Feb 10 14:52:36 2011 AidanHowToComputersAdding filenames in MATLAB plots

The following code is incredibly useful when creating  MATLAB plots as it adds the filename of the script to the plot itself. I think it should be used for all MATLAB plots that go on the elog.

For example, I have no idea where the data/script is that was used to generate these plots.


orient landscape

xposn = 0.0;

yposn = -0.13; % you sometimes have to tweak this value depending on the page size and the number of subplots

text(xposn,yposn,[filename('fullpath'), '.m'], ...

     'Units', 'normalized', ...

     'Interpreter', 'none', ...

     'FontSize', 6)

print('-dpdf', [filename('fullpath'), '.pdf'])

  9430   Wed Nov 27 18:31:26 2013 KojiSummaryLSCAdittion of the ALS error signals to the LSC input matrix

The Phase tracker outputs (= ALS X/Y error signals) are now conveyed to the LSC model.

Their entry points at the LSC model are C1:LSC-ALSX_IN1 and C1:LSC-ALSY_IN1.
They are connected to the signal matrix (28th and 29th signals) via signal conditioning filters (C1:LSC-ALSX and C1:LSC-ALSY).

The main LSC screen has not been updated. The conventional ALS servos are still remains as they were.

This renovation required the recompilation of c1als, c1rfm, and c1lsc. Two PCIe-RFM bridge paths were added resulting in
increase of the c1rfm timing budget from 38 to 44.

  6409   Wed Mar 14 03:34:44 2012 kiwamuUpdateSUSAdjustment of BS suspension output matrix : coupling from SIDE to POS

[Rana / Kiwamu]

 We put some elements in the BS output matrix to mitigate the actuator coupling from SIDE to POS.

As a result the degree of the coupling reduced by a factor of 2 or so.

Rana did the "Q of 5" test on the SIDE damping servo after putting the elements and set the gain to be 40.


The attached screen shot is the new elements that we put in the suspension output matrix.



(How to)

  • Excite the SIDE motion by AWG at 3 Hz.
  • Monitor the POS signal in DTT
  • Try some numbers in the matrix elements until the peak at 3 Hz in the POS signal is minimized

Quote from #6369

The BS SIDE damping gain seemed too low. The gain had been 5 while the rest of the suspensions had gains of 90-500.

I increased the gain and set it to be 80.


I did the "Q of 5" test by kicking the BS SIDE motion to find the right gain value.

However there was a big cross coupling, which was most likely a coupling from the SIDE actuator to the POS motion.

Due to the cross coupling, the Q of 5 test didn't really show a nice ring down time series. I just put a gain of 80 to let the Q value sort of 5.

I think we should diagonalize the out matrices for all the suspensions at some point.


  5288   Tue Aug 23 14:49:14 2011 jamie, jenne, kiwamu, suresh, keikoUpdateSUSAdjustment of ETMY, issue with ITMY whitening

Before lunch we took a closer look at two of the suspensions that were most problematic: ITMY and ETMY.  Over lunch we took new free swinging data.  Results below:

  • For ITMY we discovered that the whitening on the UL sensor was not switching.  This was causing the UL sensor to have a different response, with a steeper roll of, which was causing all of the transfer function estimates to the other sensors to have large imaginary components.   We took new free swing data with all of the whitening turned OFF.  The result is a much improved matrix and diagnalization.  The input matrix elements are mostly the same, but the coupling is basically gone.  We'll fix the whitening after the pump down.
ITMY ITMY.png       pit     yaw     pos     side    butt
UL    0.157   1.311   1.213  -0.090   0.956 
UR    1.749  -0.490   0.886  -0.038  -1.042 
LR   -0.251  -2.000   0.787  -0.007   1.066 
LL   -1.843  -0.199   1.114  -0.059  -0.936 
SD   -0.973  -0.205   1.428   1.000   0.239 
  • ETMY has a very problematic SIDE OSEM.  The magnet does not line up with the OSEM axis, and since there is no lateral adjustment in the side OSEMs, there's not much we can do about this.  We're using aluminum foil to wedge the OSEM over as far as possible, but it's not quite enough.  With the OSEM plates horizontal there is a lot of POS->SIDE coupling.  With the OSEM plates vertical, the magnetic sits a little too close to the rear face, which can cause the magnet to get stuck to the LED plate.  We're trying to decide where to leave it now, but the new diagnalization with the OSEM plates vertical is definitely better: 
ETMX ETMY.png        pit     yaw     pos     side    butt
UL   -0.138   1.224   1.463  -0.086   0.944  
UR    0.867  -0.776   1.501  -0.072  -1.051  
LR   -0.995  -0.896   0.537  -0.045   0.754  
LL   -2.000   1.104   0.499  -0.059  -1.251  
SD    0.011   0.220   1.917   1.000   0.224 
  7901   Tue Jan 15 19:26:35 2013 jamieUpdateAlignmentAdjustment of active TTs and input alignment

[Jamie, Manasa, Jenne]

We started by verifying that the tip-tilts were getting the correct signals at the correct coils, and were hanging properly without touching.

We started with TT2.  It was not hanging freely.  One of the coils was in much further than the others, and the mirror frame was basically sitting on the back side yaw dampers.  I backed out the coil to match the others, and backed off all of the dampers, both in back and the corner dampers on the front.

Once the mirror was freely suspended, we borrowed the BS oplev to verify that the mirror was hanging vertically.  I adjusted the adjustment screw on the bottom of the frame to make it level.  Once that was done, we verified our EPICS control.  We finally figured out that some of the coils have polarity flipped relative to the others, which is why we were seeing pitch as yaw and vice-versa.  At that point we were satisfied with how TT2 was hanging, and went back to TT1.

Given how hard it is to look at TT1, I just made sure all the dampers were backed out and touched the mirror frame to verify that it was freely swinging.  I leveled TT1 with the lower frame adjustment screw by looking at the spot position on MMT1.  Once it was level, we adjusted the EPICS biases in yaw to get it centered in yaw on MMT1.

I then adjusted the screws on MMT1 to get the beam centered at MMT2, and did the same at MMT2 to get the beam centered vertically at TT2.

I put the target at PRM and the double target at BS.  I loosened TT2 from it's base so that I could push it around a bit.  Once I had it in a reasonable position, with a beam coming out at PR3, I adjusted MMT1 to get the beam centered through the PRM target.  I went back and checked that we were still centered at MMT1.  We then adjusted the pitch and yaw of TT2 to get the transmitted beam through the BS targets as clear as possible.

At this point we stopped and closed up.  Tomorrow first thing AM we'll get our beams at the ETMs, try to finalize the input alignment, and see if we can do some in-air locking.

The plan is still to close up at the end of the week.

  7902   Tue Jan 15 20:00:42 2013 ManasaUpdateAlignmentAdjustment of active TTs and input alignment


Just for reference! The changes made to the TT matrix in order to fix the polarity problem:

The old matrix values are mentioned in elog!


PIT    YAW                   New                   

Pit slider           |  -100   -100  |  UL  

     0               | -100    100   |  LL

Yaw slider           |  100   -100   |  UR

    0                |  100    100   |  LR








ELOG V3.1.3-