Differences between revisions 43 and 44
Revision 43 as of 2019-11-15 17:05:19
Size: 13945
Comment:
Revision 44 as of 2019-11-15 17:11:19
Size: 13929
Comment:
Deletions are marked like this. Additions are marked like this.
Line 53: Line 53:
 * controls@k1ctr0:/opt/rtcds/userapps/release/vis/k1/guardian$ guardctrl destroy guardian_fake



 * controls@k1ctr0:/opt/rtcds/userapps/release/vis/k1/guardian$ guardmedm guardian_fake

This page is for writing explanations or plans which we are not confident about and may be subject to change. For instance, a possibe course of action to carry out a particular type of measurement or the plan to follow to identify a noise source.It's also for temporary random notes.


This entry is about Type B Guardian

The Guardian manual is here.

controls@k1ctr0:~$ userapps

From herer cd to vis/k1/guardian/

  • For each Type B suspension there is one Guardian node.

  • Each Type B node is a device node that talks directly to hardware.
  • Each node is a daemon. They load system modules (according to the manual).

How to check the vistools functions

  1. controls@k1ctr0:~$ userapps
  2. From herer cd to vis/k1/guardian
  3. ipython
  4. from vistoolstest import *
  5. SR2=Vis('SR2') # This creates an instance of VisObj called SR2.

  6. dir(SR2) # This provides the list of functions in vistools.
  7. help(SR2.witRead) # Help for a particular python function.
  8. SR2.levels() # Provides a list of levels defined in SR2 instance.
  9. SR2.testPvs() # Provides a list of TEST channels.
  10. SR2.testPvs(['TM']) # Names of test channels in the 'TM' level; note the square brackets.
  11. SR2.testPvs(['TM','IP']) # Similar to the previous command.
  12. SR2.witPvs() # Names of witness channels, aka monitor channels.
  13. SR2.witPvs(['IP','IM']) # Similar to the previous command.
  14. SR2.dcctrlPvs() # Names of DC control channels in the tower part.
  15. SR2.dcctrlPvs(['BF']) # Similar to the previous command.
  16. SR2.setPvs() # Names of setpoints channels in the tower.
  17. SR2.olSetPvs() # Names of setpoints channels for the payload.
  18. SR2.olSetPvs(['IM']) # Similar to the command above.

The following lines are to create a guardian from a file. See Kokeyama-san's klog entry 906.

The name of the Guardian file is:

/opt/rtcds/userapps/release/vis/k1/guardian/guardian_fake.py

Creation and start medm Guardianscreen

  • controls@k1ctr0:/opt/rtcds/userapps/release/vis/k1/guardian$ guardctrl create guardian_fake
  • controls@k1ctr0:/opt/rtcds/userapps/release/vis/k1/guardian$ guardctrl medm guardian_fake

After finishing the work it's convenient to destroy the fake Guardian by typing:

  • controls@k1ctr0:/opt/rtcds/userapps/release/vis/k1/guardian$ guardmedm guardian_fake

Highlights:

  • Guardian uses snapshots for each states; see this link for the location of the files.

  • The snapshot related variables are defined in section "# Tool for taking safe snapshot" from line 86 to 103 of TYPEB.py
  • Time constants for ramps are defined in class timeConsts() in lines from 47 to 56; additionally, typeBtime=timeConsts() and a ramp dictionary are defined from line 67 to 75.
  • Edges: defines paths between states.
  • beginControlSequence(stateObj,level): changes the configuration of the filter banks in ordert to reach each state. It calls enableControl(level):

Questions:

  • Where is the visObj created in the nodes for each suspension?
  • Where is the 'TOWER' state defined?
  • What are the witness channels? See witRead vistools function.
  • How does Guardian know what are the SET blocks? See setRampWrite vistools function.
  • How does Guardian know what are the DCCTRL blocks? See dcctrlPressButton vistools function.


This entry is about IP LVDT correction with the seimometer signal

ther people have been working in the correction of the IL LVDT using the seismometer signal

Concept

Aim

In order to properly damp the motion of the IP we would like to estimate the motion of the IP table w.r.t. an inertial reference frame. However, we currently don't have an appropriate inertial sensor for this task. The aim of sensor correction is to use the readout of a seismometer on the ground in order to remove the contribution of the ground motion from the IP LVDT readout, which provides the relative displacement of the IP table with respecto to the ground.

