nass-micro-station-measurem.../slip-ring-electrical-noise/index.org

842 lines
28 KiB
Org Mode
Raw Normal View History

#+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
2019-05-02 14:06:23 +02:00
2019-05-06 10:28:35 +02:00
* Effect of the rotation of the Slip-Ring
:PROPERTIES:
:header-args:matlab+: :tangle matlab/meas_effect_sr.m
2019-05-06 10:28:35 +02:00
:header-args:matlab+: :comments org :mkdirp yes
:END:
<<sec:meas_effect_sr>>
2019-05-06 10:28:35 +02:00
#+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
2019-05-06 10:28:35 +02:00
#+end_src
#+begin_note
All the files (data and Matlab scripts) are accessible [[file:data/meas_effect_sr.zip][here]].
#+end_note
2019-05-06 10:28:35 +02:00
** Measurement Description
2019-05-02 14:06:23 +02:00
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.
2019-05-06 10:28:35 +02:00
** 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
2019-05-02 14:06:23 +02:00
<<matlab-init>>
#+end_src
2019-05-06 10:28:35 +02:00
** Load data
2019-05-02 14:06:23 +02:00
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
2019-05-06 10:28:35 +02:00
** Analysis
2019-05-02 14:06:23 +02:00
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;
2019-05-03 17:33:15 +02:00
plot(sr_on.t, sr_on.x1 - sr_on.x2, 'DisplayName', 'Slip-Ring - $\omega = 1rpm$');
2019-05-02 14:06:23 +02:00
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]]
2019-05-03 17:33:15 +02:00
#+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');
2019-05-06 10:28:35 +02:00
xlim([1, 500]); ylim([1e-5, 1e-3])
2019-05-03 17:33:15 +02:00
#+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]]
2019-05-06 10:28:35 +02:00
** Conclusion
2019-05-02 14:09:20 +02:00
#+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) ?
2019-05-02 14:09:20 +02:00
#+end_note
2019-05-06 10:28:35 +02:00
* Measure of the noise induced by the Slip-Ring
:PROPERTIES:
:header-args:matlab+: :tangle matlab/meas_slip_ring.m
2019-05-06 10:28:35 +02:00
:header-args:matlab+: :comments org :mkdirp yes
:END:
<<sec:meas_slip_ring>>
2019-05-06 10:28:35 +02:00
#+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;
2019-05-07 18:30:04 +02:00
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;
2019-05-07 18:30:04 +02:00
fi
2019-05-06 10:28:35 +02:00
#+end_src
#+begin_note
All the files (data and Matlab scripts) are accessible [[file:data/meas_slip_ring.zip][here]].
#+end_note
2019-05-06 10:28:35 +02:00
** 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
2019-05-06 14:16:38 +02:00
#+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]]
2019-05-06 10:28:35 +02:00
** 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
2019-05-06 10:28:35 +02:00
<<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
2019-05-07 18:30:04 +02:00
*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
2019-05-06 10:28:35 +02:00
#+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
2019-05-06 10:28:35 +02:00
:header-args:matlab+: :comments org :mkdirp yes
:END:
<<sec:meas_sr_geophone>>
2019-05-06 10:28:35 +02:00
#+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;
2019-05-07 18:30:04 +02:00
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;
2019-05-07 18:30:04 +02:00
fi
2019-05-06 10:28:35 +02:00
#+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
2019-05-06 10:28:35 +02:00
** First Measurement without LPF
*** Measurement Description
2019-05-06 10:28:35 +02:00
*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:
2019-05-06 10:28:35 +02:00
- 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
2019-05-06 10:28:35 +02:00
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
2019-05-06 10:28:35 +02:00
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
2019-05-06 10:28:35 +02:00
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]]);
2019-05-06 10:28:35 +02:00
#+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
2019-05-06 10:28:35 +02:00
#+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)
2019-05-07 18:30:04 +02:00
- 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.
2019-05-07 18:30:04 +02:00
- However, we should use a smaller value of the capacitor to have a cut-off frequency at $1kHz$.
2019-05-06 10:28:35 +02:00
#+end_important