40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log, Page 336 of 339  Not logged in ELOG logo
New entries since:Wed Dec 31 16:00:00 1969
ID Date Authordown Type Category Subject
  3442   Thu Aug 19 11:38:48 2010 AlastairUpdateComputersATF wiki

The ATF wiki page doesn't seem to be working any more.  Does anyone know where this is held so we can try to get it back online?  Thanks

  3443   Thu Aug 19 12:06:07 2010 AlastairUpdateComputersATF wiki


The ATF wiki page doesn't seem to be working any more.  Does anyone know where this is held so we can try to get it back online?  Thanks

 I phoned Phil Ehrens and found out that all these wikis have been moved to a new wiki site

The ATF wiki can now be found here

I have updated the link from the 40m wiki to reflect this

  3452   Fri Aug 20 20:36:05 2010 AlastairUpdateGeneralElog

 Elog was down, I restarted it.

  3461   Tue Aug 24 06:34:01 2010 AlastairUpdateGeneralElog...

...was down.  Have restarted it.

  3475   Fri Aug 27 07:21:13 2010 AlastairUpdateGeneralelog...

 was down.  I restarted the version in the 2.7.5 folder.  It went down again almost immediately but stayed up after the second restart.

  4563   Mon Apr 25 11:23:41 2011 AlastairBureaucracyComputerswiki?

40m wiki seems to have been down for quite a while now but I can't see any info in the elog about it.  Is there some ongoing problem?


  4566   Mon Apr 25 12:55:35 2011 AlastairBureaucracyComputerswiki?



40m wiki seems to have been down for quite a while now but I can't see any info in the elog about it.  Is there some ongoing problem?

 There was an email from Dave Barker about this.  They had to reorganize the DNS at LHO.  The URL that should be used is: http://blue.ligo-wa.caltech.edu:8000/40m

 Thanks Jamie, I've updated the links from the ATF wiki to reflect this.

  4897   Tue Jun 28 11:25:56 2011 AlastairBureaucracyComputersrestarted elog

The manual instructions on the 40m wiki for restarting wouldn't work.  I killed the process okay, but then I got an error saying it "couldn't bind to port 8080, please try again using -p to select port".  The automated script worked though.

  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.
  1058   Mon Oct 20 12:18:38 2008 AlanUpdateComputer Scripts / Programsburtwb missing on Solaris but installed on linux64

c1lsc stalled this evening, so I powercycled it.
After that, I tried to lock arms to confirm the computer is working.
Then I realized that the restore alignment buttons do not work from any control room computer.
I found that it was because burtwb command was missing. For Solaris, looks like there used to be /cvs/cds/epics/extensions/burtwb but now
there is no /cvs/cds/epics directory. I thought there were directories other than "caltech" in /cvs/cds/, weren't there ?
Right now, there is only /cvs/cds/caltech.
Anyway, I installed burt for 64bit linux computer (under /cvs/cds/caltech/apps/linux64/epics/extensions/).
At this moment the alignment save/restore works on allegra (and probably on rosalba), but not on op440m yet.

The automatic backup of /cvs/cds (and /frames/minute-trends ) to the LIGO archive in Powell-Booth,
which runs from fb40m using the scripts in /cvs/cds/caltech/scripts/backup ,
stopped when fb40m was rebooted on June 28, 2008,
and the check_backup script I run to send an email when this happens also failed due to a scripting error.

But we still have a backup of /cvs/cds from June 27.

The backup of /cvs/cds (excluding /cvs/cds/caltech and /cvs/cds/tmp)
circa June 27, 2008
has been restored to
/cvs/cds/recover_20081020 .

Please check to see that it has what we need.

Before moving it over to where it belongs,
it would be really nice to figure out what happened...

Meanwhile, I have fixed the check_backup script and restarted the backup, which will run this evening...
but maybe I should wait till the dust settles?

Now is also a good time to think about whether there is anything else besides for
/cvs/cds and /frames/minute-trends that should be backed up regularly.

- Alan
  1060   Mon Oct 20 16:18:00 2008 AlanConfigurationComputers/cvs/cds restored

I moved missing files in /cvs/cds restored by Alan and Stuart to the original locations.
I confirmed autoburt runs, and dtt, which had also been having trouble running, runs ok now.

I found an interesting piece of evidence on allegra, our new 64bit linux machine.
In the Trash of controls Desktop on that machine, there is /cvs/cds/vw/ directory.
I remember that when I last time emptied the trash bin on the machine (yesterday), it took somewhat long time.
Too bad that I did not pay attention to what was actually in the Trash, but now I have a feeling that in the Trash were
missing /cvs/cds/* directories.
While emptying the Trash, I encountered several errors saying permission denied or something like that, and skipped those files.
Sometimes, when you move something from NFS mounted directories to the Trash, you get this kind of errors.
So my guess is that someone accidentally (or intentionally) moved /cvs/cds/* except for "caltech" to the Trash of allegra.
And I completely removed them carelessly.

In the meantime, I have re-started the nightly backup for /frames/minute-trends
but NOT YET for /cvs/cds ,
since I fear that we'll find another problem and will need to go back to the June 27 backup.
Let's wait a few days for the dust to settle,
and if everyone feels confident that /cvs/cds is ok,
I'll restart the backup of that.

How I restored the files, for the record:

Stuart mounted /archive/backup onto an accessible computer (garrak.ligo.caltech.edu ) and I logged on to controls@nodus and ran this command:

/cvs/cds/caltech/scripts/backup/rsync --rsync-path=/usr/bin/rsync --rsh=/usr/bin/ssh --compress --verbose --archive --hard-links --exclude=caltech/ ajw@garrak.ligo.caltech.edu:/backup/40m/cvs /cvs/cds/recover_20081020

I had to type in my GC password, and it ran for ~20 minutes (would have been much longer had I asked for /cvs/cds/caltech as well!).

you can view the backups by logging on to garrak.ligo.caltech.edu with your GC account:
  1215   Sun Jan 4 13:17:23 2009 AlanOmnistructureComputer Scripts / ProgramsNew 40mWebStatus
I have set up some code in /cvs/cds/caltech/scripts/webStatus along with a cronjob on controls@nodus to generate a webStatus every half hour, at 40mWebStatus

you are welcome to add/delete lines corresponding to interesting EPICS channels, in the template /cvs/cds/caltech/scripts/webStatus/webStatus_template.html . The 2nd number is the "golden" value of the EPICS channel; it can be edited by hand, or one could copy a "golden" webStatus.html to webStatus_template.html . I think it's probably premature to automate this...

I noticed that Yoichi also has a cron job posting 40m medm screen snapshots. Very nice.

controls@nodus also runs a third cronjob, which checks if the nightly backup fails, and if so, sends an email to me.

I guess we need some kind of "official" crontab file for controls@nodus so that we know how/where to add things. So, I put one in /cvs/cds/caltech/crontab/controls@nodus.crontab
  1216   Mon Jan 5 11:21:05 2009 AlanOmnistructureComputer Scripts / ProgramsNew 40mWebStatus


I guess we need some kind of "official" crontab file for controls@nodus so that we know how/where to add things. So, I put one in /cvs/cds/caltech/crontab/controls@nodus.crontab

Alan and I agreed that we should edit the crontab by "crontab -e" command rather than editing the "official" crontab in /cvs/cds/caltech/crontab/.
After confirming that the new crontab works as expected, you are encouraged to make a copy of the new crontab into /cvs/cds/caltech/crontab/ as a backup.
Then do "svn ci" in the directory.
  1372   Mon Mar 9 10:59:05 2009 AlanOmnistructureComputersssh agent on fb40m restarted for backup

After the boot-fest, the nightly backup to Powell-Booth failed, and an automatic email got sent to me. I restarted the ssh agent, following the instructions in /cvs/cds/caltech/scripts/backup/000README.txt .

  1564   Fri May 8 10:05:40 2009 AlanOmnistructureComputersRestarted backup since fb40m was rebooted

Restarted backup since fb40m was rebooted.

  1756   Thu Jul 16 09:49:52 2009 AlanUpdateComputersfb40m


The fb40m just went out of order with status indicator number 8

It recovered on its own five minutes later.

 Backup script restarted, backup of trend frames and /cvs/cds is up-to-date.


  1910   Sat Aug 15 10:36:02 2009 AlanHowToComputersnodus boot procedure

The restart procedures for the various processes running on nodus are explained here:


Please go through those steps when you reboot nodus, or notice it rebooted then elog it.
I did these this time.

fb40m was also rebooted. I restarted the ssh-agent for backup of minute-trend and /cvs/cds.
  2445   Tue Dec 22 13:14:37 2009 AlanOmnistructurePEMmiracle in the 40m


We have been waiting for this for 20 some years. Arrowhead water with cooler. AWESOME


 Happy holidays, everyone!


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


 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.



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



 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


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.


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
  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
  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
Attachment 2: 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
Attachment 2: gain.pdf
  10129   Fri Jul 4 09:17:13 2014 AkhilConfigurationElectronicsSetup Used for Characterization of Frequency Counter


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
  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
Attachment 2: 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
Attachment 2: 0.2s.png
Attachment 3: 0.3s.png
Attachment 4: 0.5s.png
Attachment 5: 1s.png
Attachment 6: Pdf.zip
Attachment 7: 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
Attachment 2: 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
if [ "" = "${LD_LIBRARY_PATH}" ]; then


  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;


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



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
Attachment 2: 0.3timinganalysis.png
Attachment 3: 0.5timinganalysis.png
Attachment 4: 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
Attachment 2: 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


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.


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
  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
Attachment 2: 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
  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
  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
Attachment 2: 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:




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
  10277   Sat Jul 26 14:35:28 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:




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





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.

Attachment 1: 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
Attachment 2: PZT_ETMY_TF.png
Attachment 3: PZT_ITMX_TF.png
Attachment 4: 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


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:

5th order TF fitted: 

Gain = 20


z1= -305.7766

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.


Attachment 1: Y_Arm_TA_TF.pdf
Attachment 2: X_Arm_TA_TF.pdf
Attachment 3: Y_Arm_TA_with_fit.pdf
Attachment 4: 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
Attachment 2: 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
ELOG V3.1.3-