Method

Sensor correction requires an estimate of the ground motion in order to remove it from the IP LVDT signal. In reality, what is required is an estimate of the motion of the platform which supports IP at the top of the frame. An infinitely rigid frame the transfer function will be one.

Notes about the seismometer:

  • Its signals are proportional to the velocity. Therefore, it requires an integrator.
  • The signals have an offset, which apparently is not compatible with the integrator.
  • In End X suspension the DC offset was removed with a 4th order Butterworth high-pass filter with a XXXXX frequency of 0.5 mHz. In such suspension the filter is called "butt".

  • The seismometers we use are good above 40 mHz. Miyo-kun placed two seismometers of the same kind next to each other and there was no coherence below 40 mHz.

Notes about the filters


How to find whaty are DQ channels available

controls@k1ctr3|20190828> ssh k1sum0

controls@k1sum0:~$ conda activate ligo-summary-3.7

(ligo-summary-3.7) controls@k1sum0:~$ FrChannels /frame0/science/12510/K-K1_R-1251005728-32.gwf | grep DQ | more


SR2 GAS filter control

Date: 28-08-2019

Author: Fabian

Context: There's high coherence of the GAS LVDT with the vertical ground motion.

Directory: /kagra/Dropbox/Subsystems/VIS/TypeBData/SR2/Noise/Measurements/20190828/

File: SR2_ALIGNED_TM_OPLEV_ASD_190828.xml

The F0 transfer function measured on the 27th of July were not successful, therefore, I measured again for the sake of health. It tuned to be alright.

Resonant frequencies of the GAS filter transfer functions are:

  • F0:

Oplev control in SR3

Date: 19-08-2019

Author: Fabian

Context: On Friday Enomoto-kun implemented new filters for the SR3 optic local control. See klog entry 10014. The aim is to control lower frequency motion. What frequency?

  • The change applies to yaw and pitch.
  • What did we have before?
    • We have two TFs for the suspension: susmodel and susmodel2. The one called susmodel2 is more detailed.

    • The TF shows two resonances at 1 Hz and 1.379 Hz.

    • The damping is achived with two fiters:
      • gain_: simple overall gain of 50.

      • damp_: one zero at the origin and three poles at 10 Hz. This filter provides velocity damping at the resonances.

    • Unity gain frequency band: from 0.88 Hz to 1.55 Hz.

  • Enomoto-kun implemented two filters:
    • He used susmodel2.

    • The damping is achived with two filters:
      • HBW (high bandwidth) replaces damp_. This filter has an effect at higher frequencies.

      • LFboost has an effect at lower frequencies.

    • The filter HBW has a zero at 0.3 Hz, two poles at 30 Hz and an elliptic low pass filter. The elliptic type was selected because of its phase properties at low frequencies.

    • What are the parameters of the elliptic filter?
      • 1st frequency:
      • Passband ripple:
      • Order:
      • 2nd frequency:
      • Attenuation:
    • The filter LFboost has a pole at the origin and a zero 0.5 Hz. At high frequencies has a gain of about 6 dB, but it should be 0 dB. How to fix this?
    • The unity gain frequency band goes from DC to 4.3 Hz.

  • What I changed: I changed the gain of the LFboost; I multiplied by 0.5 (-6 dB).
  • I found the real-time models at /opt/rtcds/userapps/trunk/vis/k1/models/.

Noise hunting in SR3 optics' residual motion

Date: 05-08-2019.

Author: Fabian.

Context: entry from 03-08-2019 and klog entries 9702 and 9755.

Following the plan for noise source identification I measured the coherence between the following degrees of freedom:

  • TM-L, TM-P ⇔IM-L, IM-P.
  • TM-L, TM-P ⇔ IP-L.
  • IM-L, IM-P ⇔ IP-L.

