ID |
Date |
Author |
Type |
Category |
Subject |
4555
|
Thu Apr 21 21:46:22 2011 |
kiwamu | Update | LSC | demod board : new 90 deg splitter |
A less LO power dependence on the relative phase was found. The new 90 deg splitter works better.
From -3 dBm to 10 dBm in LO power, the relative phase is within 90 +/- 5 deg.
As a comparison I plot the phase that I measured when the handmade coil had been there (green curve in the plot).

I will also measure amplitude unbalances between I and Q.
Quote from #4554 |
A 90 degree splitter, PSCQ-2-51W, has arrived today and I installed it on a demod board called AS11.
Results of the I-Q phase measurement with the new splitter will be reported soon.
|
|
4560
|
Fri Apr 22 11:08:50 2011 |
kiwamu | Update | LSC | demod board AS11 : amplitude imbalance |
Amplitude imbalance between I and Q in a demod board, AS11, with the new 90 deg splitter was measured.
It shows roughly 10% amplitude imbalance when the LO power is in a range from 0 to 5 dBm. Not so bad.
With the handmade coil there used to be a huge imbalance (either I or Q goes to zero volt while the other keeps about 1 V rms) as the LO power decreases.
But with the new 90 deg splitter now there are no more such a huge imbalance.
The remaining 10 % imbalance possibly comes from the fact that we are using ERA-5 in each I and Q path. They may have such gain imbalance of 10%.
We should check the ERA-5 gains so that we can confidently say ERA-5 causes the amplitude imbalance.
Then our plan replacing the ERA-5s (see here) will sound more reasonable.

Quote from #4555 |
The new 90 deg splitter works better.
I will also measure amplitude unbalances between I and Q.
|
|
4538
|
Mon Apr 18 13:05:57 2011 |
kiwamu | Summary | LSC | demod board modification |
Here is the idea how we upgrade the demodulation boards.
Basically we go ahead with two steps as depicted in the cartoon diagram below.
Once we finish the first step of upgrade, the board will be ready to install although the circuit won't be awesome in terms of noise performance.

* * * (details) * * *
First of all we will replace the home-made 90 degree splitter (see this entry) by a commercial splitter, PSCQ-2-51-W+ from Mini circuit. This is the step 1 basically.
At this point the boards will be ready to use in principle. I asked Steve to get three 90 degree splitters so that we can have at least three demodulators for the dual-recycled Michelson locking.
If they work very fine we will buy some more 90 degree splitters for full locking.
While we try to lock the dual-recycled Michelson once we will get a Cougar amplifier, remove all ERA-5s and install it such that we don't have to gain up and down in the circuit. This is the last step. |
277
|
Sun Jan 27 13:13:21 2008 |
tobin | Metaphysics | General | departure |
It's been grand. Thanks for having me!
GWAVES IN '08!
Sugar napoleons may be forwarded to T. F., c/o LLO, P.O. Box 940, Livingston, LA 70754-0940. |
2525
|
Tue Jan 19 02:39:57 2010 |
kiwamu | Update | Electronics | design complete --- triple resonant circuit for EOM --- |
The design of the triple resonant circuit has been fixed.
I found the optimum configuration, whose gain is still 11 at 55MHz even if there are realistic losses.
As I mentioned in the last entry, there are infinite number of the similar solutions to create the same resonant frequencies.
However owing to the effect of the losses, the resultant gain varies if the similar solution changes
The aim of this study is to select the optimum solution which has a maximum gain ( = the highest impedance at the resonance ).
In order to handle the losses in the calculation, I modeled the loss for both inductors and the capacitors.
Then I put them into the circuit, and calculated the impedance while changing the solutions.
(method)
1). put the scaling parameter as k in order to create the similar solution.
2). scale the all electrical parameters (L1, L2,...) by using k, so that C1'=C1 x k, L1'=L1/k ,...
3). Insert the losses into all the electrical components
4). Draw the impedance curve in frequency domain.
5). See how the height of the impedance at the resonance change
6). Repeat many time this procedure with another k.
7). Find and select the optimum k

There is a trick in the calculation.
I put a capacitor named Cpp in parallel to the EOM in order to scale the capacitance of the EOM (see the schematic).
For example if we choose k=2, this means all the capacitor has to be 2-times larger.
For the EOM, we have to put Cpp with the same capacitance as Cp (EOM). As a result these two capacitors can be dealt together as 2 x Cp.
So that Cpp should be Cpp = (k-1) Cp, and Cpp vanishes when we choose k=1.
The important point is that the scaling parameter k must be greater than unity, that is k > 1.
This restriction directly comes from Cp, the capacitance of the EOM, because we can not go to less than Cp.
If you want to put k < 1, it means you have to reduce the capacitance of the EOM somehow (like cutting the EO crystal ??)
(loss model)
I've modeled the loss for both the inductors and the capacitors in order to calculate the realistic impedance.
The model is based on the past measurements I've performed and the data sheet.
Loss for Capacitor : R(C) = 0.5 (C / 10pF)^{-0.3} Ohm
Loss for Inductor : R(L) = 0.1 ( L / 1uH) Ohm
Of course this seems to be dirty and rough treatment.
But I think it's enough to express the tendency that the loss increase / decrease monotonically as L / C get increased.
These losses are inserted in series to every electrical components.
( Note that: this model depends on both the company and the product model. Here I assume use of Coilcraft inductors and mica capacitors scattered around 40m )
( results )
The optimum configuration is found when k=1, there is no scaling. This is the same configuration listed in last entry
Therefore we don't need to insert the parallel capacitor Cpp in order to achieve the optimum gain.
The figure below shows the some examples of the calculated impedance. You can see the peak height decrease by increasing the scale factor k.

The black dash line represents the EOM-loss limit, which only contains the loss of the EOM.
The impedance at the resonance of 55MHz is 6.2 kOhm, which decreased by 3% from the EOM-loss limit. This corresponds to gain of G = 11.
The other two peaks, 11MHz and 29.5MHz dramatically get decreased from EOM-loss limit.
I guess this is because the structure below 50MHz is mainly composed by L1, L2, C1, C2.
In fact these components have big inductance and small capacitance, so that it makes lossy.
( next step )
The next step is to choose the appropriate transformer and to solder the circuit. |
2528
|
Tue Jan 19 03:20:28 2010 |
Koji | Update | Electronics | design complete --- triple resonant circuit for EOM --- |
First I was confused, but now I think I understood.
My confusion:
If the k get bigger, L get smaller, C get bigger. This makes R(L) smaller and R(C) smaller. This sounds very nice. But why smaller k is preferable in the Kiwamu's result?
Explanation:
The resultant impedance of the network at a resonance is determined by Zres = L/(R C) or something like that. Here R = R(L)+R(C). (I hope this is right.)
Here larger Zres is preferable. So smaller R is nice.
But If the speed of reduction for R is slower than that of L/C (which is proportional to k^-2), increasing k does not help us to increase of Zres. And that's the case.
This means "if we can put the LC network in the box of EOM, we can do better job!" as we can reduce Cp.
Quote: |

Loss for Capacitor : R(C) = 0.5 (C / 10pF)^{-0.3} Ohm
Loss for Inductor : R(L) = 0.1 ( L / 1uH) Ohm
|
|
6817
|
Thu Jun 14 04:53:39 2012 |
yuta | Summary | Green Locking | designing ALS loop for mode scan |
[[Requirement]]
Arm cavity FWHM for IR is
FWHM = FSR / F = c/(2LF) = 8 kHz.
In cavity length, this is
L/f * FWHM = 40m/(c/1064nm) = 1.2 nm
So, to do mode scan nicely, arm length fluctuation during resonant peak crossing should be much less than 1.2 nm.
[[Diagram]]
Let's consider only ADC noise and seismic noise.

