Reworked the analysis for the Ty stage motion

This commit is contained in:
Thomas Dehaeze 2019-05-14 17:55:59 +02:00
parent de8bf8eae9
commit 00614b2ef3
15 changed files with 324 additions and 138 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 KiB

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 KiB

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 KiB

After

Width:  |  Height:  |  Size: 189 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 71 KiB

View 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>
<!-- 2019-05-14 mar. 14:09 -->
<!-- 2019-05-14 mar. 17:20 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Vibrations induced by the translation stage motion</title>
@ -258,28 +258,29 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org9a632ab">1. Measurement description</a></li>
<li><a href="#orgbcb8a15">2. Measurement Analysis</a>
<li><a href="#org9de4889">1. Measurement description</a></li>
<li><a href="#org670b06e">2. Measurement Analysis</a>
<ul>
<li><a href="#org41bad02">2.1. Load data</a></li>
<li><a href="#orgb5c8af2">2.2. Time domain plots</a></li>
<li><a href="#org1ada52f">2.3. Frequency Domain analysis</a></li>
<li><a href="#org9c3b00c">2.4. Transfer function from marble motion in the East direction to sample motion in the East direction</a></li>
<li><a href="#org1512497">2.5. Position of the translation stage and Current</a>
<li><a href="#org5b7e46e">2.1. Load data</a></li>
<li><a href="#org755854a">2.2. Voltage to Velocity</a></li>
<li><a href="#orgea114d1">2.3. Time domain plots</a></li>
<li><a href="#orgbbc14c0">2.4. Frequency Domain analysis</a></li>
<li><a href="#orgae3e2d3">2.5. Transfer function from marble motion in the East direction to sample motion in the East direction</a></li>
<li><a href="#org577441f">2.6. Position of the translation stage and Current</a>
<ul>
<li><a href="#org1f1e19b">2.5.1. Data pre-processing</a></li>
<li><a href="#org7b8bb62">2.5.2. Time domain data</a></li>
<li><a href="#orgc9e7589">2.6.1. Data pre-processing</a></li>
<li><a href="#org424f5e2">2.6.2. Time domain data</a></li>
</ul>
</li>
<li><a href="#org066b822">2.6. Conclusion</a></li>
<li><a href="#orgcb24d9f">2.7. Conclusion</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-org9a632ab" class="outline-2">
<h2 id="org9a632ab"><span class="section-number-2">1</span> Measurement description</h2>
<div id="outline-container-org9de4889" class="outline-2">
<h2 id="org9de4889"><span class="section-number-2">1</span> Measurement description</h2>
<div class="outline-text-2" id="text-1">
<p>
<b>Setup</b>:
@ -309,7 +310,7 @@ The scans are done with the ELMO software.
</p>
<p>
The North of the Geophones corresponds to the +Y direction and the East of the Geophones to the +X direction (see figure <a href="#org453b1ae">1</a>).
The North of the Geophones corresponds to the +Y direction and the East of the Geophones to the +X direction (see figure <a href="#org6ee74f8">1</a>).
</p>
<p>
@ -393,7 +394,7 @@ Each of the measurement <code>mat</code> file contains one <code>data</code> arr
</table>
<div id="org453b1ae" class="figure">
<div id="org6ee74f8" class="figure">
<p><img src="./img/IMG_20190513_163032.jpg" alt="IMG_20190513_163032.jpg" width="500px" />
</p>
<p><span class="figure-number">Figure 1: </span>Picture of the experimental setup</p>
@ -401,11 +402,11 @@ Each of the measurement <code>mat</code> file contains one <code>data</code> arr
</div>
</div>
<div id="outline-container-orgbcb8a15" class="outline-2">
<h2 id="orgbcb8a15"><span class="section-number-2">2</span> Measurement Analysis</h2>
<div id="outline-container-org670b06e" class="outline-2">
<h2 id="org670b06e"><span class="section-number-2">2</span> Measurement Analysis</h2>
<div class="outline-text-2" id="text-2">
<p>
<a id="orgdadf778"></a>
<a id="org1302a91"></a>
</p>
<div class="note">
<p>
@ -415,8 +416,8 @@ All the files (data and Matlab scripts) are accessible <a href="data/disturbance
</div>
</div>
<div id="outline-container-org41bad02" class="outline-3">
<h3 id="org41bad02"><span class="section-number-3">2.1</span> Load data</h3>
<div id="outline-container-org5b7e46e" class="outline-3">
<h3 id="org5b7e46e"><span class="section-number-3">2.1</span> Load data</h3>
<div class="outline-text-3" id="text-2-1">
<div class="org-src-container">
<pre class="src src-matlab">z_ty = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_040.mat', 'data'</span><span class="org-rainbow-delimiters-depth-1">)</span>; z_ty = z_ty.data;
@ -427,33 +428,53 @@ e_of = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org
</div>
</div>
<div id="outline-container-orgb5c8af2" class="outline-3">
<h3 id="orgb5c8af2"><span class="section-number-3">2.2</span> Time domain plots</h3>
<div id="outline-container-org755854a" class="outline-3">
<h3 id="org755854a"><span class="section-number-3">2.2</span> Voltage to Velocity</h3>
<div class="outline-text-3" id="text-2-2">
<p>
We convert the measured voltage to velocity using the function <code>voltageToVelocityL22</code> (accessible <a href="file:///home/thomas/MEGA/These/meas/src/index.html">here</a>).
</p>
<div class="org-src-container">
<pre class="src src-matlab">z_ty<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-1">)</span> = voltageToVelocityL22<span class="org-rainbow-delimiters-depth-1">(</span>z_ty<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-2">)</span>, z_ty<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-2">)</span>, <span class="org-highlight-numbers-number">40</span><span class="org-rainbow-delimiters-depth-1">)</span>;
e_ty<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-1">)</span> = voltageToVelocityL22<span class="org-rainbow-delimiters-depth-1">(</span>e_ty<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-2">)</span>, e_ty<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-2">)</span>, <span class="org-highlight-numbers-number">40</span><span class="org-rainbow-delimiters-depth-1">)</span>;
e_of<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-1">)</span> = voltageToVelocityL22<span class="org-rainbow-delimiters-depth-1">(</span>e_of<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-2">)</span>, e_of<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-2">)</span>, <span class="org-highlight-numbers-number">40</span><span class="org-rainbow-delimiters-depth-1">)</span>;
z_ty<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-1">)</span> = voltageToVelocityL22<span class="org-rainbow-delimiters-depth-1">(</span>z_ty<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-2">)</span>, z_ty<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-2">)</span>, <span class="org-highlight-numbers-number">40</span><span class="org-rainbow-delimiters-depth-1">)</span>;
e_ty<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-1">)</span> = voltageToVelocityL22<span class="org-rainbow-delimiters-depth-1">(</span>e_ty<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-2">)</span>, e_ty<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-2">)</span>, <span class="org-highlight-numbers-number">40</span><span class="org-rainbow-delimiters-depth-1">)</span>;
e_of<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-1">)</span> = voltageToVelocityL22<span class="org-rainbow-delimiters-depth-1">(</span>e_of<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-2">)</span>, e_of<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-2">)</span>, <span class="org-highlight-numbers-number">40</span><span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
</div>
</div>
<div id="outline-container-orgea114d1" class="outline-3">
<h3 id="orgea114d1"><span class="section-number-3">2.3</span> Time domain plots</h3>
<div class="outline-text-3" id="text-2-3">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">figure</span>;
hold on;
plot<span class="org-rainbow-delimiters-depth-1">(</span>z_ty<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-2">)</span>, z_ty<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-2">)</span>, <span class="org-string">'DisplayName', 'Marble - Z'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
plot<span class="org-rainbow-delimiters-depth-1">(</span>z_ty<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-2">)</span>, z_ty<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-2">)</span>, <span class="org-string">'DisplayName', 'Sample - Z'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
hold off;
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Time </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">s</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'Voltage </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">V</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>, <span class="org-highlight-numbers-number">100</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>; ylim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-type">-</span><span class="org-highlight-numbers-number">5</span>, <span class="org-highlight-numbers-number">5</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Time </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">s</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'Velocity </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">m/s</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>, <span class="org-highlight-numbers-number">100</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
legend<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Location', 'northeast'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
<div id="org97f088a" class="figure">
<div id="org753fe23" class="figure">
<p><img src="figs/ty_z_time.png" alt="ty_z_time.png" />
</p>
<p><span class="figure-number">Figure 2: </span>Z motion of the sample and marble when scanning with the translation stage</p>
<p><span class="figure-number">Figure 2: </span>Z velocity of the sample and marble when scanning with the translation stage</p>
</div>
<div id="org33a0b96" class="figure">
<div id="org58a4bf6" class="figure">
<p><img src="figs/ty_z_time_zoom.png" alt="ty_z_time_zoom.png" />
</p>
<p><span class="figure-number">Figure 3: </span>Z motion of the sample and marble when scanning with the translation stage - Zoom</p>
<p><span class="figure-number">Figure 3: </span>Z velocity of the sample and marble when scanning with the translation stage - Zoom</p>
</div>
@ -463,31 +484,31 @@ hold on;
plot<span class="org-rainbow-delimiters-depth-1">(</span>e_ty<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-2">)</span>, e_ty<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-2">)</span>, <span class="org-string">'DisplayName', 'Marble - X'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
plot<span class="org-rainbow-delimiters-depth-1">(</span>e_ty<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-2">)</span>, e_ty<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-2">)</span>, <span class="org-string">'DisplayName', 'Sample - X'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
hold off;
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Time </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">s</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'Voltage </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">V</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>, <span class="org-highlight-numbers-number">100</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>; ylim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-type">-</span><span class="org-highlight-numbers-number">10</span>, <span class="org-highlight-numbers-number">10</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Time </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">s</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'Velocity </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">m/s</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>, <span class="org-highlight-numbers-number">100</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
legend<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Location', 'northeast'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
<div id="orgd31998f" class="figure">
<div id="org97063fa" class="figure">
<p><img src="figs/ty_e_time.png" alt="ty_e_time.png" />
</p>
<p><span class="figure-number">Figure 4: </span>Motion of the sample and marble in the east direction when scanning with the translation stage</p>
<p><span class="figure-number">Figure 4: </span>Velocity of the sample and marble in the east direction when scanning with the translation stage</p>
</div>
<div id="org2346a47" class="figure">
<div id="org660b28c" class="figure">
<p><img src="figs/ty_e_time_zoom.png" alt="ty_e_time_zoom.png" />
</p>
<p><span class="figure-number">Figure 5: </span>Motion of the sample and marble in the east direction when scanning with the translation stage - Zoom</p>
<p><span class="figure-number">Figure 5: </span>Velocity of the sample and marble in the east direction when scanning with the translation stage - Zoom</p>
</div>
</div>
</div>
<div id="outline-container-org1ada52f" class="outline-3">
<h3 id="org1ada52f"><span class="section-number-3">2.3</span> Frequency Domain analysis</h3>
<div class="outline-text-3" id="text-2-3">
<div id="outline-container-orgbbc14c0" class="outline-3">
<h3 id="orgbbc14c0"><span class="section-number-3">2.4</span> Frequency Domain analysis</h3>
<div class="outline-text-3" id="text-2-4">
<p>
We first compute some parameters that will be used for the PSD computation.
</p>
@ -525,12 +546,12 @@ And for the geophone located at the sample position.
</div>
<p>
And we plot the ASD of the measured signals:
And we plot the ASD of the measured velocities:
</p>
<ul class="org-ul">
<li>figure <a href="#orgcdc360c">6</a> compares the marble motion in the east direction when scanning and when Ty is OFF</li>
<li>figure <a href="#org7a15478">7</a> compares the sample motion in the east direction when scanning and when Ty is OFF</li>
<li>figure <a href="#orge54908e">8</a> shows the marble and sample motion in the Z direction when scanning with the translation stage</li>
<li>figure <a href="#org07479f1">6</a> compares the marble velocity in the east direction when scanning and when Ty is OFF</li>
<li>figure <a href="#orgfe0db70">7</a> compares the sample velocity in the east direction when scanning and when Ty is OFF</li>
<li>figure <a href="#org36cae29">8</a> shows the marble and sample velocities in the Z direction when scanning with the translation stage</li>
</ul>
<div class="org-src-container">
@ -541,17 +562,17 @@ plot<span class="org-rainbow-delimiters-depth-1">(</span>f, sqrt<span class="org
hold off;
<span class="org-type">set</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">gca</span>, <span class="org-string">'xscale', 'log'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
<span class="org-type">set</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">gca</span>, <span class="org-string">'yscale', 'log'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Frequency </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">Hz</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'</span>ASD of the measured Voltage $<span class="org-type">\</span>left<span class="org-rainbow-delimiters-depth-2">[</span><span class="org-type">\</span>frac<span class="org-rainbow-delimiters-depth-3">{</span>V<span class="org-rainbow-delimiters-depth-3">}{</span><span class="org-type">\</span>sqrt<span class="org-rainbow-delimiters-depth-4">{</span>Hz<span class="org-rainbow-delimiters-depth-4">}</span><span class="org-rainbow-delimiters-depth-3">}</span><span class="org-type">\</span>right<span class="org-rainbow-delimiters-depth-2">]</span>$'<span class="org-rainbow-delimiters-depth-1">)</span>
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Frequency </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">Hz</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'</span>ASD of the measured velocity $<span class="org-type">\</span>left<span class="org-rainbow-delimiters-depth-2">[</span><span class="org-type">\</span>frac<span class="org-rainbow-delimiters-depth-3">{</span>m<span class="org-type">/</span>s<span class="org-rainbow-delimiters-depth-3">}{</span><span class="org-type">\</span>sqrt<span class="org-rainbow-delimiters-depth-4">{</span>Hz<span class="org-rainbow-delimiters-depth-4">}</span><span class="org-rainbow-delimiters-depth-3">}</span><span class="org-type">\</span>right<span class="org-rainbow-delimiters-depth-2">]</span>$'<span class="org-rainbow-delimiters-depth-1">)</span>
legend<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Location', 'northwest'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">500</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>; ylim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">1e</span><span class="org-type">-</span><span class="org-highlight-numbers-number">5</span>, <span class="org-highlight-numbers-number">1e1</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">500</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
<div id="orgcdc360c" class="figure">
<div id="org07479f1" class="figure">
<p><img src="figs/asd_east_marble.png" alt="asd_east_marble.png" />
</p>
<p><span class="figure-number">Figure 6: </span>Amplitude spectral density of the measure voltage corresponding to the geophone in the east direction located on the marble when the translation stage is OFF and when it is scanning at 1Hz</p>
<p><span class="figure-number">Figure 6: </span>Amplitude spectral density of the measured velocities corresponding to the geophone in the east direction located on the marble when the translation stage is OFF and when it is scanning at 1Hz</p>
</div>
@ -563,17 +584,17 @@ plot<span class="org-rainbow-delimiters-depth-1">(</span>f, sqrt<span class="org
hold off;
<span class="org-type">set</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">gca</span>, <span class="org-string">'xscale', 'log'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
<span class="org-type">set</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">gca</span>, <span class="org-string">'yscale', 'log'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Frequency </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">Hz</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'</span>ASD of the measured Voltage $<span class="org-type">\</span>left<span class="org-rainbow-delimiters-depth-2">[</span><span class="org-type">\</span>frac<span class="org-rainbow-delimiters-depth-3">{</span>V<span class="org-rainbow-delimiters-depth-3">}{</span><span class="org-type">\</span>sqrt<span class="org-rainbow-delimiters-depth-4">{</span>Hz<span class="org-rainbow-delimiters-depth-4">}</span><span class="org-rainbow-delimiters-depth-3">}</span><span class="org-type">\</span>right<span class="org-rainbow-delimiters-depth-2">]</span>$'<span class="org-rainbow-delimiters-depth-1">)</span>
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Frequency </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">Hz</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'</span>ASD of the measured velocity $<span class="org-type">\</span>left<span class="org-rainbow-delimiters-depth-2">[</span><span class="org-type">\</span>frac<span class="org-rainbow-delimiters-depth-3">{</span>m<span class="org-type">/</span>s<span class="org-rainbow-delimiters-depth-3">}{</span><span class="org-type">\</span>sqrt<span class="org-rainbow-delimiters-depth-4">{</span>Hz<span class="org-rainbow-delimiters-depth-4">}</span><span class="org-rainbow-delimiters-depth-3">}</span><span class="org-type">\</span>right<span class="org-rainbow-delimiters-depth-2">]</span>$'<span class="org-rainbow-delimiters-depth-1">)</span>
legend<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Location', 'northwest'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">500</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>; ylim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">1e</span><span class="org-type">-</span><span class="org-highlight-numbers-number">5</span>, <span class="org-highlight-numbers-number">1e1</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
<div id="org7a15478" class="figure">
<div id="orgfe0db70" class="figure">
<p><img src="figs/asd_east_sample.png" alt="asd_east_sample.png" />
</p>
<p><span class="figure-number">Figure 7: </span>Amplitude spectral density of the measure voltage corresponding to the geophone in the east direction located at the sample location when the translation stage is OFF and when it is scanning at 1Hz</p>
<p><span class="figure-number">Figure 7: </span>Amplitude spectral density of the measured velocities corresponding to the geophone in the east direction located at the sample location when the translation stage is OFF and when it is scanning at 1Hz</p>
</div>
@ -587,12 +608,12 @@ hold off;
<span class="org-type">set</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">gca</span>, <span class="org-string">'yscale', 'log'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Frequency </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">Hz</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'</span>ASD of the measured Voltage $<span class="org-type">\</span>left<span class="org-rainbow-delimiters-depth-2">[</span><span class="org-type">\</span>frac<span class="org-rainbow-delimiters-depth-3">{</span>V<span class="org-rainbow-delimiters-depth-3">}{</span><span class="org-type">\</span>sqrt<span class="org-rainbow-delimiters-depth-4">{</span>Hz<span class="org-rainbow-delimiters-depth-4">}</span><span class="org-rainbow-delimiters-depth-3">}</span><span class="org-type">\</span>right<span class="org-rainbow-delimiters-depth-2">]</span>$'<span class="org-rainbow-delimiters-depth-1">)</span>
legend<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Location', 'northwest'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">500</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>; ylim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">1e</span><span class="org-type">-</span><span class="org-highlight-numbers-number">5</span>, <span class="org-highlight-numbers-number">1e1</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">500</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
<div id="orge54908e" class="figure">
<div id="org36cae29" class="figure">
<p><img src="figs/asd_z_direction.png" alt="asd_z_direction.png" />
</p>
<p><span class="figure-number">Figure 8: </span>Amplitude spectral density of the measure voltage corresponding to the geophone in the vertical direction located on the granite and at the sample location when the translation stage is scanning at 1Hz</p>
@ -600,15 +621,15 @@ xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbo
</div>
</div>
<div id="outline-container-org9c3b00c" class="outline-3">
<h3 id="org9c3b00c"><span class="section-number-3">2.4</span> Transfer function from marble motion in the East direction to sample motion in the East direction</h3>
<div class="outline-text-3" id="text-2-4">
<div id="outline-container-orgae3e2d3" class="outline-3">
<h3 id="orgae3e2d3"><span class="section-number-3">2.5</span> Transfer function from marble motion in the East direction to sample motion in the East direction</h3>
<div class="outline-text-3" id="text-2-5">
<p>
Let's compute the transfer function for the marble motion in the east direction to the sample motion in the east direction.
Let's compute the transfer function for the marble velocity in the east direction to the sample velocity in the east direction.
</p>
<p>
We first plot the time domain motions when every stage is off (figure <a href="#orge1584e0">9</a>).
We first plot the time domain motions when every stage is off (figure <a href="#orge1188dc">9</a>).
</p>
<div class="org-src-container">
@ -617,17 +638,17 @@ hold on;
plot<span class="org-rainbow-delimiters-depth-1">(</span>e_of<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-2">)</span>, e_of<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-2">)</span>, <span class="org-string">'DisplayName', 'Sample - X'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
plot<span class="org-rainbow-delimiters-depth-1">(</span>e_of<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-2">)</span>, e_of<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-2">)</span>, <span class="org-string">'DisplayName', 'Marble - X'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
hold off;
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Time </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">s</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'Voltage </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">V</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>, <span class="org-highlight-numbers-number">100</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>; ylim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-type">-</span><span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
legend<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Location', 'northeast'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Time </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">s</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'Velocity </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">m/s</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>, <span class="org-highlight-numbers-number">100</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
legend<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Location', 'southwest'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
<div id="orge1584e0" class="figure">
<div id="orge1188dc" class="figure">
<p><img src="figs/east_marble_sample.png" alt="east_marble_sample.png" />
</p>
<p><span class="figure-number">Figure 9: </span>East motion of the marble and sample when all the stages are OFF</p>
<p><span class="figure-number">Figure 9: </span>Velocity in the east direction of the marble and sample when all the stages are OFF</p>
</div>
@ -645,28 +666,28 @@ win = hanning<span class="org-rainbow-delimiters-depth-1">(</span>ceil<span clas
<p>
The result is shown on figure <a href="#org2a92c0e">10</a>.
The result is shown on figure <a href="#org919ea41">10</a>.
</p>
<div id="org2a92c0e" class="figure">
<div id="org919ea41" class="figure">
<p><img src="figs/tf_east_marble_sample.png" alt="tf_east_marble_sample.png" />
</p>
<p><span class="figure-number">Figure 10: </span>Estimation of the transfer function from marble motion in the east direction to sample motion in the east direction</p>
<p><span class="figure-number">Figure 10: </span>Estimation of the transfer function from marble velocity in the east direction to sample velocity in the east direction</p>
</div>
</div>
</div>
<div id="outline-container-org1512497" class="outline-3">
<h3 id="org1512497"><span class="section-number-3">2.5</span> Position of the translation stage and Current</h3>
<div class="outline-text-3" id="text-2-5">
<div id="outline-container-org577441f" class="outline-3">
<h3 id="org577441f"><span class="section-number-3">2.6</span> Position of the translation stage and Current</h3>
<div class="outline-text-3" id="text-2-6">
<p>
The position of the translation and current flowing in its actuator are measured using the elmo software and saved as an csv file.
</p>
</div>
<div id="outline-container-org1f1e19b" class="outline-4">
<h4 id="org1f1e19b"><span class="section-number-4">2.5.1</span> Data pre-processing</h4>
<div class="outline-text-4" id="text-2-5-1">
<div id="outline-container-orgc9e7589" class="outline-4">
<h4 id="orgc9e7589"><span class="section-number-4">2.6.1</span> Data pre-processing</h4>
<div class="outline-text-4" id="text-2-6-1">
<p>
Let's look at at the start of the csv file.
</p>
@ -688,13 +709,13 @@ We then load this <code>cvs</code> file starting at line 29.
</div>
</div>
<div id="outline-container-org7b8bb62" class="outline-4">
<h4 id="org7b8bb62"><span class="section-number-4">2.5.2</span> Time domain data</h4>
<div class="outline-text-4" id="text-2-5-2">
<div id="outline-container-org424f5e2" class="outline-4">
<h4 id="org424f5e2"><span class="section-number-4">2.6.2</span> Time domain data</h4>
<div class="outline-text-4" id="text-2-6-2">
<p>
We plot the position of the translation stage measured by the encoders.
There is 200000 encoder count for each mm, we then divide by 200000 to obtain mm.
The result is shown on figure <a href="#orgbfc9bb3">11</a>.
The result is shown on figure <a href="#org706ebc4">11</a>.
</p>
<div class="org-src-container">
@ -708,21 +729,21 @@ xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-stri
</div>
<div id="orgbfc9bb3" class="figure">
<div id="org706ebc4" class="figure">
<p><img src="figs/ty_position_time.png" alt="ty_position_time.png" />
</p>
<p><span class="figure-number">Figure 11: </span>Y position of the translation stage measured by the encoders</p>
</div>
<div id="orgef12336" class="figure">
<div id="orge94268a" class="figure">
<p><img src="figs/ty_position_time_zoom.png" alt="ty_position_time_zoom.png" />
</p>
<p><span class="figure-number">Figure 12: </span>Y position of the translation stage measured by the encoders - Zoom</p>
</div>
<p>
We also plot the current as function of the time on figure <a href="#org4606174">13</a>.
We also plot the current as function of the time on figure <a href="#org4b3d2c9">13</a>.
</p>
<div class="org-src-container">
@ -736,14 +757,14 @@ xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-stri
</div>
<div id="org4606174" class="figure">
<div id="org4b3d2c9" class="figure">
<p><img src="figs/current_time.png" alt="current_time.png" />
</p>
<p><span class="figure-number">Figure 13: </span>Current going through the actuator of the translation stage</p>
</div>
<div id="org677343d" class="figure">
<div id="orgdd07d0a" class="figure">
<p><img src="figs/current_time_zoom.png" alt="current_time_zoom.png" />
</p>
<p><span class="figure-number">Figure 14: </span>Current going through the actuator of the translation stage - Zoom</p>
@ -752,9 +773,9 @@ xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-stri
</div>
</div>
<div id="outline-container-org066b822" class="outline-3">
<h3 id="org066b822"><span class="section-number-3">2.6</span> Conclusion</h3>
<div class="outline-text-3" id="text-2-6">
<div id="outline-container-orgcb24d9f" class="outline-3">
<h3 id="orgcb24d9f"><span class="section-number-3">2.7</span> Conclusion</h3>
<div class="outline-text-3" id="text-2-7">
<div class="important">
<ul class="org-ul">
<li>The acquisition is done using the Speedgoat as well as using ELMO. The two acquisition are <b>not</b> synchronize</li>
@ -768,7 +789,7 @@ xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-stri
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2019-05-14 mar. 14:09</p>
<p class="date">Created: 2019-05-14 mar. 17:20</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -102,11 +102,11 @@ Each of the measurement =mat= file contains one =data= array with 3 columns:
** 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>>
<<matlab-dir>>
#+end_src
#+begin_src matlab :exports none :results silent :noweb yes
<<matlab-init>>
<<matlab-init>>
#+end_src
** Load data
@ -116,6 +116,19 @@ Each of the measurement =mat= file contains one =data= array with 3 columns:
e_of = load('mat/data_042.mat', 'data'); e_of = e_of.data;
#+end_src
** Voltage to Velocity
We convert the measured voltage to velocity using the function =voltageToVelocityL22= (accessible [[file:~/MEGA/These/meas/src/index.org][here]]).
#+begin_src matlab
z_ty(:, 1) = voltageToVelocityL22(z_ty(:, 1), z_ty(:, 3), 40);
e_ty(:, 1) = voltageToVelocityL22(e_ty(:, 1), e_ty(:, 3), 40);
e_of(:, 1) = voltageToVelocityL22(e_of(:, 1), e_of(:, 3), 40);
z_ty(:, 2) = voltageToVelocityL22(z_ty(:, 2), z_ty(:, 3), 40);
e_ty(:, 2) = voltageToVelocityL22(e_ty(:, 2), e_ty(:, 3), 40);
e_of(:, 2) = voltageToVelocityL22(e_of(:, 2), e_of(:, 3), 40);
#+end_src
** Time domain plots
#+begin_src matlab
figure;
@ -123,8 +136,8 @@ Each of the measurement =mat= file contains one =data= array with 3 columns:
plot(z_ty(:, 3), z_ty(:, 1), 'DisplayName', 'Marble - Z');
plot(z_ty(:, 3), z_ty(:, 2), 'DisplayName', 'Sample - Z');
hold off;
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0, 100]); ylim([-5, 5]);
xlabel('Time [s]'); ylabel('Velocity [m/s]');
xlim([0, 100]);
legend('Location', 'northeast');
#+end_src
@ -135,12 +148,12 @@ Each of the measurement =mat= file contains one =data= array with 3 columns:
#+end_src
#+NAME: fig:ty_z_time
#+CAPTION: Z motion of the sample and marble when scanning with the translation stage
#+CAPTION: Z velocity of the sample and marble when scanning with the translation stage
#+RESULTS: fig:ty_z_time
[[file:figs/ty_z_time.png]]
#+begin_src matlab :exports none
xlim([0, 1])
xlim([0, 1]);
#+end_src
#+NAME: fig:ty_z_time_zoom
@ -150,7 +163,7 @@ Each of the measurement =mat= file contains one =data= array with 3 columns:
#+end_src
#+NAME: fig:ty_z_time_zoom
#+CAPTION: Z motion of the sample and marble when scanning with the translation stage - Zoom
#+CAPTION: Z velocity of the sample and marble when scanning with the translation stage - Zoom
#+RESULTS: fig:ty_z_time_zoom
[[file:figs/ty_z_time_zoom.png]]
@ -161,8 +174,8 @@ Each of the measurement =mat= file contains one =data= array with 3 columns:
plot(e_ty(:, 3), e_ty(:, 1), 'DisplayName', 'Marble - X');
plot(e_ty(:, 3), e_ty(:, 2), 'DisplayName', 'Sample - X');
hold off;
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0, 100]); ylim([-10, 10]);
xlabel('Time [s]'); ylabel('Velocity [m/s]');
xlim([0, 100]);
legend('Location', 'northeast');
#+end_src
@ -173,7 +186,7 @@ Each of the measurement =mat= file contains one =data= array with 3 columns:
#+end_src
#+NAME: fig:ty_e_time
#+CAPTION: Motion of the sample and marble in the east direction when scanning with the translation stage
#+CAPTION: Velocity of the sample and marble in the east direction when scanning with the translation stage
#+RESULTS: fig:ty_e_time
[[file:figs/ty_e_time.png]]
@ -188,11 +201,16 @@ Each of the measurement =mat= file contains one =data= array with 3 columns:
#+end_src
#+NAME: fig:ty_e_time_zoom
#+CAPTION: Motion of the sample and marble in the east direction when scanning with the translation stage - Zoom
#+CAPTION: Velocity of the sample and marble in the east direction when scanning with the translation stage - Zoom
#+RESULTS: fig:ty_e_time_zoom
[[file:figs/ty_e_time_zoom.png]]
** Frequency Domain analysis
We get the typical ground velocity to compare with the velocities measured.
#+begin_src matlab
[pxx_gm, f_gm] = getPSDGroundVelocity();
#+end_src
We first compute some parameters that will be used for the PSD computation.
#+begin_src matlab
dt = z_ty(2, 3)-z_ty(1, 3);
@ -218,22 +236,23 @@ And for the geophone located at the sample position.
[pxe_of_s, ~] = pwelch(e_of(:, 2), win, [], [], Fs);
#+end_src
And we plot the ASD of the measured signals:
- figure [[fig:asd_east_marble]] compares the marble motion in the east direction when scanning and when Ty is OFF
- figure [[fig:asd_east_sample]] compares the sample motion in the east direction when scanning and when Ty is OFF
- figure [[fig:asd_z_direction]] shows the marble and sample motion in the Z direction when scanning with the translation stage
And we plot the ASD of the measured velocities:
- figure [[fig:asd_east_marble]] compares the marble velocity in the east direction when scanning and when Ty is OFF
- figure [[fig:asd_east_sample]] compares the sample velocity in the east direction when scanning and when Ty is OFF
- figure [[fig:asd_z_direction]] shows the marble and sample velocities in the Z direction when scanning with the translation stage
#+begin_src matlab
figure;
hold on;
plot(f, sqrt(pxe_ty_m), 'DisplayName', 'Ty 1Hz - Marble - X');
plot(f, sqrt(pxe_of_m), 'DisplayName', 'Ty OFF - Marble - X');
plot(f_gm, sqrt(pxx_gm), 'k--', 'DisplayName', 'Ground Motion');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD of the measured Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$')
xlabel('Frequency [Hz]'); ylabel('ASD of the measured velocity $\left[\frac{m/s}{\sqrt{Hz}}\right]$')
legend('Location', 'northwest');
xlim([0.1, 500]); ylim([1e-5, 1e1]);
xlim([0.1, 500]);
#+end_src
#+NAME: fig:asd_east_marble
@ -243,7 +262,7 @@ And we plot the ASD of the measured signals:
#+end_src
#+NAME: fig:asd_east_marble
#+CAPTION: Amplitude spectral density of the measure voltage corresponding to the geophone in the east direction located on the marble when the translation stage is OFF and when it is scanning at 1Hz
#+CAPTION: Amplitude spectral density of the measured velocities corresponding to the geophone in the east direction located on the marble when the translation stage is OFF and when it is scanning at 1Hz
#+RESULTS: fig:asd_east_marble
[[file:figs/asd_east_marble.png]]
@ -253,12 +272,13 @@ And we plot the ASD of the measured signals:
hold on;
plot(f, sqrt(pxe_ty_s), 'DisplayName', 'Ty 1Hz - Sample - X');
plot(f, sqrt(pxe_of_s), 'DisplayName', 'Ty OFF - Sample - X');
plot(f_gm, sqrt(pxx_gm), 'k--', 'DisplayName', 'Ground Motion');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD of the measured Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$')
xlabel('Frequency [Hz]'); ylabel('ASD of the measured velocity $\left[\frac{m/s}{\sqrt{Hz}}\right]$')
legend('Location', 'northwest');
xlim([0.1, 500]); ylim([1e-5, 1e1]);
xlim([0.1, 500]);
#+end_src
#+NAME: fig:asd_east_sample
@ -268,7 +288,7 @@ And we plot the ASD of the measured signals:
#+end_src
#+NAME: fig:asd_east_sample
#+CAPTION: Amplitude spectral density of the measure voltage corresponding to the geophone in the east direction located at the sample location when the translation stage is OFF and when it is scanning at 1Hz
#+CAPTION: Amplitude spectral density of the measured velocities corresponding to the geophone in the east direction located at the sample location when the translation stage is OFF and when it is scanning at 1Hz
#+RESULTS: fig:asd_east_sample
[[file:figs/asd_east_sample.png]]
@ -278,12 +298,13 @@ And we plot the ASD of the measured signals:
hold on;
plot(f, sqrt(pxz_ty_m), 'DisplayName', 'Ty 1Hz - Marble - Z');
plot(f, sqrt(pxz_ty_s), 'DisplayName', 'Ty 1Hz - Sample - Z');
plot(f_gm, sqrt(pxx_gm), 'k--', 'DisplayName', 'Ground Motion');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD of the measured Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$')
legend('Location', 'northwest');
xlim([0.1, 500]); ylim([1e-5, 1e1]);
xlim([0.1, 500]);
#+end_src
#+NAME: fig:asd_z_direction
@ -298,7 +319,7 @@ And we plot the ASD of the measured signals:
[[file:figs/asd_z_direction.png]]
** Transfer function from marble motion in the East direction to sample motion in the East direction
Let's compute the transfer function for the marble motion in the east direction to the sample motion in the east direction.
Let's compute the transfer function for the marble velocity in the east direction to the sample velocity in the east direction.
We first plot the time domain motions when every stage is off (figure [[fig:east_marble_sample]]).
@ -308,9 +329,9 @@ We first plot the time domain motions when every stage is off (figure [[fig:east
plot(e_of(:, 3), e_of(:, 2), 'DisplayName', 'Sample - X');
plot(e_of(:, 3), e_of(:, 1), 'DisplayName', 'Marble - X');
hold off;
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0, 100]); ylim([-1, 1]);
legend('Location', 'northeast');
xlabel('Time [s]'); ylabel('Velocity [m/s]');
xlim([0, 100]);
legend('Location', 'southwest');
#+end_src
#+NAME: fig:east_marble_sample
@ -320,7 +341,7 @@ We first plot the time domain motions when every stage is off (figure [[fig:east
#+end_src
#+NAME: fig:east_marble_sample
#+CAPTION: East motion of the marble and sample when all the stages are OFF
#+CAPTION: Velocity in the east direction of the marble and sample when all the stages are OFF
#+RESULTS: fig:east_marble_sample
[[file:figs/east_marble_sample.png]]
@ -366,7 +387,7 @@ The result is shown on figure [[fig:tf_east_marble_sample]].
#+end_src
#+NAME: fig:tf_east_marble_sample
#+CAPTION: Estimation of the transfer function from marble motion in the east direction to sample motion in the east direction
#+CAPTION: Estimation of the transfer function from marble velocity in the east direction to sample velocity in the east direction
#+RESULTS: fig:tf_east_marble_sample
[[file:figs/tf_east_marble_sample.png]]

View File

@ -10,6 +10,18 @@ z_ty = load('mat/data_040.mat', 'data'); z_ty = z_ty.data;
e_ty = load('mat/data_041.mat', 'data'); e_ty = e_ty.data;
e_of = load('mat/data_042.mat', 'data'); e_of = e_of.data;
% Voltage to Velocity
% We convert the measured voltage to velocity using the function =voltageToVelocityL22= (accessible [[file:~/MEGA/These/meas/src/index.org][here]]).
z_ty(:, 1) = voltageToVelocityL22(z_ty(:, 1), z_ty(:, 3), 40);
e_ty(:, 1) = voltageToVelocityL22(e_ty(:, 1), e_ty(:, 3), 40);
e_of(:, 1) = voltageToVelocityL22(e_of(:, 1), e_of(:, 3), 40);
z_ty(:, 2) = voltageToVelocityL22(z_ty(:, 2), z_ty(:, 3), 40);
e_ty(:, 2) = voltageToVelocityL22(e_ty(:, 2), e_ty(:, 3), 40);
e_of(:, 2) = voltageToVelocityL22(e_of(:, 2), e_of(:, 3), 40);
% Time domain plots
figure;
@ -17,24 +29,24 @@ hold on;
plot(z_ty(:, 3), z_ty(:, 1), 'DisplayName', 'Marble - Z');
plot(z_ty(:, 3), z_ty(:, 2), 'DisplayName', 'Sample - Z');
hold off;
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0, 100]); ylim([-5, 5]);
xlabel('Time [s]'); ylabel('Velocity [m/s]');
xlim([0, 100]);
legend('Location', 'northeast');
% #+NAME: fig:ty_z_time
% #+CAPTION: Z motion of the sample and marble when scanning with the translation stage
% #+CAPTION: Z velocity of the sample and marble when scanning with the translation stage
% #+RESULTS: fig:ty_z_time
% [[file:figs/ty_z_time.png]]
xlim([0, 1])
xlim([0, 1]);
% #+NAME: fig:ty_z_time_zoom
% #+CAPTION: Z motion of the sample and marble when scanning with the translation stage - Zoom
% #+CAPTION: Z velocity of the sample and marble when scanning with the translation stage - Zoom
% #+RESULTS: fig:ty_z_time_zoom
% [[file:figs/ty_z_time_zoom.png]]
@ -45,14 +57,14 @@ hold on;
plot(e_ty(:, 3), e_ty(:, 1), 'DisplayName', 'Marble - X');
plot(e_ty(:, 3), e_ty(:, 2), 'DisplayName', 'Sample - X');
hold off;
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0, 100]); ylim([-10, 10]);
xlabel('Time [s]'); ylabel('Velocity [m/s]');
xlim([0, 100]);
legend('Location', 'northeast');
% #+NAME: fig:ty_e_time
% #+CAPTION: Motion of the sample and marble in the east direction when scanning with the translation stage
% #+CAPTION: Velocity of the sample and marble in the east direction when scanning with the translation stage
% #+RESULTS: fig:ty_e_time
% [[file:figs/ty_e_time.png]]
@ -60,6 +72,12 @@ legend('Location', 'northeast');
xlim([0, 1])
% Frequency Domain analysis
% We get the typical ground velocity to compare with the velocities measured.
[pxx_gm, f_gm] = getPSDGroundVelocity();
% We first compute some parameters that will be used for the PSD computation.
dt = z_ty(2, 3)-z_ty(1, 3);
@ -88,27 +106,28 @@ win = hanning(ceil(10*Fs));
% And we plot the ASD of the measured signals:
% - figure [[fig:asd_east_marble]] compares the marble motion in the east direction when scanning and when Ty is OFF
% - figure [[fig:asd_east_sample]] compares the sample motion in the east direction when scanning and when Ty is OFF
% - figure [[fig:asd_z_direction]] shows the marble and sample motion in the Z direction when scanning with the translation stage
% And we plot the ASD of the measured velocities:
% - figure [[fig:asd_east_marble]] compares the marble velocity in the east direction when scanning and when Ty is OFF
% - figure [[fig:asd_east_sample]] compares the sample velocity in the east direction when scanning and when Ty is OFF
% - figure [[fig:asd_z_direction]] shows the marble and sample velocities in the Z direction when scanning with the translation stage
figure;
hold on;
plot(f, sqrt(pxe_ty_m), 'DisplayName', 'Ty 1Hz - Marble - X');
plot(f, sqrt(pxe_of_m), 'DisplayName', 'Ty OFF - Marble - X');
plot(f_gm, sqrt(pxx_gm), 'k--', 'DisplayName', 'Ground Motion');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD of the measured Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$')
xlabel('Frequency [Hz]'); ylabel('ASD of the measured velocity $\left[\frac{m/s}{\sqrt{Hz}}\right]$')
legend('Location', 'northwest');
xlim([0.1, 500]); ylim([1e-5, 1e1]);
xlim([0.1, 500]);
% #+NAME: fig:asd_east_marble
% #+CAPTION: Amplitude spectral density of the measure voltage corresponding to the geophone in the east direction located on the marble when the translation stage is OFF and when it is scanning at 1Hz
% #+CAPTION: Amplitude spectral density of the measured velocities corresponding to the geophone in the east direction located on the marble when the translation stage is OFF and when it is scanning at 1Hz
% #+RESULTS: fig:asd_east_marble
% [[file:figs/asd_east_marble.png]]
@ -118,17 +137,18 @@ figure;
hold on;
plot(f, sqrt(pxe_ty_s), 'DisplayName', 'Ty 1Hz - Sample - X');
plot(f, sqrt(pxe_of_s), 'DisplayName', 'Ty OFF - Sample - X');
plot(f_gm, sqrt(pxx_gm), 'k--', 'DisplayName', 'Ground Motion');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD of the measured Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$')
xlabel('Frequency [Hz]'); ylabel('ASD of the measured velocity $\left[\frac{m/s}{\sqrt{Hz}}\right]$')
legend('Location', 'northwest');
xlim([0.1, 500]); ylim([1e-5, 1e1]);
xlim([0.1, 500]);
% #+NAME: fig:asd_east_sample
% #+CAPTION: Amplitude spectral density of the measure voltage corresponding to the geophone in the east direction located at the sample location when the translation stage is OFF and when it is scanning at 1Hz
% #+CAPTION: Amplitude spectral density of the measured velocities corresponding to the geophone in the east direction located at the sample location when the translation stage is OFF and when it is scanning at 1Hz
% #+RESULTS: fig:asd_east_sample
% [[file:figs/asd_east_sample.png]]
@ -138,15 +158,16 @@ figure;
hold on;
plot(f, sqrt(pxz_ty_m), 'DisplayName', 'Ty 1Hz - Marble - Z');
plot(f, sqrt(pxz_ty_s), 'DisplayName', 'Ty 1Hz - Sample - Z');
plot(f_gm, sqrt(pxx_gm), 'k--', 'DisplayName', 'Ground Motion');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD of the measured Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$')
legend('Location', 'northwest');
xlim([0.1, 500]); ylim([1e-5, 1e1]);
xlim([0.1, 500]);
% Transfer function from marble motion in the East direction to sample motion in the East direction
% Let's compute the transfer function for the marble motion in the east direction to the sample motion in the east direction.
% Let's compute the transfer function for the marble velocity in the east direction to the sample velocity in the east direction.
% We first plot the time domain motions when every stage is off (figure [[fig:east_marble_sample]]).
@ -156,14 +177,14 @@ hold on;
plot(e_of(:, 3), e_of(:, 2), 'DisplayName', 'Sample - X');
plot(e_of(:, 3), e_of(:, 1), 'DisplayName', 'Marble - X');
hold off;
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0, 100]); ylim([-1, 1]);
legend('Location', 'northeast');
xlabel('Time [s]'); ylabel('Velocity [m/s]');
xlim([0, 100]);
legend('Location', 'southwest');
% #+NAME: fig:east_marble_sample
% #+CAPTION: East motion of the marble and sample when all the stages are OFF
% #+CAPTION: Velocity in the east direction of the marble and sample when all the stages are OFF
% #+RESULTS: fig:east_marble_sample
% [[file:figs/east_marble_sample.png]]

