The PZT seems to saturate at around +/- 3500 counts. So for the Y arm, I excluded the saturated points and fitted the data points again.
As for the calibration number, we expect the 3276.8 count/V for +/- 10 V range of a 16 bit ADC but the number is ~800 count/V. I couldn't figure out a reason why the number is so different.
The new calibration values are :
X- arm PZT : [146.3 +/- 2.37 ] counts/Volt (with a 20 dB attenuator included in the path)
Y- arm PZT : [ 797 +/- 3.6] counts/Volt
I will get the calibration in MHz/V of PZT actuation and check whether these numbers make any sense.
1) Don't be brainless. Redo the fitting of the Y arm. Obviously the fit is not good.
2) How can you explain the value from the ADC bit and range?
e.g. +/-10V range 16bit ADC => 2^16/20 = 3276.8 count/V
The Transimpedance plots of PDFR now have a reference plot or baseline plot along with the current measurement, for easy comparision.
Current Work: Getting Matlab's vectfit3 to work simultaneously on the transimpedance readings and print the zeros and poles alongside the plots.
Koji asked me to get the calibration of the PZT counts to Volts for the the X and Y ends. Yesterday, I went inside the lab and took some measurements from the digital readout of the PZT by giving in a DC offset(-5 to +5 volts) to PZT_Out and read out from these channels:
For X-end: C1:ALS-X-SLOW_SERVO1_IN1
For Y-end: C1:ALS-Y-SLOW_SERVO1_IN1
Since a 20dB attenuator was placed in the path of X-arm readout while taking the Transfer functions(Detail), I did the calibration measurements without removing it from the path. However, for the Y arm there was no attenuator in the readout path.
The obtained calibration values are :
X- arm PZT : [146.3 +/- 2.37 ] counts/Volt
Y- arm PZT : [ 755.1 +/- 3.6] counts/Volt
The attached are the fit and data plots for the above calibration.
Last night, I poked around to try and see if I could reproduce the sketchy MC behavior by exciting MC2 in a way that may be similar to what we do when using it as a CARM actuator.
The short of it is that at frequencies under 1k, the MC lock didn't mind MC2 position excitations up to 8000 counts. However around 4-5k, a 1000 count excitation would induce a good deal of low frequency (2-5Hz) activity in the MC trans power, causing it to fluctuate by thousands of counts before unlocking. If I turned the excitation off before the unlock, it would eventually settle back down, but not immediately.
I was able to reproduce this a handful of times before it decided to stop locking altogether, perhaps because of its random mood swings, or perhaps because this kind of disturbance is related to the mood swings...
- ALS X/Y arm stability was checked by IR locked arms.
- Basically the stability looks same as before.
Q sez: here are some ALS ASDs (in Hz/rtHz).
The reference plots are with the arms locked on CARM/DARM with ALS. The main traces are with the arms locked on POX/POY. Alignment affects these traces a fair amount.
The X arm ALS seems no worse for the upgrade, and the PZT actuators do look pretty orthogonal when we play around with the alignment.
- The cable for the beat note was disconnected from the frequency counter and reconnected to the spectrum analyzer.
- PMC/IMC had not been locked for 8 hours.
- PMC was relocked.
- IMC got immediately relocked. Today IMC relocks very fast.
- Went to the ETMX table. Aligned the oplev beam on the QPD
- The X end green beam was realigned to the cavity.
I can feel that the two mirrors provides quite independent alignment adjustment. VERY NICE.
Green TRX: without PSL Green - 0.612, with PSL green - 0.725
I can clearly see that the mode matching is not ideal. All the higher modes are LG modes!
The input mode is very round.
- Arm cavities were aligned by ASS
- Tested ASX. PZT2 Pitch/Yaw servos run with the previous setting. We still can maximize the transmission by touching PZT1.
- Now Eric joined the activity.
- Once the beam is aligned what we could lock was LG00/10/20/30.
We measured the power in LGn0 modes
This suggests that the mode-matching ratio is something like 70%
- Q is aligning the PMC. PMC transmission prev 0.783. Basically we could not improve it.
We thought this number can go up to ~0.82 or even ~0.84. We wonder if this comes from the decay of the laser power or reduced visibility?
In fact there is a pomona box between the HV amp and the laser.
It is expected that the combination of the box and the laser PZT (2.36nF by Elog #3640) provides poles at 2.9Hz and 148kHz and a zero at 32Hz.
Basically, the gain of this stage is 0.1 at 10kHz. So the injected noise is reduced by factor of 10. It is just barely OK.
I need a bit more careful design of the output stage for the MC servo.
These telescopes will be used to mode match//couple the dumped SHG light from both PSL and AUX (Y-Arm) lasers into PM fibers for use in FOL.
Using the waist measurements I made yesterday (29/7/14) as seed waists, I used a la mode to design coupling telescopes.
These are designed to match the output mode of the fibers with collimators.
ALM files are attached in .zip file.
Once the fibers are coupled, I will continue in assembling the Y-Arm FOL setup, using fiber coupled beam combiner and photodiodes.
I will also do the same procedure for the X-Arm, access permitting.
The goal of the measurements we made ( my previous 3 elogs) was to characterize the laser frequency thermal actuator that is a part of the FOL- PID loop.
For this we made indirect TF measurements for the thermal actuator by looking at the PZT response by 1)arm cavity( ETM ,ITM) displacement and 2) temperature offset excitation. The goal was to do something like getting G1=TF3/TF1 and G2=TF3/TF2 and ultimately dividing G2/G1 to get TF2/TF1 with correct calibration. The final TFs obtained are the X and Y arm TFs for Laser frequency response vs temperature offset in(HZ/count). The calculations in detail are:
Obtained G1 = PZT response/ Temperature Offset (count/count): (in detail here )
Obtained G2 = PZT response/ X and Y arm displacement( count/ count) : (in detail here)
Calibrated G2 to count/m ( in detail here)
Divided G2/G1 to get X and Y arm displacement/ Temperature Offset( m/ count) to get G3
Did these calculations:
dL/ L = dF /F
F = c/lambda ;Lambda = 532 nm ; L =
X arm length = 37.79 +/- 0.05 m
Y arm length = 37.81 +/- 0.01 m
TF: Laser Freq/ Temperature Offset = G3 *F/L (HZ/Count)
The calibration coefficients for the ends are :
X End: [23.04 +/- 0.23 ]* 10^3 (HZ/Count)
Y End: [18.71 +/- 0.2 ]* 10^3 (HZ/Count)
For the TFs of the temperature actuator on laser frequency I used ITMs for both the arms. The bode plots for the calibrated( HZ/Temp Count) are attached.
For the X-Arm Thermal Actuator, I calculated the TFs at two different frequency ranges and combined the results where the coherence is high(>0.7). At 1 Hz the coherence was not as good as the other frequencies(due to the suspension resonance at 0.977 Hz).
The poles and zeroes are estimated after fitting this data using Matlab vectfit tool.The graphs showing fit and measured values are attached.
Y arm Thermal Actuator:
5th order TF fitted:
z1 = -0.9799;
z2 = 2.1655;
z3 = -2.9746- i * 3.7697
z4 = -2.9746+ i * 3.7697
z5 = 95.7703 + 0.0000i
p1 = -0.0985- i* -0.0845
p2 = -0.0985+ i* -0.0845
p3 = -0.6673- i* -0.7084
p4 = -0.6673+ i* -0.7084
p5 = -8.7979.
X-arm Thermal Actuator:
Gain = 20
z2 = -18.2774
z3 = -16.6167
z4 = -1.2486
z5 = 28.1080
p1 = -0.1311 - 0.1287i
p2 = -0.1311 + 0.1287i
p3 = -8.3797 + 0.0000i
p4 = -4.0588 - 7.5613i
p5 = -4.0588 + 7.5613i
I will use get the poles and zeroes from these fitted bode plots and use it to build the PID loop.
Plan for the week:
Inside the Lab:
Yesterday, Nick and I completed the green steering mirrors upgrade. I attached the file that contained the procedure that we plan before we did the upgrade. We placed an iris at the input of the OL and we place another iris before the harmonic separator. We did not use the beam scanner because someone was using it, so what we did was to assume that the cavity is well align and place the iris so that we can recover the alignment. We used the measuring tape to approximate as close as we could the position where the lenses were supposed to go. I did a measurement of the derivative of the waist size in terms of the position of the lens and the derivative of the waist Position in terms of the lenses position at the optimum solution that a la mode give us. Because of this plot, we decide to mount lens 3 and lens 5 into translational stages. After mounting each lenses and mirrors we worked on the alignment of the beam into the cavity. We were able to align the green into the cavity and we were able to locked the cavity to the TEM00 mode. We started to work on the optimization of the mode matching. However, the maximum mode matching that we got was around 0.6, which we need to work a little bit more on the tuning of the mode matching. We leave the iris mounted on the table. I took a picture of the table, and I attached below. For the OL, we just make sure that the output where somehow hitting the QPD, but we didn't really I aligned it. We need to work a little bit more on the alignment of the OL and the tuning of the mirror to maximize the green mode matching.
The bearing is chirping in the back of the 2W Innolight laser controller. It is loud enough to hear it. I placed 4 soft rubber feet under the controller to avoid shaking other things on self.
The HEPA filter bearing becomes noisy at 50V
Keep it at 20V for low noise
I’ve received some fan pictures from our manufacturing center. Your system will have one of the two fans pictured. Please contact manufacture company for more information.
Agustin (TJ) Tijerina
Commercial Product Support Center
5100 Patrick Henry Dr., Santa Clara, Ca. 95054
Product Support: (800) 367-7890
The fans are ordered.
From old 40m elog 5-29-2007
I used an oscillator and an oscilloscope to measure the open loop transfer function at higher frequency than 100kHz.
(I remember that I tried to use Agilent 4375A for this and failed before ... due to low input impedance???)\
Here is the update. It seems that the gain margin is not so large. We should apply low pass to prevent too large servo bump.
A heads up to anyone using SVN with computers on the Martian network:
When we moved the svn repository on nodus to /export, we set it up such that the internet-facing svn URL was unchanged. However, it turns out that the martian network machines (i.e. Stuff mounted on the NFS share) were still pointing to the old svn files in /cvs/cds/caltech/svn, and thus not seeing new revisions made in /export/home/svn. If your martian network svn'd files got weird, this is why.
I'm relocating the root svn URLs on the martian machines' checkouts to point to the nodus https address as I find them, to make them robust against future local movement of the svn files.
Peoples' user files should be fine, this looks like it'll only really affect things such as scripts and medm screens, etc.
That was super fast! Great job, Andres and Nic!
Nick and I did the upgrade for the green steering mirror today. We locked in the TEM00 mode.
We placed the shutter and everything. We move the OL, but we placed it back. Tonight, I'll be doing a more complete elog with more details.
The Past Week
In the past week, I have improved the coupling in the fiber testing setup on the SP table to up to ~45%
I also measured the input/output modes of the fiber with collimators.
Manasa, Q and I have designed, and redesigned a setup to measure Polarization Extinction Ratio introduced by fibers.
I have also partially assembled the box that will hold the frequency counters and RPi for FOL.
Today (Tuesday) I measured waists of PSL and AUX, at dumped light from the SHG's for use in designing coupling telescopes for FOL.
In the next week, I will design and couple light from PSL and AUX (Y arm) into fibers for use in testing FOL.
Once that's done, I will continue testing fiber characteristics, starting with Polarization Extinction Ratio.
Power cord for Raspberry Pi (ordered)
AD9.5F collimator adapter (ordered)
The PDFR system's interface and scripts have been updated to include quite a few more features.
On the interface side, there are buttons to open the previous plot for each PD and also a single button to run the scans on all PDs sequentially. The previous plot buttons actually open a softlink that is updated each time a measurement is taken.
Running a scan now pops up a terminal window to show messages that help understand whats going on.
In the background, the script now takes in the transfer function of the demodulator board in ZPK format and calibrates it out of each measurement. The parameters are given .dat files making it easier to replace the transfer function. (Remember my last elog which showed that the fitting of transfer functions were not really great and that I am going to use it anyway to get the script updated.) Also, the script now takes the delay in the RF cables and calibrates out that as well. So we no longer have the huge phase variations and the phase related to transimpedance are visible.
A test run was conducted today. Plots attached.
NOTE: The test can be conducted only on REFL 11,33,55,165 , AS55, and POX11.
POY11 has an optical fiber routed from this system, but there is no space to actually illuminate this PD. So it is currently not included in our system, even though there is a button for this.
POP22 has a fiber illuminating it, but its a unknown broadband PD. I do not know it's DC transimpedance or other values. Its just of matter of updating a few files that feed it's parameters into PDFR.
However, for the above PDs, the demodulator boards have been fit to a transfer function and the script is ready to go as soon as the above problems are fixed.
Conclusion: The plots look noisy. But, the transimpedance now resembles the one on 40-m wiki for all the PDs, both the shape and values.
There will be some errors that are induced because of improper demodulator TF fitting. This has to be taken care of eventually.
Work remaining: Create a canonical set of plots for each PD and set them as the baseline. These canonical plots will be plotted along with each measurement for easy comparison.
A well documented manual for the whole system clearly explaining where and how it takes all the parameters into account so that anybody can easy update just the essential information.
//edit Manasa// Harry will update this elog with before/after pictures of the table and power of the 1064nm rejected beam from the SHG.
While making these measurements, I reduced the Y end laser power (decreasing the current) so that we could use the beam profiler without burning anything and then brought it back up to the nominal power after the measurements were done.
We wanted to take measurements of "waists" of the PSL and AUX (Y-Arm) so I can then design a telescope to couple both into fibers for use in FOL.
For both lasers, PSL and AUX, I measured the profile of the dumped red (1064nm) beams coming out of the second harmonic generators, as this is the light that we will be using in FOL.
The power in the beam I measured from the PSL was 87.5 mW, and the power in the measured beam at the end table was 96 mW (when reduced from nominal power).
I used the beam profiler to take measurements of spot size at multiple points along the optical axis of both lasers.
An issue with these measurements was space constraints. In other words, there was no room on either table for a translation stage to hold the Profiler. I used a tape measure to determine Z-Coordinates. However, especially in the case of the AUX laser, parallax error caused uncertainty in my position measurements, which I would estimate at plus and minus 1.5cm.
I then fit these data using ALM to determine waist size and location for use in telescope design.
Z = 0 in the PSL graph is the face of the first mirror in the beam path, and in the AUX graph Z = 0 is the face of the SHG.
My measurement of the PSL gave:
X Waist = 43um at z = 6.8mm, as measured from the face of the SHG.
Y Waist = 44um at z = 6.8mm, as measured from the face of the SHG.
AUX Measurements gave:
X Waist = 44um at z = -3.1mm from the SHG face
Y Waist = 36um at z = -3.6mm from the SHG face
Find attached alm files in .zip
Movement on the Tables
In order to facilitate the measurements, we needed to move some things around, as pictured below.
On the PSL table, we installed a steering mirror after the Green filtering mirror, which is immediately after the SHG output, in addition to appropriate beam dumps.
At the end table, we removed some unused optics, as well as a PD, which were in the way . //edit// manasa: We removed IPANG (which has no light on it) and the associated steering optics.
Either tonight or tomorrow morning, I will use these data to design coupling telescopes for the PSL and AUX light.
Tomorrow, I will couple both lasers to fibers, and hopefully finish assembling the optics for FOL
The ultimate goal of characterizing the temperature actuator turned to be fruitful in obtaining the calibration values for ETMX and ETMY (Calibration of ITMs were done previously here but not for ETM). In this process, I measured the PZT response by displacing one of the test masses in the frequency range of 20 Hz and 900 Hz and measured the transfer functions in counts/counts.
ETMX = [12.27 x 10 -9/ f2 ] m/count
ETMY = [14.17 x 10 -9/ f2] m/count
I calculated these calibration values from the measurements that we have taken( in detail : elog) and did the following calculations:
The measurements I made were :PZT count/ Actuator Count separately for all the test masses.
PZT count/ Actuator count = [PZT count/ arm cavity displacement(m) ]*[ displacement of a test mass(m) / Actuator Count]
For a same laser and assuming flat response of the PZT, the term [PZT count/ arm cavity displacement(m) ] remains for all the test masses.
The fitting was done on the gain plots of the PZT Response vs Test mass displacement and a function G * f ^-2 was fitted. The resulting G values were:
ETMX: 8.007* f ^-2
ITMX: 3.067* f ^-2
ETMY :11.389* f ^-2
ITMY : 3.745* f ^-2
To calculate the calibration of ETMX:
[PZT count/ Actuator count : ETMX ] / [ displacement of a test mass(m) / Actuator Count :ETMX] = [PZT count/ Actuator count : ITMX ] / [ displacement of a test mass(m) / Actuator Count :ITMX]
putting the values from the above fitting and Kiwamu's elog,
the calibrated value was calculated to be [12.27 * 10^-9 /f^-2 ]m/count.
A similar calculation was done for ETMY.
The attached are the fitting plots for the measurements taken.
Now using these and the previously measured calibrations, I will get the complete calibrated TF of the thermal actuator.
The MC openloop gains were measured with several conditions
- MC fast/PC crossover was measured to be ~30kHz.
- No feature found in the fast path above 10kHz.
I have been making a circuit to test the crossover between the PZT and PC paths.
This was supposed to allow us to inject a test signal as well as the 5V necessary to offset the voltage for the HV amp.
So far this attempt was not successful although the circuit TF looked just fine. I was wondering what was wrong.
I now suspect that the noise of the circuit was too big. It has ~65nV/rtHz noise level. This corresponds to the external
disturbance of 1~2Hz/rtHz. This is ~10 times larger noise level than the freerun frequency noise.
In the control band the circuit noise is suppressed (cancelled) by the feedback loop.
This is OK when the loop is dominated by the PZT loop. However, if the loop is dominated by the PC path,
the PC path has to work for this compensation.
So what I should do is to remove the low pass filter in the FSS and move it to the downstream of the HV amp.
This way we may be able to reduce the PC path actuation as the noise of the HV amp is also reduced by the LPF.
For the meantime, I used another approach to characterize the MC crossover. I could manage to lock the MC without the PC path.
The openloop was measured with and without the PC path in this low gain setup. In fact the loop was oscillating at 6kHz
due to the low phase margin. Nevertherless, this comparison can let us find where the crossover. The loop gain was also
measured with the nominal condition.
MC IN1 Gain: +19dB
VCO Gain: +3dB
Boosts: No boost / No super boost
FSS Common Gain: +13dB
Fast Path Gain: +21.5dB
The PC path disconnected.
(Note that the loop was almost oscillating and the apparent gain may look lower than it should have been)
MC IN1 Gain: +19dB
VCO Gain: +3dB
Boosts: No boost / No super boost
FSS Common Gain: +13dB
Fast Path Gain: +21.5dB
The PC path connected.
MC IN1 Gain: +19dB
VCO Gain: +15dB
Boosts: Boost On / Super boost 2
FSS Common Gain: +13dB
Fast Path Gain: +21.5dB
The PC path connected.
ETMX sus damping restored
Work Completed :
- Transfer Function
- Quantization Noise Estimation
EPICS and Channel Readout:
Frequency Offset Locking(FOL) Box Design and Plan:
Work Plan for Upcoming Weeks:
We want a measurement of the fiber modes at either end, with the collimators, because these will be the modes that we'll be trying to match in order to couple light into the fibers, for FOL and/or future projects.
In order to measure these modes, I used the beam profiler (Thorlabs BP 209-VIS) to take measurements of the beam diameter (cut off at 13.5% of the amplitude) along the optical axis, for each of the fiber ends.
The ends are arbitrarily labelled End 1 and End 2.
For each measurement, the fibers were coupled to roughly 30%, or 25mW at the output.
Regarding the issue of free rotation in the collimator stages: while End 1 was relatively stable, End 2 tended to move away from its optimal coupling position. In order to correct for this, I chose a position where coupling was good, and repositioned the stage to that coordinate (124 degrees) before taking each measurement.
The data were then entered into A La Mode, which gave waist measurements as follows:
End 1--- X Waist: 197um at Z = 4.8mm Y Waist: 190um at Z = 13.6mm
End 2--- X Waist: 192um at Z = 7.4mm Y Waist: 190um at Z = 6.0mm
A La Mode code is attached in .zip file
These are the types of profiles that we will hopefully be matching the PSL and AUX lasers to, for use in frequency offset locking.
More characterization of the fibers is to follow, including Polarization Extinction Ratio.
We also hope to be testing the overall setup soon.
To calibrate the measured TFs and characterize the thermal actuator for the FOL loop, we [ Me, Eric Q, Koji ] made the TF measurements of PZT response by giving a disturbance to the position of each of X and Y arm ETM and ITM.
In order to make reasonable conclusions, the measurements were done at frequencies greater than 20 Hz (assuming the PZT response to be flat till a few KHz), which is out of the bandwidth of the control loops operating for other noises at low frequencies, so that we can get the response only( mainly) due to the disturbance of the masses.
For this measurement , a Sine sweep excitation was given as an input to one of the test mass and PZT actuation signal was monitored. The channels used for the measurement are:
Input( Mirror displacement):
Output ( PZT Response):
The units of the TF of these measurements are not calibrated and are in count/count. For this I will use the ITMX and ITMY calibration values from Izumi's Elog. I will also make some calculations and post in the calibrations of ETMX and ETMY in a separate elog.
I am now estimating the calibrated Thermal Actuator TF and will estimate the location of poles and zeroes to build the PID loop. I will elog the final calibrated TFs in my next elog.
The attached are the Bode Plots for ETM and ITM for X and Y arms.
I used vector fitting to fit the transfer functions between RF input and PD RF MON of demodulator boards. These fittings can certainly do a lot better on LISO, but for the time being I will assume these to be good enough and change the main PDFR scripts to calibrate out this factor and get a decent reading of PD transimpedance. Then it will just be a matter of changing the transfer function parameters. A lot of work needs to be done on the PDFR interface and plot features.
Attached: The plots showing data and fits.
The NDS2 server on megatron was unresponsive for what i think was the last couple of days.
The NDS the log file (~nds2mgr/logs/nds2-201407151045.log) started reporting "Stage: parser output queue is full." at 2014.7.24 14:47:54 also there are 16 connections still not closed with LindmeierLaptop.cacr.caltech.edu (220.127.116.11) with 15 of them in CLOSE_WAIT.
To identify these zombie sockets we use "netstat -an | grep 31200"
The server was in a condition that /etc/init.d/nds2 stop didn't work and the process had to be manually kill -9'ed and then about 3 or 4 minutes later the zombie sockets were gone at /etc/init.d/nds2 start was used to restart the server.
The LindemejerLaptop was using pynds to get a bunch of channels at once to test drive a streaming visualization code for glitches. It's unclear whether this bumped into a server limitation. We have seen similar states in ldvw that seem to be the result of errors which result in client-server connections not being closed properly, leaving data in an output buffer causing Linux to wait for the other side to empty the buffer.
Koji asked me to perform a simulation of the response of POP QPD DC signal to mirror motions, as a function of the CARM offset. Later than promised, here are the first round of results.
I simulated a double cavity, and the PRC is folded with parameters close to the 40m configuration. POP is extracted in transmission of PR2 (1ppm, forward beam). For the moment I just placed the QPD one meter from PR2, if needed we can adjust the Gouy phase. There are two QPDs in the simulation: one senses all the field coming out in POP, the other one is filtered to sense only the contribution from the carrier field. The difference can be used to compute what a POP_2F_QPD would sense. All mirrors are moved at 1 Hz and the QPD signals are simulated:
This shows the signal on the POP QPD when all fields (carrier and 55 MHz sidebands) are sensed. This is what a real DC QPD will see. As expected at low offset ETM is dominant, while at large offset the PRC mirrors are dominant. It's interesting to note that for any mirror, there is one offset where the signal disappears.
This is the contribution coming only from the carrier. This is what an ideal QPD with an optical low pass will sense. The contribution from the carrier increases with decreasing offset, as expected since there is more power.
Finally, this is what a 2F QPD will sense. The contribution is always dominated by the PRC mirrors, and the ETM is negligible.
The zeros in the real QPD signal is clearly coming from a cancellation of the contributions from carrier and sidebands.
The code is attached.
I succeeded in creating a new channel access server hosted on domenica ( R Pi) for continuous data acquisition from the FC into accessible channels. For this I have written a ctypes interface between EPICS and the C interface code to write data into the channels. The channels which I created are:
The scripts I have written for this can be found in:
db script in: /users/akhil/fcreadoutIoc/fcreadoutApp/Db/fcreadout.db
Python code: /users/akhil/fcreadoutIoc/pycall
C code: /users/akhil/fcreadoutIoc/FCinterfaceCcode.c
I will give the standard channel names(similar to the names on the channel root)once the testing is completed and confirm that data from FC is consistent with the C code readout. Once ready I will run the code forever so that both the server and data acquisition are in process always.
Yesterday, when I set out to test the channel, I faced few serious issues in booting the raspberry pi. However, I have backed up the files on the Pi and will try to debug the issue very soon( I will test with Eric Q's R Pi).
To run these codes one must be root ( sudo python pycall, sudo ./FCinterfaceCcode) because the HID- devices can be written to only by the root(should look into solving this issue).
Instructions for Installation of EPICS, and how to create channel server on Pi will be described in detail in 40m Wiki ( FOLL page).
controls@rossa|~ 2> ls /users/akhil/fcreadoutIoc
ls: cannot access /users/akhil/fcreadoutIoc: No such file or directory
This code should be in the 40m SVN somewhere, not just stored on the RPi.
I'm still confused why python is in the mix here at all. It doesn't make any sense at all that a C program (EPICS IOC) would be calling out to a python program (pycall) that then calls out to a C program (FCinterfaceCcode). That's bad programming. Streamline the program and get rid of python.
You also definitely need to fix whatever the issue is that requires running the program as root. We can't have programs like this run as root.
I tried making these changes but there was a problem with R pi boot again.I now know how to bypass the python code using IOC.I will make these changes once the problem with the Pi is fixed.
Koji said that the method we used for X-arm thermal actuator TF measurement was not correct and suggested us to make measurements separately for high and low frequencies( ensuring coherence at those frequencies is high).
(Edit by KA: The previous measurements for X/Y arm thermal actuators were done with each arm individually locked. This imposes the MC stability to the arm motion. The MC stability is worse than the arm stability due to shorter length and more number of the mirrors. Thus the arm motions were actually amplified rather than stabilized. The correct configuration was to stabilize MC using the other arm and control the measurement arm with the arm cavity length.)
So I and Eric Q took some improved TF measurements last night for the X-arm. The input excitation and the filters used were similar to that of the previous measurement . The attached are the TF plots showing two different frequency measurements.The data was saved and will be used to generate a complete TF. The attached (TFX_new.pdf)shows the independent TF measurement for X-arm temperature actuator. The black legend shows the TF at high frequencies(>1 Hz) and the red at low frequencies(<1 Hz). The final TF plots( from the data) will be posted in my next elog.
We also made the measurements needed for calibration of these actuator Transfer functions. For this we gave some excitation for the arm length( separately for X arm and Y arm) and measured the PZT response. I will eLog with the details of the measurement and results shortly.
We're putting together a box to go into the 1X2 rack, to facilitate the frequency counters, and Raspberry Pi that will be used in FOL.
Separately, I am working on characterizing the Polarization Extinction Ratio of the PM980 fibers, for further use in FOL.
What's Been Done
The frequency counters have been mounted on the face of the box, and nylon spacers installed in the bottom, which will insulate the RPi in the future, once it's finally installed.
In regard to the PER setup, there is an issue, in that the mounts which hold the collimators rotate, so as to align the axes of the fibers with the polarization of the incoming light.
This rotational degree of freedom, however, isn't "sticky" enough, and rotates under the influence of the stress in the fiber. (It's not much, but enough.)
This causes wild fluctuations in coupled power, making it impossible to make accurate measurements of PER.
In the FOL box's case, we've ordered a longer power cable for the raspberry pi (the current one is ~9 inches long).
Once it arrives, we will install the RPi, and move the box into its place in the rack.
In the case of the PER measurement, we've ordered more collimator mounts//adapters, which will hopefully give better control over rotation.
As a part of temperature actuator characterization, today Eric Q and I made some measurements for the open loop TF of both the X-arm and Y-arm thermal actuators.
For this, we gave an input of random excitation for the temperature offset input( since we faced some serious issues when we gave in Swept sine yesterday) and observed the PZT actuation signal keeping the arm to be locked all the time of our measurements and ensuring that the PZT signal doesn't saturate.
The channels used for the measurement were C1:ALS-X_SLOW_SERVO2_EXC as the input and C1:ALS-X_SLOW_SERVO1_IN1 as the output.
The random noise used for the measurement :
Y-ARM: Gain- 6000; Filter - butterworth-first order - band-pass filter with start frequency= 1 Hz stop frequency = 5 Hz.
X-ARM: Gain -3000; Filter - butterworth- first order- band-pass filter with start frequency 3 Hz and stop frequency = 30 Hz and notch(1,10,20).
The Y-ARM measurement was stable but for the X-ARM, the PZT was saturating too often so Eriq Q went inside the lab and placed a 20dB attenuator in the path of the X-ARM PZT signal readout to carry out the stable measurements.
The units of the TF of these measurements are not calibrated and are in count/count. I will have to calibrate the units by measuring the PZT count by changing the cavity length so that I can get a standard conversion into Hz/count. I will elog the calibrated TFs in my next elog after I take the cavity length and PZT TFs.
The attached are the bode plots for both the X-ARM and Y-ARM thermal actuators(non-calibrated). I will work on finding the poles and zeroes of this system once I finish calibration of the TF measurements.
We wanted to improve the coupling into the fibers, because it's very rarely good enough to take measurements with, as the beam is obscured by random noise.
Additionally, we want to add some things to the current setup in order to better measure Polarization Extinction Ratio.
What Was Done
After flailing for several hours, Koji helped me couple the NPRO light into the fiber, using the fiber illuminator for alignment. The coupled optical power immediately jumped from 0-1uW to 5.6mW (around 11% coupling).
Q and I discussed the setup for measuring PER. In addition to the current setup, we added a half wave plate to control the angle of the polarization, in addition to the existing quarter wave plate, which corrects the beam for ellipticity.
Once everything was coupled, I started minimizing S-Polarization coming out of the first polarizing beam splitter, and maximizing the P-Polarization entering the fibers.
I did this by first varying the Quarter Wave plate to eliminate as much S Polarization as possible, and then, maintaining a constant differential in angle between QWP and HWP, I rotated them both to maximize power coupled into the fibers.
I measured 0.2 mW of S-Polarization, and 54.3 mW of P-Polarization.
At this point, a locking effort started, and I had to leave the 40m.
Tomorrow, I would like to finish the setup of the PER measurement design. That is to say, add a collimator to the other end of the fiber, and align it with the second PBS.
And, of course, take a measurement of the Polarization Extinction Ratio of the fiber.
To eventually be implemented in Frequency Offset Locking.
Today, I encountered a problem with the stage that holds the coupler, in that its ability to rotate unchecked causes coupling to degrade over time due to torsion in the fibers. Our solution was to stress-relieve the fiber with a clamp.
Unfortunately, this also meant losing coupling completely. It was re-coupled at up 72% efficiency. (Subsequent changes in the setup have decreased that to ~24%)
When I took preliminary measurements of the PER, it was significant, which was unexpected. Upon further discussion with Q, we concluded that since the fiber's fast axis hadn't been aligned with the light's polarization, I was getting multiple polarizations out the end of the fiber.
Subsequent measurements of the power contained in the two polarizations of the output light gave about 0.8% S-Polarization introduced by the fiber.
I would like to find another collimator holder, to hold the output side of the fiber.
Also, I will spend more time aligning the fiber axes, and the second PBS in order to get a better (read: more reasonable) measurement of PER.
The PRM sus gains checked OK
All other suspension oplev gains setting were checked out OK
I've restored the gains to their old values, and measured the loop TFs.
We were working on getting back into the locking groove tonight.
The POP2F and REFL3F demod angles needed some tuning to lock the PRC reliably. The green alignments were mostly fine, the X end PZT ASS works reasonably well. Suspensions, especially the ITMs, seemed to be drifting a fair deal; today was fairly hot out, I guess.
We only got to the point of attempting the SqrtInv handoff once (which failed because I forgot to check the filter bank offsets). This was because the Mode Cleaner refused to stay locked longer than ~5-10 minutes at a time. We adjusted the MC and FSS servo offsets by the usual means, but this didn't make a difference.
We discussed and decided that the time is right to roll up our sleeves and dig into the MC loop, and try to figure out why these intermittent times of unreliability keep cropping up. We will check out the servo board, and see if we can find the missing phase than Evan observed, as well as characterize the FSS/PZT crossover, and investigate what kind of conditions we may create that cause the PC to saturate.
A time delay can be modeled as the exponential transfer function : e(-sTd) as seen HERE . Therefore the slope of the phase gives us the time delay.
The transfer function of RF multiplexer in rack 1Y1 (NI PXI-2547) was fit to an ideal delay function e(-sTd) , with Td = 59 ns.
The plots shows the actual data, fit data and data after correction using the ideal model stated above.
Delay the RF Multiplexer is approximately 59 ns. This value can be used to correct the phase in measurements of transimpedance for each PD by dividing out the ideal transfer function for time delay.
A time delay can be modeled as the exponential transfer function : e(-sTd) as seen HERE . Therefore the slope of the phase gives us the time delay.
A RG405 coaxial cable, exactly 5.5 meters in length, was fit to an ideal delay function e(-sTd) , with Td = 150 ns.
Delay in RG405 cables is approximately 27.27 ns per meter. This value can be used to correct the phase in measurements of transimpedance for each PD by dividing out the ideal transfer function for time delay.
[EDIT: This looks like we have about 12 % the speed of light inside the RF cables. Too small to be true. I will check tomorrow if the Network analyzer itself has some delay and update this value.]
The varying attenuation of about 1dB due to the cable is not compensated by this. We need to separately include this.
Things to do:
1) Get the length of RF cables that is being used by each PD, so that the compensation can be made.
2) Calculate the attenuation and delay caused by RF multiplexer and Demodulator boards. Include these in the correction factor for transimpedance measurements.
To eventually be implemented in Frequency Offset Locking.
I repeated the exact steps above and made sure everything was back where it should be after I was done.
Reason I had to retake the measurements:
My script for acquiring data from the AG4395A network analyzer was such that it first acquired the magnitude data from channel 1 and then recorded phase data from channel 2 without holding its trace. Hence the phase and magnitude data were not exactly in sync with each other. So, when I tried to fit the data to a model using vector fitting, I ended up with very bad results.
I have now changed every single script relating to the network analyzer to just get the real and imaginary data in one go and then calculate the phase using this data.
The fitting process is now in progress and results will be up shortly.
The plots in the previous Elog includes delay and a little attenuation by RF cables and the RF mux.
Today I separately calculated the delay and attenuation for an RG405 cable (550 cm) and the RF mux(using really small RF cables). These delays should be accounted for when fitting the transfer function of Demodulator boards and transimpedance of PDs.
The plots are in both semilogx and linear.
Alone with the IFO. Started from some conversation with it.
Some ALS trials: Found the Y-end green alignment was terrible. In fact the end green set up is terrible.
Unfixed optics, clipping/fringing in the faraday, unstable suprema mounts which is unnecessarily big.
Eventualy I stopped touching the end alignment. Run ALS to see the stability of the things.
This is a performance confirmation after some touching of the ALS electronics by Manasa/SURFs
The sensing noise levels of the ALSs looks the same as before.
The intensity noise of the transmission was also checked. They are not RIN but very close to RIN
as the DC was the unity for both arms.
The X arm has worse ALS noise level and RIN.
Although I forgot to turn off the HEPA flow at the south bench during the measurement. Gurrr.
As a part of installation of two(X-ARM and Y-ARM) frequency counters in the 40m, I have tested their performance when using them both on a single Raspberry Pi. The timing plots are attached. There are almost no timing issues in this configuration and it can be said that there is no harm using both of the FCs on the same platform.
We will be installing the FC box inside the lab and carry out few tests with RF mon beat note inputs.
Does not require time from a lab expert.
Quad processor 2 & 3 were replaced.
As Koji pointed out, I messed up the calibration. However, fixing it doesn't change things that much.
From this calibration by Yuta, the Xarm ALS calibration is 54 deg / MHz, or 19.17 kHz / deg. So, I multiply my data which is in these degree units by 19.17e3 to get Hz. Then I use delta_f / f = delta_L / L to convert to meters. f = c / lambda_green, and L = 37.5 meters.
This only changes the calibration by about 10-15%. It still looks like the ALS noise is well above the RIN level of the sqrtInv signal.