nass-micro-station-measurem.../2018-10-15 - Marc/index.html
Thomas Dehaeze 1de409fadc Update Noise measurement analysis
This includes normalization with transfer function of the geophone
2019-03-19 16:43:10 +01:00

1173 lines
63 KiB
HTML

<?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>
<!-- 2019-03-19 mar. 16:42 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Measurement Analysis</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Thomas Dehaeze" />
<style type="text/css">
<!--/*--><![CDATA[/*><!--*/
.title { text-align: center;
margin-bottom: .2em; }
.subtitle { text-align: center;
font-size: medium;
font-weight: bold;
margin-top:0; }
.todo { font-family: monospace; color: red; }
.done { font-family: monospace; color: green; }
.priority { font-family: monospace; color: orange; }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #ccc;
box-shadow: 3px 3px 3px #eee;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: visible;
padding-top: 1.2em;
}
pre.src:before {
display: none;
position: absolute;
background-color: white;
top: -10px;
right: 10px;
padding: 3px;
border: 1px solid black;
}
pre.src:hover:before { display: inline;}
/* Languages per Org manual */
pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }
pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; }
pre.src-css:before { content: 'CSS'; }
pre.src-D:before { content: 'D'; }
pre.src-ditaa:before { content: 'ditaa'; }
pre.src-dot:before { content: 'Graphviz'; }
pre.src-calc:before { content: 'Emacs Calc'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-fortran:before { content: 'Fortran'; }
pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-haskell:before { content: 'Haskell'; }
pre.src-hledger:before { content: 'hledger'; }
pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; }
pre.src-ledger:before { content: 'Ledger'; }
pre.src-lisp:before { content: 'Lisp'; }
pre.src-lilypond:before { content: 'Lilypond'; }
pre.src-lua:before { content: 'Lua'; }
pre.src-matlab:before { content: 'MATLAB'; }
pre.src-mscgen:before { content: 'Mscgen'; }
pre.src-ocaml:before { content: 'Objective Caml'; }
pre.src-octave:before { content: 'Octave'; }
pre.src-org:before { content: 'Org mode'; }
pre.src-oz:before { content: 'OZ'; }
pre.src-plantuml:before { content: 'Plantuml'; }
pre.src-processing:before { content: 'Processing.js'; }
pre.src-python:before { content: 'Python'; }
pre.src-R:before { content: 'R'; }
pre.src-ruby:before { content: 'Ruby'; }
pre.src-sass:before { content: 'Sass'; }
pre.src-scheme:before { content: 'Scheme'; }
pre.src-screen:before { content: 'Gnu Screen'; }
pre.src-sed:before { content: 'Sed'; }
pre.src-sh:before { content: 'shell'; }
pre.src-sql:before { content: 'SQL'; }
pre.src-sqlite:before { content: 'SQLite'; }
/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth:before { content: 'Forth'; }
pre.src-io:before { content: 'IO'; }
pre.src-J:before { content: 'J'; }
pre.src-makefile:before { content: 'Makefile'; }
pre.src-maxima:before { content: 'Maxima'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-picolisp:before { content: 'Pico Lisp'; }
pre.src-scala:before { content: 'Scala'; }
pre.src-shell:before { content: 'Shell Script'; }
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
/* additional language identifiers per "defun org-babel-execute"
in ob-*.el */
pre.src-cpp:before { content: 'C++'; }
pre.src-abc:before { content: 'ABC'; }
pre.src-coq:before { content: 'Coq'; }
pre.src-groovy:before { content: 'Groovy'; }
/* additional language identifiers from org-babel-shell-names in
ob-shell.el: ob-shell is the only babel language using a lambda to put
the execution function name together. */
pre.src-bash:before { content: 'bash'; }
pre.src-csh:before { content: 'csh'; }
pre.src-ash:before { content: 'ash'; }
pre.src-dash:before { content: 'dash'; }
pre.src-ksh:before { content: 'ksh'; }
pre.src-mksh:before { content: 'mksh'; }
pre.src-posh:before { content: 'posh'; }
/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada:before { content: 'Ada'; }
pre.src-asm:before { content: 'Assembler'; }
pre.src-caml:before { content: 'Caml'; }
pre.src-delphi:before { content: 'Delphi'; }
pre.src-html:before { content: 'HTML'; }
pre.src-idl:before { content: 'IDL'; }
pre.src-mercury:before { content: 'Mercury'; }
pre.src-metapost:before { content: 'MetaPost'; }
pre.src-modula-2:before { content: 'Modula-2'; }
pre.src-pascal:before { content: 'Pascal'; }
pre.src-ps:before { content: 'PostScript'; }
pre.src-prolog:before { content: 'Prolog'; }
pre.src-simula:before { content: 'Simula'; }
pre.src-tcl:before { content: 'tcl'; }
pre.src-tex:before { content: 'TeX'; }
pre.src-plain-tex:before { content: 'Plain TeX'; }
pre.src-verilog:before { content: 'Verilog'; }
pre.src-vhdl:before { content: 'VHDL'; }
pre.src-xml:before { content: 'XML'; }
pre.src-nxml:before { content: 'XML'; }
/* add a generic configuration mode; LaTeX export needs an additional
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
pre.src-conf:before { content: 'Configuration File'; }
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
th.org-right { text-align: center; }
th.org-left { text-align: center; }
th.org-center { text-align: center; }
td.org-right { text-align: right; }
td.org-left { text-align: left; }
td.org-center { text-align: center; }
dt { font-weight: bold; }
.footpara { display: inline; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.equation-container {
display: table;
text-align: center;
width: 100%;
}
.equation {
vertical-align: middle;
}
.equation-label {
display: table-cell;
text-align: right;
vertical-align: middle;
}
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
.org-svg { width: 90%; }
/*]]>*/-->
</style>
<link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
<script src="../js/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script src="../js/jquery.stickytableheaders.min.js"></script>
<script src="../js/readtheorg.js"></script>
<script type="text/javascript">
/*
@licstart The following is the entire license notice for the
JavaScript code in this tag.
Copyright (C) 2012-2019 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this tag.
*/
<!--/*--><![CDATA[/*><!--*/
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.cacheClassElem = elem.className;
elem.cacheClassTarget = target.className;
target.className = "code-highlighted";
elem.className = "code-highlighted";
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(elem.cacheClassElem)
elem.className = elem.cacheClassElem;
if(elem.cacheClassTarget)
target.className = elem.cacheClassTarget;
}
/*]]>*///-->
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
displayAlign: "center",
displayIndent: "0em",
"HTML-CSS": { scale: 100,
linebreaks: { automatic: "false" },
webFont: "TeX"
},
SVG: {scale: 100,
linebreaks: { automatic: "false" },
font: "TeX"},
NativeMML: {scale: 100},
TeX: { equationNumbers: {autoNumber: "AMS"},
MultLineWidth: "85%",
TagSide: "right",
TagIndent: ".8em"
}
});
</script>
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML"></script>
</head>
<body>
<div id="content">
<h1 class="title">Measurement Analysis</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgc1db046">1. Measurement Description</a></li>
<li><a href="#org9b5288f">2. Importation of the data</a></li>
<li><a href="#org0c9206e">3. Variables for analysis</a></li>
<li><a href="#org876fa12">4. Coherence between the two vertical geophones on the Tilt Stage</a></li>
<li><a href="#org0e81d2f">5. Data Post Processing</a></li>
<li><a href="#org07adbbe">6. Normalization</a></li>
<li><a href="#org854c7bf">7. Measurement 1 - Effect of Ty stage</a></li>
<li><a href="#orga8c4982">8. Measurement 2 - Effect of Ry stage</a></li>
<li><a href="#orga79f5f4">9. Measurement 3 - Effect of the Hexapod</a></li>
<li><a href="#org8731abc">10. Measurement 4 - Effect of the Splip-Ring and Spindle</a></li>
<li><a href="#org33dc0ed">11. Measurement 5 - Transmission from ground to marble</a></li>
</ul>
</div>
</div>
<p>
<a href="../index.html">Back to main page</a>.
</p>
<div id="outline-container-orgc1db046" class="outline-2">
<h2 id="orgc1db046"><span class="section-number-2">1</span> Measurement Description</h2>
<div class="outline-text-2" id="text-1">
<div id="org25ddba6" class="figure">
<p><img src="./figs/setup_picture.png" alt="setup_picture.png" />
</p>
<p><span class="figure-number">Figure 1: </span>Picture of the setup for the measurement</p>
</div>
<p>
The sensor used are 3 L-4C geophones (<a href="../actuators-sensors/index.html#MissingReference">Documentation</a>).
</p>
<p>
Each motor are turn off and then on.
</p>
<p>
The goal is to see what noise is injected in the system due to the regulation loop of each stage.
</p>
</div>
</div>
<div id="outline-container-org9b5288f" class="outline-2">
<h2 id="org9b5288f"><span class="section-number-2">2</span> Importation of the data</h2>
<div class="outline-text-2" id="text-2">
<p>
First, load all the measurement files:
</p>
<div class="org-src-container">
<pre class="src src-matlab">meas = <span style="color: #DCDCCC;">{}</span>;
meas<span style="color: #DCDCCC;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #DCDCCC;">}</span> = load<span style="color: #DCDCCC;">(</span><span style="color: #CC9393;">'./mat/Measurement1.mat'</span><span style="color: #DCDCCC;">)</span>;
meas<span style="color: #DCDCCC;">{</span><span style="color: #BFEBBF;">2</span><span style="color: #DCDCCC;">}</span> = load<span style="color: #DCDCCC;">(</span><span style="color: #CC9393;">'./mat/Measurement2.mat'</span><span style="color: #DCDCCC;">)</span>;
meas<span style="color: #DCDCCC;">{</span><span style="color: #BFEBBF;">3</span><span style="color: #DCDCCC;">}</span> = load<span style="color: #DCDCCC;">(</span><span style="color: #CC9393;">'./mat/Measurement3.mat'</span><span style="color: #DCDCCC;">)</span>;
meas<span style="color: #DCDCCC;">{</span><span style="color: #BFEBBF;">4</span><span style="color: #DCDCCC;">}</span> = load<span style="color: #DCDCCC;">(</span><span style="color: #CC9393;">'./mat/Measurement4.mat'</span><span style="color: #DCDCCC;">)</span>;
meas<span style="color: #DCDCCC;">{</span><span style="color: #BFEBBF;">5</span><span style="color: #DCDCCC;">}</span> = load<span style="color: #DCDCCC;">(</span><span style="color: #CC9393;">'./mat/Measurement5.mat'</span><span style="color: #DCDCCC;">)</span>;
</pre>
</div>
<p>
Change the track name for measurements 3 and 4.
</p>
<div class="org-src-container">
<pre class="src src-matlab">meas<span style="color: #DCDCCC;">{</span><span style="color: #BFEBBF;">3</span><span style="color: #DCDCCC;">}</span>.Track1_Name = 'Input <span style="color: #BFEBBF;">1</span><span style="color: #7CB8BB;">:</span> Hexa Z';
meas<span style="color: #DCDCCC;">{</span><span style="color: #BFEBBF;">4</span><span style="color: #DCDCCC;">}</span>.Track1_Name = 'Input <span style="color: #BFEBBF;">1</span><span style="color: #7CB8BB;">:</span> Hexa Z';
</pre>
</div>
<p>
For the measurements 1 to 4, the measurement channels are shown table <a href="#orgde7c9fb">1</a>.
</p>
<table id="orgde7c9fb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 1:</span> Channels for measurements 1 to 4</caption>
<colgroup>
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">&#xa0;</th>
<th scope="col" class="org-left">Channel 1</th>
<th scope="col" class="org-left">Channel 2</th>
<th scope="col" class="org-left">Channel 3</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">Meas. 1</td>
<td class="org-left">Input 1: tilt1 Z</td>
<td class="org-left">Input 2: tilt2 Z</td>
<td class="org-left">Input 3: Ty Y</td>
</tr>
<tr>
<td class="org-left">Meas. 2</td>
<td class="org-left">Input 1: tilt1 Z</td>
<td class="org-left">Input 2: tilt2 Z</td>
<td class="org-left">Input 3: Ty Y</td>
</tr>
<tr>
<td class="org-left">Meas. 3</td>
<td class="org-left">Input 1: Hexa Z</td>
<td class="org-left">Input 2: tilt2 Z</td>
<td class="org-left">Input 3: Ty Y</td>
</tr>
<tr>
<td class="org-left">Meas. 4</td>
<td class="org-left">Input 1: Hexa Z</td>
<td class="org-left">Input 2: tilt2 Z</td>
<td class="org-left">Input 3: Ty Y</td>
</tr>
</tbody>
</table>
<p>
For the measurement 5, the channels are shown table <a href="#orgb2a1d3a">2</a>.
</p>
<table id="orgb2a1d3a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 2:</span> Channels for measurement 5</caption>
<colgroup>
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">&#xa0;</th>
<th scope="col" class="org-left">Channel 1</th>
<th scope="col" class="org-left">Channel 2</th>
<th scope="col" class="org-left">Channel 3</th>
<th scope="col" class="org-left">Channel 4</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">Meas. 5</td>
<td class="org-left">Input 1: Floor Z</td>
<td class="org-left">Input 2: Marble Z</td>
<td class="org-left">Input 3: Floor Y</td>
<td class="org-left">Input 4: Marble Y</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-org0c9206e" class="outline-2">
<h2 id="org0c9206e"><span class="section-number-2">3</span> Variables for analysis</h2>
<div class="outline-text-2" id="text-3">
<p>
We define the sampling frequency and the time vectors for the plots.
</p>
<div class="org-src-container">
<pre class="src src-matlab">Fs = <span style="color: #BFEBBF;">256</span>; <span style="color: #7F9F7F;">% [Hz]</span>
dt = <span style="color: #BFEBBF;">1</span><span style="color: #7CB8BB;">/</span><span style="color: #DCDCCC;">(</span>Fs<span style="color: #DCDCCC;">)</span>;
t1 = dt<span style="color: #7CB8BB;">*</span><span style="color: #DCDCCC;">[</span><span style="color: #BFEBBF;">0</span><span style="color: #7CB8BB;">:</span>length<span style="color: #BFEBBF;">(</span>meas<span style="color: #D0BF8F;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #D0BF8F;">}</span>.Track1<span style="color: #BFEBBF;">)</span><span style="color: #7CB8BB;">-</span><span style="color: #BFEBBF;">1</span><span style="color: #DCDCCC;">]</span>;
t2 = dt<span style="color: #7CB8BB;">*</span><span style="color: #DCDCCC;">[</span><span style="color: #BFEBBF;">0</span><span style="color: #7CB8BB;">:</span>length<span style="color: #BFEBBF;">(</span>meas<span style="color: #D0BF8F;">{</span><span style="color: #BFEBBF;">2</span><span style="color: #D0BF8F;">}</span>.Track1<span style="color: #BFEBBF;">)</span><span style="color: #7CB8BB;">-</span><span style="color: #BFEBBF;">1</span><span style="color: #DCDCCC;">]</span>;
t3 = dt<span style="color: #7CB8BB;">*</span><span style="color: #DCDCCC;">[</span><span style="color: #BFEBBF;">0</span><span style="color: #7CB8BB;">:</span>length<span style="color: #BFEBBF;">(</span>meas<span style="color: #D0BF8F;">{</span><span style="color: #BFEBBF;">3</span><span style="color: #D0BF8F;">}</span>.Track1<span style="color: #BFEBBF;">)</span><span style="color: #7CB8BB;">-</span><span style="color: #BFEBBF;">1</span><span style="color: #DCDCCC;">]</span>;
t4 = dt<span style="color: #7CB8BB;">*</span><span style="color: #DCDCCC;">[</span><span style="color: #BFEBBF;">0</span><span style="color: #7CB8BB;">:</span>length<span style="color: #BFEBBF;">(</span>meas<span style="color: #D0BF8F;">{</span><span style="color: #BFEBBF;">4</span><span style="color: #D0BF8F;">}</span>.Track1<span style="color: #BFEBBF;">)</span><span style="color: #7CB8BB;">-</span><span style="color: #BFEBBF;">1</span><span style="color: #DCDCCC;">]</span>;
t5 = dt<span style="color: #7CB8BB;">*</span><span style="color: #DCDCCC;">[</span><span style="color: #BFEBBF;">0</span><span style="color: #7CB8BB;">:</span>length<span style="color: #BFEBBF;">(</span>meas<span style="color: #D0BF8F;">{</span><span style="color: #BFEBBF;">5</span><span style="color: #D0BF8F;">}</span>.Track1<span style="color: #BFEBBF;">)</span><span style="color: #7CB8BB;">-</span><span style="color: #BFEBBF;">1</span><span style="color: #DCDCCC;">]</span>;
</pre>
</div>
<p>
For the frequency analysis, we define the frequency limits for the plot.
</p>
<div class="org-src-container">
<pre class="src src-matlab">fmin = <span style="color: #BFEBBF;">1</span>; <span style="color: #7F9F7F;">% [Hz]</span>
fmax = <span style="color: #BFEBBF;">100</span>; <span style="color: #7F9F7F;">% [Hz]</span>
</pre>
</div>
<p>
Then we define the windows that will be used to average the results.
</p>
<div class="org-src-container">
<pre class="src src-matlab">psd_window = hanning<span style="color: #DCDCCC;">(</span><span style="color: #BFEBBF;">2</span><span style="color: #7CB8BB;">*</span>fmin<span style="color: #7CB8BB;">/</span>dt<span style="color: #DCDCCC;">)</span>;
</pre>
</div>
</div>
</div>
<div id="outline-container-org876fa12" class="outline-2">
<h2 id="org876fa12"><span class="section-number-2">4</span> Coherence between the two vertical geophones on the Tilt Stage</h2>
<div class="outline-text-2" id="text-4">
<p>
We first compute the coherence between the two geophones located on the tilt stage. The result is shown on figure <a href="#org6414ae2">2</a>.
</p>
<div class="org-src-container">
<pre class="src src-matlab"><span style="color: #DCDCCC;">[</span>coh, f<span style="color: #DCDCCC;">]</span> = mscohere<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #BFEBBF;">}</span>.Track1<span style="color: #BFEBBF;">(</span><span style="color: #7CB8BB;">:</span><span style="color: #BFEBBF;">)</span>, meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #BFEBBF;">}</span>.Track2<span style="color: #BFEBBF;">(</span><span style="color: #7CB8BB;">:</span><span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
</pre>
</div>
<div id="org6414ae2" class="figure">
<p><img src="figs/coherence_vertical_tilt_sensors.png" alt="coherence_vertical_tilt_sensors.png" />
</p>
<p><span class="figure-number">Figure 2: </span>Coherence between the two vertical sensors positionned on the Tilt Stage</p>
</div>
<p>
We then compute the transfer function from one sensor to the other (figure <a href="#org0f2e1db">3</a>).
</p>
<div class="org-src-container">
<pre class="src src-matlab"><span style="color: #DCDCCC;">[</span>tf23, f<span style="color: #DCDCCC;">]</span> = tfestimate<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #BFEBBF;">}</span>.Track1<span style="color: #BFEBBF;">(</span><span style="color: #7CB8BB;">:</span><span style="color: #BFEBBF;">)</span>, meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #BFEBBF;">}</span>.Track2<span style="color: #BFEBBF;">(</span><span style="color: #7CB8BB;">:</span><span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
</pre>
</div>
<div id="org0f2e1db" class="figure">
<p><img src="figs/tf_vertical_tilt_sensors.png" alt="tf_vertical_tilt_sensors.png" />
</p>
<p><span class="figure-number">Figure 3: </span>Transfer function from one vertical geophone on the tilt stage to the other vertical geophone on the tilt stage</p>
</div>
<p>
Even though the coherence is not very good, we observe no resonance between the two sensors.
</p>
</div>
</div>
<div id="outline-container-org0e81d2f" class="outline-2">
<h2 id="org0e81d2f"><span class="section-number-2">5</span> Data Post Processing</h2>
<div class="outline-text-2" id="text-5">
<p>
When using two geophone sensors on the same tilt stage (measurements 1 and 2), we post-process the data to obtain the z displacement and the rotation of the tilt stage:
</p>
<div class="org-src-container">
<pre class="src src-matlab">meas1_z = <span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #BFEBBF;">}</span>.Track1<span style="color: #7CB8BB;">+</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #BFEBBF;">}</span>.Track2<span style="color: #DCDCCC;">)</span><span style="color: #7CB8BB;">/</span><span style="color: #BFEBBF;">2</span>;
meas1_tilt = <span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #BFEBBF;">}</span>.Track1<span style="color: #7CB8BB;">-</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #BFEBBF;">}</span>.Track2<span style="color: #DCDCCC;">)</span><span style="color: #7CB8BB;">/</span><span style="color: #BFEBBF;">2</span>;
meas<span style="color: #DCDCCC;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #DCDCCC;">}</span>.Track1 = meas1_z;
meas<span style="color: #DCDCCC;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #DCDCCC;">}</span>.Track1_Y_Magnitude = <span style="color: #CC9393;">'Meter / second'</span>;
meas<span style="color: #DCDCCC;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #DCDCCC;">}</span>.Track1_Name = <span style="color: #CC9393;">'Ry Z'</span>;
meas<span style="color: #DCDCCC;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #DCDCCC;">}</span>.Track2 = meas1_tilt;
meas<span style="color: #DCDCCC;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #DCDCCC;">}</span>.Track2_Y_Magnitude = <span style="color: #CC9393;">'Rad / second'</span>;
meas<span style="color: #DCDCCC;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #DCDCCC;">}</span>.Track2_Name = <span style="color: #CC9393;">'Ry Tilt'</span>;
meas2_z = <span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">2</span><span style="color: #BFEBBF;">}</span>.Track1<span style="color: #7CB8BB;">+</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">2</span><span style="color: #BFEBBF;">}</span>.Track2<span style="color: #DCDCCC;">)</span><span style="color: #7CB8BB;">/</span><span style="color: #BFEBBF;">2</span>;
meas2_tilt = <span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">2</span><span style="color: #BFEBBF;">}</span>.Track1<span style="color: #7CB8BB;">-</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">2</span><span style="color: #BFEBBF;">}</span>.Track2<span style="color: #DCDCCC;">)</span><span style="color: #7CB8BB;">/</span><span style="color: #BFEBBF;">2</span>;
meas<span style="color: #DCDCCC;">{</span><span style="color: #BFEBBF;">2</span><span style="color: #DCDCCC;">}</span>.Track1 = meas2_z;
meas<span style="color: #DCDCCC;">{</span><span style="color: #BFEBBF;">2</span><span style="color: #DCDCCC;">}</span>.Track1_Y_Magnitude = <span style="color: #CC9393;">'Meter / second'</span>;
meas<span style="color: #DCDCCC;">{</span><span style="color: #BFEBBF;">2</span><span style="color: #DCDCCC;">}</span>.Track1_Name = <span style="color: #CC9393;">'Ry Z'</span>;
meas<span style="color: #DCDCCC;">{</span><span style="color: #BFEBBF;">2</span><span style="color: #DCDCCC;">}</span>.Track2 = meas2_tilt;
meas<span style="color: #DCDCCC;">{</span><span style="color: #BFEBBF;">2</span><span style="color: #DCDCCC;">}</span>.Track2_Y_Magnitude = <span style="color: #CC9393;">'Rad / second'</span>;
meas<span style="color: #DCDCCC;">{</span><span style="color: #BFEBBF;">2</span><span style="color: #DCDCCC;">}</span>.Track2_Name = <span style="color: #CC9393;">'Ry Tilt'</span>;
</pre>
</div>
</div>
</div>
<div id="outline-container-org07adbbe" class="outline-2">
<h2 id="org07adbbe"><span class="section-number-2">6</span> Normalization</h2>
<div class="outline-text-2" id="text-6">
<p>
Parameters of the geophone are defined below.
The transfer function from geophone velocity to measured voltage is shown on figure <a href="#org56c2445">4</a>.
</p>
<p>
Measurements will be normalized by the inverse of this transfer function in order to go from voltage measurement to velocity measurement.
</p>
<div class="org-src-container">
<pre class="src src-matlab">L4C_w0 = <span style="color: #BFEBBF;">2</span><span style="color: #7CB8BB;">*</span><span style="color: #BFEBBF;">pi</span>; <span style="color: #7F9F7F;">% [rad/s]</span>
L4C_ksi = <span style="color: #BFEBBF;">0</span>.<span style="color: #BFEBBF;">28</span>;
L4C_G0 = <span style="color: #BFEBBF;">276</span>.<span style="color: #BFEBBF;">8</span>; <span style="color: #7F9F7F;">% [V/(m/s)]</span>
L4C_G = L4C_G0<span style="color: #7CB8BB;">*</span><span style="color: #DCDCCC;">(</span>s<span style="color: #7CB8BB;">/</span>L4C_w0<span style="color: #DCDCCC;">)</span><span style="color: #7CB8BB;">^</span><span style="color: #BFEBBF;">2</span><span style="color: #7CB8BB;">/</span><span style="color: #DCDCCC;">(</span><span style="color: #BFEBBF;">(</span>s<span style="color: #7CB8BB;">/</span>L4C_w0<span style="color: #BFEBBF;">)</span><span style="color: #7CB8BB;">^</span><span style="color: #BFEBBF;">2</span> <span style="color: #7CB8BB;">+</span> <span style="color: #BFEBBF;">2</span><span style="color: #7CB8BB;">*</span>L4C_ksi<span style="color: #7CB8BB;">*</span><span style="color: #BFEBBF;">(</span>s<span style="color: #7CB8BB;">/</span>L4C_w0<span style="color: #BFEBBF;">)</span> <span style="color: #7CB8BB;">+</span> <span style="color: #BFEBBF;">1</span><span style="color: #DCDCCC;">)</span>;
</pre>
</div>
<div id="org56c2445" class="figure">
<p><img src="figs/L4C_bode_plot.png" alt="L4C_bode_plot.png" />
</p>
<p><span class="figure-number">Figure 4: </span>Bode plot of the L4C Geophone</p>
</div>
<p>
Time domain data are just normalized using the sensibility of the sensor (\(276.8 V/m/s\)).
</p>
</div>
</div>
<div id="outline-container-org854c7bf" class="outline-2">
<h2 id="org854c7bf"><span class="section-number-2">7</span> Measurement 1 - Effect of Ty stage</h2>
<div class="outline-text-2" id="text-7">
<p>
The configuration for this measurement is shown table <a href="#org7881134">3</a>.
</p>
<table id="org7881134" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 3:</span> Stages configuration - Measurement 1</caption>
<colgroup>
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Time</th>
<th scope="col" class="org-left">0-309</th>
<th scope="col" class="org-left">309-end</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">Ty</td>
<td class="org-left">OFF</td>
<td class="org-left"><b>ON</b></td>
</tr>
<tr>
<td class="org-left">Ry</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
</tr>
<tr>
<td class="org-left">SlipRing</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
</tr>
<tr>
<td class="org-left">Spindle</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
</tr>
<tr>
<td class="org-left">Hexa</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
</tr>
</tbody>
</table>
<p>
We then plot the measurements in time domain (figure <a href="#org7592c33">5</a>).
</p>
<div class="important">
<p>
We observe strange behavior when the Ty stage is turned on.
How can we explain that?
</p>
</div>
<div id="org7592c33" class="figure">
<p><img src="figs/meas1.png" alt="meas1.png" />
</p>
<p><span class="figure-number">Figure 5: </span>Time domain - measurement 1</p>
</div>
<p>
To understand what is going on, instead of looking at the velocity, we can look at the displacement by integrating the data. The displacement is computed by integrating the velocity using <code>cumtrapz</code> function.
</p>
<div class="org-src-container">
<pre class="src src-matlab">tdisp = t1<span style="color: #DCDCCC;">(</span>ceil<span style="color: #BFEBBF;">(</span><span style="color: #BFEBBF;">300</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #BFEBBF;">)</span><span style="color: #7CB8BB;">:</span>ceil<span style="color: #BFEBBF;">(</span><span style="color: #BFEBBF;">340</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #BFEBBF;">)</span><span style="color: #DCDCCC;">)</span>;
xdisp = cumtrapz<span style="color: #DCDCCC;">(</span>tdisp, <span style="color: #BFEBBF;">(</span><span style="color: #BFEBBF;">1</span><span style="color: #7CB8BB;">/</span><span style="color: #BFEBBF;">276</span>.<span style="color: #BFEBBF;">8</span><span style="color: #BFEBBF;">)</span><span style="color: #7CB8BB;">.*</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #BFEBBF;">}</span>.Track3<span style="color: #BFEBBF;">(</span>ceil<span style="color: #D0BF8F;">(</span><span style="color: #BFEBBF;">300</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #D0BF8F;">)</span><span style="color: #7CB8BB;">:</span>ceil<span style="color: #D0BF8F;">(</span><span style="color: #BFEBBF;">340</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #D0BF8F;">)</span><span style="color: #BFEBBF;">)</span><span style="color: #DCDCCC;">)</span>;
</pre>
</div>
<p>
Then we plot the position with respect to time (figure <a href="#orgf6e2558">6</a>).
</p>
<div id="orgf6e2558" class="figure">
<p><img src="figs/meas1_disp.png" alt="meas1_disp.png" />
</p>
<p><span class="figure-number">Figure 6: </span>Y displacement of the Ty stage</p>
</div>
<p>
We when compute the power spectral density of each measurement before and after turning on the stage.
</p>
<div class="org-src-container">
<pre class="src src-matlab"><span style="color: #DCDCCC;">[</span>pxx111, f11<span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #BFEBBF;">}</span>.Track1<span style="color: #BFEBBF;">(</span><span style="color: #BFEBBF;">1</span><span style="color: #7CB8BB;">:</span>ceil<span style="color: #D0BF8F;">(</span><span style="color: #BFEBBF;">300</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #D0BF8F;">)</span><span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
<span style="color: #DCDCCC;">[</span>pxx112, f12<span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #BFEBBF;">}</span>.Track1<span style="color: #BFEBBF;">(</span>ceil<span style="color: #D0BF8F;">(</span><span style="color: #BFEBBF;">350</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #D0BF8F;">)</span><span style="color: #7CB8BB;">:</span>end<span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
<span style="color: #DCDCCC;">[</span>pxx121, <span style="color: #7CB8BB;">~</span><span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #BFEBBF;">}</span>.Track2<span style="color: #BFEBBF;">(</span><span style="color: #BFEBBF;">1</span><span style="color: #7CB8BB;">:</span>ceil<span style="color: #D0BF8F;">(</span><span style="color: #BFEBBF;">300</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #D0BF8F;">)</span><span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
<span style="color: #DCDCCC;">[</span>pxx122, <span style="color: #7CB8BB;">~</span><span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #BFEBBF;">}</span>.Track2<span style="color: #BFEBBF;">(</span>ceil<span style="color: #D0BF8F;">(</span><span style="color: #BFEBBF;">350</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #D0BF8F;">)</span><span style="color: #7CB8BB;">:</span>end<span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
<span style="color: #DCDCCC;">[</span>pxx131, <span style="color: #7CB8BB;">~</span><span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #BFEBBF;">}</span>.Track3<span style="color: #BFEBBF;">(</span><span style="color: #BFEBBF;">1</span><span style="color: #7CB8BB;">:</span>ceil<span style="color: #D0BF8F;">(</span><span style="color: #BFEBBF;">300</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #D0BF8F;">)</span><span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
<span style="color: #DCDCCC;">[</span>pxx132, <span style="color: #7CB8BB;">~</span><span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">1</span><span style="color: #BFEBBF;">}</span>.Track3<span style="color: #BFEBBF;">(</span>ceil<span style="color: #D0BF8F;">(</span><span style="color: #BFEBBF;">350</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #D0BF8F;">)</span><span style="color: #7CB8BB;">:</span>end<span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
</pre>
</div>
<p>
We finally plot the power spectral density of each track (figures <a href="#org2b52faf">7</a>, <a href="#org3106809">8</a>, <a href="#org28f9d2d">9</a>).
</p>
<div id="org2b52faf" class="figure">
<p><img src="figs/meas1_ry_z_psd.png" alt="meas1_ry_z_psd.png" />
</p>
<p><span class="figure-number">Figure 7: </span>PSD of the Z velocity of Ry stage - measurement 1</p>
</div>
<div id="org3106809" class="figure">
<p><img src="figs/meas1_ry_tilt_psd.png" alt="meas1_ry_tilt_psd.png" />
</p>
<p><span class="figure-number">Figure 8: </span>PSD of the Rotation of Ry Stage - measurement 1</p>
</div>
<div id="org28f9d2d" class="figure">
<p><img src="figs/meas1_ty_y_psd.png" alt="meas1_ty_y_psd.png" />
</p>
<p><span class="figure-number">Figure 9: </span>PSD of the Ty velocity in the Y direction - measurement 1</p>
</div>
<div class="important">
<p>
Turning on the Y-translation stage increases the velocity of the Ty stage in the Y direction and the rotation motion of the tilt stage:
</p>
<ul class="org-ul">
<li>at 20Hz</li>
<li>at 40Hz</li>
<li>between 80Hz and 90Hz</li>
</ul>
<p>
It does not seems to have any effect on the Z motion of the tilt stage.
</p>
</div>
</div>
</div>
<div id="outline-container-orga8c4982" class="outline-2">
<h2 id="orga8c4982"><span class="section-number-2">8</span> Measurement 2 - Effect of Ry stage</h2>
<div class="outline-text-2" id="text-8">
<p>
The tilt stage is turned ON at around 326 seconds (table <a href="#org6ee7543">4</a>).
</p>
<table id="org6ee7543" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 4:</span> Stages configuration - Measurement 2</caption>
<colgroup>
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Time</th>
<th scope="col" class="org-left">0-326</th>
<th scope="col" class="org-left">326-end</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">Ty</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
</tr>
<tr>
<td class="org-left">Ry</td>
<td class="org-left">OFF</td>
<td class="org-left"><b>ON</b></td>
</tr>
<tr>
<td class="org-left">SlipRing</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
</tr>
<tr>
<td class="org-left">Spindle</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
</tr>
<tr>
<td class="org-left">Hexa</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
</tr>
</tbody>
</table>
<p>
We plot the time domain (figure <a href="#org17e1967">10</a>) and we don't observe anything special in the time domain.
</p>
<div id="org17e1967" class="figure">
<p><img src="figs/meas2.png" alt="meas2.png" />
</p>
<p><span class="figure-number">Figure 10: </span>Time domain - measurement 2</p>
</div>
<p>
We compute the PSD of each track and we plot them (figures <a href="#org5ee261f">11</a>, <a href="#org7cc110d">12</a> and <a href="#org04b24ea">13</a> ).
</p>
<div class="org-src-container">
<pre class="src src-matlab"><span style="color: #DCDCCC;">[</span>pxx211, f21<span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">2</span><span style="color: #BFEBBF;">}</span>.Track1<span style="color: #BFEBBF;">(</span><span style="color: #BFEBBF;">1</span><span style="color: #7CB8BB;">:</span>ceil<span style="color: #D0BF8F;">(</span><span style="color: #BFEBBF;">326</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #D0BF8F;">)</span><span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
<span style="color: #DCDCCC;">[</span>pxx212, f22<span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">2</span><span style="color: #BFEBBF;">}</span>.Track1<span style="color: #BFEBBF;">(</span>ceil<span style="color: #D0BF8F;">(</span><span style="color: #BFEBBF;">326</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #D0BF8F;">)</span><span style="color: #7CB8BB;">:</span>end<span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
<span style="color: #DCDCCC;">[</span>pxx221, <span style="color: #7CB8BB;">~</span><span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">2</span><span style="color: #BFEBBF;">}</span>.Track2<span style="color: #BFEBBF;">(</span><span style="color: #BFEBBF;">1</span><span style="color: #7CB8BB;">:</span>ceil<span style="color: #D0BF8F;">(</span><span style="color: #BFEBBF;">326</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #D0BF8F;">)</span><span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
<span style="color: #DCDCCC;">[</span>pxx222, <span style="color: #7CB8BB;">~</span><span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">2</span><span style="color: #BFEBBF;">}</span>.Track2<span style="color: #BFEBBF;">(</span>ceil<span style="color: #D0BF8F;">(</span><span style="color: #BFEBBF;">326</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #D0BF8F;">)</span><span style="color: #7CB8BB;">:</span>end<span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
<span style="color: #DCDCCC;">[</span>pxx231, <span style="color: #7CB8BB;">~</span><span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">2</span><span style="color: #BFEBBF;">}</span>.Track3<span style="color: #BFEBBF;">(</span><span style="color: #BFEBBF;">1</span><span style="color: #7CB8BB;">:</span>ceil<span style="color: #D0BF8F;">(</span><span style="color: #BFEBBF;">326</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #D0BF8F;">)</span><span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
<span style="color: #DCDCCC;">[</span>pxx232, <span style="color: #7CB8BB;">~</span><span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">2</span><span style="color: #BFEBBF;">}</span>.Track3<span style="color: #BFEBBF;">(</span>ceil<span style="color: #D0BF8F;">(</span><span style="color: #BFEBBF;">326</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #D0BF8F;">)</span><span style="color: #7CB8BB;">:</span>end<span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
</pre>
</div>
<div id="org5ee261f" class="figure">
<p><img src="figs/meas2_ry_z_psd.png" alt="meas2_ry_z_psd.png" />
</p>
<p><span class="figure-number">Figure 11: </span>PSD of the Z velocity of Ry Stage - measurement 2</p>
</div>
<div id="org7cc110d" class="figure">
<p><img src="figs/meas2_ry_tilt_psd.png" alt="meas2_ry_tilt_psd.png" />
</p>
<p><span class="figure-number">Figure 12: </span>PSD of the Rotation motion of Ry Stage - measurement 2</p>
</div>
<div id="org04b24ea" class="figure">
<p><img src="figs/meas2_ty_y_psd.png" alt="meas2_ty_y_psd.png" />
</p>
<p><span class="figure-number">Figure 13: </span>PSD of the Ty velocity in the Y direction - measurement 2</p>
</div>
<div class="important">
<p>
We observe no noticeable difference when the Tilt-stage is turned ON expect a small decrease of the Z motion of the tilt stage around 10Hz.
</p>
</div>
</div>
</div>
<div id="outline-container-orga79f5f4" class="outline-2">
<h2 id="orga79f5f4"><span class="section-number-2">9</span> Measurement 3 - Effect of the Hexapod</h2>
<div class="outline-text-2" id="text-9">
<p>
The hexapod is turned off after 406 seconds (table <a href="#org3542637">5</a>).
</p>
<table id="org3542637" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 5:</span> Stages configuration - Measurement 3</caption>
<colgroup>
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Time</th>
<th scope="col" class="org-left">0-406</th>
<th scope="col" class="org-left">406-end</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">Ty</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
</tr>
<tr>
<td class="org-left">Ry</td>
<td class="org-left"><b>ON</b></td>
<td class="org-left"><b>ON</b></td>
</tr>
<tr>
<td class="org-left">SlipRing</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
</tr>
<tr>
<td class="org-left">Spindle</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
</tr>
<tr>
<td class="org-left">Hexa</td>
<td class="org-left"><b>ON</b></td>
<td class="org-left">OFF</td>
</tr>
</tbody>
</table>
<p>
The time domain result is shown figure <a href="#orgcdae346">14</a>.
</p>
<div id="orgcdae346" class="figure">
<p><img src="figs/meas3.png" alt="meas3.png" />
</p>
<p><span class="figure-number">Figure 14: </span>Time domain - measurement 3</p>
</div>
<p>
We then compute the PSD of each track before and after turning off the hexapod and plot the results in the figures <a href="#org862aff7">15</a>, <a href="#org62414c0">16</a> and <a href="#orgc015c93">17</a>.
</p>
<div class="org-src-container">
<pre class="src src-matlab"><span style="color: #DCDCCC;">[</span>pxx311, f31<span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">3</span><span style="color: #BFEBBF;">}</span>.Track1<span style="color: #BFEBBF;">(</span><span style="color: #BFEBBF;">1</span><span style="color: #7CB8BB;">:</span>ceil<span style="color: #D0BF8F;">(</span><span style="color: #BFEBBF;">400</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #D0BF8F;">)</span><span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
<span style="color: #DCDCCC;">[</span>pxx312, f32<span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">3</span><span style="color: #BFEBBF;">}</span>.Track1<span style="color: #BFEBBF;">(</span>ceil<span style="color: #D0BF8F;">(</span><span style="color: #BFEBBF;">420</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #D0BF8F;">)</span><span style="color: #7CB8BB;">:</span>end<span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
<span style="color: #DCDCCC;">[</span>pxx321, <span style="color: #7CB8BB;">~</span><span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">3</span><span style="color: #BFEBBF;">}</span>.Track2<span style="color: #BFEBBF;">(</span><span style="color: #BFEBBF;">1</span><span style="color: #7CB8BB;">:</span>ceil<span style="color: #D0BF8F;">(</span><span style="color: #BFEBBF;">400</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #D0BF8F;">)</span><span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
<span style="color: #DCDCCC;">[</span>pxx322, <span style="color: #7CB8BB;">~</span><span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">3</span><span style="color: #BFEBBF;">}</span>.Track2<span style="color: #BFEBBF;">(</span>ceil<span style="color: #D0BF8F;">(</span><span style="color: #BFEBBF;">420</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #D0BF8F;">)</span><span style="color: #7CB8BB;">:</span>end<span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
<span style="color: #DCDCCC;">[</span>pxx331, <span style="color: #7CB8BB;">~</span><span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">3</span><span style="color: #BFEBBF;">}</span>.Track3<span style="color: #BFEBBF;">(</span><span style="color: #BFEBBF;">1</span><span style="color: #7CB8BB;">:</span>ceil<span style="color: #D0BF8F;">(</span><span style="color: #BFEBBF;">400</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #D0BF8F;">)</span><span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
<span style="color: #DCDCCC;">[</span>pxx332, <span style="color: #7CB8BB;">~</span><span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">3</span><span style="color: #BFEBBF;">}</span>.Track3<span style="color: #BFEBBF;">(</span>ceil<span style="color: #D0BF8F;">(</span><span style="color: #BFEBBF;">420</span><span style="color: #7CB8BB;">/</span>dt<span style="color: #D0BF8F;">)</span><span style="color: #7CB8BB;">:</span>end<span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
</pre>
</div>
<div id="org862aff7" class="figure">
<p><img src="figs/meas3_hexa_z_psd.png" alt="meas3_hexa_z_psd.png" />
</p>
<p><span class="figure-number">Figure 15: </span>PSD of the Z velocity of the Hexapod - measurement 3</p>
</div>
<div id="org62414c0" class="figure">
<p><img src="figs/meas3_ry_z_psd.png" alt="meas3_ry_z_psd.png" />
</p>
<p><span class="figure-number">Figure 16: </span>PSD of the Z velocity of the Ry stage - measurement 3</p>
</div>
<div id="orgc015c93" class="figure">
<p><img src="figs/meas3_ty_y_psd.png" alt="meas3_ty_y_psd.png" />
</p>
<p><span class="figure-number">Figure 17: </span>PSD of the Ty velocity in the Y direction - measurement 3</p>
</div>
<div class="important">
<p>
Turning ON induces some motion on the hexapod in the z direction (figure <a href="#org862aff7">15</a>), on the tilt stage in the z direction (figure <a href="#org62414c0">16</a>) and on the y motion of the Ty stage (figure <a href="#orgc015c93">17</a>):
</p>
<ul class="org-ul">
<li>at 17Hz</li>
<li>at 34Hz</li>
</ul>
</div>
</div>
</div>
<div id="outline-container-org8731abc" class="outline-2">
<h2 id="org8731abc"><span class="section-number-2">10</span> Measurement 4 - Effect of the Splip-Ring and Spindle</h2>
<div class="outline-text-2" id="text-10">
<p>
The slip ring is turned on at 300s, then the spindle is turned on at 620s (table <a href="#orgb7f824f">6</a>). The time domain signals are shown figure <a href="#orgcdcd20d">18</a>.
</p>
<table id="orgb7f824f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 6:</span> Stages configuration - Measurement 4</caption>
<colgroup>
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Time</th>
<th scope="col" class="org-left">0-300</th>
<th scope="col" class="org-left">300-620</th>
<th scope="col" class="org-left">620-end</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">Ty</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
</tr>
<tr>
<td class="org-left">Ry</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
</tr>
<tr>
<td class="org-left">SlipRing</td>
<td class="org-left">OFF</td>
<td class="org-left"><b>ON</b></td>
<td class="org-left"><b>ON</b></td>
</tr>
<tr>
<td class="org-left">Spindle</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left"><b>ON</b></td>
</tr>
<tr>
<td class="org-left">Hexa</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
<td class="org-left">OFF</td>
</tr>
</tbody>
</table>
<div id="orgcdcd20d" class="figure">
<p><img src="figs/meas4.png" alt="meas4.png" />
</p>
<p><span class="figure-number">Figure 18: </span>Time domain - measurement 4</p>
</div>
<p>
The PSD of each track are computed using the code below.
</p>
<div id="orgf66254d" class="figure">
<p><img src="figs/meas4_hexa_z_psd.png" alt="meas4_hexa_z_psd.png" />
</p>
<p><span class="figure-number">Figure 19: </span>PSD of the Z velocity of the Hexapod - measurement 4</p>
</div>
<div id="org5ec6b1b" class="figure">
<p><img src="figs/meas4_ry_z_psd.png" alt="meas4_ry_z_psd.png" />
</p>
<p><span class="figure-number">Figure 20: </span>PSD of the Ry rotation in the Y direction - measurement 4</p>
</div>
<div id="orgd33d363" class="figure">
<p><img src="figs/meas4_ty_y_psd.png" alt="meas4_ty_y_psd.png" />
</p>
<p><span class="figure-number">Figure 21: </span>PSD of the Ty velocity in the Y direction - measurement 4</p>
</div>
<div class="important">
<p>
Turning ON the splipring seems to not add motions on the stages measured.
It even seems to lower the motion of the Ty stage (figure <a href="#orgd33d363">21</a>): does that make any sense?
</p>
<p>
Turning ON the spindle induces motions:
</p>
<ul class="org-ul">
<li>at 5Hz on each motion measured</li>
<li>at 22.5Hz on the Z motion of the Hexapod. Can this is due to some 50Hz?</li>
<li>at 62Hz on each motion measured</li>
</ul>
</div>
</div>
</div>
<div id="outline-container-org33dc0ed" class="outline-2">
<h2 id="org33dc0ed"><span class="section-number-2">11</span> Measurement 5 - Transmission from ground to marble</h2>
<div class="outline-text-2" id="text-11">
<p>
This measurement just consists of measurement of Y-Z motion of the ground and the marble.
</p>
<p>
The time domain signals are shown on figure <a href="#orgc71b335">22</a>.
</p>
<div id="orgc71b335" class="figure">
<p><img src="figs/meas5.png" alt="meas5.png" />
</p>
<p><span class="figure-number">Figure 22: </span>Time domain - measurement 5</p>
</div>
<p>
We compute the PSD of each track and we plot the PSD of the Z motion for the ground and marble on figure <a href="#org69a4967">23</a> and for the Y motion on figure <a href="#orgf96e7c0">24</a>.
</p>
<div class="org-src-container">
<pre class="src src-matlab"><span style="color: #DCDCCC;">[</span>pxx51, f51<span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">5</span><span style="color: #BFEBBF;">}</span>.Track1<span style="color: #BFEBBF;">(</span><span style="color: #7CB8BB;">:</span><span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
<span style="color: #DCDCCC;">[</span>pxx52, f52<span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">5</span><span style="color: #BFEBBF;">}</span>.Track2<span style="color: #BFEBBF;">(</span><span style="color: #7CB8BB;">:</span><span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
<span style="color: #DCDCCC;">[</span>pxx53, f53<span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">5</span><span style="color: #BFEBBF;">}</span>.Track3<span style="color: #BFEBBF;">(</span><span style="color: #7CB8BB;">:</span><span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
<span style="color: #DCDCCC;">[</span>pxx54, f54<span style="color: #DCDCCC;">]</span> = pwelch<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">5</span><span style="color: #BFEBBF;">}</span>.Track4<span style="color: #BFEBBF;">(</span><span style="color: #7CB8BB;">:</span><span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
</pre>
</div>
<div id="org69a4967" class="figure">
<p><img src="figs/meas5_z_psd.png" alt="meas5_z_psd.png" />
</p>
<p><span class="figure-number">Figure 23: </span>PSD of the ground and marble in the Z direction</p>
</div>
<div id="orgf96e7c0" class="figure">
<p><img src="figs/meas5_y_psd.png" alt="meas5_y_psd.png" />
</p>
<p><span class="figure-number">Figure 24: </span>PSD of the ground and marble in the Y direction</p>
</div>
<p>
Then, instead of looking at the Power Spectral Density, we can try to estimate the transfer function from a ground motion to the motion of the marble.
The transfer functions are shown on figure <a href="#orgd1bec89">25</a> and the coherence on figure <a href="#org4f5ea21">26</a>.
</p>
<div class="org-src-container">
<pre class="src src-matlab"><span style="color: #DCDCCC;">[</span>tfz, fz<span style="color: #DCDCCC;">]</span> = tfestimate<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">5</span><span style="color: #BFEBBF;">}</span>.Track1<span style="color: #BFEBBF;">(</span><span style="color: #7CB8BB;">:</span><span style="color: #BFEBBF;">)</span>, meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">5</span><span style="color: #BFEBBF;">}</span>.Track2<span style="color: #BFEBBF;">(</span><span style="color: #7CB8BB;">:</span><span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
<span style="color: #DCDCCC;">[</span>tfy, fy<span style="color: #DCDCCC;">]</span> = tfestimate<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">5</span><span style="color: #BFEBBF;">}</span>.Track3<span style="color: #BFEBBF;">(</span><span style="color: #7CB8BB;">:</span><span style="color: #BFEBBF;">)</span>, meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">5</span><span style="color: #BFEBBF;">}</span>.Track4<span style="color: #BFEBBF;">(</span><span style="color: #7CB8BB;">:</span><span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
</pre>
</div>
<div id="orgd1bec89" class="figure">
<p><img src="figs/meas5_tf.png" alt="meas5_tf.png" />
</p>
<p><span class="figure-number">Figure 25: </span>Transfer function estimation - measurement 5</p>
</div>
<div class="org-src-container">
<pre class="src src-matlab"><span style="color: #DCDCCC;">[</span>cohz, fz<span style="color: #DCDCCC;">]</span> = mscohere<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">5</span><span style="color: #BFEBBF;">}</span>.Track1<span style="color: #BFEBBF;">(</span><span style="color: #7CB8BB;">:</span><span style="color: #BFEBBF;">)</span>, meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">5</span><span style="color: #BFEBBF;">}</span>.Track2<span style="color: #BFEBBF;">(</span><span style="color: #7CB8BB;">:</span><span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
<span style="color: #DCDCCC;">[</span>cohy, fy<span style="color: #DCDCCC;">]</span> = mscohere<span style="color: #DCDCCC;">(</span>meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">5</span><span style="color: #BFEBBF;">}</span>.Track3<span style="color: #BFEBBF;">(</span><span style="color: #7CB8BB;">:</span><span style="color: #BFEBBF;">)</span>, meas<span style="color: #BFEBBF;">{</span><span style="color: #BFEBBF;">5</span><span style="color: #BFEBBF;">}</span>.Track4<span style="color: #BFEBBF;">(</span><span style="color: #7CB8BB;">:</span><span style="color: #BFEBBF;">)</span>, psd_window, <span style="color: #BFEBBF;">[]</span>, <span style="color: #BFEBBF;">[]</span>, Fs<span style="color: #DCDCCC;">)</span>;
</pre>
</div>
<div id="org4f5ea21" class="figure">
<p><img src="figs/meas5_coh.png" alt="meas5_coh.png" />
</p>
<p><span class="figure-number">Figure 26: </span>Coherence - measurement 5</p>
</div>
<div class="important">
<p>
The marble seems to have a resonance at around 20Hz on the Y direction.
But the coherence is not good above 20Hz, so it is difficult to estimate resonances.
</p>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Thomas Dehaeze</p>
<p class="date">Created: 2019-03-19 mar. 16:42</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>
</html>