40m QIL Cryo_Lab CTN SUS_Lab CAML OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log, Page 18 of 349  Not logged in ELOG logo
ID Date Author Type Categoryup Subject
  17344   Tue Dec 6 17:40:13 2022 KojiUpdateASCIMC WFS heads electronic feasibility test for using for Arm ASC

We have spare WFS demods in a plastic box along the Y arm. So you don't need to modify the IMC demod boards, which we want to keep in the current state.

  17348   Thu Dec 8 20:40:14 2022 AnchalUpdateASCWFS demodulation board modification attempt

Based on the previous two elog posts, Koji and I decided that we should use 11 MHz signal for arm cavity ASC and modify a spare WFS demod board to work at 11 MHz. This board LIGO-D980233, uses a PLL to lock the to LO input and generate I and Q ECL clock signals from it. For this purpose, it uses POS-XX minicircuits VCO. For IMC WFS boards the model number is POS-75 and with the board design, it can work for 18.75 MHz to 37.5 MHz modulation frequencies.

To make it work for 11 MHz, we have to swap this with POS-25 but that is not available for purchase anywhere. So Koji and I decided to use Moku:GO as a VCO and make connections to the pin holes on the board. Today, I modified a spare WFS board to make this possible. I added a right angle SMA connector to take in VCO output signal and a BNC connector to send out tuning signal. See attached photos for the details of this hack.

Then I went to 1X2 and tried on this modified board on a Euro crate empty slot. I used Moku:GO in a multi-instrument mode in which first instrument was a Waveform generator set to modulate from external input 1 at 6 MHz/V. The output RF level was checked on an oscilloscope and increased until I got about 9.5 dBm power at the output. The second instrument was just an spectrum analyzer to see if the test output from ICLK looks ok. I fed LO from a spare output port on RF distribution box for 11 MHz signal. I made sure to attenuate this signal to get 2 dBm LO signal which is the case for the WFS demod board LO input as well. 

This test however failed. I could not see any signal from ICLK or QCLK output. I then tried to use the same slot as the demod board for WFS1 is used and I still did not see any output on ICLK or QCLK. I split the VCO tuning signal coming from the board to see it on an oscilloscope and it was mostly noise of ~1 mV level. I then tried to check ICLK and QCLK on oscilloscope and saw that they had a huge offset of -1.7 V. I suspect some ground mismatch issue between Moku:GO and the demod board.

I decided to call it a day here.

I reset everything back to how it was on the rack and turned on IMC WFS again. It is working as usual keeping lock steady for atleast last 20 min that I have seen it.


Attachment 1: PXL_20221209_035720569.jpg
Attachment 2: PXL_20221209_035729233.jpg
  17349   Fri Dec 9 05:04:45 2022 ranaSummaryASCMC WFS sensing matrix measurement

I made a script to toggle the offsets in the MC SUS so that we can see the resulting error signals in the MC WFS / MC-TRANS_QPD.

I ran it just before 5 AM local time Friday morning.

It goes in order and applies a 50 count offset to the pitch filter banks. During this test the input to the IMC WFS servos is set to zero, so that the integrators hold the mirror position in the aligned state.

I will analyze this 3x3 measurement and post the resulting sensing matrix soon. It would be good if someone can post here the actuation calibration in radians, so that we can have a physical calibration of the sensing matrix in counts/radian.

Attachment 1: Screen_Shot_2022-12-10_at_12.00.46_AM.png
  17350   Fri Dec 9 10:08:54 2022 RadhikaUpdateASCYEND green alignment chronicles

Today I set out to align and lock the YEND green laser, and observe the expected PDH error signal and PZT control signal. 

- I took note of PDH servo knobs:

    - gain knob: 10.0
    - LO phase knob: 2.86
    - boost: on
    - inversion: -

- Disconnected PDH servo PZT output to break loop

- Scanned pitch and yaw of steering mirrors 1 and 2 [Attachment 1] and achieved transmission ~1.2.

- Re-engaged the loop and with TEM00 locked, and did fine adjustment of steering mirrors to maximize transmission to 1.4.

- At this point I broke the loop again to look at the PDH error signal and piezo control signal in an oscilloscope. The error signal had high frequency noise, so the SR560 was used to low pass it before sending it to the scope.

- Once I reconnected the loop and locked to TEM00, I noticed lots of noise in green transmission. Paco took spectra of GTRY and found it was line noise at multiples of 60 Hz. I checked if any BNC shields at the servo box were touching. I shifted the LO frequency from 213.12 kHz to 213.15 kHz, so that the modulation/demodulation was not an integer multiple of 60 Hz. However, these steps didn't get rid of the line noise. To be further investigated.

Next I plan to revisit the XEND AUX loop and try to reach higher lock stability. 

Attachment 1: IMG_3982.jpg
  17354   Fri Dec 9 18:32:11 2022 KojiSummaryASCMC WFS sensing matrix measurement

[Rana, Koji]

The IMC WFS pitch Output Matrix was recalculated based on a DC Sensing Matrix measurement.

The IMC and the WFS heads were realigned and the WFS offsets were reset. The WFS servo is running stably for ~1.5hrs now.

Using Rana's test with the optic offsets, the sensitivity of the sensors against the misalignment of each optic was measured.
First of all, we accessed the recorded 900s data on Dec 9 2022 12:48:00 UTC (Attached 1). This DTT XML file is stored in /users/koji/221209/221209_IMC_WFS_PIT.xml

You can see the attachment that the foton style smoothing filter was used to reduce high freq noise above 0.1Hz.

Then the averaged values were read from "Cursor" tab (Attachment 2). This gave us this following sensing matrix.

Null to {WFS1P, WFS2P, MCTransP}
-36.7 +/- 90
401   +/- 200
-19.4 +/- 5
MC1 to {WFS1P, WFS2P, MCTransP}
2870 +/- 150
 910 +/- 150
1240 +/- 7
MC2 to {WFS1P, WFS2P, MCTransP}
  3950 +/- 200
-21700 +/- 490
  1210 +/- 13
MC3 to {WFS1P, WFS2P, MCTransP}
 -988 +/- 100
-7870 +/- 350
 1010 +/- 4
The inverse of this matrix is
           To MC1    MC2    MC3
From WFS1    1.2    1.0    -2.7
From WFS2    0.5   -0.4    -0.1
From MCT     5.0   -2.2     6.1

This is transposed for the MEDM output matrix. So the actual output matrix tried was

From WFS1  WFS2   MCT
     1.2    0.5   5.0   to MC1
     1.0   -0.4  -2.2   to MC2
    -2.7   -0.1   6.2   to MC3

We then individually tested the servo stability and the response to the input offset.
This matrix seemed indeed well diagnalized w.r.t the sensors. We injected the error signal offset in the MCTrans Pitch servo. This didn't reduce the IMC Trans indicating that the WFS1/2 were still as it was while the spot position was displaced. (very nice!)

The new matrix made all the pitch loops stable with negative gains (-0.1, -0.2, -0.5) together with the input gain slider of x1.0. The servo also worked together with the presence of the Yaw loops. Good.

The WFS1 gain was a bit too low. So we wanted to give 50% boost.
We decided to multiply the matrix elements by -0.3, increasing the servo GAIN fields by  -1/0.3. The resulting servo gain settings and the output matrix screen look like Attachment 3.

Then the IMC was aligned so that the reflection is minimized while the MC2 trans goes onto the center of the QPD.

Then the WFS offset script has been run with low and stable IMC Reflection DC (Attachment 4)

RXA Update 220109: I find the text based matrix hard to understand, so I am attaching the matrix I use to simulate this. Its the same as 'Sensing Matrix' that Koji has, but this one is scaled by an overall gain to account for the 200 counts actuation we put into the suspension actuators, and a minus sign as described above. Also its written in the usual way we represent vectors and matrices.
Attachment 1: Screen_Shot_2022-12-09_at_18.35.02.png
Attachment 2: Screen_Shot_2022-12-09_at_18.38.15.png
Attachment 3: Screen_Shot_2022-12-09_at_19.15.16.png
Attachment 4: Screen_Shot_2022-12-09_at_19.24.53.png
Attachment 5: Screen_Shot_2023-01-09_at_7.11.50_PM.png
  17355   Fri Dec 9 21:54:40 2022 RadhikaUpdateASCMoku digital filter for low-frequency resonances (ALS/calibration)

[Radhika, Paco]

I modeled a digital filter for adding a resonance at a desired frequency (Q~100), with a complex-conjugate pole pair and 2 real zeros (2nd order system). Paco suggested I start with a 575 Hz resonance. I loaded the digital filter onto the Moku using the Moku python API (script at labutils/moku/mokuGoPro/mokuDigitalFilter.py). I tested the filter by feeding the Moku a 2 Vpp signal around 575 Hz and looking for some noticeable gain - however the signal passed though unchanged. There might be an additional Moku command for enabling the filter - I'll look into this.


- Debug deployment of digital filter to Moku:Go
- Test on preset low-pass filter, before custom filter
- Once successful, add multiple resonances helpful for calibration
- Deploy filters in xarm AUX-PDH loop
  17356   Fri Dec 9 23:44:14 2022 ranaSummaryASCMC WFS sensing matrix measurement

with the new output matrix, we repeated the diagonalization script that Anchal ran previously. In the attached plot you can see that as we successively apply offsets to the WFS1, WFS2, and MC_TRANS Pitch loops, there is the offset in the loop we offset, but there is no appreciable step seen in the other loops.

Maybe we could do better, but this is the best DC diagonalization I have ever seen in this system. So we should just keep it for now.

At some point, we should run this procedure for YAW as well, but not urgent.


Attachment 1: Screen_Shot_2022-12-10_at_6.43.38_PM.png
  17363   Fri Dec 16 21:55:54 2022 AnchalUpdateASCWFS demodulation board modification attempt 2 - sort of working

[Koji, Anchal]

short version: We checked signals at different points in the circuit to make sense of why it was not working. We found out that teh comparator chip AD96687BR was not working as expected and was not converting the analog signal from our VCO or LO inputs to ECL. We tested 2 other spare board with same behavior. We decided to try replacing the comparator chip with a new one, and indeed that was the issue. The new chip was working as expected and we are able to get PLL lock on the board with Moku:Lab as the VCO. However, there are some issues that need to be ironed out. The PLL does not catch lock right away and we could not figure our a systematic way of reaching to a locked state. That smells fishy to me as in my experience, when PLLs work, they work very robustly. More analysis with data and figures will follow. For now, we have some hope that this can work.

There is always the option of not closing PLL loop and injected twice the demodulation frequency at the VCO port that we have access two. For this, I'll need to create a SHG unit for 11 MHz with 21.4 MHz BLP. I'll look into this solution as well.

  17365   Sat Dec 17 16:56:19 2022 AnchalUpdateASCWFS demodulation board modification - further study

I played with the PLL bit more today to understand the issue. From what I understand, the following is the summary:

Moku as VCO in WFS demod board PLL:

  • Moku input in VCO mode is actually limited to ~ +/-21 V contrary to what it says on the app (10 Vpp)
  • Whenever the VCO tuning signal goes beyond this range, Moku just ignores the input and sends a pure sine wave at the carrier frequency.
  • I think because of this rail point behavior, the PLL goes off to a bad mode where the VCO tuning signal from demod board rails to +15 or -15V, and thus Moku does nothing to correct for it.
  • I found a deterministic way of catching lock with Moku VCO:
    • With whatever carrier frequency, set the VCO slope to at least 1 MHz/V (10 MHz/V is better).
    • The VCO tuning signal most probably would rail to +15V or -15V.
    • Reduce +/- 15V supply, this moves the railing voltage with it.
    • When the voltage rails reach +/2 V, the PLL catches the lock.
    • Now slowly ramp back the power supply back to +/- 15V.
  • This way I was able to repeatedly catch the lock (see attachment 1), but of course, this can't be done when our board is mounted in the Eurocrat.
  • So I thought if I attenuate the VCO tuning signal by 20 dB and pass it through an SR560, I can control the VCO tuning signal amplitude. This approach however did not work. It was always required to reduce the +/- 15V supply to the board to catch the lock.
  • This makes me think that the phase detector chip AD9901 needs to be turned off initially or supplied with low voltage rails. I'm not sure why.
  • With this, I think we should scrap this idea of using Moku as VCO, it will be just too unreliable.
  • So we need to move to the possibility of feeding 22 MHz signals to the WFS demod board where VCO output goes.

Basically, we make our own PLL outside the board to generate 2 times LO frequency or we create 2 times LO frequency by second harmonic generation.

Moku:Pro as a frequency multiplier

This white paper from liquid instruments describes how Moku:Pro can be used as a frequency multiplier in the phasemeter app now. This functionality however has not been extended to Moku:Lab, so in 40m, we can not do this right now. If we get access to Moku:Pro, following will be required:

  • Send 11 MHz LO signal to Moku:Pro input 1 with phasemeter app on.
  • Select frequency multiplier option of 2 at the output 1. Set voltage to 2 Vpp and feed this signal to VCO RF out port on the modified demod board.
  • Leave VCO tuning port unconnected.
  • This way we would replace the internal PLL with Moku digital PLL. Moku's PLL can be run upto 10 kHz bandwidth and would be very robust for such use.

Second harmonic generation using mixer and bandpass filter

  • Split the 14 dBm 11 Mhz output from frequency generation box (I simulated this with benchtop function generator) using a splitter.
  • Send both outputs to ZP-3+ mixer (level 7).
  • Filter the output with SBP-21.4 band pass filter. Koji has measured this filter in 2013. See elog 40m/9010.
  • Amplify the output twice, first with ZFL-500HLN+ (20dB amplification), then with ZFL-1HADX (11 dB).
  • This setup provides enought output amplitude for the comparator chip AD96687 to generate clean ECL signal at 22 MHz without slipping. With only 20dB amplification, I could see the phase slip by 180 degrees enough times that the oscilloscope shows both outputs overlapped.
  • Attachment 2 shows the ICLK and QCLK signals generated by the board with this setup.

Next steps:

  • I'll modify one more board for sending in LO like this.
  • I'll test the demodulation performance of the board with LO input from the second harmonic generation.
  • Setup the optical path for AS WFS.
Attachment 1: MokuVCOAttempt.jpg
Attachment 2: SHGmethod.jpg
  17368   Tue Dec 20 23:32:58 2022 ranaUpdateASCWFS demodulation board modification - further study

That's great - I think this solution will be best. Having the PLLs actually gives us some problems - the square wave action in these demod boards because of the ECL drives pollutes the air with all the harmonics.

In the future, it would be best to get rid of these boards and just use the new aLIGO boards with a direct LO feed.


I played with the PLL bit more today to understand the issue. From what I understand, the following is the summary:


Second harmonic generation using mixer and bandpass filter

  17391   Tue Jan 10 20:24:29 2023 AnchalUpdateASCWFS demodulation board 111B - Working as expected

