Add exp. fit to estimate thermal time constant

This commit is contained in:
Thomas Dehaeze 2020-10-29 11:05:45 +01:00
parent 56cfa3dfc0
commit 47695f535c
2 changed files with 84 additions and 22 deletions

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2020-10-29 jeu. 10:41 -->
<!-- 2020-10-29 jeu. 11:05 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Attocube - Test Bench</title>
<meta name="generator" content="Org mode" />
@ -35,23 +35,23 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org28fc04b">1. Estimation of the Spectral Density of the Attocube Noise</a>
<li><a href="#orge576546">1. Estimation of the Spectral Density of the Attocube Noise</a>
<ul>
<li><a href="#org8f7a999">1.1. Long and Slow measurement</a></li>
<li><a href="#orgf4f16a8">1.2. Short and Fast measurement</a></li>
<li><a href="#org7bd25e6">1.3. Obtained Amplitude Spectral Density of the measured displacement</a></li>
<li><a href="#orgbaf4829">1.1. Long and Slow measurement</a></li>
<li><a href="#org8dbfcef">1.2. Short and Fast measurement</a></li>
<li><a href="#org7683847">1.3. Obtained Amplitude Spectral Density of the measured displacement</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-org28fc04b" class="outline-2">
<h2 id="org28fc04b"><span class="section-number-2">1</span> Estimation of the Spectral Density of the Attocube Noise</h2>
<div id="outline-container-orge576546" class="outline-2">
<h2 id="orge576546"><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>
<div id="outline-container-org8f7a999" class="outline-3">
<h3 id="org8f7a999"><span class="section-number-3">1.1</span> Long and Slow measurement</h3>
<div id="outline-container-orgbaf4829" class="outline-3">
<h3 id="orgbaf4829"><span class="section-number-3">1.1</span> Long and Slow measurement</h3>
<div class="outline-text-3" id="text-1-1">
<p>
The first measurement was made during ~17 hours with a sampling time of \(T_s = 0.1\,s\).
@ -64,17 +64,45 @@ Ts = 0.1; <span class="org-comment">% [s]</span>
</div>
<div id="org7f956e7" class="figure">
<div id="org4f51280" class="figure">
<p><img src="figs/long_meas_time_domain_full.png" alt="long_meas_time_domain_full.png" />
</p>
<p><span class="figure-number">Figure 1: </span>Long measurement time domain data</p>
</div>
<p>
We can see in Figure <a href="#org7f956e7">1</a> that there is a transient period where the measured displacement experiences some drifts.
Let&rsquo;s fit the data with a step response to a first order low pass filter (Figure <a href="#orgc987453">2</a>).
</p>
<div class="org-src-container">
<pre class="src src-matlab">f = @(b,x) b(1)<span class="org-type">*</span>(1 <span class="org-type">-</span> exp(<span class="org-type">-</span>x<span class="org-type">/</span>b(2)));
y_cur = x(t <span class="org-type">&lt;</span> 17<span class="org-type">*</span>60<span class="org-type">*</span>60);
t_cur = t(t <span class="org-type">&lt;</span> 17<span class="org-type">*</span>60<span class="org-type">*</span>60);
nrmrsd = @(b) norm(y_cur <span class="org-type">-</span> f(b,t_cur)); <span class="org-comment">% Residual Norm Cost Function</span>
B0 = [400e<span class="org-type">-</span>9, 2<span class="org-type">*</span>60<span class="org-type">*</span>60]; <span class="org-comment">% Choose Appropriate Initial Estimates</span>
[B,rnrm] = fminsearch(nrmrsd, B0); <span class="org-comment">% Estimate Parameters &#8216;B&#8217;</span>
</pre>
</div>
<p>
The corresponding time constant is (in [h]):
</p>
<pre class="example">
2.0576
</pre>
<p>
<a href="figs/long_meas_time_domain_fit.pdf">figs/long_meas_time_domain_fit.pdf</a>
</p>
<p>
We can see in Figure <a href="#org4f51280">1</a> 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 <code>t1</code> and <code>t2</code>.
The obtained displacement is shown in Figure <a href="#orgab24552">2</a>.
The obtained displacement is shown in Figure <a href="#org24b01ba">2</a>.
</p>
<div class="org-src-container">
@ -88,7 +116,7 @@ t = t <span class="org-type">-</span> t(1);
</div>
<div id="orgab24552" class="figure">
<div id="org24b01ba" class="figure">
<p><img src="figs/long_meas_time_domain_zoom.png" alt="long_meas_time_domain_zoom.png" />
</p>
<p><span class="figure-number">Figure 2: </span>Kept data (removed slow drifts during the first hours)</p>
@ -105,8 +133,8 @@ The Power Spectral Density of the measured displacement is computed
</div>
</div>
<div id="outline-container-orgf4f16a8" class="outline-3">
<h3 id="orgf4f16a8"><span class="section-number-3">1.2</span> Short and Fast measurement</h3>
<div id="outline-container-org8dbfcef" class="outline-3">
<h3 id="org8dbfcef"><span class="section-number-3">1.2</span> Short and Fast measurement</h3>
<div class="outline-text-3" id="text-1-2">
<p>
An second measurement is done in order to estimate the high frequency noise of the interferometer.
@ -120,11 +148,11 @@ Ts = 1e<span class="org-type">-</span>4; <span class="org-comment">% [s]</span>
</div>
<p>
The time domain measurement is shown in Figure <a href="#orge8034c6">3</a>.
The time domain measurement is shown in Figure <a href="#org06abe6b">3</a>.
</p>
<div id="orge8034c6" class="figure">
<div id="org06abe6b" class="figure">
<p><img src="figs/short_meas_time_domain.png" alt="short_meas_time_domain.png" />
</p>
<p><span class="figure-number">Figure 3: </span>Time domain measurement with the high sampling rate</p>
@ -141,15 +169,15 @@ The Power Spectral Density of the measured displacement is computed
</div>
</div>
<div id="outline-container-org7bd25e6" class="outline-3">
<h3 id="org7bd25e6"><span class="section-number-3">1.3</span> Obtained Amplitude Spectral Density of the measured displacement</h3>
<div id="outline-container-org7683847" class="outline-3">
<h3 id="org7683847"><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">
<p>
The computed ASD of the two measurements are combined in Figure <a href="#org060925e">4</a>.
The computed ASD of the two measurements are combined in Figure <a href="#orgbe2f5ce">4</a>.
</p>
<div id="org060925e" class="figure">
<div id="orgbe2f5ce" class="figure">
<p><img src="figs/psd_combined.png" alt="psd_combined.png" />
</p>
<p><span class="figure-number">Figure 4: </span>Obtained Amplitude Spectral Density of the measured displacement</p>
@ -160,7 +188,7 @@ The computed ASD of the two measurements are combined in Figure <a href="#org060
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-10-29 jeu. 10:41</p>
<p class="date">Created: 2020-10-29 jeu. 11:05</p>
</div>
</body>
</html>

View File

@ -70,6 +70,40 @@ The first measurement was made during ~17 hours with a sampling time of $T_s = 0
#+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]]).
#+begin_src matlab
f = @(b,x) b(1)*(1 - exp(-x/b(2)));
y_cur = x(t < 17*60*60);
t_cur = t(t < 17*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
#+end_src
The corresponding time constant is (in [h]):
#+begin_src matlab :results value replace :exports results
B(2)/60/60
#+end_src
#+RESULTS:
: 2.0576
#+begin_src matlab :exports none
figure;
hold on;
plot(t_cur/60/60, 1e9*y_cur);
plot(t_cur/60/60, 1e9*f(B, t_cur));
hold off;
xlabel('Time [h]'); ylabel('Displacement [nm]');
#+end_src
#+name: fig:long_meas_time_domain_fit
#+caption: Fit of the measurement data with a step response of a first order low pass filter
[[file:figs/long_meas_time_domain_fit.pdf]]
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=.