40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  PSL, Page 5 of 52  Not logged in ELOG logo
ID Date Author Type Category Subject
  2408   Fri Aug 30 18:40:01 2019 anchalNotesBEATQuick note: BN detector changed to NF1811

Due to testing of CTN:2406 I expect the beatnote to be away from 27.34 MHz. So I have changed the beatntoe detector to wideband New Focus 1811 for the long weekend. It has badnwidth of 125 MHz.

  2407   Fri Aug 30 18:25:31 2019 anchalMiscFSSup to date schematics

All details regarding TTFSS boxes present in CTN has been updated at this page in ATFWiki


I have added fields of who made the changes, on which box and on which board to make this change log more readable. These fields should be followed from now on.

Relevant circuit schematics, photos and zero models are kept in ctn_electroncs/TTFSSzeroCTN repo to keep a version history of changes as well. This should be updated everytime any change is made to the boxes from now on.

Note: The current updates were made by using Andrew's change log and verifying that no other changes have been mentioned in our elog history other than the change log. However, if the real circuit has any changes which people did not log, then they are not present in these schematics or model. These, if they exist, will be added as soon as we find them.


I'm skeptical of your FSS changes over the past year. Can you please link to the DCC entry that has the actual, real, as-built, as-modified FSS schematics? i.e. including all changes no matter how minor.


  2406   Fri Aug 30 17:31:56 2019 anchalDailyProgressTempCtrlVacuum Can Temperature Control Setpoint Step Test

Following Rana's test done in 40m:1986, I have programmed the lab to go through a similar test. Following things will happen:

  • At 3:30 am (roughly 30 minutes after the daily beatnote measurement), the cavity heater PID will be switched off.
  • The heating actuation will remain at what it was.
  • The setpoint of Vacuum Can temperature control will increase by 1^\circ C
  • Wait for 8 hrs.
  • The setpoint of Vacuum Can temperature control will decrease by 2^\circ C.
  • Wait for 8 hrs.
  • The setpoint of Vacuum Can temperature control will return to nominal value.
  • Repeat this next day until Sep 3rd is reached.

So this will happen three times. In between, the cavity heater PID control will have 7.5 hrs to stabilize the beatnote frequency and at 3:00 am as usual beatnote measurement will happen.

All channels are being recorded at FB4 in QIL so we can look back the relevant channels after the test is over. Putting a sticky note in QIL for not to interrupt FB4.

  2405   Thu Aug 29 19:15:45 2019 anchalDailyProgressBEATDaily acquisition of beatnote started. Now Automated.

I have written a script which will trigger Moku every day at 3 am to take a beatnote timeseries measurement. It will then calculated the ASD of the data and will save important experiment configuration details in a log file. This will happen in ctn_noisebudget/Data/dailyBeatNoteSpectrum directory.

I have currently configured it to take timeseries for 60s with 10 kHz tracking bandwidth using Koji's SN101 beatnote detector. The cavity temperature control is working nicely with keeping the beatnote close to the peak frequency of 27.34 MHz, within 500 kHz of it atleast.

  2404   Wed Aug 28 16:51:49 2019 anchalDailyProgressNoiseBudgetLatest noisebudget as of Aug 23, 2019

Attached is the latest noise budget calculated using the new object-oriented script.

Noise Budget Model:

Parameter files and all noise contribution PSD data.

Note that since we used Penn et al. JOSA B 36, 4, pp C15-C21  values for shear and bulk loss angles of the coating and used Hong et al . PRD 87, 082001 (2013) calculation procedure, as pointed in CTN:2401, the estimated coating brownian noise contribution is more than previously calculated and dominates the total estimated noise from about 20 Hz to 20 kHz. Also, the PLL noise was switched with Moku Frequency Noise measured in CTN:2357

Differences in the actual experiment from the model:

The experiment configuration file is attached. Major differences are:

  • Model uses 7mW of incident power. 8.8 mW was incident on North Cavity and 7.1 mW was incident on the South Cavity
  • Model uses 0.7+/-0.05 mode matching. North cavity was at ~0.65 and South was at ~0.77
  • Model uses temperature of 305 +/- 1 K. Vacuum can temperature was 306.53 K and table temperature was 292.23 K.

Beatnote Measurement Data


  • We aren't doing particularly better or worse than Nov 2017!
  • In fact there is a bump at around 500 Hz which was previously reported in CTN:2183 by Andrew and Craig as a scatter feature. So need to look into this.
  • FSS.... FSS!
Attachment 1: ExpStateAug23_2019Measurement_28-08-2019_175138_mean.yml
C3:PSL-NCAV_REFL_POW: '3.10606'
... 9 more lines ...
Attachment 2: CTNnoiseBudget_20190823.pdf
  2403   Wed Aug 28 09:49:44 2019 anchalSummaryscatterBeam Dump Status

We need to switch out normal flat-faced beam dumps with triangular cavity beam dumps in all places where they are not present. Following is a summary of beam dump status

Total Normal Beam Dumps behind PMCs: 12

Triangular Cavity Beam Dump Mount Requirements
Position South Path Present? North Path Present? Needed more?
PMC RFPD reflection 1 1 0
FSS RFPD reflection 1 1 0
PMC Back-reflection 0 1 1
BS Discard before PMC EOM 0 1 1
Faraday Isolator discard before cavities 0 0 2
Trans CCD (Common) 1 0 1
Trans ISS PD Reflection 0 0 2
Trans BS discard before PD 0 0 2
Beatnote NF1811 (Common) 1 0 0
Beatnote SN101 (Common) 1 0 0
Total     9











Present Inventory for triangular beam dumps and requirements
  Present Quantity in CTN Needed more according to the above table
Triangular Cavity Mounts 3 6
Square 1"x1" Black Glass 16 11
Rectangular 1"x1.5" (Estimate) Black Glass 4 0
Square 1"x1" Black Glass with Hole 4 0

Triangular Cavity Beam Dump
Triangular Cavity Beam Dump


  2402   Tue Aug 27 19:15:51 2019 anchalDailyProgressBEATDaily acquisition of beatnote started

I have started daily acquisition of beatnote from today onwards. This directory will contain beatnote spectrums taken everyday along with a yaml file containing logged channel values for experiment configuration. Our aim is to collect this data so that overall degradation/enhancement of beatnote can be plotted with time along with any significant changes in the crucial experiment parameters. This will also help in identifying gains or loss after any change on the table or scripts.

Some updates:

  • The vacuum can temperature is stabilized to within 10 mK, verified with an out of loop temperature sensor.
  • The Cavity heater PID is also able to reach near 27 MHz and at times stabilize the beatnote to better than 4 KHz/min drift.
  • My guess is, if left uninterrupted, the PID will eventually create a very stable beatnote frequency. If not, we can cross-check the correlation between table temperature and beatnote as both are being monitored continuously.
  • I shifted to SN101 Beatnote Detector today as we are close to its peak transimpedance.
  • The ws1 system's graphics are deteriorating even more. The medm screens distort after few hours and striptool plots do not work well with too many curves.
  • Major Focus Right Now: Understanding scattering with elog surveys and looking forward to ordering parts for new can designed by Andrew.
  2401   Tue Aug 27 18:56:58 2019 anchalDailyProgressNoiseBudgetWhat values of Loss Angles are good?

The new noisebudget code follows Hong et al . PRD 87, 082001 (2013) calculations to calculate Coating Brownian noise. This calculation uses different loss angles for bulk and shear strain. In fact, the calculation uses different loss angles for each layer as well if known.  The closest reported values I could find are from Penn et al. JOSA B 36, 4, pp C15-C21 (2019). They used mechanical ringdown measurements of large disks and COMSOL modeling to estimate the bulk and shear loss angles.

I used these values and compared the change in the estimate of coating Brownian noise contribution. Attached is the result.

If the loss angles values reported by Penn et al. are correct, then our Coating Brownian noise would actually be buried beneath all other noise contributions. So I'm not sure what is correct, what is not? Is my understanding of this wrong somewhere?

