40m
QIL
Cryo_Lab
CTN
SUS_Lab
TCS_Lab
OMC_Lab
CRIME_Lab
FEA
ENG_Labs
OptContFac
Mariner
WBEEShop
|
40m Log |
Not logged in |
 |
|
Fri Jan 24 12:44:25 2014, Gabriele, HowTo, LSC, Procedure to measure PRC length 8x
|
Fri Jan 24 13:10:12 2014, Jamie, HowTo, LSC, Procedure to measure PRC length
|
Sat Jan 25 21:09:16 2014, gabriele, HowTo, LSC, Procedure to measure PRC length
|
|
Message ID: 9573
Entry time: Fri Jan 24 12:44:25 2014
Reply to this: 9574
|
Author: |
Gabriele |
Type: |
HowTo |
Category: |
LSC |
Subject: |
Procedure to measure PRC length |
|
|
Here is how to measure the PRC length with a set of distance measurements in the optical setup.
We need to take distance measurements between reference points on each mirror suspension. For the large ones (SOS) that are used for BS, PRM and ITMs, the reference points are the corners of the second rectangular base: not the one directly in contact with the optical bench (since the chamfers make difficult to define a clear corner), but the rectangular one just above it. For the small suspensions (TT) the points are directly the corners of the base plates.
From the mechanical drawings of the two kind of suspensions I got the distances between the mirror centers and the reference corners. The mirror is not centered in the base, so it is a good idea to cross check if the numbers are correct with some measurements on the dummy suspensions.
I assumed the dimensions of the mirrors, as well as the beam incidence angles are known and we don't need to measure them again. Small errors in the angles should have small impact on the results.
I wrote a MATLAB script that takes as input the measured distances and produce the optical path lengths. The script also produce a drawing of the setup as reconstructed, showing the measurement points, the mirrors, the reference base plates, and the beam path. Here is an example output, that can be used to understand which are the five distances to be measured. I used dummy measured distances to produce it.

In red the beam path in vacuum and in magenta the beam path in the substrate. The mirrors are the blue rectangles inside the reference bases which are in black. The thick lines are the HR faces. The green points are the measurement points and the green lines the distances to be measured. The names on the measurement lines are those used in the MATLAB script.
The MATLAB scripts are attached to this elog. The main file is survey_v2.m, which contains all the parameters and the measured values. Update it with the real numbers and run it to get the results, including the graphic output. The other files are auxiliary functions to create the graphics. I checked many times the code and the computations, but I can't be sure that there are no errors, since there's no way to check if the output is correct... The plot is produced in a way which is somehow independent from the computations, so if it makes sense this gives at least a self consistency test. |
|
global sos_lx sos_ly sos_cx sos_cy tt_lx tt_ly tt_cx tt_cy
%% Survey of the PRC length
%% measured distances
d_MB2_MY = 2000.0;
d_MB3_MX = 2000.0;
d_MB1_M31 = 400.0;
d_M32_M21 = 3000.0;
d_M22_MP = 2000.0;
... 210 more lines ...
|
|
function d = distance(c1, c2)
d = sqrt(sum((c1-c2).^2));
end
|
|
function draw_beam(c1, c2, color)
plot( [c1(1), c2(1)], [c1(2), c2(2)], color, 'LineWidth', 2)
end
|
|
function draw_measurement(c1, c2, color, name)
plot( [c1(1), c2(1)], [c1(2), c2(2)], color)
text( (c1(1)+c2(1))/2, (c1(2)+c2(2))/2 + 20, name, ...
'FontSize', 5, 'HorizontalAlignment', 'center', ...
'VerticalAlignment', 'middle')
end
|
|
function draw_point(c)
plot(c(1), c(2), 'go', 'LineWidth', 2, 'MarkerSize', 3);
end
|
|
function draw_sos(C, angle)
global sos_lx sos_ly sos_cx sos_cy tt_lx tt_ly tt_cx tt_cy
c(:,1) = [-sos_lx/2, -sos_ly/2 + sos_cy-sos_ly/2]';
c(:,2) = [-sos_lx/2, sos_ly/2 + sos_cy-sos_ly/2]';
c(:,3) = [sos_lx/2, sos_ly/2 + sos_cy-sos_ly/2]';
c(:,4) = [sos_lx/2, -sos_ly/2 + sos_cy-sos_ly/2]';
c(:,5) = [-sos_lx/2, -sos_ly/2 + sos_cy-sos_ly/2]';
m_lx = 25.4*2;
... 18 more lines ...
|
|
function draw_tt(C, angle)
global sos_lx sos_ly sos_cx sos_cy tt_lx tt_ly tt_cx tt_cy
c(:,1) = [-tt_lx/2, -tt_ly/2 + tt_cy-tt_ly/2]';
c(:,2) = [-tt_lx/2, tt_ly/2 + tt_cy-tt_ly/2]';
c(:,3) = [tt_lx/2, tt_ly/2 + tt_cy-tt_ly/2]';
c(:,4) = [tt_lx/2, -tt_ly/2 + tt_cy-tt_ly/2]';
c(:,5) = [-tt_lx/2, -tt_ly/2 + tt_cy-tt_ly/2]';
m_lx = 25.4;
... 18 more lines ...
|