40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log, Page 8 of 335  Not logged in ELOG logo
ID Date Author Type Category Subject
  16504   Tue Dec 14 11:33:29 2021 TegaUpdatePEMgit repo for temp sensor and sus medm

[Temperature sensor]

Added new temp EPICs channels to database file (/cvs/cds/caltech/target/c1pem1/tempsensor/C1PEMaux.db)

Added new temp EPICs channels to slow channels ini file (/opt/rtcds/caltech/c1/chans/daq/C0EDCU.ini)

 

[SUS medm screen]

Moved new SUS screen to location : /opt/rtcds/userapps/trunk/sus/c1/medm/templates/NEW_SUS_SCREENS

Place button on the new screen to link to the old screen and replace old screens link on sitemap.

Fixed Load Coefficient button location issue

Fixed LOCKIN flow diagram issue

Fixed watchdog labelling issue

Linked STATE WORD block to FrontEnd STATUS screen

Replaced the 2x1 pit/yaw filter screens for LOCK and DAMP fliters with 3x1 LPY filter screen

*Need some more time to figure out the OPTLEV red indicator

  16503   Mon Dec 13 15:05:47 2021 TegaUpdatePEMgit repo for temp sensor and sus medm

[temperature sensor]

git repo: https://git.ligo.org/40m/tempsensor.git

todo

Update the temp sensor channels to fit with cds format, ie. "C1:PEM-TEMP_EX", "C1:PEM-TEMP_EY", "C1:PEM-TEMP_BS"

- Use FLOAT32_LE data format for the database file (/cvs/cds/caltech/target/c1pem1/tempsensor/C1PEMaux.db) to create the new channels.

- Keep the old datadase code and channels so we can compare with new temp channels afterwards. Also we need a 1-month overlap b4 deleting the old channels.

 

[sus medm screen]

git repo: https://git.ligo.org/40m/susmedmscreen.git

todo (from talk with Koji)

- Link stateword display to open "C1CDS_FE_STATUS.adl"

- Damp filter and Lock filter buttons should open a 3x1 filter screen so that the 6 filters are opened by 2 buttons compared to the old screen that has 3 buttons connected to 2X1 filter screen

- Make the LOCKIN signla modulation flow diagramlook more like the old 40m screen since that is a better layout

- Move load coefficient button to top of sus medm screen (beside stateword)

- The rectangular red outline around the oplev display is confusing and needs to be modified for clarity

- COMM tag block should not be 3D as this suggests it is a button. Make it flat and change tag name to indicate individual watchdog control as this better reflect its functionality. Rename current watchdog switch to watchdog master is it does what the 5 COMM switches do at once.

- Macro pass need to be better documented so that when we call the sus screens from locations other than sitemap, we should know what macro variables to pass in, like DCU_ID etc.

- Edit sitemap.adl to point only to the new screens. Then create a button on the new screen that points to the old screen. This way, we can still access the old screen without clogging sitemap.

- Move the new screen location to a subfolder of where the current sus screens reside, /opt/rtcds/userapps/trunk/sus/c1/medm/templates

- Rename the overview screen (SUS_CUST_HSSS_OVERVIEW.adl) to use the SUS_SINGLE nomenclature, i.e. SUS_SINGLE_OVERVIEW.adl

- Keep an eye of the cpu usage of c1pem as we add BLRMS block for other optics. 

 

 

  16502   Fri Dec 10 21:35:15 2021 KojiSummarySUSVertex SUS DAC adapter ready

4 units of Vertex SUS DAC adapter (https://dcc.ligo.org/LIGO-D2100035) ready.

https://dcc.ligo.org/LIGO-S2101689

https://dcc.ligo.org/LIGO-S2101690

https://dcc.ligo.org/LIGO-S2101691

https://dcc.ligo.org/LIGO-S2101692

The units are completely passive right now and has option to extend to have a dewhitening board added inside.
So the power switch does nothing.

Some of the components for the dewhitening enhancement are attached inside the units.

 

 

Attachment 1: PXL_20211211_053155009.jpg
PXL_20211211_053155009.jpg
Attachment 2: PXL_20211211_053209216.jpg
PXL_20211211_053209216.jpg
Attachment 3: PXL_20211211_050625141-1.jpg
PXL_20211211_050625141-1.jpg
  16501   Fri Dec 10 19:22:01 2021 KojiUpdateVACPumping down the RGA section

The scan result was ~x10 higher than the previously reported scan on 2020/9/15 (https://nodus.ligo.caltech.edu:8081/40m/15570), which was sort of high from the reference taken on 2018/7/18.

This just could mean that the vacuum level at the RGA was x10 high.
We'll just go ahead with the vacuum repair and come back to the RGA once we return to "vacuum normal".

Meanwhile, I asked Jordan to turn off the RGA to make it cool down. I shut off RGA section and turned TP2 off.

  16500   Fri Dec 10 18:55:58 2021 TegaUpdateCDSNew SUS medm screen update

Turns out the BLRMS monitoring channels for MC1, MC2, MC3, ITMY and SRM already exist in c1pem. So I modified the new SUS screen to display the BLRMS info for the aforementioned optics. Next step is to add the BLRMS monitor for PRM, ITMX, ETMX and ETMY. This would require extending the number of inputs for the "SUS" block in c1pem to accomodate the additional inputs from the remaining optics.

Attachment 1: BLRMS_ITMY_screenshot.png
BLRMS_ITMY_screenshot.png
  16499   Fri Dec 10 15:59:23 2021 PacoUpdateBHDFinished Coil driver (even serial number) units tests

[Paco, Anchal]

We have completed modifications and testing of the HAM Coil driver D1100687 units with serial numbers listed below. The DCC tree reflects these changes and tests (Run/Acq modes transfer functions).

SERIAL # TEST result
S2100608 PASS
S2100610 PASS
S2100612 PASS
S2100614 PASS
S2100616 PASS
S2100618 PASS
S2100620 PASS
S2100622 PASS
S2100624 PASS
S2100626 PASS
S2100628 PASS
S2100630 PASS
S2100632 PASS
S2101648** FAIL (Ch1, Ch3 run mode)
S2101650** FAIL (Ch3 run mode)
S2101652** PASS
S2101654** PASS

** A fix had to be done on the DC power supply for these. The units' regulated power boards were not connected to the raw DC power, so the cabling had to be modified accordingly (see Attachment #1)

Attachment 1: dc_fail.jpg
dc_fail.jpg
  16498   Fri Dec 10 13:02:47 2021 Ian MacMillanSummaryComputersQuantization Noise Calculation Summary

I am trying to replicate the simulation done by Matt Evans in his presentation  (see Attachment 1 for the slide in particular). 

He defines his input as x_{\mathrm{in}}=sin(2\pi t)+10^{-9} sin(2\pi t f_s/4) so he has two inputs one of amplitude 1 at 1 Hz and one of amplitude 10^-9 at 1/4th the sampling frequency  in this case: 4096 Hz

For his filter, he uses a fourth-order notch filter. To achieve this filter I cascaded two second-order notch filters (signal.iirnotch) both with locations at 1 Hz and quality factors of 1 and 1e6. as specified in slide 13 of his presentation

I used the same procedure outlined here. My results are posted below in attachment 2.

Analysis of results:

As we can see from the results posted below the results don't match. there are a few problems that I noticed that may give us some idea of what went wrong.

First, there is a peak in the noise around 35 Hz. this peak is not shown at all in Matt's results and may indicate that something is inconsistent.

the second thing is that there is no peak at 4096 Hz. This is clearly shown in Matt's slides and it is shown in the input spectrum so it is strange that it does not appear in the output.

My first thought was that the 4kHz signal was being entered at about 35Hz but even when you remove the 4kHz signal from the input it is still there. The spectrum of the input shown in Attachment 3 shows no features at ~35Hz.

The Input filter, Shown in attachment 4 shows the input filter, which also has no features at ~35Hz. Seeing how the input has no features at ~35Hz and the filter has no features at ~35Hz there must be either some sort of quantization noise feature there or more likely there is some sort of sampling effect or some effect of the calculation.

To figure out what is causing this I will continue to change things in the model until I find what is controlling it. 

I have included a Zip file that includes all the necessary files to recreate these plots and results.

Attachment 1: G0900928-v1_(dragged).pdf
G0900928-v1_(dragged).pdf
Attachment 2: PSD_COMP_BIQ_DF2.pdf
PSD_COMP_BIQ_DF2.pdf
Attachment 3: Input_PSD.pdf
Input_PSD.pdf
Attachment 4: Input_Filter.pdf
Input_Filter.pdf
Attachment 5: QuantizationN.zip
  16497   Thu Dec 9 21:57:35 2021 YehonathanUpdateBHDSOS assembly

{Yehonathan, Tega}

We took the optic out of the SOS tower and removed the side blocks. We mounted new side blocks with wires already clamped in them in the reverse order.

The Adapter was placed back into the SOS and the wires were threaded through the wire clamp and suspended on the winches. The roll of the optic was balanced using a camera (attachment 1).

The pitch was balanced. this time I used 2 counterweights instead of 1 in order to not have to take so much of the weight out.

The mechanical resonances were measured by taking a 100 sec time series of QPD readout and doing PSD estimation (attachment 2). The mirror motion was damped as much as possible before taking the measurement.

3 peaks below 1.5Hz can be seen with frequencies of 755mHz (Yaw), 942mHz, 1040mHz (Pitch + Pos). The pitch/pos peaks are a bit close to each other, I bet if we go back to 1 counterweight the situation will be better.

While inserting the side OSEM I realized I didn't check the overall height of the adapter. The magnet was too high. I will fix it tomorrow and repeat the roll balancing.

 

Attachment 1: balancingsos2.png
balancingsos2.png
Attachment 2: FreeSwingingSpectra.pdf
FreeSwingingSpectra.pdf
  16496   Thu Dec 9 18:22:36 2021 TegaUpdateCDSNew SUS medm screen update

Work on the medm screen for SUS RMS monitor is ongoing. The next step would be to incorporate this into the SUS medm screen, add the BLRMS model to the SUS controller model, recompile, check that the channels are being correctly addressed, then load the appropriate bandpass and lowpass filters.  

Attachment 1: Screen_Shot_2021-12-09_at_6.21.09_PM.png
Screen_Shot_2021-12-09_at_6.21.09_PM.png
  16495   Thu Dec 9 00:32:56 2021 TegaUpdateCDSNew SUS medm screen update

The new SUS screen can be reached via sitemap -> IFO SUS button -> NEW ETMX dropdown menu link. Please use and provide feedback. Not sure exactly if we need/want the display screens after the IOP model on the right of the medm screen. I have not been able to locate the corresponding channels but did not want to remove them until I was sure that we don't plan to add these features to our screens. When all bugs have been ironed out, we can use appropriate macro substitution for the other optics.

The next feature to add is the BLRMS to the coil and PD channels. I plan to combine the PEM BLRMS medm implementation with the sus_single_BLRMS model block (located in  /opt/rtcds/userapps/release/cds/c1/models). This way we use the latest BLRMS block in "/opt/rtcds/userapps/release/cds/common/models/BLRMS.mdl" whilst also leveraging the previous work done on the sus_single_BLRMS model, which neatly fits into our current SUS model.

Attachment 1: Screen_Shot_2021-12-09_at_12.29.30_AM.png
Screen_Shot_2021-12-09_at_12.29.30_AM.png
Attachment 2: Screen_Shot_2021-12-09_at_12.42.35_AM.png
Screen_Shot_2021-12-09_at_12.42.35_AM.png
  16494   Wed Dec 8 10:14:43 2021 JordanUpdateVACPumping down the RGA section

After an overnight pumpdown/RGA warm up, I took a 100 amu scan of the RGA volume and subsequent pumping line. Attached is a screenshot along with the .txt file. Given the high argon peak (40) and the N2/O2 ratio, it looks like there is a decent sized air leak somehwere in the volume.

Are we interested in the hydrocarbon leak rates of this volume? That will require another scan with one of the calibrated leaks opened.

Edit: Added a Torr v AMU plot to see the partial pressures

Quote:

So that Jordan can run the RGA scan this afternoon, I ran TP3 and started pumping down the RGA section.

Procedure:
- Same 1~4
- Same 5
- 6 Opened only the backing path for TP3
- 7 Turned on TP3 only

- TP3 reached the nominal full speed @75kRPM

- 11 Opened V5 to pump the pump spool -> Immediately reached P3<1e-4
- 12 Opened VM3 to pump the RGA section -> Immediately reached P4<1e-4

The pumps are kept running. I'll come back later to shut down the pumps.
=> Jordan wants to heat the filament (?) and to run the scan tomorrow.
So we decided to keep TP3 running overnight. I switched TP3 to the stand-by mode (= lower rotation speed @50kRPM)

 

 

Attachment 1: 40m_RGAVolume_12_8_21.PNG
40m_RGAVolume_12_8_21.PNG
Attachment 2: 40m_RGAVolume_Torr_12_8_21.PNG
40m_RGAVolume_Torr_12_8_21.PNG
  16493   Tue Dec 7 13:12:50 2021 KojiUpdateVACPumping down the RGA section

So that Jordan can run the RGA scan this afternoon, I ran TP3 and started pumping down the RGA section.

Procedure:
- Same 1~4
- Same 5
- 6 Opened only the backing path for TP3
- 7 Turned on TP3 only

- TP3 reached the nominal full speed @75kRPM

- 11 Opened V5 to pump the pump spool -> Immediately reached P3<1e-4
- 12 Opened VM3 to pump the RGA section -> Immediately reached P4<1e-4

The pumps are kept running. I'll come back later to shut down the pumps.
=> Jordan wants to heat the filament (?) and to run the scan tomorrow.
So we decided to keep TP3 running overnight. I switched TP3 to the stand-by mode (= lower rotation speed @50kRPM)

 

  16492   Tue Dec 7 10:55:25 2021 Ian MacMillanSummaryComputersQuantization Noise Calculation Summary

[Ian, Tega]

Tega and I have gone through the IIR Filter code and optimized it to make sure there aren't any areas that force high precision to be down-converted to low precision.

For the new biquad filter we have run into the issue where the gain of the filter is much higher than it should be. Looking at attachments 1 and 2, which are time series comparisons of the inputs and outputs from the different filters, we see that the scale for the output of the Direct form II filter shown in attachment 1 on the right is on the order of 10^-5 where the magnitude of the response of the biquad filter is on the order of 10^2. other than this gain the responses look to be the same. 

I am not entirely sure how this gain came into the system because we copied the c code that actually runs on the CDS system into python. There is a gain that affects the input of the biquad filter as shown on this slide of Matt Evans Slides. This gain, shown below as g, could decrease the input signal and thus fix the gain. However, I have not found any way to calculate this g.

 

 

With this gain problem we are left with the quantization noise shown in Attachment 4.

State Space:

I have controlled the state space filter to act with a given precision level. However, my code is not optimized. It works by putting the input state through the first state-space equation then integrating the result, which finally gets fed through the second state-space equation. 

This is not optimized and gives us the resulting quantization noise shown in attachment 5.

However, the state-space filter also has a gain problem where it is about 85 times the amplitude of the DF2 filter. Also since the state space is not operating in the most efficient way possible I decided to port the code chris made to run the state-space model to python. This code has a problem where it seems to be unstable. I will see if I can fix it

 

 

Attachment 1: DF2_TS.pdf
DF2_TS.pdf
Attachment 2: BIQ_TS.pdf
BIQ_TS.pdf
Attachment 4: PSD_COMP_BIQ_DF2.pdf
PSD_COMP_BIQ_DF2.pdf
Attachment 5: PSD_COMP_SS_DF2.pdf
PSD_COMP_SS_DF2.pdf
  16491   Mon Dec 6 18:23:04 2021 YehonathanUpdateBHDSOS assembly

I installed OSEMs on the LO1 SOS. To my surprise, the side magnet is not in the center of the side OSEM. It completely misses the LED as can be seen in the attachment.

Looking at the CAD model, it turns out the position of the OSEM on the left side plate is different from the position of the OSEM on the right side plate in the SOS tower.

We need to take the optic down, swap the right and left side blocks, and resuspend it.

There is not enough 🤦🏻‍♂️in the world

Attachment 1: signal-2021-12-06-165751_001.jpeg
signal-2021-12-06-165751_001.jpeg
  16490   Mon Dec 6 14:26:52 2021 KojiUpdateVACPumping down the RGA section

Jordan reported that the RGA section needs to be pumped down to allow the analyzer to run at sufficiently low pressure (P<1e-4 torr).
The RGA section was pumped down with the TP2/TP3. The procedure is as listed below.
If the pressure go up to P>1e-4 torr, we need to keep the pump running until the scan is ready.

----
### Monitor / Control screen setup ###
1. On c1vac: cd /cvs/cds/caltech/target/c1vac/medm
2. medm -x C0VAC_MONITOR.adl&
3. RGA section (P4) 3.6e-1 torr / P3/P2 still atm.
4. medm -x C0VAC_CONTROL.adl

### TP2/TP3 backing ###
5. Turn on AUX RP with the circuit breaker hanging on the AC.
6. Open manual valve for TP2/3/ backing / PTP2/3 ~ 8torr

### TP2/TP3 starting ###
7. Turned on TP2/TP3 with the Standby OFF

### Pump down the pump spool ###
8. Connect manual RP line (Quick Connect)
9. Turned on RP1/RP3 -> quickly reached 0.4 torr
10. Open V6 for pump spool pumping -> Immediately go down to sufficiently low pressure for TP2/TP3.
(10.5 I had to close V6 at this point)
11. Open V5 to start pumping pump spool with TP3 (TP2 still stand by) -> P3 immediately goes down below 1e-4 torr. This automatically closed V6 because of the low pressure of P3 (interlocking)

### Pump down the RGA section ###
12. Open VM3 to pump down RGA section -> P4 goes down to <1e-4 torr
13. P2 is still 2e-3. So decided to open V4 to use TP2 (now it's ready) too. -> Saturated at 1.7e-3

### Shutting down ###
14. Close VM3
15. Close V4/V5 to isolate TP2/TP3
16. Stop TP2/TP3 -> Slowing down
17. Stop RP1/RP3
18. Close the manual valves for TP2/3/ backing
19. Stop AUX RP with the circuit breaker hanging on the AC.

  16489   Wed Dec 1 12:57:08 2021 YehonathanUpdateBHDSOS assembly

{Yehonathan, Tega}

We glued some magnets onto modified side blocks. We followed pretty much the same procedure form last time. The music wires were clamped on the side blocks away from the optic adapter. The clamps were screwed down using the low profile screws the Jordan obtained from UC components to allow maximum clearance for the coils (Attachment 2).

The modified side blocks with wires already clamped in them were screwed onto the adapter. We put the adapter on the EQ stops and do rough adjustments, making sure the side magnet is roughly on the center of a coil we inserted to the side. The wires were threaded through the wire clamp on the suspension block and clamped on the winches. We realigned the Oplev beam such that it is parallel to the table using the quad photodiode.

We balanced the height of the adapter. This time we used a camera facing the adapter. The tilt of the camera was set by drawing a straight line (red line in attachment 1) such that the bottom clamps on the SOS are parallel to it.

Then, we adjusted the winches such that the screws on the side blocks are on the same green line on attachment 1.

Once the height was adjusted, we clamped the wire on the suspension block and cut it at the winches.

We balanced the optic. We had to take out the front counterweight to get the balance (attachment 3).

We checked whether the wire is touching anything. We confirmed that it doesn't. The wire goes nicely through the new hole on the side blocks (attachment 4, 5).

We measure the resonance frequency for both yaw (attachment 6) and pitch (attachment 7). They both seem to be sub-Hz. The pitch trace also shows that the oscillations are centered around 0 meaning the optic is balanced.

There's still the issue of what to do with the lower back EQ stop not touching the adapter.

Attachment 1: SOS_Roll_Balance.png
SOS_Roll_Balance.png
Attachment 2: IMG_20211201_120041570.jpg
IMG_20211201_120041570.jpg
Attachment 3: IMG_20211201_115551005.jpg
IMG_20211201_115551005.jpg
Attachment 4: IMG_20211201_115640728.jpg
IMG_20211201_115640728.jpg
Attachment 5: IMG_20211201_115454629.jpg
IMG_20211201_115454629.jpg
Attachment 6: IMG_20211201_115717907.jpg
IMG_20211201_115717907.jpg
Attachment 7: Pitch_oscillations.png
Pitch_oscillations.png
  16488   Tue Nov 30 17:11:06 2021 PacoUpdateGeneralMoved white rack to 1X3.5

[Paco, Ian, Tega]

We moved the white rack (formerly unused along the YARM) to a position between 1X3, and 1X4. For this task we temporarily removed the hepas near the enclosures, but have since restored them.

Attachment 1: IMG_8749.JPG
IMG_8749.JPG
Attachment 2: IMG_8750.JPG
IMG_8750.JPG
  16487   Tue Nov 30 11:03:44 2021 YehonathanMetaphysicsGeneralToilet tank broken

a plumber came in yesterday and fixed the issue.

Quote:

The toilet tank in the big bathroom stopped refilling. I contacted PPService@caltech.edu and put up an "Out of Order sign".

 

  16486   Mon Nov 29 15:24:53 2021 HangHowToGeneralFisher matrix vs length of each FFT segment

We have been discussing how does the parameter estimation depends on the length per FFT segment. In other words, after we collected a series of data, would it be better for us to divide it into many segments so that we have many averages, or should we use long FFT segments so that we have more frequency bins?

My conclusions are that:

1). We need to make sure that the segment length is long enough with T_seg > min[ Q_i / f_i ], where f_i is the resonant frequency of the i'th resonant peak and the Q_i its quality factor. 

2). Once 1) is satisfied, the result depends weakly on the FFT length. There might be a weak hint preferring a longer segment length (i.e., want more freq bins than more averages) though. 