I've completed the modifications on two WFS demod boards. This required replacing all 8 mixer ICs on each board. I also tuned each channel to get less than 2 mV offset on all of them.

I was able to complete testing the board SNo. 111B today. The results are attached. The test was done by feeding the board 22 MHz LO generated by frequency doubling. A signal at 11 MHz was generated using Moku:Lab at 1mVpp and then further attenuated by 10 dB to make a fair comparison with the previous testing of the IMC WFS board at 29.5 MHz. This board has the same response as the IMC WFS board at 29.5 MHz. I tested all four channels in the second plot.

I'll complete the testing of the second board SNo 112 B and then move on to setting up the optical path for AS WFS.

Attachment 1: WFS_Board_111B_Test.pdf
  17393   Wed Jan 11 17:05:55 2023 AnchalUpdateASCWFS demodulation board 112B - Working as expected

The other modified board 112B has been fixed and tested now. See the results attached. The issue was in some malfunctioning OP284 which have been replaced by AD8672.

Attachment 1: WFS_Board_112B_Test.pdf
  17406   Thu Jan 19 20:35:54 2023 AnchalUpdateASCInstalled 2 flipper mirrors for handingl MC reflection beam to camera

Today I installed two flipper mirrors M3 and M4 (see attached photo) to create alternate route for MC reflection camera beam. Both these mirrors are Y1-1037-45S. In nominal operation where IMC is using the WFS, we will keep M3 upright and M4 flipped down. When using WFS for AS, M3 will be flipper down and M4 will be upright to save the camera from the high intensity MC reflection beam.

Note that everytime M3 is flipper and put back upright, the alignment into WFS would need to be tuned as the flipper apparatus does not come back to same alignment everytime. I centered the beams on the WFS heads today and zeroed RF offsets usingC1IOO_WFS_MASTER>!Actions>Correct WFS RF Offsets script. After this, the IMC WFS loops are working as expected atleast for last 15 minutes that I have monitored them. Hopefully, this will remain consistent.

Upcoming work:

  • Change the steering mirror that steers the beam to black hole to be a flipper mirror too as AS beam strength (measured when MICH was locked to bright port) is 0.3 mW and IMC WFS heads combined power is 0.5 mW in nominal operation, so we can not afford to dump any AS beam light.
  • Put flipper mirror M1 and fixed mirror M2 mentioned in 40m/17320 for steering AS beam to IMC WFS heads.
Attachment 1: PXL_20230120_041313615.jpg
  17407   Fri Jan 20 20:13:20 2023 AnchalUpdateASCInstalled 2 flipper mirrors for handingl MC reflection beam to camera

After discussions with Yuta, I figured that a better optical layout is possible which does not interfere with the existing IMC WFS path at all. So I reset the IMC WFS path today (and zeroed RF offsets again) and changed the MC reflection camera and MC reflection beam dump (black hole) position to create space for a flipper mirror that will pop up in the IMC WFS path and steer in the AS beam. New proposed path is shown in the photo in cyan. Red is MC reflection beam, yellow is IFO reflection beam and orange is teh AS beam that we will pick up using flipper mirror M1. Note that I found an intense 6.4 mW ghost beam coming out of the interferometer in between IFO refl and MC refl beams. This beam is shown in pink which I have dumped now. This beam was earlier not dumped. We will need to investigate more on the source of this beam and correct it in the next vent.

Attachment 1: PXL_20230121_035908170.NIGHT.jpg
  17408   Sat Jan 21 15:32:40 2023 AnchalUpdateASCAS WFS path nominally set

I've completed the beam redirection path for AS beam to WFS heads in a nominal way. By that I mean that all mirrors (M1, M2, M3, and M4) are now in their final positions and we will need to install one or two lenses to collimate the beam to match the mode that the WFS path is expecting as it has it's on the focusing lens before the photodiodes. For this last part, I think the fasted way would be to profile the beam and calculate the correct lens and position rather than trial and error as the beam intensity is very low for estimating the beam size by eye.

IMC WFS state: Flip M1 and M2 down.

AS WFS state: Flip M1 and M2 up.

Attachment 1: PXL_20230121_231740878.NIGHT.jpg
  17412   Mon Jan 23 20:50:58 2023 AnchalUpdateASCAS WFS path beam profiled

I measured the expected beam profile by WFS photodiodes by measuring the beam when mode cleaner was unlocked from the point where beam is picked for WFS. See attachment 1 for beam details. z=0 is the point in the path where AS beam will merge.

For measuring the beam profile of AS beam, I had to focus it using a lens. I picked up a 360.6 mm ROC lens and placed it at z=-67 inch point. Then I profiled the beam at some comfortable section of the path and fitted it. with reverse z-axis. Using this method, I can place the lens back and obtain the original beam back. Attachment 2 shows this fitting process and identification of the original beam profiles. I plotted the AS beam profiles again in attachment 3 and saved them for seeding mode matching effort later. Note that we don't want to be super accurate here, so I did not do any error analysis, just wanted to finish this fast. Also pardon me for the bad quality plots, I did not want to learn Matlab plotting to make it beautiful.

Note: There is significant astigmatism in both IMC reflection beam and AS beam. This could be due to beam going through far off-center on lens. Something to keep in mind, again this measurement is not ideal in terms of precision but this large an astigmatism could not be due to measurement error.


  • Identify correct len(s) and their positions
  • Align the AS beam to WFS heads
  • Test the full signal chain.
Attachment 1: WFSPathBeamProfile.pdf
WFSPathBeamProfile.pdf WFSPathBeamProfile.pdf WFSPathBeamProfile.pdf
Attachment 2: ASFocPathBeamProfile.pdf
ASFocPathBeamProfile.pdf ASFocPathBeamProfile.pdf ASFocPathBeamProfile.pdf
Attachment 3: ASPathBeamProfile.pdf
ASPathBeamProfile.pdf ASPathBeamProfile.pdf ASPathBeamProfile.pdf
  17416   Tue Jan 24 21:04:59 2023 AnchalUpdateASCAS WFS path beam profiled

I completed the mode matching calculation today and found good solution with 360.6 mm ROC PLCX lens at -1.2 m from z=0 point. I placed the lens there today and aligned all mirrors to get centered beam on both WFS PDs when the flipper mirrors are flipper up. This alignment would probably require tweaking everying we flip the mirrors as the flipper mirrors do not come back to same position usually.

I mounted the modified WFS boards 111B and 112B next to the whitening filter boards of existing WFS. Now to switch over, onewould need to transfer the 8 RF lemo cables and the 2 IDE ribbon cables.

I'm working on rtcds model to read AS WFS data and handle it separately. I'll keep a WPICS binaruy switch to switch between IMC WFS or AS WFS. I need to figure out some build issues on this work still.


Attachment 1: ASBeamFocusingLens.png
  17425   Thu Jan 26 15:56:30 2023 AnchalUpdateASC1X1 -5V sorenson tripped

[Yuta, Anchal]


I mounted the modified WFS boards 111B and 112B next to the whitening filter boards of existing WFS.

The mounting of two additional WFS demodulation boards drew too much current on -5V rail which tripped the sorenson on 1X1. This was undetected until today. Because of this, the existing WFS boards were not working either. After investicgation to beam paths and PD to board signal chain, we found out this issue. We raised the current limit on -5V supply and it came back to 5V. This brought back functioning of the exisitng WFS boards as well. We increased the current limit slightly on +5V supply too as these boards take a lot of current on +/5 V rails. But we should do this more properly by knowing what current limit the supply is set to. We'll do this part in near future after reading the manuals/wiki.
IMC WFS loops are now working.

  17444   Fri Feb 3 12:50:47 2023 AnchalUpdateASCAS WFS model changes and phase calibration

