Today I worked on getting the ITMY and SRM oplevs back in working order. I aligned the SRM path back onto the QPD. I put excitations on the ITMY and SRM in pitch and yaw and observed the beam at the QPDs to check for clipping. They looked clean from clipping.
We have made a new plan for the ITMY and SRM oplev optical path which uses as few optics as possible. This should help to reduce coupling from vibrations of optics in the oplev path back into the GW channel. To get enough room for the turning mirror into the SRM it might be necessary to move the POY optics a bit nearer to the tank.
All the optcs were excited
Sat Sep 10 02:14:11 PDT 2011
pit yaw pos side butt
UL 0.601 0.680 1.260 -1.009 0.223
UR 0.769 -1.254 -0.175 -0.179 0.581
LR -1.231 0.065 0.566 -0.480 0.252
LL -1.399 2.000 2.000 -1.310 -2.944
SD -0.580 0.868 2.451 1.000 -1.597
pit yaw pos side butt
UL 1.067 0.485 1.145 -0.195 0.929
UR 0.548 -1.515 0.949 -0.142 -1.059
LR -1.452 -0.478 0.855 -0.101 1.051
LL -0.933 1.522 1.051 -0.153 -0.962
SD -0.530 0.903 2.115 1.000 0.142
pit yaw pos side butt
UL 0.842 1.547 1.588 -0.018 1.026
UR 0.126 -0.453 1.843 0.499 -1.173
LR -1.874 -0.428 0.412 0.511 0.934
LL -1.158 1.572 0.157 -0.006 -0.867
SD 1.834 3.513 -0.763 1.000 -0.133
pit yaw pos side butt
UL -0.344 1.280 1.425 -0.024 0.903
UR 1.038 -0.720 1.484 -0.056 -1.161
LR -0.618 -1.445 0.575 -0.040 0.753
LL -2.000 0.555 0.516 -0.007 -1.184
SD -0.047 -0.038 0.986 1.000 0.083
pit yaw pos side butt
UL 1.549 0.655 0.393 0.263 0.997
UR 0.192 -1.345 1.701 -0.063 -0.949
LR -1.808 -0.206 1.607 -0.085 0.952
LL -0.451 1.794 0.299 0.241 -1.101
SD 0.724 0.293 -3.454 1.000 0.037
pit yaw pos side butt
UL 0.697 1.427 1.782 -0.337 0.934
UR 1.294 -0.573 0.660 -0.068 -0.943
LR -0.706 -1.027 0.218 0.016 0.867
LL -1.303 0.973 1.340 -0.254 -1.257
SD 0.369 -0.448 -0.496 1.000 0.456
pit yaw pos side butt
UL 0.872 0.986 0.160 0.054 0.000
UR 0.176 -0.752 0.917 0.018 0.000
LR -1.824 -2.000 1.840 0.002 3.999
LL -1.128 -0.262 1.083 0.038 -0.000
SD 0.041 0.036 -0.193 1.000 -0.001
pit yaw pos side butt
UL 1.042 0.767 0.980 0.131 0.928
UR 0.577 -1.233 1.076 -0.134 -0.905
LR -1.423 -0.640 1.020 -0.146 1.050
LL -0.958 1.360 0.924 0.120 -1.117
SD -0.073 -0.164 -0.702 1.000 -0.056
pit yaw pos side butt
UL 1.595 0.363 1.152 0.166 1.107
UR 0.025 -1.629 1.135 0.197 -0.994
LR -1.975 0.008 0.848 0.105 0.904
LL -0.405 2.000 0.865 0.074 -0.995
SD -0.433 0.400 -1.624 1.000 0.022
Just to find out where we are currently, I plotted the ITMY and SRM oplev spectra along with the ETMY oplev spectra. ETMY seems to be very good, so comparing with this seemed useful, so we know how much we have to improve by. The SRM power spectrum appears to be around 2 orders of magnitude higher than ETMY over pretty much the whole measurement band. The ITMY power spectrum is not so bad as the SRM above about 60Hz. Next thing to do is to check the dark noise level for the ITMY and SRM QPDs.
The title of this post should of course have been " ... - comparison with ETMY" not " ... - comparison with ITMY"
I took a dark noise measurement for the ITMY QPD, for comparison with measurements of the oplev noise later on. Initially I was plotting the data from test points after multiplication by the oplev matrix (i.e. the OLPIT_IN1 / OLYAW_IN1), but found that the dark noise level seemed higher than the bright noise level (!?). Kiwamu realised that this is because at that test point the data is already divided by QPD SUM, thus making the dark noise level appear to be greater than the bright level, since QPD SUM is much smaller for the dark measurements. The way around this was to record the direct signals from each quadrant before the division. I took a power spectrum of the dark noise from each quadrant, then added them in quadrature, then divided by QPD SUM at the end to get an uncalibrated PSD. Next I will convert these into the equivalent for pitch and yaw noise spectra. To calibrate the plots in radians per root Hz requires some specific knowledge of the oplev path, so I won't do this until I have adjusted the path.
I changed some colors on the Summary of Suspension Sensor using my italian creativity.
I wrote a script in Python to change the thresholds for the "alarm mode" of the screen.
The script takes a GPS-format start time as the 1st argument and a duration time as the second argument.
For every channel shown in the screen, it compute the mean value during this time.
The 3rd argument is the ratio between the mean and the LOW threshold. The 4th argument is the ratio between the mean and the LOLO threshold.
Then it sets the thresholds simmetrycally for HIGH and HIHI threshold.
It does that for all channels skipping the Gains and the Off Sets because this data are not stored.
For example is ratio are 0.9 and 0.7 and the mean is 10, thresholds will be LOLO=7, LOW=9, HIGH=11, HIHI=13.
You can run the script on pianosa writing on a terminal '/opt/rtcds/caltech/c1/scripts/SUS/set_thresholds.py' and the arguments.
I already run my program with those arguments: 1000123215 600 0.9 0.7
The time is of this morning at 5:00 for 10 minutes
This is the help I wrote
HELP: This program set the thresholds for the "alarm mode" of the C1SUS_SUMMARY.adl medm screen.
Written by Manuel Marchio`, visiting student from University of Pisa - INFN for the 2011 summer at Ligo-Caltech. Thrusday, 15th September 2011.
The 1st argument is the time in gps format when you want to START the mean
The 2nd argument is the DURATION
The 3rd argument is the ratio of the LOW and the HIGH thresholds. It must be in the range [0,1]
The 4th argument is the ratio of the LOLO and the HIHI thresholds. It must be in the range [0,1]
Example: path/set_thresholds.py 1000123215 600 0.9 0.7
and if the the mean is 10, thresholds will be set as LOLO=7, LOW=9, HIGH=11, HIHI=13
I tried again at plotting the ITMY_QPD noise spectra in for dark and bright operation. Before we had the strange situation where the dark noise seemed higher, but Kiwamu noticed this was caused by dividing by the SUM before the testpoint I was looking at. This time I tried just multiplying by the measured SUM for bright and dark to normalise the spectra against each other. The results looks more reasonable now, the dark noise is lower than the bright noise for a start! However, the dark noise spectrum now doesn't look the same as the one I showed in my previous post.
I checked the dark and bright noise of the SRM oplev QPD. The SRM QPD has a rather high dark level for SUM of 478 counts. The dark noise for the SRM QPD looked a little high in the plot against the bright noise (see first attachment), so I plotted the dark noise with the ITMY QPD dark noise (see second attachment). It seems that the SRM QPD has a much higher dark noise level than the ITMY! In case anyone is wondering, to make these traces I record the data from the pitch and yaw test points, then multiply by the SUM (to correct for the fact that the test point signal has already been divided by SUM). I will check the individual quadrants of the SRM QPD to see if one in particular is very noisy. If so, we/I should probably fix it.
New f2a filters were installed on SRM.
The lock of DRMI should be more stable than last night.
Once the SRM oplev project settles down, I will adjust the f2a filters on SRM too.
I've calculated a suitable collimating telescope for the ITMY/SRM oplev laser, based on the specs for the soon-to-arrive 2mW laser (model 1122/P) available here: http://www.jdsu.com/ProductLiterature/hnlh1100_ds_cl_ae.pdf
Based on the fact that the 'beam size' value and 'divergence angle' value quoted don't match up, I am assuming that the beam radius value of 315um is _not_ the waist size value, but rather the beam size at the output coupler. From the divergence angle I calculated a 155um waist, (zR = 12cm). This gives the quoted beam size of about 316um at a distance of 8.5" away from the waist. This makes me think that the output coupler is curved and the waist is at the back of the laser, or at least 8.5" from the output coupler.
The collimating telescope gives a waist of size 1142um (zR=6.47m) at a distance of 1.427m away from the original laser waist, using the following lens combo:
L1 f=-0.15 @ 0.301m
L2 f=0.3 @ 0.409m
This should be fine to get a small enough spot size (1-2mm) on the QPDs.
I just drew a basic picture of how the ITMX oplev path could be reworked to minimise the number of optics in the path. Only possible problem with this might be the turning mirror onto the ITMX getting in the way of the collimating lenses. Should be easy to solve though. Does anyone know if there is a ITMX pick off beam I should be careful to avoid?
I put the new matricies in from the free swinging test for the: ITMX, ITMY, ETMX, ETMY, PRM, BS
Some of the optics damped okay, but ETMX and BS were not good at all. ETMX was ringing up when I turned on the damping. BS wasn't, but when I gave it a kick, it wouldn't damp. No good.
I tried ITMY, and it was totally fine, with nice damping Qs of ~5. So, I don't know what's going on.
Anamaria is trying a new 4x4 matrix-inverter, so we can look at the inversion of just the face osems. We'll see how it goes.
Since things were crappy, I did a BURT restore, so things are as they were earlier this morning.
The bad medm screens have been fixed. There are no blank fields and all the links are correct.
I've found that a few of the screens still have Whited-Out fields due to naming changes (OL SUM and ALS-> TM OFFSET). I attach a screen shot of it.
The OL screens have the wrong SUM names and the IFO ALIGN screen is pointing to the wrong SUS screens.
First of all I moved the lenses on the ITMY/SRM oplev path to get a smaller spot size on the QPDs. I couldn't get the beam analyzer to work though, so I don't know quite how successful this was. The software brought up the error "unable to connect to framegrabber" or something similar. I don't think the signal from the head was being read by the software. I will try to get the beam analyzer working soon so that we can characterize the other oplev lasers and get decent spot sizes on the QPDs. I searched the elog for posts about the analyzer, and found that it has been used recently, so maybe I'm just doing something wrong in using it.
After this I measured the transfer function for the ITMY oplev yaw. I did a swept sine excitation of the ITMY in yaw with an amplitude of 500, and recorded the OSEM yaw values and the oplev yaw values. This should show a flat response, as both the QPD and the OSEMS should have flat frequency response in the measurement band. This measurement should therefore just yield a calibration from OSEM yaw to oplev yaw. If the OSEM yaw values were already calibrated for radians, we would then immediately have a calibration from oplev yaw values to radians. However, as far as I'm aware, there is not a calibration factor available from OSEM yaw values to radians. Anyway, the TF I measured did not appear to be very flat (see attached plot). Kiwamu suggested I should check the correlation between the OSEM measurements and the oplev QPD measurements - if the correlation is less than 1 the TF is not reliable. Indeed the coherence was poor for this measurement. This was probably because at frequencies above the pendulum frequency, the excitation amplitude of 500 was not enough to cause a measurable change in the optic angle. So, the plot attached is not very useful yet, but I learned something while making it.
In order to estimate the amount of noise that the oplevs are injecting into the GW channel, we first need to calibrate oplev signals in terms of angular change in the optic. I said in my previous post that there wasn't a calibration factor for OSEM values to radians, but I found that Kakeru had estimated this in 2009 - see entry 1413. However, Kakeru found that this was quite a rough estimate, and that it didn't agree with his calibrated oplev values well. He does quote the 2V/mm calibration factor for the OSEM readings though - does anyone know the provenance of this factor? I searched for OSEM calibration and found nothing.
With the new input matrix, it looks like YAW and SIDE are not quite decoupled on ETMX.
It needs one more kick and free swinging test.
- - - details
To see what exactly is going on, I changed the input matrix from the default to the new one, which Jenne computed (#5421) on ETMX.
I started putting the elements of the input matrix from POS through SIDE, one by one.
It seemed that POS and PIT worked fine. However the YAW signal looks containing a lot of the SIDE signal.
Similar to YAW, SIDE also interact with the YAW motion and somehow rings up both YAW and SIDE signals as Jenne reported ( #5438).
So right now the YAW and SIDE rows are partially reburted to the default elements in order to avoid ringing up.
but ETMX and BS were not good at all. ETMX was ringing up when I turned on the damping.
Excited all the optics. They will be automatically back after 5 hours.
Sat Sep 17 02:02:07 PDT 2011
We don't need a high quality calibration for the optical levers. ~50% accuracy is fine.
For that you can use the OSEM calibration of ~1.7 V/mm (its less than 2 since the OSEMs have been degrading) or you can use the cavity power method that Kakeru used; it worked just fine. There's no benefit in trying for a 1% number for optical levers.
The f2a filters were installed on ITMs and ETMX.
Now all of the suspensions has the f2a filters.
I replaced the lenses that were there with a -150mm lens followed by a +250mm lens. This gave a significantly reduced beam size at the QPDs. With the beam analyzer up and running it should be possible to optimize this later this afternoon. Next I will remove the SRM QPD from the path and make measurements of the beam spot position movement and corresponding OSEM values for different DC mirror offsets. I will then repeat the process for ITMY.
I've got the bench set up for the measurement of the beam spot change with DC SRM alignment offsets. The ITMY oplev is aligned and fine to use, but the SRM one isn't until further notice (probably a couple of hours).
I made the first measurements towards oplev calibration measurements: calibrating the oplevs in SRM YAW. The measurements seemed fine, I had a range of between -1.5 and 1.5 in SRM DC alignment before clipping on mirrors on the oplev bench became a problem. This seemed to be plenty to get a decent fit for the spot position against DC alignment value - see attached plot. The fitted gradient was -420um oplev yaw count. I calculated oplev yaw values as UL+LL-UR-LR. Pitch next.
The following optics were kicked:
Mon Sep 19 15:39:44 PDT 2011
Same measurements for SRM pitch (as previously done for yaw in entry 5460) are complete. The QPD is back in the path and aligned. I will be doing the same measurements for ITMY now though, so please ask before activating the SRM or ITMY oplev servos, as I may be blocking the beam.
Kiwamu: The bad medm screens have been fixed. There are no blank fields and all the links are correct.
Really? I found this one with ~15 seconds of clicking around.
I've started to fix up the script somewhat (as a way to teach myself some more python):
* moved all of the SUS Summary screen scripts into SUS/SUS_SUMMARY/
* removed the hardcoded channel names (a list of 190 hand-typed names !!!!!!!)
* fixed it to use NDS2 instead of try to use the NDS2 protocol on fb:8088 (which is an NDS1 only machine)
* it was trying to set alarms for the SUS gains, WDs, Vmons, etc. using the same logic as the OSEM PD values. This is non-sensical. We'll need to make a different logic for each type of channel.
New script is called setSensors.py. There are also different scripts for each of the different kinds of fields (gains, sensors, vmons, etc.)
pianosa:SUS_SUMMARY 0> ./setDogs.py 3 5
Done writing new values.
I've now taken data for the pitch and yaw calibrations for the OSEMs of SRM and ITMY. Until such time as I know what the calibrated oplev noise spectra are like, I'm leaving the servo gains at zero.
I estimate the length of the lever arm from SRM to measurement position to be 3.06m, and the length of the lever arm from the ITMY to the measurement position to be 3.13m.
From the fits shown on the attached plots, this gives the following calibration factors for the SRM and ITMY OSEMs pitch and yaw counts (i.e. counts from channels such as SUS-ITMY_ULSEN_SW2 multiplied by a matrix of 1s and -1s) to pitch and yaw angle:
SRM PITCH: 1 OSEMs pitch count = 11.74 microradians
SRM YAW: 1 OSEMs yaw count = 12.73 microradians
ITMY PITCH: 1 OSEMs pitch count = 13.18 microradians
ITMY YAW: 1 OSEMs yaw count = 13.52 microradians
Next step is to do some DC offsets with the oplev paths back in place to get the final calibration between OSEMs counts and oplev counts, thus finally getting a conversion factor from oplev counts to radians.
I noticed while taking these measurements that the DC offsets I put on ITMY caused around 5 times larger change in angle than those on the SRM. The different path length is not enough to account for this, so I propose that the actuation is working differently for the two. I guess this should be taken into account when designing the output matrices (unless the control is passed through a different output matrix than the DC offsets?). I'll quantify the difference shortly, and write a conversion factor between output alignment count (e.g. SUS-ITMY_PIT_COMM) and angle.
The last person out tonight should run the following scripts:
In command line:
Then in the morning, someone should do a BURT restore to early today (to get the default matricies back), and also restore the watchdogs.
I followed Jenne's instructions, ran the matrix filler script and then set the optics to freeswing. Someone has to burt resture and damp them in the morning.
Thanks! I'll give them a little more time, then restore things.
I began restoring the optics at ~9:30am, so I have a full 6 hours of data, in case I need that much to separate the Pos/Side modes on some of the optics. They are all damping again with their original matricies.
So, clearly this was a kind of dumb idea. There is nothing mechanical going on between our sensor inputs and our Pit/Pos/Yaw/Side DoF filter banks. It's just math. On the other hand, we now have a 3rd set of in-vac free swinging data, so I can (after all the suspensions are working) have a look at the drift in matrix elements over time.
In other news, after some meditation, and fitzing with DoF gain values, all of the IFO optics except for SRM now have their new input matricies, and are damping pretty nicely. I need to go through and do an "eyeball" check to make sure that everything has a Q of ~5ish. So far, I've kicked the optics, and watched that they damped fairly quickly, but I don't have a guesstimate of the Q's for each optic, for each DoF.
So, still to do:
Use another set of data and invert the SRM matrix DONE
Plug in the MC matricies, make sure they're okay. DONE
Check the Q's for all optics, all DoFs.
This is using data for the SRM from: 20 Sept 2011 03:20:00 PDT = 1000549215
You can see that there are still some funny peaks between Pit and Yaw, but I finnessed the peak-finding, and I was able to fit all of the correct peaks, and invert the matrix:
SRM now has its new matrix, and is damping happily.
pit yaw pos side butt
UL 0.877 0.983 1.105 -0.288 1.092
UR 1.010 -1.017 1.123 -0.145 -1.055
LR -0.990 -1.002 0.895 -0.091 0.848
LL -1.123 0.998 0.877 -0.234 -1.006
SD 0.089 0.064 3.752 1.000 -0.009
Can't we use Yuta's auto-Q adjust script?
Edit by KI :
Of course we can use it but first we have to fix some pynds sentences since his script was written for the OLD pynds.
Has the Q been checked? Still in progress...
So, update as of 6:17pm: I have tuned the damping gains for all IFO optics. Everything is good, except for ITMY Yaw. It's probably fine, the optic damps okay, but it doesn't look like a nice clean ringdown. I haven't taken the time to go back and look at it again.
I have to go to a dinner, but later (probably in the morning, so I don't disturb evening locking) I'll check the MC Qs.
The measured calibration factors for the oplevs are as follows:
Kiwamu noticed that the 1/L in the counts per radian should have just been L, which accounts for most of the discrepancy. We checked the input filters on the OSEMs, and they have 10dB of gain at DC. Accounting for this, estimates on the order of 20urad/count, which is much more reasonable!
ETMX was ringing up when it was mis-aligned for Y arm locking. I restored the input matrix to something more diagonal and its now damping again. Needs more work before we can use the calculated matrix.
I found that some of the Optical Lever Servos were ON today and injecting nonsense into the interferometer optics. I have set all of the gains = 0 to save us more headaches.
I had previously set the gains to zero, see the first line of my entry on Monday 5468. I should have the servo and noise characterisation done today for these oplevs today, so we can review it soon.
Here are the open loop transfer functions for ITMY and SRM. The various settings for the OLTFs were as follows:
Oplev filter used for all OLTFs: 300^2:0
Gains for oplev servos (for each OLTF only the 1 servo for the measured TF was on. They are all set back to 0 now):
SRM yaw gain = 1
SRM pitch gain = -1
ITMY yaw gain = -1
ITMY pitch gain = 1
measurement band = 0.2Hz to 200Hz
points = 33
swept sine magnitude envelope: amp = 2 for f > 60Hz, amp = 0.1 for f < 60Hz
Measurement points were from e.g. C1-SUS-ITMY-OLPIT-IN2 to C1-SUS-ITMY-OLPIT-IN1 to give a TF of -(loop gain).
Next step is to divide this through by the sensor reponse (i.e. the calibration factor measured earlier) and the filter response to get just the actuator response.
The SUS SUMMARY screen is now fully activated. You should keep it open at all times as a diagnostic of the suspensions.
No matter how cool you think you are, you are probably doing something bad when trying to lock, measure any loop gains, set matrices, etc. Use the screen.
This is the link to the automatic snapshot of the SUS SUMMARY screen. You can use it to check the Suspensions status with your jPhone.
Auto SUS SUMMARY Snapshot
When the values go yellow its near the bad level. When its red, it means the optic is misaligned or not damped or has the wrong gain, etc.
So don't ignore it Steve! If you think the thresholds are set too low then change them to the appropriate level with the scripts is SUS/
I divided the open loop transfer functions by the filter response and the sensor responses (previously measured calibration factors) to leave just the actuator responses. I've attached the actuator responses plotted in radians/count and phase over frequency.
Next step: fit the actuator response with poles and zeros.
EDIT: I divided by the wrong filter function earlier - the plots there now are divided by the correct filter function
I used an fminsearch function to fit the SRM and ITMY actuator response magnitudes. The testfunction was just that for a single second order pole, but it gave what I consider to be good fits for the following reasons:
*for 3 of the 4 fits the residuals were less than 0.5% of the summed input data points. The worst one (ITMY pitch) was about 2.7%, which I think is due to the resonance happening to be right in the middle of two data points.
*the tolerance of 1 part in 10^9 was reached quickly from not very finely tuned starting points.
The test function was: G=abs(Gp./(1+1i.*f./fp./Qp-(f./fp).^2)), where G(f) is the actuator response magnitude, Gp is the pole gain, fp is the pole frequency, and Qp is the pole Q factor.
In the end I just fitted the response magnitude. I was initially fitting the complex response function, but ran into problems which I think were cased by overall phase offsets between the data and test function. Can I canvass for opinion if fitting the magnitude is OK, or should I try again fitting the phase too?
Anyway, here are the results of the fits, and I've attached plots of each too (each one in linear and log y axis because each on its own might be misleading for fits):
EDIT - I added more points to the otherwise sparse looking fitted curves
ITMY PITCH actuator response fit
-- Fit completed after 190 iterations--
Started with: Gain = 3e-06,
Q factor = 5,
Pole frequency = 1,
Fit results: Gain = 1.32047e-06,
Q factor = 4.34542,
Pole frequency = 0.676676
Residual (normalised against the sum of input datapoints) = 0.0268321
ITMY YAW actuator response fit
-- Fit completed after 156 iterations--
Fit results: Gain = 1.14456e-06,
Q factor = 8.49875,
Pole frequency = 0.730028
Residual (normalised against the sum of input datapoints) = 0.00468077
SRM PITCH actuator response fit
-- Fit completed after 192 iterations--
Fit results: Gain = 7.94675e-06,
Q factor = 7.16458,
Pole frequency = 0.57313
Residual (normalised against the sum of input datapoints) = 0.00301265
SRM YAW actuator response fit
-- Fit completed after 156 iterations--
Fit results: Gain = 3.34179e-06,
Q factor = 9.57601,
Pole frequency = 0.855322
Residual (normalised against the sum of input datapoints) = 0.000840468
Did you take the 180 deg shift into your account ?
Since your measurement was done when the loop was closed, there must be an additional 180 deg phase shift (in other words, minus sign).
I thought I had, but apparently not, and I'd made another error or two in the complex version of my fitting routine. I've fixed them now, thanks! I'll put up the new fitting results tomorrow morning.
Here are the results of the complex fitting. The residuals are bigger this time, but still probably small enough to be ok(?), with the possible exception of ITMY PITCH (due again I think to the data points straddling the resonance).
ITMY YAW actuator response complex fit
-- Fit completed after 282 iterations--
I thought it might be informative before trying to optimise the filter design to see how the current one performs with different gain settings. I've plotted the power spectra for ITMY yaw with filter gains of 0, 1, 2, 3 and 4.
All of the higher gains seem to perform better than the 0 gain, so can I deduce from this that so far the oplev control loop isn't adding excess noise at these frequencies?