=================================================================

To reach the conclusion, I performed the following numerical experiment.

I considered a simple pendulum with resonant frequency f_1 = 0.993 Hz and Q_1 = 6.23. The value of f_1 is chosen such that it is not too special to fall into a single freq bin. Additionally, I set an overall gain of k=20. I generated T_tot = 512 s of data in the time domain and then did the standard frequency domain TF estimation. I.e., I computed the CSD between excitation and response (with noise) over the PSD of the excitation. The spectra of excitation and noise in the readout channel are shown in the first plot. 

In the second plot, I showed the 1-sigma errors from the Fisher matrix calculation of the three parameters in this problem, as well as the determinant of the error matrix \Sigma = inv(Fisher matrix). All quantities are plotted as functions of the duration per FFT segment T_seg. The red dotted line is [Q_1/f_1], i.e., the time required to resolve the resonant peak. As one would expect, if T_seg <~ (Q_1/f_1), we cannot resolve the dynamics of the system and therefore we get nonsense PE results. However, once T_seg > (Q_1/f_1), the PE results seem to be just fluctuating (as f_1 does not fall exactly into a single bin). Maybe there is a small hint that longer T_seg is better. Potentially, this might be due to that we lose less information due to windowing? To be investigated further... 

I also showed the Fisher estimation vs. MCMC results in the last two plots. Here each dot is an MCMC posterior. The red crosses are the true values, and the purple contours are the results of the Fisher calculations (3-sigma contours). The MCMC results showed similar trends as the Fisher predictions and the results for T_seg = (32, 64, 128) s all have similar amounts of scattering << the scattering of the T_seg=8 s results. Though somehow it showed a biased result. In the third plot, I manually corrected the mean so that we could just compare the scattering. The fourth plot showed the original posterior distribution. 

 

Attachment 1: setup.pdf
setup.pdf
Attachment 2: Fisher_vs_Tperseg.pdf
Fisher_vs_Tperseg.pdf
Attachment 3: fisher_vs_mcmc_offset_removed.png
fisher_vs_mcmc_offset_removed.png
Attachment 4: fisher_vs_mcmc.png
fisher_vs_mcmc.png
  16485   Wed Nov 24 17:13:31 2021 YehonathanMetaphysicsGeneralToilet tank broken

The toilet tank in the big bathroom stopped refilling. I contacted PPService@caltech.edu and put up an "Out of Order sign".

  16484   Wed Nov 24 14:34:15 2021 YehonathanUpdateBHDSaving on SUSAUX slow channels

Koji found out that the stock for BIO Acromag modules is very low and that the lead time for ordering new ones is ~ 1-year X-o.

We figure we might need to minimize the number of modules but still keep the Acromag chassis functional.

 

Looking at the new C1AUXEY feed-throughs spreadsheet one can see that we actually normally need only 1 BIO (not 2) module since there are 16 suspensions related bios + 1 green shutter which is unrelated to SUSAUX so there is no room to cut back here.

 

There are 16 analog input channels, 5 for PDMONs and 5 VMONs, and 6 spares which require 2 ADCs. Removing the spares and 2 monitoring channels will be enough to get us to 1 ADC.

  16483   Wed Nov 24 14:15:15 2021 YehonathanUpdateBHDSOS assembly

Late update. We got 2 modified side blocks from Jordan a few days ago. Yesterday, I glued a side magnet to one of the modified side blocks.

I took the opportunity to reglue some magnets that were knocked off from the adapters. I did this for 2 adapters only since w need 4 shallow adapters and we already had 2 complete ones.

Today, Jordan gave us the rest of the modified side blocks clean and baked. We are ready to suspend a mirror today.

  16482   Wed Nov 24 13:44:19 2021 ranaSummaryComputersQuantization Noise Calculation Summary

This looks great. I think what we want to see mainly is just the noise in the 32 bit IIR filtering subtracted from the 64 bit one.

It would be good if Tega can look through your code to make sure there's NO sneaky places where python is doing some funny casting of the numbers. I didn't see anything obvious, but as Chris points out, these things can be really sneaky so you have to be next level paranoid to really be sure. Fox Mulder level paranoia.

And, we want to see a comparison between what you get and what Denis Martynov put in an appendix of his thesis when comparing the Direct Form II, with the low-noise form (also some slides from Matt Evans on thsi from a ~decade agoo). You should be able to reproduce his results. He used matlab + C, so I am curious to see if it can be done all in python, or if we really need to do it in C.

And then...we can make this a part of the IFOtest suite, so that we point it at any filter module anywhere in LIGO, and it downloads the data and gives us an estimate of the digital noise being generated.

  16481   Wed Nov 24 11:02:23 2021 Ian MacMillanSummaryComputersQuantization Noise Calculation Summary

I added mpmath to the quantization noise code. mpmath allows me to specify the precision that I am using in calculations. I added this to both the IIR filters and the State-space models although I am only looking at the IIR filters here. I hope to look at the state-space model soon. 

Notebook Summary:

I also added a new notebook which you can find HERE. This notebook creates a signal by summing two sine waves and windowing them.

Then that signal is passed through our filter that has been limited to a specific precision. In our case, we pass the same signal through a number of filters at different precisions.

Next, we take the output from the filter with the highest precision, because this one should have the lowest quantization noise by a significant margin, and we subtract the outputs of the lower precision filters from it. In summary, we are subtracting a clean signal from a noisy signal; because the underlying signal is the same, when we subtract them the only thing that should be left is noise. and since this system is purely digital and theoretical the limiting noise should be quantization noise.

Now we have a time series of the noise for each precision level (except for our highest precision level but that is because we are defining it as noiseless). From here we take a power spectrum of the result and plot it.

After this, we can calculate a frequency-dependent SNR and plot it. I also calculated values for the SNR at the frequencies of our two inputs. 

This is the procedure taken in the notebook and the results are shown below.

Analysis of Results:

The first thing we can see is that the precision levels 256 and 128 bits are not shown on our graph. the 256-bit signal was our clean signal so it was defined to have no noise so it cant be plotted. The 128-bit signal should have some quantization noise but I checked the output array and it contained all zeros. after further investigation, I found that the quantization noise was so small that when the result was being handed over from mpmath to the general python code it was rounding those numbers to zero. To overcome this issue I would have to keep the array as a mpmath object the entire time. I don't think this is useful because matplotlib probably couldn't handle it and it would be easier to just rewrite the code in C. 

The next thing to notice is sort of a sanity check thing. In general, low precision filters yield higher noise than high precision. This is a good quick sanity check. However, this does not hold true at the low end. we can see that 16-bit actually has the highest noise for most of the range. Chris pointed out that at low precisions that quantization noise can become so large that it is no longer a linearly coupled noise source. He also noted that this is prone to happen for low precision coefficients with features far below the Nyquist frequency like I have here. This is one explanation that seems to explain the data especially because this ambiguity is happening at 16-bit and lower as he points out. 

Another thing that I must mention, even if it is just a note to future readers, is that quantization noise is input dependent. by changing the input signal I see different degrees of quantization noise.

Analysis of SNR:

One of the things we hoped to accomplish in the original plan was to play around with the input and see how the results changed. I mainly looked at how the amplitude of the input signal scaled the SNR of the output. Below I include a table of the results. These results were taken from the SNR calculated at the first peak (see the last code block in the notebook) with the amplitude of the given sine wave given at the top of each column. this amplitude was given to both of the two sine waves even though only the first one was reported. To see an example, currently, the notebook is set up for measurement of input amplitude 10.

  0.1 Amplitude of input 1 Amplitude 100 Amplitude 1000 Amplitude
4-bit SNR 5.06e5 5.07e5 5.07e5 5.07e5
8-bit SNR 5.08e5 5.08e5 5.08e5 5.08e5
16-bit SNR 2.57e6 8.39e6 3.94e6 1.27e6
32-bit SNR 7.20e17 6.31e17 1.311e18 1.86e18
64-bit SNR 6.0e32 1.28e32 1.06e32 2.42e32
128-bit SNR unknown unknown unknown unknown

As we can see from the table above the SNR does not seem to relate to the amplitude of the input. in multiple instances, the SNR dips or peaks in the middle of our amplitude range.

 

Attachment 1: PSD_IIR_all.pdf
PSD_IIR_all.pdf
  16480   Tue Nov 23 18:02:05 2021 AnchalUpdateIMCMC autolocker shifted to python3 script running in docker

I finished copying over the current autolocker bash script functionality into a python script which runs using a simple configuration yaml file. To run this script, one needs to ssh into optimus and :

controls@optimus|~> cd /opt/rtcds/caltech/c1/Git/40m/scripts/MC
controls@optimus|MC> sudo docker-compose up -d
Creating mc_AL_MC_1 ... done

That's it. To check out running docker processes, one can:

controls@optimus|MC> sudo docker ps

And to shut down this particular script, in the same directory, one can

controls@optimus|MC> sudo docker-compose down
Removing mc_AL_MC_1 ... done

If the docker image requires to be rebuild in future, go to the directory where Dockerfile is present and run:

controls@optimus|MC> sudo docker build -t pyep .

I had to add PyYAML package in the pyepics docker image already present on docker hub, thanks to Andrew.

For now, I have disabled the MCautolocker service on Megatron. To start it back again, one would need to ssh into megatron and do following:

~> sudo systemctl enable MCautolocker
~> sudo systemctl start MCautolocker

Let's see for a day how this new script does. I've left PSL shutter open and autolocker engaged.

To do: Fix the C1:IFO-STATE epics channel definition so that it takes its bits from separate lock status channels instead of scripts writign the whole word arbitrarily.

  16479   Mon Nov 22 17:42:19 2021 AnchalUpdateGeneralConnected Megatron to battery backed ports of another UPS

[Anchal, Paco]

I used the UPS that was providing battery backup for chiara earlier (a APS Back-UPS Pro 1000), to provide battery backup to Megatron. This completes UPS backup to all important computers in the lab. Note that this UPS nominally consumes 36% of UPS capacity in power delivery but at start-up, Megatron was many fans that use up to 90% of the capacity. So we should not use this UPS for any other computer or equipment.

While doing so, we found that PS3 on Megatron was malfunctioning. It's green LED was not lighting up on connecting to power, so we replaced it from the PS3 of old FB computer from the same rack. This solved this issue.

