Differences between revisions 90 and 91
Revision 90 as of 2018-08-20 18:45:39
Size: 10181
Comment:
Revision 91 as of 2018-08-20 18:46:16
Size: 10183
Comment:
Deletions are marked like this. Additions are marked like this.
Line 37: Line 37:
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 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

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.

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

DAC noise

The strain of DAC noise The DAC noise model is given in the design inputs above G1401399. We calculate the output current of the coil driver using the Liso models given above in the design input 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 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 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 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 code used to calculate the DAC noise is in the Gitlab repository. First we produce the input DAC noise spectrum at the coil driver using the DAC noise model in G1401399. The codes are in 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 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 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 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

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-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: tf-CDstates.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 at 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 (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.
  • 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 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.

Design

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 v1-design.filv1-transfer-function.pdfv1-noise.pdf

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 v1-design.fil, transfer function v1-transfer-function.pdf.

Noises 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 nOUT.pdf: Output of the noise monitor.

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

nOUT2.pdf: Output of the instrumental amplifier

nOUT3.pdf: Output of the second HP filter

nOUT4.pdf: Output of the third HP filter

nOUT5.pdf: Output of the fourth HP filter

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

nR1B_b.pdf: Output of one of the instrumental amplifier opamps

nR2T_l.pdf: Output of one of the instrumental amplifier opamps

We use the output voltage from the coil driver as input (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 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: 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 T070213.

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