The old calculations were described in CTN:2250.

I would like some guidance on this.

Edit Wed Aug 28 10:49:45 2019 anchal:

I did a mistake in the plot earlier. The new data was in PSD, not ASD, so it needed to be square-rooted before comparing with the old data. I've updated the plot now.

It seems like the induction of new values and new method changed the effective coating loss angle (used in the previous calculations). If Penn et al. values are correct the expected Coating Brownian noise contribution has actually increased by about a factor of 5. However, I'm not sure where the previously used effecting coating loss angle value of (2.41 +/- 0.2)e-5 came from. Complete noisebudget is coming soon.

Attachment 1: ComparisonOfUsingDifferentLossAngles.pdf
  2400   Tue Aug 27 18:53:15 2019 ranaMiscFSSup to date schematics

I'm skeptical of your FSS changes over the past year. Can you please link to the DCC entry that has the actual, real, as-built, as-modified FSS schematics? i.e. including all changes no matter how minor.

  2399   Fri Aug 23 18:15:49 2019 anchalDailyProgressBEATBeatnote after a while

The cavity temperature control (aftter the last fixes by Andrew) seem to be working good actually now that the Vacuum Can temperature is stabilized nicely. SO I didn't want to interfere with the PID's job which it seems is trying to reach to the set point almost critically. However, today, the beatnote came below 125 MHz, so we were in range with New Focus 1811 to take the spectrum. So I did it.

Two measurements

I used the coupled output from 20 dB coupler to feed the moku and use it's phase meter along with SR785 witht he previous PLL setup. Since the beatnote was still drifitng by around 10 kHz/24 sec, I took spectrum with linewidth of 1 Hz and used 20 averages to catch the PLL frequency noise in between its jumps. Simultaneously (almost), I took measurements with moku also to see if we can reliably switch over to moku. Good thing about moku is that it is faster in adjusting it's carrier frequency to lock to the signal and hence the jumps are unnoticeable. The attached plots are the measurements.

Uncertainty in moku's ASD plots!

Scott and I have written a modified PSD calculation function, which does everything same as a normal weltch function would do, but on top of it, it provides 15.865% and 84.135% percentile of all the individual segments the function used to calculate PSD. Also, the reported value is median and not mean. Further, this function implements welch function with different sizes of npersegment to ensure more averaging at higher frequencies and equal number of points in each decade. All this is done in mokuReadFreqNoise.py which uses modeifiedPSD.py. Linear detrending of data is also used before calculating the PSDs from the timeseries data provided by moku.


  • I think we can safely switch over to using Moku for measuring beatnote frequency noise, given it is available.
  • Beatnote obviously doesn't look so good. But at the point, the FSS aren't working as expected.
  • There is a weird peak at around 500 Hz which wasn't there before.
  • I'll add the noisebudget with new calculations using different values of Shear and Bulk Loss Angles soon. It is kind of difficult to get these values though.
  • My plan is to keep this functioning state all the time. I'll make sure the cavities are locked with good mode matching and near the desired beatnote frequency.
  • Then I'll focus on the known issues and sources of error and will keep monitoring the beatnote changes every 2-3 days.

Code and Data

Attachment 1: ComparisonOfMokuandSR785BeatnoteSpectrum.pdf
ComparisonOfMokuandSR785BeatnoteSpectrum.pdf ComparisonOfMokuandSR785BeatnoteSpectrum.pdf ComparisonOfMokuandSR785BeatnoteSpectrum.pdf ComparisonOfMokuandSR785BeatnoteSpectrum.pdf ComparisonOfMokuandSR785BeatnoteSpectrum.pdf
  2398   Wed Aug 21 16:17:47 2019 anchalDailyProgressTempCtrlLeave the Heater Circuit Alone!

I aligned the south cavity today achieving a nice 70% mode matching. While doing so, I realized a big issue that was gone unseen before the heater circuit blew up. I saw that since the vacuum can temperature control was active and was making a lot of jumps here and there all over the 1.5 A range, the Sorenson power supply isn't so good in keeping up with such sudden current changes. In effect, I think the Vacuum Can Heater's PID control signal gets coupled to the overall power supply coming from Sorenson.This +- 24 V rail was connected to EOM drivers earlier. Because of the poor design of EOM drivers, the EOM's are constantly at a DC voltage of +24V from this Sorrenson Power supply with only a passive filter. I could see today that when vacuum can PID was on, the laser frequency was haphazardly changing making it much more difficult to align the cavity. I was able to align it in minutes once I switched off the vacuum can PID.

So moral of the story is, keep the vacuum can heater circuit alone and Sorrenson Power supply is exclusive for it.

I shifted the EOM driver's power supply to Kepco which supplies for other rack-mount electronics as well.

  • I noticed now that the Sorenson power supply was supposed to be exclusively used for these can heate drivers. It is presently being used for driving EOMs also. I'll switch the EOM drivers to the other Kepco supplies.


  2397   Wed Aug 21 10:28:58 2019 anchalSummaryTempCtrlVacuum Can Step Response

Utilizing the fact that the heater stopped last Friday, I fitted the day to extract out a time constant for cooling down of the Vacuum Can through the present insulation. Attached is the fit. The time constant has come out to 2.298 +/- 0.001 hr.


Infact, I should use this data in future to calculate current time constant of temperature decay of the can through the insulation.

Code and Data

Attachment 1: VacCanInloopTempDecayFit.pdf
  2396   Tue Aug 20 19:38:36 2019 anchalSummaryComputersFramebuilder re-configured

I updated ctn_scripts\channelFramebuilderConfigFileCreator.py to work with the new format of modbus hosting through docker (and cleaned it a bit). Also, from now on, C3CTN.ini will stay in the ctn_scripts repo to have version control.

I have run this once and followed instructions from CTN:2014 to restart frambuilder daqd process so that all new channels are logged as well.


I found out that FB4 is not recording the channels that I have added later. I need to look into this as well.

  2395   Tue Aug 20 11:19:35 2019 anchalDailyProgressTempCtrlVac Can Heater Circuit repaired

See CTN:2394 for the symptoms and investigation. Open this post at CTN:2395 to see the chain of previous work on this circuit.


  • I replaced the OPA140. This didn't solve the issue.
  • I also replaced the IRF630 MOSFET. For the heat sink, I just used the mica pad and no extra thermal glue.
  • I retouched the solder joints at some places.

Present State:

  • As usual, the sense resistor (1 Ohm) is getting very hot. The MOSFET is not unusually hot after about 10 min of supplying 1.5 A of current.
  • This circuit should be ideally printed on PCB with thick traces and a proper design for heat dissipation. We need to get out of this workaround protoboard circuit! Can be a starter project for a new student or an undergrad.
  • The signal input and heater output all are unnecessarily complicated different kinds of connectors. Particularly from DAC to the box, it could be a much simpler twisted pair of wires.
  • I noticed now that the Sorenson power supply was supposed to be exclusively used for these can heate drivers. It is presently being used for driving EOMs also. I'll switch the EOM drivers to the other Kepco supplies.
  • I checked for oscillations in the heater circuit as mentioned before. Seems like the steps taken before are still working file and I couldn't see any oscillations across the sense resistor.
Attachment 1: CircuitCloseup.jpg
Attachment 2: BoxOverview.jpg
  2394   Mon Aug 19 15:54:51 2019 anchalSummaryTempCtrlVac Can Heater Driver not working!

I had aligned the North Cavity before the weekend and was about to align south one today when I saw that the modematching on the North Cavity has fallen to 20%. This is a tell-tale sign of vacuum can temperature changing too much. When I checked, indeed the temperature sensors were railing to their lower most value of 26.599 Celcius. Same for both in-loop and out of loop sensors. While the table top temperature sensor was giving a meaningful value.

Investigation begins