Another thing we found was that Megatron on restart does not get configured to correct nameserver resolution settings and loses the ability to resolve names chiara and fb1. This results in the nfs mounts to fail which in turn results in the script services to fail. We fixed this by identifying that the NetworkManager of ubuntu was not disabled and would mess up the nameserver settings which we want to be run by systemd-resolved instead. We corrected the symbolic link: /etc/resolv.conf -> /run/systemd/resolve/resolv.conf. the we stopped and diabled the NetworkManager service to keep this persistent on reboot. Following are the steps that did this:

> sudo rm /etc/resolv.conf
> ln -s /etc/resolv.conf /run/systemd/resolve/resolv.conf
> sudo systemctl stop NetworkManager.service
> sudo systemctl disable NetworkManager.service

 

  16478   Mon Nov 22 16:38:26 2021 TegaSummaryComputer Scripts / ProgramsSUS Plant Plan for New Optics

[Tega, Ian]

TODO

1. Investigate cross-coupling btw the various degrees of freedom (dof) - turn on noise for each dof in the plant model and measure the transfer function of the other dofs.

2. Get a closed-loop transfer function using noise injection and give a detailed outline of the procedure in elog - IN1/IN2 for each TM_RESP filter while the others are turned off.

3. Derive analytic model of the closed-loop transfer functions for comparison.

4. Adapt control filters to fit optimized analytical solutions.

  16477   Thu Nov 18 20:00:43 2021 Ian MacMillanSummaryComputer Scripts / ProgramsSUS Plant Plan for New Optics

[Ian, Raj, Tega]

Here is the comparison between the results of Raj's python model and the transfer function measurement done on the plant model by Tega and me.

As You can see in the graphs there are a few small spots of disagreement but it doesn't look too serious. Next we will measure the signals flowing through the entire plant and controller.

For a nicer (and printable) version of these plots look in the zipped folder under Plots/Plant_TF_Individuals.pdf

Attachment 1: Final_Plant_Testing.zip
  16476   Thu Nov 18 15:16:10 2021 AnchalUpdateGeneralMoved Chiara to 1X7 above nodus powered with same UPS

[Anchal, Paco]

We moved chiara to 1X7 above nodus and powered with same UPS from a battery backed port. The UPS is at 40% load capacity. The nameserver and nfs came back online automatically on boot up.

 

  16475   Thu Nov 18 14:29:01 2021 KojiSummaryBHDBHD invac optics / opto-mechanics

I went through the optics list (in the BHD procurement google spreadsheet) and summarized how to build them.

The red ones are what we need to purchase. Because of the strange height of the LMR mounts, the post needs to have none half-integer inch heights.

They need to be designed as the usual SS posts are not designed to be vac compatible (not because of the material but the design like screw hole venting).

We also need to check how many clean forks we have.
-> The components were ordered except for the custom posts.
 

