diff --git a/figs/apa95ml_5kg_comp_fem.pdf b/figs/apa95ml_5kg_comp_fem.pdf new file mode 100644 index 0000000..9ddb98b Binary files /dev/null and b/figs/apa95ml_5kg_comp_fem.pdf differ diff --git a/figs/apa95ml_5kg_comp_fem.png b/figs/apa95ml_5kg_comp_fem.png new file mode 100644 index 0000000..76918a1 Binary files /dev/null and b/figs/apa95ml_5kg_comp_fem.png differ diff --git a/index.html b/index.html index 6ad649f..a8fe6ea 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Test Bench APA95ML @@ -15,6 +15,14 @@ + +
@@ -27,29 +35,30 @@

Table of Contents

@@ -57,26 +66,26 @@
-
+

setup_picture.png

Figure 1: Picture of the Setup

-
+

setup_zoom.png

Figure 2: Zoom on the APA

-
-

1 Setup

+
+

1 Setup

-
-

1.1 Parameters

+
+

1.1 Parameters

Ts = 1e-4;
@@ -85,8 +94,8 @@
 
-
-

1.2 Filter White Noise

+
+

1.2 Filter White Noise

Glpf = 1/(1 + s/2/pi/500);
@@ -98,13 +107,13 @@ Gz = c2d(Glpf, Ts, 'tustin');
 
-
-

2 Run Experiment and Save Data

+
+

2 Run Experiment and Save Data

-
-

2.1 Load Data

+
+

2.1 Load Data

data = SimulinkRealTime.utils.getFileScopeData('data/apa95ml.dat').data;
@@ -113,8 +122,8 @@ Gz = c2d(Glpf, Ts, 'tustin');
 
-
-

2.2 Save Data

+
+

2.2 Save Data

u = data(:, 1); % Input Voltage [V]
@@ -131,16 +140,16 @@ t = data(:, 3); % Time [s]
 
-
-

3 Huddle Test

+
+

3 Huddle Test

-
-

3.1 Time Domain Data

+
+

3.1 Time Domain Data

-
+

huddle_test_time_domain.png

Figure 3: Measurement of the Mass displacement during Huddle Test

@@ -148,8 +157,8 @@ t = data(:, 3); % Time [s]
-
-

3.2 PSD of Measurement Noise

+
+

3.2 PSD of Measurement Noise

Ts = t(end)/(length(t)-1);
@@ -165,7 +174,7 @@ win = hanning(ceil(1*Fs));
 
-
+

huddle_test_pdf.png

Figure 4: Amplitude Spectral Density of the Displacement during Huddle Test

@@ -174,16 +183,16 @@ win = hanning(ceil(1*Fs));
-
-

4 Transfer Function Estimation with m=5kg

+
+

4 Transfer Function Estimation with \(m=5kg\)

-
-

4.1 Time Domain Data

+
+

4.1 Time Domain Data

-
+

apa95ml_5kg_10V_time_domain.png

Figure 5: Time domain signals during the test

@@ -191,8 +200,8 @@ win = hanning(ceil(1*Fs));
-
-

4.2 Comparison of the PSD with Huddle Test

+
+

4.2 Comparison of the PSD with Huddle Test

Ts = t(end)/(length(t)-1);
@@ -209,7 +218,7 @@ win = hanning(ceil(1*Fs));
 
-
+

apa95ml_5kg_10V_pdf_comp_huddle.png

Figure 6: Comparison of the ASD for the identification test and the huddle test

@@ -217,8 +226,8 @@ win = hanning(ceil(1*Fs));
-
-

4.3 Compute TF estimate and Coherence

+
+

4.3 Compute TF estimate and Coherence

win = hann(ceil(1/Ts));
@@ -229,25 +238,42 @@ win = hanning(ceil(1*Fs));
 
-
+

apa95ml_5kg_10V_coh.png

Figure 7: Coherence

-
+

apa95ml_5kg_10V_tf.png

Figure 8: Estimation of the transfer function from input voltage to displacement

+ +
+

4.4 Comparison with the FEM model

+
+
+
load('mat/fem_model_5kg.mat', 'Ghm');
+
+
+ + +
+

apa95ml_5kg_comp_fem.png +

+

Figure 9: Comparison of the identified transfer function and the one estimated from the FE model

+
+
+

Author: Dehaeze Thomas

-

Created: 2020-07-20 lun. 13:22

+

Created: 2020-07-20 lun. 13:29

diff --git a/index.org b/index.org index aa5688a..991c82e 100644 --- a/index.org +++ b/index.org @@ -156,7 +156,7 @@ #+RESULTS: [[file:figs/huddle_test_pdf.png]] -* Transfer Function Estimation with m=5kg +* Transfer Function Estimation with $m=5kg$ :PROPERTIES: :header-args:matlab+: :tangle matlab/tf_estimation.m :header-args:matlab+: :comments org :mkdirp yes @@ -290,3 +290,40 @@ #+caption: Estimation of the transfer function from input voltage to displacement #+RESULTS: [[file:figs/apa95ml_5kg_10V_tf.png]] + +** Comparison with the FEM model +#+begin_src matlab + load('mat/fem_model_5kg.mat', 'Ghm'); +#+end_src + +#+begin_src matlab :exports none + figure; + ax1 = subplot(2, 1, 1); + hold on; + plot(f, abs(tf_est), 'DisplayName', 'Identification') + plot(f, abs(squeeze(freqresp(Ghm, f, 'Hz'))), 'DisplayName', 'FEM') + set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log'); + ylabel('Amplitude'); xlabel('Frequency [Hz]'); + legend('location', 'northeast') + hold off; + + ax2 = subplot(2, 1, 2); + hold on; + plot(f, 180/pi*angle(tf_est)) + plot(f, 180/pi*angle(squeeze(freqresp(Ghm, f, 'Hz')))) + set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'lin'); + ylabel('Phase'); xlabel('Frequency [Hz]'); + hold off; + + linkaxes([ax1,ax2], 'x'); + xlim([10, 5e3]); +#+end_src + +#+begin_src matlab :tangle no :exports results :results file replace + exportFig('figs/apa95ml_5kg_comp_fem.pdf', 'width', 'full', 'height', 'full'); +#+end_src + +#+name: fig:apa95ml_5kg_comp_fem +#+caption: Comparison of the identified transfer function and the one estimated from the FE model +#+RESULTS: +[[file:figs/apa95ml_5kg_comp_fem.png]] diff --git a/mat/fem_model_5kg.mat b/mat/fem_model_5kg.mat new file mode 100644 index 0000000..281b5b6 Binary files /dev/null and b/mat/fem_model_5kg.mat differ