Model and medm changes

After incrementally doing the model changes, I found out that the model was failing to build because of creation of a subsystem. If I just kept all divertor blocks out in the main model instead of in a single subsystem, the compilation works. Maybe the reason is because RCG can only take subsystems at base level which have top_names attribute. But I did nto test this, I just went with what works.

In summary, I added a new subsystem in c1ioo model called AWS (stands for Antisymmetric Wavefront Sensors). This subsystem and IOO subsystem receive teh WFS RF demodulated signals based on a single binary switch named C1:IOO-SEL_WFS_IMC_OR_AS. Value 0 connects the subsystem IOO to the inputs and value 1 connects AWS to the inputs. There is a switch on the left edge in the WFS screens now to select between the two.

Inside the AWS, the WFS I/Q phase rotation is done and then it goes into one of the two subsystems called AWS-XARM or AWS-YARM for using the AS for either XARM or YARM. THis is based on a single binary switch called C1:AWS-SEL_ARM_X_OR_Y. Value 0 selects output to XARM and value 1 selects output to YARM. There is a switch near top left of  C1AWS_XARM_WFS_MASTER.adl and C1AWS_YARM_WFS_MASTER.adl screens. I copied these screens from C1IOO_WFS_MASTER.adl, so they have same structure. See attachment 1. Any edits should be made to /opt/rtcds/caltech/c1/medm/c1ioo/master/C1AWS_XARM_WFS_MASTER.adl and simply run python opt/rtcds/caltech/c1/medm/c1ioo/master/createYARMWFSscreensFromX.py to create teh YARM screen from it.

Along with this, models c1scy and c1scx were edited also to take in IPC directly from c1ioo instead of going through RFM. We should phase out use of RFM eventually and directly connect all IPC connections with the ends.

First tests

[Anchal, Yuta]

After the model is up and running, we flipped the WFS path to use AS beam. I switched the 8 RF outputs of the WFS from IMC WFS boads to AS WFS boards and switched the IDC connectors to WFS. Attachment 2 shows teh photo in this flipped state. Then we misaligned both ITMX and ETMX. First simple test was to check if we see the YARM PDH error signal when YARM was flashing. And indeed we saw that on all 16 channels. So next we locked YARM and injected 311 Hz line with 300 counts amplitude at ETMY. We looked for this peak in the Q channels of WFS outputs and adjusted all phases to 0.1 degrees to minimize Q signal to the noise floor. For WFS2 case, teh SNR is bit higher due to more power than WFS1 and their phase angle might be adjusted to even better degree but we did not got for it.

Then I used C1AWS_XARM_WFS_MASTER.adl>!Actions>Correct WFS RF offsets button to remove offsets in all the RF demodulated signals. I have set this button to use /opt/rtcds/caltech/c1/Git/40m/scripts/RFPD/resetOffsets.py script.

At this point, we are ready to see if we have WFS sensitivity but I need to work on other projects today and Yuta and Paco took over interferometer for 60 Hz noise hunting.



Attachment 1: YARM_WFS_MASTER.png
Attachment 2: PXL_20230203_211014833.jpg
  17448   Sat Feb 4 14:55:25 2023 AnchalUpdateASCDC sensing matrix for AS WFS for YARM

Filter and scripts setup

I copied IOO_WFS1_I filter bank to AWS_WFS1/2_I/Q filter banks to copy the dewhitening and 60comb filters. Then I turned them on.

Similarly, I copied IOO_WFS1_PIT filter bank to AWS_YARM/XARM_WFS1/2_PIT/YAW filter banks. I created a generalised script to handle all WFS on/off.hold/onfromhold operations here. I also generalized toggleWFSoffsets script to be used for measuring DC sensing matrix.

DC sensing matrix measurement

This measurement folllowed the method used by Koji in 40m/17354. The measurement is pushed here. Ntoe that when using this method, while the test finishd in ~1000 seconds, it takes dtt >20 min to retrieve the timeseries data from DQ channels. Thisis weird because cdsutils.getdata does not have this lag. If anyone knows why this is the case, it would be helpful in making this method faster.

  • Locked YARM and misaligned ITMX and ETMX
  • Centered the AS beam on WFS using DC value.
  • Ran ASS on YARM to get to best aligned cavity state.
  • Unlocked YARM and ran C1AWS_YARM_WFS_MASTER>!Actions>Correct WFS RF offsets to zero teh offsets.
  • Locked YARM again and waited for >120 seconds.
  • Ran python /opt/rtcds/caltech/c1/Git/40m/scripts/AWStoggleWFSoffsets.py AWS BOTH -a YARM -t 120
    • Measurement start time: 04/02/2023 22:37:00 UTC
  • The offset values required for step response test above were determined by trying out values and making sure that transmission does not go down by more than 15%.
  • I had to leave by 3:30 pm, so I couldn't complete the analysis of measured data.I'll post data here soon.


Additions Sun Feb 5 18:06:54 2023:

Data analysis

I got the step response data using cdsutils.getdata and measured the sensing matrix and took and inverse with error propagation. Attachment 1 page 1 shows the raw data measured. Then the data was segmented based on step response time data and a linear fit is used to get linear trend of each channel in null configuration. This is used to remove bias later while measuring the step heights in each sensor. Page 2 shows this data. Page 3 shows final detrended and normalized step response data that was used to measure the sensing matrix. It came out to be:

                                                             YARM WFS DC Sensing Matrix

        ITMY PIT         ETMY PIT         ITMY YAW         ETMY YAW
   1.94 +/- 0.02    0.83 +/- 0.07   -0.15 +/- 0.04      1.3 +/- 0.1  to WFS1 PIT
   5.62 +/- 0.05      8.8 +/- 0.2     -0.2 +/- 0.1      2.5 +/- 0.2  to WFS2 PIT
  -0.43 +/- 0.03   -1.13 +/- 0.07    1.51 +/- 0.04     -0.9 +/- 0.2  to WFS1 YAW
  -1.42 +/- 0.05     -7.1 +/- 0.2      3.3 +/- 0.1    -19.5 +/- 0.4  to WFS2 YAW

Taking it's inverse with uncertainties supported matrix inverse function gave following output matrix to be used:

                                                         YARM WFS Estimated Output Matrix
        WFS1 PIT         WFS2 PIT         WFS1 YAW         WFS2 YAW
   0.628+/-0.022   -0.031+/-0.007   -0.027+/-0.020    0.039+/-0.004  to ITMY PIT
  -0.431+/-0.020    0.146+/-0.007   -0.002+/-0.018 -0.0099+/-0.0030  to ETMY PIT
  -0.086+/-0.031    0.078+/-0.010    0.728+/-0.029   -0.029+/-0.008  to ITMY YAW
   0.097+/-0.009 -0.0377+/-0.0030    0.126+/-0.008 -0.0555+/-0.0020  to ETMY YAW
Attachment 1: YARM_WFS_DC_Sensing_Matrix_Step_Response_Test.pdf
YARM_WFS_DC_Sensing_Matrix_Step_Response_Test.pdf YARM_WFS_DC_Sensing_Matrix_Step_Response_Test.pdf YARM_WFS_DC_Sensing_Matrix_Step_Response_Test.pdf
  17453   Mon Feb 6 20:44:34 2023 AnchalUpdateASCYARM WFS First Attempt - Success

I uploaded this measured output matrix to the YARM WFS model:

                                                         YARM WFS Estimated Output Matrix
        WFS1 PIT         WFS2 PIT         WFS1 YAW         WFS2 YAW
   0.628+/-0.022   -0.031+/-0.007   -0.027+/-0.020    0.039+/-0.004  to ITMY PIT
  -0.431+/-0.020    0.146+/-0.007   -0.002+/-0.018 -0.0099+/-0.0030  to ETMY PIT
  -0.086+/-0.031    0.078+/-0.010    0.728+/-0.029   -0.029+/-0.008  to ITMY YAW
   0.097+/-0.009 -0.0377+/-0.0030    0.126+/-0.008 -0.0555+/-0.0020  to ETMY YAW

Then I played witht the signs of the gains and their values in the C1:AWS-YARM_WFS1/2_PIT/YAW filter banks until I saw a correct response for steps on ETMY and correction within 10-20 s.

I measured the OLTF of the loops with noise injection in each loop simultaneously. This test takes ~10 min. Except for the WFS2 YAW loop, all other loops behaved as expected with UGFs in WFS1 PIT 0.02 Hz, WFS1 YAW 0.04 Hz, and WFS2 PIT 0.035 Hz.

I left this state On for 1 hour and the YARM retained transmission. Attachment 2 shows the history.

Then I conducted another toggle test to see how the step response is. Attachment 3 shows the same results as last post for the new output matrix. Note high sensitivity of WFS2 YAW signal to PIT actuations. The worst row was for WFS2 YAW degree as expected (see page 3 attachment 3).

The new calculated output matrix (after product with the existing matrix) is:

                                                         YARM WFS Estimated Output Matrix

        WFS1 PIT         WFS2 PIT         WFS1 YAW         WFS2 YAW
     0.70+/-0.05    0.011+/-0.014   -0.203+/-0.032   -0.093+/-0.010  to ITMY PIT
    -0.42+/-0.04   -0.111+/-0.010    0.025+/-0.025    0.019+/-0.007  to ETMY PIT
    -0.00+/-0.05   -0.091+/-0.016      0.76+/-0.04    0.041+/-0.013  to ITMY YAW
   0.201+/-0.022    0.062+/-0.007    0.244+/-0.015    0.067+/-0.005  to ETMY YAW

With this matrix in, I had to change all gain signs to negative and teh loop was stable to my kick test on ITMY and ETMY on both PIT and YAW DOFs. OLTFs can be tuned further. Maybe later, I'll do another toggle testin hope of getting an identity matrix.

Attachment 1: YARM_WFS_OLTF.pdf
Attachment 2: YARM_WFS_First_Attempt_1hr_history.pdf
Attachment 3: YARM_WFS_DC_Sensing_Matrix_Step_Response_Test_1359774014.pdf
YARM_WFS_DC_Sensing_Matrix_Step_Response_Test_1359774014.pdf YARM_WFS_DC_Sensing_Matrix_Step_Response_Test_1359774014.pdf YARM_WFS_DC_Sensing_Matrix_Step_Response_Test_1359774014.pdf
  17454   Tue Feb 7 11:12:44 2023 ranaUpdateASCYARM WFS First Attempt - Success

It would be great if you could calibrate these ASC channels into physical units (e.g. urad or nrad). I am curious to see how the noise spectra compares to the IMC WFS.

Since the data is still on disk, you can probably use the oplev channels to calibrate the WFS. Also, you can calibrate either WFS or oplev by moving the SUS alignment sliders until the arm power goes down by sqrt(2) or 2.

To get data faster with DTT, I ask only for data sampled at 16 Hz. You can either just read the EPICS channels (OUT16) or ask DTT for a BW=16 Hz for the fast channels. No need for high sample rate for step response plots.


  17456   Wed Feb 8 12:25:42 2023 AnchalUpdateASCYARM WFS Loop Step Response

I did a quick step response test today with YARM WFS loops running. Steps were put in as offsets in channels C1:SUS-I/ETMY_ASCPIT/YAW_OFFSET to not let transmission go below 0.6-0.7 out of 1. I waited 30 seconds between each step by simply running sleep 30 on my terminal. Once finished, dtt still was taking a long time to get recently measured data even for 16 Hz channels. I used cdsutils getdata to get the measurement and calculate time constants for each loop. Time constant is defined by the time it took for C1;SUS-I/ETMY_ASCPIT/YAW_OUT16 channel to come to 1/e of the offsetted value. Inverse of this time constant is also printed as text on the plot. Note that I redid step on ETMY PIT as the first pass seemed not strong enough to me. See attachment 2 for settings.

The Pit loops seem to be bit faster with about 5s time constant while YAW loops have about 10s.

Attachment 1: YARM_WFS_Loop_Step_Response_1359920994.pdf
Attachment 2: Screenshot_2023-02-08_12-30-21.png
  17465   Wed Feb 15 12:07:35 2023 AnchalUpdateASCASC model updated to take inputs from IMC WFS

