40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log, Page 3 of 326  Not logged in ELOG logo
ID Date Authorup Type Category Subject
  4521   Wed Apr 13 23:32:07 2011 Aidan, JamieConfigurationLSCAS PD and Camera installed

I spent some time tracking down the AS beam which had vanished from the AP table. Eventually, by dramatically mis-aligning SRM, PRM and ITMY, returning BS to its Jan 1st PITCH and YAW values and tweaking the ITMX alignment [actual values to follow], I was able to get an AS beam out onto the AP table. I verified that it was the prompt reflection off ITMX by watching it move as I changed the YAW of that optic and watching it stay stationary as I changed the YAW of ITMY.

Jamie and I then steered the beam through a 2" PLCX-50.8-360.6 lens and placed the RF PD (AS55) at the focus. Additionally, we installed the AS camera to observe the leakage field through a Y1S steering mirror (as shown in the attached diagram).

Currently the PD has power but the RF and DC outputs are not connected to anything at the moment.

Atm 2 by Steve

 

 

Attachment 1: AS_beam.jpg
AS_beam.jpg
Attachment 2: P1070546.JPG
P1070546.JPG
  4536   Fri Apr 15 22:57:38 2011 Aidan, JamieConfigurationLSCAS PD and Camera installed

AS port ITMX YAW  range where AS beam was visible = [-1.505, -1.225] - these extrema put the beam just outside of some aperture in the system -> set ITMX YAW to -1.365

ITMX PITCH range = [-0.7707, -0.9707] -> set to ITMX PITCH to -0.8707

Quote:

I spent some time tracking down the AS beam which had vanished from the AP table. Eventually, by dramatically mis-aligning SRM, PRM and ITMY, returning BS to its Jan 1st PITCH and YAW values and tweaking the ITMX alignment [actual values to follow], I was able to get an AS beam out onto the AP table. I verified that it was the prompt reflection off ITMX by watching it move as I changed the YAW of that optic and watching it stay stationary as I changed the YAW of ITMY.

Jamie and I then steered the beam through a 2" PLCX-50.8-360.6 lens and placed the RF PD (AS55) at the focus. Additionally, we installed the AS camera to observe the leakage field through a Y1S steering mirror (as shown in the attached diagram).

Currently the PD has power but the RF and DC outputs are not connected to anything at the moment.

Atm 2 by Steve

 

 

 

  2835   Fri Apr 23 18:30:49 2010 Aidan, Jenne, KojiSummaryGreen LockingGreen means GO!

Jenne, Koji and I assembled the Covesion Oven today, inserted a PPKTP crystal from Raicol, aligned the crystal to a 50mW focus and
got some green beam coming out.

Covesion Oven assembly

The oven contains a brass clip that can clamp a crystal up to 10mm wide x 0.5mm high x 40mm long (according to the instructions). According to the correspondence from Covesion the clip can accomodate a crystal up to 1.5mm high. Our crystal is 1mm x 1mm x 30mm.

  1. We removed the brass springs from the clip - see Koji's photos
  2. We placed the Raicol PPKTP crystal (#725) into the clamp with the long polished surfaces facing out to the sides and the roughened surfaces facing up and down.
  3. We balanced the 10mm x 40mm x 1mm glass plate on top of the crystal.
  4. We replaced the brass springs in the top of the clip but only tightened the screws a couple of turns so they wouldn't fall out.
  5. Very carefully and slowly, I tightened the screws a few turns in a star-shaped order to distribute the pressure evenly across the glass top
  6. Each time I tightened all eight screws, I jiggled each of the four springs to see if there was any compression in them
  7. Once the springs started to show signs of compression I stopped tightening them and tested the stability of the glass plate - a reasonable amount of pressure was required to move the plate - about the same amount required to push a SR560 across an optical table with your index finger.
  8. We loosely attached the lid and moved the oven to the table

Alignment of the crystal to the focus

The oven was mounted on a 4-axis Newport translation stage. We plonked the assembly onto the table, removed the lid and adjusted the rough position so that a focus of the 1064nm beam, from a 100mm lens, was positioned near the center of the crystal - then it was clamped down to the table. From here we adjusted the alignment of the stage, using an IR card and a viewer to guide us, until we eventually saw some green beam coming out. We were all very excited by this! We optimized the alignment as best we could using the IR card and then we replaced the lid on the oven. At this point the temperature of the PPKTP was around 26.5C and the green beam coming out look quite dim. We turned the oven up to around 36 degC and observed the beam getting much brighter and we approached the optimum phase-matching condition.

We haven't done anyway quantitative measurements yet but we were pleased with how easy this first stage was.

 

[Edit by Koji] More photos are on Picasa album

Attachment 1: IMG_2405.jpg
IMG_2405.jpg
Attachment 2: IMG_2417.jpg
IMG_2417.jpg
  4213   Thu Jan 27 17:12:02 2011 Aidan, JoeSummaryGreen LockingDigital Frequency to Amplitude converter

Joe and I built a very simple digital frequency to amplitude converter using the RCG. The input from an ADC channel goes through a filter bank (INPUT), is rectified and then split in two. One path is delayed by one DAQ cycle (1/16384 s) and then the two paths are multiplied together. Then the output from the mixer goes through a second filter bank (LP) where we can strip off twice the beat frequency. The DC output from the LP filter bank should be proportional to the input frequency.

Input Channel: C1:GFD-INPUT_xxx

Output Channel: C1:GFD-LP_xxx

Joe compiled the code and we tested it by injecting a swept sine [100, 500]Hz in the input filter bank. We confirmed that output of the LP filter bank changed linearly as a function of the input frequency.

The next thing we need to do is add a DAC output. Once that's in place we should inject the output from a 4kHz VCO into the ADC. Then we can measure the transfer function of the loop with an SR785 (driving the VCO input and looking at the output of the DAC) and play around with the LP filter to make sure the loop is fast enough.

The model is to be found here:

/opt/rtcds/caltech/c1/core/advLigoRTS/src/epics/simLink/c1gfd.mdl

The attached figures show the model file in Simulink and a realtime dataviewer session with injecting a swept sine (from 500Hz to 100Hz) into the INPUT EXC channel. We've had some frame builder issues so the excitation was not showing on the green trace and, for some reason, the names of the channels are back to front in dataviewer (WTF?), - the lower red trace in dataviewer is actually displaying C1:GFD-LP_OUT_DAQ, but it says it is displaying C1:GFD-INPUT_OUT_DAQ - which is very screwy.

However, the basic principle (frequency to amplitude) seems to work.

Attachment 1: Screenshot.png
Screenshot.png
Attachment 2: Swept_sine_F_to_A.png
Swept_sine_F_to_A.png
  4218   Fri Jan 28 10:27:46 2011 Aidan, JoeSummaryGreen LockingDigital Frequency Discriminator - calibration

 One more thing ... we can calibrate the output of the LP filter to give a result in Hz with the following calibration:

LP_OUT = -1/(2*dt)*(LP_IN -1), where dt is 1/16384, the delay time of the delayed path.

Therefore LP_OUT = -8192*(LP_IN-1).

  4401   Thu Mar 10 16:00:53 2011 Aidan, JoeUpdateGreen LockingIntensity stabilization loop using beatnote DC.

Aidan: Joe and I have added a channel that takes the DC output from the vertex beatnote PD and sends it, via RFM, to a DAC at the ETMX end. Immediately before the output is a filter C1GCX_AMP_CTRL. The output of the DAC is connected to the CURRENT LASER DIODE modulation input on the back of the Innolight driver. This will modulate the current by 0.1A/V input.

We should be able to modulate the green laser on the end now and stabilize the intensity of the amplitude on the beatnote PD at the vertex. (In this configuration, the ampltiude noise of the PSL laser will be injected onto the end laser - we may want to revisit that).

Joe's comments on model change:

I added a RFM connection at the output of the C1:GCV-XARM_BEAT_DC filter in the c1gcv model.  The RFM connection is called: C1:GCV-SCX_ETMX_AMP_CTRL.

This RFM connection goes to the c1scx model and into Kiwamu's GCX box, which uses top_names.  There's a filter inside called AMP_CTRL, so the full filter name is C1:GCX-AMP_CTRL.  The output then goes to the 7th DAC output.

Photos:

  1. NPRO CURRENT CTRL plugged into DAC channel 7
  2. You can actually see it's channel 7 in this image
  3. The other end plugged into the back of the Innolight driver
  4. Schematic of the setup
  5. Updated C1ALS_OVERVIEW MEDM screen (I don't know why the field in the background turned orange - maybe it's coming into a long dry summer?)

 

Quote:

There are 3 standard techniques to reduce this effect:

1) Stabilize the end laser by sensing the green light coming into the PSL before recombination and feeding back with SR560 (this is the only one that you should try at first).

 

