Displaying reports 62101-62120 of 77270.Go to page Start 3102 3103 3104 3105 3106 3107 3108 3109 3110 End
Reports until 17:23, Friday 12 December 2014
LHO General
patrick.thomas@LIGO.ORG - posted 17:23, Friday 12 December 2014 (15580)
Ops Summary
08:50 Start of 2nd cleaning at BSC10
08:52 Bubba to end Y to turn on purge air
08:53 Filiberto to beer garden to pull cables, may bump piers on BSC3
09:08 Jeff and Andres putting together contamination control kits in the LVEA
09:20 Bubba turning on purge air compressor at end Y
09:51 Cleaning crew leaving end station
10:16 Corey to squeezer bay
11:38 Jeff and Andres back
12:04 Filiberto and Aaron done
12:05 Krishna to end Y to check on BRS
12:34 Krishna back
12:53 Jeff to end Y, setup for vent
12:58 Travis and Rick to end Y for PCAL checkout
13:21 Jeff back
13:45 Corey done
14:25 Rick and Travis back
H1 SEI
jim.warner@LIGO.ORG - posted 16:26, Friday 12 December 2014 (15592)
.6hz peak on HAM3 comes from Z sensor correction?

I though I would try sensor correction again on HAM3 and I've figured out from whence comes the .6hz peak on that chamber. I don't know why, but turning on the Z sensor correction causes it. X&Y sensor correction still don't perform well on this chamber either, so I'll leave both HAM2 and HAM3 with sensor correction off and in a state that my script (previous post) won't turn on. Attached plot shows Z CPS, correction on(blue) and off(red), .6hz peak is pretty obvious. This contaminates other dofs, too.

Images attached to this report
H1 SEI
jim.warner@LIGO.ORG - posted 15:38, Friday 12 December 2014 (15591)
Another Sensor Correction Script

I've written another python script to turn on seismic sensor correction. The plan is to eventually put this under Guardian control, but I wanted to make a simple 1 button turn on tool for the commissioners. It lives in the same location as the other scripts: /ligo/svncommon/SeiSVN/seismic/BSC-ISI/H1/Common/Misc/Test_Configuration_Scripts. Just cd into the fold run: ./Senscor_On.py or ./Senscor_Off.py as appropriate. This script turns on all the sensor correction on all of the chambers (ISI on HAM, HEPI and ISI on BSC), so it's more of a sledge hammer, not a scalpel.

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 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 62101-62120 of 77270.Go to page Start 3102 3103 3104 3105 3106 3107 3108 3109 3110 End