Export to html
111
.latexmkrc
Normal file
@ -0,0 +1,111 @@
|
||||
#!/bin/env perl
|
||||
|
||||
# Shebang is only to get syntax highlighting right across GitLab, GitHub and IDEs.
|
||||
# This file is not meant to be run, but read by `latexmk`.
|
||||
|
||||
# ======================================================================================
|
||||
# Perl `latexmk` configuration file
|
||||
# ======================================================================================
|
||||
|
||||
# ======================================================================================
|
||||
# PDF Generation/Building/Compilation
|
||||
# ======================================================================================
|
||||
|
||||
@default_files=('dcm_metrology.tex');
|
||||
|
||||
# PDF-generating modes are:
|
||||
# 1: pdflatex, as specified by $pdflatex variable (still largely in use)
|
||||
# 2: postscript conversion, as specified by the $ps2pdf variable (useless)
|
||||
# 3: dvi conversion, as specified by the $dvipdf variable (useless)
|
||||
# 4: lualatex, as specified by the $lualatex variable (best)
|
||||
# 5: xelatex, as specified by the $xelatex variable (second best)
|
||||
$pdf_mode = 1;
|
||||
|
||||
# Treat undefined references and citations as well as multiply defined references as
|
||||
# ERRORS instead of WARNINGS.
|
||||
# This is only checked in the *last* run, since naturally, there are undefined references
|
||||
# in initial runs.
|
||||
# This setting is potentially annoying when debugging/editing, but highly desirable
|
||||
# in the CI pipeline, where such a warning should result in a failed pipeline, since the
|
||||
# final document is incomplete/corrupted.
|
||||
#
|
||||
# However, I could not eradicate all warnings, so that `latexmk` currently fails with
|
||||
# this option enabled.
|
||||
# Specifically, `microtype` fails together with `fontawesome`/`fontawesome5`, see:
|
||||
# https://tex.stackexchange.com/a/547514/120853
|
||||
# The fix in that answer did not help.
|
||||
# Setting `verbose=silent` to mute `microtype` warnings did not work.
|
||||
# Switching between `fontawesome` and `fontawesome5` did not help.
|
||||
$warnings_as_errors = 0;
|
||||
|
||||
# Show used CPU time. Looks like: https://tex.stackexchange.com/a/312224/120853
|
||||
$show_time = 1;
|
||||
|
||||
# Default is 5; we seem to need more owed to the complexity of the document.
|
||||
# Actual documents probably don't need this many since they won't use all features,
|
||||
# plus won't be compiling from cold each time.
|
||||
$max_repeat=7;
|
||||
|
||||
# --shell-escape option (execution of code outside of latex) is required for the
|
||||
#'svg' package.
|
||||
# It converts raw SVG files to the PDF+PDF_TEX combo using InkScape.
|
||||
#
|
||||
# SyncTeX allows to jump between source (code) and output (PDF) in IDEs with support
|
||||
# (many have it). A value of `1` is enabled (gzipped), `-1` is enabled but uncompressed,
|
||||
# `0` is off.
|
||||
# Testing in VSCode w/ LaTeX Workshop only worked for the compressed version.
|
||||
# Adjust this as needed. Of course, only relevant for local use, no effect on a remote
|
||||
# CI pipeline (except for slower compilation, probably).
|
||||
#
|
||||
# %O and %S will forward Options and the Source file, respectively, given to latexmk.
|
||||
#
|
||||
# `set_tex_cmds` applies to all *latex commands (latex, xelatex, lualatex, ...), so
|
||||
# no need to specify these each. This allows to simply change `$pdf_mode` to get a
|
||||
# different engine. Check if this works with `latexmk --commands`.
|
||||
set_tex_cmds("--shell-escape -interaction=nonstopmode --synctex=1 %O %S");
|
||||
|
||||
# Use default pdf viewer
|
||||
$pdf_previewer = 'zathura';
|
||||
|
||||
# option 2 is same as 1 (run biber when necessary), but also deletes the
|
||||
# regeneratable bbl-file in a clenaup (`latexmk -c`). Do not use if original
|
||||
# bib file is not available!
|
||||
$bibtex_use = 2; # default: 1
|
||||
|
||||
# Change default `biber` call, help catch errors faster/clearer. See
|
||||
# https://web.archive.org/web/20200526101657/https://www.semipol.de/2018/06/12/latex-best-practices.html#database-entries
|
||||
$biber = "biber --validate-datamodel %O %S";
|
||||
|
||||
# Glossaries
|
||||
add_cus_dep('glo', 'gls', 0, 'run_makeglossaries');
|
||||
add_cus_dep('acn', 'acr', 0, 'run_makeglossaries');
|
||||
|
||||
sub run_makeglossaries {
|
||||
if ( $silent ) {
|
||||
system "makeglossaries -q -s '$_[0].ist' '$_[0]'";
|
||||
}
|
||||
else {
|
||||
system "makeglossaries -s '$_[0].ist' '$_[0]'";
|
||||
};
|
||||
}
|
||||
|
||||
# ======================================================================================
|
||||
# Auxiliary Files
|
||||
# ======================================================================================
|
||||
|
||||
# Let latexmk know about generated files, so they can be used to detect if a
|
||||
# rerun is required, or be deleted in a cleanup.
|
||||
# loe: List of Examples (KOMAScript)
|
||||
# lol: List of Listings (`listings` and `minted` packages)
|
||||
# run.xml: biber runs
|
||||
# glg: glossaries log
|
||||
# glstex: generated from glossaries-extra
|
||||
push @generated_exts, 'loe', 'lol', 'run.xml', 'glstex', 'glo', 'gls', 'glg', 'acn', 'acr', 'alg';
|
||||
|
||||
# Also delete the *.glstex files from package glossaries-extra. Problem is,
|
||||
# that that package generates files of the form "basename-digit.glstex" if
|
||||
# multiple glossaries are present. Latexmk looks for "basename.glstex" and so
|
||||
# does not find those. For that purpose, use wildcard.
|
||||
# Also delete files generated by gnuplot/pgfplots contour plots
|
||||
# (.dat, .script, .table).
|
||||
$clean_ext = "%R-*.glstex %R_contourtmp*.*";
|
26
dcm-metrology.bib
Normal file
@ -0,0 +1,26 @@
|
||||
@article{thurner15_fiber_based_distan_sensin_inter,
|
||||
author = {Thurner, Klaus and Quacquarelli, Francesca Paola and Braun,
|
||||
Pierre-Fran{\c{c}}ois and Dal Savio, Claudio and Karrai,
|
||||
Khaled},
|
||||
title = {Fiber-Based Distance Sensing Interferometry},
|
||||
journal = {Applied optics},
|
||||
volume = 54,
|
||||
number = 10,
|
||||
pages = {3051--3063},
|
||||
year = 2015,
|
||||
publisher = {Optical Society of America}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@unpublished{ducourtieux18_towar_high_precis_posit_contr,
|
||||
author = {Sebastien Ducourtieux},
|
||||
doi = {10.13140/rg.2.2.21044.35205},
|
||||
keywords = {metrology},
|
||||
note = {MEDSI 2018},
|
||||
title = {Toward High Precision Position Control Using Laser
|
||||
Interferometry: Main Sources of Error},
|
||||
url = {https://doi.org/10.13140/rg.2.2.21044.35205},
|
||||
year = 2018
|
||||
}
|
||||
|
627
dcm-metrology.html
Normal file
@ -0,0 +1,627 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-01-05 mer. 15:27 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<title>ESRF Double Crystal Monochromator - Metrology</title>
|
||||
<meta name="author" content="Dehaeze Thomas" />
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
|
||||
<script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
|
||||
<script>
|
||||
MathJax = {
|
||||
svg: {
|
||||
scale: 1,
|
||||
fontCache: "global"
|
||||
},
|
||||
tex: {
|
||||
tags: "ams",
|
||||
multlineWidth: "%MULTLINEWIDTH",
|
||||
tagSide: "right",
|
||||
macros: {bm: ["\\boldsymbol{#1}",1],},
|
||||
tagIndent: ".8em"
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script id="MathJax-script" async
|
||||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="org-div-home-and-up">
|
||||
<a accesskey="h" href="../index.html"> UP </a>
|
||||
|
|
||||
<a accesskey="H" href="../index.html"> HOME </a>
|
||||
</div><div id="content" class="content">
|
||||
<h1 class="title">ESRF Double Crystal Monochromator - Metrology</h1>
|
||||
<div id="table-of-contents" role="doc-toc">
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#org138e76d">1. Metrology Concept</a>
|
||||
<ul>
|
||||
<li><a href="#orge26c208">1.1. Sensor Topology</a></li>
|
||||
<li><a href="#orga08f1f5">1.2. Crystal’s motion computation</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge6e300e">2. Deformations of the Metrology Frame</a>
|
||||
<ul>
|
||||
<li><a href="#org62287e7">2.1. Measurement Setup</a></li>
|
||||
<li><a href="#org9a14028">2.2. Simulations</a></li>
|
||||
<li><a href="#org2f06b8d">2.3. Comparison</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org57a7951">3. Attocube - Periodic Non-Linearity</a>
|
||||
<ul>
|
||||
<li><a href="#org2e13fe2">3.1. Calibration - Concept</a></li>
|
||||
<li><a href="#org44715ee">3.2. Measurements</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3331f0d">Bibliography</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<p>This report is also available as a <a href="./dcm_metrology.pdf">pdf</a>.</p>
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
In this document, the metrology system is studied.
|
||||
First, in Section <a href="#orgb946c2b">1</a> the goal of the metrology system is stated and the proposed concept is described.
|
||||
In order to increase the accuracy of the metrology system, two problems are to be dealt with:
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li>The deformation of the metrology frame under the action of gravity (Section <a href="#orgacc2503">2</a>)</li>
|
||||
<li>The periodic non-linearity of the interferometers (Section <a href="#org3b56a97">3</a>)</li>
|
||||
</ul>
|
||||
|
||||
<div id="outline-container-org138e76d" class="outline-2">
|
||||
<h2 id="org138e76d"><span class="section-number-2">1.</span> Metrology Concept</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
<a id="orgb946c2b"></a>
|
||||
</p>
|
||||
<p>
|
||||
The goal of the metrology system is to measure the distance and default of parallelism orientation between the first and second crystals
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Only 3 degrees of freedom are of interest:
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li>\(d_z\)</li>
|
||||
<li>\(r_y\)</li>
|
||||
<li>\(r_x\)</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="outline-container-orge26c208" class="outline-3">
|
||||
<h3 id="orge26c208"><span class="section-number-3">1.1.</span> Sensor Topology</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
In order to measure the relative pose of the two crystals, instead of performing a direct measurement which is complicated, the pose of the two crystals are measured from a metrology frame.
|
||||
Three interferometers are used to measured the 3dof of interest for each crystals.
|
||||
Three additional interferometers are used to measured the relative motion of the metrology frame.
|
||||
</p>
|
||||
|
||||
<table id="orgd5dd455" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<caption class="t-above"><span class="table-number">Table 1:</span> Notations for the metrology frame</caption>
|
||||
|
||||
<colgroup>
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-left" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="org-left">Notation</th>
|
||||
<th scope="col" class="org-left">Meaning</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>d</code></td>
|
||||
<td class="org-left">“Downstream”: Positive X</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>u</code></td>
|
||||
<td class="org-left">“Upstream”: Negative X</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>h</code></td>
|
||||
<td class="org-left">“Hall”: Positive Y</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>r</code></td>
|
||||
<td class="org-left">“Ring”: Negative Y</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>f</code></td>
|
||||
<td class="org-left">“Frame”</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>1</code></td>
|
||||
<td class="org-left">“First Crystals”</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>2</code></td>
|
||||
<td class="org-left">“Second Crystals”</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<div id="org3997ed1" class="figure">
|
||||
<p><img src="figs/metrology_schematic.png" alt="metrology_schematic.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 1: </span>Schematic of the Metrology System</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga08f1f5" class="outline-3">
|
||||
<h3 id="orga08f1f5"><span class="section-number-3">1.2.</span> Crystal’s motion computation</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
From the raw interferometric measurements, the pose between the first and second crystals can be computed.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
First, Jacobian matrices can be used to convert raw interferometer measurements to axial displacement and orientation of the crystals and metrology frame.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For the 311 crystals:
|
||||
</p>
|
||||
|
||||
<table id="org75daba0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<caption class="t-above"><span class="table-number">Table 2:</span> Table caption</caption>
|
||||
|
||||
<colgroup>
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-left" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="org-left">Notation</th>
|
||||
<th scope="col" class="org-left">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>um</code></td>
|
||||
<td class="org-left">Metrology Frame - Upstream</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>dhm</code></td>
|
||||
<td class="org-left">Metrology Frame - Downstream Hall</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>drm</code></td>
|
||||
<td class="org-left">Metrology Frame - Downstream Ring</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>ur1</code></td>
|
||||
<td class="org-left">First Crystal - Upstream Ring</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>h1</code></td>
|
||||
<td class="org-left">First Crystal - Hall</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>dr1</code></td>
|
||||
<td class="org-left">First Crystal - Downstream Ring</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>ur2</code></td>
|
||||
<td class="org-left">First Crystal - Upstream Ring</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>h2</code></td>
|
||||
<td class="org-left">First Crystal - Hall</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>dr2</code></td>
|
||||
<td class="org-left">First Crystal - Downstream Ring</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table id="orgcc31c85" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<caption class="t-above"><span class="table-number">Table 3:</span> Table caption</caption>
|
||||
|
||||
<colgroup>
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-left" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="org-left">Notation</th>
|
||||
<th scope="col" class="org-left">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>dzm</code></td>
|
||||
<td class="org-left">Positive: increase of distance</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>rym</code></td>
|
||||
<td class="org-left"> </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>rxm</code></td>
|
||||
<td class="org-left"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>dz1</code></td>
|
||||
<td class="org-left">Positive: decrease of distance</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>ry1</code></td>
|
||||
<td class="org-left"> </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>rx1</code></td>
|
||||
<td class="org-left"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>dz2</code></td>
|
||||
<td class="org-left">Positive: increase of distance</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>ry2</code></td>
|
||||
<td class="org-left"> </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>rx2</code></td>
|
||||
<td class="org-left"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<div id="orgd029bae" class="figure">
|
||||
<p><img src="figs/schematic_sensor_jacobian_forward_kinematics_m.png" alt="schematic_sensor_jacobian_forward_kinematics_m.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 2: </span>Forward Kinematics for the Metrology frame</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="org8c52c6b" class="figure">
|
||||
<p><img src="figs/schematic_sensor_jacobian_forward_kinematics_1.png" alt="schematic_sensor_jacobian_forward_kinematics_1.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 3: </span>Forward Kinematics for the 1st crystal</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="orgabe5ba2" class="figure">
|
||||
<p><img src="figs/schematic_sensor_jacobian_forward_kinematics_2.png" alt="schematic_sensor_jacobian_forward_kinematics_2.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 4: </span>Forward Kinematics for the 2nd crystal</p>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Then, the displacement and orientations can be combined as follows:
|
||||
</p>
|
||||
\begin{align}
|
||||
d_{z} &= + d_{z1} - d_{z2} + d_{zm} \\
|
||||
d_{r_y} &= - r_{y1} + r_{y2} - r_{ym} \\
|
||||
d_{r_x} &= - r_{x1} + r_{x2} - r_{xm}
|
||||
\end{align}
|
||||
|
||||
<p>
|
||||
Therefore:
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li>\(d_z\) represents the distance between the two crystals</li>
|
||||
<li>\(d_{r_y}\) represents the rotation of the second crystal w.r.t. the first crystal around \(y\) axis</li>
|
||||
<li>\(d_{r_x}\) represents the rotation of the second crystal w.r.t. the first crystal around \(x\) axis</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
If \(d_{r_y}\) is positive, the second crystal has a positive rotation around \(y\) w.r.t. the first crystal.
|
||||
Therefore, the second crystal should be actuated such that it is making a negative rotation around \(y\) w.r.t. metrology frame.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The Jacobian matrices are defined as follow:
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-matlab-cellbreak">%% Sensor Jacobian matrix for the metrology frame</span>
|
||||
J_m = [1, 0.102, 0
|
||||
1, <span class="org-builtin">-</span>0.088, 0.1275
|
||||
1, <span class="org-builtin">-</span>0.088, <span class="org-builtin">-</span>0.1275];
|
||||
|
||||
<span class="org-matlab-cellbreak">%% Sensor Jacobian matrix for 1st "111" crystal</span>
|
||||
J_s_111_1 = [<span class="org-builtin">-</span>1, <span class="org-builtin">-</span>0.036, <span class="org-builtin">-</span>0.015
|
||||
<span class="org-builtin">-</span>1, 0, 0.015
|
||||
<span class="org-builtin">-</span>1, 0.036, <span class="org-builtin">-</span>0.015];
|
||||
|
||||
<span class="org-matlab-cellbreak">%% Sensor Jacobian matrix for 2nd "111" crystal</span>
|
||||
J_s_111_2 = [1, 0.07, 0.015
|
||||
1, 0, <span class="org-builtin">-</span>0.015
|
||||
1, <span class="org-builtin">-</span>0.07, 0.015];
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Therefore, the matrix that gives the relative pose of the crystal from the 9 interferometers is:
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-matlab-cellbreak">%% Compute the transformation matrix</span>
|
||||
G_111_t = [<span class="org-builtin">-</span>inv(J_s_111_1), inv(J_s_111_2), <span class="org-builtin">-</span>inv(J_m)];
|
||||
|
||||
<span class="org-comment-delimiter">% </span><span class="org-comment">Sign convention for the axial motion</span>
|
||||
G_111_t(1,<span class="org-builtin">:</span>) = <span class="org-builtin">-</span>G_111_t(1,<span class="org-builtin">:</span>);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<table id="orgd893900" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<caption class="t-above"><span class="table-number">Table 4:</span> Transformation Matrix</caption>
|
||||
|
||||
<colgroup>
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-right" />
|
||||
|
||||
<col class="org-right" />
|
||||
|
||||
<col class="org-right" />
|
||||
|
||||
<col class="org-right" />
|
||||
|
||||
<col class="org-right" />
|
||||
|
||||
<col class="org-right" />
|
||||
|
||||
<col class="org-right" />
|
||||
|
||||
<col class="org-right" />
|
||||
|
||||
<col class="org-right" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="org-left"> </th>
|
||||
<th scope="col" class="org-right"><code>ur1</code> [nm]</th>
|
||||
<th scope="col" class="org-right"><code>h1</code> [nm]</th>
|
||||
<th scope="col" class="org-right"><code>dr1</code> [nm]</th>
|
||||
<th scope="col" class="org-right"><code>ur2</code> [nm]</th>
|
||||
<th scope="col" class="org-right"><code>h2</code> [nm]</th>
|
||||
<th scope="col" class="org-right"><code>dr1</code> [nm]</th>
|
||||
<th scope="col" class="org-right"><code>um</code> [nm]</th>
|
||||
<th scope="col" class="org-right"><code>dhm</code> [nm]</th>
|
||||
<th scope="col" class="org-right"><code>drm</code> [nm]</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>dz</code> [nm]</td>
|
||||
<td class="org-right">-0.25</td>
|
||||
<td class="org-right">-0.5</td>
|
||||
<td class="org-right">-0.25</td>
|
||||
<td class="org-right">-0.25</td>
|
||||
<td class="org-right">-0.5</td>
|
||||
<td class="org-right">-0.25</td>
|
||||
<td class="org-right">0.463</td>
|
||||
<td class="org-right">0.268</td>
|
||||
<td class="org-right">0.268</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>rx</code> [nrad]</td>
|
||||
<td class="org-right">13.889</td>
|
||||
<td class="org-right">0.0</td>
|
||||
<td class="org-right">-13.889</td>
|
||||
<td class="org-right">7.143</td>
|
||||
<td class="org-right">0.0</td>
|
||||
<td class="org-right">-7.143</td>
|
||||
<td class="org-right">-5.263</td>
|
||||
<td class="org-right">2.632</td>
|
||||
<td class="org-right">2.632</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>ry</code> [nrad]</td>
|
||||
<td class="org-right">16.667</td>
|
||||
<td class="org-right">-33.333</td>
|
||||
<td class="org-right">16.667</td>
|
||||
<td class="org-right">16.667</td>
|
||||
<td class="org-right">-33.333</td>
|
||||
<td class="org-right">16.667</td>
|
||||
<td class="org-right">0.0</td>
|
||||
<td class="org-right">-3.922</td>
|
||||
<td class="org-right">3.922</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
From table <a href="#orgabe5ba2">4</a>, we can determine the effect of each interferometer on the estimated relative pose between the crystals.
|
||||
For instance, an error on <code>dr1</code> will have much greater impact on <code>ry</code> than an error on <code>drm</code>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge6e300e" class="outline-2">
|
||||
<h2 id="orge6e300e"><span class="section-number-2">2.</span> Deformations of the Metrology Frame</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
<a id="orgacc2503"></a>
|
||||
</p>
|
||||
<p>
|
||||
The transformation matrix in Table <a href="#orgabe5ba2">4</a> is valid only if the metrology frames are solid bodies.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The metrology frame itself is experiencing some deformations due to the gravity.
|
||||
When the bragg axis is scanned, the effect of gravity on the metrology frame is changing and this introduce some measurement errors.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This can be calibrated.
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-org62287e7" class="outline-3">
|
||||
<h3 id="org62287e7"><span class="section-number-3">2.1.</span> Measurement Setup</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
Two beam viewers:
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li>one close to the DCM to measure position of the beam</li>
|
||||
<li>one far away to the DCM to measure orientation of the beam</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
For each Bragg angle, the Fast Jacks are actuated to that the beam is at the center of the beam viewer.
|
||||
Then, then position of the crystals as measured by the interferometers is recorded.
|
||||
This position is the wanted position for a given Bragg angle.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9a14028" class="outline-3">
|
||||
<h3 id="org9a14028"><span class="section-number-3">2.2.</span> Simulations</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
The deformations of the metrology frame and therefore the expected interferometric measurements can be computed as a function of the Bragg angle.
|
||||
This may be done using FE software.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2f06b8d" class="outline-3">
|
||||
<h3 id="org2f06b8d"><span class="section-number-3">2.3.</span> Comparison</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org57a7951" class="outline-2">
|
||||
<h2 id="org57a7951"><span class="section-number-2">3.</span> Attocube - Periodic Non-Linearity</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
<a id="org3b56a97"></a>
|
||||
</p>
|
||||
<p>
|
||||
(<a href="#citeproc_bib_item_1">Ducourtieux, 2018, p. 11 to 12</a>; See <a href="#citeproc_bib_item_2">Thurner et al., 2015, p. 8</a>)
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The idea is to calibrate the periodic non-linearity of the interferometers, a known displacement must be imposed and the interferometer output compared to this displacement.
|
||||
This should be performed over several periods in order to characterize the error.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We here suppose that we are already in the frame of the Attocube (the fast-jack displacements are converted to Attocube displacement using the transformation matrices).
|
||||
We also suppose that we are at a certain Bragg angle, and that the stepper motors are not moving: only the piezoelectric actuators are used.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The setup is schematically with the block diagram in Figure <a href="#orga343b78">5</a>.
|
||||
The signals are:
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li>\(u\): Actuator Signal (position where we wish to go)</li>
|
||||
<li>\(d\): Disturbances affecting the signal</li>
|
||||
<li>\(y\): Displacement of the crystal</li>
|
||||
<li>\(y_g\): Measurement of the crystal motion by the strain gauge with some noise \(n_g\)</li>
|
||||
<li>\(y_a\): Measurement of the crystal motion by the interferometer with some noise \(n_a\)</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<div id="orga343b78" class="figure">
|
||||
<p><img src="figs/block_diagram_lut_attocube.png" alt="block_diagram_lut_attocube.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 5: </span>Block Diagram schematic of the setup used to measure the periodic non-linearity of the Attocube</p>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The problem is to estimate the periodic non-linearity of the Attocube from the imperfect measurements \(y_a\) and \(y_g\).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The wavelength of the Attocube is 1530nm, therefore the non-linearity has a period of 765nm.
|
||||
The amplitude of the non-linearity can vary from one unit to the other (and maybe from one experimental condition to the other).
|
||||
It is typically between 5nm peak to peak and 20nm peak to peak.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2e13fe2" class="outline-3">
|
||||
<h3 id="org2e13fe2"><span class="section-number-3">3.1.</span> Calibration - Concept</h3>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org44715ee" class="outline-3">
|
||||
<h3 id="org44715ee"><span class="section-number-3">3.2.</span> Measurements</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<p>
|
||||
We have some constrains on the way the motion is imposed and measured:
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li>We want the frequency content of the imposed motion to be at low frequency in order not to induce vibrations of the structure.
|
||||
We have to make sure the forces applied by the piezoelectric actuator only moves the crystal and not the fast jack below.
|
||||
Therefore, we have to move much slower than the first resonance frequency in the system.</li>
|
||||
<li>As both \(y_a\) and \(y_g\) should have rather small noise, we have to filter them with low pass filters.
|
||||
The cut-off frequency of the low pass filter should be high as compared to the motion (to not induce any distortion) but still reducing sufficiently the noise.
|
||||
Let’s say we want the noise to be less than 1nm (\(6 \sigma\)).</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Suppose we have the power spectral density (PSD) of both \(n_a\) and \(n_g\).
|
||||
</p>
|
||||
|
||||
<ul class="org-ul">
|
||||
<li class="off"><code>[ ]</code> Take the PSD of the Attocube</li>
|
||||
<li class="off"><code>[ ]</code> Take the PSD of the strain gauge</li>
|
||||
<li class="off"><code>[ ]</code> Using 2nd order low pass filter, estimate the required low pass filter cut-off frequency to have sufficiently low noise</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3331f0d" class="outline-2">
|
||||
<h2 id="org3331f0d">Bibliography</h2>
|
||||
<div class="outline-text-2" id="text-org3331f0d">
|
||||
<style>.csl-entry{text-indent: -1.5em; margin-left: 1.5em;}</style><div class="csl-bib-body">
|
||||
<div class="csl-entry"><a id="citeproc_bib_item_1"></a>Ducourtieux, S., 2018. Toward high precision position control using laser interferometry: Main sources of error. <a href="https://doi.org/10.13140/rg.2.2.21044.35205">https://doi.org/10.13140/rg.2.2.21044.35205</a></div>
|
||||
<div class="csl-entry"><a id="citeproc_bib_item_2"></a>Thurner, K., Quacquarelli, F.P., Braun, P.-F., Dal Savio, C., Karrai, K., 2015. Fiber-based distance sensing interferometry. Applied optics 54, 3051–3063.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2022-01-05 mer. 15:27</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
1058
dcm-metrology.org
Normal file
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-01-05 mer. 10:28 -->
|
||||
<!-- 2022-02-15 mar. 14:24 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<title>ESRF Double Crystal Monochromator - Metrology</title>
|
||||
<meta name="author" content="Dehaeze Thomas" />
|
||||
@ -39,35 +39,69 @@
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#org5fb9a5d">1. Metrology Concept</a>
|
||||
<li><a href="#orgaef5215">1. Metrology Concept</a>
|
||||
<ul>
|
||||
<li><a href="#orgdfefe6f">1.1. Sensor Topology</a></li>
|
||||
<li><a href="#orgcd986be">1.2. Crystal’s motion computation</a></li>
|
||||
<li><a href="#orgf37f320">1.1. Sensor Topology</a></li>
|
||||
<li><a href="#org5885e87">1.2. Crystal’s motion computation</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1756962">2. Deformations of the Metrology Frame</a>
|
||||
<li><a href="#orgbd4189c">2. Relation Between Crystal position and X-ray measured displacement</a>
|
||||
<ul>
|
||||
<li><a href="#org7ca31a3">2.1. Measurement Setup</a></li>
|
||||
<li><a href="#org7a8ddda">2.2. Simulations</a></li>
|
||||
<li><a href="#org29e69e6">2.3. Comparison</a></li>
|
||||
<li><a href="#org4354fd2">2.1. Setup</a></li>
|
||||
<li><a href="#org5f1afb1">2.2. Relation between second crystal motion and beam motion</a>
|
||||
<ul>
|
||||
<li><a href="#orgb32e3d5">2.2.1. Axial motion of second crystal</a></li>
|
||||
<li><a href="#org0384f71">2.2.2. Ry motion of second crystal</a></li>
|
||||
<li><a href="#orgd24e210">2.2.3. Rx motion of second crystal</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc6a0286">3. Attocube - Periodic Non-Linearity</a>
|
||||
<ul>
|
||||
<li><a href="#orgd22a8f7">3.1. Simulations</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6a22c1e">3. Deformations of the Metrology Frame</a>
|
||||
<ul>
|
||||
<li><a href="#orgcce8dad">3.1. Measurement Setup</a></li>
|
||||
<li><a href="#orgb46a706">3.2. Simulations</a></li>
|
||||
<li><a href="#org558e635">3.3. Comparison</a></li>
|
||||
<li><a href="#org761444e">3.4. Test</a></li>
|
||||
<li><a href="#org62fbba2">3.5. Measured frame deformation</a></li>
|
||||
<li><a href="#org74b4de2">3.6. Test</a></li>
|
||||
<li><a href="#org0717d49">3.7. Repeatability of frame deformation</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga9f44b6">4. Attocube - Periodic Non-Linearity</a>
|
||||
<ul>
|
||||
<li><a href="#org0260dd3">4.1. Measurement Setup</a></li>
|
||||
<li><a href="#org4d2d3da">4.2. Choice of the reference signal</a></li>
|
||||
<li><a href="#orge3e9949">4.3. Repeatability of the non-linearity</a></li>
|
||||
<li><a href="#orgf603009">4.4. Simulation</a></li>
|
||||
<li><a href="#org5650b5e">4.5. Measurements</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd3e86f0">Bibliography</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<p>This report is also available as a <a href="./dcm_metrology.pdf">pdf</a>.</p>
|
||||
<p>This report is also available as a <a href="./dcm-metrology.pdf">pdf</a>.</p>
|
||||
<hr>
|
||||
|
||||
<div id="outline-container-org5fb9a5d" class="outline-2">
|
||||
<h2 id="org5fb9a5d"><span class="section-number-2">1.</span> Metrology Concept</h2>
|
||||
<p>
|
||||
In this document, the metrology system is studied.
|
||||
First, in Section <a href="#org87bd702">1</a> the goal of the metrology system is stated and the proposed concept is described.
|
||||
In order to increase the accuracy of the metrology system, two problems are to be dealt with:
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li>The deformation of the metrology frame under the action of gravity (Section <a href="#org53634bb">3</a>)</li>
|
||||
<li>The periodic non-linearity of the interferometers (Section <a href="#orgb874772">4</a>)</li>
|
||||
</ul>
|
||||
|
||||
<div id="outline-container-orgaef5215" class="outline-2">
|
||||
<h2 id="orgaef5215"><span class="section-number-2">1.</span> Metrology Concept</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
<a id="org87bd702"></a>
|
||||
</p>
|
||||
<p>
|
||||
The goal of the metrology system is to measure the distance and default of parallelism orientation between the first and second crystals
|
||||
</p>
|
||||
|
||||
@ -80,9 +114,8 @@ Only 3 degrees of freedom are of interest:
|
||||
<li>\(r_x\)</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdfefe6f" class="outline-3">
|
||||
<h3 id="orgdfefe6f"><span class="section-number-3">1.1.</span> Sensor Topology</h3>
|
||||
<div id="outline-container-orgf37f320" class="outline-3">
|
||||
<h3 id="orgf37f320"><span class="section-number-3">1.1.</span> Sensor Topology</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
In order to measure the relative pose of the two crystals, instead of performing a direct measurement which is complicated, the pose of the two crystals are measured from a metrology frame.
|
||||
@ -90,7 +123,7 @@ Three interferometers are used to measured the 3dof of interest for each crystal
|
||||
Three additional interferometers are used to measured the relative motion of the metrology frame.
|
||||
</p>
|
||||
|
||||
<table id="org63eb22c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3d1cf86" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<caption class="t-above"><span class="table-number">Table 1:</span> Notations for the metrology frame</caption>
|
||||
|
||||
<colgroup>
|
||||
@ -143,7 +176,7 @@ Three additional interferometers are used to measured the relative motion of the
|
||||
</table>
|
||||
|
||||
|
||||
<div id="org830789b" class="figure">
|
||||
<div id="org9711544" class="figure">
|
||||
<p><img src="figs/metrology_schematic.png" alt="metrology_schematic.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 1: </span>Schematic of the Metrology System</p>
|
||||
@ -151,8 +184,8 @@ Three additional interferometers are used to measured the relative motion of the
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcd986be" class="outline-3">
|
||||
<h3 id="orgcd986be"><span class="section-number-3">1.2.</span> Crystal’s motion computation</h3>
|
||||
<div id="outline-container-org5885e87" class="outline-3">
|
||||
<h3 id="org5885e87"><span class="section-number-3">1.2.</span> Crystal’s motion computation</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
From the raw interferometric measurements, the pose between the first and second crystals can be computed.
|
||||
@ -166,7 +199,7 @@ First, Jacobian matrices can be used to convert raw interferometer measurements
|
||||
For the 311 crystals:
|
||||
</p>
|
||||
|
||||
<table id="org5eec403" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge404fa7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<caption class="t-above"><span class="table-number">Table 2:</span> Table caption</caption>
|
||||
|
||||
<colgroup>
|
||||
@ -230,7 +263,7 @@ For the 311 crystals:
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table id="org9cbd4a3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org63e9b24" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<caption class="t-above"><span class="table-number">Table 3:</span> Table caption</caption>
|
||||
|
||||
<colgroup>
|
||||
@ -295,21 +328,21 @@ For the 311 crystals:
|
||||
</table>
|
||||
|
||||
|
||||
<div id="org211c039" class="figure">
|
||||
<div id="orge037408" class="figure">
|
||||
<p><img src="figs/schematic_sensor_jacobian_forward_kinematics_m.png" alt="schematic_sensor_jacobian_forward_kinematics_m.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 2: </span>Forward Kinematics for the Metrology frame</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="org567b707" class="figure">
|
||||
<div id="org1a9f1c4" class="figure">
|
||||
<p><img src="figs/schematic_sensor_jacobian_forward_kinematics_1.png" alt="schematic_sensor_jacobian_forward_kinematics_1.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 3: </span>Forward Kinematics for the 1st crystal</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="orgb30fa3c" class="figure">
|
||||
<div id="org0f56bf7" class="figure">
|
||||
<p><img src="figs/schematic_sensor_jacobian_forward_kinematics_2.png" alt="schematic_sensor_jacobian_forward_kinematics_2.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 4: </span>Forward Kinematics for the 2nd crystal</p>
|
||||
@ -371,7 +404,7 @@ G_111_t(1,<span class="org-builtin">:</span>) = <span class="org-builtin">-</spa
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<table id="orgd7b23bf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org86cb035" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<caption class="t-above"><span class="table-number">Table 4:</span> Transformation Matrix</caption>
|
||||
|
||||
<colgroup>
|
||||
@ -452,18 +485,115 @@ G_111_t(1,<span class="org-builtin">:</span>) = <span class="org-builtin">-</spa
|
||||
</table>
|
||||
|
||||
<p>
|
||||
From table <a href="#orgb30fa3c">4</a>, we can determine the effect of each interferometer on the estimated relative pose between the crystals.
|
||||
From table <a href="#org0f56bf7">4</a>, we can determine the effect of each interferometer on the estimated relative pose between the crystals.
|
||||
For instance, an error on <code>dr1</code> will have much greater impact on <code>ry</code> than an error on <code>drm</code>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1756962" class="outline-2">
|
||||
<h2 id="org1756962"><span class="section-number-2">2.</span> Deformations of the Metrology Frame</h2>
|
||||
<div id="outline-container-orgbd4189c" class="outline-2">
|
||||
<h2 id="orgbd4189c"><span class="section-number-2">2.</span> Relation Between Crystal position and X-ray measured displacement</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org4354fd2" class="outline-3">
|
||||
<h3 id="org4354fd2"><span class="section-number-3">2.1.</span> Setup</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
|
||||
<div id="orgda607d7" class="figure">
|
||||
<p><img src="figs/calibration_setup.png" alt="calibration_setup.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 5: </span>Schematic of the setup</p>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The transformation matrix in Table <a href="#orgb30fa3c">4</a> is valid only if the metrology frames are solid bodies.
|
||||
Detector:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="https://www.baslerweb.com/en/products/cameras/area-scan-cameras/ace/aca1920-40gc/">https://www.baslerweb.com/en/products/cameras/area-scan-cameras/ace/aca1920-40gc/</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Pixel size depends on the magnification used (1x, 6x, 12x).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Pixel size of camera is 5.86 um x 5.86 um.
|
||||
With typical magnification of 6x, pixel size is ~1.44um x 1.44um
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Frame rate is: 42 fps
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5f1afb1" class="outline-3">
|
||||
<h3 id="org5f1afb1"><span class="section-number-3">2.2.</span> Relation between second crystal motion and beam motion</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
</div>
|
||||
<div id="outline-container-orgb32e3d5" class="outline-4">
|
||||
<h4 id="orgb32e3d5"><span class="section-number-4">2.2.1.</span> Axial motion of second crystal</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<p>
|
||||
Let’s consider the relation between the \([y, z]\) motion of the beam and the motion of the second crystal \([z^\prime, R_{y^\prime}, R_{x^\prime}]\).
|
||||
</p>
|
||||
|
||||
|
||||
<div id="org4f4a872" class="figure">
|
||||
<p><img src="figs/relation_dz_output_beam.png" alt="relation_dz_output_beam.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 6: </span>Relation between \(d_{z^\prime}\) motion of the second crystal and vertical motion of the beam</p>
|
||||
</div>
|
||||
|
||||
\begin{equation}
|
||||
d_z = d_{z^\prime} 2 \cos \theta
|
||||
\end{equation}
|
||||
|
||||
|
||||
<div id="orge98fcce" class="figure">
|
||||
<p><img src="figs/relation_vert_motion_crystal_beam.png" alt="relation_vert_motion_crystal_beam.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 7: </span>Relation between vertical motion of the second crystal and vertical motion of the output beam</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0384f71" class="outline-4">
|
||||
<h4 id="org0384f71"><span class="section-number-4">2.2.2.</span> Ry motion of second crystal</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
\begin{equation}
|
||||
d_z = D_{\text{vlm}} d_{R_y^\prime}
|
||||
\end{equation}
|
||||
|
||||
<p>
|
||||
with \(D_{\text{vlm}} \approx 10\,m\).
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd24e210" class="outline-4">
|
||||
<h4 id="orgd24e210"><span class="section-number-4">2.2.3.</span> Rx motion of second crystal</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
\begin{equation}
|
||||
d_y = 2 D_{\text{vlm}} \sin \theta \cdot d_{R_x^\prime}
|
||||
\end{equation}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div id="outline-container-org6a22c1e" class="outline-2">
|
||||
<h2 id="org6a22c1e"><span class="section-number-2">3.</span> Deformations of the Metrology Frame</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
<a id="org53634bb"></a>
|
||||
</p>
|
||||
<p>
|
||||
The transformation matrix in Table <a href="#org86cb035">4</a> is valid only if the metrology frames are solid bodies.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -475,10 +605,9 @@ When the bragg axis is scanned, the effect of gravity on the metrology frame is
|
||||
This can be calibrated.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7ca31a3" class="outline-3">
|
||||
<h3 id="org7ca31a3"><span class="section-number-3">2.1.</span> Measurement Setup</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<div id="outline-container-orgcce8dad" class="outline-3">
|
||||
<h3 id="orgcce8dad"><span class="section-number-3">3.1.</span> Measurement Setup</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
Two beam viewers:
|
||||
</p>
|
||||
@ -495,9 +624,9 @@ This position is the wanted position for a given Bragg angle.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7a8ddda" class="outline-3">
|
||||
<h3 id="org7a8ddda"><span class="section-number-3">2.2.</span> Simulations</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<div id="outline-container-orgb46a706" class="outline-3">
|
||||
<h3 id="orgb46a706"><span class="section-number-3">3.2.</span> Simulations</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<p>
|
||||
The deformations of the metrology frame and therefore the expected interferometric measurements can be computed as a function of the Bragg angle.
|
||||
This may be done using FE software.
|
||||
@ -505,60 +634,513 @@ This may be done using FE software.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org29e69e6" class="outline-3">
|
||||
<h3 id="org29e69e6"><span class="section-number-3">2.3.</span> Comparison</h3>
|
||||
<div id="outline-container-org558e635" class="outline-3">
|
||||
<h3 id="org558e635"><span class="section-number-3">3.3.</span> Comparison</h3>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org761444e" class="outline-3">
|
||||
<h3 id="org761444e"><span class="section-number-3">3.4.</span> Test</h3>
|
||||
<div class="outline-text-3" id="text-3-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">aa = importdata(<span class="org-string">"correctInterf-vlm-220201.dat"</span>);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-builtin">figure</span>;
|
||||
<span class="org-builtin">plot</span>(aa.data(<span class="org-builtin">:</span>,1), aa.data(<span class="org-builtin">:</span>,24))
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc6a0286" class="outline-2">
|
||||
<h2 id="orgc6a0286"><span class="section-number-2">3.</span> Attocube - Periodic Non-Linearity</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<div id="outline-container-org62fbba2" class="outline-3">
|
||||
<h3 id="org62fbba2"><span class="section-number-3">3.5.</span> Measured frame deformation</h3>
|
||||
<div class="outline-text-3" id="text-3-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">data = table2array(readtable(<span class="org-string">'itf_polynom.csv'</span>,<span class="org-string">'NumHeaderLines'</span>,1));
|
||||
th = <span class="org-matlab-math">pi</span><span class="org-builtin">/</span>180<span class="org-builtin">*</span>data(<span class="org-builtin">:</span>,1); <span class="org-comment-delimiter">% </span><span class="org-comment">[rad]</span>
|
||||
fj = 0.030427 <span class="org-builtin">-</span> 10.51e<span class="org-builtin">-</span>3<span class="org-builtin">./</span>(2<span class="org-builtin">*</span>cos(th)); <span class="org-comment-delimiter">% </span><span class="org-comment">[m]</span>
|
||||
rx2 = 1e<span class="org-builtin">-</span>9<span class="org-builtin">*</span>data(<span class="org-builtin">:</span>,2); <span class="org-comment-delimiter">% </span><span class="org-comment">[rad]</span>
|
||||
ry2 = 1e<span class="org-builtin">-</span>9<span class="org-builtin">*</span>data(<span class="org-builtin">:</span>,3); <span class="org-comment-delimiter">% </span><span class="org-comment">[rad]</span>
|
||||
rx1 = 1e<span class="org-builtin">-</span>9<span class="org-builtin">*</span>data(<span class="org-builtin">:</span>,4); <span class="org-comment-delimiter">% </span><span class="org-comment">[rad]</span>
|
||||
ry1 = 1e<span class="org-builtin">-</span>9<span class="org-builtin">*</span>data(<span class="org-builtin">:</span>,5); <span class="org-comment-delimiter">% </span><span class="org-comment">[rad]</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-builtin">figure</span>;
|
||||
<span class="org-builtin">hold</span> <span class="org-matlab-commanddual-string">on;</span>
|
||||
<span class="org-builtin">plot</span>(180<span class="org-builtin">/</span><span class="org-matlab-math">pi</span><span class="org-builtin">*</span>th, 1e6<span class="org-builtin">*</span>detrend(<span class="org-builtin">-</span>rx2, 1), <span class="org-string">'.'</span>)
|
||||
<span class="org-comment-delimiter">% </span><span class="org-comment">plot(180/pi*th, detrend(ry2, 1))</span>
|
||||
<span class="org-comment-delimiter">% </span><span class="org-comment">plot(180/pi*th, detrend(rx1, 1))</span>
|
||||
<span class="org-comment-delimiter">% </span><span class="org-comment">plot(180/pi*th, detrend(ry1, 1))</span>
|
||||
<span class="org-builtin">hold</span> <span class="org-matlab-commanddual-string">off;</span>
|
||||
<span class="org-builtin">xlabel</span>(<span class="org-string">'Bragg Angle [deg]'</span>);
|
||||
<span class="org-builtin">ylabel</span>(<span class="org-string">'Measured $R_x$ [$\mu$rad]'</span>)
|
||||
<span class="org-builtin">xlim</span>([10, 75]);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="org5208242" class="figure">
|
||||
<p><img src="figs/calibration_drx_pres.png" alt="calibration_drx_pres.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 8: </span>description</p>
|
||||
</div>
|
||||
|
||||
|
||||
<p>
|
||||
<a id="org4b25b3a"></a>
|
||||
Strange that there is correlation between Rx and Ry.
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-builtin">figure</span>;
|
||||
<span class="org-builtin">hold</span> <span class="org-matlab-commanddual-string">on;</span>
|
||||
<span class="org-builtin">plot</span>(108<span class="org-builtin">/</span><span class="org-matlab-math">pi</span><span class="org-builtin">*</span>th, 1e9<span class="org-builtin">*</span>detrend(rx1, 0), <span class="org-string">'-'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'$Rx_1$'</span>)
|
||||
<span class="org-builtin">plot</span>(108<span class="org-builtin">/</span><span class="org-matlab-math">pi</span><span class="org-builtin">*</span>th, 1e9<span class="org-builtin">*</span>detrend(ry1, 0), <span class="org-string">'-'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'$Ry_1$'</span>)
|
||||
<span class="org-builtin">hold</span> <span class="org-matlab-commanddual-string">off;</span>
|
||||
<span class="org-builtin">xlabel</span>(<span class="org-string">'Bragg Angle [deg]'</span>); <span class="org-builtin">ylabel</span>(<span class="org-string">'Angle Offset [nrad]'</span>);
|
||||
<span class="org-builtin">legend</span>()
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-builtin">figure</span>;
|
||||
<span class="org-builtin">hold</span> <span class="org-matlab-commanddual-string">on;</span>
|
||||
<span class="org-builtin">plot</span>(1e3<span class="org-builtin">*</span>fj, detrend(rx2, 1), <span class="org-string">'DisplayName'</span>, <span class="org-string">'$Rx_1$'</span>)
|
||||
<span class="org-builtin">plot</span>(1e3<span class="org-builtin">*</span>fj, detrend(ry2, 1), <span class="org-string">'DisplayName'</span>, <span class="org-string">'$Ry_1$'</span>)
|
||||
<span class="org-builtin">hold</span> <span class="org-matlab-commanddual-string">off;</span>
|
||||
<span class="org-builtin">xlabel</span>(<span class="org-string">'Fast Jack Displacement [mm]'</span>); <span class="org-builtin">ylabel</span>(<span class="org-string">'Angle Offset [nrad]'</span>);
|
||||
<span class="org-builtin">legend</span>()
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-matlab-cellbreak">%% Compute best polynomial fit</span>
|
||||
f_rx2 = fit(180<span class="org-builtin">/</span><span class="org-matlab-math">pi</span><span class="org-builtin">*</span>th, 1e9<span class="org-builtin">*</span>rx2, <span class="org-string">'poly4'</span>);
|
||||
f_ry2 = fit(180<span class="org-builtin">/</span><span class="org-matlab-math">pi</span><span class="org-builtin">*</span>th, 1e9<span class="org-builtin">*</span>ry2, <span class="org-string">'poly4'</span>);
|
||||
f_rx1 = fit(180<span class="org-builtin">/</span><span class="org-matlab-math">pi</span><span class="org-builtin">*</span>th, 1e9<span class="org-builtin">*</span>rx1, <span class="org-string">'poly4'</span>);
|
||||
f_ry1 = fit(180<span class="org-builtin">/</span><span class="org-matlab-math">pi</span><span class="org-builtin">*</span>th, 1e9<span class="org-builtin">*</span>ry1, <span class="org-string">'poly4'</span>);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-builtin">figure</span>;
|
||||
<span class="org-builtin">hold</span> <span class="org-matlab-commanddual-string">on;</span>
|
||||
<span class="org-builtin">plot</span>(180<span class="org-builtin">/</span><span class="org-matlab-math">pi</span><span class="org-builtin">*</span>th, f_rx2(180<span class="org-builtin">/</span><span class="org-matlab-math">pi</span><span class="org-builtin">*</span>th))
|
||||
<span class="org-builtin">plot</span>(180<span class="org-builtin">/</span><span class="org-matlab-math">pi</span><span class="org-builtin">*</span>th, f_ry2(180<span class="org-builtin">/</span><span class="org-matlab-math">pi</span><span class="org-builtin">*</span>th))
|
||||
<span class="org-builtin">plot</span>(180<span class="org-builtin">/</span><span class="org-matlab-math">pi</span><span class="org-builtin">*</span>th, f_rx1(180<span class="org-builtin">/</span><span class="org-matlab-math">pi</span><span class="org-builtin">*</span>th))
|
||||
<span class="org-builtin">plot</span>(180<span class="org-builtin">/</span><span class="org-matlab-math">pi</span><span class="org-builtin">*</span>th, f_ry1(180<span class="org-builtin">/</span><span class="org-matlab-math">pi</span><span class="org-builtin">*</span>th))
|
||||
<span class="org-builtin">hold</span> <span class="org-matlab-commanddual-string">off;</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-builtin">figure</span>;
|
||||
<span class="org-builtin">hold</span> <span class="org-matlab-commanddual-string">on;</span>
|
||||
<span class="org-builtin">plot</span>(th, f_rx2(th) <span class="org-builtin">-</span> rx2)
|
||||
<span class="org-builtin">plot</span>(th, f_ry2(th) <span class="org-builtin">-</span> ry2)
|
||||
<span class="org-builtin">plot</span>(th, f_rx1(th) <span class="org-builtin">-</span> rx1)
|
||||
<span class="org-builtin">plot</span>(th, f_ry1(th) <span class="org-builtin">-</span> ry1)
|
||||
<span class="org-builtin">hold</span> <span class="org-matlab-commanddual-string">off;</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-builtin">figure</span>;
|
||||
<span class="org-builtin">hold</span> <span class="org-matlab-commanddual-string">on;</span>
|
||||
<span class="org-builtin">plot</span>(th, f(th))
|
||||
<span class="org-builtin">plot</span>(th, rx2, <span class="org-string">'.'</span>)
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org74b4de2" class="outline-3">
|
||||
<h3 id="org74b4de2"><span class="section-number-3">3.6.</span> Test</h3>
|
||||
<div class="outline-text-3" id="text-3-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">filename = <span class="org-string">"/home/thomas/mnt/data_id21/22Jan/blc13550/id21/test_xtal1_interf/test_xtal1_interf_0001/test_xtal1_interf_0001.h5"</span>;
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">data = struct();
|
||||
|
||||
data.xtal1_111_u = double(h5read(filename, <span class="org-string">'/7.1/instrument/FPGA1_SSIM4/data'</span>));
|
||||
data.xtal1_111_m = double(h5read(filename, <span class="org-string">'/7.1/instrument/FPGA1_SSIM5/data'</span>));
|
||||
data.xtal1_111_d = double(h5read(filename, <span class="org-string">'/7.1/instrument/FPGA1_SSIM6/data'</span>));
|
||||
data.mframe_u = double(h5read(filename, <span class="org-string">'/7.1/instrument/FPGA2_SSIM3/data'</span>));
|
||||
data.mframe_dh = double(h5read(filename, <span class="org-string">'/7.1/instrument/FPGA2_SSIM4/data'</span>));
|
||||
data.mframe_dr = double(h5read(filename, <span class="org-string">'/7.1/instrument/FPGA2_SSIM5/data'</span>));
|
||||
data.bragg = (<span class="org-matlab-math">pi</span><span class="org-builtin">/</span>180)<span class="org-builtin">*</span>double(h5read(filename, <span class="org-string">'/7.1/instrument/FPGA2_SSIM6/data'</span>));
|
||||
data.fj_pos = 0.030427 <span class="org-builtin">-</span> 10.5e<span class="org-builtin">-</span>3<span class="org-builtin">./</span>(2<span class="org-builtin">*</span>cos(data.bragg));
|
||||
data.time = double(h5read(filename, <span class="org-string">'/7.1/instrument/time/data'</span>));
|
||||
data.rx = 1e<span class="org-builtin">-</span>9<span class="org-builtin">*</span>double(h5read(filename, <span class="org-string">'/7.1/instrument/xtal1_111_rx/data'</span>));
|
||||
data.ry = 1e<span class="org-builtin">-</span>9<span class="org-builtin">*</span>double(h5read(filename, <span class="org-string">'/7.1/instrument/xtal1_111_ry/data'</span>));
|
||||
data.z = 1e<span class="org-builtin">-</span>9<span class="org-builtin">*</span>double(h5read(filename, <span class="org-string">'/7.1/instrument/xtal1_111_z/data'</span>));
|
||||
data.drx = 1e<span class="org-builtin">-</span>9<span class="org-builtin">*</span>double(h5read(filename, <span class="org-string">'/7.1/instrument/xtal_111_drx_filter/data'</span>));
|
||||
data.dry = 1e<span class="org-builtin">-</span>9<span class="org-builtin">*</span>double(h5read(filename, <span class="org-string">'/7.1/instrument/xtal_111_dry_filter/data'</span>));
|
||||
data.dz = 1e<span class="org-builtin">-</span>9<span class="org-builtin">*</span>double(h5read(filename, <span class="org-string">'/7.1/instrument/xtal_111_dz_filter/data'</span>));
|
||||
data.xtal2_111_u = double(h5read(filename, <span class="org-string">'/7.1/instrument/FPGA1_SSIM10/data'</span>))<span class="org-builtin">+</span>10.5e6<span class="org-builtin">./</span>(2<span class="org-builtin">*</span>cos(data.bragg));
|
||||
data.xtal2_111_m = double(h5read(filename, <span class="org-string">'/7.1/instrument/FPGA2_SSIM1/data'</span>))<span class="org-builtin">+</span>10.5e6<span class="org-builtin">./</span>(2<span class="org-builtin">*</span>cos(data.bragg));
|
||||
data.xtal2_111_d = double(h5read(filename, <span class="org-string">'/7.1/instrument/FPGA2_SSIM2/data'</span>))<span class="org-builtin">+</span>10.5e6<span class="org-builtin">./</span>(2<span class="org-builtin">*</span>cos(data.bragg));
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="org3f0f3e9" class="figure">
|
||||
<p><img src="figs/drifts_xtal2_detrend.png" alt="drifts_xtal2_detrend.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 9: </span>Drifts of the second crystal as a function of Bragg Angle</p>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-builtin">figure</span>;
|
||||
<span class="org-builtin">hold</span> <span class="org-matlab-commanddual-string">on;</span>
|
||||
<span class="org-builtin">plot</span>(108<span class="org-builtin">/</span><span class="org-matlab-math">pi</span><span class="org-builtin">*</span>data.bragg, data.drx)
|
||||
<span class="org-builtin">plot</span>(108<span class="org-builtin">/</span><span class="org-matlab-math">pi</span><span class="org-builtin">*</span>data.bragg, data.dry)
|
||||
<span class="org-builtin">hold</span> <span class="org-matlab-commanddual-string">off;</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0717d49" class="outline-3">
|
||||
<h3 id="org0717d49"><span class="section-number-3">3.7.</span> Repeatability of frame deformation</h3>
|
||||
<div class="outline-text-3" id="text-3-7">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">filename = <span class="org-string">"/home/thomas/mnt/data_id21/22Jan/blc13550/id21/test_xtal1_interf/test_xtal1_interf_0001/test_xtal1_interf_0001.h5"</span>;
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">data_1 = struct();
|
||||
data_1.time = double(h5read(filename, <span class="org-string">'/7.1/instrument/time/data'</span>));
|
||||
data_1.bragg = (<span class="org-matlab-math">pi</span><span class="org-builtin">/</span>180)<span class="org-builtin">*</span>double(h5read(filename, <span class="org-string">'/7.1/instrument/FPGA2_SSIM6/data'</span>));
|
||||
data_1.fj_pos = 0.030427 <span class="org-builtin">-</span> 10.5e<span class="org-builtin">-</span>3<span class="org-builtin">./</span>(2<span class="org-builtin">*</span>cos(data_1.bragg));
|
||||
data_1.xtal1_111_u = double(h5read(filename, <span class="org-string">'/7.1/instrument/FPGA1_SSIM4/data'</span>));
|
||||
data_1.xtal1_111_m = double(h5read(filename, <span class="org-string">'/7.1/instrument/FPGA1_SSIM5/data'</span>));
|
||||
data_1.xtal1_111_d = double(h5read(filename, <span class="org-string">'/7.1/instrument/FPGA1_SSIM6/data'</span>));
|
||||
data_1.xtal2_111_u = double(h5read(filename, <span class="org-string">'/7.1/instrument/FPGA1_SSIM10/data'</span>))<span class="org-builtin">+</span>10.5e6<span class="org-builtin">./</span>(2<span class="org-builtin">*</span>cos(data_1.bragg));
|
||||
data_1.xtal2_111_m = double(h5read(filename, <span class="org-string">'/7.1/instrument/FPGA2_SSIM1/data'</span>))<span class="org-builtin">+</span>10.5e6<span class="org-builtin">./</span>(2<span class="org-builtin">*</span>cos(data_1.bragg));
|
||||
data_1.xtal2_111_d = double(h5read(filename, <span class="org-string">'/7.1/instrument/FPGA2_SSIM2/data'</span>))<span class="org-builtin">+</span>10.5e6<span class="org-builtin">./</span>(2<span class="org-builtin">*</span>cos(data_1.bragg));
|
||||
data_1.mframe_u = double(h5read(filename, <span class="org-string">'/7.1/instrument/FPGA2_SSIM3/data'</span>));
|
||||
data_1.mframe_dh = double(h5read(filename, <span class="org-string">'/7.1/instrument/FPGA2_SSIM4/data'</span>));
|
||||
data_1.mframe_dr = double(h5read(filename, <span class="org-string">'/7.1/instrument/FPGA2_SSIM5/data'</span>));
|
||||
data_1.drx = 1e<span class="org-builtin">-</span>9<span class="org-builtin">*</span>double(h5read(filename, <span class="org-string">'/7.1/instrument/xtal_111_drx_filter/data'</span>));
|
||||
data_1.dry = 1e<span class="org-builtin">-</span>9<span class="org-builtin">*</span>double(h5read(filename, <span class="org-string">'/7.1/instrument/xtal_111_dry_filter/data'</span>));
|
||||
data_1.dz = 1e<span class="org-builtin">-</span>9<span class="org-builtin">*</span>double(h5read(filename, <span class="org-string">'/7.1/instrument/xtal_111_dz_filter/data'</span>));
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">data_2 = struct();
|
||||
data_2.time = double(h5read(filename, <span class="org-string">'/6.1/instrument/time/data'</span>));
|
||||
data_2.bragg = (<span class="org-matlab-math">pi</span><span class="org-builtin">/</span>180)<span class="org-builtin">*</span>double(h5read(filename, <span class="org-string">'/6.1/instrument/FPGA2_SSIM6/data'</span>));
|
||||
data_2.fj_pos = 0.030427 <span class="org-builtin">-</span> 10.5e<span class="org-builtin">-</span>3<span class="org-builtin">./</span>(2<span class="org-builtin">*</span>cos(data_2.bragg));
|
||||
data_2.xtal1_111_u = double(h5read(filename, <span class="org-string">'/6.1/instrument/FPGA1_SSIM4/data'</span>));
|
||||
data_2.xtal1_111_m = double(h5read(filename, <span class="org-string">'/6.1/instrument/FPGA1_SSIM5/data'</span>));
|
||||
data_2.xtal1_111_d = double(h5read(filename, <span class="org-string">'/6.1/instrument/FPGA1_SSIM6/data'</span>));
|
||||
data_2.xtal2_111_u = double(h5read(filename, <span class="org-string">'/6.1/instrument/FPGA1_SSIM10/data'</span>))<span class="org-builtin">+</span>10.5e6<span class="org-builtin">./</span>(2<span class="org-builtin">*</span>cos(data_2.bragg));
|
||||
data_2.xtal2_111_m = double(h5read(filename, <span class="org-string">'/6.1/instrument/FPGA2_SSIM1/data'</span>))<span class="org-builtin">+</span>10.5e6<span class="org-builtin">./</span>(2<span class="org-builtin">*</span>cos(data_2.bragg));
|
||||
data_2.xtal2_111_d = double(h5read(filename, <span class="org-string">'/6.1/instrument/FPGA2_SSIM2/data'</span>))<span class="org-builtin">+</span>10.5e6<span class="org-builtin">./</span>(2<span class="org-builtin">*</span>cos(data_2.bragg));
|
||||
data_2.mframe_u = double(h5read(filename, <span class="org-string">'/6.1/instrument/FPGA2_SSIM3/data'</span>));
|
||||
data_2.mframe_dh = double(h5read(filename, <span class="org-string">'/6.1/instrument/FPGA2_SSIM4/data'</span>));
|
||||
data_2.mframe_dr = double(h5read(filename, <span class="org-string">'/6.1/instrument/FPGA2_SSIM5/data'</span>));
|
||||
data_2.drx = 1e<span class="org-builtin">-</span>9<span class="org-builtin">*</span>double(h5read(filename, <span class="org-string">'/6.1/instrument/xtal_111_drx_filter/data'</span>));
|
||||
data_2.dry = 1e<span class="org-builtin">-</span>9<span class="org-builtin">*</span>double(h5read(filename, <span class="org-string">'/6.1/instrument/xtal_111_dry_filter/data'</span>));
|
||||
data_2.dz = 1e<span class="org-builtin">-</span>9<span class="org-builtin">*</span>double(h5read(filename, <span class="org-string">'/6.1/instrument/xtal_111_dz_filter/data'</span>));
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga9f44b6" class="outline-2">
|
||||
<h2 id="orga9f44b6"><span class="section-number-2">4.</span> Attocube - Periodic Non-Linearity</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
<a id="orgb874772"></a>
|
||||
</p>
|
||||
<p>
|
||||
The idea is to calibrate the periodic non-linearity of the interferometers, a known displacement must be imposed and the interferometer output compared to this displacement.
|
||||
This should be performed over several periods in order to characterize the error.
|
||||
Interferometers have some periodic nonlinearity (<a href="#citeproc_bib_item_2">Thurner et al., 2015</a>).
|
||||
The period is a fraction of the wavelength (usually \(\lambda/2\)) and can be due to polarization mixing, non perfect alignment of the optical components and unwanted reflected beams (See <a href="#citeproc_bib_item_1">Ducourtieux, 2018, p. 67 to 69</a>; <a href="#citeproc_bib_item_2">Thurner et al., 2015</a>).
|
||||
The amplitude of the nonlinearity can vary from a fraction of a nanometer to tens of nanometers.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We here suppose that we are already in the frame of the Attocube (the fast-jack displacements are converted to Attocube displacement using the transformation matrices).
|
||||
We also suppose that we are at a certain Bragg angle, and that the stepper motors are not moving: only the piezoelectric actuators are used.
|
||||
In the DCM case, when using Attocube interferometers, the period non-linearity are in the order of several nanometers with a period of \(765\,nm\).
|
||||
This is inducing some positioning errors which are too high.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In order to overcome this issue, the periodic non-linearity of the interferometers have to be calibrated.
|
||||
To do so, a displacement is imposed and measured both by the interferometers and by another metrology system which does not have this nonlinearity.
|
||||
By comparing the two measured displacements, the nonlinearity can be calibration.
|
||||
This process is performed over several periods in order to characterize the error over the full stroke.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0260dd3" class="outline-3">
|
||||
<h3 id="org0260dd3"><span class="section-number-3">4.1.</span> Measurement Setup</h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
<p>
|
||||
The metrology that will be compared with the interferometers are the strain gauges incorporated in the PI piezoelectric stacks.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
It is here supposed that the measured displacement by the strain gauges are converted to the displacement at the interferometer locations.
|
||||
It is also supposed that we are at a certain Bragg angle, and that the stepper motors are not moving: only the piezoelectric actuators are used.
|
||||
</p>
|
||||
|
||||
<div class="note" id="org27af802">
|
||||
<p>
|
||||
Note that the strain gauges are measuring the relative displacement of the piezoelectric stacks while the interferometers are measuring the relative motion between the second crystals and the metrology frame.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Only the interferometers measuring the second crystal motion can be calibrated here.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
As any deformations of the metrology frame of deformation of the crystal’s support can degrade the quality of the calibration, it is better to perform this calibration without any bragg angle motion.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The setup is schematically with the block diagram in Figure <a href="#orga3308a0">10</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The setup is schematically with the block diagram in Figure <a href="#org2796bae">5</a>.
|
||||
The signals are:
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li>\(u\): Actuator Signal (position where we wish to go)</li>
|
||||
<li>\(d\): Disturbances affecting the signal</li>
|
||||
<li>\(y\): Displacement of the crystal</li>
|
||||
<li>\(y_g\): Measurement of the crystal motion by the strain gauge with some noise \(n_g\)</li>
|
||||
<li>\(u\): Reference Signal sent to the PI controller (position where we wish to three stacks to be).
|
||||
The PI controller takes care or controlling to position as measured by the strain gauges such that it is close to the reference position.</li>
|
||||
<li>\(d\): Disturbances affecting the position of the crystals</li>
|
||||
<li>\(y\): Displacement of the crystal as measured by one interferometer</li>
|
||||
<li>\(y_g\): Measurement of the motion in the frame of the interferometer by the strain gauge with some noise \(n_g\)</li>
|
||||
<li>\(y_a\): Measurement of the crystal motion by the interferometer with some noise \(n_a\)</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<div id="org2796bae" class="figure">
|
||||
<div id="orga3308a0" class="figure">
|
||||
<p><img src="figs/block_diagram_lut_attocube.png" alt="block_diagram_lut_attocube.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 5: </span>Block Diagram schematic of the setup used to measure the periodic non-linearity of the Attocube</p>
|
||||
<p><span class="figure-number">Figure 10: </span>Block Diagram schematic of the setup used to measure the periodic non-linearity of the Attocube</p>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The problem is to estimate the periodic non-linearity of the Attocube from the imperfect measurements \(y_a\) and \(y_g\).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The wavelength of the Attocube is 1530nm, therefore the non-linearity has a period of 765nm.
|
||||
The amplitude of the non-linearity can vary from one unit to the other (and maybe from one experimental condition to the other).
|
||||
It is typically between 5nm peak to peak and 20nm peak to peak.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd22a8f7" class="outline-3">
|
||||
<h3 id="orgd22a8f7"><span class="section-number-3">3.1.</span> Simulations</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<div id="outline-container-org4d2d3da" class="outline-3">
|
||||
<h3 id="org4d2d3da"><span class="section-number-3">4.2.</span> Choice of the reference signal</h3>
|
||||
<div class="outline-text-3" id="text-4-2">
|
||||
<p>
|
||||
The main specifications for the reference signal are;
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li>sweep several periods (i.e. several micrometers)</li>
|
||||
<li>stay in the linear region of the strain gauge</li>
|
||||
<li>no excitation of mechanical modes (i.e. the frequency content of the signal should be at low frequency)</li>
|
||||
<li>no phase shift due to limited bandwidth of both the interferometers and the strain gauge</li>
|
||||
<li>the full process should be quite fast</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
The travel range of the piezoelectric stacks is 15 micrometers, the resolution of the strain gauges is 0.3nm and the maximum non-linearity is 0.15%.
|
||||
If one non-linear period is swept (765nm), the maximum estimation error of the strain gauge is around 1nm.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Based on the above discussion, one suitable excitation signal is a sinusoidal sweep with a frequency of 10Hz.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge3e9949" class="outline-3">
|
||||
<h3 id="orge3e9949"><span class="section-number-3">4.3.</span> Repeatability of the non-linearity</h3>
|
||||
<div class="outline-text-3" id="text-4-3">
|
||||
<p>
|
||||
Instead of calibrating the non-linear errors of the interferometers over the full fast jack stroke (25mm), one can only calibrate the errors of one period.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For that, we need to make sure that the errors are repeatable from one period to the other and also the period should be very precisely estimated (i.e. the wavelength of the laser).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Also, the laser wavelength should be very stable (specified at 50ppb).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
One way to precisely estimate the laser wavelength is to estimate the non linear errors of the interferometer at an initial position, and then to estimate the non linear errors at a large offset, say 10mm.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf603009" class="outline-3">
|
||||
<h3 id="orgf603009"><span class="section-number-3">4.4.</span> Simulation</h3>
|
||||
<div class="outline-text-3" id="text-4-4">
|
||||
<p>
|
||||
Suppose we have a first approximation of the non-linear period.
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">period_est = 765e<span class="org-builtin">-</span>9; <span class="org-comment-delimiter">% </span><span class="org-comment">Estimated period [m]</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
And suppose the real period of the non-linear errors is a little bit above (by 0.02nm):
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">period_err = 0.02e<span class="org-builtin">-</span>9; <span class="org-comment-delimiter">% </span><span class="org-comment">Error on the period estimation [m]</span>
|
||||
period_nl = period_est <span class="org-builtin">+</span> period_err; <span class="org-comment-delimiter">% </span><span class="org-comment">Period of the non-linear errors [m]</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The non-linear errors are first estimated at the beginning of the stroke (Figure <a href="#orgefc2a0a">11</a>).
|
||||
</p>
|
||||
|
||||
<div id="orgefc2a0a" class="figure">
|
||||
<p><img src="figs/non_linear_errors_start_stroke.png" alt="non_linear_errors_start_stroke.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 11: </span>Estimation of the non-linear errors at the beginning of the stroke</p>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
From this only measurement, it is not possible to estimate with great accuracy the period of the error.
|
||||
To do so, the same measurement is performed with a stroke of several millimeters (Figure <a href="#org8279c88">12</a>).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
It can be seen that there is an offset between the estimated and the measured errors.
|
||||
This is due to a mismatch between the estimated period and the true period of the error.
|
||||
</p>
|
||||
|
||||
|
||||
<div id="org8279c88" class="figure">
|
||||
<p><img src="figs/non_linear_errors_middle_stroke.png" alt="non_linear_errors_middle_stroke.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 12: </span>Estimated non-linear errors at a latter position</p>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Suppose the non-linear error is characterized by a periodic function \(\mathcal{E}\), to simplify let’s take a sinusoidal function (this can be generalized by taking the fourier transform of the function):
|
||||
</p>
|
||||
\begin{equation}
|
||||
\mathcal{E}(x) = \sin\left(\frac{x}{\lambda}\right)
|
||||
\end{equation}
|
||||
<p>
|
||||
with \(x\) the displacement and \(\lambda\) the period of the error.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The measured error at \(x_0\) is then:
|
||||
</p>
|
||||
\begin{equation}
|
||||
\mathcal{E}_m(x_0) = \sin\left( \frac{x_0}{\lambda} \right)
|
||||
\end{equation}
|
||||
<p>
|
||||
And the estimated one is:
|
||||
</p>
|
||||
\begin{equation}
|
||||
\mathcal{E}_e(x_0) = \sin \left( \frac{x_0}{\lambda_{\text{est}}} \right)
|
||||
\end{equation}
|
||||
<p>
|
||||
with \(\lambda_{\text{est}}\) the estimated error’s period.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
From Figure <a href="#org8279c88">12</a>, we can see that there is an offset between the two curves.
|
||||
Let’s call this offset \(\epsilon_x\), we then have:
|
||||
</p>
|
||||
\begin{equation}
|
||||
\mathcal{E}_m(x_0) = \mathcal{E}_e(x_0 + \epsilon_x)
|
||||
\end{equation}
|
||||
|
||||
<p>
|
||||
Which gives us:
|
||||
</p>
|
||||
\begin{equation}
|
||||
\sin\left( \frac{x_0}{\lambda} \right) = \sin \left( \frac{x_0 + \epsilon_x}{\lambda_{\text{est}}} \right)
|
||||
\end{equation}
|
||||
|
||||
<p>
|
||||
Finally:
|
||||
</p>
|
||||
\begin{equation}
|
||||
\boxed{\lambda = \lambda_{\text{est}} \frac{x_0}{x_0 + \epsilon_x}}
|
||||
\end{equation}
|
||||
|
||||
<p>
|
||||
The estimated delay is computed:
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-matlab-cellbreak">%% Estimation of the offset between the estimated and measured errors</span>
|
||||
i_period = stroke <span class="org-builtin">></span> 5e<span class="org-builtin">-</span>3<span class="org-builtin">-</span>period_nl<span class="org-builtin">/</span>2 <span class="org-builtin">&</span> stroke <span class="org-builtin"><</span> 5e<span class="org-builtin">-</span>3<span class="org-builtin">+</span>period_nl<span class="org-builtin">/</span>2;
|
||||
epsilon_x = finddelay(nl_errors(i_period), est_errors(i_period)) <span class="org-comment-delimiter">% </span><span class="org-comment">[m]</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<pre class="example">
|
||||
Estimated delay x0 is -120 [nm]
|
||||
</pre>
|
||||
|
||||
|
||||
<p>
|
||||
And the period \(\lambda\) can be estimated:
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-matlab-cellbreak">%% Computation of the period [m]</span>
|
||||
period_fin = period_est <span class="org-builtin">*</span> (5e<span class="org-builtin">-</span>3)<span class="org-builtin">/</span>(5e<span class="org-builtin">-</span>3 <span class="org-builtin">+</span> d_offset); <span class="org-comment-delimiter">% </span><span class="org-comment">Estimated period after measurement [m]</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<pre class="example">
|
||||
The estimated period is 765.020 [nm]
|
||||
</pre>
|
||||
|
||||
|
||||
<p>
|
||||
And the results confirms that this method is working on paper.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
When doing this computation, we suppose that there are <b>at most</b> one half period of offset between the estimated and the measured non-linear (to not have any ambiguity whether the estimated period is too large or too small).
|
||||
Mathematically this means that the displacement \(x_0\) should be smaller than:
|
||||
</p>
|
||||
\begin{equation}
|
||||
x_0 < \frac{1}{2} \cdot \lambda \cdot \frac{\lambda}{\epsilon_\lambda}
|
||||
\end{equation}
|
||||
<p>
|
||||
With \(\epsilon_\lambda\) the absolute estimation error of the period in meters.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For instance, if we estimate the error on the period to be less than 0.1nm, the maximum displacement is:
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-matlab-cellbreak">%% Estimated maximum stroke [m]</span>
|
||||
max_x0 = 0.5 <span class="org-builtin">*</span> 765e<span class="org-builtin">-</span>9 <span class="org-builtin">*</span> (765e<span class="org-builtin">-</span>9)<span class="org-builtin">/</span>(0.1e<span class="org-builtin">-</span>9);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<pre class="example">
|
||||
The maximum stroke is 2.9 [mm]
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5650b5e" class="outline-3">
|
||||
<h3 id="org5650b5e"><span class="section-number-3">4.5.</span> Measurements</h3>
|
||||
<div class="outline-text-3" id="text-4-5">
|
||||
<p>
|
||||
We have some constrains on the way the motion is imposed and measured:
|
||||
</p>
|
||||
@ -583,10 +1165,20 @@ Suppose we have the power spectral density (PSD) of both \(n_a\) and \(n_g\).
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd3e86f0" class="outline-2">
|
||||
<h2 id="orgd3e86f0">Bibliography</h2>
|
||||
<div class="outline-text-2" id="text-orgd3e86f0">
|
||||
<style>.csl-entry{text-indent: -1.5em; margin-left: 1.5em;}</style><div class="csl-bib-body">
|
||||
<div class="csl-entry"><a id="citeproc_bib_item_1"></a>Ducourtieux, S., 2018. Toward high precision position control using laser interferometry: Main sources of error. <a href="https://doi.org/10.13140/rg.2.2.21044.35205">https://doi.org/10.13140/rg.2.2.21044.35205</a></div>
|
||||
<div class="csl-entry"><a id="citeproc_bib_item_2"></a>Thurner, K., Quacquarelli, F.P., Braun, P.-F., Dal Savio, C., Karrai, K., 2015. Fiber-based distance sensing interferometry. Applied optics 54, 3051–3063.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2022-01-05 mer. 10:28</p>
|
||||
<p class="date">Created: 2022-02-15 mar. 14:24</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -13,10 +13,12 @@
|
||||
#+BIND: org-latex-image-default-option "scale=1"
|
||||
#+BIND: org-latex-image-default-width ""
|
||||
|
||||
#+LaTeX_CLASS: scrreprt
|
||||
#+LaTeX_CLASS_OPTIONS: [a4paper, 10pt, DIV=12, parskip=full]
|
||||
#+LaTeX_HEADER_EXTRA: \input{preamble.tex}
|
||||
#+LATEX_HEADER_EXTRA: \bibliography{ref}
|
||||
#+LATEX_CLASS: scrreprt
|
||||
#+LATEX_CLASS_OPTIONS: [a4paper, 10pt, DIV=12, parskip=full]
|
||||
#+LATEX_HEADER_EXTRA: \input{preamble.tex}
|
||||
|
||||
#+bibliography: dcm-metrology.bib
|
||||
#+cite_export: csl ~/.local/data/csl-styles/elsevier-harvard.csl
|
||||
|
||||
#+PROPERTY: header-args:matlab :session *MATLAB*
|
||||
#+PROPERTY: header-args:matlab+ :comments org
|
||||
@ -44,13 +46,22 @@
|
||||
|
||||
#+begin_export html
|
||||
<hr>
|
||||
<p>This report is also available as a <a href="./dcm_metrology.pdf">pdf</a>.</p>
|
||||
<p>This report is also available as a <a href="./dcm-metrology.pdf">pdf</a>.</p>
|
||||
<hr>
|
||||
#+end_export
|
||||
|
||||
#+latex: \clearpage
|
||||
|
||||
* Introduction :ignore:
|
||||
|
||||
In this document, the metrology system is studied.
|
||||
First, in Section [[sec:metrology_concept]] the goal of the metrology system is stated and the proposed concept is described.
|
||||
In order to increase the accuracy of the metrology system, two problems are to be dealt with:
|
||||
- The deformation of the metrology frame under the action of gravity (Section [[sec:frame_deformations]])
|
||||
- The periodic non-linearity of the interferometers (Section [[sec:dcm_attocube_lut]])
|
||||
|
||||
* Metrology Concept
|
||||
<<sec:metrology_concept>>
|
||||
** Introduction :ignore:
|
||||
|
||||
The goal of the metrology system is to measure the distance and default of parallelism orientation between the first and second crystals
|
||||
@ -248,10 +259,87 @@ data2orgtable(G_111_t, ...
|
||||
From table [[fig:schematic_sensor_jacobian_forward_kinematics_2]], we can determine the effect of each interferometer on the estimated relative pose between the crystals.
|
||||
For instance, an error on =dr1= will have much greater impact on =ry= than an error on =drm=.
|
||||
|
||||
* Relation Between Crystal position and X-ray measured displacement
|
||||
** Setup
|
||||
|
||||
#+name: fig:calibration_setup
|
||||
#+caption: Schematic of the setup
|
||||
[[file:figs/calibration_setup.png]]
|
||||
|
||||
Detector:
|
||||
|
||||
https://www.baslerweb.com/en/products/cameras/area-scan-cameras/ace/aca1920-40gc/
|
||||
|
||||
Pixel size depends on the magnification used (1x, 6x, 12x).
|
||||
|
||||
Pixel size of camera is 5.86 um x 5.86 um.
|
||||
With typical magnification of 6x, pixel size is ~1.44um x 1.44um
|
||||
|
||||
Frame rate is: 42 fps
|
||||
|
||||
** Matlab Init :noexport:ignore:
|
||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||
<<matlab-dir>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none :results silent :noweb yes
|
||||
<<matlab-init>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
bragg = pi/180*linspace(5,75,100);
|
||||
#+end_src
|
||||
|
||||
** Relation between second crystal motion and beam motion
|
||||
*** Axial motion of second crystal
|
||||
Let's consider the relation between the $[y, z]$ motion of the beam and the motion of the second crystal $[z^\prime, R_{y^\prime}, R_{x^\prime}]$.
|
||||
|
||||
#+name: fig:relation_dz_output_beam
|
||||
#+caption: Relation between $d_{z^\prime}$ motion of the second crystal and vertical motion of the beam
|
||||
[[file:figs/relation_dz_output_beam.png]]
|
||||
|
||||
\begin{equation}
|
||||
d_z = d_{z^\prime} 2 \cos \theta
|
||||
\end{equation}
|
||||
|
||||
#+begin_src matlab :exports none :results none
|
||||
%% Relation between vertical motion of the second crystal and vertical motion of the output beam
|
||||
figure;
|
||||
hold on;
|
||||
plot(180/pi*bragg, 2*cos(bragg))
|
||||
xlabel('Bragg [deg]'); ylabel('Motion amplification');
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
exportFig('figs/relation_vert_motion_crystal_beam.pdf', 'width', 'wide', 'height', 'normal');
|
||||
#+end_src
|
||||
|
||||
#+name: fig:relation_vert_motion_crystal_beam
|
||||
#+caption: Relation between vertical motion of the second crystal and vertical motion of the output beam
|
||||
#+RESULTS:
|
||||
[[file:figs/relation_vert_motion_crystal_beam.png]]
|
||||
|
||||
*** Ry motion of second crystal
|
||||
|
||||
\begin{equation}
|
||||
d_z = D_{\text{vlm}} d_{R_y^\prime}
|
||||
\end{equation}
|
||||
|
||||
with $D_{\text{vlm}} \approx 10\,m$.
|
||||
|
||||
*** Rx motion of second crystal
|
||||
|
||||
\begin{equation}
|
||||
d_y = 2 D_{\text{vlm}} \sin \theta \cdot d_{R_x^\prime}
|
||||
\end{equation}
|
||||
|
||||
|
||||
|
||||
* Deformations of the Metrology Frame
|
||||
<<sec:frame_deformations>>
|
||||
** Introduction :ignore:
|
||||
|
||||
The transformation matrix in Table [[fig:schematic_sensor_jacobian_forward_kinematics_2]] is valid only if the metrology frames are solid bodies.
|
||||
The transformation matrix in Table [[tab:transformation_matrix]] is valid only if the metrology frames are solid bodies.
|
||||
|
||||
The metrology frame itself is experiencing some deformations due to the gravity.
|
||||
When the bragg axis is scanned, the effect of gravity on the metrology frame is changing and this introduce some measurement errors.
|
||||
@ -275,6 +363,372 @@ This may be done using FE software.
|
||||
|
||||
** Comparison
|
||||
|
||||
** Matlab Init :noexport:ignore:
|
||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||
<<matlab-dir>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none :results silent :noweb yes
|
||||
<<matlab-init>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :noweb yes
|
||||
<<m-init-path>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :eval no :noweb yes
|
||||
<<m-init-path-tangle>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :noweb yes
|
||||
<<m-init-other>>
|
||||
#+end_src
|
||||
|
||||
** Test
|
||||
#+begin_src matlab
|
||||
aa = importdata("correctInterf-vlm-220201.dat");
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
figure;
|
||||
plot(aa.data(:,1), aa.data(:,24))
|
||||
#+end_src
|
||||
|
||||
** Measured frame deformation
|
||||
|
||||
#+begin_src matlab
|
||||
data = table2array(readtable('itf_polynom.csv','NumHeaderLines',1));
|
||||
th = pi/180*data(:,1); % [rad]
|
||||
fj = 0.030427 - 10.51e-3./(2*cos(th)); % [m]
|
||||
rx2 = 1e-9*data(:,2); % [rad]
|
||||
ry2 = 1e-9*data(:,3); % [rad]
|
||||
rx1 = 1e-9*data(:,4); % [rad]
|
||||
ry1 = 1e-9*data(:,5); % [rad]
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
figure;
|
||||
hold on;
|
||||
plot(180/pi*th, 1e6*detrend(-rx2, 1), '.')
|
||||
% plot(180/pi*th, detrend(ry2, 1))
|
||||
% plot(180/pi*th, detrend(rx1, 1))
|
||||
% plot(180/pi*th, detrend(ry1, 1))
|
||||
hold off;
|
||||
xlabel('Bragg Angle [deg]');
|
||||
ylabel('Measured $R_x$ [$\mu$rad]')
|
||||
xlim([10, 75]);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
exportFig('figs/calibration_drx_pres.pdf', 'width', 'full', 'height', 'normal');
|
||||
#+end_src
|
||||
|
||||
#+name: fig:calibration_drx_pres
|
||||
#+caption: description
|
||||
#+RESULTS:
|
||||
[[file:figs/calibration_drx_pres.png]]
|
||||
|
||||
|
||||
Strange that there is correlation between Rx and Ry.
|
||||
#+begin_src matlab
|
||||
figure;
|
||||
hold on;
|
||||
plot(108/pi*th, 1e9*detrend(rx1, 0), '-', 'DisplayName', '$Rx_1$')
|
||||
plot(108/pi*th, 1e9*detrend(ry1, 0), '-', 'DisplayName', '$Ry_1$')
|
||||
hold off;
|
||||
xlabel('Bragg Angle [deg]'); ylabel('Angle Offset [nrad]');
|
||||
legend()
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
figure;
|
||||
hold on;
|
||||
plot(1e3*fj, detrend(rx2, 1), 'DisplayName', '$Rx_1$')
|
||||
plot(1e3*fj, detrend(ry2, 1), 'DisplayName', '$Ry_1$')
|
||||
hold off;
|
||||
xlabel('Fast Jack Displacement [mm]'); ylabel('Angle Offset [nrad]');
|
||||
legend()
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
%% Compute best polynomial fit
|
||||
f_rx2 = fit(180/pi*th, 1e9*rx2, 'poly4');
|
||||
f_ry2 = fit(180/pi*th, 1e9*ry2, 'poly4');
|
||||
f_rx1 = fit(180/pi*th, 1e9*rx1, 'poly4');
|
||||
f_ry1 = fit(180/pi*th, 1e9*ry1, 'poly4');
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
figure;
|
||||
hold on;
|
||||
plot(180/pi*th, f_rx2(180/pi*th))
|
||||
plot(180/pi*th, f_ry2(180/pi*th))
|
||||
plot(180/pi*th, f_rx1(180/pi*th))
|
||||
plot(180/pi*th, f_ry1(180/pi*th))
|
||||
hold off;
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
figure;
|
||||
hold on;
|
||||
plot(th, f_rx2(th) - rx2)
|
||||
plot(th, f_ry2(th) - ry2)
|
||||
plot(th, f_rx1(th) - rx1)
|
||||
plot(th, f_ry1(th) - ry1)
|
||||
hold off;
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
figure;
|
||||
hold on;
|
||||
plot(th, f(th))
|
||||
plot(th, rx2, '.')
|
||||
#+end_src
|
||||
|
||||
** Test
|
||||
#+begin_src matlab
|
||||
filename = "/home/thomas/mnt/data_id21/22Jan/blc13550/id21/test_xtal1_interf/test_xtal1_interf_0001/test_xtal1_interf_0001.h5";
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
data = struct();
|
||||
|
||||
data.xtal1_111_u = double(h5read(filename, '/7.1/instrument/FPGA1_SSIM4/data'));
|
||||
data.xtal1_111_m = double(h5read(filename, '/7.1/instrument/FPGA1_SSIM5/data'));
|
||||
data.xtal1_111_d = double(h5read(filename, '/7.1/instrument/FPGA1_SSIM6/data'));
|
||||
data.mframe_u = double(h5read(filename, '/7.1/instrument/FPGA2_SSIM3/data'));
|
||||
data.mframe_dh = double(h5read(filename, '/7.1/instrument/FPGA2_SSIM4/data'));
|
||||
data.mframe_dr = double(h5read(filename, '/7.1/instrument/FPGA2_SSIM5/data'));
|
||||
data.bragg = (pi/180)*double(h5read(filename, '/7.1/instrument/FPGA2_SSIM6/data'));
|
||||
data.fj_pos = 0.030427 - 10.5e-3./(2*cos(data.bragg));
|
||||
data.time = double(h5read(filename, '/7.1/instrument/time/data'));
|
||||
data.rx = 1e-9*double(h5read(filename, '/7.1/instrument/xtal1_111_rx/data'));
|
||||
data.ry = 1e-9*double(h5read(filename, '/7.1/instrument/xtal1_111_ry/data'));
|
||||
data.z = 1e-9*double(h5read(filename, '/7.1/instrument/xtal1_111_z/data'));
|
||||
data.drx = 1e-9*double(h5read(filename, '/7.1/instrument/xtal_111_drx_filter/data'));
|
||||
data.dry = 1e-9*double(h5read(filename, '/7.1/instrument/xtal_111_dry_filter/data'));
|
||||
data.dz = 1e-9*double(h5read(filename, '/7.1/instrument/xtal_111_dz_filter/data'));
|
||||
data.xtal2_111_u = double(h5read(filename, '/7.1/instrument/FPGA1_SSIM10/data'))+10.5e6./(2*cos(data.bragg));
|
||||
data.xtal2_111_m = double(h5read(filename, '/7.1/instrument/FPGA2_SSIM1/data'))+10.5e6./(2*cos(data.bragg));
|
||||
data.xtal2_111_d = double(h5read(filename, '/7.1/instrument/FPGA2_SSIM2/data'))+10.5e6./(2*cos(data.bragg));
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
%% Drifts of the metrology as a function of Bragg Angle
|
||||
figure;
|
||||
tiledlayout(1, 3, 'TileSpacing', 'Compact', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile();
|
||||
hold on;
|
||||
plot(180/pi*data.bragg, detrend(data.mframe_dh, 0))
|
||||
plot(180/pi*data.bragg, detrend(data.mframe_u, 0))
|
||||
plot(180/pi*data.bragg, detrend(data.mframe_dr, 0))
|
||||
hold off;
|
||||
xlabel('Bragg [deg]'); ylabel('Drift [nm]');
|
||||
|
||||
ax2 = nexttile();
|
||||
hold on;
|
||||
plot(180/pi*data.bragg, detrend(data.mframe_dh, 1))
|
||||
plot(180/pi*data.bragg, detrend(data.mframe_u, 1))
|
||||
plot(180/pi*data.bragg, detrend(data.mframe_dr, 1))
|
||||
hold off;
|
||||
xlabel('Bragg [deg]'); set(gca, 'YTickLabel',[]);
|
||||
|
||||
ax3 = nexttile();
|
||||
hold on;
|
||||
plot(180/pi*data.bragg, detrend(data.mframe_dh, 2), 'DisplayName', 'dh')
|
||||
plot(180/pi*data.bragg, detrend(data.mframe_u, 2), 'DisplayName', 'u')
|
||||
plot(180/pi*data.bragg, detrend(data.mframe_dr, 2), 'DisplayName', 'dr')
|
||||
hold off;
|
||||
xlabel('Bragg [deg]'); set(gca, 'YTickLabel',[]);
|
||||
legend();
|
||||
|
||||
linkaxes([ax1,ax2,ax3], 'xy');
|
||||
xlim([10, 70]); ylim([-50, 50]);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
%% Drifts of the first crystal as a function of Bragg Angle
|
||||
figure;
|
||||
tiledlayout(1, 3, 'TileSpacing', 'Compact', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile();
|
||||
hold on;
|
||||
plot(180/pi*data.bragg, detrend(data.xtal1_111_u, 0))
|
||||
plot(180/pi*data.bragg, detrend(data.xtal1_111_m, 0))
|
||||
plot(180/pi*data.bragg, detrend(data.xtal1_111_d, 0))
|
||||
hold off;
|
||||
xlabel('Bragg [deg]'); ylabel('Drift [nm]');
|
||||
|
||||
ax2 = nexttile();
|
||||
hold on;
|
||||
plot(180/pi*data.bragg, detrend(data.xtal1_111_u, 1))
|
||||
plot(180/pi*data.bragg, detrend(data.xtal1_111_m, 1))
|
||||
plot(180/pi*data.bragg, detrend(data.xtal1_111_d, 1))
|
||||
hold off;
|
||||
xlabel('Bragg [deg]'); set(gca, 'YTickLabel',[]);
|
||||
|
||||
ax3 = nexttile();
|
||||
hold on;
|
||||
plot(180/pi*data.bragg, detrend(data.xtal1_111_u, 2), 'DisplayName', 'u')
|
||||
plot(180/pi*data.bragg, detrend(data.xtal1_111_m, 2), 'DisplayName', 'm')
|
||||
plot(180/pi*data.bragg, detrend(data.xtal1_111_d, 2), 'DisplayName', 'd')
|
||||
hold off;
|
||||
xlabel('Bragg [deg]'); set(gca, 'YTickLabel',[]);
|
||||
legend();
|
||||
|
||||
linkaxes([ax1,ax2,ax3], 'xy');
|
||||
xlim([10, 70]); ylim([-1000, 1000]);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none :results none
|
||||
%% Drifts of the second crystal as a function of Bragg Angle
|
||||
figure;
|
||||
tiledlayout(1, 3, 'TileSpacing', 'Compact', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile();
|
||||
hold on;
|
||||
plot(180/pi*data.bragg, detrend(data.xtal2_111_u, 0))
|
||||
plot(180/pi*data.bragg, detrend(data.xtal2_111_m, 0))
|
||||
plot(180/pi*data.bragg, detrend(data.xtal2_111_d, 0))
|
||||
hold off;
|
||||
xlabel('Bragg [deg]'); ylabel('Drift [nm]')
|
||||
|
||||
ax2 = nexttile();
|
||||
hold on;
|
||||
plot(180/pi*data.bragg, detrend(data.xtal2_111_u, 1))
|
||||
plot(180/pi*data.bragg, detrend(data.xtal2_111_m, 1))
|
||||
plot(180/pi*data.bragg, detrend(data.xtal2_111_d, 1))
|
||||
hold off;
|
||||
xlabel('Bragg [deg]'); set(gca, 'YTickLabel',[]);
|
||||
|
||||
ax3 = nexttile();
|
||||
hold on;
|
||||
plot(180/pi*data.bragg, detrend(data.xtal2_111_u, 2))
|
||||
plot(180/pi*data.bragg, detrend(data.xtal2_111_m, 2))
|
||||
plot(180/pi*data.bragg, detrend(data.xtal2_111_d, 2))
|
||||
hold off;
|
||||
xlabel('Bragg [deg]'); set(gca, 'YTickLabel',[]);
|
||||
|
||||
linkaxes([ax1,ax2,ax3], 'xy');
|
||||
xlim([10, 70]); ylim([-1000, 1000]);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
exportFig('figs/drifts_xtal2_detrend.pdf', 'width', 'full', 'height', 'normal');
|
||||
#+end_src
|
||||
|
||||
#+name: fig:drifts_xtal2_detrend
|
||||
#+caption: Drifts of the second crystal as a function of Bragg Angle
|
||||
#+RESULTS:
|
||||
[[file:figs/drifts_xtal2_detrend.png]]
|
||||
|
||||
#+begin_src matlab :exports none :results none
|
||||
%% Drifts of the second crystal as a function of Bragg Angle
|
||||
figure;
|
||||
tiledlayout(1, 3, 'TileSpacing', 'Compact', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile();
|
||||
hold on;
|
||||
plot(1e3*data.dz, detrend(data.xtal2_111_u, 0))
|
||||
plot(1e3*data.dz, detrend(data.xtal2_111_m, 0))
|
||||
plot(1e3*data.dz, detrend(data.xtal2_111_d, 0))
|
||||
hold off;
|
||||
xlabel('FJ position [mm]'); ylabel('Drift [nrad]')
|
||||
|
||||
ax2 = nexttile();
|
||||
hold on;
|
||||
plot(1e3*data.dz, detrend(data.xtal2_111_u, 1))
|
||||
plot(1e3*data.dz, detrend(data.xtal2_111_m, 1))
|
||||
plot(1e3*data.dz, detrend(data.xtal2_111_d, 1))
|
||||
hold off;
|
||||
xlabel('FJ position [mm]'); set(gca, 'YTickLabel',[]);
|
||||
|
||||
ax3 = nexttile();
|
||||
hold on;
|
||||
plot(1e3*data.dz, detrend(data.xtal2_111_u, 2))
|
||||
plot(1e3*data.dz, detrend(data.xtal2_111_m, 2))
|
||||
plot(1e3*data.dz, detrend(data.xtal2_111_d, 2))
|
||||
hold off;
|
||||
xlabel('FJ position [mm]'); set(gca, 'YTickLabel',[]);
|
||||
|
||||
linkaxes([ax1,ax2,ax3], 'xy');
|
||||
% xlim([10, 40]); ylim([-1000, 1000]);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
figure;
|
||||
hold on;
|
||||
plot(108/pi*data.bragg, data.drx)
|
||||
plot(108/pi*data.bragg, data.dry)
|
||||
hold off;
|
||||
#+end_src
|
||||
|
||||
** Repeatability of frame deformation
|
||||
#+begin_src matlab
|
||||
filename = "/home/thomas/mnt/data_id21/22Jan/blc13550/id21/test_xtal1_interf/test_xtal1_interf_0001/test_xtal1_interf_0001.h5";
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
data_1 = struct();
|
||||
data_1.time = double(h5read(filename, '/7.1/instrument/time/data'));
|
||||
data_1.bragg = (pi/180)*double(h5read(filename, '/7.1/instrument/FPGA2_SSIM6/data'));
|
||||
data_1.fj_pos = 0.030427 - 10.5e-3./(2*cos(data_1.bragg));
|
||||
data_1.xtal1_111_u = double(h5read(filename, '/7.1/instrument/FPGA1_SSIM4/data'));
|
||||
data_1.xtal1_111_m = double(h5read(filename, '/7.1/instrument/FPGA1_SSIM5/data'));
|
||||
data_1.xtal1_111_d = double(h5read(filename, '/7.1/instrument/FPGA1_SSIM6/data'));
|
||||
data_1.xtal2_111_u = double(h5read(filename, '/7.1/instrument/FPGA1_SSIM10/data'))+10.5e6./(2*cos(data_1.bragg));
|
||||
data_1.xtal2_111_m = double(h5read(filename, '/7.1/instrument/FPGA2_SSIM1/data'))+10.5e6./(2*cos(data_1.bragg));
|
||||
data_1.xtal2_111_d = double(h5read(filename, '/7.1/instrument/FPGA2_SSIM2/data'))+10.5e6./(2*cos(data_1.bragg));
|
||||
data_1.mframe_u = double(h5read(filename, '/7.1/instrument/FPGA2_SSIM3/data'));
|
||||
data_1.mframe_dh = double(h5read(filename, '/7.1/instrument/FPGA2_SSIM4/data'));
|
||||
data_1.mframe_dr = double(h5read(filename, '/7.1/instrument/FPGA2_SSIM5/data'));
|
||||
data_1.drx = 1e-9*double(h5read(filename, '/7.1/instrument/xtal_111_drx_filter/data'));
|
||||
data_1.dry = 1e-9*double(h5read(filename, '/7.1/instrument/xtal_111_dry_filter/data'));
|
||||
data_1.dz = 1e-9*double(h5read(filename, '/7.1/instrument/xtal_111_dz_filter/data'));
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
data_2 = struct();
|
||||
data_2.time = double(h5read(filename, '/6.1/instrument/time/data'));
|
||||
data_2.bragg = (pi/180)*double(h5read(filename, '/6.1/instrument/FPGA2_SSIM6/data'));
|
||||
data_2.fj_pos = 0.030427 - 10.5e-3./(2*cos(data_2.bragg));
|
||||
data_2.xtal1_111_u = double(h5read(filename, '/6.1/instrument/FPGA1_SSIM4/data'));
|
||||
data_2.xtal1_111_m = double(h5read(filename, '/6.1/instrument/FPGA1_SSIM5/data'));
|
||||
data_2.xtal1_111_d = double(h5read(filename, '/6.1/instrument/FPGA1_SSIM6/data'));
|
||||
data_2.xtal2_111_u = double(h5read(filename, '/6.1/instrument/FPGA1_SSIM10/data'))+10.5e6./(2*cos(data_2.bragg));
|
||||
data_2.xtal2_111_m = double(h5read(filename, '/6.1/instrument/FPGA2_SSIM1/data'))+10.5e6./(2*cos(data_2.bragg));
|
||||
data_2.xtal2_111_d = double(h5read(filename, '/6.1/instrument/FPGA2_SSIM2/data'))+10.5e6./(2*cos(data_2.bragg));
|
||||
data_2.mframe_u = double(h5read(filename, '/6.1/instrument/FPGA2_SSIM3/data'));
|
||||
data_2.mframe_dh = double(h5read(filename, '/6.1/instrument/FPGA2_SSIM4/data'));
|
||||
data_2.mframe_dr = double(h5read(filename, '/6.1/instrument/FPGA2_SSIM5/data'));
|
||||
data_2.drx = 1e-9*double(h5read(filename, '/6.1/instrument/xtal_111_drx_filter/data'));
|
||||
data_2.dry = 1e-9*double(h5read(filename, '/6.1/instrument/xtal_111_dry_filter/data'));
|
||||
data_2.dz = 1e-9*double(h5read(filename, '/6.1/instrument/xtal_111_dz_filter/data'));
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
figure;
|
||||
hold on;
|
||||
plot(180/pi*data_1.bragg, data_1.mframe_dh)
|
||||
plot(180/pi*data_2.bragg, data_2.mframe_dh)
|
||||
hold off;
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
figure;
|
||||
hold on;
|
||||
plot(1e3*data_1.fj_pos, data_1.xtal1_111_u)
|
||||
plot(1e3*data_2.fj_pos, data_2.xtal1_111_u)
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
figure;
|
||||
hold on;
|
||||
plot(data_1.bragg, data_1.mframe_u)
|
||||
plot(data_2.bragg, data_2.mframe_u)
|
||||
#+end_src
|
||||
|
||||
* Attocube - Periodic Non-Linearity
|
||||
:PROPERTIES:
|
||||
:header-args:matlab+: :tangle matlab/dcm_attocube_lut.m
|
||||
@ -283,61 +737,17 @@ This may be done using FE software.
|
||||
|
||||
** Introduction :ignore:
|
||||
|
||||
The idea is to calibrate the periodic non-linearity of the interferometers, a known displacement must be imposed and the interferometer output compared to this displacement.
|
||||
This should be performed over several periods in order to characterize the error.
|
||||
Interferometers have some periodic nonlinearity [cite:@thurner15_fiber_based_distan_sensin_inter].
|
||||
The period is a fraction of the wavelength (usually $\lambda/2$) and can be due to polarization mixing, non perfect alignment of the optical components and unwanted reflected beams [cite:See @ducourtieux18_towar_high_precis_posit_contr page 67 to 69;@thurner15_fiber_based_distan_sensin_inter;].
|
||||
The amplitude of the nonlinearity can vary from a fraction of a nanometer to tens of nanometers.
|
||||
|
||||
We here suppose that we are already in the frame of the Attocube (the fast-jack displacements are converted to Attocube displacement using the transformation matrices).
|
||||
We also suppose that we are at a certain Bragg angle, and that the stepper motors are not moving: only the piezoelectric actuators are used.
|
||||
In the DCM case, when using Attocube interferometers, the period non-linearity are in the order of several nanometers with a period of $765\,nm$.
|
||||
This is inducing some positioning errors which are too high.
|
||||
|
||||
The setup is schematically with the block diagram in Figure [[fig:block_diagram_lut_attocube]].
|
||||
The signals are:
|
||||
- $u$: Actuator Signal (position where we wish to go)
|
||||
- $d$: Disturbances affecting the signal
|
||||
- $y$: Displacement of the crystal
|
||||
- $y_g$: Measurement of the crystal motion by the strain gauge with some noise $n_g$
|
||||
- $y_a$: Measurement of the crystal motion by the interferometer with some noise $n_a$
|
||||
|
||||
#+begin_src latex :file block_diagram_lut_attocube.pdf
|
||||
\definecolor{myblue}{rgb}{0, 0.447, 0.741}
|
||||
\definecolor{myred}{rgb}{0.8500, 0.325, 0.098}
|
||||
|
||||
\begin{tikzpicture}
|
||||
\node[block] (G) at (0,0){$G(s)$};
|
||||
\node[addb, right=1 of G] (addd) {};
|
||||
\node[block, align=center, right=1 of addd] (non_linearity) {Periodic\\Non-linearity};
|
||||
\node[addb, right=1 of non_linearity] (addna) {};
|
||||
\node[addb, below=1.8 of addna] (addnsg) {};
|
||||
|
||||
\draw[->] ($(G.west) + (-1.0, 0)$) node[above right]{$u$} -- (G.west);
|
||||
\draw[->] (G.east) -- (addd.west);
|
||||
\draw[->] (addd.east) -- (non_linearity.west);
|
||||
\draw[->] ($(addd.north) + (0, 1.0)$) node[below right]{$d$} -- (addd.north);
|
||||
\draw[->] (non_linearity.east) -- (addna.west);
|
||||
\draw[->] (addna.east) -- ++(1.2, 0) node[above left]{$y_a$};
|
||||
\draw[->] ($(addna.north) + (0, 1.0)$) node[below right](na){$n_a$} -- (addna.north);
|
||||
\draw[->] ($(addd.east) + (0.4, 0)$)node[branch]{} node[above]{$y$} |- (addnsg.west);
|
||||
\draw[->] (addnsg.east) -- ++(1.2, 0) node[above left]{$y_g$};
|
||||
\draw[->] ($(addnsg.north) + (0, 1.0)$) node[below right](nsg){$n_{g}$} -- (addnsg.north);
|
||||
|
||||
\begin{scope}[on background layer]
|
||||
\node[fit={(non_linearity.south west) (na.north east)}, fill=myblue!20!white, draw, inner sep=6pt] (attocube) {};
|
||||
\node[fit={(non_linearity.west|-addnsg.south) (nsg.north east)}, fill=myred!20!white, draw, inner sep=6pt] (straingauge) {};
|
||||
\node[below right] at (attocube.north west) {Attocube};
|
||||
\node[below right] at (straingauge.north west) {Strain Gauge};
|
||||
\end{scope}
|
||||
\end{tikzpicture}
|
||||
#+end_src
|
||||
|
||||
#+name: fig:block_diagram_lut_attocube
|
||||
#+caption: Block Diagram schematic of the setup used to measure the periodic non-linearity of the Attocube
|
||||
#+RESULTS:
|
||||
[[file:figs/block_diagram_lut_attocube.png]]
|
||||
|
||||
The problem is to estimate the periodic non-linearity of the Attocube from the imperfect measurements $y_a$ and $y_g$.
|
||||
|
||||
The wavelength of the Attocube is 1530nm, therefore the non-linearity has a period of 765nm.
|
||||
The amplitude of the non-linearity can vary from one unit to the other (and maybe from one experimental condition to the other).
|
||||
It is typically between 5nm peak to peak and 20nm peak to peak.
|
||||
In order to overcome this issue, the periodic non-linearity of the interferometers have to be calibrated.
|
||||
To do so, a displacement is imposed and measured both by the interferometers and by another metrology system which does not have this nonlinearity.
|
||||
By comparing the two measured displacements, the nonlinearity can be calibration.
|
||||
This process is performed over several periods in order to characterize the error over the full stroke.
|
||||
|
||||
** Matlab Init :noexport:ignore:
|
||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||
@ -360,7 +770,245 @@ It is typically between 5nm peak to peak and 20nm peak to peak.
|
||||
<<m-init-other>>
|
||||
#+end_src
|
||||
|
||||
** Simulations
|
||||
** Measurement Setup
|
||||
The metrology that will be compared with the interferometers are the strain gauges incorporated in the PI piezoelectric stacks.
|
||||
|
||||
It is here supposed that the measured displacement by the strain gauges are converted to the displacement at the interferometer locations.
|
||||
It is also supposed that we are at a certain Bragg angle, and that the stepper motors are not moving: only the piezoelectric actuators are used.
|
||||
|
||||
#+begin_note
|
||||
Note that the strain gauges are measuring the relative displacement of the piezoelectric stacks while the interferometers are measuring the relative motion between the second crystals and the metrology frame.
|
||||
|
||||
Only the interferometers measuring the second crystal motion can be calibrated here.
|
||||
|
||||
As any deformations of the metrology frame of deformation of the crystal's support can degrade the quality of the calibration, it is better to perform this calibration without any bragg angle motion.
|
||||
#+end_note
|
||||
|
||||
The setup is schematically with the block diagram in Figure [[fig:block_diagram_lut_attocube]].
|
||||
|
||||
The signals are:
|
||||
- $u$: Reference Signal sent to the PI controller (position where we wish to three stacks to be).
|
||||
The PI controller takes care or controlling to position as measured by the strain gauges such that it is close to the reference position.
|
||||
- $d$: Disturbances affecting the position of the crystals
|
||||
- $y$: Displacement of the crystal as measured by one interferometer
|
||||
- $y_g$: Measurement of the motion in the frame of the interferometer by the strain gauge with some noise $n_g$
|
||||
- $y_a$: Measurement of the crystal motion by the interferometer with some noise $n_a$
|
||||
|
||||
#+begin_src latex :file block_diagram_lut_attocube.pdf
|
||||
\definecolor{myblue}{rgb}{0, 0.447, 0.741}
|
||||
\definecolor{myred}{rgb}{0.8500, 0.325, 0.098}
|
||||
|
||||
\begin{tikzpicture}
|
||||
\node[block] (G) at (0,0){$G(s)$};
|
||||
\node[block, align=center, right=1 of G] (non_linearity) {Periodic\\Non-linearity};
|
||||
\node[addb, right=1 of non_linearity] (addna) {};
|
||||
\node[addb, below=1.8 of addna] (addnsg) {};
|
||||
|
||||
\draw[->] ($(G.west) + (-1.0, 0)$) node[above right]{$u$} -- (G.west);
|
||||
\draw[->] ($(G.north) + (0, 1.0)$) node[below right]{$d$} -- (G.north);
|
||||
\draw[->] (G.east) -- (non_linearity.west);
|
||||
\draw[->] (non_linearity.east) -- (addna.west);
|
||||
\draw[->] (addna.east) -- ++(1.2, 0) node[above left]{$y_a$};
|
||||
\draw[->] ($(addna.north) + (0, 1.0)$) node[below right](na){$n_a$} -- (addna.north);
|
||||
\draw[->] ($(G.east) + (0.4, 0)$)node[branch]{} node[above]{$y$} |- (addnsg.west);
|
||||
\draw[->] (addnsg.east) -- ++(1.2, 0) node[above left]{$y_g$};
|
||||
\draw[->] ($(addnsg.north) + (0, 1.0)$) node[below right](nsg){$n_{g}$} -- (addnsg.north);
|
||||
|
||||
\begin{scope}[on background layer]
|
||||
\node[fit={(non_linearity.south west) (na.north east)}, fill=myblue!20!white, draw, inner sep=6pt] (attocube) {};
|
||||
\node[fit={(non_linearity.west|-addnsg.south) (nsg.north east)}, fill=myred!20!white, draw, inner sep=6pt] (straingauge) {};
|
||||
\node[below right] at (attocube.north west) {Attocube};
|
||||
\node[below right] at (straingauge.north west) {Strain Gauge};
|
||||
\end{scope}
|
||||
\end{tikzpicture}
|
||||
#+end_src
|
||||
|
||||
#+name: fig:block_diagram_lut_attocube
|
||||
#+caption: Block Diagram schematic of the setup used to measure the periodic non-linearity of the Attocube
|
||||
#+RESULTS:
|
||||
[[file:figs/block_diagram_lut_attocube.png]]
|
||||
|
||||
The problem is to estimate the periodic non-linearity of the Attocube from the imperfect measurements $y_a$ and $y_g$.
|
||||
|
||||
** Choice of the reference signal
|
||||
|
||||
The main specifications for the reference signal are;
|
||||
- sweep several periods (i.e. several micrometers)
|
||||
- stay in the linear region of the strain gauge
|
||||
- no excitation of mechanical modes (i.e. the frequency content of the signal should be at low frequency)
|
||||
- no phase shift due to limited bandwidth of both the interferometers and the strain gauge
|
||||
- the full process should be quite fast
|
||||
|
||||
The travel range of the piezoelectric stacks is 15 micrometers, the resolution of the strain gauges is 0.3nm and the maximum non-linearity is 0.15%.
|
||||
If one non-linear period is swept (765nm), the maximum estimation error of the strain gauge is around 1nm.
|
||||
|
||||
Based on the above discussion, one suitable excitation signal is a sinusoidal sweep with a frequency of 10Hz.
|
||||
|
||||
** Repeatability of the non-linearity
|
||||
|
||||
Instead of calibrating the non-linear errors of the interferometers over the full fast jack stroke (25mm), one can only calibrate the errors of one period.
|
||||
|
||||
For that, we need to make sure that the errors are repeatable from one period to the other and also the period should be very precisely estimated (i.e. the wavelength of the laser).
|
||||
|
||||
Also, the laser wavelength should be very stable (specified at 50ppb).
|
||||
|
||||
One way to precisely estimate the laser wavelength is to estimate the non linear errors of the interferometer at an initial position, and then to estimate the non linear errors at a large offset, say 10mm.
|
||||
|
||||
** Simulation
|
||||
Suppose we have a first approximation of the non-linear period.
|
||||
#+begin_src matlab
|
||||
period_est = 765e-9; % Estimated period [m]
|
||||
#+end_src
|
||||
|
||||
And suppose the real period of the non-linear errors is a little bit above (by 0.02nm):
|
||||
#+begin_src matlab
|
||||
period_err = 0.02e-9; % Error on the period estimation [m]
|
||||
period_nl = period_est + period_err; % Period of the non-linear errors [m]
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
displacement_step = 1e-8;
|
||||
stroke = 0:displacement_step:25e-3; % Measured Stroke [m]
|
||||
|
||||
nl_errors = 5e-9*sin(2*pi*stroke/period_nl) + ...
|
||||
3e-9*sin(2*pi*2*stroke/period_nl) - ...
|
||||
1e-9*sin(2*pi*3*stroke/period_nl); % Measured non-linear errors [m]
|
||||
|
||||
est_errors = 5e-9*sin(2*pi*stroke/period_est) + ...
|
||||
3e-9*sin(2*pi*2*stroke/period_est) - ...
|
||||
1e-9*sin(2*pi*3*stroke/period_est); % Estimated non-linear errors [m]
|
||||
#+end_src
|
||||
|
||||
The non-linear errors are first estimated at the beginning of the stroke (Figure [[fig:non_linear_errors_start_stroke]]).
|
||||
#+begin_src matlab :exports none
|
||||
%% Measured errors at the begining of the stroke
|
||||
figure;
|
||||
plot(1e9*stroke, 1e9*nl_errors);
|
||||
xlabel('Displacement [nm]'); ylabel('Non linearity [nm]');
|
||||
xlim([0, 1e9*period_nl]);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
exportFig('figs/non_linear_errors_start_stroke.pdf', 'width', 'wide', 'height', 'normal');
|
||||
#+end_src
|
||||
|
||||
#+name: fig:non_linear_errors_start_stroke
|
||||
#+caption: Estimation of the non-linear errors at the beginning of the stroke
|
||||
#+RESULTS:
|
||||
[[file:figs/non_linear_errors_start_stroke.png]]
|
||||
|
||||
From this only measurement, it is not possible to estimate with great accuracy the period of the error.
|
||||
To do so, the same measurement is performed with a stroke of several millimeters (Figure [[fig:non_linear_errors_middle_stroke]]).
|
||||
|
||||
It can be seen that there is an offset between the estimated and the measured errors.
|
||||
This is due to a mismatch between the estimated period and the true period of the error.
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
%% Comparison of the estimated error and measured error
|
||||
figure;
|
||||
hold on;
|
||||
plot(1e3*stroke, 1e9*nl_errors, ...
|
||||
'DisplayName', 'Measured Errors');
|
||||
plot(1e3*stroke, 1e9*est_errors, '--', ...
|
||||
'DisplayName', 'Estimated Errors');
|
||||
hold off;
|
||||
xlabel('Displacement [mm]'); ylabel('Non linearity [nm]');
|
||||
xlim([1e3*(5e-3-period_nl/2), 1e3*(5e-3+period_nl/2)]);
|
||||
legend('location', 'southeast');
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
exportFig('figs/non_linear_errors_middle_stroke.pdf', 'width', 'wide', 'height', 'normal');
|
||||
#+end_src
|
||||
|
||||
#+name: fig:non_linear_errors_middle_stroke
|
||||
#+caption: Estimated non-linear errors at a latter position
|
||||
#+RESULTS:
|
||||
[[file:figs/non_linear_errors_middle_stroke.png]]
|
||||
|
||||
Suppose the non-linear error is characterized by a periodic function $\mathcal{E}$, to simplify let's take a sinusoidal function (this can be generalized by taking the fourier transform of the function):
|
||||
\begin{equation}
|
||||
\mathcal{E}(x) = \sin\left(\frac{x}{\lambda}\right)
|
||||
\end{equation}
|
||||
with $x$ the displacement and $\lambda$ the period of the error.
|
||||
|
||||
The measured error at $x_0$ is then:
|
||||
\begin{equation}
|
||||
\mathcal{E}_m(x_0) = \sin\left( \frac{x_0}{\lambda} \right)
|
||||
\end{equation}
|
||||
And the estimated one is:
|
||||
\begin{equation}
|
||||
\mathcal{E}_e(x_0) = \sin \left( \frac{x_0}{\lambda_{\text{est}}} \right)
|
||||
\end{equation}
|
||||
with $\lambda_{\text{est}}$ the estimated error's period.
|
||||
|
||||
From Figure [[fig:non_linear_errors_middle_stroke]], we can see that there is an offset between the two curves.
|
||||
Let's call this offset $\epsilon_x$, we then have:
|
||||
\begin{equation}
|
||||
\mathcal{E}_m(x_0) = \mathcal{E}_e(x_0 + \epsilon_x)
|
||||
\end{equation}
|
||||
|
||||
Which gives us:
|
||||
\begin{equation}
|
||||
\sin\left( \frac{x_0}{\lambda} \right) = \sin \left( \frac{x_0 + \epsilon_x}{\lambda_{\text{est}}} \right)
|
||||
\end{equation}
|
||||
|
||||
Finally:
|
||||
\begin{equation}
|
||||
\boxed{\lambda = \lambda_{\text{est}} \frac{x_0}{x_0 + \epsilon_x}}
|
||||
\end{equation}
|
||||
|
||||
The estimated delay is computed:
|
||||
#+begin_src matlab
|
||||
%% Estimation of the offset between the estimated and measured errors
|
||||
i_period = stroke > 5e-3-period_nl/2 & stroke < 5e-3+period_nl/2;
|
||||
epsilon_x = finddelay(nl_errors(i_period), est_errors(i_period)) % [m]
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :results value replace :exports results :tangle no
|
||||
ans = sprintf('Estimated delay x0 is %.0f [nm]', 1e9*displacement_step*epsilon_x)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: Estimated delay x0 is -120 [nm]
|
||||
|
||||
And the period $\lambda$ can be estimated:
|
||||
#+begin_src matlab
|
||||
%% Computation of the period [m]
|
||||
period_fin = period_est * (5e-3)/(5e-3 + d_offset); % Estimated period after measurement [m]
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :results value replace :exports results :tangle no
|
||||
ans = sprintf('The estimated period is %.3f [nm]', 1e9*period_fin)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: The estimated period is 765.020 [nm]
|
||||
|
||||
And the results confirms that this method is working on paper.
|
||||
|
||||
When doing this computation, we suppose that there are *at most* one half period of offset between the estimated and the measured non-linear (to not have any ambiguity whether the estimated period is too large or too small).
|
||||
Mathematically this means that the displacement $x_0$ should be smaller than:
|
||||
\begin{equation}
|
||||
x_0 < \frac{1}{2} \cdot \lambda \cdot \frac{\lambda}{\epsilon_\lambda}
|
||||
\end{equation}
|
||||
With $\epsilon_\lambda$ the absolute estimation error of the period in meters.
|
||||
|
||||
For instance, if we estimate the error on the period to be less than 0.1nm, the maximum displacement is:
|
||||
#+begin_src matlab
|
||||
%% Estimated maximum stroke [m]
|
||||
max_x0 = 0.5 * 765e-9 * (765e-9)/(0.1e-9);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :results value replace :exports results :tangle no
|
||||
ans = sprintf('The maximum stroke is %.1f [mm]', 1e3*max_x0)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: The maximum stroke is 2.9 [mm]
|
||||
|
||||
** Measurements
|
||||
|
||||
We have some constrains on the way the motion is imposed and measured:
|
||||
- We want the frequency content of the imposed motion to be at low frequency in order not to induce vibrations of the structure.
|
||||
We have to make sure the forces applied by the piezoelectric actuator only moves the crystal and not the fast jack below.
|
||||
@ -402,5 +1050,9 @@ colors = colororder;
|
||||
freqs = logspace(1, 3, 1000);
|
||||
#+END_SRC
|
||||
|
||||
* Bibliography :ignore:
|
||||
#+latex: \printbibliography
|
||||
* Bibliography
|
||||
:PROPERTIES:
|
||||
:UNNUMBERED: t
|
||||
:END:
|
||||
|
||||
#+print_bibliography:
|
||||
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 20 KiB |
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="289.211pt" height="133.172pt" viewBox="0 0 289.211 133.172" version="1.2">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="240.939pt" height="133.172pt" viewBox="0 0 240.939 133.172" version="1.2">
|
||||
<defs>
|
||||
<g>
|
||||
<symbol overflow="visible" id="glyph0-0">
|
||||
@ -109,173 +109,162 @@
|
||||
</symbol>
|
||||
</g>
|
||||
<clipPath id="clip1">
|
||||
<path d="M 219 91 L 268 91 L 268 132.347656 L 219 132.347656 Z M 219 91 "/>
|
||||
<path d="M 171 91 L 220 91 L 220 132.347656 L 171 132.347656 Z M 171 91 "/>
|
||||
</clipPath>
|
||||
<clipPath id="clip2">
|
||||
<path d="M 0.5 44 L 26 44 L 26 46 L 0.5 46 Z M 0.5 44 "/>
|
||||
<path d="M 219 29 L 240.164062 29 L 240.164062 61 L 219 61 Z M 219 29 "/>
|
||||
</clipPath>
|
||||
<clipPath id="clip3">
|
||||
<path d="M 267 29 L 287.925781 29 L 287.925781 61 L 267 61 Z M 267 29 "/>
|
||||
</clipPath>
|
||||
<clipPath id="clip4">
|
||||
<path d="M 267 99 L 287.925781 99 L 287.925781 132 L 267 132 Z M 267 99 "/>
|
||||
<path d="M 219 99 L 240.164062 99 L 240.164062 132 L 219 132 Z M 219 99 "/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g id="surface1">
|
||||
<path style="fill-rule:nonzero;fill:rgb(79.998779%,88.938904%,94.819641%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 88.145751 -20.649762 L 221.799738 -20.649762 L 221.799738 44.286644 L 88.145751 44.286644 Z M 88.145751 -20.649762 " transform="matrix(0.993821,0,0,-0.993821,47.062973,45.005179)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(96.998596%,86.499023%,81.959534%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 88.145751 -86.891105 L 221.615003 -86.891105 L 221.615003 -26.663483 L 88.145751 -26.663483 Z M 88.145751 -86.891105 " transform="matrix(0.993821,0,0,-0.993821,47.062973,45.005179)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(79.998779%,88.938904%,94.819641%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 39.87707 -20.649762 L 173.527126 -20.649762 L 173.527126 44.286644 L 39.87707 44.286644 Z M 39.87707 -20.649762 " transform="matrix(0.993821,0,0,-0.993821,47.275585,45.005179)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(96.998596%,86.499023%,81.959534%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 39.87707 -86.891105 L 173.342391 -86.891105 L 173.342391 -26.663483 L 39.87707 -26.663483 Z M 39.87707 -86.891105 " transform="matrix(0.993821,0,0,-0.993821,47.275585,45.005179)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-1" x="137.964789" y="11.112905"/>
|
||||
<use xlink:href="#glyph0-1" x="90.203678" y="11.112905"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-2" x="145.11334" y="11.112905"/>
|
||||
<use xlink:href="#glyph0-2" x="148.963854" y="11.112905"/>
|
||||
<use xlink:href="#glyph0-3" x="152.814369" y="11.112905"/>
|
||||
<use xlink:href="#glyph0-2" x="97.352229" y="11.112905"/>
|
||||
<use xlink:href="#glyph0-2" x="101.202744" y="11.112905"/>
|
||||
<use xlink:href="#glyph0-3" x="105.053258" y="11.112905"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-4" x="158.042118" y="11.112905"/>
|
||||
<use xlink:href="#glyph0-5" x="162.44313" y="11.112905"/>
|
||||
<use xlink:href="#glyph0-6" x="167.944148" y="11.112905"/>
|
||||
<use xlink:href="#glyph0-4" x="110.281007" y="11.112905"/>
|
||||
<use xlink:href="#glyph0-5" x="114.68202" y="11.112905"/>
|
||||
<use xlink:href="#glyph0-6" x="120.183038" y="11.112905"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-7" x="173.722395" y="11.112905"/>
|
||||
<use xlink:href="#glyph0-7" x="125.961285" y="11.112905"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-8" x="137.964789" y="81.623504"/>
|
||||
<use xlink:href="#glyph0-2" x="143.465807" y="81.623504"/>
|
||||
<use xlink:href="#glyph0-9" x="147.316321" y="81.623504"/>
|
||||
<use xlink:href="#glyph0-10" x="151.194558" y="81.623504"/>
|
||||
<use xlink:href="#glyph0-11" x="156.145079" y="81.623504"/>
|
||||
<use xlink:href="#glyph0-12" x="158.895587" y="81.623504"/>
|
||||
<use xlink:href="#glyph0-8" x="90.203678" y="81.623504"/>
|
||||
<use xlink:href="#glyph0-2" x="95.704696" y="81.623504"/>
|
||||
<use xlink:href="#glyph0-9" x="99.555211" y="81.623504"/>
|
||||
<use xlink:href="#glyph0-10" x="103.433448" y="81.623504"/>
|
||||
<use xlink:href="#glyph0-11" x="108.383968" y="81.623504"/>
|
||||
<use xlink:href="#glyph0-12" x="111.134477" y="81.623504"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-13" x="167.693652" y="81.623504"/>
|
||||
<use xlink:href="#glyph0-10" x="175.462998" y="81.623504"/>
|
||||
<use xlink:href="#glyph0-5" x="180.413518" y="81.623504"/>
|
||||
<use xlink:href="#glyph0-14" x="185.914536" y="81.623504"/>
|
||||
<use xlink:href="#glyph0-7" x="190.865056" y="81.623504"/>
|
||||
<use xlink:href="#glyph0-13" x="119.932541" y="81.623504"/>
|
||||
<use xlink:href="#glyph0-10" x="127.701887" y="81.623504"/>
|
||||
<use xlink:href="#glyph0-5" x="132.652407" y="81.623504"/>
|
||||
<use xlink:href="#glyph0-14" x="138.153425" y="81.623504"/>
|
||||
<use xlink:href="#glyph0-7" x="143.103945" y="81.623504"/>
|
||||
</g>
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -17.00791 -14.172236 L 17.006959 -14.172236 L 17.006959 14.174798 L -17.00791 14.174798 Z M -17.00791 -14.172236 " transform="matrix(0.993821,0,0,-0.993821,47.062973,45.005179)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -17.009595 -14.172236 L 17.009204 -14.172236 L 17.009204 14.174798 L -17.009595 14.174798 Z M -17.009595 -14.172236 " transform="matrix(0.993821,0,0,-0.993821,47.275585,45.005179)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-1" x="36.999543" y="47.479793"/>
|
||||
<use xlink:href="#glyph1-1" x="37.212154" y="47.479793"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-15" x="44.784142" y="47.479793"/>
|
||||
<use xlink:href="#glyph0-15" x="44.996754" y="47.479793"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-2" x="48.634204" y="47.479793"/>
|
||||
<use xlink:href="#glyph1-2" x="48.846816" y="47.479793"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-16" x="53.275347" y="47.479793"/>
|
||||
<use xlink:href="#glyph0-16" x="53.487959" y="47.479793"/>
|
||||
</g>
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 65.777064 0.00128092 C 65.777064 5.504033 61.319835 9.961262 55.817083 9.961262 C 50.314331 9.961262 45.853171 5.504033 45.853171 0.00128092 C 45.853171 -5.501471 50.314331 -9.962631 55.817083 -9.962631 C 61.319835 -9.962631 65.777064 -5.501471 65.777064 0.00128092 Z M 65.777064 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,47.062973,45.005179)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 46.350664 -14.172236 L 110.304435 -14.172236 L 110.304435 14.174798 L 46.350664 14.174798 Z M 46.350664 -14.172236 " transform="matrix(0.993821,0,0,-0.993821,47.275585,45.005179)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-1" x="96.374378" y="49.145437"/>
|
||||
</g>
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 94.623277 -14.172236 L 158.577047 -14.172236 L 158.577047 14.174798 L 94.623277 14.174798 Z M 94.623277 -14.172236 " transform="matrix(0.993821,0,0,-0.993821,47.062973,45.005179)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-17" x="155.195655" y="41.511899"/>
|
||||
<use xlink:href="#glyph0-17" x="107.434545" y="41.511899"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-7" x="161.657074" y="41.511899"/>
|
||||
<use xlink:href="#glyph0-9" x="166.058087" y="41.511899"/>
|
||||
<use xlink:href="#glyph0-11" x="169.936324" y="41.511899"/>
|
||||
<use xlink:href="#glyph0-3" x="172.686833" y="41.511899"/>
|
||||
<use xlink:href="#glyph0-7" x="113.895964" y="41.511899"/>
|
||||
<use xlink:href="#glyph0-9" x="118.296976" y="41.511899"/>
|
||||
<use xlink:href="#glyph0-11" x="122.175214" y="41.511899"/>
|
||||
<use xlink:href="#glyph0-3" x="124.925722" y="41.511899"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-18" x="177.914582" y="41.511899"/>
|
||||
<use xlink:href="#glyph0-11" x="183.4156" y="41.511899"/>
|
||||
<use xlink:href="#glyph0-4" x="186.166109" y="41.511899"/>
|
||||
<use xlink:href="#glyph0-18" x="130.153472" y="41.511899"/>
|
||||
<use xlink:href="#glyph0-11" x="135.654489" y="41.511899"/>
|
||||
<use xlink:href="#glyph0-4" x="138.404998" y="41.511899"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-19" x="144.399779" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-3" x="151.825559" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-12" x="156.776079" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-20" x="162.277097" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-21" x="165.577114" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-11" x="168.327623" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-12" x="171.078131" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-7" x="176.579149" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-10" x="180.980162" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-9" x="185.930682" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-11" x="189.808919" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-2" x="192.559428" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-19" x="96.639663" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-3" x="104.065443" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-12" x="109.015963" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-20" x="114.51698" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-21" x="117.816997" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-11" x="120.567506" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-12" x="123.318015" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-7" x="128.819033" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-10" x="133.220045" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-9" x="138.170565" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-11" x="142.048803" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-2" x="144.799311" y="53.393028"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-22" x="196.132713" y="53.393028"/>
|
||||
<use xlink:href="#glyph0-22" x="148.372597" y="53.393028"/>
|
||||
</g>
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 207.347153 0.00128092 C 207.347153 5.504033 202.889924 9.961262 197.387172 9.961262 C 191.88442 9.961262 187.42326 5.504033 187.42326 0.00128092 C 187.42326 -5.501471 191.88442 -9.962631 197.387172 -9.962631 C 202.889924 -9.962631 207.347153 -5.501471 207.347153 0.00128092 Z M 207.347153 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,47.062973,45.005179)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 159.078471 0.00128092 C 159.078471 5.504033 154.617312 9.961262 149.11456 9.961262 C 143.611807 9.961262 139.150648 5.504033 139.150648 0.00128092 C 139.150648 -5.501471 143.611807 -9.962631 149.11456 -9.962631 C 154.617312 -9.962631 159.078471 -5.501471 159.078471 0.00128092 Z M 159.078471 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,47.275585,45.005179)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-1" x="237.068608" y="49.145437"/>
|
||||
<use xlink:href="#glyph2-1" x="189.307498" y="49.145437"/>
|
||||
</g>
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 253.128906 115.515625 C 253.128906 110.046875 248.699219 105.617188 243.230469 105.617188 C 237.761719 105.617188 233.328125 110.046875 233.328125 115.515625 C 233.328125 120.984375 237.761719 125.417969 243.230469 125.417969 C 248.699219 125.417969 253.128906 120.984375 253.128906 115.515625 Z M 253.128906 115.515625 "/>
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 205.371094 115.515625 C 205.371094 110.046875 200.9375 105.617188 195.46875 105.617188 C 190 105.617188 185.566406 110.046875 185.566406 115.515625 C 185.566406 120.984375 190 125.417969 195.46875 125.417969 C 200.9375 125.417969 205.371094 120.984375 205.371094 115.515625 Z M 205.371094 115.515625 "/>
|
||||
<g clip-path="url(#clip1)" clip-rule="nonzero">
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 207.347153 -70.948846 C 207.347153 -65.446094 202.889924 -60.988865 197.387172 -60.988865 C 191.88442 -60.988865 187.42326 -65.446094 187.42326 -70.948846 C 187.42326 -76.451598 191.88442 -80.912758 197.387172 -80.912758 C 202.889924 -80.912758 207.347153 -76.451598 207.347153 -70.948846 Z M 207.347153 -70.948846 " transform="matrix(0.993821,0,0,-0.993821,47.062973,45.005179)"/>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 159.078471 -70.948846 C 159.078471 -65.446094 154.617312 -60.988865 149.11456 -60.988865 C 143.611807 -60.988865 139.150648 -65.446094 139.150648 -70.948846 C 139.150648 -76.451598 143.611807 -80.912758 149.11456 -80.912758 C 154.617312 -80.912758 159.078471 -76.451598 159.078471 -70.948846 Z M 159.078471 -70.948846 " transform="matrix(0.993821,0,0,-0.993821,47.275585,45.005179)"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-1" x="237.068608" y="119.656036"/>
|
||||
<use xlink:href="#glyph2-1" x="189.307498" y="119.656036"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -45.851877 0.00128092 L -22.138946 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,47.275585,45.005179)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.054493 0.00128092 L 1.609056 1.683551 L 3.086938 0.00128092 L 1.609056 -1.68492 Z M 6.054493 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,22.451668,45.005179)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-3" x="5.501317" y="41.209777"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 0.00176982 43.01708 L 0.00176982 19.304149 " transform="matrix(0.993821,0,0,-0.993821,47.275585,45.005179)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.05463 0.00176982 L 1.609193 1.68404 L 3.087075 0.00176982 L 1.609193 -1.684431 Z M 6.05463 0.00176982 " transform="matrix(0,0.993821,0.993821,0,47.275585,22.998407)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-4" x="51.069993" y="12.923647"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 17.504452 0.00128092 L 41.221313 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,47.275585,45.005179)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.051642 0.00128092 L 1.610135 1.683551 L 3.088017 0.00128092 L 1.610135 -1.68492 Z M 6.051642 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,85.419345,45.005179)"/>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 110.803613 0.00128092 L 134.516544 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,47.275585,45.005179)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.052814 0.00128092 L 1.607376 1.683551 L 3.089189 0.00128092 L 1.607376 -1.68492 Z M 6.052814 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,178.140837,45.005179)"/>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 159.078471 0.00128092 L 188.459237 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,47.275585,45.005179)"/>
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 237.765625 45.003906 L 233.347656 43.332031 L 234.816406 45.003906 L 233.347656 46.679688 Z M 237.765625 45.003906 "/>
|
||||
<g clip-path="url(#clip2)" clip-rule="nonzero">
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -45.854123 0.00128092 L -22.141192 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,47.062973,45.005179)"/>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053886 0.00128092 L 1.608449 1.683551 L 3.086331 0.00128092 L 1.608449 -1.68492 Z M 6.053886 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,231.749146,45.005179)"/>
|
||||
</g>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.052248 0.00128092 L 1.60681 1.683551 L 3.088622 0.00128092 L 1.60681 -1.68492 Z M 6.052248 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,22.239056,45.005179)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-3" x="5.288705" y="41.209777"/>
|
||||
<use xlink:href="#glyph1-5" x="225.733022" y="39.284746"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 17.506137 0.00128092 L 41.219068 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,47.062973,45.005179)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053327 0.00128092 L 1.60789 1.683551 L 3.085772 0.00128092 L 1.60789 -1.68492 Z M 6.053327 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,85.206733,45.005179)"/>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 65.777064 0.00128092 L 89.489995 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,47.062973,45.005179)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.051915 0.00128092 L 1.610407 1.683551 L 3.088289 0.00128092 L 1.610407 -1.68492 Z M 6.051915 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,133.180793,45.005179)"/>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 55.817083 38.308296 L 55.817083 14.595366 " transform="matrix(0.993821,0,0,-0.993821,47.062973,45.005179)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.054654 0.00131291 L 1.609216 1.683583 L 3.087098 0.00131291 L 1.609216 -1.684888 Z M 6.054654 0.00131291 " transform="matrix(0,0.993821,0.993821,0,102.533851,27.678071)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-4" x="106.327494" y="17.60355"/>
|
||||
<use xlink:href="#glyph3-1" x="230.586843" y="40.769515"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 159.076226 0.00128092 L 182.789157 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,47.062973,45.005179)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053086 0.00128092 L 1.607648 1.683551 L 3.089461 0.00128092 L 1.607648 -1.68492 Z M 6.053086 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,225.902285,45.005179)"/>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 207.347153 0.00128092 L 236.731849 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,47.062973,45.005179)"/>
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 285.527344 45.003906 L 281.109375 43.332031 L 282.578125 45.003906 L 281.109375 46.679688 Z M 285.527344 45.003906 "/>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 149.11456 38.308296 L 149.11456 14.595366 " transform="matrix(0.993821,0,0,-0.993821,47.275585,45.005179)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.054654 0.000809577 L 1.609216 1.683079 L 3.087098 0.000809577 L 1.609216 -1.68146 Z M 6.054654 0.000809577 " transform="matrix(0,0.993821,0.993821,0,195.467945,27.678071)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-6" x="199.260614" y="14.990794"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph3-1" x="205.203663" y="16.475563"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 28.844052 0.00128092 L 28.844052 -70.948846 L 134.516544 -70.948846 " transform="matrix(0.993821,0,0,-0.993821,47.275585,45.005179)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.052814 0.00101392 L 1.607376 1.683284 L 3.089189 0.00101392 L 1.607376 -1.681256 Z M 6.052814 0.00101392 " transform="matrix(0.993821,0,0,-0.993821,178.140837,115.516633)"/>
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 77.921875 45.003906 C 77.921875 43.910156 77.035156 43.023438 75.941406 43.023438 C 74.847656 43.023438 73.960938 43.910156 73.960938 45.003906 C 73.960938 46.097656 74.847656 46.984375 75.941406 46.984375 C 77.035156 46.984375 77.921875 46.097656 77.921875 45.003906 Z M 77.921875 45.003906 "/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-5" x="73.33655" y="39.284746"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 159.078471 -70.948846 L 188.459237 -70.948846 " transform="matrix(0.993821,0,0,-0.993821,47.275585,45.005179)"/>
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 237.765625 115.515625 L 233.347656 113.84375 L 234.816406 115.515625 L 233.347656 117.1875 Z M 237.765625 115.515625 "/>
|
||||
<g clip-path="url(#clip3)" clip-rule="nonzero">
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.054159 0.00128092 L 1.608721 1.683551 L 3.086603 0.00128092 L 1.608721 -1.68492 Z M 6.054159 0.00128092 " transform="matrix(0.993821,0,0,-0.993821,279.510594,45.005179)"/>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053886 0.00101392 L 1.608449 1.683284 L 3.086331 0.00101392 L 1.608449 -1.681256 Z M 6.053886 0.00101392 " transform="matrix(0.993821,0,0,-0.993821,231.749146,115.516633)"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-5" x="273.494132" y="39.284746"/>
|
||||
<use xlink:href="#glyph1-5" x="225.916878" y="108.887986"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph3-1" x="278.347953" y="40.769515"/>
|
||||
<use xlink:href="#glyph3-2" x="230.7707" y="110.372755"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 197.387172 38.308296 L 197.387172 14.595366 " transform="matrix(0.993821,0,0,-0.993821,47.062973,45.005179)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.054654 0.00107178 L 1.609216 1.683342 L 3.087098 0.00107178 L 1.609216 -1.681198 Z M 6.054654 0.00107178 " transform="matrix(0,0.993821,0.993821,0,243.229404,27.678071)"/>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 149.11456 -32.641831 L 149.11456 -56.354761 " transform="matrix(0.993821,0,0,-0.993821,47.275585,45.005179)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.054931 0.000809577 L 1.609493 1.683079 L 3.087375 0.000809577 L 1.609493 -1.68146 Z M 6.054931 0.000809577 " transform="matrix(0,0.993821,0.993821,0,195.467945,98.189514)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-6" x="247.021725" y="14.990794"/>
|
||||
<use xlink:href="#glyph1-6" x="199.260614" y="85.501393"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph3-1" x="252.964774" y="16.475563"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.116664 0.00128092 L 77.116664 -70.948846 L 182.789157 -70.948846 " transform="matrix(0.993821,0,0,-0.993821,47.062973,45.005179)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053086 0.00101392 L 1.607648 1.683284 L 3.089461 0.00101392 L 1.607648 -1.681256 Z M 6.053086 0.00101392 " transform="matrix(0.993821,0,0,-0.993821,225.902285,115.516633)"/>
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 125.683594 45.003906 C 125.683594 43.910156 124.796875 43.023438 123.703125 43.023438 C 122.609375 43.023438 121.722656 43.910156 121.722656 45.003906 C 121.722656 46.097656 122.609375 46.984375 123.703125 46.984375 C 124.796875 46.984375 125.683594 46.097656 125.683594 45.003906 Z M 125.683594 45.003906 "/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-5" x="121.097661" y="39.284746"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 207.347153 -70.948846 L 236.731849 -70.948846 " transform="matrix(0.993821,0,0,-0.993821,47.062973,45.005179)"/>
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 285.527344 115.515625 L 281.109375 113.84375 L 282.578125 115.515625 L 281.109375 117.1875 Z M 285.527344 115.515625 "/>
|
||||
<g clip-path="url(#clip4)" clip-rule="nonzero">
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.054159 0.00101392 L 1.608721 1.683284 L 3.086603 0.00101392 L 1.608721 -1.681256 Z M 6.054159 0.00101392 " transform="matrix(0.993821,0,0,-0.993821,279.510594,115.516633)"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-5" x="273.676995" y="108.887986"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph3-2" x="278.53181" y="110.372755"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 197.387172 -32.641831 L 197.387172 -56.354761 " transform="matrix(0.993821,0,0,-0.993821,47.062973,45.005179)"/>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.054931 0.00107178 L 1.609493 1.683342 L 3.087375 0.00107178 L 1.609493 -1.681198 Z M 6.054931 0.00107178 " transform="matrix(0,0.993821,0.993821,0,243.229404,98.189514)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-6" x="247.021725" y="85.501393"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph3-2" x="252.964774" y="86.986162"/>
|
||||
<use xlink:href="#glyph3-2" x="205.203663" y="86.986162"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 46 KiB |
BIN
figs/calibration_drx_pres.pdf
Normal file
BIN
figs/calibration_drx_pres.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
figs/calibration_setup.pdf
Normal file
BIN
figs/calibration_setup.png
Normal file
After Width: | Height: | Size: 53 KiB |
695
figs/calibration_setup.svg
Normal file
@ -0,0 +1,695 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="180.52425mm"
|
||||
height="40.197128mm"
|
||||
viewBox="0 0 180.52425 40.197128"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.1.1 (1:1.1+202109281949+c3084ef5ed)"
|
||||
sodipodi:docname="calibration_setup.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:snap-midpoints="true"
|
||||
inkscape:snap-smooth-nodes="true"
|
||||
inkscape:snap-intersection-paths="true"
|
||||
inkscape:object-paths="true"
|
||||
inkscape:zoom="1.8116734"
|
||||
inkscape:cx="319.87001"
|
||||
inkscape:cy="-14.351372"
|
||||
inkscape:window-width="2536"
|
||||
inkscape:window-height="1367"
|
||||
inkscape:window-x="12"
|
||||
inkscape:window-y="61"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs2">
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow2Mend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(-0.6)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path22145" />
|
||||
</marker>
|
||||
<g
|
||||
id="g2379">
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol9975">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d=""
|
||||
id="path6867" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol5992">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d="m 4.53125,-4.984375 c 0,-0.65625 -0.171875,-2.046875 -1.1875,-2.046875 -1.390625,0 -2.921875,2.8125 -2.921875,5.09375 0,0.9375 0.28125,2.046875 1.1875,2.046875 1.40625,0 2.921875,-2.859375 2.921875,-5.09375 z M 1.46875,-3.625 C 1.640625,-4.25 1.84375,-5.046875 2.25,-5.765625 2.515625,-6.25 2.875,-6.8125 3.328125,-6.8125 c 0.484375,0 0.546875,0.640625 0.546875,1.203125 0,0.5 -0.078125,1 -0.3125,1.984375 z m 2,0.328125 C 3.359375,-2.84375 3.15625,-2 2.765625,-1.28125 c -0.34375,0.6875 -0.71875,1.171875 -1.15625,1.171875 -0.328125,0 -0.53125,-0.296875 -0.53125,-1.21875 0,-0.421875 0.0625,-1 0.3125,-1.96875 z m 0,0"
|
||||
id="path3848" />
|
||||
</symbol>
|
||||
</g>
|
||||
<g
|
||||
id="g6629">
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol935">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d=""
|
||||
id="path4693" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol6723">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d="m 5.140625,-6.8125 c 0,0 0,-0.109375 -0.125,-0.109375 -0.15625,0 -1.09375,0.09375 -1.265625,0.109375 -0.078125,0.015625 -0.140625,0.0625 -0.140625,0.1875 0,0.125 0.09375,0.125 0.234375,0.125 0.484375,0 0.5,0.0625 0.5,0.171875 L 4.3125,-6.125 3.71875,-3.765625 C 3.53125,-4.140625 3.25,-4.40625 2.796875,-4.40625 c -1.15625,0 -2.390625,1.46875 -2.390625,2.921875 0,0.9375 0.546875,1.59375 1.3125,1.59375 0.203125,0 0.703125,-0.046875 1.296875,-0.75 0.078125,0.421875 0.4375,0.75 0.90625,0.75 0.359375,0 0.578125,-0.234375 0.75,-0.546875 0.15625,-0.359375 0.296875,-0.96875 0.296875,-0.984375 0,-0.109375 -0.09375,-0.109375 -0.125,-0.109375 -0.09375,0 -0.109375,0.046875 -0.140625,0.1875 -0.171875,0.640625 -0.34375,1.234375 -0.75,1.234375 -0.28125,0 -0.296875,-0.265625 -0.296875,-0.453125 0,-0.25 0.015625,-0.3125 0.046875,-0.484375 z m -2.0625,5.625 C 3.015625,-1 3.015625,-0.984375 2.875,-0.8125 2.4375,-0.265625 2.03125,-0.109375 1.75,-0.109375 c -0.5,0 -0.640625,-0.546875 -0.640625,-0.9375 0,-0.5 0.3125,-1.71875 0.546875,-2.1875 0.3125,-0.578125 0.75,-0.953125 1.15625,-0.953125 0.640625,0 0.78125,0.8125 0.78125,0.875 0,0.0625 -0.015625,0.125 -0.03125,0.171875 z m 0,0"
|
||||
id="path4897" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol2634">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d="m 3.734375,-6.125 c 0.0625,-0.234375 0.09375,-0.328125 0.28125,-0.359375 C 4.109375,-6.5 4.421875,-6.5 4.625,-6.5 c 0.703125,0 1.8125,0 1.8125,0.984375 0,0.34375 -0.15625,1.03125 -0.546875,1.421875 -0.265625,0.25 -0.78125,0.578125 -1.6875,0.578125 H 3.09375 Z m 1.4375,2.734375 c 1.015625,-0.21875 2.1875,-0.921875 2.1875,-1.921875 0,-0.859375 -0.890625,-1.5 -2.203125,-1.5 H 2.328125 c -0.203125,0 -0.296875,0 -0.296875,0.203125 C 2.03125,-6.5 2.125,-6.5 2.3125,-6.5 c 0.015625,0 0.203125,0 0.375,0.015625 0.1875,0.03125 0.265625,0.03125 0.265625,0.171875 0,0.03125 0,0.0625 -0.03125,0.1875 l -1.34375,5.34375 C 1.484375,-0.390625 1.46875,-0.3125 0.671875,-0.3125 0.5,-0.3125 0.40625,-0.3125 0.40625,-0.109375 0.40625,0 0.53125,0 0.546875,0 c 0.28125,0 0.984375,-0.03125 1.25,-0.03125 0.28125,0 1,0.03125 1.28125,0.03125 0.078125,0 0.1875,0 0.1875,-0.203125 0,-0.109375 -0.078125,-0.109375 -0.28125,-0.109375 -0.359375,0 -0.640625,0 -0.640625,-0.171875 0,-0.0625 0.015625,-0.109375 0.03125,-0.171875 l 0.65625,-2.640625 h 1.1875 c 0.90625,0 1.078125,0.5625 1.078125,0.90625 0,0.140625 -0.078125,0.453125 -0.140625,0.6875 C 5.09375,-1.421875 5,-1.0625 5,-0.859375 5,0.21875 6.203125,0.21875 6.328125,0.21875 c 0.84375,0 1.203125,-1 1.203125,-1.140625 0,-0.125 -0.109375,-0.125 -0.125,-0.125 -0.09375,0 -0.109375,0.0625 -0.125,0.140625 C 7.03125,-0.171875 6.59375,0 6.375,0 6.046875,0 5.96875,-0.21875 5.96875,-0.609375 c 0,-0.3125 0.0625,-0.8125 0.109375,-1.140625 0.015625,-0.140625 0.03125,-0.328125 0.03125,-0.46875 0,-0.765625 -0.671875,-1.078125 -0.9375,-1.171875 z m 0,0"
|
||||
id="path7" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol8521">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d=""
|
||||
id="path3899" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol8278">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d="M 3.875,-2.625 C 3.90625,-2.71875 3.90625,-2.734375 3.90625,-2.78125 3.90625,-2.921875 3.796875,-3 3.671875,-3 3.59375,-3 3.46875,-2.96875 3.390625,-2.84375 3.359375,-2.796875 3.3125,-2.578125 3.28125,-2.4375 L 3.125,-1.859375 c -0.03125,0.171875 -0.25,1.046875 -0.28125,1.125 0,0 -0.3125,0.609375 -0.84375,0.609375 -0.484375,0 -0.484375,-0.453125 -0.484375,-0.578125 0,-0.375 0.15625,-0.8125 0.375,-1.359375 C 1.96875,-2.28125 2,-2.359375 2,-2.484375 2,-2.8125 1.71875,-3.078125 1.34375,-3.078125 0.640625,-3.078125 0.328125,-2.125 0.328125,-2 c 0,0.078125 0.09375,0.078125 0.125,0.078125 0.09375,0 0.09375,-0.03125 0.125,-0.109375 C 0.75,-2.609375 1.046875,-2.875 1.328125,-2.875 1.4375,-2.875 1.5,-2.796875 1.5,-2.640625 c 0,0.171875 -0.0625,0.3125 -0.09375,0.40625 C 1.0625,-1.375 1,-1.125 1,-0.8125 1,-0.703125 1,-0.375 1.265625,-0.140625 1.484375,0.03125 1.78125,0.0625 1.96875,0.0625 2.25,0.0625 2.5,-0.03125 2.71875,-0.25 2.640625,0.140625 2.5625,0.4375 2.265625,0.78125 2.078125,1 1.796875,1.21875 1.421875,1.21875 c -0.046875,0 -0.375,0 -0.515625,-0.21875 0.375,-0.046875 0.375,-0.375 0.375,-0.390625 0,-0.21875 -0.203125,-0.265625 -0.265625,-0.265625 -0.171875,0 -0.40625,0.140625 -0.40625,0.46875 0,0.34375 0.328125,0.609375 0.828125,0.609375 C 2.140625,1.421875 3,0.875 3.21875,0 Z m 0,0"
|
||||
id="path8100" />
|
||||
</symbol>
|
||||
</g>
|
||||
<g
|
||||
id="g1562">
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol5192">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d=""
|
||||
id="path6850" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol9783">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d="m 5.140625,-6.8125 c 0,0 0,-0.109375 -0.125,-0.109375 -0.15625,0 -1.09375,0.09375 -1.265625,0.109375 -0.078125,0.015625 -0.140625,0.0625 -0.140625,0.1875 0,0.125 0.09375,0.125 0.234375,0.125 0.484375,0 0.5,0.0625 0.5,0.171875 L 4.3125,-6.125 3.71875,-3.765625 C 3.53125,-4.140625 3.25,-4.40625 2.796875,-4.40625 c -1.15625,0 -2.390625,1.46875 -2.390625,2.921875 0,0.9375 0.546875,1.59375 1.3125,1.59375 0.203125,0 0.703125,-0.046875 1.296875,-0.75 0.078125,0.421875 0.4375,0.75 0.90625,0.75 0.359375,0 0.578125,-0.234375 0.75,-0.546875 0.15625,-0.359375 0.296875,-0.96875 0.296875,-0.984375 0,-0.109375 -0.09375,-0.109375 -0.125,-0.109375 -0.09375,0 -0.109375,0.046875 -0.140625,0.1875 -0.171875,0.640625 -0.34375,1.234375 -0.75,1.234375 -0.28125,0 -0.296875,-0.265625 -0.296875,-0.453125 0,-0.25 0.015625,-0.3125 0.046875,-0.484375 z m -2.0625,5.625 C 3.015625,-1 3.015625,-0.984375 2.875,-0.8125 2.4375,-0.265625 2.03125,-0.109375 1.75,-0.109375 c -0.5,0 -0.640625,-0.546875 -0.640625,-0.9375 0,-0.5 0.3125,-1.71875 0.546875,-2.1875 0.3125,-0.578125 0.75,-0.953125 1.15625,-0.953125 0.640625,0 0.78125,0.8125 0.78125,0.875 0,0.0625 -0.015625,0.125 -0.03125,0.171875 z m 0,0"
|
||||
id="path5972" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol4037">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d="m 7.171875,-6.5625 c 0.015625,-0.046875 0.03125,-0.09375 0.03125,-0.15625 0,-0.09375 -0.046875,-0.09375 -0.25,-0.09375 H 2.75 c -0.234375,0 -0.25,0.015625 -0.3125,0.203125 L 1.890625,-4.8125 c -0.015625,0.046875 -0.03125,0.125 -0.03125,0.140625 0,0 0,0.109375 0.125,0.109375 0.09375,0 0.109375,-0.078125 0.125,-0.109375 C 2.5,-5.84375 3.015625,-6.5 4.5625,-6.5 h 1.625 L 0.625,-0.265625 c 0,0 -0.046875,0.140625 -0.046875,0.171875 C 0.578125,0 0.640625,0 0.828125,0 H 5.15625 c 0.25,0 0.25,-0.015625 0.3125,-0.203125 L 6.1875,-2.40625 c 0,-0.03125 0.03125,-0.109375 0.03125,-0.140625 0,-0.0625 -0.03125,-0.109375 -0.125,-0.109375 -0.09375,0 -0.109375,0.03125 -0.171875,0.25 C 5.484375,-1.0625 5,-0.34375 3.3125,-0.34375 H 1.609375 Z m 0,0"
|
||||
id="path6995" />
|
||||
</symbol>
|
||||
</g>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow2Mend-6"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(-0.6)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path22145-2" />
|
||||
</marker>
|
||||
<g
|
||||
id="g3801">
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol7280">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d=""
|
||||
id="path7873" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol2598">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d="m 5.140625,-6.8125 c 0,0 0,-0.109375 -0.125,-0.109375 -0.15625,0 -1.09375,0.09375 -1.265625,0.109375 -0.078125,0.015625 -0.140625,0.0625 -0.140625,0.1875 0,0.125 0.09375,0.125 0.234375,0.125 0.484375,0 0.5,0.0625 0.5,0.171875 L 4.3125,-6.125 3.71875,-3.765625 C 3.53125,-4.140625 3.25,-4.40625 2.796875,-4.40625 c -1.15625,0 -2.390625,1.46875 -2.390625,2.921875 0,0.9375 0.546875,1.59375 1.3125,1.59375 0.203125,0 0.703125,-0.046875 1.296875,-0.75 0.078125,0.421875 0.4375,0.75 0.90625,0.75 0.359375,0 0.578125,-0.234375 0.75,-0.546875 0.15625,-0.359375 0.296875,-0.96875 0.296875,-0.984375 0,-0.109375 -0.09375,-0.109375 -0.125,-0.109375 -0.09375,0 -0.109375,0.046875 -0.140625,0.1875 -0.171875,0.640625 -0.34375,1.234375 -0.75,1.234375 -0.28125,0 -0.296875,-0.265625 -0.296875,-0.453125 0,-0.25 0.015625,-0.3125 0.046875,-0.484375 z m -2.0625,5.625 C 3.015625,-1 3.015625,-0.984375 2.875,-0.8125 2.4375,-0.265625 2.03125,-0.109375 1.75,-0.109375 c -0.5,0 -0.640625,-0.546875 -0.640625,-0.9375 0,-0.5 0.3125,-1.71875 0.546875,-2.1875 0.3125,-0.578125 0.75,-0.953125 1.15625,-0.953125 0.640625,0 0.78125,0.8125 0.78125,0.875 0,0.0625 -0.015625,0.125 -0.03125,0.171875 z m 0,0"
|
||||
id="path6729" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol7964">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d="m 3.734375,-6.125 c 0.0625,-0.234375 0.09375,-0.328125 0.28125,-0.359375 C 4.109375,-6.5 4.421875,-6.5 4.625,-6.5 c 0.703125,0 1.8125,0 1.8125,0.984375 0,0.34375 -0.15625,1.03125 -0.546875,1.421875 -0.265625,0.25 -0.78125,0.578125 -1.6875,0.578125 H 3.09375 Z m 1.4375,2.734375 c 1.015625,-0.21875 2.1875,-0.921875 2.1875,-1.921875 0,-0.859375 -0.890625,-1.5 -2.203125,-1.5 H 2.328125 c -0.203125,0 -0.296875,0 -0.296875,0.203125 C 2.03125,-6.5 2.125,-6.5 2.3125,-6.5 c 0.015625,0 0.203125,0 0.375,0.015625 0.1875,0.03125 0.265625,0.03125 0.265625,0.171875 0,0.03125 0,0.0625 -0.03125,0.1875 l -1.34375,5.34375 C 1.484375,-0.390625 1.46875,-0.3125 0.671875,-0.3125 0.5,-0.3125 0.40625,-0.3125 0.40625,-0.109375 0.40625,0 0.53125,0 0.546875,0 c 0.28125,0 0.984375,-0.03125 1.25,-0.03125 0.28125,0 1,0.03125 1.28125,0.03125 0.078125,0 0.1875,0 0.1875,-0.203125 0,-0.109375 -0.078125,-0.109375 -0.28125,-0.109375 -0.359375,0 -0.640625,0 -0.640625,-0.171875 0,-0.0625 0.015625,-0.109375 0.03125,-0.171875 l 0.65625,-2.640625 h 1.1875 c 0.90625,0 1.078125,0.5625 1.078125,0.90625 0,0.140625 -0.078125,0.453125 -0.140625,0.6875 C 5.09375,-1.421875 5,-1.0625 5,-0.859375 5,0.21875 6.203125,0.21875 6.328125,0.21875 c 0.84375,0 1.203125,-1 1.203125,-1.140625 0,-0.125 -0.109375,-0.125 -0.125,-0.125 -0.09375,0 -0.109375,0.0625 -0.125,0.140625 C 7.03125,-0.171875 6.59375,0 6.375,0 6.046875,0 5.96875,-0.21875 5.96875,-0.609375 c 0,-0.3125 0.0625,-0.8125 0.109375,-1.140625 0.015625,-0.140625 0.03125,-0.328125 0.03125,-0.46875 0,-0.765625 -0.671875,-1.078125 -0.9375,-1.171875 z m 0,0"
|
||||
id="path7164" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol6557">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d=""
|
||||
id="path2360" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol6457">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d="M 1.734375,-0.734375 C 1.671875,-0.5 1.4375,-0.125 1.078125,-0.125 c -0.015625,0 -0.234375,0 -0.375,-0.09375 0.28125,-0.09375 0.3125,-0.34375 0.3125,-0.390625 0,-0.15625 -0.125,-0.25 -0.28125,-0.25 -0.203125,0 -0.40625,0.15625 -0.40625,0.421875 0,0.34375 0.390625,0.5 0.734375,0.5 0.328125,0 0.609375,-0.1875 0.78125,-0.484375 C 2.015625,-0.0625 2.390625,0.0625 2.671875,0.0625 c 0.8125,0 1.234375,-0.859375 1.234375,-1.0625 0,-0.09375 -0.09375,-0.09375 -0.109375,-0.09375 -0.109375,0 -0.109375,0.046875 -0.140625,0.125 -0.140625,0.484375 -0.5625,0.84375 -0.953125,0.84375 -0.28125,0 -0.421875,-0.1875 -0.421875,-0.453125 0,-0.1875 0.171875,-0.8125 0.359375,-1.59375 C 2.78125,-2.703125 3.09375,-2.875 3.328125,-2.875 c 0.015625,0 0.21875,0 0.375,0.09375 -0.21875,0.0625 -0.3125,0.265625 -0.3125,0.390625 0,0.140625 0.125,0.25 0.28125,0.25 0.15625,0 0.390625,-0.125 0.390625,-0.421875 0,-0.390625 -0.453125,-0.515625 -0.71875,-0.515625 -0.359375,0 -0.640625,0.234375 -0.78125,0.5 -0.125,-0.28125 -0.453125,-0.5 -0.84375,-0.5 C 0.9375,-3.078125 0.5,-2.21875 0.5,-2 c 0,0.078125 0.09375,0.078125 0.109375,0.078125 0.09375,0 0.09375,-0.015625 0.140625,-0.109375 C 0.921875,-2.578125 1.359375,-2.875 1.703125,-2.875 1.9375,-2.875 2.125,-2.75 2.125,-2.421875 2.125,-2.28125 2.03125,-1.9375 1.96875,-1.6875 Z m 0,0"
|
||||
id="path972" />
|
||||
</symbol>
|
||||
</g>
|
||||
<g
|
||||
id="g6906">
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol3579">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d=""
|
||||
id="path2533" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol2801">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d="m 1.3125,-3.265625 v -0.25 c 0,-2.515625 1.234375,-2.875 1.75,-2.875 0.234375,0 0.65625,0.0625 0.875,0.40625 -0.15625,0 -0.546875,0 -0.546875,0.4375 0,0.3125 0.234375,0.46875 0.453125,0.46875 0.15625,0 0.46875,-0.09375 0.46875,-0.484375 0,-0.59375 -0.4375,-1.078125 -1.265625,-1.078125 -1.28125,0 -2.625,1.28125 -2.625,3.484375 0,2.671875 1.15625,3.375 2.078125,3.375 1.109375,0 2.0625,-0.9375 2.0625,-2.25 0,-1.265625 -0.890625,-2.21875 -2,-2.21875 -0.671875,0 -1.046875,0.5 -1.25,0.984375 z M 2.5,-0.0625 c -0.625,0 -0.921875,-0.59375 -0.984375,-0.75 -0.1875,-0.46875 -0.1875,-1.265625 -0.1875,-1.4375 0,-0.78125 0.328125,-1.78125 1.21875,-1.78125 0.171875,0 0.625,0 0.9375,0.625 0.171875,0.359375 0.171875,0.875 0.171875,1.359375 0,0.484375 0,0.984375 -0.171875,1.34375 C 3.1875,-0.109375 2.734375,-0.0625 2.5,-0.0625 Z m 0,0"
|
||||
id="path8403" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol6336">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d="m 1.265625,-0.765625 1.0625,-1.03125 c 1.546875,-1.375 2.140625,-1.90625 2.140625,-2.90625 0,-1.140625 -0.890625,-1.9375 -2.109375,-1.9375 -1.125,0 -1.859375,0.921875 -1.859375,1.8125 0,0.546875 0.5,0.546875 0.53125,0.546875 0.171875,0 0.515625,-0.109375 0.515625,-0.53125 0,-0.25 -0.1875,-0.515625 -0.53125,-0.515625 -0.078125,0 -0.09375,0 -0.125,0.015625 0.21875,-0.65625 0.765625,-1.015625 1.34375,-1.015625 0.90625,0 1.328125,0.8125 1.328125,1.625 C 3.5625,-3.90625 3.078125,-3.125 2.515625,-2.5 l -1.90625,2.125 C 0.5,-0.265625 0.5,-0.234375 0.5,0 H 4.203125 L 4.46875,-1.734375 H 4.234375 C 4.171875,-1.4375 4.109375,-1 4,-0.84375 3.9375,-0.765625 3.28125,-0.765625 3.0625,-0.765625 Z m 0,0"
|
||||
id="path5076" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol9891">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d=""
|
||||
id="path6044" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol8669">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d="m 3.703125,-1.859375 c 0,-0.765625 -0.578125,-1.21875 -1.265625,-1.21875 -1.03125,0 -2,0.96875 -2,1.921875 0,0.703125 0.5,1.21875 1.265625,1.21875 1,0 2,-0.90625 2,-1.921875 z m -2,1.734375 c -0.34375,0 -0.6875,-0.21875 -0.6875,-0.78125 0,-0.28125 0.125,-0.96875 0.40625,-1.359375 C 1.71875,-2.703125 2.125,-2.875 2.4375,-2.875 c 0.375,0 0.6875,0.25 0.6875,0.765625 C 3.125,-1.9375 3.046875,-1.25 2.734375,-0.765625 2.46875,-0.34375 2.0625,-0.125 1.703125,-0.125 Z m 0,0"
|
||||
id="path4976" />
|
||||
</symbol>
|
||||
</g>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow2Mend-2"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(-0.6)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path22145-7" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker25677"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(-0.6)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path25675" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow2Mend-20"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(-0.6)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path22145-23" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker25677-7"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(-0.6)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path25675-5" />
|
||||
</marker>
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-10.364308,-9.8812841)">
|
||||
<rect
|
||||
style="fill:#ececec;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000"
|
||||
id="rect2141"
|
||||
width="51.455414"
|
||||
height="39.932545"
|
||||
x="139.30084"
|
||||
y="10.013576" />
|
||||
<rect
|
||||
style="fill:#ececec;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000"
|
||||
id="rect1341"
|
||||
width="59.233925"
|
||||
height="29.616964"
|
||||
x="33.924648"
|
||||
y="17.108484" />
|
||||
<path
|
||||
style="fill:none;stroke:#ff0000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 10.364308,25.69348 H 54.027135 L 72.933693,36.609187 H 183.25556"
|
||||
id="path857"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 39.047452,21.679686 29.959365,8.027588"
|
||||
id="path859" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 57.95401,32.595393 29.959365,8.027588"
|
||||
id="path859-3" />
|
||||
<path
|
||||
style="fill:none;stroke:#00ff00;stroke-width:0.529167;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 176.7873,48.774196 189.72381,24.444178"
|
||||
id="path1605" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.11666, 0.529166, 0.264583, 0.529166;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 183.25556,36.609187 158.92554,23.672677"
|
||||
id="path1605-5" />
|
||||
<rect
|
||||
style="fill:#ececec;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000"
|
||||
id="rect1709"
|
||||
width="17.609865"
|
||||
height="8.8049326"
|
||||
x="133.82671"
|
||||
y="-58.111755"
|
||||
transform="rotate(28)" />
|
||||
<rect
|
||||
style="fill:#ececec;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000"
|
||||
id="rect1709-5"
|
||||
width="4.0857711"
|
||||
height="8.8049335"
|
||||
x="151.43657"
|
||||
y="-58.111755"
|
||||
transform="rotate(28)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
|
||||
x="81.598145"
|
||||
y="21.455364"
|
||||
id="text11750"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan11748"
|
||||
style="stroke-width:0.264583"
|
||||
x="81.598145"
|
||||
y="21.455364">DCM</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
|
||||
x="180.30466"
|
||||
y="14.459504"
|
||||
id="text12736"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan12734"
|
||||
style="stroke-width:0.264583"
|
||||
x="180.30466"
|
||||
y="14.459504">VLM</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
|
||||
x="135.39282"
|
||||
y="-52.690983"
|
||||
id="text13178"
|
||||
transform="rotate(28)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan13176"
|
||||
style="stroke-width:0.264583"
|
||||
x="135.39282"
|
||||
y="-52.690983">Camera</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:2.82222px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
|
||||
x="50.49052"
|
||||
y="154.1263"
|
||||
id="text13662"
|
||||
transform="rotate(-62)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan13660"
|
||||
style="font-size:2.82222px;stroke-width:0.264583"
|
||||
x="50.49052"
|
||||
y="154.1263">Zoom</tspan></text>
|
||||
<g
|
||||
inkscape:label=""
|
||||
transform="matrix(0.40431286,0,0,0.40431286,2.0178062,-7.8337689)"
|
||||
id="g17915"
|
||||
style="stroke-width:2.47333">
|
||||
<g
|
||||
id="g6862"
|
||||
style="stroke-width:2.47333">
|
||||
<g
|
||||
style="fill:#000000;fill-opacity:1;stroke-width:2.47333"
|
||||
id="g5089">
|
||||
<use
|
||||
xlink:href="#symbol5992"
|
||||
x="91.925003"
|
||||
y="81.962997"
|
||||
id="use7240"
|
||||
width="100%"
|
||||
height="100%"
|
||||
style="stroke-width:2.47333" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:2.82222px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
|
||||
x="48.637871"
|
||||
y="182.46553"
|
||||
id="text18777"
|
||||
transform="rotate(-62)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan18775"
|
||||
style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583"
|
||||
x="48.637871"
|
||||
y="182.46553">Fluorescent</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583"
|
||||
x="48.637871"
|
||||
y="185.9933"
|
||||
id="tspan18779">Screen</tspan></text>
|
||||
<g
|
||||
inkscape:label=""
|
||||
transform="matrix(0.26932443,0,0,0.26932443,150.18552,19.088765)"
|
||||
id="g23536"
|
||||
style="stroke-width:3.71299">
|
||||
<g
|
||||
id="g3042"
|
||||
style="stroke-width:3.71299">
|
||||
<g
|
||||
style="fill:#000000;fill-opacity:1;stroke-width:3.71299"
|
||||
id="g3810">
|
||||
<use
|
||||
xlink:href="#symbol2801"
|
||||
x="91.925003"
|
||||
y="81.962997"
|
||||
id="use7933"
|
||||
width="100%"
|
||||
height="100%"
|
||||
style="stroke-width:3.71299" />
|
||||
<use
|
||||
xlink:href="#symbol6336"
|
||||
x="96.906303"
|
||||
y="81.962997"
|
||||
id="use9840"
|
||||
width="100%"
|
||||
height="100%"
|
||||
style="stroke-width:3.71299" />
|
||||
</g>
|
||||
<g
|
||||
style="fill:#000000;fill-opacity:1;stroke-width:3.71299"
|
||||
id="g703">
|
||||
<use
|
||||
xlink:href="#symbol8669"
|
||||
x="101.888"
|
||||
y="78.347"
|
||||
id="use5191"
|
||||
width="100%"
|
||||
height="100%"
|
||||
style="stroke-width:3.71299" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g25665"
|
||||
transform="translate(-94.605095,-4.827809)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
|
||||
d="m 113.01345,30.507378 h 6.96982"
|
||||
id="path23609" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
|
||||
d="m 113.01345,30.507378 v -6.96982"
|
||||
id="path23609-1" />
|
||||
<circle
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stop-color:#000000"
|
||||
id="path23771"
|
||||
cx="113.01345"
|
||||
cy="30.507378"
|
||||
r="0.86550921" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
|
||||
x="119.31551"
|
||||
y="33.037159"
|
||||
id="text24053"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan24051"
|
||||
style="stroke-width:0.264583"
|
||||
x="119.31551"
|
||||
y="33.037159">x</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
|
||||
x="110.41821"
|
||||
y="24.783276"
|
||||
id="text24821"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan24819"
|
||||
style="stroke-width:0.264583"
|
||||
x="110.41821"
|
||||
y="24.783276">z</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 112.41551,31.133138 1.2237,-1.223698"
|
||||
id="path25024" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 112.40949,29.887427 1.22391,1.22391"
|
||||
id="path25026" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
|
||||
x="110.09816"
|
||||
y="31.223507"
|
||||
id="text25330"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan25328"
|
||||
style="stroke-width:0.264583"
|
||||
x="110.09816"
|
||||
y="31.223507">y</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g25665-0"
|
||||
transform="rotate(15,69.799651,-118.65971)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;marker-end:url(#Arrow2Mend-2)"
|
||||
d="m 113.01345,30.507378 h 6.96982"
|
||||
id="path23609-9" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;marker-end:url(#Arrow2Mend-2)"
|
||||
d="m 113.01345,30.507378 v -6.96982"
|
||||
id="path23609-1-3" />
|
||||
<circle
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stop-color:#000000"
|
||||
id="path23771-6"
|
||||
cx="113.01345"
|
||||
cy="30.507378"
|
||||
r="0.86550921" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
|
||||
x="119.31551"
|
||||
y="33.037159"
|
||||
id="text24053-0"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan24051-6"
|
||||
style="stroke-width:0.264583"
|
||||
x="119.31551"
|
||||
y="33.037159">x'</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
|
||||
x="109.5127"
|
||||
y="25.025909"
|
||||
id="text24821-2"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan24819-6"
|
||||
style="stroke-width:0.264583"
|
||||
x="109.5127"
|
||||
y="25.025909">z'</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 112.41551,31.133138 1.2237,-1.223698"
|
||||
id="path25024-1" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 112.40949,29.887427 1.22391,1.22391"
|
||||
id="path25026-8" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
|
||||
x="108.95985"
|
||||
y="31.167624"
|
||||
id="text25330-7"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan25328-9"
|
||||
style="stroke-width:0.264583"
|
||||
x="108.95985"
|
||||
y="31.167624">y'</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g25665-9"
|
||||
transform="rotate(-62,153.21206,-24.892967)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;marker-end:url(#Arrow2Mend-20)"
|
||||
d="m 113.01345,30.507378 h 6.96982"
|
||||
id="path23609-2" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;marker-end:url(#Arrow2Mend-20)"
|
||||
d="m 113.01345,30.507378 v -6.96982"
|
||||
id="path23609-1-2" />
|
||||
<circle
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stop-color:#000000"
|
||||
id="path23771-8"
|
||||
cx="113.01345"
|
||||
cy="30.507378"
|
||||
r="0.86550921" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
|
||||
x="119.31551"
|
||||
y="33.037159"
|
||||
id="text24053-9"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan24051-7"
|
||||
style="stroke-width:0.264583"
|
||||
x="119.31551"
|
||||
y="33.037159">x"</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
|
||||
x="113.88203"
|
||||
y="24.962618"
|
||||
id="text24821-3"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan24819-61"
|
||||
style="stroke-width:0.264583"
|
||||
x="113.88203"
|
||||
y="24.962618">z"</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 112.41551,31.133138 1.2237,-1.223698"
|
||||
id="path25024-2" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 112.40949,29.887427 1.22391,1.22391"
|
||||
id="path25026-9" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
|
||||
x="108.7412"
|
||||
y="31.206499"
|
||||
id="text25330-3"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan25328-1"
|
||||
style="stroke-width:0.264583"
|
||||
x="108.7412"
|
||||
y="31.206499">y"</tspan></text>
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stop-color:#000000"
|
||||
id="path30082"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="183.25555"
|
||||
sodipodi:cy="36.609184"
|
||||
sodipodi:rx="5.0062871"
|
||||
sodipodi:ry="5.0062871"
|
||||
sodipodi:start="2.0943951"
|
||||
sodipodi:end="3.1415927"
|
||||
sodipodi:arc-type="arc"
|
||||
d="m 180.75241,40.944756 a 5.0062871,5.0062871 0 0 1 -2.50314,-4.335572"
|
||||
sodipodi:open="true" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stop-color:#000000"
|
||||
id="path30186"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="54.027134"
|
||||
sodipodi:cy="25.69348"
|
||||
sodipodi:rx="11.608037"
|
||||
sodipodi:ry="11.608037"
|
||||
sodipodi:start="3.1415927"
|
||||
sodipodi:end="3.403392"
|
||||
sodipodi:arc-type="arc"
|
||||
d="m 42.419097,25.69348 a 11.608037,11.608037 0 0 1 0.395534,-3.004381"
|
||||
sodipodi:open="true" />
|
||||
<circle
|
||||
style="fill:#000000;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stop-color:#000000"
|
||||
id="path31575"
|
||||
cx="54.027134"
|
||||
cy="25.69348"
|
||||
r="0.38504803" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 37 KiB |
BIN
figs/drifts_xtal2_detrend.pdf
Normal file
BIN
figs/drifts_xtal2_detrend.png
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
figs/non_linear_errors_middle_stroke.pdf
Normal file
BIN
figs/non_linear_errors_middle_stroke.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
figs/non_linear_errors_start_stroke.pdf
Normal file
BIN
figs/non_linear_errors_start_stroke.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
figs/relation_dz_output_beam.pdf
Normal file
BIN
figs/relation_dz_output_beam.png
Normal file
After Width: | Height: | Size: 18 KiB |
496
figs/relation_dz_output_beam.svg
Normal file
@ -0,0 +1,496 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="107.76073mm"
|
||||
height="30.024242mm"
|
||||
viewBox="0 0 107.76073 30.024242"
|
||||
version="1.1"
|
||||
id="svg31813"
|
||||
sodipodi:docname="relation_dz_output_beam.svg"
|
||||
inkscape:version="1.1.1 (1:1.1+202109281949+c3084ef5ed)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview31815"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:snap-intersection-paths="true"
|
||||
inkscape:object-paths="true"
|
||||
inkscape:snap-midpoints="true"
|
||||
inkscape:snap-smooth-nodes="true"
|
||||
inkscape:zoom="3.6233469"
|
||||
inkscape:cx="215.40858"
|
||||
inkscape:cy="26.770829"
|
||||
inkscape:window-width="2536"
|
||||
inkscape:window-height="1367"
|
||||
inkscape:window-x="12"
|
||||
inkscape:window-y="61"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs31810">
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow2Mstart"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Mstart"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.6) translate(0,0)"
|
||||
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||
style="stroke:context-stroke;fill-rule:evenodd;fill:context-stroke;stroke-width:0.62500000;stroke-linejoin:round"
|
||||
id="path22142" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow2Mend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(-0.6)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path22145" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker32822"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(-0.6)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path32820" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow2Mend-2"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(-0.6)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path22145-7" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker32929"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(-0.6)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path32927" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow2Mstart-4"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Mstart"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.6)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path22142-7" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow2Mend-2-8"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(-0.6)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path22145-7-4" />
|
||||
</marker>
|
||||
<g
|
||||
id="g1386">
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol2479">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d=""
|
||||
id="path2857" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol2964">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d="M 5.140625 -6.8125 C 5.140625 -6.8125 5.140625 -6.921875 5.015625 -6.921875 C 4.859375 -6.921875 3.921875 -6.828125 3.75 -6.8125 C 3.671875 -6.796875 3.609375 -6.75 3.609375 -6.625 C 3.609375 -6.5 3.703125 -6.5 3.84375 -6.5 C 4.328125 -6.5 4.34375 -6.4375 4.34375 -6.328125 L 4.3125 -6.125 L 3.71875 -3.765625 C 3.53125 -4.140625 3.25 -4.40625 2.796875 -4.40625 C 1.640625 -4.40625 0.40625 -2.9375 0.40625 -1.484375 C 0.40625 -0.546875 0.953125 0.109375 1.71875 0.109375 C 1.921875 0.109375 2.421875 0.0625 3.015625 -0.640625 C 3.09375 -0.21875 3.453125 0.109375 3.921875 0.109375 C 4.28125 0.109375 4.5 -0.125 4.671875 -0.4375 C 4.828125 -0.796875 4.96875 -1.40625 4.96875 -1.421875 C 4.96875 -1.53125 4.875 -1.53125 4.84375 -1.53125 C 4.75 -1.53125 4.734375 -1.484375 4.703125 -1.34375 C 4.53125 -0.703125 4.359375 -0.109375 3.953125 -0.109375 C 3.671875 -0.109375 3.65625 -0.375 3.65625 -0.5625 C 3.65625 -0.8125 3.671875 -0.875 3.703125 -1.046875 Z M 3.078125 -1.1875 C 3.015625 -1 3.015625 -0.984375 2.875 -0.8125 C 2.4375 -0.265625 2.03125 -0.109375 1.75 -0.109375 C 1.25 -0.109375 1.109375 -0.65625 1.109375 -1.046875 C 1.109375 -1.546875 1.421875 -2.765625 1.65625 -3.234375 C 1.96875 -3.8125 2.40625 -4.1875 2.8125 -4.1875 C 3.453125 -4.1875 3.59375 -3.375 3.59375 -3.3125 C 3.59375 -3.25 3.578125 -3.1875 3.5625 -3.140625 Z M 3.078125 -1.1875 "
|
||||
id="path294" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol897">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d=""
|
||||
id="path9687" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol7118">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d="M 1.171875 -0.609375 C 1.359375 -0.796875 1.484375 -0.921875 2.0625 -1.40625 C 2.21875 -1.515625 2.734375 -1.9375 2.9375 -2.125 C 3.359375 -2.546875 3.625 -2.90625 3.625 -2.984375 C 3.625 -3.078125 3.546875 -3.078125 3.515625 -3.078125 C 3.453125 -3.078125 3.421875 -3.0625 3.390625 -3 C 3.171875 -2.6875 3.03125 -2.578125 2.859375 -2.578125 C 2.78125 -2.578125 2.671875 -2.578125 2.46875 -2.78125 C 2.234375 -3.03125 2.078125 -3.078125 1.921875 -3.078125 C 1.359375 -3.078125 0.984375 -2.46875 0.984375 -2.265625 C 0.984375 -2.1875 1.046875 -2.171875 1.09375 -2.171875 C 1.1875 -2.171875 1.203125 -2.1875 1.21875 -2.265625 C 1.328125 -2.515625 1.71875 -2.53125 1.828125 -2.53125 C 2 -2.53125 2.171875 -2.484375 2.265625 -2.46875 C 2.65625 -2.390625 2.703125 -2.390625 2.875 -2.390625 C 2.703125 -2.1875 2.578125 -2.0625 1.90625 -1.546875 C 1.359375 -1.109375 1.171875 -0.9375 1.046875 -0.796875 C 0.625 -0.390625 0.421875 -0.078125 0.421875 -0.015625 C 0.421875 0.0625 0.515625 0.0625 0.546875 0.0625 C 0.609375 0.0625 0.625 0.0625 0.65625 0 C 0.84375 -0.265625 1.0625 -0.421875 1.296875 -0.421875 C 1.390625 -0.421875 1.484375 -0.421875 1.671875 -0.25 C 1.890625 -0.03125 2.03125 0.0625 2.265625 0.0625 C 3 0.0625 3.46875 -0.78125 3.46875 -1.015625 C 3.46875 -1.09375 3.390625 -1.09375 3.359375 -1.09375 C 3.265625 -1.09375 3.25 -1.0625 3.21875 -0.984375 C 3.09375 -0.640625 2.6875 -0.46875 2.34375 -0.46875 C 2.1875 -0.46875 2 -0.515625 1.828125 -0.546875 C 1.515625 -0.625 1.453125 -0.625 1.328125 -0.625 C 1.3125 -0.625 1.21875 -0.625 1.171875 -0.609375 Z M 1.171875 -0.609375 "
|
||||
id="path4165" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol6457">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d=""
|
||||
id="path4461" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol1393">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d="M 1.796875 -2.3125 C 1.796875 -2.328125 1.84375 -2.421875 1.84375 -2.5 C 1.84375 -2.671875 1.6875 -2.78125 1.53125 -2.78125 C 1.328125 -2.78125 1.28125 -2.625 1.25 -2.5625 L 0.484375 -0.40625 C 0.46875 -0.34375 0.46875 -0.328125 0.46875 -0.3125 C 0.46875 -0.234375 0.671875 -0.1875 0.671875 -0.1875 C 0.71875 -0.1875 0.734375 -0.21875 0.765625 -0.28125 Z M 1.796875 -2.3125 "
|
||||
id="path9479" />
|
||||
</symbol>
|
||||
</g>
|
||||
<g
|
||||
id="g637">
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol652">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d=""
|
||||
id="path4597" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol4575">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d="M 5.140625 -6.8125 C 5.140625 -6.8125 5.140625 -6.921875 5.015625 -6.921875 C 4.859375 -6.921875 3.921875 -6.828125 3.75 -6.8125 C 3.671875 -6.796875 3.609375 -6.75 3.609375 -6.625 C 3.609375 -6.5 3.703125 -6.5 3.84375 -6.5 C 4.328125 -6.5 4.34375 -6.4375 4.34375 -6.328125 L 4.3125 -6.125 L 3.71875 -3.765625 C 3.53125 -4.140625 3.25 -4.40625 2.796875 -4.40625 C 1.640625 -4.40625 0.40625 -2.9375 0.40625 -1.484375 C 0.40625 -0.546875 0.953125 0.109375 1.71875 0.109375 C 1.921875 0.109375 2.421875 0.0625 3.015625 -0.640625 C 3.09375 -0.21875 3.453125 0.109375 3.921875 0.109375 C 4.28125 0.109375 4.5 -0.125 4.671875 -0.4375 C 4.828125 -0.796875 4.96875 -1.40625 4.96875 -1.421875 C 4.96875 -1.53125 4.875 -1.53125 4.84375 -1.53125 C 4.75 -1.53125 4.734375 -1.484375 4.703125 -1.34375 C 4.53125 -0.703125 4.359375 -0.109375 3.953125 -0.109375 C 3.671875 -0.109375 3.65625 -0.375 3.65625 -0.5625 C 3.65625 -0.8125 3.671875 -0.875 3.703125 -1.046875 Z M 3.078125 -1.1875 C 3.015625 -1 3.015625 -0.984375 2.875 -0.8125 C 2.4375 -0.265625 2.03125 -0.109375 1.75 -0.109375 C 1.25 -0.109375 1.109375 -0.65625 1.109375 -1.046875 C 1.109375 -1.546875 1.421875 -2.765625 1.65625 -3.234375 C 1.96875 -3.8125 2.40625 -4.1875 2.8125 -4.1875 C 3.453125 -4.1875 3.59375 -3.375 3.59375 -3.3125 C 3.59375 -3.25 3.578125 -3.1875 3.5625 -3.140625 Z M 3.078125 -1.1875 "
|
||||
id="path8304" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol753">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d=""
|
||||
id="path5028" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="symbol3523">
|
||||
<path
|
||||
style="stroke:none;"
|
||||
d="M 1.171875 -0.609375 C 1.359375 -0.796875 1.484375 -0.921875 2.0625 -1.40625 C 2.21875 -1.515625 2.734375 -1.9375 2.9375 -2.125 C 3.359375 -2.546875 3.625 -2.90625 3.625 -2.984375 C 3.625 -3.078125 3.546875 -3.078125 3.515625 -3.078125 C 3.453125 -3.078125 3.421875 -3.0625 3.390625 -3 C 3.171875 -2.6875 3.03125 -2.578125 2.859375 -2.578125 C 2.78125 -2.578125 2.671875 -2.578125 2.46875 -2.78125 C 2.234375 -3.03125 2.078125 -3.078125 1.921875 -3.078125 C 1.359375 -3.078125 0.984375 -2.46875 0.984375 -2.265625 C 0.984375 -2.1875 1.046875 -2.171875 1.09375 -2.171875 C 1.1875 -2.171875 1.203125 -2.1875 1.21875 -2.265625 C 1.328125 -2.515625 1.71875 -2.53125 1.828125 -2.53125 C 2 -2.53125 2.171875 -2.484375 2.265625 -2.46875 C 2.65625 -2.390625 2.703125 -2.390625 2.875 -2.390625 C 2.703125 -2.1875 2.578125 -2.0625 1.90625 -1.546875 C 1.359375 -1.109375 1.171875 -0.9375 1.046875 -0.796875 C 0.625 -0.390625 0.421875 -0.078125 0.421875 -0.015625 C 0.421875 0.0625 0.515625 0.0625 0.546875 0.0625 C 0.609375 0.0625 0.625 0.0625 0.65625 0 C 0.84375 -0.265625 1.0625 -0.421875 1.296875 -0.421875 C 1.390625 -0.421875 1.484375 -0.421875 1.671875 -0.25 C 1.890625 -0.03125 2.03125 0.0625 2.265625 0.0625 C 3 0.0625 3.46875 -0.78125 3.46875 -1.015625 C 3.46875 -1.09375 3.390625 -1.09375 3.359375 -1.09375 C 3.265625 -1.09375 3.25 -1.0625 3.21875 -0.984375 C 3.09375 -0.640625 2.6875 -0.46875 2.34375 -0.46875 C 2.1875 -0.46875 2 -0.515625 1.828125 -0.546875 C 1.515625 -0.625 1.453125 -0.625 1.328125 -0.625 C 1.3125 -0.625 1.21875 -0.625 1.171875 -0.609375 Z M 1.171875 -0.609375 "
|
||||
id="path8580" />
|
||||
</symbol>
|
||||
</g>
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-31.3973, -61.3933)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 43.311344,76.745404 97.591475,91.289722"
|
||||
id="path32020"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.11666, 0.529166, 0.264583, 0.529166;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 44.898845,71.453737 99.178974,85.998055"
|
||||
id="path32020-9"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#ff0000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 139.158,84.017561 H 70.451408 L 31.463411,61.507832"
|
||||
id="path32307"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#ff0000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.11666, 0.529166, 0.264583, 0.529166;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 51.973657,73.349426 H 139.06341"
|
||||
id="path32599" />
|
||||
<g
|
||||
id="g25665"
|
||||
transform="translate(-2.7493064,53.518179)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
|
||||
d="m 113.01345,30.507378 h 6.96982"
|
||||
id="path23609" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
|
||||
d="m 113.01345,30.507378 v -6.96982"
|
||||
id="path23609-1" />
|
||||
<circle
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stop-color:#000000"
|
||||
id="path23771"
|
||||
cx="113.01345"
|
||||
cy="30.507378"
|
||||
r="0.86550921" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
|
||||
x="119.31551"
|
||||
y="33.037159"
|
||||
id="text24053"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan24051"
|
||||
style="stroke-width:0.264583"
|
||||
x="119.31551"
|
||||
y="33.037159">x</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
|
||||
x="110.41821"
|
||||
y="24.783276"
|
||||
id="text24821"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan24819"
|
||||
style="stroke-width:0.264583"
|
||||
x="110.41821"
|
||||
y="24.783276">z</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 112.41551,31.133138 1.2237,-1.223698"
|
||||
id="path25024" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 112.40949,29.887427 1.22391,1.22391"
|
||||
id="path25026" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
|
||||
x="110.09816"
|
||||
y="31.223507"
|
||||
id="text25330"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan25328"
|
||||
style="stroke-width:0.264583"
|
||||
x="110.09816"
|
||||
y="31.223507">y</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g25665-0"
|
||||
transform="rotate(15,-111.49124,-104.62851)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;marker-end:url(#Arrow2Mend-2)"
|
||||
d="m 113.01345,30.507378 h 6.96982"
|
||||
id="path23609-9" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;marker-end:url(#Arrow2Mend-2)"
|
||||
d="m 113.01345,30.507378 v -6.96982"
|
||||
id="path23609-1-3" />
|
||||
<circle
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stop-color:#000000"
|
||||
id="path23771-6"
|
||||
cx="113.01345"
|
||||
cy="30.507378"
|
||||
r="0.86550921" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
|
||||
x="119.31551"
|
||||
y="33.037159"
|
||||
id="text24053-0"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan24051-6"
|
||||
style="stroke-width:0.264583"
|
||||
x="119.31551"
|
||||
y="33.037159">x'</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
|
||||
x="109.5127"
|
||||
y="25.025909"
|
||||
id="text24821-2"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan24819-6"
|
||||
style="stroke-width:0.264583"
|
||||
x="109.5127"
|
||||
y="25.025909">z'</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 112.41551,31.133138 1.2237,-1.223698"
|
||||
id="path25024-1" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 112.40949,29.887427 1.22391,1.22391"
|
||||
id="path25026-8" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';letter-spacing:0px;word-spacing:0px;stroke-width:0.264583"
|
||||
x="108.95985"
|
||||
y="31.167624"
|
||||
id="text25330-7"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan25328-9"
|
||||
style="stroke-width:0.264583"
|
||||
x="108.95985"
|
||||
y="31.167624">y'</tspan></text>
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stop-color:#000000"
|
||||
id="path33136"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="70.389969"
|
||||
sodipodi:cy="84.001099"
|
||||
sodipodi:rx="19.640842"
|
||||
sodipodi:ry="19.640842"
|
||||
sodipodi:start="3.403392"
|
||||
sodipodi:end="3.6651914"
|
||||
sodipodi:arc-type="arc"
|
||||
d="M 51.418372,78.917675 A 19.640842,19.640842 0 0 1 53.3805,74.180678"
|
||||
sodipodi:open="true" />
|
||||
<g
|
||||
inkscape:label=""
|
||||
transform="matrix(2.0831805,0,0,2.0831805,-207.66119,-221.02396)"
|
||||
id="g17915"
|
||||
style="stroke-width:0.480035">
|
||||
<g
|
||||
id="g6862"
|
||||
style="stroke-width:0.480035">
|
||||
<g
|
||||
style="fill:#000000;fill-opacity:1;stroke-width:0.480035"
|
||||
id="g5089">
|
||||
<g
|
||||
id="use7240"
|
||||
style="stroke-width:0.480035"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,123.32227,143.35626)">
|
||||
<path
|
||||
style="stroke:none;stroke-width:0.480035"
|
||||
d="m 4.53125,-4.984375 c 0,-0.65625 -0.171875,-2.046875 -1.1875,-2.046875 -1.390625,0 -2.921875,2.8125 -2.921875,5.09375 0,0.9375 0.28125,2.046875 1.1875,2.046875 1.40625,0 2.921875,-2.859375 2.921875,-5.09375 z M 1.46875,-3.625 C 1.640625,-4.25 1.84375,-5.046875 2.25,-5.765625 2.515625,-6.25 2.875,-6.8125 3.328125,-6.8125 c 0.484375,0 0.546875,0.640625 0.546875,1.203125 0,0.5 -0.078125,1 -0.3125,1.984375 z m 2,0.328125 C 3.359375,-2.84375 3.15625,-2 2.765625,-1.28125 c -0.34375,0.6875 -0.71875,1.171875 -1.15625,1.171875 -0.328125,0 -0.53125,-0.296875 -0.53125,-1.21875 0,-0.421875 0.0625,-1 0.3125,-1.96875 z m 0,0"
|
||||
id="path33302" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
style="fill:#0088aa;stroke:#00aad4;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.793749, 0.264583;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Arrow2Mstart);marker-end:url(#Arrow2Mend-2)"
|
||||
d="m 129.22545,83.572002 0,-9.796097"
|
||||
id="path33424"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#0088aa;fill-opacity:1;stroke:#00aad4;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.793749, 0.264583;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;marker-start:url(#Arrow2Mstart);marker-end:url(#Arrow2Mend-2);stop-color:#000000;stop-opacity:1"
|
||||
d="m 95.027486,90.195369 1.395671,-4.570565"
|
||||
id="path33642"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<g
|
||||
inkscape:label=""
|
||||
transform="matrix(0.49533335,0,0,0.49533335,51.574125,49.283644)"
|
||||
id="g34182"
|
||||
style="stroke-width:2.01884;fill:#00aad4">
|
||||
<g
|
||||
id="g7968"
|
||||
style="stroke-width:2.01884;fill:#00aad4">
|
||||
<g
|
||||
style="fill:#00aad4;fill-opacity:1;stroke-width:2.01884"
|
||||
id="g8781">
|
||||
<use
|
||||
xlink:href="#symbol2964"
|
||||
x="91.925003"
|
||||
y="81.962997"
|
||||
id="use9228"
|
||||
width="100%"
|
||||
height="100%"
|
||||
style="stroke-width:2.01884;fill:#00aad4" />
|
||||
</g>
|
||||
<g
|
||||
style="fill:#00aad4;fill-opacity:1;stroke-width:2.01884"
|
||||
id="g6624">
|
||||
<use
|
||||
xlink:href="#symbol7118"
|
||||
x="97.111"
|
||||
y="83.457001"
|
||||
id="use4162"
|
||||
width="100%"
|
||||
height="100%"
|
||||
style="stroke-width:2.01884;fill:#00aad4" />
|
||||
</g>
|
||||
<g
|
||||
style="fill:#00aad4;fill-opacity:1;stroke-width:2.01884"
|
||||
id="g4808">
|
||||
<use
|
||||
xlink:href="#symbol1393"
|
||||
x="101.203"
|
||||
y="81.464996"
|
||||
id="use2052"
|
||||
width="100%"
|
||||
height="100%"
|
||||
style="stroke-width:2.01884;fill:#00aad4" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
inkscape:label=""
|
||||
transform="matrix(0.49533335,0,0,0.49533335,84.556237,38.700539)"
|
||||
id="g34424"
|
||||
style="stroke-width:2.01884;fill:#00aad4">
|
||||
<g
|
||||
id="g724"
|
||||
style="stroke-width:2.01884;fill:#00aad4">
|
||||
<g
|
||||
style="fill:#00aad4;fill-opacity:1;stroke-width:2.01884"
|
||||
id="g3910">
|
||||
<use
|
||||
xlink:href="#symbol4575"
|
||||
x="91.925003"
|
||||
y="81.962997"
|
||||
id="use5253"
|
||||
width="100%"
|
||||
height="100%"
|
||||
style="stroke-width:2.01884;fill:#00aad4" />
|
||||
</g>
|
||||
<g
|
||||
style="fill:#00aad4;fill-opacity:1;stroke-width:2.01884"
|
||||
id="g8194">
|
||||
<use
|
||||
xlink:href="#symbol3523"
|
||||
x="97.111"
|
||||
y="83.457001"
|
||||
id="use3429"
|
||||
width="100%"
|
||||
height="100%"
|
||||
style="stroke-width:2.01884;fill:#00aad4" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 24 KiB |
BIN
figs/relation_vert_motion_crystal_beam.pdf
Normal file
BIN
figs/relation_vert_motion_crystal_beam.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
figs/relation_vert_motion_roll.pdf
Normal file
BIN
figs/relation_vert_motion_roll.png
Normal file
After Width: | Height: | Size: 24 KiB |
1054
figs/schematic_dcm_overview.svg
Normal file
After Width: | Height: | Size: 44 KiB |
1
index.html
Symbolic link
@ -0,0 +1 @@
|
||||
dcm-metrology.html
|
11
ref.bib
@ -1,11 +0,0 @@
|
||||
@article{fleming10_integ_strain_force_feedb_high,
|
||||
author = {Fleming, Andrew J and Leang, Kam K},
|
||||
title = {Integrated Strain and Force Feedback for High-Performance
|
||||
Control of Piezoelectric Actuators},
|
||||
journal = {Sensors and Actuators A: Physical},
|
||||
volume = 161,
|
||||
number = {1-2},
|
||||
pages = {256--265},
|
||||
year = 2010,
|
||||
publisher = {Elsevier}
|
||||
}
|