The reason that I chose this PD is that, apparently, the green light coming from the cavity is clipped when it is picked off for its DC PD.

Attachment 1: P1000313.jpg
P1000313.jpg
Attachment 2: P1000314.jpg
P1000314.jpg
Attachment 3: P1000315.jpg
P1000315.jpg
Attachment 4: GREEN_ISS_LOOP.pdf
GREEN_ISS_LOOP.pdf
Attachment 5: Screenshot-C1ALS_OVERVIEW.adl.png
Screenshot-C1ALS_OVERVIEW.adl.png
  3096   Tue Jun 22 09:45:21 2010 Aidan, Joe, RazibUpdatePhase CameraCurrent phase camera setup. Seeing Acoustic beat

 We've set up a preliminary test bed for the phase camera. It simply uses a HeNe that is split into two beams. One is frequency shifted by an AOM by -40 MHz - df, where df is some acoustic frequency. The second beam is transmitted through a 40MHz EOM to get sidebands. The two beams are recombined and are, currently, incident on a photodetector, but this can be replaced by the phasecamera.

We turned everything on with df = 1kHz and confirmed that a 1kHz signal is visible on the output from the photodetector (PD). The signal looks to be about 1:300 of the DC level from the PD.

Attachment 1: 2010-06-22_Phase_camera_layout_version_1.pdf
2010-06-22_Phase_camera_layout_version_1.pdf
  4441   Thu Mar 24 19:48:13 2011 Aidan, KiwamuUpdateGreen LockingDesigns for permanent electronics for ALS

Kiwamu and I looked at all the electronics that are currently in place for the green locking on the X-arm and have made a set of block diagrams of the rack mounted units that we should build to replace the existing ... "works of art" that sprawl around out there at the moment.

Main items

1. "ETM Green Oscillator/PDH support box". Not a great name but this would provide the local oscillator signal for the end PDH (with a controllable phase rotator) as well as the drive oscillator for the end laser PZT. Since we need to hit a frequency of 216.075kHz with a precision that Kiwamu needs to determine, we'd need to be able to tune the oscillator ... it needs to be a VCO. It'd be nice to be able to measure the output frequency so I've suggested dividing it down by N times to put it into the DAQ - maybe N = 2^7 = 128x to give a measured frequency of around 1.7kHz. Additionally this unit will sum the PDH control signal into the oscillation. This box would support the Universal PDH box that is currently at the X-end.

2. "Vertex X-arm beatnote box" - this basically takes the RF and DC signals from the beatnote PD and amplifies them. It provides a monitor for the RF signal and then converts the RF signal into a square wave in the comparator.

3. "Mixer Frequency Discriminator" - just the standard MFD setup stored in a box. For temperature stability reasons, we want to be careful about where we store this box and what it is made of. That's also the reason that this stage is separated from the X-arm beatnote box with it's high-power amps.

Other things

4. RS232 and EPICS control of the doubling ovens

5. Intensity stabilization of the End Laser

P.S. I used Google Diagrams for the pictures.

Attachment 1: GreenLockingElectronics.pdf
GreenLockingElectronics.pdf
Attachment 2: GreenEndPDHsupportboxandLO.pdf
GreenEndPDHsupportboxandLO.pdf
Attachment 3: VertexBeatnoteAmplifierandComparator.pdf
VertexBeatnoteAmplifierandComparator.pdf
Attachment 4: MixerFrequencyDiscriminator.pdf
MixerFrequencyDiscriminator.pdf
  4471   Wed Mar 30 21:43:31 2011 Aidan, KiwamuSummaryGreen LockingCalculation of the green contrast on the RF PD

Skip to final thought ...

Kiwamu and I have set about measuring the contrast of the signal on the RF PD. We can only do this when the end green laser is locked to the cavity. This is because the green transmission through the cavity, when unlocked, is too low. Unfortunately, once we lock the green beam to the cavity, we can't keep the beatnote on the RF PD stable to within a few hundred Hz of DC (remember that the cavity is swinging around by a couple of FSRs). So we also lock the PSL to cavity.

At this point we're stuck because we can't get both of these beams resonant within the cavity AND have the frequency difference between them be less 1kHz - when the lasers are locked to the cavity, their frequencies are separated by an integer number of FSRs + a fixed frequency offset, f_offset, that is set by the phase difference on reflection from the coating between the two wavelengths (532nm and 1064nm). We can never get the frequency difference between the lasers to be less than this offset frequency AND still have them both locked to the cavity.

 

So our contrast measuring method will have to use the RF signal.

 

So this is our method. We know the incident power from each beam on the RF PD (see Kiwamu's elog entry here), but to recap,

P_green_PSL = 72 uW (as measured today)

P_green_XARM = 560 uW (as measured by Kiwamu last week).

The trans-impedance of the RF PD is 240 Ohms. We'll assume a responsitivity of 0.25 A/W. So, if the XARM transmission and PSL green beams are perfectly matched then the maximum value of the RF beat note should be:

RF_amplitude_max = 2* SQRT(P_green_PSL*P_green_XARM) * responsivity * transimpedance = 240*0.25*2*(72E-6*560E-6)^(1/2) (volts)

= 24 mV = -19.5 dBm (or 27.5dBm after the +47 dB from the two  ZFL-1000LN+ amplifiers - with +15V in - that protrude from the top of the PD)

The maximum RF strength of the beat-note that we measure is around -75 dBm (at the RF output of the PD). This means the contrast is down nearly 600x from optimal. Or it means something is broken.

Final thought: at the end of this procedure we found that the RF beat note amplitude would jump to a different and much higher amplitude state. This renders a lot of the above useless until we discover the cause.

  4472   Wed Mar 30 21:46:10 2011 Aidan, KiwamuUpdateGreen LockingStates of the Green beat note

The attached table shows the amplitude of the green beat note when the end laser was in various states. We can increase the beat note amplitude dramatically by switching to a different states.

State 1
C1:GCX-GRN_REFL_DC:             638 counts
C1:GCV-XARM_BEAT_DC: (PSL blocked)    950 avg counts (zero = -794 counts)
amplitude of beat note:            -23dBm (after PD + amps) (f ~ 30 MHz)?
C1:GCX-SLOW_SERVO2_OUT:            318 counts

State 2
C1:GCX-GRN_REFL_DC:             180 counts
C1:GCV-XARM_BEAT_DC: (PSL blocked)    1270 avg counts (zero = -794 counts)
C1:GCV-XARM_BEAT_DC: (PSL unblocked)    1700 avg counts (zero = -794 counts)
amplitude of beat note:            -7dBm (after PD + amps) f = 60MHz
amplitude of beat note:            0dBm (after PD + amps) f = 30MHz
C1:GCX-SLOW_SERVO2_OUT:            290 counts

State 3
C1:GCX-GRN_REFL_DC:             220 counts
C1:GCV-XARM_BEAT_DC: (PSL blocked)    1120 avg counts (zero = -794 counts)
C1:GCV-XARM_BEAT_DC: (PSL unblocked)    1520 avg counts (zero = -794 counts)
amplitude of beat note:            0dBm (after PD + amps) f = 15MHz
C1:GCX-SLOW_SERVO2_OUT:            305 counts

PSL temp = ??
C1:PSL-FSS_SLOWM = -3.524
 

  2794   Mon Apr 12 20:48:51 2010 Aidan, MottSummaryGreen LockingTemperature sweep of the Innolight: df/dT ~ 3.3GHz/K

Quote:

The beams from the Innolight and Lightwave NPROs were both incident on a 1GHZ New Focus PD. Mott and I swept the temperature of the Lightwave and tracked the change in frequency of the beatnote between the two. The Innolight temperature was set to 39.61C although the actual temperature was reported to be 39.62C.

Freq. vs temperature is plotted below in the attached PDF. The slope is 2.8GHz/K.

The data is in the attached MATLAB file.

 Same thing for the Innolight Mephisto.

Not unexpected values with dn/dT around 11E-6 K^-1 and coefficient of thermal expansion = 8E-6 K^-1 and a laser resonator length of order 10cm.

Attachment 1: Innolight_temp_sweep.pdf
Innolight_temp_sweep.pdf
Attachment 2: Innolight_Temp.m
% plot the data from the Innolight Temperature sweep

% Innolight temperature

InnTemp = [0.60
    .59
    .56
    .52
    .65] + 39;

... 25 more lines ...
  2797   Tue Apr 13 12:39:51 2010 Aidan, MottSummaryGreen LockingTemperature sweep of the Innolight: df/dT ~ 3.3GHz/K

Please put those numbers onto wiki somewhere at the green page or laser characterization page.

Quote:

Quote:

The beams from the Innolight and Lightwave NPROs were both incident on a 1GHZ New Focus PD. Mott and I swept the temperature of the Lightwave and tracked the change in frequency of the beatnote between the two. The Innolight temperature was set to 39.61C although the actual temperature was reported to be 39.62C.

Freq. vs temperature is plotted below in the attached PDF. The slope is 2.8GHz/K.

The data is in the attached MATLAB file.

 Same thing for the Innolight Mephisto.

Not unexpected values with dn/dT around 11E-6 K^-1 and coefficient of thermal expansion = 8E-6 K^-1 and a laser resonator length of order 10cm.

 

  10020   Tue Jun 10 12:49:46 2014 AkhilUpdateComputer Scripts / ProgramsInterfacing UFC-6000 with Raspberry Pi completed

 Goal:

 To interface the Mini Circuits RF Frequency Counter(FC) Model UFC-6000 with Raspberry Pi on Linux platform. Also to create a User friendly interface, to control the FC with command lines.

 

Highlights of the Code(script attached):

The  code enables the user to communicate and control different parameters of the UFC like:

1)Frequency Range Selection( for the device to read different frequencies, AutoRange is set by default).

2)Sampling Time (The time intervals for which the data will be retrieved)

3)Read Device Status(Whether the device is reading data or not).

 

Description of the Code:

HID USB Interfacing by sending byte Values.

 

 1)Read The Freq or Range 

Reading the Freq is done by reading the 1st and 2nd LCD of the Frequency counter.

1st line containing Range information, 2nd line is the Frequency result

the code should be send is 2

1st byte: 2

The returned 64 byte array is as follows:

1st byte: 2

2nd byte to Byte17 the ascii value of 16 characters of the 1st LCD line

Byte18 to Byte33  the ascii value of 16 characters of the 2nd LCD line

 

2) Set the Range  

By default Freq Counter is in "AutoRange" mode.

To set the range manually send the code 4

1st byte: 4

2nd byte: the range value. can be any legal range value. for auto range  need to be 255.

the 64 byte array is:

1st byte: 4

 

3)Set the Sample Time   

By default Freq Counter Sample Time is 1 sec.

you can set the sample time from 0.1 sec and up in step of 0.1 sec.To set the Sample Time send the code 3

1st byte: 3

2nd byte: the sample value in sec double 10.

for example: to set the sample time  to 0.4 sec 2nd byte need to be: 4

the 64 byte array is:

1st byte: 3

 

These bytes can be changed by changing the values of buffer[0] and buffer[1]  in function /*Send Report to the device*/ in the main program.

The data is written into a .txt file(example attached) and the user can  control the recording of data. The frequency data can now be made to talk to EPICS through slow channels.

The data from the .txt file can be used for error analysis at different sampling periods.

 

Results:

The interface of the FC with the Pi is now complete.

 

Plan:

 Make this FC talk to EPICS through slow channels.

 

 

 

 

 

 

Attachment 1: Interfacing_Script.zip
  10036   Fri Jun 13 11:33:55 2014 AkhilUpdateElectronicsCharacterization of UFC-6000 RF Frequency Counter

 Goal:

To characterize the Mini-Circuits RF FC (Model UFC-6000) and plot Bode Plots at varying Modulation frequencies.

Work Done:

Here are the list of measurements(files attached) taken from FC using SRS(Model DS345) Synthesized Function Generator for a Sinusoidal signal at different Modulation Frequencies ranging from 0.01 Hz to 1 KHz:

Carrier Frequency                          Modulation Depth                                                        Attached measurement Folder 

