Add transfer functions to approximate disturbance level

This commit is contained in:
Thomas Dehaeze 2019-11-22 14:56:56 +01:00
parent 2ae8e3e387
commit 8298e5dc85
13 changed files with 171 additions and 45 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>
<!-- 2019-11-04 lun. 15:56 -->
<!-- 2019-11-22 ven. 14:56 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Identification of the disturbances</title>
@ -280,12 +280,13 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orga5c4454">1. Identification</a></li>
<li><a href="#org0c8db89">2. Sensitivity to Disturbances</a></li>
<li><a href="#org000560b">3. Power Spectral Density of the effect of the disturbances</a></li>
<li><a href="#orgf4292db">4. Compute the Power Spectral Density of the disturbance force</a></li>
<li><a href="#org40a18b0">5. Noise Budget</a></li>
<li><a href="#org0562d36">6. Save</a></li>
<li><a href="#org0fdcc98">1. Identification</a></li>
<li><a href="#org9dbe521">2. Sensitivity to Disturbances</a></li>
<li><a href="#orgb8b578a">3. Power Spectral Density of the effect of the disturbances</a></li>
<li><a href="#orged700a8">4. Compute the Power Spectral Density of the disturbance force</a></li>
<li><a href="#orge917756">5. Noise Budget</a></li>
<li><a href="#orge394fbc">6. Approximation</a></li>
<li><a href="#orgcc799ca">7. Save</a></li>
</ul>
</div>
</div>
@ -295,7 +296,7 @@ The goal here is to extract the Power Spectral Density of the sources of perturb
</p>
<p>
The sources of perturbations are (schematically shown in figure <a href="#org1a5776c">1</a>):
The sources of perturbations are (schematically shown in figure <a href="#org4135f61">1</a>):
</p>
<ul class="org-ul">
<li>\(D_w\): Ground Motion</li>
@ -304,12 +305,12 @@ These forces can be due to imperfect guiding for instance.</li>
</ul>
<p>
Because we cannot measure directly the perturbation forces, we have the measure the effect of those perturbations on the system (in terms of velocity for instance using geophones, \(D\) on figure <a href="#org1a5776c">1</a>) and then, using a model, compute the forces that induced such velocity.
Because we cannot measure directly the perturbation forces, we have the measure the effect of those perturbations on the system (in terms of velocity for instance using geophones, \(D\) on figure <a href="#org4135f61">1</a>) and then, using a model, compute the forces that induced such velocity.
</p>
<div id="org1a5776c" class="figure">
<div id="org4135f61" class="figure">
<p><img src="figs/uniaxial-model-micro-station.png" alt="uniaxial-model-micro-station.png" />
</p>
<p><span class="figure-number">Figure 1: </span>Schematic of the Micro Station and the sources of disturbance</p>
@ -320,18 +321,18 @@ Because we cannot measure directly the perturbation forces, we have the measure
This file is divided in the following sections:
</p>
<ul class="org-ul">
<li>Section <a href="#org6e1c6df">1</a>: transfer functions from the disturbance forces to the relative velocity of the hexapod with respect to the granite are computed using the Simscape Model representing the experimental setup</li>
<li>Section <a href="#org122fad2">2</a>: the bode plot of those transfer functions are shown</li>
<li>Section <a href="#org19ee725">3</a>: the measured PSD of the effect of the disturbances are shown</li>
<li>Section <a href="#org7c3b0b5">4</a>: from the model and the measured PSD, the PSD of the disturbance forces are computed</li>
<li>Section <a href="#org7e2fa27">5</a>: with the computed PSD, the noise budget of the system is done</li>
<li>Section <a href="#org9776173">1</a>: transfer functions from the disturbance forces to the relative velocity of the hexapod with respect to the granite are computed using the Simscape Model representing the experimental setup</li>
<li>Section <a href="#org2c65bc9">2</a>: the bode plot of those transfer functions are shown</li>
<li>Section <a href="#orge81370a">3</a>: the measured PSD of the effect of the disturbances are shown</li>
<li>Section <a href="#org471c299">4</a>: from the model and the measured PSD, the PSD of the disturbance forces are computed</li>
<li>Section <a href="#org2927514">5</a>: with the computed PSD, the noise budget of the system is done</li>
</ul>
<div id="outline-container-orga5c4454" class="outline-2">
<h2 id="orga5c4454"><span class="section-number-2">1</span> Identification</h2>
<div id="outline-container-org0fdcc98" class="outline-2">
<h2 id="org0fdcc98"><span class="section-number-2">1</span> Identification</h2>
<div class="outline-text-2" id="text-1">
<p>
<a id="org6e1c6df"></a>
<a id="org9776173"></a>
</p>
<p>
@ -372,15 +373,15 @@ G.OutputName = <span class="org-rainbow-delimiters-depth-1">{</span><span class=
</div>
</div>
<div id="outline-container-org0c8db89" class="outline-2">
<h2 id="org0c8db89"><span class="section-number-2">2</span> Sensitivity to Disturbances</h2>
<div id="outline-container-org9dbe521" class="outline-2">
<h2 id="org9dbe521"><span class="section-number-2">2</span> Sensitivity to Disturbances</h2>
<div class="outline-text-2" id="text-2">
<p>
<a id="org122fad2"></a>
<a id="org2c65bc9"></a>
</p>
<div id="org8f38398" class="figure">
<div id="org55407aa" class="figure">
<p><img src="figs/sensitivity_dist_gm.png" alt="sensitivity_dist_gm.png" />
</p>
<p><span class="figure-number">Figure 2: </span>Sensitivity to Ground Motion (<a href="./figs/sensitivity_dist_gm.png">png</a>, <a href="./figs/sensitivity_dist_gm.pdf">pdf</a>)</p>
@ -388,7 +389,7 @@ G.OutputName = <span class="org-rainbow-delimiters-depth-1">{</span><span class=
<div id="orga020f23" class="figure">
<div id="org52c4328" class="figure">
<p><img src="figs/sensitivity_dist_fty.png" alt="sensitivity_dist_fty.png" />
</p>
<p><span class="figure-number">Figure 3: </span>Sensitivity to vertical forces applied by the Ty stage (<a href="./figs/sensitivity_dist_fty.png">png</a>, <a href="./figs/sensitivity_dist_fty.pdf">pdf</a>)</p>
@ -396,7 +397,7 @@ G.OutputName = <span class="org-rainbow-delimiters-depth-1">{</span><span class=
<div id="org0dea65f" class="figure">
<div id="orgc98d99a" class="figure">
<p><img src="figs/sensitivity_dist_frz.png" alt="sensitivity_dist_frz.png" />
</p>
<p><span class="figure-number">Figure 4: </span>Sensitivity to vertical forces applied by the Rz stage (<a href="./figs/sensitivity_dist_frz.png">png</a>, <a href="./figs/sensitivity_dist_frz.pdf">pdf</a>)</p>
@ -404,11 +405,11 @@ G.OutputName = <span class="org-rainbow-delimiters-depth-1">{</span><span class=
</div>
</div>
<div id="outline-container-org000560b" class="outline-2">
<h2 id="org000560b"><span class="section-number-2">3</span> Power Spectral Density of the effect of the disturbances</h2>
<div id="outline-container-orgb8b578a" class="outline-2">
<h2 id="orgb8b578a"><span class="section-number-2">3</span> Power Spectral Density of the effect of the disturbances</h2>
<div class="outline-text-2" id="text-3">
<p>
<a id="org19ee725"></a>
<a id="orge81370a"></a>
The PSD of the relative velocity between the hexapod and the marble in \([(m/s)^2/Hz]\) are loaded for the following sources of disturbance:
</p>
<ul class="org-ul">
@ -437,15 +438,15 @@ We now compute the relative velocity between the hexapod and the granite due to
</div>
<p>
The Power Spectral Density of the relative motion/velocity of the hexapod with respect to the granite are shown in figures <a href="#orgdd6d206">5</a> and <a href="#org67d7e50">6</a>.
The Power Spectral Density of the relative motion/velocity of the hexapod with respect to the granite are shown in figures <a href="#org3b88bb8">5</a> and <a href="#org065aebe">6</a>.
</p>
<p>
The Cumulative Amplitude Spectrum of the relative motion is shown in figure <a href="#orgd8c990c">7</a>.
The Cumulative Amplitude Spectrum of the relative motion is shown in figure <a href="#org6b8215a">7</a>.
</p>
<div id="orgdd6d206" class="figure">
<div id="org3b88bb8" class="figure">
<p><img src="figs/dist_effect_relative_velocity.png" alt="dist_effect_relative_velocity.png" />
</p>
<p><span class="figure-number">Figure 5: </span>Amplitude Spectral Density of the relative velocity of the hexapod with respect to the granite due to different sources of perturbation (<a href="./figs/dist_effect_relative_velocity.png">png</a>, <a href="./figs/dist_effect_relative_velocity.pdf">pdf</a>)</p>
@ -453,14 +454,14 @@ The Cumulative Amplitude Spectrum of the relative motion is shown in figure <a h
<div id="org67d7e50" class="figure">
<div id="org065aebe" class="figure">
<p><img src="figs/dist_effect_relative_motion.png" alt="dist_effect_relative_motion.png" />
</p>
<p><span class="figure-number">Figure 6: </span>Amplitude Spectral Density of the relative displacement of the hexapod with respect to the granite due to different sources of perturbation (<a href="./figs/dist_effect_relative_motion.png">png</a>, <a href="./figs/dist_effect_relative_motion.pdf">pdf</a>)</p>
</div>
<div id="orgd8c990c" class="figure">
<div id="org6b8215a" class="figure">
<p><img src="figs/dist_effect_relative_motion_cas.png" alt="dist_effect_relative_motion_cas.png" />
</p>
<p><span class="figure-number">Figure 7: </span>Cumulative Amplitude Spectrum of the relative motion due to different sources of perturbation (<a href="./figs/dist_effect_relative_motion_cas.png">png</a>, <a href="./figs/dist_effect_relative_motion_cas.pdf">pdf</a>)</p>
@ -468,15 +469,15 @@ The Cumulative Amplitude Spectrum of the relative motion is shown in figure <a h
</div>
</div>
<div id="outline-container-orgf4292db" class="outline-2">
<h2 id="orgf4292db"><span class="section-number-2">4</span> Compute the Power Spectral Density of the disturbance force</h2>
<div id="outline-container-orged700a8" class="outline-2">
<h2 id="orged700a8"><span class="section-number-2">4</span> Compute the Power Spectral Density of the disturbance force</h2>
<div class="outline-text-2" id="text-4">
<p>
<a id="org7c3b0b5"></a>
<a id="org471c299"></a>
</p>
<p>
Now, from the extracted transfer functions from the disturbance force to the relative motion of the hexapod with respect to the granite (section <a href="#org122fad2">2</a>) and from the measured PSD of the relative motion (section <a href="#org19ee725">3</a>), we can compute the PSD of the disturbance force.
Now, from the extracted transfer functions from the disturbance force to the relative motion of the hexapod with respect to the granite (section <a href="#org2c65bc9">2</a>) and from the measured PSD of the relative motion (section <a href="#orge81370a">3</a>), we can compute the PSD of the disturbance force.
</p>
<div class="org-src-container">
@ -486,7 +487,7 @@ tyz.psd_f = tyz.pxz_ty_r<span class="org-type">./</span>abs<span class="org-rain
</div>
<div id="orgafd3bc8" class="figure">
<div id="org6837a3f" class="figure">
<p><img src="figs/dist_force_psd.png" alt="dist_force_psd.png" />
</p>
<p><span class="figure-number">Figure 8: </span>Amplitude Spectral Density of the disturbance force (<a href="./figs/dist_force_psd.png">png</a>, <a href="./figs/dist_force_psd.pdf">pdf</a>)</p>
@ -494,11 +495,11 @@ tyz.psd_f = tyz.pxz_ty_r<span class="org-type">./</span>abs<span class="org-rain
</div>
</div>
<div id="outline-container-org40a18b0" class="outline-2">
<h2 id="org40a18b0"><span class="section-number-2">5</span> Noise Budget</h2>
<div id="outline-container-orge917756" class="outline-2">
<h2 id="orge917756"><span class="section-number-2">5</span> Noise Budget</h2>
<div class="outline-text-2" id="text-5">
<p>
<a id="org7e2fa27"></a>
<a id="org2927514"></a>
</p>
<p>
@ -507,7 +508,7 @@ We should verify that this is coherent with the measurements.
</p>
<div id="org3326f40" class="figure">
<div id="org92a712b" class="figure">
<p><img src="figs/psd_effect_dist_verif.png" alt="psd_effect_dist_verif.png" />
</p>
<p><span class="figure-number">Figure 9: </span>Computed Effect of the disturbances on the relative displacement hexapod/granite (<a href="./figs/psd_effect_dist_verif.png">png</a>, <a href="./figs/psd_effect_dist_verif.pdf">pdf</a>)</p>
@ -515,7 +516,7 @@ We should verify that this is coherent with the measurements.
<div id="orgead0a2c" class="figure">
<div id="org6aece6c" class="figure">
<p><img src="figs/cas_computed_relative_displacement.png" alt="cas_computed_relative_displacement.png" />
</p>
<p><span class="figure-number">Figure 10: </span>CAS of the total Relative Displacement due to all considered sources of perturbation (<a href="./figs/cas_computed_relative_displacement.png">png</a>, <a href="./figs/cas_computed_relative_displacement.pdf">pdf</a>)</p>
@ -523,20 +524,58 @@ We should verify that this is coherent with the measurements.
</div>
</div>
<div id="outline-container-org0562d36" class="outline-2">
<h2 id="org0562d36"><span class="section-number-2">6</span> Save</h2>
<div id="outline-container-orge394fbc" class="outline-2">
<h2 id="orge394fbc"><span class="section-number-2">6</span> Approximation</h2>
<div class="outline-text-2" id="text-6">
<p>
We approximate the PSD of the disturbance with the following transfer functions.
</p>
<div class="org-src-container">
<pre class="src src-matlab">G_ty = <span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">1</span><span class="org-type">*</span><span class="org-rainbow-delimiters-depth-1">(</span>s<span class="org-type">+</span><span class="org-highlight-numbers-number">634</span>.<span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-type">*</span><span class="org-rainbow-delimiters-depth-1">(</span>s<span class="org-type">+</span><span class="org-highlight-numbers-number">283</span>.<span class="org-highlight-numbers-number">7</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-type">/</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">(</span>s<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-2">)</span><span class="org-type">*</span><span class="org-rainbow-delimiters-depth-2">(</span>s<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-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
G_rz = <span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">5</span><span class="org-type">*</span><span class="org-rainbow-delimiters-depth-1">(</span>s<span class="org-type">+</span><span class="org-highlight-numbers-number">418</span>.<span class="org-highlight-numbers-number">8</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-type">*</span><span class="org-rainbow-delimiters-depth-1">(</span>s<span class="org-type">+</span><span class="org-highlight-numbers-number">36</span>.<span class="org-highlight-numbers-number">51</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-type">*</span><span class="org-rainbow-delimiters-depth-1">(</span>s<span class="org-type">^</span><span class="org-highlight-numbers-number">2</span> <span class="org-type">+</span> <span class="org-highlight-numbers-number">110</span>.<span class="org-highlight-numbers-number">9</span><span class="org-type">*</span>s <span class="org-type">+</span> <span class="org-highlight-numbers-number">3</span>.<span class="org-highlight-numbers-number">375e04</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-type">/</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">(</span>s<span class="org-type">+</span><span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">7324</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-type">*</span><span class="org-rainbow-delimiters-depth-2">(</span>s<span class="org-type">+</span><span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">546</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-type">*</span><span class="org-rainbow-delimiters-depth-2">(</span>s<span class="org-type">^</span><span class="org-highlight-numbers-number">2</span> <span class="org-type">+</span> <span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">6462</span><span class="org-type">*</span>s <span class="org-type">+</span> <span class="org-highlight-numbers-number">2</span>.<span class="org-highlight-numbers-number">391e04</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
G_gm = <span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">002</span><span class="org-type">*</span><span class="org-rainbow-delimiters-depth-1">(</span>s<span class="org-type">^</span><span class="org-highlight-numbers-number">2</span> <span class="org-type">+</span> <span class="org-highlight-numbers-number">3</span>.<span class="org-highlight-numbers-number">169</span><span class="org-type">*</span>s <span class="org-type">+</span> <span class="org-highlight-numbers-number">27</span>.<span class="org-highlight-numbers-number">74</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-type">/</span><span class="org-rainbow-delimiters-depth-1">(</span>s<span class="org-type">*</span><span class="org-rainbow-delimiters-depth-2">(</span>s<span class="org-type">+</span><span class="org-highlight-numbers-number">32</span>.<span class="org-highlight-numbers-number">73</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-type">*</span><span class="org-rainbow-delimiters-depth-2">(</span>s<span class="org-type">+</span><span class="org-highlight-numbers-number">8</span>.<span class="org-highlight-numbers-number">829</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-type">*</span><span class="org-rainbow-delimiters-depth-2">(</span>s<span class="org-type">+</span><span class="org-highlight-numbers-number">7</span>.<span class="org-highlight-numbers-number">983</span><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-1">)</span>;
</pre>
</div>
<p>
We compute the effect of these approximate disturbances on \(D\).
</p>
<div id="org6493889" class="figure">
<p><img src="figs/estimate_spectral_density_disturbances.png" alt="estimate_spectral_density_disturbances.png" />
</p>
<p><span class="figure-number">Figure 11: </span>Estimated spectral density of the disturbances (<a href="./figs/estimate_spectral_density_disturbances.png">png</a>, <a href="./figs/estimate_spectral_density_disturbances.pdf">pdf</a>)</p>
</div>
<div id="org62bca99" class="figure">
<p><img src="figs/comp_estimation_cas_disturbances.png" alt="comp_estimation_cas_disturbances.png" />
</p>
<p><span class="figure-number">Figure 12: </span>Comparison of the CAS of the disturbances with the approximate ones (<a href="./figs/comp_estimation_cas_disturbances.png">png</a>, <a href="./figs/comp_estimation_cas_disturbances.pdf">pdf</a>)</p>
</div>
</div>
</div>
<div id="outline-container-orgcc799ca" class="outline-2">
<h2 id="orgcc799ca"><span class="section-number-2">7</span> Save</h2>
<div class="outline-text-2" id="text-7">
<p>
The PSD of the disturbance force are now saved for further noise budgeting when control is applied (the mat file is accessible <a href="mat/dist_psd.mat">here</a>).
</p>
<div class="org-src-container">
<pre class="src src-matlab">dist_f = struct<span class="org-rainbow-delimiters-depth-1">()</span>;
dist_f.f = gm.f; <span class="org-comment">% Frequency Vector [Hz]</span>
dist_f.psd_gm = gm.psd_gm; % Power Spectral Density of the Ground Motion [m<span class="org-type">^</span><span class="org-highlight-numbers-number">2</span><span class="org-type">/</span>Hz]
dist_f.psd_ty = tyz.psd_f; % Power Spectral Density of the force induced by the Ty stage in the Z direction [N<span class="org-type">^</span><span class="org-highlight-numbers-number">2</span><span class="org-type">/</span>Hz]
dist_f.psd_rz = rz.psd_f; % Power Spectral Density of the force induced by the Rz stage in the Z direction [N<span class="org-type">^</span><span class="org-highlight-numbers-number">2</span><span class="org-type">/</span>Hz]
dist_f.G_gm = G_ty;
dist_f.G_ty = G_rz;
dist_f.G_rz = G_gm;
save<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'./disturbances/mat/dist_psd.mat'</span>, <span class="org-string">'dist_f'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
@ -545,7 +584,7 @@ save<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2019-11-04 lun. 15:56</p>
<p class="date">Created: 2019-11-22 ven. 14:56</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -487,15 +487,102 @@ We should verify that this is coherent with the measurements.
#+CAPTION: CAS of the total Relative Displacement due to all considered sources of perturbation ([[./figs/cas_computed_relative_displacement.png][png]], [[./figs/cas_computed_relative_displacement.pdf][pdf]])
[[file:figs/cas_computed_relative_displacement.png]]
* Approximation
We approximate the PSD of the disturbance with the following transfer functions.
#+begin_src matlab
G_ty = 0.1*(s+634.3)*(s+283.7)/((s+2*pi)*(s+2*pi));
G_rz = 0.5*(s+418.8)*(s+36.51)*(s^2 + 110.9*s + 3.375e04)/((s+0.7324)*(s+0.546)*(s^2 + 0.6462*s + 2.391e04));
G_gm = 0.002*(s^2 + 3.169*s + 27.74)/(s*(s+32.73)*(s+8.829)*(s+7.983)^2);
#+end_src
We compute the effect of these approximate disturbances on $D$.
#+begin_src matlab :exports none
% Power Spectral Density of the relative Displacement
psd_gm_s = abs(squeeze(freqresp(G_gm*G('Vm', 'Dw')/s, dist_f.f, 'Hz'))).^2;
psd_ty_s = abs(squeeze(freqresp(G_ty*G('Vm', 'Fty')/s, dist_f.f, 'Hz'))).^2;
psd_rz_s = abs(squeeze(freqresp(G_rz*G('Vm', 'Frz')/s, dist_f.f, 'Hz'))).^2;
#+end_src
#+begin_src matlab :exports none
figure;
ax1 = subplot(1, 2, 1);
hold on;
set(gca,'ColorOrderIndex',2);
plot(dist_f.f, sqrt(psd_ty_d), 'DisplayName', 'F - Ty');
plot(dist_f.f, sqrt(psd_rz_d), 'DisplayName', 'F - Rz');
set(gca,'ColorOrderIndex',2);
plot(dist_f.f, sqrt(psd_ty_s), '--', 'HandleVisibility', 'off');
plot(dist_f.f, sqrt(psd_rz_s), '--', 'HandleVisibility', 'off');
hold off;
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD of the disturbance force $\left[\frac{F}{\sqrt{Hz}}\right]$')
legend('Location', 'southwest');
xlim([2, 500]);
ax2 = subplot(1, 2, 2);
hold on;
plot(dist_f.f, sqrt(psd_gm_d), 'DisplayName', 'D - Gm');
set(gca,'ColorOrderIndex',1);
plot(dist_f.f, sqrt(psd_gm_s), '--', 'HandleVisibility', 'off');
hold off;
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD of the ground displacement $\left[\frac{m}{\sqrt{Hz}}\right]$')
legend('Location', 'southwest');
xlim([2, 500]);
#+end_src
#+HEADER: :tangle no :exports results :results none :noweb yes
#+begin_src matlab :var filepath="figs/estimate_spectral_density_disturbances.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:estimate_spectral_density_disturbances
#+CAPTION: Estimated spectral density of the disturbances ([[./figs/estimate_spectral_density_disturbances.png][png]], [[./figs/estimate_spectral_density_disturbances.pdf][pdf]])
[[file:figs/estimate_spectral_density_disturbances.png]]
#+begin_src matlab :exports none
figure;
hold on;
plot(dist_f.f, flip(sqrt(-cumtrapz(flip(dist_f.f), flip(psd_gm_d)))), 'DisplayName', 'Gm');
plot(dist_f.f, flip(sqrt(-cumtrapz(flip(dist_f.f), flip(psd_ty_d)))), 'DisplayName', 'Ty');
plot(dist_f.f, flip(sqrt(-cumtrapz(flip(dist_f.f), flip(psd_rz_d)))), 'DisplayName', 'Rz');
plot(dist_f.f, flip(sqrt(-cumtrapz(flip(dist_f.f), flip(psd_gm_d + psd_ty_d + psd_rz_d)))), 'k-', 'DisplayName', 'tot');
set(gca,'ColorOrderIndex',1);
plot(dist_f.f, flip(sqrt(-cumtrapz(flip(dist_f.f), flip(psd_gm_s)))), '--', 'HandleVisibility', 'off');
plot(dist_f.f, flip(sqrt(-cumtrapz(flip(dist_f.f), flip(psd_ty_s)))), '--', 'HandleVisibility', 'off');
plot(dist_f.f, flip(sqrt(-cumtrapz(flip(dist_f.f), flip(psd_rz_s)))), '--', 'HandleVisibility', 'off');
plot(dist_f.f, flip(sqrt(-cumtrapz(flip(dist_f.f), flip(psd_gm_s + psd_ty_s + psd_rz_s)))), 'k--', 'HandleVisibility', 'off');
hold off;
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('Cumulative Amplitude Spectrum [m]')
legend('location', 'northeast');
xlim([2, 500]); ylim([1e-11, 1e-6]);
#+end_src
#+HEADER: :tangle no :exports results :results none :noweb yes
#+begin_src matlab :var filepath="figs/comp_estimation_cas_disturbances.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:comp_estimation_cas_disturbances
#+CAPTION: Comparison of the CAS of the disturbances with the approximate ones ([[./figs/comp_estimation_cas_disturbances.png][png]], [[./figs/comp_estimation_cas_disturbances.pdf][pdf]])
[[file:figs/comp_estimation_cas_disturbances.png]]
* Save
The PSD of the disturbance force are now saved for further noise budgeting when control is applied (the mat file is accessible [[file:mat/dist_psd.mat][here]]).
#+begin_src matlab
dist_f = struct();
dist_f.f = gm.f; % Frequency Vector [Hz]
dist_f.psd_gm = gm.psd_gm; % Power Spectral Density of the Ground Motion [m^2/Hz]
dist_f.psd_ty = tyz.psd_f; % Power Spectral Density of the force induced by the Ty stage in the Z direction [N^2/Hz]
dist_f.psd_rz = rz.psd_f; % Power Spectral Density of the force induced by the Rz stage in the Z direction [N^2/Hz]
dist_f.G_gm = G_ty;
dist_f.G_ty = G_rz;
dist_f.G_rz = G_gm;
save('./disturbances/mat/dist_psd.mat', 'dist_f');
#+end_src

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 KiB

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 KiB

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

After

Width:  |  Height:  |  Size: 142 KiB