Update analysis of slip-ring noise
@ -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]]
|
||||
|
BIN
slip-ring-electrical-noise/figs/diff_sr_direct.png
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
slip-ring-electrical-noise/figs/diff_sr_direct_psd.png
Normal file
After Width: | Height: | Size: 136 KiB |
BIN
slip-ring-electrical-noise/figs/diff_sr_direct_zoom.png
Normal file
After Width: | Height: | Size: 97 KiB |
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 96 KiB |
@ -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
|
||||
|