View File

@ -36,6 +36,10 @@ This Matlab function is accessible [[file:voltageToVelocityL22.m][here]].
S = S0*(s/2/pi/f0)/(1+s/2/pi/f0);
#+end_src
#+begin_src matlab
voltage = detrend(voltage);
#+end_src
#+begin_src matlab
velocity = lsim((S*10^(gain/20))\1, voltage, time);
#+end_src
@ -70,9 +74,128 @@ This Matlab function is accessible [[file:voltageToDisplacementL22.m][here]].
#+end_src
#+begin_src matlab
voltage = voltage - mean(voltage);
velocity = voltageToVelocityL22(voltage, time, gain);
disp = lsim(1/s, velocity, time);
#+end_src
* getGroundVelocity
:PROPERTIES:
:header-args:matlab+: :tangle getGroundVelocity.m
:header-args:matlab+: :comments org :mkdirp yes
:header-args:matlab+: :eval no :results none
:END:
<<sec:getGroundVelocity>>
This Matlab function is accessible [[file:getGroundVelocity.m][here]].
#+begin_src matlab
function [time, velocity] = getGroundVelocity()
% getGroundVelocity -
%
% Syntax: [time, velocity] = voltageToVelocityL22()
%
% Inputs:
% - -
%
% Outputs:
% - time - in [s]
% - velocity - in [m/s]
current_dir = pwd;
src_dir = mfilename('fullpath');
src_dir = strsplit(src_dir, '/');
src_dir = strjoin(src_dir(1:end-1), '/');
cd(src_dir);
data = load('mat/data_028.mat', 'data'); data = data.data;
time = data(:, 3);
[velocity] = voltageToVelocityL22(data(:, 1), time, 60);
cd(current_dir);
end
#+end_src
* getGroundDisplacement
:PROPERTIES:
:header-args:matlab+: :tangle getGroundDisplacement.m
:header-args:matlab+: :comments org :mkdirp yes
:header-args:matlab+: :eval no :results none
:END:
<<sec:getGroundDisplacement>>
This Matlab function is accessible [[file:getGroundDisplacement.m][here]].
#+begin_src matlab
function [time, displacement] = getGroundDisplacement()
% getGroundDisplacement -
%
% Syntax: [time, displacement] = voltageToVelocityL22()
%
% Inputs:
% - -
%
% Outputs:
% - time - in [s]
% - displacement - in [m]
s = zpk('s');
[time, velocity] = getGroundVelocity();
displacement = lsim(1/s, velocity, time);
end
#+end_src
* getPSDGroundVelocity
:PROPERTIES:
:header-args:matlab+: :tangle getPSDGroundVelocity.m
:header-args:matlab+: :comments org :mkdirp yes
:header-args:matlab+: :eval no :results none
:END:
<<sec:getPSDGroundVelocity>>
This Matlab function is accessible [[file:getPSDGroundVelocity.m][here]].
#+begin_src matlab
function [pxx, f] = getPSDGroundVelocity()
% getPSDGroundVelocity -
%
% Syntax: [pxx, f] = voltageToVelocityL22(in_data)
%
% Outputs:
% - psd -
% - f -
[time, velocity] = getGroundVelocity();
dt = time(2) - time(1);
Fs = 1/dt;
win = hanning(ceil(10*Fs));
[pxx, f] = pwelch(velocity, win, [], [], Fs);
#+end_src
* getPSDGroundDisplacement
:PROPERTIES:
:header-args:matlab+: :tangle getPSDGroundDisplacement.m
:header-args:matlab+: :comments org :mkdirp yes
:header-args:matlab+: :eval no :results none
:END:
<<sec:getPSDGroundDisplacement>>
This Matlab function is accessible [[file:getPSDGroundDisplacement.m][here]].
#+begin_src matlab
function [pxx, f] = getPSDGroundDisplacement()
% getPSDGroundDisplacement -
%
% Syntax: [pxx, f] = voltageToVelocityL22(in_data)
%
% Outputs:
% - pxx -
% - f -
[pxx, f] = getPSDGroundVelocity();
pxx = (sqrt(pxx)./(2*pi*f)).^2;
#+end_src

View File

@ -13,8 +13,6 @@ function [disp] = voltageToDisplacementL22(voltage, time, gain)
s = zpk('s');
voltage = voltage - mean(voltage);
velocity = voltageToVelocityL22(voltage, time, gain);
disp = lsim(1/s, velocity, time);

View File

@ -18,4 +18,6 @@ f0 = 2; % Cut-off frequnecy [Hz]
S = S0*(s/2/pi/f0)/(1+s/2/pi/f0);
voltage = detrend(voltage);
velocity = lsim((S*10^(gain/20))\1, voltage, time);