Thomas Dehaeze
6e3677eb29
Folder name is changed, rework the html templates Change the organisation.
841 lines
28 KiB
Org Mode
841 lines
28 KiB
Org Mode
#+TITLE: Measurements On the Slip-Ring
|
|
#+SETUPFILE: ../config.org
|
|
|
|
* Effect of the Slip-Ring on the signal
|
|
:PROPERTIES:
|
|
:header-args:matlab+: :tangle matlab/meas_slip_ring_geophone.m
|
|
:header-args:matlab+: :comments org :mkdirp yes
|
|
:END:
|
|
<<sec:meas_slip_ring_geophone>>
|
|
|
|
#+begin_src bash :exports none :results none
|
|
if [ matlab/meas_slip_ring_geophone.m -nt data/meas_slip_ring_geophone.zip ]; then
|
|
cp matlab/meas_slip_ring_geophone.m meas_slip_ring_geophone.m;
|
|
zip data/meas_slip_ring_geophone \
|
|
mat/data_018.mat \
|
|
mat/data_019.mat \
|
|
meas_slip_ring_geophone.m;
|
|
rm meas_slip_ring_geophone.m;
|
|
fi
|
|
#+end_src
|
|
|
|
#+begin_note
|
|
All the files (data and Matlab scripts) are accessible [[file:data/meas_slip_ring_geophone.zip][here]].
|
|
#+end_note
|
|
|
|
** Experimental Setup
|
|
Two measurements are made with the control systems of all the stages turned OFF.
|
|
|
|
One geophone is located on the marble while the other is located at the sample location (figure [[fig:setup_slipring]]).
|
|
|
|
#+name: fig:setup_slipring
|
|
#+caption: Experimental Setup
|
|
#+attr_html: :width 500px
|
|
[[file:./img/IMG_20190430_112615.jpg]]
|
|
|
|
The two measurements are:
|
|
| Measurement File | Description |
|
|
|------------------+------------------------------------------------------------------|
|
|
| =meas_018.mat= | Signal from the top geophone does not goes through the Slip-ring |
|
|
| =meas_019.mat= | Signal goes through the Slip-ring (as shown on the figure above) |
|
|
|
|
Each of the measurement =mat= file contains one =data= array with 3 columns:
|
|
| Column number | Description |
|
|
|---------------+-------------------|
|
|
| 1 | Geophone - Marble |
|
|
| 2 | Geophone - Sample |
|
|
| 3 | Time |
|
|
|
|
** Matlab Init :noexport:ignore:
|
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
|
<<matlab-dir>>
|
|
#+end_src
|
|
|
|
#+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
|
|
d8 = load('mat/data_018.mat', 'data'); d8 = d8.data;
|
|
d9 = load('mat/data_019.mat', 'data'); d9 = d9.data;
|
|
#+end_src
|
|
|
|
** Analysis - Time Domain
|
|
First, we compare the time domain signals for the two experiments (figure [[fig:slipring_time]]).
|
|
|
|
|
|
#+begin_src matlab :results none
|
|
figure;
|
|
hold on;
|
|
plot(d9(:, 3), d9(:, 2), 'DisplayName', 'Slip-Ring');
|
|
plot(d8(:, 3), d8(:, 2), 'DisplayName', 'Wire');
|
|
hold off;
|
|
xlabel('Time [s]'); ylabel('Voltage [V]');
|
|
xlim([0, 50]);
|
|
legend('location', 'northeast');
|
|
#+end_src
|
|
|
|
#+NAME: fig:slipring_time
|
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
#+begin_src matlab :var filepath="figs/slipring_time.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png")
|
|
<<plt-matlab>>
|
|
#+end_src
|
|
|
|
#+NAME: fig:slipring_time
|
|
#+CAPTION: Effect of the Slip-Ring on the measured signal - Time domain
|
|
#+RESULTS: fig:slipring_time
|
|
[[file:figs/slipring_time.png]]
|
|
|
|
** Analysis - Frequency Domain
|
|
We then compute the Power Spectral Density of the two signals and we compare them (figure [[fig:slipring_asd]]).
|
|
#+begin_src matlab :results none
|
|
dt = d8(2, 3) - d8(1, 3);
|
|
Fs = 1/dt;
|
|
|
|
win = hanning(ceil(1*Fs));
|
|
#+end_src
|
|
|
|
#+begin_src matlab :results none
|
|
[pxx8, f] = pwelch(d8(:, 2), win, [], [], Fs);
|
|
[pxx9, ~] = pwelch(d9(:, 2), win, [], [], Fs);
|
|
#+end_src
|
|
|
|
#+begin_src matlab :results none
|
|
figure;
|
|
hold on;
|
|
plot(f, sqrt(pxx9), 'DisplayName', 'Slip-Ring');
|
|
plot(f, sqrt(pxx8), 'DisplayName', 'Wire');
|
|
hold off;
|
|
set(gca, 'xscale', 'log');
|
|
set(gca, 'yscale', 'log');
|
|
xlabel('Frequency [Hz]'); ylabel('Amplitude Spectral Density $\left[\frac{V}{\sqrt{Hz}}\right]$')
|
|
xlim([1, 500]);
|
|
legend('Location', 'southwest');
|
|
#+end_src
|
|
|
|
#+NAME: fig:slipring_asd
|
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
#+begin_src matlab :var filepath="figs/slipring_asd.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png")
|
|
<<plt-matlab>>
|
|
#+end_src
|
|
|
|
#+NAME: fig:slipring_asd
|
|
#+CAPTION: Effect of the Slip-Ring on the measured signal - Frequency domain
|
|
#+RESULTS: fig:slipring_asd
|
|
[[file:figs/slipring_asd.png]]
|
|
|
|
** Conclusion
|
|
#+begin_important
|
|
- Connecting the geophone through the Slip-Ring seems to induce a lot of noise.
|
|
#+end_important
|
|
|
|
#+begin_note
|
|
*Remaining questions to answer*:
|
|
- Why is there a sharp peak at 300Hz?
|
|
- Why the use of the Slip-Ring does induce a noise?
|
|
- Can the capacitive/inductive properties of the wires in the Slip-ring does not play well with the geophone? (resonant RLC circuit)
|
|
#+end_note
|
|
|
|
* Effect of the rotation of the Slip-Ring
|
|
:PROPERTIES:
|
|
:header-args:matlab+: :tangle matlab/meas_effect_sr.m
|
|
:header-args:matlab+: :comments org :mkdirp yes
|
|
:END:
|
|
<<sec:meas_effect_sr>>
|
|
|
|
#+begin_src bash :exports none :results none
|
|
if [ matlab/meas_effect_sr.m -nt data/meas_effect_sr.zip ]; then
|
|
cp matlab/meas_effect_sr.m meas_effect_sr.m;
|
|
zip data/meas_effect_sr \
|
|
mat/data_001.mat \
|
|
mat/data_002.mat \
|
|
meas_effect_sr.m;
|
|
rm meas_effect_sr.m;
|
|
fi
|
|
#+end_src
|
|
|
|
#+begin_note
|
|
All the files (data and Matlab scripts) are accessible [[file:data/meas_effect_sr.zip][here]].
|
|
#+end_note
|
|
|
|
** Measurement Description
|
|
Random Signal is generated by one DAC of the SpeedGoat.
|
|
|
|
The signal going out of the DAC is split into two:
|
|
- one BNC cable is directly connected to one ADC of the SpeedGoat
|
|
- one BNC cable goes two times in the Slip-Ring (from bottom to top and then from top to bottom) and then is connected to one ADC of the SpeedGoat
|
|
|
|
Two measurements are done.
|
|
| Data File | Description |
|
|
|--------------------+-----------------------|
|
|
| =mat/data_001.mat= | Slip-ring not turning |
|
|
| =mat/data_002.mat= | Slip-ring turning |
|
|
|
|
For each measurement, the measured signals are:
|
|
| Data File | Description |
|
|
|-----------+------------------------------------|
|
|
| =t= | Time vector |
|
|
| =x1= | Direct signal |
|
|
| =x2= | Signal going through the Slip-Ring |
|
|
|
|
The goal is to determine is the signal is altered when the spindle is rotating.
|
|
|
|
Here, the rotation speed of the Slip-Ring is set to 1rpm.
|
|
|
|
** Matlab Init :noexport:ignore:
|
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
|
<<matlab-dir>>
|
|
#+end_src
|
|
|
|
#+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
|
|
sr_off = load('mat/data_001.mat', 't', 'x1', 'x2');
|
|
sr_on = load('mat/data_002.mat', 't', 'x1', 'x2');
|
|
#+end_src
|
|
|
|
** Analysis
|
|
Let's first look at the signal produced by the DAC (figure [[fig:random_signal]]).
|
|
|
|
#+begin_src matlab :results none
|
|
figure;
|
|
hold on;
|
|
plot(sr_on.t, sr_on.x1);
|
|
hold off;
|
|
xlabel('Time [s]'); ylabel('Voltage [V]');
|
|
xlim([0 10]);
|
|
#+end_src
|
|
|
|
#+NAME: fig:random_signal
|
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
#+begin_src matlab :var filepath="figs/random_signal.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
|
|
<<plt-matlab>>
|
|
#+end_src
|
|
|
|
#+NAME: fig:random_signal
|
|
#+CAPTION: Random signal produced by the DAC
|
|
#+RESULTS: fig:random_signal
|
|
[[file:figs/random_signal.png]]
|
|
|
|
We now look at the difference between the signal directly measured by the ADC and the signal that goes through the slip-ring (figure [[fig:slipring_comp_signals]]).
|
|
|
|
#+begin_src matlab :results none
|
|
figure;
|
|
hold on;
|
|
plot(sr_on.t, sr_on.x1 - sr_on.x2, 'DisplayName', 'Slip-Ring - $\omega = 1rpm$');
|
|
plot(sr_off.t, sr_off.x1 - sr_off.x2,'DisplayName', 'Slip-Ring off');
|
|
hold off;
|
|
xlabel('Time [s]'); ylabel('Voltage [V]');
|
|
xlim([0 10]);
|
|
legend('Location', 'northeast');
|
|
#+end_src
|
|
|
|
#+NAME: fig:slipring_comp_signals
|
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
#+begin_src matlab :var filepath="figs/slipring_comp_signals.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
|
|
<<plt-matlab>>
|
|
#+end_src
|
|
|
|
#+NAME: fig:slipring_comp_signals
|
|
#+CAPTION: Alteration of the signal when the slip-ring is turning
|
|
#+RESULTS: fig:slipring_comp_signals
|
|
[[file:figs/slipring_comp_signals.png]]
|
|
|
|
#+begin_src matlab :results none
|
|
dt = sr_on.t(2) - sr_on.t(1);
|
|
Fs = 1/dt; % [Hz]
|
|
|
|
win = hanning(ceil(1*Fs));
|
|
#+end_src
|
|
|
|
#+begin_src matlab :results none
|
|
[pxx_on, f] = pwelch(sr_on.x1 - sr_on.x2, win, [], [], Fs);
|
|
[pxx_off, ~] = pwelch(sr_off.x1 - sr_off.x2, win, [], [], Fs);
|
|
#+end_src
|
|
|
|
#+begin_src matlab :results none :exports none
|
|
figure;
|
|
hold on;
|
|
plot(f, sqrt(pxx_on), 'DisplayName', 'Slip-Ring - $\omega = 1rpm$');
|
|
plot(f, sqrt(pxx_off),'DisplayName', 'Slip-Ring off');
|
|
hold off;
|
|
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
|
xlabel('Frequency [Hz]'); ylabel('PSD $\left[\frac{V}{\sqrt{Hz}}\right]$');
|
|
legend('Location', 'northeast');
|
|
xlim([1, 500]); ylim([1e-5, 1e-3])
|
|
#+end_src
|
|
|
|
#+NAME: fig:psd_noise
|
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
#+begin_src matlab :var filepath="figs/psd_noise.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png")
|
|
<<plt-matlab>>
|
|
#+end_src
|
|
|
|
#+NAME: fig:psd_noise
|
|
#+CAPTION: ASD of the measured noise
|
|
#+RESULTS: fig:psd_noise
|
|
[[file:figs/psd_noise.png]]
|
|
|
|
** Conclusion
|
|
#+begin_note
|
|
*Remaining questions*:
|
|
- Should the measurement be redone using voltage amplifiers?
|
|
- Use higher rotation speed and measure for longer periods (to have multiple revolutions) ?
|
|
#+end_note
|
|
* Measure of the noise induced by the Slip-Ring
|
|
:PROPERTIES:
|
|
:header-args:matlab+: :tangle matlab/meas_slip_ring.m
|
|
:header-args:matlab+: :comments org :mkdirp yes
|
|
:END:
|
|
<<sec:meas_slip_ring>>
|
|
|
|
#+begin_src bash :exports none :results none
|
|
if [ matlab/meas_slip_ring.m -nt data/meas_slip_ring.zip ]; then
|
|
cp matlab/meas_slip_ring.m meas_slip_ring.m;
|
|
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;
|
|
rm meas_slip_ring.m;
|
|
fi
|
|
#+end_src
|
|
|
|
#+begin_note
|
|
All the files (data and Matlab scripts) are accessible [[file:data/meas_slip_ring.zip][here]].
|
|
#+end_note
|
|
|
|
** Measurement Description
|
|
*Goal*:
|
|
- Determine the noise induced by the slip-ring
|
|
*Setup*:
|
|
- 0V is generated by the DAC of the Speedgoat
|
|
- Using a T, one part goes directly to the ADC
|
|
- The other part goes to the slip-ring 2 times and then to the ADC
|
|
- The parameters of the Voltage Amplifier are: 80dB, AC, 1kHz
|
|
- Every stage of the station is OFF
|
|
|
|
First column: Direct measure
|
|
Second column: Slip-ring measure
|
|
*Measurements*:
|
|
- =data_008=: Slip-Ring OFF
|
|
- =data_009=: Slip-Ring ON
|
|
- =data_010=: Slip-Ring ON and omega=6rpm
|
|
- =data_011=: Slip-Ring ON and omega=60rpm
|
|
|
|
#+name: fig:setup_sr_6rpm
|
|
#+caption: Slip-Ring rotating at 6rpm
|
|
[[file:./img/VID_20190503_160831.gif]]
|
|
|
|
#+name: fig:setup_sr_60rpm
|
|
#+caption: Slip-Ring rotating at 60rpm
|
|
[[file:./img/VID_20190503_161401.gif]]
|
|
|
|
** Matlab Init :noexport:ignore:
|
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
|
<<matlab-dir>>
|
|
#+end_src
|
|
|
|
#+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
|
|
sr_off = load('mat/data_008.mat', 'data'); sr_off = sr_off.data;
|
|
sr_on = load('mat/data_009.mat', 'data'); sr_on = sr_on.data;
|
|
sr_6r = load('mat/data_010.mat', 'data'); sr_6r = sr_6r.data;
|
|
sr_60r = load('mat/data_011.mat', 'data'); sr_60r = sr_60r.data;
|
|
#+end_src
|
|
|
|
** Time Domain
|
|
We plot the time domain data for the direct measurement (figure [[fig:sr_direct_time]]) and for the signal going through the slip-ring (figure [[fig:sr_slipring_time]]);
|
|
|
|
#+begin_src matlab :results none :exports none
|
|
figure;
|
|
hold on;
|
|
plot(sr_60r(:, 3), sr_60r(:, 1), 'DisplayName', '60rpm');
|
|
plot(sr_6r(:, 3), sr_6r(:, 1), 'DisplayName', '6rpm');
|
|
plot(sr_on(:, 3), sr_on(:, 1), 'DisplayName', 'ON');
|
|
plot(sr_off(:, 3), sr_off(:, 1), 'DisplayName', 'OFF');
|
|
hold off;
|
|
xlabel('Time [s]'); ylabel('Voltage [V]');
|
|
legend('Location', 'northeast');
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_direct_time
|
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
#+begin_src matlab :var filepath="figs/sr_direct_time.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
|
|
<<plt-matlab>>
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_direct_time
|
|
#+CAPTION: Direct measurement
|
|
#+RESULTS: fig:sr_direct_time
|
|
[[file:figs/sr_direct_time.png]]
|
|
|
|
|
|
#+begin_src matlab :results none :exports none
|
|
figure;
|
|
hold on;
|
|
plot(sr_60r(:, 3), sr_60r(:, 2), 'DisplayName', '60rpm');
|
|
plot(sr_6r(:, 3), sr_6r(:, 2), 'DisplayName', '6rpm');
|
|
plot(sr_on(:, 3), sr_on(:, 2), 'DisplayName', 'ON');
|
|
plot(sr_off(:, 3), sr_off(:, 2), 'DisplayName', 'OFF');
|
|
hold off;
|
|
xlabel('Time [s]'); ylabel('Voltage [V]');
|
|
legend('Location', 'northeast');
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_slipring_time
|
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
#+begin_src matlab :var filepath="figs/sr_slipring_time.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
|
|
<<plt-matlab>>
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_slipring_time
|
|
#+CAPTION: Measurement of the signal going through the Slip-Ring
|
|
#+RESULTS: fig:sr_slipring_time
|
|
[[file:figs/sr_slipring_time.png]]
|
|
|
|
** Frequency Domain
|
|
We first compute some parameters that will be used for the PSD computation.
|
|
#+begin_src matlab :results none
|
|
dt = sr_off(2, 3)-sr_off(1, 3);
|
|
|
|
Fs = 1/dt; % [Hz]
|
|
|
|
win = hanning(ceil(10*Fs));
|
|
#+end_src
|
|
|
|
Then we compute the Power Spectral Density using =pwelch= function.
|
|
#+begin_src matlab :results none
|
|
[pxdir, f] = pwelch(sr_off(:, 1), win, [], [], Fs);
|
|
[pxoff, ~] = pwelch(sr_off(:, 2), win, [], [], Fs);
|
|
[pxon, ~] = pwelch(sr_on(:, 2), win, [], [], Fs);
|
|
[px6r, ~] = pwelch(sr_6r(:, 2), win, [], [], Fs);
|
|
[px60r, ~] = pwelch(sr_60r(:, 2), win, [], [], Fs);
|
|
#+end_src
|
|
|
|
And we plot the ASD of the measured signals (figure [[fig:sr_psd_compare]]);
|
|
|
|
#+begin_src matlab :results none
|
|
figure;
|
|
hold on;
|
|
plot(f, sqrt(pxoff), 'DisplayName', 'OFF');
|
|
plot(f, sqrt(pxon), 'DisplayName', 'ON');
|
|
plot(f, sqrt(px6r), 'DisplayName', '6rpm');
|
|
plot(f, sqrt(px60r), 'DisplayName', '60rpm');
|
|
plot(f, sqrt(pxdir), 'k-', 'DisplayName', 'Direct');
|
|
hold off;
|
|
set(gca, 'xscale', 'log');
|
|
set(gca, 'yscale', 'log');
|
|
xlabel('Frequency [Hz]'); ylabel('ASD of the measured Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$')
|
|
legend('Location', 'northeast');
|
|
xlim([0.1, 500]);
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_psd_compare
|
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
#+begin_src matlab :var filepath="figs/sr_psd_compare.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
|
<<plt-matlab>>
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_psd_compare
|
|
#+CAPTION: Comparison of the ASD of the measured signals when the slip-ring is ON, OFF and turning
|
|
#+RESULTS: fig:sr_psd_compare
|
|
[[file:figs/sr_psd_compare.png]]
|
|
|
|
** 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
|
|
:PROPERTIES:
|
|
:header-args:matlab+: :tangle matlab/meas_sr_geophone.m
|
|
:header-args:matlab+: :comments org :mkdirp yes
|
|
:END:
|
|
<<sec:meas_sr_geophone>>
|
|
|
|
#+begin_src bash :exports none :results none
|
|
if [ matlab/meas_sr_geophone.m -nt data/meas_sr_geophone.zip ]; then
|
|
cp matlab/meas_sr_geophone.m meas_sr_geophone.m;
|
|
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;
|
|
rm meas_sr_geophone.m;
|
|
fi
|
|
#+end_src
|
|
|
|
#+begin_note
|
|
All the files (data and Matlab scripts) are accessible [[file:data/meas_sr_geophone.zip][here]].
|
|
#+end_note
|
|
|
|
** Matlab Init :noexport:ignore:
|
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
|
<<matlab-dir>>
|
|
#+end_src
|
|
|
|
#+begin_src matlab :exports none :results silent :noweb yes
|
|
<<matlab-init>>
|
|
#+end_src
|
|
|
|
** First Measurement without LPF
|
|
*** Measurement Description
|
|
*Goal*:
|
|
- Determine if the noise induced by the slip-ring is a limiting factor when measuring the signal coming from a geophone
|
|
*Setup*:
|
|
- The geophone is located at the sample location
|
|
- The two Voltage amplifiers have the same following settings:
|
|
- AC
|
|
- 60dB
|
|
- 1kHz
|
|
- The signal from the geophone is split into two using a T-BNC:
|
|
- One part goes directly to the voltage amplifier and then to the ADC.
|
|
- The other part goes to the slip-ring=>voltage amplifier=>ADC.
|
|
|
|
First column: Direct measure
|
|
Second column: Slip-ring measure
|
|
*Measurements*:
|
|
- =data_012=: Slip-Ring OFF
|
|
- =data_013=: Slip-Ring ON
|
|
|
|
*** Load data
|
|
We load the data of the z axis of two geophones.
|
|
#+begin_src matlab :results none
|
|
sr_off = load('mat/data_012.mat', 'data'); sr_off = sr_off.data;
|
|
sr_on = load('mat/data_013.mat', 'data'); sr_on = sr_on.data;
|
|
#+end_src
|
|
|
|
*** Time Domain
|
|
We compare the signal when the Slip-Ring is OFF (figure [[fig:sr_geophone_time_off]]) and when it is ON (figure [[fig:sr_geophone_time_on]]).
|
|
|
|
#+begin_src matlab :results none :exports none
|
|
figure;
|
|
hold on;
|
|
plot(sr_off(:, 3), sr_off(:, 1), 'DisplayName', 'Direct');
|
|
plot(sr_off(:, 3), sr_off(:, 2), 'DisplayName', 'Slip-Ring');
|
|
hold off;
|
|
legend('Location', 'northeast');
|
|
xlabel('Time [s]');
|
|
ylabel('Voltage [V]');
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_geophone_time_off
|
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
#+begin_src matlab :var filepath="figs/sr_geophone_time_off.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
|
|
<<plt-matlab>>
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_geophone_time_off
|
|
#+CAPTION: Comparison of the time domain signals when the slip-ring is OFF
|
|
#+RESULTS: fig:sr_geophone_time_off
|
|
[[file:figs/sr_geophone_time_off.png]]
|
|
|
|
#+begin_src matlab :results none :exports none
|
|
figure;
|
|
hold on;
|
|
plot(sr_on(:, 3), sr_on(:, 1), 'DisplayName', 'Direct');
|
|
plot(sr_on(:, 3), sr_on(:, 2), 'DisplayName', 'Slip-Ring');
|
|
hold off;
|
|
legend('Location', 'northeast');
|
|
xlabel('Time [s]');
|
|
ylabel('Voltage [V]');
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_geophone_time_on
|
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
#+begin_src matlab :var filepath="figs/sr_geophone_time_on.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
|
|
<<plt-matlab>>
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_geophone_time_on
|
|
#+CAPTION: Comparison of the time domain signals when the slip-ring is ON
|
|
#+RESULTS: fig:sr_geophone_time_on
|
|
[[file:figs/sr_geophone_time_on.png]]
|
|
|
|
*** Frequency Domain
|
|
We first compute some parameters that will be used for the PSD computation.
|
|
#+begin_src matlab :results none
|
|
dt = sr_off(2, 3)-sr_off(1, 3);
|
|
|
|
Fs = 1/dt; % [Hz]
|
|
|
|
win = hanning(ceil(10*Fs));
|
|
#+end_src
|
|
|
|
Then we compute the Power Spectral Density using =pwelch= function.
|
|
#+begin_src matlab :results none
|
|
% Direct measure
|
|
[pxdoff, ~] = pwelch(sr_off(:, 1), win, [], [], Fs);
|
|
[pxdon, ~] = pwelch(sr_on(:, 1), win, [], [], Fs);
|
|
|
|
% Slip-Ring measure
|
|
[pxsroff, f] = pwelch(sr_off(:, 2), win, [], [], Fs);
|
|
[pxsron, ~] = pwelch(sr_on(:, 2), win, [], [], Fs);
|
|
#+end_src
|
|
|
|
Finally, we compare the Amplitude Spectral Density of the signals (figure [[fig:sr_geophone_asd]]);
|
|
|
|
#+begin_src matlab :results none
|
|
figure;
|
|
hold on;
|
|
plot(f, sqrt(pxdoff), 'DisplayName', 'Direct - OFF');
|
|
plot(f, sqrt(pxsroff), 'DisplayName', 'Slip-Ring - OFF');
|
|
plot(f, sqrt(pxdon), 'DisplayName', 'Direct - ON');
|
|
plot(f, sqrt(pxsron), 'DisplayName', 'Slip-Ring - ON');
|
|
hold off;
|
|
set(gca, 'xscale', 'log');
|
|
set(gca, 'yscale', 'log');
|
|
xlabel('Frequency [Hz]'); ylabel('ASD of the measured Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$')
|
|
legend('Location', 'northeast');
|
|
xlim([0.1, 500]);
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_geophone_asd
|
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
#+begin_src matlab :var filepath="figs/sr_geophone_asd.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
|
<<plt-matlab>>
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_geophone_asd
|
|
#+CAPTION: Comparison of the Amplitude Spectral Sensity
|
|
#+RESULTS: fig:sr_geophone_asd
|
|
[[file:figs/sr_geophone_asd.png]]
|
|
|
|
#+begin_src matlab :results none :exports none
|
|
xlim([100, 500]);
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_geophone_asd_zoom
|
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
#+begin_src matlab :var filepath="figs/sr_geophone_asd_zoom.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
|
<<plt-matlab>>
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_geophone_asd_zoom
|
|
#+CAPTION: Comparison of the Amplitude Spectral Sensity - Zoom
|
|
#+RESULTS: fig:sr_geophone_asd_zoom
|
|
[[file:figs/sr_geophone_asd_zoom.png]]
|
|
|
|
*** Conclusion
|
|
#+begin_important
|
|
- The fact that the Slip-Ring is turned ON adds some noise to the signal.
|
|
- The signal going through the Slip-Ring is less noisy than the one going directly to the ADC.
|
|
- This could be due to less good electromagnetic isolation.
|
|
|
|
*Questions*:
|
|
- Can the sharp peak on figure [[fig:sr_geophone_asd_zoom]] be due to the Aliasing?
|
|
#+end_important
|
|
|
|
** Measurement using an oscilloscope
|
|
*** Measurement Setup
|
|
Know we are measuring the same signals but using an oscilloscope instead of the Speedgoat ADC.
|
|
|
|
*** Observations
|
|
Then the Slip-Ring is ON (figure [[fig:oscilloscope_sr_on]]), we observe a signal at 40kHz with a peak-to-peak amplitude of 200mV for the direct measure and 100mV for the signal going through the Slip-Ring.
|
|
|
|
Then the Slip-Ring is OFF, we don't observe this 40kHz anymore (figure [[fig:oscilloscope_sr_off]]).
|
|
|
|
#+name: fig:oscilloscope_sr_on
|
|
#+caption: Signals measured by the oscilloscope - Slip-Ring ON - Yellow: Direct measure - Blue: Through Slip-Ring
|
|
#+attr_html: :width 500px
|
|
[[file:./img/IMG_20190506_160420.jpg]]
|
|
|
|
#+name: fig:oscilloscope_sr_off
|
|
#+caption: Signals measured by the oscilloscope - Slip-Ring OFF - Yellow: Direct measure - Blue: Through Slip-Ring
|
|
#+attr_html: :width 500px
|
|
[[file:./img/IMG_20190506_160438.jpg]]
|
|
|
|
*** Conclusion
|
|
#+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.
|
|
#+end_important
|
|
|
|
** New measurements with a LPF before the Voltage Amplifiers
|
|
*** Setup description
|
|
A first order low pass filter is added before the Voltage Amplifiers with the following values:
|
|
\begin{aligned}
|
|
R &= 1k\Omega \\
|
|
C &= 1\mu F
|
|
\end{aligned}
|
|
|
|
And we have a cut-off frequency of $f_c = \frac{1}{RC} = 160Hz$.
|
|
|
|
We are measuring the signal from a geophone put on the marble with and without the added LPF:
|
|
- with the slip ring OFF: =mat/data_016.mat=
|
|
- with the slip ring ON: =mat/data_017.mat=
|
|
|
|
*** Load data
|
|
We load the data of the z axis of two geophones.
|
|
#+begin_src matlab :results none
|
|
sr_lpf_off = load('mat/data_016.mat', 'data'); sr_lpf_off = sr_lpf_off.data;
|
|
sr_lpf_on = load('mat/data_017.mat', 'data'); sr_lpf_on = sr_lpf_on.data;
|
|
#+end_src
|
|
|
|
*** Time Domain
|
|
We compare the signal when the Slip-Ring is OFF (figure [[fig:sr_lpf_geophone_time_off]]) and when it is ON (figure [[fig:sr_lpf_geophone_time_on]]).
|
|
|
|
#+begin_src matlab :results none :exports none
|
|
figure;
|
|
hold on;
|
|
plot(sr_lpf_off(:, 3), sr_lpf_off(:, 1), 'DisplayName', 'Direct');
|
|
plot(sr_lpf_off(:, 3), sr_lpf_off(:, 2), 'DisplayName', 'Slip-Ring');
|
|
hold off;
|
|
legend('Location', 'northeast');
|
|
xlabel('Time [s]');
|
|
ylabel('Voltage [V]');
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_lpf_geophone_time_off
|
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
#+begin_src matlab :var filepath="figs/sr_lpf_geophone_time_off.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
|
|
<<plt-matlab>>
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_lpf_geophone_time_off
|
|
#+CAPTION: Comparison of the time domain signals when the slip-ring is OFF
|
|
#+RESULTS: fig:sr_lpf_geophone_time_off
|
|
[[file:figs/sr_lpf_geophone_time_off.png]]
|
|
|
|
#+begin_src matlab :results none :exports none
|
|
figure;
|
|
hold on;
|
|
plot(sr_lpf_on(:, 3), sr_lpf_on(:, 1), 'DisplayName', 'Direct');
|
|
plot(sr_lpf_on(:, 3), sr_lpf_on(:, 2), 'DisplayName', 'Slip-Ring');
|
|
hold off;
|
|
legend('Location', 'northeast');
|
|
xlabel('Time [s]');
|
|
ylabel('Voltage [V]');
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_lpf_geophone_time_on
|
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
#+begin_src matlab :var filepath="figs/sr_lpf_geophone_time_on.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
|
|
<<plt-matlab>>
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_lpf_geophone_time_on
|
|
#+CAPTION: Comparison of the time domain signals when the slip-ring is ON
|
|
#+RESULTS: fig:sr_lpf_geophone_time_on
|
|
[[file:figs/sr_lpf_geophone_time_on.png]]
|
|
|
|
*** Frequency Domain
|
|
We first compute some parameters that will be used for the PSD computation.
|
|
#+begin_src matlab :results none
|
|
dt = sr_lpf_off(2, 3)-sr_lpf_off(1, 3);
|
|
|
|
Fs = 1/dt; % [Hz]
|
|
|
|
win = hanning(ceil(10*Fs));
|
|
#+end_src
|
|
|
|
Then we compute the Power Spectral Density using =pwelch= function.
|
|
#+begin_src matlab :results none
|
|
% Direct measure
|
|
[pxd_lpf_off, ~] = pwelch(sr_lpf_off(:, 1), win, [], [], Fs);
|
|
[pxd_lpf_on, ~] = pwelch(sr_lpf_on(:, 1), win, [], [], Fs);
|
|
|
|
% Slip-Ring measure
|
|
[pxsr_lpf_off, f] = pwelch(sr_lpf_off(:, 2), win, [], [], Fs);
|
|
[pxsr_lpf_on, ~] = pwelch(sr_lpf_on(:, 2), win, [], [], Fs);
|
|
#+end_src
|
|
|
|
Finally, we compare the Amplitude Spectral Density of the signals (figure [[fig:sr_lpf_geophone_asd]]);
|
|
|
|
#+begin_src matlab :results none
|
|
figure;
|
|
hold on;
|
|
plot(f, sqrt(pxd_lpf_off), 'DisplayName', 'Direct - OFF');
|
|
plot(f, sqrt(pxsr_lpf_off), 'DisplayName', 'Slip-Ring - OFF');
|
|
plot(f, sqrt(pxd_lpf_on), 'DisplayName', 'Direct - ON');
|
|
plot(f, sqrt(pxsr_lpf_on), 'DisplayName', 'Slip-Ring - ON');
|
|
hold off;
|
|
set(gca, 'xscale', 'log');
|
|
set(gca, 'yscale', 'log');
|
|
xlabel('Frequency [Hz]'); ylabel('ASD of the measured Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$')
|
|
legend('Location', 'northeast');
|
|
xlim([0.1, 500]);
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_lpf_geophone_asd
|
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
#+begin_src matlab :var filepath="figs/sr_lpf_geophone_asd.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
|
<<plt-matlab>>
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_lpf_geophone_asd
|
|
#+CAPTION: Comparison of the Amplitude Spectral Sensity
|
|
#+RESULTS: fig:sr_lpf_geophone_asd
|
|
[[file:figs/sr_lpf_geophone_asd.png]]
|
|
|
|
#+begin_src matlab :results none :exports none
|
|
xlim([100, 500]);
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_lpf_geophone_asd_zoom
|
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
#+begin_src matlab :var filepath="figs/sr_lpf_geophone_asd_zoom.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
|
<<plt-matlab>>
|
|
#+end_src
|
|
|
|
#+NAME: fig:sr_lpf_geophone_asd_zoom
|
|
#+CAPTION: Comparison of the Amplitude Spectral Sensity - Zoom
|
|
#+RESULTS: fig:sr_lpf_geophone_asd_zoom
|
|
[[file:figs/sr_lpf_geophone_asd_zoom.png]]
|
|
|
|
*** Comparison of with and without LPF
|
|
#+begin_src matlab :results none
|
|
figure;
|
|
hold on;
|
|
plot(f, sqrt(pxdon), 'DisplayName', 'Direct - ON');
|
|
plot(f, sqrt(pxsron), 'DisplayName', 'Slip-Ring - ON');
|
|
plot(f, sqrt(pxd_lpf_on), 'DisplayName', 'Direct - ON - LPF');
|
|
plot(f, sqrt(pxsr_lpf_on), 'DisplayName', 'Slip-Ring - ON - LPF');
|
|
hold off;
|
|
set(gca, 'xscale', 'log');
|
|
set(gca, 'yscale', 'log');
|
|
xlabel('Frequency [Hz]'); ylabel('ASD of the measured Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$')
|
|
legend('Location', 'northeast');
|
|
xlim([0.1, 500]);
|
|
#+end_src
|
|
|
|
#+NAME: fig:comp_with_without_lpf
|
|
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
|
#+begin_src matlab :var filepath="figs/comp_with_without_lpf.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
|
<<plt-matlab>>
|
|
#+end_src
|
|
|
|
#+NAME: fig:comp_with_without_lpf
|
|
#+CAPTION: Comparison of the measured signals with and without LPF
|
|
#+RESULTS: fig:comp_with_without_lpf
|
|
[[file:figs/comp_with_without_lpf.png]]
|
|
|
|
*** Conclusion
|
|
#+begin_important
|
|
- Using the LPF, we don't have any perturbation coming from the slip-ring when it is on.
|
|
- However, we should use a smaller value of the capacitor to have a cut-off frequency at $1kHz$.
|
|
#+end_important
|