I have updates the ASC model inside c1ioo.mdl file to take inputs from IMC WFS when selected with AS option (on the left side of AS WFS block. I've also implemented the missing lockin option in this model. Currently the old AWS model is still in c1ioo which will be removed once we have successfully used the new ASC model for locking AS WFS loops for YARM. Now ETMX and ETMY QPD signals are also available in the input matrix for use and available outputs are ETMs, ITMs, BS, PRM, and SRM.

While changing these models, I also removed use of RFM model in ASC as this is not required anymore. The IPC from any model to any model can be done directly now. Overtime, c1rfm would be retired by removing one channel connection at a time.

Attachment 1: Screenshot_2023-02-15_12-09-10.png
  17484   Sun Feb 26 00:13:55 2023 AlexConfigurationASCIOO MC PIT/YAW gain change

The following changes were made to the WFS MASTER IMC Pitch and Yaw gains:

Gain values for the pitch and yaw on MC1, MC2, and MC3 filters on the SUS ASC inputs have been carried over to the WFS MASTER output filters.
This was done such that Tomohiro and I could take AC measurements at an oscillation freq of 77 Hz on the pitch and yaw mirrors, while being sure that the amplitude of the AC signal being applied to each mirror is the same. The filters on the WFS output will have gains changed from 1.0 to the previously mentioned calibration values described in ELOG 17481

The values calculated for each filter were inverses of the callibration constants. The filters at the SUS ASC inputs were modified to read gain values of 1.0 again.
See the table bellow for the values passed to each filter.
In summary:
originally IOO-MC1,2,3_PIT/YAW_GAIN = 1.0. Now:



IOO-MC1,2,3_PIT/YAW_GAIN >> 1.0

  17546   Tue Apr 18 17:37:58 2023 ranaSummaryASCRL controller left for overnight

Anchal and I turned on another RL policy (ninedwarfs) with Chris's help.

It looks to be performing great, with good low frequency suppression and low noise injection at higher frequencies.

Going to leave it on overnight. It seems to respond well to lockloss of IMC, me whacking the MC2 chamber, walking near the MC2 chamber, kicking the optics by step in actuators, and turning off the sensors for a few seconds. Pretty robust!


Attachment 1: wfsnoise_onoff_230418.pdf
  17571   Fri Apr 28 20:17:37 2023 yutaSummaryASCIFO alignment in bad shape

[Mayank, Paco, Yuta]

IFO alignment is not good.
It seems like the input pointing drifted a lot during PRMI and noise measurements, and beam spot on both ITMY and ITMX are not good.
They are so off from the center (by about a beam size mainly in yaw) that ASS cannot handle.
Current situation is as attached (compare with good alignment in March 23 40m/17521).
Yarm ASS is not working, Xarm ASS is not working, POP is clipped, AS is clipped crying

Message: Always check the alignment from TTs using BHDC_A/B, and always check the arm alignment, even if you are only doing PRMI. (Follow the steps in 40m/17277)

Attachment 1: Screenshot_2023-04-28_20-16-19_Terrible.png
  17572   Fri Apr 28 20:56:06 2023 KojiSummaryASCIFO alignment in bad shape

I suppose ASS Y arm is using PR2/3 to align the beam to the arm.
Can't we have ASS PRM bring the beams to the center (or some defined places) of the PRM and PR2 by moving the TTs?


  17575   Mon May 1 16:51:20 2023 PacoSummaryASCIFO alignment in bad shape

[Yuta, Mayank, JC, Paco]

We fixed the IFO nominal alignment.

  1. Yuta and Mayank had worked all morning and into the early afternoon to try and recover alignment. We noticed a few things seemed off:
    1. ASS loops still wouldn't work.
    2. ITMX oplev loops were weirdly unstable, but we suspected this had to do with the recent HeNe replacement saga.
      1. Paco revisited the setup, suspecting a lens near the QPD was wreaking havoc. This was not the case, but the setup now resembles the previous one. Furthermore, an iris was placed in the input ITMX OpLev path.
    3. Using AUX (green) beams as a reference didn't really work well.
  2. We decided to check the SUS rack electronics where some noise measurements were carried out last week.
  3. We found out that between the DW boards from ITMX and ITMY to the coil driver units for ITMX and ITMY there were two crossed wires at least (Ch4).
  4. Yuta and Paco reconnected all channels between the ITMX DW to ITMX Coil driver and ITMY DW to ITMY Coil driver units,
    1. All wires seemed to be crossed when going up the rack... suspicious...
  5. The first damping test failed, and we realized placing an offset in ITMY coils affected ITMX, so the DW board units were probably flipped because they were probably mislabeled!
  6. Yuta and JC swapped the cables again, and we ran a coil by coil test before damping. After this ITMs were successfully damped, so the labels were corrected in the AI + DW boards to prevent this confusion in the future.

  • IFO alignment was recovered by Yuta and Paco.
    • ASS now works again!
  • JC and Mayank aligned OpLevs
    • Loops were closed and remained stable in ITMs.

Attachment #1 shows the alignment state at the end of this work.

Attachment 1: alignmentScreenshot_2023-05-01_17-06-41.png
  17589   Wed May 10 17:11:34 2023 PacoUpdateASCFPMI differential ASC - I

I began commissioning the AS WFS for (PR)FPMI configurations

The main goal of this work is to close some ASC feedback loops during FPMI, or PRFPMI configurations to make locks more robust and their acquisition reliable. The running hypothesis is that angle to length coupling of the differential arms is increasing the rms and therefore straining the LSC controls... Today I began working on this, and unfortunately didn't make a lot of progress due to hardware hurdles, but the nominal plan is:

  • Stop IMC WFS and hijack the RFQPD heads for sensing -- WORK IN PROGRESS
    • We can temporarily break the IMC WFS loops to work on this upgrade, but in the future we would like to have at least one head (WFS1 or WFS2?) + transmission QPD to control IMC while the other head is our AS WFS.
    • Anchal already commissioned the AS WFS electronics and models. He also installed a couple of flipper mirrors at the Vertex table that pick the whole AS beam (otherwise going into the AS camera and ASDC, AS55, and AS110 PDs).
      • While this allows single ARM cavity ASC, we can't control MICH using our AS55 error signals.
      • I found that a beam was picked off along the AS110 path for another WFS head (currently unused), so after moving the head out of the way, I installed a mirror that sends it all the way to the IMC WFS heads area. The configuration before and after is summarized in Attachments #1-3.
      • The beam will need profiling again, but this doesn't destroy any of Anchal's ARM ASC alignment, just blocks it so we can recover it, so I think it's a good solution.
  • Lock FPMI and measure sensing matrix -- PENDING
  • Close loop, aim for gain of 10 at 10 Hz, then roll-off (e.g. IMC WFS) -- PENDING (RXA: G = 10 @ 1 Hz. G = 10 @ 10 Hz would be too spicy)


Attachment #1 before the changes were done

  • The red beam path indicates the nominal AS beam path
  • The purple beam path indicates the AS110 beam path.
  • The blue beam path indicates the unused, AS WFS (?) beam path.

Attachment #2-3 after the changes were done

  • The blue beam indicates the newly picked AS WFS beam path.
  • The yellow beam indicates the ARM AS WFS alternative path (installed by Anchal, controlled by flipper mirrors).
Attachment 1: PXL_20230510_233850237~2.jpg
Attachment 2: PXL_20230511_000946357~2.jpg
Attachment 3: PXL_20230511_000941172~2.jpg
  17593   Tue May 16 08:42:14 2023 PacoUpdateASCFPMI differential ASC - II

We aligned the AS WFS and measured some angular motion from ETMX

This work is done after IMC WFS offsets are offloaded and the WFS loops are turned off. Then, the flipper mirror M4 in the IMC WFS path is flipped up to feed the AS beam into its path. We also connected the AS WFS demod boards for both heads.

[JC, Paco]

We continued to get the AS WFS going. We added two lenses with the help of JC (f1~500 mm and f2~1000 mm) to have control over the minimum waist and its position downstream. In practice, we placed the lenses such that the beam waist lands close to the last lens before WFS1, giving a reasonable beamspot at both WFS1 WFS2 heads. These changes are reflected by the picture on Attachment #1. The beam sizes will sure need careful optimization to sense the Differential/Common ARM angular motion due to ITMs and ETMs, but for now we decided to move forward.

[Mayank, Paco]

We locked FPMI and use the WFS LOCKINs to inject a 21.173 Hz line into ETMX-PIT. Then, we look at the AS11-WFS signals using diaggui to identify any measurable signal. We see the line coming into a combination of channels C1:ASC-DHARD_PIT_IN1, C1:ASC-DHARD_YAW_IN1, C1:ASC-DSOFT_PIT_IN1, and C1:ASC-DSOFT_YAW_IN1 as shown by Attachment #2.

Attachment 1: PXL_20230515_173719320~2.jpg
Attachment 2: ASWFS_test0_Screenshot_2023-05-16_18-38-39.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.
  428   Fri Apr 18 19:46:08 2008 ranaUpdateASScheck adaptive
I restarted the adaptive code today using 'startass' and 'upass'.
I moved them into the scripts/ASS/ subdirectory.

Things seem OK. With a MU=0.03 and a TAU=0.00001, there is a still
a good factor of 10 reduction of the 3 Hz stack peak from the MC2
drive by doing FF into MC1.

I edited the ASS-TOP screen so that we could see such small numbers. I
also re-aligned the MC SUS to match the input beam (mainly MC3). The
cavity was locking on a TEM10 mode mostly -- we should look in the SUS
OSEM trends to see if MC3 has moved a lot in the last month or so.

Caryn Palatchi (a Caltech undergrad who just started working with us)
illustrated to me today that using even 1000 FIR taps is not very effective
for low frequency noise cancellation if you have a 2048 Hz sample rate. More
precisely, the asymptotic Wiener filter which our 'LMS' algorithm converges
to, can often amplify the noise at frequencies below f_sample/N_taps.

A less obvious thing that she also noticed is that there is almost no cancellation
of the 16.25 Hz bounce mode when using such a short filter. That's because that
mode is fairly high Q: the transfer function from the Z-ACC to the cavity signal
goes through the high-Q vertical suspension resonance; the FF signal we send back
goes through the low-Q horizontal pendulum response only. Therefore the filter
needs to be able to simulate ~100 cycles at 16.25 Hz in order to cancel that peak.


The message here is: we need to find a computationally efficient way to do FIR filtering
or its not going to ever be cool enough to help us find the Crab.
Attachment 1: 0052_xray_thm45.jpg
  432   Mon Apr 21 12:58:42 2008 robUpdateASScheck adaptive


Caryn Palatchi (a Caltech undergrad who just started working with us)
illustrated to me today that using even 1000 FIR taps is not very effective
for low frequency noise cancellation if you have a 2048 Hz sample rate. More
precisely, the asymptotic Wiener filter which our 'LMS' algorithm converges
to, can often amplify the noise at frequencies below f_sample/N_taps.

A less obvious thing that she also noticed is that there is almost no cancellation
of the 16.25 Hz bounce mode when using such a short filter. That's because that
mode is fairly high Q: the transfer function from the Z-ACC to the cavity signal
goes through the high-Q vertical suspension resonance; the FF signal we send back
goes through the low-Q horizontal pendulum response only. Therefore the filter
needs to be able to simulate ~100 cycles at 16.25 Hz in order to cancel that peak.


The message here is: we need to find a computationally efficient way to do FIR filtering
or its not going to ever be cool enough to help us find the Crab.

This is the reason for "RDNSAMP" parameter in the ASS code. The FIR filtration is applied at the downsampled rate, not the machine rate. So, if RDNSAMP=32, the effective sampling rate of the FIR filter is 64Hz, and thus noise cancellation should be good down to 64Hz/1000, or 64mHz, and the filter has an impulse response time that extends to 15 secs. I'm not convinced the filter length is what's limiting the performance at the bounce mode, but I agree that a faster FIR implementation would be good.
  579   Thu Jun 26 21:07:11 2008 ranaConfigurationASSdust & MC1
I realized today, that yesterday while we were trying to debug the adaptive noise canceler, I turned
off the analog dewhitening on MC1. I did this by changing settings on the Xycom screen but I
forgot to elog this -- this may have caused problems with locking via increased frequency noise.
I have now returned it to its nominal, dewhitening on, configuration.

I also used mDV to look at the last year of dust trend. I have plotted here the cumulative
histogram in percentile units of the 0.5 micron dust level. The x-axis is in units of particles per cu. ft.
and the y-axis is percentage. For example, the plot tells us that over the last year, the counts were
below 6000, 90% of the time. I have set the yellow and red alarm levels to alarm at the 95-th and 99-th
percentile levels, respectively.
Attachment 1: Screenshot-2.png
  981   Mon Sep 22 21:54:05 2008 ranaUpdateASSNew Wiener result with x10 gain in ACC
The 2 attached PDF files show the performance of the Wiener filter code on 2 hours of data
with a 4000 tap filter on 64 Hz data. All 6 accelerometers around the MC and the Ranger seismometer
were used.

I attribute the improved performance in the 3-10 Hz band to the better SNR of the ACC channels. To
do better below 1 Hz we need the Guralps.
Attachment 1: f.pdf
f.pdf f.pdf
  1105   Sun Nov 2 20:44:58 2008 ranaUpdateASSWiener Filter performance over 5 hours
I took one 2 hour stretch of data to calculate a MISO Wiener filter to subtract the Ranger seismometer
and the 6 Wilcoxon accelerometers from the IOO-MC_L channel. I then used that static filter to calculate
the residual of the subtraction in 10 minute increments for 5 hours. The filter was calculated based upon
the first 2 hours of the stretch.

The MC lock stretch is from Oct 31 03:00 UTC (I think that we are -8 hours from UTC, but the DST confounds me).
So its from this past Thursday night.

I wrote a script (/users/rana/mat/wiener/mcl_comp.m) which takes the static filter and does a bunch of loops
of subtraction to get a residual power spectrum for each 10 minute interval.

In the attached PNG, you can see the result. The legend is in units of minutes from the initial t0 = 03:00 UTC.

BLACK-DASHED -- MCL spectrum before subtraction

I have also used dashed lines for some of the other traces where there is an excess above the unsubtracted data.
Other than those few times, the rest are all basically the same; this indicates that we can do fine with a very
slow adaptation time for the feed-forward filters
-- a few hours of a time constant is not so bad.

After making the plot I noticed that the Ranger signal was totally railed and junky during this time.
This probably explains the terrible performance below 1 Hz (where are those Guralps?)

The second attached image is the same but in spectrogram form.
Attachment 1: f.png
Attachment 2: f1.png
  1111   Mon Nov 3 22:35:40 2008 ranaUpdateASSWiener Filter performance over 5 hours
To speed up the Wiener filter work I defined a 256 Hz version of the original 16kHz IOO-MC_L signal. The
attached plots show that the FE decimation code works correctly in handling the anti-aliasing and
downsampling as expected.
Attachment 1: DAQ.pdf
  1112   Tue Nov 4 00:47:53 2008 ranaUpdateASSWiener Filter performance over 5 hours
Same as before, but now with a working Ranger seismometer.

In the spectrogram, the color axis is now in dB. This is a whitened spectrogram, so 0 dB corresponds to
the average (median) subtraction. The color scale is adjusted so that the large transients are saturated
since they're not interesting; from the DV trend its some kind of huge glitch in the middle of the
night that saturated the MC1 accelerometers only (maybe a pump?).

The attached trend shows the 5 hours used in the analysis.
Attachment 1: f2.png
Attachment 2: f.png
  1985   Fri Sep 11 17:11:15 2009 SanjitUpdateASSOAF: progress made

[Jenne & Sanjit]

Good news: We could successfully send filtered output to MC1 @ SUS.

We used 7 channels (different combinations of 3 seismometer and six accelerometer)

We tried some values of \mu (0.001-0.005) & gain on SUS_MC1_POSITION:MCL and C1ASS_TOP_SUS_MC1 (0.1-1).

C1:ASS-TOP_SUS_MC1_INMON is huge (soon goes up to few times 10000), so ~0.1 gains at two places bring it down to a reasonable value.

Bad news: no difference between reference and filtered IOO-MC_L power spectra so far.

Plan of action: figure out the right values of the parameters (\mu, \tau, different gains, and may be some delays), to make some improvement to the spectra.

 ** Rana: there's no reason to adjust any of the MCL gains. We are not supposed to be a part of the adaptive algorithm.

  2434   Sun Dec 20 21:39:40 2009 rana, jenne, kiwamuUpdateASSOAF Model update and build instructions

After a lot of headache, I got the OAF working again - read on for details.....................

Sometime last week, Jenne, Kiwamu, and I tried to update the OAF model to include the IIR "feed-around" path.

This path is in parallel to the existing FIR-based adaptive FXLMS stuff that Matt put in earlier. The reason for the

new path is that we want to try emulating the same FF technology which has been successful lately at LLO.


However, we were unable to make the ASS work after this work. Mostly, the build stuff worked fine, but we couldn't get DTT

to make a transfer function. The excitation channels could be selected and the excitation would actually start and get all the

way into MC1, but DTT would just hang on the first swep-sine measurement with no time-out error. Clearly our ASS building

documentation is no good. We tried using the instructions that Koji gave us for AAA, but that didn't completely work.


In particular, the 'make-uninstall-daq-ass' command gave this command:

[controls@c1ass advLigo]$ make uninstall-daq-ass
grep: target/assepics/assepics*.cmd: No such file or directory
Please make ass first
make: *** [uninstall-daq-ass] Error 1

re-arranging the order to do 'make-ass' first fixes this issue and so I have fixed this in the OAF Wiki.


The there's the whole issue with the tpchn_C3.par file. This contains all the test point definitions for the ASS/OAF machine. The main

IFO numbers are all in tpchn_C1.par and the OMC is all in tpchn_C2.par. When we do the usual build, in the 'make install-daq-ass' part:

[controls@c1ass advLigo]$ make install-daq-ass
Installing GDS node 3 configuration file
Updating DAQ configuration file

we get this .par file installed in the target area. The ACTUAL param file seems to actually be in /cvs/cds/caltech/gds/param  !!


Of course, it still doesn't work. That's because the standard build likes to point to /cvs/cds/caltech/gds/bin/awgtpman and the one that runs on

linux is actually /opt/gds/awgtpman. So I've now made a file called startup_ass.cmd.good which runs the correct one. However, the default build

will try to start the wrong one and we have to fix the 'startass' script to point to the correct one on each build. Running the correct awgtpman

allows us to get the TP data using tools like tdsdata, so far no luck with DTT.\


UPDATE (23:33): It turns out that it was my old nemesis, NTPD. c1ass had a /etc/ntp.conf file that was pointing at an ntp server called rana113. I

am not an NTP server; I don't even know what time it is. I have fixed the ntp.conf file by making it the same ass c1omc (it now points to nodus). After

this I set the date and time manually (sudo date -s "20 DEC 2009 23:27:45") and then restarted NTPD. It should now be fine even when

we reboot c1ass.


After all of this nonsense, I am able to get TP data from c1ass and take transfer functions between it and the rest of the world !

  2437   Mon Dec 21 02:22:31 2009 rana, jenne, kiwamuUpdateASSOAF Model update and build instructions

This allowed measuring the MC1 -> MCL TF finally. Its mostly flat. Data saved as Templates/OAF/OAF-MCLTF.xml

Attachment 1: Untitled.png
  2438   Mon Dec 21 07:30:58 2009 ???UpdateASSOAF Model update and build instructions

 What does OAF stand for? The entry doesn't say that. Also the acronym is not in the abbreviation page of the wiki.

Can anyone please explain that?

  2440   Mon Dec 21 10:09:06 2009 jenneUpdateASSOAF Model update and build instructions
OAF stands for Online Adaptive Filtering. We use the same computer which was once the ASS. One of these days, we'd like to completely be rid of all things which refer to ASS, and make even the computer's name OAF.
  2441   Mon Dec 21 19:24:29 2009 ranaUpdateASSOAF Model update and build instructions

I fit the MC1 -> MCL TF using vectfit4.m (from mDV). The wrapper file is mDV/extra/C1/ fitMC12MCL.m.

Plotted here are the data (RED), the fit (BLUE), and the residual x10 (GREEN).

For the magnitude plot, residual is defined as ------   res = 1 - fit / data

For the phase plot the residual is defined as -------    res =  phase(data)-phase(fit)

You can see that the agreement is very good. The phase match is better than 5 deg everywhere below 10 Hz.

This TF is so smooth that we could have probably done without using this, but its good to excercise the method anyway.

Attachment 1: mc12mcl.png
  2442   Tue Dec 22 02:50:09 2009 rana, kiwamu, jenneUpdateASSOAF Feedaround ON and doing something good

Kiwamu made the OAF screen functional today - screenshot attached.

After this, I used the measured TF of the MC1 to MCL to filter the signals from the Wilcoxon accelerometers and feed them into the MC.

The noise at 3 Hz went down by a factor of ~3. There's a little excess created at 100 Hz. Its good to see that our intuition about feed-forward is OK.

I did all of the filter calculations by adapting the scripts that Haixing, Valera, and I got going at LLO. They're all in the mDV/extra/C1 SVN.


The Wiener code predicts much better performance from using more than just 2 horizontal accelerometers, but I was too lazy to do more channels today.

I also added the Rai box to the Ranger readout today - the noise at 0.1 Hz went down by a factor of 10 and the noise at 1 Hz is close to 10^-11 m/rHz.

Attachment 1: oaf.png
Attachment 2: oaf.png
  2449   Wed Dec 23 17:33:14 2009 ranaUpdateASSOAF Feedaround ON and doing something good

The Rai box ran out of batteries a couple of days ago and so the data is no good. I've put the Ranger back on the SR560 for now (but with the damping resistor removed, so the gain is 2x more than before).

  4696   Wed May 11 23:02:52 2011 valeraUpdateASSDither angular stabilizitaion system update

This is what was done in past two days:

- The ETMY and ITMY pitch and yaw dofs are modulated at 40, 44, 42, 46 Hz respectively (oscillator A=30). The c1ass lockin numbers are 12, 14, 27, 29.

- The NAS55I signal is demodulated at the above frequencies. The demodulated I/Q signal phase is set to shift all signal into I-phase. The lockin inputs are bandpassed around respective frequency f with butter("Bandpass",2,f-0.5,f+0.5). The demod signals are then additionally low passed with butter ("Lowpass",4,0.5) so the servo ugf has to be below 0.5 Hz. The servo filter is p:z 0.0001:0.1.

- The ETMY demodulated signal is fed back to ITMY and visa versa.

- With the above 2x2 servo running we moved the input beam PZTs by hand to follow the cavity.

- At the end we offloaded the servo control signals to the SUS biases again by hand.

- The beam spot centering was estimated by unbalancing the ETMY/ITMY pitch/yaw coil combinations intentionally by 5%, which produces 1.3 mm shift of the node, and comparing the response to the residual signals.

- The dof set up currently is: ETMY pitch lockin 12 -> dof2, ITMY pitch lockin 14 -> dof4, ETMY yaw lockin 27 -> dof7, ITMY yaw lockin 29 -> dof9

- The next step is to demodulate the TRY(X) and servo the input beam PZTs

  4709   Fri May 13 00:39:53 2011 valeraUpdateASSc1ass update

Here the status of the dither alignment or c1ass:

- Both pitch and yaw centering on ETMY/ITMY were closed simultatenously with ugf of ~1/30 Hz.

- I made a medm screen with beam positions as measured by the dither system.The snapshot is attached. There are visual perimeter alarms (red box around the display) to warn about arm power being low or the dither lines not being on. The screen has a pull down menu with 4 scripts:

. assUp - sets up the gains, phases and matricies for the dither system (both the spot centering and the input beam alignment)

. assOn - turns on the dithers and servo - just the Y-arm centering part at the moment

. assOff - turns off the servo and dither lines

. assDitherOn - turns on the dither lines but does not turn on the servo

- All scripts are in scripts/ASS and the medm screen is in medm/c1ass/master/


Still to do:

- Commission the input beam and X-arm servos

- Make scripts for X-arm

Attachment 1: c1assqpds.jpg
  4726   Mon May 16 11:47:59 2011 kiwamuUpdateASSc1ass update part II

The medm screen for c1ass started being modified to be more user-friendly.

The modification is still ongoing, but the goal is to make a screen which anyone can easily understand and play with.


Still to do : ( need a volunteer )

- Modification of the screens

- Commission the input beam and X-arm servos

- Make scripts for X-arm

- Measure the PZT mirrors' matrix for the translation and angle


Quote from #4709

Here the status of the dither alignment or c1ass:

Still to do:

- Commission the input beam and X-arm servos

- Make scripts for X-arm


ELOG V3.1.3-