Complete measurement analysis of 07/05

This commit is contained in:
Thomas Dehaeze 2019-05-09 09:13:10 +02:00
parent 3cba7b5fdc
commit da4d3e9ae4
7 changed files with 195 additions and 96 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

View File

@ -108,7 +108,7 @@ We then compute the Power Spectral Density of the two signals and we compare the
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD [V/sqrt(Hz)]')
xlabel('Frequency [Hz]'); ylabel('Amplitude Spectral Density $\left[\frac{V}{\sqrt{Hz}}\right]$')
xlim([1, 500]);
legend('Location', 'southwest');
#+end_src
@ -271,7 +271,7 @@ And we compare all the signals (figures [[fig:psd_sample_comp]] and [[fig:psd_sa
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD [V/sqrt(Hz)]')
xlabel('Frequency [Hz]'); ylabel('Amplitude Spectral Density $\left[\frac{V}{\sqrt{Hz}}\right]$')
xlim([0.1, 500]);
legend('Location', 'southwest');
#+end_src
@ -283,7 +283,7 @@ And we compare all the signals (figures [[fig:psd_sample_comp]] and [[fig:psd_sa
#+end_src
#+NAME: fig:psd_sample_comp
#+CAPTION: PSD of the signal coming from the top geophone
#+CAPTION: Amplitude Spectral Density of the signal coming from the top geophone
#+RESULTS: fig:psd_sample_comp
[[file:figs/psd_sample_comp.png]]
@ -299,7 +299,7 @@ And we compare all the signals (figures [[fig:psd_sample_comp]] and [[fig:psd_sa
#+end_src
#+NAME: fig:psd_sample_comp_high_freq
#+CAPTION: PSD of the signal coming from the top geophone (zoom at high frequencies)
#+CAPTION: Amplitude Spectral Density of the signal coming from the top geophone (zoom at high frequencies)
#+RESULTS: fig:psd_sample_comp_high_freq
[[file:figs/psd_sample_comp_high_freq.png]]
@ -314,7 +314,7 @@ Now we plot the same curves for the geophone located on the marble.
[px8, ~] = pwelch(d8(:, 1), win, [], [], Fs);
#+end_src
And we compare the ASD (figures [[fig:psd_marble_comp]] and [[fig:psd_marble_comp_high_freq]])
And we compare the Amplitude Spectral Densities (figures [[fig:psd_marble_comp]] and [[fig:psd_marble_comp_high_freq]])
#+begin_src matlab :results none
figure;
hold on;
@ -327,7 +327,7 @@ And we compare the ASD (figures [[fig:psd_marble_comp]] and [[fig:psd_marble_com
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD [V/sqrt(Hz)]')
xlabel('Frequency [Hz]'); ylabel('Amplitude Spectral Density $\left[\frac{V}{\sqrt{Hz}}\right]$')
xlim([0.1, 500]);
legend('Location', 'northeast');
#+end_src
@ -339,7 +339,7 @@ And we compare the ASD (figures [[fig:psd_marble_comp]] and [[fig:psd_marble_com
#+end_src
#+NAME: fig:psd_marble_comp
#+CAPTION: PSD of the signal coming from the top geophone
#+CAPTION: Amplitude Spectral Density of the signal coming from the top geophone
#+RESULTS: fig:psd_marble_comp
[[file:figs/psd_marble_comp.png]]
@ -356,7 +356,7 @@ And we compare the ASD (figures [[fig:psd_marble_comp]] and [[fig:psd_marble_com
#+end_src
#+NAME: fig:psd_marble_comp_high_freq
#+CAPTION: PSD of the signal coming from the top geophone (zoom at high frequencies)
#+CAPTION: Amplitude Spectral Density of the signal coming from the top geophone (zoom at high frequencies)
#+RESULTS: fig:psd_marble_comp_high_freq
[[file:figs/psd_marble_comp_high_freq.png]]
** Effect of the control system on the transmissibility from ground to sample
@ -576,7 +576,7 @@ And we compare all the signals (figures [[fig:psd_sample_comp_lpf]] and [[fig:ps
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD [V/sqrt(Hz)]')
xlabel('Frequency [Hz]'); ylabel('Amplitude Spectral Density $\left[\frac{V}{\sqrt{Hz}}\right]$')
xlim([0.1, 500]);
legend('Location', 'southwest');
#+end_src
@ -588,7 +588,7 @@ And we compare all the signals (figures [[fig:psd_sample_comp_lpf]] and [[fig:ps
#+end_src
#+NAME: fig:psd_sample_comp_lpf
#+CAPTION: PSD of the signal coming from the top geophone
#+CAPTION: Amplitude Spectral Density of the signal coming from the top geophone
#+RESULTS: fig:psd_sample_comp_lpf
[[file:figs/psd_sample_comp_lpf.png]]
@ -604,7 +604,7 @@ And we compare all the signals (figures [[fig:psd_sample_comp_lpf]] and [[fig:ps
#+end_src
#+NAME: fig:psd_sample_comp_high_freq_lpf
#+CAPTION: PSD of the signal coming from the top geophone (zoom at high frequencies)
#+CAPTION: Amplitude Spectral Density of the signal coming from the top geophone (zoom at high frequencies)
#+RESULTS: fig:psd_sample_comp_high_freq_lpf
[[file:figs/psd_sample_comp_high_freq_lpf.png]]
@ -619,7 +619,7 @@ Now we plot the same curves for the geophone located on the marble.
[px_he, ~] = pwelch(d_he(:, 1), win, [], [], Fs);
#+end_src
And we compare the ASD (figures [[fig:psd_marble_comp_lpf]] and [[fig:psd_marble_comp_lpf_high_freq]])
And we compare the Amplitude Spectral Densities (figures [[fig:psd_marble_comp_lpf]] and [[fig:psd_marble_comp_lpf_high_freq]])
#+begin_src matlab :results none
figure;
hold on;
@ -632,7 +632,7 @@ And we compare the ASD (figures [[fig:psd_marble_comp_lpf]] and [[fig:psd_marble
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD [V/sqrt(Hz)]')
xlabel('Frequency [Hz]'); ylabel('Amplitude Spectral Density $\left[\frac{V}{\sqrt{Hz}}\right]$')
xlim([0.1, 500]);
legend('Location', 'northeast');
#+end_src
@ -644,7 +644,7 @@ And we compare the ASD (figures [[fig:psd_marble_comp_lpf]] and [[fig:psd_marble
#+end_src
#+NAME: fig:psd_marble_comp_lpf
#+CAPTION: PSD of the signal coming from the top geophone
#+CAPTION: Amplitude Spectral Density of the signal coming from geophone located on the marble
#+RESULTS: fig:psd_marble_comp_lpf
[[file:figs/psd_marble_comp_lpf.png]]
@ -661,14 +661,141 @@ And we compare the ASD (figures [[fig:psd_marble_comp_lpf]] and [[fig:psd_marble
#+end_src
#+NAME: fig:psd_marble_comp_lpf_high_freq
#+CAPTION: PSD of the signal coming from the top geophone (zoom at high frequencies)
#+CAPTION: Amplitude Spectral Density of the signal coming from the geophone located on the marble (zoom at high frequencies)
#+RESULTS: fig:psd_marble_comp_lpf_high_freq
[[file:figs/psd_marble_comp_lpf_high_freq.png]]
** TODO Conclusion
** Conclusion
#+begin_important
- The Ty stage induces vibrations of the marble and at the sample location above 100Hz
- The hexapod stage induces vibrations at the sample position above 220Hz
#+end_note
* Effect of the Symetrie Driver
** Experimental Setup
We here measure the signals of two geophones:
- One is located on top of the Sample platform
- One is located on the marble
The signal from the top geophone does go trought the slip-ring.
All the control systems are turned OFF except the Hexapod one.
Each measurement are done during 100s.
The settings of the voltage amplifier are:
- DC
- 60dB
- 1kHz
A first order low pass filter with a cut-off frequency of 1kHz is added before the voltage amplifier.
The measurements are:
- =meas_018.mat=: Hexapod's driver on the granite
- =meas_019.mat=: Hexapod's driver on the ground
Each of the =mat= file contains one array =data= with 3 columns:
| Column number | Description |
|---------------+-------------------|
| 1 | Geophone - Marble |
| 2 | Geophone - Sample |
| 3 | Time |
** Matlab Init :noexport:ignore:
#+begin_src matlab :exports none :results silent :noweb yes
<<matlab-init>>
#+end_src
** Load data
We load the data of the z axis of two geophones.
#+begin_src matlab :results none
d_18 = load('mat/data_018.mat', 'data'); d_18 = d_18.data;
d_19 = load('mat/data_019.mat', 'data'); d_19 = d_19.data;
#+end_src
** Analysis - Time Domain
#+begin_src matlab :results none
figure;
hold on;
plot(d_19(:, 3), d_19(:, 1), 'DisplayName', 'Driver - Ground');
plot(d_18(:, 3), d_18(:, 1), 'DisplayName', 'Driver - Granite');
hold off;
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0, 50]);
legend('Location', 'bestoutside');
#+end_src
#+NAME: fig:time_domain_hexa_driver
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/time_domain_hexa_driver.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:time_domain_hexa_driver
#+CAPTION: Comparison of the time domain data when turning off the control system of the stages - Geophone at the sample location
#+RESULTS: fig:time_domain_hexa_driver
[[file:figs/time_domain_hexa_driver.png]]
** Analysis - Frequency Domain
#+begin_src matlab :results none
dt = d_18(2, 3) - d_18(1, 3);
Fs = 1/dt;
win = hanning(ceil(10*Fs));
#+end_src
*** Vibrations at the sample location
First, we compute the Power Spectral Density of the signals coming from the Geophone located at the sample location.
#+begin_src matlab :results none
[px_18, f] = pwelch(d_18(:, 1), win, [], [], Fs);
[px_19, ~] = pwelch(d_19(:, 1), win, [], [], Fs);
#+end_src
#+begin_src matlab :results none
figure;
hold on;
plot(f, sqrt(px_19), 'DisplayName', 'Driver - Ground');
plot(f, sqrt(px_18), 'DisplayName', 'Driver - Granite');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('Amplitude Spectral Density $\left[\frac{V}{\sqrt{Hz}}\right]$')
xlim([0.1, 500]);
legend('Location', 'southwest');
#+end_src
#+NAME: fig:psd_hexa_driver
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/psd_hexa_driver.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:psd_hexa_driver
#+CAPTION: Amplitude Spectral Density of the signal coming from the top geophone
#+RESULTS: fig:psd_hexa_driver
[[file:figs/psd_hexa_driver.png]]
#+begin_src matlab :results none :tangle no :exports none
xlim([80, 500]);
#+end_src
#+NAME: fig:psd_hexa_driver_high_freq
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/psd_hexa_driver_high_freq.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:psd_hexa_driver_high_freq
#+CAPTION: Amplitude Spectral Density of the signal coming from the top geophone (zoom at high frequencies)
#+RESULTS: fig:psd_hexa_driver_high_freq
[[file:figs/psd_hexa_driver_high_freq.png]]
** Conclusion
#+begin_important
Even tough the Hexapod's driver vibrates quite a lot, it does not generate significant vibrations of the granite when either placed on the granite or on the ground.
#+end_important
* Transfer function from one stage to the other
** Experimental Setup
For all the measurements in this section:
@ -909,6 +1036,9 @@ First, we compute the transfer function estimate between the two geophones for t
[[file:figs/coherence_two_geophones.png]]
** Conclusion
#+begin_important
These measurements are not relevant.
#+end_important
* Effect of the Ty Control System on the vibration of the Sample :noexport:ignore:
** Experimental Setup
@ -956,23 +1086,36 @@ We load the data of the z axis of two geophones.
#+begin_src matlab :results none
figure;
subplot(1, 2, 1);
hold on;
plot(tyOn.t, tyOn.x1);
plot(tyOn.t, tyOn.x2);
plot(tyOn.t, tyOn.x1, 'DisplayName', 'Ty ON - Marble');
plot(tyOff.t, tyOff.x1, 'DisplayName', 'Ty OFF - Marble');
hold off;
legend({'x1 - ON', 'x2 - ON'});
legend();
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0, 50]);
subplot(1, 2, 2);
hold on;
plot(tyOn.t, tyOn.x2, 'DisplayName', 'Ty ON - Sample');
plot(tyOff.t, tyOff.x2, 'DisplayName', 'Ty OFF - Sample');
hold off;
legend();
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0, 50]);
#+end_src
#+begin_src matlab :results none
figure;
hold on;
plot(tyOff.t, tyOff.x1);
plot(tyOff.t, tyOff.x2);
hold off;
legend({'x1 - OFF', 'x2 - OFF'});
#+NAME: fig:time_domain_effect_ty
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/time_domain_effect_ty.pdf" :var figsize="full-normal" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:time_domain_effect_ty
#+CAPTION: Effect of the Ty control system on the vibrations of the marble and sample
#+RESULTS: fig:time_domain_effect_ty
[[file:figs/time_domain_effect_ty.png]]
** Analysis - Frequency Domain
#+begin_src matlab :results none
Fs = 1/dt;
@ -989,80 +1132,36 @@ We load the data of the z axis of two geophones.
#+begin_src matlab :results none
figure;
subplot(1, 2, 1);
hold on;
plot(f, sqrt(pxOn1));
plot(f, sqrt(pxOn2));
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]')
% xlim([2, 500]);
#+end_src
#+begin_src matlab :results none
figure;
hold on;
plot(f, sqrt(pxOn1));
plot(f, sqrt(pxOff1));
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]')
% xlim([2, 500]);
#+end_src
#+begin_src matlab :results none
figure;
hold on;
plot(f, sqrt(pxOn2));
plot(f, sqrt(pxOff2));
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]')
% xlim([2, 500]);
#+end_src
#+begin_src matlab :results none
[T_off, ~] = tfestimate(tyOff.x1, tyOff.x2, win, [], [], Fs);
[coh_off, ~] = mscohere(tyOff.x1, tyOff.x2, win, [], [], Fs);
[T_on, ~] = tfestimate(tyOn.x1, tyOn.x2, win, [], [], Fs);
[coh_on, ~] = mscohere(tyOn.x1, tyOn.x2, win, [], [], Fs);
#+end_src
#+begin_src matlab :results none :exports none
figure;
hold on;
plot(f, coh_on);
plot(f, coh_off);
hold off;
set(gca, 'xscale', 'log');
xlabel('Frequency [Hz]'); ylabel('Coherence');
ylim([0,1]); xlim([1, 500]);
#+end_src
#+begin_src matlab :results none :exports none
figure;
ax1 = subplot(2, 1, 1);
hold on;
plot(f, abs(T_on));
plot(f, abs(T_off));
plot(f, sqrt(pxOn1), 'DisplayName', 'Ty ON - Marble');
plot(f, sqrt(pxOff1), 'DisplayName', 'Ty OFF - Marble');
hold off;
legend();
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
set(gca, 'XTickLabel',[]);
ylabel('Magnitude');
xlim([0.1, 500]); ylim([1e-4, 1]);
xlabel('Frequency [Hz]'); ylabel('Amplitude Spectral Density $\left[\frac{V}{\sqrt{Hz}}\right]$')
ax2 = subplot(2, 1, 2);
subplot(1, 2, 2);
hold on;
plot(f, mod(180+180/pi*phase(T_on), 360)-180);
plot(f, mod(180+180/pi*phase(T_off), 360)-180);
plot(f, sqrt(pxOn2), 'DisplayName', 'Ty ON - Sample');
plot(f, sqrt(pxOff2), 'DisplayName', 'Ty OFF - Sample');
hold off;
set(gca, 'xscale', 'log');
ylim([-180, 180]);
yticks([-180, -90, 0, 90, 180]);
xlabel('Frequency [Hz]'); ylabel('Phase');
linkaxes([ax1,ax2],'x');
xlim([1, 500]);
legend();
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('Amplitude Spectral Density $\left[\frac{V}{\sqrt{Hz}}\right]$')
xlim([0.1, 500]); ylim([1e-4, 1]);
#+end_src
#+NAME: fig:psd_effect_ty
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/psd_effect_ty.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:psd_effect_ty
#+CAPTION: Amplitude Spectral Density - Effect of the Ty control system
#+RESULTS: fig:psd_effect_ty
[[file:figs/psd_effect_ty.png]]
** Conclusion