I first checked point by point the temperature sensor board LIGO-D1800304. From ADC all the way back to the AD590s.The two sensors were indeed giving a voltage of 4.8 V through a transimpeadance of 16.25k  which meant 295.385 uA of current corresponding to 22.23 Celcius. So indeed the sensors were telling me that the can had cooled down to almost room temperature over the past 2 days.

Framebuilder logs

I checked the framebuilder logs to figure out what has happened. The temperature was being stabalized at 34.38 Celcius by the PID script. At around 15;20:25 Aug 16, 2019 PDT, the temperature starts decaying. Infact, I should use this data in future to calculate current time constant of temperature decay of the can through the insulation. The table temperature was around 19 Celcius all this time. I found out that FB4 is not recording the channels that I have added later. I need to look into this as well.

Attached is the decay plot of the temperature

Possible points of problem

After a deep search through elog, CTN:2043 and CTN:2045 are the most relevant latest post. Kira and Kevin worked on this heater drier circuit and I'm doubting that something blew up in this circuit CTN:1903. I guess this would be my first point of attack.

Another possibility is that the heater load got disconnected. Well, I just checked the resistances and I get values of 38, 70, 70 and 38 Ohms. These are the right values according to CTN:1750. This is not the issue.

Lastly, the worst possible issue would be that the temperature sensors are reporting wrong temperature. But looking at the the properexponential decay of temperature reported by them, I would first assume that they are working fine.

Code and Data

Attachment 1: VacCanInloopTemp.pdf
  2393   Wed Aug 14 17:19:15 2019 ScottADailyProgressRFAMPower Sweep from EOM Short to RF Mon on EOM Driver

We were suspicious that the reason the transfer function was decreasing with an increase in power was actually due to the monitoring circuit, specifically the MAX2470 RF Buffer. To test this hypothesis I took a power sweep with an EOM driver (SN07) which only contained the 5V regulator and the Buffer, along with all the components associated with these devices. There was no transistor, as well as no diodes at the input power supply. The overall change from -5 dBm to 15 dBm was only around 0.1dB. This indicates the monitoring circuit does not provide an explanation for the reduction in gain seen at higher power levels.

Attachment 1: Pow_sweep_EOM_short_to_RF_mon_EOM_driver_no_Transistor.zip
Attachment 2: Pow_Sweep_EOM_to_RFMON.pdf
  2392   Tue Aug 13 17:12:47 2019 ScottADailyProgressRFAMPower Sweep with Different Resistors for R5 in EOM Driver

I investigated the possibility of increasing the EOM Drivers gain by replacing the R5 resistor with a different value, as this should be what effects the gain of a common base amplifier.

  • I set up the SN06 driver with the Bias tee and Dummy EOM and took power sweeps from -5 dBm to 15 dBm for the already existing 2.87K ohm resistor value, as well as with 680 ohm and 10k ohm resistors.
  • I used a 680 ohm and 10k ohm resistor because we want a Vpp of around 20V to reach the desired modulation depth while we only reach 6V, so I increased and decreased the resistance by about a factor of 4 to see the change.
  • Our theory was a lower resistor would yield a higher gain value, but as we can see neither configuration of new resistances was better than the already existing 2.87K ohm.

It seems we cannot use this method to increase the gain of the driver.

Attachment 1: Power_sweep_w_different_resistors_for_R5_EOM_driver.zip
Attachment 2: Power_Sweep_SN06_withBias_DumEOM_diff_resistors_in_R5.pdf
  2391   Tue Aug 13 17:05:53 2019 aaronDailyProgressNoiseBudgetChecking the differences between old and new noisebudget

Have you seen this related paper on direction dependent loss that might be interesting?

What are the specifics of the discrepancy? If your TR effect changes, it won't have perfect cancellation with TE, so thermo-optic noise could indeed be much worse. 

  2390   Tue Aug 13 11:59:56 2019 anchalDailyProgressNoiseBudgetChecking the differences between old and new noisebudget

I saved the traces of old and new noise budgets as txt files and then plotted them together to understand the differences between the codes. One can refer to CTN:2250 for a summary of calculations of old noise budget.

Coating Brownian Noise:

  • Old noise budget uses a simple formula from Harry et al. (2001) Eq 21.
  • New noise budget uses analysis of Hong et al . PRD 87, 082001 (2013) which takes into account different bulk and shear loss angles for each layer.
  • In this run, I used the same values of bulk and shear loss angles of both AlGaAs and GaAs, equal to 2.41e-5 +/- 0.482e-5 rad. This is the same value used in old calculations as well.
  • It is interesting to see that there is almost no difference (<5% mostly) in the prediction of two methods even though they were done with vastly different methods.
  • In the future, however, I would try to use different values. But there is no proper source for them. I can try using the coating loss angle values mentioned in Penn et al JOSA B Vol 36, Issue-4 (2019).

Coating Thermo-optic Noise:

  • Both new and old methods use the same formula from  Evans et al. (2008), Eq 4.
  • But to calculate the effective coefficient of thermo-refractive effect, the old method used a complex matrix calculation which I'm unable to follow. The value was 8.61e-5 1/K.
  • The new noise budget follows Evans et al. (2008) Appendix B to the best of my knowledge and generates a slightly different value of  8.2e-5 1/K.
  • However this changes the coating thermo-optic contribution by almost 50%!

Photothermal Noise:

There is no distinction in the calculation of this contribution after the changes made in CTN:2388, but there is still a difference (which reaches to around 20% above 1 kHz). This is maybe because of interpolation errors when taking the differences. But I'm not sure about this. This can take a sanity check from others as well.

No differences in:

The following calculations had no differences between the two noise budgets and the contribution differences are also none or minimal. 

  • Substrate Thermo-elastic Noise
  • Substrate Brownian Noise
  • Seismic Noise
  • PDH Shot Noise
  • PLL Oscillation Noise
  • PLL Readout Noise
  • Residual NPRO Noise
Attachment 1: ComparisonOfOldandNewNoisebudget.pdf
ComparisonOfOldandNewNoisebudget.pdf ComparisonOfOldandNewNoisebudget.pdf ComparisonOfOldandNewNoisebudget.pdf ComparisonOfOldandNewNoisebudget.pdf ComparisonOfOldandNewNoisebudget.pdf ComparisonOfOldandNewNoisebudget.pdf ComparisonOfOldandNewNoisebudget.pdf ComparisonOfOldandNewNoisebudget.pdf ComparisonOfOldandNewNoisebudget.pdf ComparisonOfOldandNewNoisebudget.pdf ComparisonOfOldandNewNoisebudget.pdf
Attachment 2: ComparisonOfOldandNewNoisebudget.zip
  2389   Mon Aug 12 14:23:24 2019 ScottADailyProgressRFAMDecrease in TF due to Bias Tee

To determine if the loss in gain seen by the new eom driver (SN:06) was due to the driver itself or just because of the addition of the bias tee, I took the transfer function of the old eom driver with and without the bias tee. This plot shows the LTspice simulated transfer function with and without the bias tee, as well as the effect of adding the bias tee to either driver. Here are some take-aways:

  • In both cases, there is a similar reduction in the peak height and increase width of the peaks.
  • This indicates the SN06 board is not the issue and it is in fact the bias tee causing this change in gain.

It seems we cannot introduce a bias tee without facing a reduction in the gain of the driver.

Attachment 1: Transfer_EOM_drivers_Meas_vs_LTspice.pdf
Attachment 2: Real_EOM_TF_ltspice_comparison.zip
  2388   Mon Aug 12 11:56:21 2019 anchalDailyProgressNoiseBudgetAdding specifics of discepancy

Adding more specifics:

Discrepancy #1

