Might have to also get the OL screens that go with this new code to see, but the calibrations don't go into the matrix, but rather into the OLPIT/OLYAW filter banks which follow the division, but before the servo filter banks.
I've lowered the UGFs for the transmission QPD servos to ~1-2Hz, and made it just an integrator. I left the arms locked with the QPD servos on for a few hours during the daytime today, and they succesfully prevented the Y arm from losing power from alignment drift for ~4 hours. Turning the servo off caused TRY to drop to ~0.6 or so.
The X arm was only held for 2 hours or so, because after some unlock/drift event the power was below the servo trigger threshold. However, after gently nudging ETMX to get the transmission above the threshold, the servo kicked in, and brought it right back to TRX=1.0
Unfortunately, daqd was dead for much of the day, so I don't have much data to show; the trend was inferred from the wall striptool.
It is not proven that there aren't further issues that prevent this from working with higher / more dynamic arm powers, but this is at least a point in favor of it working.
EDIT: Here's a screenshot of the wall StripTool. Brown is TRY, blue is TRX. The downturn at the very end is me deactivating the servos.
There is no scientific justifcation for the 0.9 threshold. Really, I should look at the noise/SNR again, now that there is some ND filtering on the QPDs.
Back on Feb 20th (elog 11056) Q replaced all of our oplev parts with the aLIGO version.
Unfortunately, after this it has seemed like there was something not quite right with the optical lever servos.
Since, when the models were changed which gave us an extra underscore in the oplev names, Q did a find-and-replace in the foton text files, I was worried that this might have broken things. I'm not entirely sure how it would have broken them (I didn't see any difference in a diff), but I've heard enough horror stories about the delicacy of the foton text files.
Anyhow, I opened the last archived foton files from just before Q made the change, and copy-and-pasted the design strings from the old filter banks to the new ones. Hopefully this fixes things.
Alignment is making it tough for locks to last more than 10 minutes. Many (but not all) locklosses correlate with some optic drifting away, and taking all of the light with it. The other locklosses are the quick ones that seem to pop up out of nowhere; we haven't made any headway on these. We wanted to get to a state where we could just let the interferometer sit for some minutes, to explore the data, but got caught up with alignment and PRMI things.
We're finding that both ITMs experience some DC force when entering full PRFPMI lock. I will calculate the torque expected from radiation pressure + offset beam spot, especially for ITMX, where we choose the spot position to be uncontrolled by ASS.
I set up the QPD ASC servos to act in a common/differential way on the ETMs. The C1:ASC-XARM_[PIT/YAW] filter modules act on the common alignment, whereas the C1:ASC-YARM_[PIT/YAW] filter modules act on the differential alignment. This can soon be cleaned up with some model renaming to reduce confusion.
Using DC oplev values as a guide, we are hand tuning ITM alignment once the AO path is engaged and we see the DC drift occurring. Then, we set the QPD servo offsets and engage them.
In this manner, we were able to lock the interferometer at:
We made the PRMI transition to 1f numerous times, but found that the sideband power fluctuations would get significantly worse after the transition.
We found that the gains that were previously used were too small by a factor of a few. There is a DC change visible in REFL165 before and after the transition (Also POP55, aka REFL55, is not DQ'd ). Really, it isn't certain that we've zero'd the offset in the CARM board either, so REFL55's zero crossing isn't necessarily more trustworthy that REFL165's. We can go back in the data and do some 2D histograming to see where in the error signal space the sideband power is maximized.
I ran the "off" script for the Xarm ASS, followed by the "on" script, and now the Xarm ASS doesn't work. Usually we just run the freeze/unfreeze, but I ran the off/on scripts one time.
Koji, if you have some time tomorrow, can you please look at it? I am sorry to ask, but it would be very helpful if I could keep working on other things while the ASS is taken care of.
Steve, can you please find a cable that goes from the LSC rack to the IOO rack (1Y2 to 1X2), or lay a new one? It must be one single long cable, without barrels sticking it together. This will help me actuate on the Marconi using the LSC rack's DAC.
I spent a day to fix the XARM ASS, but no real result. If the input of the 6th DOF servo is turned off, the other error signals are happy
to be squished to around their zeros. So this gives us some sort of alignment control. But obviously a particular combination of the
misalignment is left uncontrolled.
This 6th DOF uses BS to minimize the dither in ITMX yaw. I tired to use the other actuators but failed to have linear coupling between
the actuator and the sensor.
During the investigation, I compared TRX/TRY power spectra. TRX had a bump at 30Hz. Further investigation revealed that the POX/POY
had a big bump in the error signals. The POX/POY error signals between 10-100Hz were coherent. This means that this is coming from
the frequency noise stabilized with the MC. (Is this frequency noise level reasonable?)
The mysterious discovery was that the bump in the transmission exist only in TRX. How did the residual frequency noise cause
the intensity noise of the transmission? One way is the PDH offset.
Anyway, Rana pointed out that IMC WFS QPDs had large spot offsets. Rana went to the AS table and fixed the WFS spot centering.
This actually removed the bump in TRX although we still don't know the mechanism of this coupling.
The bump at 30Hz was removed. However, the ASS issue still remains.
Today I tried some things, but basically, lowering the input gain by 10 made the thing stable. In the attached screenshotstrip, you can see what happens with the gain at 1. After a few cycles of oscillation, I turned the gain back to 0.1.
There still is an uncontrolled DoF, but I that's just the way it is since we only have one mirror (the BS) to steer into the x arm once the yarm pointing is fixed.
Along the way, I also changed the phase for POX, just in case that was an issue. I changed it from +86 to +101 deg. The attached spectra shows how that lowered the POX_Q noise.
I also changed the frequencies for ETM_P/Y dither from ~14/18 Hz to 11.31/14.13 Hz. This seemed to make no difference, but since the TR and PO signals were quieter there I left it like that.
This is probably OK for now and we can tune up the matrix by measuring some sensing matrix stuff again later.
Thank you both.
I have updated the .snap file, so that it'll use these parameters, as Rana left them. Also, so that the "unfreeze" script works without changes (since it wants to make the overall gain 1), I have changed the Xarm input matrix elements from 1 to 0.1, for all of them. This should be equivalent to the overall gain being 0.1.
X arm was far out in yaw, so I reran the ASS for Y and then X. Ran OK; the offload from ASS outputs to SUS bias is still pretty violent - needs smoother ramping.
After this I recentered the ITMX OL- it was off by 50 microradians in pitch. Just like the BS/PRM OLs, this one has a few badly assembled & flimsly mounts. Steve, please prepare for replacing the ITMX OL mirror mounts with the proper base/post/Polaris combo. I think we need ~3 of them. Pit/yaw loop measurements attached.
Based on the PEM-SEIS summary page, it looked like GUR1 was oscillating (and thereby saturating and suppressing the Z channel). So I power cycled both Guralps by turning off the interface box for ~30 seconds and the powering back on. Still not fixed; looks like the oscillations at 110 and 520 Hz have moved but GUR2_X/Y are suppressed above 1 Hz, and GUR1_Z is suppressed below 1 Hz. We need Jenne or Zach to come and use the Gur Paddle on these things to make them OK.
From the SUS-WatchDog summary page, it looked like the PRM tripped during the little 3.8 EQ at 4AM, so I un-tripped it.
Caryn's temperature sensors look like they're still plugged in. Does anyone know where they're connected?
Looking at the summary page trends from today, you can see that the MC transmission is pretty flat after I zeroed the MCWFS offsets. In addition, the transmission from both arms is also flat, indicating that our previous observation of long term drift in the Y arm transmission probably had more to do with bad Y-arm initial alignment than unbalanced ETMY coil-magnets.
Much like checking the N2 pressure, amount of coffee beans, frames backups, etc. we should put MC WFS offset adjustment into our periodic checklist. Would be good to have a reminder system that pings us to check these items and wait for confirmation that we have done so.
Tonight, I've taken a bunch of data where the PRC is carrier locked and the ITM oplevs have the DC coupling FM turned on, as we use during locking. This is to inform new feedforward filters to stabilize the PRC angular motion, by using Wiener filtering with the POP QPD as the target, and local seismometers/accelerometers as witnesses. So far I've looked at the 1800 seconds leading up to GPS time 1122885600, but there has been plenty of locked time tonight if I need to retrieve more.
I've also measured the PRM ASC output torque -> POP QPD spot motion with high (>0.95) coherence from 0.1Hz to 10Hz.
Prefiltering so far consists of a 4th order elliptic LP at 5 Hz, with the target subtraction band being the 1-3Hz range.
With offline FIR filtering, the RMS pitch motion is reduced by a factor of 3 just with the STS1_X data. IIR fitting remains to be done.
The PRC yaw motion, which is marginally noisier, is a little more tangled up across X and Y.
Plots / filters forthcoming pending more analysis.
Short and sweet of it:
ran the ON script several times and it kept pulling it away from good alignment, even when TRX was > 0.9.
Also, for what reason was this model run at 16 kHz?? Makes no sense to me to have a low frequency servo system run so high. Only makes for more digital precision noise, more CPU time, etc. Of course, running it at 2k would mean having to think about all of the AA filtering needed to go up/down from 2k to 16k.
I've installed new filters for the T240 -> PRM static online angular feedforward that were trained after some of the recent changes to the signal chain of the relevant signals (i.e. the counts->velocity calibration that Rana did for the seismometers, and fixing the improper dewhitening of the POP QPD channels used as the Wiener target.)
Quickly trying them out now shows about the same level of performance as the previous ones, but the real performance I care about is during after-hours locking-time, so I'll take more measurements tonight to be posted here.
In preparation for the measurement of loss maps of arm cavities, I measured the relationship between:
the offset just after the demodulation of dithering loop (C1:ASS-YARM_ETM_PIT_L_DEMOD_I_OFFSET and C1:ASS-YARM_ETM_YAW_L_DEMOD_I_OFFSET)
the angle of ETMY measured with oplev (C1:SUS-ETMY_OL_PIT_INMONC1:SUS-ETMY_OL_PIT_INMON and C1:SUS-ETMY_OL_PIT_INMONC1:SUS-ETMY_OL_PIT_INMON)
while the dithering script is running. With the angle of ETMY, we can calculate the beam spot on the ETMY assuming that the beam spot on the ITMY is not changed thanks to the dithering. What we have to do is to check the calbration of oplev with another way to measure the angle, to see if the results are reliable or not.
I will report the results later.
I got linear relation between these. The results and method are below.
I added offset (C1:ASS-YARM_ETM_PIT_L_DEMOD_I_OFFSET and C1:ASS-YARM_ETM_YAW_L_DEMOD_I_OFFSET) to shift the beam spot on ETMY. For each data point, I measured the difference in angle of ETMY with oplev before and after adding offset. The precedure for each measurement I employed is following:
-- run dither
-- wait until error signals of dithering settle down
-- freeze dither
-- measure angle (10s avg)
-- add offset
The reason why I measured the angle without offset for each measurement is that the angle which oplev shows changed with time (~several tens of minutes or something).
At the maximum values of offsets, the arm transmission power started to degrade, so the range where I can do this measurement is limited by these values as for now. However, we have to shift the beam spot more in order to make loss maps of sufficiently broad area on the mirror (the beam width (w) on ETM; w ~ 5 mm). Then, we have to find out how to shift the beam spot more.
In preparation for the armloss map I checked the calibration of the Y-Arm ITM and ETM OpLevs with the method originally described in https://nodus.ligo.caltech.edu:8081/40m/1247. I was getting a little confused about the math though, so I attached a document at the end of this post in which I work it out for myself and posteriority. Stepping through an introduced offset in the control filter for the corresponding degree of freedom, I recorded the change in transmitted power and the reading of the OpLev channel with the current calibration. One thing I noticed is that the calibration for ITM PIT is inverted with respect to the others. This can of course be compensated at any point in any readout/feedback chain, but it might be nice to establish some sort of convention where positive feedback to the mirror will increase the OpLev reading.
The calibration factors I get are within ~10% of the currently stored values. The table (still incomplete, need to relate to the current values) summarizes the results:
The individual graphs:
I poked around a bit thinking about what we need for a single AS WFS.
New things that we would need:
Things we have:
We'd have 12 new signals to acquire: 4 quadrants x DC, I, Q. In principle the DC part could go into a slow channel, but we have the ADC space to do it fast, and it'll be easier than mucking around with c1iscaux or whatever.
Open question: What to do about AA? A quick search didn't turn up any eurocard AA chassis like the ones we use for the LSC PDs. However, given the digital AA that happens from 64kHz->16kHz in the IOP, we've talked about disabling/bypassing the analog AA for the LSC signals. Maybe we can do the same for the QPD signals? Or, modify the post-demod audioband amplifer in the demod chassis to have some simple, not too agressive lowpass.
POP QPD checkout:
Attachments #1 is the current setup of AUX Y Green locking and it has to be improved because:
About the above two:
One of the example for improvement is just adding a new lens (f=10cm) soon after the doubling crystal. That will make mode matching better (100%) and also make separation better (85 deg) (Attachments #4 and #5). I'm checking whether we have the lens and there is space to set it. And I will measure current power of transmitted main laser in order to confirm the improvement of alignment.
About the last:
I am considering what component is needed.
[ Yuki, Koji, Gautam ]
An alignment of AUX Y end green beam was bad. With Koji and Gautam's advice, it was recovered on Friday. The maximum value of TRY was about 0.5.
[ Yuki, Gautam ]
The setup I designed before has abrupt gouy phase shift between two steering mirrors which makes alignment much sensitive. So I designed a new one (Attached #1, #2 and #3). It improves the slope of gouy phase and the difference between steering mirrors is about 100 deg. To install this, we need new lenses: f=100mm, f=200mm, f=-250mm which have 532nm coating. If this setup is OK, I will order them.
There may be a problem: One lens should be put soon after dichroic mirror, but there is little room for fix it. (Attached #4, It will be put where the pedestal is.) Tomorrow we will check this problem again.
And another problem; one steering mirror on the corner of the box is not easy to access. (Attached #5) I have to design a new seup with considering this problem.
[ Yuki, Steve ]
With Steve's help, we checked a new lens can be set soon after dichroic mirror.
We want to remotely control steeing PZT mirrors so its driver is needed. We already have a PZT driver board (D980323-C) and the output voltage is expected to be verified to be in the range 0-100 V DC for input voltages in the range -10 to 10 V DC.
Then I checked to make sure ir perform as we expected. The input signal was supplied using voltage calibrator and the output was monitored using a multimeter.
But it didn't perform well. Some tuning of voltage bias seemed to be needed. I will calculate its transfer function by simulation and check the performance again tommorow. And I found one solder was off so it needs fixing.
diagram --> elog 8932
Plan of Action:
I fixed the input terminal that had been off, and made sure PZT driver board performs as we expect.
At first I ran a simulation of the PZT driver circuit using LTspice (Attached #1 and #2). It shows that when the bias is 30V the driver performs well only with high input volatage (bigger than 3V). Then I measured the performance as following way:
The result of this is attached #3 and #4. It is consistent with simulated one. All ports performed well.
The high voltage points (100V DC) remain to be tested.
SHEET 1 2120 2120
WIRE 1408 656 1408 624
WIRE 1552 656 1552 624
WIRE 1712 656 1712 624
WIRE 1872 656 1872 624
WIRE 2016 656 2016 624
WIRE 1408 768 1408 736
WIRE 1552 768 1552 736
WIRE 1712 768 1712 736
[ Yuki, Gautam, Steve ]
I calibrated a QPD (D1600079, V1009) and made sure it performes well. The calibration constants are as follows:
X-Axis: 584 mV/mm
Y-Axis: 588 mV/mm
The calibration of QPD is needed to calibrate steeing PZT mirrors. It was measured by moving QPD on a translation stage. The QPD was connected to its amplifier (D1700110-v1) and +-18V was supplied from DC power supplier. The amplifier has three output ports; Pitch, Yaw, and Sum. I did the calibration as follows:
The results are attached. The main signal was fitted with error function and I drawed a slope at zero crossing point, which is calibration factor. I determined the linear range of the QPD to be when the output was in range -50V to 50V, then corresponding displacement range is about 0.2 mm width. Using this result, the PZT mirrors will be calibrated in linear range of the QPD tomorrow.
previous experiment by Gautam for X-arm: elog:40m/8873, elog:40m/8884
I assume this QPD set is a D1600079/D1600273 combo.
How much was the SUM output during the measurement? Also how much were the beam radii of this beam (from the error func fittings)?
Then the calibration [V/m] is going to be the linear/inv-linear function of the incident power and the beam radus.
You mean the linear range is +/-50mV (for a given beam), I guess.
How much was the SUM output during the measurement? Also how much were the beam radii of this beam (from the error func fittings)?
Then the calibration [V/m] is going to be the linear/inv-linear function of the incident power and the beam radus.
Then the calibration factor of the QPD is
X axis: 584 * (POWER / 2.96mW) * (0.472mm / RADIUS) [mV/mm]
Y axis: 588 * (POWER / 2.96mW) * (0.472mm / RADIUS) [mV/mm].
We need to set up a copy of the c1asx model (which currently runs on c1iscex), to be named c1asy, on c1iscey for the green steering PZTs. The plan discussed at the meeting last Wednesday was to rename the existing model c1tst into c1asy, and recompile it with the relevant parts copied over from c1asx. However, I suspect this will create some problems related to the "dcuid" field in the CDS params block (I ran into this issue when I tried to use the dcuid for an old model which no longer exists, called c1imc, for the c1omc model).
From what I can gather, we should be able to circumvent this problem by deleting the .par file corresponding to the c1tst model living at /opt/rtcds/caltech/c1/target/gds/param/, and rename the model to c1asy, and recompile it. But I thought I should post this here checking if anyone knows of other potential conflicts that will need to be managed before I start poking around and breaking things. Alternatively, there are plenty of cores available on c1iscey, so we could just set up a fresh c1asy model...
I calibrated PZT mirrors. The ROUGH result was attached. (Note that some errors and trivial couplings coming from inclination of QPD were not considered here. This should be revised and posted again.)
The PZT mirrors I calibrated were:
I did the calibration as follows:
The calibration factor was
CVI-pitch: 0.089 mrad/V
CVI-yaw: 0.096 mrad/V
Laseroptic-pitch: 0.062 mrad/V
Laseroptic-yaw: 0.070 mrad/V
Previous calibration of the same mirrors, elog:40/8967
Interim Procedure Report:
The current setup of AUX Y-arm Green locking has to be improved because:
What to do
I improved Anti-Imaging board (D000186-Rev.D), which will be put between DAC port and PZT driver board.
It had notches at f = 16.6 kHz and 32.7 kHz, you can see them in the plot attached. So I replaced some resistors as follows:
Then the notch moved to 65.9 kHz (> sampling frequency of DAC = 64 kHz, good!).
(The plot enlarged around the notch frequency and the plot of all channels will be posted later.)
All electronics and optics seem to be ready.
I made a cable which connects DAC port (40 pins) and AI board (25 pins). I will check if it works.
Tomorrow I will change setup for improvement of AUX Y-end green locking. Any optics for IR will not be moved in my design, so this work doesn't affect Y-arm locking with main beam.
While doing this work, I will do:
Before changing setup at Y-end table, I measured the status value of the former setup as follows. These values will be compared to those of upgraded setup.
(These numbers are shown in the attachment #2.)
The setup I designed is here. It can bring 100% mode-matching and good separation of degrees of TEM01, however I found a probrem. The picture of setup is attached #3. You can see the reflection angle at Y7 and Y8 is not appropriate. I will consider the schematic again.
The SHG crystal has the conversion efficiency of ~2%W (i.e. if you have 1W input @1064, you get 2% conversion efficiency ->20mW@532nm)
It is not possible to produce 0.58mW@532nm from 20.9mW@1064nm because this is already 2.8% efficiency.
I measured it with the wrong setting of a powermeter. The correct ones are here:
The calculated conversion efficiency of SHG crystal is 1.2%W.
What about just copying the Xend layout? I think it has good MM (per calculations), reasonable (in)sensitivity to component positions, good Gouy phase separation, and I think it is good to have the same layout at both ends. Since the green waist has the same size and location in the doubling crystal, it should be possible to adapt the X end solution to the Yend table pretty easily I think.
I designed a new layout. It has good mode-matching efficiency, reasonable sensitivity to component positions, good Gouy phase separation. I'm setting optics in the Y-end table. The layout will be optimized again after finishing (rough) installation. (The picture will be posted later)
After installation I measured these power again.
There is a little power loss. That may be because of adding one lens in the beam path. I think it is allowable margin.
While pointing Yuki to the c1asx servo system, I noticed that the filter file for c1asx is missing in the usual chans directory. Why? Backups for it exist in the filter_archive subdirectory. But there is no current file. Clearly this doesn't seems to affect the realtime code execution as the ASX model seems to run just fine. I copied the latest backup version from the archive area into the chans directory for now.
Setting up c1asy:
Now Yuki can work on copying the simulink model (copy c1asx structure) and implementing the autoalignment servo.
Final Procedure Report for Green Locking in YARM:
To do for Green Locking in YARM:
The auto-alignment servo should be completed. This servo requires many parameters to be optimized: demodulation frequency, demodulation phase, servo gain (for each M1/2 PIT/YAW), and matrix elements which can remove PIT-YAW coupling.
To practise the dither alignment servo tuning, I decided to make the ASX system work again (mainly because it has fewer DoFs and so I thought it'd be easier to manage). Setup is: dither PZT mirrors on EX table-->demodulate green transmission at the dither frequencies-->Servo the error signals to 0 by an integrator.
The adjusted demod phases, servo gains were saved to the .snap file which gets called when we run the "DITHER ON" script. Also updated the StripTool template.
I plan to repeat similar characterization on the IR dither alignment servos. I think the tuning of the ASS settings can be done independently of figuring out the mystery of why the TRY level is so low.
I tried implementing a basic PRMI ASC using the POP QPD as a sensor. The POP22 buildup RMS is reduced by a factor of a few. This is just a first attempt, I think the loop shape can be made much better, but the stability of the lock is already pretty impressive. For some past work, see here.
I made a change to the c1ass model to normalize the PIT and YAW POP QPD outputs by the SUM channel. A saturation block is used to prevent divide-by-zero errors, I set the saturation limits to [1,1e5], since the SUM channel is being recorded as counts right now. Model change is shown in the attached screenshots. I compiled and installed the model. Ran the reboot script to reboot all the vertex FEs to avoid the issue of crashing c1lsc.
Attachment #1 - comparison of the POP QPD PIT and YAW output signal spectra with and without them being normalized by the SUM channel. I guess the shape is different between 30-100 Hz because we have subtracted out the correlated singal due to RIN?
This did not have the effect I desired - I was hoping that by normalizing the signals, I wouldn't need to change the gain of the ASC servo as the buildup in the PRC changed, but I found that the settings that worked well for PRMI locked with the carrier resonant (no arm cavities, see Attachment #2, buildup RIN reduced by a factor of ~4) did not work for the PRMI locked with the sideband resonant. Moreover, Koji raised the point that there will be some point in the transition from arms off resonance to on resonance where the dominant field in the PRC will change from being the circulating PRC carrier to the leaking arm carrier. So the response of the actuator (PRM) to correct for the misalignment may change sign.
In conclusion, we decided that the best approach to improve the angular stability of the PRC will be to revive the PRC angualr feedforward, which in turn requires the characterization and repair of the apparently faulty vertex seismometer.
I'd like to revive the PRC angular feedforward system. However, it looks like the coherence between the vertex seismometer channels and the PRC angular motion witness sensor (= POP QPD) is much lower than was found in the past, and hence, the stabilization potential by implementing feedforward seems limited, especially for the Pitch DoF.
I found that the old filters don't work at all - turning on the FF just increases the angular motion, I can see both the POP and REFL spots moving around a lot more on the CRT monitors.
I first thought I'd look at the frequency-domain weiner filter subtraction to get a lower bound on how much subtraction is possible. I collected ~25 minutes of data with the PRC locked with the carrier resonant (but no arm cavities). Attachment #1 shows the result of the frequency domain subtraction (the dashed lines in the top subplot are RMS). Signal processing details:
The coherence between target signal (=POP QPD) and the witness channels (=seismometer channels) are much lower now than was found in the past. What could be going on here?
This afternoon, I kept the PRM locked for ~1hour and then measured transfer functions from the PRM angular actuators to the POP QPD spot motion for pitch and yaw between ~1pm and 4pm. After this work, the PRM was misaligned again. I will now work on the feedforward filter design.
Using the data I collected yesterday, the POP angular FF filters have been trained. The offline time-domain performance looks (unbelievably) good, online performance will be verified at the next available opportunity(see update).
The sequence of steps followed is the same as that done for the MCL FF filters. The trace that is missing from Attachment #1 is the measured online subtraction. Some rough notes:
Update Apr 5 1145pm: