40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log, Page 182 of 341  Not logged in ELOG logo
ID Date Authorup Type Category Subject
  3536   Tue Sep 7 20:44:54 2010 YoichiHowToCOMSOL TipsCOMSOL example for calculating mechanical transfer functions

I added COMSOL example files to the 40m svn to demonstrate how to make transfer function measurements in COMSOL.


The directory also contains an (incomplete) explanation of the method in a PDF file.

  5210   Fri Aug 12 16:42:51 2011 YoichiConfigurationLSCLSC Feed Forward Compensator
I've been working on adding feed forward (FF) paths to our LSC code.
So far, I've made a basic feed forward functionality connected
to the feedback path of the LSC model.

As is shown in the MEDM screen, this feed forward compensator (FFC)
takes feedback signals from several DOFs (MICH, PRCL, SRCL, CARM, XARM and YARM)
and put those signals through some filters. Then the filtered signals are
summed into the feedback signals.

There are input and output matrices to select which signal goes to which signal.

Usually, we just want to feed forward MICH to DARM. We may also want to do PRCL
to DARM and SRCL to DARM if necessary.
It is more unlikely that we use CARM for FF. But I put it there just in case.
XARM and YARM will not going to be used as is. These are place holders for future
experiments, like low frequency FF from seismic channels or something like that.
Feed forward is almost always done to DARM. But just in case we want to do some
fancier FF, like FF from PRCL to MICH, the output matrix is there to chose where
the signals will go.

I haven't really tested it because we don't have the interferometer working.
But I checked the signal flow, and it seems the model is working correctly.

=== Implementation ===
FFC is running in a separate realtime code, called c1ffc.
This is to offload c1lsc from the possible intense calculations, like adaptive stuff,
performed in the FFC in the future.
The LSC signal is passed to c1ffc via shared memory. The calculated FF signals
are passed back to c1lsc via shared memory too.
Even though FFC is in a separate realtime model, it is still conceptually a part of LSC.
So, I used top_names tag to change the names of the channels to C1:LSC-FFC_* instead of

In MEDM, there is an "ENABLE" button in the FF screen. Even though it is shown in the FFC
overview screen, the button itself is in the c1lsc code, so that we can disable the FFC
even when c1ffc is dead or going crazy.

=== Background ideas ===
For those of you wondering what is this feed forward thing for, I will put a brief explanation here.
Taking MICH as an example, we get the error signal for MICH from probably REFL_55Q (or AS_55Q ?).
At low frequencies, this signal properly reflects the motion of the mirrors (mostly seismic).
However, it has much worse shot noise than DARM. At higher frequencies, like above a few tens of Hz,
the error signal is dominated by the shot noise. Feeding back this signal to, say BS, means
we are shaking the BS by the shot noise, which was otherwise quiet at high frequencies.

Now, if the BS is shaken, it has some intrinsic coupling to the DARM signal.
The mechanism is that the BS motion creates some audio frequency sidebands
and this SBs reach the AS port and beat against the local oscillator to create
fake GW signals. This is called "Loop Noise Coupling".

A well known way to mitigate this problem is feed forward.
Since we know how much we are shaking the BS (because we are doing it), and
we can measure the amount of BS to DARM coupling, we can subtract out the
loop noise by feeding forward the MICH feedback signal to the DARM actuators.
In other words, the noise SBs created at the BS is canceled on the PD by the
extra SBs created at the ETMs by the feed forward.

This is what FFC is trying to do.
Attachment 1: FFCinLSC.png
Attachment 2: FFC.png
  5211   Fri Aug 12 16:50:37 2011 YoichiConfigurationCDSFE Status screen rearranged
I rearranged the FE_STATUS.adl so that I have a space to add c1ffc in the screen.
So, please be aware that the FE monitors are no longer in their original positions
in the screen.
  5214   Fri Aug 12 17:27:49 2011 YoichiSummaryCDSToggle button for RCG
Bottom line: I made an RCG block to realize a toggle button easily.

Read on if you need such a button, or if you want to know how to
write a new RCG block with C.

When I was making MEDM screens for FFC, I wanted to have a toggle
button to enable/disable the FFC path.
I wanted to have something like the ON/OFF buttons of the filter bank
screens, the one changes its state every time I click on it.
However, I could not find an easy way to realize that.

From MEDM, I can send a value to an EPICS channel using a "Message Button".
This value is always the same, say 1.
In the RCG model, I used a cdsEpicsMomentary block so that whenever the channel
gets 1, it stays to be 1 for a while and turns back to 0 in a second or so.
This generates a pulse of 1 when I click on a message button on a MEDM screen.
Then I needed a block to keep its internal state (0 or 1), and flips its state
whenever it receives a pulse of 1.
Since I couldn't find such a block in the current RCG library, I implemented one
using the cdsFunctionCall block. It allows you to implement a block with C code.

There is a good explanation of how to use this block in the CDS_PARTS library.
Here is basically what I did.

(1) Drag and drop thee cdsFunctionCall block to my model.

(2) In the "Block Properties", I put the following line in the Description field.
inline cdsToggle /opt/rtcds/caltech/c1/userapps/release/cds/common/src/cdsToggle.c
This means to call a function cdsToggle(), whose code is in the file indicated above.

(3) The contents of the source code is very simple.
void cdsToggle(double *in, int inSize, double *out, int outSize){
  static double x = 0;
  static double y = 0;

  if (*in != y){
    y = *in;
    if (y == 1){
      x = (x == 1) ? 0 : 1;
      *out = x;
The function prototype is always the same. *in and *out are the pointers to the arrays of doubles
for input and output signals of the block. In simuLink, the signals have to be
multiplexed so that the RCG can know how many signals are handed to or returned from the function.
In order to keep the internal state of my custom block, I used "static" keyword in the
declaration of the variables. The rest of the code should be obvious.

(4) Just compile the model as usual. The RCG will automatically include the source code and put
a call to the function in the proper place.

I made the block a library so that people can use it.
is the one.
For the usage of it, please have a look at
  5218   Sat Aug 13 01:52:07 2011 YoichiUpdateLSCFeed forward delay
Yoichi, Koji

While I was testing the feed forward cancellation, I noticed that the
cancellation was not perfect.
The test I did was the following.
I injected the same signal to both DARM and MICH feedback filters.
This was done by injecting a signal into the excitation point of
the ASDC PD, then changing the input matrix elements so that the signal
goes to both DARM and MICH.
Then in the FFC, MICH signal was fed forward to DARM by the gain of -1.
Ideally, this should completely eliminate the DARM FB signal.
In reality, it did not.

The first PDF compares the spectrum of the injected noise (white noise,
red curve) with the spectrum of the signal after the FFC (blue curve).
At higher frequencies, the cancellation becomes poor.
It suggests that this is caused by some delay in the FFC.
I also took a transfer function from the injection point to the signal
after the FFC (second attachment).
I fitted the measured TF with a theoretical formula of
where dt is the time delay and f is the frequency.
The fitting is very good, and I got dt = 0.8msec ~ 13 samples for 16kHz.
13 samples is something very large.

The cause of the delay was suspected to be the shared memory communication
between different processes.
I moved all the FFC blocks to c1lsc.mdl.
Then the cancellation becomes perfect. The signal after the FFC is
completely zero, so I couldn't even make a TF measurement.

This results suggest that a large delay of 13 samples is induced
when you use shared memory to send signals round trip.
We should make simpler models, just passing signals back and forth
via shared memory, dolphin network or GE FANAC RFM to check the
delays more precisely.

For the moment, the FCC is included in the c1lsc model.
The MEDM screens were modified to account for this change.
c1ffc is stopped and removed from rtsystab.
Attachment 1: Spe1.pdf
Attachment 2: TFFitting.png
  7170   Tue Aug 14 04:37:06 2012 YoichiSummaryLSCXARM Open Loop Gain

Yoichi, Rana

Here is the open loop gain of the XARM loop.

The reference is from the pre-upgrade era. We get the extra phase delay because we have two anti-aliasing filters. One is the hardware filter at about 7kHz for 16kHz sampling. This filter should have been replaced to the one for 64kHz sampling but it has not yet happened. The second one is the software anti-aliasing filter applied when down sampling from 64kHz to 16kHz. So we have double AA filters, which are the culprits for the extra phase delay.

We should either replace the hardware AA filter to the 64kHz one (preferred way), or change the software AA filter to a less aggressive one (easier temporary fix).

Attachment 1: xarm-opltf.png
  7171   Tue Aug 14 04:53:45 2012 YoichiSummaryLSCX-Arm noise spectrum

Yoichi, Rana

Here is the noise spectrum of the X-arm error signal along with the TRX DC power fluctuations.

The spectra were taken while the whitening filters for POX11 were OFF.

EDIT (Integrity Fairy): Shall we assume these units are "Intergalactic translational qubits/sqrt(Hz)"?

Attachment 1: xarm-spectrum.png
  7198   Wed Aug 15 18:56:46 2012 YoichiUpdateIOOMC Servo Transfer Function Measurements

 I started working on the characterization of the MC servo.

The current MC servo topology is shown in the figure attached along with a simplified schematic diagram of the MC board. 

A usual way to measure the open loop gain of this servo is to inject a signal from, say, EXCA of the MC board and measure the transfer function from TP2A to TP1A. It works OK at frequencies around the UGF. The second attachment is the OPLTF measured in this way with the Agilent 4395A. The UGF is about 100kHz with the phase margin of 40 to 50 deg. 

Now we have two issues here. First, I expected the UGF to be more than 100kHz, like 300kHz or so. The phase babble is peaked around 100kHz. According to our old measurement (http://nodus.ligo.caltech.edu:8080/40m/1431) the phase babble peak was at a much higher frequency when the FSS was using the reference cavity. One reason could be that the MC is located much farther from the laser than the reference cavity, so that there is some phase lag caused by the time delay. I will make a model of the MC servo system later to check this theory.

The second issue is that, as you can see in the plot, the OPLTF measurement becomes noisy at lower frequencies. With 4395A, which has the minimum IFBW of 2Hz, OPLTF measurement below 10kHz was impossible with the traditional method. We could use SR785 with a long averaging time to improve the SNR, but it requires a patience which I don't have.

The measurement becomes difficult at low frequencies because the loop gain is too high. When the open loop gain (G) is high, the injected signal (x) from EXCA is immediately suppressed by a factor of 1/(1+G) at TP2A. This makes the injected signal hidden in other noises at TP2A.

How do we solve this problem ? Let's consider a simple servo model shown in the third attachment. A traditional OPLTF measurement is done by injecting a signal from EXC port and measuring the TF from TP2 to TP1. The problem was that at TP2, the signal is attenuated by 1/(1+G1*G2), which is too much when G (=G1*G2) is large. However, at TP3, the attenuated signal is amplified by G1. So the injected signal x becomes x*G1/(1+G) at TP3. If G1's contribution to the overall gain G is large enough,  the signal at TP3 is not so small. Then we can easily measure G2 using TP3 and TP1. In a typical situation, G1 is the transfer function of the electric circuits, which we can know either from standalone measurements or from model calculations, and G2 is an interferometer response, which we want to measure. So, by combining the knowledge of G1 and the measurement of G2, we can obtain the overall loop gain G even at lower frequencies.

 The final attachment shows an example of the measurement of G2. In our case, this is the transfer function from MC_Out_Mon to Q-Mon (see the first attachment) . G1 is the transfer function of the MC board. Since G1 is large at low frequencies, we can measure G2 down to 100Hz with a reasonable integration time (10000 cycles per point).

Last night, I took a bunch of TFs with this method. Now I'm analyzing the data to recover the overall gain G. I will post the results later.

Attachment 1: MC-Diagram.png
Attachment 2: OPLG-10kHz-1MHz.png
Attachment 3: SimpleServoDiagram.png
Attachment 4: OPTG-100Hz-1kHz.png
  7201   Thu Aug 16 01:52:52 2012 YoichiUpdateIOOMC Servo Transfer Function Measurements


Last night, I took a bunch of TFs with this method. Now I'm analyzing the data to recover the overall gain G. I will post the results later.

 I calculated the MC open loop transfer function with the combination method. For that, I made a circuit model of the MC board (from the input to the output). The transfer function of this circuit is calculated by SPICE (attachment1). Then it is multiplied by the measured transfer function from the output of the MC board to the input of the MC board (attachment 2) to get the overall transfer function.

The result is shown in the attachment 3. The blue curve is the OPLTF measured with the traditional method. The red curve is the combination method described above. There are some discrepancies between the two curves. The ratio of the two curves (Traditional)/(Combination) is plotted in attachment 4. It seems there is a pole(s) missing from my model of the MC board at around 1MHz. This may come from the omitted op-amps in the MC board model (there are so many op-amps which have flat responses below 1MHz and I omitted most of those). Also the MC board includes many generic filter stages to customize the frequency response. I will open the MC board box to examine what is actually implemented on the board. 

At low frequencies, the two curves are similar but the slope is still different.

I also had to add 83dB of gain to the combined TF to match with the traditional one. I will check where does it come from.

The MC board model (Altium project) is attached as attachment 6. The schematic is attachment 5.

Attachment 1: MC_Board_TF.png
Attachment 2: OPTG.png
Attachment 3: OPLG.png
Attachment 4: Difference.png
Attachment 5: MC_Board.pdf
Attachment 6: MC_Board.zip
  7202   Thu Aug 16 05:08:38 2012 YoichiUpdateIOOMC Servo Transfer Function Measurements


 Also the MC board includes many generic filter stages to customize the frequency response. I will open the MC board box to examine what is actually implemented on the board. 

 I took out the MC board. Unfortunately, most of the components are surface mounted. So the values of the capacitors are not legible.

I will try my best to guess what is implemented on the board.

Attachment 1: MCBoard1.JPG
Attachment 2: MCBoard2.JPG
  7214   Fri Aug 17 05:29:04 2012 YoichiConfigurationComputer Scripts / ProgramsC1configure scripts

 I noticed that the IFO restore scripts have some problems. They use burt request files to store and restore the settings. However, the request files contain old channel names.

Especially channels with _TRIG_THRES_ON/OFF are now _TRIG_THRESH_ON/OFF, note the extra "H".

These scripts reside in /opt/rtcds/caltech/c1/burt/c1ifoconfigure/.

I fixed the PRMI_SBres and MI scripts. Someone should fix all other files.

  7224   Sat Aug 18 03:55:12 2012 YoichiSummaryLSCX-arm locking again

Tonight, I worked on the X-arm locking again. I did not have any significant progress, but observed several issues and will give some suggestions for future work here.

What I did tonight was basically re-alignment of the X-arm (because Rana touched the PZT mirrors for the Y-arm alignment, the X-arm alignment was screwed up). Then I measured the open loop gain. Of course it was almost identical to the one posted in this entry. It reminded myself of how small the phase bubble is. This means we have to finely adjust the gain to set the UGF at the right frequency, i.e. 100Hz. So I decided to do the signal normalization using the TRX power. Using the MC path method described here,  the appropriate normalization coefficient was determined to be 1.6, when the XARM gain is set to 0.05. Using burtgooey, I updated the burt snapshot used by the X-arm restore script.

Now I observed the following things:

When the normalization is used, the lock itself is stable, but the lock acquisition takes loner (i.e. fails more often).

I don't know the exact reason, but here is my guess: Usually, the error signal is divided by the square root of the transmitted power to widen the linear range of the PDH error signal. However, what I'm doing here is dividing the error signal with the power itself, not the sqrt. This might distort the error signal in a not-friendly-for-lock way ? I don't know.

I checked the c1lsc FE code. There seems to be the sqrt(TRX) and sqrt(TRY) signals computed in the code. However, these are not used for the normalization. 

Now, there are two requirements. When dragging the mirrors into the resonance, we want to normalize the error signal with sqrt(TRX). When the mirrors reach the resonance, the gain of the loop must be normalized by TRX. How do we smoothly connect those two states ? Someone should spend some time on this. Maybe I will work on this in Japan.  

We really need a time delay in the filter trigger

The automatic filter trigger is awesome. However, the [0^2:5^2] filter, which is an integrator, takes time to switch on and off. Every time the cavity passes by a resonance, this filter gets turned on and off slowly, giving some large transients. This transient combined with the bad coil balance of ETMX sometimes made the optical lever of ETMX crazy. This can be avoided by turning on this filter a few seconds after the power reaches the threshold. As Rana suggested, we should be able to put an arbitrary time delay to the filter trigger.

Someone should balance the coils

The coil balance of ETMX is bad and causing the above mentioned problem. I tweaked the coil balance by injecting a sinusoidal signal (10Hz) into ETMX pos and trying to minimizing the spectral peak in the optical lever signals. Of course, this is a cheesy work. Someone should put more serious effort on this.

A civilized interferometer should have an auto-alignment capability

After my alignment work, the X-arm power got to about 0.7. (This is probably because the MC transmission power has been low for the past 5 hours or so (attachment 1)).

In anyway, after the cavity locked to the TEM00 mode, the alignment has to be automatically improved by dithering. It is anachronism to sit down and click on the MEDM screen until the power gets big enough.



Attachment 1: MC_Trans.png
  1196   Fri Dec 19 14:35:58 2008 Yoichi AlbertoUpdateIOOMC WFS and IOO-POS QPD re-centering
For the past two days, the MC alignment has kept drifting.
This morning, the MC alignment was so bad that it wouldn't lock to the TEM00 mode.
We aligned the MC mirrors manually until the reflection looks like a nice bull's-eye (the WFSs were off at this moment).
Then we un-locked the MC and centered the beams on the WFS QPDs.
Since the QPDs were saturated with the full laser power falling on them, I reduced the PSL power by turning the HWP after the MOPA.
After this, we turned on the WFSs and everything looks normal now.
We will see the trend of the MC related channels to monitor the drift.

Although unlikely, it might be caused by the drift of the input beam to the MC.
We found that the IOO-POS QPD was mis-centered and saturating.
We replaced the BS picking up the beam for the QPD from 33% reflection to 10% one. The QPD was still saturated.
So we put the 33% BS in the beam path to the QPD to further reduce the power. The beam kicked by the 33% BS
is dumped to a black aluminum plate. We should use a better beam dump later.
Now the IOO-POS QPD should tell us some information about the beam pointing of the PSL, though it has no sensitivity
to the relative motion of the PSL table to the vacuum chambers.
  1233   Fri Jan 16 18:25:32 2009 Yoichi, Kakeru, RanaUpdateLSCArms were unstable
The single arm lock had been unstable for both arms in the past few days.

When an arm was locked by itself, the transmitted power showed a lot of fluctuations (sharp drops).
The first attachment shows the arm power fluctuations in power spectrum and time series.
References are when the boost filters are off for the arm feedback.
You can see that when the boosts are off, the power fluctuates a lot.
Also it is obvious that X-arm is a lot worse than Y.

The second attachment is the comparison of the error signal spectra between boosts on and off.
(PD3_I is the error signal of X-arm, PD4_I is Y arm). References are boost on.
Since the arm power fluctuation was suppressed by the gain increase, it was suspected that the main
reason for the power fluctuation is not alignment fluctuation. Rather, it is length or frequency fluctuation.

Then I took spectra and coherences of PD3_I, PD4_I and MC_F with both arms locked independently.
You can see broadband coherence between PD3_I (Xarm) and MC_F (frequency noise). In contrast the coherence
between PD4_I and MC_F is smaller. This means X-arm is more susceptible to the frequency noise than Y.
What can make a simple Fabry-Perot cavity more susceptible to frequency noise ? An offset ?
So I canceled the X-arm offset at the X-arm filter bank. Bingo ! The arm power fluctuation of X-arm became as small as Y-arm
in the dataviewer.
But what is making this offset ?
After watching the dataviewer screen for a while, the arm power fluctuation became larger again. I had to re-adjust the artificial offset
to minimize the fluctuation. This made me think that the source of the offset must be something to do with alignment.
In this case, clipping of the beam at the PD was very suspicious.
So I checked the centering of the POX and POY PDs. As expected, POX was terribly off-centered.
POY was also not exactly at the center of the plateau of DC output.
After centering those PDs, the large offset in the arm loops went away.
Now the arm powers are stable without artificial offset in the loop filters.
The last attachment shows the comparison of arm power fluctuation before and after the PD centering.
(references are the measurements before the centering).
Attachment 1: TRXY.pdf
Attachment 2: ErrorSignals.pdf
Attachment 3: coherenceBetweenArms.pdf
Attachment 4: ArmPowersAfterPDwasCentered.pdf
  7213   Fri Aug 17 04:54:01 2012 Yoichi, KojiSummaryLSCPRMI Locking

 To taste the strangeness of the current 40m PRC, I locked the PRMI with the guide of Koji.

We first aligned MICH by mostly tweaking ITMX, assuming that ITMY is in a good place as the Y-arm locks. MICH lock was stable.

Then we restored the IFO to the PRM_SBres mode. With a bit of alignment work on PRM and gain tweaking, the PRMI locked.

Yes, the beam spots look UGLY !

Also the PRMI was not so stable. Especially, when the alignment fluctuates, the optical gain changes and the loop becomes temporarily unstable. We took POP_DC as the guide for the gain change and normalized the PRCL error signal with it. To do this smoothly, we first changed the input matrix to route the PRCL error signal, which is REFL33_I, so that the signal also goes to the MC filter bank. Then with dtt, we monitored the spectra of the PRCL_IN1 and MC_IN1. We tweaked the value of the element in the normalization matrix for the MC path until the two spectra look the same (at this moment, the normalizing factor for the PRCL path was still zero). During this process, we noticed that the MC path signal (normalized by POP_DC) is noisier at above 500Hz. This was because the POP_DC has a large noise at high frequencies. So we put a low pass filter (100Hz 2nd order Butterworth) to the POP_DC filter bank to reduce the noise. Then the two spectra looked almost the same. The correct normalization factor found in this way was 0.03. So we put this number in the normalization matrix for PRCL. It did not break the PRMI lock.


After the normalization is turned on, the PRMI lock became somewhat more stable. However, the POP_DC was still fluctuating a lot, especially when the alignment is good. So I made a boost filter: 5Hz pole Q=2, 15Hz zero Q=1.5. I also made this filter automatically triggered when the PRMI is locked. This made the PRMI lock acquisition quicker. However, still the POP_DC fluctuation is large. It seems that the alignment of PRC is really fluctuating a lot.

 The current UGF of PRMI is about 150Hz with the phase margin over 50deg.





Attachment 1: AS_1029238601.jpg
Attachment 2: POP_1029238616.jpg
Attachment 3: REFL_1029238629.jpg
Attachment 4: PRMI-OPLG.png
  1915   Mon Aug 17 02:05:49 2009 Yoichi,ranaUpdatePSLReference cavity reflection looks bad
Rana, Yoichi

It has been a well known fact that the reference cavity reflection beam looks ugly.

We measured the visibility of the RC by locking and unlocking it.
Comparing the reflected beam powers, we got the visibility of 0.46,
which is pretty bad.

The beam going into the RC looks fine (circular on a sensor card).
However, the beam reflected back from the RC is distorted into a
horizontal ellipse, even when the RC is not locked.

We took a picture of the reflected beam hitting a white paper with the
infrared camera (see the attachment). It looks like two overlapping
circles horizontally separated. Could it be a badly coated optics
producing a secondary reflection ?

We looked into the RC's front mirror with an inspection mirror, but we
could not identify any obstructing object.

Rana is now touching the RC alignment.

We plan to remove the periscope before the RC to have a better look
into the cavity for inspection.

Late breaking update:
- We also moved the Refcav reflection camera to look at the leakage through a reflection steering mirror so that there's less chance of distortion. There was previously a W1 window in there as a pickofff. Also changed the camera to autogain so that we can see something.

- Re-aligned onto the refl pd.

- Tweaked alignment into RC. Mainly in yaw. Transmission went from 5V to 7V. In your face, Aso!
Attachment 1: P8170113.JPG
Attachment 2: Untitled.png
  1042   Mon Oct 13 11:32:50 2008 YoixhiUpdatePSLMOPA is in trouble now
Steve, Alberto, Yoichi

A quick update.
The MOPA output went down to zero on Sunday early morning (00:28 AM).
We found that the NPRO beam is mis-aligned on the power monitoring PD (126MON).
We don't know yet if it is also mis-aligned to the power amplifier (PA) because the mechanical shutter is not working (always closed).
Most likely the beam is not aligned to the PA.
A mystery is that although the beam is terribly (more than a half inch) missing the monitor PD, the beam still goes through two faradays.
Another mystery is that the NPRO output power is now increased to 600mW.

The power drop was a very fast phenomenon (less than 1/16 sec).
We are trying to figure out what happened.
The first step is to fix the mechanical shutter. We have a spare in our hand.
Attachment 1: powerdrop.png
  1697   Wed Jun 24 12:04:22 2009 ZachUpdateCamerasSURF entry

This week, I've been reading some literature concerning PLL and familiarizing myself with LINUX, MATLAB, and high-pass filter circuits.  In MATLAB, I started constructing matrices to be used for a beam path analysis from the laser output to the ccd camera.  I also built a simple high-pass filter on a bread-board that Joe and I are currently testing with the spectrum analyzer.

  1712   Wed Jul 1 11:04:27 2009 ZachUpdateCamerasGigE Phase Camera

This past week, I have building a sine wave rectifier and trying to write a simple program that displays a ccd image to familiarize myself with the code.  I also wrote a progress report in which I included the following images of the sine wave rectifier circuit as well as the optical chain including the phase-locked loop.  The hirose connector arrived so I can begin soldering the electronics together and testing the trigger box with the ccd.  I am waiting on the universal PDH box as well as another fiber coupler to begin setting up the optics.  In order to avoid the frustrations associated with sending a laser beam down a long pipe to an optical bench across the room, I will be transmitting laser 1 to the ccd by means of a fiber optic cable and dealing with the alternative new and exciting frustrations.


Attachment 1: trigger.jpg
Attachment 2: fig1b.pdf
  1721   Wed Jul 8 11:08:43 2009 ZachUpdateCamerasGigE Phase Camera

The plan for the optical setup has been corrected after it was realized that it would be impossible to isolate a 29.501 MHz frequency from a 29.499 MHz one because they are so close in value.  Instead, we decided to adopt the setup pictured below.  In this way, the low-pass filter should have no trouble isolating 29.501-29.5 MHz from 29.501 + 29.5 MHz.  Also, we decided to scrap the idea of sending Alberto's laser through a fiber optic cable after hearing rumors of extra lasers.  Since I shouldn't have to share a beam when the second laser comes in, I plan on setting up both lasers on the same optics bench.  I've been working on the software while waiting for supplies, but I should be able to start building the trigger box today (assuming the four-pair cable is delivered).

Attachment 1: fig1.pdf
Attachment 2: fig2.pdf
  1739   Mon Jul 13 16:59:10 2009 ZachUpdate GigE Phase Camera

Today, I moved the router from on top of the PSL into the control room in order to perform dark field tests on the GC650 (which I also moved).  The GC750 along with the lens that was on it and the mount it was on has been lent to Ricardo's lab for the time being.  I successfully triggered the GC650 externally and I also characterized the average electronic noise.  For exposure times less than 1 microsecond, the average noise contribution appears to be a constant 15 on a 12-bit scale.

  1751   Wed Jul 15 14:42:31 2009 ZachUpdateCamerasGigE Phase Camera

Lately, I have been able to externally trigger the camera using a signal generator passing through the op-amp circuit that I built.  The op-amp circuit stabilizes the jitter in the sine wave from the signal generator and rectifies the wave.  I wrote the calculations into the code allowing me to find the phase and amplitude from the images I take.  I still need to develop code that will plot these arrays of phase and amplitude.

The mysterious dark band at the top of the ccd images continues to defy explanation.  However, I have found that it only appears for short exposure times even when the lens is completly covered.  During the next couple of days, I will try to write a routine to correct for this structure in the dark field.

Koji recommended that we use the optical setup pictured below.  This configuration would require fewer optics and we would have to rely on slight misalignments between the carrier and reference beams to test the effectiveness of the phase camera instead of a wavefront-deforming lens.

Attachment 1: fig1koji.pdf
  1778   Wed Jul 22 14:44:57 2009 ZachUpdateCamerasGigE Phase Camera

This past week, I have mostly been debugging my software.  I have tried to use the fluorescent lights to test the camera, but I can't tell for sure if my code is finding the correct amplitude and phase or not.  I am currently using Mathematica to double check my calculations in solving for the phase and amplitude.

Also, I have taken dark field images using a lens with a closed shutter.  I have found that the dark band across the top of the images only appears after the camera heats up.  Also, there is an average electronic noise of 14 with a maximum of 40.  However, this electronic noise as well as any consistent ambient noise will be automatically corrected for in the calculations I'm using because I'm taking the differences between the CCD images to calculate relative phases and amplitudes.

I should be able to start setting up optics and performing better tests of my software this week.

  1807   Wed Jul 29 14:22:33 2009 ZachUpdateCamerasGigE Phase Camera

This week, Joe and I have been setting up the laser and optics.  The mephisto laser is emitting a very ugly beam that we can hopefully remedy using an iris and a lens.  After scanning the beam width at a few different distances from the laser, I am currently trying to determine the appropriate lenses to use.

  1822   Mon Aug 3 18:56:59 2009 ZachUpdateCamerasGigE Phase Camera

While aligning the optics, we tried to start up the CCD.  Although nothing should have changed since the last time I used it, the code claimed it could not find the camera.  All the right leds are lit up.  The only indication that something is awry is that the yellow led on the camera isn't blinking as it does when there is ethernet activity.  

  1824   Tue Aug 4 11:45:29 2009 ZachUpdateCamerasGigE Phase Camera

The camera wasn't working because the router has no built-in dhcp server.  We had to manually start the server after rebooting the computer.

  1861   Fri Aug 7 17:46:21 2009 ZachUpdateCamerasThe phase camera is sort of working

Shown below are the plots of the amplitude and phase of the Mephisto laser light modulated with a chopper as a square wave at about 1 kHz.  The color bar for the phase should run from -pi to pi, and it does when I don't accidently comment out the color bar function.  Anyway, the phase is consistently pi/4 or pi/4 plus or minus pi.  Usually all three of these phases occur within the same image, as shown below.  Also, the amplitude is a factor of two or so higher than it should be where this phase jump occurs.  I think these problems are associated with the nature of the square wave.  However, there is a software bug that appears to be independent of the input data: there is a rounding error that causes the amplitude to jump to infinity at certain points.  This happened for only a dozen or so pixels so I deleted them from the amplitude plot shown below.  I am currently working on a more robust code that will use the Newton-Raphson method for nonlinear systems of equations. 

Attachment 1: ampAv.png
Attachment 2: phaseAv.png
  1862   Fri Aug 7 17:51:50 2009 ZachUpdateCamerasCMOS vs. CCD

The images that I just posted were taken with the CMOS camera.  We switched from the CCD to the CMOS because the CCD was exhibiting much higher blooming effects.  Unlike the CCD, there is a slight background structure if you look carefully in the amplitude image, but I can correct for this consistent background by taking a uniformly exposed image by placing a convex lens in front of the CMOS.  I will then divide each frame taken of the laser wavefront by the background image. 

  2051   Mon Oct 5 13:43:37 2009 ZachUpdatePSLPSL table photos

I have been commissioned to take pictures of the PSL table so that it can be diagrammed. I am starting now (1:42 pm, 10/5/09).

  2052   Mon Oct 5 14:18:41 2009 ZachUpdatePSLPSL table photos


I have been commissioned to take pictures of the PSL table so that it can be diagrammed. I am starting now (1:42 pm, 10/5/09).

All done (for now). That wasn't so bad, was it?

  2057   Tue Oct 6 10:09:55 2009 ZachUpdatePSLMore pictures

I'm back to terrorize the PSL table again. The pictures I took yesterday were rubbish--today I'm using a clamp that Steve was nice enough to loan me. I'm starting now, at 10:09 am.

  2083   Mon Oct 12 18:37:55 2009 ZachUpdatePSLInventory

--Apologies for the late post--

I was at the PSL table taking an inventory of the components for a while after Koji, Steve, and Kiwamu were there. I set the HEPAs back to 20% when I left (assuming that they were turned up when the compartment was opened).

  2089   Tue Oct 13 10:31:11 2009 ZachUpdatePSLone more time

I am at the PSL table taking what is hopefully the last set of pictures for the diagram. Woohoo.

  2090   Tue Oct 13 10:50:58 2009 ZachUpdatePSLone more time


I am at the PSL table taking what is hopefully the last set of pictures for the diagram. Woohoo.

 I'm out, HEPAs are back at 20%.

  2098   Thu Oct 15 12:35:09 2009 ZachUpdatePSLinventory

I'm at the PSL table taking inventory of the elements I don't have down yet.

  2099   Thu Oct 15 12:57:23 2009 ZachUpdatePSLinventory


I'm at the PSL table taking inventory of the elements I don't have down yet.

 OK, I'm out--hopefully for good. HEPAs back at 20%.

  2127   Wed Oct 21 11:41:29 2009 ZachUpdateWIKI-40M UpdatePSL Table Diagram wiki entry

 I made a wiki entry for the PSL table diagram under the PSL directory on the 40mHomePage. I tried to use the ImageLink macro to use a resized (smaller) version of the diagram as a link to the full image, which it is designed to do if there is no target given, but it didn't seem to work. Instead, I had to create a second page that had the full-sized diagram, and I used ImageLink with a smaller version to link to that page.

The inventory that is shown is clearly incomplete. Part of this is due to the fact that many labels were either missing or impossible to read without touching stuff. For those components with labels missing, I tried to infer what they were to the best of my knowledge, but I wasn't able to for all of them. In true wiki spirit, everyone is encouraged to fill in any additional information they might have on these components. 

  2133   Thu Oct 22 15:44:16 2009 ZachUpdateWIKI-40M UpdateMOPA diagram

 I have updated the PSL Diagram wiki page to include MOPA. As with the PSL diagram, clicking the photo on the main page takes you to a larger image. The inventory is pretty meager as I didn't have time to sit and read labels (if indeed there are any). I will look through the documentation at the 40m to see if there is a record of what is there. Again, if you know something, please amend the list!!


  2134   Thu Oct 22 15:49:29 2009 ZachUpdateWIKI-40M UpdatePSL Table Diagram wiki entry



Thanks. I love this. Could you also put the original file that is editable for future modification by anyone?


 I made a wiki entry for the PSL table diagram under the PSL directory on the 40mHomePage. I tried to use the ImageLink macro to use a resized (smaller) version of the diagram as a link to the full image, which it is designed to do if there is no target given, but it didn't seem to work. Instead, I had to create a second page that had the full-sized diagram, and I used ImageLink with a smaller version to link to that page.

The inventory that is shown is clearly incomplete. Part of this is due to the fact that many labels were either missing or impossible to read without touching stuff. For those components with labels missing, I tried to infer what they were to the best of my knowledge, but I wasn't able to for all of them. In true wiki spirit, everyone is encouraged to fill in any additional information they might have on these components. 


 Do you mean the diagram or the inventory? The diagrams are online as attachments (small versions on the main "PSL Table Diagram" page and large versions on the linked pages). The inventory is easily editable on the wiki itself. It's just rendered in table form using the CSV parse utility for "comma-separeted values" (though you actually need to use semicolons, for reasons unknown).

  2136   Thu Oct 22 23:14:54 2009 ZachUpdateWIKI-40M UpdatePSL Table Diagram wiki entry


Diagram. I don't want to say PNG is an editable format for this purpose...
You have the PPT, PDF or any drawing format to create this diagram.



Thanks. I love this. Could you also put the original file that is editable for future modification by anyone?

 Do you mean the diagram or the inventory? The diagrams are online as attachments (small versions on the main "PSL Table Diagram" page and large versions on the linked pages). The inventory is easily editable on the wiki itself. It's just rendered in table form using the CSV parse utility for "comma-separeted values" (though you actually need to use semicolons, for reasons unknown).



Good news and bad news. For the MOPA diagram, which I did recently, I have GIMP file with separate layers for the background image, ray traces, and labels. Unfortunately, I didn't realize that this was the best way to do it until I had done most of the ray tracing for the main diagram, so, although I have that file in GIMP as well, only the labels are on a separate layer. If this is a major issue I can do the tracing again. The other thing is that the original files are quite large: 17.3 MB for the MOPA, and 64.1(!) MB for the main diagram. Let me know what you think.

  2669   Fri Mar 12 13:52:18 2010 ZachUpdateelogelog restarted

 The elog was down and I ran the restart script.

  2804   Sat Apr 17 18:30:12 2010 ZachUpdateGreen Locking1W NPRO output profile

NOTE: This measurement is wrong and only remains for documentation purposes.

Koji asked me to take a profile of the output of the 1W NPRO that will be used for green locking. I used the razor-scan method, plotting the voltage output of a PD vs the position of the razor across the beam, both vertically and horizontally. This was done at 6 points along the beam path out of the laser box.

I determined the beam spot size at each point by doing a least-squares fit on the plots above in Matlab (using w as one of the fitting parameters) to the cumulative distribution functions (error functions) they should approximate.

I then did another least-squares fit, fitting the above "measured" beam profiles to the gaussian form for w vs z. Below is a summary.

It seems reasonable, though I know that M2 < 1 is fishy, as it implies less divergence than ideal for that waist size. Also, like Koji feared, the waist is inside the box and thus the scan is almost entirely in the linear regime.


  2817   Tue Apr 20 13:00:52 2010 ZachUpdateelogelog restarted

 I restarted the elog with the restart script as it was down.

  2818   Tue Apr 20 13:02:14 2010 ZachUpdateGreen Locking1W NPRO output profile

EDIT: I used an IFIT (inverse fast idiot transform) to change the x-axis of the plot from Hz to m. I think xlabel('Frequency [Hz]') is in my muscle memory now..

I have redone the beam fit, this time omitting the M2, which I believe was superfluous. I have made the requested changes to the plot, save for the error analysis, which I am still trying to work out (the function I used for the least squares fit does not work out standard error in fit parameters). I will figure out a way to do this and amend the plot to have error bars.

  2852   Tue Apr 27 22:28:58 2010 ZachUpdateIOOMC alignment

Beginning last week, I have been helping Koji with some of the IO work that must be done for the 40m upgrade. The first thing he asked me to do is to help with the alignment of the MC.

As I understand, it became apparent that the IFO beam was not centered on all (or any) of the MC mirrors, which is disadvantageous for obvious reasons. We are trying to correct this, using the following strategy:

  1. Adjust the MC mirrors into rough alignment, isolate a strong TEM00, and lock the cavity
  2. Fine-tune the alignment by minimizing the REFL power when locked (in these first two steps, we adjusted only MC2 & MC3, assuming that the REFL beam was centered on the PD, and wanting to keep it that way). At this point, the cavity is resonating some asymmetric mode, looking something like (not to scale---for illustration only):MC_misaligned.png
  3. Shake all three mirrors (in succession) in pitch and yaw, each time demodulating the error signal at the frequency used for the excitation and recording the magnitude and phase of the response.
  4. Move one mirror's DC orientation, repeat step 3, and then restore the mirror to its original position
  5. Repeat step 4 for both angular degrees of freedom of each mirror

Using the results of these measurements, it is possible to evaluate the components of a block-diagonal matrix M which relates the tilt-to-displacement coupling of each DOF to each mirror's misalignment in that degree, i.e.,

a = M x

with a a 6-dimensional vector containing the coupling of each degree of freedom to the length of the cavity and x a 6-dimensional vector containing the angular misalignments of each. Due to orthogonality of pitch and yaw, M will take the form of a 6x6 matrix with two non-zero 3x3 blocks along the diagonal and zero matrices on the off-diagonal blocks.

The idea is to isolate components of M by moving one mirror at a time, solve for them, then find the inverse M-1 that should give us the required angular adjustments to obtain the beam-centered ideal cavity mode.

In theory, this need only be done once; in practice, our measurement error will compound and M will not be accurate enough to get the beams exactly centered, so we will have to iterate.

NOTE: The fact that we are adjusting the three cavity mirrors to obtain the ideal mode means that we will necessarily tarnish our coupling into the cavity. Once we have adjusted the mirrors once, we will need to re-steer the input beam and center it on the REFL diode. 

Status: This process has been completed once through step 5. I am in the process of trying to construct the matrix for the first adjustment.


  2853   Wed Apr 28 08:55:19 2010 ZachUpdateelogelog restarted

 Restarted the elog with the script as it was down.

  2854   Wed Apr 28 09:21:16 2010 ZachUpdateelogelog restarted

And again.


 Restarted the elog with the script as it was down.


  2855   Wed Apr 28 12:05:44 2010 ZachUpdateIOOMC alignment

I have worked out the first set of adjustments to make on the MC mirrors (all angle figures are in units of the increments on the control screen)

Using the method described in the previous post, I obtained the following matrix relating the angle-to-length coupling and the angular deviations. In the following matrix, Mij corresponds to the contribution of the jth degree of freedom to the ith A-to-L coupling, with the state vector defined as xi = (MC1P, MC2P, MC3P, MC1Y, MC2Y, MC3Y), where each element is understood as the angular deviation of the specific mirror in the specific direction from the ideal position, such that x = 0 when the cavity eigenmode is the correct one and the beams are centered on the mirrors (thus giving no A-to-L coupling regardless of the components of M).


M =

   1.0e+03 *

   -0.2843   -0.4279   -0.1254         0         0         0

   -0.8903   -0.4820   -0.6623         0         0         0

    0.5024    0.0484   -0.0099         0         0         0

         0         0         0         0.1145   -0.1941   -0.3407

         0         0         0         0.0265    1.5601    0.2115

         0         0         0         0.1015    0.1805   -0.0103,

giving an inverse

M-1 =  

    0.0003   -0.0001    0.0020         0         0         0

   -0.0031    0.0006   -0.0007         0         0         0

    0.0018   -0.0018   -0.0022         0         0         0

         0         0         0        -0.0013   -0.0015    0.0117

         0         0         0         0.0005    0.0008   -0.0008

         0         0         0        -0.0037   -0.0010    0.0044

The initial coupling vector is then acted on with this inverse matrix to give an approximate state vector x containing the angular misalignments of each mirror in pitch and yaw. The results are below:


   1P:  0.0223

   2P: -0.0733

   3P:  0.3010

  1Y:  -0.1372

  2Y:   0.0194

  3Y:  -0.0681


  2858   Wed Apr 28 14:42:55 2010 ZachUpdateIOOMC alignment

Sure. I figured I would put up a How-To if it works. 



 That's interesting.

Would it be possible to write about the technique on a wiki page as you get measurements and results?


  2928   Thu May 13 23:59:46 2010 ZachSummaryIOOMC table leveled

 After the recent removal of the old IMMT and the relocation of the Faraday isolator, the MC table was tilted a bit (southward and slightly westward---as of when I opened the chamber this afternoon). I re-leveled it by putting an extra two rectangular ballast blocks on the stack that was already hanging off the NNE edge of the table (there are a total of 4 in the stack now). I also screwed down the circular block that Koji and I put between the Faraday and SM1 on Tuesday, and re-mounted the two wire harness towers onto the table.

Needless to say, this threw the MC way out of alignment. I spent the rest of the afternoon reacquiring alignment and getting it to lock robustly. Here is a summary:

  • I adjusted MC3 until I got the 2nd, 3rd+ pass beams to overlap with the input beam between MC1&3, then I adjusted MC2&1 semi-methodically until I got something flashing at the transmitted end. This took some time.
  • I went back into the control room, engaged the loops and acquired lock on the TEM00 mode, whereupon I found that the beam spot was WAY off center on MC2 (due to my meddling with all the mirrors to get resonance flashes). I began using the MC2_spot_up (etc) scripts we wrote the other day to re-center it.
  • After a few iterations, the lock became weak, and eventually gave out. This is because the REFL beam was falling off the RFPD (and being clipped by the iris on the AP table), so I moved the iris and re-centered the beam on the diode.
  • With that, I was able to get the MC2 spot more or less centered, but then I noticed that---though the lock was clearly strong as evidenced both by the REFL power dip and visually via the camera on MC2---it looked like crap on the CCD. It seemed like there was some higher order mode structure sloshing around on top of the 00 spot, which didn't make any sense, until I realized that it was just a diffraction pattern from the TRANS beam getting clipped somewhere on the way out of the vacuum system.
  • I went back to the AP table, where I noticed that the TRANS beam was hitting near the edges of several of the mirrors on the way back to the PSL table, including the first one out of the viewport, so I turned IM4 to center the beam on this mirror, then proceeded to center the beam on each mirror downstream and then onto the CCD.
  • After getting a clear picture of the transmission on the CCD, centering the spot even better on MC2, then fine-tuning MC2&3 to strengthen the lock, I went back to the MC table to check that the transmitted beam was still passing through the center of the Faraday, which, by none other than an act of God, it was.
  • Having done the necessary work in the tank, I ran the A2L_MC2 script to fine-tune the centering of the spot on MC2. It needed a couple steps up and to the side, but after that the actuator gains for pitch and yaw were both balanced again to within ~2%, which is only slightly above the measurement error. We will probably need to adjust this continually, especially during the upgrade, so I didn't bother with getting it better than that.

After that, I shut off the loops, blocked the beam, and put the light doors back on the tanks. Then I went to the parking lot, then I got in my car, etc, etc, etc.

ELOG V3.1.3-