nass-micro-station-measurem.../2018-10-15 - Marc/index.html

999 lines
33 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>
<!-- 2020-11-12 jeu. 10:27 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Measurement Analysis</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Dehaeze Thomas" />
<link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
<script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
</head>
<body>
<div id="org-div-home-and-up">
<a accesskey="h" href="../index.html"> UP </a>
|
<a accesskey="H" href="../index.html"> HOME </a>
</div><div id="content">
<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="#org4b89ca1">1. Measurement Description</a></li>
<li><a href="#orga8fd9ad">2. Importation of the data</a></li>
<li><a href="#orgd2f3c71">3. Variables for analysis</a></li>
<li><a href="#org5c64001">4. Coherence between the two vertical geophones on the Tilt Stage</a></li>
<li><a href="#org61ba96a">5. Data Post Processing</a></li>
<li><a href="#org1d3ae96">6. Normalization</a></li>
<li><a href="#org381ee31">7. Measurement 1 - Effect of Ty stage</a></li>
<li><a href="#orgde80036">8. Measurement 2 - Effect of Ry stage</a></li>
<li><a href="#org340fbde">9. Measurement 3 - Effect of the Hexapod</a></li>
<li><a href="#orgeaf345c">10. Measurement 4 - Effect of the Splip-Ring and Spindle</a></li>
<li><a href="#org743054f">11. Measurement 5 - Transmission from ground to marble</a></li>
</ul>
</div>
</div>
<div class="note" id="orgbc54efa">
<p>
All the files (data and Matlab scripts) are accessible <a href="data/meas_analysis_geophones.zip">here</a>.
</p>
</div>
<div id="outline-container-org4b89ca1" class="outline-2">
<h2 id="org4b89ca1"><span class="section-number-2">1</span> Measurement Description</h2>
<div class="outline-text-2" id="text-1">
<div id="org18a91b9" class="figure">
<p><img src="./figs/setup_picture.png" alt="setup_picture.png" width="500px" />
</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-orga8fd9ad" class="outline-2">
<h2 id="orga8fd9ad"><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 = {};
meas{1} = load(<span class="org-string">'./mat/Measurement1.mat'</span>);
meas{2} = load(<span class="org-string">'./mat/Measurement2.mat'</span>);
meas{3} = load(<span class="org-string">'./mat/Measurement3.mat'</span>);
meas{4} = load(<span class="org-string">'./mat/Measurement4.mat'</span>);
meas{5} = load(<span class="org-string">'./mat/Measurement5.mat'</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{3}.Track1_Name = <span class="org-string">'Input 1: Hexa Z'</span>;
meas{4}.Track1_Name = <span class="org-string">'Input 1: Hexa Z'</span>;
</pre>
</div>
<p>
For the measurements 1 to 4, the measurement channels are shown table <a href="#orgd9ddfba">1</a>.
</p>
<table id="orgd9ddfba" 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="#orgf39e86b">2</a>.
</p>
<table id="orgf39e86b" 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-orgd2f3c71" class="outline-2">
<h2 id="orgd2f3c71"><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 = 256; <span class="org-comment">% [Hz]</span>
dt = 1<span class="org-type">/</span>(Fs);
t1 = dt<span class="org-type">*</span>(0<span class="org-type">:</span>length(meas{1}.Track1)<span class="org-type">-</span>1);
t2 = dt<span class="org-type">*</span>(0<span class="org-type">:</span>length(meas{2}.Track1)<span class="org-type">-</span>1);
t3 = dt<span class="org-type">*</span>(0<span class="org-type">:</span>length(meas{3}.Track1)<span class="org-type">-</span>1);
t4 = dt<span class="org-type">*</span>(0<span class="org-type">:</span>length(meas{4}.Track1)<span class="org-type">-</span>1);
t5 = dt<span class="org-type">*</span>(0<span class="org-type">:</span>length(meas{5}.Track1)<span class="org-type">-</span>1);
</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 = 1; <span class="org-comment">% [Hz]</span>
fmax = 100; <span class="org-comment">% [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(2<span class="org-type">*</span>fmin<span class="org-type">/</span>dt);
</pre>
</div>
</div>
</div>
<div id="outline-container-org5c64001" class="outline-2">
<h2 id="org5c64001"><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="#org51857d1">2</a>.
</p>
<div class="org-src-container">
<pre class="src src-matlab">[coh, f] = mscohere(meas{1}.Track1(<span class="org-type">:</span>), meas{1}.Track2(<span class="org-type">:</span>), psd_window, [], [], Fs);
</pre>
</div>
<div id="org51857d1" 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="#orgb667db6">3</a>).
</p>
<div class="org-src-container">
<pre class="src src-matlab">[tf23, f] = tfestimate(meas{1}.Track1(<span class="org-type">:</span>), meas{1}.Track2(<span class="org-type">:</span>), psd_window, [], [], Fs);
</pre>
</div>
<div id="orgb667db6" 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-org61ba96a" class="outline-2">
<h2 id="org61ba96a"><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 = (meas{1}.Track1<span class="org-type">+</span>meas{1}.Track2)<span class="org-type">/</span>2;
meas1_tilt = (meas{1}.Track1<span class="org-type">-</span>meas{1}.Track2)<span class="org-type">/</span>2;
meas{1}.Track1 = meas1_z;
meas{1}.Track1_Y_Magnitude = <span class="org-string">'Meter / second'</span>;
meas{1}.Track1_Name = <span class="org-string">'Ry Z'</span>;
meas{1}.Track2 = meas1_tilt;
meas{1}.Track2_Y_Magnitude = <span class="org-string">'Rad / second'</span>;
meas{1}.Track2_Name = <span class="org-string">'Ry Tilt'</span>;
meas2_z = (meas{2}.Track1<span class="org-type">+</span>meas{2}.Track2)<span class="org-type">/</span>2;
meas2_tilt = (meas{2}.Track1<span class="org-type">-</span>meas{2}.Track2)<span class="org-type">/</span>2;
meas{2}.Track1 = meas2_z;
meas{2}.Track1_Y_Magnitude = <span class="org-string">'Meter / second'</span>;
meas{2}.Track1_Name = <span class="org-string">'Ry Z'</span>;
meas{2}.Track2 = meas2_tilt;
meas{2}.Track2_Y_Magnitude = <span class="org-string">'Rad / second'</span>;
meas{2}.Track2_Name = <span class="org-string">'Ry Tilt'</span>;
</pre>
</div>
</div>
</div>
<div id="outline-container-org1d3ae96" class="outline-2">
<h2 id="org1d3ae96"><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="#orgb09443d">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 = 2<span class="org-type">*</span><span class="org-constant">pi</span>; <span class="org-comment">% [rad/s]</span>
L4C_ksi = 0.28;
L4C_G0 = 276.8; <span class="org-comment">% [V/(m/s)]</span>
L4C_G = L4C_G0<span class="org-type">*</span>(s<span class="org-type">/</span>L4C_w0)<span class="org-type">^</span>2<span class="org-type">/</span>((s<span class="org-type">/</span>L4C_w0)<span class="org-type">^</span>2 <span class="org-type">+</span> 2<span class="org-type">*</span>L4C_ksi<span class="org-type">*</span>(s<span class="org-type">/</span>L4C_w0) <span class="org-type">+</span> 1);
</pre>
</div>
<div id="orgb09443d" 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>
<div class="org-src-container">
<pre class="src src-matlab">meas{1}.Track1 = (meas{1}.Track1)<span class="org-type">./</span>276.8;
meas{1}.Track2 = (meas{1}.Track2)<span class="org-type">./</span>276.8;
meas{1}.Track3 = (meas{1}.Track3)<span class="org-type">./</span>276.8;
meas{2}.Track1 = (meas{2}.Track1)<span class="org-type">./</span>276.8;
meas{2}.Track2 = (meas{2}.Track2)<span class="org-type">./</span>276.8;
meas{2}.Track3 = (meas{2}.Track3)<span class="org-type">./</span>276.8;
meas{3}.Track1 = (meas{3}.Track1)<span class="org-type">./</span>276.8;
meas{3}.Track2 = (meas{3}.Track2)<span class="org-type">./</span>276.8;
meas{3}.Track3 = (meas{3}.Track3)<span class="org-type">./</span>276.8;
meas{4}.Track1 = (meas{4}.Track1)<span class="org-type">./</span>276.8;
meas{4}.Track2 = (meas{4}.Track2)<span class="org-type">./</span>276.8;
meas{4}.Track3 = (meas{4}.Track3)<span class="org-type">./</span>276.8;
meas{5}.Track1 = (meas{5}.Track1)<span class="org-type">./</span>276.8;
meas{5}.Track2 = (meas{5}.Track2)<span class="org-type">./</span>276.8;
meas{5}.Track3 = (meas{5}.Track3)<span class="org-type">./</span>276.8;
meas{5}.Track4 = (meas{5}.Track4)<span class="org-type">./</span>276.8;
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">meas{1}.Track1_norm = lsim(inv(L4C_G), meas{1}.Track1, t1);
meas{1}.Track2_norm = lsim(inv(L4C_G), meas{1}.Track2, t1);
meas{1}.Track3_norm = lsim(inv(L4C_G), meas{1}.Track3, t1);
meas{2}.Track1_norm = lsim(inv(L4C_G), meas{2}.Track1, t2);
meas{2}.Track2_norm = lsim(inv(L4C_G), meas{2}.Track2, t2);
meas{2}.Track3_norm = lsim(inv(L4C_G), meas{2}.Track3, t2);
meas{3}.Track1_norm = lsim(inv(L4C_G), meas{3}.Track1, t3);
meas{3}.Track2_norm = lsim(inv(L4C_G), meas{3}.Track2, t3);
meas{3}.Track3_norm = lsim(inv(L4C_G), meas{3}.Track3, t3);
meas{4}.Track1_norm = lsim(inv(L4C_G), meas{4}.Track1, t4);
meas{4}.Track2_norm = lsim(inv(L4C_G), meas{4}.Track2, t4);
meas{4}.Track3_norm = lsim(inv(L4C_G), meas{4}.Track3, t4);
meas{5}.Track1_norm = lsim(inv(L4C_G), meas{5}.Track1, t5);
meas{5}.Track2_norm = lsim(inv(L4C_G), meas{5}.Track2, t5);
meas{5}.Track3_norm = lsim(inv(L4C_G), meas{5}.Track3, t5);
meas{5}.Track4_norm = lsim(inv(L4C_G), meas{5}.Track4, t5);
</pre>
</div>
</div>
</div>
<div id="outline-container-org381ee31" class="outline-2">
<h2 id="org381ee31"><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="#org671285c">3</a>.
</p>
<table id="org671285c" 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="#orgf997195">5</a>).
</p>
<div class="important" id="org6b8cc61">
<p>
We observe strange behavior when the Ty stage is turned on.
How can we explain that?
</p>
</div>
<div id="orgf997195" 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>
<p>
Then we plot the position with respect to time (figure <a href="#org28db150">6</a>).
</p>
<div id="org28db150" 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">[pxx111, f11] = pwelch(meas{1}.Track1(1<span class="org-type">:</span>ceil(300<span class="org-type">/</span>dt)), psd_window, [], [], Fs);
[pxx112, f12] = pwelch(meas{1}.Track1(ceil(350<span class="org-type">/</span>dt)<span class="org-type">:</span>end), psd_window, [], [], Fs);
[pxx121, <span class="org-type">~</span>] = pwelch(meas{1}.Track2(1<span class="org-type">:</span>ceil(300<span class="org-type">/</span>dt)), psd_window, [], [], Fs);
[pxx122, <span class="org-type">~</span>] = pwelch(meas{1}.Track2(ceil(350<span class="org-type">/</span>dt)<span class="org-type">:</span>end), psd_window, [], [], Fs);
[pxx131, <span class="org-type">~</span>] = pwelch(meas{1}.Track3(1<span class="org-type">:</span>ceil(300<span class="org-type">/</span>dt)), psd_window, [], [], Fs);
[pxx132, <span class="org-type">~</span>] = pwelch(meas{1}.Track3(ceil(350<span class="org-type">/</span>dt)<span class="org-type">:</span>end), psd_window, [], [], Fs);
</pre>
</div>
<p>
We finally plot the power spectral density of each track (figures <a href="#orgd3d8ddd">7</a>, <a href="#org8e55c40">8</a>, <a href="#org545f29f">9</a>).
</p>
<div id="orgd3d8ddd" 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="org8e55c40" 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="org545f29f" 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" id="org28ce135">
<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-orgde80036" class="outline-2">
<h2 id="orgde80036"><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="#org4205d55">4</a>).
</p>
<table id="org4205d55" 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="#orgcd4b5b2">10</a>) and we don&rsquo;t observe anything special in the time domain.
</p>
<div id="orgcd4b5b2" 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>
<div id="orgc1cada2" class="figure">
<p><img src="figs/meas2_disp.png" alt="meas2_disp.png" />
</p>
<p><span class="figure-number">Figure 11: </span>Time domain - measurement 2</p>
</div>
<p>
We compute the PSD of each track and we plot them (figures <a href="#orgc533b05">12</a>, <a href="#org76fd0d7">13</a> and <a href="#org26db023">14</a> ).
</p>
<div class="org-src-container">
<pre class="src src-matlab">[pxx211, f21] = pwelch(meas{2}.Track1(1<span class="org-type">:</span>ceil(326<span class="org-type">/</span>dt)), psd_window, [], [], Fs);
[pxx212, f22] = pwelch(meas{2}.Track1(ceil(326<span class="org-type">/</span>dt)<span class="org-type">:</span>end), psd_window, [], [], Fs);
[pxx221, <span class="org-type">~</span>] = pwelch(meas{2}.Track2(1<span class="org-type">:</span>ceil(326<span class="org-type">/</span>dt)), psd_window, [], [], Fs);
[pxx222, <span class="org-type">~</span>] = pwelch(meas{2}.Track2(ceil(326<span class="org-type">/</span>dt)<span class="org-type">:</span>end), psd_window, [], [], Fs);
[pxx231, <span class="org-type">~</span>] = pwelch(meas{2}.Track3(1<span class="org-type">:</span>ceil(326<span class="org-type">/</span>dt)), psd_window, [], [], Fs);
[pxx232, <span class="org-type">~</span>] = pwelch(meas{2}.Track3(ceil(326<span class="org-type">/</span>dt)<span class="org-type">:</span>end), psd_window, [], [], Fs);
</pre>
</div>
<div id="orgc533b05" class="figure">
<p><img src="figs/meas2_ry_z_psd.png" alt="meas2_ry_z_psd.png" />
</p>
<p><span class="figure-number">Figure 12: </span>PSD of the Z velocity of Ry Stage - measurement 2</p>
</div>
<div id="org76fd0d7" class="figure">
<p><img src="figs/meas2_ry_tilt_psd.png" alt="meas2_ry_tilt_psd.png" />
</p>
<p><span class="figure-number">Figure 13: </span>PSD of the Rotation motion of Ry Stage - measurement 2</p>
</div>
<div id="org26db023" class="figure">
<p><img src="figs/meas2_ty_y_psd.png" alt="meas2_ty_y_psd.png" />
</p>
<p><span class="figure-number">Figure 14: </span>PSD of the Ty velocity in the Y direction - measurement 2</p>
</div>
<div class="important" id="orga669a8e">
<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-org340fbde" class="outline-2">
<h2 id="org340fbde"><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="#orge03bb03">5</a>).
</p>
<table id="orge03bb03" 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="#org69167fd">15</a>.
</p>
<div id="org69167fd" class="figure">
<p><img src="figs/meas3.png" alt="meas3.png" />
</p>
<p><span class="figure-number">Figure 15: </span>Time domain - measurement 3</p>
</div>
<div id="org1e22f4d" class="figure">
<p><img src="figs/meas3_disp.png" alt="meas3_disp.png" />
</p>
<p><span class="figure-number">Figure 16: </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="#orgd9bf904">17</a>, <a href="#orgb63f3f3">18</a> and <a href="#orgba7de7a">19</a>.
</p>
<div class="org-src-container">
<pre class="src src-matlab">[pxx311, f31] = pwelch(meas{3}.Track1(1<span class="org-type">:</span>ceil(400<span class="org-type">/</span>dt)), psd_window, [], [], Fs);
[pxx312, f32] = pwelch(meas{3}.Track1(ceil(420<span class="org-type">/</span>dt)<span class="org-type">:</span>end), psd_window, [], [], Fs);
[pxx321, <span class="org-type">~</span>] = pwelch(meas{3}.Track2(1<span class="org-type">:</span>ceil(400<span class="org-type">/</span>dt)), psd_window, [], [], Fs);
[pxx322, <span class="org-type">~</span>] = pwelch(meas{3}.Track2(ceil(420<span class="org-type">/</span>dt)<span class="org-type">:</span>end), psd_window, [], [], Fs);
[pxx331, <span class="org-type">~</span>] = pwelch(meas{3}.Track3(1<span class="org-type">:</span>ceil(400<span class="org-type">/</span>dt)), psd_window, [], [], Fs);
[pxx332, <span class="org-type">~</span>] = pwelch(meas{3}.Track3(ceil(420<span class="org-type">/</span>dt)<span class="org-type">:</span>end), psd_window, [], [], Fs);
</pre>
</div>
<div id="orgd9bf904" class="figure">
<p><img src="figs/meas3_hexa_z_psd.png" alt="meas3_hexa_z_psd.png" />
</p>
<p><span class="figure-number">Figure 17: </span>PSD of the Z velocity of the Hexapod - measurement 3</p>
</div>
<div id="orgb63f3f3" class="figure">
<p><img src="figs/meas3_ry_z_psd.png" alt="meas3_ry_z_psd.png" />
</p>
<p><span class="figure-number">Figure 18: </span>PSD of the Z velocity of the Ry stage - measurement 3</p>
</div>
<div id="orgba7de7a" class="figure">
<p><img src="figs/meas3_ty_y_psd.png" alt="meas3_ty_y_psd.png" />
</p>
<p><span class="figure-number">Figure 19: </span>PSD of the Ty velocity in the Y direction - measurement 3</p>
</div>
<div class="important" id="org8bfd785">
<p>
Turning ON induces some motion on the hexapod in the z direction (figure <a href="#orgd9bf904">17</a>), on the tilt stage in the z direction (figure <a href="#orgb63f3f3">18</a>) and on the y motion of the Ty stage (figure <a href="#orgba7de7a">19</a>):
</p>
<ul class="org-ul">
<li>at 17Hz</li>
<li>at 34Hz</li>
</ul>
</div>
</div>
</div>
<div id="outline-container-orgeaf345c" class="outline-2">
<h2 id="orgeaf345c"><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="#org77ba68a">6</a>). The time domain signals are shown figure <a href="#org7698f96">20</a>.
</p>
<table id="org77ba68a" 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="org7698f96" class="figure">
<p><img src="figs/meas4.png" alt="meas4.png" />
</p>
<p><span class="figure-number">Figure 20: </span>Time domain - measurement 4</p>
</div>
<p>
If we integrate this signal, we obtain Figure <a href="#orgf1cd229">21</a>.
</p>
<div id="orgf1cd229" class="figure">
<p><img src="figs/meas4_int.png" alt="meas4_int.png" />
</p>
<p><span class="figure-number">Figure 21: </span>Time domain - measurement 4</p>
</div>
<p>
The PSD of each track are computed using the code below.
</p>
<div id="orgd5f35e4" class="figure">
<p><img src="figs/meas4_hexa_z_psd.png" alt="meas4_hexa_z_psd.png" />
</p>
<p><span class="figure-number">Figure 22: </span>PSD of the Z velocity of the Hexapod - measurement 4</p>
</div>
<p>
We plot the PSD of the displacement.
</p>
<div id="org9c071ce" class="figure">
<p><img src="figs/meas4_hexa_z_psd_int.png" alt="meas4_hexa_z_psd_int.png" />
</p>
<p><span class="figure-number">Figure 23: </span>PSD_INT of the Z velocity of the Hexapod - measurement 4</p>
</div>
<p>
And we compute the Cumulative amplitude spectrum.
</p>
<div id="org4133016" class="figure">
<p><img src="figs/meas4_ry_z_psd.png" alt="meas4_ry_z_psd.png" />
</p>
<p><span class="figure-number">Figure 24: </span>PSD of the Ry rotation in the Y direction - measurement 4</p>
</div>
<div id="org9270d4d" class="figure">
<p><img src="figs/meas4_ty_y_psd.png" alt="meas4_ty_y_psd.png" />
</p>
<p><span class="figure-number">Figure 25: </span>PSD of the Ty velocity in the Y direction - measurement 4</p>
</div>
<div class="important" id="org773be49">
<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="#org9270d4d">25</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-org743054f" class="outline-2">
<h2 id="org743054f"><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="#orgaadb200">26</a>.
</p>
<div id="orgaadb200" class="figure">
<p><img src="figs/meas5.png" alt="meas5.png" />
</p>
<p><span class="figure-number">Figure 26: </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="#orgb195b4d">27</a> and for the Y motion on figure <a href="#org37af53b">28</a>.
</p>
<div class="org-src-container">
<pre class="src src-matlab">[pxx51, f51] = pwelch(meas{5}.Track1(<span class="org-type">:</span>), psd_window, [], [], Fs);
[pxx52, f52] = pwelch(meas{5}.Track2(<span class="org-type">:</span>), psd_window, [], [], Fs);
[pxx53, f53] = pwelch(meas{5}.Track3(<span class="org-type">:</span>), psd_window, [], [], Fs);
[pxx54, f54] = pwelch(meas{5}.Track4(<span class="org-type">:</span>), psd_window, [], [], Fs);
</pre>
</div>
<div id="orgb195b4d" class="figure">
<p><img src="figs/meas5_z_psd.png" alt="meas5_z_psd.png" />
</p>
<p><span class="figure-number">Figure 27: </span>PSD of the ground and marble in the Z direction</p>
</div>
<div id="org37af53b" class="figure">
<p><img src="figs/meas5_y_psd.png" alt="meas5_y_psd.png" />
</p>
<p><span class="figure-number">Figure 28: </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="#org2043690">29</a> and the coherence on figure <a href="#org96fb839">30</a>.
</p>
<div class="org-src-container">
<pre class="src src-matlab">[tfz, fz] = tfestimate(meas{5}.Track1(<span class="org-type">:</span>), meas{5}.Track2(<span class="org-type">:</span>), psd_window, [], [], Fs);
[tfy, fy] = tfestimate(meas{5}.Track3(<span class="org-type">:</span>), meas{5}.Track4(<span class="org-type">:</span>), psd_window, [], [], Fs);
</pre>
</div>
<div id="org2043690" class="figure">
<p><img src="figs/meas5_tf.png" alt="meas5_tf.png" />
</p>
<p><span class="figure-number">Figure 29: </span>Transfer function estimation - measurement 5</p>
</div>
<div class="org-src-container">
<pre class="src src-matlab">[cohz, fz] = mscohere(meas{5}.Track1(<span class="org-type">:</span>), meas{5}.Track2(<span class="org-type">:</span>), psd_window, [], [], Fs);
[cohy, fy] = mscohere(meas{5}.Track3(<span class="org-type">:</span>), meas{5}.Track4(<span class="org-type">:</span>), psd_window, [], [], Fs);
</pre>
</div>
<div id="org96fb839" class="figure">
<p><img src="figs/meas5_coh.png" alt="meas5_coh.png" />
</p>
<p><span class="figure-number">Figure 30: </span>Coherence - measurement 5</p>
</div>
<div class="important" id="org8b62548">
<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: Dehaeze Thomas</p>
<p class="date">Created: 2020-11-12 jeu. 10:27</p>
</div>
</body>
</html>