Following points are in relation to previously used noisebudget.ipynb file.

  • One can see the two different values of effective coating coefficient of thermal expansion (CTE) at the outputs of cell 9 and cell 42.
  • For thermo-optic noise calculation, this variable is named as coatCTE and calculated using Evans et al. Eq. (A1) and Eq. (A2) and comes out to (1.96 +/- 0.25)*1e-5 1/K.
  • For the photothermal noise calculation, this variable is named as coatEffCTE and is simply the weighted average of CTE of all layers (not their effective CTE due to the presence of substrate). This comes out to (5.6 +/- 0.4)*1e-6 1/K.
  • The photothermal transfer function plot which has been used widely so far uses this second definition. The cancellation of photothermal TF due to coating TE and TR relies on this modified definition of effective coating CTE.

Following points are in relation to the new code at https://git.ligo.org/cit-ctnlab/ctn_noisebudget/tree/master/noisebudget/ObjectOriented.

  • In my new code, I used the same definition everywhere which was the Evans et al. Eq. (A1) and Eq. (A2). So the direct noise contribution of coating thermo-optic noise matches but the photothermal TF do not.
  • To move on, I'll for now locally change the definition of effective coating CTE for the photothermal TF calculation to match with previous calculations. This is because the thermo-optic cancellation was "experimentally verified" as told to me by Rana.
  • The changes are done in noiseBudgetModule.py in calculatePhotoThermalNoise() function definition at line 590 at the time of writing this post.
  • Resolved this discrepancy for now.


The new noise budget code is ready. However, there are few discrepancies which still need to be sorted. 

The code could be found at https://git.ligo.org/cit-ctnlab/ctn_noisebudget/tree/master/noisebudget/ObjectOriented

Please look into How_to_use_noiseBudget_module.ipynb for a detailed description of all calculations and code structure and how to use this code.

Discrepancy #1

In the previous code, while doing calculations for Thermoelastic contribution to Photothermal noise, the code used a weighted average of coefficients of thermal expansion (CTE) of each layer weighted by their thickness. However, in the same code, while doing calculations for thermoelastic contribution to coating thermo-optic noise, the effective CTE of the coating is calculated using Evans et al. Eq. (A1) and Eq. (A2). These two values actually differ by about a factor of 4.

Currently, I have used the same effective CTE for coating (the one from Evans et al)  and hence in new code, prediction of photothermal noise is higher. Every other parameter in the calculations matches between old and new code. But there is a problem with this too. The coating thermoelastic and coating thermorefractive contributions to photothermal noise are no more canceling each other out as was happening before.

So either there is an explanation to previous codes choice of using different effective CTE for coating, or something else is wrong in my code. I need more time to look into this. Suggestions are welcome.

Discrepancy #2

The effective coating CTR in the previous code was 7.9e-5 1/K and in the new code, it is 8.2e-5 1/K. Since this value is calculated after a lot of steps, it might be round off error as initial values are slightly off. I need to check this calculation as well to make sure everything is right. Problem is that it is hard to understand how it is done in the previous code as it used matrices for doing complex value calculations. In new code, I just used ucomplex class and followed the paper's calculations. I need more time to look into this too. Suggestions are welcome.



  2387   Sun Aug 11 23:08:10 2019 ScottADailyProgressTempCtrlAD590 Temp. Sensing Circuit Open to Air vs Insulated and Closed

Because of the previous data comparing the open box vs the closed box was varying unexpectedly, I re-ran the experiment with both sets of data taken on the same day. 

  • The closed box data was taken from 8 am to 1 pm on 8/9/2019
  • The open box data was taken from 1:45 pm to  6:40 pm

Now both sets of data show very similar curves, with the box open data slightly above the closed data in most areas. Maybe the last data was different due to other systematic conditions on that day, but it does seem like now the difference is gone. Both sets follow the original closed box data measurement from before.

Attachment 1: Open_vs_ClosedBox_pt2.zip
Attachment 2: AD590_Open_Vs_Closed_pt2.pdf
AD590_Open_Vs_Closed_pt2.pdf AD590_Open_Vs_Closed_pt2.pdf
  2386   Sun Aug 11 22:32:18 2019 ScottADailyProgressRFAMChange in EOM Driver Transfer Function with Different Input Powers

I set up the transfer function for three scenarios using a -5 dBm, 5 dBm, and 15 dBm signal for each:

  • The new EOM (SN:06) tuned for the bias tee with the bias tee and dummy EOM.
  • The old EOM driver (SN:01) which was on the south path with the dummy EOM
  • The old EOM driver with the real EOM. 

In every case, there is a decrease in the magnitude of the transfer function with an increase in signal.

EOM Driver Link: https://dcc.ligo.org/cgi-bin/private/DocDB/ShowDocument?.submit=Identifier&docid=D1200794&version=

List of EOM Drivers in the lab: https://nodus.ligo.caltech.edu:30889/ATFWiki/doku.php?id=main:experiments:psl:electronics

Attachment 1: Transfer_EOM_drivers_mult_input_pow.pdf
Transfer_EOM_drivers_mult_input_pow.pdf Transfer_EOM_drivers_mult_input_pow.pdf Transfer_EOM_drivers_mult_input_pow.pdf
Attachment 2: Diff_Input_power_old_and_new_EOM.zip
  2385   Thu Aug 8 10:54:27 2019 ScottADailyProgressTempCtrlOpen box vs Closed Box Temperature Noise of AD590 circuit and sensors
  • I removed the temperature sensing circuit from the insulated box and opened the smaller metal box it was in. This left the circuit open to the air for the whole duration of the measurement.
  • The original data was taken from 8 am to 1 pm, while the open box data was taken from 3 pm to 8 pm. There was most likely more activity in the room for the open measurement.
  • The closed data is less noisy before about 0.2 Hz, but the open data actually becomes one order of magnitude less noisy by 7 Hz.
Attachment 1: AD590_Open_box_comparison.zip
Attachment 2: AD590_Open_Vs_Closed.pdf
AD590_Open_Vs_Closed.pdf AD590_Open_Vs_Closed.pdf
  2384   Wed Aug 7 17:53:46 2019 anchalDailyProgressFSSInvestigation of North TTFSS Box

Measurement setup and analysis:

  • EOM and Laser PZT were disconnected and only the TTFSS box was being analyzed as a standalone circuit.
  • I used SR 785 to take transfer functions from 1 Hz to 102.4 kHz with 500 points, 1 settle cycle and 5 integration cycle. The template file used is in the code and data link below.
  • I used AG 4395A to take transfer functions from 103 kHz to 903 kHz with 1kHz IF bandwidth and 25 averages for some of the measurements. The template file is included.
  • 1st measurement was taken from Test1 input port at RF Board D0901894 to the OUT2 port on the common path in board D040105.
  • Remaining measurements are taken with Test1 input port terminated with 50 Ohm and input from Test2 port on the common path in board D040105 to various test points as marked on the plots.
  • I followed essentially same measurements on the zero model of the circuit from TTFSSzero package I recently created.
  • I then divided transfer functions to obtain testpoint to testpoint stagewise transfer functions, for both measured data and simulated data and compared the results.
  • In some cases where I felt data above 102.4 kHz is required, I used AG 4395A for that and concatenated the two results. Hence there is a step-change in measured transfer functions at 102.4 kHz in some cases.


  • The first attached file, NorthFSSInvestigationMismatches.pdf has the plots which had a significant difference between measurements and simulations. Other stages are more or less working as expected.
  • Clearly something is off between test point 15 and test point 16. This is the third stage in PZT path where there is a notch and boost switch.
  • The boost is not working at all and our notch might be placed at a different place than simulations. However, simulations use 35 pF value for C46 on board D040105 which is just arbitrary and we don't really know the real tuned value.
  • From test point 16 to 18 too, there is significant difference after 10 kHz, but I'm not sure if this is an artifact of my measurement and simulation technique or not.
  • Finally, on the EOM Path, everything is good upto testpoint 12. It is right before the HV amplifier that there is a significant difference in what simulation suggests and what is actually happening.
  • I should maybe redo this last measurement with low excitation voltage to ensure nothing is railing.
  • Also, the appearance of a notch at 4 Hz is just very weird in this last simulation. It was not predicted by an earlier similar analysis using pyliso.

Calling out for help

