[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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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,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 |
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 65 KiB |
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |