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

813 lines
31 KiB
Org Mode
Raw Normal View History

#+TITLE: Measurements On the Slip-Ring - Electrical Noise
2019-05-13 22:36:14 +02:00
: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: <link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/zenburn.css"/>
#+HTML_HEAD: <script type="text/javascript" src="../js/jquery.min.js"></script>
#+HTML_HEAD: <script type="text/javascript" src="../js/bootstrap.min.js"></script>
#+HTML_HEAD: <script type="text/javascript" src="../js/jquery.stickytableheaders.min.js"></script>
#+HTML_HEAD: <script type="text/javascript" src="../js/readtheorg.js"></script>
#+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:
2020-04-27 11:35:57 +02:00
* Introduction :ignore:
The noise induced by the slip-ring is measured when using geophones:
2019-05-13 22:36:14 +02:00
- Section [[sec:meas_slip_ring_geophone]]:
- A geophone located at the sample location is measured with its signal going directly to the ADC and going through the slip-ring
- The voltage amplifiers where saturating due to high frequency noise
- Section [[sec:meas_sr_geophone]]:
- A Low Pass Filter is added before the voltage amplifiers
- Using a Oscilloscope, high frequency noise at 40kHz generated by the slip-ring has been identified
- With the additional low pass filter at the input of the voltage amplifiers, the slip-ring don't add any measurable noise to the signal
* Effect of the Slip-Ring on the signal when turned ON - Geophone measurement
:PROPERTIES:
:header-args:matlab+: :tangle matlab/meas_slip_ring_geophone.m
:header-args:matlab+: :comments org :mkdirp yes
:END:
<<sec:meas_slip_ring_geophone>>
** ZIP file containing the data and matlab files :ignore:
#+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
2019-05-13 22:36:14 +02:00
*Goal*:
The goal is to determine if some noise is added to a signal passing through the slip-ring.
*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]]).
2019-05-13 22:36:14 +02:00
The two signals from the geophones are amplified with voltage amplifiers with the following settings:
- Gain: 60dB
- AC/DC switch: AC
- Low pass filter at the output set at 1kHz
#+name: fig:setup_slipring
#+caption: Experimental Setup
#+attr_html: :width 500px
[[file:./img/IMG_20190430_112615.jpg]]
2019-05-13 22:36:14 +02:00
*Measurements*:
Two measurements are done:
| Measurement File | Description |
|--------------------+------------------------------------------------------------------|
| =mat/meas_018.mat= | Signal goes through the Slip-ring (as shown on the figure above) |
| =mat/meas_019.mat= | Signal from the top geophone does not goes through the Slip-ring |
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
2019-05-13 22:36:14 +02:00
meas_sr = load('mat/data_018.mat', 'data'); meas_sr = meas_sr.data;
meas_di = load('mat/data_019.mat', 'data'); meas_di = meas_di.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;
2019-05-13 22:36:14 +02:00
plot(meas_di(:, 3), meas_di(:, 2), 'DisplayName', 'Geophone - Direct');
plot(meas_sr(:, 3), meas_sr(:, 2), 'DisplayName', 'Geophone - Slip-Ring');
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
2019-05-13 22:36:14 +02:00
#+CAPTION: Effect of the Slip-Ring on the measured signal of the geophone at the sample location - 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]]).
2019-05-13 22:36:14 +02:00
#+begin_src matlab :results none
2019-05-13 22:36:14 +02:00
dt = meas_di(2, 3) - meas_di(1, 3);
Fs = 1/dt;
2019-05-13 22:36:14 +02:00
win = hanning(ceil(5*Fs));
#+end_src
#+begin_src matlab :results none
2019-05-13 22:36:14 +02:00
[px_di, f] = pwelch(meas_di(:, 2), win, [], [], Fs);
[px_sr, ~] = pwelch(meas_sr(:, 2), win, [], [], Fs);
#+end_src
#+begin_src matlab :results none
figure;
hold on;
2019-05-13 22:36:14 +02:00
plot(f, sqrt(px_sr), 'DisplayName', 'Slip-Ring');
plot(f, sqrt(px_di), '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
2019-05-13 22:36:14 +02:00
#+CAPTION: Effect of the Slip-Ring on the measured signal of the geophone at the sample location - Frequency domain
#+RESULTS: fig:slipring_asd
[[file:figs/slipring_asd.png]]
** Conclusion
#+begin_important
2019-05-13 22:36:14 +02:00
- The voltage amplifiers are saturating during the measurements (as shown by the LED on figure [[fig:setup_slipring]])
- This saturation is mainly due to high frequency noise => a LPF will be added at the input of the voltage amplifiers in the further measurements
- The measurements will be redone
#+end_important
* Measure of the noise induced by the Slip-Ring using voltage amplifiers - Geophone
2019-05-06 10:28:35 +02:00
:PROPERTIES:
2019-05-13 22:36:14 +02:00
: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:
2019-05-13 22:36:14 +02:00
<<sec:meas_sr_geophone>>
2019-05-06 10:28:35 +02:00
** ZIP file containing the data and matlab files :ignore:
2019-05-06 10:28:35 +02:00
#+begin_src bash :exports none :results none
2019-05-13 22:36:14 +02:00
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 \
mat/data_035.mat \
mat/data_036.mat \
2019-05-13 22:36:14 +02:00
meas_sr_geophone.m;
rm meas_sr_geophone.m;
fi
2019-05-06 10:28:35 +02:00
#+end_src
#+begin_note
2019-05-13 22:36:14 +02:00
All the files (data and Matlab scripts) are accessible [[file:data/meas_sr_geophone.zip][here]].
#+end_note
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-13 22:36:14 +02:00
** First Measurement without LPF
*** Measurement Description
**** Goal :ignore:
2019-05-13 22:36:14 +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 :ignore:
2019-05-13 22:36:14 +02:00
*Setup*:
- The geophone is located at the sample location
- The two Voltage amplifiers have the same following settings:
- Gain: 60dB
- AC/DC option: AC
- Low pass filter at the output set to 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
**** Measurements :ignore:
2019-05-13 22:36:14 +02:00
*Measurements*:
Two measurements are done:
| Measurement File | Description |
|------------------+---------------|
| =data_012= | Slip-Ring OFF |
| =data_013= | Slip-Ring ON |
Each of the measurement =mat= file contains one =data= array with 3 columns:
| Column number | Description |
|---------------+----------------------------------------------------------------------------|
| 1 | Measure of the geophone at the sample position with a direct wire |
| 2 | Measure of the geophone at the sample position going through the slip-ring |
| 3 | Time |
*** 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
2019-05-13 22:36:14 +02:00
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;
2019-05-02 14:06:23 +02:00
#+end_src
2019-05-13 22:36:14 +02:00
*** 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]]).
2019-05-02 14:06:23 +02:00
2019-05-13 22:36:14 +02:00
#+begin_src matlab :results none :exports none
2019-05-02 14:06:23 +02:00
figure;
hold on;
2019-05-13 22:36:14 +02:00
plot(sr_off(:, 3), sr_off(:, 1), 'DisplayName', 'Direct');
plot(sr_off(:, 3), sr_off(:, 2), 'DisplayName', 'Slip-Ring');
2019-05-02 14:06:23 +02:00
hold off;
2019-05-13 22:36:14 +02:00
legend('Location', 'northeast');
xlabel('Time [s]');
ylabel('Voltage [V]');
2019-05-02 14:06:23 +02:00
#+end_src
2019-05-13 22:36:14 +02:00
#+NAME: fig:sr_geophone_time_off
2019-05-02 14:06:23 +02:00
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
2019-05-13 22:36:14 +02:00
#+begin_src matlab :var filepath="figs/sr_geophone_time_off.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
2019-05-02 14:06:23 +02:00
<<plt-matlab>>
#+end_src
2019-05-13 22:36:14 +02:00
#+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]]
2019-05-02 14:06:23 +02:00
2019-05-13 22:36:14 +02:00
#+begin_src matlab :results none :exports none
2019-05-02 14:06:23 +02:00
figure;
hold on;
2019-05-13 22:36:14 +02:00
plot(sr_on(:, 3), sr_on(:, 1), 'DisplayName', 'Direct');
plot(sr_on(:, 3), sr_on(:, 2), 'DisplayName', 'Slip-Ring');
2019-05-02 14:06:23 +02:00
hold off;
legend('Location', 'northeast');
2019-05-13 22:36:14 +02:00
xlabel('Time [s]');
ylabel('Voltage [V]');
2019-05-02 14:06:23 +02:00
#+end_src
2019-05-13 22:36:14 +02:00
#+NAME: fig:sr_geophone_time_on
2019-05-02 14:06:23 +02:00
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
2019-05-13 22:36:14 +02:00
#+begin_src matlab :var filepath="figs/sr_geophone_time_on.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
2019-05-02 14:06:23 +02:00
<<plt-matlab>>
#+end_src
2019-05-13 22:36:14 +02:00
#+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]]
2019-05-02 14:06:23 +02:00
2019-05-13 22:36:14 +02:00
*** Frequency Domain
We first compute some parameters that will be used for the PSD computation.
2019-05-03 17:33:15 +02:00
#+begin_src matlab :results none
2019-05-13 22:36:14 +02:00
dt = sr_off(2, 3)-sr_off(1, 3);
2019-05-03 17:33:15 +02:00
Fs = 1/dt; % [Hz]
2019-05-13 22:36:14 +02:00
win = hanning(ceil(10*Fs));
2019-05-03 17:33:15 +02:00
#+end_src
2019-05-13 22:36:14 +02:00
Then we compute the Power Spectral Density using =pwelch= function.
2019-05-03 17:33:15 +02:00
#+begin_src matlab :results none
2019-05-13 22:36:14 +02:00
% 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);
2019-05-03 17:33:15 +02:00
#+end_src
2019-05-13 22:36:14 +02:00
Finally, we compare the Amplitude Spectral Density of the signals (figure [[fig:sr_geophone_asd]]);
#+begin_src matlab :results none
2019-05-03 17:33:15 +02:00
figure;
hold on;
2019-05-13 22:36:14 +02:00
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');
2019-05-03 17:33:15 +02:00
hold off;
2019-05-13 22:36:14 +02:00
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD of the measured Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$')
2019-05-03 17:33:15 +02:00
legend('Location', 'northeast');
2019-05-13 22:36:14 +02:00
xlim([0.1, 500]);
2019-05-03 17:33:15 +02:00
#+end_src
2019-05-13 22:36:14 +02:00
#+NAME: fig:sr_geophone_asd
2019-05-03 17:33:15 +02:00
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
2019-05-13 22:36:14 +02:00
#+begin_src matlab :var filepath="figs/sr_geophone_asd.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
2019-05-03 17:33:15 +02:00
<<plt-matlab>>
#+end_src
2019-05-13 22:36:14 +02:00
#+NAME: fig:sr_geophone_asd
#+CAPTION: Comparison of the Amplitude Spectral Sensity
#+RESULTS: fig:sr_geophone_asd
[[file:figs/sr_geophone_asd.png]]
2019-05-13 22:36:14 +02:00
#+begin_src matlab :results none :exports none
xlim([100, 500]);
#+end_src
2019-05-06 10:28:35 +02:00
2019-05-13 22:36:14 +02:00
#+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>>
2019-05-06 10:28:35 +02:00
#+end_src
2019-05-13 22:36:14 +02:00
#+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]]
2019-05-06 10:28:35 +02:00
2019-05-13 22:36:14 +02:00
*** Conclusion
#+begin_important
- The fact that the Slip-Ring is turned ON adds some noise to the signals
- The signal going through the Slip-Ring is less noisy than the one going directly to the ADC
- This could be due to better electromagnetic isolation in the slip-ring
2019-05-06 10:28:35 +02:00
2019-05-13 22:36:14 +02:00
*Questions*:
- Can the sharp peak on figure [[fig:sr_geophone_asd_zoom]] be due to the Aliasing?
#+end_important
2019-05-06 10:28:35 +02:00
2019-05-13 22:36:14 +02:00
** Measurement using an oscilloscope
*** Measurement Setup
We are now measuring the same signals than in the previous section, but with an oscilloscope instead of with the Speedgoat ADC.
2019-05-06 10:28:35 +02:00
2019-05-13 22:36:14 +02:00
*** 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.
2019-05-06 10:28:35 +02:00
2019-05-13 22:36:14 +02:00
Then the Slip-Ring is OFF, we don't observe this noise at 40kHz anymore (figure [[fig:oscilloscope_sr_off]]).
2019-05-06 10:28:35 +02:00
2019-05-13 22:36:14 +02:00
#+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]]
2019-05-06 14:16:38 +02:00
2019-05-13 22:36:14 +02:00
#+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]]
2019-05-06 14:16:38 +02:00
2019-05-13 22:36:14 +02:00
*** 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
2019-05-13 22:36:14 +02:00
** New measurements with a LPF before the Voltage Amplifiers
*** Setup description
**** Goal :ignore:
2019-05-13 22:36:14 +02:00
*Goal*:
The goal is to see if we can remove high frequency noise from the signals before the voltage amplifiers in order to not saturate them.
2019-05-06 10:28:35 +02:00
**** Setup :ignore:
2019-05-13 22:36:14 +02:00
*Setup*:
We are measuring the signal from a geophone put at the sample position.
Using a BNC slitter, one part is going directly to the Low pass filter, voltage amplifier and ADC (first column), the other part is going through the slip ring before the low pass filter and the voltage amplifier (second column).
2019-05-06 10:28:35 +02:00
2019-05-13 22:36:14 +02:00
The two voltage amplifiers have the same following settings:
- Gain: 60dB
- AC/DC option: DC
- Low pass filter at the output set to 1kHz
2019-05-06 10:28:35 +02:00
2019-05-13 22:36:14 +02:00
The low pass filter is a first order low pass filter RC circuit. It is added before the Voltage Amplifiers and has the following values:
\begin{aligned}
R &= 1k\Omega \\
C &= 1\mu F
\end{aligned}
And the cut-off frequency is $f_c = \frac{1}{RC} = 160Hz$.
**** Measurements :ignore:
2019-05-13 22:36:14 +02:00
*Measurements*:
Two measurements are done:
| Measurement File | Description |
|--------------------+-----------------------------------------------------------------|
| =mat/data_016.mat= | Signal from the geophone at the sample location - Slip-Ring OFF |
| =mat/data_017.mat= | Signal from the geophone at the sample location - Slip-Ring ON |
Each of the measurement =mat= file contains one =data= array with 3 columns:
| Column number | Description |
|---------------+------------------------------------|
| 1 | Direct measurement |
| 2 | Signal going through the slip-ring |
| 3 | Time |
*** 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;
2019-05-06 10:28:35 +02:00
hold on;
2019-05-13 22:36:14 +02:00
plot(sr_lpf_off(:, 3), sr_lpf_off(:, 1)-mean(sr_lpf_off(:, 1)), 'DisplayName', 'Direct');
plot(sr_lpf_off(:, 3), sr_lpf_off(:, 2)-mean(sr_lpf_off(:, 2)), 'DisplayName', 'Slip-Ring');
2019-05-06 10:28:35 +02:00
hold off;
2019-05-13 22:36:14 +02:00
xlim([0, 100]); ylim([-1, 1]);
2019-05-06 10:28:35 +02:00
legend('Location', 'northeast');
2019-05-13 22:36:14 +02:00
xlabel('Time [s]');
ylabel('Voltage [V]');
2019-05-06 10:28:35 +02:00
#+end_src
2019-05-13 22:36:14 +02:00
#+NAME: fig:sr_lpf_geophone_time_off
2019-05-06 10:28:35 +02:00
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
2019-05-13 22:36:14 +02:00
#+begin_src matlab :var filepath="figs/sr_lpf_geophone_time_off.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
2019-05-06 10:28:35 +02:00
<<plt-matlab>>
#+end_src
2019-05-13 22:36:14 +02:00
#+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]]
2019-05-06 10:28:35 +02:00
#+begin_src matlab :results none :exports none
figure;
hold on;
2019-05-13 22:36:14 +02:00
plot(sr_lpf_on(:, 3), sr_lpf_on(:, 1)-mean(sr_lpf_on(:, 1)), 'DisplayName', 'Direct');
plot(sr_lpf_on(:, 3), sr_lpf_on(:, 2)-mean(sr_lpf_on(:, 2)), 'DisplayName', 'Slip-Ring');
2019-05-06 10:28:35 +02:00
hold off;
2019-05-13 22:36:14 +02:00
xlim([0, 100]); ylim([-1, 1]);
2019-05-06 10:28:35 +02:00
legend('Location', 'northeast');
2019-05-13 22:36:14 +02:00
xlabel('Time [s]');
ylabel('Voltage [V]');
2019-05-06 10:28:35 +02:00
#+end_src
2019-05-13 22:36:14 +02:00
#+NAME: fig:sr_lpf_geophone_time_on
2019-05-06 10:28:35 +02:00
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
2019-05-13 22:36:14 +02:00
#+begin_src matlab :var filepath="figs/sr_lpf_geophone_time_on.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
2019-05-06 10:28:35 +02:00
<<plt-matlab>>
#+end_src
2019-05-13 22:36:14 +02:00
#+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]]
2019-05-06 10:28:35 +02:00
2019-05-13 22:36:14 +02:00
*** 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
2019-05-13 22:36:14 +02:00
dt = sr_lpf_off(2, 3)-sr_lpf_off(1, 3);
2019-05-06 10:28:35 +02:00
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
2019-05-13 22:36:14 +02:00
% 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);
2019-05-06 10:28:35 +02:00
#+end_src
2019-05-13 22:36:14 +02:00
Finally, we compare the Amplitude Spectral Density of the signals (figure [[fig:sr_lpf_geophone_asd]]);
2019-05-06 10:28:35 +02:00
#+begin_src matlab :results none
figure;
hold on;
2019-05-13 22:36:14 +02:00
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');
2019-05-06 10:28:35 +02:00
hold off;
xlim([0.1, 500]);
2019-05-13 22:36:14 +02:00
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', 'southwest');
2019-05-06 10:28:35 +02:00
#+end_src
2019-05-13 22:36:14 +02:00
#+NAME: fig:sr_lpf_geophone_asd
2019-05-06 10:28:35 +02:00
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
2019-05-13 22:36:14 +02:00
#+begin_src matlab :var filepath="figs/sr_lpf_geophone_asd.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
2019-05-06 10:28:35 +02:00
<<plt-matlab>>
#+end_src
2019-05-13 22:36:14 +02:00
#+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]]
2019-05-06 10:28:35 +02:00
2019-05-13 22:36:14 +02:00
#+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]]
*** Conclusion
2019-05-06 10:28:35 +02:00
#+begin_important
2019-05-13 22:36:14 +02:00
- Using the LPF, we don't see any additional noise coming from the slip-ring when it is turned ON
- However, we should use a smaller value of the capacitor to have a cut-off frequency at $1kHz$
- We here observe a signal at $50Hz$ and its harmonics
2019-05-06 10:28:35 +02:00
#+end_important
** Measurement of the noise induced by the slip-ring with additional LPF at 1kHz
*** Measurement description
**** Setup :ignore:
*Setup*:
Voltage amplifier:
- 60db
- AC
- 1kHz
Additionnal LPF at 1kHz
geophone at the sample location
slit into 2 BNC:
- first one (column one): direct wire
- second one (second column): slip-ring wire
Additionnal LPF is added before the voltage amplifiers
**** Goal :ignore:
2019-05-13 22:36:14 +02:00
*Goal*:
**** Measurements :ignore:
2019-05-13 22:36:14 +02:00
*Measurements*:
2019-05-06 10:28:35 +02:00
Three measurements are done:
| Measurement File | Description |
|--------------------+--------------|
| =mat/data_035.mat= | All off |
| =mat/data_036.mat= | Slip-Ring ON |
2019-05-13 22:36:14 +02:00
Each of the measurement =mat= file contains one =data= array with 3 columns:
| Column number | Description |
|---------------+----------------|
| 1 | Direct Wire |
| 2 | Slip-Ring Wire |
| 3 | Time |
*** Load data
We load the data of the z axis of two geophones.
#+begin_src matlab :results none
sr_lpf_1khz_of = load('mat/data_035.mat', 'data'); sr_lpf_1khz_of = sr_lpf_1khz_of.data;
sr_lpf_1khz_on = load('mat/data_036.mat', 'data'); sr_lpf_1khz_on = sr_lpf_1khz_on.data;
#+end_src
2019-05-17 09:50:53 +02:00
*** Pre-processing
There is a sign difference between the signal going directly to the ADC and the signal going through the slip-ring. We add a minus sign on the signal going through the slip-ring.
We also subtract the mean value as the voltage amplifiers were on the DC option.
#+begin_src matlab
sr_lpf_1khz_of(:, 1) = sr_lpf_1khz_of(:, 1)-mean(sr_lpf_1khz_of(:, 1));
sr_lpf_1khz_of(:, 2) = -(sr_lpf_1khz_of(:, 2)-mean(sr_lpf_1khz_of(:, 2)));
sr_lpf_1khz_on(:, 1) = sr_lpf_1khz_on(:, 1)-mean(sr_lpf_1khz_on(:, 1));
sr_lpf_1khz_on(:, 2) = -(sr_lpf_1khz_on(:, 2)-mean(sr_lpf_1khz_on(:, 2)));
#+end_src
*** Time Domain
We compare the signal when the Slip-Ring is OFF (figure [[fig:sr_lpf_1khz_geophone_time_off]]) and when it is ON (figure [[fig:sr_lpf_1khz_geophone_time_on]]).
2019-05-17 09:50:53 +02:00
#+begin_src matlab :exports none
figure;
2019-05-17 09:50:53 +02:00
subplot(1, 2, 1)
hold on;
2019-05-17 09:50:53 +02:00
plot(sr_lpf_1khz_of(:, 3), sr_lpf_1khz_of(:, 1), 'DisplayName', 'Direct');
plot(sr_lpf_1khz_of(:, 3), sr_lpf_1khz_of(:, 2), 'DisplayName', 'Slip-Ring');
hold off;
xlim([0, 100]); ylim([-1, 1]);
legend('Location', 'northeast');
xlabel('Time [s]'); ylabel('Voltage [V]');
2019-05-17 09:50:53 +02:00
subplot(1, 2, 2)
hold on;
plot(sr_lpf_1khz_of(:, 3), sr_lpf_1khz_of(:, 1), 'DisplayName', 'Direct');
plot(sr_lpf_1khz_of(:, 3), sr_lpf_1khz_of(:, 2), 'DisplayName', 'Slip-Ring');
hold off;
xlim([0, 1]); ylim([-1, 1]);
legend('Location', 'northeast');
xlabel('Time [s]'); ylabel('Voltage [V]');
#+end_src
#+NAME: fig:sr_lpf_1khz_geophone_time_off
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
2019-05-17 09:50:53 +02:00
#+begin_src matlab :var filepath="figs/sr_lpf_1khz_geophone_time_off.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:sr_lpf_1khz_geophone_time_off
#+CAPTION: Comparison of the time domain signals when the slip-ring is OFF
#+RESULTS: fig:sr_lpf_1khz_geophone_time_off
[[file:figs/sr_lpf_1khz_geophone_time_off.png]]
2019-05-17 09:50:53 +02:00
#+begin_src matlab :exports none
figure;
2019-05-17 09:50:53 +02:00
subplot(1, 2, 1);
hold on;
2019-05-17 09:50:53 +02:00
plot(sr_lpf_1khz_on(:, 3), sr_lpf_1khz_on(:, 1), 'DisplayName', 'Direct');
plot(sr_lpf_1khz_on(:, 3), sr_lpf_1khz_on(:, 2), 'DisplayName', 'Slip-Ring');
hold off;
xlim([0, 100]); ylim([-1, 1]);
legend('Location', 'northeast');
xlabel('Time [s]'); ylabel('Voltage [V]');
2019-05-17 09:50:53 +02:00
subplot(1, 2, 2);
hold on;
plot(sr_lpf_1khz_on(:, 3), sr_lpf_1khz_on(:, 1), 'DisplayName', 'Direct');
plot(sr_lpf_1khz_on(:, 3), sr_lpf_1khz_on(:, 2), 'DisplayName', 'Slip-Ring');
hold off;
xlim([0, 1]); ylim([-1, 1]);
legend('Location', 'northeast');
xlabel('Time [s]'); ylabel('Voltage [V]');
#+end_src
#+NAME: fig:sr_lpf_1khz_geophone_time_on
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
2019-05-17 09:50:53 +02:00
#+begin_src matlab :var filepath="figs/sr_lpf_1khz_geophone_time_on.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:sr_lpf_1khz_geophone_time_on
#+CAPTION: Comparison of the time domain signals when the slip-ring is ON
#+RESULTS: fig:sr_lpf_1khz_geophone_time_on
[[file:figs/sr_lpf_1khz_geophone_time_on.png]]
*** Frequency Domain
We first compute some parameters that will be used for the PSD computation.
2019-05-17 09:50:53 +02:00
#+begin_src matlab
dt = sr_lpf_1khz_of(2, 3)-sr_lpf_1khz_of(1, 3);
Fs = 1/dt; % [Hz]
win = hanning(ceil(10*Fs));
#+end_src
Then we compute the Power Spectral Density using =pwelch= function.
2019-05-17 09:50:53 +02:00
#+begin_src matlab
% Direct measure
[pxdi_lpf_1khz_of, f] = pwelch(sr_lpf_1khz_of(:, 1), win, [], [], Fs);
[pxdi_lpf_1khz_on, ~] = pwelch(sr_lpf_1khz_on(:, 1), win, [], [], Fs);
% Slip-Ring measure
[pxsr_lpf_1khz_of, ~] = pwelch(sr_lpf_1khz_of(:, 2), win, [], [], Fs);
[pxsr_lpf_1khz_on, ~] = pwelch(sr_lpf_1khz_on(:, 2), win, [], [], Fs);
#+end_src
Finally, we compare the Amplitude Spectral Density of the signals (figure [[fig:sr_lpf_1khz_geophone_asd]]);
2019-05-17 09:50:53 +02:00
#+begin_src matlab
figure;
hold on;
plot(f, sqrt(pxdi_lpf_1khz_of), 'DisplayName', 'Direct - OFF');
plot(f, sqrt(pxsr_lpf_1khz_of), 'DisplayName', 'Slip-Ring - OFF');
plot(f, sqrt(pxdi_lpf_1khz_on), 'DisplayName', 'Direct - ON');
plot(f, sqrt(pxsr_lpf_1khz_on), 'DisplayName', 'Slip-Ring - ON');
hold off;
2019-05-17 09:50:53 +02:00
xlim([1, 500]);
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', 'southwest');
#+end_src
#+NAME: fig:sr_lpf_1khz_geophone_asd
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/sr_lpf_1khz_geophone_asd.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:sr_lpf_1khz_geophone_asd
#+CAPTION: Comparison of the Amplitude Spectral Sensity
#+RESULTS: fig:sr_lpf_1khz_geophone_asd
[[file:figs/sr_lpf_1khz_geophone_asd.png]]
2019-05-17 09:50:53 +02:00
*** Difference between the direct signal and the signal going through the slip-ring
We subtract the signal coming from the direct wire to the signal going through the slip-ring when the slip-ring is ON and when it is OFF (figure [[fig:diff_sr_direct]]).
#+begin_src matlab :exports none
figure;
subplot(1, 2, 1);
hold on;
plot(sr_lpf_1khz_of(:, 3), sr_lpf_1khz_of(:, 1)-sr_lpf_1khz_of(:, 2));
plot(sr_lpf_1khz_on(:, 3), sr_lpf_1khz_on(:, 1)-sr_lpf_1khz_on(:, 2));
hold off;
xlim([0, 100]); ylim([-0.3, 0.3]);
xlabel('Time [s]'); ylabel('Voltage [V]');
subplot(1, 2, 2);
hold on;
plot(sr_lpf_1khz_of(:, 3), sr_lpf_1khz_of(:, 1)-sr_lpf_1khz_of(:, 2), 'DisplayName', 'OFF');
plot(sr_lpf_1khz_on(:, 3), sr_lpf_1khz_on(:, 1)-sr_lpf_1khz_on(:, 2), 'DisplayName', 'ON');
hold off;
xlim([0, 0.1]); ylim([-0.3, 0.3]);
legend('Location', 'northeast');
xlabel('Time [s]'); ylabel('Voltage [V]');
#+end_src
#+NAME: fig:diff_sr_direct
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/diff_sr_direct.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:diff_sr_direct
#+CAPTION: Difference between the signal going directly to the ADC and the signal going through the slip-ring before the ADC
#+RESULTS: fig:diff_sr_direct
[[file:figs/diff_sr_direct.png]]
Then we compute the Power Spectral Density using =pwelch= function (figure [[fig:diff_sr_direct_psd]]).
#+begin_src matlab
% Direct measure
[px_diff_lpf_1khz_of, f] = pwelch(sr_lpf_1khz_of(:, 1)-sr_lpf_1khz_of(:, 2), win, [], [], Fs);
[px_diff_lpf_1khz_on, ~] = pwelch(sr_lpf_1khz_on(:, 1)-sr_lpf_1khz_on(:, 2), win, [], [], Fs);
#+end_src
#+begin_src matlab :exports none
figure;
hold on;
plot(f, sqrt(px_diff_lpf_1khz_of), 'DisplayName', 'OFF');
plot(f, sqrt(px_diff_lpf_1khz_on), 'DisplayName', 'ON');
hold off;
xlim([1, 500]);
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', 'southwest');
#+end_src
#+NAME: fig:diff_sr_direct_psd
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/diff_sr_direct_psd.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:diff_sr_direct_psd
#+CAPTION: Amplitude Spectral Density of the difference between the signal going directly to the ADC and the signal going through the slip-ring before the ADC
#+RESULTS: fig:diff_sr_direct_psd
[[file:figs/diff_sr_direct_psd.png]]
*** Conclusion
2019-05-13 22:36:14 +02:00
#+begin_important
- Using the LPF, we don't see any additional noise coming from the slip-ring when it is turned ON
2019-05-17 09:50:53 +02:00
- The signal going through the slip-ring only differs from the direct signal by some 50Hz and its harmonics
2019-05-13 22:36:14 +02:00
#+end_important