Add analysis on the new measurements

This commit is contained in:
Thomas Dehaeze 2019-05-07 18:30:04 +02:00
parent 40e492ffed
commit 3cba7b5fdc
18 changed files with 488 additions and 52 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

View File

@ -166,12 +166,14 @@ We now look at the difference between the signal directly measured by the ADC an
:END: :END:
#+begin_src bash :exports none :results none #+begin_src bash :exports none :results none
if [ meas_volt_amp.m -nt data/meas_volt_amp.zip ]; then
zip data/meas_volt_amp \ zip data/meas_volt_amp \
mat/data_003.mat \ mat/data_003.mat \
mat/data_004.mat \ mat/data_004.mat \
mat/data_005.mat \ mat/data_005.mat \
mat/data_006.mat \ mat/data_006.mat \
meas_volt_amp.m meas_volt_amp.m
fi
#+end_src #+end_src
The data and matlab files are accessible [[file:data/meas_volt_amp.zip][here]]. The data and matlab files are accessible [[file:data/meas_volt_amp.zip][here]].
@ -286,7 +288,10 @@ Finally, the ASD is shown on figure [[fig:ampli_noise_psd]].
** Conclusion ** Conclusion
#+begin_important #+begin_important
Noise induced by the voltage amplifiers is not a limiting factor. *Questions*:
- Where does those sharp peaks comes from? Can this be due to aliasing?
Noise induced by the voltage amplifiers seems not to be a limiting factor as we have the same noise when they are OFF and ON.
#+end_important #+end_important
* Measure of the noise induced by the Slip-Ring * Measure of the noise induced by the Slip-Ring
@ -296,12 +301,14 @@ Finally, the ASD is shown on figure [[fig:ampli_noise_psd]].
:END: :END:
#+begin_src bash :exports none :results none #+begin_src bash :exports none :results none
if [ meas_slip_ring.m -nt data/meas_slip_ring.zip ]; then
zip data/meas_slip_ring \ zip data/meas_slip_ring \
mat/data_008.mat \ mat/data_008.mat \
mat/data_009.mat \ mat/data_009.mat \
mat/data_010.mat \ mat/data_010.mat \
mat/data_011.mat \ mat/data_011.mat \
meas_slip_ring.m meas_slip_ring.m
fi
#+end_src #+end_src
The data and matlab files are accessible [[file:data/meas_slip_ring.zip][here]]. The data and matlab files are accessible [[file:data/meas_slip_ring.zip][here]].
@ -449,7 +456,9 @@ And we plot the ASD of the measured signals (figure [[fig:sr_psd_compare]]);
** Conclusion ** Conclusion
#+begin_important #+begin_important
*Questions:*
- Why is there some sharp peaks? Can this be due to aliasing?
- It is possible that the amplifiers were saturating during the measurements => should redo the measurements with a low pass filter before the voltage amplifier
#+end_important #+end_important
* Measure of the noise induced by the slip ring when using a geophone * Measure of the noise induced by the slip ring when using a geophone
@ -459,12 +468,14 @@ And we plot the ASD of the measured signals (figure [[fig:sr_psd_compare]]);
:END: :END:
#+begin_src bash :exports none :results none #+begin_src bash :exports none :results none
if [ meas_sr_geophone.m -nt data/meas_sr_geophone.zip ]; then
zip data/meas_sr_geophone \ zip data/meas_sr_geophone \
mat/data_012.mat \ mat/data_012.mat \
mat/data_013.mat \ mat/data_013.mat \
mat/data_016.mat \ mat/data_016.mat \
mat/data_017.mat \ mat/data_017.mat \
meas_sr_geophone.m meas_sr_geophone.m
fi
#+end_src #+end_src
The data and matlab files are accessible [[file:data/meas_sr_geophone.zip][here]]. The data and matlab files are accessible [[file:data/meas_sr_geophone.zip][here]].
@ -647,7 +658,7 @@ Then the Slip-Ring is OFF, we don't observe this 40kHz anymore (figure [[fig:osc
#+begin_important #+begin_important
- By looking at the signals using an oscilloscope, there is a lot of high frequency noise when turning on the Slip-Ring - By looking at the signals using an oscilloscope, there is a lot of high frequency noise when turning on the Slip-Ring
- This can eventually saturate the voltage amplifiers (seen by a led indicating saturation) - This can eventually saturate the voltage amplifiers (seen by a led indicating saturation)
- The choice is to add a Low pass filter before the voltage amplifiers to not saturate them and filter the noise. - The choice is to *add a Low pass filter before the voltage amplifiers* to not saturate them and filter the noise.
#+end_important #+end_important
** New measurements with a LPF before the Voltage Amplifiers ** New measurements with a LPF before the Voltage Amplifiers
@ -812,7 +823,7 @@ Finally, we compare the Amplitude Spectral Density of the signals (figure [[fig:
*** Conclusion *** Conclusion
#+begin_important #+begin_important
- Using the LPF, we don't have any perturbation coming from the slip-ring when it is on. - Using the LPF, we don't have any perturbation coming from the slip-ring when it is on.
- However, we will use a smaller value of the capacitor to have a cut-off frequency at $1kHz$. - However, we should use a smaller value of the capacitor to have a cut-off frequency at $1kHz$.
#+end_important #+end_important
* Measure of the influence of the AC/DC option on the voltage amplifiers * Measure of the influence of the AC/DC option on the voltage amplifiers
@ -822,10 +833,12 @@ Finally, we compare the Amplitude Spectral Density of the signals (figure [[fig:
:END: :END:
#+begin_src bash :exports none :results none #+begin_src bash :exports none :results none
if [ meas_noise_ac_dc.m -nt data/meas_noise_ac_dc.zip ]; then
zip data/meas_noise_ac_dc \ zip data/meas_noise_ac_dc \
mat/data_012.mat \ mat/data_012.mat \
mat/data_013.mat \ mat/data_013.mat \
meas_noise_ac_dc.m meas_noise_ac_dc.m
fi
#+end_src #+end_src
The data and matlab files are accessible [[file:data/meas_noise_ac_dc.zip][here]]. The data and matlab files are accessible [[file:data/meas_noise_ac_dc.zip][here]].
@ -948,13 +961,27 @@ The ASD of the signals are compare on figure [[fig:ac_dc_option_asd]].
#+begin_important #+begin_important
- The voltage amplifiers include some very sharp high pass filters at 1.5Hz (maybe 4th order) - The voltage amplifiers include some very sharp high pass filters at 1.5Hz (maybe 4th order)
- There is a DC offset on the time domain signal because the DC-offset knob was not set to zero - There is a DC offset on the time domain signal because the DC-offset knob was not set to zero
*Questions*:
- What option should be used for the measurements?
#+end_important #+end_important
* Measure of the Low Pass Filter * Transfer function of the Low Pass Filter
** Measurement Description :PROPERTIES:
:header-args:matlab+: :tangle low_pass_filter_measurements.m
:header-args:matlab+: :comments org :mkdirp yes
:END:
#+begin_src bash :exports none :results none
if [ low_pass_filter_measurements.m -nt data/low_pass_filter_measurements.zip ]; then
zip data/low_pass_filter_measurements \
mat/data_018.mat \
mat/data_019.mat \
low_pass_filter_measurements.m
fi
#+end_src
The computation files for this section are accessible [[file:data/low_pass_filter_measurements.zip][here]].
** First LPF with a Cut-off frequency of 160Hz
*** Measurement Description
*Goal*: *Goal*:
- Measure the Low Pass Filter Transfer Function - Measure the Low Pass Filter Transfer Function
@ -972,14 +999,14 @@ Which makes a cut-off frequency of $f_c = \frac{1}{RC} = 1000 rad/s = 160Hz$.
#+HEADER: :output-dir figs #+HEADER: :output-dir figs
#+begin_src latex :file lpf.pdf :post pdf2svg(file=*this*, ext="png") :exports both #+begin_src latex :file lpf.pdf :post pdf2svg(file=*this*, ext="png") :exports both
\begin{tikzpicture} \begin{tikzpicture}
\draw (0,2) node[circ] \draw (0,2)
to [R=\(R\)] ++(2,0) to [R=\(R\)] ++(2,0) node[circ]
to ++(2,0) node[circ] to ++(2,0)
++(-2,0) node[circ] ++(-2,0)
to [C=\(C\)] ++(0,-2) to [C=\(C\)] ++(0,-2) node[circ]
++(-2,0) node[circ] ++(-2,0)
to ++(2,0) node[circ] to ++(2,0)
to ++(2,0) node[circ]; to ++(2,0)
\end{tikzpicture} \end{tikzpicture}
#+end_src #+end_src
@ -1002,18 +1029,23 @@ Which makes a cut-off frequency of $f_c = \frac{1}{RC} = 1000 rad/s = 160Hz$.
| 2 | Amplifier 2 | | 2 | Amplifier 2 |
| 3 | Time | | 3 | Time |
** Matlab Init :noexport:ignore: #+name: fig:lpf_picture
#+caption: Picture of the low pass filter used
#+attr_html: :width 500px
[[file:./img/IMG_20190507_102756.jpg]]
*** Matlab Init :noexport:ignore:
#+begin_src matlab :exports none :results silent :noweb yes #+begin_src matlab :exports none :results silent :noweb yes
<<matlab-init>> <<matlab-init>>
#+end_src #+end_src
** Load data *** Load data
We load the data of the z axis of two geophones. We load the data of the z axis of two geophones.
#+begin_src matlab :results none #+begin_src matlab :results none
data = load('mat/data_018.mat', 'data'); data = data.data; data = load('mat/data_018.mat', 'data'); data = data.data;
#+end_src #+end_src
** Transfer function of the LPF *** Transfer function of the LPF
We compute the transfer function from the signal without the LPF to the signal measured with the LPF. We compute the transfer function from the signal without the LPF to the signal measured with the LPF.
#+begin_src matlab :results none #+begin_src matlab :results none
dt = data(2, 3)-data(1, 3); dt = data(2, 3)-data(1, 3);
@ -1068,16 +1100,82 @@ We obtain the result on figure [[fig:Glpf_bode]].
#+CAPTION: Bode Diagram of the measured Low Pass filter and the theoritical one #+CAPTION: Bode Diagram of the measured Low Pass filter and the theoritical one
#+RESULTS: fig:Glpf_bode #+RESULTS: fig:Glpf_bode
[[file:figs/Glpf_bode.png]] [[file:figs/Glpf_bode.png]]
** Conclusion *** Conclusion
#+begin_important #+begin_important
As we want to measure things up to $500Hz$, we chose to change the value of the capacitor to obtain a cut-off frequency of $1kHz$. As we want to measure things up to $500Hz$, we chose to change the value of the capacitor to obtain a cut-off frequency of $1kHz$.
#+end_important #+end_important
** TODO Low Pass Filter with a cut-off frequency of 1kHz ** Second LPF with a Cut-off frequency of 1000Hz
*** Measurement description
This time, the value are This time, the value are
\begin{aligned} \begin{aligned}
R &= 1k\Omega \\ R &= 1k\Omega \\
C &= 150nF C &= 150nF
\end{aligned} \end{aligned}
Which makes a low pass filter with a cut-off frequency of $f_c = 1060Hz$. Which makes a low pass filter with a cut-off frequency of $f_c = 1060Hz$.
*** Load data
We load the data of the z axis of two geophones.
#+begin_src matlab :results none
data = load('mat/data_019.mat', 'data'); data = data.data;
#+end_src
*** Transfer function of the LPF
We compute the transfer function from the signal without the LPF to the signal measured with the LPF.
#+begin_src matlab :results none
dt = data(2, 3)-data(1, 3);
Fs = 1/dt; % [Hz]
win = hanning(ceil(10*Fs));
#+end_src
#+begin_src matlab :results none
[Glpf, f] = tfestimate(data(:, 2), data(:, 1), win, [], [], Fs);
#+end_src
We compare this transfer function with a transfer function corresponding to an ideal first order LPF with a cut-off frequency of $1060Hz$.
We obtain the result on figure [[fig:Glpf_bode_bis]].
#+begin_src matlab :results none
Gth = 1/(1+s/1060/2/pi);
#+end_src
#+begin_src matlab :results none
figure;
ax1 = subplot(2, 1, 1);
hold on;
plot(f, abs(Glpf));
plot(f, abs(squeeze(freqresp(Gth, f, 'Hz'))));
hold off;
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
set(gca, 'XTickLabel',[]);
ylabel('Magnitude');
ax2 = subplot(2, 1, 2);
hold on;
plot(f, mod(180+180/pi*phase(Glpf), 360)-180);
plot(f, 180/pi*unwrap(angle(squeeze(freqresp(Gth, f, 'Hz')))));
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]);
#+end_src
#+NAME: fig:Glpf_bode_bis
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/Glpf_bode_bis.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:Glpf_bode_bis
#+CAPTION: Bode Diagram of the measured Low Pass filter and the theoritical one
#+RESULTS: fig:Glpf_bode_bis
[[file:figs/Glpf_bode_bis.png]]
*** Conclusion
#+begin_important
The added LPF has the expected behavior.
#+end_important

View File

@ -0,0 +1,101 @@
% Matlab Init :noexport:ignore:
clear; close all; clc;
%% Intialize Laplace variable
s = zpk('s');
%% Initialize ans with org-babel
ans = 0;
% Load data
% We load the data of the z axis of two geophones.
data = load('mat/data_018.mat', 'data'); data = data.data;
% Transfer function of the LPF
% We compute the transfer function from the signal without the LPF to the signal measured with the LPF.
dt = data(2, 3)-data(1, 3);
Fs = 1/dt; % [Hz]
win = hanning(ceil(10*Fs));
[Glpf, f] = tfestimate(data(:, 2), data(:, 1), win, [], [], Fs);
% We compare this transfer function with a transfer function corresponding to an ideal first order LPF with a cut-off frequency of $1000rad/s$.
% We obtain the result on figure [[fig:Glpf_bode]].
Gth = 1/(1+s/1000)
figure;
ax1 = subplot(2, 1, 1);
hold on;
plot(f, abs(Glpf));
plot(f, abs(squeeze(freqresp(Gth, f, 'Hz'))));
hold off;
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
set(gca, 'XTickLabel',[]);
ylabel('Magnitude');
ax2 = subplot(2, 1, 2);
hold on;
plot(f, mod(180+180/pi*phase(Glpf), 360)-180);
plot(f, 180/pi*unwrap(angle(squeeze(freqresp(Gth, f, 'Hz')))));
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]);
% Load data
% We load the data of the z axis of two geophones.
data = load('mat/data_019.mat', 'data'); data = data.data;
% Transfer function of the LPF
% We compute the transfer function from the signal without the LPF to the signal measured with the LPF.
dt = data(2, 3)-data(1, 3);
Fs = 1/dt; % [Hz]
win = hanning(ceil(10*Fs));
[Glpf, f] = tfestimate(data(:, 2), data(:, 1), win, [], [], Fs);
% We compare this transfer function with a transfer function corresponding to an ideal first order LPF with a cut-off frequency of $1060Hz$.
% We obtain the result on figure [[fig:Glpf_bode_bis]].
Gth = 1/(1+s/1060/2/pi);
figure;
ax1 = subplot(2, 1, 1);
hold on;
plot(f, abs(Glpf));
plot(f, abs(squeeze(freqresp(Gth, f, 'Hz'))));
hold off;
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
set(gca, 'XTickLabel',[]);
ylabel('Magnitude');
ax2 = subplot(2, 1, 2);
hold on;
plot(f, mod(180+180/pi*phase(Glpf), 360)-180);
plot(f, 180/pi*unwrap(angle(squeeze(freqresp(Gth, f, 'Hz')))));
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]);

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