Help Wanted

Code and Data

Edit Fri Aug 9 09:50:24 2019 anchal:

The last measurement was taken in the wrong way and hence it was mismatched. The ground pin was connected to the wrong position. I retook data today and seems like EOM path and is all healthy :). But the other mismatches still need to be investigated. The Code and Data are updated through git.

Edit Thu Jan 23 19:33:55 2020 anchal:

The mismatched were there because the stage saturates when boost is on. Need to take that measurement with appropriate offset applied through AO Offset. This is done in this CTN:2518.

Attachment 2: NorthFSSInvestigationMismatches.pdf
NorthFSSInvestigationMismatches.pdf NorthFSSInvestigationMismatches.pdf NorthFSSInvestigationMismatches.pdf
Attachment 3: NorthFSSInvestigation.pdf
NorthFSSInvestigation.pdf NorthFSSInvestigation.pdf NorthFSSInvestigation.pdf NorthFSSInvestigation.pdf NorthFSSInvestigation.pdf NorthFSSInvestigation.pdf NorthFSSInvestigation.pdf NorthFSSInvestigation.pdf NorthFSSInvestigation.pdf NorthFSSInvestigation.pdf NorthFSSInvestigation.pdf NorthFSSInvestigation.pdf NorthFSSInvestigation.pdf
  2383   Wed Aug 7 14:42:58 2019 Nathan HollandMiscElectronics EquipmentBorrowed SRS DB64.

I have borrowed the SRS DB64. It is in QIL.

  2382   Fri Aug 2 10:23:48 2019 ScottADailyProgressRFAMDifference in Transfer function of Bias-tee plus EOM with Different input power