The highlights for the ALIGNED state are

  • Directory: /kagra/Dropbox/Subsystems/VIS/TypeBData/SR3/Noise/Measurements/20190805/
  • File: SR3_ALIGNED_TM_OPLEV_ASD.xml
  • The seismic environment seems noisier today. See klog entry 9702 for reference. See SR3_ALIGNED_TM_displacement.png. The integrated RMS values are

    • TM longitudinal: 0.55 µm,

    • TM longitudinal speed: 0.62 µm/s,

    • TM pitch: 0.21 µrad.

    • TM yaw: 0.28 µrad.

    • Additionally there is a large peak in TM-L, TM-P and TM-Y at 0.158 Hz.

  • There is high coherence between the following degrees of freedom and frequency bands:
  • The conclusions of these measurements are:
    • The motion of the IP in the longitudinal direction induces motion in the optic in pitch and longitudinal in the frequency band from 0.135 Hz to 0.4 Hz. This should be fixed at the IP.
    • The motion of the IM in the longitudinal direction induces motion in the optic pitch and length in the frequency band from 0.3 Hz to 0.8 Hz. This should be fixed with L2P and L2L control loop.
    • The motion of the IM in pitch introduces motion in the optic in pitch and logitudinal in the frequency band from 0.135 Hz to 1 Hz. The motion in the band from 0.135 to 0.4 Hz is likely ground motion coming from the IP, however, the motion from 0.4 Hz to 1 Hz should be fixed with P2L and P2P filters.
    • Motion in optic yaw still has to be investigated. There are outstanding features between 1 Hz and 2 Hz. Comparison with the motion in FLOAT state this seems to be control noise. See SR3_FLOAT_TM_displacement2.png.

Date: 03-08-2019.

Author: Fabian.

Context: klog entries 9702 and 9755.

On Friday afternoon I found high coherence between SR3 L and P degrees of freedom in at least two frequency bands, as measured by the oplev. High coherence is observed in both states ALIGNED and FLOAT.

  • Directory: /kagra/Dropbox/Subsystems/VIS/TypeBData/SR3/Noise/Measurements/20190802

  • Files: SR3_ALIGNED_TM_OPLEV_ASD.xml, SR3_FLOAT_TM_OPLEV_ASD.xml

Possible reasons for the high coherence are:

  • The oplev was not successfully diagonalized in those frequency bands. In this case the high coherence would be a consequence of measurement coupling between L and P and not to a real motion of the optic. In this case we would have to identify which one of the two degrees of freedom exhibits real motion. I have the impression thisis unlikely.

  • Lack of balance in optic coil-magnet actuators. Although the actuators have not been balanced yet, it's unlikely this is the main cause becasue the high coherence is also observed in FLOAT state, in which the control system is off.

  • Pitch motion happens as a consequence of the longitudinal motion in upper stages. I tend to think this is the most likely cause of high coherence.

  • There is an external environmental excitation. This may be acoustic noise or ground motion leaking through the suspension into the optic. It may be something affecting the oplev optics directly, but it's unikely because the effect is seen at low frequencies.

Plan for noise source identification.

  • {*} Find out the frequencies in which the oplev was diagonalized. Review the diagonalization procedure.

  • Balance the coils. Excite the optic using the saddle configuration and change actuator gains until the motion of the optic dissapears. Use the same frequency as in the oplev diagonalization.

  • {*} Look for coherence between the motion of the optic and upper stages:

    • TM-L, TM-P ⇔IM-L, IM-P.
    • TM-L, TM-P ⇔ IP-L.
    • IM-L, IM-P ⇔ IP-L.
  • Change and monitor enviromental conditions:

    • {*} Ask Yokozawa-san whether he has an ASD of the acpustic noise inside the clean rooms and compare.

    • Turn off the filter fan units (FFUs) inside the clean room and repeat the measurements.
    • Place a microphone close to the oplev optics and another one close to the IP, measure the amplitude spectral density of the acoustic excitation with the fans off and on and search for coherence with the TM/IM/IP motion.
    • Place an accelerometer on each oplev plaforms and repeat previous item.

Plan for reducing control noise

  • {*} Reduce gain of control signal. This is in principle something quick and easy to do.

  • Check the values of the unity gain frequencies (UGF) in SR2 optics control loops.
    • In case the control noise is higher than the UGF roll-off the filter.
    • In case the control noise is within the control frequency band check whether reducing the gain worked. If not continue with the noise hunting.

KAGRA/Subgroups/VIS/TypeB/NotesProvisional (last edited 2021-01-25 15:36:40 by fabian.arellano)