Displaying reports 68101-68120 of 83266.Go to page Start 3402 3403 3404 3405 3406 3407 3408 3409 3410 End
Reports until 15:19, Friday 12 December 2014
H1 ISC
stefan.ballmer@LIGO.ORG - posted 15:19, Friday 12 December 2014 - last comment - 17:18, Friday 12 December 2014(15590)
X-arm Geen WFS including ITMX camera feed-back fully functional
Alexa, Daniel, Sheila, Stefan

From yesterday:
 - We re-entered and re-focused the ITMX Green camera (#22). The picture is now good enough for feed-back use.
 - Updated the camera config file (attached).

Today:
 - Updated the CAM.mdl library in isc/common/models/ - it had normalized and non-normalized inputs switched.
 - SVN Committed revision 9393
 - Dave's script now copies the camera values into the H1:ALS-X_CAM_ITM_PIT_POS and H1:ALS-X_CAM_ITM_YAW_POS fields (see alog 15587)
 - With the X Green WFS running (feed-back to ITMX and TMSX, auto-centering running) we engaged the feed-back loop to ETMX, relying on gain hierarchy through the WFS loops.
 - All this seemed to work fairly reliably, although the WFS and camera gain are extremely low - it takes about 3 minutes for pulling in the alignment.
 - With that in place, we did a from-scratch baffle-PD alignment of the whole X-arm, and noted the Green ITMX camera position: PIT: 236.78, Yaw: 354.8. For this we used the following script:
     asc/h1/scripts/ditherAlign.py TMSX
 - All medm setting are shown in the attached snapshot (the PIT and YAW output matrices are identical).


  Tweaking that could still be done:
   - Fine-tune the output matrix - in particular the DoF3 (camera path) should be set to move all 3 optic in the right way - this would avoid having to go through a gain hieararchy.
   - Increase the loop UGF: main pendulum notches are needed to avoid a 2nd unity gain crossing.
Images attached to this report
Non-image files attached to this report
Comments related to this report
alexan.staley@LIGO.ORG - 17:18, Friday 12 December 2014 (15593)
We also tested the wfs offloading to the TMSX, ITMX and ETMX. We used Dans old offloading script which can be found under user apps ASC/common/scripts. I adapted the script so that it can offload to M0/M1 depending on the suspension. This worked fine.
H1 SEI
jim.warner@LIGO.ORG - posted 14:48, Friday 12 December 2014 (15589)
Sensor Correction working on HAMs 4&5

I've tried turning on ISI sensor correction at HAM 4 and 5, it seems to be working. At first I thought HAM5 was not working as well, but there must have been somebody out on the floor near the chamber, because now both chambers are performing similarly. Attached plots show only the CPS_X side of things, but the GS-13 plots weren't as clear and I'm not sure how to calibrate their signals so they line up with the STS, but GS-13's seem to agree in spirit. Correction also is working similarly in all degrees of freedom. I did this a while ago at HAM6 as well, but I don't think I saved the data. HAM's all use the same configuration with the Hua filters in X&Y and Mittleman's Z filter.

Images attached to this report
H1 SUS (CDS, DetChar, SEI)
jeffrey.kissel@LIGO.ORG - posted 13:21, Friday 12 December 2014 (15572)
Restarted USER and IOP Models on h1susb123
J. Kissel

I've solved the loose wires in the software problem indicated a bit ago in in LHO aLOG 15571, with the sledge hammer solution of restarting all of the front end processes. Unfortunately this is now quite an arduous process. Details of exactly what I did are below, but the problem is now solved.

This is another data point on Integration Issue 931, which remains open, because these errors happen only once every month or so -- enough time for other CDS fires to overwhelm this one. 

Curiously, it took two starts of the IOP process in order to get the AWG light to behave. Another mystery.

--------
Restart process

(1) Turn off all sensor correction, because this is not yet under guardian control. Set H1:ISI-*_ST1_SENSCOR_GND_STS_?_MATCH_GAINs to 0, and turn off OUTPUT switch for good measure
(2) Request Manager SEI GUARDIANs to take the chambers to OFFLINE (noting the state from whence they came. Beam Splitter is ISOLATED_DAMPED, ITMs are FULLY ISOLATED)
(3) Save any alignment offsets on the SUS for the current state they're in, if GUARDIAN is warning you they're not saved
(4) Request the SUS GUARDIANs to take the SUS to SAFE (noting the state from whence they came AND the EPICs values of the alignment offsets)
(5) Take the opportunity to grab a updated safe.snap file, and commit to userapps repo.
jeffrey.kissel@operator1 ]$ makeSafeBackup sus h1susbs
(6) Log into the h1susb123 front end as controls
(7) Kill all USER front-end processes
controls@h1susb123 / 0$ killh1susitmx
controls@h1susb123 / 0$ killh1susitmy
controls@h1susb123 / 0$ killh1susbs  

