diff --git a/disturbance-measurement/index.html b/disturbance-measurement/index.html deleted file mode 100644 index 6532635..0000000 Binary files a/disturbance-measurement/index.html and /dev/null differ diff --git a/disturbance-measurement/index.org b/disturbance-measurement/index.org deleted file mode 100644 index 1ac47d5..0000000 --- a/disturbance-measurement/index.org +++ /dev/null @@ -1,211 +0,0 @@ -#+TITLE:Measurement of the sample vibrations when rotating the Spindle -:DRAWER: -#+STARTUP: overview - -#+LANGUAGE: en -#+EMAIL: dehaeze.thomas@gmail.com -#+AUTHOR: Dehaeze Thomas - -#+HTML_LINK_HOME: ../index.html -#+HTML_LINK_UP: ../index.html - -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: - -#+HTML_MATHJAX: align: center tagside: right font: TeX - -#+PROPERTY: header-args:matlab :session *MATLAB* -#+PROPERTY: header-args:matlab+ :comments org -#+PROPERTY: header-args:matlab+ :results none -#+PROPERTY: header-args:matlab+ :exports both -#+PROPERTY: header-args:matlab+ :eval no-export -#+PROPERTY: header-args:matlab+ :output-dir figs - -#+PROPERTY: header-args:shell :eval no-export -:END: - -* Experimental Setup - -* Signal Processing -** Matlab Init :noexport:ignore: -#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) - <> -#+end_src - -#+begin_src matlab :exports none :results silent :noweb yes - <> -#+end_src - -** Load Data -Measurement =data_001.mat= corresponds to a measurement where the spindle is not turning and =data_002.mat= where the spindle is turning at 1rpm. -=x1= is the signal coming from the geophone located on the marble and =x2= is the signal from the geophone located on the sample station. - -#+begin_src matlab :results none - data1 = load('mat/data_001.mat', 't', 'x1', 'x2'); - data2 = load('mat/data_002.mat', 't', 'x1', 'x2'); -#+end_src - -** Time domain Data -#+begin_src matlab :results none - figure; - hold on; - plot(data1.t, data1.x1); - plot(data2.t, data2.x1); - hold off; -#+end_src - -#+begin_src matlab :results none - figure; - hold on; - plot(data1.t, data1.x2); - plot(data2.t, data2.x2) - hold off; -#+end_src - -** ASD and Frequency domain data -#+begin_src matlab :results none - dt = data1.t(2) - data1.t(1); - Fs = 1/dt; - - windows_psd = hanning(ceil(10*Fs)); -#+end_src - -#+begin_src matlab :results none - [pxx1m, f] = pwelch(data1.x1, windows_psd, [], [], Fs); f(1) = []; pxx1m(1) = []; - [pxx1h, ~] = pwelch(data1.x2, windows_psd, [], [], Fs); pxx1h(1) = []; - - [pxx2m, ~] = pwelch(data2.x1, windows_psd, [], [], Fs); pxx2m(1) = []; - [pxx2h, ~] = pwelch(data2.x2, windows_psd, [], [], Fs); pxx2h(1) = []; -#+end_src - -** Some plots -#+begin_src matlab :results none - figure; - hold on; - plot(f, sqrt(pxx1m)); - plot(f, sqrt(pxx2m)); - hold off; - set(gca, 'xscale', 'log'); - set(gca, 'yscale', 'log'); - xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]') -#+end_src - -#+begin_src matlab :results none - figure; - hold on; - plot(f, sqrt(pxx1h)); - plot(f, sqrt(pxx2h)); - hold off; - set(gca, 'xscale', 'log'); - set(gca, 'yscale', 'log'); - xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]') -#+end_src - - -#+begin_src matlab :results none - figure; - hold on; - plot(f, sqrt(pxx2m)); - plot(f, sqrt(pxx2h)); - hold off; - set(gca, 'xscale', 'log'); - set(gca, 'yscale', 'log'); - xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]') -#+end_src - -#+begin_src matlab :results none - figure; - hold on; - plot(f, cumtrapz(f, pxx1m)) - plot(f, cumtrapz(f, pxx2m)) - set(gca, 'XScale', 'log'); - xlabel('Frequency [Hz]'); ylabel('CAS [m]') -#+end_src - -** Scaling to take into account the sensibility of the geophone and the voltage amplifier -The Geophone used are L22. Their sensibility is shown on figure [[fig:geophone_sensibility]]. - -#+begin_src matlab :results none - S0 = 88; % Sensitivity [V/(m/s)] - f0 = 2; % Cut-off frequnecy [Hz] - - S = S0*(s/2/pi/f0)/(1+s/2/pi/f0); -#+end_src - -We also take into account the gain of the electronics which is here set to be $60dB$. - -#+begin_src matlab :results none - G0_db = 60; % [dB] - - G0 = 10^(G0_db/20); % [abs] -#+end_src - -We divide the ASD measured (in $\text{V}/\sqrt{\text{Hz}}$) by the gain of the voltage amplifier to obtain the ASD of the voltage across the geophone. -We further divide the result by the sensibility of the Geophone to obtain the ASD of the velocity in $m/s/\sqrt{Hz}$. - -#+begin_src matlab :results none - scaling = 1./squeeze(abs(freqresp(G0*S, f, 'Hz'))); scaling(1) = 0; -#+end_src - -** Computation of the ASD of the velocity -#+begin_src matlab :results none - figure; - hold on; - plot(f, sqrt(pxx1h).*scaling); - plot(f, sqrt(pxx2h).*scaling); - hold off; - set(gca, 'xscale', 'log'); - set(gca, 'yscale', 'log'); - xlabel('Frequency [Hz]'); ylabel('ASD of the measured Velocity $\left[\frac{m/s}{\sqrt{Hz}}\right]$') - xlim([0.1, 500]); -#+end_src - -#+begin_src matlab :results none - figure; - hold on; - plot(f, (sqrt(pxx1).*scaling)./(2*pi*f)); - plot(f, (sqrt(pxx2).*scaling)./(2*pi*f)); - hold off; - set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log'); - xlabel('Frequency [Hz]'); ylabel('ASD of the displacement $\left[\frac{m}{\sqrt{Hz}}\right]$') - xlim([0.1, 500]); -#+end_src - -** RMS value of the difference between the two geophones -We also compute the Power Spectral Density of the difference between the two geophones. This is done in order to estimate the relative displacement of the sample with respect to the granite. -#+begin_src matlab :results none - [pxxd1, ~] = pwelch(data1.x2-data1.x1, windows_psd, [], [], Fs); pxxd1(1) = []; - [pxxd2, ~] = pwelch(data2.x2-data2.x1, windows_psd, [], [], Fs); pxxd2(1) = []; -#+end_src - -#+begin_src matlab :results none - figure; - hold on; - plot(f, (sqrt(pxxd1).*scaling)./(2*pi*f)); - plot(f, (sqrt(pxxd2).*scaling)./(2*pi*f)); - hold off; - set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log'); - xlabel('Frequency [Hz]'); ylabel('ASD of the displacement $\left[\frac{m}{\sqrt{Hz}}\right]$') - xlim([0.1, 500]); -#+end_src - -#+begin_src matlab :results none - psd_d1 = ((sqrt(pxxd1).*scaling)./(2*pi*f)).^2; - psd_d2 = ((sqrt(pxxd2).*scaling)./(2*pi*f)).^2; - - df = f(2) - f(1); - - figure; - hold on; - plot(f, sqrt(cumsum(df.*psd_d1, 'reverse'))); - plot(f, sqrt(cumsum(df.*psd_d2, 'reverse'))); - hold off; - set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log'); - xlabel('Frequency [Hz]'); ylabel('CAS $\left[m\right]$') - xlim([0.1, 500]); -#+end_src diff --git a/disturbance-measurement/mat/data_001.mat b/disturbance-measurement/mat/data_001.mat deleted file mode 100644 index e3f758a..0000000 Binary files a/disturbance-measurement/mat/data_001.mat and /dev/null differ diff --git a/disturbance-measurement/mat/data_002.mat b/disturbance-measurement/mat/data_002.mat deleted file mode 100644 index 788f17a..0000000 Binary files a/disturbance-measurement/mat/data_002.mat and /dev/null differ diff --git a/disturbance-measurement/readme.org b/disturbance-measurement/readme.org deleted file mode 100644 index 4043dc8..0000000 --- a/disturbance-measurement/readme.org +++ /dev/null @@ -1,12 +0,0 @@ -#+TITLE:Measurement of the sample vibrations when rotating the Spindle - -Measurement: -- one geophone on the marble -- one geophone at the sample position - -Every stage is powered on. - -| Data file | Description | -|--------------+----------------------------| -| data_001.mat | nothing is turning | -| data_002.mat | spindle is turning at 1rpm | diff --git a/disturbance-sr-rz/figs/slip_ring_spindle_sample_zoom.png b/disturbance-sr-rz/figs/slip_ring_spindle_sample_zoom.png new file mode 100644 index 0000000..4a55b39 Binary files /dev/null and b/disturbance-sr-rz/figs/slip_ring_spindle_sample_zoom.png differ diff --git a/disturbance-sr-rz/figs/sr_sp_psd_relative_compare.png b/disturbance-sr-rz/figs/sr_sp_psd_relative_compare.png new file mode 100644 index 0000000..b97485f Binary files /dev/null and b/disturbance-sr-rz/figs/sr_sp_psd_relative_compare.png differ diff --git a/disturbance-sr-rz/index.org b/disturbance-sr-rz/index.org index c1137a5..631e6a0 100644 --- a/disturbance-sr-rz/index.org +++ b/disturbance-sr-rz/index.org @@ -116,13 +116,15 @@ A movie showing the experiment is shown on figure [[fig:exp_sl_sp_gif]]. We convert the measured voltage to velocity using the function =voltageToVelocityL22= (accessible [[file:~/MEGA/These/meas/src/index.org][here]]). #+begin_src matlab - of(:, 1) = voltageToVelocityL22(of(:, 1), of(:, 3), 60); - sr(:, 1) = voltageToVelocityL22(sr(:, 1), sr(:, 3), 60); - sp(:, 1) = voltageToVelocityL22(sp(:, 1), sp(:, 3), 60); + gain = 60; % [dB] - of(:, 2) = voltageToVelocityL22(of(:, 2), of(:, 3), 60); - sr(:, 2) = voltageToVelocityL22(sr(:, 2), sr(:, 3), 60); - sp(:, 2) = voltageToVelocityL22(sp(:, 2), sp(:, 3), 60); + of(:, 1) = voltageToVelocityL22(of(:, 1), of(:, 3), gain); + sr(:, 1) = voltageToVelocityL22(sr(:, 1), sr(:, 3), gain); + sp(:, 1) = voltageToVelocityL22(sp(:, 1), sp(:, 3), gain); + + of(:, 2) = voltageToVelocityL22(of(:, 2), of(:, 3), gain); + sr(:, 2) = voltageToVelocityL22(sr(:, 2), sr(:, 3), gain); + sp(:, 2) = voltageToVelocityL22(sp(:, 2), sp(:, 3), gain); #+end_src ** Time domain plots @@ -172,6 +174,21 @@ We convert the measured voltage to velocity using the function =voltageToVelocit #+RESULTS: fig:slip_ring_spindle_sample_time [[file:figs/slip_ring_spindle_sample_time.png]] +#+begin_src matlab :exports none :tangle no + xlim([0, 1]); +#+end_src + +#+NAME: fig:slip_ring_spindle_sample_zoom +#+HEADER: :tangle no :exports results :results value raw replace :noweb yes +#+begin_src matlab :var filepath="figs/slip_ring_spindle_sample_zoom.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+NAME: fig:slip_ring_spindle_sample_zoom +#+CAPTION: Velocity as measured by the geophone at the sample location - Time domain +#+RESULTS: fig:slip_ring_spindle_sample_zoom +[[file:figs/slip_ring_spindle_sample_zoom.png]] + ** Frequency Domain We first compute some parameters that will be used for the PSD computation. #+begin_src matlab :results none @@ -193,11 +210,18 @@ First for the geophone located on the marble And for the geophone located at the sample position. #+begin_src matlab - [pxof_s, f] = pwelch(of(:, 2), win, [], [], Fs); + [pxof_s, ~] = pwelch(of(:, 2), win, [], [], Fs); [pxsr_s, ~] = pwelch(sr(:, 2), win, [], [], Fs); [pxsp_s, ~] = pwelch(sp(:, 2), win, [], [], Fs); #+end_src +And finally for the relative velocity between the sample and the marble. +#+begin_src matlab + [pxof_r, ~] = pwelch(of(:, 2)-of(:, 1), win, [], [], Fs); + [pxsr_r, ~] = pwelch(sr(:, 2)-sr(:, 1), win, [], [], Fs); + [pxsp_r, ~] = pwelch(sp(:, 2)-sp(:, 1), win, [], [], Fs); +#+end_src + And we plot the ASD of the measured velocities: - figure [[fig:sr_sp_psd_marble_compare]] for the geophone located on the marble - figure [[fig:sr_sp_psd_sample_compare]] for the geophone at the sample position @@ -252,11 +276,37 @@ And we plot the ASD of the measured velocities: #+RESULTS: fig:sr_sp_psd_sample_compare [[file:figs/sr_sp_psd_sample_compare.png]] +#+begin_src matlab :results none + figure; + hold on; + plot(f, sqrt(pxsp_r), 'DisplayName', 'Spindle - 6rpm'); + plot(f, sqrt(pxsr_r), 'DisplayName', 'Slip-Ring - 6rpm'); + plot(f, sqrt(pxof_r), 'DisplayName', 'OFF'); + hold off; + set(gca, 'xscale', 'log'); + set(gca, 'yscale', 'log'); + xlabel('Frequency [Hz]'); ylabel('ASD of the relative velocity $\left[\frac{m/s}{\sqrt{Hz}}\right]$') + legend('Location', 'southwest'); + xlim([2, 500]); +#+end_src + +#+NAME: fig:sr_sp_psd_relative_compare +#+HEADER: :tangle no :exports results :results value raw replace :noweb yes +#+begin_src matlab :var filepath="figs/sr_sp_psd_relative_compare.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+NAME: fig:sr_sp_psd_relative_compare +#+CAPTION: Comparison of the ASD of the relative velocity +#+RESULTS: fig:sr_sp_psd_relative_compare +[[file:figs/sr_sp_psd_relative_compare.png]] + ** Conclusion #+begin_important - The slip-ring rotation induces almost no vibrations on the marble, and only a little vibrations on the sample above 100Hz. - The spindle rotation induces a lot of vibrations of the sample as well as on the granite. - - There is a huge peak at 24Hz on the sample vibration but not on the granite vibration. The peak is really sharp, could this be due to magnetic effect? - - Should redo the measurement with piezo accelerometers + - There is a huge peak at 24Hz on the sample vibration but not on the granite vibration + - The peak is really sharp, could this be due to magnetic effect? + - Should redo the measurement with piezo accelerometers. #+end_important diff --git a/disturbance-ty/index.org b/disturbance-ty/index.org index ab04c46..2b86a9b 100644 --- a/disturbance-ty/index.org +++ b/disturbance-ty/index.org @@ -121,13 +121,15 @@ Each of the measurement =mat= file contains one =data= array with 3 columns: We convert the measured voltage to velocity using the function =voltageToVelocityL22= (accessible [[file:~/MEGA/These/meas/src/index.org][here]]). #+begin_src matlab - z_ty(:, 1) = voltageToVelocityL22(z_ty(:, 1), z_ty(:, 3), 40); - e_ty(:, 1) = voltageToVelocityL22(e_ty(:, 1), e_ty(:, 3), 40); - e_of(:, 1) = voltageToVelocityL22(e_of(:, 1), e_of(:, 3), 40); + gain = 40; % [dB] - z_ty(:, 2) = voltageToVelocityL22(z_ty(:, 2), z_ty(:, 3), 40); - e_ty(:, 2) = voltageToVelocityL22(e_ty(:, 2), e_ty(:, 3), 40); - e_of(:, 2) = voltageToVelocityL22(e_of(:, 2), e_of(:, 3), 40); + z_ty(:, 1) = voltageToVelocityL22(z_ty(:, 1), z_ty(:, 3), gain); + e_ty(:, 1) = voltageToVelocityL22(e_ty(:, 1), e_ty(:, 3), gain); + e_of(:, 1) = voltageToVelocityL22(e_of(:, 1), e_of(:, 3), gain); + + z_ty(:, 2) = voltageToVelocityL22(z_ty(:, 2), z_ty(:, 3), gain); + e_ty(:, 2) = voltageToVelocityL22(e_ty(:, 2), e_ty(:, 3), gain); + e_of(:, 2) = voltageToVelocityL22(e_of(:, 2), e_of(:, 3), gain); #+end_src ** Time domain plots diff --git a/disturbance-ty/matlab/disturbance_ty.m b/disturbance-ty/matlab/disturbance_ty.m index 1ecbdab..02c6ea8 100644 --- a/disturbance-ty/matlab/disturbance_ty.m +++ b/disturbance-ty/matlab/disturbance_ty.m @@ -14,13 +14,15 @@ e_of = load('mat/data_042.mat', 'data'); e_of = e_of.data; % We convert the measured voltage to velocity using the function =voltageToVelocityL22= (accessible [[file:~/MEGA/These/meas/src/index.org][here]]). -z_ty(:, 1) = voltageToVelocityL22(z_ty(:, 1), z_ty(:, 3), 40); -e_ty(:, 1) = voltageToVelocityL22(e_ty(:, 1), e_ty(:, 3), 40); -e_of(:, 1) = voltageToVelocityL22(e_of(:, 1), e_of(:, 3), 40); +gain = 40; % [dB] -z_ty(:, 2) = voltageToVelocityL22(z_ty(:, 2), z_ty(:, 3), 40); -e_ty(:, 2) = voltageToVelocityL22(e_ty(:, 2), e_ty(:, 3), 40); -e_of(:, 2) = voltageToVelocityL22(e_of(:, 2), e_of(:, 3), 40); +z_ty(:, 1) = voltageToVelocityL22(z_ty(:, 1), z_ty(:, 3), gain); +e_ty(:, 1) = voltageToVelocityL22(e_ty(:, 1), e_ty(:, 3), gain); +e_of(:, 1) = voltageToVelocityL22(e_of(:, 1), e_of(:, 3), gain); + +z_ty(:, 2) = voltageToVelocityL22(z_ty(:, 2), z_ty(:, 3), gain); +e_ty(:, 2) = voltageToVelocityL22(e_ty(:, 2), e_ty(:, 3), gain); +e_of(:, 2) = voltageToVelocityL22(e_of(:, 2), e_of(:, 3), gain); % Time domain plots % We plot the measured velocity of the marble and sample in the vertical direction (figure [[fig:ty_z_time]]) and in the X direction (figure [[fig:ty_e_time]]). diff --git a/index.html b/index.html index aa516b4..e6491b0 100644 Binary files a/index.html and b/index.html differ diff --git a/index.org b/index.org index 12380c2..0623a8d 100644 --- a/index.org +++ b/index.org @@ -24,7 +24,6 @@ Vibrations during scans: - [[file:disturbance-sr-rz/index.org][Measurement of the vibrations induced by the rotation of the slip-ring and spindle]] - [[file:disturbance-ty-sr/index.org][Measurement of the vibrations induced by the simultaneous rotation of the slip-ring and scan of the translation stage]] - [[file:disturbance-ty/index.org][Measurement of the vibrations induced by translation stage scans]] -- [[file:disturbance-measurement/index.org][Measurement of the vibrations induced by spindle rotation]] Ground motion: - [[file:ground-motion/index.org][Ground motion measurements]]