5 MHz                                                     Δ f = 5 MHz                                                                            Bode_5

10 MHz                                                   Δ f = 10 MHz                                                                          Bode_10

20 MHz                                                   Δ f = 20 MHz                                                                           Bode_20 

 

The measured data will be used to estimate:

1) Transfer Function of FC 

2) Quantization noise from Power Spectral Density(PSD) vs Hz

 

To Do Next:

1)Complete interfacing the Pi with EPICS.

2)Make bode plots (Matlab script attached) and PSD plots and estimate the control parameters for optimal design of FOLL PID loop.

 

 

Attachment 1: Bode_Plots.zip
  10070   Thu Jun 19 12:10:18 2014 AkhilUpdateElectronicsGain plots to Characterize UFC-6000 RF Frequency Counter

The goal is to characterize the Mini-Circuits RF FC (Model UFC-6000)  by plotting Gain Plots.

Work Done:

The sampling rate of the UFC-6000 RF FC is 1s (should look into making the sampling time smaller). So to satisfy Nyquist criterion, the maximum modulation frequency is 0.5 Hz beyond which  aliasing effects are seen.

The measurements taken (mentioned in my previous elog) are used to plot Gain vs Modulation frequency for carrier frequencies of  5 MHz and 25 MHz.

Calculations:

A modulated signal can be represented as X(t)= A*sin (Fc*t+D*sin(Fm*t+phase1))  where Fc and Fm are carrier and modulation frequencies respectively and D is the modulation depth.

This signal Y(t) is input to the FC and the output frequencies of the FC are recorded.

Let the output of the FC is Y(t)= A'*sin(Fc*t+D'*sin(Fm'*t+phase2));

 

Gain = D'/D;

phase = phase2 - phase1;

 

D' is calculated by subtracting the carrier frequency from the output frequency and calculating the amplitude of the resulting fitted sine wave.

The phase can be calculated if the phase of the input is known(which will be done next).

Plotting the Bode plots would give response of the FC to modulation.

 

The plots generated  will be used to estimate:

1) Transfer Function of FC to be known to build an FOL-PID loop.

2) Quantization noise from Power Spectral Density(PSD) vs Hz.

 

To Do Next:

1)Calculate the phase difference  to complete the Bode plot. This would require interfacing of the ADC on raspberry pi.

2)Estimate the quantization noise from the digital output.

 

 

Attachment 1: GainVsFreq.png
GainVsFreq.png
  10096   Wed Jun 25 01:18:24 2014 AkhilUpdateelogWeekly Update

 Plans for the Week:

  • Phase and noise characterization of the UFC RF Frequency Counter.
  •  Characterization of the temperature actuator.

Progress and Problems Faced:

  • Since past two days, I have been trying to measure the phase difference between the input and output signals of the FC using a 16 bit ADC ADS1115 (for input phase measurement) on Raspberry Pi(RPI).For that I have assembled a Circuit on a breadboard( Details will be mentioned in my next eLog). 
  • The interfacing and the codes seem to be alright but the RPI is not able to detect the address of the ADC chip. I will try to debug the issue as soon as possible and try to take data through the Pi so that I can have both delay and noise introduced by the FC.
  • Now since the minimum sampling time of the FC has been brought down to 0.1s, I will test how accurately the FC is writing values every 0.1 s for a modulating input.
  • The output data of the FC will be fitted into the input and the order of accuracy will be presented.Also the gain plots will be plotted at higher frequencies like 50 MHz, 100 MHz, 500 MHz and 1000 MHz using the network analyzer.

Work Inside the Lab:

  • On Friday Morning I will  go inside the  lab with Manasa to make measurements from the NPRO to characterize its response to the temperature.
  • I will be in the lab in the morning session(9 am- 1 pm) and make the required measurements. I will then analyze the data and by the end of the week will finish characterization of the FC and temperature actuator.
  • For the rest of the time in this week, I'll be on my desk and will not be entering  the lab.

Electronics Required:

  • I will require the network analyzer on Wednesday and Thursday to make measurements at higher frequencies(30 MHz <F<1000 MHz) from the R PI.

Goal- By the end of the week:

  • To characterize both the FC and the NPRO that would go into the FOL-PID loop.
  • The FC will be ready to replace the network analyzers that are currently being used in the 40m.

 

 

 

 

 

  10104   Wed Jun 25 19:29:19 2014 AkhilUpdateElectronicsAnalog-to-Digital Converter

 I have been trying to use an ADC with the Raspberry Pi to be able to measure the phase difference between FC input and output signals.I had a hard time interfacing the ADC  with the Pi (setup attached) even after trying to debug the issue for last two days. So I and Eriq Q performed a system reboot on the Pi and tried all the possible ways for the Pi to detect the ADC but we were not able to. At the end we decided to order another IC(Microchip MCP 3008) which we hope can be interfaced with the Pi. Till then I will finish to write data from the FC into pipes so that the control computers can access the real time data. I will also look the correctness of the sampling time that is provided by the spec of the MCL-Mini circuits that is if we could really achieve 0.1 s sampling time with the FC.

Attachment 1: IMG_1496.png
IMG_1496.png
  10107   Fri Jun 27 12:54:13 2014 AkhilUpdateElectronicsGain plots of UFC-6000 for 0.1s Sampling Rate

 Finally, the 0.1s sampling rate of the frequency counter(FC) has been achieved. For this I had to :

 Send in byte codes to set a particular range of the frequency counter.

I was digging  in to find how exactly the circuit inside the frequency counter works and how the processor inside is able to read and write bytes through a HID-USB interface. I found out that the 'AutoRange' setting (which I have been using so far) has an independent  multiplexing circuit  which consumes some time(that varies with the drift in frequencies) and thus, the the processor waits for some specific time for this process and cannot reach the minimum 0.1 s sampling time. To mitigate this issue, I set the range bytes to the appropriate range of frequencies so that I can bypass the MUX  delay. Here is the list of Range and frequencies for the FC:

Range 1:    1 - 40 MHz

Range 2:    40 - 190 MHz

Range 3:    190 - 1400 MHz

Range 4 :   1400 - 6000 MHz

I then took measurements for sampling time of 0.1 s at carrier frequencies of 5 MHz and 25 MHz from SRS DS345  and plotted the improvised gain plots(attached) to those in my previous elog(10070)  with the same procedure mentioned before.

 

To do Next:

Plot the gain plots for higher carrier frequencies till range 3 using Marconi Function generator.

Write the data from FC into C1: ALS-Y_SLOW_SERVO1_OFFSET EPICS channel.

 

 

Attachment 1: Sampling-0.1s.pdf
Sampling-0.1s.pdf
Attachment 2: 12.png
12.png
  10118   Tue Jul 1 21:20:37 2014 AkhilUpdateElectronicsGain plots of UFC-6000 for 0.1s Sampling Rate

 The attached are the gain plots at carrier frequencies of 100 MHz, 500 MHz and 1 GHz measured using IFR 2023B (Marconi).

Attachment 1: gain.png
gain.png
Attachment 2: gain.pdf
gain.pdf
  10129   Fri Jul 4 09:17:13 2014 AkhilConfigurationElectronicsSetup Used for Characterization of Frequency Counter

 Goal:

To complete the characterization of the Mini Circuits UFC-6000  RF Frequency Counter to be used for beat note measurement  as a part of frequency offset locking loop. The aim of this setup was to obtain the bode plots and PSD plots for the FC.

Detail about the Setup:

UFC RF Frequency Counter: Described in detail in one of my previous elog (http://nodus.ligo.caltech.edu:8080/40m/10020) 

Raspberry PiRaspberry Pi will be running Raspbian which is a version of Linux, and not a RTOS. When sampling data at a certain frequency we want samples to occur at fixed time intervals corresponding to the sampling period. A normal operating system cannot provide us with this functionality, and there will be jitter (variation) in the time difference between consecutive samples. Whether this is an issue depends on how much jitter we have and what the specific application is. In our application(measuring phase and noise), the jitter has to be taken into consideration. Hence for data acquisition we need  to sample with much more tightly defined sampling periods (reduced jitter) which can be done by providing an external timing standard(Like a square pulse of the frequency same as the sampling rate of the FC ).

ADC : The ADC serves for two different conversion processes in the setup:

            1)  For converting modulating analog signal(from SRS 30 MHz Wave Generator) into digital signal for data analysis on Raspberry Pi.

            2)  To provide an external clock reference to the Raspberry Pi.

Interfacing ADC(ADS1115) with Pi:

Configuring the ADS1115 - Configuration Register

In order to set the modes of operation defined above we must set the config register within the ADS1115. A register is simply a memory location within the chip. Registers are made up of bytes (8 bits) of data. Registers are typically either one or two bytes long. The bits are:

Bit [15] This bit is used to start a conversion, by setting this bit to 1 a conversion is initiated. When reading the config register this bit remains equal to 0 while the conversion is carried out, and is set to 1 once the conversion is complete, we can monitor this bit to find the status of a conversion

Bits [14:12] These bits set which pin to use as input to the ADC. Note that we can choose either single ended or differential mode through setting these bits. Note that each configuration has two inputs AIN~p~ and AIN~n~. By setting AIN~n~ to GND we obtain a single ended input with AIN~p~ as the input.

Bits [11:9] These bits set which setting of the programmable gain amplifier to use

Bit [8] Continuous conversion / No Continuous conversion

Bits [7:5] Set the samples per second (sps) value

Bit [4:2] Comparator setup, we will not use the comparator so these bits are irrelevant

Bit [1:0] Comparator mode, set to 11 to disable the comparator.

 Four channels are used in differential mode for A-D conversion of two analog signals, one the slow modulating signal input and the other for a square signal of 10 Hz (same as sampling rate of FC(0.1 s)).

The raspberry Pi reads the external trigger from ADC and starts reading input from the FC only when the square signal is 1. Thus in this way we can avoid the clock jitter and timing can be as accurate as the RTOS.

Function Generators:

Three function generators are used in the setup:

  1. IFR Marconi Generator used for RF Carrier signal.
  2. SRS 30 MHz Function Generator used for slow modulating signal (upto 5Hz).
  3. SRS 30 MHz signal for square wave used as clock(10 Hz).

 The setup is attached as pdf. The computer scripts will follow this elog.

Measurements Taken:

The input and output modulated signals are recorded and the delay and noise of the FC are to be estimated.

 

 

 

 

Attachment 1: setup.pdf
setup.pdf
  10137   Mon Jul 7 13:56:13 2014 AkhilConfigurationElectronicsSetup Used for Characterization of Frequency Counter

When I was trying to plot PSD of the measurements, I still couldn't get better resolution. There still seems to be a problem with timing and synchronization of the R Pi with the FC even after addition of the external trigger circuit. Now, I am looking to debug this issue. Attached are the plots showing missing data points and data from the FC at uneven spacing(zoomed in plot).

 

