[WIP] Breaking Change - Use Update
Folder name is changed, rework the html templates Change the organisation.
4
.gitignore
vendored
@ -1,8 +1,10 @@
|
|||||||
auto/
|
auto/
|
||||||
*.tex
|
*.tex
|
||||||
|
|
||||||
**/figs/*.pdf
|
**/figs/*.pdf
|
||||||
**/figs/*.svg
|
**/figs/*.svg
|
||||||
=======
|
**/figs/*.tex
|
||||||
|
|
||||||
# Emacs
|
# Emacs
|
||||||
auto/
|
auto/
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||||
<head>
|
<head>
|
||||||
<!-- 2019-03-15 ven. 11:41 -->
|
<!-- 2019-05-10 ven. 09:46 -->
|
||||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<title>Measurements</title>
|
<title>Measurements</title>
|
||||||
@ -253,16 +253,16 @@ for the JavaScript code in this tag.
|
|||||||
<h2>Table of Contents</h2>
|
<h2>Table of Contents</h2>
|
||||||
<div id="text-table-of-contents">
|
<div id="text-table-of-contents">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#orgd3daf9d">1. Experimental conditions</a></li>
|
<li><a href="#org2e8dc82">1. Experimental conditions</a></li>
|
||||||
<li><a href="#org8c42f5c">2. Measurements procedure</a></li>
|
<li><a href="#org2f1a089">2. Measurements procedure</a></li>
|
||||||
<li><a href="#org06a1ec4">3. Measurement Files</a></li>
|
<li><a href="#orgcb92a24">3. Measurement Files</a></li>
|
||||||
<li><a href="#orgde26e79">4. Data Analysis</a>
|
<li><a href="#orgad05307">4. Data Analysis</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#orgcf77a6c">4.1. Loading of the data</a></li>
|
<li><a href="#org28e779a">4.1. Loading of the data</a></li>
|
||||||
<li><a href="#org37cddb7">4.2. Pre-processing of the data</a></li>
|
<li><a href="#orgf5d9ddc">4.2. Pre-processing of the data</a></li>
|
||||||
<li><a href="#orgb992ebc">4.3. X-direction FRF</a></li>
|
<li><a href="#orgf90fc5f">4.3. X-direction FRF</a></li>
|
||||||
<li><a href="#org65e3ece">4.4. Y-direction FRF</a></li>
|
<li><a href="#orgec13f33">4.4. Y-direction FRF</a></li>
|
||||||
<li><a href="#org90e2e38">4.5. Z-direction FRF</a></li>
|
<li><a href="#org0696fe4">4.5. Z-direction FRF</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -273,39 +273,39 @@ for the JavaScript code in this tag.
|
|||||||
<a href="../index.html">Back to main page</a>.
|
<a href="../index.html">Back to main page</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div id="outline-container-orgd3daf9d" class="outline-2">
|
<div id="outline-container-org2e8dc82" class="outline-2">
|
||||||
<h2 id="orgd3daf9d"><span class="section-number-2">1</span> Experimental conditions</h2>
|
<h2 id="org2e8dc82"><span class="section-number-2">1</span> Experimental conditions</h2>
|
||||||
<div class="outline-text-2" id="text-1">
|
<div class="outline-text-2" id="text-1">
|
||||||
<ul class="org-ul">
|
<ul class="org-ul">
|
||||||
<li>Measurement made in a metrology lab</li>
|
<li>Measurement made in a metrology lab</li>
|
||||||
<li>The granite is not glued to the floor</li>
|
<li>The granite is not glued to the floor</li>
|
||||||
<li>The Y-Translation stage is powered and in closed-loop</li>
|
<li>The Y-Translation stage is powered and in closed-loop</li>
|
||||||
<li>The spindle is not powered</li>
|
<li>The spindle is not powered</li>
|
||||||
<li>Mass is placed on top of the Hexapod (<b>how much?</b>) (figure <a href="#orge4311fc">1</a>).</li>
|
<li>Mass is placed on top of the Hexapod (<b>how much?</b>) (figure <a href="#orge067538">1</a>).</li>
|
||||||
<li>Made by Marc Lesourd on the 17th of November 2017</li>
|
<li>Made by Marc Lesourd on the 17th of November 2017</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<div id="orge4311fc" class="figure">
|
<div id="orge067538" class="figure">
|
||||||
<p><img src="./figs/accelerometers.png" alt="accelerometers.png" />
|
<p><img src="./figs/accelerometers.png" alt="accelerometers.png" width="500px" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 1: </span>Accelerometers position</p>
|
<p><span class="figure-number">Figure 1: </span>Accelerometers position</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="orgdc7cb0d" class="figure">
|
<div id="org737c3b9" class="figure">
|
||||||
<p><img src="./figs/instrumented_hammer.png" alt="instrumented_hammer.png" />
|
<p><img src="./figs/instrumented_hammer.png" alt="instrumented_hammer.png" width="500px" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 2: </span>Instrumented Hammer used</p>
|
<p><span class="figure-number">Figure 2: </span>Instrumented Hammer used</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org8c42f5c" class="outline-2">
|
<div id="outline-container-org2f1a089" class="outline-2">
|
||||||
<h2 id="org8c42f5c"><span class="section-number-2">2</span> Measurements procedure</h2>
|
<h2 id="org2f1a089"><span class="section-number-2">2</span> Measurements procedure</h2>
|
||||||
<div class="outline-text-2" id="text-2">
|
<div class="outline-text-2" id="text-2">
|
||||||
<p>
|
<p>
|
||||||
<b>3-axis Accelerometers</b> (specifications table <a href="#orgb286243">1</a>) are glued on (see figure <a href="#orge4311fc">1</a>):
|
<b>3-axis Accelerometers</b> (specifications table <a href="#org7e5f9c1">1</a>) are glued on (see figure <a href="#orge067538">1</a>):
|
||||||
</p>
|
</p>
|
||||||
<ul class="org-ul">
|
<ul class="org-ul">
|
||||||
<li>Marble</li>
|
<li>Marble</li>
|
||||||
@ -314,7 +314,7 @@ for the JavaScript code in this tag.
|
|||||||
<li>top of Hexapod</li>
|
<li>top of Hexapod</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<table id="orgb286243" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
<table id="org7e5f9c1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||||
<caption class="t-above"><span class="table-number">Table 1:</span> Pieozoelectric acc. 356b18 - 3 axis</caption>
|
<caption class="t-above"><span class="table-number">Table 1:</span> Pieozoelectric acc. 356b18 - 3 axis</caption>
|
||||||
|
|
||||||
<colgroup>
|
<colgroup>
|
||||||
@ -351,7 +351,7 @@ for the JavaScript code in this tag.
|
|||||||
</table>
|
</table>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The structure is excited using an <b>instrumented hammer</b> with impacts on (see figure <a href="#orgdc7cb0d">2</a>):
|
The structure is excited using an <b>instrumented hammer</b> with impacts on (see figure <a href="#org737c3b9">2</a>):
|
||||||
</p>
|
</p>
|
||||||
<ul class="org-ul">
|
<ul class="org-ul">
|
||||||
<li>Marble</li>
|
<li>Marble</li>
|
||||||
@ -360,8 +360,8 @@ The structure is excited using an <b>instrumented hammer</b> with impacts on (se
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org06a1ec4" class="outline-2">
|
<div id="outline-container-orgcb92a24" class="outline-2">
|
||||||
<h2 id="org06a1ec4"><span class="section-number-2">3</span> Measurement Files</h2>
|
<h2 id="orgcb92a24"><span class="section-number-2">3</span> Measurement Files</h2>
|
||||||
<div class="outline-text-2" id="text-3">
|
<div class="outline-text-2" id="text-3">
|
||||||
<p>
|
<p>
|
||||||
Two measurements files are:
|
Two measurements files are:
|
||||||
@ -370,7 +370,7 @@ Two measurements files are:
|
|||||||
<li><code>id31_microstation_2017_11_17_frf.mat</code> that contains:
|
<li><code>id31_microstation_2017_11_17_frf.mat</code> that contains:
|
||||||
<ul class="org-ul">
|
<ul class="org-ul">
|
||||||
<li><code>freq_frf</code> the frequency vector in Hz</li>
|
<li><code>freq_frf</code> the frequency vector in Hz</li>
|
||||||
<li>Computed frequency response functions (see table <a href="#org3821552">2</a>)</li>
|
<li>Computed frequency response functions (see table <a href="#orgc7a9cf7">2</a>)</li>
|
||||||
</ul></li>
|
</ul></li>
|
||||||
<li><code>id31_microstation_2017_11_17_coh.mat</code>
|
<li><code>id31_microstation_2017_11_17_coh.mat</code>
|
||||||
<ul class="org-ul">
|
<ul class="org-ul">
|
||||||
@ -379,10 +379,10 @@ Two measurements files are:
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
For each of the measurement, the measured channels are shown on table <a href="#orgedc361d">3</a>.
|
For each of the measurement, the measured channels are shown on table <a href="#org4e93508">3</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<table id="org3821552" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
<table id="orgc7a9cf7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||||
<caption class="t-above"><span class="table-number">Table 2:</span> Description of the location of direction of the excitation for each measurement</caption>
|
<caption class="t-above"><span class="table-number">Table 2:</span> Description of the location of direction of the excitation for each measurement</caption>
|
||||||
|
|
||||||
<colgroup>
|
<colgroup>
|
||||||
@ -438,7 +438,7 @@ For each of the measurement, the measured channels are shown on table <a href="#
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<table id="orgedc361d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
<table id="org4e93508" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||||
<caption class="t-above"><span class="table-number">Table 3:</span> Description of each measurement channel</caption>
|
<caption class="t-above"><span class="table-number">Table 3:</span> Description of each measurement channel</caption>
|
||||||
|
|
||||||
<colgroup>
|
<colgroup>
|
||||||
@ -554,63 +554,63 @@ For each of the measurement, the measured channels are shown on table <a href="#
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orgde26e79" class="outline-2">
|
<div id="outline-container-orgad05307" class="outline-2">
|
||||||
<h2 id="orgde26e79"><span class="section-number-2">4</span> Data Analysis</h2>
|
<h2 id="orgad05307"><span class="section-number-2">4</span> Data Analysis</h2>
|
||||||
<div class="outline-text-2" id="text-4">
|
<div class="outline-text-2" id="text-4">
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-orgcf77a6c" class="outline-3">
|
<div id="outline-container-org28e779a" class="outline-3">
|
||||||
<h3 id="orgcf77a6c"><span class="section-number-3">4.1</span> Loading of the data</h3>
|
<h3 id="org28e779a"><span class="section-number-3">4.1</span> Loading of the data</h3>
|
||||||
<div class="outline-text-3" id="text-4-1">
|
<div class="outline-text-3" id="text-4-1">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab">load<span style="color: #DCDCCC;">(</span><span style="color: #CC9393;">'./raw_data/id31_microstation_2017_11_17_coh.mat'</span>,<span style="text-decoration: underline;">...</span>
|
<pre class="src src-matlab">load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'./raw_data/id31_microstation_2017_11_17_coh.mat'</span>,<span class="org-underline">...</span>
|
||||||
<span style="color: #CC9393;">'coh_hexa_x'</span>,<span style="text-decoration: underline;">...</span>
|
<span class="org-string">'coh_hexa_x'</span>,<span class="org-underline">...</span>
|
||||||
<span style="color: #CC9393;">'coh_hexa_y'</span>,<span style="text-decoration: underline;">...</span>
|
<span class="org-string">'coh_hexa_y'</span>,<span class="org-underline">...</span>
|
||||||
<span style="color: #CC9393;">'coh_hexa_z'</span>,<span style="text-decoration: underline;">...</span>
|
<span class="org-string">'coh_hexa_z'</span>,<span class="org-underline">...</span>
|
||||||
<span style="color: #CC9393;">'coh_marble_x'</span>,<span style="text-decoration: underline;">...</span>
|
<span class="org-string">'coh_marble_x'</span>,<span class="org-underline">...</span>
|
||||||
<span style="color: #CC9393;">'coh_marble_y'</span>,<span style="text-decoration: underline;">...</span>
|
<span class="org-string">'coh_marble_y'</span>,<span class="org-underline">...</span>
|
||||||
<span style="color: #CC9393;">'coh_marble_z'</span><span style="color: #DCDCCC;">)</span>;
|
<span class="org-string">'coh_marble_z'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
|
||||||
load<span style="color: #DCDCCC;">(</span><span style="color: #CC9393;">'./raw_data/id31_microstation_2017_11_17_frf.mat'</span>,<span style="text-decoration: underline;">...</span>
|
load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'./raw_data/id31_microstation_2017_11_17_frf.mat'</span>,<span class="org-underline">...</span>
|
||||||
<span style="color: #CC9393;">'freq_frf'</span>,<span style="text-decoration: underline;">...</span>
|
<span class="org-string">'freq_frf'</span>,<span class="org-underline">...</span>
|
||||||
<span style="color: #CC9393;">'frf_hexa_x'</span>,<span style="text-decoration: underline;">...</span>
|
<span class="org-string">'frf_hexa_x'</span>,<span class="org-underline">...</span>
|
||||||
<span style="color: #CC9393;">'frf_hexa_y'</span>,<span style="text-decoration: underline;">...</span>
|
<span class="org-string">'frf_hexa_y'</span>,<span class="org-underline">...</span>
|
||||||
<span style="color: #CC9393;">'frf_hexa_z'</span>,<span style="text-decoration: underline;">...</span>
|
<span class="org-string">'frf_hexa_z'</span>,<span class="org-underline">...</span>
|
||||||
<span style="color: #CC9393;">'frf_marble_x'</span>,<span style="text-decoration: underline;">...</span>
|
<span class="org-string">'frf_marble_x'</span>,<span class="org-underline">...</span>
|
||||||
<span style="color: #CC9393;">'frf_marble_y'</span>,<span style="text-decoration: underline;">...</span>
|
<span class="org-string">'frf_marble_y'</span>,<span class="org-underline">...</span>
|
||||||
<span style="color: #CC9393;">'frf_marble_z'</span><span style="color: #DCDCCC;">)</span>;
|
<span class="org-string">'frf_marble_z'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org37cddb7" class="outline-3">
|
<div id="outline-container-orgf5d9ddc" class="outline-3">
|
||||||
<h3 id="org37cddb7"><span class="section-number-3">4.2</span> Pre-processing of the data</h3>
|
<h3 id="orgf5d9ddc"><span class="section-number-3">4.2</span> Pre-processing of the data</h3>
|
||||||
<div class="outline-text-3" id="text-4-2">
|
<div class="outline-text-3" id="text-4-2">
|
||||||
<p>
|
<p>
|
||||||
The FRF data are scaled with the sensitivity of the accelerometer and integrated two times to have the displacement instead of the acceleration.
|
The FRF data are scaled with the sensitivity of the accelerometer and integrated two times to have the displacement instead of the acceleration.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab">accel_sensitivity = <span style="color: #BFEBBF;">0</span>.<span style="color: #BFEBBF;">102</span>; <span style="color: #7F9F7F;">% [V/(m/s2)]</span>
|
<pre class="src src-matlab">accel_sensitivity = <span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">102</span>; <span class="org-comment">% [V/(m/s2)]</span>
|
||||||
w = <span style="color: #BFEBBF;">j</span><span style="color: #7CB8BB;">*</span><span style="color: #BFEBBF;">2</span><span style="color: #7CB8BB;">*</span><span style="color: #BFEBBF;">pi</span><span style="color: #7CB8BB;">*</span>freq_frf; <span style="color: #7F9F7F;">% j.omega in [rad/s]</span>
|
w = <span class="org-constant">j</span><span class="org-type">*</span><span class="org-highlight-numbers-number">2</span><span class="org-type">*</span><span class="org-constant">pi</span><span class="org-type">*</span>freq_frf; <span class="org-comment">% j.omega in [rad/s]</span>
|
||||||
|
|
||||||
frf_hexa_x = <span style="color: #BFEBBF;">1</span><span style="color: #7CB8BB;">/</span>accel_sensitivity<span style="color: #7CB8BB;">*</span>frf_hexa_x<span style="color: #7CB8BB;">./</span><span style="color: #DCDCCC;">(</span>w<span style="color: #7CB8BB;">.^</span><span style="color: #BFEBBF;">2</span><span style="color: #DCDCCC;">)</span>;
|
frf_hexa_x = <span class="org-highlight-numbers-number">1</span><span class="org-type">/</span>accel_sensitivity<span class="org-type">*</span>frf_hexa_x<span class="org-type">./</span><span class="org-rainbow-delimiters-depth-1">(</span>w<span class="org-type">.^</span><span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
frf_hexa_y = <span style="color: #7CB8BB;">-</span><span style="color: #BFEBBF;">1</span><span style="color: #7CB8BB;">/</span>accel_sensitivity<span style="color: #7CB8BB;">*</span>frf_hexa_y<span style="color: #7CB8BB;">./</span><span style="color: #DCDCCC;">(</span>w<span style="color: #7CB8BB;">.^</span><span style="color: #BFEBBF;">2</span><span style="color: #DCDCCC;">)</span>;
|
frf_hexa_y = <span class="org-type">-</span><span class="org-highlight-numbers-number">1</span><span class="org-type">/</span>accel_sensitivity<span class="org-type">*</span>frf_hexa_y<span class="org-type">./</span><span class="org-rainbow-delimiters-depth-1">(</span>w<span class="org-type">.^</span><span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
frf_hexa_z = <span style="color: #7CB8BB;">-</span><span style="color: #BFEBBF;">1</span><span style="color: #7CB8BB;">/</span>accel_sensitivity<span style="color: #7CB8BB;">*</span>frf_hexa_z<span style="color: #7CB8BB;">./</span><span style="color: #DCDCCC;">(</span>w<span style="color: #7CB8BB;">.^</span><span style="color: #BFEBBF;">2</span><span style="color: #DCDCCC;">)</span>;
|
frf_hexa_z = <span class="org-type">-</span><span class="org-highlight-numbers-number">1</span><span class="org-type">/</span>accel_sensitivity<span class="org-type">*</span>frf_hexa_z<span class="org-type">./</span><span class="org-rainbow-delimiters-depth-1">(</span>w<span class="org-type">.^</span><span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
|
||||||
frf_marble_x = <span style="color: #BFEBBF;">1</span><span style="color: #7CB8BB;">/</span>accel_sensitivity<span style="color: #7CB8BB;">*</span>frf_marble_x<span style="color: #7CB8BB;">./</span><span style="color: #DCDCCC;">(</span>w<span style="color: #7CB8BB;">.^</span><span style="color: #BFEBBF;">2</span><span style="color: #DCDCCC;">)</span>;
|
frf_marble_x = <span class="org-highlight-numbers-number">1</span><span class="org-type">/</span>accel_sensitivity<span class="org-type">*</span>frf_marble_x<span class="org-type">./</span><span class="org-rainbow-delimiters-depth-1">(</span>w<span class="org-type">.^</span><span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
frf_marble_y = <span style="color: #BFEBBF;">1</span><span style="color: #7CB8BB;">/</span>accel_sensitivity<span style="color: #7CB8BB;">*</span>frf_marble_y<span style="color: #7CB8BB;">./</span><span style="color: #DCDCCC;">(</span>w<span style="color: #7CB8BB;">.^</span><span style="color: #BFEBBF;">2</span><span style="color: #DCDCCC;">)</span>;
|
frf_marble_y = <span class="org-highlight-numbers-number">1</span><span class="org-type">/</span>accel_sensitivity<span class="org-type">*</span>frf_marble_y<span class="org-type">./</span><span class="org-rainbow-delimiters-depth-1">(</span>w<span class="org-type">.^</span><span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
frf_marble_z = <span style="color: #7CB8BB;">-</span><span style="color: #BFEBBF;">1</span><span style="color: #7CB8BB;">/</span>accel_sensitivity<span style="color: #7CB8BB;">*</span>frf_marble_z<span style="color: #7CB8BB;">./</span><span style="color: #DCDCCC;">(</span>w<span style="color: #7CB8BB;">.^</span><span style="color: #BFEBBF;">2</span><span style="color: #DCDCCC;">)</span>;
|
frf_marble_z = <span class="org-type">-</span><span class="org-highlight-numbers-number">1</span><span class="org-type">/</span>accel_sensitivity<span class="org-type">*</span>frf_marble_z<span class="org-type">./</span><span class="org-rainbow-delimiters-depth-1">(</span>w<span class="org-type">.^</span><span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orgb992ebc" class="outline-3">
|
<div id="outline-container-orgf90fc5f" class="outline-3">
|
||||||
<h3 id="orgb992ebc"><span class="section-number-3">4.3</span> X-direction FRF</h3>
|
<h3 id="orgf90fc5f"><span class="section-number-3">4.3</span> X-direction FRF</h3>
|
||||||
<div class="outline-text-3" id="text-4-3">
|
<div class="outline-text-3" id="text-4-3">
|
||||||
|
|
||||||
<div id="orgf0fdcf7" class="figure">
|
<div id="org7ea5cb4" class="figure">
|
||||||
<p><img src="figs/marble_x_frf.png" alt="marble_x_frf.png" />
|
<p><img src="figs/marble_x_frf.png" alt="marble_x_frf.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 3: </span>Response to a force applied on the marble in the X direction</p>
|
<p><span class="figure-number">Figure 3: </span>Response to a force applied on the marble in the X direction</p>
|
||||||
@ -618,7 +618,7 @@ frf_marble_z = <span style="color: #7CB8BB;">-</span><span style="color: #BFEBBF
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div id="org8412b64" class="figure">
|
<div id="org55645ce" class="figure">
|
||||||
<p><img src="figs/hexa_x_frf.png" alt="hexa_x_frf.png" />
|
<p><img src="figs/hexa_x_frf.png" alt="hexa_x_frf.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 4: </span>Response to a force applied on the hexa in the X direction</p>
|
<p><span class="figure-number">Figure 4: </span>Response to a force applied on the hexa in the X direction</p>
|
||||||
@ -626,18 +626,18 @@ frf_marble_z = <span style="color: #7CB8BB;">-</span><span style="color: #BFEBBF
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org65e3ece" class="outline-3">
|
<div id="outline-container-orgec13f33" class="outline-3">
|
||||||
<h3 id="org65e3ece"><span class="section-number-3">4.4</span> Y-direction FRF</h3>
|
<h3 id="orgec13f33"><span class="section-number-3">4.4</span> Y-direction FRF</h3>
|
||||||
<div class="outline-text-3" id="text-4-4">
|
<div class="outline-text-3" id="text-4-4">
|
||||||
|
|
||||||
<div id="org59ce301" class="figure">
|
<div id="org8de99f7" class="figure">
|
||||||
<p><img src="figs/marble_y_frf.png" alt="marble_y_frf.png" />
|
<p><img src="figs/marble_y_frf.png" alt="marble_y_frf.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 5: </span>Response to a force applied on the marble in the Y direction</p>
|
<p><span class="figure-number">Figure 5: </span>Response to a force applied on the marble in the Y direction</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="orga559225" class="figure">
|
<div id="org8506d1b" class="figure">
|
||||||
<p><img src="figs/hexa_y_frf.png" alt="hexa_y_frf.png" />
|
<p><img src="figs/hexa_y_frf.png" alt="hexa_y_frf.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 6: </span>Response to a force applied on the hexa in the Y direction</p>
|
<p><span class="figure-number">Figure 6: </span>Response to a force applied on the hexa in the Y direction</p>
|
||||||
@ -645,18 +645,18 @@ frf_marble_z = <span style="color: #7CB8BB;">-</span><span style="color: #BFEBBF
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org90e2e38" class="outline-3">
|
<div id="outline-container-org0696fe4" class="outline-3">
|
||||||
<h3 id="org90e2e38"><span class="section-number-3">4.5</span> Z-direction FRF</h3>
|
<h3 id="org0696fe4"><span class="section-number-3">4.5</span> Z-direction FRF</h3>
|
||||||
<div class="outline-text-3" id="text-4-5">
|
<div class="outline-text-3" id="text-4-5">
|
||||||
|
|
||||||
<div id="orgc3ab1a0" class="figure">
|
<div id="orgb151cf9" class="figure">
|
||||||
<p><img src="figs/marble_z_frf.png" alt="marble_z_frf.png" />
|
<p><img src="figs/marble_z_frf.png" alt="marble_z_frf.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 7: </span>Response to a force applied on the marble in the Z direction</p>
|
<p><span class="figure-number">Figure 7: </span>Response to a force applied on the marble in the Z direction</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="orge969c88" class="figure">
|
<div id="orgfa78f3b" class="figure">
|
||||||
<p><img src="figs/hexa_z_frf.png" alt="hexa_z_frf.png" />
|
<p><img src="figs/hexa_z_frf.png" alt="hexa_z_frf.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 8: </span>Response to a force applied on the hexa in the Z direction</p>
|
<p><span class="figure-number">Figure 8: </span>Response to a force applied on the hexa in the Z direction</p>
|
||||||
@ -667,7 +667,7 @@ frf_marble_z = <span style="color: #7CB8BB;">-</span><span style="color: #BFEBBF
|
|||||||
</div>
|
</div>
|
||||||
<div id="postamble" class="status">
|
<div id="postamble" class="status">
|
||||||
<p class="author">Author: Thomas Dehaeze</p>
|
<p class="author">Author: Thomas Dehaeze</p>
|
||||||
<p class="date">Created: 2019-03-15 ven. 11:41</p>
|
<p class="date">Created: 2019-05-10 ven. 09:46</p>
|
||||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
@ -1,27 +1,5 @@
|
|||||||
#+TITLE: Measurements
|
#+TITLE: Measurements
|
||||||
:drawer:
|
#+SETUPFILE: ../config.org
|
||||||
#+STARTUP: overview
|
|
||||||
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
|
|
||||||
#+HTML_HEAD: <script src="../js/jquery.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script src="../js/bootstrap.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script src="../js/jquery.stickytableheaders.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script src="../js/readtheorg.js"></script>
|
|
||||||
|
|
||||||
#+LATEX_CLASS: cleanreport
|
|
||||||
#+LaTeX_CLASS_OPTIONS: [tocnp, secbreak, minted]
|
|
||||||
|
|
||||||
#+PROPERTY: header-args:matlab :session *MATLAB*
|
|
||||||
#+PROPERTY: header-args:matlab+ :comments org
|
|
||||||
#+PROPERTY: header-args:matlab+ :exports both
|
|
||||||
#+PROPERTY: header-args:matlab+ :eval no-export
|
|
||||||
#+PROPERTY: header-args:matlab+ :noweb yes
|
|
||||||
#+PROPERTY: header-args:matlab+ :mkdirp yes
|
|
||||||
#+PROPERTY: header-args:matlab+ :output-dir figs
|
|
||||||
:end:
|
|
||||||
|
|
||||||
[[../index.org][Back to main page]].
|
|
||||||
|
|
||||||
* Experimental conditions
|
* Experimental conditions
|
||||||
- Measurement made in a metrology lab
|
- Measurement made in a metrology lab
|
||||||
@ -33,12 +11,12 @@
|
|||||||
|
|
||||||
#+name: fig:accelerometers
|
#+name: fig:accelerometers
|
||||||
#+caption: Accelerometers position
|
#+caption: Accelerometers position
|
||||||
#+attr_latex: :width 0.5\linewidth
|
#+attr_html: :width 500px
|
||||||
[[file:./figs/accelerometers.png]]
|
[[file:./figs/accelerometers.png]]
|
||||||
|
|
||||||
#+name: fig:instrumented_hammer
|
#+name: fig:instrumented_hammer
|
||||||
#+caption: Instrumented Hammer used
|
#+caption: Instrumented Hammer used
|
||||||
#+attr_latex: :width 0.5\linewidth
|
#+attr_html: :width 500px
|
||||||
[[file:./figs/instrumented_hammer.png]]
|
[[file:./figs/instrumented_hammer.png]]
|
||||||
|
|
||||||
* Measurements procedure
|
* Measurements procedure
|
||||||
@ -101,7 +79,11 @@ For each of the measurement, the measured channels are shown on table [[tab:meas
|
|||||||
|
|
||||||
* Data Analysis
|
* Data Analysis
|
||||||
** Loading of the data
|
** Loading of the data
|
||||||
#+begin_src matlab :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
|
<<matlab-dir>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none :results silent :noweb yes
|
||||||
<<matlab-init>>
|
<<matlab-init>>
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
@ -1,27 +1,5 @@
|
|||||||
#+TITLE: Measurements
|
#+TITLE: Measurements
|
||||||
:drawer:
|
#+SETUPFILE: ../config.org
|
||||||
#+STARTUP: overview
|
|
||||||
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
|
|
||||||
#+HTML_HEAD: <script src="../js/jquery.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script src="../js/bootstrap.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script src="../js/jquery.stickytableheaders.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script src="../js/readtheorg.js"></script>
|
|
||||||
|
|
||||||
#+LATEX_CLASS: cleanreport
|
|
||||||
#+LaTeX_CLASS_OPTIONS: [tocnp, secbreak, minted]
|
|
||||||
|
|
||||||
#+PROPERTY: header-args:matlab :session *MATLAB*
|
|
||||||
#+PROPERTY: header-args:matlab+ :comments org
|
|
||||||
#+PROPERTY: header-args:matlab+ :exports both
|
|
||||||
#+PROPERTY: header-args:matlab+ :eval no-export
|
|
||||||
#+PROPERTY: header-args:matlab+ :noweb yes
|
|
||||||
#+PROPERTY: header-args:matlab+ :mkdirp yes
|
|
||||||
#+PROPERTY: header-args:matlab+ :output-dir figs
|
|
||||||
:end:
|
|
||||||
|
|
||||||
[[../index.org][Back to main page]].
|
|
||||||
|
|
||||||
* Experimental conditions
|
* Experimental conditions
|
||||||
- The granite is not glued to the floor
|
- The granite is not glued to the floor
|
||||||
@ -72,7 +50,11 @@ The structure is excited using an *instrumented hammer* with impacts on
|
|||||||
|
|
||||||
* Data Analysis
|
* Data Analysis
|
||||||
** Loading and pre-processing of the data
|
** Loading and pre-processing of the data
|
||||||
#+begin_src matlab :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
|
<<matlab-dir>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none :results silent :noweb yes
|
||||||
<<matlab-init>>
|
<<matlab-init>>
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
% Title: id31 microstation
|
% Title: id31 microstation
|
||||||
% Date: 12 january 2018
|
% Date: 12 january 2018
|
||||||
|
|
||||||
% Description: measure on id31 microstation in room id31-13
|
% Description: measure on id31 microstation in room id31-13
|
||||||
|
|
||||||
% FS: =512Hz
|
% FS: =512Hz
|
||||||
|
|
||||||
|
|
||||||
%% measurements 12 janaury 2018
|
%% measurements 12 janaury 2018
|
||||||
microstation=['Marble '; 'Tilt '; 'Hexapod '];
|
microstation=['Marble '; 'Tilt '; 'Hexapod '];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% ch1: hammer
|
% ch1: hammer
|
||||||
@ -50,10 +50,10 @@ leg1=['TY ON - RZ OFF - RY OFF - Slip ring OFF - Hexapod OFF'];
|
|||||||
% ------------------------------------------------------------------------
|
% ------------------------------------------------------------------------
|
||||||
% ch_max=16;
|
% ch_max=16;
|
||||||
% % --------------------------------
|
% % --------------------------------
|
||||||
%
|
%
|
||||||
% mult=1e6; % --> m/s to micron/s
|
% mult=1e6; % --> m/s to micron/s
|
||||||
%
|
%
|
||||||
% nyqhp=2.56; % nyquist
|
% nyqhp=2.56; % nyquist
|
||||||
% f_cut=0.5; % cut frequency for high pass filter
|
% f_cut=0.5; % cut frequency for high pass filter
|
||||||
% t_win=4; % window length in sec
|
% t_win=4; % window length in sec
|
||||||
% t_ovlp=0; % overlap window in sec
|
% t_ovlp=0; % overlap window in sec
|
||||||
@ -65,12 +65,12 @@ warning off MATLAB:divideByZero
|
|||||||
capt=[1:6];
|
capt=[1:6];
|
||||||
|
|
||||||
for i=capt
|
for i=capt
|
||||||
|
|
||||||
eval(['load Measurement',num2str(i)])
|
eval(['load Measurement',num2str(i)])
|
||||||
for ch=2:4
|
for ch=2:4
|
||||||
eval(['freq_frf(:,',num2str(1),')=FFT1_H1_',num2str(2),'_1_RMS_X_Val;'])
|
eval(['freq_frf(:,',num2str(1),')=FFT1_H1_',num2str(2),'_1_RMS_X_Val;'])
|
||||||
%omeg=2*pi*freq;
|
%omeg=2*pi*freq;
|
||||||
|
|
||||||
eval(['av_spc(:,',num2str(ch),')=FFT1_AvSpc_',num2str(ch),'_RMS_Y_Val;'])
|
eval(['av_spc(:,',num2str(ch),')=FFT1_AvSpc_',num2str(ch),'_RMS_Y_Val;'])
|
||||||
eval(['frf_mod(:,',num2str(ch),')=FFT1_H1_',num2str(ch),'_1_RMS_Y_Mod;'])
|
eval(['frf_mod(:,',num2str(ch),')=FFT1_H1_',num2str(ch),'_1_RMS_Y_Mod;'])
|
||||||
eval(['frf_phs(:,',num2str(ch),')=FFT1_H1_',num2str(ch),'_1_RMS_Y_Phas;'])
|
eval(['frf_phs(:,',num2str(ch),')=FFT1_H1_',num2str(ch),'_1_RMS_Y_Phas;'])
|
||||||
@ -90,21 +90,21 @@ proname(2)={'Color'};
|
|||||||
proname(3)={'LineStyle'};
|
proname(3)={'LineStyle'};
|
||||||
|
|
||||||
val(1,1) = {.5} ;val(1,2) = {[0.6 0.2 1]} ;val(1,3) = {'-'};
|
val(1,1) = {.5} ;val(1,2) = {[0.6 0.2 1]} ;val(1,3) = {'-'};
|
||||||
val(2,1) = {2} ;val(2,2) = {[0 0 1]} ;val(2,3) = {'-'};
|
val(2,1) = {2} ;val(2,2) = {[0 0 1]} ;val(2,3) = {'-'};
|
||||||
val(3,1) = {0.5} ;val(3,2) = {[0.25 0.9 0.65]} ;val(3,3) = {'-'};
|
val(3,1) = {0.5} ;val(3,2) = {[0.25 0.9 0.65]} ;val(3,3) = {'-'};
|
||||||
val(4,1) = {2} ;val(4,2) = {[0 1 0]} ;val(4,3) = {'-'};
|
val(4,1) = {2} ;val(4,2) = {[0 1 0]} ;val(4,3) = {'-'};
|
||||||
val(5,1) = {0.5} ;val(5,2) = {[1 0.4 0.4]} ;val(5,3) = {'-'};
|
val(5,1) = {0.5} ;val(5,2) = {[1 0.4 0.4]} ;val(5,3) = {'-'};
|
||||||
val(6,1) = {2} ;val(6,2) = {[1 0 0]} ;val(6,3) = {'-'};
|
val(6,1) = {2} ;val(6,2) = {[1 0 0]} ;val(6,3) = {'-'};
|
||||||
val(7,1) = {1} ;val(7,2) = {[0.8 0.8 0.8]} ;val(7,3) = {'-'};
|
val(7,1) = {1} ;val(7,2) = {[0.8 0.8 0.8]} ;val(7,3) = {'-'};
|
||||||
val(8,1) = {2} ;val(8,2) = {[0.1 0.1 0.2]} ;val(8,3) = {'-'};
|
val(8,1) = {2} ;val(8,2) = {[0.1 0.1 0.2]} ;val(8,3) = {'-'};
|
||||||
val(9,1) = {1} ;val(9,2) = {[0.7 0.8 0.4]} ;val(9,3) = {'-'};
|
val(9,1) = {1} ;val(9,2) = {[0.7 0.8 0.4]} ;val(9,3) = {'-'};
|
||||||
val(10,1) = {2} ;val(10,2) = {[0.7 0.8 0.2]} ;val(10,3) = {'-'};
|
val(10,1) = {2} ;val(10,2) = {[0.7 0.8 0.2]} ;val(10,3) = {'-'};
|
||||||
val(11,1) = {1} ;val(11,2) = {[0.9 0.7 0.35]} ;val(11,3) = {'-'};
|
val(11,1) = {1} ;val(11,2) = {[0.9 0.7 0.35]} ;val(11,3) = {'-'};
|
||||||
val(12,1) = {2} ;val(12,2) = {[1 0.8 0.3]} ;val(12,3) = {'-'};
|
val(12,1) = {2} ;val(12,2) = {[1 0.8 0.3]} ;val(12,3) = {'-'};
|
||||||
val(13,1) = {1} ;val(13,2) = {[0.5 0.4 0.3]} ;val(13,3) = {'-'};
|
val(13,1) = {1} ;val(13,2) = {[0.5 0.4 0.3]} ;val(13,3) = {'-'};
|
||||||
val(14,1) = {2} ;val(14,2) = {[0.5 0.3 0.2]} ;val(14,3) = {'-'};
|
val(14,1) = {2} ;val(14,2) = {[0.5 0.3 0.2]} ;val(14,3) = {'-'};
|
||||||
|
|
||||||
%
|
%
|
||||||
% %--------------------------------Plots
|
% %--------------------------------Plots
|
||||||
xlab=['Frequency in Hz'];
|
xlab=['Frequency in Hz'];
|
||||||
xlab1=['Hours since start: 06/07/2012 at 19:40'];
|
xlab1=['Hours since start: 06/07/2012 at 19:40'];
|
||||||
@ -354,7 +354,7 @@ grid
|
|||||||
saveas(gcf,'comp_frf_z_hammer_hexa','fig')
|
saveas(gcf,'comp_frf_z_hammer_hexa','fig')
|
||||||
print -dpng comp_frf_z_hammer_hexa
|
print -dpng comp_frf_z_hammer_hexa
|
||||||
|
|
||||||
%%
|
%%
|
||||||
figure
|
figure
|
||||||
h=semilogy(freq_frf,abs([ReIm4(:,5) ReIm10(:,5) ReIm11(:,5) ReIm15(:,5)]));
|
h=semilogy(freq_frf,abs([ReIm4(:,5) ReIm10(:,5) ReIm11(:,5) ReIm15(:,5)]));
|
||||||
set(h,proname,val([6 4 2 12],1:3))
|
set(h,proname,val([6 4 2 12],1:3))
|
||||||
@ -378,4 +378,3 @@ legend(leg1,leg6,'Location','SouthEast');
|
|||||||
grid
|
grid
|
||||||
% saveas(gcf,'comp_frf_z_hammer_hexa','fig')
|
% saveas(gcf,'comp_frf_z_hammer_hexa','fig')
|
||||||
% print -dpng comp_frf_z_hammer_hexa
|
% print -dpng comp_frf_z_hammer_hexa
|
||||||
|
|
||||||
|
@ -3,9 +3,9 @@
|
|||||||
|
|
||||||
%% NOTE
|
%% NOTE
|
||||||
% With this file you can load the raw mat files
|
% With this file you can load the raw mat files
|
||||||
|
|
||||||
%% Description: measure on id31 microstation in exp hutch
|
%% Description: measure on id31 microstation in exp hutch
|
||||||
|
|
||||||
% FS: =256Hz
|
% FS: =256Hz
|
||||||
|
|
||||||
|
|
||||||
@ -57,8 +57,8 @@
|
|||||||
%%
|
%%
|
||||||
microstation=['Marble '; 'TY ';'Tilt '; 'Hexapod '];
|
microstation=['Marble '; 'TY ';'Tilt '; 'Hexapod '];
|
||||||
|
|
||||||
%
|
%
|
||||||
%% PARAMETERS
|
%% PARAMETERS
|
||||||
|
|
||||||
beamline='ID31 Nanostation - Hammer testing';
|
beamline='ID31 Nanostation - Hammer testing';
|
||||||
% --------------------------------
|
% --------------------------------
|
||||||
@ -68,7 +68,7 @@ ch_max=16;
|
|||||||
|
|
||||||
%mult=1e6/276*173; % --> m/s to micron/s and sensitivity correction for L4-C
|
%mult=1e6/276*173; % --> m/s to micron/s and sensitivity correction for L4-C
|
||||||
|
|
||||||
nyqhp=2.56; % nyquist
|
nyqhp=2.56; % nyquist
|
||||||
f_cut=0.5; % cut frequency for high pass filter
|
f_cut=0.5; % cut frequency for high pass filter
|
||||||
t_win=4; % window length in sec
|
t_win=4; % window length in sec
|
||||||
t_ovlp=0; % overlap window in sec
|
t_ovlp=0; % overlap window in sec
|
||||||
@ -93,93 +93,93 @@ shock_ch=9;
|
|||||||
%% main loop --------
|
%% main loop --------
|
||||||
% ------------------
|
% ------------------
|
||||||
for i=capt
|
for i=capt
|
||||||
|
|
||||||
|
|
||||||
eval(['load Measurement_raw',num2str(i)])
|
eval(['load Measurement_raw',num2str(i)])
|
||||||
freq_max=Track1_TrueBandWidth;
|
freq_max=Track1_TrueBandWidth;
|
||||||
dts=1/(freq_max*nyqhp);
|
dts=1/(freq_max*nyqhp);
|
||||||
|
|
||||||
freq=linspace(0,freq_max,t_win*freq_max);
|
freq=linspace(0,freq_max,t_win*freq_max);
|
||||||
wo=2*pi*freq;
|
wo=2*pi*freq;
|
||||||
|
|
||||||
for k=1:ch_max
|
for k=1:ch_max
|
||||||
vname=['Track',num2str(k)];
|
vname=['Track',num2str(k)];
|
||||||
array_exist(k)=ismember(vname,who);
|
array_exist(k)=ismember(vname,who);
|
||||||
end
|
end
|
||||||
non_zero=find(array_exist);
|
non_zero=find(array_exist);
|
||||||
for z=non_zero(1):length(non_zero)
|
for z=non_zero(1):length(non_zero)
|
||||||
track_nb=['Track',num2str(z)]';
|
track_nb=['Track',num2str(z)]';
|
||||||
eval(['data(:,z)=Track',num2str(z),';']);
|
eval(['data(:,z)=Track',num2str(z),';']);
|
||||||
end
|
end
|
||||||
c=data*mult;
|
c=data*mult;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%-------------
|
%-------------
|
||||||
nbch=size(c,2);
|
nbch=size(c,2);
|
||||||
%-------------
|
%-------------
|
||||||
r=length(c);
|
r=length(c);
|
||||||
if r/2~=fix(r/2) % loop to test for odd or even nb of samples
|
if r/2~=fix(r/2) % loop to test for odd or even nb of samples
|
||||||
c=c(1:r-1,:); % take only even
|
c=c(1:r-1,:); % take only even
|
||||||
else
|
else
|
||||||
end
|
end
|
||||||
%------------------------------
|
%------------------------------
|
||||||
time=linspace(0,length(c)*dts,length(c));
|
time=linspace(0,length(c)*dts,length(c));
|
||||||
|
|
||||||
for j=nbch %shunt_ch
|
for j=nbch %shunt_ch
|
||||||
[c(:,j),c_shut]=shut_c(c(:,j),1/dts); % correct for shunt
|
[c(:,j),c_shut]=shut_c(c(:,j),1/dts); % correct for shunt
|
||||||
end
|
end
|
||||||
%c(:,8)=(c(:,5)-c(:,4))/d; % differential Theta Y angle
|
%c(:,8)=(c(:,5)-c(:,4))/d; % differential Theta Y angle
|
||||||
|
|
||||||
b=find(no_hammer==i); % if i==1 | i==2 | i==6
|
b=find(no_hammer==i); % if i==1 | i==2 | i==6
|
||||||
if b~=0
|
if b~=0
|
||||||
[psd_v,integ_v,psd_d,integ_d]=integrated_psd(c,t_win,t_ovlp,nyqhp,dts);
|
[psd_v,integ_v,psd_d,integ_d]=integrated_psd(c,t_win,t_ovlp,nyqhp,dts);
|
||||||
[frz_cut,crsp,pwsp,coherz,nsp]=fqresp(c,shock_ch,t_win,t_ovlp,nyqhp,dts);
|
[frz_cut,crsp,pwsp,coherz,nsp]=fqresp(c,shock_ch,t_win,t_ovlp,nyqhp,dts);
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
thresh=0.5; % threshold of max value
|
thresh=0.5; % threshold of max value
|
||||||
sep=2.5; % separation minimum of peaks in sec
|
sep=2.5; % separation minimum of peaks in sec
|
||||||
pre_ev=2; % pre event delay in sec
|
pre_ev=2; % pre event delay in sec
|
||||||
pos_ev=2; % post event delay in sec
|
pos_ev=2; % post event delay in sec
|
||||||
|
|
||||||
[ti,t_impact]=findpeaks(c(:,shock_ch),'minpeakheight',max(c(:,shock_ch))*thresh,'minpeakdistance',ceil(sep/dts));
|
[ti,t_impact]=findpeaks(c(:,shock_ch),'minpeakheight',max(c(:,shock_ch))*thresh,'minpeakdistance',ceil(sep/dts));
|
||||||
% find times at which there are impacts (threshold of max and separated by sep sec)
|
% find times at which there are impacts (threshold of max and separated by sep sec)
|
||||||
|
|
||||||
psd_v=zeros((pre_ev+pos_ev)/dts/nyqhp,nbch);
|
psd_v=zeros((pre_ev+pos_ev)/dts/nyqhp,nbch);
|
||||||
psd_d=zeros((pre_ev+pos_ev)/dts/nyqhp,nbch);
|
psd_d=zeros((pre_ev+pos_ev)/dts/nyqhp,nbch);
|
||||||
frz_cut=zeros((pre_ev+pos_ev)/dts/nyqhp,nbch);
|
frz_cut=zeros((pre_ev+pos_ev)/dts/nyqhp,nbch);
|
||||||
|
|
||||||
for k=1:length(t_impact)
|
for k=1:length(t_impact)
|
||||||
ibeg=fix(t_impact(k)-(pre_ev/dts));
|
ibeg=fix(t_impact(k)-(pre_ev/dts));
|
||||||
iend=fix(t_impact(k)+(pos_ev/dts));
|
iend=fix(t_impact(k)+(pos_ev/dts));
|
||||||
freq_s=linspace(0,freq_max,t_win/2*freq_max);
|
freq_s=linspace(0,freq_max,t_win/2*freq_max);
|
||||||
if ibeg>1 && iend<length(c) % eliminate indexes outside data range
|
if ibeg>1 && iend<length(c) % eliminate indexes outside data range
|
||||||
[psd,integ_v,psd_int,integ_d]=integrated_psd(c(ibeg:iend,:),t_win,t_ovlp,nyqhp,dts);
|
[psd,integ_v,psd_int,integ_d]=integrated_psd(c(ibeg:iend,:),t_win,t_ovlp,nyqhp,dts);
|
||||||
psd_v=psd+psd_v;
|
psd_v=psd+psd_v;
|
||||||
psd_d=psd_int+psd_d;
|
psd_d=psd_int+psd_d;
|
||||||
[frz,crsp,pwsp,coherz,nsp]=fqresp(c(ibeg:iend,:),shock_ch,t_win,t_ovlp,nyqhp,dts);
|
[frz,crsp,pwsp,coherz,nsp]=fqresp(c(ibeg:iend,:),shock_ch,t_win,t_ovlp,nyqhp,dts);
|
||||||
frz_cut=frz+frz_cut;
|
frz_cut=frz+frz_cut;
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
psd_v=psd_v/length(t_impact);
|
psd_v=psd_v/length(t_impact);
|
||||||
psd_d=psd_d/length(t_impact);
|
psd_d=psd_d/length(t_impact);
|
||||||
frz_cut=frz_cut/length(t_impact);
|
frz_cut=frz_cut/length(t_impact);
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
drms=max(integ_d); % compute rms level
|
drms=max(integ_d); % compute rms level
|
||||||
dc=hpfint(c,f_cut,dts); % filter and integrate in time domain
|
dc=hpfint(c,f_cut,dts); % filter and integrate in time domain
|
||||||
dppc=hpdpp(dc,t_win,t_ovlp,1,dts); % compute peak to peak level
|
dppc=hpdpp(dc,t_win,t_ovlp,1,dts); % compute peak to peak level
|
||||||
|
|
||||||
|
|
||||||
%% transfer function, cross spectrum, power spectr. and coherence w.r.t. ch1
|
%% transfer function, cross spectrum, power spectr. and coherence w.r.t. ch1
|
||||||
|
|
||||||
eval(['c',num2str(i),'=c;'])
|
eval(['c',num2str(i),'=c;'])
|
||||||
eval(['dc',num2str(i),'=dc;'])
|
eval(['dc',num2str(i),'=dc;'])
|
||||||
eval(['dppc',num2str(i),'=dppc;'])
|
eval(['dppc',num2str(i),'=dppc;'])
|
||||||
@ -193,8 +193,8 @@ for i=capt
|
|||||||
% eval(['frx',num2str(i),'=frx;'])
|
% eval(['frx',num2str(i),'=frx;'])
|
||||||
eval(['coherz',num2str(i),'=coherz;'])
|
eval(['coherz',num2str(i),'=coherz;'])
|
||||||
eval(['time',num2str(i),'=time;'])
|
eval(['time',num2str(i),'=time;'])
|
||||||
|
|
||||||
clear data c dc psd psd_v psd_d time c_shut % clean up the mess
|
clear data c dc psd psd_v psd_d time c_shut % clean up the mess
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
@ -1,3 +1,3 @@
|
|||||||
contient les mesures des réponses avec marteau d'impact. Les fichiers xxx_raw sont sans traitement dans le domaine temporel (environ 10 impacts par fichier). Les fonctions de transfert avec phase sont dans le même répertoire avec des noms explicites (manquent les cohérences que je n'ai pas sorties)
|
contient les mesures des réponses avec marteau d'impact. Les fichiers xxx_raw sont sans traitement dans le domaine temporel (environ 10 impacts par fichier). Les fonctions de transfert avec phase sont dans le même répertoire avec des noms explicites (manquent les cohérences que je n'ai pas sorties)
|
||||||
|
|
||||||
Ces données ne me semblent pas de super qualité en basse fréquence, avec le Ty libre le mode à 5Hz est très amorti.
|
Ces données ne me semblent pas de super qualité en basse fréquence, avec le Ty libre le mode à 5Hz est très amorti.
|
||||||
|
@ -1,27 +1,5 @@
|
|||||||
#+TITLE: Measurements
|
#+TITLE: Measurements
|
||||||
:drawer:
|
#+SETUPFILE: ../config.org
|
||||||
#+STARTUP: overview
|
|
||||||
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
|
|
||||||
#+HTML_HEAD: <script src="../js/jquery.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script src="../js/bootstrap.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script src="../js/jquery.stickytableheaders.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script src="../js/readtheorg.js"></script>
|
|
||||||
|
|
||||||
#+LATEX_CLASS: cleanreport
|
|
||||||
#+LaTeX_CLASS_OPTIONS: [tocnp, secbreak, minted]
|
|
||||||
|
|
||||||
#+PROPERTY: header-args:matlab :session *MATLAB*
|
|
||||||
#+PROPERTY: header-args:matlab+ :comments org
|
|
||||||
#+PROPERTY: header-args:matlab+ :exports both
|
|
||||||
#+PROPERTY: header-args:matlab+ :eval no-export
|
|
||||||
#+PROPERTY: header-args:matlab+ :noweb yes
|
|
||||||
#+PROPERTY: header-args:matlab+ :mkdirp yes
|
|
||||||
#+PROPERTY: header-args:matlab+ :output-dir figs
|
|
||||||
:end:
|
|
||||||
|
|
||||||
[[../index.org][Back to main page]].
|
|
||||||
|
|
||||||
* Experimental conditions
|
* Experimental conditions
|
||||||
- Measurement made in the experiment hutch
|
- Measurement made in the experiment hutch
|
||||||
@ -87,7 +65,11 @@ Les fichiers xxx_raw sont sans traitement dans le domaine temporel (environ 10 i
|
|||||||
|
|
||||||
* Data Analysis
|
* Data Analysis
|
||||||
** Loading of the data
|
** Loading of the data
|
||||||
#+begin_src matlab :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
|
<<matlab-dir>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none :results silent :noweb yes
|
||||||
<<matlab-init>>
|
<<matlab-init>>
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
contient les mesures de l'effet des différents moteurs ON/OFF, j'ai sorti qq spectrogrammes qui montrent bien que c'est la spindle qui a le plus d'effet
|
contient les mesures de l'effet des différents moteurs ON/OFF, j'ai sorti qq spectrogrammes qui montrent bien que c'est la spindle qui a le plus d'effet
|
||||||
|
|
||||||
+ une mesure de la réponse du marbre sans excitation.
|
+ une mesure de la réponse du marbre sans excitation.
|
||||||
Le capteur Y sur le marbre semble faible en basse fréquence (marbre pas de niveau peut être)
|
Le capteur Y sur le marbre semble faible en basse fréquence (marbre pas de niveau peut être)
|
||||||
|
@ -1,34 +1,18 @@
|
|||||||
#+TITLE: Measurement Analysis
|
#+TITLE: Measurement Analysis
|
||||||
:drawer:
|
#+SETUPFILE: ../config.org
|
||||||
#+STARTUP: overview
|
|
||||||
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
|
* Matlab Init :noexport:ignore:
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
#+HTML_HEAD: <script src="../js/jquery.min.js"></script>
|
<<matlab-dir>>
|
||||||
#+HTML_HEAD: <script src="../js/bootstrap.min.js"></script>
|
#+end_src
|
||||||
#+HTML_HEAD: <script src="../js/jquery.stickytableheaders.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script src="../js/readtheorg.js"></script>
|
|
||||||
|
|
||||||
#+LATEX_CLASS: cleanreport
|
#+begin_src matlab :exports none :results silent :noweb yes
|
||||||
#+LaTeX_CLASS_OPTIONS: [tocnp, secbreak, minted]
|
|
||||||
|
|
||||||
#+PROPERTY: header-args:matlab :session *MATLAB*
|
|
||||||
#+PROPERTY: header-args:matlab+ :comments org
|
|
||||||
#+PROPERTY: header-args:matlab+ :exports both
|
|
||||||
#+PROPERTY: header-args:matlab+ :eval no-export
|
|
||||||
#+PROPERTY: header-args:matlab+ :noweb yes
|
|
||||||
#+PROPERTY: header-args:matlab+ :mkdirp yes
|
|
||||||
#+PROPERTY: header-args:matlab+ :output-dir figs
|
|
||||||
:end:
|
|
||||||
|
|
||||||
[[../index.org][Back to main page]].
|
|
||||||
|
|
||||||
#+begin_src matlab :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
|
||||||
<<matlab-init>>
|
<<matlab-init>>
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Measurement Description
|
* Measurement Description
|
||||||
#+name: fig:setup_picture
|
#+name: fig:setup_picture
|
||||||
|
#+attr_html: :width 500px
|
||||||
#+caption: Picture of the setup for the measurement
|
#+caption: Picture of the setup for the measurement
|
||||||
[[file:./figs/setup_picture.png]]
|
[[file:./figs/setup_picture.png]]
|
||||||
|
|
||||||
|
@ -1,29 +1,12 @@
|
|||||||
#+TITLE: Ground Motion Measurements
|
#+TITLE: Ground Motion Measurements
|
||||||
:drawer:
|
#+SETUPFILE: ../config.org
|
||||||
#+STARTUP: overview
|
|
||||||
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
|
* Matlab Init :noexport:ignore:
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
#+HTML_HEAD: <script src="../js/jquery.min.js"></script>
|
<<matlab-dir>>
|
||||||
#+HTML_HEAD: <script src="../js/bootstrap.min.js"></script>
|
#+end_src
|
||||||
#+HTML_HEAD: <script src="../js/jquery.stickytableheaders.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script src="../js/readtheorg.js"></script>
|
|
||||||
|
|
||||||
#+LATEX_CLASS: cleanreport
|
#+begin_src matlab :exports none :results silent :noweb yes
|
||||||
#+LaTeX_CLASS_OPTIONS: [tocnp, secbreak, minted]
|
|
||||||
|
|
||||||
#+PROPERTY: header-args:matlab :session *MATLAB*
|
|
||||||
#+PROPERTY: header-args:matlab+ :comments org
|
|
||||||
#+PROPERTY: header-args:matlab+ :exports both
|
|
||||||
#+PROPERTY: header-args:matlab+ :eval no-export
|
|
||||||
#+PROPERTY: header-args:matlab+ :noweb yes
|
|
||||||
#+PROPERTY: header-args:matlab+ :mkdirp yes
|
|
||||||
#+PROPERTY: header-args:matlab+ :output-dir figs
|
|
||||||
:end:
|
|
||||||
|
|
||||||
[[../index.org][Back to main page]].
|
|
||||||
|
|
||||||
#+begin_src matlab :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
|
||||||
<<matlab-init>>
|
<<matlab-init>>
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 26 KiB |
@ -1,110 +0,0 @@
|
|||||||
Error X et Y
|
|
||||||
|
|
||||||
LSCxtot =
|
|
||||||
|
|
||||||
0.3872
|
|
||||||
|
|
||||||
|
|
||||||
LSCytot =
|
|
||||||
|
|
||||||
0.2419
|
|
||||||
|
|
||||||
|
|
||||||
LSCxsync =
|
|
||||||
|
|
||||||
0.1577
|
|
||||||
|
|
||||||
|
|
||||||
LSCysync =
|
|
||||||
|
|
||||||
0.1602
|
|
||||||
|
|
||||||
|
|
||||||
LSCxasync =
|
|
||||||
|
|
||||||
0.2946
|
|
||||||
|
|
||||||
|
|
||||||
LSCyasync =
|
|
||||||
|
|
||||||
0.1103
|
|
||||||
|
|
||||||
|
|
||||||
LSCxytot =
|
|
||||||
|
|
||||||
0.3519
|
|
||||||
|
|
||||||
|
|
||||||
Error X2 et Y2
|
|
||||||
|
|
||||||
|
|
||||||
LSCxtot =
|
|
||||||
|
|
||||||
0.3354
|
|
||||||
|
|
||||||
|
|
||||||
LSCytot =
|
|
||||||
|
|
||||||
0.3202
|
|
||||||
|
|
||||||
|
|
||||||
LSCxsync =
|
|
||||||
|
|
||||||
0.1101
|
|
||||||
|
|
||||||
|
|
||||||
LSCysync =
|
|
||||||
|
|
||||||
0.0808
|
|
||||||
|
|
||||||
|
|
||||||
LSCxasync =
|
|
||||||
|
|
||||||
0.2588
|
|
||||||
|
|
||||||
|
|
||||||
LSCyasync =
|
|
||||||
|
|
||||||
0.2791
|
|
||||||
|
|
||||||
|
|
||||||
LSCxytot =
|
|
||||||
|
|
||||||
0.3642
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ErrorZ
|
|
||||||
LSCxtot =
|
|
||||||
|
|
||||||
0.0775
|
|
||||||
|
|
||||||
|
|
||||||
LSCytot =
|
|
||||||
|
|
||||||
0.0775
|
|
||||||
|
|
||||||
|
|
||||||
LSCxsync =
|
|
||||||
|
|
||||||
0.0390
|
|
||||||
|
|
||||||
|
|
||||||
LSCysync =
|
|
||||||
|
|
||||||
0.0390
|
|
||||||
|
|
||||||
|
|
||||||
LSCxasync =
|
|
||||||
|
|
||||||
0.0617
|
|
||||||
|
|
||||||
|
|
||||||
LSCyasync =
|
|
||||||
|
|
||||||
0.0617
|
|
||||||
|
|
||||||
|
|
||||||
LSCxytot =
|
|
||||||
|
|
||||||
0.1000
|
|
Before Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 85 KiB |
2407
Static/data/data.txt
@ -1,27 +1,5 @@
|
|||||||
#+TITLE: Equipment
|
#+TITLE: Equipment
|
||||||
:drawer:
|
#+SETUPFILE: ../config.org
|
||||||
#+STARTUP: overview
|
|
||||||
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
|
|
||||||
#+HTML_HEAD: <script src="../js/jquery.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script src="../js/bootstrap.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script src="../js/jquery.stickytableheaders.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script src="../js/readtheorg.js"></script>
|
|
||||||
|
|
||||||
#+LATEX_CLASS: cleanreport
|
|
||||||
#+LaTeX_CLASS_OPTIONS: [tocnp, secbreak, minted]
|
|
||||||
|
|
||||||
#+PROPERTY: header-args:matlab :session *MATLAB*
|
|
||||||
#+PROPERTY: header-args:matlab+ :comments org
|
|
||||||
#+PROPERTY: header-args:matlab+ :exports both
|
|
||||||
#+PROPERTY: header-args:matlab+ :eval no-export
|
|
||||||
#+PROPERTY: header-args:matlab+ :noweb yes
|
|
||||||
#+PROPERTY: header-args:matlab+ :mkdirp yes
|
|
||||||
#+PROPERTY: header-args:matlab+ :output-dir figs
|
|
||||||
:end:
|
|
||||||
|
|
||||||
[[../index.org][Back to main page]].
|
|
||||||
|
|
||||||
* Sensors
|
* Sensors
|
||||||
** Accelerometers
|
** Accelerometers
|
||||||
@ -160,7 +138,11 @@ We define the parameters of the geophone and we plot its bode plot (figure [[fig
|
|||||||
| Weight [g] | 2150 |
|
| Weight [g] | 2150 |
|
||||||
| Sensitivity [V/(m/s)] | 276.8 |
|
| Sensitivity [V/(m/s)] | 276.8 |
|
||||||
|
|
||||||
#+begin_src matlab :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
|
<<matlab-dir>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none :results silent :noweb yes
|
||||||
<<matlab-init>>
|
<<matlab-init>>
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
27
config.org
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#+STARTUP: overview
|
||||||
|
|
||||||
|
#+LANGUAGE: en
|
||||||
|
#+EMAIL: dehaeze.thomas@gmail.com
|
||||||
|
#+AUTHOR: Dehaeze Thomas
|
||||||
|
|
||||||
|
#+HTML_LINK_HOME: ../index.html
|
||||||
|
#+HTML_LINK_UP: ../index.html
|
||||||
|
|
||||||
|
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
|
||||||
|
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
|
||||||
|
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/zenburn.css"/>
|
||||||
|
#+HTML_HEAD: <script type="text/javascript" src="../js/jquery.min.js"></script>
|
||||||
|
#+HTML_HEAD: <script type="text/javascript" src="../js/bootstrap.min.js"></script>
|
||||||
|
#+HTML_HEAD: <script type="text/javascript" src="../js/jquery.stickytableheaders.min.js"></script>
|
||||||
|
#+HTML_HEAD: <script type="text/javascript" src="../js/readtheorg.js"></script>
|
||||||
|
|
||||||
|
#+HTML_MATHJAX: align: center tagside: right font: TeX
|
||||||
|
|
||||||
|
#+PROPERTY: header-args:matlab :session *MATLAB*
|
||||||
|
#+PROPERTY: header-args:matlab+ :comments org
|
||||||
|
#+PROPERTY: header-args:matlab+ :results none
|
||||||
|
#+PROPERTY: header-args:matlab+ :exports both
|
||||||
|
#+PROPERTY: header-args:matlab+ :eval no-export
|
||||||
|
#+PROPERTY: header-args:matlab+ :output-dir figs
|
||||||
|
|
||||||
|
#+PROPERTY: header-args:shell :eval no-export
|
@ -1,28 +1,15 @@
|
|||||||
#+TITLE:Measurement of the sample vibrations when rotating the Spindle
|
#+TITLE:Measurement of the sample vibrations when rotating the Spindle
|
||||||
:DRAWER:
|
#+SETUPFILE: ../config.org
|
||||||
#+STARTUP: overview
|
|
||||||
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/zenburn.css"/>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="../js/jquery.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="../js/bootstrap.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="../js/jquery.stickytableheaders.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="../js/readtheorg.js"></script>
|
|
||||||
|
|
||||||
#+PROPERTY: header-args:matlab :session *MATLAB*
|
|
||||||
#+PROPERTY: header-args:matlab+ :comments org
|
|
||||||
#+PROPERTY: header-args:matlab+ :results output
|
|
||||||
#+PROPERTY: header-args:matlab+ :exports both
|
|
||||||
#+PROPERTY: header-args:matlab+ :eval no-export
|
|
||||||
#+PROPERTY: header-args:matlab+ :output-dir figs
|
|
||||||
:END:
|
|
||||||
|
|
||||||
* Experimental Setup
|
* Experimental Setup
|
||||||
|
|
||||||
* Signal Processing
|
* Signal Processing
|
||||||
** Matlab Init :noexport:ignore:
|
** Matlab Init :noexport:ignore:
|
||||||
#+begin_src matlab :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
|
<<matlab-dir>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none :results silent :noweb yes
|
||||||
<<matlab-init>>
|
<<matlab-init>>
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
@ -1,15 +1,5 @@
|
|||||||
#+TITLE: Equipment used to make the measurements
|
#+TITLE: Equipment used to make the measurements
|
||||||
:DRAWER:
|
#+SETUPFILE: ../config.org
|
||||||
#+STARTUP: overview
|
|
||||||
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/zenburn.css"/>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="../js/jquery.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="../js/bootstrap.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="../js/jquery.stickytableheaders.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="../js/readtheorg.js"></script>
|
|
||||||
:END:
|
|
||||||
|
|
||||||
* Geophone
|
* Geophone
|
||||||
L22
|
L22
|
||||||
|
3
huddle-test-geophones/figs/.gitignore
vendored
@ -1,3 +0,0 @@
|
|||||||
*.svg
|
|
||||||
*.pdf
|
|
||||||
*.tex
|
|
Before Width: | Height: | Size: 3.7 MiB After Width: | Height: | Size: 3.7 MiB |
Before Width: | Height: | Size: 3.8 MiB After Width: | Height: | Size: 3.8 MiB |
@ -3,12 +3,12 @@
|
|||||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||||
<head>
|
<head>
|
||||||
<!-- 2019-05-03 ven. 11:32 -->
|
<!-- 2019-05-10 ven. 14:24 -->
|
||||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<title>Huddle Test of the L22 Geophones</title>
|
<title>Huddle Test of the L22 Geophones</title>
|
||||||
<meta name="generator" content="Org mode" />
|
<meta name="generator" content="Org mode" />
|
||||||
<meta name="author" content="Thomas Dehaeze" />
|
<meta name="author" content="Dehaeze Thomas" />
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
<!--/*--><![CDATA[/*><!--*/
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
.title { text-align: center;
|
.title { text-align: center;
|
||||||
@ -247,65 +247,74 @@ for the JavaScript code in this tag.
|
|||||||
/*]]>*///-->
|
/*]]>*///-->
|
||||||
</script>
|
</script>
|
||||||
<script type="text/x-mathjax-config">
|
<script type="text/x-mathjax-config">
|
||||||
MathJax.Hub.Config({
|
MathJax.Hub.Config({
|
||||||
displayAlign: "center",
|
extensions: ["tex2jax.js", "[siunitx]/siunitx.js"],
|
||||||
displayIndent: "0em",
|
jax: ["input/TeX","output/HTML-CSS"],
|
||||||
|
tex2jax: {inlineMath: [["$","$"],["\(","\)"]]},
|
||||||
|
displayAlign: "center",
|
||||||
|
displayIndent: "0em",
|
||||||
|
|
||||||
"HTML-CSS": { scale: 100,
|
"HTML-CSS": { scale: 100,
|
||||||
linebreaks: { automatic: "false" },
|
linebreaks: { automatic: "false" },
|
||||||
webFont: "TeX"
|
webFont: "TeX"
|
||||||
},
|
},
|
||||||
SVG: {scale: 100,
|
SVG: {scale: 100,
|
||||||
linebreaks: { automatic: "false" },
|
linebreaks: { automatic: "false" },
|
||||||
font: "TeX"},
|
font: "TeX"},
|
||||||
NativeMML: {scale: 100},
|
NativeMML: {scale: 100},
|
||||||
TeX: { equationNumbers: {autoNumber: "AMS"},
|
TeX: { equationNumbers: {autoNumber: "AMS"},
|
||||||
MultLineWidth: "85%",
|
extensions: ["AMSmath.js","AMSsymbols.js", "sinuitx.js"],
|
||||||
TagSide: "right",
|
MultLineWidth: "85%",
|
||||||
TagIndent: ".8em"
|
TagSide: "right",
|
||||||
}
|
TagIndent: ".8em"
|
||||||
});
|
}
|
||||||
</script>
|
});
|
||||||
<script type="text/javascript"
|
MathJax.Ajax.config.path['siunitx'] = '../js';
|
||||||
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML"></script>
|
</script>
|
||||||
|
<script type="text/javascript"
|
||||||
|
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="content">
|
<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">Huddle Test of the L22 Geophones</h1>
|
<h1 class="title">Huddle Test of the L22 Geophones</h1>
|
||||||
<div id="table-of-contents">
|
<div id="table-of-contents">
|
||||||
<h2>Table of Contents</h2>
|
<h2>Table of Contents</h2>
|
||||||
<div id="text-table-of-contents">
|
<div id="text-table-of-contents">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#org446511b">1. Experimental Setup</a></li>
|
<li><a href="#org214e6d8">1. Experimental Setup</a></li>
|
||||||
<li><a href="#org0689ed7">2. Signal Processing</a>
|
<li><a href="#org42d6b13">2. Signal Processing</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#org34a2d4c">2.1. Load data</a></li>
|
<li><a href="#orgf4a8298">2.1. Load data</a></li>
|
||||||
<li><a href="#org28e8648">2.2. Time Domain Data</a></li>
|
<li><a href="#org687ebba">2.2. Time Domain Data</a></li>
|
||||||
<li><a href="#org910f3e4">2.3. Computation of the ASD of the measured voltage</a></li>
|
<li><a href="#org649e300">2.3. Computation of the ASD of the measured voltage</a></li>
|
||||||
<li><a href="#org4e984e1">2.4. Scaling to take into account the sensibility of the geophone and the voltage amplifier</a></li>
|
<li><a href="#org6148805">2.4. Scaling to take into account the sensibility of the geophone and the voltage amplifier</a></li>
|
||||||
<li><a href="#org607752b">2.5. Computation of the ASD of the velocity</a></li>
|
<li><a href="#orgfd258d8">2.5. Computation of the ASD of the velocity</a></li>
|
||||||
<li><a href="#org0a07c74">2.6. Transfer function between the two geophones</a></li>
|
<li><a href="#org453baa3">2.6. Transfer function between the two geophones</a></li>
|
||||||
<li><a href="#orgdc03acb">2.7. Estimation of the sensor noise</a></li>
|
<li><a href="#orgd2d293a">2.7. Estimation of the sensor noise</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#org58e6c46">3. Compare axis</a>
|
<li><a href="#orgbd963cb">3. Compare axis</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#org8f74945">3.1. Load data</a></li>
|
<li><a href="#org5ae5d71">3.1. Load data</a></li>
|
||||||
<li><a href="#orgf13f88e">3.2. Compare PSD</a></li>
|
<li><a href="#orgd12648a">3.2. Compare PSD</a></li>
|
||||||
<li><a href="#orgf389e18">3.3. Compare TF</a></li>
|
<li><a href="#orgf076a23">3.3. Compare TF</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#org1ca0f74">4. Appendix</a>
|
<li><a href="#org17f5bce">4. Appendix</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#org9faefb2">4.1. Computation of coherence from PSD and CSD</a></li>
|
<li><a href="#org6babc5e">4.1. Computation of coherence from PSD and CSD</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org446511b" class="outline-2">
|
<div id="outline-container-org214e6d8" class="outline-2">
|
||||||
<h2 id="org446511b"><span class="section-number-2">1</span> Experimental Setup</h2>
|
<h2 id="org214e6d8"><span class="section-number-2">1</span> Experimental Setup</h2>
|
||||||
<div class="outline-text-2" id="text-1">
|
<div class="outline-text-2" id="text-1">
|
||||||
<p>
|
<p>
|
||||||
Two L22 geophones are used.
|
Two L22 geophones are used.
|
||||||
@ -315,36 +324,46 @@ They are leveled.
|
|||||||
|
|
||||||
<p>
|
<p>
|
||||||
The signals are amplified using voltage amplifier with a gain of 60dB.
|
The signals are amplified using voltage amplifier with a gain of 60dB.
|
||||||
The voltage amplifiers include a low pass filter with a cut-off frequency at 1kHz.
|
The voltage amplifiers includes:
|
||||||
</p>
|
</p>
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>an high pass filter with a cut-off frequency at 1.5Hz (AC option)</li>
|
||||||
|
<li>a low pass filter with a cut-off frequency at 1kHz</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<div id="orgeab8098" class="figure">
|
<div id="org2edcc21" class="figure">
|
||||||
<p><img src="./figs/setup.jpg" alt="setup.jpg" width="500px" />
|
<p><img src="./img/setup.jpg" alt="setup.jpg" width="500px" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 1: </span>Setup</p>
|
<p><span class="figure-number">Figure 1: </span>Setup</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="orgdadbe53" class="figure">
|
<div id="org36e36a2" class="figure">
|
||||||
<p><img src="./figs/geophones.jpg" alt="geophones.jpg" width="500px" />
|
<p><img src="./img/geophones.jpg" alt="geophones.jpg" width="500px" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 2: </span>Geophones</p>
|
<p><span class="figure-number">Figure 2: </span>Geophones</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org0689ed7" class="outline-2">
|
<div id="outline-container-org42d6b13" class="outline-2">
|
||||||
<h2 id="org0689ed7"><span class="section-number-2">2</span> Signal Processing</h2>
|
<h2 id="org42d6b13"><span class="section-number-2">2</span> Signal Processing</h2>
|
||||||
<div class="outline-text-2" id="text-2">
|
<div class="outline-text-2" id="text-2">
|
||||||
<p>
|
<p>
|
||||||
The Matlab computing file for this part is accessible <a href="signal_processing.m">here</a>.
|
<a id="org7e05e6c"></a>
|
||||||
The <code>mat</code> file containing the measurement data is accessible <a href="mat/data_001.mat">here</a>.
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<div class="note">
|
||||||
|
<p>
|
||||||
|
All the files (data and Matlab scripts) are accessible <a href="data/huddle_test_signal_processing.zip">here</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org34a2d4c" class="outline-3">
|
<div id="outline-container-orgf4a8298" class="outline-3">
|
||||||
<h3 id="org34a2d4c"><span class="section-number-3">2.1</span> Load data</h3>
|
<h3 id="orgf4a8298"><span class="section-number-3">2.1</span> Load data</h3>
|
||||||
<div class="outline-text-3" id="text-2-1">
|
<div class="outline-text-3" id="text-2-1">
|
||||||
<p>
|
<p>
|
||||||
We load the data of the z axis of two geophones.
|
We load the data of the z axis of two geophones.
|
||||||
@ -358,8 +377,8 @@ dt = t<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-high
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org28e8648" class="outline-3">
|
<div id="outline-container-org687ebba" class="outline-3">
|
||||||
<h3 id="org28e8648"><span class="section-number-3">2.2</span> Time Domain Data</h3>
|
<h3 id="org687ebba"><span class="section-number-3">2.2</span> Time Domain Data</h3>
|
||||||
<div class="outline-text-3" id="text-2-2">
|
<div class="outline-text-3" id="text-2-2">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab"><span class="org-type">figure</span>;
|
<pre class="src src-matlab"><span class="org-type">figure</span>;
|
||||||
@ -374,7 +393,7 @@ xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbo
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="orgbc90092" class="figure">
|
<div id="org20233d2" class="figure">
|
||||||
<p><img src="figs/data_time_domain.png" alt="data_time_domain.png" />
|
<p><img src="figs/data_time_domain.png" alt="data_time_domain.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 3: </span>Time domain Data</p>
|
<p><span class="figure-number">Figure 3: </span>Time domain Data</p>
|
||||||
@ -394,7 +413,7 @@ xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbo
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="orgbb22470" class="figure">
|
<div id="org1b7bc10" class="figure">
|
||||||
<p><img src="figs/data_time_domain_zoom.png" alt="data_time_domain_zoom.png" />
|
<p><img src="figs/data_time_domain_zoom.png" alt="data_time_domain_zoom.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 4: </span>Time domain Data - Zoom</p>
|
<p><span class="figure-number">Figure 4: </span>Time domain Data - Zoom</p>
|
||||||
@ -402,8 +421,8 @@ xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbo
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org910f3e4" class="outline-3">
|
<div id="outline-container-org649e300" class="outline-3">
|
||||||
<h3 id="org910f3e4"><span class="section-number-3">2.3</span> Computation of the ASD of the measured voltage</h3>
|
<h3 id="org649e300"><span class="section-number-3">2.3</span> Computation of the ASD of the measured voltage</h3>
|
||||||
<div class="outline-text-3" id="text-2-3">
|
<div class="outline-text-3" id="text-2-3">
|
||||||
<p>
|
<p>
|
||||||
We first define the parameters for the frequency domain analysis.
|
We first define the parameters for the frequency domain analysis.
|
||||||
@ -425,7 +444,7 @@ Then we compute the Power Spectral Density using <code>pwelch</code> function.
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
And we plot the result on figure <a href="#orgbf77081">5</a>.
|
And we plot the result on figure <a href="#org3ce04bf">5</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
@ -442,7 +461,7 @@ xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbo
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="orgbf77081" class="figure">
|
<div id="org3ce04bf" class="figure">
|
||||||
<p><img src="figs/asd_voltage.png" alt="asd_voltage.png" />
|
<p><img src="figs/asd_voltage.png" alt="asd_voltage.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 5: </span>Amplitude Spectral Density of the measured voltage</p>
|
<p><span class="figure-number">Figure 5: </span>Amplitude Spectral Density of the measured voltage</p>
|
||||||
@ -450,11 +469,11 @@ xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbo
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org4e984e1" class="outline-3">
|
<div id="outline-container-org6148805" class="outline-3">
|
||||||
<h3 id="org4e984e1"><span class="section-number-3">2.4</span> Scaling to take into account the sensibility of the geophone and the voltage amplifier</h3>
|
<h3 id="org6148805"><span class="section-number-3">2.4</span> Scaling to take into account the sensibility of the geophone and the voltage amplifier</h3>
|
||||||
<div class="outline-text-3" id="text-2-4">
|
<div class="outline-text-3" id="text-2-4">
|
||||||
<p>
|
<p>
|
||||||
The Geophone used are L22. Their sensibility is shown on figure <a href="#org0a867d9">6</a>.
|
The Geophone used are L22. Their sensibility is shown on figure <a href="#orgd7b0965">6</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
@ -466,7 +485,7 @@ S = S0<span class="org-type">*</span><span class="org-rainbow-delimiters-depth-1
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="org0a867d9" class="figure">
|
<div id="orgd7b0965" class="figure">
|
||||||
<p><img src="figs/geophone_sensibility.png" alt="geophone_sensibility.png" />
|
<p><img src="figs/geophone_sensibility.png" alt="geophone_sensibility.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 6: </span>Sensibility of the Geophone</p>
|
<p><span class="figure-number">Figure 6: </span>Sensibility of the Geophone</p>
|
||||||
@ -496,11 +515,11 @@ We further divide the result by the sensibility of the Geophone to obtain the AS
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org607752b" class="outline-3">
|
<div id="outline-container-orgfd258d8" class="outline-3">
|
||||||
<h3 id="org607752b"><span class="section-number-3">2.5</span> Computation of the ASD of the velocity</h3>
|
<h3 id="orgfd258d8"><span class="section-number-3">2.5</span> Computation of the ASD of the velocity</h3>
|
||||||
<div class="outline-text-3" id="text-2-5">
|
<div class="outline-text-3" id="text-2-5">
|
||||||
<p>
|
<p>
|
||||||
The ASD of the measured velocity is shown on figure <a href="#orgd9a4009">7</a>.
|
The ASD of the measured velocity is shown on figure <a href="#org3cb06de">7</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
@ -517,14 +536,14 @@ xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbo
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="orgd9a4009" class="figure">
|
<div id="org3cb06de" class="figure">
|
||||||
<p><img src="figs/psd_velocity.png" alt="psd_velocity.png" />
|
<p><img src="figs/psd_velocity.png" alt="psd_velocity.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 7: </span>Amplitude Spectral Density of the Velocity</p>
|
<p><span class="figure-number">Figure 7: </span>Amplitude Spectral Density of the Velocity</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
We also plot the ASD in displacement (figure <a href="#orgc0b2ca5">8</a>);
|
We also plot the ASD in displacement (figure <a href="#org2012a56">8</a>);
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
@ -540,7 +559,7 @@ xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbo
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="orgc0b2ca5" class="figure">
|
<div id="org2012a56" class="figure">
|
||||||
<p><img src="figs/asd_displacement.png" alt="asd_displacement.png" />
|
<p><img src="figs/asd_displacement.png" alt="asd_displacement.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 8: </span>Amplitude Spectral Density of the Displacement</p>
|
<p><span class="figure-number">Figure 8: </span>Amplitude Spectral Density of the Displacement</p>
|
||||||
@ -548,16 +567,16 @@ xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbo
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org0a07c74" class="outline-3">
|
<div id="outline-container-org453baa3" class="outline-3">
|
||||||
<h3 id="org0a07c74"><span class="section-number-3">2.6</span> Transfer function between the two geophones</h3>
|
<h3 id="org453baa3"><span class="section-number-3">2.6</span> Transfer function between the two geophones</h3>
|
||||||
<div class="outline-text-3" id="text-2-6">
|
<div class="outline-text-3" id="text-2-6">
|
||||||
<p>
|
<p>
|
||||||
We here compute the transfer function from one geophone to the other.
|
We here compute the transfer function from one geophone to the other.
|
||||||
The result is shown on figure <a href="#org7d8ea2b">9</a>.
|
The result is shown on figure <a href="#org8ca997a">9</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
We also compute the coherence between the two signals (figure <a href="#org628544f">10</a>).
|
We also compute the coherence between the two signals (figure <a href="#org4366ab4">10</a>).
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
@ -566,7 +585,7 @@ We also compute the coherence between the two signals (figure <a href="#org62854
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="org7d8ea2b" class="figure">
|
<div id="org8ca997a" class="figure">
|
||||||
<p><img src="figs/tf_geophones.png" alt="tf_geophones.png" />
|
<p><img src="figs/tf_geophones.png" alt="tf_geophones.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 9: </span>Estimated transfer function between the two geophones</p>
|
<p><span class="figure-number">Figure 9: </span>Estimated transfer function between the two geophones</p>
|
||||||
@ -578,7 +597,7 @@ We also compute the coherence between the two signals (figure <a href="#org62854
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="org628544f" class="figure">
|
<div id="org4366ab4" class="figure">
|
||||||
<p><img src="figs/coh_geophones.png" alt="coh_geophones.png" />
|
<p><img src="figs/coh_geophones.png" alt="coh_geophones.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 10: </span>Cohererence between the signals of the two geophones</p>
|
<p><span class="figure-number">Figure 10: </span>Cohererence between the signals of the two geophones</p>
|
||||||
@ -586,8 +605,8 @@ We also compute the coherence between the two signals (figure <a href="#org62854
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orgdc03acb" class="outline-3">
|
<div id="outline-container-orgd2d293a" class="outline-3">
|
||||||
<h3 id="orgdc03acb"><span class="section-number-3">2.7</span> Estimation of the sensor noise</h3>
|
<h3 id="orgd2d293a"><span class="section-number-3">2.7</span> Estimation of the sensor noise</h3>
|
||||||
<div class="outline-text-3" id="text-2-7">
|
<div class="outline-text-3" id="text-2-7">
|
||||||
<p>
|
<p>
|
||||||
The technique to estimate the sensor noise is taken from <a class='org-ref-reference' href="#barzilai98_techn_measur_noise_sensor_presen">barzilai98_techn_measur_noise_sensor_presen</a>.
|
The technique to estimate the sensor noise is taken from <a class='org-ref-reference' href="#barzilai98_techn_measur_noise_sensor_presen">barzilai98_techn_measur_noise_sensor_presen</a>.
|
||||||
@ -617,11 +636,11 @@ where:
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The <code>mscohere</code> function is compared with this formula on Appendix (section <a href="#orgc9ed210">4.1</a>), it is shown that it is identical.
|
The <code>mscohere</code> function is compared with this formula on Appendix (section <a href="#org956da99">4.1</a>), it is shown that it is identical.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Figure <a href="#org9b31b02">11</a> illustrate a block diagram model of the system used to determine the sensor noise of the geophone.
|
Figure <a href="#orgc9be925">11</a> illustrate a block diagram model of the system used to determine the sensor noise of the geophone.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@ -633,7 +652,7 @@ Each sensor has noise \(N\) and \(M\).
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
<div id="org9b31b02" class="figure">
|
<div id="orgc9be925" class="figure">
|
||||||
<p><img src="figs/huddle-test.png" alt="huddle-test.png" />
|
<p><img src="figs/huddle-test.png" alt="huddle-test.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 11: </span>Huddle test block diagram</p>
|
<p><span class="figure-number">Figure 11: </span>Huddle test block diagram</p>
|
||||||
@ -648,7 +667,7 @@ We also assume that \(S_1 = S_2 = 1\).
|
|||||||
We then obtain:
|
We then obtain:
|
||||||
</p>
|
</p>
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\label{orgf197c52}
|
\label{orgc4ca458}
|
||||||
\gamma_{XY}^2(\omega) = \frac{1}{1 + 2 \left( \frac{|G_N(\omega)|}{|G_U(\omega)|} \right) + \left( \frac{|G_N(\omega)|}{|G_U(\omega)|} \right)^2}
|
\gamma_{XY}^2(\omega) = \frac{1}{1 + 2 \left( \frac{|G_N(\omega)|}{|G_U(\omega)|} \right) + \left( \frac{|G_N(\omega)|}{|G_U(\omega)|} \right)^2}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
@ -656,23 +675,23 @@ We then obtain:
|
|||||||
Since the input signal \(U\) and the instrumental noise \(N\) are incoherent:
|
Since the input signal \(U\) and the instrumental noise \(N\) are incoherent:
|
||||||
</p>
|
</p>
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\label{org845ba9b}
|
\label{orgb9a5b79}
|
||||||
|G_X(\omega)| = |G_N(\omega)| + |G_U(\omega)|
|
|G_X(\omega)| = |G_N(\omega)| + |G_U(\omega)|
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
From equations \eqref{orgf197c52} and \eqref{org845ba9b}, we finally obtain
|
From equations \eqref{orgc4ca458} and \eqref{orgb9a5b79}, we finally obtain
|
||||||
</p>
|
</p>
|
||||||
<div class="important">
|
<div class="important">
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\label{org0941f4e}
|
\label{org618c850}
|
||||||
|G_N(\omega)| = |G_X(\omega)| \left( 1 - \sqrt{\gamma_{XY}^2(\omega)} \right)
|
|G_N(\omega)| = |G_X(\omega)| \left( 1 - \sqrt{\gamma_{XY}^2(\omega)} \right)
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The instrumental noise is computed below. The result in V<sup>2</sup>/Hz is shown on figure <a href="#orged7b0f2">12</a>.
|
The instrumental noise is computed below. The result in V<sup>2</sup>/Hz is shown on figure <a href="#org8fc8f62">12</a>.
|
||||||
</p>
|
</p>
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab">pxxN = pxx1<span class="org-type">.*</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">1</span> <span class="org-type">-</span> coh12<span class="org-rainbow-delimiters-depth-1">)</span>;
|
<pre class="src src-matlab">pxxN = pxx1<span class="org-type">.*</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">1</span> <span class="org-type">-</span> coh12<span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
@ -693,14 +712,14 @@ xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbo
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="orged7b0f2" class="figure">
|
<div id="org8fc8f62" class="figure">
|
||||||
<p><img src="figs/intrumental_noise_V.png" alt="intrumental_noise_V.png" />
|
<p><img src="figs/intrumental_noise_V.png" alt="intrumental_noise_V.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 12: </span>Instrumental Noise and Measurement in \(V^2/Hz\)</p>
|
<p><span class="figure-number">Figure 12: </span>Instrumental Noise and Measurement in \(V^2/Hz\)</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
This is then further converted into velocity and compared with the ground velocity measurement. (figure <a href="#org3b9b556">13</a>)
|
This is then further converted into velocity and compared with the ground velocity measurement. (figure <a href="#orgaf005ac">13</a>)
|
||||||
</p>
|
</p>
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab"><span class="org-type">figure</span>;
|
<pre class="src src-matlab"><span class="org-type">figure</span>;
|
||||||
@ -716,7 +735,7 @@ xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbo
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="org3b9b556" class="figure">
|
<div id="orgaf005ac" class="figure">
|
||||||
<p><img src="figs/intrumental_noise_velocity.png" alt="intrumental_noise_velocity.png" />
|
<p><img src="figs/intrumental_noise_velocity.png" alt="intrumental_noise_velocity.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 13: </span>Instrumental Noise and Measurement in \(m/s/\sqrt{Hz}\)</p>
|
<p><span class="figure-number">Figure 13: </span>Instrumental Noise and Measurement in \(m/s/\sqrt{Hz}\)</p>
|
||||||
@ -725,22 +744,23 @@ xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbo
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org58e6c46" class="outline-2">
|
<div id="outline-container-orgbd963cb" class="outline-2">
|
||||||
<h2 id="org58e6c46"><span class="section-number-2">3</span> Compare axis</h2>
|
<h2 id="orgbd963cb"><span class="section-number-2">3</span> Compare axis</h2>
|
||||||
<div class="outline-text-2" id="text-3">
|
<div class="outline-text-2" id="text-3">
|
||||||
<p>
|
<p>
|
||||||
The Matlab computing file for this part is accessible <a href="compare_axis.m">here</a>.
|
<a id="org04574c0"></a>
|
||||||
The <code>mat</code> files containing the measurement data are accessible with the following links:
|
|
||||||
</p>
|
</p>
|
||||||
<ul class="org-ul">
|
|
||||||
<li>z axis: <a href="mat/data_001.mat">here</a>.</li>
|
<div class="note">
|
||||||
<li>east axis: <a href="mat/data_002.mat">here</a>.</li>
|
<p>
|
||||||
<li>north axis: <a href="mat/data_003.mat">here</a>.</li>
|
All the files (data and Matlab scripts) are accessible <a href="data/huddle_test_compare_axis.zip">here</a>.
|
||||||
</ul>
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org8f74945" class="outline-3">
|
<div id="outline-container-org5ae5d71" class="outline-3">
|
||||||
<h3 id="org8f74945"><span class="section-number-3">3.1</span> Load data</h3>
|
<h3 id="org5ae5d71"><span class="section-number-3">3.1</span> Load data</h3>
|
||||||
<div class="outline-text-3" id="text-3-1">
|
<div class="outline-text-3" id="text-3-1">
|
||||||
<p>
|
<p>
|
||||||
We first load the data for the three axis.
|
We first load the data for the three axis.
|
||||||
@ -754,8 +774,8 @@ north = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="or
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orgf13f88e" class="outline-3">
|
<div id="outline-container-orgd12648a" class="outline-3">
|
||||||
<h3 id="orgf13f88e"><span class="section-number-3">3.2</span> Compare PSD</h3>
|
<h3 id="orgd12648a"><span class="section-number-3">3.2</span> Compare PSD</h3>
|
||||||
<div class="outline-text-3" id="text-3-2">
|
<div class="outline-text-3" id="text-3-2">
|
||||||
<p>
|
<p>
|
||||||
The PSD for each axis of the two geophones are computed.
|
The PSD for each axis of the two geophones are computed.
|
||||||
@ -773,10 +793,10 @@ The PSD for each axis of the two geophones are computed.
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
We compare them. The result is shown on figure <a href="#orgdfcdc16">14</a>.
|
We compare them. The result is shown on figure <a href="#orgbd316c4">14</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div id="orgdfcdc16" class="figure">
|
<div id="orgbd316c4" class="figure">
|
||||||
<p><img src="figs/compare_axis_psd.png" alt="compare_axis_psd.png" />
|
<p><img src="figs/compare_axis_psd.png" alt="compare_axis_psd.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 14: </span>Compare the measure PSD of the two geophones for the three axis</p>
|
<p><span class="figure-number">Figure 14: </span>Compare the measure PSD of the two geophones for the three axis</p>
|
||||||
@ -784,12 +804,12 @@ We compare them. The result is shown on figure <a href="#orgdfcdc16">14</a>.
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orgf389e18" class="outline-3">
|
<div id="outline-container-orgf076a23" class="outline-3">
|
||||||
<h3 id="orgf389e18"><span class="section-number-3">3.3</span> Compare TF</h3>
|
<h3 id="orgf076a23"><span class="section-number-3">3.3</span> Compare TF</h3>
|
||||||
<div class="outline-text-3" id="text-3-3">
|
<div class="outline-text-3" id="text-3-3">
|
||||||
<p>
|
<p>
|
||||||
The transfer functions from one geophone to the other are also computed for each axis.
|
The transfer functions from one geophone to the other are also computed for each axis.
|
||||||
The result is shown on figure <a href="#orgdd8cabb">15</a>.
|
The result is shown on figure <a href="#org1278c1f">15</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
@ -800,7 +820,7 @@ The result is shown on figure <a href="#orgdd8cabb">15</a>.
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="orgdd8cabb" class="figure">
|
<div id="org1278c1f" class="figure">
|
||||||
<p><img src="figs/compare_tf_axis.png" alt="compare_tf_axis.png" />
|
<p><img src="figs/compare_tf_axis.png" alt="compare_tf_axis.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 15: </span>Compare the transfer function from one geophone to the other for the 3 axis</p>
|
<p><span class="figure-number">Figure 15: </span>Compare the transfer function from one geophone to the other for the 3 axis</p>
|
||||||
@ -809,15 +829,15 @@ The result is shown on figure <a href="#orgdd8cabb">15</a>.
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org1ca0f74" class="outline-2">
|
<div id="outline-container-org17f5bce" class="outline-2">
|
||||||
<h2 id="org1ca0f74"><span class="section-number-2">4</span> Appendix</h2>
|
<h2 id="org17f5bce"><span class="section-number-2">4</span> Appendix</h2>
|
||||||
<div class="outline-text-2" id="text-4">
|
<div class="outline-text-2" id="text-4">
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-org9faefb2" class="outline-3">
|
<div id="outline-container-org6babc5e" class="outline-3">
|
||||||
<h3 id="org9faefb2"><span class="section-number-3">4.1</span> Computation of coherence from PSD and CSD</h3>
|
<h3 id="org6babc5e"><span class="section-number-3">4.1</span> Computation of coherence from PSD and CSD</h3>
|
||||||
<div class="outline-text-3" id="text-4-1">
|
<div class="outline-text-3" id="text-4-1">
|
||||||
<p>
|
<p>
|
||||||
<a id="orgc9ed210"></a>
|
<a id="org956da99"></a>
|
||||||
</p>
|
</p>
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab">load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_001.mat', 't', 'x1', 'x2'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
<pre class="src src-matlab">load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_001.mat', 't', 'x1', 'x2'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
@ -848,7 +868,7 @@ xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbo
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="orgea88bec" class="figure">
|
<div id="orgdd25190" class="figure">
|
||||||
<p><img src="figs/comp_coherence_formula.png" alt="comp_coherence_formula.png" />
|
<p><img src="figs/comp_coherence_formula.png" alt="comp_coherence_formula.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 16: </span>Comparison of <code>mscohere</code> and manual computation</p>
|
<p><span class="figure-number">Figure 16: </span>Comparison of <code>mscohere</code> and manual computation</p>
|
||||||
@ -865,8 +885,8 @@ xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbo
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div id="postamble" class="status">
|
<div id="postamble" class="status">
|
||||||
<p class="author">Author: Thomas Dehaeze</p>
|
<p class="author">Author: Dehaeze Thomas</p>
|
||||||
<p class="date">Created: 2019-05-03 ven. 11:32</p>
|
<p class="date">Created: 2019-05-10 ven. 14:24</p>
|
||||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
@ -1,22 +1,5 @@
|
|||||||
#+TITLE:Huddle Test of the L22 Geophones
|
#+TITLE:Huddle Test of the L22 Geophones
|
||||||
:DRAWER:
|
#+SETUPFILE: ../config.org
|
||||||
#+STARTUP: overview
|
|
||||||
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/zenburn.css"/>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="../js/jquery.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="../js/bootstrap.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="../js/jquery.stickytableheaders.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="../js/readtheorg.js"></script>
|
|
||||||
|
|
||||||
#+PROPERTY: header-args:matlab :session *MATLAB*
|
|
||||||
#+PROPERTY: header-args:matlab+ :comments org
|
|
||||||
#+PROPERTY: header-args:matlab+ :results output
|
|
||||||
#+PROPERTY: header-args:matlab+ :exports both
|
|
||||||
#+PROPERTY: header-args:matlab+ :eval no-export
|
|
||||||
#+PROPERTY: header-args:matlab+ :output-dir figs
|
|
||||||
:END:
|
|
||||||
|
|
||||||
* Experimental Setup
|
* Experimental Setup
|
||||||
Two L22 geophones are used.
|
Two L22 geophones are used.
|
||||||
@ -31,23 +14,40 @@ The voltage amplifiers includes:
|
|||||||
#+name: fig:figure_name
|
#+name: fig:figure_name
|
||||||
#+caption: Setup
|
#+caption: Setup
|
||||||
#+attr_html: :width 500px
|
#+attr_html: :width 500px
|
||||||
[[file:./figs/setup.jpg]]
|
[[file:./img/setup.jpg]]
|
||||||
|
|
||||||
#+name: fig:figure_name
|
#+name: fig:figure_name
|
||||||
#+caption: Geophones
|
#+caption: Geophones
|
||||||
#+attr_html: :width 500px
|
#+attr_html: :width 500px
|
||||||
[[file:./figs/geophones.jpg]]
|
[[file:./img/geophones.jpg]]
|
||||||
|
|
||||||
* Signal Processing
|
* Signal Processing
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:header-args:matlab+: :tangle signal_processing.m
|
:header-args:matlab+: :tangle matlab/huddle_test_signal_processing.m
|
||||||
:header-args:matlab+: :comments org :mkdirp yes
|
:header-args:matlab+: :comments org :mkdirp yes
|
||||||
:END:
|
:END:
|
||||||
The Matlab computing file for this part is accessible [[file:signal_processing.m][here]].
|
<<sec:huddle_test_signal_processing>>
|
||||||
The =mat= file containing the measurement data is accessible [[file:mat/data_001.mat][here]].
|
|
||||||
|
#+begin_src bash :exports none :results none
|
||||||
|
if [ matlab/huddle_test_signal_processing.m -nt data/huddle_test_signal_processing.zip ]; then
|
||||||
|
cp matlab/huddle_test_signal_processing.m huddle_test_signal_processing.m;
|
||||||
|
zip data/huddle_test_signal_processing \
|
||||||
|
mat/data_001.mat \
|
||||||
|
huddle_test_signal_processing.m;
|
||||||
|
rm huddle_test_signal_processing.m;
|
||||||
|
fi
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_note
|
||||||
|
All the files (data and Matlab scripts) are accessible [[file:data/huddle_test_signal_processing.zip][here]].
|
||||||
|
#+end_note
|
||||||
|
|
||||||
** Matlab Init :noexport:ignore:
|
** Matlab Init :noexport:ignore:
|
||||||
#+begin_src matlab :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
|
<<matlab-dir>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none :results silent :noweb yes
|
||||||
<<matlab-init>>
|
<<matlab-init>>
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -407,17 +407,33 @@ This is then further converted into velocity and compared with the ground veloci
|
|||||||
|
|
||||||
* Compare axis
|
* Compare axis
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:header-args:matlab+: :tangle compare_axis.m
|
:header-args:matlab+: :tangle matlab/huddle_test_compare_axis.m
|
||||||
:header-args:matlab+: :comments org :mkdirp yes
|
:header-args:matlab+: :comments org :mkdirp yes
|
||||||
:END:
|
:END:
|
||||||
The Matlab computing file for this part is accessible [[file:compare_axis.m][here]].
|
<<sec:huddle_test_compare_axis>>
|
||||||
The =mat= files containing the measurement data are accessible with the following links:
|
|
||||||
- z axis: [[file:mat/data_001.mat][here]].
|
#+begin_src bash :exports none :results none
|
||||||
- east axis: [[file:mat/data_002.mat][here]].
|
if [ matlab/huddle_test_compare_axis.m -nt data/huddle_test_compare_axis.zip ]; then
|
||||||
- north axis: [[file:mat/data_003.mat][here]].
|
cp matlab/huddle_test_compare_axis.m huddle_test_compare_axis.m;
|
||||||
|
zip data/huddle_test_compare_axis \
|
||||||
|
mat/data_001.mat \
|
||||||
|
mat/data_002.mat \
|
||||||
|
mat/data_003.mat \
|
||||||
|
huddle_test_compare_axis.m;
|
||||||
|
rm huddle_test_compare_axis.m;
|
||||||
|
fi
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_note
|
||||||
|
All the files (data and Matlab scripts) are accessible [[file:data/huddle_test_compare_axis.zip][here]].
|
||||||
|
#+end_note
|
||||||
|
|
||||||
** Matlab Init :noexport:ignore:
|
** Matlab Init :noexport:ignore:
|
||||||
#+begin_src matlab :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
|
<<matlab-dir>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none :results silent :noweb yes
|
||||||
<<matlab-init>>
|
<<matlab-init>>
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
% Matlab Init :noexport:ignore:
|
% Matlab Init :noexport:ignore:
|
||||||
|
|
||||||
|
current_dir='/home/thomas/MEGA/These/meas/huddle-test-geophones/';
|
||||||
|
%% Go to current Directory
|
||||||
|
cd(current_dir);
|
||||||
|
|
||||||
|
%% Clear Workspace and Close figures
|
||||||
clear; close all; clc;
|
clear; close all; clc;
|
||||||
|
|
||||||
%% Intialize Laplace variable
|
%% Intialize Laplace variable
|
@ -1,5 +1,10 @@
|
|||||||
% Matlab Init :noexport:ignore:
|
% Matlab Init :noexport:ignore:
|
||||||
|
|
||||||
|
current_dir='/home/thomas/MEGA/These/meas/huddle-test-geophones/';
|
||||||
|
%% Go to current Directory
|
||||||
|
cd(current_dir);
|
||||||
|
|
||||||
|
%% Clear Workspace and Close figures
|
||||||
clear; close all; clc;
|
clear; close all; clc;
|
||||||
|
|
||||||
%% Intialize Laplace variable
|
%% Intialize Laplace variable
|
||||||
@ -47,24 +52,44 @@ xlim([0 1]);
|
|||||||
% Computation of the ASD of the measured voltage
|
% Computation of the ASD of the measured voltage
|
||||||
% We first define the parameters for the frequency domain analysis.
|
% We first define the parameters for the frequency domain analysis.
|
||||||
|
|
||||||
win = hanning(ceil(length(x1)/100));
|
Fs = 1/dt; % [Hz]
|
||||||
Fs = 1/dt;
|
|
||||||
|
win = hanning(ceil(10*Fs));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
% Then we compute the Power Spectral Density using =pwelch= function.
|
||||||
|
|
||||||
[pxx1, f] = pwelch(x1, win, [], [], Fs);
|
[pxx1, f] = pwelch(x1, win, [], [], Fs);
|
||||||
[pxx2, ~] = pwelch(x2, win, [], [], Fs);
|
[pxx2, ~] = pwelch(x2, win, [], [], Fs);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
% And we plot the result on figure [[fig:asd_voltage]].
|
||||||
|
|
||||||
|
|
||||||
|
figure;
|
||||||
|
hold on;
|
||||||
|
plot(f, sqrt(pxx1));
|
||||||
|
plot(f, sqrt(pxx2));
|
||||||
|
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]$')
|
||||||
|
xlim([0.1, 500]);
|
||||||
|
|
||||||
% Scaling to take into account the sensibility of the geophone and the voltage amplifier
|
% Scaling to take into account the sensibility of the geophone and the voltage amplifier
|
||||||
% The Geophone used are L22.
|
% The Geophone used are L22. Their sensibility is shown on figure [[fig:geophone_sensibility]].
|
||||||
% Their sensibility are shown on figure [[fig:geophone_sensibility]].
|
|
||||||
|
|
||||||
|
|
||||||
S0 = 88; % Sensitivity [V/(m/s)]
|
S0 = 88; % Sensitivity [V/(m/s)]
|
||||||
f0 = 2; % Cut-off frequnecy [Hz]
|
f0 = 2; % Cut-off frequnecy [Hz]
|
||||||
S = (s/2/pi/f0)/(1+s/2/pi/f0);
|
|
||||||
|
S = S0*(s/2/pi/f0)/(1+s/2/pi/f0);
|
||||||
|
|
||||||
figure;
|
figure;
|
||||||
bodeFig({S});
|
bodeFig({S}, logspace(-1, 2, 1000));
|
||||||
ylabel('Amplitude [V/(m/s)]')
|
ylabel('Amplitude $\left[\frac{V}{m/s}\right]$')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -75,20 +100,19 @@ ylabel('Amplitude [V/(m/s)]')
|
|||||||
|
|
||||||
|
|
||||||
% We also take into account the gain of the electronics which is here set to be $60dB$.
|
% We also take into account the gain of the electronics which is here set to be $60dB$.
|
||||||
% The amplifiers also include a low pass filter with a cut-off frequency set at 1kHz.
|
|
||||||
|
|
||||||
|
|
||||||
G0 = 60; % [dB]
|
G0_db = 60; % [dB]
|
||||||
|
|
||||||
G = 10^(G0/20)/(1+s/2/pi/1000);
|
G0 = 10^(60/G0_db); % [abs]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% We divide the ASD measured (in $\text{V}/\sqrt{\text{Hz}}$) by the transfer function of the voltage amplifier to obtain the ASD of the voltage across the geophone.
|
% We divide the ASD measured (in $\text{V}/\sqrt{\text{Hz}}$) by the gain of the voltage amplifier to obtain the ASD of the voltage across the geophone.
|
||||||
% We further divide the result by the sensibility of the Geophone to obtain the ASD of the velocity in $m/s/\sqrt{Hz}$.
|
% We further divide the result by the sensibility of the Geophone to obtain the ASD of the velocity in $m/s/\sqrt{Hz}$.
|
||||||
|
|
||||||
|
|
||||||
scaling = 1./squeeze(abs(freqresp(G*S, f, 'Hz')));
|
scaling = 1./squeeze(abs(freqresp(G0*S, f, 'Hz')));
|
||||||
|
|
||||||
% Computation of the ASD of the velocity
|
% Computation of the ASD of the velocity
|
||||||
% The ASD of the measured velocity is shown on figure [[fig:psd_velocity]].
|
% The ASD of the measured velocity is shown on figure [[fig:psd_velocity]].
|
||||||
@ -101,13 +125,13 @@ plot(f, sqrt(pxx2).*scaling);
|
|||||||
hold off;
|
hold off;
|
||||||
set(gca, 'xscale', 'log');
|
set(gca, 'xscale', 'log');
|
||||||
set(gca, 'yscale', 'log');
|
set(gca, 'yscale', 'log');
|
||||||
xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]')
|
xlabel('Frequency [Hz]'); ylabel('ASD of the measured Velocity $\left[\frac{m/s}{\sqrt{Hz}}\right]$')
|
||||||
xlim([2, 500]);
|
xlim([0.1, 500]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% #+NAME: fig:psd_velocity
|
% #+NAME: fig:psd_velocity
|
||||||
% #+CAPTION: Spectral density of the velocity
|
% #+CAPTION: Amplitude Spectral Density of the Velocity
|
||||||
% #+RESULTS: fig:psd_velocity
|
% #+RESULTS: fig:psd_velocity
|
||||||
% [[file:figs/psd_velocity.png]]
|
% [[file:figs/psd_velocity.png]]
|
||||||
|
|
||||||
@ -116,12 +140,12 @@ xlim([2, 500]);
|
|||||||
|
|
||||||
figure;
|
figure;
|
||||||
hold on;
|
hold on;
|
||||||
plot(f, (pxx1.*scaling./f).^2);
|
plot(f, (sqrt(pxx1).*scaling)./(2*pi*f));
|
||||||
plot(f, (pxx2.*scaling./f).^2);
|
plot(f, (sqrt(pxx2).*scaling)./(2*pi*f));
|
||||||
hold off;
|
hold off;
|
||||||
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
||||||
xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]')
|
xlabel('Frequency [Hz]'); ylabel('ASD of the displacement $\left[\frac{m}{\sqrt{Hz}}\right]$')
|
||||||
xlim([2, 500]);
|
xlim([0.1, 500]);
|
||||||
|
|
||||||
% Transfer function between the two geophones
|
% Transfer function between the two geophones
|
||||||
% We here compute the transfer function from one geophone to the other.
|
% We here compute the transfer function from one geophone to the other.
|
||||||
@ -144,10 +168,10 @@ plot(f, mod(180+180/pi*phase(T12), 360)-180);
|
|||||||
set(gca, 'xscale', 'log');
|
set(gca, 'xscale', 'log');
|
||||||
ylim([-180, 180]);
|
ylim([-180, 180]);
|
||||||
yticks([-180, -90, 0, 90, 180]);
|
yticks([-180, -90, 0, 90, 180]);
|
||||||
xlabel('Frequency [Hz]'); ylabel('Phase');
|
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
|
||||||
|
|
||||||
linkaxes([ax1,ax2],'x');
|
linkaxes([ax1,ax2],'x');
|
||||||
xlim([1, 500]);
|
xlim([0.1, 500]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -163,7 +187,7 @@ figure;
|
|||||||
plot(f, coh12);
|
plot(f, coh12);
|
||||||
set(gca, 'xscale', 'log');
|
set(gca, 'xscale', 'log');
|
||||||
xlabel('Frequency [Hz]'); ylabel('Coherence');
|
xlabel('Frequency [Hz]'); ylabel('Coherence');
|
||||||
ylim([0,1]); xlim([1, 500]);
|
ylim([0,1]); xlim([0.1, 500]);
|
||||||
|
|
||||||
% Estimation of the sensor noise
|
% Estimation of the sensor noise
|
||||||
% The technique to estimate the sensor noise is taken from cite:barzilai98_techn_measur_noise_sensor_presen.
|
% The technique to estimate the sensor noise is taken from cite:barzilai98_techn_measur_noise_sensor_presen.
|
||||||
@ -196,7 +220,7 @@ ylim([0,1]); xlim([1, 500]);
|
|||||||
% [[file:figs/huddle-test.png]]
|
% [[file:figs/huddle-test.png]]
|
||||||
|
|
||||||
% We here assume that each sensor has the same magnitude of instrumental noise ($N = M$).
|
% We here assume that each sensor has the same magnitude of instrumental noise ($N = M$).
|
||||||
% We also assume that $H_1 = H_2 = 1$.
|
% We also assume that $S_1 = S_2 = 1$.
|
||||||
|
|
||||||
% We then obtain:
|
% We then obtain:
|
||||||
% #+NAME: eq:coh_bis
|
% #+NAME: eq:coh_bis
|
||||||
@ -229,8 +253,8 @@ plot(f, pxx2, '-');
|
|||||||
plot(f, pxxN, 'k--');
|
plot(f, pxxN, 'k--');
|
||||||
hold off;
|
hold off;
|
||||||
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
||||||
xlabel('Frequency [Hz]'); ylabel('PSD [$V^2/Hz$]');
|
xlabel('Frequency [Hz]'); ylabel('PSD of the measured Voltage $\left[\frac{V^2}{Hz}\right]$');
|
||||||
xlim([1, 500]);
|
xlim([0.1, 500]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -248,5 +272,5 @@ plot(f, sqrt(pxx2).*scaling, '-');
|
|||||||
plot(f, sqrt(pxxN).*scaling, 'k--');
|
plot(f, sqrt(pxxN).*scaling, 'k--');
|
||||||
hold off;
|
hold off;
|
||||||
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
||||||
xlabel('Frequency [Hz]'); ylabel('PSD [$m/s/\sqrt{Hz}$]');
|
xlabel('Frequency [Hz]'); ylabel('ASD of the Velocity $\left[\frac{m/s}{\sqrt{Hz}}\right]$');
|
||||||
xlim([1, 500]);
|
xlim([0.1, 500]);
|
@ -1,47 +0,0 @@
|
|||||||
tg = slrt;
|
|
||||||
|
|
||||||
%% TODO - Build this application if updated
|
|
||||||
|
|
||||||
%%
|
|
||||||
if tg.Connected == "Yes"
|
|
||||||
if tg.Status == "stopped"
|
|
||||||
%% Load the application
|
|
||||||
tg.load('test');
|
|
||||||
|
|
||||||
%% Run the application
|
|
||||||
tg.start;
|
|
||||||
pause(10);
|
|
||||||
tg.stop;
|
|
||||||
|
|
||||||
%% Load the data
|
|
||||||
f = SimulinkRealTime.openFTP(tg);
|
|
||||||
mget(f, 'data/data_001.dat');
|
|
||||||
close(f);
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
%% Convert the Data
|
|
||||||
data = SimulinkRealTime.utils.getFileScopeData('data/data_001.dat').data;
|
|
||||||
|
|
||||||
t = data(:, end);
|
|
||||||
x1 = data(:, 1);
|
|
||||||
x2 = data(:, 2);
|
|
||||||
|
|
||||||
save('mat/data_003.mat', 't', 'x1', 'x2');
|
|
||||||
|
|
||||||
%% Plot the data
|
|
||||||
figure;
|
|
||||||
hold on;
|
|
||||||
plot(t, x1);
|
|
||||||
plot(t, x2);
|
|
||||||
hold off
|
|
||||||
xlabel('Time [s]');
|
|
||||||
ylabel('Voltage [V]');
|
|
||||||
|
|
||||||
%% Compute the PSD
|
|
||||||
dt = t(2)-t(1);
|
|
||||||
|
|
||||||
window_L = ceil(length(x1)/10);
|
|
||||||
window_han = .5*(1 - cos(2*pi*(1:window_L)'/(window_L+1)));
|
|
||||||
|
|
||||||
[pxx, f] = pwelch(x1, window_han, 0, [], 1/dt);
|
|
@ -1 +0,0 @@
|
|||||||
Ts = 1e-3; % [s]
|
|
23
index.org
@ -29,9 +29,11 @@ Dynamics of the station is evaluated using instrumented hammer and accelerometer
|
|||||||
- Obtain a first estimation of resonance frequencies
|
- Obtain a first estimation of resonance frequencies
|
||||||
|
|
||||||
*** Results
|
*** Results
|
||||||
Resonances have been identified at 45Hz and 75Hz.
|
#+begin_important
|
||||||
However, the quality of the measurements are bad at low frequency.
|
- Resonances have been identified at 45Hz and 75Hz
|
||||||
New measurements should be done with Geophones.
|
- However, the quality of the measurements are bad at low frequency
|
||||||
|
- New measurements should be done with Geophones
|
||||||
|
#+end_important
|
||||||
|
|
||||||
** Measurement 2
|
** Measurement 2
|
||||||
[[file:2018-01-12%20-%20Marc/index.org][Link to the analysis]]
|
[[file:2018-01-12%20-%20Marc/index.org][Link to the analysis]]
|
||||||
@ -47,10 +49,12 @@ New measurements should be done with Geophones.
|
|||||||
Obtain better coherence at low frequency.
|
Obtain better coherence at low frequency.
|
||||||
|
|
||||||
*** Results
|
*** Results
|
||||||
Resonances at 42Hz, 70Hz and 125Hz have been identified.
|
#+begin_important
|
||||||
The coherence is much better than when using accelerometers.
|
- Resonances at 42Hz, 70Hz and 125Hz have been identified
|
||||||
|
- The coherence is much better than when using accelerometers
|
||||||
|
#+end_important
|
||||||
|
|
||||||
** Measurement 3
|
** TODO Measurement 3
|
||||||
[[file:2018-10-12%20-%20Marc/index.org][Link to the analysis]]
|
[[file:2018-10-12%20-%20Marc/index.org][Link to the analysis]]
|
||||||
|
|
||||||
*** Notes
|
*** Notes
|
||||||
@ -64,6 +68,9 @@ The station is now installed on the experimental hutch with a glued granite (fin
|
|||||||
The station is identified again.
|
The station is identified again.
|
||||||
|
|
||||||
*** Results
|
*** Results
|
||||||
|
#+begin_important
|
||||||
|
|
||||||
|
#+end_important
|
||||||
|
|
||||||
* Measurements of perturbations
|
* Measurements of perturbations
|
||||||
** Noise coming from the control loop of each stage
|
** Noise coming from the control loop of each stage
|
||||||
@ -129,11 +136,11 @@ The goal is to estimate all the error motions induced by the Spindle
|
|||||||
*** Results
|
*** Results
|
||||||
|
|
||||||
* Ressources
|
* Ressources
|
||||||
[[file:actuators-sensors/index.org][Actuators and Sensors]]
|
- [[file:actuators-sensors/index.org][Actuators and Sensors]]
|
||||||
|
- [[file:equipment/equipment.org][Equipment used for the measurements]]
|
||||||
|
|
||||||
* Other measurements
|
* Other measurements
|
||||||
- [[file:huddle-test-geophones/index.org][Huddle Test - Geophones]]
|
- [[file:huddle-test-geophones/index.org][Huddle Test - Geophones]]
|
||||||
- [[file:disturbance-measurement/index.org][Disturbance Measurement]]
|
- [[file:disturbance-measurement/index.org][Disturbance Measurement]]
|
||||||
- [[file:slip-ring-test/index.org][Slip Ring - Noise measurement]]
|
- [[file:slip-ring-test/index.org][Slip Ring - Noise measurement]]
|
||||||
- [[file:static-measurements/index.org][Control System Measurement]]
|
- [[file:static-measurements/index.org][Control System Measurement]]
|
||||||
- [[file:equipment/equipment.org][Equipment used for the measurements]]
|
|
||||||
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 75 KiB |
Before Width: | Height: | Size: 158 KiB After Width: | Height: | Size: 158 KiB |
Before Width: | Height: | Size: 172 KiB After Width: | Height: | Size: 172 KiB |
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 144 KiB After Width: | Height: | Size: 144 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 4.5 MiB After Width: | Height: | Size: 4.5 MiB |
Before Width: | Height: | Size: 3.1 MiB After Width: | Height: | Size: 3.1 MiB |
972
instrumentation/index.html
Normal file
@ -0,0 +1,972 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||||
|
<head>
|
||||||
|
<!-- 2019-05-10 ven. 10:07 -->
|
||||||
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<title>Measurements on the instrumentation</title>
|
||||||
|
<meta name="generator" content="Org mode" />
|
||||||
|
<meta name="author" content="Thomas Dehaeze" />
|
||||||
|
<style type="text/css">
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
.title { text-align: center;
|
||||||
|
margin-bottom: .2em; }
|
||||||
|
.subtitle { text-align: center;
|
||||||
|
font-size: medium;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top:0; }
|
||||||
|
.todo { font-family: monospace; color: red; }
|
||||||
|
.done { font-family: monospace; color: green; }
|
||||||
|
.priority { font-family: monospace; color: orange; }
|
||||||
|
.tag { background-color: #eee; font-family: monospace;
|
||||||
|
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||||
|
.timestamp { color: #bebebe; }
|
||||||
|
.timestamp-kwd { color: #5f9ea0; }
|
||||||
|
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||||
|
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||||
|
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||||
|
.underline { text-decoration: underline; }
|
||||||
|
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||||
|
p.verse { margin-left: 3%; }
|
||||||
|
pre {
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
box-shadow: 3px 3px 3px #eee;
|
||||||
|
padding: 8pt;
|
||||||
|
font-family: monospace;
|
||||||
|
overflow: auto;
|
||||||
|
margin: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src {
|
||||||
|
position: relative;
|
||||||
|
overflow: visible;
|
||||||
|
padding-top: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src:before {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
background-color: white;
|
||||||
|
top: -10px;
|
||||||
|
right: 10px;
|
||||||
|
padding: 3px;
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
pre.src:hover:before { display: inline;}
|
||||||
|
/* Languages per Org manual */
|
||||||
|
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||||
|
pre.src-awk:before { content: 'Awk'; }
|
||||||
|
pre.src-C:before { content: 'C'; }
|
||||||
|
/* pre.src-C++ doesn't work in CSS */
|
||||||
|
pre.src-clojure:before { content: 'Clojure'; }
|
||||||
|
pre.src-css:before { content: 'CSS'; }
|
||||||
|
pre.src-D:before { content: 'D'; }
|
||||||
|
pre.src-ditaa:before { content: 'ditaa'; }
|
||||||
|
pre.src-dot:before { content: 'Graphviz'; }
|
||||||
|
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||||
|
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||||
|
pre.src-fortran:before { content: 'Fortran'; }
|
||||||
|
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||||
|
pre.src-haskell:before { content: 'Haskell'; }
|
||||||
|
pre.src-hledger:before { content: 'hledger'; }
|
||||||
|
pre.src-java:before { content: 'Java'; }
|
||||||
|
pre.src-js:before { content: 'Javascript'; }
|
||||||
|
pre.src-latex:before { content: 'LaTeX'; }
|
||||||
|
pre.src-ledger:before { content: 'Ledger'; }
|
||||||
|
pre.src-lisp:before { content: 'Lisp'; }
|
||||||
|
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||||
|
pre.src-lua:before { content: 'Lua'; }
|
||||||
|
pre.src-matlab:before { content: 'MATLAB'; }
|
||||||
|
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||||
|
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||||
|
pre.src-octave:before { content: 'Octave'; }
|
||||||
|
pre.src-org:before { content: 'Org mode'; }
|
||||||
|
pre.src-oz:before { content: 'OZ'; }
|
||||||
|
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||||
|
pre.src-processing:before { content: 'Processing.js'; }
|
||||||
|
pre.src-python:before { content: 'Python'; }
|
||||||
|
pre.src-R:before { content: 'R'; }
|
||||||
|
pre.src-ruby:before { content: 'Ruby'; }
|
||||||
|
pre.src-sass:before { content: 'Sass'; }
|
||||||
|
pre.src-scheme:before { content: 'Scheme'; }
|
||||||
|
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||||
|
pre.src-sed:before { content: 'Sed'; }
|
||||||
|
pre.src-sh:before { content: 'shell'; }
|
||||||
|
pre.src-sql:before { content: 'SQL'; }
|
||||||
|
pre.src-sqlite:before { content: 'SQLite'; }
|
||||||
|
/* additional languages in org.el's org-babel-load-languages alist */
|
||||||
|
pre.src-forth:before { content: 'Forth'; }
|
||||||
|
pre.src-io:before { content: 'IO'; }
|
||||||
|
pre.src-J:before { content: 'J'; }
|
||||||
|
pre.src-makefile:before { content: 'Makefile'; }
|
||||||
|
pre.src-maxima:before { content: 'Maxima'; }
|
||||||
|
pre.src-perl:before { content: 'Perl'; }
|
||||||
|
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||||
|
pre.src-scala:before { content: 'Scala'; }
|
||||||
|
pre.src-shell:before { content: 'Shell Script'; }
|
||||||
|
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||||
|
/* additional language identifiers per "defun org-babel-execute"
|
||||||
|
in ob-*.el */
|
||||||
|
pre.src-cpp:before { content: 'C++'; }
|
||||||
|
pre.src-abc:before { content: 'ABC'; }
|
||||||
|
pre.src-coq:before { content: 'Coq'; }
|
||||||
|
pre.src-groovy:before { content: 'Groovy'; }
|
||||||
|
/* additional language identifiers from org-babel-shell-names in
|
||||||
|
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||||
|
the execution function name together. */
|
||||||
|
pre.src-bash:before { content: 'bash'; }
|
||||||
|
pre.src-csh:before { content: 'csh'; }
|
||||||
|
pre.src-ash:before { content: 'ash'; }
|
||||||
|
pre.src-dash:before { content: 'dash'; }
|
||||||
|
pre.src-ksh:before { content: 'ksh'; }
|
||||||
|
pre.src-mksh:before { content: 'mksh'; }
|
||||||
|
pre.src-posh:before { content: 'posh'; }
|
||||||
|
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||||
|
pre.src-ada:before { content: 'Ada'; }
|
||||||
|
pre.src-asm:before { content: 'Assembler'; }
|
||||||
|
pre.src-caml:before { content: 'Caml'; }
|
||||||
|
pre.src-delphi:before { content: 'Delphi'; }
|
||||||
|
pre.src-html:before { content: 'HTML'; }
|
||||||
|
pre.src-idl:before { content: 'IDL'; }
|
||||||
|
pre.src-mercury:before { content: 'Mercury'; }
|
||||||
|
pre.src-metapost:before { content: 'MetaPost'; }
|
||||||
|
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||||
|
pre.src-pascal:before { content: 'Pascal'; }
|
||||||
|
pre.src-ps:before { content: 'PostScript'; }
|
||||||
|
pre.src-prolog:before { content: 'Prolog'; }
|
||||||
|
pre.src-simula:before { content: 'Simula'; }
|
||||||
|
pre.src-tcl:before { content: 'tcl'; }
|
||||||
|
pre.src-tex:before { content: 'TeX'; }
|
||||||
|
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||||
|
pre.src-verilog:before { content: 'Verilog'; }
|
||||||
|
pre.src-vhdl:before { content: 'VHDL'; }
|
||||||
|
pre.src-xml:before { content: 'XML'; }
|
||||||
|
pre.src-nxml:before { content: 'XML'; }
|
||||||
|
/* add a generic configuration mode; LaTeX export needs an additional
|
||||||
|
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||||
|
pre.src-conf:before { content: 'Configuration File'; }
|
||||||
|
|
||||||
|
table { border-collapse:collapse; }
|
||||||
|
caption.t-above { caption-side: top; }
|
||||||
|
caption.t-bottom { caption-side: bottom; }
|
||||||
|
td, th { vertical-align:top; }
|
||||||
|
th.org-right { text-align: center; }
|
||||||
|
th.org-left { text-align: center; }
|
||||||
|
th.org-center { text-align: center; }
|
||||||
|
td.org-right { text-align: right; }
|
||||||
|
td.org-left { text-align: left; }
|
||||||
|
td.org-center { text-align: center; }
|
||||||
|
dt { font-weight: bold; }
|
||||||
|
.footpara { display: inline; }
|
||||||
|
.footdef { margin-bottom: 1em; }
|
||||||
|
.figure { padding: 1em; }
|
||||||
|
.figure p { text-align: center; }
|
||||||
|
.equation-container {
|
||||||
|
display: table;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.equation {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.equation-label {
|
||||||
|
display: table-cell;
|
||||||
|
text-align: right;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.inlinetask {
|
||||||
|
padding: 10px;
|
||||||
|
border: 2px solid gray;
|
||||||
|
margin: 10px;
|
||||||
|
background: #ffffcc;
|
||||||
|
}
|
||||||
|
#org-div-home-and-up
|
||||||
|
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||||
|
textarea { overflow-x: auto; }
|
||||||
|
.linenr { font-size: smaller }
|
||||||
|
.code-highlighted { background-color: #ffff00; }
|
||||||
|
.org-info-js_info-navigation { border-style: none; }
|
||||||
|
#org-info-js_console-label
|
||||||
|
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||||
|
.org-info-js_search-highlight
|
||||||
|
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||||
|
.org-svg { width: 90%; }
|
||||||
|
/*]]>*/-->
|
||||||
|
</style>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../css/zenburn.css"/>
|
||||||
|
<script type="text/javascript" src="../js/jquery.min.js"></script>
|
||||||
|
<script type="text/javascript" src="../js/bootstrap.min.js"></script>
|
||||||
|
<script type="text/javascript" src="../js/jquery.stickytableheaders.min.js"></script>
|
||||||
|
<script type="text/javascript" src="../js/readtheorg.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/*
|
||||||
|
@licstart The following is the entire license notice for the
|
||||||
|
JavaScript code in this tag.
|
||||||
|
|
||||||
|
Copyright (C) 2012-2019 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
The JavaScript code in this tag is free software: you can
|
||||||
|
redistribute it and/or modify it under the terms of the GNU
|
||||||
|
General Public License (GNU GPL) as published by the Free Software
|
||||||
|
Foundation, either version 3 of the License, or (at your option)
|
||||||
|
any later version. The code is distributed WITHOUT ANY WARRANTY;
|
||||||
|
without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
|
||||||
|
|
||||||
|
As additional permission under GNU GPL version 3 section 7, you
|
||||||
|
may distribute non-source (e.g., minimized or compacted) forms of
|
||||||
|
that code without the copy of the GNU GPL normally required by
|
||||||
|
section 4, provided you include this license notice and a URL
|
||||||
|
through which recipients can access the Corresponding Source.
|
||||||
|
|
||||||
|
|
||||||
|
@licend The above is the entire license notice
|
||||||
|
for the JavaScript code in this tag.
|
||||||
|
*/
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
function CodeHighlightOn(elem, id)
|
||||||
|
{
|
||||||
|
var target = document.getElementById(id);
|
||||||
|
if(null != target) {
|
||||||
|
elem.cacheClassElem = elem.className;
|
||||||
|
elem.cacheClassTarget = target.className;
|
||||||
|
target.className = "code-highlighted";
|
||||||
|
elem.className = "code-highlighted";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function CodeHighlightOff(elem, id)
|
||||||
|
{
|
||||||
|
var target = document.getElementById(id);
|
||||||
|
if(elem.cacheClassElem)
|
||||||
|
elem.className = elem.cacheClassElem;
|
||||||
|
if(elem.cacheClassTarget)
|
||||||
|
target.className = elem.cacheClassTarget;
|
||||||
|
}
|
||||||
|
/*]]>*///-->
|
||||||
|
</script>
|
||||||
|
<script type="text/x-mathjax-config">
|
||||||
|
MathJax.Hub.Config({
|
||||||
|
displayAlign: "center",
|
||||||
|
displayIndent: "0em",
|
||||||
|
|
||||||
|
"HTML-CSS": { scale: 100,
|
||||||
|
linebreaks: { automatic: "false" },
|
||||||
|
webFont: "TeX"
|
||||||
|
},
|
||||||
|
SVG: {scale: 100,
|
||||||
|
linebreaks: { automatic: "false" },
|
||||||
|
font: "TeX"},
|
||||||
|
NativeMML: {scale: 100},
|
||||||
|
TeX: { equationNumbers: {autoNumber: "AMS"},
|
||||||
|
MultLineWidth: "85%",
|
||||||
|
TagSide: "right",
|
||||||
|
TagIndent: ".8em"
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript"
|
||||||
|
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="content">
|
||||||
|
<h1 class="title">Measurements on the instrumentation</h1>
|
||||||
|
<div id="table-of-contents">
|
||||||
|
<h2>Table of Contents</h2>
|
||||||
|
<div id="text-table-of-contents">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#org9b0dd42">1. Measure of the noise of the Voltage Amplifier</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#org494f3b2">1.1. Measurement Description</a></li>
|
||||||
|
<li><a href="#orgf9402f3">1.2. Load data</a></li>
|
||||||
|
<li><a href="#orgd0212e2">1.3. Time Domain</a></li>
|
||||||
|
<li><a href="#org18fa6ce">1.4. Frequency Domain</a></li>
|
||||||
|
<li><a href="#org36eaef7">1.5. Conclusion</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a href="#org15e4c95">2. Measure of the influence of the AC/DC option on the voltage amplifiers</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#org313898e">2.1. Measurement Description</a></li>
|
||||||
|
<li><a href="#org86b59a1">2.2. Load data</a></li>
|
||||||
|
<li><a href="#org22f801c">2.3. Time Domain</a></li>
|
||||||
|
<li><a href="#orgbd72638">2.4. Frequency Domain</a></li>
|
||||||
|
<li><a href="#org2647596">2.5. Conclusion</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a href="#org9623ca1">3. Transfer function of the Low Pass Filter</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#org921fe36">3.1. First LPF with a Cut-off frequency of 160Hz</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#org122c7a6">3.1.1. Measurement Description</a></li>
|
||||||
|
<li><a href="#orgba94437">3.1.2. Load data</a></li>
|
||||||
|
<li><a href="#org087582c">3.1.3. Transfer function of the LPF</a></li>
|
||||||
|
<li><a href="#orgf2dc541">3.1.4. Conclusion</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a href="#orgd6132bd">3.2. Second LPF with a Cut-off frequency of 1000Hz</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#org76b4e0d">3.2.1. Measurement description</a></li>
|
||||||
|
<li><a href="#org2941697">3.2.2. Load data</a></li>
|
||||||
|
<li><a href="#org45462d2">3.2.3. Transfer function of the LPF</a></li>
|
||||||
|
<li><a href="#org438a172">3.2.4. Conclusion</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org9b0dd42" class="outline-2">
|
||||||
|
<h2 id="org9b0dd42"><span class="section-number-2">1</span> Measure of the noise of the Voltage Amplifier</h2>
|
||||||
|
<div class="outline-text-2" id="text-1">
|
||||||
|
<p>
|
||||||
|
<a id="orgbd691e3"></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The data and matlab files are accessible <a href="data/meas_volt_amp.zip">here</a>.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org494f3b2" class="outline-3">
|
||||||
|
<h3 id="org494f3b2"><span class="section-number-3">1.1</span> Measurement Description</h3>
|
||||||
|
<div class="outline-text-3" id="text-1-1">
|
||||||
|
<p>
|
||||||
|
<b>Goal</b>:
|
||||||
|
</p>
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>Determine the Voltage Amplifier noise</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<b>Setup</b>:
|
||||||
|
</p>
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>The two inputs (differential) of the voltage amplifier are shunted with 50Ohms</li>
|
||||||
|
<li>The AC/DC option of the Voltage amplifier is on AC</li>
|
||||||
|
<li>The low pass filter is set to 1hHz</li>
|
||||||
|
<li>We measure the output of the voltage amplifier with a 16bits ADC of the Speedgoat</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<b>Measurements</b>:
|
||||||
|
</p>
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li><code>data_003</code>: Ampli OFF</li>
|
||||||
|
<li><code>data_004</code>: Ampli ON set to 20dB</li>
|
||||||
|
<li><code>data_005</code>: Ampli ON set to 40dB</li>
|
||||||
|
<li><code>data_006</code>: Ampli ON set to 60dB</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-orgf9402f3" class="outline-3">
|
||||||
|
<h3 id="orgf9402f3"><span class="section-number-3">1.2</span> Load data</h3>
|
||||||
|
<div class="outline-text-3" id="text-1-2">
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab">amp_off = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_003.mat', 'data'</span><span class="org-rainbow-delimiters-depth-1">)</span>; amp_off = amp_off.data<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-type">:</span>, <span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">1</span>,<span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
amp_20d = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_004.mat', 'data'</span><span class="org-rainbow-delimiters-depth-1">)</span>; amp_20d = amp_20d.data<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-type">:</span>, <span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">1</span>,<span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
amp_40d = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_005.mat', 'data'</span><span class="org-rainbow-delimiters-depth-1">)</span>; amp_40d = amp_40d.data<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-type">:</span>, <span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">1</span>,<span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
amp_60d = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_006.mat', 'data'</span><span class="org-rainbow-delimiters-depth-1">)</span>; amp_60d = amp_60d.data<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-type">:</span>, <span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">1</span>,<span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-orgd0212e2" class="outline-3">
|
||||||
|
<h3 id="orgd0212e2"><span class="section-number-3">1.3</span> Time Domain</h3>
|
||||||
|
<div class="outline-text-3" id="text-1-3">
|
||||||
|
<p>
|
||||||
|
The time domain signals are shown on figure <a href="#org98f097d">1</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="org98f097d" class="figure">
|
||||||
|
<p><img src="figs/ampli_noise_time.png" alt="ampli_noise_time.png" />
|
||||||
|
</p>
|
||||||
|
<p><span class="figure-number">Figure 1: </span>Output of the amplifier</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org18fa6ce" class="outline-3">
|
||||||
|
<h3 id="org18fa6ce"><span class="section-number-3">1.4</span> Frequency Domain</h3>
|
||||||
|
<div class="outline-text-3" id="text-1-4">
|
||||||
|
<p>
|
||||||
|
We first compute some parameters that will be used for the PSD computation.
|
||||||
|
</p>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab">dt = amp_off<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">2</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-type">-</span>amp_off<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
|
||||||
|
Fs = <span class="org-highlight-numbers-number">1</span><span class="org-type">/</span>dt; <span class="org-comment">% [Hz]</span>
|
||||||
|
|
||||||
|
win = hanning<span class="org-rainbow-delimiters-depth-1">(</span>ceil<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-numbers-number">10</span><span class="org-type">*</span>Fs<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Then we compute the Power Spectral Density using <code>pwelch</code> function.
|
||||||
|
</p>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab"><span class="org-rainbow-delimiters-depth-1">[</span>pxoff, f<span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>amp_off<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>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
<span class="org-rainbow-delimiters-depth-1">[</span>px20d, <span class="org-type">~</span><span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>amp_20d<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>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
<span class="org-rainbow-delimiters-depth-1">[</span>px40d, <span class="org-type">~</span><span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>amp_40d<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>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
<span class="org-rainbow-delimiters-depth-1">[</span>px60d, <span class="org-type">~</span><span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>amp_60d<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>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
We compute the theoretical ADC noise.
|
||||||
|
</p>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab">q = <span class="org-highlight-numbers-number">20</span><span class="org-type">/</span><span class="org-highlight-numbers-number">2</span><span class="org-type">^</span><span class="org-highlight-numbers-number">16</span>; <span class="org-comment">% quantization</span>
|
||||||
|
Sq = q<span class="org-type">^</span><span class="org-highlight-numbers-number">2</span><span class="org-type">/</span><span class="org-highlight-numbers-number">12</span><span class="org-type">/</span><span class="org-highlight-numbers-number">1000</span>; <span class="org-comment">% PSD of the ADC noise</span>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Finally, the ASD is shown on figure <a href="#orga4734ea">2</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div id="orga4734ea" class="figure">
|
||||||
|
<p><img src="figs/ampli_noise_psd.png" alt="ampli_noise_psd.png" />
|
||||||
|
</p>
|
||||||
|
<p><span class="figure-number">Figure 2: </span>Amplitude Spectral Density of the measured voltage at the output of the voltage amplifier</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org36eaef7" class="outline-3">
|
||||||
|
<h3 id="org36eaef7"><span class="section-number-3">1.5</span> Conclusion</h3>
|
||||||
|
<div class="outline-text-3" id="text-1-5">
|
||||||
|
<div class="important">
|
||||||
|
<p>
|
||||||
|
<b>Questions</b>:
|
||||||
|
</p>
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>Where does those sharp peaks comes from? Can this be due to aliasing?</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Noise induced by the voltage amplifiers seems not to be a limiting factor as we have the same noise when they are OFF and ON.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org15e4c95" class="outline-2">
|
||||||
|
<h2 id="org15e4c95"><span class="section-number-2">2</span> Measure of the influence of the AC/DC option on the voltage amplifiers</h2>
|
||||||
|
<div class="outline-text-2" id="text-2">
|
||||||
|
<p>
|
||||||
|
<a id="org1e85a61"></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The data and matlab files are accessible <a href="data/meas_noise_ac_dc.zip">here</a>.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org313898e" class="outline-3">
|
||||||
|
<h3 id="org313898e"><span class="section-number-3">2.1</span> Measurement Description</h3>
|
||||||
|
<div class="outline-text-3" id="text-2-1">
|
||||||
|
<p>
|
||||||
|
<b>Goal</b>:
|
||||||
|
</p>
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>Measure the influence of the high-pass filter option of the voltage amplifiers</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<b>Setup</b>:
|
||||||
|
</p>
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>One geophone is located on the marble.</li>
|
||||||
|
<li>It's signal goes to two voltage amplifiers with a gain of 60dB.</li>
|
||||||
|
<li>One voltage amplifier is on the AC option, the other is on the DC option.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<b>Measurements</b>:
|
||||||
|
First measurement (<code>mat/data_014.mat</code> file):
|
||||||
|
</p>
|
||||||
|
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||||
|
|
||||||
|
|
||||||
|
<colgroup>
|
||||||
|
<col class="org-right" />
|
||||||
|
|
||||||
|
<col class="org-left" />
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col" class="org-right">Column</th>
|
||||||
|
<th scope="col" class="org-left">Signal</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="org-right">1</td>
|
||||||
|
<td class="org-left">Amplifier 1 with AC option</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="org-right">2</td>
|
||||||
|
<td class="org-left">Amplifier 2 with DC option</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="org-right">3</td>
|
||||||
|
<td class="org-left">Time</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Second measurement (<code>mat/data_015.mat</code> file):
|
||||||
|
</p>
|
||||||
|
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||||
|
|
||||||
|
|
||||||
|
<colgroup>
|
||||||
|
<col class="org-right" />
|
||||||
|
|
||||||
|
<col class="org-left" />
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col" class="org-right">Column</th>
|
||||||
|
<th scope="col" class="org-left">Signal</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="org-right">1</td>
|
||||||
|
<td class="org-left">Amplifier 1 with DC option</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="org-right">2</td>
|
||||||
|
<td class="org-left">Amplifier 2 with AC option</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="org-right">3</td>
|
||||||
|
<td class="org-left">Time</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="org6faa1f8" class="figure">
|
||||||
|
<p><img src="./img/IMG_20190503_170936.jpg" alt="IMG_20190503_170936.jpg" width="500px" />
|
||||||
|
</p>
|
||||||
|
<p><span class="figure-number">Figure 3: </span>Picture of the two voltages amplifiers</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org86b59a1" class="outline-3">
|
||||||
|
<h3 id="org86b59a1"><span class="section-number-3">2.2</span> Load data</h3>
|
||||||
|
<div class="outline-text-3" id="text-2-2">
|
||||||
|
<p>
|
||||||
|
We load the data of the z axis of two geophones.
|
||||||
|
</p>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab">meas14 = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_014.mat', 'data'</span><span class="org-rainbow-delimiters-depth-1">)</span>; meas14 = meas14.data;
|
||||||
|
meas15 = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_015.mat', 'data'</span><span class="org-rainbow-delimiters-depth-1">)</span>; meas15 = meas15.data;
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org22f801c" class="outline-3">
|
||||||
|
<h3 id="org22f801c"><span class="section-number-3">2.3</span> Time Domain</h3>
|
||||||
|
<div class="outline-text-3" id="text-2-3">
|
||||||
|
<p>
|
||||||
|
The signals are shown on figure <a href="#org4a464f5">4</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div id="org4a464f5" class="figure">
|
||||||
|
<p><img src="figs/ac_dc_option_time.png" alt="ac_dc_option_time.png" />
|
||||||
|
</p>
|
||||||
|
<p><span class="figure-number">Figure 4: </span>Comparison of the signals going through the Voltage amplifiers</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-orgbd72638" class="outline-3">
|
||||||
|
<h3 id="orgbd72638"><span class="section-number-3">2.4</span> Frequency Domain</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>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab">dt = meas14<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">2</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-type">-</span>meas14<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
|
||||||
|
Fs = <span class="org-highlight-numbers-number">1</span><span class="org-type">/</span>dt; <span class="org-comment">% [Hz]</span>
|
||||||
|
|
||||||
|
win = hanning<span class="org-rainbow-delimiters-depth-1">(</span>ceil<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-numbers-number">10</span><span class="org-type">*</span>Fs<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Then we compute the Power Spectral Density using <code>pwelch</code> function.
|
||||||
|
</p>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab"><span class="org-rainbow-delimiters-depth-1">[</span>pxamp1ac, f<span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>meas14<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>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
<span class="org-rainbow-delimiters-depth-1">[</span>pxamp2dc, <span class="org-type">~</span><span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>meas14<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>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
|
||||||
|
<span class="org-rainbow-delimiters-depth-1">[</span>pxamp1dc, <span class="org-type">~</span><span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>meas15<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>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
<span class="org-rainbow-delimiters-depth-1">[</span>pxamp2ac, <span class="org-type">~</span><span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>meas15<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>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The ASD of the signals are compare on figure <a href="#org73d3360">5</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div id="org73d3360" class="figure">
|
||||||
|
<p><img src="figs/ac_dc_option_asd.png" alt="ac_dc_option_asd.png" />
|
||||||
|
</p>
|
||||||
|
<p><span class="figure-number">Figure 5: </span>Amplitude Spectral Density of the measured signals</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org2647596" class="outline-3">
|
||||||
|
<h3 id="org2647596"><span class="section-number-3">2.5</span> Conclusion</h3>
|
||||||
|
<div class="outline-text-3" id="text-2-5">
|
||||||
|
<div class="important">
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>The voltage amplifiers include some very sharp high pass filters at 1.5Hz (maybe 4th order)</li>
|
||||||
|
<li>There is a DC offset on the time domain signal because the DC-offset knob was not set to zero</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org9623ca1" class="outline-2">
|
||||||
|
<h2 id="org9623ca1"><span class="section-number-2">3</span> Transfer function of the Low Pass Filter</h2>
|
||||||
|
<div class="outline-text-2" id="text-3">
|
||||||
|
<p>
|
||||||
|
<a id="org5eb1733"></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The computation files for this section are accessible <a href="data/low_pass_filter_measurements.zip">here</a>.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org921fe36" class="outline-3">
|
||||||
|
<h3 id="org921fe36"><span class="section-number-3">3.1</span> First LPF with a Cut-off frequency of 160Hz</h3>
|
||||||
|
<div class="outline-text-3" id="text-3-1">
|
||||||
|
</div>
|
||||||
|
<div id="outline-container-org122c7a6" class="outline-4">
|
||||||
|
<h4 id="org122c7a6"><span class="section-number-4">3.1.1</span> Measurement Description</h4>
|
||||||
|
<div class="outline-text-4" id="text-3-1-1">
|
||||||
|
<p>
|
||||||
|
<b>Goal</b>:
|
||||||
|
</p>
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>Measure the Low Pass Filter Transfer Function</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The values of the components are:
|
||||||
|
</p>
|
||||||
|
\begin{aligned}
|
||||||
|
R &= 1k\Omega \\
|
||||||
|
C &= 1\mu F
|
||||||
|
\end{aligned}
|
||||||
|
<p>
|
||||||
|
Which makes a cut-off frequency of \(f_c = \frac{1}{RC} = 1000 rad/s = 160Hz\).
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-latex" id="org336f6c8"><span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
|
||||||
|
<span class="org-font-latex-sedate">\draw</span> (0,2)
|
||||||
|
to [R=<span class="org-font-latex-sedate"><span class="org-font-latex-math">\(R\)</span></span>] ++(2,0) node[circ]
|
||||||
|
to ++(2,0)
|
||||||
|
++(-2,0)
|
||||||
|
to [C=<span class="org-font-latex-sedate"><span class="org-font-latex-math">\(C\)</span></span>] ++(0,-2) node[circ]
|
||||||
|
++(-2,0)
|
||||||
|
to ++(2,0)
|
||||||
|
to ++(2,0)
|
||||||
|
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="orgda67620" class="figure">
|
||||||
|
<p><img src="figs/lpf.png" alt="lpf.png" />
|
||||||
|
</p>
|
||||||
|
<p><span class="figure-number">Figure 6: </span>Schematic of the Low Pass Filter used</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<b>Setup</b>:
|
||||||
|
</p>
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>We are measuring the signal from from Geophone with a BNC T</li>
|
||||||
|
<li>On part goes to column 1 through the LPF</li>
|
||||||
|
<li>The other part goes to column 2 without the LPF</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<b>Measurements</b>:
|
||||||
|
<code>mat/data_018.mat</code>:
|
||||||
|
</p>
|
||||||
|
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||||
|
|
||||||
|
|
||||||
|
<colgroup>
|
||||||
|
<col class="org-right" />
|
||||||
|
|
||||||
|
<col class="org-left" />
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col" class="org-right">Column</th>
|
||||||
|
<th scope="col" class="org-left">Signal</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="org-right">1</td>
|
||||||
|
<td class="org-left">Amplifier 1 with LPF</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="org-right">2</td>
|
||||||
|
<td class="org-left">Amplifier 2</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="org-right">3</td>
|
||||||
|
<td class="org-left">Time</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="org5022f0b" class="figure">
|
||||||
|
<p><img src="./img/IMG_20190507_102756.jpg" alt="IMG_20190507_102756.jpg" width="500px" />
|
||||||
|
</p>
|
||||||
|
<p><span class="figure-number">Figure 7: </span>Picture of the low pass filter used</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-orgba94437" class="outline-4">
|
||||||
|
<h4 id="orgba94437"><span class="section-number-4">3.1.2</span> Load data</h4>
|
||||||
|
<div class="outline-text-4" id="text-3-1-2">
|
||||||
|
<p>
|
||||||
|
We load the data of the z axis of two geophones.
|
||||||
|
</p>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab">data = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_018.mat', 'data'</span><span class="org-rainbow-delimiters-depth-1">)</span>; data = data.data;
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org087582c" class="outline-4">
|
||||||
|
<h4 id="org087582c"><span class="section-number-4">3.1.3</span> Transfer function of the LPF</h4>
|
||||||
|
<div class="outline-text-4" id="text-3-1-3">
|
||||||
|
<p>
|
||||||
|
We compute the transfer function from the signal without the LPF to the signal measured with the LPF.
|
||||||
|
</p>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab">dt = data<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">2</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-type">-</span>data<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
|
||||||
|
Fs = <span class="org-highlight-numbers-number">1</span><span class="org-type">/</span>dt; <span class="org-comment">% [Hz]</span>
|
||||||
|
|
||||||
|
win = hanning<span class="org-rainbow-delimiters-depth-1">(</span>ceil<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-numbers-number">10</span><span class="org-type">*</span>Fs<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab"><span class="org-rainbow-delimiters-depth-1">[</span>Glpf, f<span class="org-rainbow-delimiters-depth-1">]</span> = tfestimate<span class="org-rainbow-delimiters-depth-1">(</span>data<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>, data<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>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
We compare this transfer function with a transfer function corresponding to an ideal first order LPF with a cut-off frequency of \(1000rad/s\).
|
||||||
|
We obtain the result on figure <a href="#orgeb8ea3c">8</a>.
|
||||||
|
</p>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab">Gth = <span class="org-highlight-numbers-number">1</span><span class="org-type">/</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">1</span><span class="org-type">+</span>s<span class="org-type">/</span><span class="org-highlight-numbers-number">1000</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab"><span class="org-type">figure</span>;
|
||||||
|
ax1 = subplot<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">2</span>, <span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
hold on;
|
||||||
|
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, abs<span class="org-rainbow-delimiters-depth-2">(</span>Glpf<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, abs<span class="org-rainbow-delimiters-depth-2">(</span>squeeze<span class="org-rainbow-delimiters-depth-3">(</span>freqresp<span class="org-rainbow-delimiters-depth-4">(</span>Gth, f, <span class="org-string">'Hz'</span><span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
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-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; set</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">gca, 'yscale', '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">'XTickLabel'</span>,<span class="org-rainbow-delimiters-depth-2">[]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
ylabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Magnitude'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
|
||||||
|
ax2 = subplot<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">2</span>, <span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
hold on;
|
||||||
|
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, mod<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-numbers-number">180</span><span class="org-type">+</span><span class="org-highlight-numbers-number">180</span><span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>phase<span class="org-rainbow-delimiters-depth-3">(</span>Glpf<span class="org-rainbow-delimiters-depth-3">)</span>, <span class="org-highlight-numbers-number">360</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-type">-</span><span class="org-highlight-numbers-number">180</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, <span class="org-highlight-numbers-number">180</span><span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>unwrap<span class="org-rainbow-delimiters-depth-2">(</span>angle<span class="org-rainbow-delimiters-depth-3">(</span>squeeze<span class="org-rainbow-delimiters-depth-4">(</span>freqresp<span class="org-rainbow-delimiters-depth-5">(</span>Gth, f, <span class="org-string">'Hz'</span><span class="org-rainbow-delimiters-depth-5">)</span><span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
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>;
|
||||||
|
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">180</span>, <span class="org-highlight-numbers-number">180</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
yticks<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">180</span>, <span class="org-type">-</span><span class="org-highlight-numbers-number">90</span>, <span class="org-highlight-numbers-number">0</span>, <span class="org-highlight-numbers-number">90</span>, <span class="org-highlight-numbers-number">180</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">'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">'Phase'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
|
||||||
|
linkaxes<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span>ax1,ax2<span class="org-rainbow-delimiters-depth-2">]</span>,<span class="org-string">'x'</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">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="orgeb8ea3c" class="figure">
|
||||||
|
<p><img src="figs/Glpf_bode.png" alt="Glpf_bode.png" />
|
||||||
|
</p>
|
||||||
|
<p><span class="figure-number">Figure 8: </span>Bode Diagram of the measured Low Pass filter and the theoritical one</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="outline-container-orgf2dc541" class="outline-4">
|
||||||
|
<h4 id="orgf2dc541"><span class="section-number-4">3.1.4</span> Conclusion</h4>
|
||||||
|
<div class="outline-text-4" id="text-3-1-4">
|
||||||
|
<div class="important">
|
||||||
|
<p>
|
||||||
|
As we want to measure things up to \(500Hz\), we chose to change the value of the capacitor to obtain a cut-off frequency of \(1kHz\).
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-orgd6132bd" class="outline-3">
|
||||||
|
<h3 id="orgd6132bd"><span class="section-number-3">3.2</span> Second LPF with a Cut-off frequency of 1000Hz</h3>
|
||||||
|
<div class="outline-text-3" id="text-3-2">
|
||||||
|
</div>
|
||||||
|
<div id="outline-container-org76b4e0d" class="outline-4">
|
||||||
|
<h4 id="org76b4e0d"><span class="section-number-4">3.2.1</span> Measurement description</h4>
|
||||||
|
<div class="outline-text-4" id="text-3-2-1">
|
||||||
|
<p>
|
||||||
|
This time, the value are
|
||||||
|
</p>
|
||||||
|
\begin{aligned}
|
||||||
|
R &= 1k\Omega \\
|
||||||
|
C &= 150nF
|
||||||
|
\end{aligned}
|
||||||
|
<p>
|
||||||
|
Which makes a low pass filter with a cut-off frequency of \(f_c = 1060Hz\).
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org2941697" class="outline-4">
|
||||||
|
<h4 id="org2941697"><span class="section-number-4">3.2.2</span> Load data</h4>
|
||||||
|
<div class="outline-text-4" id="text-3-2-2">
|
||||||
|
<p>
|
||||||
|
We load the data of the z axis of two geophones.
|
||||||
|
</p>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab">data = load<span class="org-rainbow-delimiters-depth-1">(</span>'mat<span class="org-type">/</span>data_019.mat', <span class="org-string">'data'</span><span class="org-rainbow-delimiters-depth-1">)</span>; data = data.data;
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org45462d2" class="outline-4">
|
||||||
|
<h4 id="org45462d2"><span class="section-number-4">3.2.3</span> Transfer function of the LPF</h4>
|
||||||
|
<div class="outline-text-4" id="text-3-2-3">
|
||||||
|
<p>
|
||||||
|
We compute the transfer function from the signal without the LPF to the signal measured with the LPF.
|
||||||
|
</p>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab">dt = data<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">2</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-type">-</span>data<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
|
||||||
|
Fs = <span class="org-highlight-numbers-number">1</span><span class="org-type">/</span>dt; <span class="org-comment">% [Hz]</span>
|
||||||
|
|
||||||
|
win = hanning<span class="org-rainbow-delimiters-depth-1">(</span>ceil<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-numbers-number">10</span><span class="org-type">*</span>Fs<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab"><span class="org-rainbow-delimiters-depth-1">[</span>Glpf, f<span class="org-rainbow-delimiters-depth-1">]</span> = tfestimate<span class="org-rainbow-delimiters-depth-1">(</span>data<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>, data<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>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
We compare this transfer function with a transfer function corresponding to an ideal first order LPF with a cut-off frequency of \(1060Hz\).
|
||||||
|
We obtain the result on figure <a href="#org19f2e2d">9</a>.
|
||||||
|
</p>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab">Gth = <span class="org-highlight-numbers-number">1</span><span class="org-type">/</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">1</span><span class="org-type">+</span>s<span class="org-type">/</span><span class="org-highlight-numbers-number">1060</span><span class="org-type">/</span><span class="org-highlight-numbers-number">2</span><span class="org-type">/</span><span class="org-constant">pi</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab"><span class="org-type">figure</span>;
|
||||||
|
ax1 = subplot<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">2</span>, <span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
hold on;
|
||||||
|
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, abs<span class="org-rainbow-delimiters-depth-2">(</span>Glpf<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, abs<span class="org-rainbow-delimiters-depth-2">(</span>squeeze<span class="org-rainbow-delimiters-depth-3">(</span>freqresp<span class="org-rainbow-delimiters-depth-4">(</span>Gth, f, <span class="org-string">'Hz'</span><span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
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-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; set</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">gca, 'yscale', '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">'XTickLabel'</span>,<span class="org-rainbow-delimiters-depth-2">[]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
ylabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Magnitude'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
|
||||||
|
ax2 = subplot<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">2</span>, <span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
hold on;
|
||||||
|
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, mod<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-numbers-number">180</span><span class="org-type">+</span><span class="org-highlight-numbers-number">180</span><span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>phase<span class="org-rainbow-delimiters-depth-3">(</span>Glpf<span class="org-rainbow-delimiters-depth-3">)</span>, <span class="org-highlight-numbers-number">360</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-type">-</span><span class="org-highlight-numbers-number">180</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, <span class="org-highlight-numbers-number">180</span><span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>unwrap<span class="org-rainbow-delimiters-depth-2">(</span>angle<span class="org-rainbow-delimiters-depth-3">(</span>squeeze<span class="org-rainbow-delimiters-depth-4">(</span>freqresp<span class="org-rainbow-delimiters-depth-5">(</span>Gth, f, <span class="org-string">'Hz'</span><span class="org-rainbow-delimiters-depth-5">)</span><span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
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>;
|
||||||
|
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">180</span>, <span class="org-highlight-numbers-number">180</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
yticks<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">180</span>, <span class="org-type">-</span><span class="org-highlight-numbers-number">90</span>, <span class="org-highlight-numbers-number">0</span>, <span class="org-highlight-numbers-number">90</span>, <span class="org-highlight-numbers-number">180</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">'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">'Phase'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||||
|
|
||||||
|
linkaxes<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span>ax1,ax2<span class="org-rainbow-delimiters-depth-2">]</span>,<span class="org-string">'x'</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">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="org19f2e2d" class="figure">
|
||||||
|
<p><img src="figs/Glpf_bode_bis.png" alt="Glpf_bode_bis.png" />
|
||||||
|
</p>
|
||||||
|
<p><span class="figure-number">Figure 9: </span>Bode Diagram of the measured Low Pass filter and the theoritical one</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="outline-container-org438a172" class="outline-4">
|
||||||
|
<h4 id="org438a172"><span class="section-number-4">3.2.4</span> Conclusion</h4>
|
||||||
|
<div class="outline-text-4" id="text-3-2-4">
|
||||||
|
<div class="important">
|
||||||
|
<p>
|
||||||
|
The added LPF has the expected behavior.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="postamble" class="status">
|
||||||
|
<p class="author">Author: Thomas Dehaeze</p>
|
||||||
|
<p class="date">Created: 2019-05-10 ven. 10:07</p>
|
||||||
|
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
510
instrumentation/index.org
Normal file
@ -0,0 +1,510 @@
|
|||||||
|
#+TITLE: Measurements on the instrumentation
|
||||||
|
#+SETUPFILE: ../config.org
|
||||||
|
|
||||||
|
* Measure of the noise of the Voltage Amplifier
|
||||||
|
:PROPERTIES:
|
||||||
|
:header-args:matlab+: :tangle matlab/meas_volt_amp.m
|
||||||
|
:header-args:matlab+: :comments org :mkdirp yes
|
||||||
|
:END:
|
||||||
|
<<sec:meas_volt_amp>>
|
||||||
|
|
||||||
|
#+begin_src bash :exports none :results none
|
||||||
|
if [ meas_volt_amp.m -nt data/meas_volt_amp.zip ]; then
|
||||||
|
zip data/meas_volt_amp \
|
||||||
|
mat/data_003.mat \
|
||||||
|
mat/data_004.mat \
|
||||||
|
mat/data_005.mat \
|
||||||
|
mat/data_006.mat \
|
||||||
|
meas_volt_amp.m
|
||||||
|
fi
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_note
|
||||||
|
All the files (data and Matlab scripts) are accessible [[file:data/meas_volt_amp.zip][here]].
|
||||||
|
#+end_note
|
||||||
|
|
||||||
|
** Measurement Description
|
||||||
|
*Goal*:
|
||||||
|
- Determine the Voltage Amplifier noise
|
||||||
|
|
||||||
|
*Setup*:
|
||||||
|
- The two inputs (differential) of the voltage amplifier are shunted with 50Ohms
|
||||||
|
- The AC/DC option of the Voltage amplifier is on AC
|
||||||
|
- The low pass filter is set to 1hHz
|
||||||
|
- We measure the output of the voltage amplifier with a 16bits ADC of the Speedgoat
|
||||||
|
|
||||||
|
*Measurements*:
|
||||||
|
- =data_003=: Ampli OFF
|
||||||
|
- =data_004=: Ampli ON set to 20dB
|
||||||
|
- =data_005=: Ampli ON set to 40dB
|
||||||
|
- =data_006=: Ampli ON set to 60dB
|
||||||
|
|
||||||
|
** Matlab Init :noexport:ignore:
|
||||||
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
|
<<matlab-dir>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none :results silent :noweb yes
|
||||||
|
<<matlab-init>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Load data
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
amp_off = load('mat/data_003.mat', 'data'); amp_off = amp_off.data(:, [1,3]);
|
||||||
|
amp_20d = load('mat/data_004.mat', 'data'); amp_20d = amp_20d.data(:, [1,3]);
|
||||||
|
amp_40d = load('mat/data_005.mat', 'data'); amp_40d = amp_40d.data(:, [1,3]);
|
||||||
|
amp_60d = load('mat/data_006.mat', 'data'); amp_60d = amp_60d.data(:, [1,3]);
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Time Domain
|
||||||
|
The time domain signals are shown on figure [[fig:ampli_noise_time]].
|
||||||
|
|
||||||
|
#+begin_src matlab :results none :exports none
|
||||||
|
figure;
|
||||||
|
hold on;
|
||||||
|
plot(amp_off(:, 2), amp_off(:, 1), 'DisplayName', 'OFF');
|
||||||
|
plot(amp_20d(:, 2), amp_20d(:, 1), 'DisplayName', '20dB');
|
||||||
|
plot(amp_40d(:, 2), amp_40d(:, 1), 'DisplayName', '40dB');
|
||||||
|
plot(amp_60d(:, 2), amp_60d(:, 1), 'DisplayName', '60dB');
|
||||||
|
hold off;
|
||||||
|
legend('Location', 'northeast');
|
||||||
|
xlabel('Time [s]');
|
||||||
|
ylabel('Voltage [V]');
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+NAME: fig:ampli_noise_time
|
||||||
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||||
|
#+begin_src matlab :var filepath="figs/ampli_noise_time.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
|
||||||
|
<<plt-matlab>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+NAME: fig:ampli_noise_time
|
||||||
|
#+CAPTION: Output of the amplifier
|
||||||
|
#+RESULTS: fig:ampli_noise_time
|
||||||
|
[[file:figs/ampli_noise_time.png]]
|
||||||
|
|
||||||
|
** Frequency Domain
|
||||||
|
We first compute some parameters that will be used for the PSD computation.
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
dt = amp_off(2, 2)-amp_off(1, 2);
|
||||||
|
|
||||||
|
Fs = 1/dt; % [Hz]
|
||||||
|
|
||||||
|
win = hanning(ceil(10*Fs));
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Then we compute the Power Spectral Density using =pwelch= function.
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
[pxoff, f] = pwelch(amp_off(:,1), win, [], [], Fs);
|
||||||
|
[px20d, ~] = pwelch(amp_20d(:,1), win, [], [], Fs);
|
||||||
|
[px40d, ~] = pwelch(amp_40d(:,1), win, [], [], Fs);
|
||||||
|
[px60d, ~] = pwelch(amp_60d(:,1), win, [], [], Fs);
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
We compute the theoretical ADC noise.
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
q = 20/2^16; % quantization
|
||||||
|
Sq = q^2/12/1000; % PSD of the ADC noise
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Finally, the ASD is shown on figure [[fig:ampli_noise_psd]].
|
||||||
|
#+begin_src matlab :results none :exports none
|
||||||
|
figure;
|
||||||
|
hold on;
|
||||||
|
plot(f, sqrt(pxoff), 'DisplayName', 'OFF');
|
||||||
|
plot(f, sqrt(px20d), 'DisplayName', '20dB');
|
||||||
|
plot(f, sqrt(px40d), 'DisplayName', '40dB');
|
||||||
|
plot(f, sqrt(px60d), 'DisplayName', '60dB');
|
||||||
|
plot([0.1, 500], [sqrt(Sq), sqrt(Sq)], 'k--');
|
||||||
|
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', 'northeast');
|
||||||
|
xlim([0.1, 500]);
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+NAME: fig:ampli_noise_psd
|
||||||
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||||
|
#+begin_src matlab :var filepath="figs/ampli_noise_psd.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
||||||
|
<<plt-matlab>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+NAME: fig:ampli_noise_psd
|
||||||
|
#+CAPTION: Amplitude Spectral Density of the measured voltage at the output of the voltage amplifier
|
||||||
|
#+RESULTS: fig:ampli_noise_psd
|
||||||
|
[[file:figs/ampli_noise_psd.png]]
|
||||||
|
|
||||||
|
** Conclusion
|
||||||
|
#+begin_important
|
||||||
|
*Questions*:
|
||||||
|
- Where does those sharp peaks comes from? Can this be due to aliasing?
|
||||||
|
|
||||||
|
Noise induced by the voltage amplifiers seems not to be a limiting factor as we have the same noise when they are OFF and ON.
|
||||||
|
#+end_important
|
||||||
|
|
||||||
|
* Measure of the influence of the AC/DC option on the voltage amplifiers
|
||||||
|
:PROPERTIES:
|
||||||
|
:header-args:matlab+: :tangle matlab/meas_noise_ac_dc.m
|
||||||
|
:header-args:matlab+: :comments org :mkdirp yes
|
||||||
|
:END:
|
||||||
|
<<sec:meas_noise_ac_dc>>
|
||||||
|
|
||||||
|
#+begin_src bash :exports none :results none
|
||||||
|
if [ meas_noise_ac_dc.m -nt data/meas_noise_ac_dc.zip ]; then
|
||||||
|
zip data/meas_noise_ac_dc \
|
||||||
|
mat/data_012.mat \
|
||||||
|
mat/data_013.mat \
|
||||||
|
meas_noise_ac_dc.m
|
||||||
|
fi
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_note
|
||||||
|
All the files (data and Matlab scripts) are accessible [[file:data/meas_noise_ac_dc.zip][here]].
|
||||||
|
#+end_note
|
||||||
|
|
||||||
|
** Measurement Description
|
||||||
|
*Goal*:
|
||||||
|
- Measure the influence of the high-pass filter option of the voltage amplifiers
|
||||||
|
|
||||||
|
*Setup*:
|
||||||
|
- One geophone is located on the marble.
|
||||||
|
- It's signal goes to two voltage amplifiers with a gain of 60dB.
|
||||||
|
- One voltage amplifier is on the AC option, the other is on the DC option.
|
||||||
|
|
||||||
|
*Measurements*:
|
||||||
|
First measurement (=mat/data_014.mat= file):
|
||||||
|
| Column | Signal |
|
||||||
|
|--------+----------------------------|
|
||||||
|
| 1 | Amplifier 1 with AC option |
|
||||||
|
| 2 | Amplifier 2 with DC option |
|
||||||
|
| 3 | Time |
|
||||||
|
|
||||||
|
Second measurement (=mat/data_015.mat= file):
|
||||||
|
| Column | Signal |
|
||||||
|
|--------+----------------------------|
|
||||||
|
| 1 | Amplifier 1 with DC option |
|
||||||
|
| 2 | Amplifier 2 with AC option |
|
||||||
|
| 3 | Time |
|
||||||
|
|
||||||
|
#+name: fig:volt_amp_setup
|
||||||
|
#+caption: Picture of the two voltages amplifiers
|
||||||
|
#+attr_html: :width 500px
|
||||||
|
[[file:./img/IMG_20190503_170936.jpg]]
|
||||||
|
|
||||||
|
** Matlab Init :noexport:ignore:
|
||||||
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
|
<<matlab-dir>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none :results silent :noweb yes
|
||||||
|
<<matlab-init>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Load data
|
||||||
|
We load the data of the z axis of two geophones.
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
meas14 = load('mat/data_014.mat', 'data'); meas14 = meas14.data;
|
||||||
|
meas15 = load('mat/data_015.mat', 'data'); meas15 = meas15.data;
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Time Domain
|
||||||
|
The signals are shown on figure [[fig:ac_dc_option_time]].
|
||||||
|
#+begin_src matlab :results none :exports none
|
||||||
|
figure;
|
||||||
|
hold on;
|
||||||
|
plot(meas14(:, 3), meas14(:, 1), 'DisplayName', 'Amp1 - AC');
|
||||||
|
plot(meas14(:, 3), meas14(:, 2), 'DisplayName', 'Amp2 - DC');
|
||||||
|
plot(meas15(:, 3), meas15(:, 1), 'DisplayName', 'Amp1 - DC');
|
||||||
|
plot(meas15(:, 3), meas15(:, 2), 'DisplayName', 'Amp2 - AC');
|
||||||
|
hold off;
|
||||||
|
legend('Location', 'bestoutside');
|
||||||
|
xlabel('Time [s]');
|
||||||
|
ylabel('Voltage [V]');
|
||||||
|
xlim([0, 100]);
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+NAME: fig:ac_dc_option_time
|
||||||
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||||
|
#+begin_src matlab :var filepath="figs/ac_dc_option_time.pdf" :var figsize="full-normal" :post pdf2svg(file=*this*, ext="png")
|
||||||
|
<<plt-matlab>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+NAME: fig:ac_dc_option_time
|
||||||
|
#+CAPTION: Comparison of the signals going through the Voltage amplifiers
|
||||||
|
#+RESULTS: fig:ac_dc_option_time
|
||||||
|
[[file:figs/ac_dc_option_time.png]]
|
||||||
|
|
||||||
|
** Frequency Domain
|
||||||
|
We first compute some parameters that will be used for the PSD computation.
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
dt = meas14(2, 3)-meas14(1, 3);
|
||||||
|
|
||||||
|
Fs = 1/dt; % [Hz]
|
||||||
|
|
||||||
|
win = hanning(ceil(10*Fs));
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Then we compute the Power Spectral Density using =pwelch= function.
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
[pxamp1ac, f] = pwelch(meas14(:, 1), win, [], [], Fs);
|
||||||
|
[pxamp2dc, ~] = pwelch(meas14(:, 2), win, [], [], Fs);
|
||||||
|
|
||||||
|
[pxamp1dc, ~] = pwelch(meas15(:, 1), win, [], [], Fs);
|
||||||
|
[pxamp2ac, ~] = pwelch(meas15(:, 2), win, [], [], Fs);
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
The ASD of the signals are compare on figure [[fig:ac_dc_option_asd]].
|
||||||
|
#+begin_src matlab :results none :exports none
|
||||||
|
figure;
|
||||||
|
hold on;
|
||||||
|
plot(f, sqrt(pxamp1ac), 'DisplayName', 'Amp1 - AC');
|
||||||
|
plot(f, sqrt(pxamp2dc), 'DisplayName', 'Amp2 - DC');
|
||||||
|
plot(f, sqrt(pxamp1dc), 'DisplayName', 'Amp1 - DC');
|
||||||
|
plot(f, sqrt(pxamp2ac), 'DisplayName', 'Amp2 - AC');
|
||||||
|
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', 'northeast');
|
||||||
|
xlim([0.1, 500]);
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+NAME: fig:ac_dc_option_asd
|
||||||
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||||
|
#+begin_src matlab :var filepath="figs/ac_dc_option_asd.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
||||||
|
<<plt-matlab>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+NAME: fig:ac_dc_option_asd
|
||||||
|
#+CAPTION: Amplitude Spectral Density of the measured signals
|
||||||
|
#+RESULTS: fig:ac_dc_option_asd
|
||||||
|
[[file:figs/ac_dc_option_asd.png]]
|
||||||
|
|
||||||
|
** Conclusion
|
||||||
|
#+begin_important
|
||||||
|
- The voltage amplifiers include some very sharp high pass filters at 1.5Hz (maybe 4th order)
|
||||||
|
- There is a DC offset on the time domain signal because the DC-offset knob was not set to zero
|
||||||
|
#+end_important
|
||||||
|
|
||||||
|
* Transfer function of the Low Pass Filter
|
||||||
|
:PROPERTIES:
|
||||||
|
:header-args:matlab+: :tangle matlab/low_pass_filter_measurements.m
|
||||||
|
:header-args:matlab+: :comments org :mkdirp yes
|
||||||
|
:END:
|
||||||
|
<<sec:low_pass_filter_measurements>>
|
||||||
|
|
||||||
|
#+begin_src bash :exports none :results none
|
||||||
|
if [ low_pass_filter_measurements.m -nt data/low_pass_filter_measurements.zip ]; then
|
||||||
|
zip data/low_pass_filter_measurements \
|
||||||
|
mat/data_018.mat \
|
||||||
|
mat/data_019.mat \
|
||||||
|
low_pass_filter_measurements.m
|
||||||
|
fi
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
The computation files for this section are accessible [[file:data/low_pass_filter_measurements.zip][here]].
|
||||||
|
|
||||||
|
** First LPF with a Cut-off frequency of 160Hz
|
||||||
|
*** Measurement Description
|
||||||
|
*Goal*:
|
||||||
|
- Measure the Low Pass Filter Transfer Function
|
||||||
|
|
||||||
|
The values of the components are:
|
||||||
|
\begin{aligned}
|
||||||
|
R &= 1k\Omega \\
|
||||||
|
C &= 1\mu F
|
||||||
|
\end{aligned}
|
||||||
|
Which makes a cut-off frequency of $f_c = \frac{1}{RC} = 1000 rad/s = 160Hz$.
|
||||||
|
|
||||||
|
#+NAME: fig:lpf
|
||||||
|
#+HEADER: :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{$HOME/MEGA/These/LaTeX/}{config.tex}")
|
||||||
|
#+HEADER: :imagemagick t :fit yes :iminoptions -scale 100% -density 150 :imoutoptions -quality 100
|
||||||
|
#+HEADER: :results raw replace :buffer no :eval no-export :exports both :mkdirp yes
|
||||||
|
#+HEADER: :output-dir figs
|
||||||
|
#+begin_src latex :file lpf.pdf :post pdf2svg(file=*this*, ext="png") :exports both
|
||||||
|
\begin{tikzpicture}
|
||||||
|
\draw (0,2)
|
||||||
|
to [R=\(R\)] ++(2,0) node[circ]
|
||||||
|
to ++(2,0)
|
||||||
|
++(-2,0)
|
||||||
|
to [C=\(C\)] ++(0,-2) node[circ]
|
||||||
|
++(-2,0)
|
||||||
|
to ++(2,0)
|
||||||
|
to ++(2,0)
|
||||||
|
\end{tikzpicture}
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+NAME: fig:lpf
|
||||||
|
#+CAPTION: Schematic of the Low Pass Filter used
|
||||||
|
#+RESULTS: fig:lpf
|
||||||
|
[[file:figs/lpf.png]]
|
||||||
|
|
||||||
|
|
||||||
|
*Setup*:
|
||||||
|
- We are measuring the signal from from Geophone with a BNC T
|
||||||
|
- On part goes to column 1 through the LPF
|
||||||
|
- The other part goes to column 2 without the LPF
|
||||||
|
|
||||||
|
*Measurements*:
|
||||||
|
=mat/data_018.mat=:
|
||||||
|
| Column | Signal |
|
||||||
|
|--------+----------------------|
|
||||||
|
| 1 | Amplifier 1 with LPF |
|
||||||
|
| 2 | Amplifier 2 |
|
||||||
|
| 3 | Time |
|
||||||
|
|
||||||
|
#+name: fig:lpf_picture
|
||||||
|
#+caption: Picture of the low pass filter used
|
||||||
|
#+attr_html: :width 500px
|
||||||
|
[[file:./img/IMG_20190507_102756.jpg]]
|
||||||
|
|
||||||
|
*** Matlab Init :noexport:ignore:
|
||||||
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
|
<<matlab-dir>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none :results silent :noweb yes
|
||||||
|
<<matlab-init>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
*** Load data
|
||||||
|
We load the data of the z axis of two geophones.
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
data = load('mat/data_018.mat', 'data'); data = data.data;
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
*** Transfer function of the LPF
|
||||||
|
We compute the transfer function from the signal without the LPF to the signal measured with the LPF.
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
dt = data(2, 3)-data(1, 3);
|
||||||
|
|
||||||
|
Fs = 1/dt; % [Hz]
|
||||||
|
|
||||||
|
win = hanning(ceil(10*Fs));
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
[Glpf, f] = tfestimate(data(:, 2), data(:, 1), win, [], [], Fs);
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
We compare this transfer function with a transfer function corresponding to an ideal first order LPF with a cut-off frequency of $1000rad/s$.
|
||||||
|
We obtain the result on figure [[fig:Glpf_bode]].
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
Gth = 1/(1+s/1000)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
figure;
|
||||||
|
ax1 = subplot(2, 1, 1);
|
||||||
|
hold on;
|
||||||
|
plot(f, abs(Glpf));
|
||||||
|
plot(f, abs(squeeze(freqresp(Gth, f, 'Hz'))));
|
||||||
|
hold off;
|
||||||
|
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
||||||
|
set(gca, 'XTickLabel',[]);
|
||||||
|
ylabel('Magnitude');
|
||||||
|
|
||||||
|
ax2 = subplot(2, 1, 2);
|
||||||
|
hold on;
|
||||||
|
plot(f, mod(180+180/pi*phase(Glpf), 360)-180);
|
||||||
|
plot(f, 180/pi*unwrap(angle(squeeze(freqresp(Gth, f, 'Hz')))));
|
||||||
|
hold off;
|
||||||
|
set(gca, 'xscale', 'log');
|
||||||
|
ylim([-180, 180]);
|
||||||
|
yticks([-180, -90, 0, 90, 180]);
|
||||||
|
xlabel('Frequency [Hz]'); ylabel('Phase');
|
||||||
|
|
||||||
|
linkaxes([ax1,ax2],'x');
|
||||||
|
xlim([1, 500]);
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+NAME: fig:Glpf_bode
|
||||||
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||||
|
#+begin_src matlab :var filepath="figs/Glpf_bode.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
||||||
|
<<plt-matlab>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+NAME: fig:Glpf_bode
|
||||||
|
#+CAPTION: Bode Diagram of the measured Low Pass filter and the theoritical one
|
||||||
|
#+RESULTS: fig:Glpf_bode
|
||||||
|
[[file:figs/Glpf_bode.png]]
|
||||||
|
*** Conclusion
|
||||||
|
#+begin_important
|
||||||
|
As we want to measure things up to $500Hz$, we chose to change the value of the capacitor to obtain a cut-off frequency of $1kHz$.
|
||||||
|
#+end_important
|
||||||
|
|
||||||
|
** Second LPF with a Cut-off frequency of 1000Hz
|
||||||
|
*** Measurement description
|
||||||
|
This time, the value are
|
||||||
|
\begin{aligned}
|
||||||
|
R &= 1k\Omega \\
|
||||||
|
C &= 150nF
|
||||||
|
\end{aligned}
|
||||||
|
Which makes a low pass filter with a cut-off frequency of $f_c = 1060Hz$.
|
||||||
|
|
||||||
|
*** Load data
|
||||||
|
We load the data of the z axis of two geophones.
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
data = load('mat/data_019.mat', 'data'); data = data.data;
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
*** Transfer function of the LPF
|
||||||
|
We compute the transfer function from the signal without the LPF to the signal measured with the LPF.
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
dt = data(2, 3)-data(1, 3);
|
||||||
|
|
||||||
|
Fs = 1/dt; % [Hz]
|
||||||
|
|
||||||
|
win = hanning(ceil(10*Fs));
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
[Glpf, f] = tfestimate(data(:, 2), data(:, 1), win, [], [], Fs);
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
We compare this transfer function with a transfer function corresponding to an ideal first order LPF with a cut-off frequency of $1060Hz$.
|
||||||
|
We obtain the result on figure [[fig:Glpf_bode_bis]].
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
Gth = 1/(1+s/1060/2/pi);
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
figure;
|
||||||
|
ax1 = subplot(2, 1, 1);
|
||||||
|
hold on;
|
||||||
|
plot(f, abs(Glpf));
|
||||||
|
plot(f, abs(squeeze(freqresp(Gth, f, 'Hz'))));
|
||||||
|
hold off;
|
||||||
|
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
||||||
|
set(gca, 'XTickLabel',[]);
|
||||||
|
ylabel('Magnitude');
|
||||||
|
|
||||||
|
ax2 = subplot(2, 1, 2);
|
||||||
|
hold on;
|
||||||
|
plot(f, mod(180+180/pi*phase(Glpf), 360)-180);
|
||||||
|
plot(f, 180/pi*unwrap(angle(squeeze(freqresp(Gth, f, 'Hz')))));
|
||||||
|
hold off;
|
||||||
|
set(gca, 'xscale', 'log');
|
||||||
|
ylim([-180, 180]);
|
||||||
|
yticks([-180, -90, 0, 90, 180]);
|
||||||
|
xlabel('Frequency [Hz]'); ylabel('Phase');
|
||||||
|
|
||||||
|
linkaxes([ax1,ax2],'x');
|
||||||
|
xlim([1, 500]);
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+NAME: fig:Glpf_bode_bis
|
||||||
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||||
|
#+begin_src matlab :var filepath="figs/Glpf_bode_bis.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
||||||
|
<<plt-matlab>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+NAME: fig:Glpf_bode_bis
|
||||||
|
#+CAPTION: Bode Diagram of the measured Low Pass filter and the theoritical one
|
||||||
|
#+RESULTS: fig:Glpf_bode_bis
|
||||||
|
[[file:figs/Glpf_bode_bis.png]]
|
||||||
|
*** Conclusion
|
||||||
|
#+begin_important
|
||||||
|
The added LPF has the expected behavior.
|
||||||
|
#+end_important
|
BIN
instrumentation/mat/data_018.mat
Normal file
BIN
instrumentation/mat/data_019.mat
Normal file
@ -1,11 +0,0 @@
|
|||||||
data1 = load('mat/data_001.mat', 't', 'x1', 'x2');
|
|
||||||
data2 = load('mat/data_002.mat', 't', 'x1', 'x2');
|
|
||||||
|
|
||||||
figure;
|
|
||||||
hold on;
|
|
||||||
plot(data1.t, data1.x1-data1.x2);
|
|
||||||
plot(data2.t, data2.x1-data2.x2);
|
|
||||||
hold off
|
|
||||||
xlabel('Time [s]');
|
|
||||||
ylabel('Voltage [V]');
|
|
||||||
legend({'Slip-ring OFF', 'Slip-ring ON'});
|
|
3
slip-ring-test/figs/.gitignore
vendored
@ -1,3 +0,0 @@
|
|||||||
*.tex
|
|
||||||
*.pdf
|
|
||||||
*.svg
|
|
Before Width: | Height: | Size: 324 KiB |
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 110 KiB |
Before Width: | Height: | Size: 572 KiB |
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 4.4 MiB After Width: | Height: | Size: 4.4 MiB |
Before Width: | Height: | Size: 3.5 MiB After Width: | Height: | Size: 3.5 MiB |
@ -1,39 +1,165 @@
|
|||||||
#+TITLE: Measurements
|
#+TITLE: Measurements On the Slip-Ring
|
||||||
:DRAWER:
|
#+SETUPFILE: ../config.org
|
||||||
#+STARTUP: overview
|
|
||||||
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
|
* Effect of the Slip-Ring on the signal
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/zenburn.css"/>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="../js/jquery.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="../js/bootstrap.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="../js/jquery.stickytableheaders.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="../js/readtheorg.js"></script>
|
|
||||||
|
|
||||||
#+PROPERTY: header-args:matlab :session *MATLAB*
|
|
||||||
#+PROPERTY: header-args:matlab+ :comments org
|
|
||||||
#+PROPERTY: header-args:matlab+ :results output
|
|
||||||
#+PROPERTY: header-args:matlab+ :exports both
|
|
||||||
#+PROPERTY: header-args:matlab+ :eval no-export
|
|
||||||
#+PROPERTY: header-args:matlab+ :output-dir figs
|
|
||||||
:END:
|
|
||||||
|
|
||||||
* Effect of the rotation of the Slip-Ring
|
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:header-args:matlab+: :tangle meas_effect_sr.m
|
:header-args:matlab+: :tangle matlab/meas_slip_ring_geophone.m
|
||||||
:header-args:matlab+: :comments org :mkdirp yes
|
:header-args:matlab+: :comments org :mkdirp yes
|
||||||
:END:
|
:END:
|
||||||
|
<<sec:meas_slip_ring_geophone>>
|
||||||
|
|
||||||
#+begin_src bash :exports none :results none
|
#+begin_src bash :exports none :results none
|
||||||
if [ meas_effect_sr.m -nt data/meas_effect_sr.zip ]; then
|
if [ matlab/meas_slip_ring_geophone.m -nt data/meas_slip_ring_geophone.zip ]; then
|
||||||
zip data/meas_effect_sr \
|
cp matlab/meas_slip_ring_geophone.m meas_slip_ring_geophone.m;
|
||||||
mat/data_001.mat \
|
zip data/meas_slip_ring_geophone \
|
||||||
mat/data_002.mat \
|
mat/data_018.mat \
|
||||||
meas_effect_sr.m
|
mat/data_019.mat \
|
||||||
|
meas_slip_ring_geophone.m;
|
||||||
|
rm meas_slip_ring_geophone.m;
|
||||||
fi
|
fi
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
The data and matlab files are accessible [[file:data/meas_effect_sr.zip][here]].
|
#+begin_note
|
||||||
|
All the files (data and Matlab scripts) are accessible [[file:data/meas_slip_ring_geophone.zip][here]].
|
||||||
|
#+end_note
|
||||||
|
|
||||||
|
** Experimental Setup
|
||||||
|
Two measurements are made with the control systems of all the stages turned OFF.
|
||||||
|
|
||||||
|
One geophone is located on the marble while the other is located at the sample location (figure [[fig:setup_slipring]]).
|
||||||
|
|
||||||
|
#+name: fig:setup_slipring
|
||||||
|
#+caption: Experimental Setup
|
||||||
|
#+attr_html: :width 500px
|
||||||
|
[[file:./img/IMG_20190430_112615.jpg]]
|
||||||
|
|
||||||
|
The two measurements are:
|
||||||
|
| Measurement File | Description |
|
||||||
|
|------------------+------------------------------------------------------------------|
|
||||||
|
| =meas_018.mat= | Signal from the top geophone does not goes through the Slip-ring |
|
||||||
|
| =meas_019.mat= | Signal goes through the Slip-ring (as shown on the figure above) |
|
||||||
|
|
||||||
|
Each of the measurement =mat= file contains one =data= array with 3 columns:
|
||||||
|
| Column number | Description |
|
||||||
|
|---------------+-------------------|
|
||||||
|
| 1 | Geophone - Marble |
|
||||||
|
| 2 | Geophone - Sample |
|
||||||
|
| 3 | Time |
|
||||||
|
|
||||||
|
** Matlab Init :noexport:ignore:
|
||||||
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
|
<<matlab-dir>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none :results silent :noweb yes
|
||||||
|
<<matlab-init>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Load data
|
||||||
|
We load the data of the z axis of two geophones.
|
||||||
|
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
d8 = load('mat/data_018.mat', 'data'); d8 = d8.data;
|
||||||
|
d9 = load('mat/data_019.mat', 'data'); d9 = d9.data;
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Analysis - Time Domain
|
||||||
|
First, we compare the time domain signals for the two experiments (figure [[fig:slipring_time]]).
|
||||||
|
|
||||||
|
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
figure;
|
||||||
|
hold on;
|
||||||
|
plot(d9(:, 3), d9(:, 2), 'DisplayName', 'Slip-Ring');
|
||||||
|
plot(d8(:, 3), d8(:, 2), 'DisplayName', 'Wire');
|
||||||
|
hold off;
|
||||||
|
xlabel('Time [s]'); ylabel('Voltage [V]');
|
||||||
|
xlim([0, 50]);
|
||||||
|
legend('location', 'northeast');
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+NAME: fig:slipring_time
|
||||||
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||||
|
#+begin_src matlab :var filepath="figs/slipring_time.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png")
|
||||||
|
<<plt-matlab>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+NAME: fig:slipring_time
|
||||||
|
#+CAPTION: Effect of the Slip-Ring on the measured signal - Time domain
|
||||||
|
#+RESULTS: fig:slipring_time
|
||||||
|
[[file:figs/slipring_time.png]]
|
||||||
|
|
||||||
|
** Analysis - Frequency Domain
|
||||||
|
We then compute the Power Spectral Density of the two signals and we compare them (figure [[fig:slipring_asd]]).
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
dt = d8(2, 3) - d8(1, 3);
|
||||||
|
Fs = 1/dt;
|
||||||
|
|
||||||
|
win = hanning(ceil(1*Fs));
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
[pxx8, f] = pwelch(d8(:, 2), win, [], [], Fs);
|
||||||
|
[pxx9, ~] = pwelch(d9(:, 2), win, [], [], Fs);
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
figure;
|
||||||
|
hold on;
|
||||||
|
plot(f, sqrt(pxx9), 'DisplayName', 'Slip-Ring');
|
||||||
|
plot(f, sqrt(pxx8), 'DisplayName', 'Wire');
|
||||||
|
hold off;
|
||||||
|
set(gca, 'xscale', 'log');
|
||||||
|
set(gca, 'yscale', 'log');
|
||||||
|
xlabel('Frequency [Hz]'); ylabel('Amplitude Spectral Density $\left[\frac{V}{\sqrt{Hz}}\right]$')
|
||||||
|
xlim([1, 500]);
|
||||||
|
legend('Location', 'southwest');
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+NAME: fig:slipring_asd
|
||||||
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
||||||
|
#+begin_src matlab :var filepath="figs/slipring_asd.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png")
|
||||||
|
<<plt-matlab>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+NAME: fig:slipring_asd
|
||||||
|
#+CAPTION: Effect of the Slip-Ring on the measured signal - Frequency domain
|
||||||
|
#+RESULTS: fig:slipring_asd
|
||||||
|
[[file:figs/slipring_asd.png]]
|
||||||
|
|
||||||
|
** Conclusion
|
||||||
|
#+begin_important
|
||||||
|
- Connecting the geophone through the Slip-Ring seems to induce a lot of noise.
|
||||||
|
#+end_important
|
||||||
|
|
||||||
|
#+begin_note
|
||||||
|
*Remaining questions to answer*:
|
||||||
|
- Why is there a sharp peak at 300Hz?
|
||||||
|
- Why the use of the Slip-Ring does induce a noise?
|
||||||
|
- Can the capacitive/inductive properties of the wires in the Slip-ring does not play well with the geophone? (resonant RLC circuit)
|
||||||
|
#+end_note
|
||||||
|
|
||||||
|
* Effect of the rotation of the Slip-Ring
|
||||||
|
:PROPERTIES:
|
||||||
|
:header-args:matlab+: :tangle matlab/meas_effect_sr.m
|
||||||
|
:header-args:matlab+: :comments org :mkdirp yes
|
||||||
|
:END:
|
||||||
|
<<sec:meas_effect_sr>>
|
||||||
|
|
||||||
|
#+begin_src bash :exports none :results none
|
||||||
|
if [ matlab/meas_effect_sr.m -nt data/meas_effect_sr.zip ]; then
|
||||||
|
cp matlab/meas_effect_sr.m meas_effect_sr.m;
|
||||||
|
zip data/meas_effect_sr \
|
||||||
|
mat/data_001.mat \
|
||||||
|
mat/data_002.mat \
|
||||||
|
meas_effect_sr.m;
|
||||||
|
rm meas_effect_sr.m;
|
||||||
|
fi
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_note
|
||||||
|
All the files (data and Matlab scripts) are accessible [[file:data/meas_effect_sr.zip][here]].
|
||||||
|
#+end_note
|
||||||
|
|
||||||
** Measurement Description
|
** Measurement Description
|
||||||
Random Signal is generated by one DAC of the SpeedGoat.
|
Random Signal is generated by one DAC of the SpeedGoat.
|
||||||
@ -60,7 +186,11 @@ The goal is to determine is the signal is altered when the spindle is rotating.
|
|||||||
Here, the rotation speed of the Slip-Ring is set to 1rpm.
|
Here, the rotation speed of the Slip-Ring is set to 1rpm.
|
||||||
|
|
||||||
** Matlab Init :noexport:ignore:
|
** Matlab Init :noexport:ignore:
|
||||||
#+begin_src matlab :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
|
<<matlab-dir>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none :results silent :noweb yes
|
||||||
<<matlab-init>>
|
<<matlab-init>>
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -159,159 +289,29 @@ We now look at the difference between the signal directly measured by the ADC an
|
|||||||
- Should the measurement be redone using voltage amplifiers?
|
- Should the measurement be redone using voltage amplifiers?
|
||||||
- Use higher rotation speed and measure for longer periods (to have multiple revolutions) ?
|
- Use higher rotation speed and measure for longer periods (to have multiple revolutions) ?
|
||||||
#+end_note
|
#+end_note
|
||||||
* Measure of the noise of the Voltage Amplifier
|
|
||||||
:PROPERTIES:
|
|
||||||
:header-args:matlab+: :tangle meas_volt_amp.m
|
|
||||||
:header-args:matlab+: :comments org :mkdirp yes
|
|
||||||
:END:
|
|
||||||
|
|
||||||
#+begin_src bash :exports none :results none
|
|
||||||
if [ meas_volt_amp.m -nt data/meas_volt_amp.zip ]; then
|
|
||||||
zip data/meas_volt_amp \
|
|
||||||
mat/data_003.mat \
|
|
||||||
mat/data_004.mat \
|
|
||||||
mat/data_005.mat \
|
|
||||||
mat/data_006.mat \
|
|
||||||
meas_volt_amp.m
|
|
||||||
fi
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
The data and matlab files are accessible [[file:data/meas_volt_amp.zip][here]].
|
|
||||||
|
|
||||||
** Measurement Description
|
|
||||||
*Goal*:
|
|
||||||
- Determine the Voltage Amplifier noise
|
|
||||||
|
|
||||||
*Setup*:
|
|
||||||
- The two inputs (differential) of the voltage amplifier are shunted with 50Ohms
|
|
||||||
- The AC/DC option of the Voltage amplifier is on AC
|
|
||||||
- The low pass filter is set to 1hHz
|
|
||||||
- We measure the output of the voltage amplifier with a 16bits ADC of the Speedgoat
|
|
||||||
|
|
||||||
*Measurements*:
|
|
||||||
- =data_003=: Ampli OFF
|
|
||||||
- =data_004=: Ampli ON set to 20dB
|
|
||||||
- =data_005=: Ampli ON set to 40dB
|
|
||||||
- =data_006=: Ampli ON set to 60dB
|
|
||||||
|
|
||||||
** Matlab Init :noexport:ignore:
|
|
||||||
#+begin_src matlab :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
|
||||||
<<matlab-init>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Load data
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
amp_off = load('mat/data_003.mat', 'data'); amp_off = amp_off.data(:, [1,3]);
|
|
||||||
amp_20d = load('mat/data_004.mat', 'data'); amp_20d = amp_20d.data(:, [1,3]);
|
|
||||||
amp_40d = load('mat/data_005.mat', 'data'); amp_40d = amp_40d.data(:, [1,3]);
|
|
||||||
amp_60d = load('mat/data_006.mat', 'data'); amp_60d = amp_60d.data(:, [1,3]);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Time Domain
|
|
||||||
The time domain signals are shown on figure [[fig:ampli_noise_time]].
|
|
||||||
|
|
||||||
#+begin_src matlab :results none :exports none
|
|
||||||
figure;
|
|
||||||
hold on;
|
|
||||||
plot(amp_off(:, 2), amp_off(:, 1), 'DisplayName', 'OFF');
|
|
||||||
plot(amp_20d(:, 2), amp_20d(:, 1), 'DisplayName', '20dB');
|
|
||||||
plot(amp_40d(:, 2), amp_40d(:, 1), 'DisplayName', '40dB');
|
|
||||||
plot(amp_60d(:, 2), amp_60d(:, 1), 'DisplayName', '60dB');
|
|
||||||
hold off;
|
|
||||||
legend('Location', 'northeast');
|
|
||||||
xlabel('Time [s]');
|
|
||||||
ylabel('Voltage [V]');
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+NAME: fig:ampli_noise_time
|
|
||||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
||||||
#+begin_src matlab :var filepath="figs/ampli_noise_time.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
|
|
||||||
<<plt-matlab>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+NAME: fig:ampli_noise_time
|
|
||||||
#+CAPTION: Output of the amplifier
|
|
||||||
#+RESULTS: fig:ampli_noise_time
|
|
||||||
[[file:figs/ampli_noise_time.png]]
|
|
||||||
|
|
||||||
** Frequency Domain
|
|
||||||
We first compute some parameters that will be used for the PSD computation.
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
dt = amp_off(2, 2)-amp_off(1, 2);
|
|
||||||
|
|
||||||
Fs = 1/dt; % [Hz]
|
|
||||||
|
|
||||||
win = hanning(ceil(10*Fs));
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
Then we compute the Power Spectral Density using =pwelch= function.
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
[pxoff, f] = pwelch(amp_off(:,1), win, [], [], Fs);
|
|
||||||
[px20d, ~] = pwelch(amp_20d(:,1), win, [], [], Fs);
|
|
||||||
[px40d, ~] = pwelch(amp_40d(:,1), win, [], [], Fs);
|
|
||||||
[px60d, ~] = pwelch(amp_60d(:,1), win, [], [], Fs);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
We compute the theoretical ADC noise.
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
q = 20/2^16; % quantization
|
|
||||||
Sq = q^2/12/1000; % PSD of the ADC noise
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
Finally, the ASD is shown on figure [[fig:ampli_noise_psd]].
|
|
||||||
#+begin_src matlab :results none :exports none
|
|
||||||
figure;
|
|
||||||
hold on;
|
|
||||||
plot(f, sqrt(pxoff), 'DisplayName', 'OFF');
|
|
||||||
plot(f, sqrt(px20d), 'DisplayName', '20dB');
|
|
||||||
plot(f, sqrt(px40d), 'DisplayName', '40dB');
|
|
||||||
plot(f, sqrt(px60d), 'DisplayName', '60dB');
|
|
||||||
plot([0.1, 500], [sqrt(Sq), sqrt(Sq)], 'k--');
|
|
||||||
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', 'northeast');
|
|
||||||
xlim([0.1, 500]);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+NAME: fig:ampli_noise_psd
|
|
||||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
||||||
#+begin_src matlab :var filepath="figs/ampli_noise_psd.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
|
||||||
<<plt-matlab>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+NAME: fig:ampli_noise_psd
|
|
||||||
#+CAPTION: Amplitude Spectral Density of the measured voltage at the output of the voltage amplifier
|
|
||||||
#+RESULTS: fig:ampli_noise_psd
|
|
||||||
[[file:figs/ampli_noise_psd.png]]
|
|
||||||
|
|
||||||
** Conclusion
|
|
||||||
#+begin_important
|
|
||||||
*Questions*:
|
|
||||||
- Where does those sharp peaks comes from? Can this be due to aliasing?
|
|
||||||
|
|
||||||
Noise induced by the voltage amplifiers seems not to be a limiting factor as we have the same noise when they are OFF and ON.
|
|
||||||
#+end_important
|
|
||||||
|
|
||||||
* Measure of the noise induced by the Slip-Ring
|
* Measure of the noise induced by the Slip-Ring
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:header-args:matlab+: :tangle meas_slip_ring.m
|
:header-args:matlab+: :tangle matlab/meas_slip_ring.m
|
||||||
:header-args:matlab+: :comments org :mkdirp yes
|
:header-args:matlab+: :comments org :mkdirp yes
|
||||||
:END:
|
:END:
|
||||||
|
<<sec:meas_slip_ring>>
|
||||||
|
|
||||||
#+begin_src bash :exports none :results none
|
#+begin_src bash :exports none :results none
|
||||||
if [ meas_slip_ring.m -nt data/meas_slip_ring.zip ]; then
|
if [ matlab/meas_slip_ring.m -nt data/meas_slip_ring.zip ]; then
|
||||||
|
cp matlab/meas_slip_ring.m meas_slip_ring.m;
|
||||||
zip data/meas_slip_ring \
|
zip data/meas_slip_ring \
|
||||||
mat/data_008.mat \
|
mat/data_008.mat \
|
||||||
mat/data_009.mat \
|
mat/data_009.mat \
|
||||||
mat/data_010.mat \
|
mat/data_010.mat \
|
||||||
mat/data_011.mat \
|
mat/data_011.mat \
|
||||||
meas_slip_ring.m
|
meas_slip_ring.m;
|
||||||
|
rm meas_slip_ring.m;
|
||||||
fi
|
fi
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
The data and matlab files are accessible [[file:data/meas_slip_ring.zip][here]].
|
#+begin_note
|
||||||
|
All the files (data and Matlab scripts) are accessible [[file:data/meas_slip_ring.zip][here]].
|
||||||
|
#+end_note
|
||||||
|
|
||||||
** Measurement Description
|
** Measurement Description
|
||||||
*Goal*:
|
*Goal*:
|
||||||
@ -343,7 +343,11 @@ Second column: Slip-ring measure
|
|||||||
[[file:./img/VID_20190503_161401.gif]]
|
[[file:./img/VID_20190503_161401.gif]]
|
||||||
|
|
||||||
** Matlab Init :noexport:ignore:
|
** Matlab Init :noexport:ignore:
|
||||||
#+begin_src matlab :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
|
<<matlab-dir>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none :results silent :noweb yes
|
||||||
<<matlab-init>>
|
<<matlab-init>>
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -463,22 +467,36 @@ And we plot the ASD of the measured signals (figure [[fig:sr_psd_compare]]);
|
|||||||
|
|
||||||
* Measure of the noise induced by the slip ring when using a geophone
|
* Measure of the noise induced by the slip ring when using a geophone
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:header-args:matlab+: :tangle meas_sr_geophone.m
|
:header-args:matlab+: :tangle matlab/meas_sr_geophone.m
|
||||||
:header-args:matlab+: :comments org :mkdirp yes
|
:header-args:matlab+: :comments org :mkdirp yes
|
||||||
:END:
|
:END:
|
||||||
|
<<sec:meas_sr_geophone>>
|
||||||
|
|
||||||
#+begin_src bash :exports none :results none
|
#+begin_src bash :exports none :results none
|
||||||
if [ meas_sr_geophone.m -nt data/meas_sr_geophone.zip ]; then
|
if [ matlab/meas_sr_geophone.m -nt data/meas_sr_geophone.zip ]; then
|
||||||
|
cp matlab/meas_sr_geophone.m meas_sr_geophone.m;
|
||||||
zip data/meas_sr_geophone \
|
zip data/meas_sr_geophone \
|
||||||
mat/data_012.mat \
|
mat/data_012.mat \
|
||||||
mat/data_013.mat \
|
mat/data_013.mat \
|
||||||
mat/data_016.mat \
|
mat/data_016.mat \
|
||||||
mat/data_017.mat \
|
mat/data_017.mat \
|
||||||
meas_sr_geophone.m
|
meas_sr_geophone.m;
|
||||||
|
rm meas_sr_geophone.m;
|
||||||
fi
|
fi
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
The data and matlab files are accessible [[file:data/meas_sr_geophone.zip][here]].
|
#+begin_note
|
||||||
|
All the files (data and Matlab scripts) are accessible [[file:data/meas_sr_geophone.zip][here]].
|
||||||
|
#+end_note
|
||||||
|
|
||||||
|
** Matlab Init :noexport:ignore:
|
||||||
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
|
<<matlab-dir>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none :results silent :noweb yes
|
||||||
|
<<matlab-init>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** First Measurement without LPF
|
** First Measurement without LPF
|
||||||
*** Measurement Description
|
*** Measurement Description
|
||||||
@ -502,11 +520,6 @@ Second column: Slip-ring measure
|
|||||||
- =data_012=: Slip-Ring OFF
|
- =data_012=: Slip-Ring OFF
|
||||||
- =data_013=: Slip-Ring ON
|
- =data_013=: Slip-Ring ON
|
||||||
|
|
||||||
*** Matlab Init :noexport:ignore:
|
|
||||||
#+begin_src matlab :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
|
||||||
<<matlab-init>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** Load data
|
*** Load data
|
||||||
We load the data of the z axis of two geophones.
|
We load the data of the z axis of two geophones.
|
||||||
#+begin_src matlab :results none
|
#+begin_src matlab :results none
|
||||||
@ -825,357 +838,3 @@ Finally, we compare the Amplitude Spectral Density of the signals (figure [[fig:
|
|||||||
- Using the LPF, we don't have any perturbation coming from the slip-ring when it is on.
|
- Using the LPF, we don't have any perturbation coming from the slip-ring when it is on.
|
||||||
- However, we should use a smaller value of the capacitor to have a cut-off frequency at $1kHz$.
|
- However, we should use a smaller value of the capacitor to have a cut-off frequency at $1kHz$.
|
||||||
#+end_important
|
#+end_important
|
||||||
|
|
||||||
* Measure of the influence of the AC/DC option on the voltage amplifiers
|
|
||||||
:PROPERTIES:
|
|
||||||
:header-args:matlab+: :tangle meas_noise_ac_dc.m
|
|
||||||
:header-args:matlab+: :comments org :mkdirp yes
|
|
||||||
:END:
|
|
||||||
|
|
||||||
#+begin_src bash :exports none :results none
|
|
||||||
if [ meas_noise_ac_dc.m -nt data/meas_noise_ac_dc.zip ]; then
|
|
||||||
zip data/meas_noise_ac_dc \
|
|
||||||
mat/data_012.mat \
|
|
||||||
mat/data_013.mat \
|
|
||||||
meas_noise_ac_dc.m
|
|
||||||
fi
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
The data and matlab files are accessible [[file:data/meas_noise_ac_dc.zip][here]].
|
|
||||||
|
|
||||||
** Measurement Description
|
|
||||||
*Goal*:
|
|
||||||
- Measure the influence of the high-pass filter option of the voltage amplifiers
|
|
||||||
|
|
||||||
*Setup*:
|
|
||||||
- One geophone is located on the marble.
|
|
||||||
- It's signal goes to two voltage amplifiers with a gain of 60dB.
|
|
||||||
- One voltage amplifier is on the AC option, the other is on the DC option.
|
|
||||||
|
|
||||||
*Measurements*:
|
|
||||||
First measurement (=mat/data_014.mat= file):
|
|
||||||
| Column | Signal |
|
|
||||||
|--------+----------------------------|
|
|
||||||
| 1 | Amplifier 1 with AC option |
|
|
||||||
| 2 | Amplifier 2 with DC option |
|
|
||||||
| 3 | Time |
|
|
||||||
|
|
||||||
Second measurement (=mat/data_015.mat= file):
|
|
||||||
| Column | Signal |
|
|
||||||
|--------+----------------------------|
|
|
||||||
| 1 | Amplifier 1 with DC option |
|
|
||||||
| 2 | Amplifier 2 with AC option |
|
|
||||||
| 3 | Time |
|
|
||||||
|
|
||||||
#+name: fig:volt_amp_setup
|
|
||||||
#+caption: Picture of the two voltages amplifiers
|
|
||||||
#+attr_html: :width 500px
|
|
||||||
[[file:./img/IMG_20190503_170936.jpg]]
|
|
||||||
|
|
||||||
** Matlab Init :noexport:ignore:
|
|
||||||
#+begin_src matlab :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
|
||||||
<<matlab-init>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Load data
|
|
||||||
We load the data of the z axis of two geophones.
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
meas14 = load('mat/data_014.mat', 'data'); meas14 = meas14.data;
|
|
||||||
meas15 = load('mat/data_015.mat', 'data'); meas15 = meas15.data;
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Time Domain
|
|
||||||
The signals are shown on figure [[fig:ac_dc_option_time]].
|
|
||||||
#+begin_src matlab :results none :exports none
|
|
||||||
figure;
|
|
||||||
hold on;
|
|
||||||
plot(meas14(:, 3), meas14(:, 1), 'DisplayName', 'Amp1 - AC');
|
|
||||||
plot(meas14(:, 3), meas14(:, 2), 'DisplayName', 'Amp2 - DC');
|
|
||||||
plot(meas15(:, 3), meas15(:, 1), 'DisplayName', 'Amp1 - DC');
|
|
||||||
plot(meas15(:, 3), meas15(:, 2), 'DisplayName', 'Amp2 - AC');
|
|
||||||
hold off;
|
|
||||||
legend('Location', 'bestoutside');
|
|
||||||
xlabel('Time [s]');
|
|
||||||
ylabel('Voltage [V]');
|
|
||||||
xlim([0, 100]);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+NAME: fig:ac_dc_option_time
|
|
||||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
||||||
#+begin_src matlab :var filepath="figs/ac_dc_option_time.pdf" :var figsize="full-normal" :post pdf2svg(file=*this*, ext="png")
|
|
||||||
<<plt-matlab>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+NAME: fig:ac_dc_option_time
|
|
||||||
#+CAPTION: Comparison of the signals going through the Voltage amplifiers
|
|
||||||
#+RESULTS: fig:ac_dc_option_time
|
|
||||||
[[file:figs/ac_dc_option_time.png]]
|
|
||||||
|
|
||||||
** Frequency Domain
|
|
||||||
We first compute some parameters that will be used for the PSD computation.
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
dt = meas14(2, 3)-meas14(1, 3);
|
|
||||||
|
|
||||||
Fs = 1/dt; % [Hz]
|
|
||||||
|
|
||||||
win = hanning(ceil(10*Fs));
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
Then we compute the Power Spectral Density using =pwelch= function.
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
[pxamp1ac, f] = pwelch(meas14(:, 1), win, [], [], Fs);
|
|
||||||
[pxamp2dc, ~] = pwelch(meas14(:, 2), win, [], [], Fs);
|
|
||||||
|
|
||||||
[pxamp1dc, ~] = pwelch(meas15(:, 1), win, [], [], Fs);
|
|
||||||
[pxamp2ac, ~] = pwelch(meas15(:, 2), win, [], [], Fs);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
The ASD of the signals are compare on figure [[fig:ac_dc_option_asd]].
|
|
||||||
#+begin_src matlab :results none :exports none
|
|
||||||
figure;
|
|
||||||
hold on;
|
|
||||||
plot(f, sqrt(pxamp1ac), 'DisplayName', 'Amp1 - AC');
|
|
||||||
plot(f, sqrt(pxamp2dc), 'DisplayName', 'Amp2 - DC');
|
|
||||||
plot(f, sqrt(pxamp1dc), 'DisplayName', 'Amp1 - DC');
|
|
||||||
plot(f, sqrt(pxamp2ac), 'DisplayName', 'Amp2 - AC');
|
|
||||||
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', 'northeast');
|
|
||||||
xlim([0.1, 500]);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+NAME: fig:ac_dc_option_asd
|
|
||||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
||||||
#+begin_src matlab :var filepath="figs/ac_dc_option_asd.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
|
||||||
<<plt-matlab>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+NAME: fig:ac_dc_option_asd
|
|
||||||
#+CAPTION: Amplitude Spectral Density of the measured signals
|
|
||||||
#+RESULTS: fig:ac_dc_option_asd
|
|
||||||
[[file:figs/ac_dc_option_asd.png]]
|
|
||||||
|
|
||||||
** Conclusion
|
|
||||||
#+begin_important
|
|
||||||
- The voltage amplifiers include some very sharp high pass filters at 1.5Hz (maybe 4th order)
|
|
||||||
- There is a DC offset on the time domain signal because the DC-offset knob was not set to zero
|
|
||||||
#+end_important
|
|
||||||
|
|
||||||
* Transfer function of the Low Pass Filter
|
|
||||||
:PROPERTIES:
|
|
||||||
:header-args:matlab+: :tangle low_pass_filter_measurements.m
|
|
||||||
:header-args:matlab+: :comments org :mkdirp yes
|
|
||||||
:END:
|
|
||||||
|
|
||||||
#+begin_src bash :exports none :results none
|
|
||||||
if [ low_pass_filter_measurements.m -nt data/low_pass_filter_measurements.zip ]; then
|
|
||||||
zip data/low_pass_filter_measurements \
|
|
||||||
mat/data_018.mat \
|
|
||||||
mat/data_019.mat \
|
|
||||||
low_pass_filter_measurements.m
|
|
||||||
fi
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
The computation files for this section are accessible [[file:data/low_pass_filter_measurements.zip][here]].
|
|
||||||
|
|
||||||
** First LPF with a Cut-off frequency of 160Hz
|
|
||||||
*** Measurement Description
|
|
||||||
*Goal*:
|
|
||||||
- Measure the Low Pass Filter Transfer Function
|
|
||||||
|
|
||||||
The values of the components are:
|
|
||||||
\begin{aligned}
|
|
||||||
R &= 1k\Omega \\
|
|
||||||
C &= 1\mu F
|
|
||||||
\end{aligned}
|
|
||||||
Which makes a cut-off frequency of $f_c = \frac{1}{RC} = 1000 rad/s = 160Hz$.
|
|
||||||
|
|
||||||
#+NAME: fig:lpf
|
|
||||||
#+HEADER: :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{$HOME/MEGA/These/LaTeX/}{config.tex}")
|
|
||||||
#+HEADER: :imagemagick t :fit yes :iminoptions -scale 100% -density 150 :imoutoptions -quality 100
|
|
||||||
#+HEADER: :results raw replace :buffer no :eval no-export :exports both :mkdirp yes
|
|
||||||
#+HEADER: :output-dir figs
|
|
||||||
#+begin_src latex :file lpf.pdf :post pdf2svg(file=*this*, ext="png") :exports both
|
|
||||||
\begin{tikzpicture}
|
|
||||||
\draw (0,2)
|
|
||||||
to [R=\(R\)] ++(2,0) node[circ]
|
|
||||||
to ++(2,0)
|
|
||||||
++(-2,0)
|
|
||||||
to [C=\(C\)] ++(0,-2) node[circ]
|
|
||||||
++(-2,0)
|
|
||||||
to ++(2,0)
|
|
||||||
to ++(2,0)
|
|
||||||
\end{tikzpicture}
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+NAME: fig:lpf
|
|
||||||
#+CAPTION: Schematic of the Low Pass Filter used
|
|
||||||
#+RESULTS: fig:lpf
|
|
||||||
[[file:figs/lpf.png]]
|
|
||||||
|
|
||||||
|
|
||||||
*Setup*:
|
|
||||||
- We are measuring the signal from from Geophone with a BNC T
|
|
||||||
- On part goes to column 1 through the LPF
|
|
||||||
- The other part goes to column 2 without the LPF
|
|
||||||
|
|
||||||
*Measurements*:
|
|
||||||
=mat/data_018.mat=:
|
|
||||||
| Column | Signal |
|
|
||||||
|--------+----------------------|
|
|
||||||
| 1 | Amplifier 1 with LPF |
|
|
||||||
| 2 | Amplifier 2 |
|
|
||||||
| 3 | Time |
|
|
||||||
|
|
||||||
#+name: fig:lpf_picture
|
|
||||||
#+caption: Picture of the low pass filter used
|
|
||||||
#+attr_html: :width 500px
|
|
||||||
[[file:./img/IMG_20190507_102756.jpg]]
|
|
||||||
|
|
||||||
*** Matlab Init :noexport:ignore:
|
|
||||||
#+begin_src matlab :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
|
||||||
<<matlab-init>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** Load data
|
|
||||||
We load the data of the z axis of two geophones.
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
data = load('mat/data_018.mat', 'data'); data = data.data;
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** Transfer function of the LPF
|
|
||||||
We compute the transfer function from the signal without the LPF to the signal measured with the LPF.
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
dt = data(2, 3)-data(1, 3);
|
|
||||||
|
|
||||||
Fs = 1/dt; % [Hz]
|
|
||||||
|
|
||||||
win = hanning(ceil(10*Fs));
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
[Glpf, f] = tfestimate(data(:, 2), data(:, 1), win, [], [], Fs);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
We compare this transfer function with a transfer function corresponding to an ideal first order LPF with a cut-off frequency of $1000rad/s$.
|
|
||||||
We obtain the result on figure [[fig:Glpf_bode]].
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
Gth = 1/(1+s/1000)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
figure;
|
|
||||||
ax1 = subplot(2, 1, 1);
|
|
||||||
hold on;
|
|
||||||
plot(f, abs(Glpf));
|
|
||||||
plot(f, abs(squeeze(freqresp(Gth, f, 'Hz'))));
|
|
||||||
hold off;
|
|
||||||
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
|
||||||
set(gca, 'XTickLabel',[]);
|
|
||||||
ylabel('Magnitude');
|
|
||||||
|
|
||||||
ax2 = subplot(2, 1, 2);
|
|
||||||
hold on;
|
|
||||||
plot(f, mod(180+180/pi*phase(Glpf), 360)-180);
|
|
||||||
plot(f, 180/pi*unwrap(angle(squeeze(freqresp(Gth, f, 'Hz')))));
|
|
||||||
hold off;
|
|
||||||
set(gca, 'xscale', 'log');
|
|
||||||
ylim([-180, 180]);
|
|
||||||
yticks([-180, -90, 0, 90, 180]);
|
|
||||||
xlabel('Frequency [Hz]'); ylabel('Phase');
|
|
||||||
|
|
||||||
linkaxes([ax1,ax2],'x');
|
|
||||||
xlim([1, 500]);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+NAME: fig:Glpf_bode
|
|
||||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
||||||
#+begin_src matlab :var filepath="figs/Glpf_bode.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
|
||||||
<<plt-matlab>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+NAME: fig:Glpf_bode
|
|
||||||
#+CAPTION: Bode Diagram of the measured Low Pass filter and the theoritical one
|
|
||||||
#+RESULTS: fig:Glpf_bode
|
|
||||||
[[file:figs/Glpf_bode.png]]
|
|
||||||
*** Conclusion
|
|
||||||
#+begin_important
|
|
||||||
As we want to measure things up to $500Hz$, we chose to change the value of the capacitor to obtain a cut-off frequency of $1kHz$.
|
|
||||||
#+end_important
|
|
||||||
|
|
||||||
** Second LPF with a Cut-off frequency of 1000Hz
|
|
||||||
*** Measurement description
|
|
||||||
This time, the value are
|
|
||||||
\begin{aligned}
|
|
||||||
R &= 1k\Omega \\
|
|
||||||
C &= 150nF
|
|
||||||
\end{aligned}
|
|
||||||
Which makes a low pass filter with a cut-off frequency of $f_c = 1060Hz$.
|
|
||||||
|
|
||||||
*** Load data
|
|
||||||
We load the data of the z axis of two geophones.
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
data = load('mat/data_019.mat', 'data'); data = data.data;
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** Transfer function of the LPF
|
|
||||||
We compute the transfer function from the signal without the LPF to the signal measured with the LPF.
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
dt = data(2, 3)-data(1, 3);
|
|
||||||
|
|
||||||
Fs = 1/dt; % [Hz]
|
|
||||||
|
|
||||||
win = hanning(ceil(10*Fs));
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
[Glpf, f] = tfestimate(data(:, 2), data(:, 1), win, [], [], Fs);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
We compare this transfer function with a transfer function corresponding to an ideal first order LPF with a cut-off frequency of $1060Hz$.
|
|
||||||
We obtain the result on figure [[fig:Glpf_bode_bis]].
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
Gth = 1/(1+s/1060/2/pi);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src matlab :results none
|
|
||||||
figure;
|
|
||||||
ax1 = subplot(2, 1, 1);
|
|
||||||
hold on;
|
|
||||||
plot(f, abs(Glpf));
|
|
||||||
plot(f, abs(squeeze(freqresp(Gth, f, 'Hz'))));
|
|
||||||
hold off;
|
|
||||||
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
|
||||||
set(gca, 'XTickLabel',[]);
|
|
||||||
ylabel('Magnitude');
|
|
||||||
|
|
||||||
ax2 = subplot(2, 1, 2);
|
|
||||||
hold on;
|
|
||||||
plot(f, mod(180+180/pi*phase(Glpf), 360)-180);
|
|
||||||
plot(f, 180/pi*unwrap(angle(squeeze(freqresp(Gth, f, 'Hz')))));
|
|
||||||
hold off;
|
|
||||||
set(gca, 'xscale', 'log');
|
|
||||||
ylim([-180, 180]);
|
|
||||||
yticks([-180, -90, 0, 90, 180]);
|
|
||||||
xlabel('Frequency [Hz]'); ylabel('Phase');
|
|
||||||
|
|
||||||
linkaxes([ax1,ax2],'x');
|
|
||||||
xlim([1, 500]);
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+NAME: fig:Glpf_bode_bis
|
|
||||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
||||||
#+begin_src matlab :var filepath="figs/Glpf_bode_bis.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
|
||||||
<<plt-matlab>>
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+NAME: fig:Glpf_bode_bis
|
|
||||||
#+CAPTION: Bode Diagram of the measured Low Pass filter and the theoritical one
|
|
||||||
#+RESULTS: fig:Glpf_bode_bis
|
|
||||||
[[file:figs/Glpf_bode_bis.png]]
|
|
||||||
*** Conclusion
|
|
||||||
#+begin_important
|
|
||||||
The added LPF has the expected behavior.
|
|
||||||
#+end_important
|
|
||||||
|
@ -1,101 +0,0 @@
|
|||||||
% Matlab Init :noexport:ignore:
|
|
||||||
|
|
||||||
clear; close all; clc;
|
|
||||||
|
|
||||||
%% Intialize Laplace variable
|
|
||||||
s = zpk('s');
|
|
||||||
|
|
||||||
%% Initialize ans with org-babel
|
|
||||||
ans = 0;
|
|
||||||
|
|
||||||
% Load data
|
|
||||||
% We load the data of the z axis of two geophones.
|
|
||||||
|
|
||||||
data = load('mat/data_018.mat', 'data'); data = data.data;
|
|
||||||
|
|
||||||
% Transfer function of the LPF
|
|
||||||
% We compute the transfer function from the signal without the LPF to the signal measured with the LPF.
|
|
||||||
|
|
||||||
dt = data(2, 3)-data(1, 3);
|
|
||||||
|
|
||||||
Fs = 1/dt; % [Hz]
|
|
||||||
|
|
||||||
win = hanning(ceil(10*Fs));
|
|
||||||
|
|
||||||
[Glpf, f] = tfestimate(data(:, 2), data(:, 1), win, [], [], Fs);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% We compare this transfer function with a transfer function corresponding to an ideal first order LPF with a cut-off frequency of $1000rad/s$.
|
|
||||||
% We obtain the result on figure [[fig:Glpf_bode]].
|
|
||||||
|
|
||||||
Gth = 1/(1+s/1000)
|
|
||||||
|
|
||||||
figure;
|
|
||||||
ax1 = subplot(2, 1, 1);
|
|
||||||
hold on;
|
|
||||||
plot(f, abs(Glpf));
|
|
||||||
plot(f, abs(squeeze(freqresp(Gth, f, 'Hz'))));
|
|
||||||
hold off;
|
|
||||||
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
|
||||||
set(gca, 'XTickLabel',[]);
|
|
||||||
ylabel('Magnitude');
|
|
||||||
|
|
||||||
ax2 = subplot(2, 1, 2);
|
|
||||||
hold on;
|
|
||||||
plot(f, mod(180+180/pi*phase(Glpf), 360)-180);
|
|
||||||
plot(f, 180/pi*unwrap(angle(squeeze(freqresp(Gth, f, 'Hz')))));
|
|
||||||
hold off;
|
|
||||||
set(gca, 'xscale', 'log');
|
|
||||||
ylim([-180, 180]);
|
|
||||||
yticks([-180, -90, 0, 90, 180]);
|
|
||||||
xlabel('Frequency [Hz]'); ylabel('Phase');
|
|
||||||
|
|
||||||
linkaxes([ax1,ax2],'x');
|
|
||||||
xlim([1, 500]);
|
|
||||||
|
|
||||||
% Load data
|
|
||||||
% We load the data of the z axis of two geophones.
|
|
||||||
|
|
||||||
data = load('mat/data_019.mat', 'data'); data = data.data;
|
|
||||||
|
|
||||||
% Transfer function of the LPF
|
|
||||||
% We compute the transfer function from the signal without the LPF to the signal measured with the LPF.
|
|
||||||
|
|
||||||
dt = data(2, 3)-data(1, 3);
|
|
||||||
|
|
||||||
Fs = 1/dt; % [Hz]
|
|
||||||
|
|
||||||
win = hanning(ceil(10*Fs));
|
|
||||||
|
|
||||||
[Glpf, f] = tfestimate(data(:, 2), data(:, 1), win, [], [], Fs);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% We compare this transfer function with a transfer function corresponding to an ideal first order LPF with a cut-off frequency of $1060Hz$.
|
|
||||||
% We obtain the result on figure [[fig:Glpf_bode_bis]].
|
|
||||||
|
|
||||||
Gth = 1/(1+s/1060/2/pi);
|
|
||||||
|
|
||||||
figure;
|
|
||||||
ax1 = subplot(2, 1, 1);
|
|
||||||
hold on;
|
|
||||||
plot(f, abs(Glpf));
|
|
||||||
plot(f, abs(squeeze(freqresp(Gth, f, 'Hz'))));
|
|
||||||
hold off;
|
|
||||||
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
|
||||||
set(gca, 'XTickLabel',[]);
|
|
||||||
ylabel('Magnitude');
|
|
||||||
|
|
||||||
ax2 = subplot(2, 1, 2);
|
|
||||||
hold on;
|
|
||||||
plot(f, mod(180+180/pi*phase(Glpf), 360)-180);
|
|
||||||
plot(f, 180/pi*unwrap(angle(squeeze(freqresp(Gth, f, 'Hz')))));
|
|
||||||
hold off;
|
|
||||||
set(gca, 'xscale', 'log');
|
|
||||||
ylim([-180, 180]);
|
|
||||||
yticks([-180, -90, 0, 90, 180]);
|
|
||||||
xlabel('Frequency [Hz]'); ylabel('Phase');
|
|
||||||
|
|
||||||
linkaxes([ax1,ax2],'x');
|
|
||||||
xlim([1, 500]);
|
|
@ -1,13 +1,12 @@
|
|||||||
% Matlab Init :noexport:ignore:
|
% Matlab Init :noexport:ignore:
|
||||||
|
|
||||||
|
current_dir='/home/thomas/MEGA/These/meas/slip-ring-test/';
|
||||||
|
%% Clear Workspace and Close figures
|
||||||
clear; close all; clc;
|
clear; close all; clc;
|
||||||
|
|
||||||
%% Intialize Laplace variable
|
%% Intialize Laplace variable
|
||||||
s = zpk('s');
|
s = zpk('s');
|
||||||
|
|
||||||
%% Initialize ans with org-babel
|
|
||||||
ans = 0;
|
|
||||||
|
|
||||||
% Load data
|
% Load data
|
||||||
% We load the data of the z axis of two geophones.
|
% We load the data of the z axis of two geophones.
|
||||||
|
|
@ -1,13 +1,12 @@
|
|||||||
% Matlab Init :noexport:ignore:
|
% Matlab Init :noexport:ignore:
|
||||||
|
|
||||||
|
current_dir='/home/thomas/MEGA/These/meas/slip-ring-test/';
|
||||||
|
%% Clear Workspace and Close figures
|
||||||
clear; close all; clc;
|
clear; close all; clc;
|
||||||
|
|
||||||
%% Intialize Laplace variable
|
%% Intialize Laplace variable
|
||||||
s = zpk('s');
|
s = zpk('s');
|
||||||
|
|
||||||
%% Initialize ans with org-babel
|
|
||||||
ans = 0;
|
|
||||||
|
|
||||||
% Load data
|
% Load data
|
||||||
% We load the data of the z axis of two geophones.
|
% We load the data of the z axis of two geophones.
|
||||||
|
|
57
slip-ring-test/matlab/meas_slip_ring_geophone.m
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
% Matlab Init :noexport:ignore:
|
||||||
|
|
||||||
|
current_dir='/home/thomas/MEGA/These/meas/slip-ring-test/';
|
||||||
|
%% Go to current Directory
|
||||||
|
cd(current_dir);
|
||||||
|
|
||||||
|
%% Initialize ans with org-babel
|
||||||
|
ans = 0;
|
||||||
|
|
||||||
|
%% Clear Workspace and Close figures
|
||||||
|
clear; close all; clc;
|
||||||
|
|
||||||
|
%% Intialize Laplace variable
|
||||||
|
s = zpk('s');
|
||||||
|
|
||||||
|
% Load data
|
||||||
|
% We load the data of the z axis of two geophones.
|
||||||
|
|
||||||
|
|
||||||
|
d8 = load('mat/data_018.mat', 'data'); d8 = d8.data;
|
||||||
|
d9 = load('mat/data_019.mat', 'data'); d9 = d9.data;
|
||||||
|
|
||||||
|
% Analysis - Time Domain
|
||||||
|
% First, we compare the time domain signals for the two experiments (figure [[fig:slipring_time]]).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
figure;
|
||||||
|
hold on;
|
||||||
|
plot(d9(:, 3), d9(:, 2), 'DisplayName', 'Slip-Ring');
|
||||||
|
plot(d8(:, 3), d8(:, 2), 'DisplayName', 'Wire');
|
||||||
|
hold off;
|
||||||
|
xlabel('Time [s]'); ylabel('Voltage [V]');
|
||||||
|
xlim([0, 50]);
|
||||||
|
legend('location', 'northeast');
|
||||||
|
|
||||||
|
% Analysis - Frequency Domain
|
||||||
|
% We then compute the Power Spectral Density of the two signals and we compare them (figure [[fig:slipring_asd]]).
|
||||||
|
|
||||||
|
dt = d8(2, 3) - d8(1, 3);
|
||||||
|
Fs = 1/dt;
|
||||||
|
|
||||||
|
win = hanning(ceil(1*Fs));
|
||||||
|
|
||||||
|
[pxx8, f] = pwelch(d8(:, 2), win, [], [], Fs);
|
||||||
|
[pxx9, ~] = pwelch(d9(:, 2), win, [], [], Fs);
|
||||||
|
|
||||||
|
figure;
|
||||||
|
hold on;
|
||||||
|
plot(f, sqrt(pxx9), 'DisplayName', 'Slip-Ring');
|
||||||
|
plot(f, sqrt(pxx8), 'DisplayName', 'Wire');
|
||||||
|
hold off;
|
||||||
|
set(gca, 'xscale', 'log');
|
||||||
|
set(gca, 'yscale', 'log');
|
||||||
|
xlabel('Frequency [Hz]'); ylabel('Amplitude Spectral Density $\left[\frac{V}{\sqrt{Hz}}\right]$')
|
||||||
|
xlim([1, 500]);
|
||||||
|
legend('Location', 'southwest');
|
@ -1,13 +1,12 @@
|
|||||||
% Matlab Init :noexport:ignore:
|
% Matlab Init :noexport:ignore:
|
||||||
|
|
||||||
|
current_dir='/home/thomas/MEGA/These/meas/slip-ring-test/';
|
||||||
|
%% Clear Workspace and Close figures
|
||||||
clear; close all; clc;
|
clear; close all; clc;
|
||||||
|
|
||||||
%% Intialize Laplace variable
|
%% Intialize Laplace variable
|
||||||
s = zpk('s');
|
s = zpk('s');
|
||||||
|
|
||||||
%% Initialize ans with org-babel
|
|
||||||
ans = 0;
|
|
||||||
|
|
||||||
% Load data
|
% Load data
|
||||||
% We load the data of the z axis of two geophones.
|
% We load the data of the z axis of two geophones.
|
||||||
|
|
@ -1,66 +0,0 @@
|
|||||||
% Matlab Init :noexport:ignore:
|
|
||||||
|
|
||||||
clear; close all; clc;
|
|
||||||
|
|
||||||
%% Intialize Laplace variable
|
|
||||||
s = zpk('s');
|
|
||||||
|
|
||||||
%% Initialize ans with org-babel
|
|
||||||
ans = 0;
|
|
||||||
|
|
||||||
% Load data
|
|
||||||
% We load the data of the z axis of two geophones.
|
|
||||||
|
|
||||||
meas14 = load('mat/data_014.mat', 'data'); meas14 = meas14.data;
|
|
||||||
meas15 = load('mat/data_015.mat', 'data'); meas15 = meas15.data;
|
|
||||||
|
|
||||||
% Time Domain
|
|
||||||
% The signals are shown on figure [[fig:ac_dc_option_time]].
|
|
||||||
|
|
||||||
figure;
|
|
||||||
hold on;
|
|
||||||
plot(meas14(:, 3), meas14(:, 1), 'DisplayName', 'Amp1 - AC');
|
|
||||||
plot(meas14(:, 3), meas14(:, 2), 'DisplayName', 'Amp2 - DC');
|
|
||||||
plot(meas15(:, 3), meas15(:, 1), 'DisplayName', 'Amp1 - DC');
|
|
||||||
plot(meas15(:, 3), meas15(:, 2), 'DisplayName', 'Amp2 - AC');
|
|
||||||
hold off;
|
|
||||||
legend('Location', 'bestoutside');
|
|
||||||
xlabel('Time [s]');
|
|
||||||
ylabel('Voltage [V]');
|
|
||||||
xlim([0, 100]);
|
|
||||||
|
|
||||||
% Frequency Domain
|
|
||||||
% We first compute some parameters that will be used for the PSD computation.
|
|
||||||
|
|
||||||
dt = meas14(2, 3)-meas14(1, 3);
|
|
||||||
|
|
||||||
Fs = 1/dt; % [Hz]
|
|
||||||
|
|
||||||
win = hanning(ceil(10*Fs));
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% Then we compute the Power Spectral Density using =pwelch= function.
|
|
||||||
|
|
||||||
[pxamp1ac, f] = pwelch(meas14(:, 1), win, [], [], Fs);
|
|
||||||
[pxamp2dc, ~] = pwelch(meas14(:, 2), win, [], [], Fs);
|
|
||||||
|
|
||||||
[pxamp1dc, ~] = pwelch(meas15(:, 1), win, [], [], Fs);
|
|
||||||
[pxamp2ac, ~] = pwelch(meas15(:, 2), win, [], [], Fs);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% The ASD of the signals are compare on figure [[fig:ac_dc_option_asd]].
|
|
||||||
|
|
||||||
figure;
|
|
||||||
hold on;
|
|
||||||
plot(f, sqrt(pxamp1ac), 'DisplayName', 'Amp1 - AC');
|
|
||||||
plot(f, sqrt(pxamp2dc), 'DisplayName', 'Amp2 - DC');
|
|
||||||
plot(f, sqrt(pxamp1dc), 'DisplayName', 'Amp1 - DC');
|
|
||||||
plot(f, sqrt(pxamp2ac), 'DisplayName', 'Amp2 - AC');
|
|
||||||
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', 'northeast');
|
|
||||||
xlim([0.1, 500]);
|
|
@ -1,74 +0,0 @@
|
|||||||
% Matlab Init :noexport:ignore:
|
|
||||||
|
|
||||||
clear; close all; clc;
|
|
||||||
|
|
||||||
%% Intialize Laplace variable
|
|
||||||
s = zpk('s');
|
|
||||||
|
|
||||||
%% Initialize ans with org-babel
|
|
||||||
ans = 0;
|
|
||||||
|
|
||||||
% Load data
|
|
||||||
|
|
||||||
amp_off = load('mat/data_003.mat', 'data'); amp_off = amp_off.data(:, [1,3]);
|
|
||||||
amp_20d = load('mat/data_004.mat', 'data'); amp_20d = amp_20d.data(:, [1,3]);
|
|
||||||
amp_40d = load('mat/data_005.mat', 'data'); amp_40d = amp_40d.data(:, [1,3]);
|
|
||||||
amp_60d = load('mat/data_006.mat', 'data'); amp_60d = amp_60d.data(:, [1,3]);
|
|
||||||
|
|
||||||
% Time Domain
|
|
||||||
% The time domain signals are shown on figure [[fig:ampli_noise_time]].
|
|
||||||
|
|
||||||
|
|
||||||
figure;
|
|
||||||
hold on;
|
|
||||||
plot(amp_off(:, 2), amp_off(:, 1), 'DisplayName', 'OFF');
|
|
||||||
plot(amp_20d(:, 2), amp_20d(:, 1), 'DisplayName', '20dB');
|
|
||||||
plot(amp_40d(:, 2), amp_40d(:, 1), 'DisplayName', '40dB');
|
|
||||||
plot(amp_60d(:, 2), amp_60d(:, 1), 'DisplayName', '60dB');
|
|
||||||
hold off;
|
|
||||||
legend('Location', 'northeast');
|
|
||||||
xlabel('Time [s]');
|
|
||||||
ylabel('Voltage [V]');
|
|
||||||
|
|
||||||
% Frequency Domain
|
|
||||||
% We first compute some parameters that will be used for the PSD computation.
|
|
||||||
|
|
||||||
dt = amp_off(2, 2)-amp_off(1, 2);
|
|
||||||
|
|
||||||
Fs = 1/dt; % [Hz]
|
|
||||||
|
|
||||||
win = hanning(ceil(10*Fs));
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% Then we compute the Power Spectral Density using =pwelch= function.
|
|
||||||
|
|
||||||
[pxoff, f] = pwelch(amp_off(:,1), win, [], [], Fs);
|
|
||||||
[px20d, ~] = pwelch(amp_20d(:,1), win, [], [], Fs);
|
|
||||||
[px40d, ~] = pwelch(amp_40d(:,1), win, [], [], Fs);
|
|
||||||
[px60d, ~] = pwelch(amp_60d(:,1), win, [], [], Fs);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% We compute the theoretical ADC noise.
|
|
||||||
|
|
||||||
q = 20/2^16; % quantization
|
|
||||||
Sq = q^2/12/1000; % PSD of the ADC noise
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% Finally, the ASD is shown on figure [[fig:ampli_noise_psd]].
|
|
||||||
|
|
||||||
figure;
|
|
||||||
hold on;
|
|
||||||
plot(f, sqrt(pxoff), 'DisplayName', 'OFF');
|
|
||||||
plot(f, sqrt(px20d), 'DisplayName', '20dB');
|
|
||||||
plot(f, sqrt(px40d), 'DisplayName', '40dB');
|
|
||||||
plot(f, sqrt(px60d), 'DisplayName', '60dB');
|
|
||||||
plot([0.1, 500], [sqrt(Sq), sqrt(Sq)], 'k--');
|
|
||||||
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', 'northeast');
|
|
||||||
xlim([0.1, 500]);
|
|
@ -1,54 +0,0 @@
|
|||||||
%%
|
|
||||||
Tsim = 100; % [s]
|
|
||||||
|
|
||||||
%%
|
|
||||||
tg = slrt;
|
|
||||||
|
|
||||||
%% TODO - Build this application if updated
|
|
||||||
|
|
||||||
%%
|
|
||||||
if tg.Connected == "Yes"
|
|
||||||
if tg.Status == "running"
|
|
||||||
disp('Target is Running, Stopping...');
|
|
||||||
tg.stop;
|
|
||||||
while tg.Status == "running"
|
|
||||||
pause(1);
|
|
||||||
end
|
|
||||||
disp('Target is Stopped');
|
|
||||||
end
|
|
||||||
if tg.Status == "stopped"
|
|
||||||
disp('Load the Application');
|
|
||||||
tg.load('slip_ring_test');
|
|
||||||
|
|
||||||
%% Run the application
|
|
||||||
disp('Starting the Application');
|
|
||||||
tg.start;
|
|
||||||
pause(Tsim);
|
|
||||||
tg.stop;
|
|
||||||
end
|
|
||||||
else
|
|
||||||
error("The target computer is not connected");
|
|
||||||
end
|
|
||||||
|
|
||||||
%%
|
|
||||||
f = SimulinkRealTime.openFTP(tg);
|
|
||||||
cd(f, 'data/slip_ring_test/');
|
|
||||||
mget(f, 'data_001.dat', 'data');
|
|
||||||
close(f);
|
|
||||||
|
|
||||||
%%
|
|
||||||
data = SimulinkRealTime.utils.getFileScopeData('data/data_001.dat').data;
|
|
||||||
|
|
||||||
%%
|
|
||||||
n = 19;
|
|
||||||
|
|
||||||
while isfile(['mat/data_', num2str(n, '%03d'), '.mat'])
|
|
||||||
disp('File exists.');
|
|
||||||
if input(['Are you sure you want to override the file ', 'mat/data_', ...
|
|
||||||
num2str(n, '%03d'), '.mat', ' ? [Y/n]']) == 'Y'
|
|
||||||
break;
|
|
||||||
end
|
|
||||||
n = input('What should be the measurement number?');
|
|
||||||
end
|
|
||||||
|
|
||||||
save(['mat/data_', num2str(n, '%03d'), '.mat'], 'data');
|
|
@ -1,7 +0,0 @@
|
|||||||
|
|
||||||
%%
|
|
||||||
% tg = slrt;
|
|
||||||
% f = SimulinkRealTime.openFTP(tg);
|
|
||||||
% cd(f, 'data/');
|
|
||||||
% mkdir(f, 'disturbance-measurement');
|
|
||||||
% close(f);
|
|
@ -78,9 +78,3 @@ Then, the =f= object can be used to access the filesystem on the target computer
|
|||||||
|
|
||||||
* ELMO
|
* ELMO
|
||||||
tutorials: https://www.elmomc.com/products/application-studio/easii/easii-tutorials/
|
tutorials: https://www.elmomc.com/products/application-studio/easii/easii-tutorials/
|
||||||
* Low Pass Filter
|
|
||||||
|
|
||||||
R = 1KOhm
|
|
||||||
C = 1muF
|
|
||||||
|
|
||||||
Fc = 1kHz
|
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 77 KiB |
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |