I tried playing around with the Oplev loop shape on ITMY, in order to see if I could successfully engage the Coil Driver whitening. Unfortunately, I had no success tonight.
I was trying to guess a loop shape that would work - I guess this will need some more careful thought about loop shape optimization. I was basically trying to keep all the existing filters, and modify the low-passing that minimizes control noise injection. By adding a 4th order elliptic low pass with corner at 50Hz and stopband attenuation of 60dB yielded a stable loop with upper UGF of ~6Hz and ~25deg of phase margin (which is on the low side). But I was able to successfully engage this loop, and as seen in Attachment #1, the noise performance above 50Hz is vastly improved. But it also seems that there is some injection of noise around 6Hz. In any case, as soon as I tried to engage the dewhitening, the DAC output quickly saturated. The whitening filter for the ITMs has ~40dB of gain at ~40Hz already, so it looks like the high frequency roll-off has to be more severe.
I am not even sure if the Elliptic filter is the right choice here - it does have the steepest roll off for a given filter order, but I need to look up how to achieve good roll off without compromising on the phase margin of the overall loop. I am going to try and do the optimization in a more systematic way, and perhaps play around with some of the other filters' poles and zeros as well to get a stable controller that minimizes control noise injection everywhere.
While staring at epics records all day I noticed something about the PIT/YAW offset sliders and ASS offset offloading to slow channels scripts that I'm not sure others are aware off, so I'll briefly discuss it in this post.
The PIT and YAW sliders directly control soft channels that are hosted on the slow machine. Secondary epics records disentangle them for the individual coils:
These channels are the direct input for the physical output channels that generate the control voltage.
The fast channels for PIT and YAW have a numerical correction factor built in that accounts for differences between the OSEMs, but the slow channels don't. This means that the slow PIT/YAW controls are not entirely orthogonal but have crosstalk on the order of 10 percent. This in itself is not that dramatic, however the offload offsets scripts for the dither alignment use the fast PIT/YAW values as inputs, which represent the necessary adjustments to the OSEMs only after the individual correction factors have been applied. The offloading to slow knows nothing of this calibration difference between the OSEMs. The result is that there is a ~10 percent of the offset correction error on the mirror alignment AFTER offloading. This will of course converge after a few iterations, but in any case it is recommendable to run the dither alignment again after offloading and not offload the new offsets to the fast channels.
I attached a wiring schematic from the slow DAQ to the eurocrate modules. Of these, pins 1-32 (or 1A-16C) and pins 33-64 (17A-32C) are on separate DSub connectors. Therefore the easiest solution is to splice the slow DIO channels into the existing breakouts so we can proceed with the transition. This will still remove a lot of the current cable salad. For the YEND we can start thinking about a more elegant solution (For example a connector on the front panel of the Acromag chassis for the fast DIO) now that the problem is better defined.
This splicing in of fast binary channels we discussed at yesterday's and today's meetings is getting messy with the current chassis. Cleaning up the cable mess was a key point, so I got a 4U height DEEP chassis from Rich and drew up a front panel for a modular approach that we can use at the other 40m locations as well. The front panel will have slots for smaller slot panels to which we can mount the breakout boards as before, so all the wiring that I've done can be transfered to this design. If some new connector standard is required it will be easy to draw a new slot panel from a template, for now I'll make some with two DSub37 and IDC50. Since this chassis is so huge it will have ample space for cross-connects.
I also moved the communication of c1auxex2 with the Acromag units off the martian network, connecting them with a direct cable connection out of the second ethernet port. To test if this works I configured the second ethernet port of c1auxex2 to have the IP address 192.168.114.1 and one of the acromag units to have 192.168.114.11, and initialized an IOC with some test channels. Much to my surprise this actually worked straight out of the box, and the test channels can be accessed from the control room computers without having a direct ethernet link to the acromag modules. huzzah!
Steve: it would be nice to have all plugs- connectors lockable
I don't think this is really a problem - we offload to the fast channels and not to the slow (although we really should offload to the slow channels). I think the best approach is to use the ezcaservo utility to offload the DC part of the ASS control signals to the slow channels, so as to not waste fast channel DAC counts on DC offsets. In principle, this approach should be somewhat immune to the slow channel calibration not being perfect.
We managed to realize stable ASS configuration for Yarm. The transmission of 1.06~1.07 was recovered by introducing intentional beam spot offset in the horizontal direction towards the opposite side of the elliptic reflector. The end table optics were adjusted to have the spots about the center of the mirrors, lenses, and PDs/QPDs.
- The Y arm was manually aligned with a given input axis. The transmission was ~0.8.
- Then, TT2 was moved in yaw such that it introduced the horizontal beam shift at the end. By moving the spot to the opposite side of the reflector. The transmission ~0.95 was obtained after patient alignment work.
- Went to the end table and checked the spots. The beam was not at the center of the last 1" lens for the Trans PDs. The beam steering was adjusted to have the spot nicely going through the lens and the mirrors. This made the transmission level to be ~1.05.
- The beam centering on the Trans PD was checked and adjusted.
- The beam centering on the RF BBPD for the arm scan was checked. The spot was too big for that PD. The lens was slightly moved away from the PD to make the spot on the BBPD small. Now the PD saw the plateu when the steering was scanned (i.e. the spot is small enough).
- With the Y arm locked with MC2, the servo gain needs to be 0.012 instead of nominal 0.015 with ETMY to prevent from servo oscilating.
- First of all, only the bottom 4 loops out of total 8 loops were tuned. They are the servos for the beam alignment with regard to the caivty. The linearity and the zero crossings were checked with regard to the reference alignment. All of these 4 showed offsets that causes the servo running away. Don't know the reason of this offset, but it is freq dependent. Therefore the dither freqs were tuned to make the offset zeroed, and tuned the demod phases there. This kept the transmission as high as the reference (~1.05)
- This allowed us to play with the spot position a bit by tuning the caivty alignment. In the end, the transmission of ~1.08 was obtained. Using this alignment, A2L offset for ETMY Yaw was determined to be +17 (to make the error signal -17). This offset produces almost a beam radius (5mm) shifted on the end mirror towards the opposite direction of the reflector.
- The nominal servo setting made the spot servo running away. Gautam pointed out that this could be a gain hierarchy problem (i.e. the spot servos are too fast). We ended up reducing the gain of the servo from 1.0 to 0.3 to make the spot servo stable.
- All the ASS setting was stored in a new snap file "script/ASS/ASS-DITEHR_ON.snap". The previous snap was saved to "script/ASS/ASS_DITHER_ON_preVent201807.snap". This did not save the exc gains of the oscillators. Therefore "DITHER_ASS_ON.py" was modified to have the new exc gains (CLKGAIN). The old values are stored in the comments in this script.
Overall this is not an ideal situation as we don't know what is the actually cause of the offsets in the dither error signals. We expect to correct the beam clipping and the suspension sooner or later. Therefore, we will come back to the ASS again once the other issues are corrected.
After I effected the series resistance change for ETMX, the X arm ASS didn't work (i.e. IR transmission would degrade if the servo was run). Today, we succeeded in recovering a functional ASS servo .
So both arms have working dither alignment servos now. But remember that the Y arm ASS gains have been set for locking the Y arm with MC2 as the actuator, not ETMY.
We then tried to maximize GTRX using the PZT mirrors, but were only successful in reaching a maximum of 0.41. The value I remember from before the vent was 0.5, and indeed, with the IR alignment not quite optimized before we began this work, I saw GTRX of 0.48. But the IR dither servo signals indicate that the cavity axis may have shifted (spot position on the ITM, which is uncontrolled, seems to have drifred significantly, the Pitch signal doesn't stay on the StripTool scale anymore). So we may have to double check that the transmitted beam isn't falling off the GTRX DC PD.
While working on the single arm alignment, I noticed that today, i was able to get the X arm transmission back to ~1.22, and the GTRX to 0.52. These are closer to the values I remember from prior to the vent. Running the dither alignment promptly degrades both the green and IR transmissions. Since the pianosa SL7 upgrade, I can't use the sensoray to capture images, but to me, the spot looks a little off-center in Yaw on ETMX in this configuration, I've tried to show this in the phone grab (Atm #2). Maybe indicative of clipping somewhere upstream of ITMX?
Anyways, I'm pushing onwards for now, something to check out in the daytime.
In an earlier elog, I had claimed that the suspected clipping of the cavity axis in the Y arm was not solved even after shifting the heater. I now think that it is extremely unlikely that there is still clipping due to the heater. Nevertheless, the ASS system is not working well. Some notes:
We have to systematically re-commission the ASS system to get to the bottom of this.
We were wondering yesterday if we can somehow test the ASS system in air. Though the arm cavity can be locked with the low power IMC transmission, I think the dither would render the POY lock unstable. But I wonder if we can use the green beam for a test. The steering PZTs installed by Yuki can serve the role of TT1/TT2 and we can dither the arm cavity mirrors while the green TEM00 mode is locked to the arm no problem. This would at least give us confidence that the actuation of ETMY/ITMY are okay (in addition to the other suspension tests). Then on the sensing side, after pumping down, the only thing we'd be foiled by is in-vacuum clipping or some major gunk on ETMY - everything else should be de-buggable even after pumping down?
I think most of the CDS infrastructure for this is already in place.
[Kruthi, Gautam, Rana]
Gautam installed Atom text editor on Pianosa yesterday.
MC spot position measurement scripts (these can be found in /scripts/ASS/MC directory):
Late elog: Original time of work Tue Aug 17 20:30 2021
I locked the arms yesterday remotely and tried running runASS.py scripts (generally ran by clicking Run ASS buttons on IFO OVERVIEW screen of ASC screen). We have known for few weeks that this script stopped working for some reason. It would start the dithering and would optimize the alignment but then would fail to freeze the state and save the alignment.
I found the caget('C1:LSC-TRX_OUT') or caget('C1:LSC-TRY_OUT') were not working in any of the workstations. This is weird since caget was able to acquire these fast channel values earlier and we have seen this script to work for about a month without any issue.
Anyways, to fix this, I just changed the channel name to 'C1:LSC-TRY_OUT16' when the script checks in the end if the arm has indeed been aligned. It was only this step that was failing. Now the script is working fine and I tested them on both arms. On the Y arm, I misaligned the arm by adding bias in yaw by changing C1:SUS-ITMY_YAW_OFFSET from -8 to 22. The script was able to align the arm back.
With limited proof of working for a few times (but robustly), I'm happy to report that ASS on YARM and XARM is working now.
The issue is that PR3 is not placed in correct position in the chamber. It is offset enough that to send a beam through center of ITMY to ETMY, it has to reflect off the edge of PR3 leading to some clipping. Hence our usual ASS takes us to this point and results in loss of transmission due to clipping.
Solution: We can not solve this issue without moving PR3 inside the chamber. But meanwhile, we can find new spot positions on ITMY and ETMY, off the center in YAW direction only, which would allow us to mode match properly without clipping. This would mean that there will be YAW suspension noise to Length coupling in this cavity, but thankfully, YAW degree of freedom stays relatively calm in comparison to PIT or POS for our suspensions. Similarly, we need to allow for an offset in ETMX beam spot position in YAW. We do not control beam spot position on ITMX due to lack of enough actuators to control all 8 DOFs involved in mode matching input beam with a cavity. So instead I found the right offset for ITMX transmission error signal in YAW that works well.
I found these offsets (found empirically) to be:
These offsets have been saved in the burt snap file used for running ASS.
I'll reiterate here procedure to run ASS.
I updated c1ass model today to use PR2 PR3 instead of TT1 TT2 for YARM ASS. This required changes in c1su2 too. I have split c1su2 into c1su2 (LO1., LO2, AS1, AS4) and c1su3 (SR2, PR2, PR3). Now the two models are using 31 and 21 CPU out of 60 which was earlier 55/60. All changed compiled correctly and have been uploaded. Models have been restared and medm screens have been updated.
We proceeded with the TODO items from .
We tried to update the YARM ASS output matrix to appropriately feed back the ETM and ITM T error signals (input beam pointing) to actuate on PR2 and PR3. Using the existing matrix (used for actuating on TT1 and TT2) led to diverging error signals and big drops in transmission. We iteratively tried flipping signs on the matrix elements, but exhausting all combinations of parity was not efficent, since angular sign conventions could be arbitrary across optics.
We decided to go ahead with Yuta's suggestion of dithering on PR2 and PR3 for input beam pointing, instead of ETMY and ITMY. This would simplify the output matrix greatly since dithering and actuation would now be applied to the same optics. Anchal made the necessary model changes. We tried a diagonal identity submatrix (for input pointing) to map each error signal to the corresponding DOF. With the length (L) control loops disengaged, this configuration decreased all T error signals and increased YARM transmision. We then re-engaged the L loops: the final result is that YARM transmission reached just below 1 [Attachment 1].
Although we've usually used this empirical way to run the alignment, I'd prefer if we had an analytic / numerical model for it.
Radhika, coud you look into writing down the equations for how the various dithers show up in the various error signals into a Overleaf doc? I'm thinking about this currently for the IMC, so we can zoom about it next week once you've had a chance to think about it for a few days. It would be helpful to have this worked out for the 40m alignment for future debugging. Co-located dither and actuation is not likely the best way to do things from a noise and loop x-coupling point of view.
We're trying to reduce the demodulated error signals after running the ASS script for the XARM.
After running the ASS script, we initially tried to play around with the with the EXC Gain and brought all of them down to 300. It didn't make a huge difference on the error signals or the transmission signal. We then tried tweaking the XARM_OUT_MTRX by flipping the signs/changing the magnitude but it mostly just made things worse. We then changed that matrix to closely resemble the YARM_OUT_MTRX (structurally). At an XARM GAIN of about 0.02, with the EXC Gains at 300 and the XARM_SEN_MTRX having 1.00 on the diagonal terms, the error signals slowly started converging to 0. However, X_ARM_ETM_PIT_L_DEMOD_I_OUT16 kept oscillating which wasn't good.
We later tried looking at the spectrum for the demodulated signals to see if there were any peaks at frequencies outside of the delmodulating frequencies. Most of them looked consistent with peaks at demodulation frequencies (and modes) and signal input frequencies (60Hz and modes). We compared the spectrum with the YARM where everything was optimized, there were no noticable differences.
Later in the day, both XARM and YARM lost lock a couple of times for reasons unknown. We restored to an earlier point in the day (12:00) suspecting there was misalignment with the input optics.
THE XARM ASS MYSTERY REMAINS.
We resumed playing around with ASS for XARM. We approached each error signal one at a time to try to determine the sign of actuation and ensure the error was reduced.
1. Resume nailing down the "fast" control by using ITM transmission error signal to feedback to ITM
2. Add in "slow" pointing control by feeding back ETM LSC error (centering) to BS.
*NOTE* We tried to do this before feeding back any ITM error signal, but this immediately caused transmission to drop because ITM had no way to adjust to new input pointing.
I recommend usinng the DC offset method that Koji and I used for measuring the IMC WFS sensing matrix (not the AC method that Anchal used). With a sensing matrix, you should be able to do some partial inversion.
Without any sensing matrix inversion, we would have to rely on a gain hierarchy for getting the loops to work.
With some approximate matrix inversion, the loops are more indepedent of each other. Also if you look at the spectrum of the error signals, it should be clear that the sensing noise is pretty large, and so that sets a natural upper limit to the UGFs. We only want integrator (1/f) loops, but the LPFs cause some extra phase lag.
To create the sensing matrix, we tried the DC offset method by giving offsets in the Pitch and Yaw DOFs for ITMX, ETMX and the BS respectively. The signals we looked at were the demodulated ETMX_L, ETMX_T and ITMX_T. We wrote a quick notebook that does the following things for each DOF:
1. Calculate the mean error signal (over 10s)
2. Give an offset of 3 steps in each DOF corresponding to their step size serially with some buffer time (restoring the offset after each DOF)
3. Calculate the new mean error signal (over 10s)
4. Find the difference in error signals and divide by their respective step sizes to get each sensor's sensitivity to the offset.
5. Invert to obtain the sensing matrix.
Sensing Matrix for Pitch:
Sensing Matrix for Yaw:
*NEED TO TRY THESE OUT*
The Output Matrix for the from intuition was set to *Attachment 2* which improved the net average transmission (see Attachment 1), but wasn't really stable after the improvement.
We recalculated the sensing matrix for XARM ASS by collecting each sensor's step response to an offset in each DOF. This produced the following dense output matrix A (see Attachment 1 for rows/cols):
[[-0.02047695, 0. , -0.10262752, 0. , -0.0157128 , 0. ],
[ 0. , 0.16908344, 0. , -0.00929291, 0. ,-0.35916455],
A = [-0.28050764, 0. , 0.26982002, 0. , -0.55100297, 0. ],
[ 0. , 0.85501491, 0. , 0.0606197 , 0. , 0.27568672],
[-0.95963335, 0. , 0.95742611, 0. , 0.83435534, 0. ],
[ 0. , -0.49026554, 0. , -0.99811768, 0. , 0.89162641]]
Turning the XASS gain up slowly to ~0.15, we observed that several error signals diverged and transmission started to drop. Debugging this matrix proved difficult since there were many nonzero elements to consider. So we reverted to build the matrix from our intuition, considering the centering and input pointing loops, and using the YASS output matrix as a reference.
The YARM ASS servo gains are all +1. The YASS output matrix has the following length (centering) signal mapping:
ITM PIT/YAW L ----> ETM feedback
(ETM PIT/YAW L - ITM PIT/YAW L) ----> ITM feedback
We mirrored this in the XASS output matrix. Note that previously the ITM L error signals were not used for XASS. To simplify the process, we decided to just work out the beam centering first and ignore the input pointing coming from the beam splitter (setting BS PIT/YAW matrix elements to 0). We also set all the XARM ASS servo gains to +1. See the output matrix below:
We cleared the outputs and turned on the XARM GAIN slowly (0.1) and immediately noticed the YAW signals in ETM start to diverge (C1:ASS-XARM_ETM_YAW_T_DEMOD_I_OUT16, C1:ASS-XARM_ETM_YAW_L_DEMOD_I_OUT16). We turned down the XARM gain and flipped the sign for the signal going to ETM YAW. (suspect a difference in sign convention).
To check the stability, we sequentially gave offsets in PIT/YAW for ETM and ITM. We saw the signal (C1:ASS-XARM_ETM_PIT_L_DEMOD_I_OUT16) oscillate wildly at a frequency of ~(1/15 Hz). We suspected the ASS loop was driving these oscillations so we turned down the gain going to ETM PIT to 0.25 which worked really well and the transient oscillation of further checks was gone.
We saw similar wild oscillatory signals in ITM PIT (C1:ASS-XARM_ITM_PIT_T_DEMOD_I_OUT16, C1:ASS-XARM_ITM_PIT_L_DEMOD_I_OUT16) on applying offsets so we reduced the gain going to ITM PIT to 0.3. (0.25 and 0.3 are arbitary relatively smaller weights, can be fine tuned).
We checked the stability of this setup as a whole by giving a few offsets to ITMX and ETMX, with a servo gain of 0.15 it did a great job! (0.25 made it diverge once again). See final state for centering in Attachment 1, and error signal suppression in Attachment 2. (Ignore XAUX transmission in grey - we were toggling the shutter.) Note that the Length error signals were successfully suppressed, but the dark green/brown Transmission error signals were not fed back and thus remain nonzero.
WE SHALL INVESTIGATE THE INPUT POINTING NEXT FEEDING BACK TO THE BS and ITMX. We will give an update shortly about whether restoring XARM ASS is feasible by Monday.
This post summarizes XARM ASS efforts from Friday 9/8 and Saturday 9/9.
On Friday, we continued with our previous output matrix that used the length error signals (ITM/ETM PIT/YAW L) to feed back to ITMX and ETMX (see the previous ELOG). In that state we did not use the transmission error signals and had no feedback going to the BS. We then tried to use the transmission error signals ITM PIT/YAW L as a proxy for BS input pointing and feed them back to the BS. For both PIT and YAW, both signs of feedback resulted in diverging T error signals and a decrease in transmission.
On Saturday, we used the transmission error signals (ITM/ETM PIT/YAW T) in the sensing matrix to build the output matrix. We got it to a state where we could get the controlled error signals to converge by just feeding back to the ITMX and ETMX (Attachments 1,2). Once we had this working, we tried to feed back a combination of (ETM PIT/YAW L and ITM PIT/YAW T) to correct BS pointing. However, any combinations and signs to the BS dropped transmission and led to diverging error signals.
We then attempted to use the latest working XASS output matrix (before the acromags were pulled out) and see the effect of flipping signs in there (one optic+DOF at a time) We then tried to use the sign logic from the previously working ETM/ITM feedback we got partially working; however the error signals did not converge with any combination.
- We are able to successfully feed back to ITMX and ETMX, using either length or transmission error signals. It is when we try to add BS feedback that ASS fails. This can be due to the fact that we need to consider the relative servo gains when treating these loops separately, like Koji mentioned.
- The sensing matrix approach might be the only way to simultaneously optimize feedback for all optics, avoiding the need to tune servo gains. We will revisit this approach on Monday.
- Koji pointed out that we are reading out the low-passed error signals in order to calculate each step response - we will need to consider our sampling rate and duration of averaging accordingly.
- It will be harder to iteratively flip signs of each matrix element for this dense matrix, and we will have to be clever about which sign combinations we try for actuation.
[Radhika, Murtaza, Paco]
Today we decided to take a closer look at the demod phases of the T and L error signals for XARM ASS. By eye we tuned the phases to minimize the signal in Q. Here are the new demod phases:
(THE DEMODULATION PHASE VALUE DO NOT RESTORE BACK TO THE ORIGINAL VALUES WHEN DITHER IS TURNED ON.)
C1:ASS-XARM_ETM_PIT_L_DEMOD_PHASE: 15 -> 35
C1:ASS-XARM_ETM_YAW_L_DEMOD_PHASE: 176 -> 180
C1:ASS-XARM_ITM_PIT_L_DEMOD_PHASE: 0 -> -5
C1:ASS-XARM_ITM_YAW_L_DEMOD_PHASE: 10 -> -10
C1:ASS-XARM_ETM_PIT_T_DEMOD_PHASE: 10 -> -3.5
C1:ASS-XARM_ETM_YAW_T_DEMOD_PHASE: -10 -> -5
C1:ASS-XARM_ITM_PIT_T_DEMOD_PHASE: 0 -> -15
C1:ASS-XARM_ITM_YAW_T_DEMOD_PHASE: -5 -> 30
We also noticed that MEDM indicator for dithering on (white --> green LO symbol) for ETM_YAW_L_OSC was tied to the wrong excitation gain channel (C1:ASS-XARM_ITM_YAW_OSC_CLKGAIN instead of C1:ASS-XARM_ETM_YAW_OSC_CLKGAIN). We went ahead and changed this in [insert medm file location]. So now the right green LO symbol appears when the appropriate excitation is turned on.
I manually aligned XARM and calculated the output matrix using scripts/ASS/getASSOutMat.py. This script gives an offset to the ETM/ITM/BS in pitch and yaw and records all error signals to construct a sensing matrix (8 err signals x 6 actuators). Then the ITMX PIT/YAW L error signal rows are removed (as per XASS historical practice) and the resulting square matrix is inverted.
A few times I loaded the output matrix and turned up the ASS servo gain, but this caused error signals to diverge and transmission to drop. I realigned XARM in between each time and recalcuated the output matrix until one looked promising [Attachment 1].
- From a decently aligned state, the servo maintained transmission and controlled error signals began to converge to 0.
- However when I gave an offset to some optic, transmission started to recover but then dropped even as all controlled error signals were minimized [Attachment 2]. A zoomed version of this is in Attachment 3.
- ITMX PIT L (light blue) / ITMX YAW L (light pink) are uncontrolled
- ETMX PIT L (dark blue) has a ~0.2 Hz oscillation, but its mean error is roughly 0. This behavior has been present since XASS stopped working, but it is yet to be understood.
The output matrix is successfully reducing the error signals it controls, but transmission is not maximized. I wonder if it's stuck in a local minimum, but I haven't convinced myself that these error signals can be 0 when the beam spots aren't centeredand cavity/beam axes aren't matched. Maybe we need to use the ITMX PIT/YAW L error signals.
1. Assume pitch and yaw are decoupled and calculate a checkerboard output matrix, and debug each angular DOF at a time. I briefly did this today and got the pitch loop to increase transmission, but not the yaw loop.
2. Altering the sensing matrix to include ITMX PIT/YAW L error signals. Then I'll use the same script to compute the output matrix.
The winning approach was considering T and L loops separately, and adjusting the gain hierarchy. After chatting with Rana, we reconfirmed that the centering length (L) loop should feed back to the cavity optics, and the pointing transmission (T) loop should feed back to the BS. We discussed dithering the BS to generate a pointing error signal, but it turned out this wasn't necessary since a solution was found with just dithering the ITM and ETM. I decided to make the T loop fast and the L loop slow, as was done previously by Anchal.
Attachment 1 shows the final servo gains and output matrix, along with the Striptool showing maximized transmission and suppression of error signals.
The intuition was to use the ITM T signals (transmission demodulated at ITM dither freq) as a proxy for the BS pointing error, as was done previously:
ITM PIT/YAW T --> BS PIT/YAW
Next, ETM T signals were fed back to the ETM to maximize transmission. This has always worked:
ETM PIT/YAW T --> ETM PIT/YAW
The signs were chosen based on what suppressed the error signals.
On paper I worked through how ITM/ETM misalignment shifts the beam spot on both the ITM and ETM. This was mainly a helpful exercise to gain intuition for the centering. I made small angle assumptions and ended up with:
Here r is the radius of curvature of the ETM (57.37cm); l is the length of the arm cavity (40m); d is the displacement from center of the optic; θ is the angular misalignment of each optic.
In practice, we do not care about the centering of the beam on the ITM. So in reality the useful takeaway was that ETM and ITM angular misalignment both shift the beamspot on the ETM by roughly the same amount.
ETM PIT/YAW L --> ETM PIT/YAW
ETM PIT/YAW L --> ITM PIT/YAW
Again the signs were chosen to suppress the ETM L error signals without the T loop on.
Lastly, I chose the T loop gain 0.1 and L loop gain 0.2.
The servo gains and output matrix have been updated in ASS_Settings_XARM.snap. Just hit "Run ASS".
dfmn = ----- * (m+n) * acos(sqrt(g1*g2))
I pushed the "closed loop" button on PZT2 YAW around 3:40 pm today, then roughly recentered it using the DC Offset knob on the PiezoJena controller and the IP ANG QPD readbacks. There was a large DC shift. We'll watch and see how much it drifts in this state.
Here's the trend.
The transient at ~22:40 is Rob switching to 'Open Loop' on the Piezo Jena PZTs. I don't see any qualitative change in the drift after this event.
At 05:55 UTC, I removed an iris that was blocking the IP POS beam (the sum goes up from 2 to 6.5) without disturbing the mirrors who's oplev beam are on that table. Steve has conceded one sugar Napoleon after betting against my ninja-like iris skills.
We should recenter the beam on IP POS now that its unclipped - I'll let it sit this way overnight just to get more drift data.
I wanted to see how long our IP POS beam has been badly clipped - turns out its since April 1, 2007.
Steve's April Fool's joke is chronicled then. The attached trend shows that the drop in IP POS is coincident with that event.
In trying to align IPPOS, I noticed that someone has placed a ND2.0 filter (factor of 100 attenuation) in front of it. This is kind of a waste - I have removed IPPOS to fix its resistors and avoid this bad optic. Also the beam coming onto the table is too big for the 1" diameter optics being used; we need to replace it with a 2" diamter optic (Y1-2037-45P).
IP ANG dropped by a factor of 2 back in early August of '08.
We need this guy on the investigation:
Tonight I aligned the IFO by running the scripts one by one.
SRC was far off and I had to align SRM by hand before the script could work. SPOB is still low when DRM is aligned.
I'm restoring the full IFO now that I'm taking off.
I have resurrected the MC WFS on Friday night.
I have uncommented the WFS part of the MC autolocker.
The WFS total gain was empirically set to 0.1 such that the loops have no instability.
The loops somewhat worked through the weekend although they seemed to have the drift of the operating points
in accordance with the WFS spot.
According to c1scy.mdl, OL signals should be connected to adc_0_24 to adc_0_27 but they were connected to adc_0_16 to adc_0_19 which are assigned to QPD signals.
Actually cable connections were messed up. One ribbon cable was connected from QPD driver and ADC ports assigned for OL, and another ribbon cable was connected from the board combining the signals of oplev and QPD to ADC port assigned for QPD.
Now ETMY oplev is working well and aligned to center.
I found that the ADC channels for IP_ANG had been assigned to a wrong machine.
IP_ANG is supposed to be acquired at c1auxey (east end), but actually it had been at c1auxex (south end).
This is the reason why we couldn't see any signals from IP_ANG.
So I fixed it by editing the db files (i.e. ETMXaux.db and ETMYaux.db). Now it seems working fine.
This mistake obviously came from the X-Y name swapping business. Something else might be still wrong.
It turns out there are no reasonable signal from the segment 1 on the IP_ANG QPD.
For right now I can still use it as a funny QPD, but I absolutely need somebody to check and fix it in a daytime.
Rana and I found that the QPD for the optical lever at X end are showing small signals.
At this moment each of the segments exhibits approximately 200 counts when the oplev beam is centered.
These small numbers may be due to the coating of ETMX, but we are not sure.
Probably we have to increase the gain of the QPD depending on situations.
So a set of the tomorrow's daytime task is:
1. check the trend data of the QPD outputs to see how much signals were there in the past.
2. check the whitening filters to make sure if it's on or off.
3. If it's necessary, increase the gain of the QPD to have reasonable readouts.
I am going to ask somebody to do this task.
I tried aligning the IR beam axis for the X arm to have good beam centering on ITMX and ETMX.
As a first attempt, I started translating the beam upward by steering PZT1 and PZT2, since the pitch was quite off from the center on ITMX.
As a result I could decrease the pitch off-centering down to about 0.5 mm on ITMY, but on the other hand TRX decreased a lot (by a factor of 4).
I am worrying if something in the central part of IFO might be clipping the beam.
When I was touching PZT1 and PZT2, I payed attention on IP_ANG so that I don't lose a beam spot on IP_ANG.
As long as the beam is on the IP_ANG QPD, the angle of the beam should not be so much different.
Each time after I touched the PZTs, I realigned ITMX and ETMX to maximize the transmitted light.
In this way I proceeded the alignment by changing the PZT offsets little by little while keeping the X arm locked always.
At the beginning, all the PZT offsets were zero. And at the end of this work they became:
C1:LSC-PZT1_Y = 1.880
C1:LSC-PZT2_Y = -1.699
But during this alignment work TRX gradually decreased eventually down to 0.25, which had been 1 at the beginning (TRX is calibrated by dividing it by its maximum power).
Along with this TRX reduction, I found that the optical gain also decreased by a factor of about 5.
This fact has been confirmed by intentionally increasing the filter gain such that the servo oscillates at the UGF.
The amounts of the X arm's beam off-centering have been measured by the A2L technique.
PIT = -1.61 mm
YAW = -0.918 mm
PIT = -3.76 mm
YAW = -2.24 mm
[Valery, kiwamu, Jenne, Suresh]
I first interchanged the two QPD's on the Y end table to see if the problem QPD related. Exchanging the units did not make any difference. The problem therefore had to be in the cables or the circuit boards in 1X4
We traced the signals pertaining to the IP_ANG QPD ( "Initial Pointing Beam") using Jay's wiring diagram (pages 2 and 5 of 7). We noted that while the signals were available on all Segments till the Monitors (Lemo) on 1X4-2-2A card, two of the lines did not reach the output of the cross connect 1X4-B8. We checked card to make sure that the signals were indeed reaching the back plane of the 1X4-2 chassis using a D990612 extension board. The card was found to be okay. We therefore suspected that the cable (CAB_1X4_?) going from the card to the cross connect 1X4-B8 was faulty. Indeed visual inspection showed that the crimping of the connector was poor and weight of the cable had put further strain on the crimping.
I changed the 64-pin connector on the 1X3-2-2A side of the cable.
When I connected everything back together the problems persisted. Namely the lines P1-1A (Segment 1 high) and P1-2C (Segment 2 Low) were floating They were not reaching points 2T and 3T respectively on the output of the cross connect.
I therefore replaced 1X4-B8 with a similar unit which I found in one of the shelves along the East (Y) arm.
I then checked with the StripTool to make sure that all the quadrants are showing similar response to a flashlight on the QPD. All Segments are working fine now. Currently the IR Initial Pointing beam reaches the QPD but is not centered on it.
I did not attempt to center it since the beam appeared to be clipped and may anyway require repositioning.
JD: We need to meditate on where this beam could be getting clipped. Suresh and I checked that it's not on the viewport on the beam's way out of the ETMY chamber by seeing that the beam is far away from the edges of the viewport, and also far away from the edges of the black beamtube between the viewport and the table. Suresh mentioned that the clipping nature of the IP_ANG beam sometimes goes away. I don't know if this is the same clipping that Kiwamu might be seeing with the main beam, or if this is separate clipping just with the IP beam, after it's been picked off. I suspect it's the same as what Kiwamu is seeing....maybe when we move PZT1, we clip on one of the MMT mirrors or PZT2?? If this is true, it's a total pain since we might have to vent if we can't steer around it.
[Jenne and Kiwamu]
This time we aligned the vertical angle (not the translation) of the IR beam so that the transmitted light from BS shoots the center of ETMY.
The idea is to use ETMY as a beam pointing reference instead using IP_ANG, assuming the translation is not so bad.
As a result it looks like we are wining. A quick A2L test on ITMX_PITCH showed a small off-centering at sub-milimeter level.
We are concluding that the initial beam after PZT2 had been pointing downward somehow.
Before doing this whole job, we checked the spot shape on IP_POS to see if the beam is clipped or not. It was a round shape, which means no clipping around MMT.
But on the other hand, the spot on IP_ANG had been clipped more than half of its bottom as Suresh reported on his elog (see here).
I found that this clipping is able to be fixed by moving the beam angle upward. I guess the clipping happened at one of the steering mirror in the ETMY chamber.
According to these information, we imagined that the beam was somehow pointing downward after PZT2.
So we started aligning the beam by touching only PZT2 for vertical direction. Then we found a beam spot on ETMY's suspension frame, and brought it to the center.
Then we aligned BS and X arm for this new beam axis. The it resulted a small off-centering on pitch.
Once the MC fully gets back, we will examine the TRX degradation with this configuration.
I made several scripts to handle the mcass configuration and sensing measurements:
- The scripts and data are in the scripts/ASS directory
- The mcassUp script restores the settings for the digital lockins: oscillator gains, phases, and filters. The MC mirrors are modulated in pitch at 10, 11, 12 Hz and in yaw at 10.5, 11.5, and 12.5 Hz. The attached plot shows the comb of modulation frequencies in the MCL spectrum.
- The mcassOn and mcassOff scripts turn on and off the dither lines by ramping up and down the SUS-MC1_ASCPIT etc gains
- The senseMCdecenter script measures the response of the MCL demodulated signals to the decentering of the beam on the optics by imbalancing the coil gains by 10% which corresponds to the shift of the optic rotation point relative to the beam by 2.65 mm (75mm diameter optic) and allows calibration of the demodulated signals in mm of decentering. The order of the steps was MC1,2,3 pitch and MC1,2,3 yaw. The output of the script can be redirected to the file and analyzed in matlab. The attached plot shows the results. The plot was made using the sensemcass.m script in the same directory.
- The senseMCmirror script measures the response of the MCL demodulated signals to the mirror offsets (SUS-MC1_ASCPIT etc filter banks). The result is shown below (the sensemcass.m script makes this plot as well). There is some coupling between pitch and yaw drives so the MC coils can use some balancing - currently all gains are unity.
- The senseMCdofs scripts measures the response to the DOF excitation but I have not got to it yet.
- The next step is to invert the sensing matrix and try to center the beams on the mirrors by feeding back to optics. Note that the MC1/MC3 pitch differential and yaw common dofs are expected to have much smaller response than the other two dofs due to geometry of this tree mirror cavity. We should try to build this into the inversion.
The alignment of the interferometer goes basically step by step.
Tuesday will be an alignment day.
0. MC beam centering (it's done)
1. F2P to balance the coils on every optics including BS, PRM, SRM, ITMs and ETMs (Kiwamu).
2. A2L and then change the DC bias of ITMY and ETMY to get a perfect eigen axis (VF/Jamie).
3. align input PZT mirrors (PZT1 and 2) to maximize the Y arm transmission (VF/Jamie).
4. do the same things for X arm but using BS instead of the PZTs.
5. Alignment of the central part.
6. Make a script to automatically get those things done.
[Jamie / Valera / Kiwamu]
The incident beam pointing was improved a lot by using C1ASS realtime code.
Some more details will be posted later. The below is the list of the highlights today.
- The Y arm cavity was aligned to have good beam centering on the mirrors.
- The input PZTs were also aligned to the aligned Y arm by hand.
- Automation of the Y arm alignment using C1ASS_LOCKIN got partially functional with two loops closed. C1ASS correctly servos the centering on ETMY
- The amount of the off-centering on ITMY and ETMY look roughly within 1 mm.
- As a result the intracavity power got bigger by a factor of about 3.5
I closed all 8 dither loops for the Y arm initial alignment: 2x2 centering servo (this worked before) and 2x2 input beam servo for both pitch and yaw.
So far it looks pretty good - the error points go to zero and the arm power goes up to 1.
The offloading to the alignment biases and the PZTs is not yet automated.
Today the PMC, MC, and Y arm were very cooperative and a pleasure to work with.