Stable DRMI lock was recovered. The AS110 phase was adjusted. PRCL and MICH were locked with REFL33I and REFL165Q.
Still SRCL is controlled with REFL55Q.
PRMI sensing matrix
Thursday night, Jenne and I found DRMI can not be locked at all. Also the PRMI lock with REFL55 showed change in the optical gain.
In order to investigate what is happening, the PRMI sensing matrix was measured and compared with the previous one taken in the night of 8/26.
It shows that some signals are unchanged, some are partial change, and some are completely different.
My intuition saids something is wierd with the sensing matrix measurement.
Right now I can't trust these plots.
- Jenne and I have adjusted REFL55 demod angle so that REFL55Q has no PRCL. And I have confirmed with DTT that this is still true.
However, the radar chart shows that REFL55Q is almost correct phase for PRCL instead of MICH.
- REFL11 shows the same amplitude and angle as before. But POX11/POY11 shows different MICH angle.
- I have rotated REFL55 demod phase and remearsured the sensing matrix. Evrything else looked same but REFL55.
Since REFL55I&Q were not used for the control for this measurement, what we expect is to see no change of the sensing matrix and
only see the angle of "I"&"Q" rotates. But the result was different from the expectation.
Since no real info was obtained from the sensing matrix, I had to make a fight without any weapon.
After sevral hours of work, stable DRMI lock was recovered.
Basically I gave larger gains to REFL55 signals: REFL55I for SRCL was 100 instead of 1, and REFL55Q for MICH was 2 instead of 0.1.
This was enough to get a second locking. Using this short sections, I have optimized the FM triggers and the gain boosts (i.e. FM1)
as well as the mirror alignment.
Then, PRM ASS was left running during the lock. This actually stabilized the lock a lot.
This made thee lock indefinite.
The demod phase of AS110I was adjusted so that AS110Q fluctuates around zero.
In this condition, the nominal AS110I was 7300 with the whitening gain of 30dB.
Note that the AS110I&Q were also measured with PRMI. With the same phase and gains, AS110I and Q were -35, -170, respectively.
Do we expect to have this phase shift? If I believe these numbers, the aplitude of 110MHz at the optimal phase is 173,
The ratio of AS110 between DRMI and PRMI is 7300/173 = 42. This corresponds to the ratio of the 110MHz sideband power at the AS port.
According to the wiki, this ratio shoud be ~160.
AS110I was in fact glitchy as you can see in the StripTool chart. I wonder this signal is suitable for the normalization or not.
=== SENSING ===
REFL11 -67deg / whitening gain 0dB
REFL33 -20deg / whitening gain 30dB
REFL55 45deg / whitening gain 6dB
REFL165 96deg / whitening gain 45dB
POP110 69deg whitening on / 15dB
POP22 102.2deg whitening on / 21dB
AS110 145deg whitening off / 30dB (seems to be related to AS11 whitening setting)
=== INPUT MATRIX ===
REFL11I x -0.125 => PRCL (REFL33I x 2.5 was also OK)
REFL55I x 100 => SRCL
REFL55Q x 2 => MICH (REFL165Q x 0.1 was also OK)
=== NORMALIZATION / TRIGGER ===
MICH POP22I UP:50 DOWN:10
PRCL POP22I UP:50 DOWN:10
SRCL POP22I UP:50 DOWN:25
=== SERVO FILTERS ===
MICH x -0.8 FM4/5 ON, no limitter
FM Trigger: delay 2sec, FM1 (modified from 6dB to 20dB), FM2, FM3
PRCL x +0.035 FM4/5 ON, no limitter
FM Trigger: delay 0.5sec, FM2/3/6
SRCL x -0.1 FM4/5 ON, no limitter
FM Trigger: delay 5sec, FM1, FM2
=== OUTPUT FILTERS ===
MICH => PRM -0.267 / BS +0.5
PRCL => PRM +1.0
SRCL => SRM +1.0
=== VIOLIN FILTER TRIGGER ===
delay 1sec: FM1/FM2/FM3/FM6
=== ASC/ASS ===
PRM ASC UP:50 DOWN:25
PITCH&YAW: FM1/9 (ALWAYS ON) + FM2/3 (turned on by the up-script)
PRM ASS left turned on for slow tracking
We took a bunch of measurements. Transfer function and power spectrum using DTT. They will be used to obtain calibrated MICH in-loop and free-running noise. Detail Elog with plots will follow very soon.
Estimation of free-running MICH displacement noise:
Method 1. Assuming AS55_Q_err to be a linear sensor, as shown in (1) of figure below, free-running MICH noise (V_d) can be estimated by measuring V_err and the OLTF G. H can be estimated by using method explained in elog
Method 2. Considering that the AS55_Q signal might be distorted or saturated, method 1 may not be precise. In method 2, we will use the ASDC as the sensor (S' in (3)) instead and lock MICH using ASDC in mid-fringe to calibrate the ITM actuators.
What we did:
1. Estimate H' from free-running ASDC signal (bright to dark fringe).
2. With MICH locked on ASDC, give an excitation signal to C1:LSC-SUS_XXXX_EXC (XXXX could be ITMX or ITMY) and measure R'. [(3) of schematic]
3. Measure OLTF of MICH locked on ASDC (hence estimate L). [(3) of schematic]
4. With MICH locked on AS55_Q, give an excitation signal to C1:LSC-SUS_XXXX_EXC (XXXX could be ITMX or ITMY) and measure R1. [(2) of the schematic]
OLTF of MICH locked on ASDC
Actuator excitation to MICH transfer function (MICH locked using ASDC)
* y axis (no units)
Actuator excitation to MICH transfer function (MICH locked using AS55Q)
Free-running MICH noise
1. By using the second sensor, we also eliminate the effect of the MICH servo loop locked on AS55_Q (Estimated V_d does not depend on G but only on G').
2. The free-running MICH noise is still suppressed at 1Hz. This should be coming from the effect of the UGF of the loop at ~10Hz and the vicinity to the pendulum frequency at 1Hz.
Edit/Masayuki// This noise curve is not collect, especially in low frequency region. We used the measured OLTF for compensating the free running noise, but that is not collect in low frequency region. So we should model the OLTF and fit that into the measured OLTF. We will fix this soon.
I have done a quickie look at Optickle to see how the linewidth of an arm cavity changes versus the configuration.
To do this, I make different configurations, and do a sweep of ETMX. For each configuration, I find the max peak value, and then find the points that are at half that value. The distance between them is the full width at half max.
FWHM_DRFPMI = 3.8750e-11 meters
FWHM_PRFPMI = 3.8000e-11 meters
FWHM_SRFPMI = 2.3200e-09 meters
FWHM_FPMI = 1.1900e-09 meters
So, for the ALS to hold within 1/10th of a linewidth for the full IFO configuration, we want the ALS noise to be on the order of 3 picometers RMS. If I recall correctly, that's about an order of magnitude better than we currently have.
EDIT 8 Nov 2013, JCD: New log-y plot:
For Modelling of the OLTF, I measured the response of the BS suspension. I used the OSEM sensor for measurement. The attatchment1 is the measured TF from C1:SUS-BS_LSC_EXC to C1:SUS-BS_SUSPOS_IN1 with exciting with random force. The measured data was fitted and the resonant frequency is 1.029(±0.005) Hz and quality factor is 12.25 (± 0.2). Additionally I did same measurement for ITMX and ITMY. The attachment 2 and 3 are the results for ITMX and ITMY. Each eigenfrequency and Q are 1.063 (±0.008) Hz and 7.33 (±0.13) (ITMX), 1.022 (±0.005) Hz and 9.41 (±0.09) (ITMY).
After that, I locked the MICH with AS55, and measured the PSD of error signal. I compensated the that PSD by the modelled OLTF with this suspension TF and the servo TF. The result is in attachment 4. Above 1 Hz it is quite close to the previous data by Keiko (elog#6385) But below 1 Hz there is a large dip. The error signal has also this dip. I looked for a integral filter between 0.2 Hz and 1 Hz, but I connot find a such filter. And when I locked MICH with using ASDC, there was same dip at same frequency. I don't think it's true free running noise, and I will try to fix it.
I completely forgot to mention that I fitted the modelled OLTF into the measured OLTF. I used the fitted OLTF for compensation.
I made sure the yesterday's result was collect. I measured not only the error signal but also the feedback signal. And I compared those signals and measured the TF in order to confirm my servo filter model is not wrong.
The reason of dip at low frequency region is maybe the coherence of the ground motion. The ITMX and ITMY suspensions are put close. If ground motion has coherence, the mirrors move in common mode. That will suppress the free running noise. The attachment is the free running noise of Sep 13rd and Sep 12nd.
There doesn't seem to be any coherence among the different directions of ground motion (as expected from seismic theory), so I am suspicious of such a low MICH noise.
I found the bug in my calibration code, and I fixed it.
And I put the white Gaussian noise on the BS actuator, and calibrated to the differential length with my new code. We already know the efficiency of the actuator(elog#8242), so I could estimate how much I put the disturbance and compare the two values. The result is in attachment 1. x_exc means the value of the disturbance.
You can see the PSD of the differential motion decrease factor of 3 by decreasing the disturbance by factor of 3 (except for the region from 1 Hz to 5 Hz), and the value at lower frequency than resonant frequency of the suspension is comparable to the value estimated with the actuator efficiency. Also there is no dip when I put the larger disturbance than free running noise.
Between 1 Hz and 5 Hz there seems to be a resonance of something (seismic stack?). And also on resonance of the suspension there seems to be some other noise source. One possibility is the active damping of each suspension.
Actually still there seems to be a dip between 0.1 Hz and 1 Hz. But if you consider about those effect, I think this result doesn't seems to be so strange. But according to the documentation of LIGO document-T000058, which I found the seismic motion in 40 m Lab is written in, the seismic motion at 0.1 Hz is 10^-7. I'm not sure about this factor of 10 difference. One possibility is the geophone doesn't have good sensitivity at low frequency. I'm still not sure this result is really collect.
I update the LSC calibration screen. This screen is for real time calibration of each DOF with using error signal and control signal. The formula of the calibration is
x_dis = V_err/H + A V_fb
,where x_dis is the disturbance without surpression, V_err and V_fb are error signal and control signal, H is the transfer function from the displacement to output and A is the efficiency of the actuator.
I will put the filter of 1/H into the CINV filter bank and actuator efficiency into the A filter bank.
I update the LSC calibration screen. This screen is for real time calibration of each DOF with using error signal and control signal. The formula of the calibration is
I fixed the filter of the MICH real-time calibration. You can find C1CAL screen from the LSC menu 'calibration' of sitemap.
C1CAL_MICH_CINV : the servo to convert the error signal to displacement.
the inverse of the transfer function from the distance to the error signal, which has the unit of count/m. In the formula this filter is represented by 1/H.
I assume this H is independent of frequency and time, and I calculated by the amplitude of the fringe of error signal. But it may change every day by drift of laser intensity and so on. So we should follow the actual H somehow. The temporary value of H is 3.76*10^7 count/m .
C1CAL_MICH_A : the servo to convert the feedback signal to displacement. In formula This transfer function is represented by A
the transfer function of the suspension of the BS. This is modeled from the measurement in elog#9127. The resonant frequency is 1.029 Hz and Q is 12.25.
the response of the actuator on BS_SUS, which has the unit of m/count. The value is 1.99*10^-8 m/count. This value is measured in the measurement in elog#9121.
C1CAL_MICH_W : the servo to handle the calibrated signal.
the filter to convert the unit of signal from m to um. When this filter is on, the output is written in unit of um.
I measured the power spectrum of the calibrated free running noise. The measured port was C!CAL_MICH_W_OUT. The result is in attachment 1. Also in this figure there are the plots of the Verr/H and Vfb*A.
In low frequency region, where control loop suppresses the disturbance, you can see that the displacement is equal to the displacement of actuation (I'm not sure what happens at the point of 0.03Hz), and in high frequency region, where control loop doesn't work, the displacement is equal to the value of the Verr divided by MICH sensitivity. Also this result is similar to the my calibration result.elog#9131
The real time calibration system is not correct in high frequency.
The attachment are the plot of two free running noise. Blue curve is the plot of noise calibrated with OLTF. Green one is the just fft analysed signal of the real time calibration system output. You can see the ripple in high frequency region in green curve. That is because the anti-aliasing filter and digital anti-aliasing filter. I assume the sensitivity of MI as constant but Rana mentioned that we should take these filters into account.
modeled OLTF and sensitivity H
I put the AA filter and DAA filter effects into matlab calibration script. The attachment 2 is the modeled sensitivity of the MICH. You can find each filter properties in elog#8555 (analog AA filter) and in elog#3961. I estimate the H gain by measuring the fringe. The attachment 3 is the plot of fringe and I averaged with green points. The actual number is 3.48e7 count/m.
attachment 2: the sensitivitiy of MICH
attachment 3: fringe of the MICH
I modeled OLTF with this H and the fitted into the measurement data. That is in attachment 4. In this OLTF I also included the DAI filter and AI filter, and ' sample and hold circuit' of DAC TF . These are mentioned in two references. Additionally I added the time delay 309.6 us. Yuta mentioned that in C1SUS has 125us time delay. In MICH control we have also C1LSC , so I think this time delay is reasonable. I compensated the error signal with these OLTF and MICH sensitivity.
attachment 4: OLTF of the MICH control
You can see that the ripple is gone in blue curve and after 5 kHz the curve is flat.
I'm trying to put the inverted AA filter and DAA filter in C1CAL_INCV servo. But the ploblem is the difference of sampling frequency, so I couldn't fix yet. One possibility is putting approximated filter. I hope I will find some good way to design these filters.
I esitimated the FPMI noise propagated from the residual noise of IR PDH control of both ARMS. I will summarize and write these staff in this afternoon.
Hidden in Nakano-kun's previous entries was that the phase margin of the X-Arm was only 9 degrees!! This extremely close to instability and makes for huge gain peaking. The feedback loop is increasing noise above 100 Hz rather than suppress. After some tweaks of the LSC filters we got a much more stable loop/.
So we today started to examine the sources of phase lag in the arm cavity sweeps. There were a few unfortunate choices in the XARM LSC filter bank which we tuned to get less delay.
Then I wrote a bunch of detail about how that worked, but the ELOG ate my entry because it couldn't handle converting my error signal noise plot into a thumbnail. Then it crashed and I restarted it. We also have now propagated the changes to the Y arm by copy/paste the filters and the result there is pretty much the same: low phase margin is now 38 deg phase margin. Noise is less bad.
I made the plot of the phase of the digital filters which Rana change and also of the AA, AI, DAA, DAI filters. Now the biggest phase delay come from the timedelay of the digital system.
The UGF is around 150 Hz at that frequency the time delay has biggest phase delay. Second one is the FM9 filter (this filter is BOOST filter). Then we have the AA filter, AI filter and so on, but these delay is roughly 5 degree.
As I said in previous entry, the time delay of the XARM control is roughly 300 usec, and we have 120 usec even only in C1SUS. Also between the C!SUS and C1LSC we have another 120 usec time delay. We want to increase the UGF to 300 Hz but because of the time delay of the digital system we cannot increase. So we should fix this problem.
After changing these filters, the FPMI noise is become better at high frequency. Before we have peak around the 100 Hz (because of 8 degree phase margin...), but they are gone. i attached the noise spectrum. This plot is measured by the real time calibration output. But even then, you can see the extra noise around 100 Hz in FPMI conpare to only MICH.
I added the DAQ channel to all output of calibration servo. The name of channels are C1CAL_(plant name)_W_OUT_DQ.
I recompiled and restarted the model. Also I committed the changes to the svn of the calibration model.
I fixed the XARM and YARM real time calibration servo.
I also change the C1CAL_MICH_A servo. Now the actuator response and the suspension TF are combined together and that filter name is BS_act. C1CAL_XARM_A and C1CAL_YARM_A have same kind of filters, ETMX_act and ETMY_act.
There are AI filter in each A servo and inv_AA, inv_DAA filters in CINV servo, but it's doesn't work correctly yet.
I fixed the XARM and YARM real time calibration servo.
These aren't servos. What he means is that he's changed some filters in the real time calibration screens so as to make the actuation and sensing parts more accurate, but the inversion of the AA filters is not accurate yet.
In moving now to full IFO locking, there are a number of sub-states to diagnose:
Which to do first and in what order?
I vote on PRMI+1arm -> PRFPMI
The attached plot shows the spectra of all the REFL signals with the PRMI SB lock.
We excited the ITMY_LSC with 3000 counts. We used the Masayuki calibration of ITMY (5 nm / count * (1/f^2)) to estimate this peak in the REFL spectra.
To correctly scale the REFL spectra we account for the fact that the DTT BW was "0.187 Hz" and we turn off the "Bin" radio box before measuring the peak height with the cursor.
Since the ITMY motion is 3000 * 5e-9 / (580.1 Hz)^2 = 44.6 pm_peak, we want the DTT spectrum of the REFL spectra to report that too.
i.e. to convert from peak height to meters_peak, we use this formula:
meters_peak = peak_height * sqrt(BW) * sqrt(2)
I *think* that since the line shows up in multiple bins of the PSD, we should probably integrate a ~0.5 Hz band around the peak, but not sure. Need to check calibration by examining the time series, but this is pretty close.
Mystery: why are the REFL_I 3f signals nearly as good in SNR as the 1f signals? The modelling shows that the optical gain should be ~30-100x less. Can it be that our 1f electronics are that bad?
Bonus: notice how we have cleverly used the comb of bounce frequencies around the calibration line to determine that REFL11 is clipping!
First up for me this evening was getting the PRMI locked.
I used the IFO configure screen to lock the X and Y arms, then aligned them using the ASS scripts. Then used the IFO config screen to restore the Michelson, and did some fine tune tweaking of the BS alignment by looking at the AS camera. Then, I restored the PRMI from the IFO config screen, tweaked the PRM a little bit in yaw, and was able to get a lock using REFL 165 I&Q for ~25 minutes before I got bored and unlocked things. I used the ASS for the PRM to align the PRM, then turned off the ASS. POP110 and POP22 both drifted down, but by a small amount, and at the end (when I turned the ASS back on for PRM), they picked back up to about their original levels.
(Note to self: to get it to print both plots, chose custom paper size, make it 14.5 by 11. Don't ask why, just do it, because it works. Also, in PNG device properties, increase the compression to 9.)
After I played with the PRMI, I started looking at the ALS system.
I had both arms locked on IR using the regular LSC system (so POX and POY for the error signals). Then I opened up the green shutters, and got both arms locked on green (so the green lasers were just following the arms...no digital ALS business). I went out to the PSL table and tweaked up the alignment of the green beams (didn't need much at all, just an itsy bitsy bit in yaw, mostly). I saw a very strong peak for the Yarm vs. PSL (around -19dBm), and there was a harmonic of that beat. Opening and closing the Xarm green shutter had no effect on these peaks, so there wasn't any kind of X-Y cross beat sneaking around that I could see. That's really as far as I got - I think (but haven't checked) that Manasa may have removed the power splitter / combiner, so that the RF analyzer is only looking at the Y beat PD (she mentioned earlier today that she was going to give that a try to narrow things down).
After that, Rana and I went back to the PRMI for some noise stuff, and worked on the PMC. See those separate elogs for info on those activites.
Someone left the arms aligned, and the LSC engaged, so the arms have been locked almost continuously for several days hours. The trend below is for 4 days hours. What is most impressive to me is that we don't see a big degredation in the transmitted power over this time.
EDIT: Okay, I got excited without paying attention to units. It was only several hours, which is not too unusual. Although the lack of transmission degredation is still unusual. However, this may be due to improved oplevs? I'm not sure why, but we're not seeing (at least in this plot) the degredation to ~0.7 after an hour or so.
Something is really excellent with the alignment today, or something has changed with the POP path / electronics. While usually we see ~120 counts on POP22_I and ~175 counts on POP110_I (cf elog 9193), today I have ~175 counts on POP22_I and ~265 counts on POP110_I.
I have resaved the PRMI locking settings in the IFO Config screen. Nothing has changed, except that I have put a 1e-4 into the PRCL matrix elements for REFL11I, REFL33I and REFL55I. So, PRMI still locks on REFL165 I&Q, but the other 3 REFL diodes' whitening gets triggered when the cavity is locked. I think this will help the LSC sensing matrix measurements, which I'm going to test out now.
I discovered that I was not getting enough SNR on all the refl RFPDs when I actuated using the Sensing Matrix script. The problem was that the ITMs have actuation constants that are a factor of 5 lower than the PRM. So, I need to push on the ITMs (for MICH) about 5 times as hard as I push on the PRM (for PRCL). I have modified the sensing matrix scripts to allow different actuation amplitudes for each degree of freedom. If I watch the REFL PD spectra while the script is running, I see that I now have some actual SNR (as in, more than 1, which is what the SNR was for some diodes previously).
A consequence of this is that the script to analyze past data will no longer work on sensing matrix data taken before this afternoon. On the other hand, that data isn't very useful, since there was no SNR.
Rana and I noticed last week that it looked like the REFL11 beam was clipping. This afternoon, I locked the PRMI with REFL 165 I&Q, and checked the REFL 11 path. The beam looks fine through all of the optics going to the diode, so I just realigned the beam onto the diode using the itty bitty steering mirror. I have not yet checked the change (hopefully improvement) in the REFL11 spectrum.
I have modified the LSC model (the currently-running model is checked into the svn), but it is not compiling for me. So, if you need to make changes to it, be careful, and probably save my version off to the side, and checkout the latest svn version. (I don't foresee anyone needing to modify this model any time soon though).
The change that I'm trying to make is adding several more lockin setups, so that we can measure the sensing matrix elements for several degrees of freedom simultaneously.
Right now, the error that I'm getting is the frustrating "something isn't connected" error, even though if you look in the model, the part that it mentions is fully connected. Usually the solution to this is to disconnect and reconnect everything, so I'll work on that after I return to the lab in a bit.
The modifications to the LSC model are now complete, and the new model has been compiled, installed, and is running. The sensing matrix lockins are all in the c1cal model. Masayuki is locking right now, so so far, things appear to be back to normal.
The longer version of the story, with all the detours and hiccups:
After several tries of deleting the GoTo and From flags / tags in the lockin area of the LSC model, and continually getting the "something is not connected" errors, I gave up and just drew several long lines. So, in the new Sensing Matrix block (which is actually in c1cal, not c1lsc, but that's a story for the next paragraph), we should eventually make things back to the more clean flags situation, but for right now, it's working, with lots of lines everywhere. I've tried to be very organized and clear about what lines go where, so that it's easy to see what's going on.
I eventually was able to compile c1lsc, and then installed it, and restarted the model. Adding in 5x the lockin modules (we had 27, but now we have 5x27, so that we can look at the sensing matrix elements for every degree of freedom, and every photodiode, all at the same time) was too much for the poor lsc cpu. I was consistently getting over 70usec per cycle, and was hitting a max of 77usec for the lsc cpu. Both of those numbers are greater than the allowed 60usec. So, I made the decision to put the whole sensing matrix / lockin stuff into the calibration model. This means that I have 27+5 more IPC signals than I used to, but so far things seem to be okay (no rigorous testing yet). (27 to send the 27 PD inputs over to the cal model, and another 5 to send the oscillator "clocks" from the cal model to the lsc model.) The lsc model is now running faster than before (because there were 27 lockin modules in the model), at 24-28 usec, and the cal model is running at 39usec.
All seemed well and good, both the lsc and cal models compiled, but the lsc burt restore wasn't working. Restarting the model did not successfully do a burt restore, and when I tried several different .snap files from today, and other times this month using burtgooey, I kept getting "NOT OK", and numbers weren't being restored into the epics channels. A very few settings were restored, but most were not. I ended up copying a .snap file from a few hours ago into a separate directory, then went in and by-hand removed all the lines referring to now non-existant lockin channels. Burtgooey still told me "NOT OK", but settings seem to be restored, so I think it's okay. I have not confirmed each and every one of the 10,000+ channels to ensure that the number is the same as the one in the .snap file, but as I glance around in the LSC screen and its dependants, all the numbers and buttons look about right.
After all this stuff, Masayuki is locking both arms simultaneously in IR, as he prepares to test some new ALS scripts, so things seem okay for now.
After finishing up working on the models for today, I made corresponding screens.
The new Sensing Matrix (and lockin) overview screen is accessible from the sitemap: LSC -> Sensing Matrix.
From there, you have the oscillators, input matrices (one per degree of freedom), output matrix, and the lockin modules themselves. You can either look at several PDs for one degree of freedom (ex. there is a screen for all the AS RFPDs, demodulated for the DARM oscillation), or all the degrees of freedom for a single PD (ex. how are all the degrees of freedom seen in AS55Q?). The LSC screen has been updated to match - now you see 5 oscillator readbacks, and a larger output matrix. There is a button for the Sensing Matrix overview screen, and if you click on the cartoons of the oscillators, it'll take you to the oscillators screen.
Still to do:
* Decide what 5 frequencies to use for excitation.
* Put the bandpass and lowpass filters into the lockin modules.
* Put matching notch filters into each LSC servo.
* Re-write the sensing matrix scripts.
* Put a little more stuff into the front end so that we get total mag and phase of the sensing matrix element, not just uncalibrated lockin outputs.
I worked on some of these "to-do" things today for the new sensing matrix setup. I chose several frequencies around 90 Hz for my measurements. This was an area (while PRMI was locked with REFL 165 I&Q, and all 4 REFL PDs had their whitening on) there was a pretty wide clean space in the noise spectrum.
I put bandpass filters into the _SIG banks of the lockin modules, and lowpass filters into the _I banks. However, when I loaded the new filter coefficients, it looks like not all of them are showing up in the screens. I'm a little confused as to why. They are still there if I close and re-open Foton, so I think I really put them in.
Also, I don't think that I'm successfully getting any signal from the LSC model into the new lockin modules on the CAL model. I'm not sure if this is to do with the fact that I added 32 more IPC connections the other day. I've emailed Jamie to ask whether or not we may have hit some limit.
I also tried testing out a small bit of c-code for the calibration of the lockin outputs. It seems as though I cannot do an arctangent in the front end. When I compile the c1tst model, and start it up, if I have an "atan2" in the code, it tells me "No Sync". However, if I remove that line of c-code, the model compiles fine (which it did in the case with the arctan), and the model runs just fine (which it doesn't with the arctan). My backup plan is to include a Taylor expansion for the arctangent in some c-code.
I think that we always drive above the UGF for sensing matrix measurements since we like to put notches in the servo. In principle, we could drive within the control band and then take out the effect by measuring the control signal and undoing the gain in the digital filters. But that seems pretty complicated for any MIMO system.
Hmmmm, yup. I forgot to pay attention to what the UGFs of our LSC loops are when I was picking a low-noise region. Since they're (currently, at least) around 100Hz, I want to find a frequency in the few hundred Hz region. Masayuki has the IFO right now for ALS diagnostics, so I'll pick new frequencies later. If we decide to omit the bandpass filters, it's even easier to change frequencies on the fly (although we'll always still have to make the servo notch filters match).
After staring and thinking, I remembered that there is a limit to the number of characters that a channel name can have. So, I removed the "_LOCKIN" part of the names, and recompiled, and everything seems to work. I modified the screens that I had made, and they show all the appropriate things now.
The symptoms were that the numbers in the filter banks (for example, INMON) were white with the usual black background. The numbers are supposed to be green with a black background. After I recompiled, all the numbers were green.
This also means I need to re-put in the low pass filters.
PRCL Open Loop Transfer Function. PRMI locked on REFL 165 I&Q, Xarm held on IR resonance using ALS, ETMY misaligned:
MICH Open Loop Transfer Function. PRMI locked on REFL 165 I&Q, Xarm held on IR resonance using ALS, ETMY misaligned:
Time series data during our PRMI + 2 arm attempt:
its time to get the CM servo hardware turned back on. We're going to want to switch it on when we're about ~1/50th of the way up the CARM fringe.
A good way to re-commission it is to lock it to the single arm, using a Pomona box filter to move the arm pole down to the coupled cavity pole frequency.
I worked today some more on the new Sensing Matrix situation. I have added stuff to the CAL model, so that the sensing matrix elements come out calibrated to W/m, with phase in degrees. The idea is that we can see time series of the calibrated lockin outputs, so that we have minimal post-processing to do, since these are things that will be interesting to look at live.
The first step is to go from I and Q to magnitude and phase. Each "sensor" (ex. REFL55Q) is demodulated with a lockin part, which outputs sub I and Q channels (so, something like REFL55Q_I and REFL55Q_Q). We are only interested in the _I component of the lockin. But, REFL55I also has a _I and _Q. Again, we only take the _I part. Now, we have REFL55I_I and REFL55Q_I. We call these the I and Q components of the sensors (this is exactly what we normally call them, but it can get confusing since the lockins also have _I and _Q before we discard the _Q part). Now, we want to take these I and Q components, and transform them to a magnitude and phase. After we do that, we want to calibrate the magnitude to "Watts per meter" from "counts sensed per counts driven". I also converted the phase to degrees, since that's the unit we usually use when talking about the sensing matrices.
To go from the I and Q components to Mag and Phase, I wrote a little block of c-code, which is in /opt/rtcds/caltech/c1/userapps/release/isc/c1/src/MagPhaseFromIQ.c . Since we can't use the arctan function, I approximated it using equation 17 from Full Quadrant Approximations for the Arctangent Function [Tips and Tricks] from IEEE. (I used x -> y/x in equation 17, so that I had a 2D situation). I also have an "if / else if" cascade to determine what quadrant I'm in. Since the formula in the paper is from [0,pi/2), I just needed to add pi, subtract the answer from pi, or negate the answer to get to the other quadrants. Also, note that they are using a "normalized" arctan function, so equation 17 is really from [0,1), and you have to remember to multiply by pi/2 on your own.
To get from drive counts to drive meters, I put in an EPICS variable for the optic's actuation constant (ex, PRM's constant can be found in elog 8255). Right now, we have to transfer the oscillation frequency from the oscillator part's _FREQ variable to a new EPICS variable, but Zach and Joe just today made a new oscillator part that makes it easier to access the frequency and amplitude of the drive within the front end. See LLO aLog 9139 for details on this new part. I had trouble compiling with their new part, but once I get that figured out, I won't need to do this transfer of information. Anyhow, the drive calibration is (optic actuation constant)/[(drive frequency)^2].
Then the total calibration of the magnitude is Mag in cts/m = 2 * mag / [(drive amplitude) * (drive calibration)] . The factor of 2 comes from the fact that the lockin output is a factor of 2 smaller than the true sensing matrix element. The lower case "mag" in the formula is the output of the c-code.
After this, there is yet another EPICS variable, to hold the calibration for the photodiode, to get from counts sensed to Watts of power at the actual port. By "actual port", I mean the true IFO port, taking into account any optical elements between the port and the photodiode, like beam splitters and dumps, or loss from the imperfect reverse isolation of the input Faraday.
The code all compiles and runs fine, although I haven't done any explicit testing yet.
Still to-do for Sensing Matrix:
* Find all of the numbers for all of the EPICS variables. In particular, I need to get the ratio of the power hitting each photodiode to the power at that port.
* Write a script to do a burt-restore with all the correct settings, and turn on the dither lines.
* Put the lowpass filters back in the demodulators, now that they have new (shorter) names.
* Try it, and compare with the optickle model, and previous measurements.
* Copy Anamaria's script to look at the error statistics for my measurements.
Koji reminded me that we should also save the data from the PRMI+Xarm, just in case we want to look at it later.
Here is the time series, in which you can see us finding the Xarm IR resonance, moving the arm off resonance, locking PRMI, and bringing the arm back into resonance. At the very end, the arm is still held on resonance, but I had disabled the LSC locking, so we see very large flashes at TRX (of order 40, rather than 1).
The data is in the same folder as the 2arm data: /users/jenne/PRCL/PRMI_Xarm_ALS_16Oct2013/
The text files have been differentiated, so that the 2arm data has "_2arms" at the end of the filename, while the Xarm data had "_Xarm" appended to the filename. Since we left the cavities locked for many minutes (during which transfer functions were taken), the data set for the PRMI+Xarm is very long.
I locked PRMI, and (after fixing the POP QPD situation, noted in elog 9249) took power spectra of all the REFL RFPDs. It looks like the area above 500 Hz is pretty clean and flat for all the signals, so I'm going to use 560Hz, 562Hz, 564Hz, 566Hz and 568Hz for my 5 sensing matrix frequencies.
Also, I'm not sure what is going on with REFL11, but there's a weird dip between 630 Hz and 660 Hz in both I and Q. I recentered this guy not too long ago (elog 9218), but it clearly needs some more looking-at.
While Manasa, Jenne, and Masayuki are working on the preparing the interferometer, I write the elog for them.
- 6PM-ish: X and Y arms were was locked. They were aligned with ASS.
- PRMI was locked. The PRM was aligned with ASS.
- Jenne went into the lab and aligned the PRM ASC QPD.
- Jenne also aligned all of the oplev spots except for the SRM.
- 6:40PM Then, Manasa and Masayuki checked the out-of-loop stability of the arms.
The X and Y arms have the rms of 2.2kHz and 600Hz, respectively.
The X arm is significantly worse than the Y arm.
Masayuki saved the plot somewhere in his directory.
- 7:20PM X beat: 41.2MHz, Y beat: 14.8MHz
- 7:22PM PRMI locked POP110 115-120
- 7:30PM Lost lock of everything. Start over. Taking the arm alignment.
- 7:45PM start the 2nd trial. PRMI+one arm ready.
- 8:00PM explosion! Lost lock.
- 8:30PM The Xarm ALS is not stable anymore. It loses the control in ~10sec.
We are investigating the out-of-loop stability of the Yarm ALS.
(i.e. Look at the beat note error signal while locking the Yarm with the IR PDH)
I have modified the Sensing Matrix I,Q to Mag, Phase library part in the new sensing matrix system.
I had forgotten that in the c-code, I convert from radians to degrees, and so was doing the conversion again in the model. As it turns out, this gives you a nonsense number. I removed the multiplication by 180/pi in the model, and just use the output of the c-code, which is already in degrees.
I also put in some "choice" blocks just before the divisions in the calibration section of this library part. If it's about to divide by zero, divide by one instead.
The last modification so far today was adding the _PHASE_DEG and _MAG_WPERM (watts per meter) channels to a DAQ channels block, so that they are saved.
The RCG was very unhappy with me having 2 channels, with no data rate after them (doing this is supposed to imply that both should be saved at the default data rate), however after I put in "2048", it was happy. The symptom was a little tricky: The channel names in Dataviewer showed up red, even though the model compiles and runs. An indicator that you have a problem is a note in the model's "GDS" screen (the details screen that you can click to from the CDS front end overview screen). The channel name is "C1:FEC-50_MSGDAQ" (where the number 50 is specific to the c1cal model). After restarting the model, but before restarting the framebuilder's daqd process, this channel said "Error reading DAQ file!", rather than the date and time of the last successful read. At this point, before restarting the daqd process on the framebuilder, all of the fb statuses are green and good. However, after restarting the daqd process on the framebuilder, I got status "0x2000". Anyhow, after trying many different things, I determined that I could have 1 channel, without a specified rate, but if I wanted more than one channel, I needed to specify the rate for both.
[Masayuki, Jenne, Rana]
We have, for the past hour and a few minutes, had PRMI + 2 arms locked. Yup, that's right, we did it! (We never gave control of the arms to the IR LSC system, so it's kind of cheating, but it was still cool.)
A little after midnight, we felt that the Yarm was behaving well enough that we could give PRMI + 2 arms a try. So we did. Probably around 1am-ish, or maybe a little bit before, we had the system locked.
How did we do it?
* Locked arms in IR to help find green beatnotes.
* Misalign ETMs, lock and align PRMI.
* Misalign PRM.
* Restore ETMs, find arm resonances, then step away (I did +3 counts, which is 29 kHz).
* Restore PRM, lock PRMI.
* Brought Xarm back close to resonance using ALS (-3 counts). It seems like this may not actually have gotten us back to perfect resonance, but that actually made bringing in the other arm easier.
* Brought Yarm back close to resonance using ALS (-3 counts).
* Turned on Sensing Matrix notches and oscillators (10,000 counts for MICH, actuating on BS and PRM at 562.01 Hz, 200 counts for PRCL actuating on PRM at 564.01 Hz).
* Stepped arms back and forth to see how things responded.
During this process, particularly during the various arm steps, the PRMI lost lock many times. However, the ALS system never lost lock for either arm, for an hour and a half or so. Good work, ALS team!! The PRMI would reaquire lock (sometimes we'd have to undo whatever arm step we just took, to get farther away from resonance) without any intervention. It seemed that as we came closer to full arm resonance, we were never able to hold PRMI locked. This is what is instigating some of our investigations for tomorrow.
Also, Rana reported to me that he turned the c1tst model back off, and opened the door(s?) to the ETMY rack to allow more air flow sometime before midnight, which seems to have reduced the rate of the CPU going over 61 microseconds, as well as reduced the number of times the ETMY suspension glitches. We definitely need to make some changes so that we're not so close to the edge. This may have been one of the big things that allowed our success tonight.
The transmission PDs at the ends of the arms are saturating around 50 counts (they have gains of 2e-3 so that they are roughly normalized to 1 being the max power in a single arm). We need to commission the end transmission QPDs.
All of the signals looked a little ratty, and we heard lots of noise - Rana suggests that we recommission our CARM servo.
ALS beat info: [Xarm 40.9 MHz, -11.4 dB], [Yarm 50.5 MHz, -17.7 dB]
Things to look at tomorrow:
Data! I should be able to extract sensing matrix information, even though my sensing matrix software isn't totally ready yet. I know what the oscillators were doing, and I can look at the PD error signals. We also save the Offsetter numbers, so I can kind of tell what the PRMI+arms situation was.
Can we tell by looking at the end laser PZT feedback signals whether we're making our arms longer or shorter? So that we can tell if we're putting on DARM or CARM offsets.
Spectrum and time series of REFL 165 (our PRMI LSC locking PD) to see if we're saturating while we bring the arms into resonance. Basically, does anything bad happen, particularly since the PD is not a resonant PD, so there are some 1f signals floating around in addition to the 3f signals. We want to put in a directional coupler after the PD, before the demod board, and send that signal to a spectrum analyzer and a 'scope. Hopefully we can use the power of the internet to not need to sit in the IFO room saving data as we move the arms around. Do we need to put bandpass filters on the PD signal before it goes to the demod board?
Optickle model of 1f vs. 3f signals in the different ports, as the CARM offset is reduced.
Violin notches for the arms - should be put into ALS and LSC models. It looks like the modes are around 631 Hz, but we should check.
Hardware for end low gain transmission QPDs.
Software (schmidt triggering) for end transmission QPDs.
Modifying / preparing a matrix in the ALS system so that we can give CARM and DARM offsets conveniently.
Nice work. Congratulation
Just in case people were confused, although the PRMI + 2 ALS arms were controlled, we weren't able to bring them in to resonance. They were in some unknown off-resonant state.
We can try to calculate the expected recycling gain (ignoring losses in the PRM) following section F.2.1 of my Manifesto:
T_PRM = 5.6%, R_ARMS ~ 98%, G_PRC ~38.
So the full TRX/TRY powers should be G_PRC/T_PRM = 690.
In our stable configuration, we were sitting at TRX/Y powers of ~5-10. Once in awhile we could get a state where the power was saturating the detectors at ~50 and possibly would have gone up to 100, but it was all oscillation at that point. (we've got to find and notch the ETM violin mode frequencies in the ALS feedback servos.
As we move in towards resonance, we have to now consider all of complications of handing off to various error signals and CARM optical spring compensation and RF saturation that have been discussed in Rob's thesis and Lisa's lock acquisition modeling.
> all of complications of handing off
- ALS error signals transfered to the LSC input matrix.
- Handing off from the ALS to the 1/sqrt(TRX)+offset signal
- Handing off to the RF signal
- And, of course, CM servo.
I have modified the ETM suspension models to include a schmidt triggering block, so that we can choose between using the high gain low power Thorlabs PD and the low gain high power QPD.
The Thorlabs high gain PD signal is used as the signal to trigger on, so we need to put appropriate thresholds in.
If things are "triggered", that will imply that the Thorlabs PD is seeing a lot of power, so we should be using the QPD SUM channel instead. There is a "choice" block after the trigger block, to do this switching.
Since the LSC model will only see the output of this choice block, the gain that is currently in C1:LSC-TR[X or Y]_GAIN should be moved to the end SUS model. We also need to find the correct gain for the QPD sum channels so that they are also normalized to "1" for single arm full power so that we can smoothly go between the 2 diodes.
Rana has promised to make screens, and write scripts for the switching stuff.
As Jenne's Elog we want to see Spectrum and time series of REFL 165 (our PRMI LSC locking PD) to see if the signal is saturated while bring the arms into resonance.
I started to connect the spectrum analyser and the 'scope to REFL165 output.
Directional coupler (Mini=-circuits ZMDC-10-2 ZMDC-20-3) was connected just before the dimod boad input. The main output of coupler is plugged into demod board's input.The other output of the coupler is connected to AG4395A using BNC cable.
The spectrum analyser output can be read using netgpibdata in control room. The IP address is 192.168.113.108 and the GPIB address is 17. For this I dissconected the network hub from another AG4395A, which is at the front of 1X2 lack.
I didn't connected the 300 MHz 'scope right now, but tomorrow it will be connected using power splitter and also be able to get data by internet. For connect 'scope to network, I disconected the network hub from SR785.
We were locking the PRMI, but it is very rumbly today. I reduced the MICH servo gain from -0.8 to -0.4 , and things seem to be better. Now my MICH UGF is about 60Hz.
I measured the spectrum of the REFL165 output using AG4395A. As this entry we put the directional coupler between REFL165 output and demod board input, so I measure the signal from the coupler during the PRMI was locked.
After measure REFL165, I also measured REFL55 output in order to make sure that the signal is not smaller than noise because of coupler. I terminated the couple output of coupler on the REFL165, and take signal from REFL55 output port directly. Both plots seems same except for around the resonant frequency of each PDs. From this plot we cannot say that the coupler reduce signal to spectrum analyser too much.
After this measurement I reconnected the REFL165 to analyser and reconnected the REFL55 output to demod board.
As Jenne's Elog we want to see Spectrum and time series of REFL 165 (our PRMI LSC locking PD) to see if the signal is saturated while bring the arms into resonance.
I started to connect the spectrum analyser and the 'scope to REFL165 output.
We changed the Directional coupler from ZMDC-20-3 to ZMDC-20-5-S+ because that coupler seemed to introduce some high frequency noise.
I connected the 'scope between REFL165 output and demod board input. I split the signal from coupler using the splitter (Mini-Circuits ZFSC-2-5). One signal is going to 'scope CH1 and the other is going to spectrum analyzer. I connected the 'scope to 40MARS. The IP adress is 192.168.113.25. I connected that by cabling from 1X2.