Since Nodus is a Solaris machine it can barely handle doing the ImageMagick commands (such as convert and import). I removed the auto MEDM snapshot routine from it
awhile ago and I think the rate of ELOGD crashes has decreased, although its not definitive.
The snapshots have now been re-actived to run on MAFALDA, after I fixed the absolute pathnames in the scripts and installed (via yum) the packages that mafalda
needed to run this (Xvfb, openmotif, compat, etc.). The snapshots web page is now refreshing by itself and the statScreen/cronjob.sh is running on mafalda 5x per hour.
We need more organized MEDM screens. Let's use macro.
What I did:
1. Edited /opt/rtcds/userapps/trunk/sus/c1/medm/templates/SUS_SINGLE.adl using replacements below;
sed -i s/#IFO#SUS_#PART_NAME#/'$(IFO)$(SYS)_$(OPTIC)'/g SUS_SINGLE.adl
sed -i s/#IFO#SUS#_#PART_NAME#/'$(IFO)$(SYS)_$(OPTIC)'/g SUS_SINGLE.adl
sed -i s/#IFO#:FEC-#DCU_ID#/'$(IFO):FEC-$(DCU_ID)'/g SUS_SINGLE.adl
sed -i s/#CHANNEL#/'$(IFO):$(SYS)-$(OPTIC)'/g SUS_SINGLE.adl
sed -i s/#PART_NAME#/'$(OPTIC)'/g SUS_SINGLE.adl
2. Edited sitemap.adl so that they open SUS_SINGLE.adl with arguments like
instead of opening ./c1mcs/C1SUS_MC1.adl.
3. I also fixed white blocks in the LOCKIN part.
Now you don't have to generate every suspension screens. Just edit SUS_SIGNLE.adl.
Things to do:
- fix every other MEDM screens which open suspension screens, so that they open SUS_SINGLE.adl
- make SUS_SINGLE.adl more cool
Very nice, Yuta! Don't forget to commit your changes to the SVN. I took the liberty of doing that for you. I also tweaked the file a bit, so we don't have to specify IFO and SYS, since those aren't going to ever change. So the arguments are now only: OPTIC=MC1,DCU_ID=36. I updated the sitemap accordingly.
Yuta, if you could go ahead and modify the calls to these screens in other places that would be great. The WATCHDOG, LSC_OVERVIEW, MC_ALIGN screens are ones that immediately come to mind.
And also feel free to make cool new ones. We could try to make simplified version of the suspension screens now being used at the sites, which are quite nice.
Actually, it looks like we're not quite done here. All the paths in the SUS_SINGLE screen need to be updated to reflect the move. We should probably make a macro that points to /opt/rtcds/caltech/c1/screens, and update all the paths accordingly.
I fixed the problem Jamie pointed out in elog #6657 and #6659.
What I did:
1. Created the following template files in /opt/rtcds/userapps/trunk/sus/c1/medm/templates/ directry.
To open these files, you have to define $(OPTIC) and $(DCU_ID).
For SUS_SINGLE_TO_COIL_X_X.adl, you also have to define $(FILTER_NUMBER), too. See SUS_SINGLE_TO_COIL_MASTER.adl.
2. Fixed the following screens so that they open SUS_SINGLE.adl.
We officially are *failures* at svn-ing our scripts and screens. This is NOT OKAY. I checked in a few things, since there were already folders on the svn, but many things don't have folders created. It's a hot mess. We need to get our shit together, and become as disciplined about MEDM and scripts as we have been (under Jamie's watchful eye) of the simulink models.
I'm not going to start fixing it all right now. It might not even happen at this point until after GWADW, but it needs to happen.
In order to unify the theme for MEDM screens, I'll have to make many combinations of rectangles, polygons, and invisible related-screen buttons.
Everytime I change the size of the block, I have to modify the size of this combination. It is impossile for me.
So, I made a script to replace a certain type of rectangles with a combination of the objects with the same (or related) size.
The script is here (so far)
cat C1LSC_OVERVIEW_ADC.adl | ./rect_replace.py > tmp.adl
The script takes stdin and spits the result to stdout. It parses a given ADL file. When a "rectangle" object
with Channel A with a string "REPLACE_XXXX", it replaces it with the objects predefined as "XXXX".
So far, there is only "TYPE1" for the predefinition. It actually takes another argument to specify the
path of the related screen to open when the block is clicked. The path should be filled in "Channel B"
slot of the original rectangle. (See Attachment 1)
The "TYPE1" style has the function calls as indicated below. place_rect is to place a rectangle object. You can
specify the filling method and color. place_rel_disp is to place an invisible button with the link to the specified
path by strOpt. place_polygon places a polygon. The cordinate array for the polygon is described with
the relative positions from the specified position.
place_rect(rect_x-4, rect_y-4, rect_w+7, rect_h+7, "outline", 0) # outline white box
place_rel_disp(rect_x, rect_y, rect_w, rect_h, strOpt, 0, 14) # invisible button
place_rect(rect_x, rect_y, rect_w, rect_h, "fill", 3) # main gray box
place_rect(rect_x+3, rect_y, rect_w-6, 3, "fill", 0) # top white rim
place_rect(rect_x, rect_y, 3, rect_h-3, "fill", 0) # left white rim
place_rect(rect_x+rect_w-3 , rect_y, 3, rect_h, "fill", 10) # right gray rim
place_rect(rect_x, rect_y+rect_h-3, rect_w-3, 3, "fill", 10) # bottom gray rim
place_polygon(rect_x+rect_w-3,rect_y,3,3, "fill", 0, [[0,0],[2,0],[0,2],[0,0]]) # top-right white triangle
place_polygon(rect_x,rect_y+rect_h-3,3,3, "fill", 0, [[0,0],[2,0],[0,2],[0,0]]) # bottom-left white triangle
rect_replace.py script was updated.
This sounds crazy but it was actually quite easy as I could use a free font data.
Now new type "CHAR" (i.e. REPLACE_CHAR) was added. This replaces the string in Channel B slot
into 5x7 dot matrix representation of the string with the specified color. The dot size is derived from the
height of the original rectangular object.
MI with X arm length stabilized off resonance and Y arm length stabilized at resonance using ALS succeed, but I couldn't bring X arm to IR resonance. This maybe because of too much phase fluctuation. I will calculate it later.
What I did:
1. Brought X arm to IR resonance.
2. Brought Y arm to IR resonance.
3. Brought X arm to off-resonance.
4. Brought Y arm to off-resonance. (1-4 are to play with arms)
5. Locked MI in dark fringe using AS55_Q as error signal and BS as actuator.
6. Brought Y arm to IR resonance. This flips sign, so MI lock will be bright fringe.
7. Brought X arm to IR resonance. This destroys MI lock.
Below is the plot showing what I did
I also tried to lock MI after both arms are stabilized at resonance, but it failed, too.
MI + X arm ALS fails. I think this is from too much BS motion to compensate phase fluctuation of arm reflected beam.
MI + Y arm ALS fails when I want to lock in dark fringe. Only bright fringe works.
New compact MEDM screen for ALS:
It has (almost) everything you need for ALS. It lives in /opt/rtcds/caltech/c1/medm/c1gcv/master/C1ALS_COMPACT.adl.
- Button for turning on/off ALS. It even does "clear history"!
(light brown button "ON plus", "ON minus", "OFF"; runs /opt/rtcds/caltech/c1/scripts/ALS/easyALS.py; Currently, you have to guess the sign of gain. Ctrl-C if the sign was wrong. It will be nice if script can handle this. Use lockin to detemrine the sign?)
- Button for finding IR resonance.
(pink button "IRres"; runs /opt/rtcds/caltech/c1/scripts/ALS/findIRresonance.py)
- Button for bringing arm length to off-resonance.
(pink button "-10", "+10"; steps +/- 10 deg offset)
- Button for toggling green shutters.
(green button "shutter"; runs /opt/rtcds/caltech/c1/medm/c1gcv/cmd/toggle(X|Y)Shutter.py)
- Button for switching monitors.
(grey button "Video (X|Y)arm"; runs /opt/rtcds/caltech/c1/scripts/general/Video_(X|Y)arm.csh)
- Slider for changing temperature of end lasers. You can also open temperature servo screens from orange "(X|Y)SLOW" button.
EDIT by KI on 15/5/2011:
The calibration of MICH error signal was wrong by a factor of 2.
The open loop transfer functions of the Michelson locking have been measured.
The purpose of this excise is to calibrate the coil-magnet actuators on BS and ITMs.
The estimated actuation coefficients are :
BS = 3.69e-08 [m/counts]
ITMX = 8.89e-09 [m/counts]
ITMY = 9.22e-09 [m/counts]
I guess the accuracy is something like 5 % because the calibration of the MI optical gain relies on a peak-to-peak measurement.
A next step is to calibrate the PRM actuator and the PRC optical gain.
The Michelson was locked with different actuators in every measurement. I locked the Michelson to the dark fringe with BS, ITMX and ITMY in each time.
The measured peak-to-peak value in the error signal was 20.2 counts, corresponding to a sensor gain of 5.96e+07 [counts/m]. Note that I used AS55_Q for the locking.
After locking the MI I took the open loop transfer function by injecting broadband noise from DTT.
Then the data were fitted coarsely. In the fitting I used the resonant frequencies that Leo reported recently (http://blue.ligo-wa.caltech.edu:8000/40m/Mechanical_Resonances).
The Q-values are assumed to be 5 because of the local dampings. As a result the fitting gives us the actuator coefficients.
Here is a plot showing the measured open loop transfer functions. The solid lines represent the fittings.
(by the way)
- The delay time including ADC/DAC and RFM looks quite big. According to the fitting the delay is something like 600 usec.
This is about two times larger than the one reported before (see this entry). I will re-measure it with empty filters.
I've got confused
1) Are these the DC responses of the coils? If that is true, we need to specify the resonant frequency of each suspension to get the AC response.
2) Are these the AC responses well above the resonant freqs? In that case, The responses should be x.xxx / f^2 [m/counts]
BS = 3.69e-08 [m/counts]
ITMX = 8.89e-09 [m/counts]
ITMY = 9.22e-09 [m/counts]
I tried to lock FPMI using ALS, but I could not take care of ALS for both arms + MI. So, I decided to try one arm + MI.
I don't know why, but I couldn't make it. We need investigation.
Procedure I took:
1. Align FPMI.
2. Misalign ETMY.
3. Press CLEAR HISTORY for C1:ALS-BEATY_FINE_PHASE filter module.
Are there any command to do this?
4. Stabilize X arm length.
I made a script for turning on ALS servo nicely. It currently lives in /users/yuta/scripts/easyALS.py. You have to specify the arm(X or Y) and sign of the gain. It needs to be refined.
5. Sweep the offset and stabilize X arm lenth to IR resonance.
(Ran /opt/rtcds/caltech/c1/scripts/ALS/findIRresonance.py Xarm)
6. Tried to lock MI. I tried to do this by feeding back the signal to BS or ITMs. Both worked fine when ALS holds X arm to IR off-resonance, but I couldn't lock MI when ALS holds X arm to IR resonance. This may come from too much phase fluctuation from X arm reflection. We should investigate this.
Handing off the servo from ALS to LSC:
I made a script to do this. It just decreases ALS gain and increases LSC gain with 30 sec ramp time. It needs to be refined, so it currently lives in /users/yuta/scripts/handofftoLSC.py. It worked fine without loosing IR transmission.
Current stabiliy of the ALS servo is not enough. It doesn't stay for more than ~ 10min. I suspect this is from frequency servo of end lasers losing lock, or beat signals being too small for the beat box because of intensity fluctuation of green transmission. We definitely need to align end greens, but it is painful.
I calculated a noise budget for the MICH using AS55 as a sensor. The calculation includes closed-loop TF calculations.
The notebook and associated files can be found on https://git.ligo.org/40m/bhd/-/blob/master/controls/compute_MICH_noisebudget.ipynb.
Attachment 1 shows the loop diagram I was using. The equation describing the steady-state of the loop is
, where G is the adjacency matrix given by
First, the adjacency matrix G is constructed by stitching the small ABCDE matrices together. Once the inverse of (I-G) is calculated we can simply propagate any noise source to and then calculate to estimate the displacement of the optics.
Attachment 2 shows the calculated noise budget together with Yuta's measurement.
All the input and output electronics are clumped together for now. Laser noise is irrelevant as this is a heterodyne measurement at 55MHz.
It seems like there is some mismatch in the calibration of the optical gain between the measurement and model. The missing noise at 3-30Hz could be due to angle-to-length coupling which I haven't included in the model.
I fixed some mistakes in the budget:
1. The BS pendulum resonance was corrected from 0.8Hz to 1Hz
2. Added missing X3 filter in the coil filters
3. Optical gain is now computed from MICH to AS55 instead of BS to AS55 and is calculated to be: 9.95e8 cts/m.
4. Coil driver gain is still unmeasured but it is found to be 1.333 to make the actuation calibration from BS to MICH match the measurement (see attachment 1).
Attachment 2 shows the resulting MICH OLTF.
Laser noise was added to the budget in a slightly ad-hoc fashion (will fix later): Yuta and I measured MC_F and computed MC_F*(Schnupp asymmetry)/(Laser frequency). Attachment 3 shows the updated noise budget.
During the Sim meeting today, I added parts to the ASS model so that we can also dither the BS and minimize the power at AS.
ASS screen has been updated.
Model changes required a new sender from LSC for ASDC, so both LSC and ASS were compiled, installed and restarted. Also on LSC, I added AS110 I&Q to DQ channels, since we haven't been recording them in the past.
I have done a quick trial in MICH-only lock, and it seems to work. Gain of 10 for both Pit and Yaw servos.
MICH displacement sensitivity was compared under AS55_Q locking and BHD_DIFF locking.
Sensitivity with BHD was better by more than an order of magnitude due to smaller sensing noise.
During the measurement, LO phase fluctuation was ~13 deg RMS.
- MICH was first locked with AS55_Q, no offset, and then handed over to BHD_DIFF after LO phase locked. FM2, FM3, FM4, FM5, FM6, FM8, FM10 on, C1:LSC-MICH_GAIN=-3 gave UGF of around 80 Hz.
- LO PHASE was locked with BH55_Q, no offset. FM5, FM8 on, C1:HPC-LO_PHASE_GAIN=-2 feeding back to LO1 gave UGF of around 40 Hz.
- Attachment #1 shows the OLTFs.
- Sensitivity was estimated using measured actuator gains and optical gains. Following numbers are used.
C1:LSC-AS55_Q_ERR to MICH 1.08e-9 counts/m (measured at 311.1 Hz today)
C1:HPC-BHDC_DIFF to MICH 1.91e-9 counts/m (measured at 311.1 Hz today)
BS : 26.54e-9 /f^2 m/counts (40m/17285)
LO1 : 26.34e-9 /f^2 m/counts (40m/17285)
These numbers were also reflected to C1:CAL-MICH_CINV and C1:CAL-MICH_A.
C1:CAL-MICH_A_GAIN = 0.5 was used to take into account of LSC output matrix of MICH to BS being C1:LSC-OUTPUT_MTRX_8_2=0.5.
- Attachment #2 shows the displacement spectrum of MICH (top) and LO PHASE (bottom). Brown MICH curve is when locked with AS55_Q and black MICH curve is when locked with BHD_DIFF. RMS of original and in-loop LO PHASE was estimated to be
Original LO phase noise: 393 nm RMS (266 deg RMS)
In-loop LO phase noise: 19.4 nm RMS (13 deg RMS)
- Improve LO phase loops to reduce LO phase noise
- Estimate LO phase noise contribution to MICH sensitivity
Sensing matrix measurements at different LO phases were performed under LO phase locked to both BH55_Q and BH55_Q+MICH dither.
We confirmed that BH55_Q+MICHdither can lock LO phase to around maximum MICH sensitivity for BHD_DIFF.
- MICH was lockied using AS55_Q feeding back to BS, at dark fringe. Notch at 311.1 Hz was turned on. C1:LSC-MICH_GAIN=-6 (lowered to reduce BS DAC saturation).
- LO PHASE was locked using BH55_Q, feeding back to LO1. FM2, FM5, FM8 on. C1:HPC-LO_PHASE_GAIN=+/-2.
- LO PHASE was also locked using BH55_Q+MICHdither. BS was dithered with C1:HPC-BS_POS_OSC_CLKGAIN=4000 at 281.768 Hz (2nd notch of ELP80 used for demodulation). Feeding back to LO1. FM5, FM8 on (no LF boost). C1:HPC-LO_PHASE_GAIN=+/-20.
-- Note that we could not increase the dither amplitude more as BS DAC starts to saturate (we are using BS for MICH loop, sensing matrix measurement, and audio dither; see 40m/17343).
Sensing martix measurements
- Lines are injected to BS @ 311.1 Hz with amplitude of 1000, LO1 @ 147.1 Hz and AS1 @ 141.79 Hz with amplitude of 5000.
Estimating LO phase
- Estimation of LO phase was done in the same way described in 40m/17287. We used measured sensitivity of BH55_Q for LO1 at BH55_Q zero crossing (-1.42e9 counts/m) to estimate LO phase offset from BH55_Q zero crossing.
- In BH55_Q+MICHdither case, LO phase was flipped using the following equation when C1:HPC-LO_PHASE_GAIN is minus (to have consistend LO phase dependence with BH55_Q locking. NEEDS CHECK).
LOphase = 180 - arcsin(BH55_Q/A)
- Attachment #1 shows the sensitivity of AS55, BH55, BHDC_DIFF/SUM to BS (upper panel), LO1 (middle) and AS1 (lower), under LO phase locked to BH55_Q. The upper plot is the same plot as 40m/17287. As we can see, "0 deg" in the x-axis is not the optimal phase for BHDC_DIFF to have maximum MICH sensitivity. "0 deg" is the optimal point in terms of BH55_Q sensitivity to LO1/AS1, as we tuned the demodulation phase to maximize it.
- Attachment #2 shows the same plot, under LO phase locked to BH55_Q+MICH dither. Sensitivity of BH55_Q to MICH crosses zero at round these measurements, as we are zero-ing it with this locking scheme. Around these LO phases, sensitivity of BHDC_DIFF to MICH is maximized as expected. Also, sensitivity of BHDC_DIFF to LO1/AS1 is minimized, as expected (assuming residual MICH offset and contrast defect are small).
- Attachment #3 is the combined data from #1 and #2. Data points from BH55_Q locking are marked with "o" and those from BH55_Q+MICH dither locking are marked with "x" (they have larger uncertainties in LO phase). Both measurements are somewhat inconsistent in some channels (BS to BHDC_DIFF and LO1/AS1 to BH55_Q). Needs further investigation.
- Dashed lines are from scipy.optimize.curve_fit using the following fitting function.
def fitfunc(x, a,b,c):
- Lock MICH with BHDC_DIFF under LO phase locked to BH55_Q+MICHdither
- Estimate LO phase noise contribution to MICH displacement sensitivity
- Improve LO phase loop
- Try audio+audio dither
- Move on to FPMI
- Move on to 44MHz
- Estimate the amount of residual MICH offset and contrast defect from these plots
Here's a plot using same dataset from yesterday, but x-axis in raw BH55_Q data, not calibrated into degrees in LO phase.
This way you are free from calibration error in BH55_Q data to LO phase.
Elliptic fit is done using least squares.
dphi is calculated using the following equation where (ap, bp) are the semi-major and semi-minor axes, phi is the rotation of the semi-major axis from the x-axis.
dphi gives you LO phase at zero-crossing.
For example, the top plot says that the sensitivity of BH55_Q to BS crosses zero at "-133.92 deg," which means BH55_Q+MICHdither can lock LO phase at -134 deg or 46 deg.
The top plot also says that the sensitivity of BHDC_DIFF to BS crosses zero at "127.45 deg," which means BHDC_DIFF sensitivity to MICH maximizes at 38 deg or 217 deg.
The middle plot says that the sensitivity of BH55_Q to LO1 crosses zero at "90.09 deg," which means BH55_Q+LO1dither can lock LO phase at 90 deg or -90 deg, and BH55_Q(no dither) can lock LO phase at 0deg or 180 deg (by definition).
- Use also BH55_Q+LO1/AS1dither to scan around 90 deg.
In order to do so, I took a swept sine measurement with a few points between 50 Hz and 500 Hz. The transfer function between C1:LSC-MICH_OUT_DQ and the Oplev Servo Output point (e.g. C1:SUS-BS_OL_PIT_OUT etc) was measured. I played around with the excitation amplitude till I got coherence > 0.9 for the TF measurement, while making sure I wasn't driving the Oplev error point too hard that side-lobes began to show up in the MICH control signal spectrum.
I was also looking at the Oplev servo shapes and noticed that they are different for the ITMs and the BS (Attachment #1). Specifically, for the ITM Oplevs, an "ELP15" is used to do the roll-off while an "ELP35" is employed in the BS servo (though an ELP35 also exists in the ITM Oplev filter banks). I got lost in an elog search for when these were tuned, but I guess the principles outlined in this elog still hold and can serve as a guideline for Oplev loop tweaking.
Coil driver noise estimation to follow
I think the most important next two items to budget are the optical lever noise, and the coil driver noise. The coil driver noise is dominated at the moment by the DAC noise since we're operating with the dewhitening filters turned off.
GV 10 May 12:30pm: I've uploaded another copy of the NB (Attachment #3) with the contributions from the ITMs and BS separated. Looks like below 100Hz, the BS coupling dominates, while the hump/plateau around 350Hz is coming from ITMX.
That's a good find.
The actuator (pendulum) gains for the Beam Splitter and the two ITMs were measured to be:
BS: 9.54 +/- 0.05 nm/ct [100 ohm series resistor in coil driver board]
ITMX: 2.44 +/- 0.01 nm/ct [400 ohm series resistor in coil driver board]
ITMY: 2.44 +/- 0.02 nm/ct [400 ohm series resistor in coil driver board]
Counts here refers to DAC counts at the output of the coil filter banks (as opposed to counts at the LSC servo output). The dominant (systematic) uncertainty (which isn't quoted here) in this measurement is the determination of the peak-to-peak swing of the dark port sensor, AS55_Q. I estimate this error to be ~1ct/33cts = 3%. These values are surprisingly consistent with one another once we take into account the series resistance.
The last time this was done, we used ASDC to do the measurement. But I don't know what signal conditioning ASDC undergoes (in PD or in readout electronics). In any case, in my early trials yesterday, ASDC was behaving unpredictably. So I decided to do redo the measurement.
[Attachment #1]- Flowchart describing the calibration procedure.
[Attachment #2] - AS55_Q output while the Michelson was freeswinging. I had first aligned the ITMs using ASS. The peak-to-peak value of this corresponds to . So we know AS55_Q in terms of cts/m of MICH displacement.
[Attachment #3] - Magnitudes of transfer function from moving one of the MICH optics, to the now calibrated AS55_Q. Fits are to a shape , with being the fitted parameter. Coherence during the measurement is also plotted.
 - http://www.phys.ufl.edu/~bernard/papers/CQG20_S903.pdf
Masayuki was able to hold both arms off-resonance with ALS long enough for me to lock the PRMI (arms still held off resonance), and take a set of transfer functions.
MICH gain is still -2.0, PRCL gain is still 0.070, which, with the ETMs misaligned, gave me UGFs of 70 for MICH and 180 for PRCL.
Now, however, with the ETMs aligned, but arms held off resonance with ALS, the UGFs have been lowered by a factor of 2 in frequency! What is doing this?? MICH is now 40 Hz, and PRCL is now 80 Hz.
We measured the MICH and PRCL loops for several arm powers, and there was no change, at least until the arms were both resonating with powers of ~4 .
After misaligning the ETMs, I remeasured the loops, and the UGFs went back up to where they started.
I am now taking transfer functions of the MICH and PRCL loops to make sure that we have the gains about right.
I have set the PRCL UGF to be about 180Hz, and the MICH UGF to be about 70 Hz.
This is with locking on REFL165 I&Q, with MICH gain of -2.0 and PRCL gain of 0.70 .
The PRCL loop only has about 30 degrees of phase margin, and is not near the top of its phase bubble. During the day, I need to look at why we don't have more phase near 200 Hz.
I briefly ran a Optickle code to see how the PRC macroscopic length screws up the sensing matrix in the PRMI configuration.
Especially I focused on the optimum demodulation phases for the MICH and PRCL signals to see how well they are separated in different PRC length configuration.
It seems that the demod phases for MICH and PRCL are always nicely separated by approximately 90 degree regardless of how long the PRC macroscopic length is.
If this is true, how can we have such a strange sensing matrix ??
We took a bunch of measurements. Transfer function and power spectrum using DTT. They will be used to obtain calibrated MICH in-loop and free-running noise. Detail Elog with plots will follow very soon.
Estimation of free-running MICH displacement noise:
Method 1. Assuming AS55_Q_err to be a linear sensor, as shown in (1) of figure below, free-running MICH noise (V_d) can be estimated by measuring V_err and the OLTF G. H can be estimated by using method explained in elog
Method 2. Considering that the AS55_Q signal might be distorted or saturated, method 1 may not be precise. In method 2, we will use the ASDC as the sensor (S' in (3)) instead and lock MICH using ASDC in mid-fringe to calibrate the ITM actuators.
What we did:
1. Estimate H' from free-running ASDC signal (bright to dark fringe).
2. With MICH locked on ASDC, give an excitation signal to C1:LSC-SUS_XXXX_EXC (XXXX could be ITMX or ITMY) and measure R'. [(3) of schematic]
3. Measure OLTF of MICH locked on ASDC (hence estimate L). [(3) of schematic]
4. With MICH locked on AS55_Q, give an excitation signal to C1:LSC-SUS_XXXX_EXC (XXXX could be ITMX or ITMY) and measure R1. [(2) of the schematic]
OLTF of MICH locked on ASDC
Actuator excitation to MICH transfer function (MICH locked using ASDC)
* y axis (no units)
Actuator excitation to MICH transfer function (MICH locked using AS55Q)
Free-running MICH noise
1. By using the second sensor, we also eliminate the effect of the MICH servo loop locked on AS55_Q (Estimated V_d does not depend on G but only on G').
2. The free-running MICH noise is still suppressed at 1Hz. This should be coming from the effect of the UGF of the loop at ~10Hz and the vicinity to the pendulum frequency at 1Hz.
Edit/Masayuki// This noise curve is not collect, especially in low frequency region. We used the measured OLTF for compensating the free running noise, but that is not collect in low frequency region. So we should model the OLTF and fit that into the measured OLTF. We will fix this soon.
For Modelling of the OLTF, I measured the response of the BS suspension. I used the OSEM sensor for measurement. The attatchment1 is the measured TF from C1:SUS-BS_LSC_EXC to C1:SUS-BS_SUSPOS_IN1 with exciting with random force. The measured data was fitted and the resonant frequency is 1.029(±0.005) Hz and quality factor is 12.25 (± 0.2). Additionally I did same measurement for ITMX and ITMY. The attachment 2 and 3 are the results for ITMX and ITMY. Each eigenfrequency and Q are 1.063 (±0.008) Hz and 7.33 (±0.13) (ITMX), 1.022 (±0.005) Hz and 9.41 (±0.09) (ITMY).
After that, I locked the MICH with AS55, and measured the PSD of error signal. I compensated the that PSD by the modelled OLTF with this suspension TF and the servo TF. The result is in attachment 4. Above 1 Hz it is quite close to the previous data by Keiko (elog#6385) But below 1 Hz there is a large dip. The error signal has also this dip. I looked for a integral filter between 0.2 Hz and 1 Hz, but I connot find a such filter. And when I locked MICH with using ASDC, there was same dip at same frequency. I don't think it's true free running noise, and I will try to fix it.
I completely forgot to mention that I fitted the modelled OLTF into the measured OLTF. I used the fitted OLTF for compensation.
I made sure the yesterday's result was collect. I measured not only the error signal but also the feedback signal. And I compared those signals and measured the TF in order to confirm my servo filter model is not wrong.
The reason of dip at low frequency region is maybe the coherence of the ground motion. The ITMX and ITMY suspensions are put close. If ground motion has coherence, the mirrors move in common mode. That will suppress the free running noise. The attachment is the free running noise of Sep 13rd and Sep 12nd.
There doesn't seem to be any coherence among the different directions of ground motion (as expected from seismic theory), so I am suspicious of such a low MICH noise.
I found the bug in my calibration code, and I fixed it.
And I put the white Gaussian noise on the BS actuator, and calibrated to the differential length with my new code. We already know the efficiency of the actuator(elog#8242), so I could estimate how much I put the disturbance and compare the two values. The result is in attachment 1. x_exc means the value of the disturbance.
You can see the PSD of the differential motion decrease factor of 3 by decreasing the disturbance by factor of 3 (except for the region from 1 Hz to 5 Hz), and the value at lower frequency than resonant frequency of the suspension is comparable to the value estimated with the actuator efficiency. Also there is no dip when I put the larger disturbance than free running noise.
Between 1 Hz and 5 Hz there seems to be a resonance of something (seismic stack?). And also on resonance of the suspension there seems to be some other noise source. One possibility is the active damping of each suspension.
Actually still there seems to be a dip between 0.1 Hz and 1 Hz. But if you consider about those effect, I think this result doesn't seems to be so strange. But according to the documentation of LIGO document-T000058, which I found the seismic motion in 40 m Lab is written in, the seismic motion at 0.1 Hz is 10^-7. I'm not sure about this factor of 10 difference. One possibility is the geophone doesn't have good sensitivity at low frequency. I'm still not sure this result is really collect.
[Keiko / Kiwamu]
Update on the MICH characterization:
This is ridiculous.
How many RGs can I fit into one button???
We were locking the PRMI, but it is very rumbly today. I reduced the MICH servo gain from -0.8 to -0.4 , and things seem to be better. Now my MICH UGF is about 60Hz.
This afternoon, I was toying around with reducing either the CARM or DARM offsets (so, put in a CARM offset, leave DARM zero, lock the PRMI, then reduce CARM offset to zero. Or, put in a DARM offset, leaving CARM offset zero, lock the PRMI, then reduce the DARM offset to zero).
When looking at the data, I see that the MICH error signal gets fuzzier when the arms get close to resonance. (Note here that because I forgot to zero the carm offset before finding the resonances, -3 is my zero point for this plot and the next.)
Here is a zoom of the last piece of this time series, but with both TRX and TRY plotted (along with POPDC, CARM_ERR and DARM_ERR), where you can see that I had a momentary power buildup of > 100 transmission counts, which is about 20% of our final expected power.
Here is a different time series, showing a reduction of the DARM offset, and you can see that as the offset approaches zero, the MICH error signal gets noticeably more fuzzy. Somewhere near the 240 second mark, I lose PRMI lock.
I guess this is normal. DARM has (almost) the same effect of MICH on the corner interferometer signals, just increased in amplitude by the arm cavity amplification. When the arm is out of resonance, DARM is almost completely depressed and it is not affecting MICH at all. On the other hand, when the cavities are exactly at resonance, DARM signal is amplified w.r.t. MICH by the cavity gain (2F/pi).
Since DARM is still controlled with ALS, it is probably noisy. The closer to resonance you move the cavities, the more ALS noise in DARM will affect MICH.
When looking at the data, I see that the MICH error signal gets fuzzier when the arms get close to resonance. (Note here that because I forgot to zero the carm offset before finding the resonances, -3 is my zero point for this plot and the next.)
- We aligned MICH and were successfully locked MICH using AS55Q. The other mirrors were misaligned so that the other degrees of freedom didn't exist. AS55 was fed back to BS. The f2a filters on BS suspension were required to lock, because the pos feedback was unbalanced to angle degrees of freedom.
- We tried to lock PRCL next, however, because we aligned the MICH and the REFL beam paths were changed, REFL PDs didn't have the light anymore. The REFL paths were modified now, so we will try the PRCL locking next.
- We couldn't confirm REFL55 signals although we alined the REFL paths to REFL55 PD.
Kiwamu, Keiko, Anamaria
We were able to lock PRC using REFL11I after improving the MICH dark fringe a bit (moving BS) and rotating AS55 and REFL11 such that the signal was maximized in the phases we were using. The dark port is not so dark... but the lock is stable.
I had finished the whole REFL path alignment, but I didn't have a good input beam reference at the time, which is why we had to realign the PDs and the camera. We only had strength to realign 11 and 55. Otherwise, we just need to tweak and center beam on 33 and 165, figure out what's up with 55 and be done with the AP table mods. I hope.
MICH was locked with BHD DCPD A-B signal with LO phase controlled.
Locking procedure and configuration was as follows (see Attachment #1).
1. Lock MICH with AS55_Q, with C1:LSC-MICH_GAIN=-3, FM4, FM5, FM8, FM10 (boost filters are turned off to have more phase margin).
2. Lock LO PHASE with BH55_Q, with C1:HPC-LO_PHASE_GAIN=6, FM5, FM8, feeding back to AS1.
- C1:LSC-BH55_PHASE_R=136.136 deg was tuned to minimize I when AS-LO is fringing with MICH locked with an offset of 50 (we first thought 136.136 deg - 90 deg is better from 40m/17216, but today, 136.136 deg seems to work better; Reason needs to be investigated).
- We are supposed to use C1:HPC-BH55_Q_AS1_DEMOD_I_OUT to control the LO phase to give maximum MICH signal on BHD_DIFF (40m/17170), but somehow BH55_Q without audio dither was OK to get MICH signal. Line injection at 211.1 Hz on BS was seen in BHDC_DIFF (and AS55_Q), even if we use BH55_Q to lock LO PHASE (see Attachment #2; MICH_B is BHDC_DIFF and MICH_A is AS55_Q) or BH55_Q_AS1_DEMOD_I to lock LO PHASE (with both signs). Reason needs to be investigated.
- Audio dither was done using AS1 with excitation of 15000 counts at 281.79 Hz. C1:HPC-BH55_Q_AS1_DEMOD_PHASE=60 deg was tuned to minimize Q with injection of line at 13 Hz using LO1.
3. Handed over MICH lock from AS55_Q to 0.66 * C1:LSC-DCPD_A - 1 * C1:LSC-DCPD_B. This was done by using C1:LSC-MICH_A and MICH_B gains. C1:LSC-MICH_A_GAIN=1 was handed over to C1:LSC-MICH_B_GAIN=-1.
- 0.66 * A - B was tuned so that BHDC_DIFF will be zero (as it supposed to be with MICH offset of zero).
- AS55_Q and BHDC_DIFF had roughly the same optical gain at 211.1 Hz (actually, BHDC_DIFF had higher optical gain; see Attachment #2), so we used MICH_A_GAIN=1 and C1:LSC-MICH_B_GAIN=-1
- After handing over of BHDC_DIFF, OLTF was measured. UGF was ~70 Hz (Attachment #3).
- Investigate how to get optimal LO phase. With BH55_Q or BH55_Q + audio dithering? How to optimize demod phases?
- How do we balance DCPD A and B? What is the effect of BHD BS being 44:56 not 50:50?
- Measure amount of MICH signal in BHDC_DIFF with different LO phases.
- Improve SNR in BH55.
- It will be much simpler if we send BHDC_SUM and BHDC_DIFF to c1lsc from c1hpc, instead of sending un-unwhitened BHDC_A and B.
I wanted to measure the OLTF of MICH.
What I did:
1. Ran LSC offsets script to zero all the offsets.
2. Restored the IFO configure settings for locking Michelson (locked on AS55Q).
3. MICH wouldn't lock on these settings.
4. The MICH servo was hitting its limits (10000 counts). I checked the filter module. After a little bit of looking into things, I disabled FM3 (0,0:5,5), FM4 (1:10) and FM7 (1:5). FM3 and FM7 were filter modules that were switched ON at the trigger. I set these to manual. Enabling any of the filters (FM3, FM4, FM7) caused MICH to lose lock.
5. MICH gain was changed from -20 to -30. MICH locked with ASDC suppressed to 0.01 counts. I looked at the power spectrum of C1:LSC-MICH_OUT on dtt. //edit: Manasa// The plot (uncalibrated) now shows MICH_OUT power spectrum with MICH PSL shutter closed, free-running MICH and loop-enabled MICH.
6. I then wanted to measure the OLTF of MICH using dtt. A channels were set to C1:LSC-MICH_IN1/C1:LSC-MICH_IN2 and excitation given through C1:LSC-MICH_EXC. But I have not been able to get any good coherence for the measurement as yet.
Today we went through LSC locking mechanics with Gautam and as a "Hello World" example, worked on locking michelson cavity.
We characterized the loop OLTF, found the UGF to be 90 Hz and measured the noise at error and control points.
gautam: one aim of this work was to demonstrate that the "Lock Michelson (dark)" script call from the IFOconfigure screen worked - it did, reliably, after the setting changes mentioned above.
AS path at AP table as re-aligned and confirmed that MICH can be locked with AS55 Q.
What we did:
- Aligned AS55 and AS110 paths at AP table. AS55 was not receiving enough light. AS110 was not receiving light at all.
- Changed AS55 I and Q whitening gain from 3dB to 42dB.
- Zero-ed the RF offsets manually. C1:LSC-AS55_Q_IN1 is having too large offset. When PSL shutter was closed, it reads 13950! Needs investigation.
- Locked MICH with PRM mis-aligned with configurations attached.
- C1:IOO-MC_TRANS_SUM is now stuck at 14009. MC auto locker doesn't work correctly. FIX ME!
I changed the shape of the low pass filter to reduce high frequency sensor noise injection into the MICH control signal. The loop stability isn't adversely affected (lost ~5 degrees of phase margin but still have ~50 degrees), while the control signal RMS is reduced by ~x10. This test was done with the PRMI locked on the carrier, need to confirm that this works with the arms controlled on ALS and PRMI lcoked on sideband.
Here are the OSEM spectrum of MICH suspensions (BS, IX, IY). Bounce and Roll modes are shown on 16 and 23 Hz. The filters for them has been checked.
keiko, kiwamu, Rana
This is the calibrated MICH noise budget on Mar 5. There was a sharp peak at 1Hz and a blob on 3 Hz. The demod phase was adjusted for AS55Q.