ID |
Date |
Author |
Type |
Category |
Subject |
17361
|
Fri Dec 16 14:52:42 2022 |
Paco | Summary | SUS | MC1 and MC3 coil dewhitening filters added, location corrected | I corrected the filter module location for 28 Hz ELP filter on MC1 and MC3 coil output filter banks to FM8 (from FM9). FM9 is always reserved for SimDW (which is simulated dewhitening filter and is supposed to be a copy of the dewhitening filter on the analog side). FM10 is also reserved for InvDW filter which performs the anti-dewhitening before DAC. This filter module, FM10, shoudl remain on always. When FM9 is on (SimDW), the analog dewhitening turns off and we get a flat digital response as well. When FM9 is off, the analog dewhitening is turned on. Nominal operation configuration right now is to not use the coil dewhitening and keep FM9 and FM10 on always.
|
17364
|
Fri Dec 16 22:06:55 2022 |
Anchal | Update | SUS | Low noise state | I've turned off HEPA fan and all lights at:
PST: 2022-12-16 22:06:53.830911 PST
UTC: 2022-12-17 06:06:53.830911 UTC
GPS: 1355292431.830911
Tuned on HEPA again:
PST: 2022-12-17 14:39:57.974212 PST
UTC: 2022-12-17 22:39:57.974212 UTC
GPS: 1355352015.974212
I've turned off HEPA fan and all lights at:
PST: 2022-12-17 17:26:28.740675 PST
UTC: 2022-12-18 01:26:28.740675 UTC
GPS: 1355362006.740675
I also started WFS relief script at this time. This script would end in 600s from the above time. |
17388
|
Mon Jan 9 19:41:01 2023 |
Anchal | Update | SUS | Null stream (butterfly/pringle) row added and DQed | I updated the suspension model (/cvs/cds/rtcds/userapps/trunk/sus/c1/models/lib/sus_single_control_new.dml) to add a 5th row in the input matrix so that we can put in the calculated NULL stream vector (also have been called as Butterfly mode or Pringle mode in the past). The output of this row would go through a filter module and then is sent to the testpoint named 'C1:SUS-OPT_SENSOR_NULL' where OPT is the optic acronym. This channel is acquired in frames at 256 Hz and would be available as C1:SUS-OPT_SENSOR_NULL_DQ. After the update in the model, I built, installed and restarted models c1sus, c1mcs, c1scx, c1scy, c1su2, and c1su3. Then I restarted daqd, and everything came up nicely. After but restore, I added the null stream vector for the optics it was already known from a free swing test. ITMX, ITMY, ETMX, PRM, and SRM null stream vectors needs to be calculated from the other 4 rows. It is set to zero right now. Medm screen for the input matrix was also updated to allow seeing this row.
|
Attachment 1: SUS_Model_Changes.png
|
|
Attachment 2: MC1_INMATRIX.png
|
|
17464
|
Tue Feb 14 18:39:53 2023 |
Radhika | Update | SUS | Bandstop widened for ITMX BounceRoll filter module | [Rana, Radhika]
While discussing xarm AUX laser locking, we noticed excess motion of ITMX. We took spectra of all ITMX sensor outputs and observed a 16 Hz peak, corresponding to the bounce mode of the optic [Attachment 1, 2 (zoomed)]. The UL sensor in particular is sensitive to the bounce DOF. A peak at the roll resonance can also be seen.
To suppress the bounce resonance, we altered the BounceRoll filter in the SUSPOS, SUSPIT, and SUSYAW filter modules. The bounce bandstop filter was widened to the range 15.25-17 Hz [Attachment 2]. The roll bandstop filter was left as is. |
Attachment 1: ITMX_sus_sensors.pdf
|
|
Attachment 2: ITMX_sus_sensors_zoomed.pdf
|
|
Attachment 3: ITMX_sus_bounceroll.pdf
|
|
17487
|
Wed Mar 1 19:18:18 2023 |
Paco | Update | SUS | LO1 dewhitening | [Paco, Anchal]
Today we invested some time in the DW filters for LO1 supension. We discovered that the binary DW enable/disable channels were not connected, and we had basically postponed testing this final bit on the chain of new SUS electronics since the upgrade took place. A quick noise spectrum of error and control points (uncalibrated) show that outside of the ~ 40 Hz control bandwidht, the LO phase noise rms is dominated by line noise (mostly 180 Hz) (Attachment #1).
We checked the BIO inputs, but failed to make them work from the c1su2 model and Anchal spotted an error in the model; so maybe to speed up the proper dewhitening tests, we override the acromag enabling BIO interface and just short the coil driver BI to always enable the Analog DW filter. Then, using the measured DW transfer function with z = [130 + 0j; 233+0j], p=[10+0j; 2845+0j], k=2.0, we corrected the FM9 and FM10 in the coil outputs (this is different from the other DW filters). Today we just did this for LO1, but the next step is to replicate this for the other BHD SOS so that we have a consistent test.
So for now, the LO1 coil drivers at 1Y0 have shorted binary inputs to enable watchdog + Analog dewhitening filters. This needs to happen on LO2, AS1 and AS4, and then the noise spectra should be measured again. |
Attachment 1: uncalibrated_lo_phase_errctrl.png
|
|
17488
|
Thu Mar 2 10:54:25 2023 |
Paco | Update | SUS | LO1 dewhitening | We added the DB9 short connectors to all coil drivers in the BHD suspensions and updated FM9-FM10 for LO1, LO2, AS1, AS4, SR2, PR2 and PR3 to match the work on LO1 yesterday. We then locked the LO phase using BH55 and took noise spectra for the error and control points; Attachment #1 shows the comparison before and after these changes were made. |
Attachment 1: uncalibrated_lo_phase_errctrl_ADW.png
|
|
17550
|
Wed Apr 19 15:12:01 2023 |
yuta | Summary | SUS | Coil dewhitening check for PRM | [Mayank, Paco, Yohanathan, Yuta]
We checked if coil dewhitening switch is working by measuring transfer function from coil outputs to oplev pitch and yaw.
Method:
- Turned off oplev damping loops (this actually changed the result, this means that oplev loops have quite high UGFs)
- Measured transfer functions from C1:SUS-PRM_(UL,UR,LR,LL)COIL_EXC to C1:SUS-PRM_OL_(PIT|YAW)_OUT, with SimDW and InvDW filters on/off.
- Injected excitations are about 30000 at 100 Hz and 3000 at 10 Hz.
- When SimDW and InvDW filters are on, analog dewhitening filter should be off, so it should give suspension mechanical response and other filter shapes in coil driver.
- When SimDW and InvDW filters are off, analog dewhitening filter should be on, so it should give the same transfer function with analong dewhitening filter.
- Taking the ratio between two should give analog dewhitening filter shape, which is zero at [70.7+i*70.7,70.7-i*70.7] Hz and pole at [10.61+i*10.61,10.61-i*10.61] Hz, from SimDW filter.
Notebook: /opt/rtcds/caltech/c1/Git/40m/measurements/SUS/PRM/CoilDewhitening/PRMCoilDewhiteningCheck_COIL2OL.ipynb
Result:
- Attachment #1 shows the result for each coil. 4th panel is the ratio, which should match with analog dewhitening filter shape.
- The result looks consistent with our expected analog dewhitening filter shape.
Next:
- Repeat this measurement for other suspensions.
- PRM suspension response have residual frequency dependence from 1/f^2. What is this? |
Attachment 1: PRM_COIL_DewhiteningCheck.pdf
|
|
17551
|
Wed Apr 19 17:02:48 2023 |
Yehonathan | Summary | SUS | Coil dewhitening check for BS and ITMX | [Yehonathan, Paco]
Repeated the coil dewhitening check for BS. Attachment #1 show results. Note however the DW filter shape for BS is more complicated:
zpk([86.7884+i*86.5657, 86.7884-i*86.5657,57.338+i*66.4261, 57.338-i*66.4261,68.83, 546.83],[10.4774+i*10.8736, 10.4774-i*10.8736,10.7093+i*10.5571, 10.7093-i*10.5571,8.67, 3235.8], 1.0252))
Note that YAW data here is actually PIT data and PIT data is plotted twice, as we messed up with data saving...
Repeated also for ITMX. See Attachment #2.
zpk([82.211+i*77.2492;82.211-i*77.2492;62.4258+i*68.3807;62.4258-i*68.3807;113.86;549.5],[10.7026+i*10.6661;10.7026-i*10.6661;10.3176+i*10.6734;10.3176-i*10.6734;13.99;3226.8],1.026)
|
Attachment 1: BS_COIL_DQ_check.pdf
|
|
Attachment 2: ITMX_COIL_DewhiteningCheck.pdf
|
|
17609
|
Wed May 31 16:26:28 2023 |
Yehonathan | Update | SUS | ETMX Coil driver upgrade | {Mayank, Yehonathan}
In order for the ETMX watchdog to keep working while we take the Acromag chassie out we are going to replace the PD_MONs in the variance calculation channels with fast OSEM PD channels/
We made a backup to the c1auxex db file called ETMXauxbak.db in the c1auxex folder.
Now, we are struggling with adding channels to the db file. Once we figure this out we will try to read the fast SENS_IN1 channels.
In the meanwhile this is a broadview (and maybe naive) plan for the coil driver upgrade:
-1. Take out 2 new coil drivers and replace their output resistance with appropriate resistors (What should they be?)
0. Test the new coil driver on the bench.
1. Once a temporary fast-channel-based watchdog is setup and tested, Acromag chassie is taken out to the EE bench.
2. Replace the old DB37 feedthroughs with DB9s according to the ETMY plan. Check if there are extra channels that exist in c1auxex but not in c1auxey that need to be preserved.
3. Wire the acromag units to the DB9s. Add optical isolators and wire the EnableMon and Enable fast channels through them.
4. Change the powering of the Acromag chassie so that we can operate it with a single Sorensen.
5. Add 5 EnableMon channels. We will probably need anothe BIO Acromag as there is only 1 in current chassie according to the old wiring table.
5. Bench-test the Acromag chassie channels.
6. Add 5 new EnableMon channels to the db file.
7. Install Acromag chassie, coil drivers, SatAmps and HV drivers and the connect labeled db9 cables between them.
8. Test the new coil drivers online.
Anything else?
|
17611
|
Thu Jun 1 10:03:47 2023 |
Yehonathan | Update | SUS | ETMX Coil driver upgrade | Thanks. This makes the plan clear.
- Please follow the attached rack plan for 1X9
- The immediate aim is the recovery of the suspension operation without acromag. Focus on it for now, and then move on to the Acromag modification.
-----
> Take out 2 new coil drivers and replace their output resistance with appropriate resistors (What should they be?)
We are supposed to have the coil drivers with the output Rs already replaced. But it is a great idea to check if they are really done or not.
> Test the new coil driver on the bench.
I hope this is not necessary, as the coil drivers / sat amps were already tested before...
> Change the powering of the Acromag chassis so that we can operate it with a single Sorensen.
Good idea. If we ended up having an unnecessary Sorensen, we can remove it and add it to the stock.
|
Attachment 1: rack_plan.pdf
|
|
17619
|
Mon Jun 5 10:01:41 2023 |
Yehonathan | Update | SUS | ETMX fast-channel-watchdog was implemented | {Mayank, Yehonathan}
We updated the c1auxex db file ETMXaux.db. Backup was saved under the same folder called ETMXauxback.db.
The following EPICs channels were added to calculate OSEM PD variances using the RTS:
record(calc,"C1:SUS-ETMX_ULPD_VAR_NEW")
{
field(DESC,"ETMX UL Se")
field(SCAN,"1 second")
field(DTYP,"Raw Soft Channel")
field(INPA, "C1:SUS-ETMX_ULSEN_INMON")
field(INPB, "C1:SUS-ETMX_ULPD_MEAN_NEW")
field("CALC", "0.5*ABS(A - B)")
field(PREC,"1")
field(HOPR,"2")
field(LOPR,"0")
field(SMOO,".97")
field(HIHI,"200")
field(HHSV,"MAJOR")
}
record(ai,"C1:SUS-ETMX_ULPD_MEAN_NEW")
{
field(DESC,"ETMX UL Sensor Mean")
field(INP, "C1:SUS-ETMX_ULSEN_INMON")
field(SCAN,".2 second")
field(PREC,"3")
field(LINR,"LINEAR")
field(EGUF,"10.923")
field(EGUL,"-10.923")
field(EGU, "Volts")
field(HOPR,"10")
field(LOPR,"-10")
field(HIHI,"8")
field(LOLO,"-8")
field(SMOO,".90")
}
record(calc,"C1:SUS-ETMX_LLPD_VAR_NEW")
{
field(DESC,"ETMX LL Se")
field(SCAN,"1 second")
field(DTYP,"Raw Soft Channel")
field(INPA, "C1:SUS-ETMX_LLSEN_INMON")
field(INPB, "C1:SUS-ETMX_LLPD_MEAN_NEW")
field("CALC", "0.5*ABS(A - B)")
field(PREC,"1")
field(HOPR,"2")
field(LOPR,"0")
field(SMOO,".97")
field(HIHI,"200")
field(HHSV,"MAJOR")
}
record(ai,"C1:SUS-ETMX_LLPD_MEAN_NEW")
{
field(DESC,"ETMX LL Sensor Mean")
field(INP, "C1:SUS-ETMX_LLSEN_INMON")
field(SCAN,".2 second")
field(PREC,"3")
field(LINR,"LINEAR")
field(EGUF,"10.923")
field(EGUL,"-10.923")
field(EGU, "Volts")
field(HOPR,"10")
field(LOPR,"-10")
field(HIHI,"8")
field(LOLO,"-8")
field(SMOO,".90")
}
record(calc,"C1:SUS-ETMX_SDPD_VAR_NEW")
{
field(DESC,"ETMX SD Se")
field(SCAN,"1 second")
field(DTYP,"Raw Soft Channel")
field(INPA, "C1:SUS-ETMX_SDSEN_INMON")
field(INPB, "C1:SUS-ETMX_SDPD_MEAN_NEW")
field("CALC", "0.5*ABS(A - B)")
field(PREC,"1")
field(HOPR,"2")
field(LOPR,"0")
field(SMOO,".97")
field(HIHI,"200")
field(HHSV,"MAJOR")
}
record(ai,"C1:SUS-ETMX_SDPD_MEAN_NEW")
{
field(DESC,"ETMX SD Sensor Mean")
field(INP, "C1:SUS-ETMX_SDSEN_INMON")
field(SCAN,".2 second")
field(PREC,"3")
field(LINR,"LINEAR")
field(EGUF,"10.923")
field(EGUL,"-10.923")
field(EGU, "Volts")
field(HOPR,"10")
field(LOPR,"-10")
field(HIHI,"8")
field(LOLO,"-8")
field(SMOO,".90")
}
Additionaly, we changed the watchdog logic such that it will read the variance from these new channels:
record(calc,"C1:SUS-ETMX_LOGIC")
{
field(DESC,"Tests whether RMS too high")
field(SCAN,"1 second")
field(PHAS,"1")
field(PREC,"0")
field(HOPR,"1")
field(LOPR,"0")
field(CALC,"(A<B)&(C<B)&(D<B)")
field(INPA,"C1:SUS-ETMX_ULPD_VAR_NEW NPP NMS")
field(INPB,"C1:SUS-ETMX_PD_MAX_VAR NPP NMS")
field(INPC,"C1:SUS-ETMX_LLPD_VAR_NEW NPP NMS")
field(INPD,"C1:SUS-ETMX_SDPD_VAR_NEW NPP NMS")
}
We also check that the new variance channels match more or less the old ones. Attachment shows a comparison during the transition from tripped watchdog to damped state.
The watchdog logic was checked by setting the MAX_VAR to 0 and observing the watchdog trip. ETMX damping was restored succesfuly. Now we are ready to install the new coil drivers. |
Attachment 1: Screenshot_2023-06-05_11-14-34.png
|
|
17629
|
Mon Jun 12 13:08:09 2023 |
Yehonathan | Update | SUS | ETMX fast-channel-watchdog was implemented | {Mayank, Yehonathan}
We took out coil drivers labeled ETMX, anti-image, anti-aliasing, SATAMP, DAC adapter, ADC adapter, a power strip 2 Sorensens and put them on a table next to 9X1.
DB9 cables were connected between the boards, basically copying the ETMY setup. Power cables from the Sorensens to the power strip and from the power strip to the boards were connected. The Sorensens voltage was set to be 18V.
To test the new boards live we first turn off all the models and the ETMX I/O chassis. Then, we take the ADC and DAC cables connected from the I/O chassis to the ADC and DAC adapters on the rack and connected them to the back of the anti-aliasing and anti-image boards respectively.
Long DB25 cables were connected from the SATAMP to the vacuum flanges.
We turned on the boards and observed on the ETMX camera that the OSEM LEDs were succesfully turned on.
The models were restarted. We changed the wiring of the OSEM signals to be exactly like ETMY model and restarted the model.
We were also able to see the OSEMs PDs on the MEDM screen. We were also able to move the ETMX by applying offsets to the coils. However, there are still some issues: It seems like we are not getting any signal from LL and UR. We are working now to debug this. Turns out we didn't compile the model. After compiling the OSEM PDs seem to have normal values.
Another issue is that the outputs are not connected to the DAC channels in the right order. Cross connection between the coil outpus was corrected. We checked that the DAC mapping is correct by exciting each coil with a 1000 counts DC offset and check the current coming out of the correct pins at the Db25 SATAMP cable using LEDs (attachment 1).
The sitemap.adl was modified to correct the adc to coils mapping.
" label="ETMX"
name="/opt/rtcds/userapps/trunk/sus/c1/medm/templates/NEW_SUS_SCREENS/SUS_SINGLE_OVERVIEW.adl"
args="IFO=C1,OPTIC=ETMX,DCU_ID=45,DAC_UL=0_0,DAC_LL=0_1,DAC_UR=0_2,DAC_LR=0_5,DAC_SD=0_6" (On Koji's Suggestion)
args="IFO=C1,OPTIC=ETMX,DCU_ID=45,DAC_UL=0_0,DAC_LL=0_1,DAC_UR=0_2,DAC_LR=0_6,DAC_SD=0_5"
"
We modified the gain of cts2um filters in the OSEM input filter bank from 0.36 to 0.04. X4 filters at the coil output filter bank were turned off.
We tested the damping and it seems to be working (attachment 2).
Things to do next:
0. Put the boards on the 1X9 rack and reconnect them with labeled cables.
1. Interfacing OpLevs
2. Modifying the InvDW and SimDW filters to match the new DW filter
3. Once the OpLevs are installed check that actuation of YAW and PITCH are balanced and decoupled.
4. Tune the damping Qs
5. Check the OSEM noise. In particular check the butterfly mode (both sensing and excitation should be as low as possible).
6. Acromag upgrade
|
Attachment 1: ETMXDamping.png
|
|
Attachment 2: DACTest.jpg
|
|
17631
|
Wed Jun 14 23:21:03 2023 |
Koji | Update | SUS | ETMX fast-channel-watchdog was implemented | Are you sure that the DAC/OSEM assignments are correct?
args="IFO=C1,OPTIC=ETMX,DCU_ID=45,DAC_UL=0_0,DAC_LL=0_1,DAC_UR=0_2,DAC_LR=0_5,DAC_SD=0_6"
Based on the photo, shouldn't they be
DAC_UL=0_0,DAC_LL=0_2,DAC_UR=0_1,DAC_LR=0_6,DAC_SD=0_5
? |
17632
|
Thu Jun 15 21:30:35 2023 |
Mayank | Update | SUS | ETMX Electronics upgrade | [Mayank, Koji]
We aligned the ETMX with help of reflection of green beam from the ETMX.
ITMX was aligned with Michelson fringe.
We could see the flashing of green HOM and the flashing of IR. However there was no signal at TRX. This is beacuse we have not connected the Higain PD yet. In oder to use the QPD signal instead of Higain PD we set a negative threshold of PD selection.
We were able to see the flasing on the ndscope and the adgusted the ITMX and ETMX aligment to improve the transmission.
Even with high transmission we were not able to get any locking with ETMX actuation. We shifted to ITMX actuation and doubled the gain to lock the Xarm.
To explore this assymettery in ETMX and ITMX actuation. We measured the transfer function of C1:SUS-ITMX_LSC_EXC to C1:LSC-XARM_IN1 and C1:SUS-ETMX_LSC_EXC to C1:LSC-XARM_IN1. (Attachment #1). The TFs look different.
This could be because the Anti-De-Whitening is not yet updated for the ETMX new coil driver.
To Do:
- Shift the boards on the rack.
- Connect BNC board to interface HighGainPD, Green ReFL etc.
- Recover the Suspension and OPlev functions.
- Update the AntiDewhitening Filter
|
Attachment 1: XARM_Locking_SUSTF_comparison.png
|
|
17634
|
Fri Jun 16 18:55:21 2023 |
Yehonathan | Update | SUS | Mounting new boards on 1X9 rack and cleanup | {Mayank, Koji, JC, Yehonathan, Ruben} (Text by Mayank)
We moved the all the boards from the table to the rack and connected the power strip to the rack.
On powering it up we noticed that the SATAMP board tripped automatically. We removed the boards and opened the SATAMP board to find a burned switch. -> Koji replaced the switch of that unit.
We replaced a new SATAMP board with a spare and reconnected all the boards to external Sorensens brought from the spare pile and all the boards were working fine (The suspension was damping).
----
We removed all the unnecessary old boards on the rack and tried to power the boards again one by one with the rack-mount Sorensens. This time the Anti-Aliasing board tripped (thankfully/hopefully without any damage).
Koji pointed out that this could happen if the polarity of power was reversed and JC found out that indeed this was the case. We corrected this and suspensions work now. ADCs are working fine the Eurocrate boads (Oplev and Transmission QPD) are not working as they have some power issue.
Learning: The D type power connecters are not polarized enough. It can be inserted the wrong way if pushed.(Attachment 6) |
Attachment 1: PXL_20230617_005458095.jpg
|
|
Attachment 2: PXL_20230617_005520303.jpg
|
|
Attachment 3: PXL_20230617_013328788.jpg
|
|
Attachment 4: PXL_20230617_013411936.jpg
|
|
Attachment 5: PXL_20230617_013514657.jpg
|
|
Attachment 6: 20230616_221851.jpg
|
|
17635
|
Fri Jun 16 20:38:21 2023 |
Koji | Update | SUS | QPD whitening euro card (ETMX Electronics Replacement) | To remove the +/-5V supply, we needed the same modification to the QPD whitening board. D990399-B aka D1400415. (Euro card)
I appreciated the record by myself and Mayank pointed out the presence of my elog (I totally forgot about this).
I realized that the jumper wires can be much shorter than the photo in the previous elog. I'm not 100% sure yet about the functionality of the modified board.
The updated circuit diagram will be posted on DCC D1400415. |
Attachment 1: PXL_20230617_015907072.MP.jpg
|
|
17702
|
Thu Jul 20 16:29:38 2023 |
yehonathan | Update | SUS | Preparing for ETMX free swing test | Since we removed the Acromag chassie modbus service could not be started so the soft Epics were not availble and the watchdog was not working essentially.
I made a temporary fix by commenting out the Acromag related comands in /cvs/cds/caltech/target/c1auxex/ETMXaux.cmd (a backup was created named ETMXaux.bak.cmd). More specifically, this block was commented out:
#drvAsynIPPortConfigure("c1auxex_xt1221a","192.168.114.11:502",0,0,1)
#modbusInterposeConfig("c1auxex_xt1221a",0,5000,0)
#drvModbusAsynConfigure("C1AUXEX_XT1221A_ADC","c1auxex_xt1221a",0,4,0,8,4,32,"Acromag")
#drvAsynIPPortConfigure("c1auxex_xt1221b","192.168.114.12:502",0,0,1)
#modbusInterposeConfig("c1auxex_xt1221b",0,5000,0)
#drvModbusAsynConfigure("C1AUXEX_XT1221B_ADC","c1auxex_xt1221b",0,4,0,8,4,32,"Acromag")
#drvAsynIPPortConfigure("c1auxex_xt1221c","192.168.114.13:502",0,0,1)
#modbusInterposeConfig("c1auxex_xt1221c",0,5000,0)
#drvModbusAsynConfigure("C1AUXEX_XT1221C_ADC","c1auxex_xt1221c",0,4,0,8,4,32,"Acromag")
#drvAsynIPPortConfigure("c1auxex_xt1541a","192.168.114.21:502",0,0,1)
#modbusInterposeConfig("c1auxex_xt1541a",0,5000,0)
#drvModbusAsynConfigure("C1AUXEX_XT1541A_DAC","c1auxex_xt1541a",0,6,1,8,4,1,"Acromag")
#drvModbusAsynConfigure("C1AUXEX_XT1541A_BIO","c1auxex_xt1541a",0,5,0,4,0,1,"Acromag")
#drvAsynIPPortConfigure("c1auxex_xt1541b","192.168.114.22:502",0,0,1)
#modbusInterposeConfig("c1auxex_xt1541b",0,5000,0)
#drvModbusAsynConfigure("C1AUXEX_XT1541B_DAC","c1auxex_xt1541b",0,6,1,8,4,1,"Acromag")
#drvModbusAsynConfigure("C1AUXEX_XT1541B_BIO","c1auxex_xt1541b",0,5,0,4,0,1,"Acromag")
#drvAsynIPPortConfigure("c1auxex_xt1111a","192.168.114.31:502",0,0,1)
#modbusInterposeConfig("c1auxex_xt1111a",0,5000,0)
#drvModbusAsynConfigure("C1AUXEX_XT1111A_BIO","c1auxex_xt1111a",0,6,0,4,0,1,"Acromag")
This allowed the modbus to start. Once the chassie is back this bloc will need to be restored with possible changes if we decide to add/remove Acromag units.
Unfortunately, software watchdog is still not functional since the logic turns off the enable switch on the coil driver using an Acromag BO that is not there. I'm still trying to figure out how to turn off the MEDM screen coil driver output using the Epics logic. |
17704
|
Thu Jul 20 18:42:51 2023 |
yehonathan | Update | SUS | ETMX free swing test | ETMX freeswing test will start at 1:00 AM.
To cancel it run:
tmux a -t ETMX_KICK
ctrl+c
exit
I modified freeSwing.py so that it doesn't turn off the filter banks in the ETMX suspension screen as to not change the alignment before the kick. |
17706
|
Fri Jul 21 11:44:44 2023 |
yehonathan | Update | SUS | ETMX free swing test | I underestimated measurement time. When I came this morning it was still running and I had to stop it.
I'm setting it up again to run tonight 1 AM with 5 repetitions per DOF instead of 15, and 720 sec free swinging time instead of 1050 sec. |
17714
|
Tue Jul 25 16:33:17 2023 |
yehonathan | Update | SUS | ETMX free swing test | I performed the ETMX matrix diagnolization based on the free swing test using Anchal's scripts.
First I calculated the resonant frequencies using
python /opt/rtcds/caltech/c1/Git/40m/scripts/SUS/InMatCalc/getResFreqs.py ETMX/SUSfreeswing_ETMX_1374048020_POS_PIT_YAW_SIDE.txt -d 600 --optics ETMX -s ETMX/1374048020_POS_PIT_YAW_SIDE_ResFreq.yml
Some changes had to be made to getFreeSwingData.py to account for the fact that all the suspension models has been updated since the last time this test was done.
Then, I run the diagnolization script
python /opt/rtcds/caltech/c1/Git/40m/scripts/SUS/InMatCalc/sus_diagonalization.py ETMX/SUSfreeswing_ETMX_1374048020_POS_PIT_YAW_SIDE.txt -d 600 --optics ETMX -r ETMX/1374048020_POS_PIT_YAW_SIDE_ResFreq.yml -f ETMX/1374048020_POS_PIT_YAW_SIDE_diag_plot.pdf -b 0.01
Attachment 1 shows the spectrum of each DOF before and after diagnolization. There is some improvement in the seperation. I populated the ETMX input matrix with the new calculated values.
I now turn to tune the damping loops.
Aiming for Q=5, I find that POS, PIT and YAW are slightly overdamped and SIDE is underdamped (attachment 2).
These are the changes in the damping gains:
POS gain 75 -> 40
PIT gain 24 - > 2.5
YAW gain 17-> 5.0
SIDE gain 61 -> 250.
Attachment 3 shows the ringdowns after tuning the damping gains. |
Attachment 1: 1374048020_POS_PIT_YAW_SIDE_diag_plot.pdfETMX.pdf
|
|
Attachment 2: ETMXdampingBeforeTuning.pdf
|
|
Attachment 3: ETMXdampingAfterTuning.pdf
|
|
17736
|
Mon Jul 31 15:46:03 2023 |
yuta | Update | SUS | Strange behavior of ITMX and ITMY probably due to DAC issue | I did the same test we did in 40m/17616 to see if DACs are working fine for ITMX and ITMY.
I used awggui to excite all the coil outputs of the optic with 0.1 Hz with an amplitude of 3000 counts, and checked VMons.
Found that ITMX, ITMY, PRM and BS face coil DAC outputs cannot drive positive voltages. In contrast, SRM is fine (see attached).
This is consistent with what we have found in June (40m/17616).
We need to investigate what is causing this DAC failure... |
Attachment 1: DACTest20230731.png
|
|
17767
|
Wed Aug 9 15:02:45 2023 |
Yehonathan | Update | SUS | ETMX coil balancing | Upgrading the ETMX coil drivers calls for new coil balancing.
XARM locking using ETMX actuation shows a lot of TRX variation. To make life slightly easier I switch to ITMX actuation. Indeed, the ITMX variation.
1. I drive the ETMX butterfly mode at 13Hz, 10000 cts, and measure the XARM_IN1 signal on diaggui to minimize BUT->POS coupling. There is significant peak at 13Hz.
2. Changing the current coil gains from [-0.8, 1, -1, 1] to [-1,1,-1,1] already reduced the coupling significantly and it seemed that even for 20000 cts the 13 Hz could not be obsereved.
Next, I minimize the POS->PIT coupling
1. I turn off ETMX damping loops.
2. I drive the ETMX POS mode at 13Hz, 1000cts and measure C1:SUS-ETMX_OL_PIT_IN1
3. POS->PIT coupling is minimized using Anchal's technique. When the peak disappears I increase the dither amp to 100000
Next, POS->YAW is minimized in the same way.
Note: when the coil gains change so does the alignment. It is necessary to bring the optic back to the center of the QPD to make fair comparisons.
Since the gains have changed it is necessary to tune the damping loops again.
I measure Q=6 for POS, Q=4 for PIT and Q=3 for YAW.
I decide to reduce the gain of YAW a from 5 to 2.5. Q=5 for PIT now.
I also tune the ETMX OPLEV gains from 1.2 to 1.4.
Final coil balancing gains were:
UL = -1.233 , UR = 0.801, LL =0.767, LR = -1.199
|
17771
|
Thu Aug 10 12:01:10 2023 |
Paco | Update | SUS | ETMX coil balancing and local damping redux | [Paco, yehonathan]
Following Yehonathan's work from yesterday, I found the following coil balancing gains for ETMX:
['UL', 'UR', 'LR', 'LL'] = [-0.993 1.047 -1.007 0.953]
The tuning procedure was the same as before, and after that we changed the damping gains to achieve 3-5 oscillations per DOF in ETMX; the damping gains changeset is:
[SUSPOS, SUSPIT, SUSYAW, SUSSIDE, OLPIT, OLYAW] = [40.0, 2.5, 5.0, 250.0, 1.2, 1.2] --> [65.0, 10.0, 20.0, 150.0, 1.0, 1.0]
We stopped as we observe a qualitative improvement in the angular stability of the XARM cavity when it is locked after these changes.
|
17809
|
Thu Aug 24 13:10:17 2023 |
Murtaza | Summary | SUS | ETMX Testing | Koji suggested going through the following steps to check the ETMX suspension:
1. Do a free swing test to obtain the input matrix
2. Run the coil balancing script to change the gains on the them
3. Do the ring down test without closing the loop with the OPLEV and just with the OSEM to get Q~5
4. Tune the OPLEV servo gains
Suggestions welcome.
Tuning the ASC would make more sense once ETMX has been calibrated. Will run the free swing test tonight. |
17816
|
Wed Aug 30 17:40:31 2023 |
Murtaza | Update | SUS | ETMX Testing | Update to 17809. The free swing test for ETMX took quite some time, here's a brief summary of what was going wrong and a small update on it.
tldr: The scripts haven't been too helpful to obtain the resonant frequencies. Paco (to the rescue) suggested pulling up the raw data from the channels and get a spectrum manually. From the free swing test that was run on Wednesday (1:00am, was ended abruptly), there was enough data to be able to obtain the resonant frequencies for the Position (0.9524Hz) and Pitch (0.7238Hz) DOFs. The resonant frequencies for Yaw (0.8334Hz) and Side (1.0001Hz) were obtained as well (Aug_Res_Freqs.png).
The percent change in resonant frequencies from the last free swing test run by Yehonathan (17714) for all modes was < 2%. Thus, I will skip the diagonalization and moving to the next step of tuning the coils.
Procedure & Possible Changes
The data was collected in batches, for POS, PITCH (SUSfreeswing_ETMX_1377417624_POS_PIT_YAW_SIDE.txt) (1050 seconds, 15 kicks, 10000 counts) first and then for YAW (SUSfreeswing_ETMX_1377619412_YAW.txt) and SIDE (SUSfreeswing_ETMX_1377623258_SIDE.txt) (720 seconds, 5 kicks, 10000 counts) respectively. At some point, the default could be changed for freeSwing.py as the default setting (15 kicks, 1050 seconds) or 4 DOFs takes (4*15*1050/3600 = 17.5 hours) to new setting (5 kicks, 720 seconds) (4*5*720/3600 = 4 hours). getResFreqs.py is still troublesome so the analysis for this particular test was done in python. The notebook (freeSwingtest_Aug23.ipynb) is attached. It uses 2 really nice snippets of code that Paco has written to obtain the channel data and get the spectra (welch) .
Troublemakers
With some hardware changes to the ETMX (suspectedly the acromag), the script assumes some things which were important to run the test. Manual adjustments: Damping turned off, ramp times for DAMP FILTERS and Coil Outputs set to 0 in EPICS.
The default value for the kick is 30000. However, kicking with this offset in the DOF basis gave clipping in the coil outputs. This was changed by giving it a 10000 offset using options.
Suspicion: In order to run the subsequent scripts (getResFreqs.py and sus_diagonalization.py), it's important to run freeSwing.py by giving the degrees of freedom for which you would want to obtain the resonant frequencies (eg -k POS PIT YAW SIDE) as there is an internal dependency for it. Not sure how the UR Coil kick (default) is usually processed ahead (need to read into this in detail)
Even with the above changes, getResFreqs.py was having trouble reading data from the channel (ValueError: could not broadcast input array from shape (xxxx) into shape (xxxx)). Unsure why.
With the same options (5 kicks, 720 seconds, 10000 counts) for the freeswing test conducted at 01:00am (SUSfreeswing_ETMX_1377565258_YAW_SIDE.txt) and 09:00am (SUSfreeswing_ETMX_1377619412_YAW.txt), the time series for YAW looks terrible for the former (?????). The comparisions are attached (freeswing_yaw_5kicks_10000counts_720s_good.png , freeswing_yaw_5kicks_10000counts_720s_bad.png)
Resonant Frequency in Position: 0.9524518193317955 Hz
Resonant Frequency in Pitch: 0.7238633826921645 Hz
Resonant Frequency in Yaw: 0.833423765599566 Hz
Resonant Frequency in Side: 1.0001085187194791 Hz |
Attachment 1: Aug_Res_Freqs.png
|
|
Attachment 2: freeSwingtest_Aug23.ipynb
|
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "d144d8ff",
"metadata": {},
"outputs": [],
"source": [
"import nds2\n",
... 355 more lines ...
|
Attachment 3: freeswing_yaw_5kicks_10000counts_720s_good.png
|
|
Attachment 4: freeswing_yaw_5kicks_10000counts_720s_bad.png
|
|
17831
|
Thu Sep 7 16:25:01 2023 |
Murtaza | Update | SUS | ETMX Testing | COIL BALANCING FOR ETMX
Summary : I ran coil balancing on ETMX using the CoilStrengthBalancing.ipynb script to get a feel for it, no changes were required from the last time it was run by Paco. I realized I was measuring the wrong signal for the POS coupling (C1:SUS-ETMX_SUSPOS_IN1) while trying to minimize the BUT-POS coupling. This was stupid because the shadow sensors and actuation coils in this case are the OSEMs. The LSC error signal would be more appropriate for measuring the POS coupling.
The convention for the actuation vector used for the coils is [UL, UR, LL, LR]. The frequency, excitation counts are given through the LOCKIN1 channel (SUS->ETMX->LOCKIN1->f(Hz), Amp). The excitation vector is set in (SUS->ETMX->Output Filters->LOCKIN1)
Here, the excitation frequency used = 13Hz.
For "decoupling" the degrees of freedom, the script used is given in /opt/rtcds/caltech/c1/Git/40m/scripts/SUS/coilStrengthBalancing/ETMX/CoilStrengthBalancing.ipynb. In here, small steps are taken to "remove" the DOF contribution such that \\new_gain = old_gain +/- e*(decoupling DOF vector)\\. (e = step size)
The decoupling signals are observed in diaggui in the frequency range of (0 - 20Hz) and a bandwidth of 0.5Hz with exponential averaging (10 averages)
1. Minimizing BUT-POS coupling
Here, the LSC error signal (C1:LSC-POX11_I_IN1) is observed to measure the coupling in POS. For this, the arm is kept locked to obtain a decent error signal.
SANITY CHECK: This was tested by exciting POS [1,1,1,1] at 13Hz and measuring at the LSC error signal in diaggui which indeed showed a peak at 13Hz indeed. Damp filters and OPLEV servos were enabled to prevent the loss of lock.
The initial excitation was given to the Butterfly DOF [1, -1, -1, 1] at 10000 counts and 5 steps were taken in both directions of the POS vector to decouple the POS DOF. The initial peak showing up in the LSC error signal was already at a minimum. The excitation was ramped up to 20000 counts, where the peak was still very small. Thus, no change was made here (Attachment 1).
2. Minimizing POS-PIT coupling
Here, the OPLEV signal for PIT (C1:SUS-ETMX_OL_PIT_IN1) is observed to measure the coupling in PIT. The damping filters and OPLEV servos are disabled.
The initial excitation is given to POS [1, 1, 1, 1] at 5000 counts and 5 steps were taken in both directions of the PIT vector to decouple the PIT DOF. The initial peak showing up in the OPLEV signal was already at a minimum. Thus, no change was made here (Attachment 2).
3. Minimizing POS-PIT coupling
Here, the OPLEV signal for YAW (C1:SUS-ETMX_OL_YAW_IN1) is observed to measure the coupling in YAW. The damping filters and OPLEV servos ared disabled.
The initial excitation is given to POS [1, 1, 1, 1] at 5000 counts and 5 steps were taken in both directions of the YAW vector to decouple the YAW DOF. The initial peak showing up in the OPLEV signal was already at a minimum. Thus, no change was made here (Attachment 3).
4. Minimizing PIT-YAW coupling
This was one rather robust and was not susceptible to the decoupling process. Here, the OPLEV signal for both PIT (C1:SUS-ETMX_OL_PIT_IN1) and YAW (C1:SUS-ETMX_OL_YAW_IN1) are used to measure their relative coupling. Either of the DOF can be excited and while the other DOF can be used for the decoupling vector. Here, PIT was excited and the decoupling DOF vector was YAW. The damping filters and OPLEV servos ared disabled.
The initial excitation was given to the PIT DOF [1, 1, -1, -1] at 5000 counts and 5 steps were taken in both directions of the YAW vector to decouple the YAW DOF. The initial peak showing up in the YAW signal was already at a minimum. The excitation was ramped up to 10000 counts, however the YAW peak barely moved. Thus, no change was made here (Attachment 4).
To next. |
Attachment 1: ETMX_BUT_POS_COUPLING.png
|
|
Attachment 2: ETMX_POS_PIT_COUPLING.png
|
|
Attachment 3: ETMX_POS_YAW_COUPLING.png
|
|
Attachment 4: ETMX_PIT_YAW_COUPLING.png
|
|
17870
|
Fri Sep 22 19:31:24 2023 |
Koji | Update | SUS | Fixed IMC/IFO alignment screens | Fixed IMC/IFO alignment screens |
Attachment 1: Screenshot_2023-09-23_02-28-42.png
|
|
Attachment 2: Screenshot_2023-09-23_02-28-52.png
|
|
17875
|
Wed Sep 27 14:01:11 2023 |
yuta | Update | SUS | Whitening/dewhitening check at Yend | [Paco, Yuta]
We checked whitening and dewhitening situations in all the suspensions, and fixed them for ETMY.
ETMY trans QPD and ETMX trans QPD whitening:
These QPDs have analog whitening filter of two 40:4s (LIGO-D1400415 and LIGO-D1400414). So, two of 4:40 in FM1 and FM2 of C1:SUS-ETM(Y|X)_QPDx should be always on. FM2s were off, so we turned ON today (see Attachment #1).
Fixing ETMY coil dewhitening BIO switch:
Binary switching for ETMY coil dewhitening was not working because DB37 cable from Contec 32 BO card was not connected to the Binary Output Interface Chassis (LIGO-D1002593).
After connecting the DB37 cable with a gender changer (we need a F to F cable), some of the switching worked but not in the correct order. Using a BD37 breakout board, we noticed that the binary switching is doing the switch in the mixed order of coil dewhitening and OSEM whitening. We modified the c1scy model so that the coil dewhitening switches Run/Acq LEDs correctly (Attachment #2 was before, and modified to Attachment #3). OSEM whitening binary switches are now terminated in c1scy model, because OSEM analog whitenings are always on (LIGO-D2100144).
We also modified c1scx model to match with c1scy, although we don't have the acromag for Xend yet.
Attachment #4 is the BIO status when ETMX and ETMY are in run mode (coil dewhitening on). ETM(Y|X)_BO_0_0 is for coil dewhitening, and BO_0_1 is for trans QPDs.
Attachment #5 is the photo of LEDs correctly lit when ETMY is in run mode, after all these modifications.
Summary of Coil Driver situation for all optics:
See, also, LIGO-D1100687
Optics |
Binary Inputs |
Run/Acq LEDs |
Enable/Disable LEDs |
Binary Outputs |
MC1, MC3 |
lower half shorted |
off (Acquire mode; no dewhitening; FM9 28HzELP is off for now) |
all ON (Enable) |
not connected |
MC2 |
lower half shorted |
off (Acquire mode; no dewhitening; so SimDW should be always ON) |
all ON |
not connected |
SRM. PRM, ITMX, ITMY, BS |
lower half shorted |
off (Acquire mode; no dewhitening; so SimDW should be always ON) |
all ON |
not connected |
ETMX |
lower half shorted |
off (Acquire mode; no dewhitening; so SimDW should be always ON) |
all ON |
not connected |
LO1, LO2, AS1, AS4 |
all shorted |
all ON (Run mode; dewhitening ON; so SimDW should be always off) |
all ON |
DB9 cable |
SR2 |
all shorted |
all ON (Run mode; dewhitening ON; so SimDW should be always off) |
all ON |
DB9 cable |
PR2, PR3 |
all shorted (DB9 cable was there, but Run/Acq was off and not working, so we shorted them today) |
all ON (Run mode; dewhitening ON; so SimDW should be always off) |
all ON after shorting (with DB9 cable in Binary Inputs, ON for all coils and off for N.C. UL/LL/UR/N.C. and N.C./LR/SD/N.C.) |
DB9 cable |
ETMY |
DB9 cable (BIO now works from the work described above) |
off when SimDW is ON, ON when SimDV is off |
all ON |
DB9 cable |
By the way, for OSEMs, analog 30:3 whitening are always ON, no matter what the BIO situations are (LIGO-D2100144). So FM1 of C1:SUS-xxxx_xxSEN should be always ON.
Also, since the recent coil driver upgrade, the order of coil outputs in SUS_SINGLE_COIL is UL/LL/UR/LR/SD, and the signs of C1:SUS-xxxx_xxCOIL_GAIN are +--++ (or flipped one). Note that it used to be +-+-+, as the order was UL/UR/LR/LL/SD (40m/16898).
Next:
- Check sign convensions on all the suspensions
- Check 60 Hz noise related dewhitening situation in MC suspensions (40m/17466)
- For LO1, LO2, AS1, AS4, PR2, PR3, SR2, make them "lower half shorted" so that analog dewhitening will be turned off similarly to other vertex suspensions.
|
Attachment 1: Screenshot_2023-09-27_22-35-06_QPDs.png
|
|
Attachment 2: c1scy_Screenshot_2023-09-27_13-53-28.png
|
|
Attachment 3: after_c1scy_Screenshot_2023-09-27_15-52-19.png
|
|
Attachment 4: Screenshot_2023-09-27_22-55-42_BIO.png
|
|
Attachment 5: IMG_7497.jpeg
|
|
17876
|
Wed Sep 27 21:11:36 2023 |
yuta | Update | SUS | Checking suspension damping loop polarity conventions | [Paco, Yuta]
We checked the polarity of suspension damping loops if they follow the conventions we agreed in 40m/16898.
Suspensions are nicely homogenized nicely , with some exceptions (see Attachment #1).
- PRM SDSEN_GAIN is 0.2, but it should be 1.
- LO1, LO2, AS1, AS SDCOIL_GAIN is +/-13, but it should be +/- 1. (Unless there are reasons for these 13)
- Let's make coil dewhitening to be off (in Acq mode) for all by default to homogenize (40m/17875). MC1 and MC3 might require 28Hz ELP for 60Hz noise.
- INMAT should be normalized nicely so that SUSPOS/SIDE_IN will be um and SUSPIT/YAW_IN will be urad. (Are cnts2um in *SEN filters correct?)
- Gain offsets in *COIL filters (e.g. V2A, x0.414) can be adjusted later to have the same actuation efficiencies between suspensions.
Note that *COIL_GAIN are now +--++ or flipped one in the order of UL/LL/UR/LR/SD.
Next:
- Address the points raised above
- Make a script to show current EPICs values for all suspensions to check the damping configurations. |
Attachment 1: IMG_7498.JPG
|
|
3118
|
Fri Jun 25 01:28:33 2010 |
Dmass | HowTo | SVN | SVN woes | I am trying to get an actual complete install of the 40m svn on my machine. It keeps stopping at the same point:
I do a
svn checkout --username svn40m https://nodus.ligo.caltech.edu:30889/svn /Users/dmass/svn
A blah blah blah many files
...
A /Users/dmass/svn/trunk/medm/c1/lsc/C1LSC_ComMode.adl.28oct06
svn: In directory '/Users/dmass/svn/trunk/medm/c1/lsc'
svn: Can't copy '/Users/dmass/svn/trunk/medm/c1/lsc/.svn/tmp/text-base/C1LSC_MENU.adl.svn-base' to '/Users/dmass/svn/trunk/medm/c1/lsc/.svn/tmp/C1LSC_MENU.adl.tmp.tmp': No such file or directory
I believe I have always had this error come up when trying to do a full svn install. Any illumination is welcome.
|
3123
|
Sat Jun 26 05:02:04 2010 |
rana | HowTo | SVN | SVN woes |
Quote: |
I am trying to get an actual complete install of the 40m svn on my machine. It keeps stopping at the same point:
|
I have always seen this when checking out the 40m medm SVN on a non-Linux box. I don't know what it is, but Yoichi and I investigated it at some point and couldn't reproduce it on CentOS. I think its some weirdness in the permissions of tmp files. It can probably be fixed by doing some clever checkin from the control room.
Even worse is that it looks like the whole 'SVN' mantra has been violated in the medm directory by the 'newCDS' team. It could be that Joe has decided to make the 40m a part of the official CDS SVN, which is OK, but will take some retraining on our part. |
3287
|
Sun Jul 25 18:47:23 2010 |
Alberto | Update | SVN | Optickle 40mUpgrade model updated to include short cavity length corrections | I uploaded an updated optickle model of the upgrade to the SVN directory with the optickle models (here). |
7948
|
Mon Jan 28 19:15:14 2013 |
Manasa | Update | Scattering | Scattering setup | [Jan, Manasa]
We are trying to get some scattering measurements in the Y-arm cavity. We have removed one of the viewport windows window covers of ETMY chamber and have installed cameras on a ring that clamps to the window. The window along with the ring attachment is covered with aluminium foil when not in use. |
7962
|
Wed Jan 30 11:18:31 2013 |
Manasa | Update | Scattering | Scattering setup |
Quote: |
[Jan, Manasa]
We are trying to get some scattering measurements in the Y-arm cavity. We have removed one of the viewport windows window covers of ETMY chamber and have installed cameras on a ring that clamps to the window. The window along with the ring attachment is covered with aluminium foil when not in use.
|
[Jan, Manasa]
To align the camera to see small angle scattering from the ITMY, we tried shooting a green laser pointer at the pickoff mirror that was installed in the ETMY chamber such that we hit the face of ITMY. But we concluded that to be a very bad way to align the camera because we have no means to reconfirm that the camera was exactly looking at the scattering from ITMY.
Since we are in air, we came up with a plan B. The plan is to temporarily install a mirror in the ITMY chamber to steer the beam from the laser pointer (installed on the POY table) through ITMY to the pickoff mirror at the ETMY end. This way, we can install the camera at the ETMY window and be sure we are looking at ITMY scattered light. |
7971
|
Thu Jan 31 11:53:31 2013 |
Manasa | Update | Scattering | Scattering setup |
Since we are in air, we came up with a plan B. The plan is to temporarily install a mirror in the ITMY chamber to steer the beam from the laser pointer (installed on the POY table) through ITMY to the pickoff mirror at the ETMY end. This way, we can install the camera at the ETMY window and be sure we are looking at ITMY scattered light.
|
[Jan,Manasa]
We executed plan B. We installed the green laser pointer on POY table and steered the beam through ITMY to hit the pick off mirror at the ETM end by installing *temporary mirrors. The pick off mirror was adjusted in pitch and yaw to center the reflected beam on the viewport window. We have installed irides on the ring attached to the viewport window to direct the beam to the camera.
*Temporary mirrors were removed from the ITMY chamber after this alignment. |
8072
|
Tue Feb 12 23:22:14 2013 |
Manasa | Update | Scattering | Scattering setup |
[Jan, Manasa]
We installed a camera at the ETMY end to look at the scattering pickoff from the ITMY. We were able to see the whole of the beam tube. We need to meditate on where to assemble the camera and use appropriate lenses to narrow the field of view such that we avoid looking at scattering from other sources inside the chamber. |
6957
|
Wed Jul 11 10:17:18 2012 |
Sasha | Summary | Simulations | SURF - Week 2 and 3 - Summary | These past two weeks, I've been working on simulating a basic Fabry-Perot cavity. I finished up a simulation involving static, non-suspension mirrors last week. It was supposed to output the electric field in the cavities given a certain shaking (of the mirrors), and the interesting thing was that it outputted the real and imaginary components seperately, so I ended up with six different bode plots. Since we're only interested in the real part, bodes 2, 4, and 6 can be discarded (see attachment 1). There was a LOT of split-peak behavior, and I think it has to do either with matlab overloading or with the modes of the cavity being very close together (I actually think the first is more likely since a smaller value of T_1 resulted in actual peaks instead of split ones).
At any rate, there really wasn't much I could improve on that simulation (neither was there any point), but I attach the subsystem governing the electric field in the cavity as a matter of academic interest (see attachment 2). So I moved onto simulations where the mirrors are actually suspended pendulums as they are in reality.
A basic simulation of the suspended mirrors gave me fairly good results (see attachment 3). A negative Q resulted in a phase flip, detuning the resonance from the wrong side resulted in a complete loss of the resonance peak, and the peak looked fairly consistent with what it should be. The simulation itself is pretty bare bones, and relies on the two transfer functions P(s) and K(s); P(s) is the transfer function for translating the force of the shaking of the two test masses (lumped together into one transfer function) into actual displacement. Note that s = i*w, where w is the frequency of the force being applied. K(s), on the other hand, is the transfer function that feeds displacement back into the original applied force-based shaking. Like I said, pretty bare bones, but working (see attachment 4 for a bode plot of a standard detuning value and positive Q). Tweaking the restoring (or anti restoring, depending on the sign of the detuning) force constant (K_0 for short) results in some interesting behavior. The most realistic results are produced for K_0 = 1e4, when the gain is much lower overall but the peak in resonance gets you a gain of 100 in dB. For those curious as to where I got P(s) and K(s), see "Measurement of radiation-pressure-induced optomechanical dynamics in a suspended Fabry-Perot cavity" by Thomas Corbitt, et. al.
I'm currently working on a more realistic simulation, with frequency and force noise as well as electronic feedback (via transfer functions, see attachment 5). The biggest thing so far has been trying to get the electronic transfer functions right. Corbitt's group gave some really interesting transfer functions (H_f(s) and H_l(s) for short; H_f(s) gives the frequency-based electronic transfer function, while H_l(s) gives the length-based electronic transfer function), which I've been trying to copy so that I can reproduce their results (see attachment 6). It looks like H_l(s) is a lowpass Butterworth filter, while H_f(s) is a Bessel filter (order TBD). Once that is successful, I'll figure out what H_f(s) and H_l(s) are for us (they might be the same!), add in degrees of freedom, and my first shot at the OSEM system of figuring out where the mirror's position is.
|
Attachment 1: Screen_Shot_2012-07-11_at_9.44.34_AM.png
|
|
Attachment 2: Screen_Shot_2012-07-05_at_2.15.33_PM.png
|
|
Attachment 3: Screen_Shot_2012-07-11_at_9.56.27_AM.png
|
|
Attachment 4: Screen_Shot_2012-07-11_at_9.56.15_AM.png
|
|
Attachment 5: Screen_Shot_2012-07-11_at_10.12.15_AM.png
|
|
Attachment 6: Screen_Shot_2012-07-11_at_10.09.13_AM.png
|
|
6985
|
Wed Jul 18 09:53:20 2012 |
Sasha | Summary | Simulations | SURF - Week 4 - Summary | This past week, I've been working on moving forward with the basic cavity model I developed last week (for future reference, that model was FP_3, and I am now working on FP_4) and refining the suspensions. I added three degrees of freedom to my simulation (such that it now consists of yaw, pitch, displacement, and side-to-side motion) and am attempting to integrate them with the OSEMS. I have also added mechanical damping for all degrees of freedom, and am adding electric damping and feedback. Concerning that, are all of the degrees of freedom locally damped in addition to being actuated on by the control system? Or does the control system do all of the damping itself? The first is the way I'm working on setting it up, but can easily change this if needed.
The next iteration of FP (FP_5) will replace my complicated OSEM --> Degrees of Freedom and vice versa system with the matrix system (see the poster Jenne and Jamie made, "Advanced Suspension Diagnostic Procedure"), as well as adding bounce/roll, yaw/y coupling, various non-damping filters as needed (i.e. the a2f filters), and noise sources. However, I'll only move on to that once I'm sure I have FP_4 working reasonably well. For now at least, the inputs/outputs look fine, and some of the DOF show resonance peaks. I'll become more concerned about where these resonance peaks actually are once I add damping.
Attached is a screenshot my work in progress. Only one of the suspensions has a basic feedback/damping loop going (as a prototype). It looks complicated now, but will simplify dramatically once I have damping worked out. Pink inputs are noises (will probably replace those with noise generators in FP_5) and green inputs are the OSEMS. The red output is the displacement of the cavity from resonance. The blue boxes are suspensions. |
Attachment 1: Screen_Shot_2012-07-18_at_9.50.26_AM.png
|
|
6990
|
Wed Jul 18 15:38:05 2012 |
Eric | Summary | Simulations | SURF Update | Most of my work has been on continuing to develop the Simulink model of the differential arm length control loop.
I have filled in transfer functions for the digital components after looking up the configuration of filters and
gains on the control screens. Filters that were active at the time included 1:50 and 1000:10 on C1LSC_YARM and
C1LSC_POY11 with a gain of 0.1. Jamie also introduced me to foton so that I could obtain the transfer functions
for the necessary filters. I have also continued to work on obtaining the open loop gain and length response
function from the model. The majority of the work now is to refine what I've accomplished so far. Adding details
to the arm cavity and the optics is one potential area for improvement.
I have also spent some time looking at real-time calibration methods from GEO and a proposal for a similar system
on LIGO in P040057-x0 from the DCC. While the work for this project may follow a different path for a real-time
calibration, having a sense for what's been accomplished so far should be helpful in working on a new system. |
7022
|
Wed Jul 25 10:31:33 2012 |
Sasha | Summary | Simulations | SURF - Week 5 - Summary | This week I've been working on refining my simulation and getting it ready to be plugged into the control system. In particular, I've added a first attempt at a PDH control system, matrix conversion from OSEMs to DOF and back, and all necessary DAC/ADC/AA/AI/whitening/dewhitening filters. Most of these work well, but the whitening filters have been giving me trouble. At one point, they were amplifying the signal instead of flatting it out, such that my simulation started outputting NaN (again).
This was wholeheartedly depressing, but switching out the whitening filters for flat ones seemed to make the problem go away, but brought another problem to light. The output to input ratio is minuscule (as in 10^-300/10^243, see Attachment 3 for the resulting bode plot between a force on the suspension pt in the x-direction and my two outputs - error signal and length signal, which is pretty much what you would expect it to be). I suspect that its related to the whitening filter problem (perhaps the dewhitening filter is flattening the signal instead of amplifying?). If that is the case, then switching the whitening/dewhitening filters ought to work. I'll try today and see what happens. The white/dewhite filters together result in a total gain of 1, which is a good fundamental test, but could mean absolutely nothing (i.e. they could both be wrong!). Judging from the fact that we want to flatten out low frequency signal when it goes through the whitening filter, the filters don't look switched (see Attachment 4 for a bode plot of white and dewhite).
The only other source of problems (given that the suspensions/local damping have been debugged extensively throughout this process - though they could bug out in conjunction with the cavity controls?) is the PDH system. However, separating each of the components showed that the error signal generated is not absurd (I haven't tested whether it makes sense or not, but at any rate it doesn't result in an output on the order of 10^-300).
In summary, I've made progress this week, but there is still far to go. Attachment 1 is my simulation from last week, Attachment 2 is my simulation from this week. A talk with Jamie about the "big picture" behind my project helped tremendously. |
Attachment 1: Screen_Shot_2012-07-24_at_10.46.05_AM.png
|
|
Attachment 2: Screen_Shot_2012-07-24_at_10.45.43_AM.png
|
|
Attachment 3: Screen_Shot_2012-07-25_at_10.16.58_AM.png
|
|
Attachment 4: Screen_Shot_2012-07-25_at_10.25.27_AM.png
|
|
7025
|
Wed Jul 25 11:34:31 2012 |
Eric | Summary | Simulations | SURF Update | I am continuing work on simulating the DARM control loop. There is now a block for the length response
function that allows one to recover the h(t) GW input to the model. However, in order to add this
block I had to add some artificial poles to the length response function beacuse Simulink gave me errors
when the transfer function had more zeros than poles. The artificial poles are at 10^6 Hz and higher, so
that they should not affect the response function at the lower frequencies of interest. This approach
appears a bit computationally unstable though because without changing any parameters and re-running
the simulation, a different magnitude for h(t) would be calculated sometimes. A different method may be
necessary to get this working more accurately.
By looking through the C1LSC Simulink model and the C1LSC control screens, Jenne helped me determine
which digital filters are active while the interferometer is locked. To do this, open the C1LSC control
screen, then open the trigger matrix. Inside the trigger matrix window there is a button titled Filter
Module Triggers which opens another window that indicates which filters are triggered for a given channel,
and what values trigger them. For the y arm servo filters FM2, 3, 6, 7, 8 are triggered while in lock and
FM4 and 5 are controlled manually; I am including all of these in the model now.
I have changed the way I manipulate the output from the model for analysis, using Rana's advice. I also
improved the plotting code, now using a custom Bode plot instead.
Attached is a screenshot of the Simulink model as it currently stands, and an older implementation of the
open loop gain. I am in the process of updating the servo filters now, and what is shown in the plot does
not include all the filter modules for the servo filter.
|
Attachment 1: DARM_control_loop_hendries.PNG
|
|
Attachment 2: OLG_old_hendries2.png
|
|
7028
|
Wed Jul 25 14:35:45 2012 |
Sasha | Summary | Simulations | SURF - Week 5 - Summary |
Quote: |
This week I've been working on refining my simulation and getting it ready to be plugged into the control system. In particular, I've added a first attempt at a PDH control system, matrix conversion from OSEMs to DOF and back, and all necessary DAC/ADC/AA/AI/whitening/dewhitening filters. Most of these work well, but the whitening filters have been giving me trouble. At one point, they were amplifying the signal instead of flatting it out, such that my simulation started outputting NaN (again).
This was wholeheartedly depressing, but switching out the whitening filters for flat ones seemed to make the problem go away, but brought another problem to light. The output to input ratio is minuscule (as in 10^-300/10^243, see Attachment 3 for the resulting bode plot between a force on the suspension pt in the x-direction and my two outputs - error signal and length signal, which is pretty much what you would expect it to be). I suspect that its related to the whitening filter problem (perhaps the dewhitening filter is flattening the signal instead of amplifying?). If that is the case, then switching the whitening/dewhitening filters ought to work. I'll try today and see what happens. The white/dewhite filters together result in a total gain of 1, which is a good fundamental test, but could mean absolutely nothing (i.e. they could both be wrong!). Judging from the fact that we want to flatten out low frequency signal when it goes through the whitening filter, the filters don't look switched (see Attachment 4 for a bode plot of white and dewhite).
The only other source of problems (given that the suspensions/local damping have been debugged extensively throughout this process - though they could bug out in conjunction with the cavity controls?) is the PDH system. However, separating each of the components showed that the error signal generated is not absurd (I haven't tested whether it makes sense or not, but at any rate it doesn't result in an output on the order of 10^-300).
In summary, I've made progress this week, but there is still far to go. Attachment 1 is my simulation from last week, Attachment 2 is my simulation from this week. A talk with Jamie about the "big picture" behind my project helped tremendously.
|
Here's a screenshot of what's going on inside the cavity (Attachment 1). The PDH/mixer system outputs 0 for pretty much everything except really high numbers, which is the problem I'm trying to solve now. I assumed that the sidebands were anti-resonant, calculated reflection coefficient F(dL) = Z * 4pi * i/(lambda), where Z = (-r_1 + r_2*(r_1^2 + t_1^2)/(1 - r_1*r_3)), then calculated P_ref = 2*P_s - 4sqrt(P_c*P_s) * Im(F(dL)) * sin(12.5 MHz * t) (this is pictured in Attachment 2), then mixed it with a sin(12.5MHz * t) and low-passed it to get rid of everything but the DC term (this is pictured in Attachment 3), which is the term that then gets whitened/anti-aliased/passed through the loop.
|
Attachment 1: Screen_Shot_2012-07-25_at_2.20.01_PM.png
|
|
Attachment 2: Screen_Shot_2012-07-25_at_2.20.15_PM.png
|
|
Attachment 3: Screen_Shot_2012-07-25_at_2.20.29_PM.png
|
|
Attachment 4: Screen_Shot_2012-07-25_at_2.23.05_PM.png
|
|
7065
|
Wed Aug 1 10:45:38 2012 |
Sasha | Summary | Simulations | SURF - Week 6 - Summary | This week, I worked on transferring my Simulink simulation to the RCG. I made all relevant library parts, now under "SASHA library" in the main Simulink library browser. My main concern has been noises - I've added some rudimentry shot noise, amplitude noise, phase noise, and intensity noise. I have yet to add local oscillator noise, and plan to upgrade the existing noises to actually have the PSD they should (using equations from Rana's and Robb Ward's theses). I'm fairly certain this can be achieved by applying the correct transfer function to white noise (a technique I learned from Masha this week!), so the RCG should be able to handle it (theoretically).
I've also been tweaking my main simulation. After a brief (but scary) attempt at adding optical levers, I decided to shelve it in order to focus on noises/RCG simulating. This is not permanent, and I plan to return to them at some point this week or next. My main problem with them was that I knew how to get from optical lever input to pitch/yaw, but had no idea how to get from pitch/yaw to optical lever input. If I had a complete basis for one in terms of the other, I'd be able to, but I don't think this is the way to go. I'm sure there is a good way to do it (it was done SOMEHOW in the original simulation of the suspensions), I just don't know it yet.
In the aftermath of the optical lever semi-disaster, my simulation is once again not really outputting anything, but since it actually worked before adding the optical levers, I'm pretty sure I can get it to work again (this is why its important to use either git or BACKUPS, >.< (or both)).
We also wrote our progress reports this week. Mine includes some discussion on the basics of cavities/the mechanics of the suspensions/brief intro to PDH, and I'll add a section on noises in the next draft. Maybe this'll be of some use to someone someday? One can only hope.
|
7076
|
Thu Aug 2 03:06:57 2012 |
Sasha | Update | Simulations | LS Plant (LSP) is officially ONLINE | My ls plant compiled!! The RCG code can now be found in /opt/rtcds/rtscore/tags/advLigoRTS-2.5. I uploaded a copy of c1lsp.mdl onto the svn.
The weird "failed to connect" error was due to the fact that I named my inputs the same thing as my goto/from tags, so the RCG got confused. Once I renamed my inputs, it worked! I'm not sure what happened to the original "not enough parts" error; it didn't appear a single time during the rebuilding process. Anyway, I made the PDH block much neater, though the lines between PDH and ADC are looking wonky (this is purely an aesthetic problem, not a "oh god my simulation will DIE right now if I don't fix it" problem). I'll fix it in the morning; screenshot attached!
The original c1lsp was kind of sad. I updated it extensively and brought it into the modern era with color. The original c1lsp.mdl should also be on the svn. Tommorow, I'll get started on figuring out how to get LIGO specific noises from white noise. |
Attachment 1: Screenshot-1.png
|
|
7079
|
Thu Aug 2 21:40:55 2012 |
Jamie | Update | Simulations | ETMX simplant model revived | I revived the ETMX simplant model, c1spx. It's running on cpu4 on c1iscex, and interfaces with C1scx via SHMEM.
The channel names for the simplant suspensions will be SUP, so the channel from this model will C1:SUP-ETMX_.
Next I'll try to get the ITMX and LSC ("LSP") simplant models running so we can run a "full" cavity simulation.
Sasha has been working on LSP, so we should be ready to do something with that soon. In the mean time she's going to fix up the SPX MEDM screens, since some channel names have been changed since it was last run. |
7097
|
Mon Aug 6 20:27:59 2012 |
Jamie | Update | Simulations | More work on getting simplant models running: c1lsp and c1sup | I'm trying to get more of the simplant models running so that we (me and Sasha Surf) can get a full real-time cavity simplant running. As I reported last week, c1spx is running again on c1iscex.
The two new simplant models are c1sup, which holds the simplant for ITMX, and c1lsp, which holds the IFO simplant, specifically the one we're working on for XARM.
Here's the relevant info:
model host dcuid cpu
c1spx c1iscex 61 4
c1sup c1sus 62 6
c1lsp c1lsc 60 6
c1spx and c1sup will be running the sus_single_plant parts for ETMX and ITMX simplant. All the simplant suspension channels will be names "SUP" (as opposed to "SUS" for control).
c1lsp is now running, but c1sup won't run for unknown reasons. The c1sup model is not very complicated, and in fact is more-or-less identical to c1spx. It compiles and installs and even loads, but it completely unresponsive after loading. Unfortunately I've had enough CDS bullshit for today, so I'll try to figure out what's going on tomorrow. |
7116
|
Wed Aug 8 11:16:06 2012 |
Sasha | Summary | Simulations | SURF - Week 7 - Summary | This week, I brought my c1lsp model online and fixed up some the medm screens for c1spx. Along the way, I ran into a few interesting problems (and learned a bit about bash scripting and emacs! :D). The screens for the main TM_RESP matrix are not generating automatically, and the medm screens don't want to link to the channels, for some reason. I don't have this problem with the other matrices (i.e. C2DOF and SEN_OUT), so I think it has something to do with TM_RESP being a filter matrix (which the others are not). In addition, the noise overview medm screens for c1spx are practically nonexistent - someone just copied the file for the SUS-ETMX screens into the master directory for c1spx, so they need a complete overhaul. I am willing to do this, but Jamie told me to focus my attentions elsewhere.
So I went back to noise generation. I've been using Matlab to figure out how to recreate the various noise sources (laser amplitude noise, local oscillator phase/amplitude noise, and 60 Hz/ADC. Frequency noise will be added some time this week and seismic noise should be already covered in Jamie's suspension model) in my c1lsp model. I'm doing it the way the RCG does it - by applying a filter to white noise. I'm generating white noise by just using a random number generator and pwelch-ing it to get the power spectral density.
For the filters themselves, I picked z, p, k such that it shaped the white noise PSD to look like the PSD of the noise in question. This was fairly straightforward once I figured out how zeroes and poles affected PSD. Once I'd picked zpk, I applied a bilinear transform to get a discrete zpk out, then converted to a second order section to make computation faster. I then applied that to the white noise (matlab has a convenient "sosfilt" function) and pwelch-ed/graphed it to get the result.
Attached is my attempt at filtering white noise to look like 60 Hz. noise. I can't seem to find a way to pick z and p such that the peak is more narrow (i.e. other than having two complex conjugated poles at 60 Hz.). I took the spectrum of 60 Hz. noise from a terminated ADC channel (Masha kindly let me borrow one of her GURALP channels).
EDIT: I also remembered that I've been looking for how to get a good power spectrum for the rest of the noises. Jenne referred me to Kiwamu's work on this, and I'm mostly going off elog #6133. If you have any other good elogs/data on noises, please feel free to send them my way.
I then measured the PSD of the sensors on the real suspended optics and a PSD of the suspension model. It looks like the OSEMs on the suspension model are only reading white noise, which probably means a lost connection somewhere (Attachment 2 is what the model SHOULD produce, Attachment 3 is what the model ACTUALLY produces). I perused Jamie's model, but couldn't find anything. Not sure where else to check, but I'll continue thinking about it/trying to fix it. |
Attachment 1: Screen_Shot_2012-08-06_at_9.20.02_PM.png
|
|
Attachment 2: Screen_Shot_2012-08-08_at_11.13.55_AM.png
|
|
Attachment 3: Screen_Shot_2012-08-08_at_11.08.23_AM.png
|
|
7132
|
Thu Aug 9 04:26:51 2012 |
Sasha | Update | Simulations | All c1spx screens working | As the subject states, all screens are working (including the noise screens), so we can keep track of everything in our model! :D I figured out that I was just getting nonsense (i.e. white noise) out of the sim plant cause the filter matrix (TM_RESP) that controlled the response of the optics to a force (i.e. outputted the position of the optic DOF given a force on that DOF and a force on the suspension point) was empty, so it was just passing on whatever values it got based on the coefficients of the matrix without DOING anything to them. In effect, all we had was a feedback loop without any mechanics.
I've been working on getting the mechanics of the suspensions into a filter/transfer function form; I added something resembling that into foton and turned the resulting filter on using the shiny new MEDM screens. However, the transfer functions are a tad wonky (particularly the one for pitch), so I shall continue working on them. It had a dramatic effect on the power spectrum (i.e. it looks a lot more like it should), but it still looks weird.
Still haven't found the e-log Jamie and Rana referred me to, concerning the injection of seismic noise into the simulation. I'm not terribly worried though, and will continue looking in the morning. Worst case scenario, I'll use the filters Masha made at the beginning of the summer.
Masha and I ate some of Jamie's popcorn. It was good. |
7133
|
Thu Aug 9 07:24:58 2012 |
Sasha | Update | Simulations | All c1spx screens working |
Quote: |
As the subject states, all screens are working (including the noise screens), so we can keep track of everything in our model! :D I figured out that I was just getting nonsense (i.e. white noise) out of the sim plant cause the filter matrix (TM_RESP) that controlled the response of the optics to a force (i.e. outputted the position of the optic DOF given a force on that DOF and a force on the suspension point) was empty, so it was just passing on whatever values it got based on the coefficients of the matrix without DOING anything to them. In effect, all we had was a feedback loop without any mechanics.
I've been working on getting the mechanics of the suspensions into a filter/transfer function form; I added something resembling that into foton and turned the resulting filter on using the shiny new MEDM screens. However, the transfer functions are a tad wonky (particularly the one for pitch), so I shall continue working on them. It had a dramatic effect on the power spectrum (i.e. it looks a lot more like it should), but it still looks weird.
Still haven't found the e-log Jamie and Rana referred me to, concerning the injection of seismic noise into the simulation. I'm not terribly worried though, and will continue looking in the morning. Worst case scenario, I'll use the filters Masha made at the beginning of the summer.
Masha and I ate some of Jamie's popcorn. It was good.
|
Okay! Attached are two power spectra. The first is a power spectrum of reality, the second is a power spectrum of the simPlant. Its looking much better (as in, no longer obviously white noise!), but there seems to be a gain problem somewhere (and it doesn't have seismic noise). I'll see if I can fix the first problem then move on to trying to find the seismic noise filters. |
Attachment 1: Screenshot.png
|
|
Attachment 2: Screenshot-1.png
|
|
7141
|
Fri Aug 10 11:00:52 2012 |
Sasha | Update | Simulations | Messing with ETMX | I've been trying to get the simPlant model to work, and my main method of testing is switching between the real ETMX and the simulated ETMX and comparing the resulting power spectrum (the closer the two are, the more our simulation works). While the simPlant is on, ETMX is NOT BEING DAMPED. I started this ~Wednesday, and the testing will continue today, then hopefully we'll get a similiar simPlant up for ITMX (at which point, testing will continue for both ITMX and ETMX).
TL;DR: ETMX is not being continuously damped, XARM will likely be exhibiting some wonky behavior next week. |
|