Attachment 1: FreqVsTime.png
FreqVsTime.png
Attachment 2: Missing_Data.png
Missing_Data.png
  10151   Tue Jul 8 09:02:02 2014 AkhilUpdateElectronicsPSD Plots for different sampling times of the Frequency Counter

 Although there were few timing issues with the FC and the Raspberry Pi at the lowest sampling time of the FC (0.1s) even after adding an external trigger circuit, it turned out that most of these issues are not prevalent at higher sampling times(>0.5 s)(narrow peaks of PSD seen for higher sampling times). Rana suggested me to look at the PSD plots at different sampling times of the FC so that we can decide which would be the optimal sampling time to work with the FC before replacing the spectrum analyzer. I took the measurements with the setup discussed in my previous elog(http://nodus.ligo.caltech.edu:8080/40m/10129) . However, the  noise of the R Pi- FC interface should be taken care of (I will discuss it with my mentors).

Attached are the plots at 100 MHz carrier frequency at  different sampling times of the FC( 0.1s, 0.2s, 0.3s, 0.5s, 1s) (pdfs and code attached in a zip file)

RXA: Put all the plots in a single PDF file and use the same axis limits for all plots so that its easy to compare.      (Attached in PSD.pdf)


 

 

Attachment 1: 0.1s.png
0.1s.png
Attachment 2: 0.2s.png
0.2s.png
Attachment 3: 0.3s.png
0.3s.png
Attachment 4: 0.5s.png
0.5s.png
Attachment 5: 1s.png
1s.png
Attachment 6: Pdf.zip
Attachment 7: PSD.pdf
PSD.pdf
  10161   Wed Jul 9 08:50:30 2014 AkhilUpdateGeneralWeekly Update

 

Last Week's Work:

  • Worked on the setup to mitigate timing issues arising due to the non-synchronization of clocks of the Frequency counter and Raspberry Pi .
  • Took measurements with the mentioned setup and generated PSD plots of the FC.
  • Completed the setup for phase measurements by using an external ADC.

 

Work Plan for this Week:

  • Complete the installation of the Mini Circuits Frequency Counter on the EPICS. This involves installation of EPICS base on Raspberry Pi, creating an IOC server on the R Pi and writing the data from the FC into a specific IOC  channel. 
  • Complete phase measurements and obtain the delay in the FC thus completing the characterization of the FC.
  • Install the FC at a suitable place inside the 40m so that the beat note system can be remotely managed from any of the Control computers thus effectively replacing the spectrum analyzer(This will be done with proper supervision once the recently ordered FC is shipped)

 

Inside the 40m :

  • I will be going inside the lab today around 9 am with Manasa to make a plan about where the FC must be placed and the routing of the RF cables and the cables which run  into computers from the FC.
  • Once the channel is created and tested, we will install the FC inside the lab possibly by the end of this week or by next week.
  10163   Wed Jul 9 12:01:43 2014 AkhilConfigurationElectronicsSetup Plan for placing the Frequency Counter inside the lab

Today, me and Manasa went inside the lab to figure out a place for the place for the FC. The whole setup will be placed in a chassis box . The chassis in figure(setupforFC.pdf) will be placed in the highlighted(red) box in the figure(setup.png). All the cables will be routed to the computers from behind the box and the RF cables from the beat box will be routed from the front end of the box. The two raspberry Pi boxes will be placed inside the box and the Frequency counters will be mounted as shown so that the frequency count can be seen from outside. 

Attachment 1: setup.png
setup.png
Attachment 2: SetupFC.png
SetupFC.png
  10178   Thu Jul 10 17:53:19 2014 AkhilConfigurationComputer Scripts / ProgramsEPICS installed on Raspberry Pi

 I finished the installation of EPICS base on Raspberry Pi (domenica:  /opt/epics). I tested it by creating a test SoftIoc (controls@domenica~/freqCountIOC/simple.db) and was able to read from the channel on Chiara.

Now  I am looking into how to call my C code that talks to Raspberry Pi through a  .db script and write  it into the assigned channel. 

For installation I had to make these declarations in the environment (~/.bash_aliases):

 

 

 

export EPICS_EXT=${EPICS_ROOT}/extensions
export EPICS_EXT_BIN=${EPICS_EXT}/bin/${EPICS_HOST_ARCH}
export EPICS_EXT_LIB=${EPICS_EXT}/lib/${EPICS_HOST_ARCH}
if [ "" = "${LD_LIBRARY_PATH}" ]; then
    export LD_LIBRARY_PATH=${EPICS_EXT_LIB}
else
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${EPICS_BASE_LIB}
fi
export PATH=${PATH}:${EPICS_EXT_BIN}

 

  10193   Mon Jul 14 13:03:23 2014 AkhilSummaryElectronicsTiming Issues of Mini Circuits UFC-6000: Solved

Main Problem:

The frequency counter (FC) takes in an analog RF input(signal) and outputs the frequency of the signal(Ranging from 1 MHz- 6000 MHz) in the digital domain (into a processor). The FC samples the data with a given sample rate( user defined) which ranges from 0.1 s to 1 s(faced problems in fixing this initially).  For data acquisition, we have been using a Raspberry Pi(as a processor) which is connected to the martian network and can communicate with the computers inside the 40m.  The ultimate challenge which I faced( and been knocking my head off from past two-three weeks) is the synchronization of clocks between the Raspberry Pi and the FC i.e the clock which the FC uses to sample and dump data( every 'x' s) and the clock inside the raspberry pi( used  in the loop to wait for a particular amount of time the frequency counter takes to dump successive data).

 

Steps Taken:

  • To address this problem, first I added an external clock circuit which monitors the Raspberry Pi and the FC to dump and read data at a particular rate(which is equal to the sampling rate of the FC)In detail: http://nodus.ligo.caltech.edu:8080/40m/10129. 
  • While doing so, at first the level trigger algorithm was used which means that the external clock frequency was half as that of  the reciprocal of the sampling rate and a trigger was seen every time the level shifts from +DC to -DC(of the external square wave).
  • But this did not completely mitigate the issues and there were still few issues on how quickly the ADC reads the signal and R Pi processes it.
  • To minimize these issues completely, an edge trigger algorithm which detects a pos edge(rising)  of the clock was used. The clock  frequency is now equal to the reciprocal of the sampling rate. This algorithm showed better results and greatly minimized the drift of the sampling time.

Psuedo Code(code attached):

open device : FC via USB-HID;

open device : ADC via I2C;

always(for t= recording time):

            read data from ADC(external clock);

            if pos edge detected:

                    read data from FC and store it in a register;

             else read data from ADC;

end

write data stored in the register to a file( can be an Epics channel or a text file);

 

Results:

The attached are the plots showing the time between samples for a large number of samples taken for different sampling times of the FC. The percentage error is the percentage of standard error in the timing between two samples for the data for the entire measurement. It can be inferred that this error has been cut down to the order of ms.

 

To do next:

  • I have started taking phase measurements( analysis and plots will follow this elog) and also the PSD plots with the improved timing characteristics.

 

 

 

             

 

Attachment 1: 0.2timinganalysis.png
0.2timinganalysis.png
Attachment 2: 0.3timinganalysis.png
0.3timinganalysis.png
Attachment 3: 0.5timinganalysis.png
0.5timinganalysis.png
Attachment 4: 1stiminganalysis.png
1stiminganalysis.png
Attachment 5: pdf.zip
  10199   Tue Jul 15 01:31:13 2014 AkhilSummaryElectronicsTiming Issues of Mini Circuits UFC-6000: Solved

The attached are the PSD plots with improved FC timing(with the same code as in http://nodus.ligo.caltech.edu:8080/40m/10151). More plots(Phase and PSD) to follow.

 

 

 

Attachment 1: qnoise.png
qnoise.png
Attachment 2: qnoise.pdf
qnoise.pdf
  10215   Wed Jul 16 07:51:52 2014 AkhilUpdateGeneralWeekly Update

Work Done:

  • Solved all the timing issues pertaining to the R Pi and the FC.
  • Took all the measurements for complete characterization of the frequency counter(Phase Plots to follow shortly).
  • Finished  installation of the FC on the martian and created a channel  for the FC frequencies(will be tested in this week).

Plans for this Week:

  • Testing of the EPICS soft IOC created for the FC as a channel access server and hence completing the installation of the FC.
  • Placing the FC inside the lab( plan discussed in this elog: http://nodus.ligo.caltech.edu:8080/40m/10163) with proper supervision.
  • Characterization of the temperature actuator.

Inside the 40m Lab:        

I will need to be inside the lab to place the FC . This will be done in the morning session (on thursday) with supervision of Manasa and Steve(if required).

 

 

 

 

 

 

 

 

  10222   Wed Jul 16 22:17:40 2014 AkhilSummaryElectronicsBode Plots and complete Characterization of Frequency Counter

Goal:

To estimate the transfer function and the noise in the FC that is a part of the FOL-PID loop.

Measurements Taken:

The setup used for the measurements is described in my previous elogs.

The input modulation signal and the FC output were recorded simultaneously for a certain period of time and the phase and gain are estimated from the data.

Analysis(Data and code attached):

The recordings must contain equal number of data points(around 6000 data points in my measurements) for analysis.

The steps I followed to generate these plots are:

  • Took the FFT of both FC out data(from FC) and Modulation input(from SRS via ADC).
  • Estimated the phase angles at the particular modulation frequencies from the FFT data(in Matlab using  angle(x) for phase at the frequency f(x);x: is the frequency bin)
  • Then for the phase of the system at a particular modulation frequency, 

                              Phase(system) =Phase(FC Signal) - Phase(Input Signal)

  • Plotted the acquired phase vs the modulation frequency on a Semi-log graph.

Results:

From the plots its can be inferred that :the delay of the FC is almost 0 until the modulation of 0.1 Hz. Then there are phase shifts of  +/- 180 degrees showing that the system has multiple poles and zeroes(will be estimated after I have phase plots at few more carrier frequencies).

To Do Next

Phase plots for varying carrier frequencies and different sampling times.

Installation of FC inside the 40m.

Attachment 1: Phase_Data.zip
Attachment 2: Bode100MHz.png
Bode100MHz.png
  10239   Fri Jul 18 19:32:50 2014 AkhilSummaryElectronicsFilters used inside the Frequency Counter

 

 Thanks Koji , for your  hint for the brain teasing puzzle. I was looking into Filters that are usually used in devices like counters, DSO and other scopes. I found that , to improve the quality of the measurement one of the best approach  is averaging. I looked deeper into averaging and found out this:

There are two general use-cases for averaging . The first, successive sample averaging, takes a single acquisition and averages between its samples. The second, successive capture averaging, combines the corresponding  samples of multiple captures to create a single capture. Successive sample averaging is also called boxcar filtering or moving average filtering. In an implementation of this type of averaging each output sample represents the average value of M consecutive input samples. This type of averaging removes noise (one of the reasons the noise level was not bad: http://nodus.ligo.caltech.edu:8080/40m/10151) by decreasing the device's bandwidth(could be one of the reasons why the FC operates in 4 different frequency ranges). It applies an LPF function with a 3dB point approximated by  0.433 * s / M, where M is the number of samples to be averaged, and s is the sample rate in samples per second. 

Now I tried verifying the 3 dB points in the gain plots I generated :

For 1 s Sampling time : the 3 dB point for such a Boxcar filter should be at 0.433* 1/M. If we assume that it averages for 2 samples, M=2 which gives the 3dB point at 0.288 Hz but occurs somewhere between 0.3 and 0.4 Hz.  (http://nodus.ligo.caltech.edu:8080/40m/140619_120548/GainVsFreq.png)

For 0.1s Sampling time: the 3dB point should be at 2.17 Hz and in reality is 2.5 Hz(http://nodus.ligo.caltech.edu:8080/40m/140701_211904/gain.png).

Also, This type of filter will have very sharp nulls at frequencies corresponding to signals whose periods are integer sub-multiples of M/s. As seen my previous plots (http://nodus.ligo.caltech.edu:8080/40m/10118 , http://nodus.ligo.caltech.edu:8080/40m/10070) there are sharp nulls at frequencies

0.4 Hz for 1S sampling time and

at 1.5 Hz,3 Hz for 0.1 S sampling time as correctly predicted.

The moving average filter is  L-sample moving average FIR, with the frequency response as:   H(ω) = (1/L) (1 − e− jω L)/(1 − e− jω)..

There is an overall delay of (M - 1)/2 samples from such a length-M causal FIR filter. 

The expected bode plots for such a filter with L= 5 is attached(attachment 2).

Attachment 1: TheoreticalGainPlot.png
TheoreticalGainPlot.png
Attachment 2: TFexpected.png
TFexpected.png
  10246   Mon Jul 21 12:16:27 2014 AkhilSummaryElectronicsFilters used inside the Frequency Counter

The expected bode plots for such a filter with L= 4 is attached and compared with the measured.

RXA: When comparing two things, please put them onto the same plot so that they can be compared.

Attachment 1: FC_TF_Characterization.png
FC_TF_Characterization.png
  10257   Tue Jul 22 23:10:12 2014 AkhilUpdateGeneralWeekly Update

 Work Done:

  • Created a Channel Access Server on the Raspberry Pi  to write data from the FC into EPICS Channel.
  • Completed characterization and noise estimation of the FC counter with improved timing.
  • Started installation of FC inside the 40m.

Plans for this Week:

  • Testing how well the FC can replace the spectrum analyzer which is in the control room. For this I have asked Steve to order  an RF adder/combiner to see how frequency counter responds to two RF signals at different frequencies(much like the RF signal fed to the spectrum analyzer) .
  • Complete the installation of FC insode the 40m and start initial testing.
  • Characterization of the Temperature Actuator and initial PID loop design.

Inside the 40m Lab:

  • I will have to go inside the 40m lab this week for routing the RF mon cables to the FC box(in detail:http://nodus.ligo.caltech.edu:8080/40m/10163) .
  • Also to setup for characterization of the temperature actuator, I will be required to go inside the lab in this week.
  10261   Wed Jul 23 11:15:54 2014 AkhilUpdateElectronicsInstallation of FCs in the 40m

 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.

Attachment 1: Timingwith2FCs.png
Timingwith2FCs.png
  10272   Thu Jul 24 19:28:43 2014 AkhilUpdateGeneralThermal Actuator Transfer Functions

 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.

Attachment 1: TF-X-ARM.pdf
TF-X-ARM.pdf
Attachment 2: TF-Y-ARM.pdf
TF-Y-ARM.pdf
  10274   Sat Jul 26 10:12:19 2014 AkhilUpdateGeneralData Acquisition from FC into EPICS Channels

 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:

C1:ALS-X-BEAT-NOTE-FREQ

C1:ALS-Y-BEAT-NOTE-FREQ

 

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).

 

  10275   Sat Jul 26 13:10:14 2014 AkhilUpdateGeneralThermal Actuator Transfer Functions

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.

Attachment 1: TFX_new.pdf
TFX_new.pdf
  10277   Sat Jul 26 14:35:28 2014 AkhilUpdateGeneralData Acquisition from FC into EPICS Channels

Quote:

Quote:

 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:

C1:ALS-X-BEAT-NOTE-FREQ

C1:ALS-Y-BEAT-NOTE-FREQ

 

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
controls@rossa|~ 2> 

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.

  10281   Mon Jul 28 16:34:02 2014 AkhilUpdateGeneralCalibration of measured Thermal Actuator TFs

 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):

ITMX- C1:SUS-ITMX_LSC_EXC

ETMX- C1:SUS-ETMX_LSC_EXC

ITMY- C1:SUS-ITMY_LSC_EXC

ETMY- C1:SUS-ITMX_LSC_EXC

Output ( PZT Response):

C1:ALS-Y_SLOW_SERV_IN1

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.

Attachment 1: mirrorTF2.pdf
mirrorTF2.pdf
  10283   Mon Jul 28 17:53:00 2014 AkhilUpdateGeneralWork plan for the Upcoming weeks- FOL Project

 [Akhil, Harry]

Work Completed :

 Frequency Counter:

  • Interfacing with the Raspberry Pi
  • Characterization of the FC:          

                                   - Transfer Function 

                                   - Quantization Noise Estimation

Temperature Actuator:

  • Measurement of the Transfer Function

EPICS and Channel Readout:

  •  Creating a new Channel Access Server(SoftIOC)
  •   Piping data from FC into created channels.              

Frequency Offset Locking(FOL) Box Design and Plan:

  • Planning and selection of place for installation.
  • Preparation of the box and routing cables.

                

Work Plan for Upcoming Weeks:

  • Calibration of the Thermal Actuator TF and PID loop design.
  • Channel Testing after installation of the FOL box inside the 40m.
  • Optics:
    • Measure beam profiles of AUX lasers and PSL.
    • Design coupling telescope, given space constraints at end tables
    • Couple lasers into fibers
    • Connect fibers from lasers to fiber coupled Beam Combiner and Photodiode.
  • Testing of FOL loop after installation of the complete system.

 

 

  10286   Tue Jul 29 18:00:20 2014 AkhilUpdateLSCCalibration of ETMX and ETMY actuators

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.

 

 

 


 

 

Attachment 1: PZT_ETMX_TF.png
PZT_ETMX_TF.png
Attachment 2: PZT_ETMY_TF.png
PZT_ETMY_TF.png
Attachment 3: PZT_ITMX_TF.png
PZT_ITMX_TF.png
Attachment 4: PZT_ITMY_TF.png
PZT_ITMY_TF.png
  10297   Wed Jul 30 11:15:44 2014 AkhilUpdateGeneralWeekly Update

 Plan for the week:

  • PID loop design and testing with the Green laser beat note by actuating the arm cavity length.
  • Beat note readout on MEDM screens and Strip tool.
  • Calibration of the laser frequency response to PZT signal in MHz/V using a test DC input(Koji assigned me this task because this calibration has not been done and is very useful).

Inside the Lab:

  • Placing the FOL box sometime in the afternoon today(with supervision of Manasa / EricQ).
  • Calibration of the PZT(Today or tomorrow).

 

  10298   Wed Jul 30 15:33:48 2014 AkhilSummaryGeneralCalibrated Thermal Actuator TFs

 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: 

Gain: 9000

Zeroes:

z1 = -0.9799;

z2 = 2.1655; 

z3 = -2.9746- i * 3.7697

z4 = -2.9746+ i * 3.7697

z5 =  95.7703 + 0.0000i 

Poles:

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:

5th order TF fitted: 

Gain = 20

Zeroes:

z1= -305.7766

z2 =   -18.2774

 z3 =  -16.6167

 z4 =   -1.2486

 z5 =   28.1080

 

Poles:

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.

 

Attachment 1: Y_Arm_TA_TF.pdf
Y_Arm_TA_TF.pdf
Attachment 2: X_Arm_TA_TF.pdf
X_Arm_TA_TF.pdf
Attachment 3: Y_Arm_TA_with_fit.pdf
Y_Arm_TA_with_fit.pdf
Attachment 4: X_Arm_TA_with_fit.pdf
X_Arm_TA_with_fit.pdf
  10304   Thu Jul 31 11:54:54 2014 AkhilSummaryElectronicsPZT Calibration

 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.

Attachment 1: PZT_Y_Calibration.pdf
PZT_Y_Calibration.pdf
Attachment 2: PZT_X_Calibration.pdf
PZT_X_Calibration.pdf
  10307   Thu Jul 31 14:23:28 2014 AkhilSummaryElectronicsPZT Calibration

 

 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.

Attachment 1: PZT_Y_Calibration.pdf
PZT_Y_Calibration.pdf
  10324   Fri Aug 1 18:48:46 2014 AkhilSummaryElectronicsPZT Calibration

 

 The PZT actuation on the laser frequency in MHz/V ( assuming the previous calibration here of the PZT count/V) is :

X- arm: 33.7 MHz/V

Y- arm: 14.59 MHz/V

This number seems to be wrong by a factor of 10. 

So we[I and EricQ] decided to trace the cables that run into the ADC from the PZT Out. We found a black LEMO box in the path to ADC,which is  an anti-aliasing filter for each input channel. However,in theory the response of this filter should be flat up until a few kHz i.e. for  the DC gain it should be 1. But we will manually test it and look at the DC gain of the LEMO box.

 

 

  10333   Tue Aug 5 19:05:41 2014 AkhilUpdateGeneralBeat Note Testing on EPICS Channels

 Finally,  the efforts put in the Frequency Counter paid off . I tested the working of both the FC and EPICS channels that I created by displaying the beat note on MEDM screens. EricQ helped me locking the X arm ( Y arm free) thus acquiring only the X arm beat note from the frequency counter. We plotted the beat note on MEDM and clearly could see a stable beat note when the arm was locked. Now it can be said that the FC(two of course) can replace the spectrum analyzer outside and also get the beat-note frequencies  into EPICS channels. The channel names of these two beat note frequencies are:

X Arm:          C1:ALS-XBEAT_FREQ_MHZ

Y Arm:          C1:ALS-YBEAT_FREQ_MHZ

(Note: There are many problems in alignment of the arms and we could have beat note only for some time after putting a lot of effort).

  10334   Tue Aug 5 19:20:05 2014 AkhilUpdateGeneralPID loop Design for beat note stabilization

 Today I and EricQ went inside the lab and set up the cables running from the a DAC channel into  PZT input so that we can use the PID controller to tune in the PZT offset to maintain the beat note within a detectable range (This is plan B as the main plan of actuating on the laser temperature can be achieved only after the fiber setup with the PSL is ready). I obtained all the poles and zeroes of plant and started designing a PID loop to test it with the existing system.

I will put in my PID values into the already existing PERL controller code (that is used for controller design in the 40m) and run tests with the PID loop while actuating on the PZT offset. 

 

  10352   Fri Aug 8 14:27:18 2014 AkhilUpdateComputer Scripts / ProgramsFOL Scripts

 The scripts written for interfacing the FC with R Pi, building EPICS database, piping data into EPICS channels,PID loop for FOL are contained in :

 /opt/rtcds/caltech/c1/scripts/FOL 

The instructions to run these codes on R Pi( controls@domenica) will be available on FOL 40m wiki page.

Also instructions regarding EPICS installation on R Pi and building an EPICS SoftIoc to streamline data from hardware devices into channels will be updated shortly.

 

 

 

 

 

 

  10353   Fri Aug 8 14:42:41 2014 AkhilUpdateGeneralPID loop Design for beat note stabilization

 The attached in a zip file are the Simulink feedback loop models for the FOL for both X and Y ends. The controller PID values are estimated by setting a temperature count reference point to 5344, which corresponds to 100 MHz frequency.  The plant transfer function is as calculated in my previous elogs.

 We were not  able to test the PID loop , with the green laser by PZT actuation because of the misalignment of the arms and non-existence of the beat note since last few days. However, we have a complete idea of the design and PID parameters that will be used for the FOL with infrared laser. So we decided that it would be better to test the loop by temperature actuation after the fiber optics is installed and the coupling of infrared laser into the fiber is complete. As of now, we have planned to place the FOL box inside so that it can be used to obtain the green laser beat note on the StripTool graphs. 

Attachment 1: PID.zip
  306   Sun Feb 10 20:47:01 2008 AlanSummarySUSAll watchdogs tripped
A moderate earthquake occurred at 11:12:06 PM (PST) on Friday, February 8, 2008.
The magnitude 5.1 event occurred 21 km (13 miles) NW of Guadalupe Victoria, Baja California, Mexico.
http://quake.wr.usgs.gov/recenteqs/Quakes/ci14346868.html
ELOG V3.1.3-