(8) Restart IOP front process, make sure to have GDS_TP screen open, to hit the BURT button once EPICs comes back
controls@h1susb123 / 0$ starth1iopsusb123 
h1iopsusb123epics H1 IOC Server started
Burt restored /opt/rtcds/lho/h1/target/h1iopsusb123/h1iopsusb123epics/burt/safe.snap
Old : H1:FEC-28_BURT_RESTORE         1
New : H1:FEC-28_BURT_RESTORE         1
 * WARNING:  awgtpman_iop has already been started.
controls@h1susb123 / 0$
(9) Restart USER front-end processes, make sure to have GDS_TP screen open, to hit the BURT button once EPICs comes back
controls@h1susb123 / 0$ starth1susitmx    
h1susitmxepics: no process found
h1susitmxepics H1 IOC Server started
Burt restored /opt/rtcds/lho/h1/target/h1susitmx/h1susitmxepics/burt/safe.snap
Old : H1:FEC-29_BURT_RESTORE         1
New : H1:FEC-29_BURT_RESTORE         1
 * Starting h1susitmx awgtpman ...                                                                                                                                                                [ !! ]
controls@h1susb123 / 0$
(rinse and repeat for the other two SUS)
(10) Reset all watchdogs on SEI, SUS, and IOP (there's about 30).  << --- It's only at this step d'you know if you've actually fixed the problem
(11) Request SUS GUARDIANs to return to original state (whether it be aligned or misaligned, make sure alignment offsets have been restored properly)
(12) Request SEI Manager GUARDIANs to return to original state
(13) Go through CDS OVERVIEW Screens and hit "DIAG RESET" in the upper left corner of any GDS_TP screens which show an IPC Error in the CDS STATE WORD. The IPCs glitch on start up, and the error latches, so it just needs to be cleared. If it goes red again after a few seconds, then there's *actually* a problem.
(14) Turn sensor correction back ON by first turning ON the MATCH OUTPUT, and then ramping up the gain back to 1.0, with a ramp time of something like 10 to 15 seconds. 



I've turned on the following sensor correction configuration configuration for all three BSC chambers:
- Ryan's IIR filters, SC-rdr, FM2 for X & Y with a gain of 1.0. Only the BS has a "MATCH" filter (just a gain of 1.03), which I've left ON as I'd found it.
- Rich's IIR filters, Mitt_SC, FM6 for Z with a gain of 1.0.

For the record, both the ISI and HEPI Sensor Correction Screens still suck:
- The filters that we actually use in the GND sensor correction are not visible on the sensor correction overview
- The links to sub-screens are ambiguous locations on the SC overview. Thus, one can pull up different screens -- that don't look different at first glance -- depending on where you click
- In the HEPI sensor correction overview, there's no link for the full MATCH filter bank, so you have no control over / knowledge of important things like the ramp time
- Remove ST0 to ST1 HEPI L4C Feed forward path, it's currently not used and there's scientific motivation (pending) that it should never be used.
H1 ISC
daniel.sigg@LIGO.ORG - posted 13:20, Friday 12 December 2014 (15588)
BDIV EY/HAM1 tested

Looking at the sensor readbacks they seem to work.

H1 CDS (SYS)
david.barker@LIGO.ORG - posted 12:31, Friday 12 December 2014 (15587)
extended cameracopy script to include itmx

At Daniel's request I extended my cameracopy.py script to also copy the ITMX green digital video data (centroid position and sum) to the ALS-X front end.

I have documented this system on the CDS wiki https://lhocds.ligo-wa.caltech.edu/wiki/CameraCopy

I have created an MEDM, accessible from the sitemap SYS pull down (screen shot attached).

Images attached to this report
H1 TCS
eleanor.king@LIGO.ORG - posted 11:15, Friday 12 December 2014 - last comment - 11:32, Friday 12 December 2014(15585)
HWS alginment in the corner station.

Dave O, Greg, Elli

Yesterday we tried to realign the Hartmann sensors in the corner station.  This is because 14-11-12 17:15:00 the SR3 mirror changed alignment which threw out the HWS alignment.  We found the alignment is now so bad the periscopes will have to be moved.  I still need to do this.  If the alignment of the SRC, BS, or ITms changes again we will have to realign the HWS again.

Comments related to this report
aidan.brooks@LIGO.ORG - 11:32, Friday 12 December 2014 (15586)

Are there any photos of the current positions of the green beams at the HWS periscopes?

H1 SUS
betsy.weaver@LIGO.ORG - posted 10:46, Friday 12 December 2014 (15584)
ETMy SUS SAFE.SNAP updated

Vent prep:  While the commissioners were at a stopping point, I made a new h1susetmy_safe.snap file and committed it to the svn.  The ETM was restored to their working configuration afterwards.

H1 SEI (DetChar)
krishna.venkateswara@LIGO.ORG - posted 10:01, Friday 12 December 2014 (15583)
Tilt-subtraction during Thursday's mini-wind storm

K. Venkateswara,

As reported yesterday, winds were gusting at 60 mph, at the corner station and roughly 40 mph at EX. They were mostly blowing across, ~ along Y direction for EX. I've attached ASD plots showing the tilt-subtraction during the period with higher wind speeds (GPS time 1102388000 - 1102403000), and the low-wind period (1102408000 - 1102413000).

The residual after tilt-subtraction is much higher during the windy period than without. But it is possible that the floor is being displaced that much more by the wind. The high-wind period drove up the resonance of the BRS, which is why the harmonics of the beam-balance are visible in the low-wind period. But otherwise the residual is as low as during other quiet periods.

Images attached to this report
Non-image files attached to this report
LHO General
patrick.thomas@LIGO.ORG - posted 09:00, Friday 12 December 2014 (15579)
Morning Meeting Summary
Vent of BSC10 scheduled for Monday morning, door removal on Tuesday
Request for laser safe at end Y before Monday morning
2nd cleaning of BSC10 this morning
Purge air needs to be turned on this morning
Request to align end Y PCAL sometime during vent

CDS
Cabling in beer garden
Putting v6 AA boards back in chassis
Repair of ESD connectors next week

SEI
BRZ subraction on BSCs

3IFO
Corey and Suresh working on ISC kits in squeezer bay
H1 CDS (DAQ)
david.barker@LIGO.ORG - posted 08:23, Friday 12 December 2014 (15578)
CDS model and DAQ restart report, Thursday 11th December 2014

model restarts logged for Thu 11/Dec/2014
2014_12_11 20:16 h1iopsusb123
2014_12_11 20:17 h1iopsusb123
2014_12_11 20:17 h1susitmx
2014_12_11 20:19 h1susbs
2014_12_11 20:19 h1susitmy

No unexpected restarts. Restart of h1susb123 to clear DAC problem. Conlog frequently changing channels list attached.

Non-image files attached to this report
H1 SUS
jeffrey.kissel@LIGO.ORG - posted 00:30, Friday 12 December 2014 (15575)
H1 SUS ITMs Phase 3b Damped Acceptance Transfer Functions
J. Kissel

These, damped, TOP2TOP, transfer functions complete the acceptance measurement suite for the H1 SUS ITMs (see LHO aLOG 14729 for the rest of the suite). For this Phase 3B measurement, the chamber is at vacuum, the HPI and ISIs are damped and isolated, and the SUS itself is damped. 

The main chain transfer functions look exactly as expected with the LHO filter configuration that its been left in (see recent modeling efforts, and discussion of LLO filter design in LHO aLOG 14959). The reaction chain, in it's sad, sorry, copy-of-a-bad-copy, 2011, state looks like very very little thought has gone into their loop design. This is true, because it doesn't seem to matter for IFO noise or control. Some day we'll get to re-designing these loops just so they don't look so aesthetically displeasing.

Raw .xml files live here:
/ligo/svncommon/SusSVN/sus/trunk/QUAD/
H1/ITMX/SAGM0/Data/2014-12-11_0429_H1SUSITMX_M0_L_WhiteNoise.xml
H1/ITMX/SAGM0/Data/2014-12-11_0429_H1SUSITMX_M0_P_WhiteNoise.xml
H1/ITMX/SAGM0/Data/2014-12-11_0429_H1SUSITMX_M0_R_WhiteNoise.xml
H1/ITMX/SAGM0/Data/2014-12-11_0429_H1SUSITMX_M0_T_WhiteNoise.xml
H1/ITMX/SAGM0/Data/2014-12-11_0429_H1SUSITMX_M0_V_WhiteNoise.xml
H1/ITMX/SAGM0/Data/2014-12-11_0429_H1SUSITMX_M0_Y_WhiteNoise.xml
H1/ITMX/SAGR0/Data/2014-12-11_0545_H1SUSITMX_R0_WhiteNoise_L_0p1to50Hz.xml
H1/ITMX/SAGR0/Data/2014-12-11_0545_H1SUSITMX_R0_WhiteNoise_P_0p1to50Hz.xml
H1/ITMX/SAGR0/Data/2014-12-11_0545_H1SUSITMX_R0_WhiteNoise_R_0p1to50Hz.xml
H1/ITMX/SAGR0/Data/2014-12-11_0545_H1SUSITMX_R0_WhiteNoise_T_0p1to50Hz.xml
H1/ITMX/SAGR0/Data/2014-12-11_0545_H1SUSITMX_R0_WhiteNoise_V_0p1to50Hz.xml
H1/ITMX/SAGR0/Data/2014-12-11_0545_H1SUSITMX_R0_WhiteNoise_Y_0p1to50Hz.xml
H1/ITMY/SAGM0/Data/2014-12-11_0510_H1SUSITMY_M0_Mono_WhiteNoise_L_0p01to50Hz.xml
H1/ITMY/SAGM0/Data/2014-12-11_0510_H1SUSITMY_M0_Mono_WhiteNoise_P_0p01to50Hz.xml
H1/ITMY/SAGM0/Data/2014-12-11_0510_H1SUSITMY_M0_Mono_WhiteNoise_R_0p01to50Hz.xml
H1/ITMY/SAGM0/Data/2014-12-11_0510_H1SUSITMY_M0_Mono_WhiteNoise_T_0p01to50Hz.xml
H1/ITMY/SAGM0/Data/2014-12-11_0510_H1SUSITMY_M0_Mono_WhiteNoise_V_0p01to50Hz.xml
H1/ITMY/SAGM0/Data/2014-12-11_0510_H1SUSITMY_M0_Mono_WhiteNoise_Y_0p01to50Hz.xml
H1/ITMY/SAGR0/Data/2014-12-11_0629_H1SUSITMY_R0_L_WhiteNoise.xml
H1/ITMY/SAGR0/Data/2014-12-11_0629_H1SUSITMY_R0_P_WhiteNoise.xml
H1/ITMY/SAGR0/Data/2014-12-11_0629_H1SUSITMY_R0_R_WhiteNoise.xml
H1/ITMY/SAGR0/Data/2014-12-11_0629_H1SUSITMY_R0_T_WhiteNoise.xml
H1/ITMY/SAGR0/Data/2014-12-11_0629_H1SUSITMY_R0_V_WhiteNoise.xml
H1/ITMY/SAGR0/Data/2014-12-11_0629_H1SUSITMY_R0_Y_WhiteNoise.xml
exported to text files of similar name. 

Procesed measurements and saved .mat files live here:
/ligo/svncommon/SusSVN/sus/trunk/QUAD/
H1/ITMX/SAGM0/Results/2014-12-11_0429_H1SUSITMX_M0_DTTTF.mat
H1/ITMX/SAGR0/Results/2014-12-11_0545_H1SUSITMX_R0_DTTTF.mat
H1/ITMY/SAGM0/Results/2014-12-11_0510_H1SUSITMY_M0_DTTTF.mat
H1/ITMY/SAGR0/Results/2014-12-11_0629_H1SUSITMY_R0_DTTTF.mat

All have been committed to the SusSVN repo.
Non-image files attached to this report
H1 CDS
david.barker@LIGO.ORG - posted 20:37, Thursday 11 December 2014 (15573)
Frequency of "DAC's not driving, restart IOP" model problem

Frequency of DAC lock out events (requiring IOP model restart to fix). One more event (h1susb123) added since my last  entry

12/11 2014 h1susb123

10/26 2014 h1seih45

9/11 2014 h1seih45

9/10 2014 h1seih23

8/11 2014 h1susb123

8/9 2014 h1seih23

4/21 2014 h1sush2a

3/18 2014 h1sush2a

2/27 2014 h1seih23

12/16 2013 h1seih23

11/7 2013 h1sush2a

11/7 2013 h2sush34

8/8 2013 h1seih23

H1 SUS (ISC, SUS)
suresh.doravari@LIGO.ORG - posted 19:55, Thursday 11 December 2014 (15570)
Justification for swapping BS Oplev Laser

This is regarding the BS suspension damping using its oplev.   

I looked at the behaviour of HAM3 and BS oplev lasers over the last two hours.

The HAM3 laser (HAM3 oplev is the preferred test bed for the lasers we fix before we plug them into core optics suspensions)  has an order of magnitude lower noise in the 10 to 100Hz band.   The forest of peaks we see above 100 Hz are probably from the pier motion and not from the laser itself.

I have also looked at the 24 hr trend of the HAM3 oplev.  There are a few glitches during the time people were working in the LVEA.  I expect these will not be present when things are quiet.

Shifting the HAM3 oplev laser to BS oplev should improve the BS suspension damping.

Images attached to this report
H1 General
sheila.dwyer@LIGO.ORG - posted 19:25, Thursday 11 December 2014 - last comment - 20:08, Thursday 11 December 2014(15569)
wind is picking up

Jeff K, Suresh, Sheila

The wind is picking up.  We are having 60 mph gusts and can hear it on the roof, so that's  for interferometery tonight.  High winds started at around 2:50 UTC, December 12th.  

Comments related to this report
jeffrey.kissel@LIGO.ORG - 20:08, Thursday 11 December 2014 (15571)CDS, DetChar, SUS
J. Kissel, S. Doravari

Hoping to take advantage of the windy night without interferometry I tried to start taking some long-needed acceptance transfer functions on the ITMs. However, I immediately discovered that the IOP outputs from the suspensions were zeroed out. Signals apparently dropped out at for all SUS on h1susb123, i.e. H1SUSITMX, H1SUSBS, and H1SUSITMY at the same time, roughly Dec 12 2014 02:52 UTC (Dec 11 2014 18:52:00 PST, GPS 1102387936 -- about when Sheila noticed that the ITM pitch motions were ~10 [urad] and started to blame the changes to SEI systems), see attached. 

I checked everything I'd checked last time there were loose wires in the software  (see LHO aLOG 13329), but they didn't report any problems:
(1) All SUS watchdogs are green (2014-12-11_H1SUSITMY_Overview.png)
(2) All IOP Software Watchdogs are green (2014-12-11_SWWD_Status.png)
(3) dmesg of h1susb123 doesn't report any badness (2014-12-11_h1susb123_dmesg.txt)
(4) proc status seems happy (2014-12-11_h1susb123_procstatus.txt)

I've called Dave and left a message. I'm going to do the same sledge hammer solution we did last time and kill all USER front end processes, restart the IOP model, and restart the USER models.

I hate this -- we really need a way to reset this WD DACKILL look alive WITHOUT having to take down the entire front end...
Images attached to this comment
Non-image files attached to this comment
H1 SEI
jim.warner@LIGO.ORG - posted 16:38, Thursday 11 December 2014 - last comment - 09:41, Friday 12 December 2014(15565)
.6hz something on HAM3

The last couple of days Krishna and I have been working on sensor correction everywhere, but have been having troubles on HAM3. This is not exactly related to that effort, but we noticed that there is a very Q-y feature in the HAM3 ISI and SUS spectra. Jeff helped me dig into this and we are pretty sure this is not due to the suspensions, but it's been there the last couple of days, with and without sensor correction. It doesn't show in HEPI or the ground spectra, so I'm not sure where this comes from. When the IMC isn't being used I will try turning isolation loops off to see if the ISI is causing it. Attached spectra is of the MC2 suspension point(ISI GS-13's), but PR2, MC2 OSEMS and ISI CPS's see this, as well.

Images attached to this report
Comments related to this report
jeffrey.kissel@LIGO.ORG - 21:32, Thursday 11 December 2014 (15574)
And by "pretty sure" it's not the SUS, Jim means "it's definitely not." The first HSTS modes are at 0.67 [Hz], and the recent design study (see G1401291) have revealed that even with crappy legacy damping filters and gains that are still in place, the Qs of all the modes are reduced well below what's seen here.

Also of note -- The 0.6 [Hz], and 1.5, and 2.9 [Hz] features are seen in IMCL, PRCL, and the HAM Optical lever, so it's definitely the ISI, because it's common to both SUS in the chamber and their moving mass doesn't couple well enough to the ISI to move the thing in all DOFs like is shown here.
jim.warner@LIGO.ORG - 09:41, Friday 12 December 2014 (15582)

And now you don't!

I started looking for the .6hz whatsits and it's gone now. The local sensors didn't see it when I looked this morning, but looking back in time it disappeared some time between 16:00 (first plot) and 16:30 (second) yesterday. We are also seeing something similar on the ITMs' oplevs (third plot, you can see it in Krishna's post  about Xarm sensor correction, too) now as well, so whoever fixed HAM3 should keep going.

Images attached to this comment
H1 ISC
daniel.sigg@LIGO.ORG - posted 15:42, Thursday 11 December 2014 - last comment - 08:21, Friday 12 December 2014(15560)
Integrator Filter Module (IFM)

A new type of filter block is now available in the real-time system. The Integrator Filter Module (IFM) implements a single integrator only, but has a couple of additional features compared to a standard filter module:

The attached screen shot represents the new IFM. The available parameters are

The testpoint and EPICS channel names are the same as in the standard filter module:

The SFM uses a bit encoded momentary switch for its enables. However, this requires state notation code support; and the IFM uses individual EPICS bi channels.

Images attached to this report
Comments related to this report
daniel.sigg@LIGO.ORG - 01:14, Friday 12 December 2014 (15568)

C Code

/*  This is an integrator with output limiter and bleed off
    Inputs:
    1. Error signal (double)
    2. Excitation input (double)
    3. Request word (bit encoded int)
    -----------------------------------------------------------------------
    Bit     Name            Description
    -----------------------------------------------------------------------
     0      Filter          Request for integrator to run
     1      Input Switch    Request for input switch to be on
     2      Offset Switch   Request for offset to be enabled 
     3      Limit Switch    Request for the limit switch to be engaged
     4      Output Switch   Request for the ouptut switch to be on
     5      Hold Output     Request for the output to hold
     6      Bleed Enable    Request for filter to bleed off
     7      Bias Enable     Request for output bias to be on
    15      Decimation      Request for output decimation (8Hz single pole)
    -----------------------------------------------------------------------
    4. Offset input (double)
    5. Gain input (double)
    6. Unity gain frequency in Hz (double)
    7. Bleed rate in cts/s (double)
    8. Maximum absolute value/limiter (double)
    9. Bias input (double)
   10. Model rate in Hz (double)
   Outputs:
    1. Control signal (double)
    2. IN1 ouptut (double)
    3. IN2 output (double)
    4. OUT ouptut (double) 
    5. Decimated control signal (double) 
    6. Status word (bit encoded int)
    -----------------------------------------------------------------------
    Bit     Name            Description
    -----------------------------------------------------------------------
     0      Coeff Reset     not used.
     1      Master Reset    Momentary; when set, INT will reset all 
                            filter history buffers.
     2      Input On/Off    Enables/disables signal input to INT.
     3      Offset Switch   Enables/disables application of INT input
                            offset value.
     4      Filter Request  Set to one when an INT filter is requested ON,
                            or zero when INT filter requested OFF 
     5      Filter Status   Set to one by INT when an INT filter is ON, 
                            or zero when INT filter is OFF 
     6      Limiter Switch  Enables/disables application of INT output 
                            limit value.
     7      Limiter Status  Set for 1 sec, when the limiter is enabled 
                            and the output value became too large.
     8      Decimation      Enables/Disables application of decimation 
            Switch          filter to INT OUT16 calculation.
     9      Output Switch   Enables/Disables INT output (INT OUT and 
                            OUT16 variables)
    10      Hold Output     If (!bit 26 && bit27), INT OUT will be held 
                            at last value.
    11      Bleed Enable    If set, the accumulated integrator value will
                            be bled off with the specifed bleed rate 
    12      Bias Enable     If set, a bias will be added to the output
    -----------------------------------------------------------------------
*/

#define INTFILTER 0x01
#define INTINPUT 0x02
#define INTOFFSET 0x04
#define INTLIMIT 0x08
#define INTOUTPUT 0x10
#define INTHOLD 0x20
#define INTBLEED 0x40
#define INTBIAS 0x80
#define INTDEC 0x8000

#define PI 3.1415926535897932384626433832795028841971693993751058

#ifdef _WIN32
typedef enum {false, true} bool;
#define isnan(s) 0
#define printk(s) 
#endif

bool myfinite (double s)
{
    // By IEEE 754 rule, 2*Inf equals Inf
    return !isnan(s) && ((s == 0) || (s != 2*s));
}

void Integrator (double* in, int ins, double* out, int outs)
{ 
    /* INPUT and OUTPUT vars for Integrator function block */
    double inval = 0.0;
    double exc = 0.0;
    int req = 0;
    double ofs = 0.0;
    double gain = 0.0;
    double ugf = 0.0;
    double bleed = 0.0;
    double limit = 0.0;
    double bias = 0.0;
    double rate = 16384;

    double outval = 0.0;
    double in1 = 0.0; 
    double in2 = 0.0; 
    double out1 = 0.0; 
    static double out16 = 0.0;
    int stat = 0;

    /* local vars */
    static int error = 0;
    static double oldout = 0.0;
    static double holdval = 0.0;
    static int limcount = 0;
    double val = 0.0;
    double g = 0.0;

    /* argument check */
    if ((ins != 10) || (outs != 6)) {
        if (!(error & 0x1)) {
            printk("Integrator: wrong number of inputs and/or outputs\n");
            error |= 0x1;
        }
        return;
    }

    // Read input values
    inval = myfinite (in[0]) ? in[0] : 0.0; // must be finite
    exc = myfinite (in[1]) ? in[1] : 0.0; // must be finite
    req = (int) (myfinite (in[2]) ? in[2] : 0); // must be finite
    ofs = myfinite (in[3]) ? in[3] : 0.0; // must be finite
    gain = myfinite (in[4]) ? in[4] : 0.0; // must be finite
    ugf = myfinite (in[5]) && (in[5] > 0) ? in[5] : 0.0; // must be finite and non-negative
    bleed = myfinite (in[6]) && (in[6] > 0) ? in[6] : 0.0; // must be finite and non-negative
    limit = myfinite (in[7]) ? (in[7] > 0 ? in[7] : -in[7]) : 0.0; // must be finite, take abs
    bias = myfinite (in[8]) ? in[8] : 0.0; // must be finite
    rate = (in[9] >= 0) ? in[9] : 1.0; // must be finite and positive

    // Add offset and muliply with gain
    val = inval;
    if (req & INTOFFSET) {
        val += ofs;
    }
    val *= gain;
    // input switch and input test points
    in1 = val;
    if (!(req & INTINPUT)) {
        val = 0.0;
    }
    val += exc;
    in2 = val;

    // Calculate filter
    if (req & INTFILTER) { // filter on
        g = 2*ugf/rate;
        if (g > 1) { // ugf above Nyquist!
            g = 1.0;
        }
        oldout = oldout+PI*g*val; 
    }
    else { // filter is off
        oldout = val;
    }
    // enforce limits when on
    if (req & INTLIMIT) {
        if (oldout < -limit) { // lower limit exceeded
            oldout = -limit;
            limcount = (int)rate + 1;
        }
        else if (oldout > limit) { // upper limit exceeded
            oldout = limit;
            limcount = (int)rate + 1;
        }
    }
    if (limcount > 0) {
        --limcount;
    }

    // Bleed off integrator value if selected
    if (req & INTBLEED) {
        g = bleed/rate;
        if (oldout > g) {
            oldout -= g;
        }
        else if (oldout < -g) {
            oldout += g;
        }
        else {
            oldout = 0.0;
        }
    }

    // Output testpoint
    out1 = oldout;

    // Output enabled
    if (req & INTOUTPUT) {
        val = oldout;
    }
    else {
        val = 0.0;
    }

    // Add bias if selected
    if (req & INTBIAS) {
        val += bias;
    }

    // Hold output if selected
    if (req & INTHOLD) {
        outval = holdval;
    }
    else { // no hold
        outval = val;
        holdval = val;
    }

    // Compute decimated output: 8Hz single pole low pass
    if (req & INTDEC) {
        g = 2*8.0/rate;
        if (g > 1) {
            g = 1.0;
        }
        g *= PI;
        out16 = (1-g)*out16+g*outval;
    }
    else { // no decimation
        out16 = outval;
    }

    // Set status
    stat = 0;
    stat |= (req & INTINPUT) ? 0x0004 : 0;
    stat |= (req & INTOFFSET) ? 0x0008 : 0;
    stat |= (req & INTFILTER) ? 0x0010 : 0;
    stat |= (req & INTFILTER) ? 0x0020 : 0;
    stat |= (req & INTLIMIT) ? 0x0040 : 0;
    stat |= limcount ? 0x0080 : 0;
    stat |= (req & INTDEC) ? 0x0100 : 0;
    stat |= (req & INTOUTPUT) ? 0x0200 : 0;
    stat |= (req & INTHOLD) ? 0x0400 : 0;
    stat |= (req & INTBLEED) ? 0x0800 : 0;
    stat |= (req & INTBIAS) ? 0x1000 : 0;

    // Write output values
    out[0] = outval;
    out[1] = in1;
    out[2] = in2;
    out[3] = out1;
    out[4] = out16;
    out[5] = stat;
}
daniel.sigg@LIGO.ORG - 08:21, Friday 12 December 2014 (15577)

Here is the corresponding simulink block.

Images attached to this comment
H1 SUS
stuart.aston@LIGO.ORG - posted 08:26, Tuesday 04 November 2014 - last comment - 00:30, Friday 12 December 2014(14729)
ITMX & ITMY (QUAD) M0-M0 Phase 3b undamped TFs (for Acceptance)
Initial attempts to take undamped TFs on ITMX & ITMY exhibited rung up P & R modes (see LHO aLOG entry 14653). For the next attempt, fine tuning of excitation amplitudes was necessary to avoid ringing up these modes.

Phase 3b (in-vacuum) undamped TF measurements have been taken for ITMX & ITMY (QUAD) suspensions as follows:-  

- ITMX M0-M0 undamped results (2014-10-30_0700_H1SUSITMX_M0_ALL_TFs.pdf)
- ITMX R0-R0 undamped results (2014-10-30_0700_H1SUSITMX_R0_ALL_TFs.pdf)
- ITMY M0-M0 undamped results (2014-10-28_1200_H1SUSITMY_M0_ALL_TFs.pdf)
- ITMY R0-R0 undamped results (2014-10-28_1200_H1SUSITMY_R0_ALL_TFs.pdf)

ISI Status: ISI's damped and FULLY_ISOLATED via Guardian.

ITMX & ITMY undamped TFs above have been compared with other similar QUADs at the same phase of testing (allquads_2014-10-30_AllQUADS_Doff_Phase3b_ALL_ZOOMED_TFs.pdf). The plot key is as follows:-

Blue Trace = Model Prediction (fiber/thincp).
Orange Trace = L1 ITMX (fiber 2013−09−04), Phase 3b.
Black Trace = L1 ITMY (fiber 2013−09−05), Phase 3b.
Magenta Trace = H1 ITMY (fiber 2014−10−28), Phase 3b.
Cyan Trace = H1 ITMX (fiber 2014−10−30), Phase 3b.

Summary:

M0-M0, main chain TFs are a very good fit to the model, for all DOFs, with only some minor cross-couplings from P2V.

R0-R0, reaction chain TFs agree with the model predictions and are consistent with similar QUADs. The largest deviation from the model can be seen with the ~1.45 Hz P mode, a consequence of the harness routing stiffening the suspension, seen before. Some minor cross-couplings are also present: from P2L, P2R, and P2V only for ITMY. Damped TFs should be taken to verify that damping loops suppress these cross-couplings.

All data, scripts and plots have been committed to the sus svn as of this entry.
Non-image files attached to this report
Comments related to this report
stuart.aston@LIGO.ORG - 14:45, Wednesday 26 November 2014 (15310)
Power spectra had been taken and processed a while back, but not posted until now. These power spectra measurements have been compared to previous Phase 3 measurements for H1 ITMs (allquads_2014-11-26_Phase3_H1ITMX_ALL_Spectra_D*.pdf). The plot key is as follows:-

Black Dashed Line = Expected Sensor Noise
Blue Trace = H1SUSITMY 2013−07−19_1400, Phase 3b (in-vacuum)
Green Trace = H1SUSITMX 2014−04−11_1600, Phase 3b (in-vacuum)
Red Trace = H1SUSITMX 2014−07−07_1000, Phase 3a (in-air) 

Summary:

Noise floors for recent ITMX measurements are consistent with previous measurements, but are much more noisy below 40 Hz due to air turbulence, clean rooms, purge air etc. Oddly, L1 and L2 OSEM DOFs appear to suffer from a scaling problem. However, scaling is correct for L1 & L2 EULER DOFs. n.b. the same discrepancy was also observed in the data taken before the optic was swapped. Thus, raising no concerns.

All data, scripts and plots have been committed to the sus svn as of this entry.
Non-image files attached to this comment
jeffrey.kissel@LIGO.ORG - 00:30, Friday 12 December 2014 (15576)
Damped transfer functions can be found in LHO aLOG 15575.
Displaying reports 68101-68120 of 83266.Go to page Start 3402 3403 3404 3405 3406 3407 3408 3409 3410 End