After our finding that overall sign of DELTAL_EXTERNAL was incorrect (alog 47519), we moved on to fix the issue. We ended up changing the sign of sensing path H1:CAL-CS_DARM_ERR_GAIN, and flipped armsign in the actuation path for L1, L2, L3 for EX and EY (H1:CAL-CS_DARM_ANALOG_ETMX_L3 etc. filter FM8).
This is a record of what we did and why, so people can find the information later and blame us if needed.
1. We decided that both the actuation path and sensing path need sign flip.
We had three supporting evidences for this.
One is a clear indication that ESD path sign is wrong (see 2. below).
One is the above-mentioned alog itself, especially this plot. The phase flip is observed at 36Hz where DELTAL_EXTERNAL is somewhat actuation-dominant (DARM UGF is 40-60Hz) and 1083Hz where DELTAL_EXTERNAL is sensing-dominant. Since the measurement showed the wrong phase at 1083Hz the sensing sign is wrong. If the actuation sign were OK the measurement wouldn't have shown 180 degrees phase at 36Hz.
One is the comparison of DARM OLTF between the measured and the model Sheila made from the calibration model G=A*C*D. Measured OLTF is actually -G. To make the model align with the measured, she made a sign flip in the model, i.e. -A*C*D. There's no ambiguity in D (it's just digital filters), so this means that relative phase between A and C is good.
All of these three observations mean that both A and C needed sign flip. Question is, where to flip the sign?
2. ESD sign seemed incorrect on its own.
Last stage of the actuation model seemed to have a wrong sign. This was first found by just looking at the CS_DARM_ANALOG_ETMX_L3 filter that represents the transfer function from DAC output counts to deltaL=Xarm-Yarm.
If you look at the first attachment, DC phase is 180 degrees, meaning when DAC outputs positive voltage, Xarm becomes shorter. This is not true when the bias voltage is negative.
Attractive force = alpha*(Vb-Vs)^2 where Vb is the bias, Vs the signal voltage and alpha a positive constant.
This force pulls the test mass towards the reaction mass. When Vb is negative, more positive Vs means larger force, which pulls more toward the reaction mass, thus Xarm becomes larger, thus deltaL becomes larger. The DC phase should be zero.
Note that if the bias is positive, the polarity of the ESDs should be the same as OSEMs in that a more positive output from DRIVEALIGN into ESDOUTF (i.e. more positive Vs) will pull the mirror less toward ERM to make Xarm shorter, just like a more positive output from DRIVEALIGN into COILOUTF will push the mirror more away from ERM to make Xarm shorter.
3. Further actuation investigation.
Looking at Evan's alog and T1800456, there are explicit signs provided in the CS_DARM_ANALOG_ETMX_L3 to cope with this kind of stuff named biassign, actsign and armsign. There are actsign and armsign for OSEM paths.
biassign takes care of the sign of bias. biassign=-1 means negative bias.
actsign is intended to be used to absorb the difference between ESD and OSEMs, but as I noted in the previous section, OSEMs and ESDs share the same polarity if the bias is positive. Therefore we didn't agree with Evan's alog statement 2), i.e.
"since the ESD is exerts a pulling force, then FM7--"actsign"--gets a value of -1. All ESDs will have actsign=-1 while pushing actuators (OSEMs) get a value of +1. "
as far as bias sign is handled separately. If you set actsign of OSEMs as +1, ESDs should be +1 too. In that case, it is convenient to think of this as the sign between the input into COILOUTF and the local coordinate XLC (where XLC axis is pointing toward the corner station). Positive input in COILOUTF pushes the mirror away from reaction mass so the mirror moves in +XLC direction. Same thing for ESD with positive bias.
armsign is intended for absorbing the difference between X and Y actuation. It's convenient to think of this as absorbing the sign difference between the local coordinate XLC and dL=Xarm-Yarm. Note that Xarm length and XLC are opposite in sign. Therefore armsign for X arm is dL/XLC=Xarm/XLC=-1. In the same manner armsign for Y arm is 1. I'm not sure if that's the intent of this by the calibration group, but Evan set this bit as -1 for ESDX and that agrees with this interpretation.
We looked at these as of today and right after Evan's alog. What looks good based on the interpretation above is colored in blue, bad in red.
| Today | Evan | ||
| EX L3 | biassign | -1 | -1 |
| actsign | 1 | -1 | |
| armsign | 1 | -1 | |
| EX L2 | actsign | 1 | 1 |
| armsign | 1 | 1 | |
| EX L1 | actsign | 1 | 1 |
| armsign | 1 | 1 |
It seems that somebody decided at some point that actsign and armsign of ESD should be the same as OSEMs after Evan wrote his alog.
Since we concluded that all actuation sign needs to be flipped in Section 1. above, we decided to flip armsign of all three stages. We checked the armsign of EY, they were all -1, so we flipped that too.
These are in FM8 of H1:CAL-CS_DARM_ANALOG_ETMX_L3, L2, L1, H1:CAL-CS_DARM_ANALOG_ETMY_L3, L2, L1.
(Alternative interpretation of the designers' intent about signs is that actsign is the relative sign between input into COUIOUTF and arm length, and that armsign is the relative sign between dL and arm length. In that case all actsigns are -1, all armsign for X are +1, all armsign for Y are -1. It was hard to tell which was intended, we didn't take this interpretation because Evan was very clear about the actsign of OSEMs.)
4. Sensing sign
There was only one apparent place that could be conveniently used to flip the sign of sensing, which is H1:CAL-CS_DARM_ERR_GAIN. We flipped this from 1 to -1. You might want to move it to filter bank.
5. Summary
"before change" is the same as "today" in the previous table.
| Change we have done today | Change we'd have made if we adopted an alternative interpretation | Today before change | ||
| EX L3 | biassign | -1 | -1 | -1 |
| actsign | 1 | -1 | 1 | |
| armsign | -1 | 1 | 1 | |
| EX L2 | actsign | 1 | -1 | 1 |
| armsign | -1 | 1 | 1 | |
| EX L1 | actsign | 1 | -1 | 1 |
| armsign | -1 | 1 | 1 | |
| EY L3 | biassign | -1 | -1 | -1 |
| actsign | 1 | -1 | 1 | |
| armsign | 1 | -1 | -1 | |
| EY L2 | actsign | 1 | -1 | 1 |
| armsign | 1 | -1 | -1 | |
| EY L1 | actsign | 1 | -1 | 1 |
| armsign | 1 | -1 | -1 | |
| H1:CAL-CS_DARM_ERR_GAIN | -1 | -1 | 1 |