ssome partssss
Name Optic Mount Mount OH Post Post OH Fork / Base Base OH Total Height Notes
POP_SM5  Previous POYM1 / 2" Y1-2037-0 LMR2V Thorlabs 1.36 Custom Post 4.14 SS Fork 0 5.5  
POP_SM4 New CM254-750-E03 Thorlabs LMR1V Thorlabs 0.87 Newport 9953+PLS-T238 3.88 BA1V / BA2V 0.75 5.5  
BSOL1 New 2" VIS BB2-E02 LMR2V Thorlabs 1.36 Custom Post 4.14 SS Fork 0 5.5  
ITMYOL1 New 2" VIS BB2-E02 LMR2V Thorlabs 1.36 Custom Post 4.14 SS Fork 0 5.5  
ITMYOL2 New 2" VIS BB2-E02 LMR2V Thorlabs 1.36 Custom Post 4.14 SS Fork 0 5.5  
SRMOL1 New 2" VIS BB2-E02 LMR2V Thorlabs 1.36 Custom Post 4.14 SS Fork 0 5.5  
ASL LA1779-C Thorlabs or KPX217AR.33 Newport LMR2V Thorlabs 1.36 Custom Post 4.14 SS Fork 0 5.5  
GRY_SM1 Y2-2037-0 (in hand) DLC   DLC Post   DLC Fork   5.5  
BHDBS CVI (In hand) DLC 2 DLC Post   DLC Fork   5.5 (3" post for BHD)
LO3 Lambda (in hand) POLARIS-K1-2AH Thorlabs 1 Custom Post 4.5 SS Fork 0 5.5 (3" post for BHD)
LO4 Lambda (in hand) POLARIS-K1-2AH Thorlabs 1 Custom Post 4.5 SS Fork 0 5.5 (3" post for BHD)
AS3 Lambda (in hand) POLARIS-K1-2AH Thorlabs 1 Custom Post 4.5 SS Fork 0 5.5 (3" post for BHD)
OMC1R3 Y1-1025-45P (in hand) POLARIS-K1-2AH Thorlabs 1 Custom Post 4.5 SS Fork 0 5.5 (3" post for BHD)
OMC1R4 Y1-1025-45P (in hand) POLARIS-K1-2AH Thorlabs 1 Custom Post 4.5 SS Fork 0 5.5 (3" post for BHD)
OMC2R3 Y1-1025-45P (in hand) POLARIS-K1-2AH Thorlabs 1 Custom Post 4.5 SS Fork 0 5.5 (3" post for BHD)
OMC2R4 Y1-1025-45P (in hand) POLARIS-K1-2AH Thorlabs 1 Custom Post 4.5 SS Fork 0 5.5 (3" post for BHD)
                   
OMC1R1 Y1-1025-45P (in hand) LMR1V Thorlabs 0.87 Custom Post 4.63 SS Fork 0 5.5 (3.13" post for BHD)
OMC2R1 NB1-K14 Thorlabs LMR1V Thorlabs 0.87 Custom Post 4.63 SS Fork 0 5.5 (3.13" post for BHD)

 

  16474   Wed Nov 17 17:37:53 2021 AnchalUpdateGeneralPlaced Nodus and fb1 on UPS power

Today I placed nodus and fb1 on UPS battery backed supply. Now power glitches should not hurt our cds system.

  16473   Wed Nov 17 11:53:27 2021 KojiUpdateGeneralwire clamp plate mod

Of course, we remove the magnet-dumbbell for machining. After that the part will be cleaned/baked again. And Yehonathan is going to glue the magnet-dumbbell again.

  16472   Wed Nov 17 07:32:48 2021 ChubUpdateGeneralwire clamp plate mod

This will be difficult to modify with the magnets and dumbells in place.  Even if someone CAN clamp this piece into an endmill machine with the magnets/dumbells in place, the vibration of the cutting operation may be enough to break them off.

  16471   Tue Nov 16 18:28:53 2021 KojiUpdateBHDSOS assembly

Yehonathan told me that the wires are touching between the clamps! I went back to the CAD and confirmed it is really happening. Sad.

The distance of the wires at the upper clamp is 17.018mm.
The distance of the lower clamps is 74.168mm
The vertical drop of the wire is 251mm
--> The wire angle from the vertical line is 0.114 rad

The lower wire block has a step of 1.016mm with the vertical extension of the piece by 11.684mm
--> The angle clearance of the lower clamp is 0.087 rad

So the clearance was not enough.

If we cut the top center of the wire block more than 2.77mm, we can make the wires free.
For safety, we can cut 0.25" = 6.35mm. This will give 0.4mm clearance between the block and the wire at the closest point.

I did this modification on the 3D model and modified the 2D drawing too, so that we can find the machine shop to do it quickly.

Attachment 1: D2100546_Wire_Block.pdf
D2100546_Wire_Block.pdf
Attachment 2: D2100546_Wire_Block.png
D2100546_Wire_Block.png
  16470   Tue Nov 16 17:42:46 2021 YehonathanUpdateBHDSOS assembly

{Tega, Yehonathan}

Another attempt at the suspension of a Lambda Optic mirror

The lambda mirror was removed from the adapter whose magnets were knocked off. We tried to mount the mirror on a different adapter but we knocked off magnets from two adapters crying. We succeeded in mounting the mirror at the third attempt (Adapter number 6). In the meanwhile, Tega threaded wires through side blocks separated from the adapter. He positioned the wires inside the grooves of the side block under a microscope (attachment 1). This procedure is much more accurate and pain-free than doing it on the suspended mirror.

We took the adapter and put it on the EQ stops. The wires were threaded through the wire clamp on the suspension block and clamped at the winches.

The adapter was rotated until the side magnet was roughly at the center of the side OSEM port. We then, as before, put coils in OSEM ports and try to adjust the height of the side magnet and the magnet groove on the other side block such that they are roughly at the center of the coil. We used the winches for fine adjustment.

I used the Canon camera to make sure the side blocks are leveled (attachment 2). I used the macro lens for that purpose. I set up a live stream from the Canon camera using these instructions only that I use OBS instead of CamTwist. I painted a semi-transparent green rectangle to annotate the position of the side magnet socket (attachment 3). I did this several times to confirm the repeatability of the results. Again using the winches for fine adjustments.

Once the height of the side magnets was confirmed to be leveled. I clamped the wires to the suspension block and cut them above it.

I tried to balance the optic but again I see that the suspensions are hysteretic. I check to see whether the wire is touching anything and indeed it touches the corner of the side blockcryingcryingcrying (attachments 4, 5).

 

 

 

Attachment 1: 20211115_170320_HDR.jpg
20211115_170320_HDR.jpg
Attachment 2: 20211116_163846.jpg
20211116_163846.jpg
Attachment 3: magnet_height_check(1).png
magnet_height_check(1).png
Attachment 4: side_blcok_touching_1.png
side_blcok_touching_1.png
Attachment 5: side_blcok_touching_2.png
side_blcok_touching_2.png
  16469   Tue Nov 16 17:29:49 2021 Ian MacMillanSummaryComputer Scripts / ProgramsSUS Plant Plan for New Optics

[Ian, Tega]

Updated A, B, C, D matrices for the state-space model to remove bugs in the previous estimate of the system dynamics. Updated the last post to represent the current matrixes.

We used MatLab to get the correct time-series filter coefficients in ZPK format and added them to the filters running in the TM_RESP filter matrix.

Get the pos-pos transfer function from the CDS model. Strangely, this seems to take a lot longer than anticipated to generate the transfer function, even though we are mainly probing the low-frequency behavior of the system.  

For example, a test that should be taking approximately 6 minutes is taking well over an hour to complete. This swept sine (results below) was on the low settings to get a fast answer and it looks bad. This is a VERY basic system it shouldn't be taking this long to complete a Swept sine TF.

 

Noticed that we need to run eval $(./env_cymac) every time we open a new terminal otherwise CDS doesn't work as expected. Since this has been the source of quite a few errors already, we have decided to put it in the startup .bashrc script.  

loc=$(pwd)
cd ${HOME}/docker-cymac/
eval $(./env_cymac)
cd ${loc}
Attachment 1: x_x_TF1.pdf
x_x_TF1.pdf
  16467   Tue Nov 16 11:37:26 2021 HangHowToSUSFitting suspension model--large systematic errors

One goal of our sysID study is to improve the aLIGO L2A feedforward. Our algorithm currently improves only the statistical uncertainty and assumes the systematic errors are negligible. However, I am currently baffled by how to fit a (nearly) realistic suspension model...

My test study uses the damped aLIGO QUAD suspension model. From the Matlab model I extract the L2 drive in [N] to L3 pitch in [rad] transfer function (given by a SS model with the A matrix having a shape of 103x103). I then tried to use VectFIT to fit the noiseless TF. After removing nearby z-p pairs (defined by less than 0.2 times the lowest pole frequency) and high-frequency zeros, I got a model with 6 complex pole pairs and 4 complex zero pairs (21 free parameters in total). I also tried to fit the TF (again, noiseless) with an MCMC algorithm assuming the underlying model has the same number of parameters as the VectFIT results. 

Please see the first attached plots for a comparison between the fitted models and the true one. In the second plot, we show the fractional residual

    | TF_true - TF_fit | / | TF_true |,

and the inverse of this number gives the saturating SNR at each frequency. I.e., when the statistical SNR is more than the saturating value, we are then limited by systematic errors in the fitting. And so far, disappointingly I can only get an SNR of 10ish for the main resonances...

I wonder if people know better ways to reduce this fitting systematic... Help is greatly appreciated!

Attachment 1: L2L_L3P_fit.pdf
L2L_L3P_fit.pdf
Attachment 2: L2L_L3P_residual.pdf
L2L_L3P_residual.pdf
  16466   Mon Nov 15 15:12:28 2021 Ian MacMillanSummaryComputer Scripts / ProgramsSUS Plant Plan for New Optics

[Ian, Tega]

We are working on three fronts for the suspension plant model:

  1. Filters
    1. We now have the state-space matrices as given at the end of this post. From these matrices, we can derive transfer functions that can be used as filter inputs. For a procedure see HERE. We accomplish this using Matlab's built-in ss(A,B,C,D); function. then we make it discrete using c2d(sys, 1/f); this gives us our discrete system running at the right frequency. We can get the transfer functions of either of these systems using tf(sys);
    2. from there we can copy the transfer functions into our photon filters.  Tega is working on this right now.
  2. State-Space
    1. We have our matrices as listed at the end of this post. With those compiled into a discrete system in MatLab we can use the code Chris made called rtss.m to convert this system into a .c file and a .h file.
    2. from there we have moved those files under the userapps folder in the docker system. then we added a c-code block to our .mdl model for the plant and pointed it at the custom c file we made. See section 7.2 of T080135-v10
    3. We have done all this and this should implement a custom state-space function into our .mdl file. the downside of this is that to change our SS model we have to edit the matrices we can't edit this from an medm screen. We have to recompile every time.
  3. Python Check
    1. This python check is run by Raj and will take in the state-space matrices which are given then will take transfer functions along all inputs and outputs and will compare them to what we have from the CDS model.

 

Here are the State-space matrices:

A=\begin{bmatrix} 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ -\omega_x^2(1+i/Q_{x}) & -\gamma_x & \omega_xb & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ \frac{\omega_{\theta}^2}{l+b} & 0 & -\omega_{\theta}^2(1+i/Q_{\theta}) & -\gamma_{\theta} & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & -\omega_{\phi}^2(1+i/Q_{\phi}) & -\gamma_{\phi} & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & -\omega_{y}^2(1+i/Q_{y}) & -\gamma_{y}\end{bmatrix} 

  B=\begin{bmatrix} 0 & 0 & 0 & 0 \\ \frac{1}{m} & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & \frac{R_m}{I_{\theta}} & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & \frac{R_m}{I_{\phi}} & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & \frac{1}{m} \end{bmatrix}      C=\begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \end{bmatrix}      D=\begin{bmatrix} 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{bmatrix}

A few notes: If you want the values for these parameters see the .yml file or the State-space model file. I also haven't been able to find what exactly this s is in the matrices.

UPDATE [11/16/21 4:26pm]: I updated the matrices to make them more general and eliminate the "s" that I couldn't identify. 

The input vector will take the form:

\begin{bmatrix} x \\ \dot{x} \\ \theta \\ \dot{\theta} \\ \phi \\ \dot{\phi} \\ y \\ \dot{y} \end{bmatrix}

where x is the position, theta is the pitch, phi is the yaw, and y is the y-direction displacement

 

 

  16465   Fri Nov 12 23:47:29 2021 YehonathanUpdateBHDSOS assembly

{Tega, Yehonathan}

First attempt at the suspension of a Lambda Optic mirror

We found the box with the 2" Lambda Optic mirrors in the cleanroom. We choose to suspend a mirror with a ROC = 5m, probably LO1.

The mirror was put inside an adapter that was prepared beforehand, put the mirror in place by tightening the Teflon rod, and then clamp it using the clamping pads.

We decided to cut two wires and clamp them to the side blocks of the adapter, while it sits on the EQ stops. The wires were threaded through the winches' clamps, through the wire clamp on the suspension block, and through the side blocks' wire clamps. We adjusted the wire position while pulling on it. The wire was made to sit inside the wire grooves on the side blocks. While tightening the clamp on the side block with the magnet, the LN key fell knocking off two magnets from the back of the adaptercrying.

Next time we think it might be a better idea to do all the adapter wire clamping on the table instead of on the SOS tower.

In the meanwhile, here are some pictures from today.

 

  16464   Thu Nov 11 00:11:39 2021 KojiSummarySUS2" to 3" sleeve issue

Yehonathan and Tega found that the new PR3 and SR3 delivered in 2020 is in fact 3/4" in thickness (!). Digging the past email threads, it seems that the spec was 10mm but the thickness was increased for better relieving the residual stress by the coatings.

There are a few issues.

1. Simply the mirror is too thick for the ring. It sticks out from the hole. And the mirror retainers (four plastic plates) are too far from the designed surface, which will make the plates tilted.

2. The front side of the mirror assembly is too heavy and the pitch adjustment is not possible with the balance mass.

Some possible solutions:

- How about making the recess deeper?
In principle this is possible, but the machining is tricky because the recess is not a simple round hole but has "pads" where the mirror sits. And the distance of the retainer to the thread is still far.
And the lead time might become long.

- How about making new holes on the ring to shift the clamp?
Yes it is possible. This will shift the mirror assembly by a few mm. Let's consider this.

- How about modifying the wire blocks?
Yes it is equivalent to shift the holes on the ring. Let's consider this too.

1. How to hold the mirror with the retainer plates

[Attachment 1] The expected distance between the retainer plate and the threaded hole is 13.4mm. We can insert a #4-40 x L0.5" stand off (McMaster-Carr 91197A150, SUS316) there. This will make the gap down to 0.7mm. With a washer, we can handle this gap with the plate. Note that we need to use vented & silver plated #4-40 screws to hold the plates.

[Attachment 2] How does this look like when the CoM is aligned with the wire plane? Oh, no... the lower two plates will interfere with the EQ stops and the EQ stop holders. We have to remove them. [Attachment 3]
We need to check with the suspension if the EQ stop screws may hit the protruded optics and can cause chipping/cracking.

2. Modifying the wire block

[Attachment 4] The 4x thru holes of the wire block were extended to be +/-0.1" slots. The slots are too long to form ovals and produce thin areas. With the nominal position of the balance mass, the clamp coordinates are y=1.016 (vertical) and z=-2.54mm (longitudinal).
==> The CoM is 0.19mm backside (magnet side) and 0.9134 mm lower from the wire clamping points. This looks mathematically doable, but the feasibility of the manufacturing is questionable.

[Attachment 5] Because the 0.1" shift of the CoM is large, we are able to make new #2-56 thread holes right next to the original ones. The clamp coordinates are y=1.016 (vertical) and z=-2.54mm (longitudinal).
==> The CoM is 0.188mm backside (magnet side) and 0.9136 mm lower from the wire clamping points. With the given parameters, the expected pitch resonant frequency is 0.756Hz

My Recommendation

- Modify the metal ring to shift the #2-56 threads by 0.1"

- The upper two retainer plates will have #4-40 x 0.5" stand off. Use vented Ag-coated #4-40 screws.

- The lower two are to be removed.

- Take care of the EQ stops.

- Of course, the best solution is to redesign the holder for 3/4" optics. Can we ask Protolab for rapid manufacturing???


Why did we need to place the mass forward to align the 1/4" thick optic?

We were supposed to adjust the CoM not to have too much adjustment. But we had to move the balance mass way too front for the proper alignment with a 1/4" thick optic. Why...?
This is because the ring was designed for a 3/8" thick optic... It does not make sense because the depth of the thread holes for the retainer plate was designed for 1/4" optics...

When the balance mass is located at the neutral position, the CoM coordinate is

x 0.0351mm (x+: left side at the front view)
y 0.0254mm (y+: vertical up)
z 0.4493mm (z+: towards back)

So, the CoM is way too behind. When the balance mass was stacked and the moved forward (center of the axis was moved forward by 0.27"), the CoM coordinate is (Attachment 6)

x 0.0351mm
y 0.0254mm
z 0.0011mm

This makes sens why we had to move the balance mass a lot for the adjustment.

Attachment 1: Screenshot_2021-11-11_001050.png
Screenshot_2021-11-11_001050.png
Attachment 2: Screenshot_2021-11-11_010405.png
Screenshot_2021-11-11_010405.png
Attachment 3: Screenshot_2021-11-11_010453.png
Screenshot_2021-11-11_010453.png
Attachment 4: Screenshot_2021-11-11_012213.png
Screenshot_2021-11-11_012213.png
Attachment 5: Screenshot_2021-11-11_011336.png
Screenshot_2021-11-11_011336.png
Attachment 6: Screenshot_2021-11-10_235100.png
Screenshot_2021-11-10_235100.png
  16463   Tue Nov 9 19:02:47 2021 AnchalSummaryBHD1Y0 Populated and 1Y1,1Y0 powered

[Anchal, Paco]

Today we populated 4 Sat Amp boxes for LO1, Lo2, AS1, and AS4, 2 BO boxes for C1SU2, and 1 Sat Amp Adaptor box, at 1Y0 according the latest rack plan. We also added 2 Sorenson power supplies in 1Y0 at the top slots to power +/- 18V DC strips on both 1Y1 and 1Y0. All wiring has been done for these power connections.

  16462   Tue Nov 9 18:05:03 2021 Ian MacMillanSummaryComputer Scripts / ProgramsSUS Plant Plan for New Optics

[Ian, Tega]

Now that the computer is in its new rack I have copied over the filter two files that I will use in the plant and the controller from pianosa:/opt/rtcds/caltech/c1/chans to the docker system in c1sim:/home/controls/docker-cymac/chans. That is to say, C1SUP.txt -> X1SUP.txt and C1SUS.txt -> X1SUS_CP.txt, where we have updated the names of the plant and controller inside the txt files to match our testing system, e.g. ITMX -> OPT_PLANT in plant model and ITMX -> OPT_CTRL in the controller and the remaining optics (BS, ITMY, PRM, SRM) are stripped out of C1SUS.txt in order to make X1SUS_CP.txt. 

Once the filter files were copied over need to add them to the filters that are in my models to do this I run the commands:

$  cd docker-cymac
$  eval $(./env_cymac)
$  ./login_cymac
 #  cd /opt/rtcds/tst/x1/medm/x1sus_cp
 #  medm -x X1SUS_OPT_PLANT_TM_RESP.adl

see this post for more detail

Unfortunately, the graphics forwarding from the docker is not working and is giving the errors:

arg: X1SUS_OPT_PLANT_TM_RESP.adl

locateResource 'X1SUS_OPT_PLANT_TM_RESP.adl'

isNetworkRequest X1SUS_OPT_PLANT_TM_RESP.adl

canAccess('X1SUS_OPT_PLANT_TM_RESP.adl', 4) = 0

can directly access 'X1SUS_OPT_PLANT_TM_RESP.adl'

isNetworkRequest X1SUS_OPT_PLANT_TM_RESP.adl

locateResource(X1SUS_OPT_PLANT_TM_RESP.adl...) returning 1

Error: Can't open display:

This means that the easiest way to add the filters to the model is through the GUI that can be opened through X2go client. It is probably easiest to get that working. graphics forwarding from inside the docker is most likely very hard. 

unfortunately again x2go client won't connect even with updated IP and routing. It gives me the error: unable to execute: startkde. Going into the files on c1sim:/usr/bin and trying to start startkde by myself also did not work, telling me that there was no such thing even though it was right in front of me.

  16461   Tue Nov 9 16:55:52 2021 Ian MacMillanSummaryComputer Scripts / ProgramsSUS Plant Plan for New Optics

[Ian, Tega]

We have moved c1sim computer from the test stand to the server rack in the office area. (see picture)

It is connected to the general campus network. Through the network switch at the top of the rack. This switch seeds the entire Martian network.

Test to show that I am not lying:

  1. you can ping it or ssh into it at
    controls@131.215.114.116
    Using the same password as before. Notice this is not going through the nodus network.
  2. It also has a different beginning of the IP addresses. Martian network IP addresses start with 191.168.113

c1sim is now as connected to the 40m network as my mom's 10-year-old laptop.

unfortunately, I have not been able to get the x2go client to connect to it. I will have to investigate further. It is nice to have access to the GUI of c1sim occasionally.

Attachment 1: IMG_8107.JPG
IMG_8107.JPG
  16460   Tue Nov 9 13:40:02 2021 Ian MacMillanSummaryComputer Scripts / ProgramsSUS Plant Plan for New Optics

[Ian, Tega]

After talking with Rana we have an updated plan. We will be working on this plan step by step in this order.

  1. Remove c1sim from the test stand rack and move it to the rack in the office next to the printer. When connecting it we will NOT connect it to the Martian network! This is to make sure that nothing is connected to the 40m system and we can't mess anything up.
  2. Once we have moved the computer over physically, we will need to update anyone who uses it on how to connect to it. The way we connect to it will have changed.
  3. Now that we have the computer moved and everyone can connect to it we will work on the model. Currently, we have the empty models connected.
    1. recompile the model since we moved the computer.
    2. verify that nothing has changed in the move and the model can still operate and compile properly
  4. The model has the proper structure but we need to fill it with the proper filters and such
    1. For the Plant model
      1. To get it up and running quickly we will use the premade plant filters for the plant model. These filters were made for the c1sup.mdl and should work in our modified plant model. This will allow us to verify that everything is working. And allow us to run tests on the system.
      2. We need to update the model and add the state space block. (we are skipping this step for now because we are fast-tracking the testing)  
        1. Check with Chris to make sure that this is the right way to do it. I am pretty sure it is, but I don't know anything
        2. Make the 6 DOF state-space matrix. We only have a three DOF one. The surf never made a 6 DOF. 
        3. Make the block to input into the model
        4. make a switch that will allow us to switch between the state-space model and the filter block
    2. For the controller
      1. Load filter coefficients for the controller model from one of the current optics and use this as a starting point.
      2. Add medm screens for the controller and plant. We are skipping this for now because we want results and we don't care if the screens look nice and are useable at the moment.
  5.  Test the model
    1. we will take an open-loop transfer function of all six of the DOFs to all other DOFs which will leave us with 36 TFs. Many will be zero
      1. If you are looking at this post then we are measuring transfer functions from the blue flags to the green flags across the plant model.
      2. We will want to look at the TFs across the controller

 

  16459   Tue Nov 9 11:11:37 2021 YehonathanUpdateBHDSOS assembly

The gluing was mostly successful. Only two magnets didn't stick (see attachment).

Attachment 1: 20211109_110408.jpg
20211109_110408.jpg
  16458   Mon Nov 8 18:42:38 2021 KojiSummaryBHDRack Layout / Power Strips
Rack # of units that
requires +18V
Power Source
1X3 (new rack) 15 1X3 U1/2
1X4 13 1X3 U1/2
1X5 8 or 9 (OL AA) 1X5 U40/41
1Y0 17 1Y0 U1/2
1Y1 15 1Y0 U1/2
1Y3 12 1Y3 U39/40
1X9 9 1X9 U38/39
1Y4 9

1Y4 U39/40

Notes:

  • There are 8 racks and there is only 7x 18V power strips. 1X5 could be the one without the power strip and to parasite with 1X3/4. Otherwise we need to modify some of the 24V power strips (no plan to use) into 18V by replacing the connectors.
  • We need total ~100 18V cables / We ordered 60x 3ft / 60x 3ft / 30x 10ft. Hopefully these are enough for our depand... I haven't checked the delivered number.
  • All the acromags are supposed to be powered with one voltage. I think they are supposed to run with +18V.
  • I didn't check the distribution of Sorensens through the lab. (i.e. how many we have / how many we need / ...)
Attachment 1: rack_plan.pdf
rack_plan.pdf
  16457   Mon Nov 8 17:52:22 2021 Ian MacMillanUpdateSUSSetting up suspension test model

[Ian, Tega]

We combined a controler and a plant model into a single modle (See first attachment) called x1sus_cp.mdl in the userapps folder of the cymac in c1sim. This model combines 2 blocks: the controler block which is used to control the current optics and is found in cvs/cds/rtcds/userapps/release/sus/c1/models/c1sus.mdl further the control block we are using comes from the same path but from the c1sup.mdl model. This plant model is the bases for all of my custom plant models and thus is a good starting point for the testing. It is also ideal because I know it can beeasily altered into a my state-space plant model. However, we had to make a few adjustments to get the model up to date for the cds system. So it is now a unique block.

These two library blocks are set in the userapps/lib folder on the cymac. This is the lib file that the docker system looks to when it is compiling models. For a quick overview see this. All other models have been removed from the MatLab path so that when we open x1sus_cp.mdl in MatLab it is using the same models it will compile with.

We could not find the rtbitget library part, but chris pointed us to userapps, and we copied it over using: scp /opt/rtcds/userapps/trunk/cds/common/models/rtbitget.mdl controls@c1sim:/home/controls/simLink/lib.

NOTE TO FUTURE IAN: don't forget that unit delays exist.

Next step: now that we have a model that is compiling and familiar we need to make medm screens. We will use the auto mdl2adl for this so that it is quick. Then we can start adding our custom pieces one by one so that we know that they are working. We will also work with Raj to get an independent python model working. Which will allow us to compare the cds and python models.

Attachment 1: x1sus_cp.png
x1sus_cp.png
  16456   Mon Nov 8 17:22:27 2021 YehonathanUpdateBHDSOS assembly

Big Gluing Day

Today I glued the magnet+dumbell assemblies on the optics adapters.

Unlike magnet gluing on a 3" optic where one can use a magnet gluing fixture, here I had to position the magnets manually. There is a complication though: the magnet is much heavier than the dumbell making it almost impossible gluing the dumbell side down onto the adapter since it is very unstable in this position. A workaround is to put the magnets on some paramagnetic sheet so that the magnets stick to it and then flip it over and glue it on the adapter dumbell sides down.

The problem here is that I need to position the magnets relatively accurately on the metal sheet. To make things slightly easier I printed some drawings of the positions of the magnet, laminated them, and cleaned them to have a decent starting point (attachment 1).

For each adapter:

1. I applied glue to the 4 circular grooves at the back of the adapter.

2. I picked 4 magnets (2 north, 2 south). Trying to match their strength.

3. Made a note of which magnets I picked for which adapter in the magnet+dumbell spreadsheet.

4. Clean the dumbells' surfaces when necessary.

5. Put the magnets on a laminated magnet-positions-drawing on a metal sheet that was precleaned in the right order.

6. Flip the metal sheet and position it on the adapter such that the dumbells go as precisely as possible into the circular grooves on the adapater.

7. Adjust the magnets' positions by pushing them slightly with a non-magnetic tip.

Attachment 2 shows the numbering on the adapters for future tracking.

I also glued some magnets and aluminum rods to side blocks. Next gluing session I will glue magnets to the aluminum rods. Probably some dumbells will not stick well to the adapters. These will have to be cleaned and reglued as well.

 

 

Attachment 1: Magnets_Positions.png
Magnets_Positions.png
Attachment 2: Adapters_Order.png
Adapters_Order.png
  16455   Mon Nov 8 15:29:05 2021 PacoSummaryBHD1Y1 rack work; New power for cameras

[Paco, Anchal]

In reference to Koji's concern (see previous elog), we have completely removed sorensen power supplies from 1Y1. We added a 12 Volts / 2 Amps AC-to-DC power supply for the cameras and verified it works. We stripped off all unused hardware from shutters and other power lines in the strips, and saved the relays and fuses.

We then mounted SR2, PR3, PR2 Sat Amps, 1Y1 Sat amp adapter, and C1SUS2 AA (2) and AI (3) boards. We made all connections we could make with the cables from the test stand, as well as power connections to an 18 VDC power strip.

  16454   Mon Nov 8 13:13:00 2021 KojiSummaryBHD1Y1 rack work; Sorensens removed

Updated the rack layout. Now there is an issue.
We were supposed to have 1U space at the top, but it was occupied by the 12V.
We need to either lower the c1sus2 and IO chassis 1U or move the Sorensen at the bottom.

Attachment 1: 40m_BHD.png
40m_BHD.png
ELOG V3.1.3-