* S: conversion from Y arm length to the beat frequency
dL/L = df/f
So,
S = df/dL = f/L = c/532nm/40m = 1.4e7 MHz/m
* W: whitening filter
We set it to flat gain 50. So,
W = 50
* D: AD conversion of voltage to counts
D = 2^16counts/20V = 3300 counts/V
* B: frequency to voltage conversion of the beatbox.
We measured BWD(elog #6815). When we measured this, W was 10. So, the calibration factor at 0 crossing point(~ 50 MHz) is
B = 1400*0.048/10/D = 0.0021 V/MHz
* A: actuator transferfunction
I didn't measure this, but this should look like a simple pendulum with ~ 1 Hz resonant frequency.
* n_ADC: ADC noise
ADC noise is about
n_ADC = sqrt(2*LSB^2*Ts) = sqrt(2*(20V/2^14)**2*1/64KHz) = 1.6 uV/rtHz
* n_seis: seismic noise
We measured this by measuring C1:ALS-BEATY_COARSE_I_IN1. This is actually measuring
D(WBSn_seis + n_ADC)
Calibrated plot is the red spectrum below.
* F: servo filter (basically C1:ALS-YARM)
We need to design this. Stabilized arm length fluctuation is
x_stab = 1/(1+G)*n_seis + G/(1+G)*n_ADC/(WBS)
where openloop transferfunction G = SBWDFA.
Below ~ 50 Hz, n_seis is bigger than n_ADC/(WBS). We don't want to introduce ADC noise to the arm. So, UGF should be around 50 Hz. So, we need phase margin around 50 Hz.
We also need about 10^3 DC gain to get the first term comparable to the second term.
Considering these things, openloop transferfunction should look like the below left. Expected error signal when ALS on is the below right. I put some resonant gain to get rid of the peaks which contribute to the RMS (stack at 3.2Hz, bounce at 16.5 Hz).
Inloop RMS we get is about 0.3 nm, which is only 4 times smaller than FWHM.
 
[[Discussion]]
We need to reduce RMS more by factor of ~ 30 to get resolusion 1% of FWHM.
Most contributing factor to the RMS is power line noise. We might want comb filters, but it's difficult because UGF is at around this region.
So, I think we need more fancy whitening filters. Currently, we can't increase the gain of the whitening filter because SR560 is almost over loading. Whitening filter with zero at 1 Hz might help.
|
3647
|
Tue Oct 5 11:42:20 2010 |
kiwamu | Summary | Green Locking | developing green locking plant |
With a help from Joe, I made a diagram of the simulated plant for green locking in order to get better understanding and consensus.
Eventually these simulated plants will help us developing (sometimes debugging) the digital control systems.
Here is the diagram which tells us how we will setup and link the control/plant models and on which machine they will be running.

Basically upper side represents the realtime control, and the lower side is the simulated plant.
The models are talking to each other via either a local shared memory (orange line) or the reflective memory network (purple line).
Each model is stil not systematically named, at some point we have to have an absolute standard for naming the models.
- current model names -
GCV = Green Control model at Vertex
GCX(Y) = Green Control model at X (Y) end
GPV = Green Plant model at Vertex
- things to be done -
1. let the RFM work
2. revise the old plant models : SUP, SPX(Y) and LSP
|
13290
|
Mon Sep 4 18:18:29 2017 |
rana | Update | LSC | dewhite switching: FOTON settings |
not immediately necessary, since you have already got it sort of working, but one of these days we should optimize this for real. In the past, we used to do this by putting a o'scope on the coil Vmon during the switching to catch the transient w/ triggering. We download the data/picture via ethernet. Run for loop on tolerance to see what's what.
- Went into the Foton filter banks for all the coil output filters, and modified the "Output" settings to be on "Input crossing", with a "Tolerance" of 10 and a "Timeout" of 3 seconds. These settings are to facilitate smooth transition between the two signal paths (without and with coil-dewhitening). The parameters chosen were arbitrary and not optimized in any systematic manner.
|
|
5765
|
Sun Oct 30 23:01:51 2011 |
Zach | Update | SUS | diagAllSUS -- automated input matrix generator |
I finally got around to wrapping up the SUS input matrix diagonalizer. The files I have added to ...scripts/SUS/peakFit are:
- kickAll: Restores all SUS angle biases using /cvs/cds/rtcds/caltech/c1/medm/c1ifo/cmd/C1IFO_OPTICrestore.cmd XXXX &, then runs 'freeswing all'. Finally, writes an elog entry with the time when the optics were kicked and saves the gps time to 'kickAll.time'.
- diagAllSUS.m: An M-file that calls all the other individual M-files needed for the matrix generation. What it does:
- Reads kick time from kickAll.time
- Runs getSensors.m to get time series from all optics' sensors
- Runs makeSUSSpectra.m to generate spectra from time series
- Runs findPeaks.m to fit spectra for peak frequencies
- Loops through all optics and runs, in sequence:
- inmat = findMatrix(XXXX) to generate the matrix for each optic
- writeSUSinmat(XXXX,inmat) to write that matrix to the frontend
- diagAllSUS: A wrapper for diagAllSUS.m. It also writes an elog entry and attaches the pre and post spectra demonstrating the diagonalization. The entry following this one is an example.
The following lines should eventually be added to the controls@nodus crontab:
0 8 * * 0 /cvs/cds/rtcds/caltech/c1/scripts/SUS/peakFit/kickAll
0 18 * * 0 /cvs/cds/rtcds/caltech/c1/scripts/SUS/peakFit/diagAllSUS
(i.e., do the kick at 8am on Sundays and run the diagonalization 10 hrs later at 6pm). They can be done on a different machine but then my elog commands will need to be modified.
Before we add them, we should check that they do, in fact, work. We can do this sometime while I'm at the 40m this week.
|
3844
|
Tue Nov 2 11:34:53 2010 |
josephb, alex | Update | CDS | diagconfd running, excitations back in dtt |
Problem:
Diagnostic test tools was starting with errors.
Cause:
After the reboot of the frame builder machine yesterday by Alex, the diagconfd daemon was not getting started by xinetd. There was a sequence error in the startup where xinetd was being called before mounting drives from linux1.
Important Note:
If you do not see the "nds" line you would not have diagnostic tests enabled in the DTT:
[controls@rosalba apps]$ diag -i | grep nds
nds * * 192.168.113.202 8088 * 192.168.113.202
Solution:
Alex changed /etc/xinetd.d/diagconfd file to point to /opt/apps/gds/bin/diagconfd instead of /opt/apps/bin/diagconf. He also ensured xinetd started after mounting from linux1.
Alex's Suggestion:
My feeling is we should get rid of this feature and have an NDS address
entry box in the "Online" tab in the DTT with the default "nds". I
mentioned this to Jim Batch and he greed with me, so maybe he is going to
implement this. So maybe you guys want to request the same thing too, send
the request to Rolf and Jim, so we can have the last demon exercised.
|
2146
|
Mon Oct 26 19:12:50 2009 |
kiwamu | Update | LSC | diagnostic script for LSC timing |
The diagnostic script I've written is available in the 'caltech/users/kiwamu/work/20091026_OMC-LSC-diag/src'.
To run the script, you can just execute 'run_OMC_LSC.sh' or just call the m-file ' OMC_LSC_timinig.m' from matlab.
NOTES:
The script destructs the lock of DARM and OMC, be careful if you are working with IFO. |
4026
|
Wed Dec 8 12:47:18 2010 |
kiwamu | Update | SUS | diagonalisation of ITMX input matrix |
The input matrix of ITMX has been diagonalized.
The evaluation of this diagonalisation will be done tonight by freely swinging ITMX again.
(Somehow I couldn't get any data for ETMX from the DAQ channels. I will try it again tonight.)
(details)
For solving the matrix, I used Yuta's python code called inmartixoptimizer.py.
I took the transfer functions of UL->UR, UL->LL and UL->LR as described in this entry.
In the measurement, the frequency bin was set to 0.001 Hz and the data were 50 times averaged on dtt.
Here is the new input matrix.
[[ 0.87059649 1.14491977 1.07992057 0.90456317]
[ 0.64313916 0.55555661 -1.44997325 -1.35133098]
[ 1.13979571 -1.19186285 -0.89606597 0.77227546]]
This matrix should give a better performance than before. |
7511
|
Tue Oct 9 17:16:14 2012 |
Den | Update | SUS | diagonalization |
I went inside to align the beam on WFS and noticed that oscillations in yaw are ~10 times stronger then in pitch. I've plot rms of pitch and yaw measured by LID sensors and saw that MC3 yaw rms motion is a few times larger then pitch.
Also MC1 input diag matrix does not diagonalize signals for pitch and yaw. In the spectrums of these signals all 4 resonance are equally seen during the free swinging. I think we should rediagonalize MC1.
Another thing is that if MC1 and MC3 are on the same stack, pitch and yaw spectrums of these mirrors should be comparable. But MC1 signal is ~2-3 times larger then of MC3. I think we should correct calibration. |
Attachment 1: mc123_rms.pdf
|
|
Attachment 2: mc1_diag.pdf
|
|
Attachment 3: mc123_rms.pdf
|
|
7512
|
Tue Oct 9 17:33:37 2012 |
jamie | Update | SUS | diagonalization |
Quote: |
I went inside to align the beam on WFS and noticed that oscillations in yaw are ~10 times stronger then in pitch. I've plot rms of pitch and yaw measured by LID sensors and saw that MC3 yaw rms motion is a few times larger then pitch.
|
What are "LID" sensors? Do you mean the OSEM shadow sensors? I'm pretty sure that's what you meant, but I'm curious what "LID" means.
|
7525
|
Thu Oct 11 00:28:30 2012 |
Den | Update | SUS | diagonalization |
I've written MC123 input matrixes to the front-end.
MC1 diagonalization is poor, better then before, but still pitch is seen in pos and yaw. Either smth is malfunctioning or flags touch sensors and do not move freely. On the plot mc1_new black lines - before, red - after rediagonalization. |
Attachment 1: mc1_new.pdf
|
|
Attachment 2: mc123_new.pdf
|
|
7526
|
Thu Oct 11 01:30:11 2012 |
Den | Update | SUS | diagonalization |
Quote: |
MC1 diagonalization is poor, better then before, but still pitch is seen in pos and yaw. Either smth is malfunctioning or flags touch sensors and do not move freely. On the plot mc1_new black lines - before, red - after rediagonalization.
|
I've actuated on MC1 with UL, UR, LR, LL coils in turn and measured sensor readings. All coils separately work fine from the first look.
On the plot: black - free mirror, blue - UL coil actuation, green - UR, grey - LR, red - LL. |
Attachment 1: mc1_coils.pdf
|
|
7532
|
Thu Oct 11 14:40:20 2012 |
Den | Update | SUS | diagonalization |
Quote: |
MC1 diagonalization is poor, better then before, but still pitch is seen in pos and yaw. Either smth is malfunctioning or flags touch sensors and do not move freely. On the plot mc1_new black lines - before, red - after rediagonalization.
|
I've manually corrected MC1 input matrix by looking at UL, UR, LL, LR transfer functions between each other. This improved pos significantly and slightly yaw. |
Attachment 1: mc1.pdf
|
|
3912
|
Sat Nov 13 15:53:05 2010 |
yuta | Update | CDS | diagonalization of MC input matrix |
Motivation:
MC is aligned from the A2L measurement, but to do the beam centering more precisely, we need coils to be balanced.
There are several ways to balance the coils, like using oplev or WFS QPD RF channels.
But oplev takes time to setup, especially for MC3. Also, c1ioo WFS channels were newly setup and haven't been checked yet.
So, I decided to use OSEM sensors.
An OSEM sensor itself is sensitive to every DOF of an optic motion, but we can diagonalize them using 4 OSEM sensors and proper input matrix.
Method:
1. Measure transfer functions between
ULSEN and URSEN (H_UR(f))
ULSEN and LRSEN (H_LR(f))
ULSEN and LLSEN (H_LL(f))
2. Make a matrix A.
A = [[ 1 1 1 ]
[ H_UR(f_pos) H_UR(f_pit) H_UR(f_yaw)]
[ H_LR(f_pos) H_LR(f_pit) H_LR(f_yaw)]
[ H_LL(f_pos) H_LL(f_pit) H_LL(f_yaw)]]
where f_dof are resonant frequencies.
3. A is
s = Ad
where vectors s^T=[ULSEN URSEN LRSEN LLSEN] and d^T=[POS PIT YAW].
So,
d = Bs = (A^TA)^(-1)A^Ts
where A^T is transpose of A.
B is the input matrix that diagonalizes 3 DOFs.
What I did:
1. Measured the TFs using diaggui and exported as ASCII.
2. Made a script that reads that TF file, calculates and sets a new input matrix B.
/cvs/cds/caltech/users/yuta/scripts/inputmatrixoptimizer.py
You need to set resonant frequencies to use the script.
New input matrices for MCs are;
C1:SUS-MC1_INMATRIX
[[ 1.17649712 0.94315611 0.85065054 1.02969624]
[ 0.55939288 1.28066594 -0.85235358 -1.3075876 ]
[ 1.23467139 -0.74521928 -1.29394051 0.72616882]]
C1:SUS-MC2_INMATRIX
[[ 1.12630748 1.01451545 0.9013457 0.95783137]
[ 1.03043025 0.67826036 -1.37270598 -0.91860341]
[ 0.83546271 -1.26311029 -0.6456881 1.2557389 ]]
C1:SUS-MC3_INMATRIX
[[ 1.18212117 1.26419447 0.77744155 0.77624281]
[ 0.79344415 0.84959646 -1.10946339 -1.247496 ]
[ 1.00225331 -0.84807863 -1.21772132 0.93194674]]
I ignored SIDE this time.
Result:
Spectra of each SUSDOF_IN1_DAQ before diagonalization (INMATRIX elements all 1 or -1) were

After diagonalization, spectra are

As you can see, each SUSDOF has only single peak (and SIDE peak) after the diagonalization.
SUSSIDE still has 4 peaks because SIDE is not included this time.
For MC2, POS to SUSPIT and POS to SUSYAW got worse. I have to look into them.
Effect of resonant frequency drift:
As you can compare and see from the spectra above, resonant frequencies of MC1 are somehow drifted(~0.5%) from Nov 9 to Nov 13.
If resonant frequency you expected was wrong, calculated input matrix will be also wrong.
The effect of 0.5% drift and wrong input matrix can be seen from this spectra. DOFs are not clearly separated.

Plan:
- learn how to use diaggui from command line and fully automate this process
- balance the coils using these diagonalized SUSPOS, SUSPIT, SUSYAW |
4718
|
Sun May 15 03:58:19 2011 |
rana | Update | CDS | diagonalization of MC input matrix |
There has been some input matrix diagonalization in the past by Yuta and Kiwamu, but I find the automation to be not totally satisfactory.
It would be better if we could automatically fit the data to find the Suspended optic eigenfrequencies and then use that to get the matrix. So I wrote a peak fitter to get the matrix.
It gets the data from mafalda with NDS2, then it makes the PSDs, and then starts with some initial guesses (based on looking at the plots) and them uses fminsearch to get the peak frequencies and Q's.
Using the output of this, we can use Yuta's method and take the passive transfer functions with the free swing data (from April 30, so we got do do it quick) to get the input matrix.
Doing the SUS input matrix is nice for having good damping (as long as we remember to include SIDE), but my motivation is to produce a good null stream from the 4 face sensors so that we can estimate the sensor noises at all times. |
Attachment 1: mc1.png
|
|
4746
|
Thu May 19 00:23:44 2011 |
rana | Update | CDS | diagonalization of MC input matrix |
I've moved all of my SOS peak fitting stuff into the scripts area so that Leo can make it better:
/cvs/cds/rtcds/caltech/c1/scripts/SUS/peakFit
findPeaks.m gets the data and makes the fitted spectra that I put in the previous entry.
findMatrix.m is the barely started script that ought to take the TF data and output the matrix to the MEDM screen. |
4886
|
Sun Jun 26 16:17:22 2011 |
rana | Update | CDS | diagonalization of MC input matrix |
I have updated the scripts/SUS/peakFit/ directory so that it now finds the SUS input matrix coefficients in addition to just finding the free-swinging peaks.
Procedure:
- Get OSEM sensors data via NDS2 from a time when the optics have been kicked and then left free swinging.
- Downsample the data to 64 Hz and save.
- Make power spectra with a 1 mHz resolution (i.e. we need a few hours of data) and ~10 averages.
- use the fminsearch lorentzian peak fitter -> save the peak frequencies
- Make Transfer Function estimate matrix at the peak frequencies between all OSEMs (this makes a 5x4 complex matrix)
- The matrix should be real, so make sure its mostly real and then take the real part only
- Normalize (height of biggest peak for each f_DOF should be 1)
- Add a Butterfly mode vector. This makes the sensing matrix go from 5x4 to 5x5. (Butterfly a.k.a. Pringle)
- Invert
- Normalize so that the biggest element in each Sensor2DOF column is 1.
- Load values into MEDM screen and then verify by another free swinging data run.
The attached PDF shows how much rejection of the unwanted DOFs we get between the existing diagonal input matrix and this new empirical matrix. Previously, the decoupling was only a factor of a few for some of the modes. Now the decoupling is more like orders of magnitude (at least according to this calculation). It will be worse when we load it and then try another free swinging run. However, the fact that the suppression can be this good means that the variation in the coefficients at the ~hours time scale is at least this small (~< 0.1%)
That's the basic procedure, but there are a lot of important but mainly technical details:
- Free swinging data must be taken with the angle bias ON. Otherwise, we are not measuring the correct sensing gain (i.e. the magnets are not in their nominal place within the OSEM-LED beam)
- Data must be checked so that the shadow sensor outputs are in their linear regime: if they are exploring the cubic part, then the fundamental is being suppressed.
- Instead of just using the peak frequency, I average a few points around the peak to get better SNR before inversion. I think this will make the results more stable.
- All previous input matrix diagonalization efforts (Buckley, Sakata & Kawamura, Black, Barton, Gonzalez, Adhikari & Lawrence, Saulson,...) for the past ~15 years have been using the spectra's peak height data. Today's technique uses the TF and so is more precise. The coherent transfer function is always better than just using the magnitude data.
- This method is now fairly automatic - there's no human intervention in fudging values, choosing peak heights, frequencies, etc.
- We'll have to rerun this, of course, after the mirrors are aligned and after the OSEM whitening fiasco is cleaned up somewhat.
I'll set the optics to be aligned and then swing tonight. |
Attachment 1: inMatDiag.pdf
|
|
5136
|
Mon Aug 8 00:12:58 2011 |
rana | Update | CDS | diagonalization of MC input matrix |
I've finally completed the SUS/peakFit/ scripts which find the new input matrix for the SUS. MC1, MC2, MC3, and ITMX have been matrix'd.
I tried to do the BS, but it came out with very funny matrix elements. Also the BS is missing its DAQ channels again (JAMIE !) so we can't diagnose it with the free swinging method.
To continue, we have to get some good data and try this again. Right now there are some weird issues with a lot of the optics. I've also set the damping gains for the optics with the new matrices.
Ex.
new_matrix = findMatrix('ITMX')
writeSUSinmat('ITMX', new_matrix)
writeSUSinmat.m
this script writes the values to the MEDM input SUS matrix. To do the writing, I used the low level 'caput' command instead of ezcawrite since the ezca libraries are getting deprecated.
caput doesn't really have good diagnostics, so I use matlab to check the return status and then display to the terminal. You can just rerun it if it gives you an error.
A coupled of normalization notes:
1) The POS/PIT/YAW rows are scaled so that the mean of abs(FACE elements) = 1. Previously, I had the max element = 1.
2) The SIDE row is scaled so that the SIDE element = +1.
3) I then normalized the ROWS according to the geometrical factors that Jamie has calculated and almost put into the elog.
All these scripts have been added to the SVN. I've removed the large binary data files from the directory though. You can just rsync them in to your laptop if you want to run this stuff remotely. |
5137
|
Mon Aug 8 00:58:26 2011 |
rana | Update | CDS | diagonalization of MC input matrix |
Besides the purpose of correctly tuning the suspensions, my hidden goal in the input matrix diagonalization has been to figure out what the 'true' sensing noise of the OSEMs is so that we can accurately predict the noise impact on the OAF.
The attached plot shows the DOFs of ITMX calibrated into microns or microrad as per Jamie's ethereal input matrix calculations.
The main result is in the ratio of POS to BUTTER. It tells us that even at nighttime (when this data was taken) we should be able to get some reduction in the arms at 1 Hz.
Whether we can get anything down to 0.1 Hz depends on how the arm control signal compares to the POS signal here. I leave it to Jenne to overlay those traces using a recent Arm lock. |
Attachment 1: null.png
|
|
6413
|
Wed Mar 14 10:06:26 2012 |
steve | Update | Green Locking | dichroic mirror quotes |
Dichroic mirror quotes are in the wiki.
ATF is pricy.
We got a good price from Laseroptik, but the wedges are 5 arcminutes. The fused silica grade is 0F, meaning the homogeneity is 5 ppm instead of 1ppm. I requested an other large wedge quote on the substrates.We may have to get substrates from somebody else and ship it to Germany
MLT quote is outrageously high
REO is not interested in this low volume job.
|
6435
|
Thu Mar 22 08:14:21 2012 |
steve | Update | Green Locking | dichroic mirror quotes with large wedge |
Quote: |
Dichroic mirror quotes are in the wiki.
ATF is pricy.
We got a good price from Laseroptik, but the wedges are 5 arcminutes. The fused silica grade is 0F, meaning the homogeneity is 5 ppm instead of 1ppm. I requested an other large wedge quote on the substrates.We may have to get substrates from somebody else and ship it to Germany
MLT quote is outrageously high
REO is not interested in this low volume job.
|
The Laseroptik quote is here.The 2 degrees wedge cost is $40 on each optics! See wiki |
2296
|
Thu Nov 19 08:53:12 2009 |
pete | Frogs | Environment | diesel fumes |
Instead of doing RCG stuff, I went to Millikan to work on data analysis as I couldn't stand the fumes from the construction. (this morning, 8am) |
2377
|
Thu Dec 10 08:43:25 2009 |
steve | Frogs | Environment | diesel fumes are less |
Quote: |
Instead of doing RCG stuff, I went to Millikan to work on data analysis as I couldn't stand the fumes from the construction. (this morning, 8am)
|
Diesel fumes are pumped away from control room AC intakes with the help of newly installed reflector boxes on the CES wall fans.........see # 2272 |
Attachment 1: P1050817.JPG
|
|
4385
|
Tue Mar 8 15:20:31 2011 |
kiwamu | Update | Green Locking | differential noise on Mar.8th |

