diff --git a/css/custom.css b/css/custom.css new file mode 100644 index 0000000..ff286c2 --- /dev/null +++ b/css/custom.css @@ -0,0 +1,49 @@ +.figure p{ + text-align: center; +} + +.figure img{ + max-width:100%; + display: block; + margin: auto; +} + +table { + margin-left: auto; + margin-right: auto; +} + +.org-src-container > pre.src:before { + display: inline; + position: absolute; + color: #808080; + background-color: white; + top: -10px; + left: 10px; + padding: 0px 4px; + border: 1px solid #d0d0d0; + font-size: 80%; +} +.org-src-container > pre { + margin-top: 1.5em; + position: relative; + overflow: visible; +} +.org-src-container > pre > code.src:before { + display: inline; + position: absolute; + color: #808080; + background-color: white; + top: -10px; + left: 10px; + padding: 0px 4px; + border: 1px solid #d0d0d0; + font-size: 80%; +} +.org-src-container > pre.src-emacs-lisp:before { content: 'Emacs Lisp'; } +.org-src-container > pre.src-elisp:before { content: 'Emacs Lisp'; } +.org-src-container > pre.src-sh:before { content: 'shell'; } +.org-src-container > pre.src-bash:before { content: 'bash'; } +.org-src-container > pre.src-org:before { content: 'Org mode'; } +.org-src-container > pre.src-python:before { content: 'Python'; } +.org-src-container > pre.src-matlab:before { content: 'Matlab'; } diff --git a/css/readtheorg.css b/css/readtheorg.css index 1690bd0..423a707 100644 --- a/css/readtheorg.css +++ b/css/readtheorg.css @@ -513,7 +513,7 @@ legend{ padding:0; white-space:normal} -.fa:before,#content .admonition-title:before,#content h1 .headerlink:before,#content h2 .headerlink:before,#content h3 .headerlink:before,#content h4 .headerlink:before,#content h5 .headerlink:before,#content h6 .headerlink:before,#content dl dt .headerlink:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-alert,#content .note,#content .attention,#content .caution,#content .danger,#content .error,#content .hint,#content .important,#content .tip,#content .warning,#content .seealso,#content .admonitiontodo,.btn,input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"],select,textarea,#table-of-contents li.on a,#table-of-contents li.current>a,.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a,.wy-nav-top a{ +.fa:before,#content .admonition-title:before,#content h1 .headerlink:before,#content h2 .headerlink:before,#content h3 .headerlink:before,#content h4 .headerlink:before,#content h5 .headerlink:before,#content h6 .headerlink:before,#content dl dt .headerlink:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-alert,#content .note,#content .attention,#content .caution,#content .danger,#content .error,#content .summary,#content .hint,#content .important,#content .tip,#content .warning,#content .question,#content .seealso,#content .admonitiontodo,.btn,input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"],select,textarea,#table-of-contents li.on a,#table-of-contents li.current>a,.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a,.wy-nav-top a{ -webkit-font-smoothing:antialiased} /*! @@ -576,7 +576,7 @@ a .fa,a #content .admonition-title,#content a .admonition-title{ .nav #content .admonition-title,#content .nav .admonition-title,.nav .icon{ display:inline} -.wy-alert,#content .note,#content .attention,#content .caution,#content .danger,#content .error,#content .hint,#content .important,#content .tip,#content .warning,#content .seealso,#content .admonitiontodo{ +.wy-alert,#content .note,#content .attention,#content .caution,#content .danger,#content .error,#content .summary,#content .hint,#content .important,#content .tip,#content .warning,#content .question,#content .seealso,#content .admonitiontodo{ padding:12px; line-height:24px; margin-bottom:24px; @@ -596,32 +596,45 @@ a .fa,a #content .admonition-title,#content a .admonition-title{ #content .danger,#content .error{ background:#fdf3f2} -.wy-alert.wy-alert-warning,#content .wy-alert-warning.note,#content .attention,#content .caution,#content .wy-alert-warning.danger,#content .wy-alert-warning.error,#content .wy-alert-warning.hint,#content .wy-alert-warning.important,#content .wy-alert-warning.tip,#content .warning,#content .wy-alert-warning.seealso,#content .admonitiontodo{ +.wy-alert.wy-alert-warning,#content .wy-alert-warning.note,#content .attention,#content .caution,#content .wy-alert-warning.danger,#content .wy-alert-warning.error,#content .wy-alert-warning.summary,#content .wy-alert-warning.hint,#content .wy-alert-warning.important,#content .wy-alert-warning.tip,#content .warning,#content .wy-alert-warning.seealso,#content .admonitiontodo{ background:#ffedcc} -#content .admonition-title.note:before, #content .admonition-title.seealso:before, -#content .admonition-title.warning:before, #content .admonition-title.caution:before, +#content .admonition-title.warning:before, +#content .admonition-title.caution:before, #content .admonition-title.attention:before, -#content .admonition-title.tip:before, #content .admonition-title.hint:before, #content .admonition-title.important:before, -#content .admonition-title.error:before, #content .admonition-title.danger:before{ +#content .admonition-title.error:before, +#content .admonition-title.danger:before{ font-family:FontAwesome; content: "";} -#content .note,#content .seealso{ +#content .admonition-title.question:before{ + font-family:FontAwesome; + content: "";} + +#content .admonition-title.note:before, +#content .admonition-title.seealso:before, +#content .admonition-title.tip:before, +#content .admonition-title.summary:before, +#content .admonition-title.hint:before{ + font-family:FontAwesome; + content: "";} + + +#content .note,#content .question,#content .seealso{ background:#e7f2fa} -.wy-alert p:last-child,#content .note p:last-child,#content .attention p:last-child,#content .caution p:last-child,#content .danger p:last-child,#content .error p:last-child,#content .hint p:last-child,#content .important p:last-child,#content .tip p:last-child,#content .warning p:last-child,#content .seealso p:last-child,#content .admonitiontodo p:last-child{ +.wy-alert p:last-child,#content .note p:last-child,#content .attention p:last-child,#content .caution p:last-child,#content .danger p:last-child,#content .error p:last-child,#content .summary p:last-child,#content .hint p:last-child,#content .important p:last-child,#content .tip p:last-child,#content .warning p:last-child,#content .question p:last-child,#content .seealso p:last-child,#content .admonitiontodo p:last-child{ margin-bottom:0} -#content .admonition-title.tip,#content .admonition-title.important,#content .admonition-title.hint{ +#content .admonition-title.tip,#content .admonition-title.important,#content .admonition-title.summary,#content .admonition-title.hint{ line-height: 1; background:#1abc9c} -#content .important,#content .tip,#content .hint{ +#content .important,#content .tip,#content .summary,#content .hint{ background:#dbfaf4} -#content .admonition-title.note,#content .admonition-title.seealso{ +#content .admonition-title.note,#content .admonition-title.question,#content .admonition-title.seealso{ line-height: 1; background:#6ab0de} @@ -938,7 +951,7 @@ footer p{ font-style:italic; } -#content .note .last,#content .attention .last,#content .caution .last,#content .danger .last,#content .error .last,#content .hint .last,#content .important .last,#content .tip .last,#content .warning .last,#content .seealso .last,#content .admonitiontodo .last{ +#content .note .last,#content .attention .last,#content .caution .last,#content .danger .last,#content .error .last,#content .hint .summary,#content .hint .last,#content .important .last,#content .tip .last,#content .warning .last,#content .question .last,#content .seealso .last,#content .admonitiontodo .last{ margin-bottom:0} #content .admonition-title:before{ diff --git a/index.html b/index.html index 9b6af1f..5d7b96c 100644 --- a/index.html +++ b/index.html @@ -3,17 +3,16 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- +
Figure 1: Picture of the Setup
Figure 2: Zoom on the APA
Ts = 1e-4;
@@ -106,8 +97,8 @@
Glpf = 1/(1 + s/2/pi/500); @@ -119,13 +110,13 @@ Gz = c2d(Glpf, Ts, 'tustin');
data = SimulinkRealTime.utils.getFileScopeData('data/apa95ml.dat').data; @@ -134,8 +125,8 @@ Gz = c2d(Glpf, Ts, 'tustin');
u = data(:, 1); % Input Voltage [V] @@ -152,16 +143,16 @@ t = data(:, 3); % Time [
Figure 3: Measurement of the Mass displacement during Huddle Test
@@ -169,8 +160,8 @@ t = data(:, 3); % Time [Ts = t(end)/(length(t)-1); @@ -186,7 +177,7 @@ win = hanning(ceil(1*Fs));
Figure 4: Amplitude Spectral Density of the Displacement during Huddle Test
@@ -195,123 +186,13 @@ win = hanning(ceil(1*Fs));-Results presented in this sections are wrong as the ADC cannot deliver enought current to the piezoelectric actuator. -
--
-Figure 5: Time domain signals during the test
-Ts = t(end)/(length(t)-1); -Fs = 1/Ts; - -win = hanning(ceil(1*Fs)); --
[pxx, f] = pwelch(y, win, [], [], Fs);
-[pht, ~] = pwelch(ht.y, win, [], [], Fs);
-
--
-Figure 6: Comparison of the ASD for the identification test and the huddle test
-Ts = t(end)/(length(t)-1); -Fs = 1/Ts; --
win = hann(ceil(1/Ts)); - -[tf_est, f] = tfestimate(u, -y, win, [], [], 1/Ts); -[co_est, ~] = mscohere( u, -y, win, [], [], 1/Ts); --
-
-Figure 7: Coherence
--
-Figure 8: Estimation of the transfer function from input voltage to displacement
-load('mat/fem_model_5kg.mat', 'Ghm'); --
-
-Figure 9: Comparison of the identified transfer function and the one estimated from the FE model
--The problem comes from the fact that the piezo is driven directly by the DAC that cannot deliver enought current. -In the next section, a current amplifier is used. -
- -ht = load('./mat/huddle_test.mat', 't', 'u', 'y'); load('./mat/apa95ml_5kg_Amp_E505.mat', 't', 'u', 'um', 'y'); @@ -330,9 +211,9 @@ ht.y = ht.y - mean(ht.y);
Ts = t(end)/(length(t)-1); Fs = 1/Ts; @@ -348,17 +229,17 @@ win = hanning(ceil(1*Fs));
-
Figure 10: Comparison of the ASD for the identification test and the huddle test
+Figure 5: Comparison of the ASD for the identification test and the huddle test
Ts = t(end)/(length(t)-1); Fs = 1/Ts; @@ -375,42 +256,42 @@ Fs = 1/Ts;
-
Figure 11: Coherence
+Figure 6: Coherence
-
Figure 12: Estimation of the transfer function from input voltage to displacement
+Figure 7: Estimation of the transfer function from input voltage to displacement
load('mat/fem_model_5kg.mat', 'G');
-
Figure 13: Comparison of the identified transfer function and the one estimated from the FE model
+Figure 8: Comparison of the identified transfer function and the one estimated from the FE model
Two measurements are performed:
@@ -456,7 +337,7 @@ Gfem_a_ss = exp(-s/1-The transfer function from input voltage to output voltage are computed and shown in Figure 14. +The transfer function from input voltage to output voltage are computed and shown in Figure 9.
Ts = a_ss.t(end)/(length(a_ss.t)-1); @@ -473,16 +354,16 @@ win = hann(ceil(10/Ts));
-
Figure 14: Comparison of the identified dynamics from voltage output to voltage input and the FEM
+Figure 9: Comparison of the identified dynamics from voltage output to voltage input and the FEM
w_z = 2*pi*111; % Zeros frequency [rad/s] w_p = 2*pi*255; % Pole frequency [rad/s] @@ -495,35 +376,35 @@ Gi = G_inf*(s^2- +-
Figure 15: Identification of the IFF plant
+Figure 10: Identification of the IFF plant
-
Figure 16: Root Locus for IFF
+Figure 11: Root Locus for IFF
iff_g10 = load('./mat/apa95ml_iff_g10_res.mat', 'u', 't', 'y', 'v'); iff_g100 = load('./mat/apa95ml_iff_g100_res.mat', 'u', 't', 'y', 'v'); @@ -547,25 +428,25 @@ win = hann(ceil(10/Ts));
-
Figure 17: Coherence
+Figure 12: Coherence
-
Figure 18: Bode plot for different values of IFF gain
+Figure 13: Bode plot for different values of IFF gain
load('./mat/apa95ml_iff_test.mat', 'results');@@ -593,7 +474,7 @@ g_iff = [0, 1, 5, 10, 50, 100];
Created: 2020-11-03 mar. 10:11
+Created: 2020-11-12 jeu. 09:18
Hint
"); $('.error').before("Error
"); $('.danger').before("Danger
"); + $('.question').before("Question
"); + $('.summary').before("Summary
"); }); $( document ).ready(function() {