Differences between revisions 90 and 167 (spanning 77 versions)
Revision 90 as of 2018-08-20 18:45:39
Size: 10181
Comment:
Revision 167 as of 2020-02-06 00:41:08
Size: 6627
Comment:
Deletions are marked like this. Additions are marked like this.
Line 15: Line 15:
 * Coil driver input spectra, [[https://dcc.ligo.org/G1801540|G1801540]].  * Coil driver input spectra, [[https://dcc.ligo.org/G1801540|G1801540]]. ([[attachment:O2actuation.ipynb|Jupyter notebook]])
Line 18: Line 18:
 * PUM coil driver circuit diagram, [[https://dcc.ligo.org/LIGO-D070483|D070483]]
 * aLIGO QUAD controls block diagram, [[https://dcc.ligo.org/LIGO-T1100378/public|T1100378]]
Line 21: Line 22:
The DAC noise model is given in the design inputs above [[https://dcc.ligo.org/LIGO-G1401399|G1401399]]. We calculate the output current of the coil driver using the Liso models given above in the design input [[https://trac.ligo.caltech.edu/aligonoisebudget/browser/aligonoisebudget/trunk/Dev/SusElectronics/LISO/QUAD/PUM|here]]. Since the DAC is the lowest when ACQ is off and LP is on, it is the worst case for our design of the noise monitor. Hence, ACQ on, LP off is the state we use to evaluate our design. Then we calculate how much driving force can be generated from the output current of the coil driver according to the [[https://dcc.ligo.org/LIGO-T1100378/public|block diagram of the PUM coil driver]]. Finally, we calculate how much strain is produced out of the DAC noise using the mechanical transfer function at [[https://dcc.ligo.org/LIGO-T1100595|T1100595]], given in the design input above and estimated to be about 3e-8*(10 Hz/f)^4^ m/N. The arm length is 4000m and, we have 4 optics with 4 coil drivers on each, combined to 16 incoherent noise sources. Thus, we multiply individual coil driver noise with 4. The DAC noise is plotted [[attachment:DAC-noise-strain.pdf]], compared with the aLIGO strain noise. The "10" in DAC-noise-strain-10 means the noise when LP is ON and ACQ is OFF. The aLIGO-strain-requirement curve is the aLIGO noise curve divided by 10. We want the internal noise of our noise monitor to be lower than the DAC noise. The plot is in [[attachment:DAC-noise-strain.pdf]], compared with the aLIGO strain noise (at low frequency [[attachment:DAC-Low-Freq.pdf]]). The aLIGO-strain-requirement curve is the aLIGO noise curve divided by 10.
Line 23: Line 24:
The code used to calculate the DAC noise is in the [[https://git.ligo.org/duo.tao/noisemon|Gitlab]] repository. First we produce the input DAC noise spectrum at the coil driver using the DAC noise model in [[https://dcc.ligo.org/LIGO-G1401399|G1401399]]. The codes are in [[https://git.ligo.org/duo.tao/noisemon/blob/master/scripts/DACNoise.py|DACNoise.py]] of the repository.
{{{
import numpy as np
freqs = np.linspace(0.0625, 1024, 16384)
dacNoise = []
for ii in range(len(freqs)):
 dacNoise.append(300 * np.sqrt((50/freqs[ii])**2 + 1) * 10**-9)
save = [freqs, dacNoise]
np.save('DACNoise.npy', save)
}}}
Once we have the input DAC noise at the coil driver, we apply the transfer function of the coil driver (produced from coil driver LISO model [[https://trac.ligo.caltech.edu/aligonoisebudget/browser/aligonoisebudget/trunk/Dev/SusElectronics/LISO/QUAD/PUM|here]]) to get the output DAC noise of the coil driver, in current, with which we can calculate the force applied to the mirror and then the displacement of the mirror. This process is carried out by the script [[https://git.ligo.org/duo.tao/noisemon/blob/master/scripts/VtoStrain.py|VtoStrain.py]], running
{{{
python VtoStrain.py CoilDriverTransferFunction.npy DACNoise.npy
}}}
where ''CoilDriverTransferFunction.npy'' is the transfer function of the coil driver (we converted the .out file produced by LISO to .npy with script [[https://git.ligo.org/duo.tao/noisemon/blob/master/scripts/OutToNpy.py|OutToNpy.py]]). The essential part of the code is
{{{
current = specs[ii] * trans[ii] # output DAC noise of the coil driver, in current
force = current * 0.0309 # convert current to force
meter = force * 3E-8 * (10/freq)**4 # force to displacement
strain = meter / 4000 # displacement to strain
strain_tot = strain * 4 # combining the 16 (4 mirrors x 4 optics/mirror) incoherent noise sources
}}}
We calculate the strain of the DAC noise with the following steps.
 * Input at the Coil driver: we produce the input DAC noise at the coil driver using the model given in [[https://dcc.ligo.org/LIGO-G1401399|G1401399]].
 * Generating the coil driver transfer function with the LISO model [[https://trac.ligo.caltech.edu/aligonoisebudget/browser/aligonoisebudget/trunk/Dev/SusElectronics/LISO/QUAD/PUM|here]] (we use ACQ off, LP on coil driver state since it is the worst case for DAC noise), we calculate the current noise out of the coil driver caused by the input DAC noise.
 * Then we calculate how much driving force can be generated from the output current of the coil driver according to the [[https://dcc.ligo.org/LIGO-T1100378/public|block diagram of the PUM coil driver]] (0.0309 N/A).
 * Next we calculate how much strain noise is produced by the force noise previously calculated, according to [[https://dcc.ligo.org/LIGO-T1100595|T1100595]]. The rate is estimated to be about 3e-8*(10 Hz/f)^4^ m/N.
 * Finally, we combine the noises of all the coil drivers in the interferometer: four optics with four coil drivers on each, combined to 16 incoherent noise sources. Thus, we multiply individual coil driver noise by 4.

'''DAC noise through the coil driver'''
Since our noise monitor picks up the signal at the output of the coil driver, we need to know how much noise is left after the attenuation of the coil driver. We have previously known the DAC noise input at the coil driver at [[https://dcc.ligo.org/LIGO-G1401399|G1401399]]. We then produce the voltage transfer function using the LISO model [[https://trac.ligo.caltech.edu/aligonoisebudget/browser/aligonoisebudget/trunk/Dev/SusElectronics/LISO/QUAD/PUM|here]] plot [[attachment:CD-transfer.pdf]]) to get the output [[attachment:DAC-noise-CD-in-out.pdf]] (we zoomed in since we are most concerned about DAC noise between 20Hz and 100Hz).
Line 46: Line 35:
A marginal observation has been made comparing the DAC noises of different states of the coil driver. A plot comparing the noises under three different states with the aLIGO noise has been made [[attachment:DAC-noise-CDstates-strain.pdf]]. Similar as above, "00" means both LP and ACQ are turned off; "01" means that LP is OFF and ACQ is ON. We can see that, at 20 Hz, when the acq turns on or lp turns off, DAC noise increases by roughly a factor of 10. If they both happen, DAC noise increases by almost a factor of 100. This comes from the change of the current transfer function with coil driver states. When you turn on the acq, or turn off the lp, you get more current out of the coil driver for the same voltage. Plots of the transfer functions: [[attachment:tf-CDstates.pdf]].
A marginal observation has been made comparing the DAC noises of different states of the coil driver. A plot comparing the noises under three different states with the aLIGO noise has been made [[attachment:DAC-noise-CD-states-strain.pdf]]. The difference is caused by different states of the coil driver has different transfer functions. For example, with the same input voltage, you get more current out of the coil driver when LP is off and ACQ is ON then LP on, ACQ off. Plots of the transfer functions: [[attachment:Current-TF-CD-states.pdf]].
Line 51: Line 39:
 * The noise monitor will pick up differential signal from the output voltage of the coil driver. This is computed using the input data at L1:SUS-ETMY_L2_MASTER_OUT_LL_DQ, given in the design input [[https://dcc.ligo.org/G1801540|G1801540]]. The input and output of the coil driver is plotted as [[attachment:CD-in-out.pdf]].  * The noise monitor will pick up differential signal from the output voltage of the coil driver. This is computed using the input data of channel L1:SUS-ETMY_L2_MASTER_OUT_LL_DQ, given in the design input [[https://dcc.ligo.org/G1801540|G1801540]]. The input and output of the coil driver is plotted as [[attachment:CD-in-out.pdf]].
Line 53: Line 41:
 * We want enough gain in the passband such that the DAC noise (300nV/rtHz) overwhelms the ADC noise (4uV/rtHz). However, we want to allocate the gain reasonably in the circuit to avoid both saturation and too much noise.  * We want enough gain in the passband such that the DAC noise (originally 300nV/rtHz but attenuated by the coil driver, plot [[attachment:DAC-noise-CD-in-out.pdf]]) overwhelms the ADC noise (4uV/rtHz). However, we want to allocate the gain reasonably in the circuit to avoid both saturation and too much noise.
Line 55: Line 43:
 * We calculated the input from the coil driver to be 0.833V/rtHz. Considering that the instrumental amplifier has a gain at least 10 (according to Chris), we must do some filtering before the instrumental amplifier.  * We calculated the input RMS from the coil driver to be 0.83V. We need some filtering before the instrumental amplifier to avoid saturation. 
Line 58: Line 46:
'''Status Quo Summary'''
 * Noise: the current noise level is at least a factor of 4 (@20Hz, more at higher frequencies) lower than the DAC noise.
 * Saturation: the output of the monitor is closest to saturation, with RMS 1.5521V, close to a factor of 10 from 15V.
 * Gain: We have about about a gain of 100 in the passband, amplifying the DAC noise to be about 10 times stronger than the ADC noise.
'''The Design'''
[[attachment:v1-design.fil]][[attachment:v1-transfer-function.pdf]][[attachment:v1-noise.pdf]]
 * Schematics: [[attachment:noisemon.pdf]][[attachment:MonitorBoard.SchDoc]][[attachment:MonitorCircuit.SchDoc]]
 * LISO model: [[https://git.ligo.org/duo.tao/noisemon|Gitlab]]
 * Transfer function [[attachment:transfer-function.pdf]]
 * Gain: we applied a gain of roughly 125. At 100Hz (the worst), the DAC noise is amplified to 5.76 times of the ADC noise. Plot of the amplified DAC noise by our noise monitor and ADC noise: [[attachment:GAIN.pdf]].
 * Electronic noise of the monitor: [[attachment:NOISE.pdf]] (zoom: [[attachment:NOISE-zoom.pdf]]). It is at most 1/16 of the DAC noise throughout the band. The main contributor is the current noise of U5 (the op amp of the second HP filtering stage) [[attachment:noise-components.pdf]].
 * The RMS of the output is 2.45V [[attachment:SATURATION.pdf]].
Line 65: Line 53:
Currently we have the layout that starts from a Sallen-Key high-pass filter before the instrumental amplifier, followed by another four Sallen-Key high pass filters. These high-pass filters cut off at 20 Hz. After that, we have a second-order low-pass Sallen-Key filter cutting off at 100Hz. We spread the gain across the stages: 10 in the opamp, 5 in the high pass filters and 2 in the low pass filters. The Liso model is shown in [[attachment:v1-design.fil]], transfer function [[attachment:v1-transfer-function.pdf]].
Line 67: Line 54:
'''Noises'''
[[attachment:v1-noise.pdf]] The noisemon noise is at least a factor of 4 (@20Hz) lower than the DAC noise. The dominating noise sources are, as is printed out by Liso,
 * From 20 Hz onwards noise by OP:U (HP3OP1) dominates, the voltage noise of the third high pass filter.
 * From 21.75 Hz onwards noise by R(HP1R1N) dominates, the thermal noise of a resistor in the first high pass filter.

'''Saturation'''
[[attachment:nOUT.pdf]]: Output of the noise monitor.

[[attachment:nOUT1P.pdf]]: Output of the first HP filter (before the instrumental amplifier)

[[attachment:nOUT2.pdf]]: Output of the instrumental amplifier

[[attachment:nOUT3.pdf]]: Output of the second HP filter

[[attachment:nOUT4.pdf]]: Output of the third HP filter

[[attachment:nOUT5.pdf]]: Output of the fourth HP filter

[[attachment:nOUTHP.pdf]]: Output of the fifth HP filter (the last one)

[[attachment:nR1B_b.pdf]]: Output of one of the instrumental amplifier opamps

[[attachment:nR2T_l.pdf]]: Output of one of the instrumental amplifier opamps

We use the output voltage from the coil driver as input ([[attachment:CD-in-out.pdf]]), and calculate the output spectrums of each op-amp. The spectrums are plotted above, and the RMS's are calculated as below. The largest RMS we get is at the output of the noise monitor, 1.5521V, with a factor of ~10 from saturation voltage 15V.
|| Net || RMS (V) ||
|| nOUT4-RMS || 0.432315124588 ||
|| nOUT5-RMS || 0.643246121059 ||
|| nOUT2-RMS || 0.240073255873 ||
|| nR1B_b-RMS || 0.0120037037306 ||
|| nOUT3-RMS || 0.297676760906 ||
|| nOUT1P-RMS || 0.0240074110464 ||
|| nOUTHP-RMS || 1.02574217346 ||
|| '''nOUT-RMS''' || '''1.5521''' ||
|| nR2T_l-RMS || 0.0360111135805 ||

'''Gain'''
We designed a gain about 100 in the passband, 10 in the instrumental amplifier, 5 in the high pass stages, and 2 in the low pass stage.
 * From [[attachment:nOUT.pdf]], we can see that in the pass band, the signal is amplified about 100 times.
 * We also calculated how the transfer function would do to the DAC noise in the passband (plot: [[attachment:Amplified-DAC-vs-ADC.pdf]]). We can see that in the passband, the DAC noise is amplified to about 40uV/rtHz, while the ADC noise is about 4uV/rtHz, according to [[https://dcc.ligo.org/LIGO-T070213|T070213]].
=== Prototype ===
Constructed the instrumental amplifier in the EE shop.
 * Transfer function: [[attachment:PROTOTYPE-TF.pdf]]. The measured is almost identical to the LISO calculations.

SUS Noise Monitor

Gitlab

Design goals

  • No saturations as long as the coil driver input signals are at the 99th percentile or below.
  • Provide enough gain (at 20 Hz and above) to boost the DAC noise above ADC noise (by what factor?).
  • Is it possible to measure the coil driver noise? Or alternatively, with what SNR should the DAC noise be measured?

Design inputs

  • DAC noise model: page 6 of G1401399.

  • PUM coil driver transfer function. LISO models are available here.

  • The worst-case dewhitening state for the noise monitor is ACQ off, LP on.
  • ADC noise level, about 4 uV/rtHz. (Reference: page 6 of T070213)

  • Coil driver input spectra, G1801540. (Jupyter notebook)

  • The aLIGO sensitivity curve, T1500293.

  • Quad suspension PUM transfer function: above a few Hz, about 3e-8*(10 Hz/f)4 m/N. (Reference: T1100595)

  • PUM coil driver circuit diagram, D070483

  • aLIGO QUAD controls block diagram, T1100378

DAC noise

The strain of DAC noise The plot is in DAC-noise-strain.pdf, compared with the aLIGO strain noise (at low frequency DAC-Low-Freq.pdf). The aLIGO-strain-requirement curve is the aLIGO noise curve divided by 10.

We calculate the strain of the DAC noise with the following steps.

  • Input at the Coil driver: we produce the input DAC noise at the coil driver using the model given in G1401399.

  • Generating the coil driver transfer function with the LISO model here (we use ACQ off, LP on coil driver state since it is the worst case for DAC noise), we calculate the current noise out of the coil driver caused by the input DAC noise.

  • Then we calculate how much driving force can be generated from the output current of the coil driver according to the block diagram of the PUM coil driver (0.0309 N/A).

  • Next we calculate how much strain noise is produced by the force noise previously calculated, according to T1100595. The rate is estimated to be about 3e-8*(10 Hz/f)4 m/N.

  • Finally, we combine the noises of all the coil drivers in the interferometer: four optics with four coil drivers on each, combined to 16 incoherent noise sources. Thus, we multiply individual coil driver noise by 4.

DAC noise through the coil driver Since our noise monitor picks up the signal at the output of the coil driver, we need to know how much noise is left after the attenuation of the coil driver. We have previously known the DAC noise input at the coil driver at G1401399. We then produce the voltage transfer function using the LISO model here plot CD-transfer.pdf) to get the output DAC-noise-CD-in-out.pdf (we zoomed in since we are most concerned about DAC noise between 20Hz and 100Hz).

DAC noise and different states of the coil driver A marginal observation has been made comparing the DAC noises of different states of the coil driver. A plot comparing the noises under three different states with the aLIGO noise has been made DAC-noise-CD-states-strain.pdf. The difference is caused by different states of the coil driver has different transfer functions. For example, with the same input voltage, you get more current out of the coil driver when LP is off and ACQ is ON then LP on, ACQ off. Plots of the transfer functions: Current-TF-CD-states.pdf.

General Design Ideas

  • The DAC frequencies we need to monitor is 20 - 100 Hz, above 100 Hz the DAC noise is too much attenuated by the mechanical transfer function.
  • The noise monitor will pick up differential signal from the output voltage of the coil driver. This is computed using the input data of channel L1:SUS-ETMY_L2_MASTER_OUT_LL_DQ, given in the design input G1801540. The input and output of the coil driver is plotted as CD-in-out.pdf.

  • We need to avoid saturation. In order to see if the design saturates, we compute the RMS of the output at each opamp and make sure it is far enough from ± 15 V. A plot should be made on the accumulative RMS to infinity.
  • We want enough gain in the passband such that the DAC noise (originally 300nV/rtHz but attenuated by the coil driver, plot DAC-noise-CD-in-out.pdf) overwhelms the ADC noise (4uV/rtHz). However, we want to allocate the gain reasonably in the circuit to avoid both saturation and too much noise.

  • According to CD-in-out.pdf, most of the input signal lies below 20 Hz. Thus, to avoid saturation, we need high-quality high-pass filtering at 20 Hz.

  • We calculated the input RMS from the coil driver to be 0.83V. We need some filtering before the instrumental amplifier to avoid saturation.

Design

Prototype

Constructed the instrumental amplifier in the EE shop.

  • Transfer function: PROTOTYPE-TF.pdf. The measured is almost identical to the LISO calculations.

Electronics/NoiseMonitor (last edited 2020-02-06 00:41:08 by DuotaoATligoDOTorg)