I replaced the EOM driver that was attached to the south EOM with the Bias Tee and the driver which I tuned with the Bias Tee and Dummy EOM. After some minor tuning, I was able to move the transfer functions peak back over 37 MHz. I took the spectrum of the RF monitoring port while a 16.5 dBm signal was present on the RF in port from OCXO after placing an 8 dBm attenuator. We noticed that the max peak at 37 MHz was around -3.49 dBm which corresponds to a signal with an amplitude of 6.4122 V by converting to voltage, multiplying by sqrt(2) and dividing by the value of the simulated TF at 37MHz which is about 0.0328. This is less than the expected 20 V amplitude from a 16.5 dBm signal with the transfer function from the previous post (https://nodus.ligo.caltech.edu:8081/CTN/2376). This motivated us to take transfer functions at different input powers to see if it does change. We can see that it does a fair amount for large input signals. I can offer no explanation at this time.

Attachment 1: Transfer_EOM_driver_W_Bias_and_REAL_EOM_37.pdf
Transfer_EOM_driver_W_Bias_and_REAL_EOM_37.pdf Transfer_EOM_driver_W_Bias_and_REAL_EOM_37.pdf
Attachment 2: REAL_EOM_TF_Spectrums_and_data.zip
Attachment 3: Bias-Tee-and-Driver.jpg
  2381   Wed Jul 31 17:53:20 2019 ranaDailyProgressRFAMTime series for AC Port of RAM Measurement

switching supply


read the book by Ott

to find out why

  2380   Tue Jul 30 15:56:15 2019 ScottADailyProgressRFAMTime series for AC Port of RAM Measurement

This is the time series from the AC port of the 1811 new focus photodiode which is set up for RAM measurement. A strange waveform is present, it has a peak to peak voltage of around 2.9 V and a frequency of around 60 kHz.

Attachment 1: RAM_Measurement_Graphing_timeseries.zip
Attachment 2: RAM_Timeseries.pdf
  2379   Mon Jul 29 18:01:12 2019 ScottA and anchalDailyProgressRFAMRFAM Set-up and Measurement

Our previous plan turned out to be ineffective due to the mirror not transmitting all of the P polarization, but only a fraction. We now used the PBS within the faraday isolator (FI) as a pickoff, and rotate the HW plate at the input to control the power reflected. When the HW plate is maximized for transmission through the FI, I measured 13.4 mW into the FI, 12.00 mW at the output and 1.18 mW picked off. I then used a mirror to steer the picked-off beam onto the 1811 new focus photodetector. Using the DC coupled output I maximized the output on an o-scope, which was at the level of 400 mV. The AC output was then connected to the HP4395A analyzer from which the data was taken. 

  • In the first graph, we see a peak at 14.75 MHz from a previous EOM, as well as its second harmonic at 29.5 MHz. The third peak is the RAM due to the 37 MHz EOM, which we wish to suppress.
  • In the second graph, we see the 37 MHz peak as well as two smaller peaks around it, but we do not know what is causing these peaks.
  • In the third graph we see the same as before but zoomed in more and with smaller bandwidth.

Edit: I have now put a focusing mirror with a focal length of 5cm before the PD, the o-scope now reads 3.41 V.  A pdf of the layout with these updates can be found at https://nodus.ligo.caltech.edu:30889/ATFWiki/lib/exe/fetch.php?media=main:experiments:psl:ctn_optical_layout.pdf


Attachment 1: RAM_Measurement_data.zip
Attachment 2: RAM_37MHz_7_29_2019.pdf
RAM_37MHz_7_29_2019.pdf RAM_37MHz_7_29_2019.pdf RAM_37MHz_7_29_2019.pdf
  2378   Mon Jul 29 13:55:15 2019 anchalDailyProgressFSSNoise analysis of TTFSS


  • I first switched the input to TTFSS from PD to Test1. There is a switch which lets us do this. This bypasses the onboard mixer.
  • I set the COM gain in both boxes to 10 dB and FAST gain to 14 dB.
  • I shorted this Test1 port and measured the noise spectrum at the output ports that go to Laser PZT and EOM.
  • The spectrum was taken by WideSpecMeasSR.py, a new modified version fo SRmeasure script. This script starts taking spectrum from startFreq and spanFreq and continues doing measurement by shifting startFreq up and doubling the span to get a consistent number of points with good linewidth in each decade of frequency.
  • Next, I measured transfer functions from the Test1 port to these output ports using various attenuators to make sure the measurement doesn't saturate.
  • The measurement parameter files are attached and the attenuator configuration is mentioned in the notebook.

Analysis and Conclusions:

  • I divided the measured output noise with respective transfer functions to get the input-referred noise.
  • I did this so that we can compare the noises on the same scale.
  • It seems like the South Path's TTFSS is noisier on both actuation channels. Note that the gains were set same, so there is actually a difference in gain values and noise.
  • Input referred noise shows that North PZT path is the noisiest followed by South PZT path. I'll go noise hunting on these paths first then.
  • Also, we see clear 60, 180, 300, 420, 540, 780,900 and 1020 Hz (660 Hz is missing) peaks in the input-referred noise of North PZT output path.
  • Additionally, there are comparatively smaller peaks of 120 Hz and 240 Hz also present in North PZT output path.
  • On South path though, the peaks are lower and are present at 60, 180, 300, 780 and 900 Hz only.

Code and Data

Attachment 1: FSSNoiseAndTFAnalysis.pdf
FSSNoiseAndTFAnalysis.pdf FSSNoiseAndTFAnalysis.pdf FSSNoiseAndTFAnalysis.pdf
Attachment 2: FSSNoiseAndTFAnalysis.zip
  2377   Thu Jul 25 20:43:12 2019 ScottA and anchalDailyProgressRFAMSetting up pick-off for RFAM measurement

The plan is to put a half-wave plate before the mirrors which steer the beam into the faraday isolator before the South cavity. The mirror which will act as a pickoff is only reflective to S polarization at 45 degrees, so with the HW plate, we can get enough light in transmission to measure RFAM with a photodetector.

  • First we found a working new focus 1811 photodetector.
  • Then I used two irises to mark the beam alignment with as much precision as possible.
  • We had to rotate the pick-off mirror's mount by 90 degrees to make clearance for the transmitted beam.
  • We re-steered the beam to pass back through both irises, regaining as close to the original alignment as possible.
  • We then used a power meter to maximize the power at the output of the faraday, first using the rotated mirrors dials, then fine-tuning with the other two steering mirrors.
  • After fine-tuning, there was 13.5 mW going into the isolator, and 11.88 mW at the output.
  2376   Wed Jul 24 16:14:42 2019 ScottADailyProgressRFAMTransfer Function of EOM Driver plus Bias Tee from RF Input to EOM
  • I have calculated the expected transfer function from the RF input of the EOM Driver (DCC: https://dcc.ligo.org/D1200794-v3) to the direct short connection to the EOM (Graph 3).
  • To do this I took the transfer function calculated in the previous post (Graph 2) which was from the RF input to the RF monitoring port and divided it by a calculated transfer function from the EOM Short to the RF Monitoring port (Graph 1).
  • The gain at 37 MHz seen by the EOM is around 10, in order to get a modulation depth of 0.3 we need a signal with 40 Vpp. This means we need a 4 Vpp input signal to achieve the desired modulation depth. As mentioned in https://nodus.ligo.caltech.edu:8081/CTN/2242 "the frequency source is a preamplified OCXO crystal sources (see PSL:2235, for info and links) that outputs about ... +26 dBm out of the EOM driver SMA."
  • +26 dBm is a voltage of 4.4 volts which is at the required level for the 0.3 modulation depth, so it seems this circuit will perform what we want.

Summary of Results:

  • The transfer function from the RF Input of the EOM Driver to the EOM has a resonant peak around 37 MHz with a max gain of around 10.
  • This gain will be enough to get a 40 Vpp signal which equates to a 0.3 modulation depth. 

Edit Thu Aug 1 16:11:12 2019 ScottA :

4 Vpp is actually 16 dBm, so we need to feed 16 dBm power from OCXO to the EOM. So we'll need ~10dB attenuation but everythign will still work.

Attachment 1: Graphing_TF_BiasTee_7_24_2019_atEOM.zip
Attachment 2: Transfer_at_EOM.pdf
Transfer_at_EOM.pdf Transfer_at_EOM.pdf Transfer_at_EOM.pdf
  2375   Tue Jul 23 18:59:40 2019 ScottADailyProgressRFAMTransfer Function of EOM driver with Bias Tee and Dummy EOM

Here is the result of taking the transfer function of the EOM Driver (DCC: D1200794-v3) with the bias tee and a dummy EOM from the RF input to the RF monitor output. A Black 143-10J12L tunable inductor (438 nH - 788 nH) was used to bring the peak over 37 MHz. The data was taken using an Agilent 4395A Analyzer which was controlled using the .py .yml and .ini files provided in the zip.

Attachment 1: Graphing_TF_BiasTee_7_23_2019.zip
Attachment 2: Transfer_EOM_driver_W_Bias_and_Dummy_EOM_37.pdf
  2374   Tue Jul 23 11:24:08 2019 anchalDailyProgressTempCtrlDifferential Temp. Experiment Data Analysis

I just took Scott's notebook and added code to integrate the input-referred temperature noise power spectral densities over different bandwidths of frequencies to see what noise we should expect with 16 Hz sampling and what does the measured data suggests. The expected total noise sum is below 1mK for bandwidth up to 10 Hz and the measured total noise is below 0.3 mK up to 10Hz bandwidth. In my opinion, this circuit has passed the test if our experiment and the analysis is correct subject to Rana's opinion.

Attachment 1: AD590_Differential_Noise_Integrated.pdf
Attachment 2: AD590_Differential_Noise_Integrated.zip
  2373   Tue Jul 23 10:16:35 2019 ScottADailyProgressTempCtrlDifferential Temp. Experiment Data Analysis


The data was taken from a 5-hour window from 8 am to 1 pm yielding 288000 data points per channel. First I take the channels and subtract them in three different ways, 0-1 1-3 and 3-0 to yield all possible unique differences. Then I take the PSD of the data and take the square root. The output is given in the first graph showing very similar trends for all three differences.

Then I assumed all channels have the same transfer function but different offsets, so each PSD of the difference channels has the sum of the noise of both devices in quadrature. By adding difference PSDs with the channel we want and subtracting the other we get the noise of a single device squared. Taking the square root we can pull out the individual noise spectral density for each channel. It is interesting to note here some values from the PSD difference operation resulted in a negative value which was lost when square rooted.

The third graph shows the ASD of the voltage noise coming from the 15V power supply which powers the IC's and AD590s on the temperature board. There is a spike at 4 Hz in the plus and minus channel, which is a mystery as of now. I also shorted the input of the ADC to ground on channel two in order to measure the input-referred noise of the ADC itself. I used the ADC noise and the noise from the plus and minus rail to model this power noise contribution coming in through the AD590, OPA827, and OP27 of the circuit and added it to the noise sum at the output modeled in zero. To determine how much the noise propagates through the circuit, I multiplied each noise source to an IC first by its power supply rejection ratio and then by the transfer function to the output of the circuit. 

The fourth graph shows this power noise added to the noise sum, which includes real data taken to estimate the power supply noise for each source as well as the simulated noise values from zero. The data plotted as a scatter plot is the same as in graph two and provides a real-world measurement of the overall noise measured at the ADC from the circuit as a whole. It seems the noise level measured is well below the expected noise, which is dominated by the OPA827 transimpedance amplifier stage. 

To get input-referred noise I divided everything by the transfer function of the circuit yielding units of A/root(Hz), and then I divided by the 1u K/A TF of the AD590 to yield K/root(Hz) in the final graph.



  • Somehow the PSD difference measurement gave negative values
  • There is a spurious 4 Hz noise source in the power supply
  • Our measured noise was below the simulated noise for all frequencies between a millihertz and ten hertz.
Attachment 1: AD590_Differential_Noise.pdf
AD590_Differential_Noise.pdf AD590_Differential_Noise.pdf AD590_Differential_Noise.pdf AD590_Differential_Noise.pdf AD590_Differential_Noise.pdf AD590_Differential_Noise.pdf
Attachment 2: AD590_Differential_Noise.zip
  2372   Mon Jul 22 22:01:28 2019 ScottADailyProgressTempCtrlDifferential Temperature Sensing Experimental Setup

Differential Temperature Sensing Setup:

This experiment consists of a thermally insulated box that contains a large piece of copper and 3 AD590 temperature sensors thermally pasted together using Thermalloy Thermal Joint Compound 249. The AD590s are connected to a temperature sensing circuit (DCC: https://dcc.ligo.org/cgi-bin/private/DocDB/ShowDocument?.submit=Identifier&docid=D1800304&version=) within a metal box which is also contained in a larger insulated container. This circuit is powered by an external 15V supply (DCC: https://dcc.ligo.org/cgi-bin/private/DocDB/ShowDocument?.submit=Identifier&docid=D1000217&version=). The output of the temperature circuit is connected to an ADC General Standards 16AI64SSA. I use 6 channels of the ADC, Ch. 0 1 and 3 records the AD590 temperature data, Ch.2 I short to ground and record the referred input voltage noise of the ADC, Ch.4 is the positive pin of the 15-volt power supply while Ch.5 is the negative pin. The ADC has a maximum readout of plus or minus 10V so to bring the 15V supply into the measuring range I used a 1.1k to 1.1k voltage divider on both pins to reduce the voltage reading by half.


I want to take the difference of each channel with the other channels to pull out the noise for each sensor. As well as get the noise from the 15V power supply and the ADC using channels 4/5 and 2. Then I will use this data to better estimate the noise budget of the setup as a whole, and to compare the prediction to reality.

Attachment 1: Diff_Temp_Setup_Pics.zip
  2371   Mon Jul 22 20:55:41 2019 ranaNotesComputersWS1 upgraded to Debian 9, still showing some glitches

beware the Debian zealots! All the workstations at the 40m are SL7.

If you really can only use Debian, you could just clone the new workstation that Jon setup in QIL.


  2370   Mon Jul 22 19:31:20 2019 anchalDailyProgressFSSFF Gain channels converted to physical units

I found today that all this while, the channel values shown on our FSS_Interface medm screen and used by rmsMonitor.py for gain cycling were somewhat arbitrary numbers. It took me a while to figure out that the channel voltage is 10 times what reaches the AD602 on TTFSS board. Maybe awade knew about this but there was no documentation on this. Anyways it seemed bogus to increase the gain of FSS loops in arbitrary units. I added four more channels with _DB suffix which carry the physical units (in dB) of the Common and Fast gains in FSS loops. The older gain channels are calc channels now which calculate the channel voltage required from dB value. Everything has been tested to work correctly with the changes. My next steps are to step by step check all transfer functions in the FSS loop and find the culprit.

  2369   Mon Jul 22 19:11:54 2019 anchalNotesComputersWS1 upgraded to Debian 9, still showing some glitches

Last week, the default GNOME Classic desktop environment of WS1 started giving hiccups. I was unable to see any medm screens. I restarted the computer assuming that will solve it but then I was unable to login from the graphical user interface. That was weird as I was able to ssh into the computer and do whatever I want. So it seemed that some graphics engine was unable to run. On login screen, after typing in the correct password, a black screen would appear and it would go back to the login screen. This is mentioned in various forums on the internet as "login loop". Taking advice and directions from Jamie, I tried to troubleshoot this to the best of my ability but we both were unsure in the end what was the problem. Our best guess is that installation of LSCsof package upgraded some graphics library beyond the capability of the present system. I tried all different desktop environments and I was able to login only through GNOME on Wayland (supposedly bleeding edge for debian 8). Another mystery is that I found medm uninstalled from the computer. I installed it back with:
sudo apt-get install medm

And I found that GNOME on Wayland is still usable option. After some more discussion with Jamie, I decided to upgrade the OS to next stable version debian 9. I followed the instructions on:

to dot and have successfully upgraded to debian 9. However, still only "GNOME on Wayland" is the only desktop environment through which we can login without facing a login loop

On another note, I found today that clicking the scroll button over a medm channel screen (which ideally displays the channel name) freezes the computer. The mouse pointer disappears and the computer does not respond to anything. Again, I can ssh into the computer and do anything. This problem goes away on restart.

So bottom line is, the overall system environment of ws1 is becoming messy and old and ideally we should do a clean install of a new os (something like Jon did in QIL). But I was heavily discouraged for doing so as it seemed it will take a lot of time to setup a new workstation.

Present Status

Due to recent cleanup and upgrades in our computer environment in lab, this workstation ws1 is a mere looking window in the experiment. There are no active scripts that it runs (except a precavity beatnote reading) and the experiment can be carried out without it present as well. However, it is nice to keep a computer loaded with EPICS, nds2, python environments and a screen to carry out day-t-day functioning of the lab.

  2368   Mon Jul 22 16:17:08 2019 ScottADailyProgressTempCtrlTIA Op-amp for AD590 Temp Circuit


Here I have used zero to model the effect of replacing OPA827 with other op-amps for the transimpedance amplifier stage of the AD590 temperature sensing circuit. The graph shows the sum of the noise at the output of the circuit right before the ADC.

The table shows the typical input offset voltage drift for each component. I have ordered the table from the lowest noise to the highest at 1 millihertz. 

The library of op-amps I used is from the develop branch of zero, which should be available on master soon.



Candidates (* used now)
(Output Voltage Noise Ordered low to high from 1e-3) 
Typ Drift [uV/°C]
1. AD811_G10


2. AD8671  .3
3. CS3001 .05
4. LT1128   .25
5. LT1037 .6
6. LT1124  .4
7. OP270  1
8. TLE2227  .4
9. AD797 .2
10. AD829  .3
11. AD8675 .2
12. *OPA827 .1
13. OP284     .2



From what I can see the two best candidates to replace OPA827 would be AD8671 or LT1128, as they have an all-around lower noise density than OPA827. OPA827 does have the smallest temperature drift of all the op-amps though, so it depends on what we care more about.

Attachment 1: AD590_Diff_OpAmps_Noise_Budget.pdf
Attachment 2: Zero_AD590_Noise_Budget_Different_Op_Amps.zip
Attachment 3: AD590_Diff_OpAmps_Noise_Budget_v2.pdf
AD590_Diff_OpAmps_Noise_Budget_v2.pdf AD590_Diff_OpAmps_Noise_Budget_v2.pdf
  2367   Tue Jul 16 11:19:32 2019 ScottA and AnnaRHowToOtherHow to Twist Wire

Quick tutorial for twisting wire using a drill

  • The first step is to cut two or more equal length pieces of wire you want to twist. Keep in mind the act of twisting will shorten the length of the final product, so cut more than you will need. My two pieces to twist are shown in image 1.
  • The next step is to place one end on a fixed surface, here I used a clamp. The other end should be placed inside the chuck of the drill. Make sure at the drill end both wires are secured, the second image shows this setup.
  • Then you will hold the wire taut, and use the drill to twist the wire. I recommend going slow at first then speeding up after a few turns. A video of this process is at https://youtu.be/GbrDBidJxN4
  •  While keeping the wire taut, get a good grip on the wire before releasing it from the drill chuck, like in the third picture. This is to make sure the wire doesn't completely unwind itself after being released.
  • Now you want to let the wire turn in your hand, controlling the rate of rotation. Slowly remove any excess torque in the wires until they no longer spin on their own. If the wires are not kept taut before this step, it will coil up with itself and most likely be ruined. After the wire stops spinning on its own, you should have stable twisted wires good for use.

And that is the quick guide on how to twist wires with a drill.

Attachment 1: 20190716_105513.jpg
Attachment 2: 20190716_105613.jpg
Attachment 3: 20190716_105744.jpg
  2366   Sat Jul 13 22:19:35 2019 ScottADailyProgressTempCtrlAD590 Experimental Sketch and Zero Noise Budget

AD590 Zero Noise Budget Analysis

Attachment 1: AD590_Temperature_Sensing_Sketch.pdf
Attachment 2: Zero_AD590_Noise_Budget.zip
Attachment 3: AD590_Noise_Budget.pdf
AD590_Noise_Budget.pdf AD590_Noise_Budget.pdf AD590_Noise_Budget.pdf AD590_Noise_Budget.pdf AD590_Noise_Budget.pdf AD590_Noise_Budget.pdf
  2365   Wed Jul 10 18:01:24 2019 ranaDailyProgressTempCtrlAD590 Board

show us what you got for the LISO or ZERO noise budget of this circuit before testing; also sketch of the experiment setup

  2364   Wed Jul 10 12:46:07 2019 ScottADailyProgressRFAMAddition of 1k ohm Resistor to input of DC port on Bias Tee

My goal was to investigate the effect of placing a 1k ohm resistor as the input of the DC port of the Bias Tee. The expectation was it would decrease the bandwidth around DC, and this is supported by LTspice simulation. According to simulation, at around 300 Hz there becomes a few dB difference between having the resistor and not having it. From the paper 'W. Zhang, M. J. Martin, C. Benko, J. L. Hall, J. Ye, C. Hagemann, T. Legero, U. Sterr, F. Riehle, G. D. Cole, and M. Aspelmeyer, "Reduction of residual amplitude modulation to 1 × 10-6 for frequency modulation and laser stabilization," Opt. Lett. 39, 1980-1983 (2014)'(https://www.osapublishing.org/ol/abstract.cfm?URI=ol-39-7-1980) in Figure 2B we see the frequency noise without servos active. The noise falls off after around 50 Hz, which indicates the change of bandwidth to 300 Hz should not be an issue. I also showed the effect for 500 ohms to see how the transfer function changes intermediately between 0 and 1k ohm resistances.

Attachment 1: Addition_of_1kohm.pdf
Attachment 2: zip-LTspice-and-jupyternotebook-1k_resistor.zip
  2363   Wed Jul 10 12:37:38 2019 ScottADailyProgressTempCtrlAD590 Board

I reflow soldered 3 channels to an AD590 temperature board for a differential measurement test. I expect to run the experiment soon to see the noise of the sensor. 

Attachment 1: Reflow_Temp_board.jpeg
  2362   Thu Jul 4 16:46:01 2019 ScottADailyProgressRFAMReflow Soldering

I have soldered one full EOM driver with the tunable inductor mentioned before, as well as another driver without connectors or the inductor. Here I will explain the process of reflow soldering in a few short steps.

Make sure that all the components can withstand the melting point temperature of the solder paste.

  1. The first consideration when reflow soldering is the amount of solder paste you should use. The solder paste should cover the pad and be uniform in height, like on C8 in the first photo, you do not need a heaping amount.
  2. After placing the solder paste, put the desired component on top where it wants to sit and push down on the components to be flush with the board. The second photo is what the board will look like when all components are placed in their position. U1 in the bottom center of this photo is an example of too much solder paste.
  3. After all your components are placed in the correct spot with solder paste underneath, put the whole board on a hot plate (cover the hot plate with aluminum foil or a sheet of metal) and slowly turn up the heat to the max over the course of about a minute (try to follow temperature curve recommended for solder paste). Make sure to put the fan behind to catch the solder smoke. This is shown in picture 3.
  4. Wait for a noticeable transformation of the solder paste into a more metallic silver color, then leave the board on for at least another minute to let the flux fully evaporate and for the solder to solidify. (Video:https://youtu.be/5cxSVJMq4jg)
  5. After, use flux remover and applicators to clean up the yellow tinge around each component. The flux remover will evaporate very quickly so be ready and use multiple times. The fourth picture shows the can and applicator.
  6. Check all the connections and look out for any shorts that might have happened.
  7. You have now reflow soldered!

The last photo shows both EOM driver circuits I used reflow soldering to make.

P.S. Questions? Ask Anchal.

Attachment 1: 20190704_145145.jpg
Attachment 2: 20190704_150723.jpg
Attachment 3: 20190704_150904.jpg
Attachment 4: 20190704_152206.jpg
Attachment 5: 20190704_161249.jpg
  2361   Wed Jul 3 11:33:47 2019 ScottADailyProgressRFAMTuning Inductor value for EOM Driver

 LTspice Results

  • Using the values for the bias tee found before, I investigated the possibility of tweaking a tuning inductor in the EOM Driver to retrieve the same resonance peak from before the bias tee introduction.
  • According to LTspice, a value of 926.5 nH is sufficient to reach a resonance peak at 37MHz.
  • This is within the range of the coil-craft tunable inductor 143-16J12L from https://www.coilcraft.com/uni10.cfm 
  • According to LTspice, a value of 978.7 nH is sufficient to reach a resonance peak at 36MHz, which is in range with the same inductor as above.
Attachment 1: Graphing_TF_BiasTee_and_Inductor_36_37MHz.zip
Attachment 2: Transfer_W_Bias_and_Inductor36and37.pdf
  2360   Tue Jul 2 17:22:16 2019 ScottADailyProgressRFAMBias Tee Data Analysis


  • First I calculated the transfer function for the ideal condition of the bias tee having one capacitor and one inductor with 50-ohm impedances on each output.
  • Using this function I used both scipy.optimize.curve_fit  and scipy.optimize.least_squares to try and pull out approximate values for C and L, as well as their parasitic resistances.
  • The data was taken from S31 and S32, where the S31 fit should tell us more about the capacitors value, while the S32 fit tells more about the inductor value. This is more relevant for the curve_fit function as it acts on the S31 data and S32 data separately. The least_squares used a cost function that attempts to fit both curves simultaneously, so it should give us good information on both components.
  • While curve_fit outputs the covariance matrix, the least_squares does not.  For least_squares I used its Jacobian to estimate the Hessian and from there calculated the covariance matrix.
  • In order to calculate the strength of randomness in residuals, I used the procedure defined on slides 26-29 from http://www2.compute.dtu.dk/~pcha/LSDF/LinDataFit.pdf. These were implemented as functions within the code "RandomSignTest" and "AutoCorrelationTest". 


  • Our best value for C is from the S31 fit and LSQ fits, which both fall within the range of 211nF. 
  • The value for L taken from the LSQ fit, which should be better correlated than the S31 fit and has a smaller error bar than the S32 fit, is around 694 uH.
  • The parasitic resistance of the inductor given by the LSQ fit is around 3 ohms, while S31 fit yields 530 ohms. In this case, because the LSQ fit uses data from both and is more reasonable, we will take the value from the LSQ fit.
  • It is important to note here that the test to determine the strength of randomness in the residuals failed for all fits used. This indicates we may be oversimplifying the electrical schematic of the bias tee.  
  • The values for the parasitic resistance of the capacitor vary wildly and seems to make little difference in the fitting.

Next Step 

I will add the simplified model of the bias tee into the EOM driver Circuit simulation within LTspice. I will include the parasitic resistance of the inductor, but due to the reason mentioned above will not include the parasitic resistance of the capacitor. Then I will see if it is possible to maintain the impedance peak at 37MHz by using the tuning inductor within the circuit.

Attachment 1: Bias_Tee_Fitting_Analysis_to_Single_C_and_L.zip
Attachment 2: Fitting_Analysis.pdf
  2359   Thu Jun 27 17:06:57 2019 ScottADailyProgressRFAMBias Tee S Matrix

In order to better characterize the Bias Tee, I measured the non-diagonal components of it's S matrix using the network analyzer(NA). I did not measure the reflection coefficients due to the inability of the NA to measure this without specialized components, and attempts at solving numerically were unsuccessful. Bias Tee's model number is ZFBT-4R2GW-FT (Link: https://www.minicircuits.com/WebStore/dashboard.html?model=ZFBT-4R2GW-FT%2B).

Measurement Details:

  • My first step was to solder a BNC connection onto the DC Port of the Bias Tee, and attach SMA to BNC connectors on the RF and RF+DC Ports to connect to the NA. 
  • I split the signal out of RF OUT on the NA and plugged one side into R, and the other into the port on the Bias Tee I was interested in inserting a signal into. The port I wanted to measure the signal out of was connected to A through BNC.
  • The port which was not in use was terminated with 50 ohms.
  • Utilizing WideTFMeas.py and its param and config file I acquired the data to be plotted in a jupyter notebook. 
  • I repeated this process 6 times until every port of the Bias Tee had both been injected with and received the signal from RF OUT.


  • I defined the RF port as Port 1, DC as Port 2 and RF+DC as Port 3.
  • I made 4 plots from this data, three showing the data for each port individually and one showing the transfer functions that will apply when using the bias as expected.
  • The first three plots give the signals read from the two alternate ports when the signal is injected into the port mentioned in the title.
  • The last plot shows the coupling between the RF and RF+DC ports as well as between the DC and RF+DC ports, which characterizes the transfer functions we expect to see in practice.


  • It is clear that any signal from the RF to RF+DC port will pass at high frequencies, but will be attenuated near DC.
  • Also, any signal from the DC port to RF+DC will pass at low frequencies but will be attenuated at high frequencies.
  • The DC attenuation in the RF port should be on the order of 10^(-3) at our operating RF frequency of 37 Megahertz, or around -60db.
  • The RF attenuation in the DC port should be around 10^(-2) up to 400Hz, or around -40 dB.
Attachment 1: Bias_Tee_S_Matrix_6_27_2019.pdf
Bias_Tee_S_Matrix_6_27_2019.pdf Bias_Tee_S_Matrix_6_27_2019.pdf Bias_Tee_S_Matrix_6_27_2019.pdf Bias_Tee_S_Matrix_6_27_2019.pdf
Attachment 2: Bias-Tee.jpg
Attachment 3: Bias_Tee_S-matrix_Data_6-27-2019.zip
ELOG V3.1.3-