View File

@ -432,6 +432,243 @@ First, we compute the Power Spectral Density of the signals coming from the Geop
- Why it seems that the measurement noise at high frequency is the limiting factor when the slip ring is ON but not when it is OFF? - Why it seems that the measurement noise at high frequency is the limiting factor when the slip ring is ON but not when it is OFF?
#+end_note #+end_note
* Effect of all the control systems on the Sample vibrations - One stage at a time
** 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, then, they are turned on one at a time.
Each measurement are done during 100s.
The settings of the voltage amplifier are shown on figure [[fig:amplifier_settings]].
A first order low pass filter with a cut-off frequency of 1kHz is added before the voltage amplifier.
#+name: tab:control_system_on_off
#+caption: Summary of the measurements and the states of the control systems
| Ty | Ry | Slip Ring | Spindle | Hexapod | Meas. file |
|------+------+-----------+---------+---------+----------------|
| OFF | OFF | OFF | OFF | OFF | =meas_013.mat= |
| *ON* | OFF | OFF | OFF | OFF | =meas_014.mat= |
| OFF | *ON* | OFF | OFF | OFF | =meas_015.mat= |
| OFF | OFF | *ON* | OFF | OFF | =meas_016.mat= |
| OFF | OFF | OFF | *ON* | OFF | =meas_017.mat= |
| OFF | OFF | OFF | OFF | *ON* | =meas_018.mat= |
Each of the =mat= file contains one array =data= with 3 columns:
| Column number | Description |
|---------------+-------------------|
| 1 | Geophone - Marble |
| 2 | Geophone - Sample |
| 3 | Time |
#+name: fig:amplifier_settings
#+caption: Voltage amplifier settings for the measurement
#+attr_html: :width 500px
[[file:./img/IMG_20190507_101459.jpg]]
** 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_of = load('mat/data_013.mat', 'data'); d_of = d_of.data;
d_ty = load('mat/data_014.mat', 'data'); d_ty = d_ty.data;
d_ry = load('mat/data_015.mat', 'data'); d_ry = d_ry.data;
d_sr = load('mat/data_016.mat', 'data'); d_sr = d_sr.data;
d_rz = load('mat/data_017.mat', 'data'); d_rz = d_rz.data;
d_he = load('mat/data_018.mat', 'data'); d_he = d_he.data;
#+end_src
** Analysis - Time Domain
First, we can look at the time domain data and compare all the measurements:
- comparison for the geophone at the sample location (figure [[fig:time_domain_sample_lpf]])
- comparison for the geophone on the granite (figure [[fig:time_domain_marble_lpf]])
#+begin_src matlab :results none
figure;
hold on;
plot(d_of(:, 3), d_of(:, 2), 'DisplayName', 'All OFF';
plot(d_ty(:, 3), d_ty(:, 2), 'DisplayName', 'Ty ON');
plot(d_ry(:, 3), d_ry(:, 2), 'DisplayName', 'Ry ON');
plot(d_sr(:, 3), d_sr(:, 2), 'DisplayName', 'S-R ON');
plot(d_rz(:, 3), d_rz(:, 2), 'DisplayName', 'Rz ON');
plot(d_he(:, 3), d_he(:, 2), 'DisplayName', 'Hexa ON');
hold off;
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0, 50]);
legend('Location', 'bestoutside');
#+end_src
#+NAME: fig:time_domain_sample_lpf
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/time_domain_sample_lpf.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:time_domain_sample_lpf
#+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_sample_lpf
[[file:figs/time_domain_sample_lpf.png]]
#+begin_src matlab :results none
figure;
hold on;
plot(d_of(:, 3), d_of(:, 1), 'DisplayName', 'All OFF');
plot(d_ty(:, 3), d_ty(:, 1), 'DisplayName', 'Ty ON');
plot(d_ry(:, 3), d_ry(:, 1), 'DisplayName', 'Ry ON');
plot(d_sr(:, 3), d_sr(:, 1), 'DisplayName', 'S-R ON');
plot(d_rz(:, 3), d_rz(:, 1), 'DisplayName', 'Rz ON');
plot(d_he(:, 3), d_he(:, 1), 'DisplayName', 'Hexa ON');
hold off;
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0, 50]);
legend('Location', 'bestoutside');
#+end_src
#+NAME: fig:time_domain_marble_lpf
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/time_domain_marble_lpf.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:time_domain_marble_lpf
#+CAPTION: Comparison of the time domain data when turning off the control system of the stages - Geophone on the marble
#+RESULTS: fig:time_domain_marble_lpf
[[file:figs/time_domain_marble_lpf.png]]
** Analysis - Frequency Domain
#+begin_src matlab :results none
dt = d_of(2, 3) - d_of(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_of, f] = pwelch(d_of(:, 2), win, [], [], Fs);
[px_ty, ~] = pwelch(d_ty(:, 2), win, [], [], Fs);
[px_ry, ~] = pwelch(d_ry(:, 2), win, [], [], Fs);
[px_sr, ~] = pwelch(d_sr(:, 2), win, [], [], Fs);
[px_rz, ~] = pwelch(d_rz(:, 2), win, [], [], Fs);
[px_he, ~] = pwelch(d_he(:, 2), win, [], [], Fs);
#+end_src
And we compare all the signals (figures [[fig:psd_sample_comp_lpf]] and [[fig:psd_sample_comp_high_freq_lpf]]).
#+begin_src matlab :results none
figure;
hold on;
plot(f, sqrt(px_of), 'DisplayName', 'All OFF');
plot(f, sqrt(px_ty), 'DisplayName', 'Ty ON');
plot(f, sqrt(px_ry), 'DisplayName', 'Ry ON');
plot(f, sqrt(px_sr), 'DisplayName', 'S-R ON');
plot(f, sqrt(px_rz), 'DisplayName', 'Rz ON');
plot(f, sqrt(px_he), 'DisplayName', 'Hexa ON');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD [V/sqrt(Hz)]')
xlim([0.1, 500]);
legend('Location', 'southwest');
#+end_src
#+NAME: fig:psd_sample_comp_lpf
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/psd_sample_comp_lpf.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:psd_sample_comp_lpf
#+CAPTION: PSD of the signal coming from the top geophone
#+RESULTS: fig:psd_sample_comp_lpf
[[file:figs/psd_sample_comp_lpf.png]]
#+begin_src matlab :results none :tangle no :exports none
xlim([80, 500]);
#+end_src
#+NAME: fig:psd_sample_comp_high_freq_lpf
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/psd_sample_comp_high_freq_lpf.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:psd_sample_comp_high_freq_lpf
#+CAPTION: PSD 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]]
*** Vibrations on the marble
Now we plot the same curves for the geophone located on the marble.
#+begin_src matlab :results none
[px_of, f] = pwelch(d_of(:, 1), win, [], [], Fs);
[px_ty, ~] = pwelch(d_ty(:, 1), win, [], [], Fs);
[px_ry, ~] = pwelch(d_ry(:, 1), win, [], [], Fs);
[px_sr, ~] = pwelch(d_sr(:, 1), win, [], [], Fs);
[px_rz, ~] = pwelch(d_rz(:, 1), win, [], [], Fs);
[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]])
#+begin_src matlab :results none
figure;
hold on;
plot(f, sqrt(px_of), 'DisplayName', 'All OFF');
plot(f, sqrt(px_ty), 'DisplayName', 'Ty ON');
plot(f, sqrt(px_ry), 'DisplayName', 'Ry ON');
plot(f, sqrt(px_sr), 'DisplayName', 'S-R ON');
plot(f, sqrt(px_rz), 'DisplayName', 'Rz ON');
plot(f, sqrt(px_he), 'DisplayName', 'Hexa ON');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD [V/sqrt(Hz)]')
xlim([0.1, 500]);
legend('Location', 'northeast');
#+end_src
#+NAME: fig:psd_marble_comp_lpf
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/psd_marble_comp_lpf.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:psd_marble_comp_lpf
#+CAPTION: PSD of the signal coming from the top geophone
#+RESULTS: fig:psd_marble_comp_lpf
[[file:figs/psd_marble_comp_lpf.png]]
#+begin_src matlab :results none :tangle no :exports none
legend('Location', 'southwest');
xlim([80, 500]);
#+end_src
#+NAME: fig:psd_marble_comp_lpf_high_freq
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/psd_marble_comp_lpf_high_freq.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:psd_marble_comp_lpf_high_freq
#+CAPTION: PSD of the signal coming from the top geophone (zoom at high frequencies)
#+RESULTS: fig:psd_marble_comp_lpf_high_freq
[[file:figs/psd_marble_comp_lpf_high_freq.png]]
** TODO Conclusion
#+begin_important
#+end_note
* Transfer function from one stage to the other * Transfer function from one stage to the other
** Experimental Setup ** Experimental Setup
For all the measurements in this section: For all the measurements in this section:

View File

@ -58,12 +58,12 @@ The voltage amplifiers are: 60db, DC(!) and 1kHz
Channel 1: marble motion Channel 1: marble motion
Channel 2: Sample motion Channel 2: Sample motion
- All OFF meas_013.mat - All OFF =meas_013.mat=
- Ty ON meas_014.mat - Ty ON =meas_014.mat=
- Ry ON meas_015.mat - Ry ON =meas_015.mat=
- SR ON meas_016.mat - SR ON =meas_016.mat=
- Rz ON meas_017.mat - Rz ON =meas_017.mat=
- Hexa ON meas_018.mat - Hexa ON =meas_018.mat=
* Test without the Hexapod Driver on the granite * Test without the Hexapod Driver on the granite