ID |
Date |
Author |
Type |
Category |
Subject |
1550
|
Wed May 6 02:39:20 2009 |
Yoichi | HowTo | Locking | How to go to DC readout | I wrote a script called DC_readout, which you can find in /cvs/cds/caltech/scripts/DRFPMI/bang/nospring/.
Currently, the locking script succeeds 1/3 of the time. The freaky parts are the MC_F hand off and REFL_DC hand off.
MC_F hand off succeeds 70% of the time. REFL_DC goes well about a half of the time. Combined, the success rate is about 1/3.
We need some work on those hand offs.
Once you pass those freaky parts, the cm_step script usually goes smoothly and you will reach the full RF lock with the boost and the super boost1 engaged on the CM board.
To go to DC readout from there, run the DC_readout script.
First, this script will put some offset to the DARM loop so that some carrier light will leak to the AS port.
You are prompted to lock the OMC. Move the OMC length offset slider to find the carrier resonance and lock the OMC.
You have to make sure that it is carrier, not the 166MHz sideband. Usually the carrier light pulsates around 10Hz or so whereas the 166MHz SB is stable.
Once you locked the OMC to the carrier, hit enter on the terminal running the DC_readout script.
The script will do the rest of the hand off.
Once the script has finished, you may want to check darm_offset_dc in the C1LSC_LA_SET screen. This value sets the DC offset (a.k.a. the homodyne phase).
You may want to change it to what you want. |
1568
|
Sat May 9 00:15:21 2009 |
Yoichi | Update | PSL | Laser head temperature oscillation | After the laser cooling pipe was unclogged, the laser head temperature has been oscillating in 24h period.
The laser power shows the same oscillation.
Moreover, there is a trend that the temperature is slowly creeping up.
We have to do something to stop this.
Or Rob has to finish his measurements before the laser dies. |
1575
|
Tue May 12 01:11:55 2009 |
Yoichi | Update | LSC | DARM response (DC Readout) | I measured the DARM response with DC readout.
This time, I first measured the open loop transfer function of the X single arm lock.
The open loop gain (Gx) can be represented as a product of the optical gain (Cx), the filter (Fx), and the suspension response (S), i.e. Gx = Cx*Fx*S.
We know Fx because this is the transfer function of the digital filters. Cx can be modeled as a simple cavity pole, but we need to know the finesse to calculate it.
In order to estimate the current finesse of the XARM cavity, I ran the armLoss script, which measures the ratio of the reflected light power between the locked and the unlocked state. Using this ratio and the designed transmissivity of the ITMX (0.005), I estimated the round trip loss in the XARM, which was 170 ppm. From this number, the cavity pole was estimated to be 1608Hz.
Using the measured Gx, the knowledge of Fx and the estimated Cx, I estimated the ETMX suspension response S, which is shown in the first attachment.
Note that this is not a pure suspension response. It includes the effects of the digital system time delay, the anti-imaging and anti-aliasing filters and so on.
Now the DARM open loop gain (Gd) can also be represented as a product of the optical gain (Cd), the filter (Fd) and the suspension response (S).
Since the actuations are applied again to the ETMs and we think ETMX and ETMY are quite similar, we should be able to use the same suspension response as XARM for DARM. Therefore, using the knowledge of the digital filter shape and the measured open loop gain, we can compute the DARM optical gain Cd.
The second attachment shows the estimated DARM response along with an Optickle prediction.
The DARM loop gain was measured with darm_offset_dc = 350. Since we haven't calibrated the DARM signal, I don't know how many meters of offset does this number correspond to. The Optickle prediction was calculated using a 20pm DARM offset. I chose this to make the prediction look similar to the measured one, though they look quite different around the RSE peak. The input power was set to 1.7W in the Optickle model (again this is just my guess).
It looks as if the measured DARM response is skewed by an extra low pass filter at high frequencies. I don't know why is it so. |
1576
|
Tue May 12 01:22:51 2009 |
Yoichi | Update | LSC | Arm loss | Using the armLoss script (/cvs/cds/caltech/scripts/LSC/armLoss), I measured the round trip loss (RTL) of the arms.
The results are:
XARM: RTL= 171 (+/-2) ppm
YARM: RTL = 181 (+/-2) ppm
To get the results above, I assumed that the transmissivity of the ITMs are the same as the designed value (0.005).
This may not be true though. |
1577
|
Tue May 12 15:22:09 2009 |
Yoichi | Update | LSC | Arm Finesse |
Quote: |
It looks as if the measured DARM response is skewed by an extra low pass filter at high frequencies. I don't know why is it so. |
One large uncertainty in the above estimate is the cavity pole of X-arm because I simply assumed that the ITMX reflectivity to be the designed value.
I think we can directly measure the X-arm finesse from Alberto's absolute length measurements (i.e. from the width of the resonant peaks in his scans).
By looking at Alberto and Koji's posts (elog:1244 elog:838), it looks like the FWHM of the peaks are around 3kHz. With the FSR ~ 3.8MHz, it gives a finesse of about 1300, which is reasonable.
Alberto, can you check your data and measure the FWHM more precisely ?
Note that we want to measure the FWHM of the peak in the *power* of the beat signal. The beat amplitude is proportional to the electric field *amplitude* of the transmitted auxiliary laser. What we need to get a finesse is the FWHM of the transmitted laser *power*. Thus we need to take the power of the beat signal.
|
1593
|
Sun May 17 14:35:52 2009 |
Yoichi | Update | VAC | VC1 opened | I found the VC1 was closed and the pressure was 4.5e-3 torr.
I tweaked the optical sensor (cryopump temperature), and opened VC1. |
1660
|
Sun Jun 7 04:57:39 2009 |
Yoichi | Update | Locking | ? |
Quote: |
Lock acquisition is proceeding smoothly for the most part, but there is a very consistent failure point near the end of the cm_step script.
Near the end of the procedure, while in RF common mode, the sensing for the MCL path of the common mode servo is transitioned from a REFL 166I signal which comes into the LSC whitening board from the demodulator, to another copy of the signal which has passed through the common mode board, and is coming out of the Length output of the common mode board. We do this because the signal which comes through the CM board sees the switchable low-frequency boost filter, and so both paths of the CM servo (AO and MCL) can get that filter switched on at the same time.
The problem is occurring after this transition, which works reliably. However, when the script tries to remove the final CARM offset, and bring the offset to zero, lock is abruptly lost. DARM, CM, and the crossover all look stable, and no excess noise appears while looking at the DARM, CARM, MCF spectra. But lock is always lost right about the same offset.
Saturation somewhere?
|
I've seen this before. At that time, the problem was gone spontaneously the next day.
You could stop just before the offset reaches zero and then try to slowly reduce the offset manually to see where is the threshold.
|
1899
|
Thu Aug 13 22:53:48 2009 |
Yoichi | Configuration | PSL | FSS nominal common gain changed, MC WFS centered | Koji, Yoichi
We found that the FSS PC feedback easily goes crazy (saturated).
It was because the common gain was too low. Probably the recent decrease of the
laser power is responsible for this.
We increased the nominal value of the common gain from 12 to 16.5.
The value was chosen just to make the PC path quiet. We should check
the FSS UGF later.
The MC WFS QPDs seemed off centered. So we unlocked the MC and lowered
the input power by the usual MZ half fringe technique.
Actually, the direct reflection beam was not much off the center. In anyway, we adjusted
the beam to the exact center of the QPDs.
The MC now locks fine.
|
1906
|
Fri Aug 14 15:32:50 2009 |
Yoichi | HowTo | Computers | nodus boot procedure | The restart procedures for the various processes running on nodus are explained here:
http://lhocds.ligo-wa.caltech.edu:8000/40m/Computer_Restart_Procedures#nodus
Please go through those steps when you reboot nodus, or notice it rebooted then elog it.
I did these this time. |
1909
|
Sat Aug 15 05:08:55 2009 |
Yoichi | Update | Locking | Friday night locking | Summary: DD hand off fails for DRFPMI.
Tonight, I did a lot of house keeping work.
(1) I noticed that the reference cavity (RC) was locked to TEM10.
This was probably the reason why we had to increase the FSS common gain.
I re-locked the RC to TEM00. Now the common gain value is back to the original.
(2) The MC WFS did not engage. I found that c1dcuepics had the /cvs/cds mounting problem.
I rebooted it. Then MC WFS started working.
(3) After checking that the MC WFS QPDs are centered for direct reflection (the MZ half fringe method),
I locked the MC and tweaked the mirror alignment (mainly MC3) to offload the WFS feedback signals.
Now the MC locks to TEM00 robustly.
(4) Since the MC mirror alignment is touchy recently, I did not like the idea of mis-aligning MC2
when you do the LSC PD offset adjustment. So I modified the LSCoffset script so that it will close
the PSL shutter instead of mis-aligning MC2.
(5) I changed the PD11_Q criteria for success in the alignment scripts because PD11_Q is now lower
than before due to the lower laser power.
(6) Since today's bootfest, some epics values were not properly restored. Some of the PD gains were
unmatched between I and Q. I corrected these with the help of conlog.
(7) By checking the open loop TFs, I found that the short DOFs have significantly lower UGFs than before,
probably due to the lower laser power. I increased the gains of MICH, PRCL and SRCL by a factor of 2 for
the full configuration.
For the DRM configuration the changes I made were:
PRC -0.15 -> -0.3
SRC 0.2 -> 0.6
MICH 0.5 -> 0.5
(8) I locked the DRFPMI with arm offsets, then adjusted the demodulation phases of PD6,PD7,PD8 and PD9 (DD PDs)
to minimize the offsets in the error signal, while locked with the single demodulation signals.
Change log:
PD6_PHASE 201 -> 270
PD7_PHASE 120 -> 105
PD8_PHASE 131 -> 145
PD9_PHASE -45 -> -65
(9) I ran senseDRM to get the sensing Matrix for the short DOFs using DD signals in DRM configuration.
(10) Still the DD hand off fails for DRFPMI. It succeeds for DRM. |
1916
|
Mon Aug 17 02:12:53 2009 |
Yoichi | Summary | Computers | FE bootfest | Rana, Yoichi
All the FE computers went red this evening.
We power cycled all of them.
They are all green now.
Not related to this, the CRT display of op540m is not working since Friday night.
We are not sure if it is the failure of the display or the graphics card.
Rana started alarm handler on the LCD display as a temporary measure. |
1917
|
Mon Aug 17 04:16:13 2009 |
Yoichi | Update | PSL | Reference cavity reflection looks bad |
Quote: | Rana, Yoichi
- 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!
|
After our removal of the pick off window and Rana's re-alignment of the beam into the RC, the RC optical gain increased.
FSS was complaining about it by driving the PC feedback crazy.
I reduced the nominal common gain from 12.5dB to 11dB. |
1923
|
Tue Aug 18 14:24:43 2009 |
Yoichi | Summary | PSL | Reference Cavity Inspection | Rana, Koji, Yoichi
To see why the reflected beam from the RC is distorted, we took out
the periscope and the iris in front of the RC. The periscope mirrors
had some gunk and dusts on them. We blew nitrogen air onto them to
remove the dust. Since the gunk did not come off with the air, we
wrapped a Q-tip with lens cleaning paper soaked in Methanol, and wiped
the surface of the mirrors. We did this because it was hard to remove
the mirrors from the periscope (they were in a spring loaded mirror
holders. The springs were too strong to safely remove them without
damaging the mirrors).
Looking into the RC from the front mirror revealed nothing obstructing
in the path.
After the cleaning, we put the periscope back and observed the direct
reflection from the cavity (not locked). It was still distorted
exactly like before.
So we did some tests.
First we injected He-Ne to the RC. It turned out that multiple
reflections from the optical window (not AR coated for He-Ne) made it
almost impossible to investigate anything with He-Ne. But this
observation made us to suspect maybe one side of the window is not AR
coated.
We placed the periscope about 50cm away from the RC and injected the
beam from an angle, so that we can observe the direct reflection.
First, we checked the shape of the beam leaving the periscope. It was good.
We then observed the reflected beam from the RC. It was also good, no distortion.
We made sure that it was really the reflection from the mirror, not from the window
as follows.
We measured the separation between the in coming beam to the cavity and the reflected beam
at two locations. From this, we can guess where the two beams intersect (the reflection point).
The estimated reflection point was far inside the RC enclosure, indicating that it was really
reflection from the front mirror of the RC.
Since we did not see any other reflection beam, we concluded that the AR coating of the window
is good.
We checked the direct reflection beam shape with several different incident angles, but the
beam shape was always good.
We put back the periscope to the original position. This time, we put a high reflectivity mirror
after the output mirror of the periscope. The beam coming out of the circulator (PBS) had a good
circular shape. But still if we let the beam reflected by the cavity, the beam shape is distorted.
Something must be happening in the RC. Unfortunately, we could not figure out what it is.
We put everything back to the original configuration, except for the iris, and the RC alignment
was already good (surprise). After Koji's final tweak, the FSS is now doing fine, but still
the reflected beam is ugly. |
1934
|
Fri Aug 21 17:49:47 2009 |
Yoichi | Summary | Computers | Upgrade FE conceptual plan | I started to draw a conceptual diagram of the upgraded FE system.
http://nodus.ligo.caltech.edu:30888/FE/FE-Layout.html
(It takes some time to load the page for the first time)
Some places, tips will pop up when you stop the cursor over an object.
You can also click on the LSC block to see inside.
This is just a start point, so we should add more details.
The source of the diagrams are in the svn:
https://nodus.ligo.caltech.edu:30889/svn/trunk/docs/upgrade08/FE/
I used yEd (http://www.yworks.com/en/products_yed_about.html) to make
the drawings. It is Java, so works on many platforms. |
1941
|
Tue Aug 25 03:30:23 2009 |
Yoichi | Summary | WIKI-40M Update | Green lock and phase noise | While Koji and I were discussing about the green laser lock, we wondered if the common motion of the cavity mirrors,
which won't be suppressed by the green laser servo, will cause any problem to the locking.
Since the common motion of the cavity mirrors is equivalent to the change of the path length from the laser to the
input mirror, it will show up as a phase noise in the error signal.
Unfortunately, since we inject the green laser from the end mirror, this phase noise has opposite sign for the
PSL and the green laser.
I calculated the magnitude of the phase noise using an extremely rough estimate of the common motion of the mirrors.
It is explained in the 40m wiki.
http://lhocds.ligo-wa.caltech.edu:8000/40m/Upgrade_09/GreenLock
The result plot is attached.
(Probably the seismic noise I used is an over estimate.) |
1955
|
Thu Aug 27 12:34:48 2009 |
Yoichi | Update | Locking | up to arm power 70 | Last night, I tried to run locking scripts.
The power went up to 70 a couple of times .
Then it failed to switch to RF CARM.
I was too tired at that time to figure out what is the problem with the switching.
But it seemed to me that the problem could be solved by some gain tweaking.
Looks like the IFO is back to a good state. |
1959
|
Fri Aug 28 12:56:17 2009 |
Yoichi | Update | Locking | RF CARM hand off problem | Last night, the lock script proceeded to the RF CARM hand-off about half of the time.
However, the hand off was still unsuccessful.
It failed instantly when you turn on the REFL1 input of the CM board, even
when the REFL1 input gain was very low, like -28dB.
I went to the LSC rack and checked the cabling.
The output from the PD11_I (REFL_2) demodulation board is split
into two paths. One goes directly to the ADC and the other one goes
to an SR560. This SR560 is used just as an inverter. Then
the signal goes to the REFL1 input of the CM board.
I found that the SR560 was set to the A-B mode, but B input was open.
This made the signal very noisy. So I changed it to A only mode.
There was also a 1/4 attenuator between the PD11_I output and the SR560.
I took it out and reduced the gain of SR560 from 10 to 2.
These changes allowed me to increase the REFL1 gain to -22dB or so.
But it is still not enough.
I wanted to check the CM open loop TF before the hand-off, but I could
not do that because the lock was lost instantly as soon as I enabled the
test input B of the CM board.
Something is wrong with the board ?
Using the PD11_I signal going into the ADC, I measured the transfer functions
from the CM excitation (digital one) to the REFL_DC (DC CARM signal) and PD11_I.
The TF shapes matched. So the PD11_I signal itself should be fine.
We should try:
* See if flipping the sign of PD11_I signal going to REFL1 input solve the problem.
* Try to measure the CM analog TF again.
* If the noise from the servo analyzer is a problem, try to increase the input gains
of the CM board and reduce the output gain accordingly, so that the signal flowing
inside the CM board is larger. |
3427
|
Mon Aug 16 23:39:29 2010 |
Yoichi | Update | SUS | More TT characterization |
Quote: |
Things we noticed: Koji and I had been concerned the last time we were looking at TT#2 because the frequency got lower and the Q seemed to get higher when we added the damping to the vertical blades. Yoichi and I did not find that to be true today. We did notice, however, that the EQ stop screws with the viton had been placed in the holes closer to the clamping point, whereas with TT #4 the screws had been placed in the holes farther from the clamping point. We moved the screws on TT #2 to the outer holes, and noticed that the frequency increased slightly, and the Q significantly decreased. We then followed this outer-hole philosophy when installing screws in TT #3.
|
The inner and outer screw holes of the EQ stop Jenne is talking about are shown in the photo below.

|
3428
|
Tue Aug 17 02:07:11 2010 |
Yoichi | Update | CDS | DACs have correct number of channels |
Quote: |
- DACs 
None of them are working although the computer can recognize that all three DAC cards are mounted.
I think something in the IOP file and the model file may be wrong because this symptom looks similar to that of C1ISCEX we tested two weeks before ( see this entry )
I have to fix it anyhow because the DACs are very necessary part for this damping test.
|
Since we had a similar trouble with the DAC at CLIO, I checked if this problem comes from the same origin.
The origin of the problem we had was that although the board was sold as 16 channel DAC, the firmware was set to use only 8ch.
To see if this problem exist in the DAC boards of c1sus, I added the following code to the /cvs/cds/caltech/cds/advLigoRTS/src/fe/map.c
printk("DAC ASSC = 0x%x\n",dacPtr[devNum]->ASSC);
in the definition of mapDac() function.
This code prints the information of the ASSC (Assembly Configuration) register of the PMC66-16AO16 board as a kernel message at the start up time of the realtime code. You can check the message with dmesg command.
After the modification, I recompiled the c1sus and installed it.
make c1sus; make install-c1sus
After starting c1sus, I checked the dmesg. Then found that the ASSC register was set to 0x130006. To decipher this magic number, you have to consult with the manual of the DAC, which is available online.
http://www.generalstandards.com/view-products.php?product=pmc66-16ao16
The manual says the 17th and 18th bits of this number set the number of channels. Those bits are 11 for 0x130006. According to the manual, 11 means 16 channels are present. So it seems that the ASSC register is correctly set. In the case of CLIO, the ASSC register was 0x110003, meaning only 8 channels are present.
Unfortunately, the ASSC register was not the cause of the problem, but at least this possibility was checked. |
3536
|
Tue Sep 7 20:44:54 2010 |
Yoichi | HowTo | COMSOL Tips | COMSOL 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.
https://nodus.ligo.caltech.edu:30889/svn/trunk/comsol/MechanicalTF/
The directory also contains an (incomplete) explanation of the method in a PDF file. |
5210
|
Fri Aug 12 16:42:51 2011 |
Yoichi | Configuration | LSC | LSC 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
C1:FFC-*.
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. |
5211
|
Fri Aug 12 16:50:37 2011 |
Yoichi | Configuration | CDS | FE 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 |
Yoichi | Summary | CDS | Toggle 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.
/opt/rtcds/caltech/c1/userapps/trunk/cds/common/models/cdsToggle.mdl
is the one.
For the usage of it, please have a look at
/opt/rtcds/caltech/c1/userapps/trunk/isc/c1/models/c1lsc |
5218
|
Sat Aug 13 01:52:07 2011 |
Yoichi | Update | LSC | Feed 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
1-exp(-i*dt*f),
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. |
7170
|
Tue Aug 14 04:37:06 2012 |
Yoichi | Summary | LSC | XARM 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). |
7171
|
Tue Aug 14 04:53:45 2012 |
Yoichi | Summary | LSC | X-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)"? |
7198
|
Wed Aug 15 18:56:46 2012 |
Yoichi | Update | IOO | MC 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. |
7201
|
Thu Aug 16 01:52:52 2012 |
Yoichi | Update | IOO | MC Servo Transfer Function Measurements |
Quote: |
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. |
7202
|
Thu Aug 16 05:08:38 2012 |
Yoichi | Update | IOO | MC Servo Transfer Function Measurements |
Quote: |
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. |
7214
|
Fri Aug 17 05:29:04 2012 |
Yoichi | Configuration | Computer Scripts / Programs | C1configure 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 |
Yoichi | Summary | LSC | X-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.
|
1196
|
Fri Dec 19 14:35:58 2008 |
Yoichi Alberto | Update | IOO | MC 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, Rana | Update | LSC | Arms were unstable | The single arm lock had been unstable for both arms in the past few days.
Symptoms:
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.
Diagnosis:
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). |
7213
|
Fri Aug 17 04:54:01 2012 |
Yoichi, Koji | Summary | LSC | PRMI 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.
|
1915
|
Mon Aug 17 02:05:49 2009 |
Yoichi,rana | Update | PSL | Reference 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! |
1042
|
Mon Oct 13 11:32:50 2008 |
Yoixhi | Update | PSL | MOPA 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. |
1697
|
Wed Jun 24 12:04:22 2009 |
Zach | Update | Cameras | SURF 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 |
Zach | Update | Cameras | GigE 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.
|
1721
|
Wed Jul 8 11:08:43 2009 |
Zach | Update | Cameras | GigE 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). |
1739
|
Mon Jul 13 16:59:10 2009 |
Zach | Update | | 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 |
Zach | Update | Cameras | GigE 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. |
1778
|
Wed Jul 22 14:44:57 2009 |
Zach | Update | Cameras | GigE 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 |
Zach | Update | Cameras | GigE 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 |
Zach | Update | Cameras | GigE 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 |
Zach | Update | Cameras | GigE 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 |
Zach | Update | Cameras | The 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. |
1862
|
Fri Aug 7 17:51:50 2009 |
Zach | Update | Cameras | CMOS 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 |
Zach | Update | PSL | PSL 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 |
Zach | Update | PSL | PSL table photos |
Quote:
|
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 |
Zach | Update | PSL | More 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. |
|