Yesterday afternoon we added the reconstruction of the degrees of freedom of SQB2 bench with PSD signals. We added in the new configuration file, SQB2_PSD_sensing.cfg, the computed sensing matrices.
We reconstructed the dofs in 3 different ways:
- A: a 6x6 matrix to reconstruct all the dofs with all the PSD signals;
- B: a 4x4 matrix to reconstruct TX, TY, X, Y dofs using only PSD1 and PSD2, that are looking at the incoming beams;
- C: a 3x3 matrix to reconstruct TX, TZ, Y (vertical) with PSD1_V, PSD2_V, PSD3_V and a 2x2 matrix to reconstruct TY, X (horizontal) with PSD1_H, PSD2_H.
The matrices are described in the document on the TDS (SQB2 matrices reconstruction):
- Matrix A:
ACL_MATRIX_BEGIN "MAT_SENSING_A" 1 PSD1_H_norm_clean PSD2_H_norm_clean PSD3_H_norm_clean PSD1_V_norm_clean PSD2_V_norm_clean PSD3_V_norm_clean
ACL_MATRIX_CH LC_PSD_TX_A "urad" 0. 0 0. 0.0317 0.0447 -0.0334
ACL_MATRIX_CH LC_PSD_TY_A "urad" 2.3436 3.5234 0.6616 0 0 0
ACL_MATRIX_CH LC_PSD_TZ_A "urad" 0 0 0 0.2272 -0.368 -0.0238
ACL_MATRIX_CH LC_PSD_X_A "um" -58.2367 -84.9565 -18.5993 0 0 0
ACL_MATRIX_CH LC_PSD_Y_A "um" +0 0.0664 0 -3.1875 0 -1.8786
ACL_MATRIX_CH LC_PSD_Z_A "um" -44.8161 -65.4708 -13.2875 0 0 0
ACL_MATRIX_END "MAT_SENSING_A" 10
- Matrix B:
ACL_MATRIX_BEGIN "MAT_SENSING_B" 1 PSD1_H_norm_clean PSD1_V_norm_clean PSD2_H_norm_clean PSD2_V_norm_clean
ACL_MATRIX_CH LC_PSD_TX_B "urad" 0. -0.2873 0 0.5613
ACL_MATRIX_CH LC_PSD_TY_B "urad" 0.1121 0 0.2634 0
ACL_MATRIX_CH LC_PSD_X_B "um" 4.4871 0 6.6749 0
ACL_MATRIX_CH LC_PSD_Y_B "um" 0 2.3266 0 -3.383
ACL_MATRIX_END "MAT_SENSING_B" 10
- Matrix C:
- Vertical:
ACL_MATRIX_BEGIN "MAT_SENSING_C_V" 1 PSD1_V_norm_clean PSD2_V_norm_clean PSD3_V_norm_clean
ACL_MATRIX_CH LC_PSD_TX_C "urad" 0.0317 0.0447 -0.0334
ACL_MATRIX_CH LC_PSD_TZ_C "um" 0.2272 -0.368 -0.0238
ACL_MATRIX_CH LC_PSD_Y_C "um" 1.9809 -2.8237 0.0357
ACL_MATRIX_END "MAT_SENSING_C_V" 10
- Matrix C:
- Horizontal:
ACL_MATRIX_BEGIN "MAT_SENSING_C_H" 1 PSD1_H_norm_clean PSD2_H_norm_clean LC_PSD_TY_C_set LC_PSD_X_C_set
ACL_MATRIX_CH LC_PSD_TY_C "urad" 0.113 0.266 0 -1
ACL_MATRIX_CH LC_PSD_X_C "um" 4.512 6.739 -1 0
ACL_MATRIX_END "MAT_SENSING_C_H" 10
The channels recontructing the singals are:
ACL_DAQ_FILTER "SQB2_" "_1kHz" 2000 "Butterworth_4_3" LC_PSD_TX_A LC_PSD_TY_A LC_PSD_TZ_A LC_PSD_X_A LC_PSD_Y_A LC_PSD_Z_A
ACL_DAQ_FILTER "SQB2_" "_1kHz" 2000 "Butterworth_4_3" LC_PSD_TX_B LC_PSD_TY_B LC_PSD_X_B LC_PSD_Y_B
ACL_DAQ_FILTER "SQB2_" "_1kHz" 2000 "Butterworth_4_3" LC_PSD_TX_C LC_PSD_TZ_C LC_PSD_Y_C LC_PSD_TY_C LC_PSD_X_C
We noticed that the signals recontructed with the PSDs are drifting with respect to the signals acquired with the LVDTs. This is due to the BPC loop that is moving the last two mirrors on the green path on EQB1.
We turned off the BPC and we saw that some of the signals recontructed are coherent with the LVDT ones.
To understand which singals are reliable, we performed scans (30/11/2021) of all the dofs, with BPC and DRIFT control off:
- TX: 19h36.36 UTC (10 steps in 10 sec) - B reconstruction is not working
- TY: 19h38.07 UTC (100 steps in 20 sec) - A reconstruction is not working
- TZ: 19h39.59 UTC (10 steps in 10 sec) - A and C reconstructions are not working
- X: 19h44.49 UTC (30 steps in 10 sec) - A, B and C reconstructions are not working (none)
- Y: 19h47.25 UTC (30 steps in 10 sec) - B and C reconstructions are not working
- Z: 19h49.42 UTC (30 steps in 10 sec) - A reconstruction is not working (none)
In order to correct a noise we saw in the reconstructions (see Fig. 1), we added a low pass filter cutting the signals at 30Hz:
ACL_FILTER_BUTTERWORTH "flt_PSD_fullband" "lowpass" 6 3 25
After we cleaned the signals we got the signals in Fig. 2, around 19h50 UTC.
The FFT of the dofs, before and after the filtering are shown in Fig. 3: blue without filter and pink with filter.
We have the data over night with BPC and drift control on. We turned off the BPC this morning at 8h49.16 UTC.
From now we can start to look at the signals and to optimize the matrices to reconstruct the dofs of the bench.
We still need to add the offsets in the file to read the same values on both the dofs reconstructions.