Update analysis: take into account the sensitivity of the geophone
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 92 KiB |
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 93 KiB |
@ -76,49 +76,61 @@ The structure is excited using an *instrumented hammer* with impacts on
|
|||||||
<<matlab-init>>
|
<<matlab-init>>
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Data is scaled and integrated one time to go from velocity to displacement.
|
The Geophone sensitivity is defined below:
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
w0 = 4.5*2*pi; % [rad/s]
|
||||||
|
ksi = 0.38;
|
||||||
|
G0 = 31.3; % [V/(m/s)]
|
||||||
|
G = G0*(s/w0)^2/((s/w0)^2 + 2*ksi*(s/w0) + 1); % [V/(m/s)]
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
We then:
|
||||||
|
- load the data
|
||||||
|
- add a minus sign when needed
|
||||||
|
- integrate the signal to have displacement instead of velocity
|
||||||
|
- scaled with the sensitivity of the Geophone
|
||||||
#+begin_src matlab :exports code :results none
|
#+begin_src matlab :exports code :results none
|
||||||
load('./raw_data/freq_frf.mat') % freq_frf
|
load('./raw_data/freq_frf.mat') % freq_frf
|
||||||
|
|
||||||
w = j*2*pi*freq_frf; % j.omega in [rad/s]
|
w = j*2*pi*freq_frf; % j.omega in [rad/s]
|
||||||
|
|
||||||
scale_factor = 1;
|
scaling = squeeze(freqresp(G, 2*pi*freq_frf))/G0;
|
||||||
|
|
||||||
load('./raw_data/frf_marble_x.mat') % ReIm1
|
load('./raw_data/frf_marble_x.mat') % ReIm1
|
||||||
frf_marble_x = zeros(size(ReIm1, 1), 3);
|
frf_marble_x = zeros(size(ReIm1, 1), 3);
|
||||||
frf_marble_x(:, 1) = -scale_factor*ReIm1(:, 2)./w; % marble_x
|
frf_marble_x(:, 1) = -ReIm1(:, 2)./w./scaling; % marble_x
|
||||||
frf_marble_x(:, 2) = -scale_factor*ReIm1(:, 3)./w; % tilt_x
|
frf_marble_x(:, 2) = -ReIm1(:, 3)./w./scaling; % tilt_x
|
||||||
frf_marble_x(:, 3) = -scale_factor*ReIm1(:, 4)./w; % hexa_x
|
frf_marble_x(:, 3) = -ReIm1(:, 4)./w./scaling; % hexa_x
|
||||||
|
|
||||||
load('./raw_data/frf_hexa_x.mat') % ReIm2
|
load('./raw_data/frf_hexa_x.mat') % ReIm2
|
||||||
frf_hexa_x = zeros(size(ReIm2, 1), 3);
|
frf_hexa_x = zeros(size(ReIm2, 1), 3);
|
||||||
frf_hexa_x(:, 1) = -scale_factor*ReIm2(:, 2)./w; % marble_x
|
frf_hexa_x(:, 1) = -ReIm2(:, 2)./w./scaling; % marble_x
|
||||||
frf_hexa_x(:, 2) = -scale_factor*ReIm2(:, 3)./w; % tilt_x
|
frf_hexa_x(:, 2) = -ReIm2(:, 3)./w./scaling; % tilt_x
|
||||||
frf_hexa_x(:, 3) = -scale_factor*ReIm2(:, 4)./w; % hexa_x
|
frf_hexa_x(:, 3) = -ReIm2(:, 4)./w./scaling; % hexa_x
|
||||||
|
|
||||||
load('./raw_data/frf_marble_y.mat') % ReIm3
|
load('./raw_data/frf_marble_y.mat') % ReIm3
|
||||||
frf_marble_y = zeros(size(ReIm3, 1), 3);
|
frf_marble_y = zeros(size(ReIm3, 1), 3);
|
||||||
frf_marble_y(:, 1) = -scale_factor*ReIm3(:, 2)./w; % marble_y
|
frf_marble_y(:, 1) = -ReIm3(:, 2)./w./scaling; % marble_y
|
||||||
frf_marble_y(:, 2) = -scale_factor*ReIm3(:, 3)./w; % tilt_y
|
frf_marble_y(:, 2) = -ReIm3(:, 3)./w./scaling; % tilt_y
|
||||||
frf_marble_y(:, 3) = -scale_factor*ReIm3(:, 4)./w; % hexa_y
|
frf_marble_y(:, 3) = -ReIm3(:, 4)./w./scaling; % hexa_y
|
||||||
|
|
||||||
load('./raw_data/frf_hexa_y.mat') % ReIm4
|
load('./raw_data/frf_hexa_y.mat') % ReIm4
|
||||||
frf_hexa_y = zeros(size(ReIm4, 1), 3);
|
frf_hexa_y = zeros(size(ReIm4, 1), 3);
|
||||||
frf_hexa_y(:, 1) = scale_factor*ReIm4(:, 2)./w; % marble_y
|
frf_hexa_y(:, 1) = ReIm4(:, 2)./w./scaling; % marble_y
|
||||||
frf_hexa_y(:, 2) = scale_factor*ReIm4(:, 3)./w; % tilt_y
|
frf_hexa_y(:, 2) = ReIm4(:, 3)./w./scaling; % tilt_y
|
||||||
frf_hexa_y(:, 3) = scale_factor*ReIm4(:, 4)./w; % hexa_y
|
frf_hexa_y(:, 3) = ReIm4(:, 4)./w./scaling; % hexa_y
|
||||||
|
|
||||||
load('./raw_data/frf_marble_z.mat') % ReIm5
|
load('./raw_data/frf_marble_z.mat') % ReIm5
|
||||||
frf_marble_z = zeros(size(ReIm5, 1), 3);
|
frf_marble_z = zeros(size(ReIm5, 1), 3);
|
||||||
frf_marble_z(:, 1) = scale_factor*ReIm5(:, 2)./w; % marble_z
|
frf_marble_z(:, 1) = ReIm5(:, 2)./w./scaling; % marble_z
|
||||||
frf_marble_z(:, 2) = scale_factor*ReIm5(:, 3)./w; % tilt_z
|
frf_marble_z(:, 2) = ReIm5(:, 3)./w./scaling; % tilt_z
|
||||||
frf_marble_z(:, 3) = scale_factor*ReIm5(:, 4)./w; % hexa_z
|
frf_marble_z(:, 3) = ReIm5(:, 4)./w./scaling; % hexa_z
|
||||||
|
|
||||||
load('./raw_data/frf_hexa_z.mat') % ReIm6
|
load('./raw_data/frf_hexa_z.mat') % ReIm6
|
||||||
frf_hexa_z = zeros(size(ReIm6, 1), 3);
|
frf_hexa_z = zeros(size(ReIm6, 1), 3);
|
||||||
frf_hexa_z(:, 1) = scale_factor*ReIm6(:, 2)./w; % marble_z
|
frf_hexa_z(:, 1) = ReIm6(:, 2)./w./scaling; % marble_z
|
||||||
frf_hexa_z(:, 2) = scale_factor*ReIm6(:, 3)./w; % tilt_z
|
frf_hexa_z(:, 2) = ReIm6(:, 3)./w./scaling; % tilt_z
|
||||||
frf_hexa_z(:, 3) = scale_factor*ReIm6(:, 4)./w; % hexa_z
|
frf_hexa_z(:, 3) = ReIm6(:, 4)./w./scaling; % hexa_z
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+begin_src matlab :exports code :results none
|
#+begin_src matlab :exports code :results none
|
||||||
@ -159,6 +171,24 @@ Data is scaled and integrated one time to go from velocity to displacement.
|
|||||||
coh_hexa_z(:, 3) = coh6(:, 4); % hexa_z
|
coh_hexa_z(:, 3) = coh6(:, 4); % hexa_z
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
Finally, we save the processed data.
|
||||||
|
#+begin_src matlab :results none
|
||||||
|
save('./data/id31_microstation_2018_01_12_frf.mat', ...
|
||||||
|
'frf_marble_x', ...
|
||||||
|
'frf_marble_y', ...
|
||||||
|
'frf_marble_z', ...
|
||||||
|
'frf_hexa_x', ...
|
||||||
|
'frf_hexa_y', ...
|
||||||
|
'frf_hexa_z');
|
||||||
|
save('./data/id31_microstation_2018_01_12_frf.mat', ...
|
||||||
|
'coh_marble_x', ...
|
||||||
|
'coh_marble_y', ...
|
||||||
|
'coh_marble_z', ...
|
||||||
|
'coh_hexa_x', ...
|
||||||
|
'coh_hexa_y', ...
|
||||||
|
'coh_hexa_z');
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** X-direction FRF
|
** X-direction FRF
|
||||||
#+begin_src matlab :exports none :results none
|
#+begin_src matlab :exports none :results none
|
||||||
figure;
|
figure;
|
||||||
@ -169,7 +199,7 @@ Data is scaled and integrated one time to go from velocity to displacement.
|
|||||||
hold off;
|
hold off;
|
||||||
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
|
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
|
||||||
xlabel('Frequency [Hz]'); ylabel('Displacement/Force [m/N]');
|
xlabel('Frequency [Hz]'); ylabel('Displacement/Force [m/N]');
|
||||||
xlim([10, 200]); xticks([10, 20, 50, 100, 200]);
|
xlim([5, 200]); xticks([5, 10, 20, 50, 100, 200]);
|
||||||
legend('Location', 'southwest');
|
legend('Location', 'southwest');
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -194,7 +224,7 @@ Data is scaled and integrated one time to go from velocity to displacement.
|
|||||||
hold off;
|
hold off;
|
||||||
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
|
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
|
||||||
xlabel('Frequency [Hz]'); ylabel('Displacement/Force [m/N]');
|
xlabel('Frequency [Hz]'); ylabel('Displacement/Force [m/N]');
|
||||||
xlim([10, 200]); xticks([10, 20, 50, 100, 200]);
|
xlim([5, 200]); xticks([5, 10, 20, 50, 100, 200]);
|
||||||
legend('Location', 'southwest');
|
legend('Location', 'southwest');
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -219,7 +249,7 @@ Data is scaled and integrated one time to go from velocity to displacement.
|
|||||||
hold off;
|
hold off;
|
||||||
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
|
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
|
||||||
xlabel('Frequency [Hz]'); ylabel('Displacement/Force [m/N]');
|
xlabel('Frequency [Hz]'); ylabel('Displacement/Force [m/N]');
|
||||||
xlim([10, 200]); xticks([10, 20, 50, 100, 200]);
|
xlim([5, 200]); xticks([5, 10, 20, 50, 100, 200]);
|
||||||
legend('Location', 'southwest');
|
legend('Location', 'southwest');
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -243,7 +273,7 @@ Data is scaled and integrated one time to go from velocity to displacement.
|
|||||||
hold off;
|
hold off;
|
||||||
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
|
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
|
||||||
xlabel('Frequency [Hz]'); ylabel('Displacement/Force [m/N]');
|
xlabel('Frequency [Hz]'); ylabel('Displacement/Force [m/N]');
|
||||||
xlim([10, 200]); xticks([10, 20, 50, 100, 200]);
|
xlim([5, 200]); xticks([5, 10, 20, 50, 100, 200]);
|
||||||
legend('Location', 'southwest');
|
legend('Location', 'southwest');
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -268,7 +298,7 @@ Data is scaled and integrated one time to go from velocity to displacement.
|
|||||||
hold off;
|
hold off;
|
||||||
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
|
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
|
||||||
xlabel('Frequency [Hz]'); ylabel('Displacement/Force [m/N]');
|
xlabel('Frequency [Hz]'); ylabel('Displacement/Force [m/N]');
|
||||||
xlim([10, 200]); xticks([10, 20, 50, 100, 200]);
|
xlim([5, 200]); xticks([5, 10, 20, 50, 100, 200]);
|
||||||
legend('Location', 'southwest');
|
legend('Location', 'southwest');
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -292,7 +322,7 @@ Data is scaled and integrated one time to go from velocity to displacement.
|
|||||||
hold off;
|
hold off;
|
||||||
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
|
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
|
||||||
xlabel('Frequency [Hz]'); ylabel('Displacement/Force [m/N]');
|
xlabel('Frequency [Hz]'); ylabel('Displacement/Force [m/N]');
|
||||||
xlim([10, 200]); xticks([10, 20, 50, 100, 200]);
|
xlim([5, 200]); xticks([5, 10, 20, 50, 100, 200]);
|
||||||
legend('Location', 'southwest');
|
legend('Location', 'southwest');
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
@ -187,6 +187,9 @@ Its bode plot is shown on figure [[fig:L4C_bode_plot]].
|
|||||||
#+RESULTS: fig:L4C_bode_plot
|
#+RESULTS: fig:L4C_bode_plot
|
||||||
[[file:figs/L4C_bode_plot.png]]
|
[[file:figs/L4C_bode_plot.png]]
|
||||||
|
|
||||||
|
*** L-22
|
||||||
|
- https://www.passcal.nmt.edu/content/instrumentation/sensors/short-period-sensors/l-22-sp-sensor
|
||||||
|
|
||||||
** Accelerometers
|
** Accelerometers
|
||||||
*** Pieozoelectric acc. 356b18 - 3 axis
|
*** Pieozoelectric acc. 356b18 - 3 axis
|
||||||
- https://www.pcbpiezotronics.fr/produit/accelerometres/356b18/
|
- https://www.pcbpiezotronics.fr/produit/accelerometres/356b18/
|
||||||
|