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: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]]
|
- [[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
|
* Other
|
||||||
- [[file:huddle-test-geophones/index.org][Huddle Test - Geophones]]
|
- [[file:huddle-test-geophones/index.org][Huddle Test - Geophones]]
|
||||||
- [[file:instrumentation/index.org][Measurement on the instrumentation]]
|
- [[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:actuators-sensors/index.org][Actuators and Sensors]]
|
||||||
- [[file:equipment/index.org][Equipment used for the measurements]]
|
- [[file:equipment/index.org][Equipment used for the measurements]]
|
||||||
- [[file:src/index.org][Matlab functions used for the data analysis]]
|
- [[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;
|
sr_lpf_1khz_on = load('mat/data_036.mat', 'data'); sr_lpf_1khz_on = sr_lpf_1khz_on.data;
|
||||||
#+end_src
|
#+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
|
*** 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]]).
|
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;
|
figure;
|
||||||
|
subplot(1, 2, 1)
|
||||||
hold on;
|
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(:, 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(:, 2), 'DisplayName', 'Slip-Ring');
|
||||||
hold off;
|
hold off;
|
||||||
xlim([0, 100]); ylim([-1, 1]);
|
xlim([0, 100]); ylim([-1, 1]);
|
||||||
legend('Location', 'northeast');
|
legend('Location', 'northeast');
|
||||||
xlabel('Time [s]'); ylabel('Voltage [V]');
|
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
|
#+end_src
|
||||||
|
|
||||||
#+NAME: fig:sr_lpf_1khz_geophone_time_off
|
#+NAME: fig:sr_lpf_1khz_geophone_time_off
|
||||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
#+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>>
|
<<plt-matlab>>
|
||||||
#+end_src
|
#+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
|
#+RESULTS: fig:sr_lpf_1khz_geophone_time_off
|
||||||
[[file:figs/sr_lpf_1khz_geophone_time_off.png]]
|
[[file:figs/sr_lpf_1khz_geophone_time_off.png]]
|
||||||
|
|
||||||
#+begin_src matlab :results none :exports none
|
#+begin_src matlab :exports none
|
||||||
figure;
|
figure;
|
||||||
|
subplot(1, 2, 1);
|
||||||
hold on;
|
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(:, 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(:, 2), 'DisplayName', 'Slip-Ring');
|
||||||
hold off;
|
hold off;
|
||||||
xlim([0, 100]); ylim([-1, 1]);
|
xlim([0, 100]); ylim([-1, 1]);
|
||||||
legend('Location', 'northeast');
|
legend('Location', 'northeast');
|
||||||
xlabel('Time [s]'); ylabel('Voltage [V]');
|
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
|
#+end_src
|
||||||
|
|
||||||
#+NAME: fig:sr_lpf_1khz_geophone_time_on
|
#+NAME: fig:sr_lpf_1khz_geophone_time_on
|
||||||
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
|
#+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>>
|
<<plt-matlab>>
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -664,7 +695,7 @@ We compare the signal when the Slip-Ring is OFF (figure [[fig:sr_lpf_1khz_geopho
|
|||||||
|
|
||||||
*** Frequency Domain
|
*** Frequency Domain
|
||||||
We first compute some parameters that will be used for the PSD computation.
|
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);
|
dt = sr_lpf_1khz_of(2, 3)-sr_lpf_1khz_of(1, 3);
|
||||||
|
|
||||||
Fs = 1/dt; % [Hz]
|
Fs = 1/dt; % [Hz]
|
||||||
@ -673,7 +704,7 @@ We first compute some parameters that will be used for the PSD computation.
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Then we compute the Power Spectral Density using =pwelch= function.
|
Then we compute the Power Spectral Density using =pwelch= function.
|
||||||
#+begin_src matlab :results none
|
#+begin_src matlab
|
||||||
% Direct measure
|
% Direct measure
|
||||||
[pxdi_lpf_1khz_of, f] = pwelch(sr_lpf_1khz_of(:, 1), win, [], [], Fs);
|
[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);
|
[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]]);
|
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;
|
figure;
|
||||||
hold on;
|
hold on;
|
||||||
plot(f, sqrt(pxdi_lpf_1khz_of), 'DisplayName', 'Direct - OFF');
|
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(pxdi_lpf_1khz_on), 'DisplayName', 'Direct - ON');
|
||||||
plot(f, sqrt(pxsr_lpf_1khz_on), 'DisplayName', 'Slip-Ring - ON');
|
plot(f, sqrt(pxsr_lpf_1khz_on), 'DisplayName', 'Slip-Ring - ON');
|
||||||
hold off;
|
hold off;
|
||||||
xlim([0.1, 500]);
|
xlim([1, 500]);
|
||||||
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
||||||
xlabel('Frequency [Hz]'); ylabel('ASD of the measured Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$')
|
xlabel('Frequency [Hz]'); ylabel('ASD of the measured Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$')
|
||||||
legend('Location', 'southwest');
|
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
|
#+RESULTS: fig:sr_lpf_1khz_geophone_asd
|
||||||
[[file:figs/sr_lpf_1khz_geophone_asd.png]]
|
[[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
|
*** Conclusion
|
||||||
#+begin_important
|
#+begin_important
|
||||||
- Using the LPF, we don't see any additional noise coming from the slip-ring when it is turned ON
|
- 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
|
#+end_important
|
||||||
|