Update analysis of slip-ring noise

This commit is contained in:
Thomas Dehaeze 2019-05-17 09:50:53 +02:00
parent eb9eed5b08
commit a382cc1952
7 changed files with 113 additions and 14 deletions

View File

@ -36,10 +36,14 @@ Control loop influence:
- [[file:2018-10-15%20-%20Marc/index.org][Perturbation due to the control loop of each stage]]
- [[file:disturbance-control-system/index.org][Disturbance induced by the control system of each stage]]
* Measurement Noise
Noise coming from the Slip-Ring:
- [[file:slip-ring-electrical-noise/index.org][Slip Ring - Noise measurement when using geophones]
- [[file:slip-ring-noise-turning/index.org][Slip Ring - Noise measurement when turning]
* Other
- [[file:huddle-test-geophones/index.org][Huddle Test - Geophones]]
- [[file:instrumentation/index.org][Measurement on the instrumentation]]
- [[file:slip-ring-electrical-noise/index.org][Slip Ring - Noise measurement]]
- [[file:actuators-sensors/index.org][Actuators and Sensors]]
- [[file:equipment/index.org][Equipment used for the measurements]]
- [[file:src/index.org][Matlab functions used for the data analysis]]

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 96 KiB

View File

@ -615,23 +615,45 @@ We load the data of the z axis of two geophones.
sr_lpf_1khz_on = load('mat/data_036.mat', 'data'); sr_lpf_1khz_on = sr_lpf_1khz_on.data;
#+end_src
*** 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]]).
#+begin_src matlab :results none :exports none
#+begin_src matlab :exports none
figure;
subplot(1, 2, 1)
hold on;
plot(sr_lpf_1khz_of(:, 3), sr_lpf_1khz_of(:, 1)-mean(sr_lpf_1khz_of(:, 1)), 'DisplayName', 'Direct');
plot(sr_lpf_1khz_of(:, 3), sr_lpf_1khz_of(:, 2)-mean(sr_lpf_1khz_of(:, 2)), 'DisplayName', 'Slip-Ring');
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]');
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
#+begin_src matlab :var filepath="figs/sr_lpf_1khz_geophone_time_off.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
#+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
@ -640,20 +662,29 @@ We compare the signal when the Slip-Ring is OFF (figure [[fig:sr_lpf_1khz_geopho
#+RESULTS: fig:sr_lpf_1khz_geophone_time_off
[[file:figs/sr_lpf_1khz_geophone_time_off.png]]
#+begin_src matlab :results none :exports none
#+begin_src matlab :exports none
figure;
subplot(1, 2, 1);
hold on;
plot(sr_lpf_1khz_on(:, 3), sr_lpf_1khz_on(:, 1)-mean(sr_lpf_1khz_on(:, 1)), 'DisplayName', 'Direct');
plot(sr_lpf_1khz_on(:, 3), sr_lpf_1khz_on(:, 2)-mean(sr_lpf_1khz_on(:, 2)), 'DisplayName', 'Slip-Ring');
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]');
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
#+begin_src matlab :var filepath="figs/sr_lpf_1khz_geophone_time_on.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
#+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
@ -664,7 +695,7 @@ We compare the signal when the Slip-Ring is OFF (figure [[fig:sr_lpf_1khz_geopho
*** Frequency Domain
We first compute some parameters that will be used for the PSD computation.
#+begin_src matlab :results none
#+begin_src matlab
dt = sr_lpf_1khz_of(2, 3)-sr_lpf_1khz_of(1, 3);
Fs = 1/dt; % [Hz]
@ -673,7 +704,7 @@ We first compute some parameters that will be used for the PSD computation.
#+end_src
Then we compute the Power Spectral Density using =pwelch= function.
#+begin_src matlab :results none
#+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);
@ -685,7 +716,7 @@ Then we compute the Power Spectral Density using =pwelch= function.
Finally, we compare the Amplitude Spectral Density of the signals (figure [[fig:sr_lpf_1khz_geophone_asd]]);
#+begin_src matlab :results none
#+begin_src matlab
figure;
hold on;
plot(f, sqrt(pxdi_lpf_1khz_of), 'DisplayName', 'Direct - OFF');
@ -693,7 +724,7 @@ Finally, we compare the Amplitude Spectral Density of the signals (figure [[fig:
plot(f, sqrt(pxdi_lpf_1khz_on), 'DisplayName', 'Direct - ON');
plot(f, sqrt(pxsr_lpf_1khz_on), 'DisplayName', 'Slip-Ring - ON');
hold off;
xlim([0.1, 500]);
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');
@ -710,8 +741,72 @@ Finally, we compare the Amplitude Spectral Density of the signals (figure [[fig:
#+RESULTS: fig:sr_lpf_1khz_geophone_asd
[[file:figs/sr_lpf_1khz_geophone_asd.png]]
*** 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
#+begin_important
- Using the LPF, we don't see any additional noise coming from the slip-ring when it is turned ON
- We here observe a signal at $50Hz$ and its harmonics
- The signal going through the slip-ring only differs from the direct signal by some 50Hz and its harmonics
#+end_important