I've restarted the NDS2 process on Megatron so that we can use it for getting past data and eventually from outside the 40m.
1) from /home/controls/nds2 (which is not a good place for programs to run) I ran nds2-megatron/start-nds2
2) this is just a script that runs the binary from /usr/bin/ and then leaves a log file in ~/nds2/log/
3) I tested with DTT that I could access megatron:31200 and get data that way.
There is a script in usr/bin called nds2_nightly which seems to be the thing we should run by cron to get the channel list to get updated, but I' m not sure. Let's see if we can get an ELOG entry about how this works.
Then we want Jamie to allow some kind of tunneling so that the 40m data can be accessed from outside, etc.
Beat note setup
For quite a while (no one knows how long), we've seen fluctuations in the 10-30 Hz seismic motion. This shows up as the purple trace on the seismic BLRMS on the wall projector.
The second plot shows that this is not only a periodic increase in the usual 29.5 Hz HVAC peak, but also an anomolous 32.2 Hz peak. Probably some malfunctioning machinery - maybe in the 40m or maybe on the roof.
With Rana's help/supervision/suggestions, I have closed the loop on the PRMI ASC servo with the new QPD. I think I've had it locked for ~30+ minutes now. It was locked for ~45 minutes, but then the MC momentarily lost lock. I immediately recovered the PRMI+ASC (after small PRM yaw tweaking, since the ASC isn't triggered yet, so the MC lockloss caused a big yaw step function to go to the PRM, which displayed a bit of hysteresis.).
My biggest problem was that I didn't really understand Koji's servo filter choices, so I wasn't using the right ones / doing good things. In particular, I need to compensate for the oplev servo filters. The oplev servo shape is something like ^, so the 1/(1+G) shape is something like =v= (ignoring the lower horizontal lines there). For tonight, we just turned off the PRM oplevs, but clearly this isn't a permanent solution. (Although, after Rana went in and roughly centered the PRM oplev, we noticed that turning the oplev on and off doesn't make a huge difference for the PRM....we should investigate why not. Also, we turned off the FM2 3.2Hz resonant gains in the PRM oplevs, since the Q of those filters is too high, much higher than our actual stacks).
Rana and I also locked the PRM-ITMY half cavity, and used that beam to realign the beam onto the POP QPD, POP110 PD, and the camera.
The POP QPD pitch and yaw signals with the half cavity have some noise, that looks like 60Hz crap. Since this goes away (rather, is much less noticeable) with the regular sideband-locked PRMI, we suspect this is a problem with perhaps the normalization, with the sum very low, and having some noise on it.
Once we had our ASC filters set up (not the 10Hz boost yet though, I think), if I increased the gain from -0.02 to -0.03, we start to get some gain peaking. With a gain of -0.04, the peak is very noticeable around 250Hz. We aren't sure where this is coming from, since it shouldn't be coming from the ASC loop. The UGF of that loop is much lower (I measured it, to check, and the UGF is ~5Hz). Anyhow, this is still a mystery, although the gain of -0.02 holds the cavity pretty well.
I measured the power spectra of the POP QPD pit, yaw, sum, as well as POPDC and POP110I, with the ASC loop on and off (dashed lines are with the loop on. You can see that the yaw motion as seen on the QPD was reduced by almost 2 orders of magnitude below 1Hz. It also looks like we can win some more by turning on the equivalent pitch ASC servo (this is also something we see when looking at the dataviewer traces).
I also tried to measure the PRMI sensing matrix, but I get some weird results, even after I double the drive actuation. I need to be checking whether or not my drive is actually coherent with the error signals that I'm seeing, because right now I'm not sure that I believe things. I'm going to leave that on the to-do list for tomorrow night though.
* Engage POP QPD -> pitch loop, copying yaw loop.
* enable ASC triggering
* model PRMI sensing matrix and error signals, bringing one arm into resonance
* Lock the PRMI, and bring the Xarm into IR resonance using the ALS system.
Here are some numbers and plots from the night:
Right now, I'm locking the LSC with:
MICH LSC with AS55Q, FMs 4 and 5 on, FM 3 is triggered, gain = -40.0, normalized by sqrt(POP110I)*0.1
PRCL LSC with REFL33I, FMs 4 and 5 on, FM 9 is triggered, gain = +2.5, normalized by sqrt(POP110I)*10
(FM3 of MICH and FM9 of PRCL are the same, just in different spots).
The ASC (only POP yaw -> PRM yaw right now) has:
FMs 1,2,5,6 on (1 = integrator [0:0.1], 2 = 3.2 res gain, 5 = [1000,1000:1 and gain of 0.01], 6 = 10Hz boost). Gain = -0.020, Limit=5000.
Turn off the input, turn on the output and the gain, clear the histories (to clear out the integrator in FM1), then turn on the input.
PRM oplev is OFF. (need to put in a filter to compensate for it in the ASC servo, but for tonight, we just turned it off.)
We measured the spectra of the POP QPD signals with the ASC loop on and off:
I also measured the ASC loop (with the PRM oplev still off):
(sorry about the separate plots - I can't make DTT give me more than 2 plots on a page at a time right now, so I'm giving up, and just making 3 separate pages)
Weird sensing matrix, unsure if I'm really getting good coherence:
I have added more DAQ channels to the c1als model. Installed and restarted the model on c1ioo. Frame builder restarted.
DAQ channels added:
Having established the serial link between the Doubling oven at the Y-end and the Raspberry pi, I wanted to use this interface to collect time-series from the oven after applying a step function in an effort to measure the transfer function of the oven. The idea was that knowing the transfer function of the oven, I could use some simple PID tuning rules like the Ziegler-Nichols rule or put everything in SIMULINK and find the optimal PID gains. However, I am unable to extract the oven transfer function from the time series data collected.
Last night, between 920pm and 940pm I applied a step function to the doubling oven by changing the setpoint of the controller from 35.7 Celsius to 39 Celsius (having checked elog 3203 to get an idea of a 'safe' step to apply). I then used the Pi to collect time series data for 6 minutes, then returned the set-point back to 35.7 Celsius, and took another time-series to make sure things were back to normal. Having gotten the time series data, I attempted to fit it using some exponentials which I derived as follows:
I couldn't think of a way to get the laplace transform of the time-series data collected, so I approximated the oven transfer function as a system with a one simple pole i.e. G(s)=K/(1+Ts), where K and T are parameters that characterise the oven transfer function. I then plugged in the above expression for Y(s) into Mathematica (knowing X(s)=constant/s, and H(s) = 250 + 60/s +25s from the PID gains) and did an inverse laplace transform to find a y(t) with two unknown parameters K and T to which I could fit the time-series data.
The time-series data collected via the Pi after applying the step was this:
The inverse laplace transform from mathematica yielded the following (formidable!) function (time, the independent variable, is x, and the fitting parameters are a=K and b=T where K and T are as described earlier):
(39*(exp(x*(1/(2*(25*a - b)) - (125*a)/(25*a - b) - sqrt(1 - 500*a+ 56500*a^2 + 240*a*b)/(2*(25*a - b)))) - exp(x*(1/(2*(25*a - b)) - (125*a)/(25*a - b) + sqrt(1 - 500*a + 56500*a^2 + 240*a*b)/(2*(25*a - b)))))*a)/sqrt(1 - 500*a + 56500*a^2 + 240*a*b)
My best attempts to fit this using MATLAB's cftool have given me useless fits:
I tried changing the start-points for the fitting parameters but I didn't get any better fits.
Not sure why it was so poorly aligned, since the misalignment "event" happened while we were all away at lunch, but I steered the MC optics until their SUSYAW and SUSPIT values were about the same as they were before they got misaligned. MC autolocker took over, and things are back to normal.
I have done the following:
* installed the nds2-client in /ligo/apps/nds2-client
* moved the nds2 configuration directories to /ligo/apps/nds2/nds2-megatron
* set up a cron job to update the channel list every morning at 5 am. The cron line is:
15 5 * * * /usr/bin/nds2_nightly /ligo/apps/nds2/channel-tracker /ligo/apps/nds2/nds2-megatron
cron will send an email each time the channel list changes, at which point you will have to restart the server with:
* restarted nds2 with updated channel lists.
Steve and I tried to fix the Oplev situation detailed in elog 8684, today afternoon. We have come up with a fix which needs to be adjusted, possibly completely overhauled depending on whether the mirror steering the return beam to the QPD is blocking the POX beam coming out.
Situation in the chamber: the black line is meant to indicate what was happening, the red is indicative of the present path.
Plan of action:
Following the circuit design in elog 8748, I constructed a prototype for the servo portion of the ISS (not including the differential amp) to be used in the CTN experiment. The device was built on a breadboard and its transfer function was measured with the Swept Sine measurement group of an SR785. For various excitation amplitudes, the transfer function (TF) was not consistent.
Recall the ideal transfer function for this particular servo and consider the following comparisons.
This gain limitation is problematic for characterizing prototypes as my particular servo has very large gain at low frequencies.
At the risk of looking too deeply into the above data,
Unfortunately, the noise was too large for lower excitation amplitudes to be used to any effect. I'll try this again tomorrow, just as a sanity check, but otherwise I will proceed with learning Altium and drawing up schematics for this servo.
I have modified the ALS model to now include PHASE_OUT calibration for both X and Y. MEDM screen has not been edited to include these yet.
Could be that this is OK, but it doesn't yet make sense to me. Can you please explain in words how this manages to apply the calibration rather than just add an extra gain to the phase tracking loop?
I'm not sure what's going on today but we're seeing ~80% packet loss on the 40MARS wireless network. This is obviously causing big problems for all of our wirelessly connected machines. The wired network seems to be fine.
I've tried power cycling the wireless router but it didn't seem to help. Not sure what's going on, or how it got this way. Investigating...
I'm still seeing some problems with this - some laptops are losing and not recovering any connection. What's to be done next? New router?
We had the same problem yesterday. However the Vacuum Dedicated laptop worked with fewer disconnects. Christian is coming over this after noon to look at this issue.
This happened a few weeks ago and it recovered misteriously. Jamie did not understand it.
The BLRMS are totally crazy today! I'm not sure what the story is, since it's been this way all day (so it's not an earthquake, because things eventually settle down after EQs). It doesn't seem like anything is up with the seismometer, since the regular raw seismic time series and spectrum don't look particularly different from normal. I'm not sure what's going on, but it's only in the mid-frequency BLRMS (30mHz to 1Hz).
Here are some 2 day plots:
Particle counts were measured inside the PSL enclosure at 40VAC variac setting.
Directly under HEPAs, on the east half of the optical table : 0.3 micron 20 particles / cu ft, 0.5 micron 0 p / cu ft, 0.7 micron 0 p / cu /ft
Away from the HEPAs, on the west edge of the op table: 0.3 micron 960 particles / cu ft, 0.5 micron 50 p / cu ft, 0.7 micron 20 p / cu ft
We may want to increase the RPM a little bit.
Checked our counters against recently calibrated Met One GT-526:
#1 is right on, #2 measured 25% less (it will go for calibration)
Flow bench at the south end : zero particle for all 3 sizes
IOO chamber particle logging measures 0.5 and 1 micron. Chamber opening limit is set to 10,000 particles max of 0.5 micron
At 10,000 p of 0.5 micron means ~100,000 - 180,000 p of 0.3 micron
We may have to lower the limit.
All of us in the control room / desk area heard a sudden whoosh of air a few minutes ago. It kind of sounded like a pressure washer or something. We determined that the northmost nitrogen bottle outside the front door was letting out all its gas.
It's a gazillion degrees outside (okay, only 91F, according to a google of "Caltech Weather"), and those bottles are in direct sun all day.
We are leaving the bottle as-is, since it seems like its has finished, and nothing else is happening.
Last night before dinner, I copied over the ASC yaw servo filters to the ASC pitch filter bank. Using ASC gain of +0.001, I was getting the ~250Hz oscillations that Rana and I had seen with yaw.
Rana pointed out to me that my measured TF of the yaw loop doesn't look right up in the several hundred Hz region:
As you can see on the right side, which is all of the PRCL ASC yaw filter banks, multiplied by a simulated pendulum filter, the magnitude should just keep decreasing. However, on the measured plot on the left, you can see that I have a little gain hump. I'm not sure what this is from yet.
Y arm beat note found!
The green transmission on the PSL reads about 500 cts, and the transmitted power is about 50 uW.
(the second peak on the screen in the picture is the 29 MHz of the MC)
The calibration is applied by adding an extra gain. But, I missed the point that I should be doing this outside the phase-tracking loop....my BAD .
So I modified the model such that the calibration is done without disturbing the phase tracking loop.
Right now, epics input 'PHASE_OUT_CALIB' accepts the calibration and we get the calibrated phase tracker output converted from deg to Hz at 'PHASE_OUT_HZ'. I have also made it a DAQ channel to be used with dataviewer and dtt.
medm screens have been modified to accommodate these additions to the phase tracker screen. I used Yuta's phase tracker calibration data in elog to set PHASE_OUT_CALIB in the medm screens.
Jenne just aligned the X arm and I got a chance to check the status of the POX beam coming out of the chamber. Turned the Oplev servo off so that the red beam could be blocked, turned all the lights off, and had a look at the beam in the vicinity of the mirror steering the Oplev-out beam to the QPD with an IR view-card. The beam is right now about half a centimeter from the pitch knob of the said mirror, so its not getting clipped at the moment. But perhaps the offending mirror can be repositioned slightly, along with the Oplev QPD such that more clearance is given to the POX beam. I will work this out with Steve tomorrow morning.
As I showed in [elog 8759], measuring the transfer function of my prototype servo was difficult due to physical limitations of either some portion of the construction or even the SR785 itself. To get around this, I tried using lower input excitation amplitudes, but ran into problems with noise.
Finding a TF consistent with theoretical predictions made by LISO was easy enough when I simply measured the TF of each of the two filter stages individually and then multiplied them to obtain the TF for the full servo. I still noticed some amount of gain limitation for 100 mV and 10 mV inputs, although I only had to lower the input to 5 mV to avoid this and thus did not see significant amounts of noise as I did with a 1 mV input. The individual transfer functions for each stage are shown below. Note that the SR785 has an upper cutoff frequency of 100 kHz so I could analyze the TF beyond this frequency. Additionally, the limited Gain Bandwidth Product of OP27 op-amps (used in the prototype) causes the magnitude and phase to drop off for f > 10^5 Hz approximately. The actual servo will use AD829 op-amps which have a much larger GBWP.
The measured TFs above are very close to ideal and agree quite well with theoretical predictions. Based on the [circuit schematics],
Indeed, this is exactly what we can see from the above two TFs. We can also multiply the magnitudes and add the phases (full_phase = phase1 + phase2 - 180) to find the TF for the full servo and compare that to the ideal TF produced by LISO,
And we find exceptionally consistent transfer functions, which speaks to the functionality of my prototype
As such, I'll proceed with designing this servo in Altium (most of which will be learning how to use the software)
Note that all TFs were taken using the netgpibdata python module. Measurement parameters were entered remotely using the TFSR785.py function (via control room computers) and following the examples on the 40m Wiki.
Measured frequency noise is ~10Hz/rtHz @100Hz.
Measure the out-of-loop noise of Xarm ALS:
1. The X-arm was locked for IR using PDH error signal.
2. 'CLEAR HISTORY' of the phase tracker filters.
3. Measured the power spectrum of the phase tracker output. I have used the newly created calibrated channel "PHASE_OUT_DQ. So the phase tracker output now reads in Hz.
The measurement was done with beat note frequency at ~40MHz. The flat noise level of 10Hz/rtHz from 20-100Hz (in plot 2) is not good. We should investigate as to what sets this noise level. The spike at 60Hz is because the 60Hz frequency comb filter was not enabled.
I plan to the following to get a clearer outlook
1. Connecting the beat box to an RF source and measure the noise levels for a range of frequency inputs to the beatbox.
2. Measure the noise at C1:ALS-BEATX_FINE_I_IN1 (before the antiwhitening filters) and check whether the new whitening filters has done anything good with respect to minimizing the DAQ noise.
Its an increase in the microseismic peak. Don't know what its due to though.
I moved the old matlab directory from /cvs/cds/caltech/apps/linux64/matlab_o to /cvs/cds/caltech/apps/linux64/matlab_oo
and moved the previously current matlab dir from /cvs/cds/caltech/apps/linux64/matlab to /cvs/cds/caltech/apps/linux64/matlab_o.
And have installed the new Matlab 2013a into /cvs/cds/caltech/apps/linux64/matlab.
Since I'm not sure how well the new Matlab/Simulink plays with the CDS RCG, I've left the old one and we can easily revert by renaming directories.
The keyboard on Pianosa workstation has been flaky for the last several days at least. Today, it was having troubles mounting the linux1 file system and was hanging on boot.
People in the control room emailed Jamie and then grew afraid of the computer. Annalisa suggested that we put garlic on it since was clearly possessed.
Typing 'dmesg' at the command prompt, I found that there were thousands of messages like these:
[ 3148.181956] usb 2-1.2: new high speed USB device number 68 using ehci_hcd
[ 3149.773883] usb 2-1.2: USB disconnect, device number 68
[ 3150.228900] usb 2-1.2: new high speed USB device number 69 using ehci_hcd
[ 3152.076544] usb 2-1.2: USB disconnect, device number 69
[ 3152.787391] usb 2-1.2: new high speed USB device number 70 using ehci_hcd
[ 3154.123331] usb 2-1.2: USB disconnect, device number 70
[ 3154.578459] usb 2-1.2: new high speed USB device number 71 using ehci_hcd
So I replaced the existing Dell keyboard with an older Dell keyboard and the bad messages have stopped. No garlic was used.
I installed ligoDV in the /ligo/apps/ligoDV/
Now, by pointing the tool at the local NDS2 server (megatron:31200) you can access the recent local data (raw, trends, etc.)
by running /ligo/apps/ligoDV/ligodv from the command line.
With rana's input, I changed the ITMx oplev servo gains given the beam path had been changed. The pitch gain was changed from 36 to 30, while the yaw gain was changed from -25 to -40. Transfer function plots attached. The UGF is ~8Hz for pitch and ~7Hz for yaw.
I had to change the envelope amplitudes in the templates for both pitch and yaw to improve the coherence. Above 3Hz, I multiplied the template presets by 10, and below 3Hz, I multiplied these by 25.
Be careful with this. If Matlab starts re-saving models in a new file format that is unreadable by the RCG, then we won't be able to rebuild models until we do an svn revert. Or the bigger danger, that the RCG *thinks* it reads the file and generates code that does something unexpected.
Of course this all may be an attempt to drive home the point that we need an RCG test suite.
X arm stabilized using ALS while PRMI stayed locked
[Rana, Lisa, Jenne, Manasa]
Time series : ALS enabled at t = 0 and disabled at t = 95s
What we did:
1. Jenne will elog about ASC (POP QPD) updates.
2. Found the beat note between Xarm green and PSL green.
3. Stabilized arm fluctuation by enabling ALS servo.
4. Scanned the arm for carrier resonance by ramping on the offset and set the offset such that we had IR resonating (TRX fluctuated between 0.1 and 0.8 counts).
5. Disabled the ALS servo and locked PRMI using AS55 for MICH and REFL33 for PRCL.
6. Enabled ALS.
Enabling ALS to detune the arm out of resonance kept PRMI locked (currently for a span of few tens of seconds). However we could not see PRMI locked as stably compared to when the arms are misaligned. Everytime the offset was set IR to resonate, the PRMI was kicked out of lock.
Also there is some leakage at the arm transmission when PRMI was locked. The leakage was visible at ETMX transmission as flashes in different higher order modes indicating the not-so sufficient ALS stability. The leakage sets an offset at TRX measuring 0.01-0.05 counts.
To do list:
The ALS_OFFSETTER1 has to be calibrated in FSR. We were giving random offsets to do the offset scan.
Installed a filter before ETMXT camera to remove the refl green. (Note to myself: The filter needs to go on a better mount/adapter).
Rana had the epiphany that I didn't have any antiwhitening for my POP QPD. Ooops.
We looked at the schematic for the Pentek Generic board (pdf), and saw that it has a Zero @ 15Hz, and Poles @ 150Hz and 1500Hz, times 2 stages. We determined from the TF that I posted that probably both stages are engaged, so I made an antiwhitening filter consisting of the inverse (so, 2 poles at 15Hz, 2 zeros at 150Hz and 2 zeros at 1500Hz). [Rana points out that for this low frequency system we may not want to include the 1500Hz compensation, since it is probably just enhancing ADC noise]. The ASC system worked really well, really easily, after that.
Another note though, the AA stage of the Pentek Generic boards have 4 poles at 800Hz, which are not compensated.
Rana also added a 60Hz comb to the filter bank with the AntiWhitening, since the QPD has an unfortunately large amount of 60Hz noise. Also, the 60Hz lowpass in the ASC loop was engaged for both pitch and yaw.
Rana, Lisa and Manasa also found that the ASC system was *more* stable with the PRM oplev ON.
So, the ASC locking situation is:
PRM oplev loops on.
AS-POP_QPD_[PIT/YAW] filter banks with FM1, FM6 on.
ASC-PRCL_[PIT/YAW] filter banks with FM1, FM5, FM6 and FM9 on.
ASC-PRCL_YAW_GAIN = -0.040
ASC-PRCL_PIT_GAIN = +0.030
(No triggering yet).
The ASC Up and Down scripts (which are called from the buttons on the ASC screen) have all of these gain settings, although they assume for now that all the filters are already on.
Here's a screenshot of the power spectra showing the angular motion suppression. The PDF is attached so you can zoom in and see some details. The dashed lines are the "PRMI locked, ASC off" case, and the solid lines are the "PRMI locked, ASC on" case. You can see that according to the QPD, we do an excellent job suppressing both the pitch and yaw motion (although better for yaw), but there isn't a huge effect on POPDC or POP110I. While we could probably do better if we had a 2 QPD system with the QPDs at differet gouy phases, this seems to be good enough that we can keep the PRMI locked ~indefinitely.
I would like to compile the ASC model, so that I can implement triggering. For tonight, we did not have the ASC engaged during our PRMI+Xarm tests (see Manasa's elog), but I think it'll make things a little easier if we can get the ASC going automatically.
[Lisa, Rana, Jenne]
Lisa asked to see a model of the PRMI sensing matrix with REFL165 included, in the hopes that it wouldn't be as degenerate as REFL33.
The conclusion, immediately after looking at this, is that I should make sure the REFL beam is nicely aligned onto the REFL165 PD (Koji did some tests, swapping out the REFL165 resonant PD with a broadband PD, and I don't remember if he aligned beam back onto the REFL165 PD). Then, I need to measure the PRMI sensing matrix, including REFL165. Hopefully, it is similar to the model, and we can use it as our 3f diode for locking.
Mike and Christian brought over a Mac laptop for surf Alex.
They power cycled the wireless router of 40Marsh and labtops are working. Seeing 75-80% signals on all 3 Dell lab top sisters at both end of the lab
There is no sensible REFL165 PD in the lab. I am supposed to prepare a new version of REFL165 using prototype BBPD.
As mentioned in elog 8770, I wanted to give the POX beam a little more clearance from the pick-off mirror steering the outcoming oplev beam. I tweaked the position of this mirror a little this morning, re-centred the spot, and checked the loop transfer function once again. These were really close to those I measured last night (UGF for pitch ~8Hz, for yaw ~7Hz), reported in elog 8777, so I did not have to change the loop gains for either pitch or yaw. Plots attached.
I found the south end emergency doors not latched completely. There was a ~ 3/8" vertical gap from top to bottom.
Please pull or push doors harder if they not catch fully.
I'm working on developing a full noise budget for the 40m. To that end, I'll use measurements from the GUR1 seismometer to characterize seismic noise. Without any unit calibration, I found the following spectrum,
To extract useful information from this data, I first used the calibration from "/users/Templates/Seismic-Spectra_121213.xml" to obtain the spectrum in [m / s / sqrt(Hz)].
calibrated_data = raw_data * 3.8e-09
I then divided each point in the power spectrum by the frequency of said point to obtain [m / sqrt(Hz)]. I don't think we can simply divide the whole spectrum by 40 meters to obtain [RIN / sqrt(Hz)], although that was my immediate intuition. Having power spectra of all the major noise contributions in units of [RIN / sqrt(Hz)] would make designing an appropriate filtering servo fairly straightforward.
I have set the cron job up to restart the nds2 server automatically if the channel list changes. The only change is that the cron command was changes to /ligo/apps/nds2/nds2-megatron/test-restart.
I have modeled the PRMI sensing matrix as I bring the Xarm into resonance. In optickle, I have the PRMI on sideband resonance, the ETMY is artificially set to have a transmission of 1, and the ETMX has it's nominal transmission of 15ppm. I start with the ETMX's microscopic position set to lambda/4 (antiresonant for IR in the arm), and take several steps until the ETMX's microscopic position is 0 (resonant for IR in the arm).
Modeled sensing matrix, units = W/m, Offset = 2.66e-07, phase in degrees
MICH Mag MICH Phase PRCL Mag PRCL Phase
AS55 3.348E+04 142.248 5.111E+03 70.571
POX11 3.968E+01 -66.492 1.215E+04 54.312
REFL11 3.231E+05 24.309 9.829E+07 144.311
REFL165 9.946E+03 -159.540 4.540E+05 -64.710
REFL33 1.963E+04 -168.530 1.573E+06 -2.744
REFL55 1.160E+06 -6.755 5.429E+07 86.895
Modeled sensing matrix, units = W/m, Offset = 0, phase in degrees
MICH Mag MICH Phase PRCL Mag PRCL Phase
AS55 1.647E+06 57.353 3.676E+06 -81.916
POX11 3.927E+02 -118.791 2.578E+04 -102.158
REFL11 7.035E+05 61.203 1.039E+08 167.149
REFL165 1.602E+04 -144.586 5.971E+05 -49.802
REFL33 2.157E+04 171.658 1.940E+06 -9.133
REFL55 1.822E+06 7.762 6.900E+07 101.906
For REFL55, the MICH magnitude increases by a factor of 1.6, while the PRCL magnitude increases by 1.3 . The MICH phase changes by 15 degrees, while the PRCL phase also changes by 15 degrees. Just eye-balling (rather than calculating), the other REFL PDs look to have similar-ish magnitude and phase changes. Certainly none of them are different by orders of magnitude.
[Koji, Annalisa, Gautam]
Annalisa noticed that over the weekend the Y-arm green PDH was locked to a sideband, despite not having changed anything on the PDH box (the sign switch was left as it was). On friday, we tried turning on and off some of the filters on the slow servo (C1ALS_Y_SLOW) which may have changed something but this warranted further investigation. We initially thought that the demodulation phase was not at the optimal value, and decided to try introducing some capacitances in the path from the function generator to the LO input on the universal PDH box. We modelled the circuit and determined that significant phase change was introduced by capacitances between 1nF and 100nF, so we picked out some capacitors (WIMA FKP) and set up a breadboard on which to try these out.
After some trial and error, Koji dropped by and felt that the loop was optimized for the old laser, the various loop parameters had not been tweaked since the new laser was installed. The following parameters had to be optimized for the new laser;
The setup was as follows:
The PDH error signal did not have very well-defined features, so Koji tweaked the LO frequency and the modulation depth till we got a reasonably well-defined PDH signal. Then we turned the excitation off and locked the cavity to green. The servo gain was then optimized by reducing oscillations in the error signal. Eventually, we settled on values for the Servo Gain, LO frequency and modulation depth such that the UGF was ~20kHz (determined by looking at the frequency of oscillation of the error signal on an Oscilloscope), and the PDH signal had well-defined features (while the cavity was unlocked). The current parameters are
We then proceeded to find the optimal demodulation phase by simulating the circuit with various capacitances between the function generator and the PDH box (circuit diagram and plots attached). The simulation seemed to suggest that there was no need to introduce any additional capacitance in this path (introducing a 1nF capacitance added a phase-lag of ~90 degrees-this was confirmed as the error-signal amplitude decreased drastically when we hooked up a 1nF capacitor on our makeshift breadboard). In the current configuration, the LO is connected directly to the PDH box.
Now that we are reasonably confident that the loop parameters are optimal, we need to stabilise the C1ALS_Y_SLOW loop to stabilise the beat note itself. Appropriate filters need to be added to this servo.
Circuit Diagram: 50 ohm input impedance on the source, 50 ohm output impedance seen on the PDH box, capacitance varied between 1nF and 100nF in steps.
Plots for various capacitances: Gold-green trace (largest amplitude) direct from LO, other traces at input to PDH box.
Here is the Sensing Matrix movie (sorry for the iffy quality - my movies usually come out better than this):
This is the sensing matrix for the sideband locked on PRMI, bringing the Xarm into resonance from anti-resonance, in 20 equally-spaced steps. You can see the microscopic ETMX offset (units of meters) in the title of the figures.
I was surprised to see some of the 'jumps' in the sensing matrix that happen near the end, when the arm is almost in resonance. I'm in the process of making movies of the error signals as the Xarm is brought into resonance. I'll have to post those in the morning, since they're taking a long time to produce and save, however when I looked at a few, there is some weird stuff going on as we get close to resonance, even with the 3f signals.
The modeling phone call is in the morning, but if anyone who is not regularly on the call has thoughts, I'm all ears.
While attempting to develop a somewhat accurate noise budget for the 40m, I reasoned that while the shape of the transfer function for the ISS is important, the degree to which we can 'tune' it to a particular experiment/application is limited.
Beyond that, we're sort of limited by the desired high and low frequency behavior as well as the general principle that more electronics = more noise so we probably don't want more than 3 or 4 filter stages, if that. Additionally, the ISS can be over-engineered so that it suppresses the laser noise to levels well below other fundamental noise sources over the important regime ~10 - 10^3 Hz without particular regard to a noise budget.
The design I propose is very similar to a previous design, with a few adjustments. It consists of 3 filter stages that easily be modified to increase gain for higher frequencies if it is known/determined that the laser being stabilized has a lot of high frequency noise.
Stage 1: Basic LP Filter + Establish UGF (each stage 'turning on' will not change the UGF), Stage 2: Integrator with zero @ 10 kHz, Stage 3: Optional extra gain if necessary
With the full TF given by,
As usual we consider the noise caused by the servo itself. Noise analysis in LISO is done with a 1 V input excitation.
This servo should function sufficiently for the 40m.
[Koji, Annalisa, Manasa]
Today we worked on the ALS servo stabilization for the Y arm.
First step: find the beat note
The beat note was found following the usual steps:
Beat note amplitude = -27 dBm @ 50 MHz
PSL temperature = 31.54 degC
Laser Offset on the slow servo2 = -11011
In the GREEN HORNET we did the following changes for the Y arm:
Input Signal Conditioning
On the C1ALS-BEATY_FINE screen the same antiwhitening filters of the C1ALS-BEATX_FINE have been reproduced. At moment, only the FM3 [10:1] is enabled.
On the C1ALS-BEATY_FINE_PHASE screen the gain was set at 3600, since the amplitude of the Q signal after the Phase rotator (BEATY_FINE_Q_ERR) was about 30. To set this value we made a proportion with respect to a previous optimized value, where the amplitude was 100 and the gain was set to 1200.
In order to stabilize the beat frequency, we started enabling the FM5 [1000:1] filter in the C1ALS_YARM panel, and then we started increasing the gain first in small steps (0.1), in order to understand which sign the gain should have without kicking the mirror.
We measured the Power Spectrum of the C1:ALS-BEATY_FINE_PHASE_OUT in-loop signal while varying the gain of the C1ALS_YARM servo filter.
Eventually, we enabled the following filters:
Gain = -30.
Koji expects the UGF of the loop to be around 100-ish Hz, and he also expected the small bump around 300-400 Hz.
Then we realized that the channel we were measuring was not calibrated in unit of Hz, so we took again the measurement looking at the channel C1:ALS-BEATY_FINE_PHASE_OUT_HZ. In this case, we didn't observe any bump. Maybe the beat frequency was slightly changed from the previous measurement and the all servo shape was also different. The final value of the gain was set at -8.
The Y axis unit is missing (bad me!). It's in deg/sqrt(Hz) for the first plot and Hz/sqrt(Hz) for the second one.
I realized that I cannot open the attached plots. I'll fix them tomorrow.
I found WFS had been left disabled from sometime yesterday. I don't see anyone mentioning when and why they had turned OFF the WFS servo.
I aligned MC and turned ON the WFS servo. MC is back.
We characterized Koji's BBPD MOD for REFL165 (see attachment).
First, we calibrated the Agilent 4395 Network Analyzer (NA) to account for differences in cable features between the Ref PD and Test PD connections. This was done using the 'Cal' softkey on the NA.
Then we performed transimpedance measurements for the test PD and reference PD relative to the RF output of the NA and relative to each other (see 2nd attachment. Note that the NA's RF output is split and sent to both the IR Laser and the NA's Ref input).
Next, we made DC measurements of the outputs of the photodetectors to estimate the photocurrent distribution of the transimpedance setup (like the 2nd attachment, but with the outputs of the PDs going to a multimeter). By photocurrent distribution, we mean how the beamsplitter and respective quantum efficiencies/generalized impedance/etc. of the PDs influence how much current flows through each PD at with a DC input.
Finally, we measured the output noise as a function of photocurrent (like the 2nd attachment, but with a lightbulb instead of the IR Laser). Input voltages for the lightbulb ranged from 0mV to 6V. Data was downloaded from the NA using netgpibdata from the scripts directory. Analysis is currently in progress; graphs to come soon.
P.1 Circuit diagram
Added components are indicated by red symbols.
- The diode on the board is HAMAMATSU S3399. It is a Si PIN diode with φ3.0 mm.
- Based on prototype version of aLIGO BBPD D1002969-v8 (although the board says v7, It is v8.)
- The input impedance of the MAR-6SM amplifier (50Ohm) provides the transimpedance.
- The first notch (Lres and Cresa/b) is actually not notch but a LF rejection with DC block.
- The second and third notches are tuned to 11MHz and 55MHz.
- Another notch is implemented between the RF amps. The 33MHz signal is weak so I expected
to have no saturation at the first amplifier.
- As you see from the DC path, the transimpedance of the DC path is 2k V/A. If this is too high,
we need to replace R9 and R11 at the same time. TP1 is providing +10V such that the total
reverse bias becomes 25V without bringing a special power supply.
The transimpedance is measured with an amplitude modulated diode laser.
The transimpedance is 1k V/A ish. It is already at the edge of the bandwidth.
If we need more transimpedance at 165MHz, we should replace
the PD with FFD-100 (I have one) and apply 100V of reverse bias.
P.3 Current noise spectrum
The measured dark noise voltage spectrum was converted to the equivalent current noise at the diode.
The measured transimpedance is ~1.2kV/A.
The reduction of the transimpedance above 100MHz has been seen as 165MHz is already at the edge of the bandwidth.
If we need more transimpedance at 165MHz, we should replace the diode with FFD-100 (I have one) and apply 100V of reverse bias.
P.4 Shot-noise intercept current
Shot-noise intercept current was measured with a white light from a light bulb.
This measurement suggests the shot-noise intercept current of 1mA, and transimpedance of 1.5kV/A.
After familiarizing myself with Altium, I drew up the attached schematic for the ISS to be used in the CTN experiment. The filename includes 'abbott-switch' as I am using an Altium component (the switch, in particular), that he created. The MAX333A actually has 20 pins on a single component, but the distributed component that he created is useful for drawing uncluttered schematics. I won't be using all of the pins on this switch, but for completeness, I have included the 3rd and 4th portion of the full component in the upper right hand corner.
Currently, the schematic includes the voltage reference (AD586), a LP filter for the reference signal, the differential amplifier stage to obtain the error signal and then finally all of the filter stages. The schematic does not include the RMS detection and subsequent triggering of each filter stage. The TRIGGER 1 signal is a user input (essentially the on button) while the TRIGGER 2 signal will flip the second switch when the RMS noise has decreased sufficiently after the first filter stage has been turned on.
PCB layouts will be done once I understand that part of Altium
NOTE THAT I HAVE DELETED ELOG 8798 AS IT WAS A DUPLICATE OF THIS ONE.
I wanted this elog to be in reply to a previous one and I couldn't figure out how to change that in an elog I already submitted.
This is an update on the situation as far as PZT installation is concerned. I measured the required cable (PZT driver board to PZT) lengths for the X and Y ends as well as the PSL table once again, with the help of a 3m long BNC cable, just to make sure we had the lengths right. The quoted cable lengths include a meter tolerance. The PZTs themselves have cable lengths of 1.5m, though I have assumed that this will be used on the tables themselves. The inventory status is as follows.
I also did a preliminary check on the driver boards, mainly to check for continuity. Some minor modifications have been made to this board from the schematic shown here (using jumper wires soldered on the top-side of the PCB). I will have to do a more comprehensive check to make sure the board as such is functioning as we expect it to. The plan for this is to first check the board without the high-voltage power supply (using an expansion card to hook it up to a eurocrate). Once it has been verified that the board is getting powered, I will connect the high-voltage supply and a test PZT to the board to do both a check of the board as well as a preliminary calibration of the PZTs.
To this end, I need something to track the spot position as I apply varying voltage to the PZT. QPDs are an option, the alternative being some PSDs I found. The problem with the latter is that the interfaces to the PSD (there are 3) all seem to be damaged (according to the labels on two of them). I tried connecting a PSD to the third interface (OT301 Precision Position Sensing Amplifier), and hooked it up to an oscilloscope. I then shone a laser pointer on the psd, and moved it around a little to see if the signals on the oscilloscope made sense. They didn't on this first try, though this may be because the sensing amplifier is not calibrated. I will try this again. If I can get one of the PSDs to work, mount it on a test optical table and calibrate it. The plan is then to use this PSD to track the position of the reflected beam off a mirror mounted on a PZT (temporarily, using double sided tape) that is driven by feeding small-amplitude signals to the driver board via a function generator.
The LEMO connector on the PZTs have the part number LEMO.FFS.00, while the male SMB connectors on the board have the part number PE4177 (Pasternack)
Plan of Action:
The wiring scheme has been modified a little, I am uploading an updated one here. In the earlier version, I had mistaken the monitor channels as points from which to log data, while they are really just for debugging. I have also revised the coaxial cable type used (RG316 as opposed to RG174) and the SMB connector (female rather than male).
- The new REFL165 PD was installed on the AP table
- The REFL165I/Q signals are now showing sensible and robust PRCL/MICH signals
- PRMIsb was locked only with these REFL165 signals
- Installation of the REFL165 PD
We prepared the REFL165 PD for the 4" optical height. The actual issue was the power supply for the PD.
We soldered wires between the PD and the RF PD interface break-out board. Then the PD interface
cable for the old REFL165 (iLIGO style) was connected.
At the REFL port, most of the light is rejected by the first beam splitter (R=90%?). We attenuated the beam by a factor of 10
using an ND filter. The new PD showed the DC output of ~10V. This corresponds to the photocurrent of 5mA.
(cf. the shot-noise intercept current is ~1mA)
The output of the REFL165 PD was checked with the RF spectrum analyzer. It was a bit surprising but we had a forest of
RF signals betwen 11MHz and 178MHz. We tried to use a high-pass filter with fc=100MHz (SPH-100) but still the rejection
was not enough. We ended up with using SPH-150 (fc=150MHz).
- Whitening / Demodulation phase
Then we connected the RF output to the SMA cable to the LSC rack. We immediately saw the nice signals from REFL165I/Q
channels, namely sensible structure of pendulum resonances (1/3/16Hz peaks) and floor level.
The whitening level was changed from 21dB to 45dB (max). The DC offsets in the I/Q channels (of the order of 2000~4000)
were removed by the ./LSC/LSCoffset script.
Firstly we locked the PRMI with the usual signals (REFL33I and AS55Q).
The demodulation phase was roughtly tuned (1deg precision) such that the Q phase signal is minimized,
assuming most of the signal is coming from PRCL. Our choise is 74deg.
In this configuration, PRCL shows same quality of signal as our prefered PRCL (i.e. REFL33I) in the amplitude and the sign.
We switched to the REFL165 signal by handing off at the input matrix. The input matrix element for REFL165_I was gradually
increasded up to 0.8 while the element for REFL33I was gradually reduced to 0. We did the same for REFL165_Q with the element of 0.2.
Now we tried locking with REFL165I/Q from the beginning. Once the alignment is adjusted, the lock was immediately obtained
only with REFL165I/Q. Today we did not adjusted the ASC stuff (OPLEVs and PRM ASC) so the lock was not long (<1min). Particularly
ITMX poiting kept drifting and it made the lock difficult. We should check the oplev setup carefully.
- LSC summary
Signal source: REFL165I (74deg) / Whitening gain 45dB
Normalization sqrt(POP110I x 0.1) / Trigger POP110I 100up 3down
Servo: input matrix 0.80 -> PRCL Servo FM3/4/5 Always ON G=+2.50
Actuator: output matrix 1.00 -> PRM
Signal source: REFL165Q (74deg) / Whitening gain 45dB
Normalization sqrt(POP110I x 10.0) / Trigger POP110I 100up 3down
Servo: input matrix 0.20 -> MICH Servo FM4/5 Always On G=-40
Actuator output matrix -1.00 -> ITMX / +1.00 -> ITMY
- Refine the PRM asc servo (AC coupled)
- Align oplevs
- ITMX oplev is drifting quickly (~1min time scale)