Add analysis on the new measurements
							
								
								
									
										
											BIN
										
									
								
								slip-ring-test/figs/Glpf_bode_bis.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 75 KiB  | 
| 
		 Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 2.5 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slip-ring-test/img/IMG_20190507_101453.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 4.0 MiB  | 
							
								
								
									
										
											BIN
										
									
								
								slip-ring-test/img/IMG_20190507_102756.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.1 MiB  | 
@@ -166,12 +166,14 @@ We now look at the difference between the signal directly measured by the ADC an
 | 
			
		||||
  :END:
 | 
			
		||||
 | 
			
		||||
#+begin_src bash :exports none :results none
 | 
			
		||||
  zip data/meas_volt_amp \
 | 
			
		||||
      mat/data_003.mat \
 | 
			
		||||
      mat/data_004.mat \
 | 
			
		||||
      mat/data_005.mat \
 | 
			
		||||
      mat/data_006.mat \
 | 
			
		||||
      meas_volt_amp.m
 | 
			
		||||
  if [ meas_volt_amp.m -nt data/meas_volt_amp.zip ]; then
 | 
			
		||||
    zip data/meas_volt_amp \
 | 
			
		||||
        mat/data_003.mat \
 | 
			
		||||
        mat/data_004.mat \
 | 
			
		||||
        mat/data_005.mat \
 | 
			
		||||
        mat/data_006.mat \
 | 
			
		||||
        meas_volt_amp.m
 | 
			
		||||
  fi
 | 
			
		||||
#+end_src
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
#+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
 | 
			
		||||
 | 
			
		||||
* 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:
 | 
			
		||||
 | 
			
		||||
#+begin_src bash :exports none :results none
 | 
			
		||||
  zip data/meas_slip_ring \
 | 
			
		||||
      mat/data_008.mat \
 | 
			
		||||
      mat/data_009.mat \
 | 
			
		||||
      mat/data_010.mat \
 | 
			
		||||
      mat/data_011.mat \
 | 
			
		||||
      meas_slip_ring.m
 | 
			
		||||
  if [ meas_slip_ring.m -nt data/meas_slip_ring.zip ]; then
 | 
			
		||||
    zip data/meas_slip_ring \
 | 
			
		||||
        mat/data_008.mat \
 | 
			
		||||
        mat/data_009.mat \
 | 
			
		||||
        mat/data_010.mat \
 | 
			
		||||
        mat/data_011.mat \
 | 
			
		||||
        meas_slip_ring.m
 | 
			
		||||
  fi
 | 
			
		||||
#+end_src
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
#+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
 | 
			
		||||
 | 
			
		||||
* 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:
 | 
			
		||||
 | 
			
		||||
#+begin_src bash :exports none :results none
 | 
			
		||||
  zip data/meas_sr_geophone \
 | 
			
		||||
      mat/data_012.mat \
 | 
			
		||||
      mat/data_013.mat \
 | 
			
		||||
      mat/data_016.mat \
 | 
			
		||||
      mat/data_017.mat \
 | 
			
		||||
      meas_sr_geophone.m
 | 
			
		||||
  if [ meas_sr_geophone.m -nt data/meas_sr_geophone.zip ]; then
 | 
			
		||||
    zip data/meas_sr_geophone \
 | 
			
		||||
        mat/data_012.mat \
 | 
			
		||||
        mat/data_013.mat \
 | 
			
		||||
        mat/data_016.mat \
 | 
			
		||||
        mat/data_017.mat \
 | 
			
		||||
        meas_sr_geophone.m
 | 
			
		||||
  fi
 | 
			
		||||
#+end_src
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
  - 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)
 | 
			
		||||
  - 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
 | 
			
		||||
 | 
			
		||||
** 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
 | 
			
		||||
#+begin_important
 | 
			
		||||
  - 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
 | 
			
		||||
 | 
			
		||||
* 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:
 | 
			
		||||
 | 
			
		||||
#+begin_src bash :exports none :results none
 | 
			
		||||
  zip data/meas_noise_ac_dc \
 | 
			
		||||
      mat/data_012.mat \
 | 
			
		||||
      mat/data_013.mat \
 | 
			
		||||
      meas_noise_ac_dc.m
 | 
			
		||||
  if [ meas_noise_ac_dc.m -nt data/meas_noise_ac_dc.zip ]; then
 | 
			
		||||
    zip data/meas_noise_ac_dc \
 | 
			
		||||
        mat/data_012.mat \
 | 
			
		||||
        mat/data_013.mat \
 | 
			
		||||
        meas_noise_ac_dc.m
 | 
			
		||||
  fi
 | 
			
		||||
#+end_src
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
  - 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
 | 
			
		||||
 | 
			
		||||
  *Questions*:
 | 
			
		||||
  - What option should be used for the measurements?
 | 
			
		||||
#+end_important
 | 
			
		||||
 | 
			
		||||
* Measure of the Low Pass Filter
 | 
			
		||||