Noise below 10 Hz became larger again compared with the data before (see here #4352)
Note that the Y-axis is in MHz. |
4442
|
Fri Mar 25 01:27:29 2011 |
mevans | Frogs | Green Locking | digital frequency counting |
Today we tried the Schmitt trigger DFD, and while it works it does not improve the noise performance. At least part of our problem is coming from the discrete nature of our DFD algorithm, so I would propose that an industrious day job person codes up a new DFD which avoids switching. We can probably do this by mixing the input signal (after high-passing) with a time-delayed copy of itself... as we do now, but without the comparator. This has the disadvantage of giving an amplitude dependent output, but since we are working in the digital land we can DIVIDE. If we mix the signal with itself (without delay) to get a rectified version, and low-pass it a little, we can use this for normalization. The net result should be something like:
output = LP2[ s(t) * s(t - dt) / LP1[ s(t) * s(t) ]],
where s(t) is the high-passed input and LP is a low-pass filter. Remember not to divide by zero.
|
4444
|
Fri Mar 25 11:16:19 2011 |
josephb | Frogs | Green Locking | digital frequency counting |
I modified the c1gfd.mdl simulink model. I made a backup as c1gfd_20110325.mdl.
The first change was to use a top_names block to put everything in. The block is labeled ALS. So all the channels will now be C1:ALS-GFD_SOMETHING. This means medm channel names will need to be updated. Also, the filter modules need to be updated in foton because of this.
I then proceeded to add the suggested changes made by Matt. To avoid a divide by zero case, I added a saturation part which saturates at 1e-9 (note this is positive) and 1e9.
Quote: |
Today we tried the Schmitt trigger DFD, and while it works it does not improve the noise performance. At least part of our problem is coming from the discrete nature of our DFD algorithm, so I would propose that an industrious day job person codes up a new DFD which avoids switching. We can probably do this by mixing the input signal (after high-passing) with a time-delayed copy of itself... as we do now, but without the comparator. This has the disadvantage of giving an amplitude dependent output, but since we are working in the digital land we can DIVIDE. If we mix the signal with itself (without delay) to get a rectified version, and low-pass it a little, we can use this for normalization. The net result should be something like:
output = LP2[ s(t) * s(t - dt) / LP1[ s(t) * s(t) ]],
where s(t) is the high-passed input and LP is a low-pass filter. Remember not to divide by zero.
|
|
Attachment 1: C1GFD.png
|
|
6064
|
Sat Dec 3 16:55:52 2011 |
Den | Update | IOO | digital noise in MC |
I looked once again to the local OSEM sensors and MC length signals. Then I replaced 1e-20 to 1e-50 in the if-statement of the iir_filter function. Here I report about the difference of the signals in question.
First we look at the MC2 OSEM local sensor. In the figure below the psd of the signal is presented in three cases - with a free MC2 mirror without feedback, with a feedback signal and with a feedback signal with corrected if-statement. We can see that without FB the wire resonances are high and dumped when OSEMs are on. However we can see that below 1 Hz the psd of the sensor signal with 1e-20 in the if-statement is higher then psd of the sensor signal from free mirror. FB with 1-50 in the if-statement fixes this problem.

If we take a look on the plot of the coherence between GUR1_X and SENSOR signals we can see that coherence is corrupted when 1e-20 is used in the is-statement and is good when 1e-50 is used.

Next we look at the psd of the MC length. We can see how strongly these curves diverge below 1 Hz. The MC_F signal was also corrupted at higher frequencies.

The coherence between MC_F and GUR1_X is also improved.

|
13673
|
Thu Mar 8 19:38:37 2018 |
gautam | Update | ALS | digital unwhitening of daughter board |
I made a LISO fit of the measured TF of the daughter board, so that I can digitally invert the daughter board whitening. Results attached. (Inverse) Filters have been uploaded to the ALS X Foton filter banks. |
Attachment 1: TFfit.pdf
|
|
5789
|
Wed Nov 2 20:56:49 2011 |
Katrin | Update | CDS | digital zeros at C1:X05-MADC0 (c1scy) |
Channels C1:X05-MADC0_TP_XXX with XXX 2-9, 14-19, 21-27, 29-31 showed digital zeros.
Some of these channels are used in c1scy.mdl, e.g. for OSEM stuff. I guess this is not optimal... |
6206
|
Tue Jan 17 13:47:40 2012 |
kiwamu | Update | LSC | dirty steering mirror in the REFL path |
Last night I found that there were many dust particles on the second steering mirror in the REFL path on the AS table.
Looking at it through an IR viewer, I saw the REFL beam hitting one of the biggest dust particles on that mirror.
This dust particle maybe causing the glitches or maybe not.
Anyway because it's always better to have clean mirrors, I will wipe the steering mirror in this evening and check the presence of the glitches again.
Quote from #6202 |
The REFL11 and REFL55 demod signals show high frequency noise depending on how big signals go to the POS actuator of PRM.
Is PRM making some fringes with some other optics ??
|
|
3486
|
Mon Aug 30 11:41:34 2010 |
kiwamu | Update | Computers | disable sendmail and isdn |
{Rana and Kiwamu}
Yesterday we disabled the sendmail daemon and the isdn daemon on allegra because we don't need these daemons always running.
- How to disable/enable daemons:
sudo ntsysv
|
11598
|
Tue Sep 15 15:01:23 2015 |
rana | Summary | LSC | disabling the LSC AA filters + mod to whitening |
While investigating the BIO situation with the LSC machine and the iscaux2 processor last night, we wondered if maybe the Anti-Aliasing filters were mistakenly disabled. But why do we need these anyway?
Our ADCs digitize at 64 kHz and there is a digital lowpass in the IOP at 5 kHz before we downsample to 16 kHz. So mainly we're trying to prevent some aliasing at the 64 kHz IOP rate. But our analog AA filter is a 8th order ELP at 7570 Hz, so its overkill.
So, I propose that we bypas the AA via hardwiring the board and implement a 10 kHz pole in the whitening board (D990694) before the whitening by turning R127, etc. into a 0.1 uF cap. Along with the 100 Ohm series resistor, this will make a pole at ~15 kHz. Probably ought to check that the input resistor is metal film. Also, if we replace C158/C159, etc. with a 0.47 nF cap, we'll get 2 poles at 35 kHz to limit the higher frequencies from saturating. |
16646
|
Fri Feb 4 10:04:47 2022 |
Chub | Update | General | dish soap and clean scrub sponges! |
Bought dish soap and scrub sponges today and placed them under the sink with the other dish supplies. |
Attachment 1: 40m_supplies.jpg
|
|
13405
|
Sun Oct 29 16:40:17 2017 |
rana | Summary | Computers | disk cleanup |
Backed up all the wikis. Theyr'e in wiki_backups/*.tar.xz (because xz -9e gives better compression than gzip or bzip2)
Moved old user directories in the /users/OLD/ |
6388
|
Thu Mar 8 23:37:03 2012 |
kiwamu | Update | IOO | dither Y arm dither script |
I disabled the feedback to the PZT1 PITCH in the Y arm dithering scripts so that it won't push the beam away from the good point.
Currently one has to do a manual alignment only for the PZT PITCH but the rest of DOFs are still able to be automatically aligned with the script.
Quote from #6357 |
The polarity for controlling the PZT1 PITCH seems to have flipped for some reason.
|
|
4317
|
Thu Feb 17 22:51:04 2011 |
josephb, valera | Summary | | dither alignment model |
We made a model for the dither angular stabilization system c1ass.mdl. The attached file shows the diagram.
The idea is to dither a combination of 6 optics (ETMs, ITMs, PZTs) at different frequencies and demodulate three PDs (TRX, TRY, REFL11I). Then form the DOFs from demodulted signals, filter, and send each DOF to a combination of optics.
This is enough to get started with arm cavities alignment (we may need to add the BS for the Y arm). More optics and PD can be added as they become available and/or needed.
The DAC for the fast PZT are not connected and have to be commissioned. |
Attachment 1: ass-model.png
|
|
8459
|
Thu Apr 18 02:24:58 2013 |
Den | Update | ASC | dither alignment of yarm |
I modified our existing c1ass model to include alignment of input steering TT1 and TT2 for YARM and BS for XARM. Corresponding medm screens are also created.
Dithering:
ETM_PIT: frequency = 6 Hz, amplitude = 100 cnts
ETM_YAW: 8 Hz, 400 cnts
ITM_PIT: 11 Hz, 800 cnts
ITM_YAW: 14 Hz, 1200 cnts
These values were chosen by looking at cavity transmission and length signals - excitation peaks should be high enough but do not shake the optics too much.
Demodulation:
LO for each degree of freedom is mixed with cavity length and transmission signals that are first bandpassed at LO frequency. After mixing low-pass filter is applied. Phase rotation is chosen to minimize Q component
ETM_PIT_LENGTH |
0 |
ETM_YAW_LENGTH |
20 |
ITM_PIT_LENGTH |
0 |
ITM_YAW_LENGTH |
-25 |
ETM_PIT_TRANS |
-5 |
ETM_YAW_TRANS |
10 |
ITM_PIT_TRANS |
10 |
ITM_YAW_TRANS |
-30 |
Sensing matrix:
8 * 8 matrix was measured by providing excitation at 0.03 Hz to optics and measuring the response in the demodulated signals. Excitation amplitude was different for each optics to create cavity transmission fluctuations of 25%
-0.0373333 |
-0.010202 |
-0.018368 |
0.0042552 |
0 |
0 |
0 |
0 |
0.0432509 |
-0.209207 |
0.0139471 |
0.0780632 |
0 |
0 |
0 |
0 |
0.0483903 |
-0.0077304 |
0.00917147 |
0.000860323 |
0 |
0 |
0 |
0 |
-0.0751211 |
0.699778 |
-0.0115889 |
-0.09944 |
0 |
0 |
0 |
0 |
0.356164 |
0.121226 |
0.0690162 |
-0.0183074 |
-59.52 |
-21.9863 |
-30.9437 |
13.5582 |
-0.141744 |
1.15369 |
-0.0100607 |
-0.12914 |
-18.8434 |
-105.828 |
-48.213 |
14.8612 |
-0.0446516 |
0.00682156 |
-0.0204571 |
-0.00207764 |
21.3057 |
-1.66971 |
22.1538 |
3.93419 |
0.0278091 |
-0.205367 |
0.0114271 |
0.0648548 |
-4.66919 |
97.9043 |
-6.26847 |
-95.9963 |
Though coherence was > 0.95 during the measurement for each element (except for TT -> Length signals), after inverting and putting it to control servo, loops started to fight each other. So I decided to try a simple diagonal matrix:
TT1_PIT -> ETM_PIT_TRANS, TT1_YAW -> ETM_YAW_TRANS, TT2_PIT -> ITM_PIT_TRANS, TT2_YAW -> ITM_YAW_TRANS,
ITM_PIT -> ETM_PIT_LENGTH, ITM_YAW -> ETM_YAW_LENGTH, ETM_PIT -> ITM_PIT_LENGTH, ETM_YAW -> ITM_YAW_LENGTH
And this matrix worked much better.
Control loops:
8 loops are running at the same time. UGF for input steering loops is 20 mHz, for cavity axis loops - 80 mHz. Slower loop is stronger at low frequencies so that cavity axis servo follows input steering alignment.

Results:
When I started experiment the cavity was misaligned, transmission was ~0.4. Servo was able to align the cavity in ~30 seconds. This time depends on mirrors misalignment as well as input optics and cavity axis misalignment relative to each other.
When servo converged I disturbed ETMY, ITMY, TT1 and TT2. Servo was able to compensate for this.

Excitation lines seen by transmission and length of the cavity are suppressed as shown on the attached as pdf figures.
Note:
Though the servo is able to align the cavity during my tests, this does not mean it will work perfectly any time. So please, if you lock, try to use the servo for alignment. If something goes wrong we'll fix it. This is better then to align IFO by hands every time. |
Attachment 3: YARM_CTRL_DITHER.pdf
|
|
Attachment 4: TRY_DITHER.pdf
|
|
8465
|
Fri Apr 19 13:28:39 2013 |
Den | Update | ASC | dither alignment of yarm |
I've put 4 scripts into ASS directory for YARM alignment. They should be called from !Scripts YARM button on c1ass main medm screen.
Scripts configure the servo to align the cavity and then save computed offsets. If everything goes right, no tuning of the servo is needed.
Call TRANS MON script to monitor YARM transmission, then "ON" script for aligning the cavity, then "SAVE OFFSETS" and "OFF" for turning the servo off.
ON script:
- sets demodulation gains that I used during OL measuments
- sets LO oscillator frequency and amplitude for each optic
- sets demodulation phase rotation
- sets sensing matrix
- sets servo gains for each degree of freedom
- sets up limits for servo outputs
- gently increases the common gain from 0 to 1
SAVE OFFSETS script:
- holds servo outputs
- sets servo common gain to 0 and clears outputs
- reads old optics DC offsets
- computes new DC offsets
- writes new offsets to C1:SUS-OPTIC_ANGLE_OFFSET channel
- holds off servo outputs
OFF script:
- sets LO amplitudes to 0
- blocks servo outputs
Notes:
SAVE OFFSET script writes DC offsets to C1:OPTIC_ANGLE_OFFSET channel, not to _COMM channel!
LIMITS are set to 500 for cavity axis degrees of freedom and to 0.5 for input steering. Usually servo outputs is ~30% if these numbers. But if something goes wrong, check this for saturation.
DC offsets of all 8 degrees of freedom are written one by one but the whole offset of put at the same time. This works fine so far, but we might change it to ezcastep in future. |
7790
|
Wed Dec 5 03:25:32 2012 |
Den | Update | ASC | dithering |
I wanted to center beams on the XARM cavity mirrors using c1ass model. I've run XARM setup script and then turned dithering on. Cavity went out of lock because calculated offsets were incorrect.
I was using TRX only and calculated rotation phases for ITM and ETM pitch and yaw. For this I've added a low pass filter into Q-quadrature bank and made DC value at the output to be zero by adjusting the phase. I've put gains (+1 or -1) in the I quadrature such that output was positive.
Then I've set the sensing matrix to identity as I decided to deal with separate loops. Of coarse, they are mixed by the cavity, but at least in the control system they are distinguished. Old matrix summed error signals in one degree of freedom from both mirrors. This makes more sense but still not precise because coils are not ideally diagonalized.
Then I've adjusted gains for control loop for every degree of freedom. I've ended up with (0.1; 0.1; 0.1; -0.1). I did not use large gains as I wanted slow convergence because of the demodulation low-pass filter time response constant of 20 sec. Coupling (I quadrature) was reduced from (0.9, 0.3, 2.4, 1.2) to zeros (0-0.1) in ~5 minutes, TRX increased from 0.73 to 0.90.
There is one thing that I do not understand yet. I think controllers should minimize angle -> length coupling that is proportional to I-quadrature if phase is correct. But phase depends on alignment and when the feedback loops are on, phase drifts. I could see it during my measurement. But I did not find any script that smoothly tunes phase such that coupling is all in I-quadrature. I guess this is not hard to set a gradient descent algorithm that minimizes DC value of Q-quadrature. Or how this is usually done? |
1062
|
Tue Oct 21 16:14:42 2008 |
steve | Update | General | divergence of He Ne 1035P |
The ITM oplevs laser diodes are noisy.
They will be replaced by JDS 1035P
SN T8093307 was measured with the beamscanner.
This will able us to calculate the right lenses to get a small beam on the qpd.
** The first column is distance from the front face of the laser in cm.
The second column is beam diameter in the horizontal direction in microns.
The third column is the beam diameter in the vertical direction in microns. (edit by Rana) |
Attachment 1: 1035p_divergence.png
|
|
7431
|
Mon Sep 24 10:27:50 2012 |
Steve | Omnistructure | General | do not leave stuff on optical table tops |
The SP table was found open this morning. Please, do not make optics dirty!
I cleaned up the tops of the SP table.
Stop storing your junk, boxes, laptops, etc. on the optical tables. This includes the big SP table. Please move all of that junk into racks or shelves, etc. |
7563
|
Wed Oct 17 08:01:54 2012 |
Steve | Update | General | do not leave op-table open |
ETMX optical table was left open. Burned toast award goes to ......? |
7565
|
Wed Oct 17 08:05:10 2012 |
Den | Update | General | do not leave op-table open |
Quote: |
ETMX optical table was left open. Burned toast award goes to ......?
|
me |
6389
|
Fri Mar 9 10:17:06 2012 |
steve | HowTo | PEM | do not leave tables open |
Type: How not to
Please do not leave optical tables open! You will be held responsible for creating dirty optics. |
Attachment 1: P1080547.JPG
|
|
11451
|
Tue Jul 28 14:58:59 2015 |
Steve | Update | General | do not place anything on optical table tops |
Specially heavy items: old analoge scope or hardware loaded boxes......etc
The table cover section holding crossbars are not evenly spaced.
You have to center each cover section on the cross bar so it is supported on both sides !
I will clean up on this table tomorrow
|
Attachment 1: tabletops!.jpg
|
|
Attachment 2: tabletops!!.jpg
|
|