Move to matlab folder / tangle / list of sections

This commit is contained in:
Thomas Dehaeze 2020-11-10 12:51:54 +01:00
parent bb51a528c5
commit 7a174b630f
12 changed files with 503 additions and 97 deletions

View File

@ -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>
<!-- 2020-11-10 mar. 10:21 --> <!-- 2020-11-10 mar. 12:50 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Attocube - Test Bench</title> <title>Attocube - Test Bench</title>
<meta name="generator" content="Org mode" /> <meta name="generator" content="Org mode" />
@ -34,73 +34,84 @@
<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="#org904a034">1. Estimation of the Spectral Density of the Attocube Noise</a> <li><a href="#orgd8ce409">1. Estimation of the Spectral Density of the Attocube Noise</a>
<ul> <ul>
<li><a href="#org82d6608">1.1. Long and Slow measurement</a></li> <li><a href="#org78cd963">1.1. Long and Slow measurement</a></li>
<li><a href="#org3c3c1f8">1.2. Short and Fast measurement</a></li> <li><a href="#org46eb0d4">1.2. Short and Fast measurement</a></li>
<li><a href="#orgcaa0ccd">1.3. Obtained Amplitude Spectral Density of the measured displacement</a></li> <li><a href="#org3de4174">1.3. Obtained Amplitude Spectral Density of the measured displacement</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org1b2ca10">2. Effect of the &ldquo;bubble sheet&rdquo; and &ldquo;Aluminium tube&rdquo;</a> <li><a href="#orga823efb">2. Effect of the &ldquo;bubble sheet&rdquo; and &ldquo;Aluminium tube&rdquo;</a>
<ul> <ul>
<li><a href="#orgecd70c2">2.1. Aluminium Tube and Bubble Sheet</a></li> <li><a href="#orga7204eb">2.1. Aluminium Tube and Bubble Sheet</a></li>
<li><a href="#orgc9ed213">2.2. Only Aluminium Tube</a></li> <li><a href="#org15d9822">2.2. Only Aluminium Tube</a></li>
<li><a href="#org8e5170d">2.3. Nothing</a></li> <li><a href="#org2f5206b">2.3. Nothing</a></li>
<li><a href="#org38a78d3">2.4. Comparison</a></li> <li><a href="#orge439118">2.4. Comparison</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org2ece93a">3. Measurement of the Attocube&rsquo;s non-linearity</a> <li><a href="#org025397b">3. Measurement of the Attocube&rsquo;s non-linearity</a>
<ul> <ul>
<li><a href="#org224e296">3.1. Load Data</a></li> <li><a href="#org01e947d">3.1. Load Data</a></li>
<li><a href="#org587ad8c">3.2. Time Domain Results</a></li> <li><a href="#org32a4e2c">3.2. Time Domain Results</a></li>
<li><a href="#orgbc1a5af">3.3. Difference between Encoder and Interferometer as a function of time</a></li> <li><a href="#org5be7e09">3.3. Difference between Encoder and Interferometer as a function of time</a></li>
<li><a href="#org50e2719">3.4. Difference between Encoder and Interferometer as a function of position</a></li> <li><a href="#org75b2a6d">3.4. Difference between Encoder and Interferometer as a function of position</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-org904a034" class="outline-2"> <p>
<h2 id="org904a034"><span class="section-number-2">1</span> Estimation of the Spectral Density of the Attocube Noise</h2> In this document, few caracteristics of the Attocube Displacement Measuring Interferometer IDS3010 (<a href="https://www.attocube.com/en/products/laser-displacement-sensor/displacement-measuring-interferometer">link</a>) are studied:
</p>
<ul class="org-ul">
<li>Section <a href="#org9419f0e">1</a>: the ASD noise of the measured displacement is estimated</li>
<li>Section <a href="#org7cc1f65">2</a>: the effect of two air protections on the stability of the measurement is studied</li>
<li>Section <a href="#org382d51d">3</a>: the cyclic non-linearity of the attocube is estimated using a encoder</li>
</ul>
<div id="outline-container-orgd8ce409" class="outline-2">
<h2 id="orgd8ce409"><span class="section-number-2">1</span> Estimation of the Spectral Density of the Attocube Noise</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<p>
<a id="org9419f0e"></a>
</p>
<div id="org95807e5" class="figure"> <div id="orge10425f" class="figure">
<p><img src="figs/test-bench-schematic.png" alt="test-bench-schematic.png" /> <p><img src="figs/test-bench-schematic.png" alt="test-bench-schematic.png" />
</p> </p>
<p><span class="figure-number">Figure 1: </span>Test Bench Schematic</p> <p><span class="figure-number">Figure 1: </span>Test Bench Schematic</p>
</div> </div>
<div id="org7768f2f" class="figure"> <div id="orgac54f33" class="figure">
<p><img src="figs/IMG-7865.JPG" alt="IMG-7865.JPG" /> <p><img src="figs/IMG-7865.JPG" alt="IMG-7865.JPG" />
</p> </p>
<p><span class="figure-number">Figure 2: </span>Picture of the test bench. The Attocube and mirror are covered by a &ldquo;bubble sheet&rdquo;</p> <p><span class="figure-number">Figure 2: </span>Picture of the test bench. The Attocube and mirror are covered by a &ldquo;bubble sheet&rdquo;</p>
</div> </div>
</div> </div>
<div id="outline-container-org78cd963" class="outline-3">
<div id="outline-container-org82d6608" class="outline-3"> <h3 id="org78cd963"><span class="section-number-3">1.1</span> Long and Slow measurement</h3>
<h3 id="org82d6608"><span class="section-number-3">1.1</span> Long and Slow measurement</h3>
<div class="outline-text-3" id="text-1-1"> <div class="outline-text-3" id="text-1-1">
<p> <p>
The first measurement was made during ~17 hours with a sampling time of \(T_s = 0.1\,s\). The first measurement was made during ~17 hours with a sampling time of \(T_s = 0.1\,s\).
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'./mat/long_test_plastic.mat'</span>, <span class="org-string">'x'</span>, <span class="org-string">'t'</span>) <pre class="src src-matlab">load(<span class="org-string">'long_test_plastic.mat'</span>, <span class="org-string">'x'</span>, <span class="org-string">'t'</span>)
Ts = 0.1; <span class="org-comment">% [s]</span> Ts = 0.1; <span class="org-comment">% [s]</span>
</pre> </pre>
</div> </div>
<div id="orgcfab522" class="figure"> <div id="org3a063a4" class="figure">
<p><img src="figs/long_meas_time_domain_full.png" alt="long_meas_time_domain_full.png" /> <p><img src="figs/long_meas_time_domain_full.png" alt="long_meas_time_domain_full.png" />
</p> </p>
<p><span class="figure-number">Figure 3: </span>Long measurement time domain data</p> <p><span class="figure-number">Figure 3: </span>Long measurement time domain data</p>
</div> </div>
<p> <p>
Let&rsquo;s fit the data with a step response to a first order low pass filter (Figure <a href="#org3c0ac65">4</a>). Let&rsquo;s fit the data with a step response to a first order low pass filter (Figure <a href="#org3619821">4</a>).
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
@ -124,17 +135,17 @@ The corresponding time constant is (in [h]):
<div id="org3c0ac65" class="figure"> <div id="org3619821" class="figure">
<p><img src="figs/long_meas_time_domain_fit.png" alt="long_meas_time_domain_fit.png" /> <p><img src="figs/long_meas_time_domain_fit.png" alt="long_meas_time_domain_fit.png" />
</p> </p>
<p><span class="figure-number">Figure 4: </span>Fit of the measurement data with a step response of a first order low pass filter</p> <p><span class="figure-number">Figure 4: </span>Fit of the measurement data with a step response of a first order low pass filter</p>
</div> </div>
<p> <p>
We can see in Figure <a href="#orgcfab522">3</a> that there is a transient period where the measured displacement experiences some drifts. We can see in Figure <a href="#org3a063a4">3</a> that there is a transient period where the measured displacement experiences some drifts.
This is probably due to thermal effects. This is probably due to thermal effects.
We only select the data between <code>t1</code> and <code>t2</code>. We only select the data between <code>t1</code> and <code>t2</code>.
The obtained displacement is shown in Figure <a href="#orgfb35792">5</a>. The obtained displacement is shown in Figure <a href="#org0516899">5</a>.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
@ -148,7 +159,7 @@ t = t <span class="org-type">-</span> t(1);
</div> </div>
<div id="orgfb35792" class="figure"> <div id="org0516899" class="figure">
<p><img src="figs/long_meas_time_domain_zoom.png" alt="long_meas_time_domain_zoom.png" /> <p><img src="figs/long_meas_time_domain_zoom.png" alt="long_meas_time_domain_zoom.png" />
</p> </p>
<p><span class="figure-number">Figure 5: </span>Kept data (removed slow drifts during the first hours)</p> <p><span class="figure-number">Figure 5: </span>Kept data (removed slow drifts during the first hours)</p>
@ -183,8 +194,8 @@ f_1 = f_1(f_1 <span class="org-type">&lt;</span> 2);
</div> </div>
</div> </div>
<div id="outline-container-org3c3c1f8" class="outline-3"> <div id="outline-container-org46eb0d4" class="outline-3">
<h3 id="org3c3c1f8"><span class="section-number-3">1.2</span> Short and Fast measurement</h3> <h3 id="org46eb0d4"><span class="section-number-3">1.2</span> Short and Fast measurement</h3>
<div class="outline-text-3" id="text-1-2"> <div class="outline-text-3" id="text-1-2">
<p> <p>
An second measurement is done in order to estimate the high frequency noise of the interferometer. An second measurement is done in order to estimate the high frequency noise of the interferometer.
@ -192,7 +203,7 @@ The measurement is done with a sampling time of \(T_s = 0.1\,ms\) and a duration
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'./mat/short_test_plastic.mat'</span>) <pre class="src src-matlab">load(<span class="org-string">'short_test_plastic.mat'</span>)
Ts = 1e<span class="org-type">-</span>4; <span class="org-comment">% [s]</span> Ts = 1e<span class="org-type">-</span>4; <span class="org-comment">% [s]</span>
</pre> </pre>
</div> </div>
@ -203,11 +214,11 @@ Ts = 1e<span class="org-type">-</span>4; <span class="org-comment">% [s]</span>
</div> </div>
<p> <p>
The time domain measurement is shown in Figure <a href="#org526dbb8">6</a>. The time domain measurement is shown in Figure <a href="#orgf3ce8f9">6</a>.
</p> </p>
<div id="org526dbb8" class="figure"> <div id="orgf3ce8f9" class="figure">
<p><img src="figs/short_meas_time_domain.png" alt="short_meas_time_domain.png" /> <p><img src="figs/short_meas_time_domain.png" alt="short_meas_time_domain.png" />
</p> </p>
<p><span class="figure-number">Figure 6: </span>Time domain measurement with the high sampling rate</p> <p><span class="figure-number">Figure 6: </span>Time domain measurement with the high sampling rate</p>
@ -224,15 +235,15 @@ The Power Spectral Density of the measured displacement is computed
</div> </div>
</div> </div>
<div id="outline-container-orgcaa0ccd" class="outline-3"> <div id="outline-container-org3de4174" class="outline-3">
<h3 id="orgcaa0ccd"><span class="section-number-3">1.3</span> Obtained Amplitude Spectral Density of the measured displacement</h3> <h3 id="org3de4174"><span class="section-number-3">1.3</span> Obtained Amplitude Spectral Density of the measured displacement</h3>
<div class="outline-text-3" id="text-1-3"> <div class="outline-text-3" id="text-1-3">
<p> <p>
The computed ASD of the two measurements are combined in Figure <a href="#orgcd7a108">7</a>. The computed ASD of the two measurements are combined in Figure <a href="#orgcff33dc">7</a>.
</p> </p>
<div id="orgcd7a108" class="figure"> <div id="orgcff33dc" class="figure">
<p><img src="figs/psd_combined.png" alt="psd_combined.png" /> <p><img src="figs/psd_combined.png" alt="psd_combined.png" />
</p> </p>
<p><span class="figure-number">Figure 7: </span>Obtained Amplitude Spectral Density of the measured displacement</p> <p><span class="figure-number">Figure 7: </span>Obtained Amplitude Spectral Density of the measured displacement</p>
@ -241,22 +252,24 @@ The computed ASD of the two measurements are combined in Figure <a href="#orgcd7
</div> </div>
</div> </div>
<div id="outline-container-org1b2ca10" class="outline-2"> <div id="outline-container-orga823efb" class="outline-2">
<h2 id="org1b2ca10"><span class="section-number-2">2</span> Effect of the &ldquo;bubble sheet&rdquo; and &ldquo;Aluminium tube&rdquo;</h2> <h2 id="orga823efb"><span class="section-number-2">2</span> Effect of the &ldquo;bubble sheet&rdquo; and &ldquo;Aluminium tube&rdquo;</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
<p>
<a id="org7cc1f65"></a>
</p>
<div id="orgcda5fc5" class="figure"> <div id="org54f25e9" class="figure">
<p><img src="figs/IMG-7864.JPG" alt="IMG-7864.JPG" /> <p><img src="figs/IMG-7864.JPG" alt="IMG-7864.JPG" />
</p> </p>
<p><span class="figure-number">Figure 8: </span>Aluminium tube used to protect the beam path from disturbances</p> <p><span class="figure-number">Figure 8: </span>Aluminium tube used to protect the beam path from disturbances</p>
</div> </div>
</div> </div>
<div id="outline-container-orga7204eb" class="outline-3">
<div id="outline-container-orgecd70c2" class="outline-3"> <h3 id="orga7204eb"><span class="section-number-3">2.1</span> Aluminium Tube and Bubble Sheet</h3>
<h3 id="orgecd70c2"><span class="section-number-3">2.1</span> Aluminium Tube and Bubble Sheet</h3>
<div class="outline-text-3" id="text-2-1"> <div class="outline-text-3" id="text-2-1">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'./mat/short_test_plastic.mat'</span>); <pre class="src src-matlab">load(<span class="org-string">'short_test_plastic.mat'</span>);
Ts = 1e<span class="org-type">-</span>4; <span class="org-comment">% [s]</span> Ts = 1e<span class="org-type">-</span>4; <span class="org-comment">% [s]</span>
</pre> </pre>
</div> </div>
@ -274,11 +287,11 @@ Ts = 1e<span class="org-type">-</span>4; <span class="org-comment">% [s]</span>
</div> </div>
</div> </div>
<div id="outline-container-orgc9ed213" class="outline-3"> <div id="outline-container-org15d9822" class="outline-3">
<h3 id="orgc9ed213"><span class="section-number-3">2.2</span> Only Aluminium Tube</h3> <h3 id="org15d9822"><span class="section-number-3">2.2</span> Only Aluminium Tube</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">load(<span class="org-string">'./mat/short_test_alu_tube.mat'</span>); <pre class="src src-matlab">load(<span class="org-string">'short_test_alu_tube.mat'</span>);
Ts = 1e<span class="org-type">-</span>4; <span class="org-comment">% [s]</span> Ts = 1e<span class="org-type">-</span>4; <span class="org-comment">% [s]</span>
</pre> </pre>
</div> </div>
@ -289,7 +302,7 @@ Ts = 1e<span class="org-type">-</span>4; <span class="org-comment">% [s]</span>
</div> </div>
<p> <p>
The time domain measurement is shown in Figure <a href="#org526dbb8">6</a>. The time domain measurement is shown in Figure <a href="#orgf3ce8f9">6</a>.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">win = hann(ceil(length(x)<span class="org-type">/</span>10)); <pre class="src src-matlab">win = hann(ceil(length(x)<span class="org-type">/</span>10));
@ -299,11 +312,11 @@ The time domain measurement is shown in Figure <a href="#org526dbb8">6</a>.
</div> </div>
</div> </div>
<div id="outline-container-org8e5170d" class="outline-3"> <div id="outline-container-org2f5206b" class="outline-3">
<h3 id="org8e5170d"><span class="section-number-3">2.3</span> Nothing</h3> <h3 id="org2f5206b"><span class="section-number-3">2.3</span> Nothing</h3>
<div class="outline-text-3" id="text-2-3"> <div class="outline-text-3" id="text-2-3">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'./mat/short_test_without_material.mat'</span>); <pre class="src src-matlab">load(<span class="org-string">'short_test_without_material.mat'</span>);
Ts = 1e<span class="org-type">-</span>4; <span class="org-comment">% [s]</span> Ts = 1e<span class="org-type">-</span>4; <span class="org-comment">% [s]</span>
</pre> </pre>
</div> </div>
@ -314,7 +327,7 @@ Ts = 1e<span class="org-type">-</span>4; <span class="org-comment">% [s]</span>
</div> </div>
<p> <p>
The time domain measurement is shown in Figure <a href="#org526dbb8">6</a>. The time domain measurement is shown in Figure <a href="#orgf3ce8f9">6</a>.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">win = hann(ceil(length(x)<span class="org-type">/</span>10)); <pre class="src src-matlab">win = hann(ceil(length(x)<span class="org-type">/</span>10));
@ -324,11 +337,11 @@ The time domain measurement is shown in Figure <a href="#org526dbb8">6</a>.
</div> </div>
</div> </div>
<div id="outline-container-org38a78d3" class="outline-3"> <div id="outline-container-orge439118" class="outline-3">
<h3 id="org38a78d3"><span class="section-number-3">2.4</span> Comparison</h3> <h3 id="orge439118"><span class="section-number-3">2.4</span> Comparison</h3>
<div class="outline-text-3" id="text-2-4"> <div class="outline-text-3" id="text-2-4">
<div id="orgda221c2" class="figure"> <div id="org3d446e2" class="figure">
<p><img src="figs/asd_noise_comp_bubble_aluminium.png" alt="asd_noise_comp_bubble_aluminium.png" /> <p><img src="figs/asd_noise_comp_bubble_aluminium.png" alt="asd_noise_comp_bubble_aluminium.png" />
</p> </p>
<p><span class="figure-number">Figure 9: </span>Comparison of the noise ASD with and without bubble sheet</p> <p><span class="figure-number">Figure 9: </span>Comparison of the noise ASD with and without bubble sheet</p>
@ -337,14 +350,17 @@ The time domain measurement is shown in Figure <a href="#org526dbb8">6</a>.
</div> </div>
</div> </div>
<div id="outline-container-org2ece93a" class="outline-2"> <div id="outline-container-org025397b" class="outline-2">
<h2 id="org2ece93a"><span class="section-number-2">3</span> Measurement of the Attocube&rsquo;s non-linearity</h2> <h2 id="org025397b"><span class="section-number-2">3</span> Measurement of the Attocube&rsquo;s non-linearity</h2>
<div class="outline-text-2" id="text-3"> <div class="outline-text-2" id="text-3">
<p> <p>
The measurement setup is shown in Figure <a href="#org7db5634">10</a>. <a id="org382d51d"></a>
</p>
<p>
The measurement setup is shown in Figure <a href="#orgce1d646">10</a>.
</p> </p>
<div class="note" id="org292fd7d"> <div class="note" id="orgc9bc822">
<p> <p>
Here are the equipment used in the test bench: Here are the equipment used in the test bench:
</p> </p>
@ -359,7 +375,7 @@ Here are the equipment used in the test bench:
</div> </div>
<div id="org7db5634" class="figure"> <div id="orgce1d646" class="figure">
<p><img src="figs/exp_setup_schematic.png" alt="exp_setup_schematic.png" /> <p><img src="figs/exp_setup_schematic.png" alt="exp_setup_schematic.png" />
</p> </p>
<p><span class="figure-number">Figure 10: </span>Schematic of the Experiment</p> <p><span class="figure-number">Figure 10: </span>Schematic of the Experiment</p>
@ -374,16 +390,15 @@ The encoder and the attocube are measure ring the same motion.
As will be shown shortly, this measurement permitted to measure the period non-linearity of the Attocube. As will be shown shortly, this measurement permitted to measure the period non-linearity of the Attocube.
</p> </p>
</div> </div>
<div id="outline-container-org01e947d" class="outline-3">
<div id="outline-container-org224e296" class="outline-3"> <h3 id="org01e947d"><span class="section-number-3">3.1</span> Load Data</h3>
<h3 id="org224e296"><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>
The measurement data are loaded and the offset are removed using the <code>detrend</code> command. The measurement data are loaded and the offset are removed using the <code>detrend</code> command.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'mat/int_enc_comp.mat'</span>, <span class="org-string">'interferometer'</span>, <span class="org-string">'encoder'</span>, <span class="org-string">'u'</span>, <span class="org-string">'t'</span>); <pre class="src src-matlab">load(<span class="org-string">'int_enc_comp.mat'</span>, <span class="org-string">'interferometer'</span>, <span class="org-string">'encoder'</span>, <span class="org-string">'u'</span>, <span class="org-string">'t'</span>);
Ts = 1e<span class="org-type">-</span>4; <span class="org-comment">% Sampling Time [s]</span> Ts = 1e<span class="org-type">-</span>4; <span class="org-comment">% Sampling Time [s]</span>
</pre> </pre>
</div> </div>
@ -397,11 +412,11 @@ u = detrend(u, 0);
</div> </div>
</div> </div>
<div id="outline-container-org587ad8c" class="outline-3"> <div id="outline-container-org32a4e2c" class="outline-3">
<h3 id="org587ad8c"><span class="section-number-3">3.2</span> Time Domain Results</h3> <h3 id="org32a4e2c"><span class="section-number-3">3.2</span> Time Domain Results</h3>
<div class="outline-text-3" id="text-3-2"> <div class="outline-text-3" id="text-3-2">
<p> <p>
One period of the displacement of the mass as measured by the encoder and interferometer are shown in Figure <a href="#org5cfca4b">11</a>. One period of the displacement of the mass as measured by the encoder and interferometer are shown in Figure <a href="#org0f33cd3">11</a>.
It consist of the sinusoidal motion at 0.5Hz with an amplitude of approximately \(70\mu m\). It consist of the sinusoidal motion at 0.5Hz with an amplitude of approximately \(70\mu m\).
</p> </p>
@ -411,18 +426,18 @@ This should improve the coherence between the measurements made by the encoder a
</p> </p>
<div id="org5cfca4b" class="figure"> <div id="org0f33cd3" class="figure">
<p><img src="figs/int_enc_one_cycle.png" alt="int_enc_one_cycle.png" /> <p><img src="figs/int_enc_one_cycle.png" alt="int_enc_one_cycle.png" />
</p> </p>
<p><span class="figure-number">Figure 11: </span>One cycle measurement</p> <p><span class="figure-number">Figure 11: </span>One cycle measurement</p>
</div> </div>
<p> <p>
The difference between the two measurements during the same period is shown in Figure <a href="#org58e59b1">12</a>. The difference between the two measurements during the same period is shown in Figure <a href="#org5c61cd3">12</a>.
</p> </p>
<div id="org58e59b1" class="figure"> <div id="org5c61cd3" class="figure">
<p><img src="figs/int_enc_one_cycle_error.png" alt="int_enc_one_cycle_error.png" /> <p><img src="figs/int_enc_one_cycle_error.png" alt="int_enc_one_cycle_error.png" />
</p> </p>
<p><span class="figure-number">Figure 12: </span>Difference between the Encoder and the interferometer during one cycle</p> <p><span class="figure-number">Figure 12: </span>Difference between the Encoder and the interferometer during one cycle</p>
@ -430,8 +445,8 @@ The difference between the two measurements during the same period is shown in F
</div> </div>
</div> </div>
<div id="outline-container-orgbc1a5af" class="outline-3"> <div id="outline-container-org5be7e09" class="outline-3">
<h3 id="orgbc1a5af"><span class="section-number-3">3.3</span> Difference between Encoder and Interferometer as a function of time</h3> <h3 id="org5be7e09"><span class="section-number-3">3.3</span> Difference between Encoder and Interferometer as a function of time</h3>
<div class="outline-text-3" id="text-3-3"> <div class="outline-text-3" id="text-3-3">
<p> <p>
The data is filtered using a second order low pass filter with a cut-off frequency \(\omega_0\) as defined below. The data is filtered using a second order low pass filter with a cut-off frequency \(\omega_0\) as defined below.
@ -446,7 +461,7 @@ G_lpf = 1<span class="org-type">/</span>(1 <span class="org-type">+</span> 2<spa
</div> </div>
<p> <p>
After filtering, the data is &ldquo;re-shaped&rdquo; such that we can superimpose all the measured periods as shown in Figure <a href="#orgef18651">13</a>. After filtering, the data is &ldquo;re-shaped&rdquo; such that we can superimpose all the measured periods as shown in Figure <a href="#orgc98f587">13</a>.
This gives an idea of the measurement error as given by the Attocube during a \(70 \mu m\) motion. This gives an idea of the measurement error as given by the Attocube during a \(70 \mu m\) motion.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
@ -456,7 +471,7 @@ d_err_mean = d_err_mean <span class="org-type">-</span> mean(d_err_mean);
</div> </div>
<div id="orgef18651" class="figure"> <div id="orgc98f587" class="figure">
<p><img src="figs/int_enc_error_mean_time.png" alt="int_enc_error_mean_time.png" /> <p><img src="figs/int_enc_error_mean_time.png" alt="int_enc_error_mean_time.png" />
</p> </p>
<p><span class="figure-number">Figure 13: </span>Difference between the two measurement in the time domain, averaged for all the cycles</p> <p><span class="figure-number">Figure 13: </span>Difference between the two measurement in the time domain, averaged for all the cycles</p>
@ -464,17 +479,17 @@ d_err_mean = d_err_mean <span class="org-type">-</span> mean(d_err_mean);
</div> </div>
</div> </div>
<div id="outline-container-org50e2719" class="outline-3"> <div id="outline-container-org75b2a6d" class="outline-3">
<h3 id="org50e2719"><span class="section-number-3">3.4</span> Difference between Encoder and Interferometer as a function of position</h3> <h3 id="org75b2a6d"><span class="section-number-3">3.4</span> Difference between Encoder and Interferometer as a function of position</h3>
<div class="outline-text-3" id="text-3-4"> <div class="outline-text-3" id="text-3-4">
<p> <p>
Figure <a href="#orgef18651">13</a> gives the measurement error as a function of time. Figure <a href="#orgc98f587">13</a> gives the measurement error as a function of time.
We here wish the compute this measurement error as a function of the position (as measured by the encoer). We here wish the compute this measurement error as a function of the position (as measured by the encoer).
</p> </p>
<p> <p>
To do so, all the attocube measurements corresponding to each position measured by the Encoder (resolution of \(1nm\)) are averaged. To do so, all the attocube measurements corresponding to each position measured by the Encoder (resolution of \(1nm\)) are averaged.
Figure <a href="#orgfbf0bc5">14</a> is obtained where we clearly see an error with a period comparable to the motion range and a much smaller period corresponding to the non-linear period errors that we wish the estimate. Figure <a href="#org1c54e43">14</a> is obtained where we clearly see an error with a period comparable to the motion range and a much smaller period corresponding to the non-linear period errors that we wish the estimate.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">[e_sorted, <span class="org-type">~</span>, e_ind] = unique(encoder); <pre class="src src-matlab">[e_sorted, <span class="org-type">~</span>, e_ind] = unique(encoder);
@ -489,7 +504,7 @@ i_mean_error = (i_mean <span class="org-type">-</span> e_sorted);
</div> </div>
<div id="orgfbf0bc5" class="figure"> <div id="org1c54e43" class="figure">
<p><img src="figs/int_enc_error_mean_position.png" alt="int_enc_error_mean_position.png" /> <p><img src="figs/int_enc_error_mean_position.png" alt="int_enc_error_mean_position.png" />
</p> </p>
<p><span class="figure-number">Figure 14: </span>Difference between the two measurement as a function of the measured position by the encoder, averaged for all the cycles</p> <p><span class="figure-number">Figure 14: </span>Difference between the two measurement as a function of the measured position by the encoder, averaged for all the cycles</p>
@ -511,11 +526,11 @@ e_sorted_mean_over_period = mean(reshape(i_mean_error(i_init<span class="org-typ
</div> </div>
<p> <p>
The obtained periodic non-linearity is shown in Figure <a href="#org9e948e3">15</a>. The obtained periodic non-linearity is shown in Figure <a href="#orgd0a5e3b">15</a>.
</p> </p>
<div id="org9e948e3" class="figure"> <div id="orgd0a5e3b" class="figure">
<p><img src="figs/int_non_linearity_period_wavelength.png" alt="int_non_linearity_period_wavelength.png" /> <p><img src="figs/int_non_linearity_period_wavelength.png" alt="int_non_linearity_period_wavelength.png" />
</p> </p>
<p><span class="figure-number">Figure 15: </span>Non-Linearity of the Interferometer over the period of the wavelength</p> <p><span class="figure-number">Figure 15: </span>Non-Linearity of the Interferometer over the period of the wavelength</p>
@ -526,7 +541,7 @@ The obtained periodic non-linearity is shown in Figure <a href="#org9e948e3">15<
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p> <p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-11-10 mar. 10:21</p> <p class="date">Created: 2020-11-10 mar. 12:50</p>
</div> </div>
</body> </body>
</html> </html>

View File

@ -15,7 +15,6 @@
#+HTML_HEAD: <script type="text/javascript" src="./js/readtheorg.js"></script> #+HTML_HEAD: <script type="text/javascript" src="./js/readtheorg.js"></script>
#+PROPERTY: header-args:matlab :session *MATLAB* #+PROPERTY: header-args:matlab :session *MATLAB*
#+PROPERTY: header-args:matlab+ :tangle no
#+PROPERTY: header-args:matlab+ :comments org #+PROPERTY: header-args:matlab+ :comments org
#+PROPERTY: header-args:matlab+ :exports both #+PROPERTY: header-args:matlab+ :exports both
#+PROPERTY: header-args:matlab+ :results none #+PROPERTY: header-args:matlab+ :results none
@ -25,7 +24,18 @@
#+PROPERTY: header-args:matlab+ :output-dir figs #+PROPERTY: header-args:matlab+ :output-dir figs
:END: :END:
* Introduction :ignore:
In this document, few caracteristics of the Attocube Displacement Measuring Interferometer IDS3010 ([[https://www.attocube.com/en/products/laser-displacement-sensor/displacement-measuring-interferometer][link]]) are studied:
- Section [[sec:attocube_asd_noise]]: the ASD noise of the measured displacement is estimated
- Section [[sec:effect_air_protection]]: the effect of two air protections on the stability of the measurement is studied
- Section [[sec:attocube_non_linearity]]: the cyclic non-linearity of the attocube is estimated using a encoder
* Estimation of the Spectral Density of the Attocube Noise * Estimation of the Spectral Density of the Attocube Noise
:PROPERTIES:
:header-args:matlab+: :tangle matlab/attocube_asd_noise.m
:END:
<<sec:attocube_asd_noise>>
** Introduction :ignore: ** Introduction :ignore:
#+name: fig:test-bench-schematic #+name: fig:test-bench-schematic
@ -46,11 +56,19 @@
<<matlab-init>> <<matlab-init>>
#+end_src #+end_src
#+begin_src matlab :tangle no
addpath('./matlab/mat/');
#+end_src
#+begin_src matlab :eval no
addpath('./mat/');
#+end_src
** Long and Slow measurement ** Long and Slow measurement
The first measurement was made during ~17 hours with a sampling time of $T_s = 0.1\,s$. The first measurement was made during ~17 hours with a sampling time of $T_s = 0.1\,s$.
#+begin_src matlab #+begin_src matlab
load('./mat/long_test_plastic.mat', 'x', 't') load('long_test_plastic.mat', 'x', 't')
Ts = 0.1; % [s] Ts = 0.1; % [s]
#+end_src #+end_src
@ -162,7 +180,7 @@ An second measurement is done in order to estimate the high frequency noise of t
The measurement is done with a sampling time of $T_s = 0.1\,ms$ and a duration of ~100s. The measurement is done with a sampling time of $T_s = 0.1\,ms$ and a duration of ~100s.
#+begin_src matlab #+begin_src matlab
load('./mat/short_test_plastic.mat') load('short_test_plastic.mat')
Ts = 1e-4; % [s] Ts = 1e-4; % [s]
#+end_src #+end_src
@ -217,6 +235,10 @@ The computed ASD of the two measurements are combined in Figure [[fig:psd_combin
[[file:figs/psd_combined.png]] [[file:figs/psd_combined.png]]
* Effect of the "bubble sheet" and "Aluminium tube" * Effect of the "bubble sheet" and "Aluminium tube"
:PROPERTIES:
:header-args:matlab+: :tangle matlab/effect_air_protection.m
:END:
<<sec:effect_air_protection>>
** Introduction :ignore: ** Introduction :ignore:
#+name: fig:picture-test-bench-aluminium-tube #+name: fig:picture-test-bench-aluminium-tube
@ -233,9 +255,17 @@ The computed ASD of the two measurements are combined in Figure [[fig:psd_combin
<<matlab-init>> <<matlab-init>>
#+end_src #+end_src
#+begin_src matlab :tangle no
addpath('./matlab/mat/');
#+end_src
#+begin_src matlab :eval no
addpath('./mat/');
#+end_src
** Aluminium Tube and Bubble Sheet ** Aluminium Tube and Bubble Sheet
#+begin_src matlab #+begin_src matlab
load('./mat/short_test_plastic.mat'); load('short_test_plastic.mat');
Ts = 1e-4; % [s] Ts = 1e-4; % [s]
#+end_src #+end_src
@ -256,7 +286,7 @@ The computed ASD of the two measurements are combined in Figure [[fig:psd_combin
** Only Aluminium Tube ** Only Aluminium Tube
#+begin_src matlab #+begin_src matlab
load('./mat/short_test_alu_tube.mat'); load('short_test_alu_tube.mat');
Ts = 1e-4; % [s] Ts = 1e-4; % [s]
#+end_src #+end_src
@ -278,7 +308,7 @@ The time domain measurement is shown in Figure [[fig:short_meas_time_domain]].
** Nothing ** Nothing
#+begin_src matlab #+begin_src matlab
load('./mat/short_test_without_material.mat'); load('short_test_without_material.mat');
Ts = 1e-4; % [s] Ts = 1e-4; % [s]
#+end_src #+end_src
@ -325,6 +355,10 @@ The time domain measurement is shown in Figure [[fig:short_meas_time_domain]].
[[file:figs/asd_noise_comp_bubble_aluminium.png]] [[file:figs/asd_noise_comp_bubble_aluminium.png]]
* Measurement of the Attocube's non-linearity * Measurement of the Attocube's non-linearity
:PROPERTIES:
:header-args:matlab+: :tangle matlab/attocube_non_linearity.m
:END:
<<sec:attocube_non_linearity>>
** Introduction :ignore: ** Introduction :ignore:
The measurement setup is shown in Figure [[fig:exp_setup_schematic]]. The measurement setup is shown in Figure [[fig:exp_setup_schematic]].
@ -355,11 +389,19 @@ As will be shown shortly, this measurement permitted to measure the period non-l
<<matlab-init>> <<matlab-init>>
#+end_src #+end_src
#+begin_src matlab :tangle no
addpath('./matlab/mat/');
#+end_src
#+begin_src matlab :eval no
addpath('./mat/');
#+end_src
** Load Data ** Load Data
The measurement data are loaded and the offset are removed using the =detrend= command. The measurement data are loaded and the offset are removed using the =detrend= command.
#+begin_src matlab #+begin_src matlab
load('mat/int_enc_comp.mat', 'interferometer', 'encoder', 'u', 't'); load('int_enc_comp.mat', 'interferometer', 'encoder', 'u', 't');
Ts = 1e-4; % Sampling Time [s] Ts = 1e-4; % Sampling Time [s]
#+end_src #+end_src

View File

@ -1,7 +0,0 @@
load('./mat/test.mat', 't', 'x');
figure; plot(t, x)
load('./mat/long_test.mat', 't', 'x');
figure; plot(t/60/60, 1e9*x)

152
matlab/attocube_asd_noise.m Normal file
View File

@ -0,0 +1,152 @@
%% Clear Workspace and Close figures
clear; close all; clc;
%% Intialize Laplace variable
s = zpk('s');
addpath('./mat/');
% Long and Slow measurement
% The first measurement was made during ~17 hours with a sampling time of $T_s = 0.1\,s$.
load('long_test_plastic.mat', 'x', 't')
Ts = 0.1; % [s]
figure;
plot(t/60/60, 1e9*x)
xlim([0, 17.5]);
xlabel('Time [h]'); ylabel('Displacement [nm]');
% #+name: fig:long_meas_time_domain_full
% #+caption: Long measurement time domain data
% #+RESULTS:
% [[file:figs/long_meas_time_domain_full.png]]
% Let's fit the data with a step response to a first order low pass filter (Figure [[fig:long_meas_time_domain_fit]]).
f = @(b,x) b(1)*(1 - exp(-x/b(2)));
y_cur = x(t < 17.5*60*60);
t_cur = t(t < 17.5*60*60);
nrmrsd = @(b) norm(y_cur - f(b,t_cur)); % Residual Norm Cost Function
B0 = [400e-9, 2*60*60]; % Choose Appropriate Initial Estimates
[B,rnrm] = fminsearch(nrmrsd, B0); % Estimate Parameters B
% The corresponding time constant is (in [h]):
B(2)/60/60
% #+RESULTS:
% : 2.0658
figure;
hold on;
plot(t_cur/60/60, 1e9*y_cur);
plot(t_cur/60/60, 1e9*f(B, t_cur));
hold off;
xlim([0, 17.5])
xlabel('Time [h]'); ylabel('Displacement [nm]');
% #+name: fig:long_meas_time_domain_fit
% #+caption: Fit of the measurement data with a step response of a first order low pass filter
% #+RESULTS:
% [[file:figs/long_meas_time_domain_fit.png]]
% We can see in Figure [[fig:long_meas_time_domain_full]] that there is a transient period where the measured displacement experiences some drifts.
% This is probably due to thermal effects.
% We only select the data between =t1= and =t2=.
% The obtained displacement is shown in Figure [[fig:long_meas_time_domain_zoom]].
t1 = 10.5; t2 = 17.5; % [h]
x = x(t > t1*60*60 & t < t2*60*60);
x = x - mean(x);
t = t(t > t1*60*60 & t < t2*60*60);
t = t - t(1);
figure;
plot(t/60/60, 1e9*x);
xlabel('Time [h]'); ylabel('Measured Displacement [nm]')
% #+name: fig:long_meas_time_domain_zoom
% #+caption: Kept data (removed slow drifts during the first hours)
% #+RESULTS:
% [[file:figs/long_meas_time_domain_zoom.png]]
% The Power Spectral Density of the measured displacement is computed
win = hann(ceil(length(x)/20));
[p_1, f_1] = pwelch(x, win, [], [], 1/Ts);
% As a low pass filter was used in the measurement process, we multiply the PSD by the square of the inverse of the filter's norm.
G_lpf = 1/(1 + s/2/pi);
p_1 = p_1./abs(squeeze(freqresp(G_lpf, f_1, 'Hz'))).^2;
% Only frequencies below 2Hz are taken into account (high frequency noise will be measured afterwards).
p_1 = p_1(f_1 < 2);
f_1 = f_1(f_1 < 2);
% Short and Fast measurement
% An second measurement is done in order to estimate the high frequency noise of the interferometer.
% The measurement is done with a sampling time of $T_s = 0.1\,ms$ and a duration of ~100s.
load('short_test_plastic.mat')
Ts = 1e-4; % [s]
x = detrend(x, 0);
% The time domain measurement is shown in Figure [[fig:short_meas_time_domain]].
figure;
plot(t, 1e9*x)
xlabel('Time [s]'); ylabel('Displacement [nm]');
% #+name: fig:short_meas_time_domain
% #+caption: Time domain measurement with the high sampling rate
% #+RESULTS:
% [[file:figs/short_meas_time_domain.png]]
% The Power Spectral Density of the measured displacement is computed
win = hann(ceil(length(x)/20));
[p_2, f_2] = pwelch(x, win, [], [], 1/Ts);
% Obtained Amplitude Spectral Density of the measured displacement
% The computed ASD of the two measurements are combined in Figure [[fig:psd_combined]].
figure;
hold on;
plot(f_1(8:end), sqrt(p_1(8:end)), 'k-');
plot(f_2(8:end), sqrt(p_2(8:end)), 'k-');
hold off;
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
ylabel('ASD [$m/\sqrt{Hz}$]'); xlabel('Frequency [Hz]');

View File

@ -0,0 +1,131 @@
%% Clear Workspace and Close figures
clear; close all; clc;
%% Intialize Laplace variable
s = zpk('s');
addpath('./mat/');
% Load Data
% The measurement data are loaded and the offset are removed using the =detrend= command.
load('int_enc_comp.mat', 'interferometer', 'encoder', 'u', 't');
Ts = 1e-4; % Sampling Time [s]
interferometer = detrend(interferometer, 0);
encoder = detrend(encoder, 0);
u = detrend(u, 0);
% Time Domain Results
% One period of the displacement of the mass as measured by the encoder and interferometer are shown in Figure [[fig:int_enc_one_cycle]].
% It consist of the sinusoidal motion at 0.5Hz with an amplitude of approximately $70\mu m$.
% The frequency of the motion is chosen such that no resonance in the system is excited.
% This should improve the coherence between the measurements made by the encoder and interferometer.
figure;
hold on;
plot(t, encoder, '-', 'DisplayName', 'Encoder')
plot(t, interferometer, '--', 'DisplayName', 'Interferometer')
hold off;
xlabel('Time [s]'); ylabel('Displacement [m]');
legend('location', 'southeast');
xlim([50, 52])
% #+name: fig:int_enc_one_cycle
% #+caption: One cycle measurement
% #+RESULTS:
% [[file:figs/int_enc_one_cycle.png]]
% The difference between the two measurements during the same period is shown in Figure [[fig:int_enc_one_cycle_error]].
figure;
hold on;
plot(t, encoder - interferometer, 'DisplayName', 'Difference')
hold off;
xlabel('Time [s]'); ylabel('Displacement [m]');
legend('location', 'northeast');
xlim([50, 52])
% Difference between Encoder and Interferometer as a function of time
% The data is filtered using a second order low pass filter with a cut-off frequency $\omega_0$ as defined below.
w0 = 2*pi*5; % [rad/s]
xi = 0.7;
G_lpf = 1/(1 + 2*xi/w0*s + s^2/w0^2);
% After filtering, the data is "re-shaped" such that we can superimpose all the measured periods as shown in Figure [[fig:int_enc_error_mean_time]].
% This gives an idea of the measurement error as given by the Attocube during a $70 \mu m$ motion.
d_err_mean = reshape(lsim(G_lpf, encoder - interferometer, t), [2/Ts floor(Ts/2*length(encoder))]);
d_err_mean = d_err_mean - mean(d_err_mean);
figure;
hold on;
for i_i = 1:size(d_err_mean, 2)
plot(t(1:size(d_err_mean, 1)), d_err_mean(:, i_i), 'k-')
end
plot(t(1:size(d_err_mean, 1)), mean(d_err_mean, 2), 'r-')
hold off;
xlabel('Time [s]'); ylabel('Displacement [m]');
% Difference between Encoder and Interferometer as a function of position
% Figure [[fig:int_enc_error_mean_time]] gives the measurement error as a function of time.
% We here wish the compute this measurement error as a function of the position (as measured by the encoer).
% To do so, all the attocube measurements corresponding to each position measured by the Encoder (resolution of $1nm$) are averaged.
% Figure [[fig:int_enc_error_mean_position]] is obtained where we clearly see an error with a period comparable to the motion range and a much smaller period corresponding to the non-linear period errors that we wish the estimate.
[e_sorted, ~, e_ind] = unique(encoder);
i_mean = zeros(length(e_sorted), 1);
for i = 1:length(e_sorted)
i_mean(i) = mean(interferometer(e_ind == i));
end
i_mean_error = (i_mean - e_sorted);
figure;
hold on;
% plot(encoder, interferometer - encoder, 'k.', 'DisplayName', 'Difference')
plot(1e6*(e_sorted), 1e9*(i_mean_error))
hold off;
xlabel('Encoder Measurement [$\mu m$]'); ylabel('Measrement Error [nm]');
% #+name: fig:int_enc_error_mean_position
% #+caption: Difference between the two measurement as a function of the measured position by the encoder, averaged for all the cycles
% #+RESULTS:
% [[file:figs/int_enc_error_mean_position.png]]
% The period of the non-linearity seems to be equal to $765 nm$ which corresponds to half the wavelength of the Laser ($1.53 \mu m$).
% For the motion range done here, the non-linearity is measured over ~18 periods which permits to do some averaging.
win_length = 1530/2; % length of the windows (corresponds to 765 nm)
num_avg = floor(length(e_sorted)/win_length); % number of averaging
i_init = ceil((length(e_sorted) - win_length*num_avg)/2); % does not start at the extremity
e_sorted_mean_over_period = mean(reshape(i_mean_error(i_init:i_init+win_length*num_avg-1), [win_length num_avg]), 2);
% The obtained periodic non-linearity is shown in Figure [[fig:int_non_linearity_period_wavelength]].
figure;
hold on;
plot(1e-3*(0:win_length-1), 1e9*(e_sorted_mean_over_period))
hold off;
xlabel('Displacement [$\mu m$]'); ylabel('Measurement Non-Linearity [nm]');

View File

@ -0,0 +1,73 @@
%% Clear Workspace and Close figures
clear; close all; clc;
%% Intialize Laplace variable
s = zpk('s');
addpath('./mat/');
% Aluminium Tube and Bubble Sheet
load('short_test_plastic.mat');
Ts = 1e-4; % [s]
x = detrend(x, 0);
figure;
plot(t, 1e9*x)
xlabel('Time [s]'); ylabel('Displacement [nm]');
win = hann(ceil(length(x)/10));
[p_1, f_1] = pwelch(x, win, [], [], 1/Ts);
% Only Aluminium Tube
load('short_test_alu_tube.mat');
Ts = 1e-4; % [s]
x = detrend(x, 0);
% The time domain measurement is shown in Figure [[fig:short_meas_time_domain]].
figure;
plot(t, 1e9*x)
xlabel('Time [s]'); ylabel('Displacement [nm]');
win = hann(ceil(length(x)/10));
[p_2, f_2] = pwelch(x, win, [], [], 1/Ts);
% Nothing
load('short_test_without_material.mat');
Ts = 1e-4; % [s]
x = detrend(x, 0);
% The time domain measurement is shown in Figure [[fig:short_meas_time_domain]].
figure;
plot(t, 1e9*x)
xlabel('Time [s]'); ylabel('Displacement [nm]');
win = hann(ceil(length(x)/10));
[p_3, f_3] = pwelch(x, win, [], [], 1/Ts);
% Comparison
figure;
hold on;
plot(f_1(8:end), sqrt(p_1(8:end)), '-', ...
'DisplayName', 'Alunimium + Bubble');
plot(f_2(8:end), sqrt(p_2(8:end)), '-', ...
'DisplayName', 'Aluminium');
plot(f_3(8:end), sqrt(p_3(8:end)), '-', ...
'DisplayName', 'nothing');
hold off;
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
ylabel('ASD [$m/\sqrt{Hz}$]'); xlabel('Frequency [Hz]');
xlim([1e-1, 5e3]);
legend('location', 'northeast');

Binary file not shown.