** Measurement Description
 | 
			
		||||
* Transfer function of the Low Pass Filter
 | 
			
		||||
  :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*:
 | 
			
		||||
- 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
 | 
			
		||||
#+begin_src latex :file lpf.pdf :post pdf2svg(file=*this*, ext="png") :exports both
 | 
			
		||||
  \begin{tikzpicture}
 | 
			
		||||
    \draw (0,2) node[circ]
 | 
			
		||||
          to [R=\(R\)] ++(2,0)
 | 
			
		||||
          to ++(2,0)  node[circ]
 | 
			
		||||
          ++(-2,0)  node[circ]
 | 
			
		||||
          to [C=\(C\)] ++(0,-2)
 | 
			
		||||
          ++(-2,0) node[circ]
 | 
			
		||||
          to ++(2,0) node[circ]
 | 
			
		||||
          to ++(2,0) node[circ];
 | 
			
		||||
    \draw (0,2)
 | 
			
		||||
          to [R=\(R\)] ++(2,0) node[circ]
 | 
			
		||||
          to ++(2,0)
 | 
			
		||||
          ++(-2,0)
 | 
			
		||||
          to [C=\(C\)] ++(0,-2) node[circ]
 | 
			
		||||
          ++(-2,0)
 | 
			
		||||
          to ++(2,0)
 | 
			
		||||
          to ++(2,0)
 | 
			
		||||
  \end{tikzpicture}
 | 
			
		||||
#+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          |
 | 
			
		||||
|      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
 | 
			
		||||
  <<matlab-init>>
 | 
			
		||||
#+end_src
 | 
			
		||||
 | 
			
		||||
** Load data
 | 
			
		||||
*** Load data
 | 
			
		||||
We load the data of the z axis of two geophones.
 | 
			
		||||
#+begin_src matlab :results none
 | 
			
		||||
  data = load('mat/data_018.mat', 'data'); data = data.data;
 | 
			
		||||
#+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.
 | 
			
		||||
#+begin_src matlab :results none
 | 
			
		||||
  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
 | 
			
		||||
#+RESULTS: fig:Glpf_bode
 | 
			
		||||
[[file:figs/Glpf_bode.png]]
 | 
			
		||||
** Conclusion
 | 
			
		||||
*** Conclusion
 | 
			
		||||
#+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$.
 | 
			
		||||
#+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
 | 
			
		||||
\begin{aligned}
 | 
			
		||||
  R &= 1k\Omega \\
 | 
			
		||||
  C &= 150nF
 | 
			
		||||
\end{aligned}
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										101
									
								
								slip-ring-test/low_pass_filter_measurements.m
									
									
									
									
									
										Normal 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]);
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								static-measurements/figs/psd_marble_comp_lpf.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 152 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static-measurements/figs/psd_marble_comp_lpf_high_freq.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 186 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static-measurements/figs/psd_sample_comp_high_freq_lpf.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 190 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static-measurements/figs/psd_sample_comp_lpf.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 150 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static-measurements/figs/time_domain_marble_lpf.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 103 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static-measurements/figs/time_domain_sample_lpf.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 78 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static-measurements/img/IMG_20190507_101459.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.3 MiB  | 
							
								
								
									
										
											BIN
										
									
								
								static-measurements/img/IMG_20190507_101502.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.3 MiB  | 
							
								
								
									
										
											BIN
										
									
								
								static-measurements/img/IMG_20190507_101506.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.6 MiB  | 
@@ -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?
 | 
			
		||||
#+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
 | 
			
		||||
** Experimental Setup
 | 
			
		||||
For all the measurements in this section:
 | 
			
		||||
 
 | 
			
		||||
@@ -58,13 +58,13 @@ The voltage amplifiers are: 60db, DC(!) and 1kHz
 | 
			
		||||
Channel 1: marble motion
 | 
			
		||||
Channel 2: Sample motion
 | 
			
		||||
 | 
			
		||||
- All OFF meas_013.mat
 | 
			
		||||
- Ty ON   meas_014.mat
 | 
			
		||||
- Ry ON   meas_015.mat
 | 
			
		||||
- SR ON   meas_016.mat
 | 
			
		||||
- Rz ON   meas_017.mat
 | 
			
		||||
- Hexa ON meas_018.mat
 | 
			
		||||
- All OFF =meas_013.mat=
 | 
			
		||||
- Ty ON   =meas_014.mat=
 | 
			
		||||
- Ry ON   =meas_015.mat=
 | 
			
		||||
- SR ON   =meas_016.mat=
 | 
			
		||||
- Rz ON   =meas_017.mat=
 | 
			
		||||
- Hexa ON =meas_018.mat=
 | 
			
		||||
 | 
			
		||||
* Test without the Hexapod Driver on the granite
 | 
			
		||||
 | 
			
		||||
- Hexa ON with on the ground meas_019.mat
 | 
			
		||||
- Hexa ON with on the ground meas_019.mat
 | 
			
		||||
 
 | 
			
		||||